* coff-rs6000.c: Formatting fixes.
(xcoff_calculate_relocation): Use PARAMS in declaration. (xcoff_complain_overflow): Likewise. (xcoff_ppc_relocate_section): Use old-style function pointer call. (bfd_xcoff_backend_data): Remove useless comments. (rs6000coff_vec): Likewise. (bfd_pmac_xcoff_backend_data): Likewise. (pmac_xcoff_vec): Likewise. * coff64-rs6000.c: Formatting fixes. (xcoff64_calculate_relocation): Use PARAMS in declaration. (xcoff64_ppc_relocate_section): Use old-style function pointer call. (bfd_xcoff_backend_data): Remove useless comments. (rs6000coff64_vec): Likewise. (bfd_xcoff_aix5_backend_data): Likewise. (aix5coff64_vec): Likewise.
This commit is contained in:
parent
a78eab4eaf
commit
cf9ab45bc0
3 changed files with 1663 additions and 1707 deletions
|
@ -1,3 +1,21 @@
|
|||
2002-08-06 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* coff-rs6000.c: Formatting fixes.
|
||||
(xcoff_calculate_relocation): Use PARAMS in declaration.
|
||||
(xcoff_complain_overflow): Likewise.
|
||||
(xcoff_ppc_relocate_section): Use old-style function pointer call.
|
||||
(bfd_xcoff_backend_data): Remove useless comments.
|
||||
(rs6000coff_vec): Likewise.
|
||||
(bfd_pmac_xcoff_backend_data): Likewise.
|
||||
(pmac_xcoff_vec): Likewise.
|
||||
* coff64-rs6000.c: Formatting fixes.
|
||||
(xcoff64_calculate_relocation): Use PARAMS in declaration.
|
||||
(xcoff64_ppc_relocate_section): Use old-style function pointer call.
|
||||
(bfd_xcoff_backend_data): Remove useless comments.
|
||||
(rs6000coff64_vec): Likewise.
|
||||
(bfd_xcoff_aix5_backend_data): Likewise.
|
||||
(aix5coff64_vec): Likewise.
|
||||
|
||||
2002-08-06 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* coff-rs6000.c (xcoff_howto_table): Revert some of last change to
|
||||
|
|
|
@ -167,7 +167,7 @@ static boolean xcoff_complain_overflow_unsigned_func
|
|||
PARAMS ((XCOFF_COMPLAIN_FUNCTION_ARGS));
|
||||
|
||||
boolean (*xcoff_calculate_relocation[XCOFF_MAX_CALCULATE_RELOCATION])
|
||||
(XCOFF_RELOC_FUNCTION_ARGS) =
|
||||
PARAMS ((XCOFF_RELOC_FUNCTION_ARGS)) =
|
||||
{
|
||||
xcoff_reloc_type_pos, /* R_POS (0x00) */
|
||||
xcoff_reloc_type_neg, /* R_NEG (0x01) */
|
||||
|
@ -200,7 +200,7 @@ boolean (*xcoff_calculate_relocation[XCOFF_MAX_CALCULATE_RELOCATION])
|
|||
};
|
||||
|
||||
boolean (*xcoff_complain_overflow[XCOFF_MAX_COMPLAIN_OVERFLOW])
|
||||
(XCOFF_COMPLAIN_FUNCTION_ARGS) =
|
||||
PARAMS ((XCOFF_COMPLAIN_FUNCTION_ARGS)) =
|
||||
{
|
||||
xcoff_complain_overflow_dont_func,
|
||||
xcoff_complain_overflow_bitfield_func,
|
||||
|
@ -998,8 +998,9 @@ xcoff_rtype2howto (relent, internal)
|
|||
abort ();
|
||||
|
||||
/* Put a meaningful value in addend */
|
||||
relent->addend = (internal->r_size & 0x80) ? - internal->r_vaddr
|
||||
: internal->r_vaddr;
|
||||
relent->addend = (internal->r_size & 0x80
|
||||
? -internal->r_vaddr
|
||||
: internal->r_vaddr);
|
||||
}
|
||||
|
||||
reloc_howto_type *
|
||||
|
@ -2184,9 +2185,9 @@ xcoff_write_archive_contents_old (abfd)
|
|||
sprintf (fhdr.memoff, "%ld", (long) nextoff);
|
||||
|
||||
memset (&ahdr, 0, sizeof ahdr);
|
||||
sprintf (ahdr.size, "%ld", (long) (XCOFFARMAG_ELEMENT_SIZE +
|
||||
count * XCOFFARMAG_ELEMENT_SIZE +
|
||||
total_namlen));
|
||||
sprintf (ahdr.size, "%ld", (long) (XCOFFARMAG_ELEMENT_SIZE
|
||||
+ count * XCOFFARMAG_ELEMENT_SIZE
|
||||
+ total_namlen));
|
||||
sprintf (ahdr.prevoff, "%ld", (long) prevoff);
|
||||
sprintf (ahdr.date, "%d", 0);
|
||||
sprintf (ahdr.uid, "%d", 0);
|
||||
|
@ -2458,9 +2459,9 @@ xcoff_write_archive_contents_big (abfd)
|
|||
|
||||
hdr = (struct xcoff_ar_hdr_big *) member_table;
|
||||
|
||||
PRINT20 (hdr->size, (XCOFFARMAGBIG_ELEMENT_SIZE +
|
||||
count * XCOFFARMAGBIG_ELEMENT_SIZE +
|
||||
total_namlen + (total_namlen & 1)));
|
||||
PRINT20 (hdr->size, (XCOFFARMAGBIG_ELEMENT_SIZE
|
||||
+ count * XCOFFARMAGBIG_ELEMENT_SIZE
|
||||
+ total_namlen + (total_namlen & 1)));
|
||||
if (makemap && hasobjects)
|
||||
PRINT20 (hdr->nextoff, nextoff + member_table_size);
|
||||
else
|
||||
|
@ -2823,8 +2824,8 @@ xcoff_reloc_type_rel (input_bfd, input_section, output_bfd, rel, sym, howto,
|
|||
addend += input_section->vma;
|
||||
|
||||
*relocation = val + addend;
|
||||
*relocation -= (input_section->output_section->vma +
|
||||
input_section->output_offset);
|
||||
*relocation -= (input_section->output_section->vma
|
||||
+ input_section->output_offset);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -2866,8 +2867,8 @@ xcoff_reloc_type_toc (input_bfd, input_section, output_bfd, rel, sym, howto,
|
|||
+ h->toc_section->output_offset);
|
||||
}
|
||||
|
||||
*relocation = ((val - xcoff_data (output_bfd)->toc) -
|
||||
(sym->n_value - xcoff_data (input_bfd)->toc));
|
||||
*relocation = ((val - xcoff_data (output_bfd)->toc)
|
||||
- (sym->n_value - xcoff_data (input_bfd)->toc));
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -2923,8 +2924,8 @@ xcoff_reloc_type_br (input_bfd, input_section, output_bfd, rel, sym, howto,
|
|||
cror. */
|
||||
if (NULL != h
|
||||
&& bfd_link_hash_defined == h->root.type
|
||||
&& (rel->r_vaddr - input_section->vma + 8 <=
|
||||
input_section->_cooked_size))
|
||||
&& (rel->r_vaddr - input_section->vma + 8
|
||||
<= input_section->_cooked_size))
|
||||
{
|
||||
bfd_byte *pnext;
|
||||
unsigned long next;
|
||||
|
@ -2941,7 +2942,8 @@ xcoff_reloc_type_br (input_bfd, input_section, output_bfd, rel, sym, howto,
|
|||
|| next == 0x60000000) /* ori r0,r0,0 */
|
||||
bfd_put_32 (input_bfd, 0x80410014, pnext); /* lwz r1,20(r1) */
|
||||
|
||||
} else
|
||||
}
|
||||
else
|
||||
{
|
||||
if (next == 0x80410014) /* lwz r1,20(r1) */
|
||||
bfd_put_32 (input_bfd, 0x60000000, pnext); /* ori r0,r0,0 */
|
||||
|
@ -2967,8 +2969,8 @@ xcoff_reloc_type_br (input_bfd, input_section, output_bfd, rel, sym, howto,
|
|||
addend += input_section->vma;
|
||||
|
||||
*relocation = val + addend;
|
||||
*relocation -= (input_section->output_section->vma +
|
||||
input_section->output_offset);
|
||||
*relocation -= (input_section->output_section->vma
|
||||
+ input_section->output_offset);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -2994,8 +2996,8 @@ xcoff_reloc_type_crel (input_bfd, input_section, output_bfd, rel, sym, howto,
|
|||
addend += input_section->vma;
|
||||
|
||||
*relocation = val + addend;
|
||||
*relocation -= (input_section->output_section->vma +
|
||||
input_section->output_offset);
|
||||
*relocation -= (input_section->output_section->vma
|
||||
+ input_section->output_offset);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -3343,8 +3345,9 @@ xcoff_ppc_relocate_section (output_bfd, info, input_bfd,
|
|||
howto.size = howto.bitsize > 16 ? 2 : 1;
|
||||
howto.pc_relative = false;
|
||||
howto.bitpos = 0;
|
||||
howto.complain_on_overflow = rel->r_size & 0x80 ?
|
||||
complain_overflow_signed : complain_overflow_bitfield;
|
||||
howto.complain_on_overflow = (rel->r_size & 0x80
|
||||
? complain_overflow_signed
|
||||
: complain_overflow_bitfield);
|
||||
howto.special_function = NULL;
|
||||
howto.name = "internal";
|
||||
howto.partial_inplace = true;
|
||||
|
@ -3413,7 +3416,7 @@ xcoff_ppc_relocate_section (output_bfd, info, input_bfd,
|
|||
}
|
||||
|
||||
if (rel->r_type >= XCOFF_MAX_CALCULATE_RELOCATION
|
||||
|| (false == xcoff_calculate_relocation[rel->r_type]
|
||||
|| !((*xcoff_calculate_relocation[rel->r_type])
|
||||
(input_bfd, input_section, output_bfd, rel, sym, &howto, val,
|
||||
addend, &relocation, contents)))
|
||||
return false;
|
||||
|
@ -3438,11 +3441,11 @@ xcoff_ppc_relocate_section (output_bfd, info, input_bfd,
|
|||
operation, which would be tedious, or we must do the computations
|
||||
in a type larger than bfd_vma, which would be inefficient. */
|
||||
|
||||
if ((unsigned int) howto.complain_on_overflow >=
|
||||
XCOFF_MAX_COMPLAIN_OVERFLOW)
|
||||
if ((unsigned int) howto.complain_on_overflow
|
||||
>= XCOFF_MAX_COMPLAIN_OVERFLOW)
|
||||
abort ();
|
||||
|
||||
if ((true == xcoff_complain_overflow[howto.complain_on_overflow]
|
||||
if (((*xcoff_complain_overflow[howto.complain_on_overflow])
|
||||
(input_bfd, value_to_relocate, relocation, &howto)))
|
||||
{
|
||||
const char *name;
|
||||
|
@ -3472,9 +3475,9 @@ xcoff_ppc_relocate_section (output_bfd, info, input_bfd,
|
|||
}
|
||||
|
||||
/* Add RELOCATION to the right bits of VALUE_TO_RELOCATE. */
|
||||
value_to_relocate = ((value_to_relocate & ~howto.dst_mask) |
|
||||
(((value_to_relocate & howto.src_mask) +
|
||||
relocation) & howto.dst_mask));
|
||||
value_to_relocate = ((value_to_relocate & ~howto.dst_mask)
|
||||
| (((value_to_relocate & howto.src_mask)
|
||||
+ relocation) & howto.dst_mask));
|
||||
|
||||
/* Put the value back in the object file. */
|
||||
if (1 == howto.size)
|
||||
|
@ -3576,8 +3579,8 @@ xcoff_create_csect_from_smclas (abfd, aux, symbol_name)
|
|||
".td", NULL, ".sv3264"
|
||||
};
|
||||
|
||||
if ((19 >= aux->x_csect.x_smclas) &&
|
||||
(NULL != names[aux->x_csect.x_smclas]))
|
||||
if ((19 >= aux->x_csect.x_smclas)
|
||||
&& (NULL != names[aux->x_csect.x_smclas]))
|
||||
{
|
||||
return_value = bfd_make_section_anyway
|
||||
(abfd, names[aux->x_csect.x_smclas]);
|
||||
|
@ -3628,8 +3631,7 @@ xcoff_loader_reloc_offset (abfd, ldhdr)
|
|||
bfd *abfd;
|
||||
struct internal_ldhdr *ldhdr;
|
||||
{
|
||||
return bfd_xcoff_ldhdrsz(abfd) +
|
||||
(ldhdr->l_nsyms * bfd_xcoff_ldsymsz(abfd));
|
||||
return bfd_xcoff_ldhdrsz (abfd) + ldhdr->l_nsyms * bfd_xcoff_ldsymsz (abfd);
|
||||
}
|
||||
|
||||
static boolean
|
||||
|
@ -3953,81 +3955,81 @@ static unsigned long xcoff_glink_code[9] =
|
|||
static const struct xcoff_backend_data_rec bfd_xcoff_backend_data =
|
||||
{
|
||||
{ /* COFF backend, defined in libcoff.h. */
|
||||
_bfd_xcoff_swap_aux_in, /* _bfd_coff_swap_aux_in */
|
||||
_bfd_xcoff_swap_sym_in, /* _bfd_coff_swap_sym_in */
|
||||
coff_swap_lineno_in, /* _bfd_coff_swap_lineno_in */
|
||||
_bfd_xcoff_swap_aux_out, /* _bfd_swap_aux_out */
|
||||
_bfd_xcoff_swap_sym_out, /* _bfd_swap_sym_out */
|
||||
coff_swap_lineno_out, /* _bfd_swap_lineno_out */
|
||||
xcoff_swap_reloc_out, /* _bfd_swap_reloc_out */
|
||||
coff_swap_filehdr_out, /* _bfd_swap_filehdr_out */
|
||||
coff_swap_aouthdr_out, /* _bfd_swap_aouthdr_out */
|
||||
coff_swap_scnhdr_out, /* _bfd_swap_scnhdr_out */
|
||||
FILHSZ, /* _bfd_filhsz */
|
||||
AOUTSZ, /* _bfd_aoutsz */
|
||||
SCNHSZ, /* _bfd_scnhsz */
|
||||
SYMESZ, /* _bfd_symesz */
|
||||
AUXESZ, /* _bfd_auxesz */
|
||||
RELSZ, /* _bfd_relsz */
|
||||
LINESZ, /* _bfd_linesz */
|
||||
FILNMLEN, /* _bfd_filnmlen */
|
||||
_bfd_xcoff_swap_aux_in,
|
||||
_bfd_xcoff_swap_sym_in,
|
||||
coff_swap_lineno_in,
|
||||
_bfd_xcoff_swap_aux_out,
|
||||
_bfd_xcoff_swap_sym_out,
|
||||
coff_swap_lineno_out,
|
||||
xcoff_swap_reloc_out,
|
||||
coff_swap_filehdr_out,
|
||||
coff_swap_aouthdr_out,
|
||||
coff_swap_scnhdr_out,
|
||||
FILHSZ,
|
||||
AOUTSZ,
|
||||
SCNHSZ,
|
||||
SYMESZ,
|
||||
AUXESZ,
|
||||
RELSZ,
|
||||
LINESZ,
|
||||
FILNMLEN,
|
||||
true, /* _bfd_coff_long_filenames */
|
||||
false, /* _bfd_coff_long_section_names */
|
||||
(3), /* _bfd_coff_default_section_alignment_power */
|
||||
3, /* _bfd_coff_default_section_alignment_power */
|
||||
false, /* _bfd_coff_force_symnames_in_strings */
|
||||
2, /* _bfd_coff_debug_string_prefix_length */
|
||||
coff_swap_filehdr_in, /* _bfd_coff_swap_filehdr_in */
|
||||
coff_swap_aouthdr_in, /* _bfd_swap_aouthdr_in */
|
||||
coff_swap_scnhdr_in, /* _bfd_swap_scnhdr_in */
|
||||
xcoff_swap_reloc_in, /* _bfd_reloc_in */
|
||||
coff_bad_format_hook, /* _bfd_bad_format_hook */
|
||||
coff_set_arch_mach_hook, /* _bfd_set_arch_mach_hook */
|
||||
coff_mkobject_hook, /* _bfd_mkobject_hook */
|
||||
styp_to_sec_flags, /* _bfd_syp_to_sec_flags */
|
||||
coff_set_alignment_hook, /* _bfd_set_alignment_hook */
|
||||
coff_slurp_symbol_table, /* _bfd_coff_slurp_symbol_table */
|
||||
symname_in_debug_hook, /* _coff_symname_in_debug_hook */
|
||||
coff_pointerize_aux_hook, /* _bfd_coff_pointerize_aux_hook */
|
||||
coff_print_aux, /* bfd_coff_print_aux */
|
||||
dummy_reloc16_extra_cases, /* _bfd_coff_reloc16_extra_cases */
|
||||
dummy_reloc16_estimate, /* _bfd_coff_reloc16_estimate */
|
||||
coff_swap_filehdr_in,
|
||||
coff_swap_aouthdr_in,
|
||||
coff_swap_scnhdr_in,
|
||||
xcoff_swap_reloc_in,
|
||||
coff_bad_format_hook,
|
||||
coff_set_arch_mach_hook,
|
||||
coff_mkobject_hook,
|
||||
styp_to_sec_flags,
|
||||
coff_set_alignment_hook,
|
||||
coff_slurp_symbol_table,
|
||||
symname_in_debug_hook,
|
||||
coff_pointerize_aux_hook,
|
||||
coff_print_aux,
|
||||
dummy_reloc16_extra_cases,
|
||||
dummy_reloc16_estimate,
|
||||
NULL, /* bfd_coff_sym_is_global */
|
||||
coff_compute_section_file_positions, /* _bfd_coff_compute_section_file_positions */
|
||||
coff_compute_section_file_positions,
|
||||
NULL, /* _bfd_coff_start_final_link */
|
||||
xcoff_ppc_relocate_section, /* _bfd_coff_relocate_section */
|
||||
coff_rtype_to_howto, /* _bfd_coff_rtype_to_howto */
|
||||
NULL, /* _bfd_coff_addust_symndx */
|
||||
_bfd_generic_link_add_one_symbol, /* _bfd_coff_add_one_symbol */
|
||||
coff_link_output_has_begun, /* _bfd_coff_link_output_has_begun */
|
||||
coff_final_link_postscript /* _bfd_coff_final_link_postscript */
|
||||
xcoff_ppc_relocate_section,
|
||||
coff_rtype_to_howto,
|
||||
NULL, /* _bfd_coff_adjust_symndx */
|
||||
_bfd_generic_link_add_one_symbol,
|
||||
coff_link_output_has_begun,
|
||||
coff_final_link_postscript
|
||||
},
|
||||
|
||||
0x01DF, /* magic number */
|
||||
bfd_arch_rs6000, /* architecture */
|
||||
bfd_mach_rs6k, /* machine */
|
||||
bfd_arch_rs6000,
|
||||
bfd_mach_rs6k,
|
||||
|
||||
/* Function pointers to xcoff specific swap routines. */
|
||||
xcoff_swap_ldhdr_in, /* _xcoff_swap_ldhdr_in */
|
||||
xcoff_swap_ldhdr_out, /* _xcoff_swap_ldhdr_out */
|
||||
xcoff_swap_ldsym_in, /* _xcoff_swap_ldsym_in */
|
||||
xcoff_swap_ldsym_out, /* _xcoff_swap_ldsym_out */
|
||||
xcoff_swap_ldrel_in, /* _xcoff_swap_ldrel_in */
|
||||
xcoff_swap_ldrel_out, /* _xcoff_swap_ldrel_out */
|
||||
xcoff_swap_ldhdr_in,
|
||||
xcoff_swap_ldhdr_out,
|
||||
xcoff_swap_ldsym_in,
|
||||
xcoff_swap_ldsym_out,
|
||||
xcoff_swap_ldrel_in,
|
||||
xcoff_swap_ldrel_out,
|
||||
|
||||
/* Sizes. */
|
||||
LDHDRSZ, /* _xcoff_ldhdrsz */
|
||||
LDSYMSZ, /* _xcoff_ldsymsz */
|
||||
LDRELSZ, /* _xcoff_ldrelsz */
|
||||
LDHDRSZ,
|
||||
LDSYMSZ,
|
||||
LDRELSZ,
|
||||
12, /* _xcoff_function_descriptor_size */
|
||||
SMALL_AOUTSZ, /* _xcoff_small_aout_header_size */
|
||||
SMALL_AOUTSZ,
|
||||
|
||||
/* Versions. */
|
||||
1, /* _xcoff_ldhdr_version */
|
||||
|
||||
_bfd_xcoff_put_symbol_name, /* _xcoff_put_symbol_name */
|
||||
_bfd_xcoff_put_ldsymbol_name, /* _xcoff_put_ldsymbol_name */
|
||||
& xcoff_dynamic_reloc, /* dynamic reloc howto */
|
||||
xcoff_create_csect_from_smclas, /* _xcoff_create_csect_from_smclas */
|
||||
_bfd_xcoff_put_symbol_name,
|
||||
_bfd_xcoff_put_ldsymbol_name,
|
||||
&xcoff_dynamic_reloc,
|
||||
xcoff_create_csect_from_smclas,
|
||||
|
||||
/* Lineno and reloc count overflow. */
|
||||
xcoff_is_lineno_count_overflow,
|
||||
|
@ -4038,11 +4040,11 @@ static const struct xcoff_backend_data_rec bfd_xcoff_backend_data =
|
|||
|
||||
/* glink. */
|
||||
&xcoff_glink_code[0],
|
||||
(36), /* _xcoff_glink_size */
|
||||
36, /* _xcoff_glink_size */
|
||||
|
||||
/* rtinit */
|
||||
64, /* _xcoff_rtinit_size */
|
||||
xcoff_generate_rtinit, /* _xcoff_generate_rtinit */
|
||||
xcoff_generate_rtinit,
|
||||
};
|
||||
|
||||
/* The transfer vector that leads the outside world to all of the above. */
|
||||
|
@ -4053,36 +4055,35 @@ const bfd_target rs6000coff_vec =
|
|||
BFD_ENDIAN_BIG, /* data byte order is big */
|
||||
BFD_ENDIAN_BIG, /* header byte order is big */
|
||||
|
||||
(HAS_RELOC | EXEC_P | /* object flags */
|
||||
HAS_LINENO | HAS_DEBUG | DYNAMIC |
|
||||
HAS_SYMS | HAS_LOCALS | WP_TEXT),
|
||||
(HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | DYNAMIC
|
||||
| HAS_SYMS | HAS_LOCALS | WP_TEXT),
|
||||
|
||||
(SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
|
||||
(SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC),
|
||||
0, /* leading char */
|
||||
'/', /* ar_pad_char */
|
||||
15, /* ar_max_namelen??? FIXMEmgo */
|
||||
15, /* ar_max_namelen */
|
||||
|
||||
/* data */
|
||||
bfd_getb64, /* bfd_getx64 */
|
||||
bfd_getb_signed_64, /* bfd_getx_signed_64 */
|
||||
bfd_putb64, /* bfd_putx64 */
|
||||
bfd_getb32, /* bfd_getx32 */
|
||||
bfd_getb_signed_32, /* bfd_getx_signed_32 */
|
||||
bfd_putb32, /* bfd_putx32 */
|
||||
bfd_getb16, /* bfd_getx16 */
|
||||
bfd_getb_signed_16, /* bfd_getx_signed_16 */
|
||||
bfd_putb16, /* bfd_putx16 */
|
||||
bfd_getb64,
|
||||
bfd_getb_signed_64,
|
||||
bfd_putb64,
|
||||
bfd_getb32,
|
||||
bfd_getb_signed_32,
|
||||
bfd_putb32,
|
||||
bfd_getb16,
|
||||
bfd_getb_signed_16,
|
||||
bfd_putb16,
|
||||
|
||||
/* hdrs */
|
||||
bfd_getb64, /* bfd_h_getx64 */
|
||||
bfd_getb_signed_64, /* bfd_h_getx_signed_64 */
|
||||
bfd_putb64, /* bfd_h_putx64 */
|
||||
bfd_getb32, /* bfd_h_getx32 */
|
||||
bfd_getb_signed_32, /* bfd_h_getx_signed_32 */
|
||||
bfd_putb32, /* bfd_h_putx32 */
|
||||
bfd_getb16, /* bfd_h_getx16 */
|
||||
bfd_getb_signed_16, /* bfd_h_getx_signed_16 */
|
||||
bfd_putb16, /* bfd_h_putx16 */
|
||||
bfd_getb64,
|
||||
bfd_getb_signed_64,
|
||||
bfd_putb64,
|
||||
bfd_getb32,
|
||||
bfd_getb_signed_32,
|
||||
bfd_putb32,
|
||||
bfd_getb16,
|
||||
bfd_getb_signed_16,
|
||||
bfd_putb16,
|
||||
|
||||
{ /* bfd_check_format */
|
||||
_bfd_dummy_target,
|
||||
|
@ -4106,206 +4107,186 @@ const bfd_target rs6000coff_vec =
|
|||
},
|
||||
|
||||
/* Generic */
|
||||
bfd_true, /* _close_and_cleanup */
|
||||
bfd_true, /* _bfd_free_cached_info */
|
||||
coff_new_section_hook, /* _new_section_hook */
|
||||
_bfd_generic_get_section_contents, /* _bfd_get_section_contents */
|
||||
/* _bfd_get_section_contents_in_window */
|
||||
bfd_true,
|
||||
bfd_true,
|
||||
coff_new_section_hook,
|
||||
_bfd_generic_get_section_contents,
|
||||
_bfd_generic_get_section_contents_in_window,
|
||||
|
||||
/* Copy */
|
||||
_bfd_xcoff_copy_private_bfd_data, /* _bfd_copy_private_bfd */
|
||||
/* _bfd_merge_private_bfd_data */
|
||||
_bfd_xcoff_copy_private_bfd_data,
|
||||
((boolean (*) (bfd *, bfd *)) bfd_true),
|
||||
/* _bfd_copy_pivate_section_data */
|
||||
((boolean (*) (bfd *, asection *, bfd *, asection *)) bfd_true),
|
||||
/* _bfd_copy_private_symbol_data */
|
||||
((boolean (*) (bfd *, asymbol *, bfd *, asymbol *)) bfd_true),
|
||||
((boolean (*) (bfd *, flagword)) bfd_true), /* _bfd_set_private_flags */
|
||||
((boolean (*) (bfd *, void * )) bfd_true), /* _bfd_print_private_bfd_data */
|
||||
((boolean (*) (bfd *, flagword)) bfd_true),
|
||||
((boolean (*) (bfd *, void * )) bfd_true),
|
||||
|
||||
/* Core */
|
||||
coff_core_file_failing_command, /* _core_file_failing_command */
|
||||
coff_core_file_failing_signal, /* _core_file_failing_signal */
|
||||
/* _core_file_matches_executable_p */
|
||||
coff_core_file_failing_command,
|
||||
coff_core_file_failing_signal,
|
||||
coff_core_file_matches_executable_p,
|
||||
|
||||
/* Archive */
|
||||
_bfd_xcoff_slurp_armap, /* _slurp_armap */
|
||||
/* XCOFF archives do not have
|
||||
anything which corresponds to
|
||||
an extended name table. */
|
||||
bfd_false, /* _slurp_extended_name_table */
|
||||
/* _construct_extended_name_table */
|
||||
_bfd_xcoff_slurp_armap,
|
||||
bfd_false,
|
||||
((boolean (*) (bfd *, char **, bfd_size_type *, const char **)) bfd_false),
|
||||
bfd_dont_truncate_arname, /* _truncate_arname */
|
||||
_bfd_xcoff_write_armap, /* _write_armap */
|
||||
_bfd_xcoff_read_ar_hdr, /* _read_ar_hdr */
|
||||
_bfd_xcoff_openr_next_archived_file, /* _openr_next_archived_file */
|
||||
_bfd_generic_get_elt_at_index, /* _get_elt_at_index */
|
||||
_bfd_xcoff_stat_arch_elt, /* _generic_stat_arch_elt */
|
||||
/* XCOFF archives do not have
|
||||
a timestamp. */
|
||||
bfd_true, /* _update_armap_timestamp */
|
||||
bfd_dont_truncate_arname,
|
||||
_bfd_xcoff_write_armap,
|
||||
_bfd_xcoff_read_ar_hdr,
|
||||
_bfd_xcoff_openr_next_archived_file,
|
||||
_bfd_generic_get_elt_at_index,
|
||||
_bfd_xcoff_stat_arch_elt,
|
||||
bfd_true,
|
||||
|
||||
/* Symbols */
|
||||
coff_get_symtab_upper_bound, /* _get_symtab_upper_bound */
|
||||
coff_get_symtab, /* _get_symtab */
|
||||
coff_make_empty_symbol, /* _make_empty_symbol */
|
||||
coff_print_symbol, /* _print_symbol */
|
||||
coff_get_symbol_info, /* _get_symbol_info */
|
||||
_bfd_xcoff_is_local_label_name, /* _bfd_is_local_label_name */
|
||||
coff_get_lineno, /* _get_lineno */
|
||||
coff_find_nearest_line, /* _find_nearest_line */
|
||||
coff_bfd_make_debug_symbol, /* _bfd_make_debug_symbol */
|
||||
_bfd_generic_read_minisymbols, /* _read_minisymbols */
|
||||
_bfd_generic_minisymbol_to_symbol, /* _minsymbol_to_symbol */
|
||||
coff_get_symtab_upper_bound,
|
||||
coff_get_symtab,
|
||||
coff_make_empty_symbol,
|
||||
coff_print_symbol,
|
||||
coff_get_symbol_info,
|
||||
_bfd_xcoff_is_local_label_name,
|
||||
coff_get_lineno,
|
||||
coff_find_nearest_line,
|
||||
coff_bfd_make_debug_symbol,
|
||||
_bfd_generic_read_minisymbols,
|
||||
_bfd_generic_minisymbol_to_symbol,
|
||||
|
||||
/* Reloc */
|
||||
coff_get_reloc_upper_bound, /* _get_reloc_upper_bound */
|
||||
coff_canonicalize_reloc, /* _cononicalize_reloc */
|
||||
_bfd_xcoff_reloc_type_lookup, /* _bfd_reloc_type_lookup */
|
||||
coff_get_reloc_upper_bound,
|
||||
coff_canonicalize_reloc,
|
||||
_bfd_xcoff_reloc_type_lookup,
|
||||
|
||||
/* Write */
|
||||
coff_set_arch_mach, /* _set_arch_mach */
|
||||
coff_set_section_contents, /* _set_section_contents */
|
||||
coff_set_arch_mach,
|
||||
coff_set_section_contents,
|
||||
|
||||
/* Link */
|
||||
_bfd_xcoff_sizeof_headers, /* _sizeof_headers */
|
||||
/* _bfd_get_relocated_section_contents */
|
||||
_bfd_xcoff_sizeof_headers,
|
||||
bfd_generic_get_relocated_section_contents,
|
||||
bfd_generic_relax_section, /* _bfd_relax_section */
|
||||
_bfd_xcoff_bfd_link_hash_table_create, /* _bfd_link_hash_table_create */
|
||||
_bfd_generic_link_hash_table_free, /* _bfd_link_hash_table_free */
|
||||
_bfd_xcoff_bfd_link_add_symbols, /* _bfd_link_add_symbols */
|
||||
_bfd_generic_link_just_syms, /* _bfd_link_just_syms */
|
||||
_bfd_xcoff_bfd_final_link, /* _bfd_final_link */
|
||||
_bfd_generic_link_split_section, /* _bfd_link_split_section */
|
||||
bfd_generic_gc_sections, /* _bfd_gc_sections */
|
||||
bfd_generic_merge_sections, /* _bfd_merge_sections */
|
||||
bfd_generic_discard_group, /* _bfd_discard_group */
|
||||
bfd_generic_relax_section,
|
||||
_bfd_xcoff_bfd_link_hash_table_create,
|
||||
_bfd_generic_link_hash_table_free,
|
||||
_bfd_xcoff_bfd_link_add_symbols,
|
||||
_bfd_generic_link_just_syms,
|
||||
_bfd_xcoff_bfd_final_link,
|
||||
_bfd_generic_link_split_section,
|
||||
bfd_generic_gc_sections,
|
||||
bfd_generic_merge_sections,
|
||||
bfd_generic_discard_group,
|
||||
|
||||
/* Dynamic */
|
||||
/* _get_dynamic_symtab_upper_bound */
|
||||
_bfd_xcoff_get_dynamic_symtab_upper_bound,
|
||||
_bfd_xcoff_canonicalize_dynamic_symtab, /* _cononicalize_dynamic_symtab */
|
||||
_bfd_xcoff_get_dynamic_reloc_upper_bound,/* _get_dynamic_reloc_upper_bound */
|
||||
_bfd_xcoff_canonicalize_dynamic_reloc, /* _cononicalize_dynamic_reloc */
|
||||
_bfd_xcoff_canonicalize_dynamic_symtab,
|
||||
_bfd_xcoff_get_dynamic_reloc_upper_bound,
|
||||
_bfd_xcoff_canonicalize_dynamic_reloc,
|
||||
|
||||
/* Opposite endian version, none exists */
|
||||
NULL,
|
||||
|
||||
/* back end data */
|
||||
(void *) &bfd_xcoff_backend_data,
|
||||
};
|
||||
|
||||
/*
|
||||
* xcoff-powermac target
|
||||
* Old target.
|
||||
* Only difference between this target and the rs6000 target is the
|
||||
* the default architecture and machine type used in coffcode.h
|
||||
*
|
||||
* PowerPC Macs use the same magic numbers as RS/6000
|
||||
* (because that's how they were bootstrapped originally),
|
||||
* but they are always PowerPC architecture.
|
||||
*/
|
||||
/* xcoff-powermac target
|
||||
Old target.
|
||||
Only difference between this target and the rs6000 target is the
|
||||
the default architecture and machine type used in coffcode.h
|
||||
|
||||
PowerPC Macs use the same magic numbers as RS/6000
|
||||
(because that's how they were bootstrapped originally),
|
||||
but they are always PowerPC architecture. */
|
||||
static const struct xcoff_backend_data_rec bfd_pmac_xcoff_backend_data =
|
||||
{
|
||||
{ /* COFF backend, defined in libcoff.h */
|
||||
_bfd_xcoff_swap_aux_in, /* _bfd_coff_swap_aux_in */
|
||||
_bfd_xcoff_swap_sym_in, /* _bfd_coff_swap_sym_in */
|
||||
coff_swap_lineno_in, /* _bfd_coff_swap_lineno_in */
|
||||
_bfd_xcoff_swap_aux_out, /* _bfd_swap_aux_out */
|
||||
_bfd_xcoff_swap_sym_out, /* _bfd_swap_sym_out */
|
||||
coff_swap_lineno_out, /* _bfd_swap_lineno_out */
|
||||
xcoff_swap_reloc_out, /* _bfd_swap_reloc_out */
|
||||
coff_swap_filehdr_out, /* _bfd_swap_filehdr_out */
|
||||
coff_swap_aouthdr_out, /* _bfd_swap_aouthdr_out */
|
||||
coff_swap_scnhdr_out, /* _bfd_swap_scnhdr_out */
|
||||
FILHSZ, /* _bfd_filhsz */
|
||||
AOUTSZ, /* _bfd_aoutsz */
|
||||
SCNHSZ, /* _bfd_scnhsz */
|
||||
SYMESZ, /* _bfd_symesz */
|
||||
AUXESZ, /* _bfd_auxesz */
|
||||
RELSZ, /* _bfd_relsz */
|
||||
LINESZ, /* _bfd_linesz */
|
||||
FILNMLEN, /* _bfd_filnmlen */
|
||||
{ /* COFF backend, defined in libcoff.h. */
|
||||
_bfd_xcoff_swap_aux_in,
|
||||
_bfd_xcoff_swap_sym_in,
|
||||
coff_swap_lineno_in,
|
||||
_bfd_xcoff_swap_aux_out,
|
||||
_bfd_xcoff_swap_sym_out,
|
||||
coff_swap_lineno_out,
|
||||
xcoff_swap_reloc_out,
|
||||
coff_swap_filehdr_out,
|
||||
coff_swap_aouthdr_out,
|
||||
coff_swap_scnhdr_out,
|
||||
FILHSZ,
|
||||
AOUTSZ,
|
||||
SCNHSZ,
|
||||
SYMESZ,
|
||||
AUXESZ,
|
||||
RELSZ,
|
||||
LINESZ,
|
||||
FILNMLEN,
|
||||
true, /* _bfd_coff_long_filenames */
|
||||
false, /* _bfd_coff_long_section_names */
|
||||
(3), /* _bfd_coff_default_section_alignment_power */
|
||||
3, /* _bfd_coff_default_section_alignment_power */
|
||||
false, /* _bfd_coff_force_symnames_in_strings */
|
||||
2, /* _bfd_coff_debug_string_prefix_length */
|
||||
coff_swap_filehdr_in, /* _bfd_coff_swap_filehdr_in */
|
||||
coff_swap_aouthdr_in, /* _bfd_swap_aouthdr_in */
|
||||
coff_swap_scnhdr_in, /* _bfd_swap_scnhdr_in */
|
||||
xcoff_swap_reloc_in, /* _bfd_reloc_in */
|
||||
coff_bad_format_hook, /* _bfd_bad_format_hook */
|
||||
coff_set_arch_mach_hook, /* _bfd_set_arch_mach_hook */
|
||||
coff_mkobject_hook, /* _bfd_mkobject_hook */
|
||||
styp_to_sec_flags, /* _bfd_syp_to_sec_flags */
|
||||
coff_set_alignment_hook, /* _bfd_set_alignment_hook */
|
||||
coff_slurp_symbol_table, /* _bfd_coff_slurp_symbol_table */
|
||||
symname_in_debug_hook, /* _coff_symname_in_debug_hook */
|
||||
coff_pointerize_aux_hook, /* _bfd_coff_pointerize_aux_hook */
|
||||
coff_print_aux, /* bfd_coff_print_aux */
|
||||
dummy_reloc16_extra_cases, /* _bfd_coff_reloc16_extra_cases */
|
||||
dummy_reloc16_estimate, /* _bfd_coff_reloc16_estimate */
|
||||
coff_swap_filehdr_in,
|
||||
coff_swap_aouthdr_in,
|
||||
coff_swap_scnhdr_in,
|
||||
xcoff_swap_reloc_in,
|
||||
coff_bad_format_hook,
|
||||
coff_set_arch_mach_hook,
|
||||
coff_mkobject_hook,
|
||||
styp_to_sec_flags,
|
||||
coff_set_alignment_hook,
|
||||
coff_slurp_symbol_table,
|
||||
symname_in_debug_hook,
|
||||
coff_pointerize_aux_hook,
|
||||
coff_print_aux,
|
||||
dummy_reloc16_extra_cases,
|
||||
dummy_reloc16_estimate,
|
||||
NULL, /* bfd_coff_sym_is_global */
|
||||
/* _bfd_coff_compute_section_file_positions */
|
||||
coff_compute_section_file_positions,
|
||||
NULL, /* _bfd_coff_start_final_link */
|
||||
xcoff_ppc_relocate_section, /* _bfd_coff_relocate_section */
|
||||
coff_rtype_to_howto, /* _bfd_coff_rtype_to_howto */
|
||||
NULL, /* _bfd_coff_addust_symndx */
|
||||
_bfd_generic_link_add_one_symbol, /* _bfd_coff_add_one_symbol */
|
||||
coff_link_output_has_begun, /* _bfd_coff_link_output_has_begun */
|
||||
coff_final_link_postscript /* _bfd_coff_final_link_postscript */
|
||||
xcoff_ppc_relocate_section,
|
||||
coff_rtype_to_howto,
|
||||
NULL, /* _bfd_coff_adjust_symndx */
|
||||
_bfd_generic_link_add_one_symbol,
|
||||
coff_link_output_has_begun,
|
||||
coff_final_link_postscript
|
||||
},
|
||||
|
||||
0x01DF, /* magic number */
|
||||
bfd_arch_powerpc, /* architecture */
|
||||
bfd_mach_ppc, /* machine */
|
||||
bfd_arch_powerpc,
|
||||
bfd_mach_ppc,
|
||||
|
||||
/* function pointers to xcoff specific swap routines */
|
||||
xcoff_swap_ldhdr_in, /* _xcoff_swap_ldhdr_in */
|
||||
xcoff_swap_ldhdr_out, /* _xcoff_swap_ldhdr_out */
|
||||
xcoff_swap_ldsym_in, /* _xcoff_swap_ldsym_in */
|
||||
xcoff_swap_ldsym_out, /* _xcoff_swap_ldsym_out */
|
||||
xcoff_swap_ldrel_in, /* _xcoff_swap_ldrel_in */
|
||||
xcoff_swap_ldrel_out, /* _xcoff_swap_ldrel_out */
|
||||
/* Function pointers to xcoff specific swap routines. */
|
||||
xcoff_swap_ldhdr_in,
|
||||
xcoff_swap_ldhdr_out,
|
||||
xcoff_swap_ldsym_in,
|
||||
xcoff_swap_ldsym_out,
|
||||
xcoff_swap_ldrel_in,
|
||||
xcoff_swap_ldrel_out,
|
||||
|
||||
/* sizes */
|
||||
LDHDRSZ, /* _xcoff_ldhdrsz */
|
||||
LDSYMSZ, /* _xcoff_ldsymsz */
|
||||
LDRELSZ, /* _xcoff_ldrelsz */
|
||||
/* Sizes. */
|
||||
LDHDRSZ,
|
||||
LDSYMSZ,
|
||||
LDRELSZ,
|
||||
12, /* _xcoff_function_descriptor_size */
|
||||
SMALL_AOUTSZ, /* _xcoff_small_aout_header_size */
|
||||
SMALL_AOUTSZ,
|
||||
|
||||
/* versions */
|
||||
/* Versions. */
|
||||
1, /* _xcoff_ldhdr_version */
|
||||
|
||||
/* xcoff vs xcoff64 putting symbol names */
|
||||
_bfd_xcoff_put_symbol_name, /* _xcoff_put_symbol_name */
|
||||
_bfd_xcoff_put_ldsymbol_name, /* _xcoff_put_ldsymbol_name */
|
||||
_bfd_xcoff_put_symbol_name,
|
||||
_bfd_xcoff_put_ldsymbol_name,
|
||||
&xcoff_dynamic_reloc,
|
||||
xcoff_create_csect_from_smclas,
|
||||
|
||||
&xcoff_dynamic_reloc, /* dynamic reloc howto */
|
||||
|
||||
xcoff_create_csect_from_smclas, /* _xcoff_create_csect_from_smclas */
|
||||
|
||||
/* lineno and reloc count overflow */
|
||||
/* Lineno and reloc count overflow. */
|
||||
xcoff_is_lineno_count_overflow,
|
||||
xcoff_is_reloc_count_overflow,
|
||||
|
||||
xcoff_loader_symbol_offset,
|
||||
xcoff_loader_reloc_offset,
|
||||
|
||||
/* glink */
|
||||
/* glink. */
|
||||
&xcoff_glink_code[0],
|
||||
(36), /* _xcoff_glink_size */
|
||||
36, /* _xcoff_glink_size */
|
||||
|
||||
/* rtinit */
|
||||
0, /* _xcoff_rtinit_size */
|
||||
xcoff_generate_rtinit, /* _xcoff_generate_rtinit */
|
||||
xcoff_generate_rtinit,
|
||||
};
|
||||
|
||||
/* The transfer vector that leads the outside world to all of the above. */
|
||||
|
@ -4316,36 +4297,35 @@ const bfd_target pmac_xcoff_vec =
|
|||
BFD_ENDIAN_BIG, /* data byte order is big */
|
||||
BFD_ENDIAN_BIG, /* header byte order is big */
|
||||
|
||||
(HAS_RELOC | EXEC_P | /* object flags */
|
||||
HAS_LINENO | HAS_DEBUG | DYNAMIC |
|
||||
HAS_SYMS | HAS_LOCALS | WP_TEXT),
|
||||
(HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | DYNAMIC
|
||||
| HAS_SYMS | HAS_LOCALS | WP_TEXT),
|
||||
|
||||
(SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
|
||||
(SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC),
|
||||
0, /* leading char */
|
||||
'/', /* ar_pad_char */
|
||||
15, /* ar_max_namelen??? FIXMEmgo */
|
||||
15, /* ar_max_namelen */
|
||||
|
||||
/* data */
|
||||
bfd_getb64, /* bfd_getx64 */
|
||||
bfd_getb_signed_64, /* bfd_getx_signed_64 */
|
||||
bfd_putb64, /* bfd_putx64 */
|
||||
bfd_getb32, /* bfd_getx32 */
|
||||
bfd_getb_signed_32, /* bfd_getx_signed_32 */
|
||||
bfd_putb32, /* bfd_putx32 */
|
||||
bfd_getb16, /* bfd_getx16 */
|
||||
bfd_getb_signed_16, /* bfd_getx_signed_16 */
|
||||
bfd_putb16, /* bfd_putx16 */
|
||||
bfd_getb64,
|
||||
bfd_getb_signed_64,
|
||||
bfd_putb64,
|
||||
bfd_getb32,
|
||||
bfd_getb_signed_32,
|
||||
bfd_putb32,
|
||||
bfd_getb16,
|
||||
bfd_getb_signed_16,
|
||||
bfd_putb16,
|
||||
|
||||
/* hdrs */
|
||||
bfd_getb64, /* bfd_h_getx64 */
|
||||
bfd_getb_signed_64, /* bfd_h_getx_signed_64 */
|
||||
bfd_putb64, /* bfd_h_putx64 */
|
||||
bfd_getb32, /* bfd_h_getx32 */
|
||||
bfd_getb_signed_32, /* bfd_h_getx_signed_32 */
|
||||
bfd_putb32, /* bfd_h_putx32 */
|
||||
bfd_getb16, /* bfd_h_getx16 */
|
||||
bfd_getb_signed_16, /* bfd_h_getx_signed_16 */
|
||||
bfd_putb16, /* bfd_h_putx16 */
|
||||
bfd_getb64,
|
||||
bfd_getb_signed_64,
|
||||
bfd_putb64,
|
||||
bfd_getb32,
|
||||
bfd_getb_signed_32,
|
||||
bfd_putb32,
|
||||
bfd_getb16,
|
||||
bfd_getb_signed_16,
|
||||
bfd_putb16,
|
||||
|
||||
{ /* bfd_check_format */
|
||||
_bfd_dummy_target,
|
||||
|
@ -4369,95 +4349,81 @@ const bfd_target pmac_xcoff_vec =
|
|||
},
|
||||
|
||||
/* Generic */
|
||||
bfd_true, /* _close_and_cleanup */
|
||||
bfd_true, /* _bfd_free_cached_info */
|
||||
coff_new_section_hook, /* _new_section_hook */
|
||||
_bfd_generic_get_section_contents, /* _bfd_get_section_contents */
|
||||
/* _bfd_get_section_contents_in_window */
|
||||
bfd_true,
|
||||
bfd_true,
|
||||
coff_new_section_hook,
|
||||
_bfd_generic_get_section_contents,
|
||||
_bfd_generic_get_section_contents_in_window,
|
||||
|
||||
/* Copy */
|
||||
_bfd_xcoff_copy_private_bfd_data, /* _bfd_copy_private_bfd */
|
||||
/* _bfd_merge_private_bfd_data */
|
||||
_bfd_xcoff_copy_private_bfd_data,
|
||||
((boolean (*) (bfd *, bfd *)) bfd_true),
|
||||
/* _bfd_copy_pivate_section_data */
|
||||
((boolean (*) (bfd *, asection *, bfd *, asection *)) bfd_true),
|
||||
/* _bfd_copy_private_symbol_data */
|
||||
((boolean (*) (bfd *, asymbol *, bfd *, asymbol *)) bfd_true),
|
||||
((boolean (*) (bfd *, flagword)) bfd_true), /* _bfd_set_private_flags */
|
||||
((boolean (*) (bfd *, void * )) bfd_true), /* _bfd_print_private_bfd_data */
|
||||
((boolean (*) (bfd *, flagword)) bfd_true),
|
||||
((boolean (*) (bfd *, void * )) bfd_true),
|
||||
|
||||
/* Core */
|
||||
coff_core_file_failing_command, /* _core_file_failing_command */
|
||||
coff_core_file_failing_signal, /* _core_file_failing_signal */
|
||||
/* _core_file_matches_executable_p */
|
||||
coff_core_file_failing_command,
|
||||
coff_core_file_failing_signal,
|
||||
coff_core_file_matches_executable_p,
|
||||
|
||||
/* Archive */
|
||||
_bfd_xcoff_slurp_armap, /* _slurp_armap */
|
||||
/* XCOFF archives do not have
|
||||
anything which corresponds to
|
||||
an extended name table. */
|
||||
bfd_false, /* _slurp_extended_name_table */
|
||||
/* _construct_extended_name_table */
|
||||
_bfd_xcoff_slurp_armap,
|
||||
bfd_false,
|
||||
((boolean (*) (bfd *, char **, bfd_size_type *, const char **)) bfd_false),
|
||||
bfd_dont_truncate_arname, /* _truncate_arname */
|
||||
_bfd_xcoff_write_armap, /* _write_armap */
|
||||
_bfd_xcoff_read_ar_hdr, /* _read_ar_hdr */
|
||||
_bfd_xcoff_openr_next_archived_file, /* _openr_next_archived_file */
|
||||
_bfd_generic_get_elt_at_index, /* _get_elt_at_index */
|
||||
_bfd_xcoff_stat_arch_elt, /* _generic_stat_arch_elt */
|
||||
/* XCOFF archives do not have
|
||||
a timestamp. */
|
||||
bfd_true, /* _update_armap_timestamp */
|
||||
bfd_dont_truncate_arname,
|
||||
_bfd_xcoff_write_armap,
|
||||
_bfd_xcoff_read_ar_hdr,
|
||||
_bfd_xcoff_openr_next_archived_file,
|
||||
_bfd_generic_get_elt_at_index,
|
||||
_bfd_xcoff_stat_arch_elt,
|
||||
bfd_true,
|
||||
|
||||
/* Symbols */
|
||||
coff_get_symtab_upper_bound, /* _get_symtab_upper_bound */
|
||||
coff_get_symtab, /* _get_symtab */
|
||||
coff_make_empty_symbol, /* _make_empty_symbol */
|
||||
coff_print_symbol, /* _print_symbol */
|
||||
coff_get_symbol_info, /* _get_symbol_info */
|
||||
_bfd_xcoff_is_local_label_name, /* _bfd_is_local_label_name */
|
||||
coff_get_lineno, /* _get_lineno */
|
||||
coff_find_nearest_line, /* _find_nearest_line */
|
||||
coff_bfd_make_debug_symbol, /* _bfd_make_debug_symbol */
|
||||
_bfd_generic_read_minisymbols, /* _read_minisymbols */
|
||||
_bfd_generic_minisymbol_to_symbol, /* _minsymbol_to_symbol */
|
||||
coff_get_symtab_upper_bound,
|
||||
coff_get_symtab,
|
||||
coff_make_empty_symbol,
|
||||
coff_print_symbol,
|
||||
coff_get_symbol_info,
|
||||
_bfd_xcoff_is_local_label_name,
|
||||
coff_get_lineno,
|
||||
coff_find_nearest_line,
|
||||
coff_bfd_make_debug_symbol,
|
||||
_bfd_generic_read_minisymbols,
|
||||
_bfd_generic_minisymbol_to_symbol,
|
||||
|
||||
/* Reloc */
|
||||
coff_get_reloc_upper_bound, /* _get_reloc_upper_bound */
|
||||
coff_canonicalize_reloc, /* _cononicalize_reloc */
|
||||
_bfd_xcoff_reloc_type_lookup, /* _bfd_reloc_type_lookup */
|
||||
coff_get_reloc_upper_bound,
|
||||
coff_canonicalize_reloc,
|
||||
_bfd_xcoff_reloc_type_lookup,
|
||||
|
||||
/* Write */
|
||||
coff_set_arch_mach, /* _set_arch_mach */
|
||||
coff_set_section_contents, /* _set_section_contents */
|
||||
coff_set_arch_mach,
|
||||
coff_set_section_contents,
|
||||
|
||||
/* Link */
|
||||
_bfd_xcoff_sizeof_headers, /* _sizeof_headers */
|
||||
/* _bfd_get_relocated_section_contents */
|
||||
_bfd_xcoff_sizeof_headers,
|
||||
bfd_generic_get_relocated_section_contents,
|
||||
bfd_generic_relax_section, /* _bfd_relax_section */
|
||||
_bfd_xcoff_bfd_link_hash_table_create, /* _bfd_link_hash_table_create */
|
||||
_bfd_generic_link_hash_table_free, /* _bfd_link_hash_table_free */
|
||||
_bfd_xcoff_bfd_link_add_symbols, /* _bfd_link_add_symbols */
|
||||
_bfd_generic_link_just_syms, /* _bfd_link_just_syms */
|
||||
_bfd_xcoff_bfd_final_link, /* _bfd_final_link */
|
||||
_bfd_generic_link_split_section, /* _bfd_link_split_section */
|
||||
bfd_generic_gc_sections, /* _bfd_gc_sections */
|
||||
bfd_generic_merge_sections, /* _bfd_merge_sections */
|
||||
bfd_generic_discard_group, /* _bfd_discard_group */
|
||||
bfd_generic_relax_section,
|
||||
_bfd_xcoff_bfd_link_hash_table_create,
|
||||
_bfd_generic_link_hash_table_free,
|
||||
_bfd_xcoff_bfd_link_add_symbols,
|
||||
_bfd_generic_link_just_syms,
|
||||
_bfd_xcoff_bfd_final_link,
|
||||
_bfd_generic_link_split_section,
|
||||
bfd_generic_gc_sections,
|
||||
bfd_generic_merge_sections,
|
||||
bfd_generic_discard_group,
|
||||
|
||||
/* Dynamic */
|
||||
/* _get_dynamic_symtab_upper_bound */
|
||||
_bfd_xcoff_get_dynamic_symtab_upper_bound,
|
||||
_bfd_xcoff_canonicalize_dynamic_symtab, /* _cononicalize_dynamic_symtab */
|
||||
_bfd_xcoff_get_dynamic_reloc_upper_bound,/* _get_dynamic_reloc_upper_bound */
|
||||
_bfd_xcoff_canonicalize_dynamic_reloc, /* _cononicalize_dynamic_reloc */
|
||||
_bfd_xcoff_canonicalize_dynamic_symtab,
|
||||
_bfd_xcoff_get_dynamic_reloc_upper_bound,
|
||||
_bfd_xcoff_canonicalize_dynamic_reloc,
|
||||
|
||||
/* Opposite endian version, none exists */
|
||||
NULL,
|
||||
|
||||
/* back end data */
|
||||
(void *) &bfd_pmac_xcoff_backend_data,
|
||||
};
|
||||
|
|
|
@ -156,7 +156,7 @@ static boolean xcoff64_bad_format_hook PARAMS ((bfd *, PTR ));
|
|||
static boolean xcoff64_reloc_type_br PARAMS ((XCOFF_RELOC_FUNCTION_ARGS));
|
||||
|
||||
boolean (*xcoff64_calculate_relocation[XCOFF_MAX_CALCULATE_RELOCATION])
|
||||
(XCOFF_RELOC_FUNCTION_ARGS) =
|
||||
PARAMS ((XCOFF_RELOC_FUNCTION_ARGS)) =
|
||||
{
|
||||
xcoff_reloc_type_pos, /* R_POS (0x00) */
|
||||
xcoff_reloc_type_neg, /* R_NEG (0x01) */
|
||||
|
@ -886,9 +886,11 @@ xcoff64_write_object_contents (abfd)
|
|||
memset (&internal_a, 0, sizeof internal_a);
|
||||
|
||||
internal_f.f_magic = bfd_xcoff_magic_number (abfd);
|
||||
internal_a.magic = (abfd->flags & D_PAGED) ? RS6K_AOUTHDR_ZMAGIC :
|
||||
(abfd->flags & WP_TEXT) ? RS6K_AOUTHDR_NMAGIC :
|
||||
RS6K_AOUTHDR_OMAGIC;
|
||||
internal_a.magic = (abfd->flags & D_PAGED
|
||||
? RS6K_AOUTHDR_ZMAGIC
|
||||
: (abfd->flags & WP_TEXT
|
||||
? RS6K_AOUTHDR_NMAGIC
|
||||
: RS6K_AOUTHDR_OMAGIC));
|
||||
|
||||
/* FIXME: Does anybody ever set this to another value? */
|
||||
internal_a.vstamp = 0;
|
||||
|
@ -1096,8 +1098,8 @@ xcoff64_reloc_type_br (input_bfd, input_section, output_bfd, rel, sym, howto,
|
|||
cror. */
|
||||
if (NULL != h
|
||||
&& bfd_link_hash_defined == h->root.type
|
||||
&& (rel->r_vaddr - input_section->vma + 8 <=
|
||||
input_section->_cooked_size))
|
||||
&& (rel->r_vaddr - input_section->vma + 8
|
||||
<= input_section->_cooked_size))
|
||||
{
|
||||
bfd_byte *pnext;
|
||||
unsigned long next;
|
||||
|
@ -1139,8 +1141,8 @@ xcoff64_reloc_type_br (input_bfd, input_section, output_bfd, rel, sym, howto,
|
|||
addend += input_section->vma;
|
||||
|
||||
*relocation = val + addend;
|
||||
*relocation -= (input_section->output_section->vma +
|
||||
input_section->output_offset);
|
||||
*relocation -= (input_section->output_section->vma
|
||||
+ input_section->output_offset);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -1191,8 +1193,9 @@ xcoff64_ppc_relocate_section (output_bfd, info, input_bfd,
|
|||
howto.size = howto.bitsize > 16 ? (howto.bitsize > 32 ? 4 : 2) : 1;
|
||||
howto.pc_relative = false;
|
||||
howto.bitpos = 0;
|
||||
howto.complain_on_overflow = rel->r_size & 0x80 ?
|
||||
complain_overflow_signed : complain_overflow_bitfield;
|
||||
howto.complain_on_overflow = (rel->r_size & 0x80
|
||||
? complain_overflow_signed
|
||||
: complain_overflow_bitfield);
|
||||
howto.special_function = NULL;
|
||||
howto.name = "internal";
|
||||
howto.partial_inplace = true;
|
||||
|
@ -1260,7 +1263,7 @@ xcoff64_ppc_relocate_section (output_bfd, info, input_bfd,
|
|||
}
|
||||
|
||||
if (rel->r_type >= XCOFF_MAX_CALCULATE_RELOCATION
|
||||
|| (false == xcoff64_calculate_relocation[rel->r_type]
|
||||
|| ((*xcoff64_calculate_relocation[rel->r_type])
|
||||
(input_bfd, input_section, output_bfd, rel, sym, &howto, val,
|
||||
addend, &relocation, contents)))
|
||||
return false;
|
||||
|
@ -1287,11 +1290,11 @@ xcoff64_ppc_relocate_section (output_bfd, info, input_bfd,
|
|||
operation, which would be tedious, or we must do the computations
|
||||
in a type larger than bfd_vma, which would be inefficient. */
|
||||
|
||||
if ((unsigned int) howto.complain_on_overflow >=
|
||||
XCOFF_MAX_COMPLAIN_OVERFLOW)
|
||||
if ((unsigned int) howto.complain_on_overflow
|
||||
>= XCOFF_MAX_COMPLAIN_OVERFLOW)
|
||||
abort ();
|
||||
|
||||
if ((true == xcoff_complain_overflow[howto.complain_on_overflow]
|
||||
if (((*xcoff_complain_overflow[howto.complain_on_overflow])
|
||||
(input_bfd, value_to_relocate, relocation, &howto)))
|
||||
{
|
||||
const char *name;
|
||||
|
@ -1321,9 +1324,9 @@ xcoff64_ppc_relocate_section (output_bfd, info, input_bfd,
|
|||
}
|
||||
|
||||
/* Add RELOCATION to the right bits of VALUE_TO_RELOCATE. */
|
||||
value_to_relocate = ((value_to_relocate & ~howto.dst_mask) |
|
||||
(((value_to_relocate & howto.src_mask) +
|
||||
relocation) & howto.dst_mask));
|
||||
value_to_relocate = ((value_to_relocate & ~howto.dst_mask)
|
||||
| (((value_to_relocate & howto.src_mask)
|
||||
+ relocation) & howto.dst_mask));
|
||||
|
||||
/* Put the value back in the object file. */
|
||||
if (1 == howto.size)
|
||||
|
@ -1787,8 +1790,9 @@ xcoff64_rtype2howto (relent, internal)
|
|||
abort ();
|
||||
|
||||
/* Put a meaningful value in addend */
|
||||
relent->addend = (internal->r_size & 0x80) ? - internal->r_vaddr
|
||||
: internal->r_vaddr;
|
||||
relent->addend = (internal->r_size & 0x80
|
||||
? -internal->r_vaddr
|
||||
: internal->r_vaddr);
|
||||
}
|
||||
|
||||
reloc_howto_type *
|
||||
|
@ -2287,7 +2291,7 @@ xcoff64_generate_rtinit (abfd, init, fini, rtld)
|
|||
string_table_size += strlen (rtinit_name) + 1;
|
||||
string_table_size += initsz;
|
||||
string_table_size += finisz;
|
||||
if (true == rtld)
|
||||
if (rtld)
|
||||
string_table_size += strlen (rtld_name) + 1;
|
||||
|
||||
string_table = (bfd_byte *) bfd_zmalloc (string_table_size);
|
||||
|
@ -2493,85 +2497,80 @@ static unsigned long xcoff64_glink_code[10] =
|
|||
static const struct xcoff_backend_data_rec bfd_xcoff_backend_data =
|
||||
{
|
||||
{ /* COFF backend, defined in libcoff.h. */
|
||||
_bfd_xcoff64_swap_aux_in, /* _bfd_coff_swap_aux_in */
|
||||
_bfd_xcoff64_swap_sym_in, /* _bfd_coff_swap_sym_in */
|
||||
_bfd_xcoff64_swap_lineno_in, /* _bfd_coff_swap_lineno_in */
|
||||
_bfd_xcoff64_swap_aux_out, /* _bfd_swap_aux_out */
|
||||
_bfd_xcoff64_swap_sym_out, /* _bfd_swap_sym_out */
|
||||
_bfd_xcoff64_swap_lineno_out, /* _bfd_swap_lineno_out */
|
||||
xcoff64_swap_reloc_out, /* _bfd_swap_reloc_out */
|
||||
coff_swap_filehdr_out, /* _bfd_swap_filehdr_out */
|
||||
coff_swap_aouthdr_out, /* _bfd_swap_aouthdr_out */
|
||||
coff_swap_scnhdr_out, /* _bfd_swap_scnhdr_out */
|
||||
FILHSZ, /* _bfd_filhsz */
|
||||
AOUTSZ, /* _bfd_aoutsz */
|
||||
SCNHSZ, /* _bfd_scnhsz */
|
||||
SYMESZ, /* _bfd_symesz */
|
||||
AUXESZ, /* _bfd_auxesz */
|
||||
RELSZ, /* _bfd_relsz */
|
||||
LINESZ, /* _bfd_linesz */
|
||||
FILNMLEN, /* _bfd_filnmlen */
|
||||
_bfd_xcoff64_swap_aux_in,
|
||||
_bfd_xcoff64_swap_sym_in,
|
||||
_bfd_xcoff64_swap_lineno_in,
|
||||
_bfd_xcoff64_swap_aux_out,
|
||||
_bfd_xcoff64_swap_sym_out,
|
||||
_bfd_xcoff64_swap_lineno_out,
|
||||
xcoff64_swap_reloc_out,
|
||||
coff_swap_filehdr_out,
|
||||
coff_swap_aouthdr_out,
|
||||
coff_swap_scnhdr_out,
|
||||
FILHSZ,
|
||||
AOUTSZ,
|
||||
SCNHSZ,
|
||||
SYMESZ,
|
||||
AUXESZ,
|
||||
RELSZ,
|
||||
LINESZ,
|
||||
FILNMLEN,
|
||||
true, /* _bfd_coff_long_filenames */
|
||||
false, /* _bfd_coff_long_section_names */
|
||||
(3), /* _bfd_coff_default_section_alignment_power */
|
||||
3, /* _bfd_coff_default_section_alignment_power */
|
||||
true, /* _bfd_coff_force_symnames_in_strings */
|
||||
4, /* _bfd_coff_debug_string_prefix_length */
|
||||
coff_swap_filehdr_in, /* _bfd_coff_swap_filehdr_in */
|
||||
coff_swap_aouthdr_in, /* _bfd_swap_aouthdr_in */
|
||||
coff_swap_scnhdr_in, /* _bfd_swap_scnhdr_in */
|
||||
xcoff64_swap_reloc_in, /* _bfd_reloc_in */
|
||||
xcoff64_bad_format_hook, /* _bfd_bad_format_hook */
|
||||
coff_set_arch_mach_hook, /* _bfd_set_arch_mach_hook */
|
||||
coff_mkobject_hook, /* _bfd_mkobject_hook */
|
||||
styp_to_sec_flags, /* _bfd_syp_to_sec_flags */
|
||||
coff_set_alignment_hook, /* _bfd_set_alignment_hook */
|
||||
coff_slurp_symbol_table, /* _bfd_coff_slurp_symbol_table */
|
||||
symname_in_debug_hook, /* _coff_symname_in_debug_hook */
|
||||
coff_pointerize_aux_hook, /* _bfd_coff_pointerize_aux_hook */
|
||||
coff_print_aux, /* bfd_coff_print_aux */
|
||||
dummy_reloc16_extra_cases, /* _bfd_coff_reloc16_extra_cases */
|
||||
dummy_reloc16_estimate, /* _bfd_coff_reloc16_estimate */
|
||||
coff_swap_filehdr_in,
|
||||
coff_swap_aouthdr_in,
|
||||
coff_swap_scnhdr_in,
|
||||
xcoff64_swap_reloc_in,
|
||||
xcoff64_bad_format_hook,
|
||||
coff_set_arch_mach_hook,
|
||||
coff_mkobject_hook,
|
||||
styp_to_sec_flags,
|
||||
coff_set_alignment_hook,
|
||||
coff_slurp_symbol_table,
|
||||
symname_in_debug_hook,
|
||||
coff_pointerize_aux_hook,
|
||||
coff_print_aux,
|
||||
dummy_reloc16_extra_cases,
|
||||
dummy_reloc16_estimate,
|
||||
NULL, /* bfd_coff_sym_is_global */
|
||||
/* _bfd_coff_compute_section_file_positions */
|
||||
coff_compute_section_file_positions,
|
||||
NULL, /* _bfd_coff_start_final_link */
|
||||
xcoff64_ppc_relocate_section, /* _bfd_coff_relocate_section */
|
||||
coff_rtype_to_howto, /* _bfd_coff_rtype_to_howto */
|
||||
NULL , /* _bfd_coff_addust_symndx */
|
||||
_bfd_generic_link_add_one_symbol, /* _bfd_coff_add_one_symbol */
|
||||
coff_link_output_has_begun, /* _bfd_coff_link_output_has_begun */
|
||||
coff_final_link_postscript /* _bfd_coff_final_link_postscript */
|
||||
xcoff64_ppc_relocate_section,
|
||||
coff_rtype_to_howto,
|
||||
NULL, /* _bfd_coff_adjust_symndx */
|
||||
_bfd_generic_link_add_one_symbol,
|
||||
coff_link_output_has_begun,
|
||||
coff_final_link_postscript
|
||||
},
|
||||
|
||||
0x01EF, /* magic number */
|
||||
bfd_arch_powerpc, /* architecture */
|
||||
bfd_mach_ppc_620, /* machine */
|
||||
bfd_arch_powerpc,
|
||||
bfd_mach_ppc_620,
|
||||
|
||||
/* Function pointers to xcoff specific swap routines. */
|
||||
xcoff64_swap_ldhdr_in, /* _xcoff_swap_ldhdr_in */
|
||||
xcoff64_swap_ldhdr_out, /* _xcoff_swap_ldhdr_out */
|
||||
xcoff64_swap_ldsym_in, /* _xcoff_swap_ldsym_in */
|
||||
xcoff64_swap_ldsym_out, /* _xcoff_swap_ldsym_out */
|
||||
xcoff64_swap_ldrel_in, /* _xcoff_swap_ldrel_in */
|
||||
xcoff64_swap_ldrel_out, /* _xcoff_swap_ldrel_out */
|
||||
xcoff64_swap_ldhdr_in,
|
||||
xcoff64_swap_ldhdr_out,
|
||||
xcoff64_swap_ldsym_in,
|
||||
xcoff64_swap_ldsym_out,
|
||||
xcoff64_swap_ldrel_in,
|
||||
xcoff64_swap_ldrel_out,
|
||||
|
||||
/* Sizes. */
|
||||
LDHDRSZ, /* _xcoff_ldhdrsz */
|
||||
LDSYMSZ, /* _xcoff_ldsymsz */
|
||||
LDRELSZ, /* _xcoff_ldrelsz */
|
||||
LDHDRSZ,
|
||||
LDSYMSZ,
|
||||
LDRELSZ,
|
||||
24, /* _xcoff_function_descriptor_size */
|
||||
0, /* _xcoff_small_aout_header_size */
|
||||
|
||||
/* Versions. */
|
||||
2, /* _xcoff_ldhdr_version */
|
||||
|
||||
/* xcoff vs xcoff64 putting symbol names. */
|
||||
_bfd_xcoff64_put_symbol_name, /* _xcoff_put_symbol_name */
|
||||
_bfd_xcoff64_put_ldsymbol_name, /* _xcoff_put_ldsymbol_name */
|
||||
|
||||
/* Dynamic reloc howto. */
|
||||
_bfd_xcoff64_put_symbol_name,
|
||||
_bfd_xcoff64_put_ldsymbol_name,
|
||||
&xcoff64_dynamic_reloc,
|
||||
|
||||
xcoff64_create_csect_from_smclas,
|
||||
|
||||
/* Lineno and reloc count overflow. */
|
||||
|
@ -2587,7 +2586,7 @@ static const struct xcoff_backend_data_rec bfd_xcoff_backend_data =
|
|||
|
||||
/* rtinit. */
|
||||
88, /* _xcoff_rtinit_size */
|
||||
xcoff64_generate_rtinit, /* _xcoff_generate_rtinit */
|
||||
xcoff64_generate_rtinit,
|
||||
};
|
||||
|
||||
/* The transfer vector that leads the outside world to all of the above. */
|
||||
|
@ -2598,36 +2597,35 @@ const bfd_target rs6000coff64_vec =
|
|||
BFD_ENDIAN_BIG, /* data byte order is big */
|
||||
BFD_ENDIAN_BIG, /* header byte order is big */
|
||||
|
||||
(HAS_RELOC | EXEC_P | /* object flags */
|
||||
HAS_LINENO | HAS_DEBUG | DYNAMIC |
|
||||
HAS_SYMS | HAS_LOCALS | WP_TEXT),
|
||||
(HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | DYNAMIC
|
||||
| HAS_SYMS | HAS_LOCALS | WP_TEXT),
|
||||
|
||||
(SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
|
||||
(SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC),
|
||||
0, /* leading char */
|
||||
'/', /* ar_pad_char */
|
||||
15, /* ar_max_namelen??? FIXMEmgo */
|
||||
15, /* ar_max_namelen */
|
||||
|
||||
/* data */
|
||||
bfd_getb64, /* bfd_getx64 */
|
||||
bfd_getb_signed_64, /* bfd_getx_signed_64 */
|
||||
bfd_putb64, /* bfd_putx64 */
|
||||
bfd_getb32, /* bfd_getx32 */
|
||||
bfd_getb_signed_32, /* bfd_getx_signed_32 */
|
||||
bfd_putb32, /* bfd_putx32 */
|
||||
bfd_getb16, /* bfd_getx16 */
|
||||
bfd_getb_signed_16, /* bfd_getx_signed_16 */
|
||||
bfd_putb16, /* bfd_putx16 */
|
||||
bfd_getb64,
|
||||
bfd_getb_signed_64,
|
||||
bfd_putb64,
|
||||
bfd_getb32,
|
||||
bfd_getb_signed_32,
|
||||
bfd_putb32,
|
||||
bfd_getb16,
|
||||
bfd_getb_signed_16,
|
||||
bfd_putb16,
|
||||
|
||||
/* hdrs */
|
||||
bfd_getb64, /* bfd_h_getx64 */
|
||||
bfd_getb_signed_64, /* bfd_h_getx_signed_64 */
|
||||
bfd_putb64, /* bfd_h_putx64 */
|
||||
bfd_getb32, /* bfd_h_getx32 */
|
||||
bfd_getb_signed_32, /* bfd_h_getx_signed_32 */
|
||||
bfd_putb32, /* bfd_h_putx32 */
|
||||
bfd_getb16, /* bfd_h_getx16 */
|
||||
bfd_getb_signed_16, /* bfd_h_getx_signed_16 */
|
||||
bfd_putb16, /* bfd_h_putx16 */
|
||||
bfd_getb64,
|
||||
bfd_getb_signed_64,
|
||||
bfd_putb64,
|
||||
bfd_getb32,
|
||||
bfd_getb_signed_32,
|
||||
bfd_putb32,
|
||||
bfd_getb16,
|
||||
bfd_getb_signed_16,
|
||||
bfd_putb16,
|
||||
|
||||
{ /* bfd_check_format */
|
||||
_bfd_dummy_target,
|
||||
|
@ -2651,93 +2649,82 @@ const bfd_target rs6000coff64_vec =
|
|||
},
|
||||
|
||||
/* Generic */
|
||||
bfd_true, /* _close_and_cleanup */
|
||||
bfd_true, /* _bfd_free_cached_info */
|
||||
coff_new_section_hook, /* _new_section_hook */
|
||||
_bfd_generic_get_section_contents, /* _bfd_get_section_contents */
|
||||
/* _bfd_get_section_contents_in_window */
|
||||
bfd_true,
|
||||
bfd_true,
|
||||
coff_new_section_hook,
|
||||
_bfd_generic_get_section_contents,
|
||||
_bfd_generic_get_section_contents_in_window,
|
||||
|
||||
/* Copy */
|
||||
_bfd_xcoff_copy_private_bfd_data, /* _bfd_copy_private_bfd */
|
||||
/* _bfd_merge_private_bfd_data */
|
||||
_bfd_xcoff_copy_private_bfd_data,
|
||||
((boolean (*) (bfd *, bfd *)) bfd_true),
|
||||
/* _bfd_copy_pivate_section_data */
|
||||
((boolean (*) (bfd *, asection *, bfd *, asection *)) bfd_true),
|
||||
/* _bfd_copy_private_symbol_data */
|
||||
((boolean (*) (bfd *, asymbol *, bfd *, asymbol *)) bfd_true),
|
||||
((boolean (*) (bfd *, flagword)) bfd_true), /* _bfd_set_private_flags */
|
||||
((boolean (*) (bfd *, void * )) bfd_true), /* _bfd_print_private_bfd_data */
|
||||
((boolean (*) (bfd *, flagword)) bfd_true),
|
||||
((boolean (*) (bfd *, void * )) bfd_true),
|
||||
|
||||
/* Core */
|
||||
coff_core_file_failing_command, /* _core_file_failing_command */
|
||||
coff_core_file_failing_signal, /* _core_file_failing_signal */
|
||||
coff_core_file_matches_executable_p, /* _core_file_matches_executable_p */
|
||||
coff_core_file_failing_command,
|
||||
coff_core_file_failing_signal,
|
||||
coff_core_file_matches_executable_p,
|
||||
|
||||
/* Archive */
|
||||
xcoff64_slurp_armap, /* _slurp_armap */
|
||||
/* XCOFF archives do not have anything which corresponds to an
|
||||
extended name table. */
|
||||
bfd_false, /* _slurp_extended_name_table */
|
||||
/* _construct_extended_name_table */
|
||||
xcoff64_slurp_armap,
|
||||
bfd_false,
|
||||
((boolean (*) (bfd *, char **, bfd_size_type *, const char **)) bfd_false),
|
||||
bfd_dont_truncate_arname, /* _truncate_arname */
|
||||
_bfd_xcoff_write_armap, /* _write_armap */
|
||||
_bfd_xcoff_read_ar_hdr, /* _read_ar_hdr */
|
||||
xcoff64_openr_next_archived_file, /* _openr_next_archived_file */
|
||||
_bfd_generic_get_elt_at_index, /* _get_elt_at_index */
|
||||
_bfd_xcoff_stat_arch_elt, /* _generic_stat_arch_elt */
|
||||
/* XCOFF archives do not have a timestamp. */
|
||||
bfd_true, /* _update_armap_timestamp */
|
||||
bfd_dont_truncate_arname,
|
||||
_bfd_xcoff_write_armap,
|
||||
_bfd_xcoff_read_ar_hdr,
|
||||
xcoff64_openr_next_archived_file,
|
||||
_bfd_generic_get_elt_at_index,
|
||||
_bfd_xcoff_stat_arch_elt,
|
||||
bfd_true,
|
||||
|
||||
/* Symbols */
|
||||
coff_get_symtab_upper_bound, /* _get_symtab_upper_bound */
|
||||
coff_get_symtab, /* _get_symtab */
|
||||
coff_make_empty_symbol, /* _make_empty_symbol */
|
||||
coff_print_symbol, /* _print_symbol */
|
||||
coff_get_symbol_info, /* _get_symbol_info */
|
||||
_bfd_xcoff_is_local_label_name, /* _bfd_is_local_label_name */
|
||||
coff_get_lineno, /* _get_lineno */
|
||||
coff_find_nearest_line, /* _find_nearest_line */
|
||||
coff_bfd_make_debug_symbol, /* _bfd_make_debug_symbol */
|
||||
_bfd_generic_read_minisymbols, /* _read_minisymbols */
|
||||
_bfd_generic_minisymbol_to_symbol, /* _minsymbol_to_symbol */
|
||||
coff_get_symtab_upper_bound,
|
||||
coff_get_symtab,
|
||||
coff_make_empty_symbol,
|
||||
coff_print_symbol,
|
||||
coff_get_symbol_info,
|
||||
_bfd_xcoff_is_local_label_name,
|
||||
coff_get_lineno,
|
||||
coff_find_nearest_line,
|
||||
coff_bfd_make_debug_symbol,
|
||||
_bfd_generic_read_minisymbols,
|
||||
_bfd_generic_minisymbol_to_symbol,
|
||||
|
||||
/* Reloc */
|
||||
coff_get_reloc_upper_bound, /* _get_reloc_upper_bound */
|
||||
coff_canonicalize_reloc, /* _cononicalize_reloc */
|
||||
xcoff64_reloc_type_lookup, /* _bfd_reloc_type_lookup */
|
||||
coff_get_reloc_upper_bound,
|
||||
coff_canonicalize_reloc,
|
||||
xcoff64_reloc_type_lookup,
|
||||
|
||||
/* Write */
|
||||
coff_set_arch_mach, /* _set_arch_mach */
|
||||
coff_set_section_contents, /* _set_section_contents */
|
||||
coff_set_arch_mach,
|
||||
coff_set_section_contents,
|
||||
|
||||
/* Link */
|
||||
xcoff64_sizeof_headers, /* _sizeof_headers */
|
||||
/* _bfd_get_relocated_section_contents */
|
||||
xcoff64_sizeof_headers,
|
||||
bfd_generic_get_relocated_section_contents,
|
||||
bfd_generic_relax_section, /* _bfd_relax_section */
|
||||
_bfd_xcoff_bfd_link_hash_table_create,/* _bfd_link_hash_table_create */
|
||||
_bfd_generic_link_hash_table_free, /* _bfd_link_hash_table_free */
|
||||
_bfd_xcoff_bfd_link_add_symbols, /* _bfd_link_add_symbols */
|
||||
_bfd_generic_link_just_syms, /* _bfd_link_just_syms */
|
||||
_bfd_xcoff_bfd_final_link, /* _bfd_final_link */
|
||||
_bfd_generic_link_split_section, /* _bfd_link_split_section */
|
||||
bfd_generic_gc_sections, /* _bfd_gc_sections */
|
||||
bfd_generic_merge_sections, /* _bfd_merge_sections */
|
||||
bfd_generic_discard_group, /* _bfd_discard_group */
|
||||
bfd_generic_relax_section,
|
||||
_bfd_xcoff_bfd_link_hash_table_create,
|
||||
_bfd_generic_link_hash_table_free,
|
||||
_bfd_xcoff_bfd_link_add_symbols,
|
||||
_bfd_generic_link_just_syms,
|
||||
_bfd_xcoff_bfd_final_link,
|
||||
_bfd_generic_link_split_section,
|
||||
bfd_generic_gc_sections,
|
||||
bfd_generic_merge_sections,
|
||||
bfd_generic_discard_group,
|
||||
|
||||
/* Dynamic */
|
||||
/* _get_dynamic_symtab_upper_bound */
|
||||
_bfd_xcoff_get_dynamic_symtab_upper_bound,
|
||||
_bfd_xcoff_canonicalize_dynamic_symtab, /* _cononicalize_dynamic_symtab */
|
||||
_bfd_xcoff_get_dynamic_reloc_upper_bound,/* _get_dynamic_reloc_upper_bound */
|
||||
_bfd_xcoff_canonicalize_dynamic_reloc, /* _cononicalize_dynamic_reloc */
|
||||
_bfd_xcoff_canonicalize_dynamic_symtab,
|
||||
_bfd_xcoff_get_dynamic_reloc_upper_bound,
|
||||
_bfd_xcoff_canonicalize_dynamic_reloc,
|
||||
|
||||
/* Opposite endian version, none exists */
|
||||
NULL,
|
||||
|
||||
/* back end data */
|
||||
(void *) &bfd_xcoff_backend_data,
|
||||
};
|
||||
|
||||
|
@ -2750,81 +2737,78 @@ extern int xcoff64_core_file_failing_signal PARAMS ((bfd *));
|
|||
static const struct xcoff_backend_data_rec bfd_xcoff_aix5_backend_data =
|
||||
{
|
||||
{ /* COFF backend, defined in libcoff.h. */
|
||||
_bfd_xcoff64_swap_aux_in, /* _bfd_coff_swap_aux_in */
|
||||
_bfd_xcoff64_swap_sym_in, /* _bfd_coff_swap_sym_in */
|
||||
_bfd_xcoff64_swap_lineno_in, /* _bfd_coff_swap_lineno_in */
|
||||
_bfd_xcoff64_swap_aux_out, /* _bfd_swap_aux_out */
|
||||
_bfd_xcoff64_swap_sym_out, /* _bfd_swap_sym_out */
|
||||
_bfd_xcoff64_swap_lineno_out, /* _bfd_swap_lineno_out */
|
||||
xcoff64_swap_reloc_out, /* _bfd_swap_reloc_out */
|
||||
coff_swap_filehdr_out, /* _bfd_swap_filehdr_out */
|
||||
coff_swap_aouthdr_out, /* _bfd_swap_aouthdr_out */
|
||||
coff_swap_scnhdr_out, /* _bfd_swap_scnhdr_out */
|
||||
FILHSZ, /* _bfd_filhsz */
|
||||
AOUTSZ, /* _bfd_aoutsz */
|
||||
SCNHSZ, /* _bfd_scnhsz */
|
||||
SYMESZ, /* _bfd_symesz */
|
||||
AUXESZ, /* _bfd_auxesz */
|
||||
RELSZ, /* _bfd_relsz */
|
||||
LINESZ, /* _bfd_linesz */
|
||||
FILNMLEN, /* _bfd_filnmlen */
|
||||
_bfd_xcoff64_swap_aux_in,
|
||||
_bfd_xcoff64_swap_sym_in,
|
||||
_bfd_xcoff64_swap_lineno_in,
|
||||
_bfd_xcoff64_swap_aux_out,
|
||||
_bfd_xcoff64_swap_sym_out,
|
||||
_bfd_xcoff64_swap_lineno_out,
|
||||
xcoff64_swap_reloc_out,
|
||||
coff_swap_filehdr_out,
|
||||
coff_swap_aouthdr_out,
|
||||
coff_swap_scnhdr_out,
|
||||
FILHSZ,
|
||||
AOUTSZ,
|
||||
SCNHSZ,
|
||||
SYMESZ,
|
||||
AUXESZ,
|
||||
RELSZ,
|
||||
LINESZ,
|
||||
FILNMLEN,
|
||||
true, /* _bfd_coff_long_filenames */
|
||||
false, /* _bfd_coff_long_section_names */
|
||||
(3), /* _bfd_coff_default_section_alignment_power */
|
||||
3, /* _bfd_coff_default_section_alignment_power */
|
||||
true, /* _bfd_coff_force_symnames_in_strings */
|
||||
4, /* _bfd_coff_debug_string_prefix_length */
|
||||
coff_swap_filehdr_in, /* _bfd_coff_swap_filehdr_in */
|
||||
coff_swap_aouthdr_in, /* _bfd_swap_aouthdr_in */
|
||||
coff_swap_scnhdr_in, /* _bfd_swap_scnhdr_in */
|
||||
xcoff64_swap_reloc_in, /* _bfd_reloc_in */
|
||||
xcoff64_bad_format_hook, /* _bfd_bad_format_hook */
|
||||
coff_set_arch_mach_hook, /* _bfd_set_arch_mach_hook */
|
||||
coff_mkobject_hook, /* _bfd_mkobject_hook */
|
||||
styp_to_sec_flags, /* _bfd_syp_to_sec_flags */
|
||||
coff_set_alignment_hook, /* _bfd_set_alignment_hook */
|
||||
coff_slurp_symbol_table, /* _bfd_coff_slurp_symbol_table */
|
||||
symname_in_debug_hook, /* _coff_symname_in_debug_hook */
|
||||
coff_pointerize_aux_hook, /* _bfd_coff_pointerize_aux_hook */
|
||||
coff_print_aux, /* bfd_coff_print_aux */
|
||||
dummy_reloc16_extra_cases, /* _bfd_coff_reloc16_extra_cases */
|
||||
dummy_reloc16_estimate, /* _bfd_coff_reloc16_estimate */
|
||||
coff_swap_filehdr_in,
|
||||
coff_swap_aouthdr_in,
|
||||
coff_swap_scnhdr_in,
|
||||
xcoff64_swap_reloc_in,
|
||||
xcoff64_bad_format_hook,
|
||||
coff_set_arch_mach_hook,
|
||||
coff_mkobject_hook,
|
||||
styp_to_sec_flags,
|
||||
coff_set_alignment_hook,
|
||||
coff_slurp_symbol_table,
|
||||
symname_in_debug_hook,
|
||||
coff_pointerize_aux_hook,
|
||||
coff_print_aux,
|
||||
dummy_reloc16_extra_cases,
|
||||
dummy_reloc16_estimate,
|
||||
NULL, /* bfd_coff_sym_is_global */
|
||||
/* _bfd_coff_compute_section_file_positions */
|
||||
coff_compute_section_file_positions,
|
||||
NULL, /* _bfd_coff_start_final_link */
|
||||
xcoff64_ppc_relocate_section, /* _bfd_coff_relocate_section */
|
||||
coff_rtype_to_howto, /* _bfd_coff_rtype_to_howto */
|
||||
NULL , /* _bfd_coff_addust_symndx */
|
||||
_bfd_generic_link_add_one_symbol, /* _bfd_coff_add_one_symbol */
|
||||
coff_link_output_has_begun, /* _bfd_coff_link_output_has_begun */
|
||||
coff_final_link_postscript /* _bfd_coff_final_link_postscript */
|
||||
xcoff64_ppc_relocate_section,
|
||||
coff_rtype_to_howto,
|
||||
NULL, /* _bfd_coff_adjust_symndx */
|
||||
_bfd_generic_link_add_one_symbol,
|
||||
coff_link_output_has_begun,
|
||||
coff_final_link_postscript
|
||||
},
|
||||
|
||||
U64_TOCMAGIC, /* magic number */
|
||||
bfd_arch_powerpc, /* architecture */
|
||||
bfd_mach_ppc_620, /* machine */
|
||||
bfd_arch_powerpc,
|
||||
bfd_mach_ppc_620,
|
||||
|
||||
/* Function pointers to xcoff specific swap routines. */
|
||||
xcoff64_swap_ldhdr_in, /* _xcoff_swap_ldhdr_in */
|
||||
xcoff64_swap_ldhdr_out, /* _xcoff_swap_ldhdr_out */
|
||||
xcoff64_swap_ldsym_in, /* _xcoff_swap_ldsym_in */
|
||||
xcoff64_swap_ldsym_out, /* _xcoff_swap_ldsym_out */
|
||||
xcoff64_swap_ldrel_in, /* _xcoff_swap_ldrel_in */
|
||||
xcoff64_swap_ldrel_out, /* _xcoff_swap_ldrel_out */
|
||||
xcoff64_swap_ldhdr_in,
|
||||
xcoff64_swap_ldhdr_out,
|
||||
xcoff64_swap_ldsym_in,
|
||||
xcoff64_swap_ldsym_out,
|
||||
xcoff64_swap_ldrel_in,
|
||||
xcoff64_swap_ldrel_out,
|
||||
|
||||
/* Sizes. */
|
||||
LDHDRSZ, /* _xcoff_ldhdrsz */
|
||||
LDSYMSZ, /* _xcoff_ldsymsz */
|
||||
LDRELSZ, /* _xcoff_ldrelsz */
|
||||
LDHDRSZ,
|
||||
LDSYMSZ,
|
||||
LDRELSZ,
|
||||
24, /* _xcoff_function_descriptor_size */
|
||||
0, /* _xcoff_small_aout_header_size */
|
||||
/* Versions. */
|
||||
2, /* _xcoff_ldhdr_version */
|
||||
|
||||
_bfd_xcoff64_put_symbol_name, /* _xcoff_put_symbol_name */
|
||||
_bfd_xcoff64_put_ldsymbol_name, /* _xcoff_put_ldsymbol_name */
|
||||
|
||||
/* Dynamic reloc howto. */
|
||||
_bfd_xcoff64_put_symbol_name,
|
||||
_bfd_xcoff64_put_ldsymbol_name,
|
||||
&xcoff64_dynamic_reloc,
|
||||
xcoff64_create_csect_from_smclas,
|
||||
|
||||
|
@ -2841,7 +2825,7 @@ static const struct xcoff_backend_data_rec bfd_xcoff_aix5_backend_data =
|
|||
|
||||
/* rtinit. */
|
||||
88, /* _xcoff_rtinit_size */
|
||||
xcoff64_generate_rtinit, /* _xcoff_generate_rtinit */
|
||||
xcoff64_generate_rtinit,
|
||||
};
|
||||
|
||||
/* The transfer vector that leads the outside world to all of the above. */
|
||||
|
@ -2852,36 +2836,35 @@ const bfd_target aix5coff64_vec =
|
|||
BFD_ENDIAN_BIG, /* data byte order is big */
|
||||
BFD_ENDIAN_BIG, /* header byte order is big */
|
||||
|
||||
(HAS_RELOC | EXEC_P | /* object flags */
|
||||
HAS_LINENO | HAS_DEBUG | DYNAMIC |
|
||||
HAS_SYMS | HAS_LOCALS | WP_TEXT),
|
||||
(HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | DYNAMIC
|
||||
| HAS_SYMS | HAS_LOCALS | WP_TEXT),
|
||||
|
||||
(SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
|
||||
(SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC),
|
||||
0, /* leading char */
|
||||
'/', /* ar_pad_char */
|
||||
15, /* ar_max_namelen??? FIXMEmgo */
|
||||
15, /* ar_max_namelen */
|
||||
|
||||
/* data */
|
||||
bfd_getb64, /* bfd_getx64 */
|
||||
bfd_getb_signed_64, /* bfd_getx_signed_64 */
|
||||
bfd_putb64, /* bfd_putx64 */
|
||||
bfd_getb32, /* bfd_getx32 */
|
||||
bfd_getb_signed_32, /* bfd_getx_signed_32 */
|
||||
bfd_putb32, /* bfd_putx32 */
|
||||
bfd_getb16, /* bfd_getx16 */
|
||||
bfd_getb_signed_16, /* bfd_getx_signed_16 */
|
||||
bfd_putb16, /* bfd_putx16 */
|
||||
bfd_getb64,
|
||||
bfd_getb_signed_64,
|
||||
bfd_putb64,
|
||||
bfd_getb32,
|
||||
bfd_getb_signed_32,
|
||||
bfd_putb32,
|
||||
bfd_getb16,
|
||||
bfd_getb_signed_16,
|
||||
bfd_putb16,
|
||||
|
||||
/* hdrs */
|
||||
bfd_getb64, /* bfd_h_getx64 */
|
||||
bfd_getb_signed_64, /* bfd_h_getx_signed_64 */
|
||||
bfd_putb64, /* bfd_h_putx64 */
|
||||
bfd_getb32, /* bfd_h_getx32 */
|
||||
bfd_getb_signed_32, /* bfd_h_getx_signed_32 */
|
||||
bfd_putb32, /* bfd_h_putx32 */
|
||||
bfd_getb16, /* bfd_h_getx16 */
|
||||
bfd_getb_signed_16, /* bfd_h_getx_signed_16 */
|
||||
bfd_putb16, /* bfd_h_putx16 */
|
||||
bfd_getb64,
|
||||
bfd_getb_signed_64,
|
||||
bfd_putb64,
|
||||
bfd_getb32,
|
||||
bfd_getb_signed_32,
|
||||
bfd_putb32,
|
||||
bfd_getb16,
|
||||
bfd_getb_signed_16,
|
||||
bfd_putb16,
|
||||
|
||||
{ /* bfd_check_format */
|
||||
_bfd_dummy_target,
|
||||
|
@ -2905,92 +2888,81 @@ const bfd_target aix5coff64_vec =
|
|||
},
|
||||
|
||||
/* Generic */
|
||||
bfd_true, /* _close_and_cleanup */
|
||||
bfd_true, /* _bfd_free_cached_info */
|
||||
coff_new_section_hook, /* _new_section_hook */
|
||||
_bfd_generic_get_section_contents, /* _bfd_get_section_contents */
|
||||
/* _bfd_get_section_contents_in_window */
|
||||
bfd_true,
|
||||
bfd_true,
|
||||
coff_new_section_hook,
|
||||
_bfd_generic_get_section_contents,
|
||||
_bfd_generic_get_section_contents_in_window,
|
||||
|
||||
/* Copy */
|
||||
_bfd_xcoff_copy_private_bfd_data, /* _bfd_copy_private_bfd */
|
||||
/* _bfd_merge_private_bfd_data */
|
||||
_bfd_xcoff_copy_private_bfd_data,
|
||||
((boolean (*) (bfd *, bfd *)) bfd_true),
|
||||
/* _bfd_copy_pivate_section_data */
|
||||
((boolean (*) (bfd *, asection *, bfd *, asection *)) bfd_true),
|
||||
/* _bfd_copy_private_symbol_data */
|
||||
((boolean (*) (bfd *, asymbol *, bfd *, asymbol *)) bfd_true),
|
||||
((boolean (*) (bfd *, flagword)) bfd_true), /* _bfd_set_private_flags */
|
||||
((boolean (*) (bfd *, void * )) bfd_true), /* _bfd_print_private_bfd_data */
|
||||
((boolean (*) (bfd *, flagword)) bfd_true),
|
||||
((boolean (*) (bfd *, void * )) bfd_true),
|
||||
|
||||
/* Core */
|
||||
xcoff64_core_file_failing_command, /* _core_file_failing_command */
|
||||
xcoff64_core_file_failing_signal, /* _core_file_failing_signal */
|
||||
xcoff64_core_file_matches_executable_p, /* _core_file_matches_executable_p */
|
||||
xcoff64_core_file_failing_command,
|
||||
xcoff64_core_file_failing_signal,
|
||||
xcoff64_core_file_matches_executable_p,
|
||||
|
||||
/* Archive */
|
||||
xcoff64_slurp_armap, /* _slurp_armap */
|
||||
/* XCOFF archives do not have anything which corresponds to an
|
||||
extended name table. */
|
||||
bfd_false, /* _slurp_extended_name_table */
|
||||
/* _construct_extended_name_table */
|
||||
xcoff64_slurp_armap,
|
||||
bfd_false,
|
||||
((boolean (*) (bfd *, char **, bfd_size_type *, const char **)) bfd_false),
|
||||
bfd_dont_truncate_arname, /* _truncate_arname */
|
||||
_bfd_xcoff_write_armap, /* _write_armap */
|
||||
_bfd_xcoff_read_ar_hdr, /* _read_ar_hdr */
|
||||
xcoff64_openr_next_archived_file, /* _openr_next_archived_file */
|
||||
_bfd_generic_get_elt_at_index, /* _get_elt_at_index */
|
||||
_bfd_xcoff_stat_arch_elt, /* _generic_stat_arch_elt */
|
||||
/* XCOFF archives do not have a timestamp. */
|
||||
bfd_true, /* _update_armap_timestamp */
|
||||
bfd_dont_truncate_arname,
|
||||
_bfd_xcoff_write_armap,
|
||||
_bfd_xcoff_read_ar_hdr,
|
||||
xcoff64_openr_next_archived_file,
|
||||
_bfd_generic_get_elt_at_index,
|
||||
_bfd_xcoff_stat_arch_elt,
|
||||
bfd_true,
|
||||
|
||||
/* Symbols */
|
||||
coff_get_symtab_upper_bound, /* _get_symtab_upper_bound */
|
||||
coff_get_symtab, /* _get_symtab */
|
||||
coff_make_empty_symbol, /* _make_empty_symbol */
|
||||
coff_print_symbol, /* _print_symbol */
|
||||
coff_get_symbol_info, /* _get_symbol_info */
|
||||
_bfd_xcoff_is_local_label_name, /* _bfd_is_local_label_name */
|
||||
coff_get_lineno, /* _get_lineno */
|
||||
coff_find_nearest_line, /* _find_nearest_line */
|
||||
coff_bfd_make_debug_symbol, /* _bfd_make_debug_symbol */
|
||||
_bfd_generic_read_minisymbols, /* _read_minisymbols */
|
||||
_bfd_generic_minisymbol_to_symbol, /* _minsymbol_to_symbol */
|
||||
coff_get_symtab_upper_bound,
|
||||
coff_get_symtab,
|
||||
coff_make_empty_symbol,
|
||||
coff_print_symbol,
|
||||
coff_get_symbol_info,
|
||||
_bfd_xcoff_is_local_label_name,
|
||||
coff_get_lineno,
|
||||
coff_find_nearest_line,
|
||||
coff_bfd_make_debug_symbol,
|
||||
_bfd_generic_read_minisymbols,
|
||||
_bfd_generic_minisymbol_to_symbol,
|
||||
|
||||
/* Reloc */
|
||||
coff_get_reloc_upper_bound, /* _get_reloc_upper_bound */
|
||||
coff_canonicalize_reloc, /* _cononicalize_reloc */
|
||||
xcoff64_reloc_type_lookup, /* _bfd_reloc_type_lookup */
|
||||
coff_get_reloc_upper_bound,
|
||||
coff_canonicalize_reloc,
|
||||
xcoff64_reloc_type_lookup,
|
||||
|
||||
/* Write */
|
||||
coff_set_arch_mach, /* _set_arch_mach */
|
||||
coff_set_section_contents, /* _set_section_contents */
|
||||
coff_set_arch_mach,
|
||||
coff_set_section_contents,
|
||||
|
||||
/* Link */
|
||||
xcoff64_sizeof_headers, /* _sizeof_headers */
|
||||
/* _bfd_get_relocated_section_contents */
|
||||
xcoff64_sizeof_headers,
|
||||
bfd_generic_get_relocated_section_contents,
|
||||
bfd_generic_relax_section, /* _bfd_relax_section */
|
||||
_bfd_xcoff_bfd_link_hash_table_create,/* _bfd_link_hash_table_create */
|
||||
_bfd_generic_link_hash_table_free, /* _bfd_link_hash_table_free */
|
||||
_bfd_xcoff_bfd_link_add_symbols, /* _bfd_link_add_symbols */
|
||||
_bfd_generic_link_just_syms, /* _bfd_link_just_syms */
|
||||
_bfd_xcoff_bfd_final_link, /* _bfd_final_link */
|
||||
_bfd_generic_link_split_section, /* _bfd_link_split_section */
|
||||
bfd_generic_gc_sections, /* _bfd_gc_sections */
|
||||
bfd_generic_merge_sections, /* _bfd_merge_sections */
|
||||
bfd_generic_discard_group, /* _bfd_discard_group */
|
||||
bfd_generic_relax_section,
|
||||
_bfd_xcoff_bfd_link_hash_table_create,
|
||||
_bfd_generic_link_hash_table_free,
|
||||
_bfd_xcoff_bfd_link_add_symbols,
|
||||
_bfd_generic_link_just_syms,
|
||||
_bfd_xcoff_bfd_final_link,
|
||||
_bfd_generic_link_split_section,
|
||||
bfd_generic_gc_sections,
|
||||
bfd_generic_merge_sections,
|
||||
bfd_generic_discard_group,
|
||||
|
||||
/* Dynamic */
|
||||
/* _get_dynamic_symtab_upper_bound */
|
||||
_bfd_xcoff_get_dynamic_symtab_upper_bound,
|
||||
_bfd_xcoff_canonicalize_dynamic_symtab, /* _cononicalize_dynamic_symtab */
|
||||
_bfd_xcoff_get_dynamic_reloc_upper_bound,/* _get_dynamic_reloc_upper_bound */
|
||||
_bfd_xcoff_canonicalize_dynamic_reloc, /* _cononicalize_dynamic_reloc */
|
||||
_bfd_xcoff_canonicalize_dynamic_symtab,
|
||||
_bfd_xcoff_get_dynamic_reloc_upper_bound,
|
||||
_bfd_xcoff_canonicalize_dynamic_reloc,
|
||||
|
||||
/* Opposite endian version, none exists. */
|
||||
NULL,
|
||||
|
||||
/* back end data */
|
||||
(void *) & bfd_xcoff_aix5_backend_data,
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue