aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog4
-rw-r--r--bfd/elf-m10300.c285
2 files changed, 144 insertions, 145 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 6330a85..bedfc2b 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -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.
diff --git a/bfd/elf-m10300.c b/bfd/elf-m10300.c
index 9208857..19f03a7 100644
--- a/bfd/elf-m10300.c
+++ b/bfd/elf-m10300.c
@@ -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;
-
- case bfd_mach_am33:
- val = E_MN10300_MACH_AM33;
- break;
+ default:
+ case bfd_mach_mn10300:
+ val = E_MN10300_MACH_MN10300;
+ 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;
}