2001-02-01 Kazu Hirata <kazu@hxi.com>

* elf-m10300.c: Fix formatting.
This commit is contained in:
Kazu Hirata 2001-02-01 19:35:29 +00:00
parent 0088edd2a0
commit 010ac81f2a
2 changed files with 143 additions and 144 deletions

View File

@ -1,3 +1,7 @@
2001-02-01 Kazu Hirata <kazu@hxi.com>
* elf-m10300.c: Fix formatting.
2001-01-30 Alan Modra <alan@linuxcare.com.au>
* elf64-hppa.c (elf64_hppa_elf_get_symbol_type): New function.

View File

@ -1,5 +1,6 @@
/* Matsushita 10300 specific support for 32-bit ELF
Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@ -23,8 +24,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "elf-bfd.h"
#include "elf/mn10300.h"
struct elf32_mn10300_link_hash_entry
{
struct elf32_mn10300_link_hash_entry {
/* The basic elf link hash table entry. */
struct elf_link_hash_entry root;
@ -62,8 +62,7 @@ struct elf32_mn10300_link_hash_entry
/* We derive a hash table from the main elf linker hash table so
we can store state variables and a secondary hash table without
resorting to global variables. */
struct elf32_mn10300_link_hash_table
{
struct elf32_mn10300_link_hash_table {
/* The main hash table. */
struct elf_link_hash_table root;
@ -119,8 +118,7 @@ static void compute_function_info
does absolutely nothing. */
#define USE_RELA
static reloc_howto_type elf_mn10300_howto_table[] =
{
static reloc_howto_type elf_mn10300_howto_table[] = {
/* Dummy relocation. Does nothing. */
HOWTO (R_MN10300_NONE,
0,
@ -264,17 +262,14 @@ static reloc_howto_type elf_mn10300_howto_table[] =
0xffffff,
0xffffff,
false),
};
struct mn10300_reloc_map
{
struct mn10300_reloc_map {
bfd_reloc_code_real_type bfd_reloc_val;
unsigned char elf_reloc_val;
};
static const struct mn10300_reloc_map mn10300_reloc_map[] =
{
static const struct mn10300_reloc_map mn10300_reloc_map[] = {
{ BFD_RELOC_NONE, R_MN10300_NONE, },
{ BFD_RELOC_32, R_MN10300_32, },
{ BFD_RELOC_16, R_MN10300_16, },
@ -459,7 +454,7 @@ mn10300_elf_final_link_relocate (howto, input_bfd, output_bfd,
case R_MN10300_24:
value += addend;
if ((long)value > 0x7fffff || (long)value < -0x800000)
if ((long) value > 0x7fffff || (long) value < -0x800000)
return bfd_reloc_overflow;
bfd_put_8 (input_bfd, value & 0xff, hit_data);
@ -470,7 +465,7 @@ mn10300_elf_final_link_relocate (howto, input_bfd, output_bfd,
case R_MN10300_16:
value += addend;
if ((long)value > 0x7fff || (long)value < -0x8000)
if ((long) value > 0x7fff || (long) value < -0x8000)
return bfd_reloc_overflow;
bfd_put_16 (input_bfd, value, hit_data);
@ -479,7 +474,7 @@ mn10300_elf_final_link_relocate (howto, input_bfd, output_bfd,
case R_MN10300_8:
value += addend;
if ((long)value > 0x7f || (long)value < -0x80)
if ((long) value > 0x7f || (long) value < -0x80)
return bfd_reloc_overflow;
bfd_put_8 (input_bfd, value, hit_data);
@ -491,7 +486,7 @@ mn10300_elf_final_link_relocate (howto, input_bfd, output_bfd,
value -= offset;
value += addend;
if ((long)value > 0xff || (long)value < -0x100)
if ((long) value > 0xff || (long) value < -0x100)
return bfd_reloc_overflow;
bfd_put_8 (input_bfd, value, hit_data);
@ -503,7 +498,7 @@ mn10300_elf_final_link_relocate (howto, input_bfd, output_bfd,
value -= offset;
value += addend;
if ((long)value > 0xffff || (long)value < -0x10000)
if ((long) value > 0xffff || (long) value < -0x10000)
return bfd_reloc_overflow;
bfd_put_16 (input_bfd, value, hit_data);
@ -636,7 +631,7 @@ mn10300_elf_relocate_section (output_bfd, info, input_bfd, input_section,
if (r != bfd_reloc_ok)
{
const char *name;
const char *msg = (const char *)0;
const char *msg = (const char *) 0;
if (h != NULL)
name = h->root.root.root.string;
@ -702,7 +697,7 @@ elf32_mn10300_finish_hash_table_entry (gen_entry, in_args)
struct elf32_mn10300_link_hash_entry *entry;
unsigned int byte_count = 0;
entry = (struct elf32_mn10300_link_hash_entry *)gen_entry;
entry = (struct elf32_mn10300_link_hash_entry *) gen_entry;
/* If we already know we want to convert "call" to "calls" for calls
to this symbol, then return now. */
@ -822,22 +817,22 @@ mn10300_elf_relax_section (abfd, sec, link_info, again)
/* We're going to need all the symbols for each bfd. */
symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr;
/* Get cached copy if it exists. */
if (symtab_hdr->contents != NULL)
extsyms = (Elf32_External_Sym *) symtab_hdr->contents;
else
{
/* Go get them off disk. */
extsyms = ((Elf32_External_Sym *)
bfd_malloc (symtab_hdr->sh_size));
if (extsyms == NULL)
goto error_return;
free_extsyms = extsyms;
if (bfd_seek (input_bfd, symtab_hdr->sh_offset, SEEK_SET) != 0
|| (bfd_read (extsyms, 1, symtab_hdr->sh_size, input_bfd)
!= symtab_hdr->sh_size))
goto error_return;
}
/* Get cached copy if it exists. */
if (symtab_hdr->contents != NULL)
extsyms = (Elf32_External_Sym *) symtab_hdr->contents;
else
{
/* Go get them off disk. */
extsyms = ((Elf32_External_Sym *)
bfd_malloc (symtab_hdr->sh_size));
if (extsyms == NULL)
goto error_return;
free_extsyms = extsyms;
if (bfd_seek (input_bfd, symtab_hdr->sh_offset, SEEK_SET) != 0
|| (bfd_read (extsyms, 1, symtab_hdr->sh_size, input_bfd)
!= symtab_hdr->sh_size))
goto error_return;
}
/* Iterate over each section in this bfd. */
for (section = input_bfd->sections;
@ -856,7 +851,7 @@ mn10300_elf_relax_section (abfd, sec, link_info, again)
else if (section->_raw_size != 0)
{
/* Go get them off disk. */
contents = (bfd_byte *)bfd_malloc (section->_raw_size);
contents = (bfd_byte *) bfd_malloc (section->_raw_size);
if (contents == NULL)
goto error_return;
free_contents = contents;
@ -899,7 +894,7 @@ mn10300_elf_relax_section (abfd, sec, link_info, again)
r_type = ELF32_R_TYPE (irel->r_info);
r_index = ELF32_R_SYM (irel->r_info);
if (r_type < 0 || r_type >= (int)R_MN10300_MAX)
if (r_type < 0 || r_type >= (int) R_MN10300_MAX)
goto error_return;
/* We need the name and hash table entry of the target
@ -944,7 +939,8 @@ mn10300_elf_relax_section (abfd, sec, link_info, again)
if (new_name == 0)
goto error_return;
sprintf (new_name, "%s_%08x", sym_name, (int)sym_sec);
sprintf (new_name, "%s_%08x",
sym_name, (int) sym_sec);
sym_name = new_name;
hash = (struct elf32_mn10300_link_hash_entry *)
@ -1024,7 +1020,8 @@ mn10300_elf_relax_section (abfd, sec, link_info, again)
if (new_name == 0)
goto error_return;
sprintf (new_name, "%s_%08x", sym_name, (int)sym_sec);
sprintf (new_name, "%s_%08x",
sym_name, (int) sym_sec);
sym_name = new_name;
hash = (struct elf32_mn10300_link_hash_entry *)
@ -1033,7 +1030,7 @@ mn10300_elf_relax_section (abfd, sec, link_info, again)
true, false);
free (new_name);
compute_function_info (input_bfd, hash,
isym.st_value, contents);
isym.st_value, contents);
}
}
@ -1118,22 +1115,22 @@ mn10300_elf_relax_section (abfd, sec, link_info, again)
/* We're going to need all the symbols for each bfd. */
symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr;
/* Get cached copy if it exists. */
if (symtab_hdr->contents != NULL)
extsyms = (Elf32_External_Sym *) symtab_hdr->contents;
else
{
/* Go get them off disk. */
extsyms = ((Elf32_External_Sym *)
bfd_malloc (symtab_hdr->sh_size));
if (extsyms == NULL)
goto error_return;
free_extsyms = extsyms;
if (bfd_seek (input_bfd, symtab_hdr->sh_offset, SEEK_SET) != 0
|| (bfd_read (extsyms, 1, symtab_hdr->sh_size, input_bfd)
!= symtab_hdr->sh_size))
goto error_return;
}
/* Get cached copy if it exists. */
if (symtab_hdr->contents != NULL)
extsyms = (Elf32_External_Sym *) symtab_hdr->contents;
else
{
/* Go get them off disk. */
extsyms = ((Elf32_External_Sym *)
bfd_malloc (symtab_hdr->sh_size));
if (extsyms == NULL)
goto error_return;
free_extsyms = extsyms;
if (bfd_seek (input_bfd, symtab_hdr->sh_offset, SEEK_SET) != 0
|| (bfd_read (extsyms, 1, symtab_hdr->sh_size, input_bfd)
!= symtab_hdr->sh_size))
goto error_return;
}
/* Walk over each section in this bfd. */
for (section = input_bfd->sections;
@ -1150,15 +1147,15 @@ mn10300_elf_relax_section (abfd, sec, link_info, again)
if (section->reloc_count != 0)
{
/* Get a copy of the native relocations. */
internal_relocs = (_bfd_elf32_link_read_relocs
(input_bfd, section, (PTR) NULL,
(Elf_Internal_Rela *) NULL,
link_info->keep_memory));
if (internal_relocs == NULL)
goto error_return;
if (! link_info->keep_memory)
free_relocs = internal_relocs;
/* Get a copy of the native relocations. */
internal_relocs = (_bfd_elf32_link_read_relocs
(input_bfd, section, (PTR) NULL,
(Elf_Internal_Rela *) NULL,
link_info->keep_memory));
if (internal_relocs == NULL)
goto error_return;
if (! link_info->keep_memory)
free_relocs = internal_relocs;
}
/* Get cached copy of section contents if it exists. */
@ -1167,7 +1164,7 @@ mn10300_elf_relax_section (abfd, sec, link_info, again)
else
{
/* Go get them off disk. */
contents = (bfd_byte *)bfd_malloc (section->_raw_size);
contents = (bfd_byte *) bfd_malloc (section->_raw_size);
if (contents == NULL)
goto error_return;
free_contents = contents;
@ -1218,7 +1215,7 @@ mn10300_elf_relax_section (abfd, sec, link_info, again)
new_name = bfd_malloc (strlen (sym_name) + 10);
if (new_name == 0)
goto error_return;
sprintf (new_name, "%s_%08x", sym_name, (int)sym_sec);
sprintf (new_name, "%s_%08x", sym_name, (int) sym_sec);
sym_name = new_name;
sym_hash = (struct elf32_mn10300_link_hash_entry *)
@ -1242,7 +1239,7 @@ mn10300_elf_relax_section (abfd, sec, link_info, again)
elf_section_data (section)->this_hdr.contents = contents;
free_contents = NULL;
symtab_hdr->contents = (bfd_byte *)extsyms;
symtab_hdr->contents = (bfd_byte *) extsyms;
free_extsyms = NULL;
/* Count how many bytes we're going to delete. */
@ -1299,7 +1296,7 @@ mn10300_elf_relax_section (abfd, sec, link_info, again)
elf_section_data (section)->this_hdr.contents = contents;
free_contents = NULL;
symtab_hdr->contents = (bfd_byte *)extsyms;
symtab_hdr->contents = (bfd_byte *) extsyms;
free_extsyms = NULL;
/* Count how many bytes we're going to delete. */
@ -1489,7 +1486,7 @@ mn10300_elf_relax_section (abfd, sec, link_info, again)
new_name = bfd_malloc (strlen (sym_name) + 10);
if (new_name == 0)
goto error_return;
sprintf (new_name, "%s_%08x", sym_name, (int)sym_sec);
sprintf (new_name, "%s_%08x", sym_name, (int) sym_sec);
sym_name = new_name;
h = (struct elf32_mn10300_link_hash_entry *)
@ -1603,7 +1600,7 @@ mn10300_elf_relax_section (abfd, sec, link_info, again)
/* See if the value will fit in 16 bits, note the high value is
0x7fff + 2 as the target will be two bytes closer if we are
able to relax. */
if ((long)value < 0x8001 && (long)value > -0x8000)
if ((long) value < 0x8001 && (long) value > -0x8000)
{
unsigned char code;
@ -1718,7 +1715,7 @@ mn10300_elf_relax_section (abfd, sec, link_info, again)
/* See if the value will fit in 8 bits, note the high value is
0x7f + 1 as the target will be one bytes closer if we are
able to relax. */
if ((long)value < 0x80 && (long)value > -0x80)
if ((long) value < 0x80 && (long) value > -0x80)
{
unsigned char code;
@ -1837,48 +1834,48 @@ mn10300_elf_relax_section (abfd, sec, link_info, again)
/* Reverse the condition of the first branch. */
switch (code)
{
case 0xc8:
code = 0xc9;
break;
case 0xc9:
code = 0xc8;
break;
case 0xc0:
code = 0xc2;
break;
case 0xc2:
code = 0xc0;
break;
case 0xc3:
code = 0xc1;
break;
case 0xc1:
code = 0xc3;
break;
case 0xc4:
code = 0xc6;
break;
case 0xc6:
code = 0xc4;
break;
case 0xc7:
code = 0xc5;
break;
case 0xc5:
code = 0xc7;
break;
case 0xe8:
code = 0xe9;
break;
case 0x9d:
code = 0xe8;
break;
case 0xea:
code = 0xeb;
break;
case 0xeb:
code = 0xea;
break;
case 0xc8:
code = 0xc9;
break;
case 0xc9:
code = 0xc8;
break;
case 0xc0:
code = 0xc2;
break;
case 0xc2:
code = 0xc0;
break;
case 0xc3:
code = 0xc1;
break;
case 0xc1:
code = 0xc3;
break;
case 0xc4:
code = 0xc6;
break;
case 0xc6:
code = 0xc4;
break;
case 0xc7:
code = 0xc5;
break;
case 0xc5:
code = 0xc7;
break;
case 0xe8:
code = 0xe9;
break;
case 0x9d:
code = 0xe8;
break;
case 0xea:
code = 0xeb;
break;
case 0xeb:
code = 0xea;
break;
}
bfd_put_8 (abfd, code, contents + irel->r_offset - 1);
@ -1908,7 +1905,7 @@ mn10300_elf_relax_section (abfd, sec, link_info, again)
value += irel->r_addend;
/* See if the value will fit in 8 bits. */
if ((long)value < 0x7f && (long)value > -0x80)
if ((long) value < 0x7f && (long) value > -0x80)
{
unsigned char code;
@ -1920,8 +1917,8 @@ mn10300_elf_relax_section (abfd, sec, link_info, again)
if (code == 0xfd)
{
/* Get the second opcode. */
code = bfd_get_8 (abfd, contents + irel->r_offset - 2);
/* Get the second opcode. */
code = bfd_get_8 (abfd, contents + irel->r_offset - 2);
/* We can not relax 0x6b, 0x7b, 0x8b, 0x9b as no 24bit
equivalent instructions exists. */
@ -1953,9 +1950,9 @@ mn10300_elf_relax_section (abfd, sec, link_info, again)
bfd_put_8 (abfd, code, contents + irel->r_offset - 2);
/* Fix the relocation's type. */
irel->r_info
= ELF32_R_INFO (ELF32_R_SYM (irel->r_info),
R_MN10300_8);
irel->r_info =
ELF32_R_INFO (ELF32_R_SYM (irel->r_info),
R_MN10300_8);
/* Delete two bytes of data. */
if (!mn10300_elf_relax_delete_bytes (abfd, sec,
@ -1964,12 +1961,11 @@ mn10300_elf_relax_section (abfd, sec, link_info, again)
/* That will change things, so, we should relax
again. Note that this is not required, and it
may be slow. */
may be slow. */
*again = true;
break;
}
}
}
}
}
@ -1984,7 +1980,7 @@ mn10300_elf_relax_section (abfd, sec, link_info, again)
/* See if the value will fit in 24 bits.
We allow any 16bit match here. We prune those we can't
handle below. */
if ((long)value < 0x7fffff && (long)value > -0x800000)
if ((long) value < 0x7fffff && (long) value > -0x800000)
{
unsigned char code;
@ -2002,7 +1998,7 @@ mn10300_elf_relax_section (abfd, sec, link_info, again)
/* All the am33 32 -> 24 relaxing possibilities. */
/* We can not relax 0x6b, 0x7b, 0x8b, 0x9b as no 24bit
equivalent instructions exists. */
if (code != 0x6b && code != 0x7b
if (code != 0x6b && code != 0x7b
&& code != 0x8b && code != 0x9b
&& ((code & 0x0f) == 0x09 || (code & 0x0f) == 0x08
|| (code & 0x0f) == 0x0a || (code & 0x0f) == 0x0b
@ -2030,9 +2026,9 @@ mn10300_elf_relax_section (abfd, sec, link_info, again)
bfd_put_8 (abfd, code, contents + irel->r_offset - 2);
/* Fix the relocation's type. */
irel->r_info
= ELF32_R_INFO (ELF32_R_SYM (irel->r_info),
R_MN10300_24);
irel->r_info =
ELF32_R_INFO (ELF32_R_SYM (irel->r_info),
R_MN10300_24);
/* Delete one byte of data. */
if (!mn10300_elf_relax_delete_bytes (abfd, sec,
@ -2041,19 +2037,18 @@ mn10300_elf_relax_section (abfd, sec, link_info, again)
/* That will change things, so, we should relax
again. Note that this is not required, and it
may be slow. */
may be slow. */
*again = true;
break;
}
}
}
}
/* See if the value will fit in 16 bits.
We allow any 16bit match here. We prune those we can't
handle below. */
if ((long)value < 0x7fff && (long)value > -0x8000)
if ((long) value < 0x7fff && (long) value > -0x8000)
{
unsigned char code;
@ -2356,7 +2351,7 @@ mn10300_elf_relax_section (abfd, sec, link_info, again)
/* Fix the relocation's type. */
irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info),
R_MN10300_16);
R_MN10300_16);
/* Delete two bytes of data. */
if (!mn10300_elf_relax_delete_bytes (abfd, sec,
@ -2872,12 +2867,12 @@ elf_mn10300_mach (flags)
{
switch (flags & EF_MN10300_MACH)
{
case E_MN10300_MACH_MN10300:
default:
return bfd_mach_mn10300;
case E_MN10300_MACH_MN10300:
default:
return bfd_mach_mn10300;
case E_MN10300_MACH_AM33:
return bfd_mach_am33;
case E_MN10300_MACH_AM33:
return bfd_mach_am33;
}
}
@ -2894,14 +2889,14 @@ _bfd_mn10300_elf_final_write_processing (abfd, linker)
switch (bfd_get_mach (abfd))
{
default:
case bfd_mach_mn10300:
val = E_MN10300_MACH_MN10300;
break;
default:
case bfd_mach_mn10300:
val = E_MN10300_MACH_MN10300;
break;
case bfd_mach_am33:
val = E_MN10300_MACH_AM33;
break;
case bfd_mach_am33:
val = E_MN10300_MACH_AM33;
break;
}
elf_elfheader (abfd)->e_flags &= ~ (EF_MN10300_MACH);
@ -2913,7 +2908,7 @@ _bfd_mn10300_elf_object_p (abfd)
bfd *abfd;
{
bfd_default_set_arch_mach (abfd, bfd_arch_mn10300,
elf_mn10300_mach (elf_elfheader (abfd)->e_flags));
elf_mn10300_mach (elf_elfheader (abfd)->e_flags));
return true;
}