members of an archive for dynamic objects with no symbols, and
pass them directly to check_archive_element.
(xcoff_link_check_ar_symbols): Pass dynamic objects to
xcoff_link_check_dynamic_ar_symbols.
(xcoff_link_check_dynamic_ar_symbols): New static function.
The above is for PR 9520.
* coff-rs6000.c (rs6000coff_vec): Change BFD_JUMP_TABLE_DYNAMIC
from _bfd_nodynamic to _bfd_xcoff.
* libcoff-in.h (_bfd_xcoff_get_dynamic_symtab_upper_bound):
Declare.
(_bfd_xcoff_canonicalize_dynamic_symtab): Declare.
(_bfd_xcoff_get_dynamic_reloc_upper_bound): Declare.
(_bfd_xcoff_canonicalize_dynamic_reloc): Declare.
* libcoff.h: Rebuild.
* xcofflink.c (xcoff_swap_ldrel_in): New static function.
(xcoff_get_section_contents): New static function.
(_bfd_xcoff_get_dynamic_symtab_upper_bound): New function.
(_bfd_xcoff_canonicalize_dynamic_symtab): New function.
(_bfd_xcoff_get_dynamic_reloc_upper_bound): New function.
(xcoff_dynamic_reloc): New static variable.
(_bfd_xcoff_canonicalize_dynamic_reloc): New function.
(xcoff_link_add_dynamic_symbols): Use xcoff_get_section_contents.
(mips_hi16_addr, mips_hi16_addend): Remove.
(mips_hi16_list): New static variable.
(mips_elf_hi16_reloc): Maintain a list of unmatched HI16 relocs.
(mips_elf_lo16_reloc): Process mips_hi16_list.
(mips_elf_relocate_section): Permit an arbitrary number of HI16
relocs before the associated LO16 reloc.
aren't any symbols.
* aoutx.h (NAME(aout,swap_std_reloc_out)): Set r_index to N_ABS,
not 0, for an absolute symbol.
(NAME(aout,swap_ext_reloc_out)): Likewise.
PR 7387.
entry point, not just for DYNAMIC objects.
* sunos.c (sunos_add_dynamic_symbols): Always call
sunos_create_dynamic_sections. If called with a non DYNAMIC
object, don't do anything else.
(sunos_add_one_symbol): Don't call sunos_create_dynamic_sections.
(AC_CHECK_HEADERS): Check for sys/time.h
(AC_HEADER_TIME): Add macro.
* configure: Rebuild.
* sysdep.h: Use TIME_WITH_SYS_TIME and HAVE_SYS_TIME_H
to control what combination of <time> and <sys/time.h>
get included.
* elf.c (_bfd_elf_link_hash_table_init): Initialize hgot field.
* elflink.c (_bfd_elf_create_got_section): Store the
_GLOBAL_OFFSET_TABLE_ hash table entry in the hgot field.
* elf32-sparc.c (elf32_sparc_check_relocs): If the size of the
global offset table goes over 0x1000, set the value of
_GLOBAL_OFFSET_TABLE_ to 0x1000 into the section.
(elf32_sparc_relocate_section): Subtract the offset of
_GLOBAL_OFFSET_TABLE_ when handling GOT relocations.
PR 9323.
generic_link_hash_newfunc. All references changed.
* genlink.h (_bfd_generic_link_hash_newfunc): Declaration
moved here from libbfd-in.h.
* libbfd-in.h: Corresponding changes.
* libbfd.h: Regenerated.
Minor changes suggested by Ian.
(SEC_LINK_DUPLICATES): Define.
(SEC_LINK_DUPLICATES_DISCARD): Define.
(SEC_LINK_DUPLICATES_ONE_ONLY): Define.
(SEC_LINK_DUPLICATES_SAME_SIZE): Define.
(SEC_LINK_DUPLICATES_SAME_CONTENTS): Define.
* bfd-in2.h: Rebuild.
* coffcode.h (sec_to_styp_flags): If COFF_WITH_PE, turn
SEC_LINK_ONCE into IMAGE_SCN_LNK_COMDAT.
(styp_to_sec_flags): If COFF_WITH_PE, turn IMAGE_SCN_LNK_REMOVE
into SEC_EXCLUDE. If IMAGE_SCN_LNK_COMDAT is set, set
SEC_LINK_ONCE, and look through the symbol table for the setting
for SEC_LINK_DUPLICATES.
(coff_write_object_contents): If COFF_WITH_PE, if SEC_LINK_ONCE is
set for a section, find the section symbol in the symbol table,
and set the aux entry based on SEC_LINK_DUPLICATES.
* coffgen.c (coff_print_symbol): Add a space before "checksum".
* coff-arm.c (armcoff_big_vec): If COFF_WITH_PE is defined, add
SEC_LINK_ONCE and SEC_LINK_DUPLICATES to section_flags.
* coff-i386.c (i386coff_vec): Likewise.
* coff-ppc.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Likewise.
* libbfd.h: Rebuilt.
* linker.c (generic_link_hash_newfunc): No longer static.
* coffcode.h (coff_bfd_link_hash_create): Allow specific targets
to override.
* coff-h8300.c: Add two derived hash tables and their associated
funtions and #defines for use by the h8300 linker.
(h8300_reloc16_extra_cases, case R_MEM_INDIRECT): Create entries in
the function vector as needed. Place the address of the function
vector entry in the location specified by the R_MEM_INDIRECT reloc.
Rewrite the vectors section contents as necessary.
(h8300_bfd_link_add_symbols): New function for the h8300 linker.
(coff_bfd_link_add_symbols): Define to use h8300 specific version.
(coff_bfd_link_hash_table_create): Likewise.
Linker changes for function vectors. HMSE.
__attribute__ ((__unused__)) so that -Wall doesn't warn about
them.
(hppa_rebuild_insn): Pass pointer to correct type to
low_sign_unext and dis_assemble_21.
(coff_swap_aux_out): Swap out extra PE x_scn fields.
* coffswap.h (coff_swap_aux_in): Zero out extra PE x_scn fields.
* coffgen.c (coff_print_symbol): If any of the extra PE x_scn
fields is non-zero, print them.
the #ifdef where they are used. Always return a value.
(pe_print_edata): Change fprintf strings and add cast to make
fprintf strings correspond to actual types. Always return a
value.
(pe_print_pdata): Removed unused variable addr_value. Always
return a value.
(pe_print_reloc): Remove unused variable onaline. Make fprintf
strings and arguments correspond. Always return a value.