Index: bfd/coff-mips.c |
diff --git a/bfd/coff-mips.c b/bfd/coff-mips.c |
index 4048ca89dd183154761e3e8e5d30062bf9032f5e..cdcdde2bcf25848b4939203f1bb261fc8cce1bc2 100644 |
--- a/bfd/coff-mips.c |
+++ b/bfd/coff-mips.c |
@@ -1,6 +1,6 @@ |
/* BFD back-end for MIPS Extended-Coff files. |
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, |
- 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2011 |
+ 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2011, 2012 |
Free Software Foundation, Inc. |
Original version by Per Bothner. |
Full support added by Ian Lance Taylor, ian@cygnus.com. |
@@ -35,37 +35,19 @@ |
#include "libecoff.h" |
/* Prototypes for static functions. */ |
+static bfd_reloc_status_type |
+mips_generic_reloc |
+ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); |
+static bfd_reloc_status_type |
+mips_refhi_reloc |
+ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); |
+static bfd_reloc_status_type |
+mips_reflo_reloc |
+ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); |
+static bfd_reloc_status_type |
+mips_gprel_reloc |
+ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); |
-static bfd_boolean mips_ecoff_bad_format_hook |
- PARAMS ((bfd *abfd, PTR filehdr)); |
-static void mips_ecoff_swap_reloc_in |
- PARAMS ((bfd *, PTR, struct internal_reloc *)); |
-static void mips_ecoff_swap_reloc_out |
- PARAMS ((bfd *, const struct internal_reloc *, PTR)); |
-static void mips_adjust_reloc_in |
- PARAMS ((bfd *, const struct internal_reloc *, arelent *)); |
-static void mips_adjust_reloc_out |
- PARAMS ((bfd *, const arelent *, struct internal_reloc *)); |
-static bfd_reloc_status_type mips_generic_reloc |
- PARAMS ((bfd *abfd, arelent *reloc, asymbol *symbol, PTR data, |
- asection *section, bfd *output_bfd, char **error)); |
-static bfd_reloc_status_type mips_refhi_reloc |
- PARAMS ((bfd *abfd, arelent *reloc, asymbol *symbol, PTR data, |
- asection *section, bfd *output_bfd, char **error)); |
-static bfd_reloc_status_type mips_reflo_reloc |
- PARAMS ((bfd *abfd, arelent *reloc, asymbol *symbol, PTR data, |
- asection *section, bfd *output_bfd, char **error)); |
-static bfd_reloc_status_type mips_gprel_reloc |
- PARAMS ((bfd *abfd, arelent *reloc, asymbol *symbol, PTR data, |
- asection *section, bfd *output_bfd, char **error)); |
-static void mips_relocate_hi |
- PARAMS ((struct internal_reloc *refhi, struct internal_reloc *reflo, |
- bfd *input_bfd, asection *input_section, bfd_byte *contents, |
- bfd_vma relocation)); |
-static bfd_boolean mips_relocate_section |
- PARAMS ((bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *, PTR)); |
-static reloc_howto_type *mips_bfd_reloc_type_lookup |
- PARAMS ((bfd *, bfd_reloc_code_real_type)); |
/* ECOFF has COFF sections, but the debugging information is stored in |
a completely different format. ECOFF targets use some of the |
@@ -79,12 +61,12 @@ static reloc_howto_type *mips_bfd_reloc_type_lookup |
#define NO_COFF_RELOCS |
#define NO_COFF_SYMBOLS |
#define NO_COFF_LINENOS |
-#define coff_swap_filehdr_in mips_ecoff_swap_filehdr_in |
+#define coff_swap_filehdr_in mips_ecoff_swap_filehdr_in |
#define coff_swap_filehdr_out mips_ecoff_swap_filehdr_out |
-#define coff_swap_aouthdr_in mips_ecoff_swap_aouthdr_in |
+#define coff_swap_aouthdr_in mips_ecoff_swap_aouthdr_in |
#define coff_swap_aouthdr_out mips_ecoff_swap_aouthdr_out |
-#define coff_swap_scnhdr_in mips_ecoff_swap_scnhdr_in |
-#define coff_swap_scnhdr_out mips_ecoff_swap_scnhdr_out |
+#define coff_swap_scnhdr_in mips_ecoff_swap_scnhdr_in |
+#define coff_swap_scnhdr_out mips_ecoff_swap_scnhdr_out |
#include "coffswap.h" |
@@ -253,9 +235,7 @@ static reloc_howto_type mips_howto_table[] = |
/* See whether the magic number matches. */ |
static bfd_boolean |
-mips_ecoff_bad_format_hook (abfd, filehdr) |
- bfd *abfd; |
- PTR filehdr; |
+mips_ecoff_bad_format_hook (bfd * abfd, void * filehdr) |
{ |
struct internal_filehdr *internal_f = (struct internal_filehdr *) filehdr; |
@@ -287,10 +267,9 @@ mips_ecoff_bad_format_hook (abfd, filehdr) |
/* Swap a reloc in. */ |
static void |
-mips_ecoff_swap_reloc_in (abfd, ext_ptr, intern) |
- bfd *abfd; |
- PTR ext_ptr; |
- struct internal_reloc *intern; |
+mips_ecoff_swap_reloc_in (bfd * abfd, |
+ void * ext_ptr, |
+ struct internal_reloc *intern) |
{ |
const RELOC *ext = (RELOC *) ext_ptr; |
@@ -326,10 +305,9 @@ mips_ecoff_swap_reloc_in (abfd, ext_ptr, intern) |
/* Swap a reloc out. */ |
static void |
-mips_ecoff_swap_reloc_out (abfd, intern, dst) |
- bfd *abfd; |
- const struct internal_reloc *intern; |
- PTR dst; |
+mips_ecoff_swap_reloc_out (bfd * abfd, |
+ const struct internal_reloc * intern, |
+ void * dst) |
{ |
RELOC *ext = (RELOC *) dst; |
long r_symndx; |
@@ -367,10 +345,9 @@ mips_ecoff_swap_reloc_out (abfd, intern, dst) |
this backend routine. It must fill in the howto field. */ |
static void |
-mips_adjust_reloc_in (abfd, intern, rptr) |
- bfd *abfd; |
- const struct internal_reloc *intern; |
- arelent *rptr; |
+mips_adjust_reloc_in (bfd *abfd, |
+ const struct internal_reloc *intern, |
+ arelent *rptr) |
{ |
if (intern->r_type > MIPS_R_PCREL16) |
abort (); |
@@ -392,10 +369,9 @@ mips_adjust_reloc_in (abfd, intern, rptr) |
are needed for MIPS. */ |
static void |
-mips_adjust_reloc_out (abfd, rel, intern) |
- bfd *abfd ATTRIBUTE_UNUSED; |
- const arelent *rel ATTRIBUTE_UNUSED; |
- struct internal_reloc *intern ATTRIBUTE_UNUSED; |
+mips_adjust_reloc_out (bfd *abfd ATTRIBUTE_UNUSED, |
+ const arelent *rel ATTRIBUTE_UNUSED, |
+ struct internal_reloc *intern ATTRIBUTE_UNUSED) |
{ |
} |
@@ -411,20 +387,13 @@ mips_adjust_reloc_out (abfd, rel, intern) |
relocatable output against an external symbol. */ |
static bfd_reloc_status_type |
-mips_generic_reloc (abfd, |
- reloc_entry, |
- symbol, |
- data, |
- input_section, |
- output_bfd, |
- error_message) |
- bfd *abfd ATTRIBUTE_UNUSED; |
- arelent *reloc_entry; |
- asymbol *symbol; |
- PTR data ATTRIBUTE_UNUSED; |
- asection *input_section; |
- bfd *output_bfd; |
- char **error_message ATTRIBUTE_UNUSED; |
+mips_generic_reloc (bfd *abfd ATTRIBUTE_UNUSED, |
+ arelent *reloc_entry, |
+ asymbol *symbol, |
+ void * data ATTRIBUTE_UNUSED, |
+ asection *input_section, |
+ bfd *output_bfd, |
+ char **error_message ATTRIBUTE_UNUSED) |
{ |
if (output_bfd != (bfd *) NULL |
&& (symbol->flags & BSF_SECTION_SYM) == 0 |
@@ -458,20 +427,13 @@ struct mips_hi |
static struct mips_hi *mips_refhi_list; |
static bfd_reloc_status_type |
-mips_refhi_reloc (abfd, |
- reloc_entry, |
- symbol, |
- data, |
- input_section, |
- output_bfd, |
- error_message) |
- bfd *abfd ATTRIBUTE_UNUSED; |
- arelent *reloc_entry; |
- asymbol *symbol; |
- PTR data; |
- asection *input_section; |
- bfd *output_bfd; |
- char **error_message ATTRIBUTE_UNUSED; |
+mips_refhi_reloc (bfd *abfd ATTRIBUTE_UNUSED, |
+ arelent *reloc_entry, |
+ asymbol *symbol, |
+ void * data, |
+ asection *input_section, |
+ bfd *output_bfd, |
+ char **error_message ATTRIBUTE_UNUSED) |
{ |
bfd_reloc_status_type ret; |
bfd_vma relocation; |
@@ -524,20 +486,13 @@ mips_refhi_reloc (abfd, |
relocation described above. */ |
static bfd_reloc_status_type |
-mips_reflo_reloc (abfd, |
- reloc_entry, |
- symbol, |
- data, |
- input_section, |
- output_bfd, |
- error_message) |
- bfd *abfd; |
- arelent *reloc_entry; |
- asymbol *symbol; |
- PTR data; |
- asection *input_section; |
- bfd *output_bfd; |
- char **error_message; |
+mips_reflo_reloc (bfd *abfd ATTRIBUTE_UNUSED, |
+ arelent *reloc_entry, |
+ asymbol *symbol, |
+ void * data, |
+ asection *input_section, |
+ bfd *output_bfd, |
+ char **error_message ATTRIBUTE_UNUSED) |
{ |
if (mips_refhi_list != NULL) |
{ |
@@ -592,20 +547,13 @@ mips_reflo_reloc (abfd, |
the offset from the gp register. */ |
static bfd_reloc_status_type |
-mips_gprel_reloc (abfd, |
- reloc_entry, |
- symbol, |
- data, |
- input_section, |
- output_bfd, |
- error_message) |
- bfd *abfd; |
- arelent *reloc_entry; |
- asymbol *symbol; |
- PTR data; |
- asection *input_section; |
- bfd *output_bfd; |
- char **error_message; |
+mips_gprel_reloc (bfd *abfd ATTRIBUTE_UNUSED, |
+ arelent *reloc_entry, |
+ asymbol *symbol, |
+ void * data, |
+ asection *input_section, |
+ bfd *output_bfd, |
+ char **error_message ATTRIBUTE_UNUSED) |
{ |
bfd_boolean relocatable; |
bfd_vma gp; |
@@ -732,9 +680,8 @@ mips_gprel_reloc (abfd, |
/* Get the howto structure for a generic reloc type. */ |
static reloc_howto_type * |
-mips_bfd_reloc_type_lookup (abfd, code) |
- bfd *abfd ATTRIBUTE_UNUSED; |
- bfd_reloc_code_real_type code; |
+mips_bfd_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED, |
+ bfd_reloc_code_real_type code) |
{ |
int mips_type; |
@@ -794,14 +741,12 @@ mips_bfd_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED, |
instructions. */ |
static void |
-mips_relocate_hi (refhi, reflo, input_bfd, input_section, contents, |
- relocation) |
- struct internal_reloc *refhi; |
- struct internal_reloc *reflo; |
- bfd *input_bfd; |
- asection *input_section; |
- bfd_byte *contents; |
- bfd_vma relocation; |
+mips_relocate_hi (struct internal_reloc *refhi, |
+ struct internal_reloc *reflo, |
+ bfd *input_bfd, |
+ asection *input_section, |
+ bfd_byte *contents, |
+ bfd_vma relocation) |
{ |
unsigned long insn; |
unsigned long val; |
@@ -841,14 +786,12 @@ mips_relocate_hi (refhi, reflo, input_bfd, input_section, contents, |
/* Relocate a section while linking a MIPS ECOFF file. */ |
static bfd_boolean |
-mips_relocate_section (output_bfd, info, input_bfd, input_section, |
- contents, external_relocs) |
- bfd *output_bfd; |
- struct bfd_link_info *info; |
- bfd *input_bfd; |
- asection *input_section; |
- bfd_byte *contents; |
- PTR external_relocs; |
+mips_relocate_section (bfd *output_bfd, |
+ struct bfd_link_info *info, |
+ bfd *input_bfd, |
+ asection *input_section, |
+ bfd_byte *contents, |
+ void * external_relocs) |
{ |
asection **symndx_to_section; |
struct ecoff_link_hash_entry **sym_hashes; |
@@ -928,7 +871,7 @@ mips_relocate_section (output_bfd, info, input_bfd, input_section, |
bfd_reloc_status_type r; |
if (! got_lo) |
- mips_ecoff_swap_reloc_in (input_bfd, (PTR) ext_rel, &int_rel); |
+ mips_ecoff_swap_reloc_in (input_bfd, ext_rel, &int_rel); |
else |
{ |
int_rel = lo_int_rel; |
@@ -951,7 +894,7 @@ mips_relocate_section (output_bfd, info, input_bfd, input_section, |
lo_ext_rel < ext_rel_end; |
lo_ext_rel++) |
{ |
- mips_ecoff_swap_reloc_in (input_bfd, (PTR) lo_ext_rel, |
+ mips_ecoff_swap_reloc_in (input_bfd, lo_ext_rel, |
&lo_int_rel); |
if (lo_int_rel.r_type != int_rel.r_type) |
break; |
@@ -1190,7 +1133,7 @@ mips_relocate_section (output_bfd, info, input_bfd, input_section, |
- input_section->vma); |
/* Save the changed reloc information. */ |
- mips_ecoff_swap_reloc_out (input_bfd, &int_rel, (PTR) ext_rel); |
+ mips_ecoff_swap_reloc_out (input_bfd, &int_rel, ext_rel); |
} |
else |
{ |
@@ -1303,13 +1246,13 @@ static const struct ecoff_backend_data mips_ecoff_backend_data = |
{ |
/* COFF backend structure. */ |
{ |
- (void (*) PARAMS ((bfd *,PTR,int,int,int,int,PTR))) bfd_void, /* aux_in */ |
- (void (*) PARAMS ((bfd *,PTR,PTR))) bfd_void, /* sym_in */ |
- (void (*) PARAMS ((bfd *,PTR,PTR))) bfd_void, /* lineno_in */ |
- (unsigned (*) PARAMS ((bfd *,PTR,int,int,int,int,PTR)))bfd_void,/*aux_out*/ |
- (unsigned (*) PARAMS ((bfd *,PTR,PTR))) bfd_void, /* sym_out */ |
- (unsigned (*) PARAMS ((bfd *,PTR,PTR))) bfd_void, /* lineno_out */ |
- (unsigned (*) PARAMS ((bfd *,PTR,PTR))) bfd_void, /* reloc_out */ |
+ (void (*) (bfd *,void *,int,int,int,int,void *)) bfd_void, /* aux_in */ |
+ (void (*) (bfd *,void *,void *)) bfd_void, /* sym_in */ |
+ (void (*) (bfd *,void *,void *)) bfd_void, /* lineno_in */ |
+ (unsigned (*) (bfd *,void *,int,int,int,int,void *)) bfd_void,/*aux_out*/ |
+ (unsigned (*) (bfd *,void *,void *)) bfd_void, /* sym_out */ |
+ (unsigned (*) (bfd *,void *,void *)) bfd_void, /* lineno_out */ |
+ (unsigned (*) (bfd *,void *,void *)) bfd_void, /* reloc_out */ |
mips_ecoff_swap_filehdr_out, mips_ecoff_swap_aouthdr_out, |
mips_ecoff_swap_scnhdr_out, |
FILHSZ, AOUTSZ, SCNHSZ, 0, 0, 0, 0, FILNMLEN, TRUE, |
@@ -1466,7 +1409,7 @@ const bfd_target ecoff_little_vec = |
& ecoff_big_vec, |
- (PTR) &mips_ecoff_backend_data |
+ & mips_ecoff_backend_data |
}; |
const bfd_target ecoff_big_vec = |
@@ -1510,7 +1453,7 @@ const bfd_target ecoff_big_vec = |
& ecoff_little_vec, |
- (PTR) &mips_ecoff_backend_data |
+ & mips_ecoff_backend_data |
}; |
const bfd_target ecoff_biglittle_vec = |
@@ -1555,5 +1498,5 @@ const bfd_target ecoff_biglittle_vec = |
NULL, |
- (PTR) &mips_ecoff_backend_data |
+ & mips_ecoff_backend_data |
}; |