diff options
Diffstat (limited to 'bfd/coff-or32.c')
-rw-r--r-- | bfd/coff-or32.c | 75 |
1 files changed, 29 insertions, 46 deletions
diff --git a/bfd/coff-or32.c b/bfd/coff-or32.c index a9683df717b..18835e1373a 100644 --- a/bfd/coff-or32.c +++ b/bfd/coff-or32.c @@ -1,5 +1,5 @@ /* BFD back-end for OpenRISC 1000 COFF binaries. - Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2011 + Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2011, 2012 Free Software Foundation, Inc. Contributed by Ivan Guzvinec <ivang@opencores.org> @@ -29,18 +29,8 @@ #include "coff/internal.h" #include "libcoff.h" -static long get_symbol_value - PARAMS ((asymbol *)); static bfd_reloc_status_type or32_reloc - PARAMS ((bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **)); -static bfd_boolean coff_or32_relocate_section - PARAMS ((bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *, - struct internal_reloc *, struct internal_syment *, asection **)); -static bfd_boolean coff_or32_adjust_symndx - PARAMS ((bfd *, struct bfd_link_info *, bfd *, asection *, - struct internal_reloc *, bfd_boolean *)); -static void reloc_processing - PARAMS ((arelent *, struct internal_reloc *, asymbol **, bfd *, asection *)); + (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); #define COFF_DEFAULT_SECTION_ALIGNMENT_POWER (2) @@ -61,8 +51,7 @@ static void reloc_processing /* Provided the symbol, returns the value reffed. */ static long -get_symbol_value (symbol) - asymbol *symbol; +get_symbol_value (asymbol *symbol) { long relocation = 0; @@ -79,15 +68,13 @@ get_symbol_value (symbol) /* This function is in charge of performing all the or32 relocations. */ static bfd_reloc_status_type -or32_reloc (abfd, reloc_entry, symbol_in, data, input_section, output_bfd, - error_message) - bfd *abfd; - arelent *reloc_entry; - asymbol *symbol_in; - PTR data; - asection *input_section; - bfd *output_bfd; - char **error_message; +or32_reloc (bfd *abfd, + arelent *reloc_entry, + asymbol *symbol_in, + void * data, + asection *input_section, + bfd *output_bfd, + char **error_message) { /* The consth relocation comes in two parts, we have to remember the state between calls, in these variables. */ @@ -289,12 +276,11 @@ static reloc_howto_type howto_table[] = reloc_processing (relent, reloc, symbols, abfd, section) static void -reloc_processing (relent,reloc, symbols, abfd, section) - arelent *relent; - struct internal_reloc *reloc; - asymbol **symbols; - bfd *abfd; - asection *section; +reloc_processing (arelent *relent, + struct internal_reloc *reloc, + asymbol **symbols, + bfd *abfd, + asection *section) { static bfd_vma ihihalf_vaddr = (bfd_vma) -1; @@ -333,16 +319,14 @@ reloc_processing (relent,reloc, symbols, abfd, section) /* The reloc processing routine for the optimized COFF linker. */ static bfd_boolean -coff_or32_relocate_section (output_bfd, info, input_bfd, input_section, - contents, relocs, syms, sections) - bfd *output_bfd ATTRIBUTE_UNUSED; - struct bfd_link_info *info; - bfd *input_bfd; - asection *input_section; - bfd_byte *contents; - struct internal_reloc *relocs; - struct internal_syment *syms; - asection **sections; +coff_or32_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED, + struct bfd_link_info *info, + bfd *input_bfd, + asection *input_section, + bfd_byte *contents, + struct internal_reloc *relocs, + struct internal_syment *syms, + asection **sections) { struct internal_reloc *rel; struct internal_reloc *relend; @@ -554,13 +538,12 @@ coff_or32_relocate_section (output_bfd, info, input_bfd, input_section, is actually an addend, not a symbol index at all. */ static bfd_boolean -coff_or32_adjust_symndx (obfd, info, ibfd, sec, irel, adjustedp) - bfd *obfd ATTRIBUTE_UNUSED; - struct bfd_link_info *info ATTRIBUTE_UNUSED; - bfd *ibfd ATTRIBUTE_UNUSED; - asection *sec ATTRIBUTE_UNUSED; - struct internal_reloc *irel; - bfd_boolean *adjustedp; +coff_or32_adjust_symndx (bfd *obfd ATTRIBUTE_UNUSED, + struct bfd_link_info *info ATTRIBUTE_UNUSED, + bfd *ibfd ATTRIBUTE_UNUSED, + asection *sec ATTRIBUTE_UNUSED, + struct internal_reloc *irel, + bfd_boolean *adjustedp) { if (irel->r_type == R_IHCONST) *adjustedp = TRUE; |