2011-04-18 Tristan Gingold <gingold@adacore.com>
* coff-rs6000.c: Convert to ISO-C. Remove PARAMS macro.
This commit is contained in:
parent
049c5eba36
commit
417236c059
2 changed files with 227 additions and 374 deletions
|
@ -1,3 +1,7 @@
|
|||
2011-04-18 Tristan Gingold <gingold@adacore.com>
|
||||
|
||||
* coff-rs6000.c: Convert to ISO-C. Remove PARAMS macro.
|
||||
|
||||
2011-04-18 Alan Modra <amodra@gmail.com>
|
||||
|
||||
PR ld/12365
|
||||
|
|
|
@ -33,46 +33,30 @@
|
|||
#include "libcoff.h"
|
||||
#include "libxcoff.h"
|
||||
|
||||
extern bfd_boolean _bfd_xcoff_mkobject
|
||||
PARAMS ((bfd *));
|
||||
extern bfd_boolean _bfd_xcoff_copy_private_bfd_data
|
||||
PARAMS ((bfd *, bfd *));
|
||||
extern bfd_boolean _bfd_xcoff_is_local_label_name
|
||||
PARAMS ((bfd *, const char *));
|
||||
extern bfd_boolean _bfd_xcoff_mkobject (bfd *);
|
||||
extern bfd_boolean _bfd_xcoff_copy_private_bfd_data (bfd *, bfd *);
|
||||
extern bfd_boolean _bfd_xcoff_is_local_label_name (bfd *, const char *);
|
||||
extern reloc_howto_type *_bfd_xcoff_reloc_type_lookup
|
||||
PARAMS ((bfd *, bfd_reloc_code_real_type));
|
||||
extern bfd_boolean _bfd_xcoff_slurp_armap
|
||||
PARAMS ((bfd *));
|
||||
extern const bfd_target *_bfd_xcoff_archive_p
|
||||
PARAMS ((bfd *));
|
||||
extern PTR _bfd_xcoff_read_ar_hdr
|
||||
PARAMS ((bfd *));
|
||||
extern bfd *_bfd_xcoff_openr_next_archived_file
|
||||
PARAMS ((bfd *, bfd *));
|
||||
extern int _bfd_xcoff_stat_arch_elt
|
||||
PARAMS ((bfd *, struct stat *));
|
||||
(bfd *, bfd_reloc_code_real_type);
|
||||
extern bfd_boolean _bfd_xcoff_slurp_armap (bfd *);
|
||||
extern const bfd_target *_bfd_xcoff_archive_p (bfd *);
|
||||
extern PTR _bfd_xcoff_read_ar_hdr (bfd *);
|
||||
extern bfd *_bfd_xcoff_openr_next_archived_file (bfd *, bfd *);
|
||||
extern int _bfd_xcoff_stat_arch_elt (bfd *, struct stat *);
|
||||
extern bfd_boolean _bfd_xcoff_write_armap
|
||||
PARAMS ((bfd *, unsigned int, struct orl *, unsigned int, int));
|
||||
extern bfd_boolean _bfd_xcoff_write_archive_contents
|
||||
PARAMS ((bfd *));
|
||||
extern int _bfd_xcoff_sizeof_headers
|
||||
PARAMS ((bfd *, struct bfd_link_info *));
|
||||
extern void _bfd_xcoff_swap_sym_in
|
||||
PARAMS ((bfd *, PTR, PTR));
|
||||
extern unsigned int _bfd_xcoff_swap_sym_out
|
||||
PARAMS ((bfd *, PTR, PTR));
|
||||
extern void _bfd_xcoff_swap_aux_in
|
||||
PARAMS ((bfd *, PTR, int, int, int, int, PTR));
|
||||
(bfd *, unsigned int, struct orl *, unsigned int, int);
|
||||
extern bfd_boolean _bfd_xcoff_write_archive_contents (bfd *);
|
||||
extern int _bfd_xcoff_sizeof_headers (bfd *, struct bfd_link_info *);
|
||||
extern void _bfd_xcoff_swap_sym_in (bfd *, PTR, PTR);
|
||||
extern unsigned int _bfd_xcoff_swap_sym_out (bfd *, PTR, PTR);
|
||||
extern void _bfd_xcoff_swap_aux_in (bfd *, PTR, int, int, int, int, PTR);
|
||||
extern unsigned int _bfd_xcoff_swap_aux_out
|
||||
PARAMS ((bfd *, PTR, int, int, int, int, PTR));
|
||||
static void xcoff_swap_reloc_in
|
||||
PARAMS ((bfd *, PTR, PTR));
|
||||
static unsigned int xcoff_swap_reloc_out
|
||||
PARAMS ((bfd *, PTR, PTR));
|
||||
(bfd *, PTR, int, int, int, int, PTR);
|
||||
static void xcoff_swap_reloc_in (bfd *, PTR, PTR);
|
||||
static unsigned int xcoff_swap_reloc_out (bfd *, PTR, PTR);
|
||||
|
||||
/* Forward declare xcoff_rtype2howto for coffcode.h macro. */
|
||||
void xcoff_rtype2howto
|
||||
PARAMS ((arelent *, struct internal_reloc *));
|
||||
void xcoff_rtype2howto (arelent *, struct internal_reloc *);
|
||||
|
||||
/* coffcode.h needs these to be defined. */
|
||||
#define RS6000COFF_C 1
|
||||
|
@ -97,14 +81,11 @@ void xcoff_rtype2howto
|
|||
#define coff_bfd_reloc_type_lookup _bfd_xcoff_reloc_type_lookup
|
||||
#define coff_bfd_reloc_name_lookup _bfd_xcoff_reloc_name_lookup
|
||||
#ifdef AIX_CORE
|
||||
extern const bfd_target * rs6000coff_core_p
|
||||
PARAMS ((bfd *abfd));
|
||||
extern const bfd_target * rs6000coff_core_p (bfd *abfd);
|
||||
extern bfd_boolean rs6000coff_core_file_matches_executable_p
|
||||
PARAMS ((bfd *cbfd, bfd *ebfd));
|
||||
extern char *rs6000coff_core_file_failing_command
|
||||
PARAMS ((bfd *abfd));
|
||||
extern int rs6000coff_core_file_failing_signal
|
||||
PARAMS ((bfd *abfd));
|
||||
(bfd *cbfd, bfd *ebfd);
|
||||
extern char *rs6000coff_core_file_failing_command (bfd *abfd);
|
||||
extern int rs6000coff_core_file_failing_signal (bfd *abfd);
|
||||
#define CORE_FILE_P rs6000coff_core_p
|
||||
#define coff_core_file_failing_command \
|
||||
rs6000coff_core_file_failing_command
|
||||
|
@ -141,66 +122,49 @@ extern int rs6000coff_core_file_failing_signal
|
|||
|
||||
/* The main body of code is in coffcode.h. */
|
||||
|
||||
static const char *normalize_filename
|
||||
PARAMS ((bfd *));
|
||||
static const char *normalize_filename (bfd *);
|
||||
static bfd_boolean xcoff_write_armap_old
|
||||
PARAMS ((bfd *, unsigned int, struct orl *, unsigned int, int));
|
||||
(bfd *, unsigned int, struct orl *, unsigned int, int);
|
||||
static bfd_boolean xcoff_write_armap_big
|
||||
PARAMS ((bfd *, unsigned int, struct orl *, unsigned int, int));
|
||||
static bfd_boolean xcoff_write_archive_contents_old
|
||||
PARAMS ((bfd *));
|
||||
static bfd_boolean xcoff_write_archive_contents_big
|
||||
PARAMS ((bfd *));
|
||||
static void xcoff_swap_ldhdr_in
|
||||
PARAMS ((bfd *, const PTR, struct internal_ldhdr *));
|
||||
static void xcoff_swap_ldhdr_out
|
||||
PARAMS ((bfd *, const struct internal_ldhdr *, PTR));
|
||||
static void xcoff_swap_ldsym_in
|
||||
PARAMS ((bfd *, const PTR, struct internal_ldsym *));
|
||||
static void xcoff_swap_ldsym_out
|
||||
PARAMS ((bfd *, const struct internal_ldsym *, PTR));
|
||||
static void xcoff_swap_ldrel_in
|
||||
PARAMS ((bfd *, const PTR, struct internal_ldrel *));
|
||||
static void xcoff_swap_ldrel_out
|
||||
PARAMS ((bfd *, const struct internal_ldrel *, PTR));
|
||||
(bfd *, unsigned int, struct orl *, unsigned int, int);
|
||||
static bfd_boolean xcoff_write_archive_contents_old (bfd *);
|
||||
static bfd_boolean xcoff_write_archive_contents_big (bfd *);
|
||||
static void xcoff_swap_ldhdr_in (bfd *, const PTR, struct internal_ldhdr *);
|
||||
static void xcoff_swap_ldhdr_out (bfd *, const struct internal_ldhdr *, PTR);
|
||||
static void xcoff_swap_ldsym_in (bfd *, const PTR, struct internal_ldsym *);
|
||||
static void xcoff_swap_ldsym_out (bfd *, const struct internal_ldsym *, PTR);
|
||||
static void xcoff_swap_ldrel_in (bfd *, const PTR, struct internal_ldrel *);
|
||||
static void xcoff_swap_ldrel_out (bfd *, const struct internal_ldrel *, PTR);
|
||||
static bfd_boolean xcoff_ppc_relocate_section
|
||||
PARAMS ((bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *,
|
||||
struct internal_reloc *, struct internal_syment *, asection **));
|
||||
(bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *,
|
||||
struct internal_reloc *, struct internal_syment *, asection **);
|
||||
static bfd_boolean _bfd_xcoff_put_ldsymbol_name
|
||||
PARAMS ((bfd *, struct xcoff_loader_info *, struct internal_ldsym *,
|
||||
const char *));
|
||||
(bfd *, struct xcoff_loader_info *, struct internal_ldsym *, const char *);
|
||||
static asection *xcoff_create_csect_from_smclas
|
||||
PARAMS ((bfd *, union internal_auxent *, const char *));
|
||||
static bfd_boolean xcoff_is_lineno_count_overflow
|
||||
PARAMS ((bfd *, bfd_vma));
|
||||
static bfd_boolean xcoff_is_reloc_count_overflow
|
||||
PARAMS ((bfd *, bfd_vma));
|
||||
static bfd_vma xcoff_loader_symbol_offset
|
||||
PARAMS ((bfd *, struct internal_ldhdr *));
|
||||
static bfd_vma xcoff_loader_reloc_offset
|
||||
PARAMS ((bfd *, struct internal_ldhdr *));
|
||||
(bfd *, union internal_auxent *, const char *);
|
||||
static bfd_boolean xcoff_is_lineno_count_overflow (bfd *, bfd_vma);
|
||||
static bfd_boolean xcoff_is_reloc_count_overflow (bfd *, bfd_vma);
|
||||
static bfd_vma xcoff_loader_symbol_offset (bfd *, struct internal_ldhdr *);
|
||||
static bfd_vma xcoff_loader_reloc_offset (bfd *, struct internal_ldhdr *);
|
||||
static bfd_boolean xcoff_generate_rtinit
|
||||
PARAMS ((bfd *, const char *, const char *, bfd_boolean));
|
||||
static bfd_boolean do_pad
|
||||
PARAMS ((bfd *, unsigned int));
|
||||
static bfd_boolean do_copy
|
||||
PARAMS ((bfd *, bfd *));
|
||||
(bfd *, const char *, const char *, bfd_boolean);
|
||||
static bfd_boolean do_pad (bfd *, unsigned int);
|
||||
static bfd_boolean do_copy (bfd *, bfd *);
|
||||
|
||||
/* Relocation functions */
|
||||
static bfd_boolean xcoff_reloc_type_br
|
||||
PARAMS ((XCOFF_RELOC_FUNCTION_ARGS));
|
||||
static bfd_boolean xcoff_reloc_type_br (XCOFF_RELOC_FUNCTION_ARGS);
|
||||
|
||||
static bfd_boolean xcoff_complain_overflow_dont_func
|
||||
PARAMS ((XCOFF_COMPLAIN_FUNCTION_ARGS));
|
||||
(XCOFF_COMPLAIN_FUNCTION_ARGS);
|
||||
static bfd_boolean xcoff_complain_overflow_bitfield_func
|
||||
PARAMS ((XCOFF_COMPLAIN_FUNCTION_ARGS));
|
||||
(XCOFF_COMPLAIN_FUNCTION_ARGS);
|
||||
static bfd_boolean xcoff_complain_overflow_signed_func
|
||||
PARAMS ((XCOFF_COMPLAIN_FUNCTION_ARGS));
|
||||
(XCOFF_COMPLAIN_FUNCTION_ARGS);
|
||||
static bfd_boolean xcoff_complain_overflow_unsigned_func
|
||||
PARAMS ((XCOFF_COMPLAIN_FUNCTION_ARGS));
|
||||
(XCOFF_COMPLAIN_FUNCTION_ARGS);
|
||||
|
||||
bfd_boolean (*xcoff_calculate_relocation[XCOFF_MAX_CALCULATE_RELOCATION])
|
||||
PARAMS ((XCOFF_RELOC_FUNCTION_ARGS)) =
|
||||
(XCOFF_RELOC_FUNCTION_ARGS) =
|
||||
{
|
||||
xcoff_reloc_type_pos, /* R_POS (0x00) */
|
||||
xcoff_reloc_type_neg, /* R_NEG (0x01) */
|
||||
|
@ -233,7 +197,7 @@ bfd_boolean (*xcoff_calculate_relocation[XCOFF_MAX_CALCULATE_RELOCATION])
|
|||
};
|
||||
|
||||
bfd_boolean (*xcoff_complain_overflow[XCOFF_MAX_COMPLAIN_OVERFLOW])
|
||||
PARAMS ((XCOFF_COMPLAIN_FUNCTION_ARGS)) =
|
||||
(XCOFF_COMPLAIN_FUNCTION_ARGS) =
|
||||
{
|
||||
xcoff_complain_overflow_dont_func,
|
||||
xcoff_complain_overflow_bitfield_func,
|
||||
|
@ -358,8 +322,7 @@ archive_iterator_next (struct archive_iterator *iterator)
|
|||
so the COFF routines are compatible. */
|
||||
|
||||
bfd_boolean
|
||||
_bfd_xcoff_mkobject (abfd)
|
||||
bfd *abfd;
|
||||
_bfd_xcoff_mkobject (bfd *abfd)
|
||||
{
|
||||
coff_data_type *coff;
|
||||
bfd_size_type amt = sizeof (struct xcoff_tdata);
|
||||
|
@ -391,9 +354,7 @@ _bfd_xcoff_mkobject (abfd)
|
|||
/* Copy XCOFF data from one BFD to another. */
|
||||
|
||||
bfd_boolean
|
||||
_bfd_xcoff_copy_private_bfd_data (ibfd, obfd)
|
||||
bfd *ibfd;
|
||||
bfd *obfd;
|
||||
_bfd_xcoff_copy_private_bfd_data (bfd *ibfd, bfd *obfd)
|
||||
{
|
||||
struct xcoff_tdata *ix, *ox;
|
||||
asection *sec;
|
||||
|
@ -439,18 +400,14 @@ _bfd_xcoff_copy_private_bfd_data (ibfd, obfd)
|
|||
-x option. */
|
||||
|
||||
bfd_boolean
|
||||
_bfd_xcoff_is_local_label_name (abfd, name)
|
||||
bfd *abfd ATTRIBUTE_UNUSED;
|
||||
const char *name ATTRIBUTE_UNUSED;
|
||||
_bfd_xcoff_is_local_label_name (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
const char *name ATTRIBUTE_UNUSED)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void
|
||||
_bfd_xcoff_swap_sym_in (abfd, ext1, in1)
|
||||
bfd *abfd;
|
||||
PTR ext1;
|
||||
PTR in1;
|
||||
_bfd_xcoff_swap_sym_in (bfd *abfd, PTR ext1, PTR in1)
|
||||
{
|
||||
SYMENT *ext = (SYMENT *)ext1;
|
||||
struct internal_syment * in = (struct internal_syment *)in1;
|
||||
|
@ -473,10 +430,7 @@ _bfd_xcoff_swap_sym_in (abfd, ext1, in1)
|
|||
}
|
||||
|
||||
unsigned int
|
||||
_bfd_xcoff_swap_sym_out (abfd, inp, extp)
|
||||
bfd *abfd;
|
||||
PTR inp;
|
||||
PTR extp;
|
||||
_bfd_xcoff_swap_sym_out (bfd *abfd, PTR inp, PTR extp)
|
||||
{
|
||||
struct internal_syment *in = (struct internal_syment *)inp;
|
||||
SYMENT *ext =(SYMENT *)extp;
|
||||
|
@ -500,14 +454,8 @@ _bfd_xcoff_swap_sym_out (abfd, inp, extp)
|
|||
}
|
||||
|
||||
void
|
||||
_bfd_xcoff_swap_aux_in (abfd, ext1, type, in_class, indx, numaux, in1)
|
||||
bfd *abfd;
|
||||
PTR ext1;
|
||||
int type;
|
||||
int in_class;
|
||||
int indx;
|
||||
int numaux;
|
||||
PTR in1;
|
||||
_bfd_xcoff_swap_aux_in (bfd *abfd, PTR ext1, int type, int in_class,
|
||||
int indx, int numaux, PTR in1)
|
||||
{
|
||||
AUXENT * ext = (AUXENT *)ext1;
|
||||
union internal_auxent *in = (union internal_auxent *)in1;
|
||||
|
@ -615,19 +563,11 @@ _bfd_xcoff_swap_aux_in (abfd, ext1, type, in_class, indx, numaux, in1)
|
|||
end of block. */
|
||||
}
|
||||
|
||||
|
||||
unsigned int _bfd_xcoff_swap_aux_out
|
||||
PARAMS ((bfd *, PTR, int, int, int, int, PTR));
|
||||
|
||||
unsigned int
|
||||
_bfd_xcoff_swap_aux_out (abfd, inp, type, in_class, indx, numaux, extp)
|
||||
bfd * abfd;
|
||||
PTR inp;
|
||||
int type;
|
||||
int in_class;
|
||||
int indx ATTRIBUTE_UNUSED;
|
||||
int numaux ATTRIBUTE_UNUSED;
|
||||
PTR extp;
|
||||
_bfd_xcoff_swap_aux_out (bfd *abfd, PTR inp, int type, int in_class,
|
||||
int indx ATTRIBUTE_UNUSED,
|
||||
int numaux ATTRIBUTE_UNUSED,
|
||||
PTR extp)
|
||||
{
|
||||
union internal_auxent *in = (union internal_auxent *)inp;
|
||||
AUXENT *ext = (AUXENT *)extp;
|
||||
|
@ -1117,9 +1057,7 @@ reloc_howto_type xcoff_howto_table[] =
|
|||
};
|
||||
|
||||
void
|
||||
xcoff_rtype2howto (relent, internal)
|
||||
arelent *relent;
|
||||
struct internal_reloc *internal;
|
||||
xcoff_rtype2howto (arelent *relent, struct internal_reloc *internal)
|
||||
{
|
||||
if (internal->r_type > R_RBRC)
|
||||
abort ();
|
||||
|
@ -1150,9 +1088,8 @@ xcoff_rtype2howto (relent, internal)
|
|||
}
|
||||
|
||||
reloc_howto_type *
|
||||
_bfd_xcoff_reloc_type_lookup (abfd, code)
|
||||
bfd *abfd ATTRIBUTE_UNUSED;
|
||||
bfd_reloc_code_real_type code;
|
||||
_bfd_xcoff_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
bfd_reloc_code_real_type code)
|
||||
{
|
||||
switch (code)
|
||||
{
|
||||
|
@ -1238,9 +1175,8 @@ _bfd_xcoff_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
|
|||
/* Set the magic for archive. */
|
||||
|
||||
bfd_boolean
|
||||
bfd_xcoff_ar_archive_set_magic (abfd, magic)
|
||||
bfd *abfd ATTRIBUTE_UNUSED;
|
||||
char *magic ATTRIBUTE_UNUSED;
|
||||
bfd_xcoff_ar_archive_set_magic (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
char *magic ATTRIBUTE_UNUSED)
|
||||
{
|
||||
/* Not supported yet. */
|
||||
return FALSE;
|
||||
|
@ -1250,8 +1186,7 @@ bfd_xcoff_ar_archive_set_magic (abfd, magic)
|
|||
/* Read in the armap of an XCOFF archive. */
|
||||
|
||||
bfd_boolean
|
||||
_bfd_xcoff_slurp_armap (abfd)
|
||||
bfd *abfd;
|
||||
_bfd_xcoff_slurp_armap (bfd *abfd)
|
||||
{
|
||||
file_ptr off;
|
||||
size_t namlen;
|
||||
|
@ -1404,8 +1339,7 @@ _bfd_xcoff_slurp_armap (abfd)
|
|||
/* See if this is an XCOFF archive. */
|
||||
|
||||
const bfd_target *
|
||||
_bfd_xcoff_archive_p (abfd)
|
||||
bfd *abfd;
|
||||
_bfd_xcoff_archive_p (bfd *abfd)
|
||||
{
|
||||
struct artdata *tdata_hold;
|
||||
char magic[SXCOFFARMAG];
|
||||
|
@ -1511,8 +1445,7 @@ _bfd_xcoff_archive_p (abfd)
|
|||
/* Read the archive header in an XCOFF archive. */
|
||||
|
||||
PTR
|
||||
_bfd_xcoff_read_ar_hdr (abfd)
|
||||
bfd *abfd;
|
||||
_bfd_xcoff_read_ar_hdr (bfd *abfd)
|
||||
{
|
||||
bfd_size_type namlen;
|
||||
struct areltdata *ret;
|
||||
|
@ -1600,9 +1533,7 @@ _bfd_xcoff_read_ar_hdr (abfd)
|
|||
/* Open the next element in an XCOFF archive. */
|
||||
|
||||
bfd *
|
||||
_bfd_xcoff_openr_next_archived_file (archive, last_file)
|
||||
bfd *archive;
|
||||
bfd *last_file;
|
||||
_bfd_xcoff_openr_next_archived_file (bfd *archive, bfd *last_file)
|
||||
{
|
||||
file_ptr filestart;
|
||||
|
||||
|
@ -1661,9 +1592,7 @@ _bfd_xcoff_openr_next_archived_file (archive, last_file)
|
|||
/* Stat an element in an XCOFF archive. */
|
||||
|
||||
int
|
||||
_bfd_xcoff_stat_arch_elt (abfd, s)
|
||||
bfd *abfd;
|
||||
struct stat *s;
|
||||
_bfd_xcoff_stat_arch_elt (bfd *abfd, struct stat *s)
|
||||
{
|
||||
if (abfd->arelt_data == NULL)
|
||||
{
|
||||
|
@ -1698,8 +1627,7 @@ _bfd_xcoff_stat_arch_elt (abfd, s)
|
|||
/* Normalize a file name for inclusion in an archive. */
|
||||
|
||||
static const char *
|
||||
normalize_filename (abfd)
|
||||
bfd *abfd;
|
||||
normalize_filename (bfd *abfd)
|
||||
{
|
||||
const char *file;
|
||||
const char *filename;
|
||||
|
@ -1716,12 +1644,8 @@ normalize_filename (abfd)
|
|||
/* Write out an XCOFF armap. */
|
||||
|
||||
static bfd_boolean
|
||||
xcoff_write_armap_old (abfd, elength, map, orl_count, stridx)
|
||||
bfd *abfd;
|
||||
unsigned int elength ATTRIBUTE_UNUSED;
|
||||
struct orl *map;
|
||||
unsigned int orl_count;
|
||||
int stridx;
|
||||
xcoff_write_armap_old (bfd *abfd, unsigned int elength ATTRIBUTE_UNUSED,
|
||||
struct orl *map, unsigned int orl_count, int stridx)
|
||||
{
|
||||
struct archive_iterator iterator;
|
||||
struct xcoff_ar_hdr hdr;
|
||||
|
@ -1815,9 +1739,7 @@ static char buff20[XCOFFARMAGBIG_ELEMENT_SIZE + 1];
|
|||
(v) = bfd_scan_vma (buff20, (const char **) NULL, 10)
|
||||
|
||||
static bfd_boolean
|
||||
do_pad (abfd, number)
|
||||
bfd *abfd;
|
||||
unsigned int number;
|
||||
do_pad (bfd *abfd, unsigned int number)
|
||||
{
|
||||
bfd_byte b = 0;
|
||||
|
||||
|
@ -1833,9 +1755,7 @@ do_pad (abfd, number)
|
|||
}
|
||||
|
||||
static bfd_boolean
|
||||
do_copy (out_bfd, in_bfd)
|
||||
bfd *out_bfd;
|
||||
bfd *in_bfd;
|
||||
do_copy (bfd *out_bfd, bfd *in_bfd)
|
||||
{
|
||||
bfd_size_type remaining;
|
||||
bfd_byte buffer[DEFAULT_BUFFERSIZE];
|
||||
|
@ -1865,12 +1785,8 @@ do_copy (out_bfd, in_bfd)
|
|||
}
|
||||
|
||||
static bfd_boolean
|
||||
xcoff_write_armap_big (abfd, elength, map, orl_count, stridx)
|
||||
bfd *abfd;
|
||||
unsigned int elength ATTRIBUTE_UNUSED;
|
||||
struct orl *map;
|
||||
unsigned int orl_count;
|
||||
int stridx;
|
||||
xcoff_write_armap_big (bfd *abfd, unsigned int elength ATTRIBUTE_UNUSED,
|
||||
struct orl *map, unsigned int orl_count, int stridx)
|
||||
{
|
||||
struct archive_iterator iterator;
|
||||
struct xcoff_ar_file_hdr_big *fhdr;
|
||||
|
@ -2109,12 +2025,8 @@ xcoff_write_armap_big (abfd, elength, map, orl_count, stridx)
|
|||
}
|
||||
|
||||
bfd_boolean
|
||||
_bfd_xcoff_write_armap (abfd, elength, map, orl_count, stridx)
|
||||
bfd *abfd;
|
||||
unsigned int elength ATTRIBUTE_UNUSED;
|
||||
struct orl *map;
|
||||
unsigned int orl_count;
|
||||
int stridx;
|
||||
_bfd_xcoff_write_armap (bfd *abfd, unsigned int elength ATTRIBUTE_UNUSED,
|
||||
struct orl *map, unsigned int orl_count, int stridx)
|
||||
{
|
||||
if (! xcoff_big_format_p (abfd))
|
||||
return xcoff_write_armap_old (abfd, elength, map, orl_count, stridx);
|
||||
|
@ -2126,8 +2038,7 @@ _bfd_xcoff_write_armap (abfd, elength, map, orl_count, stridx)
|
|||
rather than fussing with the freelist and so forth. */
|
||||
|
||||
static bfd_boolean
|
||||
xcoff_write_archive_contents_old (abfd)
|
||||
bfd *abfd;
|
||||
xcoff_write_archive_contents_old (bfd *abfd)
|
||||
{
|
||||
struct archive_iterator iterator;
|
||||
struct xcoff_ar_file_hdr fhdr;
|
||||
|
@ -2333,8 +2244,7 @@ xcoff_write_archive_contents_old (abfd)
|
|||
}
|
||||
|
||||
static bfd_boolean
|
||||
xcoff_write_archive_contents_big (abfd)
|
||||
bfd *abfd;
|
||||
xcoff_write_archive_contents_big (bfd *abfd)
|
||||
{
|
||||
struct xcoff_ar_file_hdr_big fhdr;
|
||||
bfd_size_type count;
|
||||
|
@ -2570,8 +2480,7 @@ xcoff_write_archive_contents_big (abfd)
|
|||
}
|
||||
|
||||
bfd_boolean
|
||||
_bfd_xcoff_write_archive_contents (abfd)
|
||||
bfd *abfd;
|
||||
_bfd_xcoff_write_archive_contents (bfd *abfd)
|
||||
{
|
||||
if (! xcoff_big_format_p (abfd))
|
||||
return xcoff_write_archive_contents_old (abfd);
|
||||
|
@ -2605,10 +2514,7 @@ _bfd_xcoff_sizeof_headers (bfd *abfd,
|
|||
/* Swap in the ldhdr structure. */
|
||||
|
||||
static void
|
||||
xcoff_swap_ldhdr_in (abfd, s, dst)
|
||||
bfd *abfd;
|
||||
const PTR s;
|
||||
struct internal_ldhdr *dst;
|
||||
xcoff_swap_ldhdr_in (bfd *abfd, const PTR s, struct internal_ldhdr *dst)
|
||||
{
|
||||
const struct external_ldhdr *src = (const struct external_ldhdr *) s;
|
||||
|
||||
|
@ -2625,10 +2531,7 @@ xcoff_swap_ldhdr_in (abfd, s, dst)
|
|||
/* Swap out the ldhdr structure. */
|
||||
|
||||
static void
|
||||
xcoff_swap_ldhdr_out (abfd, src, d)
|
||||
bfd *abfd;
|
||||
const struct internal_ldhdr *src;
|
||||
PTR d;
|
||||
xcoff_swap_ldhdr_out (bfd *abfd, const struct internal_ldhdr *src, PTR d)
|
||||
{
|
||||
struct external_ldhdr *dst = (struct external_ldhdr *) d;
|
||||
|
||||
|
@ -2645,10 +2548,7 @@ xcoff_swap_ldhdr_out (abfd, src, d)
|
|||
/* Swap in the ldsym structure. */
|
||||
|
||||
static void
|
||||
xcoff_swap_ldsym_in (abfd, s, dst)
|
||||
bfd *abfd;
|
||||
const PTR s;
|
||||
struct internal_ldsym *dst;
|
||||
xcoff_swap_ldsym_in (bfd *abfd, const PTR s, struct internal_ldsym *dst)
|
||||
{
|
||||
const struct external_ldsym *src = (const struct external_ldsym *) s;
|
||||
|
||||
|
@ -2669,10 +2569,7 @@ xcoff_swap_ldsym_in (abfd, s, dst)
|
|||
/* Swap out the ldsym structure. */
|
||||
|
||||
static void
|
||||
xcoff_swap_ldsym_out (abfd, src, d)
|
||||
bfd *abfd;
|
||||
const struct internal_ldsym *src;
|
||||
PTR d;
|
||||
xcoff_swap_ldsym_out (bfd *abfd, const struct internal_ldsym *src, PTR d)
|
||||
{
|
||||
struct external_ldsym *dst = (struct external_ldsym *) d;
|
||||
|
||||
|
@ -2693,10 +2590,7 @@ xcoff_swap_ldsym_out (abfd, src, d)
|
|||
}
|
||||
|
||||
static void
|
||||
xcoff_swap_reloc_in (abfd, s, d)
|
||||
bfd *abfd;
|
||||
PTR s;
|
||||
PTR d;
|
||||
xcoff_swap_reloc_in (bfd *abfd, PTR s, PTR d)
|
||||
{
|
||||
struct external_reloc *src = (struct external_reloc *) s;
|
||||
struct internal_reloc *dst = (struct internal_reloc *) d;
|
||||
|
@ -2710,10 +2604,7 @@ xcoff_swap_reloc_in (abfd, s, d)
|
|||
}
|
||||
|
||||
static unsigned int
|
||||
xcoff_swap_reloc_out (abfd, s, d)
|
||||
bfd *abfd;
|
||||
PTR s;
|
||||
PTR d;
|
||||
xcoff_swap_reloc_out (bfd *abfd, PTR s, PTR d)
|
||||
{
|
||||
struct internal_reloc *src = (struct internal_reloc *) s;
|
||||
struct external_reloc *dst = (struct external_reloc *) d;
|
||||
|
@ -2729,10 +2620,7 @@ xcoff_swap_reloc_out (abfd, s, d)
|
|||
/* Swap in the ldrel structure. */
|
||||
|
||||
static void
|
||||
xcoff_swap_ldrel_in (abfd, s, dst)
|
||||
bfd *abfd;
|
||||
const PTR s;
|
||||
struct internal_ldrel *dst;
|
||||
xcoff_swap_ldrel_in (bfd *abfd, const PTR s, struct internal_ldrel *dst)
|
||||
{
|
||||
const struct external_ldrel *src = (const struct external_ldrel *) s;
|
||||
|
||||
|
@ -2745,10 +2633,7 @@ xcoff_swap_ldrel_in (abfd, s, dst)
|
|||
/* Swap out the ldrel structure. */
|
||||
|
||||
static void
|
||||
xcoff_swap_ldrel_out (abfd, src, d)
|
||||
bfd *abfd;
|
||||
const struct internal_ldrel *src;
|
||||
PTR d;
|
||||
xcoff_swap_ldrel_out (bfd *abfd, const struct internal_ldrel *src, PTR d)
|
||||
{
|
||||
struct external_ldrel *dst = (struct external_ldrel *) d;
|
||||
|
||||
|
@ -2760,35 +2645,31 @@ xcoff_swap_ldrel_out (abfd, src, d)
|
|||
|
||||
|
||||
bfd_boolean
|
||||
xcoff_reloc_type_noop (input_bfd, input_section, output_bfd, rel, sym, howto,
|
||||
val, addend, relocation, contents)
|
||||
bfd *input_bfd ATTRIBUTE_UNUSED;
|
||||
asection *input_section ATTRIBUTE_UNUSED;
|
||||
bfd *output_bfd ATTRIBUTE_UNUSED;
|
||||
struct internal_reloc *rel ATTRIBUTE_UNUSED;
|
||||
struct internal_syment *sym ATTRIBUTE_UNUSED;
|
||||
struct reloc_howto_struct *howto ATTRIBUTE_UNUSED;
|
||||
bfd_vma val ATTRIBUTE_UNUSED;
|
||||
bfd_vma addend ATTRIBUTE_UNUSED;
|
||||
bfd_vma *relocation ATTRIBUTE_UNUSED;
|
||||
bfd_byte *contents ATTRIBUTE_UNUSED;
|
||||
xcoff_reloc_type_noop (bfd *input_bfd ATTRIBUTE_UNUSED,
|
||||
asection *input_section ATTRIBUTE_UNUSED,
|
||||
bfd *output_bfd ATTRIBUTE_UNUSED,
|
||||
struct internal_reloc *rel ATTRIBUTE_UNUSED,
|
||||
struct internal_syment *sym ATTRIBUTE_UNUSED,
|
||||
struct reloc_howto_struct *howto ATTRIBUTE_UNUSED,
|
||||
bfd_vma val ATTRIBUTE_UNUSED,
|
||||
bfd_vma addend ATTRIBUTE_UNUSED,
|
||||
bfd_vma *relocation ATTRIBUTE_UNUSED,
|
||||
bfd_byte *contents ATTRIBUTE_UNUSED)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bfd_boolean
|
||||
xcoff_reloc_type_fail (input_bfd, input_section, output_bfd, rel, sym, howto,
|
||||
val, addend, relocation, contents)
|
||||
bfd *input_bfd;
|
||||
asection *input_section ATTRIBUTE_UNUSED;
|
||||
bfd *output_bfd ATTRIBUTE_UNUSED;
|
||||
struct internal_reloc *rel;
|
||||
struct internal_syment *sym ATTRIBUTE_UNUSED;
|
||||
struct reloc_howto_struct *howto ATTRIBUTE_UNUSED;
|
||||
bfd_vma val ATTRIBUTE_UNUSED;
|
||||
bfd_vma addend ATTRIBUTE_UNUSED;
|
||||
bfd_vma *relocation ATTRIBUTE_UNUSED;
|
||||
bfd_byte *contents ATTRIBUTE_UNUSED;
|
||||
xcoff_reloc_type_fail (bfd *input_bfd,
|
||||
asection *input_section ATTRIBUTE_UNUSED,
|
||||
bfd *output_bfd ATTRIBUTE_UNUSED,
|
||||
struct internal_reloc *rel,
|
||||
struct internal_syment *sym ATTRIBUTE_UNUSED,
|
||||
struct reloc_howto_struct *howto ATTRIBUTE_UNUSED,
|
||||
bfd_vma val ATTRIBUTE_UNUSED,
|
||||
bfd_vma addend ATTRIBUTE_UNUSED,
|
||||
bfd_vma *relocation ATTRIBUTE_UNUSED,
|
||||
bfd_byte *contents ATTRIBUTE_UNUSED)
|
||||
{
|
||||
(*_bfd_error_handler)
|
||||
(_("%s: unsupported relocation type 0x%02x"),
|
||||
|
@ -2798,54 +2679,48 @@ xcoff_reloc_type_fail (input_bfd, input_section, output_bfd, rel, sym, howto,
|
|||
}
|
||||
|
||||
bfd_boolean
|
||||
xcoff_reloc_type_pos (input_bfd, input_section, output_bfd, rel, sym, howto,
|
||||
val, addend, relocation, contents)
|
||||
bfd *input_bfd ATTRIBUTE_UNUSED;
|
||||
asection *input_section ATTRIBUTE_UNUSED;
|
||||
bfd *output_bfd ATTRIBUTE_UNUSED;
|
||||
struct internal_reloc *rel ATTRIBUTE_UNUSED;
|
||||
struct internal_syment *sym ATTRIBUTE_UNUSED;
|
||||
struct reloc_howto_struct *howto ATTRIBUTE_UNUSED;
|
||||
bfd_vma val;
|
||||
bfd_vma addend;
|
||||
bfd_vma *relocation;
|
||||
bfd_byte *contents ATTRIBUTE_UNUSED;
|
||||
xcoff_reloc_type_pos (bfd *input_bfd ATTRIBUTE_UNUSED,
|
||||
asection *input_section ATTRIBUTE_UNUSED,
|
||||
bfd *output_bfd ATTRIBUTE_UNUSED,
|
||||
struct internal_reloc *rel ATTRIBUTE_UNUSED,
|
||||
struct internal_syment *sym ATTRIBUTE_UNUSED,
|
||||
struct reloc_howto_struct *howto ATTRIBUTE_UNUSED,
|
||||
bfd_vma val,
|
||||
bfd_vma addend,
|
||||
bfd_vma *relocation,
|
||||
bfd_byte *contents ATTRIBUTE_UNUSED)
|
||||
{
|
||||
*relocation = val + addend;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bfd_boolean
|
||||
xcoff_reloc_type_neg (input_bfd, input_section, output_bfd, rel, sym, howto,
|
||||
val, addend, relocation, contents)
|
||||
bfd *input_bfd ATTRIBUTE_UNUSED;
|
||||
asection *input_section ATTRIBUTE_UNUSED;
|
||||
bfd *output_bfd ATTRIBUTE_UNUSED;
|
||||
struct internal_reloc *rel ATTRIBUTE_UNUSED;
|
||||
struct internal_syment *sym ATTRIBUTE_UNUSED;
|
||||
struct reloc_howto_struct *howto ATTRIBUTE_UNUSED;
|
||||
bfd_vma val;
|
||||
bfd_vma addend;
|
||||
bfd_vma *relocation;
|
||||
bfd_byte *contents ATTRIBUTE_UNUSED;
|
||||
xcoff_reloc_type_neg (bfd *input_bfd ATTRIBUTE_UNUSED,
|
||||
asection *input_section ATTRIBUTE_UNUSED,
|
||||
bfd *output_bfd ATTRIBUTE_UNUSED,
|
||||
struct internal_reloc *rel ATTRIBUTE_UNUSED,
|
||||
struct internal_syment *sym ATTRIBUTE_UNUSED,
|
||||
struct reloc_howto_struct *howto ATTRIBUTE_UNUSED,
|
||||
bfd_vma val,
|
||||
bfd_vma addend,
|
||||
bfd_vma *relocation,
|
||||
bfd_byte *contents ATTRIBUTE_UNUSED)
|
||||
{
|
||||
*relocation = addend - val;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bfd_boolean
|
||||
xcoff_reloc_type_rel (input_bfd, input_section, output_bfd, rel, sym, howto,
|
||||
val, addend, relocation, contents)
|
||||
bfd *input_bfd ATTRIBUTE_UNUSED;
|
||||
asection *input_section;
|
||||
bfd *output_bfd ATTRIBUTE_UNUSED;
|
||||
struct internal_reloc *rel ATTRIBUTE_UNUSED;
|
||||
struct internal_syment *sym ATTRIBUTE_UNUSED;
|
||||
struct reloc_howto_struct *howto;
|
||||
bfd_vma val;
|
||||
bfd_vma addend;
|
||||
bfd_vma *relocation;
|
||||
bfd_byte *contents ATTRIBUTE_UNUSED;
|
||||
xcoff_reloc_type_rel (bfd *input_bfd ATTRIBUTE_UNUSED,
|
||||
asection *input_section,
|
||||
bfd *output_bfd ATTRIBUTE_UNUSED,
|
||||
struct internal_reloc *rel ATTRIBUTE_UNUSED,
|
||||
struct internal_syment *sym ATTRIBUTE_UNUSED,
|
||||
struct reloc_howto_struct *howto,
|
||||
bfd_vma val,
|
||||
bfd_vma addend,
|
||||
bfd_vma *relocation,
|
||||
bfd_byte *contents ATTRIBUTE_UNUSED)
|
||||
{
|
||||
howto->pc_relative = TRUE;
|
||||
|
||||
|
@ -2859,18 +2734,16 @@ xcoff_reloc_type_rel (input_bfd, input_section, output_bfd, rel, sym, howto,
|
|||
}
|
||||
|
||||
bfd_boolean
|
||||
xcoff_reloc_type_toc (input_bfd, input_section, output_bfd, rel, sym, howto,
|
||||
val, addend, relocation, contents)
|
||||
bfd *input_bfd;
|
||||
asection *input_section ATTRIBUTE_UNUSED;
|
||||
bfd *output_bfd;
|
||||
struct internal_reloc *rel;
|
||||
struct internal_syment *sym;
|
||||
struct reloc_howto_struct *howto ATTRIBUTE_UNUSED;
|
||||
bfd_vma val;
|
||||
bfd_vma addend ATTRIBUTE_UNUSED;
|
||||
bfd_vma *relocation;
|
||||
bfd_byte *contents ATTRIBUTE_UNUSED;
|
||||
xcoff_reloc_type_toc (bfd *input_bfd,
|
||||
asection *input_section ATTRIBUTE_UNUSED,
|
||||
bfd *output_bfd,
|
||||
struct internal_reloc *rel,
|
||||
struct internal_syment *sym,
|
||||
struct reloc_howto_struct *howto ATTRIBUTE_UNUSED,
|
||||
bfd_vma val,
|
||||
bfd_vma addend ATTRIBUTE_UNUSED,
|
||||
bfd_vma *relocation,
|
||||
bfd_byte *contents ATTRIBUTE_UNUSED)
|
||||
{
|
||||
struct xcoff_link_hash_entry *h;
|
||||
|
||||
|
@ -2902,18 +2775,16 @@ xcoff_reloc_type_toc (input_bfd, input_section, output_bfd, rel, sym, howto,
|
|||
}
|
||||
|
||||
bfd_boolean
|
||||
xcoff_reloc_type_ba (input_bfd, input_section, output_bfd, rel, sym, howto,
|
||||
val, addend, relocation, contents)
|
||||
bfd *input_bfd ATTRIBUTE_UNUSED;
|
||||
asection *input_section ATTRIBUTE_UNUSED;
|
||||
bfd *output_bfd ATTRIBUTE_UNUSED;
|
||||
struct internal_reloc *rel ATTRIBUTE_UNUSED;
|
||||
struct internal_syment *sym ATTRIBUTE_UNUSED;
|
||||
struct reloc_howto_struct *howto;
|
||||
bfd_vma val;
|
||||
bfd_vma addend;
|
||||
bfd_vma *relocation;
|
||||
bfd_byte *contents ATTRIBUTE_UNUSED;
|
||||
xcoff_reloc_type_ba (bfd *input_bfd ATTRIBUTE_UNUSED,
|
||||
asection *input_section ATTRIBUTE_UNUSED,
|
||||
bfd *output_bfd ATTRIBUTE_UNUSED,
|
||||
struct internal_reloc *rel ATTRIBUTE_UNUSED,
|
||||
struct internal_syment *sym ATTRIBUTE_UNUSED,
|
||||
struct reloc_howto_struct *howto,
|
||||
bfd_vma val,
|
||||
bfd_vma addend,
|
||||
bfd_vma *relocation,
|
||||
bfd_byte *contents ATTRIBUTE_UNUSED)
|
||||
{
|
||||
howto->src_mask &= ~3;
|
||||
howto->dst_mask = howto->src_mask;
|
||||
|
@ -2924,18 +2795,16 @@ xcoff_reloc_type_ba (input_bfd, input_section, output_bfd, rel, sym, howto,
|
|||
}
|
||||
|
||||
static bfd_boolean
|
||||
xcoff_reloc_type_br (input_bfd, input_section, output_bfd, rel, sym, howto,
|
||||
val, addend, relocation, contents)
|
||||
bfd *input_bfd;
|
||||
asection *input_section;
|
||||
bfd *output_bfd ATTRIBUTE_UNUSED;
|
||||
struct internal_reloc *rel;
|
||||
struct internal_syment *sym ATTRIBUTE_UNUSED;
|
||||
struct reloc_howto_struct *howto;
|
||||
bfd_vma val;
|
||||
bfd_vma addend;
|
||||
bfd_vma *relocation;
|
||||
bfd_byte *contents;
|
||||
xcoff_reloc_type_br (bfd *input_bfd,
|
||||
asection *input_section,
|
||||
bfd *output_bfd ATTRIBUTE_UNUSED,
|
||||
struct internal_reloc *rel,
|
||||
struct internal_syment *sym ATTRIBUTE_UNUSED,
|
||||
struct reloc_howto_struct *howto,
|
||||
bfd_vma val,
|
||||
bfd_vma addend,
|
||||
bfd_vma *relocation,
|
||||
bfd_byte *contents)
|
||||
{
|
||||
struct xcoff_link_hash_entry *h;
|
||||
bfd_vma section_offset;
|
||||
|
@ -3032,18 +2901,16 @@ xcoff_reloc_type_br (input_bfd, input_section, output_bfd, rel, sym, howto,
|
|||
}
|
||||
|
||||
bfd_boolean
|
||||
xcoff_reloc_type_crel (input_bfd, input_section, output_bfd, rel, sym, howto,
|
||||
val, addend, relocation, contents)
|
||||
bfd *input_bfd ATTRIBUTE_UNUSED;
|
||||
asection *input_section;
|
||||
bfd *output_bfd ATTRIBUTE_UNUSED;
|
||||
struct internal_reloc *rel ATTRIBUTE_UNUSED;
|
||||
struct internal_syment *sym ATTRIBUTE_UNUSED;
|
||||
struct reloc_howto_struct *howto;
|
||||
bfd_vma val ATTRIBUTE_UNUSED;
|
||||
bfd_vma addend;
|
||||
bfd_vma *relocation;
|
||||
bfd_byte *contents ATTRIBUTE_UNUSED;
|
||||
xcoff_reloc_type_crel (bfd *input_bfd ATTRIBUTE_UNUSED,
|
||||
asection *input_section,
|
||||
bfd *output_bfd ATTRIBUTE_UNUSED,
|
||||
struct internal_reloc *rel ATTRIBUTE_UNUSED,
|
||||
struct internal_syment *sym ATTRIBUTE_UNUSED,
|
||||
struct reloc_howto_struct *howto,
|
||||
bfd_vma val ATTRIBUTE_UNUSED,
|
||||
bfd_vma addend,
|
||||
bfd_vma *relocation,
|
||||
bfd_byte *contents ATTRIBUTE_UNUSED)
|
||||
{
|
||||
howto->pc_relative = TRUE;
|
||||
howto->src_mask &= ~3;
|
||||
|
@ -3059,21 +2926,20 @@ xcoff_reloc_type_crel (input_bfd, input_section, output_bfd, rel, sym, howto,
|
|||
}
|
||||
|
||||
static bfd_boolean
|
||||
xcoff_complain_overflow_dont_func (input_bfd, val, relocation, howto)
|
||||
bfd *input_bfd ATTRIBUTE_UNUSED;
|
||||
bfd_vma val ATTRIBUTE_UNUSED;
|
||||
bfd_vma relocation ATTRIBUTE_UNUSED;
|
||||
struct reloc_howto_struct *howto ATTRIBUTE_UNUSED;
|
||||
xcoff_complain_overflow_dont_func (bfd *input_bfd ATTRIBUTE_UNUSED,
|
||||
bfd_vma val ATTRIBUTE_UNUSED,
|
||||
bfd_vma relocation ATTRIBUTE_UNUSED,
|
||||
struct reloc_howto_struct *
|
||||
howto ATTRIBUTE_UNUSED)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static bfd_boolean
|
||||
xcoff_complain_overflow_bitfield_func (input_bfd, val, relocation, howto)
|
||||
bfd *input_bfd;
|
||||
bfd_vma val;
|
||||
bfd_vma relocation;
|
||||
struct reloc_howto_struct *howto;
|
||||
xcoff_complain_overflow_bitfield_func (bfd *input_bfd,
|
||||
bfd_vma val,
|
||||
bfd_vma relocation,
|
||||
struct reloc_howto_struct *howto)
|
||||
{
|
||||
bfd_vma fieldmask, signmask, ss;
|
||||
bfd_vma a, b, sum;
|
||||
|
@ -3144,11 +3010,10 @@ xcoff_complain_overflow_bitfield_func (input_bfd, val, relocation, howto)
|
|||
}
|
||||
|
||||
static bfd_boolean
|
||||
xcoff_complain_overflow_signed_func (input_bfd, val, relocation, howto)
|
||||
bfd *input_bfd;
|
||||
bfd_vma val;
|
||||
bfd_vma relocation;
|
||||
struct reloc_howto_struct *howto;
|
||||
xcoff_complain_overflow_signed_func (bfd *input_bfd,
|
||||
bfd_vma val,
|
||||
bfd_vma relocation,
|
||||
struct reloc_howto_struct *howto)
|
||||
{
|
||||
bfd_vma addrmask, fieldmask, signmask, ss;
|
||||
bfd_vma a, b, sum;
|
||||
|
@ -3206,11 +3071,10 @@ xcoff_complain_overflow_signed_func (input_bfd, val, relocation, howto)
|
|||
}
|
||||
|
||||
static bfd_boolean
|
||||
xcoff_complain_overflow_unsigned_func (input_bfd, val, relocation, howto)
|
||||
bfd *input_bfd;
|
||||
bfd_vma val;
|
||||
bfd_vma relocation;
|
||||
struct reloc_howto_struct *howto;
|
||||
xcoff_complain_overflow_unsigned_func (bfd *input_bfd,
|
||||
bfd_vma val,
|
||||
bfd_vma relocation,
|
||||
struct reloc_howto_struct *howto)
|
||||
{
|
||||
bfd_vma addrmask, fieldmask;
|
||||
bfd_vma a, b, sum;
|
||||
|
@ -3356,17 +3220,14 @@ xcoff_complain_overflow_unsigned_func (input_bfd, val, relocation, howto)
|
|||
*/
|
||||
|
||||
bfd_boolean
|
||||
xcoff_ppc_relocate_section (output_bfd, info, input_bfd,
|
||||
input_section, contents, relocs, syms,
|
||||
sections)
|
||||
bfd *output_bfd;
|
||||
struct bfd_link_info *info;
|
||||
bfd *input_bfd;
|
||||
asection *input_section;
|
||||
bfd_byte *contents;
|
||||
struct internal_reloc *relocs;
|
||||
struct internal_syment *syms;
|
||||
asection **sections;
|
||||
xcoff_ppc_relocate_section (bfd *output_bfd,
|
||||
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;
|
||||
|
@ -3552,11 +3413,10 @@ xcoff_ppc_relocate_section (output_bfd, info, input_bfd,
|
|||
}
|
||||
|
||||
static bfd_boolean
|
||||
_bfd_xcoff_put_ldsymbol_name (abfd, ldinfo, ldsym, name)
|
||||
bfd *abfd ATTRIBUTE_UNUSED;
|
||||
struct xcoff_loader_info *ldinfo;
|
||||
struct internal_ldsym *ldsym;
|
||||
const char *name;
|
||||
_bfd_xcoff_put_ldsymbol_name (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
struct xcoff_loader_info *ldinfo,
|
||||
struct internal_ldsym *ldsym,
|
||||
const char *name)
|
||||
{
|
||||
size_t len;
|
||||
len = strlen (name);
|
||||
|
@ -3624,10 +3484,9 @@ _bfd_xcoff_put_symbol_name (bfd *abfd, struct bfd_strtab_hash *strtab,
|
|||
}
|
||||
|
||||
static asection *
|
||||
xcoff_create_csect_from_smclas (abfd, aux, symbol_name)
|
||||
bfd *abfd;
|
||||
union internal_auxent *aux;
|
||||
const char *symbol_name;
|
||||
xcoff_create_csect_from_smclas (bfd *abfd,
|
||||
union internal_auxent *aux,
|
||||
const char *symbol_name)
|
||||
{
|
||||
asection *return_value = NULL;
|
||||
|
||||
|
@ -3658,9 +3517,7 @@ xcoff_create_csect_from_smclas (abfd, aux, symbol_name)
|
|||
}
|
||||
|
||||
static bfd_boolean
|
||||
xcoff_is_lineno_count_overflow (abfd, value)
|
||||
bfd *abfd ATTRIBUTE_UNUSED;
|
||||
bfd_vma value;
|
||||
xcoff_is_lineno_count_overflow (bfd *abfd ATTRIBUTE_UNUSED, bfd_vma value)
|
||||
{
|
||||
if (0xffff <= value)
|
||||
return TRUE;
|
||||
|
@ -3669,9 +3526,7 @@ xcoff_is_lineno_count_overflow (abfd, value)
|
|||
}
|
||||
|
||||
static bfd_boolean
|
||||
xcoff_is_reloc_count_overflow (abfd, value)
|
||||
bfd *abfd ATTRIBUTE_UNUSED;
|
||||
bfd_vma value;
|
||||
xcoff_is_reloc_count_overflow (bfd *abfd ATTRIBUTE_UNUSED, bfd_vma value)
|
||||
{
|
||||
if (0xffff <= value)
|
||||
return TRUE;
|
||||
|
@ -3680,27 +3535,21 @@ xcoff_is_reloc_count_overflow (abfd, value)
|
|||
}
|
||||
|
||||
static bfd_vma
|
||||
xcoff_loader_symbol_offset (abfd, ldhdr)
|
||||
bfd *abfd;
|
||||
struct internal_ldhdr *ldhdr ATTRIBUTE_UNUSED;
|
||||
xcoff_loader_symbol_offset (bfd *abfd,
|
||||
struct internal_ldhdr *ldhdr ATTRIBUTE_UNUSED)
|
||||
{
|
||||
return bfd_xcoff_ldhdrsz (abfd);
|
||||
}
|
||||
|
||||
static bfd_vma
|
||||
xcoff_loader_reloc_offset (abfd, ldhdr)
|
||||
bfd *abfd;
|
||||
struct internal_ldhdr *ldhdr;
|
||||
xcoff_loader_reloc_offset (bfd *abfd, struct internal_ldhdr *ldhdr)
|
||||
{
|
||||
return bfd_xcoff_ldhdrsz (abfd) + ldhdr->l_nsyms * bfd_xcoff_ldsymsz (abfd);
|
||||
}
|
||||
|
||||
static bfd_boolean
|
||||
xcoff_generate_rtinit (abfd, init, fini, rtld)
|
||||
bfd *abfd;
|
||||
const char *init;
|
||||
const char *fini;
|
||||
bfd_boolean rtld;
|
||||
xcoff_generate_rtinit (bfd *abfd, const char *init, const char *fini,
|
||||
bfd_boolean rtld)
|
||||
{
|
||||
bfd_byte filehdr_ext[FILHSZ];
|
||||
bfd_byte scnhdr_ext[SCNHSZ];
|
||||
|
|
Loading…
Reference in a new issue