diff options
author | Alan Modra <amodra@gmail.com> | 2006-01-16 23:15:07 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2006-01-16 23:15:07 +0000 |
commit | e88d958a4fc35cc37c9a26edefed424fce2785eb (patch) | |
tree | 13edae90fd6e16d45cd07e346946e71dbe10ceed /bfd/ChangeLog-2005 | |
parent | 00164b66e9ff0f5f7edbe8b52a443d9d98bc1120 (diff) | |
download | gdb-e88d958a4fc35cc37c9a26edefed424fce2785eb.zip gdb-e88d958a4fc35cc37c9a26edefed424fce2785eb.tar.gz gdb-e88d958a4fc35cc37c9a26edefed424fce2785eb.tar.bz2 |
split changelogs
Diffstat (limited to 'bfd/ChangeLog-2005')
-rw-r--r-- | bfd/ChangeLog-2005 | 5269 |
1 files changed, 5269 insertions, 0 deletions
diff --git a/bfd/ChangeLog-2005 b/bfd/ChangeLog-2005 new file mode 100644 index 0000000..f237278 --- /dev/null +++ b/bfd/ChangeLog-2005 @@ -0,0 +1,5269 @@ +2005-12-31 Valeriy E. Ushakov <uwe@NetBSD.org> + Kaz Kojima <kkojima@rr.iij4u.or.jp> + + * elf32-sh.c (sh_elf_relocate_section): Don't reset relocation + for R_SH_REL32 in shared objects if the symbol is locally called. + +2005-12-31 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_relocate_section): Adjust relocs against + opd section sym when opd has been edited. Use correct addend + when determining branch 'y' bit and branch overflow. Adjust and + save opd relocs for ld -r too. + +2005-12-30 Eric Christopher <echristo@apple.com> + + * elfxx-mips.c (mips_elf_record_global_got_symbol): Add assert + to verify we have a got. + (_bfd_mips_elf_check_relocs): Add R_MIPS_TLS_GOTTPREL to relocs + needing a GOT. + +2005-12-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + * configure.host (hppa*64*-*-hpux*): Set host64 to true. + +2005-12-29 Nick Clifton <nickc@redhat.com> + + * hash.c (bfd_hash_set_default_size): Add more entries to the + hash_size_primes table. + + * stabs.c (_bfd_link_section_stabs): Use bfd_hash_table_init + rather than bfd_hash_table_init_n(...,251) so that the size of the + hash table can be controlled by the user. + +2005-12-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Use info->executable + instead of !info->shared. + +2005-12-27 Jan-Benedict Glaw <jbglaw@lug-owl.de> + + * vaxlinux.h: New file. (TRAD_CORE_EXTRA_SIZE_ALLOWED): Define. + (HOST_MACHINE_ARCH): Define. This allows cross-building vax-linux + hosted binutils. + +2005-12-27 Nathan Sidwell <nathan@codesourcery.com> + + * elf32-mt.c (mt_elf_merge_private_bfd_data): Do not allow mixing + object files from different mt variants. + +2005-12-27 Leif Ekblad <leif@rdos.net> + + * config.bfd: Add support for RDOS targets. + +2005-12-27 Marty Leisner <leisner@rochester.rr.com> + + * dwarf2.c (lookup_symbol_in_function_table): Check for a function + name before passing it to strcmp. + +2005-12-27 Alan Modra <amodra@bigpond.net.au> + + * elf.c (elf_find_function): Don't ignore section syms. + Simplify filename logic. + +2005-12-27 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (add_stub_sym): Pass info rather than htab. + Use different names for pic vs non-pic, '.' instead of '_'. + (allocate_dynrelocs): Adjust add_stub_sym call. + +2005-12-27 Alan Modra <amodra@bigpond.net.au> + + * elf.c (bfd_section_from_shdr): Treat invalid reloc sections as + normal sections rather than returning false. + +2005-12-27 Alan Modra <amodra@bigpond.net.au> + + * coff-h8300.c (h8300_reloc16_extra_cases): Use input section + "output_offset" instead of link order "offset". + * coff-h8500.c (extra_case): Likewise. + * coff-w65.c (w65_reloc16_extra_cases): Likewise. + * coff-z80.c (extra_case): Likewise. + * coff-z8k.c (extra_case): Likewise. + * linker.c (default_indirect_link_order): Likewise, "size" too. + * ecoff.c (ecoff_indirect_link_order): Likewise. + +2005-12-27 Alan Modra <amodra@bigpond.net.au> + + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerate. + * po/SRC-POTFILES.in: Regenerate. + +2005-12-24 Alan Modra <amodra@bigpond.net.au> + + * aix5ppc-core.c: Remove duplicate prototypes. + (xcoff64_core_file_matches_executable_p): Provide implementation + for !AIX_5_CORE. + * corefile.c (generic_core_file_matches_executable_p): Correct + syntax error in prototype. + * libbfd-in.h (generic_core_file_matches_executable_p): Delete. + * libbfd.h: Regenerate. + * bfd-in2.h: Regenerate. + +2005-12-23 Michael Weiser <michael@weiser.dinsnail.net> + + PR 1150 + * elf-bfd.h (struct elf_backend_data): New field + 'elf_backend_ignore_undef_symbol'. + * elfxx-target.h (elf_backend_ignore_undef_symbol): Define to NULL + if not already defined. + (elfNN_bed): Initialise the elf_backend_ignore_undef_symbol field. + * elfxx-mips.c (_bfd_mips_elf_ignore_undef_symbol): New function. + * elfxx-mips.h (elf_backend_ignore_undef_symbol): Define and + prototype. + * elflink.c (elf_link_output_extsym): Check + elf_backend_ignore_undef_symbol before reporting an undefined + symbol in a shared library. + +2005-12-23 Joel Brobecker <brobecker@adacore.com> + + * corefile.c (generic_core_file_matches_executable_p): New function. + * libbfd-in.h (generic_core_file_matches_executable_p): Add + declaration. + * libbfd.h: Regenerate. + * hpux-core.c: ANSIfy function declarations and prototypes. + (thread_section_p): Manually expand bfd_section_name macro + to make it clear that parameter ABFD is not used. + (hpux_core_core_file_matches_executable_p): Delete, replaced + by macro pointing to generic_core_file_matches_executable_p. + + * aix386-core.c: Replace core_file_matches_executable_p null + implementation by generic_core_file_matches_executable_p by + using a macro. + * aix5ppc-core.c: Likewise. + * cisco-core.c: Likewise. + * hppabsd-core.c: Likewise. + * irix-core.c: Likewise. + * lynx-core.c: Likewise. + * mach-o.c: Likewise. + * netbsd-core.c: Likewise. + * osf-core.c: Likewise. + * ptrace-core.c: Likewise. + * sco5-core.c: Likewise. + * trad-core.c: Likewise. + +2005-12-19 David Heine <dlheine@tensilica.com> + + * elf32-xtensa.c (action_list_count, xlate_map_entry, xlate_map, + xlate_offset_with_removed_text, build_xlate_map, free_xlate_map): New. + (check_section_ebb_pcrels_fit): Build new xlate_map, use it and free it + when finished. + +2005-12-16 Nathan Sidwell <nathan@codesourcery.com> + + Second part of ms1 to mt renaming. + * archures.c (bfd_arch_mt): Renamed. + (bfd_mt_arch): Renamed. + (bfd_archures_list): Adjusted. + * bfd-in2.h: Rebuilt. + * config.bfd (mt): Remove special case targ_archs. + (mt-*-elf): Rename bfd_elf32_mt_vec. + * configure: Rebuilt. + * configure.in (bfd_elf32_mt_vec): Renamed. + (selarchs) Remove mt special case. + * cpu-mt.c (arch_info_struct): Adjust. + (bfd_mt_arch): Renamed, adjust. + * elf32-mt.c (mt_reloc_type_lookup, mt_info_to_howto_rela, + mt_elf_relocate_hi16, mt_final_link_relocate, mt_relocate_section, + mt_elf_howto_table): Renamed, adjusted. + (mt_elf_gc_mark_hook, mt_elf_gc_sweep_hook, mt_elf_check_relocs, + elf32_mt_machine, mt_elf_object_p, mt_elf_set_private_flags, + mt_elf_copy_private_bfd_data, mt_elf_merge_private_bfd_data, + mt_elf_print_private_bfd_data): Renamed, adjusted. + (TARGET_BIG_SYM, TARGET_BIG_NAME, ELF_ARCH, ELF_MACHINE_CODE, + ELF_MAXPAGESIZE, elf_info_to_howto, elf_backend_relocate_section, + bfd_elf32_bfd_reloc_type_lookup, elf_backend_gc_mark_hook, + elf_backend_gc_sweep_hook, elf_backend_check_relocs, + eld_backend_object_p, bfd_elf32_bfd_set_private_flags, + bfd_elf32_bfd_copy_private_bfd_data, + bfd_elf32_bfd_merge_private_bfd_data, + bfd_elf32_bfd_print_private_bfd_data): Adjusted. + * libbfd.h: Regenerated. + * reloc.c (BFD_RELOC_MT_PC16, BFD_RELOC_MT_HI16, + BFD_RELOC_MT_LO16, BFD_RELOC_MT_GNU_VTINHERIT, + BFD_RELOC_MT_GNU_VTENTRY, BFD_RELOC_MT_PCINSN8): Renamed. + * targets.c (bfd_elf32_mt_vec): Renamed. + (_bfd_target_vector): Adjusted. + +2005-12-13 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/2008 + * elf.c (_bfd_elf_setup_sections): Return FALSE if + elf_linked_to_section will be set to NULL. + + * format.c (bfd_check_format_matches): Don't check the default + target twice. + +2005-12-13 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_relocate_section): Force tail calls in + shared libs to resolve locally. + +2005-12-12 Paul Brook <paul@codesourcery.com> + + * bfd-in2.h: Regenerate. + * elf32-arm.c (elf32_arm_reloc_map): Add BFD_RELOC_ARM_PCREL_CALL and + BFD_RELOC_ARM_PCREL_JUMP. + (check_use_blx): New function. + (bfd_elf32_arm_process_before_allocation): Don't allocate glue if + using BLX. + (elf32_arm_final_link_relocate): Perform bl<->blx conversion for + R_ARM_CALL and R_ARM_THM. + (elf32_arm_get_eabi_attr_int): New function. + (elf32_arm_size_dynamic_sections): Call check_use_blx. + * libbfd.h: Regenerate. + * reloc.c: Add BFD_RELOC_ARM_PCREL_CALL and BFD_RELOC_ARM_PCREL_JUMP. + +2005-12-12 Nathan Sidwell <nathan@codesourcery.com> + + * Makefile.am (ALL_MACHINES, ALL_MACHINES_CFILES, + BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Replace ms1 with mt. + (cpu_mt.lo, elf32-mt.lo): Update target and dependency names. + * Makefile.in: Rebuilt. + * config.bfd: Replace ms1 arch with mt. + * configure.in: Replace ms1 files with mt files. + * configure: Rebuilt. + * elf32-mt.c: Renamed from elf32-ms1.c. Update include files. + * cpu-mt.c: Renamed from cpu-ms1.c. + +2005-12-12 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_size_stubs): Don't consider non-ppc64 input. + +2005-12-10 Alan Modra <amodra@bigpond.net.au> + + * elflink.c (elf_gc_mark_dynamic_ref_symbol): Use !info-executable + to test for linking shared libs, not info->shared. + +2005-12-08 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (struct ppc_elf_link_hash_table): Add emit_stub_syms. + (ppc_elf_select_plt_layout): Add emit_stub_syms param, save to htab. + (add_stub_sym): New function. + (allocate_dynrelocs): Call add_stub_sym. + (ppc_elf_size_dynamic_sections): Emit __glink and __glink_PLTresolve + when emit_stub_syms. + * elf32-ppc.h (ppc_elf_select_plt_layout): Update prototype. + +2005-12-08 Alan Modra <amodra@bigpond.net.au> + + * reloc.c (enum complain_overflow): Correct comments. + (bfd_check_overflow): Combine complain_overflow_bitfield and + complain_overflow_signed code. + (_bfd_relocate_contents): Likewise. + (bfd_howto_32): Use complain_overflow_dont. + * elf32-d10v.c (elf_d10v_howto_table): Revert 2002-06-17 change. + * bfd-in2.h: Regenerate. + +2005-12-07 H.J. Lu <hongjiu.lu@intel.com> + + * elf.c (assign_section_numbers): Remove extra code in the last + change. + +2005-12-07 H.J. Lu <hongjiu.lu@intel.com> + Andreas Schwab <schwab@suse.de> + + PR binutils/1991 + * elf.c (assign_section_numbers): Always use the output section + when setting up sh_link for SHF_LINK_ORDER. + +2005-12-07 Thiemo Seufer <ths@networkno.de> + H.J. Lu <hongjiu.lu@intel.com> + + PR ld/1932 + * bfd-in.h (bfd_elf_record_link_assignment): Add output_bfd + and hidden arguments. + + * bfd.c (bfd_hide_symbol): Removed. + + * bfd-in2.h: Regenerated. + + * elflink.c (bfd_elf_record_link_assignment): Handle hidden + symbols which were provided by a linker script. + +2005-12-06 Paul Gilliam <pgilliam@us.ibm.com> + + * cpu-powerpc.c (bfd_powerpc_archs): Add ppc 750. + +2005-11-18 Mark Kettenis <kettenis@gnu.org> + + * elf64-hppa.c (elf64_hppa_section_from_phdr): Create .kernel + pseudo-section. Make sure .reg section comes after the proc + section it's generated from. + +2005-12-01 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> + + * elf32-m32r.c (m32r_elf_sweep_hook): Fix an illegal duplicate check. + (m32r_elf_relocate_section): Fix R_M32R_10_PCREL_RELA linkage bug. + (m32r_elf_gc_sweep_hook): Likewise. + (m32r_elf_check_relocs): Likewise. + +2005-11-24 Alan Modra <amodra@bigpond.net.au> + + * elf-bfd.h (_bfd_generic_match_sections_by_type): Don't define. + * libbfd-in.h (_bfd_generic_match_sections_by_type): Delete. + * libbfd.c (_bfd_generic_match_sections_by_type): Delete. + * targets.c (bfd_match_sections_by_type): Don't define. + (BFD_JUMP_TABLE_LINK): Remove _bfd_generic_match_sections_by_type. + * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Likewise. + * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + +2005-11-23 Daniel Jacobowitz <dan@codesourcery.com> + Thiemo Seufer <ths@networkno.de> + + * elf32-mips.c (elf_mips_howto_table_rel): Use rightshift 2 for + R_MIPS_PC16. + (mips_reloc_map): Map BFD_RELOC_16_PCREL_S2 to R_MIPS_PC16. + (bfd_elf32_bfd_reloc_type_lookup): Don't handle + BFD_RELOC_16_PCREL_S2. + * elf64-mips.c (mips_elf64_howto_table_rel): Use rightshift 2 for + R_MIPS_PC16. + (mips_elf64_howto_table_rela): Likewise. + (mips_reloc_map): Map BFD_RELOC_16_PCREL_S2 to R_MIPS_PC16. + (bfd_elf64_bfd_reloc_type_lookup): Don't handle + BFD_RELOC_16_PCREL_S2. + * elfn32-mips.c (elf_mips_howto_table_rel): Use rightshift 2 for + R_MIPS_PC16. + (elf_mips_howto_table_rela): Likewise. + (mips_reloc_map): Map BFD_RELOC_16_PCREL_S2 to R_MIPS_PC16. + (bfd_elf32_bfd_reloc_type_lookup): Don't handle + BFD_RELOC_16_PCREL_S2. + * elfxx-mips.c: Formatting fixes. + (mips_elf_calculate_relocation): Handle R_MIPS_GNU_REL16_S2 + and R_MIPS_PC16 identically. + +2005-11-23 Frederic Riss <frederic.riss@st.com> + + * elfcode.h (elf_object_p): Delay the setting of start_address + until we're sure the backend matches the binary. + +2005-11-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + * som.c (som_decode_symclass): Decode BSF_WEAK symbols in the same + manner as bfd_decode_symclass. + +2005-11-18 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_check_relocs): Don't set has_14bit_branch + on branches to same section. + +2005-11-17 Randolph Chung <tausq@debian.org> + + * elf64-hppa.c (elf64_hppa_object_p): Recognize corefiles under + hppa64-hp-hpux11.11. + (elf64_hppa_section_from_phdr): New function. + (elf_backend_section_from_phdr): Define. + +2005-11-11 Nick Clifton <nickc@redhat.com> + + PR 1150 + * elfxx-mips.c (mips_elf_calculate_relocation): Ignore an + undefined symbol if it is optional. + (_bfd_mips_elf_merge_symbol_attribute): Make sure that the + optional flag is merged as well as the visibility. + * elfxx-mips.h (_bfd_mips_elf_merge_symbol_attribute): Prototype. + (elf_backend_merge_symbol_attribute): Define. + +2005-11-08 Nathan Sidwell <nathan@codesourcery.com> + + Add ms2 support + * archures.c (bfd_mach_ms2): Define. + * cpu-ms1.c (arch_info_struct): Add ms2 stanza. + * elf32-ms1.c (elf32_ms1_machine): Add ms2 case. + (ms1_elf_merge_private_bfd_data): Remove unused variables. Add + correct merging logic, with workaround. + (ms1_elf_print_private_bfd_data): Add ms2 case. + * reloc.c (BFD_RELOC_MS1_PCINSN8): Add ms2 specific reloc. + * libbfd.h: Regenerated. + * bfd-in2.h: Regenerated. + +2005-11-07 Steve Ellcey <sje@cup.hp.com> + + * warning.m4 (AM_BINUTILS_WARNINGS): Default to empty string + if compiler is not GCC. + * configure: Regenerate + +2005-11-07 Steve Ellcey <sje@cup.hp.com> + + * configure: Regenerate after modifying bfd/warning.m4. + +2005-11-07 Steve Ellcey <sje@cup.hp.com> + + * configure.host (ia64-*-hpux*): Set _LARGEFILE64_SOURCE. + +2005-11-03 Daniel Jacobowitz <dan@codesourcery.com> + + * configure.in: Check for fopen64. + * libbfd-in.h (real_fopen): New prototype. + * configure, config.in, libbfd.h: Regenerated. + * bfdio.c (real_fopen): New function. + * opncls.c (bfd_fopen, bfd_fill_in_gnu_debuglink_section): Use it. + * cache.c (bfd_open_file): Likewise. + +2005-11-03 Thiemo Seufer <ths@networkno.de> + + * elfxx-mips.c (mips_elf_calculate_relocation): Handle only + forced local symbols here. + (mips_elf_create_dynamic_relocation): Likewise. + (_bfd_mips_elf_finish_dynamic_symbol): Fix typo in comment. + +2005-11-03 Alan Modra <amodra@bigpond.net.au> + + * elf.c (elf_fake_sections): When calculating tbss size, just use + the last link_order. + (assign_file_positions_for_segments): Likewise. + * elflink.c (bfd_elf_final_link): Likewise. + (elf_reloc_link_order): Correct comment. + +2005-11-02 Alan Modra <amodra@bigpond.net.au> + + PR ld/1775 + * elf32-m68k.c (elf_m68k_finish_dynamic_symbol): Add required + parentheses. + +2005-10-29 H.J. Lu <hongjiu.lu@intel.com> + + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerated. + + * dep-in.sed: Replace " ./" with " ". + +2005-10-29 H.J. Lu <hongjiu.lu@intel.com> + + * hpux-core.c: Include <machine/reg.h> only if HPUX_CORE is + define. + * osf-core.c: Include <sys/core.h> only if OSF_CORE is defined. + * sco5-core.c: Include <sys/paccess.h> and <sys/region.h> only + if SCO5_CORE is defined. + +2005-10-29 Mark Kettenis <kettenis@gnu.org> + + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerate. + +2005-10-28 Joel Brobecker <brobecker@adacore.com> + + From Eric Botcazou <botcazou@adacore.com> + * coffcode.h (coff_compute_section_file_positions): Fix small + error in preprocessor directives. + +2005-10-28 Joel Brobecker <brobecker@adacore.com> + + Mostly from Eric Botcazou <botcazou@adacore.com> + * rs6000-core.c: ANSIfy all function definitions. + Add missing function prototypes. + (ptr_to_uint): New type. + (rs6000coff_core_p): Use it as intermediate step in casts. + (rs6000coff_core_file_matches_executable_p): Likewise. + * xcoff-target.h (rs6000coff_core_p): Fix prototype. + (rs6000coff_core_file_matches_executable_p): Likewise. + +2005-10-28 H.J. Lu <hongjiu.lu@intel.com> + + PR binutils/1472 + * aoutx.h (NAME (aout, machine_type)): Handle + bfd_mach_sparc_v8plus, bfd_mach_sparc_v8plusa, + bfd_mach_sparc_v8plusb, bfd_mach_sparc_v9, bfd_mach_sparc_v9a + and bfd_mach_sparc_v9b. + +2005-10-28 Hans-Peter Nilsson <hp@axis.com> + + PR ld/1567 + * elf32-cris.c (cris_elf_howto_table) <R_CRIS_32>: Set + complain_on_overflow field to complain_overflow_dont. + +2005-10-27 Alan Modra <amodra@bigpond.net.au> + + PR 973 + * cache.c (enum cache_flag): New. + (close_one): Save file mtime. + (bfd_cache_lookup): Add flag arg, adjust all users. + (bfd_cache_lookup_worker): Likewise. + (cache_btell): Use CACHE_NO_OPEN and return abfd->where if file + not open. + (cache_bflush): Similarly, and return success of file not open. + (cache_bseek): Use CACHE_NO_SEEK if SEEK_SET or SEEK_END. + (cache_bstat): Use CACHE_NO_SEEK_ERROR. + + * bfdwin.c (bfd_get_file_window): Seek into file in place of + using bfd_cache_lookup. + + * cache.c (BFD_CACHE_MAX_OPEN): Make private to this file. + (bfd_last_cache, bfd_cache_lookup, bfd_cache_lookup_worker): Likewise. + * libbfd-in.h (bfd_cache_lookup_worker, bfd_last_cache): Delete. + * libbfd.h: Regenerate. + + * hppabsd-core.c (hppabsd_core_core_file_p): Use bfd_stat, not fstat. + * sco5-core.c (sco5_core_file_p): Likewise. + * trad-core.c (trad_unix_core_file_p): Likewise. + + * cache.c: Reorganize file to avoid forward reference. + +2005-10-26 Alan Modra <amodra@bigpond.net.au> + + * cache.c (bfd_cache_lookup_worker): Don't abort on failing to + reopen file. + (cache_btell, cache_bseek, cache_bflush, cache_bstat): Return -1 on + bfd_cache_lookup failure. + (cache_bread, cache_bwrite): Return 0 on the same. + * bfdwin.c (bfd_get_file_window): Likewise. + * hppabsd-core.c (hppabsd_core_core_file_p): Likewise. + * sco5-core.c (sco5_core_file_p): Likewise. + * trad-core.c (trad_unix_core_file_p): Likewise. + +2005-10-26 Alan Modra <amodra@bigpond.net.au> + + * cache.c (bfd_cache_lookup_worker): Use bfd_error_handler + rather than bfd_perror. Print file name. Internationalise. + +2005-10-26 Alan Modra <amodra@bigpond.net.au> + + * cache.c (bfd_open_file): Set bfd_error_system_call on failure + to open file. + (bfd_cache_lookup_worker): Remove check that file pos is in + unsigned long range. Print system error before aborting. + +2005-10-25 Arnold Metselaar <arnold.metselaar@planet.nl> + + * Makefile.am: Add rules for coff-z80 and cpu-z80. + * Makefile.in: Regenerated. + * archures.c: Add bfd_arch_z80 and support for it. + * coffcode.h(coff_set_arch_mach_hook): Add case Z80MAGIC. + (coff_set_flags): Add case bfd_arch_z80. + * config.bfd: Add z80coff_vec. + * configure.in: Add z80coff_vec. + * reloc.c: Add BFD_RELOC_Z80_DISP8 + * targets.c: Add z80coff_vec. + * coff-z80.c: New file + * cpu-z80.c: New file + * configure: Regenerated. + * libbfd.h: Regenerated. + * bfd-in2.h: Regenerated. + +2005-10-26 Alan Modra <amodra@bigpond.net.au> + + PR ld/1540 + * elf-bfd.h (elf_backend_copy_indirect_symbol): Replace pointer to + elf_backend_data with pointer to bfd_link_info. + (_bfd_elf_link_hash_copy_indirect): Likewise. + * elf.c (_bfd_elf_link_hash_copy_indirect): Likewise. Handle + direct and indirect symbols both having dynamic link info. + * elf32-arm.c (elf32_arm_copy_indirect_symbol): Likewise. + * elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise. + * elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise. + * elf32-m32r.c (m32r_elf_copy_indirect_symbol): Likewise. + * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Likewise. + * elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise. + * elf32-sh.c (sh_elf_copy_indirect_symbol): Likewise. + * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise. + * elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise. + * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise. + * elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise. + * elfxx-mips.c (_bfd_mips_elf_copy_indirect_symbol): Likewise. + * elfxx-sparc.c (_bfd_sparc_elf_copy_indirect_symbol): Likewise. + * elflink.c: Adjust all calls to bed->elf_backend_copy_indirect_symbol. + * elfxx-mips.h (_bfd_mips_elf_copy_indirect_symbol): Update prototype. + * elfxx-sparc.h (_bfd_sparc_elf_copy_indirect_symbol): Likewise. + +2005-10-25 Alan Modra <amodra@bigpond.net.au> + + * po/SRC-POTFILES.in: Regenerate. + * po/bfd.pot: Regenerate. + +2005-10-24 Jie Zhang <jie.zhang@analog.com> + + * elf32-bfin.c (bfd_bfin_elf32_create_embedded_relocs): Fix signedness + warning. + +2005-10-24 Bernd Schmidt <bernd.schmidt@analog.com> + + * elf32-bfin.c (bfin_howto_table): Set src_mask to 0 for all relocs. + (bfin_imm16_reloc): Always add in the addend. Don't fetch existing + contents from section. + (bfin_relocate_section): Rework so as to not call special_functions. + Handle the relocation stack here. Treat pcrel24 relocs specially. + +2005-10-24 Alan Modra <amodra@bigpond.net.au> + + * elflink.c (elf_link_input_bfd): Don't use linker_mark and + SEC_EXCLUDE to test for sections dropped from output. Instead, + use bfd_section_removed_from_list on normal sections. Don't + attempt to handle symbols with unknown reserved section indices. + * linker.c (_bfd_generic_link_output_symbols): Don't use + linker_mark to test for symbols belonging to dropped sections. + Do allow absolute symbols. + +2005-10-24 Alan Modra <amodra@bigpond.net.au> + + * elf32-i370.c (i370_elf_fake_sections): Don't set SHF_EXCLUDE on + group sections. + +2005-10-24 Jan Beulich <jbeulich@novell.com> + + * cpu-ia64-opc.c (elf64_ia64_operands): Move memory operand out of + set of indirect operands. + +2005-10-24 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (ppc_elf_fake_sections): Don't set SHF_EXCLUDE on + group sections. + +2005-10-23 H.J. Lu <hongjiu.lu@intel.com> + + * coff-rs6000.c (rs6000coff_vec): Initialize + _bfd_init_private_section_data with + _bfd_generic_init_private_section_data. + (pmac_xcoff_vec): Likewise. + * coff64-rs6000.c (rs6000coff64_vec): Likewise. + (aix5coff64_vec): Likewise. + +2005-10-23 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/1487 + * elf-bfd.h (_bfd_generic_init_private_section_data): New. + (_bfd_elf_init_private_section_data): New. + + * elf.c (elf_fake_sections): Don't set SHF_GROUP for + relocatable link. + (bfd_elf_set_group_contents): Don't handle relocatable link + specially. + (assign_section_numbers): If it isn't called by assembler, + use the output section of elf_linked_to_section for + SHF_LINK_ORDER. + (_bfd_elf_init_private_section_data): New. + (_bfd_elf_copy_private_section_data): Call it. + + * libbfd-in.h (_bfd_generic_init_private_section_data): New. + + * libbfd.c (_bfd_generic_init_private_section_data): New. + + * targets.c (BFD_JUMP_TABLE_COPY): Add + _bfd_generic_init_private_section_data. + (bfd_init_private_section_data): Likewise. + + * bfd-in2.h: Regenerated. + * libbfd.h: Likewise. + +2005-10-23 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (dec_dynrel_count): Don't report errors for local + syms in gc'd sections. + (ppc64_elf_edit_opd): Don't adjust reloc counts when NO_OPD_RELOCS. + (elf_backend_action_discarded): Define. + (ppc64_elf_action_discarded): New function. + +2005-10-19 Paul Brook <paul@codesourcery.com> + + * elf32-arm.c (find_arm_elf_section_entry): New function. + (get_arm_elf_section_data): Use it. + (unrecord_section_with_arm_elf_section_data): Use it. + +2005-10-15 H.J. Lu <hongjiu.lu@intel.com> + + * coff-rs6000.c (rs6000coff_vec): Initialize + _bfd_match_sections_by_type with + _bfd_generic_match_sections_by_type. + (pmac_xcoff_vec): Likewise. + * coff64-rs6000.c (rs6000coff64_vec): Likewise. + (aix5coff64_vec): Likewise. + +2005-10-15 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/1467 + * elf-bfd.h (_bfd_elf_match_sections_by_type): New. + (_bfd_generic_match_sections_by_type): New. Defined. + + * elf.c (_bfd_elf_match_sections_by_type): New. + + * libbfd-in.h (_bfd_generic_match_sections_by_type): New. + + * bfd-in2.h: Regenerated. + * libbfd.h: Likewise. + + * libbfd.c (_bfd_generic_match_sections_by_type): New. + + * targets.c (BFD_JUMP_TABLE_LINK): Initialize + _bfd_match_sections_by_type with + _bfd_generic_match_sections_by_type. + (bfd_target): Add _bfd_match_sections_by_type. + +2005-10-08 Paul Brook <paul@codesourcery.com> + + * elf32-arm.c: Move #include "elf/arm.h" after libbfd.h. + (NUM_KNOWN_ATTRIBUTES): Define. + (aeabi_attribute, aeabi_attribute_list): Define. + (elf32_arm_obj_tdata): Add known_eabi_attributes and + other_eabi_attributes. + (uleb128_size, is_default_attr, eabi_attr_size, + elf32_arm_eabi_attr_size, write_uleb128, write_eabi_attribute, + elf32_arm_set_eabi_attr_contents, elf32_arm_bfd_final_link, + elf32_arm_new_eabi_attr, attr_strdup, elf32_arm_add_eabi_attr_int, + elf32_arm_add_eabi_attr_compat, copy_eabi_attributes, + elf32_arm_merge_eabi_attributes): New functions. + (elf32_arm_copy_private_bfd_data): Copy EABI object attributes. + (elf32_arm_fake_sections): Handle .ARM.attributes. + (elf32_arm_parse_attributes): New function. + (elf32_arm_section_from_shdr): Use it. + (bfd_elf32_bfd_final_link): Define. + +2005-10-06 Daniel Jacobowitz <dan@codesourcery.com> + + * elf32-arm.c (elf32_arm_check_relocs): Avoid aliasing warnings from + GCC. + (elf32_arm_size_dynamic_sections): Likewise. + * ecofflink.c (bfd_ecoff_debug_one_external): Likewise. + * elf32-hppa.c (elf32_hppa_check_relocs): Likewise. + * elf32-m32r.c (m32r_elf_check_relocs): Likewise. + * elf32-m68k.c (elf_m68k_check_relocs): Likewise. + * elf32-ppc.c (ppc_elf_check_relocs): Likewise. + * elf32-s390.c (elf_s390_check_relocs): Likewise. + (elf_s390_size_dynamic_sections): Likewise. + * elf32-sh.c (sh_elf_check_relocs): Likewise. + * elf64-ppc.c (ppc64_elf_check_relocs, dec_dynrel_count) + (ppc64_elf_size_dynamic_sections): Likewise. + * elf64-s390.c (elf_s390_check_relocs): Likewise. + (elf_s390_size_dynamic_sections): Likewise. + * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Likewise. + * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise. + (_bfd_sparc_elf_size_dynamic_sections): Likewise. + * ieee.c (ieee_slurp_section_data): Likewise. + * oasys.c (oasys_slurp_section_data): Likewise. + +2005-10-04 Bob Wilson <bob.wilson@acm.org> + + * archive.c: Add missing SUBSECTION for documentation. + * bfd.c: Likewise. + * cache.c: Likewise. + * corefile.c: Likewise. + * format.c: Likewise. + * init.c: Likewise. + * libbfd.c: Likewise. + * opncls.c: Likewise. + * elf.c: Remove blank line after SECTION heading. + * reloc.c: Change "howto manager" SECTION to a SUBSECTION. + +2005-10-04 Nick Clifton <nickc@redhat.com> + + * elf32-arm.c (get_arm_elf_section_data): Cache the last pointer + matched so that the typical case of scanning for the previous + section to last one can be handled quickly. + +2005-10-03 David Heine <dlheine@tensilica.com> + + * elf32-xtensa.c (relocations_reach): Skip range check for + absolute literals. + +2005-10-03 Alan Modra <amodra@bigpond.net.au> + + * elf.c (_bfd_elf_get_synthetic_symtab): Set BSF_GLOBAL on + synthetic syms. + +2005-09-30 H.J. Lu <hongjiu.lu@intel.com> + + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerated. + * aclocal.m4: Likewise. + +2005-09-30 Catherine Moore <clm@cm00re.com> + + * Makefile.am: Bfin support. + * Makefile.in: Regenerated. + * aclocal.m4: Regenerated. + * archures.c (bfd_mach_bfin): New. + (bfd_arch_bfin): New. + bfd-in.h (bfd_bfin_elf32_create_embedded_relocs): New. + * bfd-in2.h: Regenerated. + * config.bfd: Bfin support. + * configure: Regenerated. + * configure.in: Bfin support. + * libbfd.h: Regenerated. + * reloc.c: Add BFD relocations for Bfin. + * targets.c (bfd_elf32_bfin_vec): New. + * cpu-bfin.c: New file. + * elf32-bfin.c: New file. + +2005-09-30 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc_type_of_stub): Check both func desc and func + entry sym before deciding no stub is needed. + (ppc64_elf_size_stubs): When calculating branch destination, + don't use func desc sym for old ABI objects unless func entry + is undefined. + +2005-09-28 H.J. Lu <hongjiu.lu@intel.com> + + PR binutils/1321 + * elf-bfd.h (_bfd_elf_setup_group_pointers): Renamed to ... + (_bfd_elf_setup_sections): This. + * elf.c: Likewise. + * elfcode.h (elf_object_p): Likewise. + + * elf.c (_bfd_elf_setup_sections): Process SHF_LINK_ORDER. + (_bfd_elf_copy_private_section_data): Likewise. + +2005-09-28 H.J. Lu <hongjiu.lu@intel.com> + + * elflink.c (elf_fixup_link_order): Report locations for mixed + ordered and unordered input sections. + +2005-09-22 James E. Wilson <wilson@specifix.com> + + * dwarf2.c (struct funcinfo): Delete nesting_level field. + (lookup_address_in_function_table): Delete code to set funcinfo + caller_func field. Delete local curr_func. + (scan_unit_for_symbols): New locals nested_funcs, nested_funcs_size. + Delete code setting funcinfo nesting_level field. Add code to set + funcinfo caller_func field. + +2005-09-20 James E. Wilson <wilson@specifix.com> + + * dwarf2.c (find_abstract_instance_name): Don't early exit when name + set. For DW_AT_name case, only set name if not already set. Handle + DW_AT_MIPS_linkage_name. + +2005-09-20 Alan Modra <amodra@bigpond.net.au> + + * elflink.c (_bfd_elf_merge_symbol): Simplify. + +2005-09-19 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc_build_one_stub): Replace assertion that long + branch offset is in range with an error. Print full stub name on + errors. + (ppc_size_one_stub): Print full stub name on errors. + (group_sections): Warn if section size exceeds group size. + (ppc64_elf_size_stubs): Continue relaxing when stub types change. + +2005-09-09 Kevin Buettner <kevinb@redhat.com> + + * elf32-am33lin.c (bfd.h, sysdep.h, elf-bfd.h, elf/mn10300.h): + Include. + (elf32_am33lin_grok_prstatus, elf32_am33lin_grok_psinfo): New + functions. + (elf_backend_grok_prstatus, elf_backend_grok_psinfo): Define. + +2005-09-09 Richard Earnshaw <richard.earnshaw@arm.com> + + * elf32-arm.c (elf32_arm_section_from_shdr): Accept SHT_ARM_PREEMPTMAP + and SHT_ARM_ATTRIBUTES. + +2005-09-08 H.J. Lu <hongjiu.lu@intel.com> + + * elflink.c (elf_get_linked_section_vma): Fix a typo in comment. + * elfxx-ia64.c (elf_backend_link_order_error_handler): Likewise. + +2005-09-08 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/1263 + * elflink.c (elf_link_add_object_symbols): Abort for + --just-symbols on DSO. + +2005-09-08 Paul Brook <paul@codesourcery.com> + + * reloc.c: Rename BFD_RELOC_ARM_SMI to BFD_RELOC_ARM_SMC. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + +2005-09-06 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/1301 + * elflink.c (_bfd_elf_merge_symbol): Don't check undefined + symbol introduced by "ld -u" for TLS. + +2005-09-02 Paul Brook <paul@codesourcery.com> + + * libbdf.h: Regenerate. + * bfd-in2.h: Regenerate. + * reloc.c: Add BFD_RELOC_ARM_T32_CP_OFF_IMM and + BFD_RELOC_ARM_T32_CP_OFF_IMM_S2. + +2005-09-01 Dmitry Diky <diwil@spec.ru> + + * elf32-msp430.c (msp430_elf_relax_delete_bytes): Do not adjust + local symbols and move it to + (msp430_elf_relax_adjust_locals): New function - walk over the + sections in the bfd and adjust relocations as necessary. + +2005-08-31 DJ Delorie <dj@redhat.com> + + * elf32-i386.c (elf_i386_check_relocs): Don't cast a unary & + address operator, as that breaks GCC's strict aliasing rules. + (elf_i386_size_dynamic_sections): Avoid the need for type + punning. + * elf64-x86-64.c (elf_x86_64_check_relocs): Don't cast a unary + & address operator, as that breaks GCC's strict aliasing + rules. + (elf_x86_64_size_dynamic_sections): Avoid the need for type + punning. + +2005-08-30 Phil Edwards <phil@codesourcery.com> + + * config.bfd (i[3-7]86-*-vxworks): Match vxworks* instead. + +2005-08-29 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/1247 + * elfxx-ia64.c (allocate_fptr): Check undefined symbol. + +2005-08-29 Steven J. Hill <sjhill@realitydiluted.com> + + * elfxx-mips.c (_bfd_mips_elf_relocate_section): Initialise + 'value' to avoid compile time warning message. + +2005-08-26 Christian Groessler <chris@groessler.org> + + * coff-z8k.c: (r_jr, r_disp7, r_callr): Fix src_mask and dst_mask + of HOWTO. + (coff_z8k_select_reloc): Remove. + (SELECT_RELOC): Remove. + (coff_z8k_reloc_type_lookup): New function. + (coff_bfd_reloc_type_lookup): Define. + * configure.in: Add cofflink.lo to z8kcoff_vec. + * configure: Regenerate. + * reloc.c: (bfd_reloc_code_type): Add z8k relocations. + (bfd_install_relocation): Don't clear reloc_entry->addend for + coff-z8k target. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + +2005-08-25 Kaz Kojima <kkojima@rr.iij4u.or.jp> + + * elf32-sh.c (sh_elf_get_flags_from_mach): Fix off-by-one error. + +2005-08-24 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/1208 + * elf-hppa.h (elf_hppa_relocate_section): Print out the name + of unresolvable relocation. + * elf-m10300.c (mn10300_elf_relocate_section): Likewise. + * elf32-arm.c (elf32_arm_relocate_section): Likewise. + * elf32-i386.c (elf_i386_relocate_section): Likewise. + * elf32-m32r.c (m32r_elf_relocate_section): Likewise. + * elf32-m68k.c (elf_m68k_relocate_section): Likewise. + * elf32-s390.c (elf_s390_relocate_section): Likewise. + * elf32-sh.c (sh_elf_relocate_section): Likewise. + * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise. + * elf64-s390.c (elf_s390_relocate_section): Likewise. + * elf64-sh64.c (sh_elf64_relocate_section): Likewise. + * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. + * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise. + +2005-08-18 Kaz Kojima <kkojima@rr.iij4u.or.jp> + + * config.bfd: Add bfd_elf32_shnbsd_vec and bfd_elf32_shlnbsd_vec + to targ_selvecs for sh5*-*-netbsd* and sh64*-*-netbsd*. + +2005-08-18 Alan Modra <amodra@bigpond.net.au> + + * coff-a29k.c: Delete. + * cpu-a29k.c: Delete. + * Makefile.am: Remove mention of a29k files. + * aoutf1.h: Remove a29k support. + * aoutx.h: Likewise. + * archures.c: Likewise. + * coffcode.h: Likewise. + * config.bfd: Likewise. + * configure.in: Likewise. + * ieee.c: Likewise. + * mipsbsd.c: Likewise. + * pdp11.c: Likewise. + * sparclynx.c: Likewise. + * targets.c: Likewise. + * Makefile.in: Regenerate. + * configure: Regenerate. + * bfd-in2.h: Regenerate. + * po/SRC-POTFILES.in: Regenerate. + +2005-08-18 Alan Modra <amodra@bigpond.net.au> + + * elf-m10300.c (_bfd_mn10300_elf_adjust_dynamic_symbol): Warn on + zero size dynamic variables. + * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Likewise. + * elf32-cris.c (elf_cris_adjust_dynamic_symbol): Likewise. + * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise. + * elf32-i370.c (i370_elf_adjust_dynamic_symbol): Likewise. + * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise. + * elf32-m32r.c (m32r_elf_adjust_dynamic_symbol): Likewise. + * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise. + * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise. + * elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise. + * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Likewise. + * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Likewise. + * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise. + * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise. + * elf64-sh64.c (sh64_elf64_adjust_dynamic_symbol): Likewise. + * elf64-x86-64.c (elf64_x86_64_adjust_dynamic_symbol): Likewise. + * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise. + +2005-08-17 H.J. Lu <hongjiu.lu@intel.com> + + PR binutils/1179 + * dwarf2.c (_bfd_dwarf2_find_nearest_line): Use section lma + instead of vma. + (_bfd_dwarf2_find_line): Likewise. + +2005-08-17 Alan Modra <amodra@bigpond.net.au> + + * elf64-mmix.c (mmix_elf_add_symbol_hook): Mark reg section + SEC_LINKER_CREATED. + (mmix_elf_final_link): Check that section hasn't already been + removed before removing. + * mmo.c (mmo_scan): Mark reg contents section SEC_LINKER_CREATED. + (mmo_canonicalize_symtab): Likewise for reg section. + +2005-08-17 Alan Modra <amodra@bigpond.net.au> + + * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Move assert later. + * elfxx-mips.c (_bfd_mips_elf_hide_symbol): Cope with being called + without any got section. + +2005-08-17 Danny Smith <dannysmith@users.sourceforge.net> + + * cofflink.c (_bfd_coff_generic_relocate_section): Correct + comment. + +2005-08-17 Alan Modra <amodra@bigpond.net.au> + + * elflink.c (_bfd_elf_define_linkage_sym): Don't call + bfd_elf_link_record_dynamic_symbol. Call elf_backend_hide_symbol. + (_bfd_elf_link_renumber_dynsyms): Formatting. + (struct elf_gc_sweep_symbol_info): New. + (elf_gc_sweep_symbol): Rewrite. + (elf_gc_sweep): Adjust params and elf_gc_sweep_symbol call. + Call _bfd_elf_link_renumber_dynsyms. + (bfd_elf_gc_sections): Adjust elf_gc_sweep call. + +2005-08-16 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_edit_opd): Don't call dec_dynrel_count + when relocatable. + +2005-08-15 Bob Wilson <bob.wilson@acm.org> + + * elf32-xtensa.c (ELF_MACHINE_CODE, ELF_MACHINE_ALT1): Swap values + of EM_XTENSA and EM_XTENSA_OLD. + +2005-08-16 Alan Modra <amodra@bigpond.net.au> + + * elf-bfd.h (_bfd_elf_define_linkage_sym): Declare. + * elflink.c (_bfd_elf_define_linkage_sym): New function, extracted + from.. + (_bfd_elf_create_got_section): ..here. + (_bfd_elf_link_create_dynamic_sections): Call it for _DYNAMIC. + (_bfd_elf_create_dynamic_sections): ..and _PROCEDURE_LINKAGE_TABLE_. + * elf-m10300.c (_bfd_mn10300_elf_create_got_section): Use + _bfd_elf_define_linkage_sym. + * elf32-frv.c (_frv_create_got_section): Likewise. + * elf64-alpha.c (elf64_alpha_create_dynamic_sections): Likewise. + +2005-08-15 Paul Brook <paul@codesourcery.com> + + * elf32-arm.c (elf32_arm_howto_table_1): Make R_ARM_PLT32 the same as + R_ARM_PC24. + +2005-08-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + PR ld/1135 + * elf64-hppa.c (elf64_hppa_special_sections): Add flag definitions for + .plt, .dlt, .sdata, .sbss and .tbss. + +2005-08-12 Dmitry Diky <diwil@spec.ru> + + * elf32-msp430.c (msp430_elf_relax_delete_bytes): Adjust relocations + referenced by .section + DISPLACEMENT. + +2005-08-10 James E. Wilson <wilson@specifix.com> + + * dwarf2.c (scan_unit_for_symbols, case DT_AT_location): Verify that + DW_OP_addr is only opcode in location before using it. + +2005-08-09 H.J. Lu <hongjiu.lu@intel.com> + + * elfxx-ia64.c (elfNN_ia64_final_link): Reset gp. + +2005-08-09 Rodney Brown <rbrown@bravurasolutions.com.au> + Nick Clifton <nickc@redhat.com> + + * aix5ppc-core.c (xcoff64_core_p): Constify return_value + variable. Also, do not use core_hdr macro as it evaluates to a + cast of an lvalue which is no longer supported by GCC 4.0. + +2005-08-08 Eric Dönges <Eric.Doenges@betty-tv.com> + + * archures.c (bfd_mach_msp21): New MSP430 machine number. + * bfd-in2.h: Regenerate. + * cpu-msp430.c (arch_info_struct): Add support for msp430x21xx + variants. + +2005-08-07 Nick Clifton <nickc@redhat.com> + Paul Brook <paul@codesourcery.com> + + PR 1147 + * elf32-arm.c (bfd_elf32_close_and_cleanup): Define. + (elf32_arm_close_and_cleanup): New function - walk over the + sections in the bfd that is being closed removing them from the + list of recorded sections. + (unrecord_section_via_map_over_sections): New helper function. + (record_section_with_arm_elf_section_data): Call bfd_malloc + instead of bfd_alloc. Remove unneeded abfd parameter. + (elf32_arm_new_section_hook): Do not pass bfd to + record_section_with_arm_elf_section_data. + + * elfxx-target.h (bfd_elfNN_close_and_cleanup): Only define if not + already defined by the target. + +2005-08-05 Fred Fish <fnf@specifix.com> + + * dwarf2.c (read_rangelist): Use addr_size instead of offset_size + to determine how many bytes to read from each rangelist entry. + +2005-08-05 H.J. Lu <hongjiu.lu@intel.com> + + * bfd.c (bfd_hide_symbol): New. + * bfd-in2.h: Regenerated. + +2005-08-04 H.J. Lu <hongjiu.lu@intel.com> + + * elf64-x86-64.c (elf64_x86_64_merge_symbol): When mixing a + large common symbol and a normal common symbol, always turn + the large common symbol into a normal one. + +2005-08-04 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (struct elf_linker_section): Replace sym_val field + with sym. + (ppc_elf_relocate_section): Adjust for above. + (create_sdata_sym): New function. + (ppc_elf_create_linker_section): Call it. + (ppc_elf_check_relocs): Correct has_sda_refs and non_got_refs. + Create sdata syms for all SDA relocs. + (ppc_elf_adjust_dynamic_symbol): Don't special case _SDA_BASE_ + and _SDA2_BASE_. + (ppc_elf_set_sdata_syms): Delete. + * elflink.c (bfd_elf_size_dynamic_sections): Don't create DT_INIT + and DT_FINI tags unless associated section has input. + (bfd_elf_set_symbol, _bfd_elf_provide_symbol): Delete. + (_bfd_elf_provide_section_bound_symbols): Delete. + * bfd-in.h (_bfd_elf_provide_symbol): Delete. + (_bfd_elf_provide_section_bound_symbols): Delete. + * bfd-in2.h: Regenerate. + +2005-08-04 Alan Modra <amodra@bigpond.net.au> + + * elflink.c (fix_syms, _bfd_elf_fix_excluded_sec_syms): Move to.. + * linker.c (fix_syms, _bfd_fix_excluded_sec_syms): ..here. + * bfd-in.h (_bfd_fix_excluded_sec_syms): Rename. + * bfd-in2.h: Regenerate. + +2005-08-03 H.J. Lu <hongjiu.lu@intel.com> + + * elfxx-ia64.c (elfNN_ia64_relax_section): Resize .rela.got + only if it isn't NULL. + +2005-08-03 H.J. Lu <hongjiu.lu@intel.com> + + * elf32-i386.c (elf_howto_table): Undo the overflow change for + R_386_PC16 made on 2005-07-18. + + * elf64-x86-64.c (x86_64_elf_howto_table): Undo the overflow + change for R_X86_64_PC16 made on 2005-07-18. + +2005-08-03 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (struct ppc_elf_link_hash_table): Remove hgot. Use + elf.hgot throughout file. + +2005-08-03 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (ppc_elf_size_dynamic_sections): Correct value of + _GLOBAL_OFFSET_TABLE_ for > 32k GOT. + +2005-08-02 Andreas Schwab <schwab@suse.de> + + * elfxx-ia64.c (struct elfNN_ia64_allocate_data): Add only_got. + (elfNN_ia64_relax_section): Reallocate .rela.got when .got has + changed. + (allocate_dynrel_entries): Look only at GOT relocations when + only_got is true. + (elfNN_ia64_size_dynamic_sections): Set only_got to false before + calling allocate_dynrel_entries. + +2005-08-02 Nick Clifton <nickc@redhat.com> + + PR 1147 + * elf32-arm.c (struct _arm_elf_section_data): Turn into a typedef + and make the mapcount field unsigned. + (struct section_list): New: Used to keep track of which sections + have an _arm_elf_section_data structure. + (record_section_with_arm_elf_section_data): New function. + (get_arm_elf_section_data): New function. + (unrecord_section_with_arm_elf_section_data): New function. + (elf32_arm_output_symbol_hook): Use get_arm_elf_section_data. + (elf32_arm_new_section_hook): Call + record_section_with_arm_elf_section_data. + (elf32_arm_write_section): Use get_arm_elf_section_data and + unrecord_section_with_arm_elf_section_data. + +2005-08-01 Richard Sandiford <richard@codesourcery.com> + + * elfxx-mips.c (mips_mach_extends_p): Treat MIPS64 as an extension + of MIPS32 and MIPS64r2 as an extension of MIPS32r2. + +2005-07-30 David Daney <ddaney@avtrex.com> + + * elflink.c (elf_gc_sweep): Set dynsymcount to correct value. + +2005-07-29 David Daney <ddaney@avtrex.com> + + * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Ignore _gp_disp + if it is in the *ABS* section. + +2005-07-29 Paul Brook <paul@codesourcery.com> + + * reloc.c: Add BFD_RELOC_ARM_T32_ADD_PC12. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + +2005-07-29 Paul Brook <paul@codesourcery.com> + + * reloc.c (BFD_RELOC_ARM_T32_IMM12): Add. + * bfd-in2.h: Regeenrate. + * libbfd.h: Regenerate. + +2005-07-29 Pavel Kankovsky <peak@argo.troja.mff.cuni.cz> + + * peXXigen.c (pe_print_edata): Compute the size of the export + table from the size field in the DataDictionary and not the size + of the section. Some linkers embed the export table inside a + larger section. + +2005-07-29 Alan Modra <amodra@bigpond.net.au> + + * elf-bfd.h (struct elf_backend_data): Add action_discarded. + (enum action_discarded): Move from.. + * elflink.c (enum action_discarded): ..here. + (_bfd_elf_default_action_discarded): Rename from elf_action_discarded. + Remove target specific section checks. + (elf_link_input_bfd): Adjust. + * elfxx-target.h (elf_backend_action_discarded): Define. + (elfNN_bed): Init new field. + * bfd-in.h (_bfd_elf_default_action_discarded): Declare. + * bfd-in2.h: Regenerate. + * elf-hppa.h (elf_hppa_action_discarded): New function. + * elf32-hppa.c (elf_backend_action_discarded): Define. + * elf64-hppa.c (elf_backend_action_discarded): Define. + * elf32-ppc.c (ppc_elf_action_discarded): New function. + (elf_backend_action_discarded): Define. + +2005-07-27 Alan Modra <amodra@bigpond.net.au> + + * elflink.c (fix_syms): Handle symbols defined in input sections. + +2005-07-27 Jan Beulich <jbeulich@novell.com> + + * elf64-x86-64.c (R_X86_64_standard, R_X86_64_vt_offset): New. + (elf64_x86_64_info_to_howto): Use them. + +2005-07-27 Alan Modra <amodra@bigpond.net.au> + + * elflink.c (_bfd_elf_merge_symbol): Skip weak redefinition + regardless of strength of previous definition. + +2005-07-26 Alan Modra <amodra@bigpond.net.au> + + * elflink.c (elf_gc_mark_dynamic_ref_symbol): Handle -shared. + (bfd_elf_gc_sections): Allow -gc-sections when -shared. + * elf32-ppc.c (ppc_elf_gc_sweep_hook): Correct for -shared. + +2005-07-26 Alan Modra <amodra@bigpond.net.au> + + * elflink.c (elf_gc_sweep): Move gcc_except_table code.. + (bfd_elf_gc_sections): ..to here. + +2005-07-25 DJ Delorie <dj@redhat.com> + + * reloc.c: Remove unused M32C relocs, add BFD_RELOC_M32C_HI8. + * libbfd.h: Regenerate. + * bfd-in2.h: Regenerate. + + * elf32-m32c.c (m32c_elf_howto_table): Add R_M32C_8, R_M32C_LO16, + R_M32C_HI8, R_M32C_HI16. + (m32c_reloc_map): Likewise. + (m32c_elf_relocate_section): Add R_M32C_HI8 and R_M32C_HI16. + +2005-07-25 Jan Hubicka <jh@suse.cz> + H.J. Lu <hongjiu.lu@intel.com> + + * elf-bfd.h (_bfd_elf_large_com_section): New. + * elf.c (_bfd_elf_large_com_section): New. Defined. + + * elf64-x86-64.c (elf64_x86_64_add_symbol_hook): New. + (elf64_x86_64_elf_section_from_bfd_section): New. + (elf64_x86_64_symbol_processing): New. + (elf64_x86_64_common_definition): New. + (elf64_x86_64_common_section_index): New. + (elf64_x86_64_common_section): New. + (elf64_x86_64_merge_symbol): New. + (elf64_x86_64_additional_program_headers): New. + (elf64_x86_64_special_sections): New. + (elf_backend_section_from_bfd_section): New. Defined. + (elf_backend_add_symbol_hook): Likewise. + (elf_backend_common_section_index): Likewise. + (elf_backend_common_section): Likewise. + (elf_backend_common_definition): Likewise. + (elf_backend_merge_symbol): Likewise. + (elf_backend_special_sections): Likewise. + (elf_backend_additional_program_headers): Likewise. + +2005-07-25 H.J. Lu <hongjiu.lu@intel.com> + + * elf-bfd.h (elf_backend_data): Add common_definition, + common_section_index, common_section, and merge_symbol. + (_bfd_elf_common_definition): New. + (_bfd_elf_common_section_index): New. + (_bfd_elf_common_section): New. + + * elf.c (elf_fake_sections): Don't clear sh_flags. + + * elflink.c (_bfd_elf_merge_symbol): Call backend merge_symbol + if it is available. + (is_global_data_symbol_definition): Call backend + common_definition instead of checking SHN_COMMON. + (elf_link_add_object_symbols): Likewise. + (elf_link_output_extsym): Call backend common_section_index + for common section index. + (_bfd_elf_common_definition): New. + (_bfd_elf_common_section_index): New. + (_bfd_elf_common_section): New. + + * elfxx-target.h (elf_backend_common_definition): New. + (elf_backend_common_section_index): New. + (elf_backend_common_section): New. + (elf_backend_merge_symbol): New. + (elfNN_bed): Initialize common_definition, common_section_index, + common_section, and merge_symbol. + + * section.c (BFD_FAKE_SECTION): New. + (STD_SECTION): Use it. + * bfd-in2.h: Regenerated. + +2005-07-23 Olaf Hering <olh@suse.de> + + * elflink.c (elf_link_input_bfd): Add '\n' for linker einfo + callback. + +2005-07-21 Ralf Corsepius <ralf.corsepius@rtems.org> + + * config.bfd: Remove i[3-7]86-*-rtemself*. + Remove sparc-*-rtemself*. + +2005-07-22 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> + + * elf32-m32r.c (m32r_elf_check_relocs): Fix pc count for + R_M32R_REL32. + +2005-07-21 Ben Elliston <bje@gnu.org> + + * Makefile.am (BFD32_BACKENDS): Remove cf-m68klynx.lo. + (BFD32_BACKENDS): Likewise, remove m68klynx.lo. + (BFD32_BACKENDS_CFILES): Remove cf-m68klynx.c, m68klynx.c. + (cf-m68klynx.lo, m68klynx.lo): Remove targets. + * Makefile.in: Regenerate. + * cf-m68klynx.c: Remove. + * m68klynx.c: Likewise. + * configure.in (m68klynx_aout_vec): Remove vector. + (m68klynx_coff_vec): Likewise. + * configure: Regenerate. + * targets.c (m68klynx_aout_vec): Remove extern. + (m68klynx_coff_vec): Likewise. + (_bfd_target_vector): Remove m68klynx_{aout,coff}_vec. + * po/SRC-POTFILES.in: Remove cf-m68klynx.c, m68klynx.c. + +2005-07-20 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> + + * elf32-m32r.c (m32r_elf_howto_table): Support R_M32R_REL32. + (m32r_reloc_map): Likewise. + (m32r_elf_relocate_section): Likewise. + (m32r_elf_gc_sweep_hook): Likewise. + (m32r_elf_check_relocs): Likewise. + +2005-07-18 Nick Clifton <nickc@redhat.com> + + * reloc.c: Add M32C and MS1 relocs. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + +2005-07-18 Nick Clifton <nickc@redhat.com> + + * config.bfd: Move m32c entry to correct location. + * archures.c: Likewise. + * configure.in: Likewise. + * configure: Regenerate. + * targets.c: Move ms1 vector to correct location. + +2005-07-18 Jan Beulich <jbeulich@novell.com> + + * elf32-i386.c (elf_howto_table): Adjust overflow complaint handler + for R_386_PC16. + * elf64-x86-64.c (x86_64_elf_howto_table): Adjust overflow complaint + handler for R_X86_64_PC16, R_X86_64_8, and R_X86_64_DTPOFF. + +2005-07-16 Eric Botcazou <ebotcazou@libertysurf.fr> + + PR ld/1021 + PR ld/1031 + * elflink.c (elf_link_add_object_symbols): Also append the version + name to non-hidden absolute symbols that are functions. + +2005-07-16 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (ppc_elf_set_sdata_syms): Return void. Remove hack + for zero size sections. Don't set .sbss syms here. + * elf32-ppc.h (ppc_elf_set_sdata_syms): Adjust prototype. + +2005-07-16 Alan Modra <amodra@bigpond.net.au> + + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerate. + +2005-07-15 Bob Wilson <bob.wilson@acm.org> + + * elf32-xtensa.c (vsprint_msg): Add prototype. + (build_encoding_error_message): Delete. Code moved into.... + (elf_xtensa_do_reloc): ....here, and changed to give better + error messages for out of range literals. + +2005-07-15 Alan Modra <amodra@bigpond.net.au> + + * elflink.c (bfd_elf_record_link_assignment): Remove output_bfd param. + (_bfd_elf_provide_symbol): Allow redefinition of weak syms and those + defined in output sections. Call bfd_elf_record_link_assignment. + * bfd-in.h (bfd_elf_record_link_assignment): Update prototype. + * bfd-in2.h: Regenerate. + +2005-07-14 Jim Blandy <jimb@redhat.com> + + Add support for m32c-*-elf (Renesas m32c and m16c). + * Makefile.am (ALL_MACHINES): Add cpu-m32c.lo. + (ALL_MACHINES_CFILES): Add cpu-m32c.c. + (BFD32_BACKENDS): Add elf32-m32c.lo. + (BFD32_BACKENDS_CFILES): Add elf32-m32c.c. + (cpu-m32c.lo, elf32-m32c.lo): New rules, generated by 'make dep-am'. + * Makefile.in: Regenerated. + * archures.c (bfd_arch_m32c, bfd_mach_m16c, bfd_mach_m32c): New + arch and mach codes. + (bfd_m32c_arch): New arch info object. + (bfd_archures_list): List bfd_m32c_arch. + * bfd-in2.h: Regenerated. + * config.bfd: Add case for the m32c. + * configure.in: Add case for the m32c. + * configure: Regenerated. + * cpu-m32c.c, elf32-m32c.c: New files. + * libbfd.h: Regenerated. + * targets.c (bfd_elf32_m32c_vec): Declare. + (_bfd_target_vector): List bfd_elf32_m32c_vec. + +2005-07-14 Alan Modra <amodra@bigpond.net.au> + + * bfd-in.h (_bfd_elf_fix_excluded_sec_syms): Declare. + (_bfd_elf_provide_section_bound_symbols): Remove param name. + Formatting. + * bfd-in2.h: Regenerate. + * elflink.c (bfd_elf_gc_sections): Don't call generic function. + (_bfd_elf_provide_symbol): Formatting. + (_bfd_elf_provide_section_bound_symbols): Remove all hacks, just + create section relative syms. + (fix_syms, _bfd_elf_fix_excluded_sec_syms): New functions. + * elf32-ppc.c (ppc_elf_set_sdata_syms): Use + _bfd_elf_provide_section_bound_symbols. + * reloc.c (bfd_mark_used_section): Delete. + (bfd_generic_gc_sections): Don't call the above. + +2005-07-14 Paul Woegerer <paul.woegerer@nsc.com> + + PR 1063 + * cache.c (bfd_last_cache): Initialise to NULL. + +2005-07-14 Daniel Marques <marques@cs.cornell.edu> + Nick Clifton <nickc@redhat.com> + + * coff-alpha.c (alpha_ecoff_bad_format_hook): Detect compressed + Alpha binaries and issue a helpful error message. + (alpha_ecoff_swap_reloc_out): Increase maximum allowed internal + symbol index to 15 to allow for binaries produced by DEC + compilers. + +2005-07-13 Steve Ellcey <sje@cup.hp.com> + + * bfd.m4 (BFD_NEED_DECLARATION): Remove. + +2005-07-12 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_relocate_section): Don't use a plt stub + when !can_plt_call. + +2005-07-12 Alan Modra <amodra@bigpond.net.au> + + * elf32-xtensa.c (bfd_elf_xtensa_reloc): Warning fix. + +2005-07-12 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (ppc_elf_set_sdata_syms): Correct __sbss_start value. + +2005-07-11 H.J. Lu <hongjiu.lu@intel.com> + + * elflink.c (_bfd_elf_symbol_refs_local_p): Revert the last + change. + +2005-07-08 Paul Koning <pkoning@equallogic.com> + + * dwarf2.c (read_address): Check sign_extend_vma to handle targets + where addresses are sign extended. + +2005-07-08 Ralf Corsepius <ralf.corsepius@rtems.org> + + * config.bfd: Mark i960-*-rtems*, or32-*-rtems* as obsolete. + Mark a29k-*rtems*, hppa*-*-rtems*, *-go32-rtems*, + i[3-7]86*-*-rtemscoff*, mips*el-*-rtems*, powerpcle-*-rtems*, + sparc*-*-rtemsaout* as removed + +2005-07-08 Alan Modra <amodra@bigpond.net.au> + + * elf-hppa.h (elf_hppa_final_link): Use gp val of zero when none + of the usual sections are found. + * elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Tidy. + Strip .dynbss if it is zero size. + * elf32-arm.c (elf32_arm_size_dynamic_sections): Likewise. + * elf32-cris.c (elf_cris_size_dynamic_sections): Likewise. + * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise. + * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise, and + .dynsbss. + (i370_elf_finish_dynamic_sections): Don't attempt to write .got + when it is zero size. + * elf32-i386.c (elf_i386_size_dynamic_sections): Correct handling + of .dynbss and zero size sections. + * elf32-m32r.c (m32r_elf_size_dynamic_sections): Strip .dynbss if + it is zero size. + * elf32-m68k.c (elf_m68k_size_dynamic_sections): Tidy. Strip + .dynbss if zero size. + * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise, .dynsbss + too. + * elf32-s390.c (elf_s390_size_dynamic_sections): Likewise. + * elf32-sh.c (sh_elf_size_dynamic_sections): Likewise. + * elf32-vax.c (elf_vax_size_dynamic_sections): Likewise. + * elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Tidy. Strip + .plt.* and .got.plt.* if zero size. + * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Tidy. Strip + .got* and .dynbss if zero size. + * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Tidy. Strip + * elf64-ppc.c (create_linkage_sections): Create branch lookup table + in .data.rel.ro.brlt or .rodata.brlt, and similarly for associated + reloc section. + (create_got_section): Always create new .got and .rela.got sections. + (ppc64_elf_size_dynamic_sections): Tidy. Strip .dynbss if zero size. + * elf64-s390.c (elf_s390_size_dynamic_sections): Likewise. + * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise. + * elf64-x86-64.c (elf64_x86_64_size_dynamic_sections): Handle + dynamic bss sections correctly. + * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Tidy. + * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Tidy. Strip + .dynbss if zero size. + +2005-07-08 Ben Elliston <bje@au.ibm.com> + + * elf32-xtensa.c: Include <stdarg.h> unconditionally, not only + when ANSI_PROTOTYPES is defined. Remove #ifdef logic. + +2005-07-07 H.J. Lu <hongjiu.lu@intel.com> + + * elf-bfd.h (elf_backend_data): Add special_sections. + + * elf.c (_bfd_elf_get_sec_type_attr): Check special_sections + first. + + * elf32-arm.c (elf_backend_get_sec_type_attr): Removed. + (elf_backend_special_sections): New. Defined. + * elf32-m32r.c: Likewise. + * elf32-m68hc11.c: Likewise. + * elf32-m68hc12.c: Likewise. + * elf32-mcore.c: Likewise. + * elf32-sh64.c: Likewise. + * elf32-v850.c: Likewise. + * elf32-xtensa.c: Likewise. + * elf64-alpha.c: Likewise. + * elf64-hppa.c: Likewise. + * elf64-ppc.c: Likewise. + * elf64-sh64.c: Likewise. + * elfxx-ia64.c: Likewise. + * elfxx-mips.c: Likewise. + * elfxx-mips.h: Likewise. + + * elfxx-target.h (elf_backend_special_sections): New. + (elfNN_bed): Initialize special_sections. + +2005-07-07 Bob Wilson <bob.wilson@acm.org> + + * xtensa-modules.c: Update tables with Xtensa MMU features. + +2005-07-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * elf32-xtensa.c (vsprint_msg): Add format attribute. Fix + format bugs. + * vms.h (_bfd_vms_debug): Add format attribute. + (_bfd_vms_debug, _bfd_hexdump): Fix typos. + +2005-07-07 H.J. Lu <hongjiu.lu@intel.com> + + PR 975 + * elflink.c (_bfd_elf_symbol_refs_local_p): Only undefined + symbol with default visibility is local. + +2005-07-07 Ben Elliston <bje@gnu.org> + + * config.bfd: Mark m68*-*-rtemscoff as obsolete. + +2005-07-06 H.J. Lu <hongjiu.lu@intel.com> + + * dwarf2.c (varinfo): Add addr. + (lookup_symbol_in_variable_table): Also check addr. + (scan_unit_for_symbols): Set addr for variable. + (comp_unit_find_line): Updated. + +2005-07-06 Nick Clifton <nickc@redhat.com> + + * coff-alpha.c (alpha_adjust_reloc_in): Issue an informative error + message if an unknown reloc is encountered. + (alpha_relocate_section): Likewise. + + * ecoff.c (_bfd_ecoff_write_object_contents): Cope with a reloc + with a missing howto field. + +2005-07-06 Alan Modra <amodra@bigpond.net.au> + + * po/SRC-POTFILES.in: Add cpu-ms1.c, elf32-ms1.c, elf-vxworks.c, + elfxx-sparc.c. + +2005-07-05 Paul Brook <paul@codesourcery.com> + + * elf32-ppc.c (ppc_elf_vxworks_special_sections): Remove. + (ppc_elf_vxworks_get_sec_type_attr): New function. + (elf_backend_special_sections): Remove vxwords definition. + (elf_backend_get_sec_type_attr): Define for vxworks. + +2005-07-05 Nick Clifton <nickc@redhat.com> + + * elf64-ppc.c (ppc64_elf_info_to_howto): Fix typo. + +2005-07-05 Paul Brook <paul@codesourcery.com> + + * config.bfd: Add separate case for ppc-vxworks. + * configure: Regenerate. + * configure.in: Include elf-vxworks.lo on ppc targets. + * elf-vxworks.c (elf_vxworks_final_write_processing): Handle + .rela.plt.unloaded. + * elf32-ppc.c: Add VxWorks target vec. Include elf-vxworks.h. + (PLT_ENTRY_SIZE, PLT_INITIAL_ENTRY_SIZE, PLT_SLOT_SIZE): Remove. + (VXWORKS_PLT_ENTRY_SIZE, ppc_elf_vxworks_plt_entry, + ppc_elf_vxworks_pic_plt_entry, VXWORKS_PLT_INITIAL_ENTRY_SIZE, + ppc_elf_vxworks_plt0_entry, ppc_elf_vxworks_pic_plt0_entry, + VXWORKS_PLT_NON_JMP_SLOT_RELOCS, VXWORKS_PLTRESOLVE_RELOCS, + VXWORKS_PLTRESOLVE_RELOCS_SHLIB): New. + (ppc_elf_link_hash_table): Add srelplt2, sgotplt, hgot, hplt, + is_vxworks, plt_entry_size, plt_slot_size, plt_initial_entry_size. + (ppc_elf_link_hash_table_create): Initialize hadtab plt fields. + (ppc_elf_create_got): Create .got.plt for VxWorks. + (ppc_elf_create_dynamic_sections): Create unloaded plt relocation + section for VxWorks. + (ppc_elf_select_plt_layout): Handle VxWorks plt format. + (allocate_got): VxWorks does not need a got header. + (allocate_dynrelocs): Handle VxWorks plt format. + (ppc_elf_size_dynamic_sections): Save _G_O_T_ and _P_L_T_ symbols for + VxWorks. Handle VxWorks plt/got. + (ppc_elf_finish_dynamic_sections): Fill in VxWorks plt. + (ppc_elf_vxworks_special_sections): New. + (ppc_elf_vxworks_link_hash_table_create, + ppc_elf_vxworks_add_symbol_hook, + elf_i386_vxworks_link_output_symbol_hook, + ppc_elf_vxworks_final_write_processing): New functions. + * targets.c (bfd_elf32_powerpc_vxworks_vec): Declare. + (_bfd_target_vector): Use it. + +2005-07-05 Jakub Jelinek <jakub@redhat.com> + + * libbfd-in.h (struct artdata): Add extended_names_size field. + * libbfd.h: Rebuilt. + * coff-rs600.c (_bfd_xcoff_archive_p): Don't clear fields in freshly + allocated object by bfd_zalloc. + * coff64-rs6000.c (xcoff64_archive_p): Likewise. + * ecoff.c (_bfd_ecoff_archive_p): Likewise. + * archive.c (_bfd_generic_mkarchive, bfd_generic_archive_p): Likewise. + (get_extended_arelt_filename): Fail if index is bigger or equal to + extended_names_size. + (_bfd_generic_read_ar_hdr_mag): Don't set bfd_error_malformed_archive, + get_extended_arelt_filename already did that. + (_bfd_slurp_extended_name_table): Initialize extended_names_size field. + Allocate one extra byte and clear it, in case extended names table + is not terminated. + + * libbfd-in.h (bfd_malloc2, bfd_realloc2, bfd_zmalloc2, bfd_alloc2, + bfd_zalloc2): New prototypes. + * bfd-in.h (HALF_BFD_SIZE_TYPE): Define. + * libbfd.c (bfd_malloc2, bfd_realloc2, bfd_zmalloc2): New functions. + * opncls.c (bfd_alloc2, bfd_zalloc2): New functions. + * elf.c (bfd_elf_get_elf_syms, setup_group, assign_section_numbers, + elf_map_symbols, map_sections_to_segments, + assign_file_positions_for_segments, copy_private_bfd_data, + swap_out_syms, _bfd_elf_slurp_version_tables): Use bfd_*alloc2 + where appropriate. + * bfd-in2.h: Rebuilt. + * libbfd.h: Rebuilt. + + * elf.c (_bfd_elf_print_private_bfd_data): Don't crash on bogus + verdef or verneed section. + (_bfd_elf_slurp_version_tables): Handle corrupt verdef and/or + verneed sections gracefully. + * elfxx-sparc.c (_bfd_sparc_elf_info_to_howto_ptr): Don't crash on + bogus relocation values. + * elf64-ppc.c (ppc64_elf_info_to_howto): Likewise. + * elf64-s390.c (elf_s390_info_to_howto): Likewise. + * elf32-s390.c (elf_s390_info_to_howto): Likewise. + * elf64-x86-64.c (elf64_x86_64_info_to_howto): Likewise. + * elfxx-ia64.c (lookup_howto): Likewise. + + * elf.c (bfd_elf_get_str_section): Allocate an extra byte after + the end of strtab and clear it. + (elf_read): Remove. + +2005-07-05 Nick Clifton <nickc@redhat.com> + + * po/vi.po: New Vietnamese translation. + * configure.in (ALL_LINGUAS): Add vi. + * configure: Regenerate. + +2005-07-05 Peter S. Mazinger <ps.m@gmx.net> + + * elf32-arm.c (elf32_arm_size_dynamic_sections): Fix a typo and + touchup logic like i386/ppc. + +2005-07-05 Alan Modra <amodra@bigpond.net.au> + + * elf.c (special_sections): Move const qualifier. + (special_sections_b..special_sections_t): Likewise. + * elf32-arm.c (elf32_arm_symbian_get_sec_type_attr): Remove duplicate + const. + (elf32_arm_symbian_special_sections): Move const qualifier. + * elf32-m32r.c: Similarly. + * elf32-m68hc11.c: Similarly. + * elf32-m68hc12.c: Similarly. + * elf32-mcore.c: Similarly. + * elf32-ppc.c: Similarly. + * elf32-sh64.c: Similarly. + * elf32-v850.c: Similarly. + * elf32-xtensa.c: Similarly. + * elf64-alpha.c: Similarly. + * elf64-hppa.c: Similarly. + * elf64-ppc.c: Similarly. + * elf64-sh64.c: Similarly. + * elfxx-ia64.c: Similarly. + * elfxx-mips.c: Similarly. + +2005-07-04 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> + + * elf32-m32r.c (m32r_elf_size_dynamic_sections): Use + info->executable instead of !info->shared where appropriate. + +2005-07-04 Alan Modra <amodra@bigpond.net.au> + + PR 1042 + * elf.c (assign_file_positions_for_segments): Remove excluded + sections from the segment map. + +2005-07-04 Alan Modra <amodra@bigpond.net.au> + + PR 1004 + * elf-bfd.h (struct elf_backend_data): Add get_sec_type_attr. Delete + special_sections. + (_bfd_elf_get_special_section): Declare. + (bfd_elf_special_section): Update prototype. + * elf.c (special_sections): Remove unused outer entries. + (get_special_section): Delete. + (_bfd_elf_get_special_section): New function. + (_bfd_elf_get_sec_type_attr): Replace "name" arg with "sec". Update + special_sections indexing. + (_bfd_elf_new_section_hook): Call backend get_sec_type_attr. + * elf32-arm.c (symbian_special_sections_d): Delete. + (symbian_special_sections_g, symbian_special_sections_h): Delete. + (symbian_special_sections_i, symbian_special_sections_f): Delete. + (symbian_special_sections_p): Delete. + (elf32_arm_symbian_special_sections): Merge above to here. + (elf32_arm_symbian_get_sec_type_attr): New function. + (elf_backend_special_sections): Don't define. + (elf_backend_get_sec_type_attr): Define. + * elf32-m32r.c: Similarly to elf32-arm.c. + * elf32-m68hc11.c: Likewise. + * elf32-m68hc12.c: Likewise. + * elf32-mcore.c: Likewise. + * elf32-sh64.c: Likewise. + * elf32-v850.c: Likewise. + * elf32-xtensa.c: Likewise. + * elf64-alpha.c: Likewise. + * elf64-hppa.c: Likewise. + * elf64-ppc.c: Likewise. + * elf64-sh64.c: Likewise. + * elfxx-ia64.c: Likewise. + * elfxx-mips.c: Likewise. + * elf32-ppc.c: Likewise. + (bfd_elf_special_section ppc_alt_plt): New. Use it if .plt loadable. + * elfxx-mips.h (_bfd_mips_elf_get_sec_type_attr): Declare. + (_bfd_mips_elf_special_sections, elf_backend_special_sections): Delete. + (elf_backend_get_sec_type_attr): Define. + * elfxx-target.h (elf_backend_get_sec_type_attr): Define. + (elf_backend_special_sections): Don't define. + (elfNN_bed): Update. + +2005-07-01 Nick Clifton <nickc@redhat.com> + + * cpu-d10v.c: Update to ISO C90 style function declarations and + fix formatting. + * cpu-d30v.c: Likewsie. + * cpu-i370.c: Likewsie. + * cpu-xstormy16.c: Likewsie. + * elf32-arc.c: Likewsie. + * elf32-d10v.c: Likewsie. + * elf32-d30v.c: Likewsie. + * elf32-dlx.c: Likewsie. + * elf32-i370.c: Likewsie. + * elf32-i960.c: Likewsie. + * elf32-ip2k.c: Likewsie. + * elf32-m32r.c: Likewsie. + * elf32-mcore.c: Likewsie. + * elf32-openrisc.c: Likewsie. + * elf32-or32.c: Likewsie. + * elf32-pj.c: Likewsie. + * elf32-v850.c: Likewsie. + * elf32-xstormy16.c: Likewsie. + +2005-07-01 Alan Modra <amodra@bigpond.net.au> + + * elf64-alpha.c (elf64_alpha_create_got_section): Always create + a new .got section. + (elf64_alpha_create_dynamic_sections): Always make new sections + by using bfd_make_section_anyway_with_flags. Check that .got not + already created. + (elf64_alpha_check_relocs): Delete "got_created". Use tdata->gotobj + instead. + +2005-06-30 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Ignore dynamic + _SDA_BASE_ and _SDA2_BASE_ symbols. + * elflink.c (_bfd_elf_provide_symbol): Correct comment. Define + sym if not def_regular. + (_bfd_elf_provide_section_bound_symbols): Similarly. + +2005-06-30 Ben Elliston <bje@gnu.org> + + * config.bfd: Mark as obsolete: + m68*-apollo-* + m68*-apple-aux* + m68*-bull-sysv* + +2005-06-29 Alan Modra <amodra@bigpond.net.au> + + * elflink.c (_bfd_elf_gc_mark): Mark sections referenced by + .eh_frame specially.. + (bfd_elf_gc_sections): ..rather than totally ignoring .eh_frame. + Don't recheck sections we have already marked. + (elf_gc_sweep): Keep non-code sections referenced from .eh_frame. + * section.c (struct bfd_section): Add gc_mark_from_eh. + (STD_SECTION): Adjust. + * ecoff.c (bfd_debug_section): Adjust. + * bfd-in2.h: Regenerate. + +2005-06-29 Alan Modra <amodra@bigpond.net.au> + + * elflink.c (elf_gc_sweep): Do not refcount on sections that have + not been processed by check_relocs. + +2005-06-29 Paul Brook <paul@codesourcery.com> + + * bfd-in.h (_bfd_elf_provide_symbol): Update prototype. + * bfd-in2.h: Regenerate. + * elf32-ppc.c (ppc_elf_set_sdata_syms): Make sdata symbols section + relative. + * elflink.c (bfd_elf_set_symbol): Add section argument. + (_bfd_elf_provide_symbol): Ditto. + (_bfd_elf_provide_section_bound_symbols): Pass NULL section argument. + +2005-06-27 Carlos O'Donell <carlos@systemhalted.org> + + * bfd/elf32-hppa.c (struct elf32_hppa_stub_hash_entry): + Use bh_root, and hh. + (struct elf32_hppa_link_hash_entry): Use eh, and hsh_cache. + (struct elf32_hppa_dyn_reloc_entry): Use hdh_next. + (struct elf32_hppa_link_hash_table): Use etab and bstab. + (stub_hash_newfunc): Use hh. + (hppa_link_hash_newfunc): Use hsh_cache. + (elf32_hppa_link_hash_table_create): Use etab, and bstab. + (elf32_hppa_link_hash_table_free): Use bstab. + (hppa_stub_name): Use eh. + (hppa_get_stub_entry): Use hh, hsh_entry, and hsh_cache. + (hppa_add_stub): Use bstab. + (hppa_type_of_stub): Use eh. + (hppa_build_one_stub): Use hh and bh_root. + (elf32_hppa_copy_indirect_symbol): Use hdh_next. + (elf32_hppa_check_relocs): Use eh, etab, and hdh_next. + (elf32_hppa_gc_sweep_hook): Use hdh_next. + (elf32_hppa_adjust_dynamic_symbol): Use hdh_next, and etab. + (allocate_plt_static): Use etab. + (allocate_dynrelocs): Use etab, and hdh_next. + (readonly_dynrelocs): Use hdh_next. + (elf32_hppa_size_dynamic_sections): Use etab, and hdh_next. + (get_local_syms): Use eh, bstab, and hh. + (elf32_hppa_size_stubs): Use eh, bstab, and hh. + (elf32_hppa_set_gp): Use etab. + (elf32_hppa_build_stubs): Use bstab. + (final_link_relocate): Use eh, bh_root. + (elf32_hppa_relocate_section): Use elf, etab. + (elf32_hppa_finish_dynamic_sections): Use etab. + +2005-06-27 H.J. Lu <hongjiu.lu@intel.com> + + * elfxx-ia64.c (elfNN_hpux_backend_symbol_processing): Remove + the extra `;'. + +2005-06-21 Carlos O'Donell <carlos@systemhalted.org> + + * bfd/elf32-hppa.c (hppa_elf_hash_entry): Define. + (hppa_stub_hash_entry): Define. + (stub_hash_newfunc): Rename variables. + (hppa_link_hash_newfunc): Likewise. + (elf32_hppa_link_hash_table_free): Likewise. + (hppa_stub_name): Likewise. + (hppa_get_stub_entry): Likewise. + (hppa_add_stub): Likewise. + (hppa_type_of_stub): Likewise. + (hppa_build_one_stub): Likewise. + (hppa_size_one_stub): Likewise. + (elf32_hppa_create_dynamic_sections): Likewise. + (elf32_hppa_copy_indirect_symbol): Likewise. + (elf32_hppa_check_relocs): Likewise. + (elf32_hppa_gc_mark_hook): Likewise. + (elf32_hppa_gc_sweep_hook): Likewise. + (elf32_hppa_grok_psinfo): Likewise. + (elf32_hppa_hide_symbol): Likewise. + (elf32_hppa_adjust_dynamic_symbol): Likewise. + (allocate_dynrelocs): Likewise. + (clobber_millicode_symbols): Likewise. + (readonly_dynrelocs): Likewise. + (elf32_hppa_size_dynamic_sections): Likewise. + (get_local_syms): Likewise. + (elf32_hppa_size_stubs): Likewise. + (hppa_record_segment_addr): Likewise. + (final_link_relocate): Likewise. + (elf32_hppa_relocate_section): Likewise. + (elf32_hppa_finish_dynamic_symbol): Likewise. + +2005-06-20 H.J. Lu <hongjiu.lu@intel.com> + + PR 1025 + * elf-m10300.c (mn10300_elf_check_relocs): Handle indirect + symbol. + * elf32-arm.c (elf32_arm_check_relocs): Likewise. + * elf32-avr.c (elf32_avr_check_relocs): Likewise. + * elf32-cris.c (cris_elf_check_relocs): Likewise. + * elf32-d10v.c (elf32_d10v_check_relocs): Likewise. + * elf32-dlx.c (elf32_dlx_check_relocs): Likewise. + * elf32-fr30.c (fr30_elf_check_relocs): Likewise. + * elf32-frv.c (elf32_frv_check_relocs): Likewise. + * elf32-i370.c (i370_elf_check_relocs): Likewise. + * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise. + * elf32-m32r.c (m32r_elf_check_relocs): Likewise. + * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise. + * elf32-m68k.c (elf_m68k_check_relocs): Likewise. + * elf32-mcore.c (mcore_elf_check_relocs): Likewise. + * elf32-ms1.c (ms1_elf_check_relocs): Likewise. + * elf32-msp430.c (elf32_msp430_check_relocs): Likewise. + * elf32-openrisc.c (openrisc_elf_check_relocs): Likewise. + * elf32-ppc.c (ppc_elf_check_relocs): Likewise. + * elf32-s390.c (elf_s390_check_relocs): Likewise. + * elf32-sh.c (sh_elf_check_relocs): Likewise. + * elf32-v850.c (v850_elf_check_relocs): Likewise. + * elf32-vax.c (elf_vax_check_relocs): Likewise. + * elf64-mmix.c (mmix_elf_check_relocs): Likewise. + * elf64-ppc.c (ppc64_elf_check_relocs): Likewise. + * elf64-s390.c (elf_s390_check_relocs): Likewise. + * elf64-sh64.c (sh_elf64_check_relocs): Likewise. + * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise. + * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise. + +2005-06-20 H.J. Lu <hongjiu.lu@intel.com> + + PR 1022 + * elf32-hppa.c (elf32_hppa_check_relocs): Handle indirect + symbol. + +2005-06-20 H.J. Lu <hongjiu.lu@intel.com> + + PR 1025 + * elf32-i386.c (elf_i386_check_relocs): Handle indirect symbol. + * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise. + +2005-06-18 H.J. Lu <hongjiu.lu@intel.com> + + * reloc.c: Add BFD_RELOC_X86_64_GOTOFF64 and + BFD_RELOC_X86_64_GOTPC32. + * bfd-in2.h: Regenerated. + +2005-06-17 Jakub Jelinek <jakub@redhat.com> + + * elf.c (bfd_section_from_shdr): Kill bogus warning. + + * elf.c (bfd_section_from_shdr): Fail if sh_entsize is bogus for + symbol, relocation, group or versym sections. + + * coffcode.h (coff_slurp_reloc_table): Don't crash if native_relocs + is NULL. + * peXXigen.c (pe_print_idata): Don't crash if dll_name or start_address + doesn't point into the section. + +2005-06-17 Jan Beulich <jbeulich@novell.com> + + * bfd-in2.h (elf_x86_64_reloc_type): Add BFD_RELOC_X86_64_GOTOFF64 + and BFD_RELOC_X86_64_GOTPC32. + * libbfd.h (bfd_reloc_code_real_names): Likewise. + * elf64-x86-64.c (x86_64_elf_howto_table): Add entries for + R_X86_64_PC64, R_X86_64_GOTOFF64, and R_X86_64_GOTPC32. + (x86_64_reloc_map): Add entries for R_X86_64_PC64, R_X86_64_GOTOFF64, + and R_X86_64_GOTPC32. + (elf64_x86_64_info_to_howto): Adjust bounding relocation type. + (elf64_x86_64_check_relocs): Also handle R_X86_64_PC64, + R_X86_64_GOTOFF64, and R_X86_64_GOTPC32. + (elf64_x86_64_relocate_section): Likewise. + (elf64_x86_64_gc_sweep_hook): Also handle R_X86_64_PC64. + +2005-06-15 Mark Kettenis <kettenis@gnu.org> + + * archive.c: Include "libiberty.h". + +2005-06-15 Nick Clifton <nickc@redhat.com> + + * elf32-v850.c (ELF_MACHINE_ALT2): Define so that binaries + produced by the GreenHills toolchain can be assimilated. + +2005-06-14 Steve Ellcey <sje@cup.hp.com> + + * som.c (som_find_inliner_info): New. + +2005-06-14 H.J. Lu <hongjiu.lu@intel.com> + + * elflink.c (_bfd_elf_merge_symbol): Fix a typo in comment. + +2005-06-14 Jakub Jelinek <jakub@redhat.com> + + * elf.c (bfd_section_from_shdr): Fail if name is NULL. + Prevent endless recursion on broken objects. + + * archive.c (do_slurp_coff_armap): Check for overflows. + +2005-06-10 Daniel Jacobowitz <dan@codesourcery.com> + + * elfcode.h (elf_write_relocs): Do nothing if there are no + relocations. + +2005-06-10 Alan Modra <amodra@bigpond.net.au> + + * dwarf2.c (decode_line_info): Revert last change. Instead set + initial low_pc to -1 to avoid need to test whether loc_pc has + been set. + +2005-06-09 Christopher Faylor <cgf@timesys.com> + + * coffcode.h (sec_to_styp_flags): Set appropriate section flags when + either SEC_ALLOC OR SEC_LOAD. + +2005-06-09 Christopher Faylor <cgf@timesys.com> + + * coffcode.h (sec_to_styp_flags): Remove read/write flags from noload + section header. Do not add STYP_NOLOAD since it does not appear to be + a valid PE flag. + +2005-06-09 H.J. Lu <hongjiu.lu@intel.com> + + PR 1000 + * dwarf2.c (lookup_address_in_line_info_table): Restore code + handling NULL function info, removed with 2005-04-03 change. + +2005-06-08 Mark Mitchell <mark@codesourcery.com> + + * opncls.c (bfd_fopen): Mark returned BFD as cacheable if FD == -1. + +2005-06-09 Alan Modra <amodra@bigpond.net.au> + + * elflink.c (elf_mark_used_section): Delete. + (bfd_elf_gc_sections): Call bfd_generic_gc_sections. + * reloc.c (bfd_mark_used_section): New function. + (bfd_generic_gc_sections): Call bfd_mark_used_section. + +2005-06-08 Alan Modra <amodra@bigpond.net.au> + + * opncls.c (bfd_fopen): Don't set bfd_error unconditionally. + (bfd_fdopenr): Same. + +2005-06-07 Mark Mitchell <mark@codesourcery.com> + + * opncls.c (bfd_fdopenr): Add missing break statements. + +2005-06-07 Mark Mitchell <mark@codesourcery.com> + + * opncls.c (bfd_fopen): New API. + (bfd_openr): Use it. + (bfd_fdopenr): Likewise. + * bfd-in2.h: Regenerated. + +2005-06-07 Aldy Hernandez <aldyh@redhat.com> + Michael Snyder <msnyder@redhat.com> + Stan Cox <scox@redhat.com> + + * Makefile.am (ALL_MACHINES): Add ms1 support. + (ALL_MACHINES_CFILES): Same. + (BFD32_BACKENDS): Same. + (BFD32_BACKENDS_CFILES): Same. + + * Makefile.in: Regenerate. + + * archures.c (bfd_architecture): Add ms1 entries. + Externalize bfd_ms1_arch. + (bfd_archures_list): Add bfd_ms1_arch. + + * bfd-in2.h: Regenerate. + + * cpu-ms1.c: New file. + + * elf32-ms1.c: New file. + + * targets.c: Define extern of bfd_elf32_ms1_vec. + Add bfd_elf32_ms1_vec to _bfd_target_vector. + + * configure.in: Add bfd_elf32_ms1_vec case. + + * configure: Regenerate. + + * config.bfd: Add ms1-*-elf to table. + +2005-06-07 Zack Weinberg <zack@codesourcery.com> + + * coff-i386.c: Change md_apply_fix3 to md_apply_fix in comment. + +2005-06-07 Alan Modra <amodra@bigpond.net.au> + + * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Init _bfd_find_line. + * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise. + +2005-06-06 H.J. Lu <hongjiu.lu@intel.com> + + PR 990 + * bfd.c (bfd_find_line): New. + + * dwarf2.c (comp_unit): Add variable_table. + (funcinfo): Add file, line, and sec. + (varinfo): New. + (lookup_symbol_in_function_table): New. + (lookup_symbol_in_variable_table): New. + (scan_unit_for_functions): Renamed to ... + (scan_unit_for_symbols): This. Handle DW_TAG_entry_point and + DW_TAG_variable. + (comp_unit_find_nearest_line): Updated. + (comp_unit_find_line): New. + (_bfd_dwarf2_find_line): New. + + * elf-bfd.h (_bfd_elf_find_line): New. + (_bfd_generic_find_line): New. Defined. + + * elf.c (_bfd_elf_find_line): New. + + * libbfd-in.h (_bfd_dwarf2_find_line): New. + (_bfd_generic_find_line): New. + + * bfd-in2.h: Regenerated. + * libbfd.h: Likewise. + + * libbfd.c (_bfd_generic_find_line): New. + + * targets.c (BFD_JUMP_TABLE_SYMBOLS): Initialize _bfd_find_line + with _bfd_generic_find_line. + (bfd_target): Add _bfd_find_line. + +2005-06-06 H.J. Lu <hongjiu.lu@intel.com> + + * dwarf2.c (decode_line_info): Properly set low_pc. + +2005-06-06 Alan Modra <amodra@bigpond.net.au> + + * elf64-pcc.c (ppc64_elf_gc_mark_hook): For the local sym in .opd + case, include addend when indexing .opd section map. + (ppc64_elf_edit_opd): Add no_opd_opt param. Do nothing besides + clear opd_adjust array if no_opd_opt set. Tidy code. + Ignore zero size .opd. Check bfd_alloc return value. + (ppc_stub_name): Return immediately on bfd_malloc fail. + * elf64-ppc.h (ppc64_elf_edit_opd): Update prototype. + +2005-06-04 H.J. Lu <hongjiu.lu@intel.com> + + * dwarf2.c (comp_unit): Fix a typo in comment. + +2005-06-03 Jan-Benedict Glaw <jbglaw@lug-owl.de> + + * elf32-vax.c (rtype_to_howto): Remove PARAMS. + (reloc_type_lookup): Dito. + (elf_vax_discard_copies): Dito. + (elf_vax_instantiate_got_entries): Dito. + (elf_vax_link_hash_traverse): Dito. + (elf_vax_link_hash_newfunc): Dito. + (elf_vax_link_hash_table_create): Dito. + (elf32_vax_set_private_flags): Dito. + (elf32_vax_merge_private_bfd_data): Dito. + (elf32_vax_print_private_bfd_data): Dito. + (elf_vax_check_relocs): Dito. + (elf_vax_gc_mark_hook): Dito. + (elf_vax_gc_sweep_hook): Dito. + (elf_vax_size_dynamic_sections): Dito. + (elf_vax_discard_copies): Dito. + (elf_vax_instantiate_got_entries): Dito. + (elf_vax_relocate_section): Dito. + (elf_vax_finish_dynamic_symbol): Dito. + (elf_vax_finish_dynamic_sections): Dito. + (elf_vax_hash_table): Break-up of line isn't needed. + (elf_vax_check_relocs): Remove leading whitespace + (elf_vax_relocate_section): Remove redundant whitespace + (elf_vax_link_hash_newfunc): Don't cast NULL. + (elf_vax_link_hash_table_create): Dito. + * cpu-vax.c (bfd_vax_arch) Remove a trailing space. + +2005-06-03 Alan Modra <amodra@bigpond.net.au> + + PR 568 + * configure.in: Bump version + * configure: Regenerate. + * elflink.c (elf_link_input_bfd): Use einfo linker callback to print + discarded section sym refs and kill linker output. + * simple.c (simple_dummy_einfo): New function. + (bfd_simple_get_relocated_section_contents): Init callbacks.einfo. + + * elf32-i386.c (elf_i386_relocate_section): Handle zero symndx + for all reloc types. + +2005-06-02 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (add_symbol_adjust): Set sym visibility to most + restrictive of func code and func descr for undefined syms as well + as defined. + +2005-05-31 Jim Blandy <jimb@redhat.com> + + * Makefile.am: Regenerate dependencies with 'make dep-am'. + * Makefile.in: Regenerate. + +2005-05-31 Richard Henderson <rth@redhat.com> + + * elf64-alpha.c (ALPHA_ELF_LINK_HASH_LU_JSRDIRECT): New. + (ALPHA_ELF_LINK_HASH_TLS_IE): Renumber to 0x80. + (ALPHA_ELF_LINK_HASH_LU_PLT): Rename from ALPHA_ELF_LINK_HASH_LU_FUNC. + (elf64_alpha_want_plt): Update to match. + (elf64_alpha_check_relocs): Collect JSRDIRECT in gotent_flags. + (elf64_alpha_relax_with_lituse): Likewise. Handle JSRDIRECT. + +2005-05-31 Zack Weinberg <zack@codesourcery.com> + + * elf32-arm.c (elf32_arm_reloc_type_lookup) + (elf32_arm_nabi_grok_prstatus, elf32_arm_nabi_grok_psinfo): + Use ISO C90 function declaration style. + +2005-05-31 James E Wilson <wilson@specifixinc.com> + + * elfcode.h (NAME(bfd_elf,bfd_from_remote_memory)): Check for program + header PF_R flag on PT_LOAD segments. + +2005-05-30 Richard Henderson <rth@redhat.com> + + * elf64-alpha.c (elf64_alpha_relocate_section): Use dtp_base for + the zero index relocs produced by elf64_alpha_relax_tls_get_addr. + +2005-05-29 Richard Henderson <rth@redhat.com> + + * configure.in (--enable-secureplt): New. + * elf64-alpha.c (INSN_LDA, INSN_LDAH, INSN_LDQ, INSN_BR): New. + (INSN_SUBQ, INSN_S4SUBQ, INSN_JMP): New. + (INSN_A, INSN_AB, INSN_ABC, INSN_ABO, INSN_AD): New. + (elf64_alpha_use_secureplt): New. + (OLD_PLT_HEADER_SIZE, OLD_PLT_ENTRY_SIZE): New. + (NEW_PLT_HEADER_SIZE, NEW_PLT_ENTRY_SIZE): New. + (PLT_HEADER_SIZE, PLT_ENTRY_SIZE): Conditionalize on secureplt. + (ALPHA_ELF_LINK_HASH_PLT_LOC): Remove. + (struct alpha_elf_link_hash_entry): Add plt_offset. + (PLT_HEADER_WORD1, PLT_HEADER_WORD2, PLT_HEADER_WORD3): Remove. + (PLT_HEADER_WORD4, PLT_ENTRY_WORD1, PLT_ENTRY_WORD2): Remove. + (PLT_ENTRY_WORD3): Remove. + (elf64_alpha_create_dynamic_sections): If secureplt, set SEC_READONLY + on .plt and create .got.plt. + (elf64_alpha_output_extsym): Remove .plt frobbing for symbol values. + (get_got_entry): Initialize plt_offset. + (elf64_alpha_want_plt): New. + (elf64_alpha_check_relocs): Use it. + (elf64_alpha_adjust_dynamic_symbol): Likewise. Don't allocate + plt entries here. + (elf64_alpha_calc_got_offsets_for_symbol): Don't report internal + error as user error. + (elf64_alpha_size_plt_section_1): Allocate one plt entry per + got subsection. + (elf64_alpha_size_plt_section): Size .got.plt section. + (elf64_alpha_size_rela_got_1): Don't allocate relocations if + plt entries used. + (elf64_alpha_size_dynamic_sections): Call elf64_alpha_size_plt_section. + Add PLTRO DYNAMIC entry. + (elf64_alpha_finish_dynamic_symbol): Generate secureplt format. + (elf64_alpha_finish_dynamic_sections): Likewise. + +2005-05-28 David Daney <ddaney@avtrex.com> + + * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Move + calculation of DT_RELSZ to occur after all dynamic relocations + are created. + +2005-05-28 Eli Zaretskii <eliz@gnu.org> + + * configure.in: Add snprintf and vsnprintf to AC_CHECK_DECLS. + * config.in, configure: Regenerate. + +2005-05-26 Mark Kettenis <kettenis@gnu.org> + Maciej W. Rozycki <macro@linux-mips.org> + + * elfxx-mips.c (_bfd_mips_elf_section_processing): Warn and + stop processing of options if one of invalid size is + encountered. + (_bfd_mips_elf_section_from_shdr): Likewise. + (_bfd_mips_elf_fake_sections): Reset the type of empty special + sections. + +2005-05-26 Richard Henderson <rth@redhat.com> + + * elf64-alpha.c (struct alpha_elf_link_hash_entry): Remove + plt_old_section, plt_old_value. + (elf64_alpha_adjust_dynamic_symbol): Don't set it. + (elf64_alpha_size_plt_section_1): Don't use it. + +2005-05-26 Jakub Jelinek <jakub@redhat.com> + + * elfcode.h (elf_object_p): Fail if e_shoff != 0, e_shnum == 0 and + first shdr has sh_size == 0. Fail if e_shnum is large to cause + arithmetic overflow when allocating the i_shdr array. + Sanity check sh_link and sh_info fields. Fix e_shstrndx sanity check. + +2005-05-25 Richard Henderson <rth@redhat.com> + + * elf64-alpha.c: Update all function definitions to ISO C. Remove + all function prototypes; rearrange functions into def-use order. + +2005-05-25 Richard Henderson <rth@redhat.com> + + * elf64-alpha.c (elf64_alpha_merge_gots): Fix gotent iteration + in the presence of deleting elements. + (elf64_alpha_size_got_sections): Zero dead got section size. + +2005-05-23 Fred Fish <fnf@specifixinc.com> + + * dwarf2.c (struct dwarf2_debug): Add inliner_chain member. + (struct funcinfo): Add caller_func, caller_file, caller_line. + tag, and nesting_level members. + (lookup_address_in_function_table): Change first passed parameter + from "struct funcinfo *" to "struct comp_unit *". + (lookup_address_in_function_table): Dereference unit to find function + table. + (lookup_address_in_function_table): Traverse the function list to + create a chain of inlined functions back to the first non inlined + function. + (scan_unit_for_functions): Remember tag and nesting level. Handle + DW_AT_call_file and DW_AT_call_line. + (comp_unit_find_nearest_line): Adjust lookup_address_in_function_table + call to pass unit pointer instead of function table pointer. For + inlined functions, save pointer to the inliner chain. + (_bfd_dwarf2_find_nearest_line): Initialize inliner_chain to NULL. + (_bfd_dwarf2_find_inliner_info): New function that returns information + from the inliner chain after a call to bfd_find_nearest_line. + + * bfd.c (bfd_find_inliner_info): Define using BFD_SEND. + * targets.c (BFD_JUMP_TABLE_SYMBOLS): Add entry for + NAME##_find_inliner_info. + (bfd_target): Add _bfd_find_inliner_info. + * bfd-in2.h: Regenerate. + + * libbfd-in.h (_bfd_nosymbols_find_inliner_info): Define as + macro that always returns bfd_false. + (_bfd_dwarf2_find_inliner_info): Declare. + * libbfd.h: Regenerate. + + * elf32-arm.c (elf32_arm_find_inliner_info): New function + that calls _bfd_dwarf2_find_inliner_info. + (bfd_elf32_find_inliner_info): Define to elf32_arm_find_inliner_info. + + * elfxx-mips.c (_bfd_mips_elf_find_inliner_info): New function + that calls _bfd_dwarf2_find_inliner_info. + * elfxx-mips.h (_bfd_mips_elf_find_inliner_info): Declare. + * elfn32-mips.c (bfd_elf32_find_inliner_info): Define to + _bfd_mips_elf_find_inliner_info. + * elf64-mips.c (bfd_elf64_find_inliner_info): Ditto. + * elf32-mips.c (bfd_elf32_find_inliner_info): Ditto. + + * elf.c (_bfd_elf_find_inliner_info): New function that calls + _bfd_dwarf2_find_inliner_info. + * elf-bfd.h (_bfd_elf_find_inliner_info): Declare. + * elfxx-target.h (bfd_elfNN_find_inliner_info): Define to + _bfd_elf_find_inliner_info. + + * coffgen.c (coff_find_inliner_info): New function that + calls _bfd_dwarf2_find_inliner_info. + * libcoff-in.h (coff_find_inliner_info): Declare. + * libcoff.h: Regenerate. + * coff-rs6000.c (rs6000coff_vec): Add coff_find_inliner_info. + (pmac_xcoff_vec) Ditto. + * coff64-rs6000.c (rs6000coff64_vec): Ditto. + (aix5coff64_vec): Ditto. + + * aout-target.h (MY_find_inliner_info): Define as + _bfd_nosymbols_find_inliner_info. + * aout-tic30.c (MY_find_inliner_info): Ditto. + * binary.c (binary_find_inliner_info): Ditto. + * i386msdos.c (msdos_find_inliner_info): Ditto. + * ihex.c (ihex_find_inliner_info): Ditto. + * libaout.h (aout_32_find_inliner_info): Ditto. + * libecoff.h (_bfd_ecoff_find_inliner_info): Ditto. + * mach-o.c (bfd_mach_o_find_inliner_info): Ditto. + * mmo.c (mmo_find_inliner_info): Ditto. + * nlm-target.h (nlm_find_inliner_info): Ditto. + * pef.c (bfd_pef_find_inliner_info): Ditto. + * ppcboot.c (ppcboot_find_inliner_info): Ditto. + * srec.c (srec_find_inliner_info): Ditto. + * tekhex.c (tekhex_find_inliner_info): Ditto. + * versados.c (versados_find_inliner_info): Ditto. + * xsym.c (bfd_sym_find_inliner_info): Ditto. + + * ieee.c (ieee_find_inliner_info): New function that always + returns FALSE. + * oasys.c (oasys_find_inliner_info): Ditto. + * vms.c (vms_find_inliner_info): Ditto. + +2005-05-24 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (ppc_elf_check_relocs): For old gcc -fPIC code + force old plt layout. + +2005-05-22 Richard Henderson <rth@redhat.com> + + * elf64-alpha.c (elf64_alpha_relax_section): Ignore non-allocated + sections. + (elf64_alpha_check_relocs): Likewise. + (elf64_alpha_relocate_section): Don't emit dynamic relocations to + non-allocated sections. + +2005-05-22 Richard Henderson <rth@redhat.com> + + * elf64-alpha.c (elf64_alpha_relax_with_lituse): Relax jsr to + undefweak to use zero register. Call elf64_alpha_relax_got_load + if not all uses removed. + (elf64_alpha_relax_got_load): Relax undefweak to lda zero. + (elf64_alpha_relax_section): Handle undefweak symbols. + (elf64_alpha_calc_dynrel_sizes): Don't add relocs for undefweak. + (elf64_alpha_size_rela_got_1): Likewise. + (elf64_alpha_relocate_section): Likewise. + +2005-05-22 Richard Henderson <rth@redhat.com> + + * elf64-alpha.c (elf64_alpha_relax_section): Only operate + on SEC_CODE sections. + +2005-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + * som.c (try_prev_fixup): Changed type of subspace_reloc_sizep to + unsigned int *. + (som_write_space_strings): Change type of tmp_space and p to char *. + (som_write_symbol_strings): Likewise. Also change type of comp to + char *comp[4]. + (som_begin_writing): Change type of strings_size to unsigned int. + (som_finish_writing): Likewise. + (som_slurp_reloc_table): Change type of external_relocs to unsigned + char *. + * som.h (struct som_section_data_struct): Change type of reloc_stream + field to unsigned char *. + +2005-05-20 Daniel Jacobowitz <dan@codesourcery.com> + + * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Don't eliminate + copy relocations for VxWorks. + +2005-05-20 Daniel Jacobowitz <dan@codesourcery.com> + + * bfd/elf32-ppc.c (struct ppc_elf_link_hash_entry): Add new field + has_sda_refs. + (ppc_elf_copy_indirect_symbol): Copy has_sda_refs. + (ppc_elf_check_relocs): Set has_sda_refs. + (ppc_elf_adjust_dynamic_symbol): Check has_sda_refs before eliminating + copy relocations. Use has_sda_refs to place variables in .sbss. + (ppc_elf_finish_dynamic_symbol): Use has_sda_refs to place variables in + .sbss. + +2005-05-20 Bob Wilson <bob.wilson@acm.org> + + * elf32-xtensa.c (bfd_elf_xtensa_reloc): Make sure that + xtensa_default_isa is initialized. + +2005-05-20 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (allocate_dynrelocs): Correct plt offset assigned + for second and subsequent list entries. Only allocate multiple + glink stubs when shared or pie. + (ppc_elf_finish_dynamic_symbol): Break out early when only one + glink stub is needed. + +2005-05-19 Zack Weinberg <zack@codesourcery.com> + + * Makefile.am: Have 'all' depend on 'info'. + * Makefile.in: Regenerate. + +2005-05-19 Alan Modra <amodra@bigpond.net.au> + + * elf-bfd.h (struct elf_link_hash_table): Delete init_refcount and + init_offset. Add init_got_refcount, init_plt_refcount, + init_got_offset and init_plt_offset. + * elf.c (_bfd_elf_link_hash_newfunc): Adjust for above change. + (_bfd_elf_link_hash_hide_symbol): Likewise. + (_bfd_elf_link_hash_table_init): Likewise. + * elf32-hppa.c (elf32_hppa_hide_symbol): Likewise. + * elf64-ppc.c (ppc64_elf_link_hash_table_create): Likewise. + * elflink.c (_bfd_elf_adjust_dynamic_symbol): Likewise. + (bfd_elf_size_dynamic_sections): Likewise. + * elf32-ppc.c (GLINK_PLTRESOLVE): Now 16 insns. + (LWZU_0_X_12, LWZ_0_4_30, LWZ_0_X_12, LWZ_11_X_11, LWZ_11_X_30, + LWZ_12_4_12, LWZ_12_8_30, LWZ_12_X_12, SUB_11_11_30): Delete. + (ADDIS_12_12, BCL_20_31, LWZU_0_12, LWZ_0_12, LWZ_11_11, LWZ_11_30, + LWZ_12_12, MFLR_0, MFLR_12, MTLR_0, SUB_11_11_12): Define. + (struct plt_entry): New. + (ppc_elf_link_hash_table_create): Set new init_plt fields. + (ppc_elf_copy_indirect_symbol): Handle merge of plt plist. Don't + use _bfd_elf_link_hash_copy_indirect. + (update_plt_info, find_plt_ent): New functions. + (ppc_elf_check_relocs): Handle R_PPC_PLTREL24 with non-zero addend + and adjust for use of plt list rather than refcount. + (ppc_elf_gc_sweep_hook): Likewise. + (ppc_elf_tls_optimize): Likewise. + (ppc_elf_adjust_dynamic_symbol): Likewise. + (allocate_dynrelocs): Likewise. + (ppc_elf_relax_section): Likewise. + (ppc_elf_relocate_section): Likewise. Adjust R_PPC_PLTREL24 addends + when performing a relocatable link. + (ppc_elf_finish_dynamic_symbol): Likewise. Write .glink stubs here.. + (ppc_elf_finish_dynamic_sections): ..rather than here. Use new + pic resolver stub. + +2005-05-19 Alan Modra <amodra@bigpond.net.au> + + * elf.c (assign_file_positions_for_segments): Use maximum of + maxpagesize and section alignment when adjusting initial + segment offset and section offsets. + +2005-05-18 Zack Weinberg <zack@codesourcery.com> + + * elf32-arm.c: Make all #ifndef OLD_ARM_ABI blocks + unconditional. + +2005-05-18 H.J. Lu <hongjiu.lu@intel.com> + + * elf.c (group_signature): Undo the last change. Check if the + symbol table section is correct. + +2005-05-17 Zack Weinberg <zack@codesourcery.com> + + * elf32-arm.c: Wherever possible, use official reloc names + from AAELF. + (elf32_arm_howto_table, elf32_arm_tls_gd32_howto) + (elf32_arm_tls_ldo32_howto, elf32_arm_tls_ldm32_howto) + (elf32_arm_tls_le32_howto, elf32_arm_tls_ie32_howto) + (elf32_arm_vtinherit_howto, elf32_arm_vtentry_howto) + (elf32_arm_pc11_howto, elf32_arm_thm_pc9_howto, elf32_arm_got_prel) + (elf32_arm_r_howto): Replace with elf32_arm_howto_table_1, + elf32_arm_howto_table_2, and elf32_arm_howto_table_3. + Add many new relocations from AAELF. + (elf32_arm_howto_from_type): Update to match. + (elf32_arm_reloc_map): Add entries for R_ARM_THM_JUMP24, + R_ARM_THM_JUMP11, R_ARM_THM_JUMP19, R_ARM_THM_JUMP8, + R_ARM_THM_JUMP6, R_ARM_GNU_VTINHERIT, and R_ARM_GNU_VTENTRY. + (elf32_arm_reloc_type_lookup): Use elf32_arm_howto_from_type. + (elf32_arm_final_link_relocate): Add support for + R_ARM_THM_JUMP24, R_ARM_THM_JUMP19, R_ARM_THM_JUMP6. Remove + case entries redundant with default. + + * reloc.c: Reorganize ARM relocations. Add Thumb + assembler-internal relocations BFD_RELOC_ARM_T32_OFFSET_U8, + BFD_RELOC_ARM_T32_OFFSET_IMM, BFD_RELOC_ARM_T32_IMMEDIATE. + Add visible relocations BFD_RELOC_THUMB_PCREL_BRANCH7, + BFD_RELOC_THUMB_BRANCH20, BFD_RELOC_THUMB_BRANCH25. + Delete unused relocations BFD_RELOC_ARM_GOT12, BFD_RELOC_ARM_COPY. + * bfd-in2.h, libbfd.h: Regenerate. + +2005-05-17 Daniel Jacobowitz <dan@codesourcery.com> + + * elf.c (_bfd_elf_write_object_contents): Check for non-NULL + elf_shstrtab. + * format.c (bfd_check_format_matches): Set output_has_begun + for both_direction. + * section.c (bfd_set_section_contents): Use bfd_write_p. Remove + special case for both_direction. + +2005-05-17 Nick Clifton <nickc@redhat.com> + + * elf.c (group_signature): Check for a group section which is + actually a (corrupt) symbol table section in disguise and prevent + an infinite loop from occurring. + +2005-05-17 H.J. Lu <hongjiu.lu@intel.com> + + * elfxx-ia64.c (elfNN_ia64_relax_brl): Undo the change made on + 2005-02-16. + +2005-05-17 H.J. Lu <hongjiu.lu@intel.com> + + * elfxx-ia64.c (elfNN_ia64_relax_br): Keep the original + predicate on slot 0 only if slot 0 isn't br. + +2005-05-17 H.J. Lu <hongjiu.lu@intel.com> + + PR 797 + * elf32-i386.c (elf_i386_size_dynamic_sections): Also remove + empty sdynbss section. + * elf64-x86-64.c (elf64_x86_64_size_dynamic_sections): Likewise. + +2005-05-17 Tavis Ormandy <taviso@gentoo.org> + + * elf.c (bfd_section_from_shdr): Add sanity check when parsing + dynamic sections. + +2005-05-17 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (LIS_11. LIS_12): Define. + (LWZU_0_X_12, LWZ_0_X_12, LWZ_12_4_12, LWZ_12_X_12): Define. + (ppc_elf_finish_dynamic_sections): Provide non-pic plt call stub + for --data-plt when building non-pie executables. + +2005-05-17 Nick Clifton <nickc@redhat.com> + + * elf32-arm.c (elf32_arm_final_link_relocate): Gracefully handle + the situation where a symbols's section is not known but a section + relative R_ARM_RELATIVE reloc has to be generated for the Symbian + OS. + + * elf32-v850.c (v850_elf_relocate_section): Move code to test for + the presence of a symbol table to just before the symbol table is + actually used. + +2005-05-16 H.J. Lu <hongjiu.lu@intel.com> + + PR 834 + * elfxx-ia64.c (elfNN_ia64_relax_br): New. + (elfNN_ia64_relax_section): Use it. + +2005-05-14 Mark Kettenis <kettenis@gnu.org> + + * elflink.c (bfd_elf_size_dynamic_sections): Use lbasename instead + of basename. + +2005-05-14 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (ppc_elf_size_dynamic_sections): Set DT_PPC_GOT, + not DT_PPC_GLINK. + (ppc_elf_finish_dynamic_sections): Likewise. + +2005-05-13 Fred Fish <fnf@specifixinc.com> + + * libbfd-in.h: Fix a comment typo, 'neaderst' -> 'nearest' + * libbfd.h: Rebuilt. + +2005-05-13 Bob Wilson <bob.wilson@acm.org> + + * elf32-xtensa.c (xtensa_get_property_section_name): Add missing + periods in linkonce_kind values. + +2005-05-12 H.J. Lu <hongjiu.lu@intel.com> + + * elf32-i386.c (elf_i386_relocate_section): Allow R_386_GOTOFF + against protected function when building executable. + +2005-05-12 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (LWZU_0_X_11): Delete. + (B, LWZ_11_X_11, LWZ_11_X_30, MTCTR_11): Define. + (ppc_elf_select_plt_layout): Set .got flags too. Formatting. + (ppc_elf_size_dynamic_sections): Allocate space for .glink branch + table. + (ppc_elf_finish_dynamic_symbol): Point .plt entries into the branch + table. + (ppc_elf_finish_dynamic_sections): Adjust DT_PPC_GLINK value. + Generate .glink branch table and updated stubs. + +2005-05-11 Alan Modra <amodra@bigpond.net.au> + + * reloc.c (BFD_RELOC_HI16_PCREL): Define. + (BFD_RELOC_HI16_S_PCREL, BFD_RELOC_LO16_PCREL): Define. + * elf32-ppc.c (GLINK_PLTRESOLVE, GLINK_ENTRY_SIZE): Define. + (CROR_151515, CROR_313131): Delete. + (ADDIS_11_11, ADDI_11_11, SUB_11_11_30, ADD_0_11_11, ADD_11_0_11, + LWZ_0_4_30, MTCTR_0, LWZ_12_8_30, BCTR, ADDIS_11_30, + LWZU_0_X_11): Define. + (ppc_elf_howto_raw): Add R_PPC_REL16, R_PPC_REL16_LO, R_PPC_REL16_HI + and R_PPC_REL16_HA entries. + (ppc_elf_reloc_type_lookup): Convert new bfd reloc types. + (ppc_elf_addr16_ha_reloc): Also handle R_PPC_REL16_HA. + (struct ppc_elf_link_hash_table): Add glink, glink_pltresolve, + new_plt, and old_plt. + (ppc_elf_create_dynamic_sections): Create .glink section. + (ppc_elf_check_relocs): Set new_plt and old_plt. + (ppc_elf_select_plt_layout): New function. + (ppc_elf_tls_setup): Set plt output section elf type and flags. + (allocate_got): Handle differences between old and new got layout. + (allocate_dynrelocs): Likewise for plt. + (ppc_elf_size_dynamic_sections): Likewise. Allocate memory for + .glink. Don't allocate memory for old bss .plt. Emit DT_PPC_GLINK. + (ppc_elf_relax_section): Rename ppc_info to htab. Handle .glink + destination of R_PPC_PLTREL24 relocs. + (ppc_elf_relocate_section): Handle new relocs and changed destination + of R_PPC_PLTREL24. + (ppc_elf_finish_dynamic_symbol): Init new style plt and handle + differences in layout. + (ppc_elf_finish_dynamic_sections): Set DT_PPC_GLINK value. Don't + put a blrl in new got. Write glink contents. + * elf32-ppc.h (ppc_elf_select_plt_layout): Declare. + * libbfd.h: Regenerate. + * bfd-in2.h: Regenerate. + +2005-05-11 Andreas Schwab <schwab@suse.de> + + * elf32-i386.c (elf_i386_finish_dynamic_sections): Fix signedness + warning. + +2005-05-10 H.J. Lu <hongjiu.lu@intel.com> + + * elf.c (_bfd_elf_make_section_from_shdr): Only check debug + section if SEC_ALLOC isn't set. + +2005-05-09 Kelley Cook <kcook@gcc.gnu.org> + + * configure.in: Replace AC_COMPILE_CHECK_SIZEOF with AC_CHECK_SIZEOF. + * acinclude.m4: Don't sinclude accross.m4. + * config.in, configure, Makefile.in, doc/Makefile.in: Regenerate. + +2005-05-09 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add has_dotsym. + (ppc64_elf_add_symbol_hook): Set has_dotsym. + (ppc64_elf_check_directives): Only process syms when has_dotsym. + (func_desc_adjust): Hide fake function descriptors when function + code entry is defined. + (adjust_opd_syms): Adjust for deleted_section becoming union field. + +2005-05-09 Alan Modra <amodra@bigpond.net.au> + + * elfcode.h (elf_object_p): Add more sanity checks on elf header. + +2005-05-08 Dave Korn <dave.korn@artimi.com> + + * coff-tic80.c: Undefine _CONST after system headers to prevent + clash with tic80-specific definition in include/coff/tic80.h + +2005-05-08 H.J. Lu <hongjiu.lu@intel.com> + + PR 939 + * elflink.c (elf_link_output_extsym): Use output_bfd if + h->root.u.def.section is bfd_abs_section_ptr when reporting + error. + +2005-05-07 H.J. Lu <hongjiu.lu@intel.com> + + * elf-bfd.h (elf_backend_data): Update special_sections to + array of pointer to bfd_elf_special_section. + * elf.c (special_sections): Likewise. + * elf32-arm.c (elf32_arm_symbian_special_sections): Likewise. + * elf32-m32r.c (m32r_elf_special_sections): Likewise. + * elf32-m68hc11.c (elf32_m68hc11_special_sections): Likewise. + * elf32-m68hc12.c (elf32_m68hc12_special_sections): Likewise. + * elf32-mcore.c (mcore_elf_special_sections): Likewise. + * elf32-ppc.c (ppc_elf_special_sections): Likewise. + * elf32-sh64.c (sh64_elf_special_sections): Likewise. + * elf32-v850.c (v850_elf_special_sections): Likewise. + * elf32-xtensa.c (elf_xtensa_special_sections): Likewise. + * elf64-alpha.c (elf64_alpha_special_sections): Likewise. + * elf64-hppa.c (elf64_hppa_special_sections): Likewise. + * elf64-ppc.c (ppc64_elf_special_sections): Likewise. + * elf64-sh64.c (sh64_elf64_special_sections): Likewise. + * elfxx-ia64.c (elfNN_ia64_special_sections): Likewise. + * elfxx-mips.c (_bfd_mips_elf_special_sections): Likewise. + * elfxx-mips.h (_bfd_mips_elf_special_sections): Likewise. + + * elf.c (get_special_section): Updated. + +2005-05-07 Alan Modra <amodra@bigpond.net.au> + + * elf-bfd.h (struct elf_backend_data): Remove got_symbol_offset. + * elfxx-target.h (elf_backend_got_symbol_offset): Delete. + * elflink.c (_bfd_elf_create_got_section): Use zero in place of + got_symbol_offset. + * elf-m10300.c (_bfd_mn10300_elf_create_got_section): Likewise. + * elf32-frv.c (_frv_create_got_section): Likewise. + * elf32-i370.c (i370_elf_finish_dynamic_sections): Delete ppc code. + (elf_backend_got_symbol_offset): Don't define. + * elf64-ppc.c (elf_backend_got_symbol_offset): Don't define. + * elf32-ppc.c (struct ppc_elf_link_hash_table): Add got_header_size + and got_gap. + (ppc_elf_create_got): Tidy. + (ppc_elf_create_dynamic_sections): Don't set SEC_IN_MEMORY for .plt. + (ppc_elf_check_relocs): Reduce string comparisons by using elf.hgot. + (ppc_elf_gc_sweep_hook): Likewise. + (ppc_elf_relocate_section): Likewise. + (ppc_elf_finish_dynamic_symbol): Likewise. + (allocate_got): New function. + (allocate_dynrelocs): Use allocate_got. + (ppc_elf_size_dynamic_sections): Likewise. Delay tlsld_got allocation + so that local got can refcount it. Set got_header_size. + (ppc_elf_relocate_section): Use value of elf.hgot rather than hard- + coded 4. + (ppc_elf_finish_dynamic_sections): Likewise. + (elf_backend_got_symbol_offset): Don't define. + (elf_backend_got_header_size): Ditto. + +2005-05-05 Steve Ellcey <sje@cup.hp.com> + + * configure.in (ACX_HEADER_STRING): New. + * configure: Regenerate. + * config.in: Regenerate. + * sysdep.h (STRING_WITH_STRINGS): Use. + +2005-05-05 H.J. Lu <hongjiu.lu@intel.com> + + * elf.c (_bfd_elf_close_and_cleanup): Only call + _bfd_dwarf2_cleanup_debug_info on bfd_object. + +2005-05-05 H.J. Lu <hongjiu.lu@intel.com> + + * elflink.c (_bfd_elf_provide_section_bound_symbols): Use + "__bss_start" instead of "_edata" as fallback. + +2005-05-05 H.J. Lu <hongjiu.lu@intel.com> + + * bfd-in2.h: Regenerated. + +2005-05-05 Paul Brook <paul@codesourcery.com> + + * config.bfd: Use bfd_elf32_i386_vxworks_vec for i?86-*-vxworks. + * configure.in: Add bfd_elf32_i386_vxworks_vec. i386 targets need + elf-vxworks.lo. + * configure: Regenerate. + * Makefile.am (BFD32_BACKENDS): Add elf-vxworks.lo. + (BFD32_BACKENDS_CFILES): Add elf-vxworks.c. + (elf32-i386.lo): Depend on elf-vxworks.h. + (elf-vxworks.lo): New rule. + * Makefile.in: Regenerate. + * elf-bfd.h (elf_backend_data): Update type of + elf_backend_emit_relocs. + (_bfd_elf_link_output_relocs): Update prototype. + * elflink.c (_bfd_elf_link_output_relocs): Always use + bed->elf_backend_emit_relocs when outputting relocations. + * elfxx-target.h (elf_backend_emit_relocs): Default to + _bfd_elf_link_output_relocs. + * targets.c (bfd_elf32_i386_vxworks_vec): Declare. + (_bfd_target_vector): Add bfd_elf32_i386_vxworks_vec. + * elf32-i386.c: Add elf32-i386-vxworks target BFD. + (elf_i386_plt0_entry): Remove padding. + (elf_i386_pic_plt0_entry): Ditto. + (PLTRESOLVE_RELOCS_SHLIB, PLTRESOLVE_RELOCS): Define. + (PLT_NON_JUMP_SLOT_RELOCS): Define. + (elf_i386_link_hash_table): Add srelplt2, hgot, hplt, is_vxworks and + plt0_pad_byte fields. + (elf_i386_link_hash_table_create): Zero them. + (elf_i386_create_dynamic_sections): Create static relocation section. + (allocate_dynrelocs): Allocate space for static PLT relocations. + (elf_i386_size_dynamic_sections): Save shortcuts to PLT and GOT + symbols. Give PLT symbols function type. Don't strip PLT sections + if we have exported symbols from them. + (elf_i386_finish_dynamic_symbol): Fill in VxWorks PLT static + relocation section. Don't mark _GLOBAL_OFFSET_TABLE_ as absolute on + VxWorks. + (elf_i386_finish_dynamic_sections): Allow different pad bytes. + Add relocation for GOT location. Fill in PLT static relocations. + (elf_i386_vxworks_link_hash_table_create): New function. + (elf_i386_vxworks_link_output_symbol_hook): New function. + * elf-vxworks.h: New file. + +2005-05-05 H.J. Lu <hongjiu.lu@intel.com> + + * section.c (bfd_make_section_anyway_with_flags): New. + (bfd_make_section_anyway): Call bfd_make_section_anyway_with_flags, + (bfd_make_section_with_flags): New. + (bfd_make_section): Call bfd_make_section_with_flags. + + * elf-m10300.c (_bfd_mn10300_elf_create_got_section): Call + bfd_make_section_with_flags/bfd_make_section_anyway_with_flags + instead of bfd_make_section/bfd_make_section and don't call + bfd_set_section_flags. + (mn10300_elf_check_relocs): Likewise. + (_bfd_mn10300_elf_create_dynamic_sections): Likewise. + * elf32-arm.c (create_got_section): Likewise. + (bfd_elf32_arm_add_glue_sections_to_bfd): Likewise. + (elf32_arm_check_relocs): Likewise. + * elf32-cris.c (cris_elf_check_relocs): Likewise. + * elf32-frv.c (elf32_frv_add_symbol_hook): Likewise. + (_frv_create_got_section): Likewise. + (elf32_frvfdpic_create_dynamic_sections): Likewise. + * elf32-hppa.c (elf32_hppa_create_dynamic_sections): Likewise. + (elf32_hppa_check_relocs): Likewise. + * elf32-i370.c (i370_elf_create_dynamic_sections): Likewise. + (i370_elf_check_relocs): Likewise. + * elf32-i386.c (create_got_section): Likewise. + (elf_i386_check_relocs): Likewise. + * elf32-m32r.c (m32r_elf_add_symbol_hook): Likewise. + (create_got_section): Likewise. + (m32r_elf_create_dynamic_sections): Likewise. + (m32r_elf_check_relocs): Likewise. + * elf32-m68k.c (elf_m68k_check_relocs): Likewise. + * elf32-ppc.c (ppc_elf_create_got): Likewise. + (ppc_elf_create_dynamic_sections): Likewise. + (ppc_elf_add_symbol_hook): Likewise. + (ppc_elf_check_relocs): Likewise. + * elf32-s390.c (create_got_section): Likewise. + (elf_s390_check_relocs): Likewise. + * elf32-sh.c (create_got_section): Likewise. + (sh_elf_create_dynamic_sections): Likewise. + (sh_elf_check_relocs): Likewise. + * elf32-vax.c (elf_vax_check_relocs): Likewise. + * elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise. + * elf32-xtensa.c (elf_xtensa_create_dynamic_sections): Likewise. + (add_extra_plt_sections): Likewise. + * elf64-alpha.c (elf64_alpha_add_symbol_hook): Likewise. + (elf64_alpha_create_got_section): Likewise. + (elf64_alpha_create_dynamic_sections): Likewise. + (elf64_alpha_check_relocs): Likewise. + * elf64-hppa.c (get_reloc_section): Likewise. + (get_opd): Likewise. + (get_plt): Likewise. + (get_dlt): Likewise. + (get_stub): Likewise. + (elf64_hppa_create_dynamic_sectionso): Likewise. + * elf64-mmix.c (mmix_elf_check_common_relocs): Likewise. + * elf64-ppc.c (create_linkage_sections): Likewise. + (ppc64_elf_check_relocs): Likewise. + * elf64-s390.c (create_got_section): Likewise. + (elf_s390_check_relocs): Likewise. + * elf64-sh64.c (sh_elf64_check_relocs): Likewise. + (sh64_elf64_create_dynamic_sections): Likewise. + * elf64-x86-64.c (create_got_section): Likewise. + (elf64_x86_64_check_relocs): Likewise. + * elflink.c (_bfd_elf_create_got_section): Likewise. + (_bfd_elf_link_create_dynamic_sections): Likewise. + (elf_link_add_object_symbols): Likewise. + * elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Likewise. + (elfNN_ia64_create_dynamic_sections): Likewise. + (get_fptr): Likewise. + (get_pltoff): Likewise. + (get_reloc_section): Likewise. + (elfNN_ia64_object_p): Likewise. + * elfxx-mips.c (mips_elf_rel_dyn_section): Likewise. + (mips_elf_create_compact_rel_section): Likewise. + (mips_elf_create_got_section): Likewise. + (_bfd_mips_elf_create_dynamic_sections): Likewise. + * elfxx-sparc.c (create_got_section): Likewise. + (_bfd_sparc_elf_check_relocs): Likewise. + + * elf.c (_bfd_elf_new_section_hook): Call _bfd_elf_get_sec_type_attr + on linker created sections. + +2005-05-05 H.J. Lu <hongjiu.lu@intel.com> + + PR 882 + * elflink.c (_bfd_elf_link_assign_sym_version): Allow version + script on executable. + +2005-05-05 John Levon <levon@movementarian.org> + + * dwarf2.c (read_abbrevs): If bfd_realloc fails, free currently + allocated memory before returning. + (decode_line_info): Likewise. + (_bfd_dwarf2_cleanup_debug_info): New function: Frees memory + allocated by functions in this file. + * elf-bfd.h (_bfd_dwarf2_cleanup_debug_info): Prototype. + * elf.c (_bfd_elf_close_and_cleanup): Call + _bfd_dwarf2_cleanup_debug_info. + +2005-05-05 Hans-Peter Nilsson <hp@axis.com> + + * Makefile.am (INCLUDES): Don't -D_GNU_SOURCE here. + * configure.in: Call AC_GNU_SOURCE here, after AC_PROG_CC. + * configure, config.in, Makefile.in: Regenerate. + * sysdep.h (stpcpy): Revert last change. + +2005-05-05 Hans-Peter Nilsson <hp@axis.com> + + * sysdep.h (stpcpy): Wrap declaration in parentheses. + +2005-05-04 H.J. Lu <hongjiu.lu@intel.com> + + * elfxx-ia64.c (ARCH_SIZE): New. + (LOG_SECTION_ALIGN): Likewise. + (elfNN_ia64_create_dynamic_sections): Use LOG_SECTION_ALIGN to + align relocation sections. + (get_fptr): Likewise. + (get_reloc_section): Likewise. + (elfNN_ia64_tprel_base): Likewise. + (elfNN_ia64_check_relocs): Support 32bit relocations. + (allocate_global_fptr_got): Likewise. + (allocate_dynrel_entries): Likewise. + (set_got_entry): Likewise. + (set_pltoff_entry): Likewise. + (elfNN_ia64_relocate_section): Likewise. + +2005-05-04 H.J. Lu <hongjiu.lu@intel.com> + + * configure.in: Add AC_CHECK_DECLS(stpcpy). + * configure: Regenerate. + * config.in: Likewise. + + * sysdep.h (stpcpy): New. + +2005-05-04 Nick Clifton <nickc@redhat.com> + + * Update the address and phone number of the FSF organization in + the GPL notices in the following files: + aix386-core.c, aix5ppc-core.c, aout-adobe.c, aout-arm.c, + aout-cris.c, aout-ns32k.c, aout-sparcle.c, aout-target.h, + aout-tic30.c, aout0.c, aout32.c, aout64.c, aoutf1.h, aoutx.h, + archive.c, archive64.c, archures.c, armnetbsd.c, bfd-in.h, + bfd-in2.h, bfd.c, bfdio.c, bfdwin.c, binary.c, bout.c, cache.c, + cf-i386lynx.c, cf-m68klynx.c, cf-sparclynx.c, cisco-core.c, + coff-a29k.c, coff-alpha.c, coff-apollo.c, coff-arm.c, coff-aux.c, + coff-go32.c, coff-h8300.c, coff-h8500.c, coff-i386.c, coff-i860.c, + coff-i960.c, coff-ia64.c, coff-m68k.c, coff-m88k.c, coff-maxq.c, + coff-mcore.c, coff-mips.c, coff-or32.c, coff-pmac.c, coff-ppc.c, + coff-rs6000.c, coff-sh.c, coff-sparc.c, coff-stgo32.c, + coff-svm68k.c, coff-tic30.c, coff-tic4x.c, coff-tic54x.c, + coff-tic80.c, coff-u68k.c, coff-w65.c, coff-we32k.c, coff-z8k.c, + coff64-rs6000.c, coffcode.h, coffgen.c, cofflink.c, coffswap.h, + corefile.c, cpu-a29k.c, cpu-alpha.c, cpu-arc.c, cpu-arm.c, + cpu-avr.c, cpu-cr16c.c, cpu-cris.c, cpu-crx.c, cpu-d10v.c, + cpu-d30v.c, cpu-dlx.c, cpu-fr30.c, cpu-frv.c, cpu-h8300.c, + cpu-h8500.c, cpu-hppa.c, cpu-i370.c, cpu-i386.c, cpu-i860.c, + cpu-i960.c, cpu-ia64-opc.c, cpu-ia64.c, cpu-ip2k.c, cpu-iq2000.c, + cpu-m10200.c, cpu-m10300.c, cpu-m32r.c, cpu-m68hc11.c, + cpu-m68hc12.c, cpu-m68k.c, cpu-m88k.c, cpu-maxq.c, cpu-mcore.c, + cpu-mips.c, cpu-mmix.c, cpu-msp430.c, cpu-ns32k.c, cpu-openrisc.c, + cpu-or32.c, cpu-pdp11.c, cpu-pj.c, cpu-powerpc.c, cpu-rs6000.c, + cpu-s390.c, cpu-sh.c, cpu-sparc.c, cpu-tic30.c, cpu-tic4x.c, + cpu-tic54x.c, cpu-tic80.c, cpu-v850.c, cpu-vax.c, cpu-w65.c, + cpu-we32k.c, cpu-xstormy16.c, cpu-xtensa.c, cpu-z8k.c, demo64.c, + dwarf1.c, dwarf2.c, ecoff.c, ecofflink.c, ecoffswap.h, + efi-app-ia32.c, efi-app-ia64.c, elf-bfd.h, elf-eh-frame.c, + elf-hppa.h, elf-m10200.c, elf-m10300.c, elf-strtab.c, elf.c, + elf32-am33lin.c, elf32-arc.c, elf32-arm.c, elf32-avr.c, + elf32-cr16c.c, elf32-cris.c, elf32-crx.c, elf32-d10v.c, + elf32-d30v.c, elf32-dlx.c, elf32-fr30.c, elf32-frv.c, elf32-gen.c, + elf32-h8300.c, elf32-hppa.c, elf32-hppa.h, elf32-i370.c, + elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c, + elf32-iq2000.c, elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, + elf32-m68hc1x.c, elf32-m68hc1x.h, elf32-m68k.c, elf32-m88k.c, + elf32-mcore.c, elf32-mips.c, elf32-msp430.c, elf32-openrisc.c, + elf32-or32.c, elf32-pj.c, elf32-ppc.c, elf32-ppc.h, elf32-s390.c, + elf32-sh-symbian.c, elf32-sh.c, elf32-sh64-com.c, elf32-sh64.c, + elf32-sh64.h, elf32-sparc.c, elf32-v850.c, elf32-vax.c, + elf32-xstormy16.c, elf32-xtensa.c, elf32.c, elf64-alpha.c, + elf64-gen.c, elf64-hppa.c, elf64-hppa.h, elf64-mips.c, + elf64-mmix.c, elf64-ppc.c, elf64-ppc.h, elf64-s390.c, + elf64-sh64.c, elf64-sparc.c, elf64-x86-64.c, elf64.c, elfcode.h, + elfcore.h, elflink.c, elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c, + elfxx-mips.h, elfxx-sparc.c, elfxx-sparc.h, elfxx-target.h, + epoc-pe-arm.c, epoc-pei-arm.c, format.c, freebsd.h, gen-aout.c, + genlink.h, hash.c, host-aout.c, hp300bsd.c, hp300hpux.c, + hppabsd-core.c, hpux-core.c, i386aout.c, i386bsd.c, i386dynix.c, + i386freebsd.c, i386linux.c, i386lynx.c, i386mach3.c, i386msdos.c, + i386netbsd.c, i386os9k.c, ieee.c, ihex.c, init.c, irix-core.c, + libaout.h, libbfd-in.h, libbfd.c, libbfd.h, libcoff-in.h, + libcoff.h, libecoff.h, libhppa.h, libieee.h, libnlm.h, liboasys.h, + libpei.h, libxcoff.h, linker.c, lynx-core.c, m68k4knetbsd.c, + m68klinux.c, m68klynx.c, m68knetbsd.c, m88kmach3.c, m88kopenbsd.c, + mach-o-target.c, mach-o.c, mach-o.h, merge.c, mipsbsd.c, mmo.c, + netbsd-core.c, netbsd.h, newsos3.c, nlm-target.h, nlm.c, + nlm32-alpha.c, nlm32-i386.c, nlm32-ppc.c, nlm32-sparc.c, nlm32.c, + nlm64.c, nlmcode.h, nlmswap.h, ns32k.h, ns32knetbsd.c, oasys.c, + opncls.c, osf-core.c, pc532-mach.c, pdp11.c, pe-arm.c, pe-i386.c, + pe-mcore.c, pe-mips.c, pe-ppc.c, pe-sh.c, peXXigen.c, + pef-traceback.h, pef.c, pef.h, pei-arm.c, pei-i386.c, pei-mcore.c, + pei-mips.c, pei-ppc.c, pei-sh.c, peicode.h, ppcboot.c, + ptrace-core.c, reloc.c, reloc16.c, riscix.c, rs6000-core.c, + sco5-core.c, section.c, simple.c, som.c, som.h, sparclinux.c, + sparclynx.c, sparcnetbsd.c, srec.c, stab-syms.c, stabs.c, sunos.c, + syms.c, sysdep.h, targets.c, tekhex.c, ticoff.h, trad-core.c, + vax1knetbsd.c, vaxbsd.c, vaxnetbsd.c, versados.c, vms-gsd.c, + vms-hdr.c, vms-misc.c, vms-tir.c, vms.c, vms.h, xcoff-target.h, + xcofflink.c, xsym.c, xsym.h, xtensa-isa.c, xtensa-modules.c, + hosts/alphavms.h + +2005-05-04 H.J. Lu <hongjiu.lu@intel.com> + + * bfd-in.h (_bfd_elf_provide_section_bound_symbols): New. + * bfd-in2.h: Regenerated. + + * elflink.c (bfd_elf_set_symbol): New. + (_bfd_elf_provide_symbol): Call it. + (_bfd_elf_provide_section_bound_symbols): New. + +2005-05-04 H.J. Lu <hongjiu.lu@intel.com> + + * elflink.c (_bfd_elf_merge_symbol): Only skip weak definitions + at the end, if a strong definition has already been seen. + +2005-05-04 Alan Modra <amodra@bigpond.net.au> + + * section.c (struct bfd_section): Replace link_order_head and + link_order_tail with map_head and map_tail union. + (STD_SECTION): Update. + (_bfd_strip_section_from_output): Delete. + * aoutx.h: Update throughout for above changes. + * coff-ppc.c: Likewise. + * cofflink.c: Likewise. + * ecoff.c: Likewise. + * elf-eh-frame.c: Likewise. + * elf-m10300.c: Likewise. + * elf.c: Likewise. + * elf32-arm.c: Likewise. + * elf32-cris.c: Likewise. + * elf32-hppa.c: Likewise. + * elf32-i386.c: Likewise. + * elf32-m32r.c: Likewise. + * elf32-m68hc1x.c: Likewise. + * elf32-m68k.c: Likewise. + * elf32-ppc.c: Likewise. + * elf32-s390.c: Likewise. + * elf32-sh.c: Likewise. + * elf32-vax.c: Likewise. + * elf32-xtensa.c: Likewise. + * elf64-alpha.c: Likewise. + * elf64-hppa.c: Likewise. + * elf64-ppc.c: Likewise. + * elf64-s390.c: Likewise. + * elf64-sh64.c: Likewise. + * elf64-x86-64.c: Likewise. + * elflink.c: Likewise. + * elfxx-ia64.c: Likewise. + * elfxx-mips.c: Likewise. + * elfxx-sparc.c: Likewise. + * linker.c: Likewise. + * merge.c: Likewise. + * pdp11.c: Likewise. + * xcofflink.c: Likewise. + * elflink.c (bfd_boolean bfd_elf_size_dynsym_hash_dynstr): Split + out from bfd_elf_size_dynamic_sections. + * bfd-in.h (bfd_boolean bfd_elf_size_dynsym_hash_dynstr): Declare. + * bfd-in2.h: Regenerate. + +2005-05-04 Alan Modra <amodra@bigpond.net.au> + + * section.c (bfd_section_list_remove): Don't clear s->next. + (bfd_section_list_append): Always init s->prev. + (bfd_section_list_prepend): Define. + (bfd_section_list_insert_after): Minor optimization. + (bfd_section_removed_from_list): Rewrite. + * elf.c (assign_section_numbers): Simplify list traversal now that + bfd_section_list_remove doesn't destroy removed section next ptr. + * sunos.c (sunos_add_dynamic_symbols): Likewise. + * elfxx-ia64.c (elfNN_ia64_object_p): Use bfd_section_list_prepend. + * xcofflink.c (_bfd_xcoff_bfd_final_link): Simplify list traversal. + * bfd-in2.h: Regenerate. + +2005-05-02 H.J. Lu <hongjiu.lu@intel.com> + + * bfd.c (bfd): Remove section_tail and add section_last. + (bfd_preserve): Likewise. + (bfd_preserve_save): Likewise. + (bfd_preserve_restore): Likewise. + * opncls.c (_bfd_new_bfd): Likewise. + + * coffcode.h (coff_compute_section_file_positions): Updated. + (coff_compute_section_file_positions): Likewise. + * elf.c (assign_section_numbers): Likewise. + * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise. + * elf64-mmix.c (mmix_elf_final_link): Likewise. + * elfxx-ia64.c (elfNN_ia64_object_p): Likewise. + * elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise. + * sunos.c (sunos_add_dynamic_symbols): Likewise. + * xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise. + + * ecoff.c (bfd_debug_section): Initialize prev. + + * section.c (bfd_section): Add prev. + (bfd_section_list_remove): Updated. + (bfd_section_list_append): New. + (bfd_section_list_insert_after): New. + (bfd_section_list_insert_before): New. + (bfd_section_list_insert): Removed. + (bfd_section_removed_from_list): Updated. + (STD_SECTION): Initialize prev. + (bfd_section_init): Updated. + (bfd_section_list_clear): Updated. + + * bfd-in2.h: Regenerated. + +2005-05-02 H.J. Lu <hongjiu.lu@intel.com> + + * elf.c (_bfd_elf_new_section_hook): Don't call + _bfd_elf_get_sec_type_attr on sections from input files. + +2005-05-02 H.J. Lu <hongjiu.lu@intel.com> + + * merge.c (sec_merge_init): Call bfd_hash_table_init_n with + hash table size 16699 instead of bfd_hash_table_init. + +2005-05-01 Paul Brook <paul@codesourcery.com> + + * elflink.c (_bfd_elf_merge_symbol): Skip weak definitions if a strong + definition has already been seen. + +2005-05-01 Paul Brook <paul@codesourcery.com> + + * elf32-arm.c (bfd_elf32_arm_process_before_allocation): Treat + R_ARM_PLT32 the same as R_ARM_PC24. + (arm_add_to_rel): Ditto. + +2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org> + + * config.bfd: Add h8300*-*-rtemscoff. + Switch h8300*-*-rtems* to elf. + +2005-04-29 Daniel Jacobowitz <dan@codesourcery.com> + + * aclocal.m4, Makefile.in: Regnerated. + +2005-04-28 Paul Brook <paul@codesourcery.com> + + Merge changes only applied to Makefile.in. + * Makefile.am (BFD32_BACKENDS): Add elfxx-sparc.lo + (BFD32_BACKENDS_CFILES): Add elfxx-sparc.c + (elfxx-sparc.lo): New rule. + (elf32-sparc.lo): Add elfxx-sparc.h dependency. + (elf64-sparc.lo): Likewise. + +2005-04-28 Julian Brown <julian@codesourcery.com> + + * elflink.c (_bfd_elf_provide_symbol): Provide symbol for weak + import. + +2005-04-27 H.J. Lu <hongjiu.lu@intel.com> + + * elf-bfd.h (bfd_elf_sym_name): Also take "asection *". + + * elf.c (bfd_elf_sym_name): Updated. + (group_signature): Likewise. + * elf32-ppc.c (ppc_elf_relocate_section): Likewise. + * elf64-ppc.c (ppc64_elf_edit_opd): Likewise. + (ppc64_elf_edit_toc): Likewise. + (ppc64_elf_relocate_section): Likewise. + * elfcode.h (elf_slurp_symbol_table): Likewise. + * elflink.c (elf_link_input_bfd): Likewise. + + * elfxx-ia64.c (elfNN_ia64_relocate_section): Call + bfd_elf_sym_name to get local symbol name when reporting errors. + +2005-04-27 Nick Clifton <nickc@redhat.com> + + * elflink.c (elf_link_input_bfd): Handle the case where a badly + formatted input file results in a reloc which has no associated + global symbol. + +2005-04-26 Jerome Guitton <guitton@gnat.com> + + * bfd.m4 (BFD_NEED_DECLARATION): Restore. + +2005-04-25 David S. Miller <davem@davemloft.net> + + * elfxx-sparc.c (sparc_elf_append_rela_64): Add BFD64 protection. + (sparc_elf_r_info_64, _bfd_sparc_elf_finish_dynamic_symbol, + sparc64_finish_dyn, _bfd_sparc_elf_finish_dynamic_sections): + Likewise. + +2005-04-25 H.J. Lu <hongjiu.lu@intel.com> + + PR 858 + * elflink.c (elf_link_input_bfd): Make non-debugging reference + to discarded section an error. + +2005-04-21 Jerome Guitton <guitton@gnat.com> + + * configure.in: Replace BFD_NEED_DECLARATION checks by the + corresponding AC_CHECK_DECLS. + * sysdep.h: Replace NEED_DECLARATION_* checks by the corresponding + HAVE_DECL_*. + * bfd.m4 (BFD_NEED_DECLARATION): Remove, obsolete. + * configure: Regenerate. + * config.in: Ditto. + +2005-04-21 Andreas Schwab <schwab@suse.de> + + * elfxx-sparc.h (struct _bfd_sparc_elf_link_hash_table): Remove + unsigned from type of dynamic_interpreter. + * elfxx-sparc.c (_bfd_sparc_elf_link_hash_table_create): Remove + casts again. + + * elf.c (assign_section_numbers): Fix comment. + +2005-04-21 Jerome Guitton <guitton@gnat.com> + + * som.c (som_bfd_print_private_bfd_data): Add explicit cast to long + for struct som_exec_auxhdr fields. + +2005-04-21 Nick Clifton <nickc@redhat.com> + + * aout-adobe.c: Convert to ISO C and fix formatting. + * aout-arm.c: Convert to ISO C and fix formatting. + * aout-cris.c: Convert to ISO C and fix formatting. + * aout-ns32k.c: Convert to ISO C and fix formatting. + * aout-tic30.c: Convert to ISO C and fix formatting. + * coffcode.h: Convert to ISO C and fix formatting. + * coffswap.h: Convert to ISO C and fix formatting. + * i386aout.c: Convert to ISO C and fix formatting. + * libaout.h: Convert to ISO C and fix formatting. + * libcoff-in.h: Convert to ISO C and fix formatting. + * libcoff.h: Convert to ISO C and fix formatting. + * libecoff.h: Convert to ISO C and fix formatting. + * libnlm.h: Convert to ISO C and fix formatting. + * libpei.h: Convert to ISO C and fix formatting. + * libxcoff.h: Convert to ISO C and fix formatting. + * nlm-target.h: Convert to ISO C and fix formatting. + * nlm.c: Convert to ISO C and fix formatting. + * nlm32-alpha.c: Convert to ISO C and fix formatting. + * nlm32-i386.c: Convert to ISO C and fix formatting. + * nlm32-ppc.c: Convert to ISO C and fix formatting. + * nlm32-sparc.c: Convert to ISO C and fix formatting. + * nlmcode.h: Convert to ISO C and fix formatting. + * nlmswap.h: Convert to ISO C and fix formatting. + * pe-mips.c: Convert to ISO C and fix formatting. + * peXXigen.c: Convert to ISO C and fix formatting. + * peicode.h: Convert to ISO C and fix formatting. + * vms-gsd.c: Convert to ISO C and fix formatting. + * vms-hdr.c: Convert to ISO C and fix formatting. + * vms-misc.c: Convert to ISO C and fix formatting. + * vms-tir.c: Convert to ISO C and fix formatting. + * vms.c: Convert to ISO C and fix formatting. + * vms.h: Convert to ISO C and fix formatting. + + * coffgen.c (coff_print_symbol): Restore correct formatting of + output. + +2005-04-20 David S. Miller <davem@davemloft.net> + + * elfxx-sparc.c (sparc_elf_r_symndx_64): Fix compiler warning. + (_bfd_sparc_elf_link_hash_table_create): Likewise. + (allocate_dynrelocs): Likewise. + +2005-04-20 Jerome Guitton <guitton@gnat.com> + + * configure.in: Fix the check for basename declaration. Add check + for declarations of ftello, ftello64, fseeko, fseeko64. + * configure: Regenerate. + * config.in: Ditto. + * sysdep.h: If needed, declare ftello, ftello64, fseeko, fseeko64. + +2005-04-19 David S. Miller <davem@davemloft.net> + + * elfxx-sparc.c: New file. + * elfxx-sparc.h: New file. + * Makefile.in (BFD32_BACKENDS): Add elfxx-sparc.lo + (BFD32_BACKENDS_CFILES): Add elfxx-sparc.c + (elfxx-sparc.lo): New rule. + (elf32-sparc.lo): Add elfxx-sparc.h dependency. + (elf64-sparc.lo): Likewise. + * configure.in (bfd_elf32_sparc_vec): Add elfxx-sparc.lo + (bfd_elf64_sparc_vec): Likewise. + * configure: Regenerate. + * elf32-sparc.c: Remove common code now in elfxx-sparc.c + * elf64-sparc.c: Likewise, also use elf64_sparc_*() naming + which is more consistent with elf32-sparc.c + +2005-04-19 Daniel Jacobowitz <dan@codesourcery.com> + + * elfxx-mips.c (struct mips_elf_link_hash_entry): Update comment. + (mips_elf_create_local_got_entry): Check h->root.forced_local. + +2005-04-19 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (ppc_elf_check_relocs): Don't bother with + dynamic relocs in non-SEC_ALLOC sections. + (ppc_elf_gc_sweep_hook): Likewise. + (ppc_elf_relax_section): Likewise. + (ppc_elf_relocate_section): Likewise. + +2005-04-18 Nick Clifton <nickc@redhat.com> + + * aix5ppc-core.c (xcoff64_core_p): Fix compile time warning + assigning a value to return_value. + +2005-04-17 H.J. Lu <hongjiu.lu@intel.com> + + PR 855 + * elf.c (_bfd_elf_copy_private_section_data): Don't copy linker + created group data. + +2005-04-17 H.J. Lu <hongjiu.lu@intel.com> + + PR 855 + * elf.c (setup_group): Properly handle zero group count. + +2005-04-17 Mark Kettenis <kettenis@gnu.org> + + * som.c (hppa_som_reloc, som_mkobject, som_is_space) + (som_is_subspace, compare_subspaces, som_compute_checksum) + (som_build_and_write_symbol_table, som_slurp_symbol_table): New + protoypes. + (hppa_som_reloc, compare_syms, compare_subspaces) + (som_print_symbol, som_get_section_contents) + (som_set_section_contents): Remove space after 'void *'. + (som_bfd_print_private_bfd_data): Use %lx to print longs. + (som_bfd_merge_private_bfd_data) + (som_bfd_copy_private_header_data, som_bfd_set_private_flags): New + defines. + +2005-04-15 Julian Brown <julian@codesourcery.com> + + * bfd-in.h (bfd_elf32_arm_set_target_relocs): Update prototype. + * bfd-in2.h: Regenerate. + * elf32-arm.c (elf32_arm_link_hash_table): New field, 'use_blx'. + (elf32_arm_link_hash_table_create): Initialise fix_v4bx, use_blx. + (bfd_elf32_arm_set_target_relocs): Handle use_blx. + (elf32_arm_final_link_relocate): Use Thumb BLX for R_ARM_THM_PC22 + relocations if requested to. + (allocate_dynrelocs): Don't count size of omitted Thumb stubs based on + use_blx rather than symbian_p. + (elf32_arm_finish_dynamic_symbol): Don't output Thumb PLT stubs if + use_blx is in effect. + (elf32_arm_symbian_link_hash_table_create): Enable use_blx by default + for SymbianOS. + +2005-04-15 Nick Clifton <nickc@redhat.com> + + * coffgen.c (coff_print_symbol): Use fprintf_vma to print vma + values. + +2005-04-15 Alan Modra <amodra@bigpond.net.au> + + PR ld/815 + * elflink.c (elf_smash_syms): Clear undef.next if it's not being + used as a list pointer. + +2005-04-14 Alan Modra <amodra@bigpond.net.au> + + * Makefile.am (NO_WERROR): Define. + * warning.m4: New file + * acinclude.m4: Include warning.m4. + * configure.in: Invoke AM_BINUTILS_WARNINGS. + * Makefile.in: Regenerate. + * configure: Regenerate. + +2005-04-14 Alan Modra <amodra@bigpond.net.au> + + * merge.c (sec_merge_emit): Tidy. Check for bfd_zmalloc errors. + Write trailing padding. + + * merge.c (merge_strings): Round up section size for alignment. + +2005-04-14 David S. Miller <davem@davemloft.net> + + Add TLS support for 64-bit Sparc ELF. + * elf64-sparc.c (sparc64_elf_dyn_relocs, + sparc64_elf_link_hash_entry, sparc64_elf_obj_tdata): New structs. + (GOT_UNKNOWN, GOT_NORMAL, GOT_TLD_GD, GOT_TLD_IE, + sparc64_elf_hash_entry, sparc64_elf_tdata, + sparc64_elf_local_got_tls_type): New defines. + (sparc64_elf_mkobject): New function. + (sparc64_elf_link_hash_table): Add members for dynamic linker + sections PLT, RELPLT, DYNBSS, and RELBSS. Add tls_ldm_got + uion to track TLS GOT references. Add sym_sec to cache + mappings from local sym to section. + (link_hash_newfunc): New function. + (sparc64_elf_bfd_link_hash_table_create): Rename to + sparc64_elf_link_hash_table_create for consistency. + Pass link_hash_newfunc to _bfd_elf_link_hash_table_init. + (sparc64_elf_create_dynamic_sections): Initialize new section + members of sparc64_elf_link_hash_table. Only init srelbss + if not-shared. + (sparc64_elf_copy_indirect_symbol, sparc64_elf_tls_transition): + New functions. + (SPARC_NOP): Define. + (sparc64_elf_build_plt, sparc64_elf_plt_entry_offset, + sparc64_elf_plt_ptr_offset): Delete. + (sparc64_plt_entry_build): New function to build PLT entries + gradually instread of all at once at the end of linking. + (sparc64_elf_check_relocs): Delete dynobj, sgot, and srelgot + local vars. Get them from sparc64_elf_hash_table instead. + Check early on if r_symndx is in bounds. Handle TLS transitions. + Account for TLS GOT references and DF_STATIC_TLS, as needed. + For TLS relocs, record the tls_type in either + sparc64_elf_local_got_tls_type or sparc64_elf_hash_entry as + appropriate. For R_SPARC_TLS_{GD,LDM}_CALL, emit a reference + to the __tls_get_addr symbol. For PLT relocs, track references + via h->plt.refcount. When R_SPARC_{PC10,PC22,PC_HH22,PC_HM10, + PC_LM22} and h not-NULL, set h->non_got_ref. For global data + symbol references, count the number of relocations needed for + that symbol. For default switch case, don't error, this lets + the TLS relocs not explicitly handled by this function get + accepted. + (sparc64_elf_gc_mark_hook, sparc64_gc_sweep_hook): New functions. + (sparc64_elf_adjust_dynamic_symbol): Remove dynobj local var, get + it from sparc64_elf_hash_table. Store the real PLT offset + in h->plt.offset, and build PLT entries one at a time. Also + get .dynbss section pointer from htab. + (allocate_dynrelocs, readonly_dynrelocs, + sparc64_omit_section_dynsym): New functions. + (sparc64_elf_omit_section_dynsym): Use these new functions as + helpers. + (dtpoff_base, tpoff): New functions. + (sparc64_elf_relocate_section): Kill dynobj, sgot, and splt + locals, get them from sparc64_elf_hash_table. Handle TLS + relocations and refcounting in main relocation loop. + (sparc64_elf_finish_dynamic_symbol): Use + sparc64_elf_link_hash_table. Build PLT entries as we see + them. Handle TLS GOT relocations. + (sparc64_elf_finish_dynamic_sections): Get sgot and dynobj + from sparc64_elf_hash_table. Initialize only PLT header + not all entries since we not build PLT entries one by one. + (elf_backend_copy_indirect_symbol, bfd_elf64_mkobject, + elf_backend_gc_mark_hook, elf_backend_gc_sweep_hook, + elf_backend_can_gc_sections, elf_backend_can_refcount): Define. + +2005-04-13 Daniel Jacobowitz <dan@codesourcery.com> + + * elflink.c (elf_link_input_bfd): Update check for removed + sections. + +2005-04-12 Alan Modra <amodra@bigpond.net.au> + + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerate. + * aclocal.m4: Regenerate. + * libcoff.h: Regenerate. + +2005-04-11 H.J. Lu <hongjiu.lu@intel.com> + + * linker.c (_bfd_generic_link_output_symbols): Also check if + the output section of an input section has been removed from + the output file. + + * section.c (bfd_section_list_remove): Clear the next field + of the removed section. + (bfd_section_removed_from_list): New. + * bfd-in2.h: Regenerated. + +2005-04-11 David S. Miller <davem@davemloft.net> + + * elf32-sparc.c (elf32_sparc_relocate_section, + R_SPARC_TLS_LDO_{HIX22,LOX10}): When not shared, transition to + R_SPARC_TLS_LE_{HIX22,LOX10}. + (elf32_sparc_relocate_section, R_SPARC_TLS_{LDO,LE}_HIX22): Only + xor relocation with 0xffffffff if R_SPARC_TLS_LE_HIX22. + (elf32_sparc_relocate_section, R_SPARC_TLS_{LDO,LE}_LOX10): Only + or 0x1c00 into relocation if R_SPARC_TLS_LE_HIX22. + +2005-04-11 H.J. Lu <hongjiu.lu@intel.com> + + * coffcode.h (STRING_SIZE_SIZE): Updated to match libcoff-in.h. + +2005-04-11 Nick Clifton <nickc@redhat.com> + + * aout-target.h: Convert to ISO C. + * aoutf1.h: Convert to ISO C. + * aoutx.h: Convert to ISO C. + * bout.c: Convert to ISO C. + * dwarf1.c: Convert to ISO C. + * ecoffswap.h: Convert to ISO C. + * freebsd.h: Convert to ISO C. + * genlink.h: Convert to ISO C. + * ieee.c: Convert to ISO C. + * ihex.c: Convert to ISO C. + * libcoff-in.h: Convert to ISO C. + * mach-o.c: Convert to ISO C. + * mach-o.h: Convert to ISO C. + * netbsd.h: Convert to ISO C. + * ns32k.h: Convert to ISO C. + * ns32knetbsd.c: Convert to ISO C. + * oasys.c: Convert to ISO C. + * pdp11.c: Convert to ISO C. + * pef-traceback.h: Convert to ISO C. + * pef.c: Convert to ISO C. + * pef.h: Convert to ISO C. + * riscix.c: Convert to ISO C. + * som.c: Convert to ISO C. + * som.h: Convert to ISO C. + * srec.c: Convert to ISO C. + * stabs.c: Convert to ISO C. + * sunos.c: Convert to ISO C. + * tekhex.c: Convert to ISO C. + * versados.c: Convert to ISO C. + * version.h: Convert to ISO C. + * xcoff-target.h: Convert to ISO C. + * xcofflink.c: Convert to ISO C. + * xsym.c: Convert to ISO C. + * xsym.h: Convert to ISO C. + +2005-04-08 Paul Brook <paul@codesourcery.com> + + * elf32-arm.c (ARM2THUMB_GLUE_SIZE): Rename... + (ARM2THUMB_STATIC_GLUE_SIZE): ... to this. + (ARM2THUMB_PIC_GLUE_SIZE): Define. + (a2t1p_ldr_insn, a2t2p_add_pc_insn, a2t3p_bx_r12_insn): Add. + (elf32_arm_to_thumb_stub): Create PIC stubs. + (record_arm_to_thumb_glue): Use different stub size for relocatable + images. + +2005-04-05 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (dec_dynrel_count): New function split out from + ppc64_elf_edit_toc, with additional code from ppc64_elf_edit_opd. + (ppc64_elf_edit_toc, ppc64_elf_edit_opd): Use it. + (ppc64_elf_tls_optimize): Likewise. + +2005-04-05 Mark Kettenis <kettenis@gnu.org> + + * netbsd-core.c (SPARC_WCOOKIE_OFFSET): Renamed from + CORE_WCOOKIE_OFFSET. + (SPARC64_WCOOKIE_OFFSET): New. + (netbsd_core_file_p): Provide .wcookie section for OpenBSD/sparc64. + +2005-04-05 Nick Clifton <nickc@redhat.com> + + * po/rw.po: New translation: Kinyarwanda + * configure.in (ALL_LINGUAS): Add rw + * configure: Regenerate. + +2005-04-05 Richard Sandiford <rsandifo@redhat.com> + + * elfxx-mips.c (MIPS_ELF_OPTIONS_SECTION_NAME_P): New macro. + (_bfd_mips_elf_section_from_shdr): Use it to check for recognized + SHT_MIPS_OPTIONS names. Allow all sections with unrecognised + section flags. + (_bfd_mips_elf_fake_sections): Use MIPS_ELF_OPTIONS_SECTION_NAME_P + to check for SHT_MIPS_OPTIONS sections. + (_bfd_mips_elf_set_section_contents): Likewise. + +2005-04-04 Eric Christopher <echristo@redhat.com> + + * elfxx-mips.c (_bfd_elf_mips_get_relocated_section_contents): + Clean up gp handling code. + +2005-04-04 H.J. Lu <hongjiu.lu@intel.com> + + * elf.c (bfd_elf_set_group_contents): Ignore linker created + group section. + (assign_section_numbers): Accept link_info. Check SHT_GROUP + sections for relocatable files only. Remove the linker created + group sections. + (_bfd_elf_compute_section_file_positions): Pass link_info to + assign_section_numbers. + + * elfxx-ia64.c (elfNN_ia64_object_p): New. + (elf_backend_object_p): Defined. + +2005-04-04 H.J. Lu <hongjiu.lu@intel.com> + + * elf-bfd.h (elf_section_data): Use (sec) instead of sec. + +2005-04-03 Fred Fish <fnf@specifixinc.com> + + * dwarf2.c (struct dwarf2_debug): Add dwarf_ranges_buffer and + dwarf_ranges_size members. + (struct comp_unit): Add base_address member. + (struct funcinfo): Replace low/high members with an arange. + (arange_add): Replace incoming "unit" parameter with "abfd" and + "first_arange" pointers. Reorganize/rewrite function body. + (decode_line_info): Change arange_add call to pass bfd and arange + pointers. + (lookup_address_in_line_info_table): Use arange list instead of + individual low/high members. Walk function's arange list to find + lowest PC in list, to test for overlapping functions. + (read_debug_ranges): New function, reads the debug_ranges section. + (lookup_address_in_function_table): Use arange list instead of + individual low/high members. Rewrite to find smallest range that + matches. + (read_rangelist): Read a given rangelist from debug_ranges. + (scan_unit_for_functions): Use arange list instead of individual + low/high members. Handle a DW_AT_ranges attribute. + (parse_comp_unit): Use arange list instead of individual low/high + members. Save comp unit base address. Handle a DW_AT_ranges + attribute. + +2005-04-01 H.J. Lu <hongjiu.lu@intel.com> + + * elf.c (assign_section_numbers): Really use the kept section. + +2005-03-31 H.J. Lu <hongjiu.lu@intel.com> + + * elf-bfd.h (_bfd_elf_check_kept_section): New. + + * elf.c (assign_section_numbers): When sh_link points to a + discarded section, call _bfd_elf_check_kept_section to see if + the kept section can be used. Otherwise reject sh_link + pointing to discarded section. + + * elflink.c (_bfd_elf_check_kept_section): New. + (elf_link_input_bfd): Use it. + +2005-04-01 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_edit_toc): Account for dynamic relocs + that we no longer need. + +2005-04-01 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Return -1 on errors + rather than 0. + (ppc64_elf_check_relocs): Remove unnecessary SEC_ALLOC check. + +2005-03-31 H.J. Lu <hongjiu.lu@intel.com> + + * elf.c (assign_section_numbers): Fix a typo. + +2005-03-31 H.J. Lu <hongjiu.lu@intel.com> + + * elflink.c (elf_link_input_bfd): Remove the extra `\n' in + error message. + (_bfd_elf_section_already_linked): Likewise. + +2005-03-31 Jerome Guitton <guitton@gnat.com> + + * config.in: Regenerate. + +2005-03-31 Jerome Guitton <guitton@gnat.com> + + * config.in (HAVE_DECL_BASENAME): New configure macro. + * configure.in: Check for basename. + * configure: Regenerate. + +2005-03-30 Julian Brown <julian@codesourcery.com> + + * bfd-in.h (bfd_is_arm_mapping_symbol_name): Rename from + bfd_elf32_is_arm_mapping_symbol_name. + * bfd-in2.h: Regenerate. + * cpu-arm.c (bfd_is_arm_mapping_symbol_name): Rename from + bfd_elf32_is_arm_mapping_symbol_name. + * elf32-arm.c (elf32_arm_is_target_special_symbol): Rename + bfd_elf32_is_arm_mapping_symbol_name to bfd_is_arm_mapping_symbol_name. + (arm_elf_find_function): Likewise. + (elf32_arm_output_symbol_hook): Likewise. + +2005-03-30 Julian Brown <julian@codesourcery.com> + + * bfd-in.h (bfd_elf32_is_arm_mapping_symbol_name): Add prototype. + * bfd-in2.h: Regenerate. + * elf32-arm.c (elf32_arm_is_target_special_symbol): Rename call to + bfd_elf32_is_arm_mapping_symbol_name. + (elf32_arm_output_symbol_hook): Likewise. + (arm_elf_find_function): Likewise, and include STT_NOTYPE in test for + mapping symbols. + (is_arm_mapping_symbol_name): Function moved from here... + * cpu-arm.c (bfd_elf32_is_arm_mapping_symbol_name): ...to here, renamed + and made global. + +2005-03-29 Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com> + + * configure.in: Check for ffs decl and alphabetize. + * config.in: Regenerate. + * configure: Regenerate. + * sysdep.h [NEED_DECLARATION_FFS] (ffs): Prototype and alphabetize. + +2005-03-29 Fred Fish <fnf@specifixinc.com> + + * dwarf2.c (struct comp_unit): Fix typo. + (scan_unit_for_functions): Remove unused local variable "name" + and dead code that set it. + +2005-03-29 Daniel Jacobowitz <dan@codesourcery.com> + Phil Blundell <philb@gnu.org> + + * bfd-in2.h, libbfd.h: Regenerated. + * reloc.c: Add ARM TLS relocations. + * elf32-arm.c (elf32_arm_howto_table): Add dynamic TLS + relocations. + (elf32_arm_tls_gd32_howto, elf32_arm_tls_ldo32_howto) + (elf32_arm_tls_ldm32_howto, elf32_arm_tls_le32_howto) + (elf32_arm_tls_ie32_howto): New. + (elf32_arm_howto_from_type): Support TLS relocations. + (elf32_arm_reloc_map): Likewise. + (elf32_arm_reloc_type_lookup): Likewise. + (TCB_SIZE): Define. + (struct elf32_arm_obj_tdata): New. + (elf32_arm_tdata, elf32_arm_local_got_tls_type): Define. + (elf32_arm_mkobject): New function. + (struct elf32_arm_relocs_copied): Add pc_count. + (elf32_arm_hash_entry, GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD) + (GOT_TLS_IE): Define. + (struct elf32_arm_link_hash_table): Add tls_ldm_got. + (elf32_arm_link_hash_newfunc): Initialize tls_type. + (elf32_arm_copy_indirect_symbol): Copy pc_count and tls_type. + (elf32_arm_link_hash_table_create): Initialize tls_ldm_got. + (dtpoff_base, tpoff): New functions. + (elf32_arm_final_link_relocate): Handle TLS relocations. + (IS_ARM_TLS_RELOC): Define. + (elf32_arm_relocate_section): Warn about TLS mismatches. + (elf32_arm_gc_sweep_hook): Handle TLS relocations and pc_count. + (elf32_arm_check_relocs): Detect invalid symbol indexes. Handle + TLS relocations and pc_count. + (elf32_arm_adjust_dynamic_symbol): Check non_got_ref. + (allocate_dynrelocs): Handle TLS. Bind REL32 relocs to local + calls. + (elf32_arm_size_dynamic_sections): Handle TLS. + (elf32_arm_finish_dynamic_symbol): Likewise. + (bfd_elf32_mkobject): Define. + +2005-03-29 Daniel Jacobowitz <dan@codesourcery.com> + + * elf32-arm.c (elf32_arm_check_relocs): Increment count for all + relocation types. Don't count relocations which will use a PLT. + +2005-03-29 Joel Brobecker <brobecker@gnat.com> + + * elf.c (elfcore_grok_nto_status): Print tid as long. + (elfcore_grok_nto_regs): Likewise. + +2005-03-29 Joel Brobecker <brobecker@gnat.com> + + * irix-core.c: Remove some unnecessary prototypes. + +2005-03-28 Joel Brobecker <brobecker@adacore.com> + + * irix-core.c: Convert to ISO C. + +2005-03-28 Joel Brobecker <brobecker@adacore.com> + + * irix-core.c (do_sections): Replace + by | in expression. + (irix_core_core_file_matches_executable_p): Add ATTRIBUTE_UNUSED + to unused parameters to avoid a compiler warning. + +2005-03-28 Mark Kettenis <kettenis@gnu.org> + + * netbsd-core.c: Convert to ISO C. Fix formatting. + +2005-03-24 Eric Christopher <echristo@redhat.com> + + * elfxx-mips.c: Revert previous patch. + +2005-03-24 Nick Clifton <nickc@redhat.com> + + * targets.c (_bfd_target_vector): Only include the + bfd_elf32_ia64_hpux_big_vec vector when building a 64-bit BFD with + all targets enabled. + +2005-03-24 James E Wilson <wilson@specifixinc.com> + + * Makefile.am (BFD32_BACKENDS): Delete elf32-ia64.lo. + (BFD64_BACKENDS): Add elf32-ia64.lo. + * Makefile.in: Regenerate. + +2005-03-23 Eric Christopher <echristo@redhat.com> + + * elfxx-mips.c (MIPS_ELF_READONLY_SECTION): New. + (mips_elf_calculate_relocation): Use. Define DF_TEXTREL + after emitting relocation. + (_bfd_mips_elf_adjust_dynamic_symbol): Ditto. + (_bfd_mips_elf_check_relocs): Remove code to set DF_TEXTREL + and readonly_reloc. + +2005-03-23 Mike Frysinger <vapier@gentoo.org> + Nick Clifton <nickc@redhat.com> + + * config.bfd: Accept any C library to accompany a GNU Linux + implementation, not just the GNU C library. + * configure.in: Likewise. + * configure: Regenerate. + +2005-03-22 H.J. Lu <hongjiu.lu@intel.com> + + * bfd-in.h (_bfd_elf_provide_symbol): New. + * bfd-in2.h: Regenerated. + + * elf32-ppc.c (set_linker_sym): Moved to elflink.c. + (ppc_elf_set_sdata_syms): Call _bfd_elf_provide_symbol instead + of set_linker_sym. + + * elflink.c (_bfd_elf_provide_symbol): New. Moved and renamed + from elf32-ppc.c. + +2005-03-22 Hans-Peter Nilsson <hp@axis.com> + + * hash.c (strtab_hash_newfunc): Fix typo in allocated size. + +2005-03-22 Bob Wilson <bob.wilson@acm.org> + + * xtensa-isa.c (xtensa_opcode_lookup, xtensa_state_lookup, + xtensa_sysreg_lookup_name, xtensa_interface_lookup, + xtensa_funcUnit_lookup): Skip bsearch call if count is zero. + (xtensa_opcode_decode): Rearrange code. + +2005-03-22 Nick Clifton <nickc@redhat.com> + + * binary.c: Convert to ISO C90 formatting. + * coff-arm.c: Convert to ISO C90 formatting. + * coffgen.c: Convert to ISO C90 formatting. + * elf32-gen.c: Convert to ISO C90 formatting. + * elf64-gen.c: Convert to ISO C90 formatting. + * hash.c: Convert to ISO C90 formatting. + * ieee.c: Convert to ISO C90 formatting. + +2005-03-22 Daniel Jacobowitz <dan@codesourcery.com> + + * elf32-arm.c (elf32_arm_final_link_relocate): Don't fail for + unresolved symbols in R_ARM_NONE relocations. + +2005-03-22 Daniel Jacobowitz <dan@codesourcery.com> + + * elf32-arm.c (elf32_arm_final_link_relocate): Add + UNRESOLVED_RELOC_P argument. Set it appropriately. + (elf32_arm_relocate_section): Update call to + elf32_arm_final_link_relocate. Don't clobber RELOCATION; use + unresolved_reloc instead. + +2005-03-23 Alan Modra <amodra@bigpond.net.au> + + * elflink.c (elf_link_add_object_symbols): Set SEC_EXCLUDE on + .gnu.warning.* sections. + +2005-03-22 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (elf_linker_section_pointers_t): Remove + written_address_p. + (ppc_elf_create_linker_section): Don't try to reuse existing section. + (elf_create_pointer_linker_section): Delete info parm. Don't make + h dynamic. Don't set written_address_p. + (ppc_elf_check_relocs): Adjust ppc_elf_create_linker_section calls. + (bfd_put_ptr): Delete. + (elf_finish_pointer_linker_section): Remove output_bfd and info parms. + Always write section contents. Assert global sym is def_regular. + Use offset bottom bit as a written flag. + (ppc_elf_relocate_section): Adjust elf_finish_pointer_linker_section + calls. + +2005-03-22 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (ppc_elf_set_sdata_syms): New function, extracted from.. + (ppc_elf_set_sdata_syms): ..here. Expand comment. Set .sbss start + and end syms. + +2005-03-21 Nick Clifton <nickc@redhat.com> + + * coff-arm.c (coff_link_hash_entry): Only define for non WINCE + targets. + (t2a1_bx_pc_insn): Likewise. + (t2a2_noop_insn): Likewise. + (t2a3_b_insn): Likewise. + (t2a1_push_insn): Likewise. + (t2a2_ldr_insn): Likewise. + (t2a3_mov_insn): Likewise. + (t2a4_bx_insn): Likewise. + (t2a5_pop_insn): Likewise. + (t2a6_bx_insn): Likewise. + (coff_arm_relocate_section): Only declare the high_address + variable for non WINCE targets. + +2005-03-22 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (ppc_elf_add_symbol_hook): Make htab->sbss + SEC_LINKER_CREATED. Attach to dynobj. + (ppc_elf_size_dynamic_sections): Strip htab->sbss if zero size. + +2005-03-21 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (struct elf_linker_section): Remove sym_hash and + sym_offset. Add name, bss_name, sym_name, sym_val. + (struct ppc_elf_link_hash_table): Remove sdata and sdata2 pointers. + Add sdata array of elf_linker_section_t. + (ppc_elf_link_hash_table_create): Set name, sym_name, and bss_name. + (enum elf_linker_section_enum): Delete. + (ppc_elf_create_linker_section): Rewrite. Don't create syms here. + (ppc_elf_check_relocs): Delay ppc_elf_create_linker_section until + the special sections are needed. Adjust htab->sdata refs. + Ensure dynobj is set in sreloc code. + (ppc_elf_size_dynamic_sections): Strip sdata sections. + (ppc_elf_set_sdata_syms): New function. + (elf_finish_pointer_linker_section): Use 0x8000 for sym_offset. + (ppc_elf_relocate_section): Adjust references to htab->sdata. Use + sym_val instead of sym_hash. + * elf32-ppc.h (ppc_elf_set_sdata_syms): Declare. + +2005-03-21 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (is_ppc_elf_target): Move to linker part of file. + (ppc_elf_merge_private_bfd_data): Likewise. + +2005-03-21 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (struct elf_linker_section): Remove rel_section. + (ppc_elf_create_linker_section): Don't create rel_section. + (elf_create_pointer_linker_section): Don't size relocs. + (elf_finish_pointer_linker_section): Remove relative_reloc parm. + Don't generate relocs. + (ppc_elf_relocate_section): Adjust calls to + elf_finish_pointer_linker_section. + +2005-03-21 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (is_ppc_elf_target): New function. + (ppc_elf_merge_private_bfd_data): Use it rather than just testing + for bfd_target_elf_flavour. Do this test before endian check. + (ppc_elf_add_symbol_hook): Use is_pcc_elf_target. + (ppc_elf_size_dynamic_sections): Likewise. + +2005-03-20 H.J. Lu <hongjiu.lu@intel.com> + + * elf-bfd.h (elf_backend_data): Add int to + elf_backend_section_from_shdr. + (bfd_elf_section_data): Update comment for this_idx. + (_bfd_elf_make_section_from_shdr): Add int. + * elfxx-mips.h (_bfd_mips_elf_section_from_shdr): Likewise. + + * elf.c (_bfd_elf_make_section_from_shdr): Take section index + and use it to set this_idx in bfd_elf_section_data. + (bfd_section_from_shdr): Pass shindex to + _bfd_elf_make_section_from_shdr. + (_bfd_elf_section_from_bfd_section): Use this_idx in + bfd_elf_section_data to find section index. + + * elf32-arm.c (elf32_arm_section_from_shdr): Take section + index and pass it to _bfd_elf_make_section_from_shdr. + * elf32-i370.c(i370_elf_section_from_shdr): Likewise. + * elf32-ppc.c (ppc_elf_section_from_shdr): Likewise. + * elf32-sh64.c (sh64_backend_section_from_shdr): Likewise. + * elf32-v850.c (v850_elf_section_from_shdr): Likewise. + * elf64-alpha.c (elf64_alpha_section_from_shdr): Likewise. + * elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise. + * elf64-x86-64.c (elf64_x86_64_section_from_shdr): Likewise. + * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise. + * elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Likewise. + +2005-03-19 Danny Smith <dannysmith@users.sourceforge.net> + Ross Ridge <rridge@csclub.uwaterloo.ca> + + * peicode.h (pe_ILF_build_a_bfd): Strip only one prefix + character in IMPORT_NAME_UNDECORATE and IMPORT_NAME_NOPREFIX + cases. Add comment. + +2005-03-18 H.J. Lu <hongjiu.lu@intel.com> + + * elflink.c (elf_mark_used_section): Remove check for special + sections. + +2005-03-18 Andreas Schwab <schwab@suse.de> + + * elfxx-ia64.c (elfNN_ia64_install_value): Change type of insn + from bfd_vma to ia64_insn, remove broken cast. + +2005-03-18 C Jaiprakash <cjaiprakash@noida.hcltech.com> + + * elf32-m68k.c (elf_cfv4e_plt0_entry): plt entry for coldfire v4e. + (elf_m68k_adjust_dynamic_symbol,elf_m68k_finish_dynamic_symbol, + elf_m68k_finish_dynamic_sections): Use it. + +2005-03-17 Paul Brook <paul@codesourcery.com> + Dan Jacobowitz <dan@codesourcery.com> + Mark Mitchell <mark@codesourcery.com> + + * elf32-arm.c (elf32_arm_modify_segment_map): New function. + (elf32_arm_additional_program_headers): Likewise. + (elf_backend_modify_segment_map): Define. + (elf_backend_additional_program_headers): Likewise. + (elf32_arm_symbian_modify_segment_map): Use + elf32_arm_modify_segment_map. + +2005-03-18 H.J. Lu <hongjiu.lu@intel.com> + + * elflink.c (elf_mark_used_section): Check bfd_is_const_section + for special sections. + +2005-03-18 Alan Modra <amodra@bigpond.net.au> + + * elf-bfd.h (_bfd_elf_link_renumber_dynsyms): Delete. + * elflink.c (_bfd_elf_link_renumber_dynsyms): Make static, add + section_sym_count param, and return number of section symbols. + (bfd_elf_size_dynamic_sections): Clear section symbol area of + .dynsym contents. Don't bother calling swap_symbol_out on the + first all-zero dynsym. + (elf_mark_used_section): Formatting. Avoid twiddling flags in + special sections like bfd_abs_section. + (bfd_elf_gc_sections): Spelling fix. + +2005-03-16 Fred Fish <fnf@specifixinc.com> + + PR binutils/790 + * dwarf2.c (read_indirect_string): Fix apparent typo, check + dwarf_str_buffer allocation, not dwarf_abbrev_buffer. + +2005-03-16 H.J. Lu <hongjiu.lu@intel.com> + + * elflink.c (elf_mark_used_section): New. + (bfd_elf_gc_sections): Call elf_gc_mark_section for + non-relocatable link if we don't do GC. + +2005-03-16 Nick Clifton <nickc@redhat.com> + Ben Elliston <bje@au.ibm.com> + + * configure.in (werror): New switch: Add -Werror to the + compiler command line. Enabled by default. Disable via + --disable-werror. + * configure: Regenerate. + +2005-03-16 Nick Clifton <nickc@redhat.com> + + * ecoff.c: Convert to ISO C90 formatting. + +2005-03-16 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c: Divide file into general and linker specific + functions. Sort linker functions into roughly the order in which + they are called by the ELF linker code. + +2005-03-16 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (ppc_elf_create_linker_section): Set SEC_LINKER_CREATED + on section. Correct comment, and add FIXME. + (ppc_elf_additional_program_headers): Don't bump header count for + interp. Test SEC_ALLOC, not SEC_LOAD, and don't test size. + (ppc_elf_size_dynamic_sections): Don't strip sdata and sdata2, but + do allocate memory if they need it. + +2005-03-15 Mikkel Krautz <krautz@gmail.com> + + * config.bfd (x86_64-elf): Add target. + +2005-03-15 Alan Modra <amodra@bigpond.net.au> + + * po/es.po: Commit new Spanish translation. + +2005-03-14 H.J. Lu <hongjiu.lu@intel.com> + + * elfxx-ia64.c (elfNN_ia64_relocate_section): Set symbo name + for global symbol when reporting overflow. + +2005-03-11 Jakub Jelinek <jakub@redhat.com> + + * libbfd-in.h (_bfd_ar_spacepad): New prototype. + * libbfd.h: Rebuilt. + * archive.c (_bfd_ar_spacepad): New function. + (_bfd_construct_extended_name_table, _bfd_write_archive_contents, + bsd_write_armap, _bfd_archive_bsd_update_armap_timestamp, + coff_write_armap): Use it. + (bfd_ar_hdr_from_filesystem): Likewise. Fix HP-UX large + uid/gid support. + * archive64.c (bfd_elf64_archive_write_armap): Use _bfd_ar_spacepad. + +2005-03-10 Mark Kettenis <kettenis@gnu.org> + + * archive.c (_bfd_look_for_bfd_in_cache): Move declaration of + has_table to the start of the function. + +2005-03-10 Ben Elliston <bje@au.ibm.com> + + * archive.c: Include hashtab.h. + (struct ar_cache): Rename `arelt' to `arbfd' and remove `next'. + (_bfd_look_for_bfd_in_cache): Reimplement using htab_find. + (hash_file_ptr): New function. + (eq_file_ptr): Likewise. + (_bfd_add_bfd_to_archive_cache): Reimplement using a hash table. + * libbfd-in.h: Include hashtab.h. + (struct artdata): Change `cache' member type to htab_t. + * libbfd.h: Rebuild. + +2005-03-08 Daniel Jacobowitz <dan@codesourcery.com> + + * configure.in: Bump version to 2.16.90. + * configure: Regenerated. + +2005-03-07 Jakub Jelinek <jakub@redhat.com> + + * opncls.c (opncls_bread, opncls_bclose): Fix if pread resp. + close is a function like macro in system headers. + +2005-03-07 Alan Modra <amodra@bigpond.net.au> + + PR ld/778 + * elf32-hppa.c (elf32_hppa_create_dynamic_sections): Reinstate + _GLOBAL_OFFSET_TABLE_ as a normal dynamic symbol. + +2005-03-06 Alan Modra <amodra@bigpond.net.au> + + * elf.c (elfcore_grok_win32pstatus): Warning fixes. + +2005-03-05 Alan Modra <amodra@bigpond.net.au> + + * po/bfd.pot: Regenerate. + +2005-03-05 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (update_plt_info): Don't mark new ABI call syms + with is_func. + (func_desc_adjust): Force dot-syms local in executables as well + as shared libs. + +2005-03-04 David Daney <ddaney@avtrex.com> + + * elfxx-mips.c (mips_elf_calculate_relocation): Handle special + '__gnu_local_gp' symbol used by gas -mno-shared. + +2005-03-03 H.J. Lu <hongjiu.lu@intel.com> + + * elf-bfd.h (elf_backend_data): Add "const char *" to + elf_backend_section_from_phdr. + + * elf.c (bfd_section_from_phdr): Pass "proc" to the + elf_backend_section_from_phdr hook. + +2005-03-02 Daniel Jacobowitz <dan@codesourcery.com> + Joseph Myers <joseph@codesourcery.com> + + * elfxx-mips.c (struct mips_got_entry): Add tls_type. + (struct mips_got_info): Add tls_gotno, tls_assigned_gotno, + and tls_ldm_offset. + (struct mips_elf_got_per_bfd_arg): Add global_count. + (struct mips_elf_count_tls_arg): New. + (struct mips_elf_hash_sort_data): Update comment for min_got_dynindx. + (struct mips_elf_link_hash_entry): Add tls_type and tls_got_offset. + (GOT_NORMAL, GOT_TLS_GD, GOT_TLS_LDM, GOT_TLS_IE) + (GOT_TLS_OFFSET_DONE, GOT_TLS_DONE): Define. + (TLS_RELOC_P): Define. + (TP_OFFSET, DTP_OFFSET): Define. + (dtprel_base, tprel_base): New functions. + (mips_elf_link_hash_newfunc): Initialize tls_type. + (mips_elf_got_entry_hash, mips_elf_got_entry_eq) + (mips_elf_multi_got_entry_hash, mips_elf_multi_got_entry_eq): Handle + TLS entries. + (mips_tls_got_relocs, mips_elf_count_local_tls_relocs) + (mips_elf_count_global_tls_entries, mips_elf_count_global_tls_relocs) + (mips_elf_output_dynamic_relocation, mips_elf_initialize_tls_slots) + (mips_tls_got_index): New functions. + (mips_elf_local_got_index): Add new R_SYMNDX, H, and R_TYPE + arguments. Pass them to mips_elf_create_local_got_entry. Use + mips_tls_got_index. + (mips_elf_global_got_index): Add new R_TYPE and INFO arguments. + Handle TLS entries. + (mips_elf_got_page, mips_elf_got16_entry): Update calls to + mips_elf_create_local_got_entry. + (mips_elf_create_local_got_entry): Add new R_SYMNDX, H, and R_TYPE + arguments. Handle TLS entries. + (mips_elf_sort_hash_table_f): Add non-TLS assertions. + (mips_elf_record_local_got_symbol): Add new TLS_FLAG argument. Handle + TLS entries. + (mips_elf_record_global_got_symbol): Likewise. + (mips_elf_make_got_per_bfd): Initialize new mips_got_info members. + Count TLS entries. + (mips_elf_merge_gots): Handle TLS entries when merging. + (mips_elf_initialize_tls_index): New function. + (mips_elf_set_global_got_offset): Handle TLS entries. + (mips_elf_adjust_gp): Handle TLS. + (mips_elf_multi_got): Remove redundant call to + mips_elf_resolve_final_got_entries. Initialize global_count. + Correct a comment. Initialize new TLS members of mips_got_info. + Assign TLS GOT indexes for new GOTs. + (mips_elf_create_got_section): Initialize new TLS members of + mips_got_info. + (mips_elf_calculate_relocation): Handle TLS relocs. + (_bfd_mips_elf_check_relocs): Likewise. Update calls to changed + functions. + (_bfd_mips_elf_always_size_sections): Handle TLS. + (_bfd_mips_elf_size_dynamic_sections): Likewise. + (_bfd_mips_elf_finish_dynamic_symbol): Likewise. Update calls to + changed functions. + (_bfd_mips_elf_copy_indirect_symbol): Copy tls_type. + (_bfd_mips_elf_hide_symbol): Handle TLS. + * elfn32-mips.c (elf_mips_howto_table_rel, elf_mips_howto_table_rela) + (mips_reloc_map): Add TLS relocs. + * elf32-mips.c (elf_mips_howto_table_rel, mips_reloc_map): Likewise. + * elf64-mips.c (mips_elf64_howto_table_rel) + (mips_elf64_howto_table_rela, mips_reloc_map): Likewise. + * reloc.c: Define new MIPS TLS relocations. + * libbfd.h, bfd-in2.h: Regenerated. + +2005-03-02 Jan Beulich <jbeulich@novell.com> + + * Makefile.am: Add dependency of cache.o on libiberty.h. + * cache.c: Include libiberty.h. + (bfd_open_file): Use unlink_if_ordinary instead of unlink. + +2005-03-01 Zack Weinberg <zack@codesourcery.com> + + * elf.c (bfd_section_from_shdr <default case>): Call + elf_backend_section_from_shdr hook unconditionally, and return + what it returns. + (bfd_section_from_phdr): Similarly, for elf_backend_section_from_phdr. + * elfxx-target.h (elf_backend_section_from_shdr) + (elf_backend_section_from_phdr): Default to + _bfd_elf_make_section_from_shdr and _bfd_elf_make_section_from_phdr + respectively. + +2005-03-01 Alan Modra <amodra@bigpond.net.au> + + * targets.h: Typo fix. + * bfd-in2.h: Regenerate. + + * bout.c (b_out_write_object_contents): Don't use sizeof on host + structs to size on-disk structures. + (b_out_set_section_contents): Size the external struct, not the + internal one for on-disk size. + (b_out_sizeof_headers): Likewise. + +2005-03-01 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_size_stubs): Override defined dot-sym + entry points with the func descriptor as well as undefweak. + +2005-02-28 Ross Ridge <rridge@csclub.uwaterloo.ca> + + * peicode.h (pe_ILF_build_a_bfd): Do not assume that an @ will be + present when IMPORT_NAME_UNDOECRATE is used. + +2005-02-28 H.J. Lu <hongjiu.lu@intel.com> + + PR 757 + * elf-bfd.h (_bfd_elf_merge_symbol): Add a pointer to unsigned + int. + + * elf32-sh-symbian.c (sh_symbian_relocate_section): Pass NULL + to _bfd_elf_merge_symbol. + + * elflink.c (_bfd_elf_merge_symbol): Use the pointer to + unsigned int to return the alignment of the old common symbol + in the dynamic object. + (_bfd_elf_add_default_symbol): Pass NULL to + _bfd_elf_merge_symbol. + (elf_link_add_object_symbols): Pass &old_alignment to + _bfd_elf_merge_symbol. Get the alignment of the new common + symbol in the dynamic object. + +2005-02-24 Ben Elliston <bje@au.ibm.com> + + * coffcode.h (coff_sym_filepos): Remove GNU960 conditional code. + * format.c (bfd_check_format_matches): Likewise. + * archive.c (BFD_GNU960_ARMAG): Likewise. + (bfd_generic_archive_p): Likewise. + (_bfd_write_archive_contents): Likewise. + +2005-02-24 H.J. Lu <hongjiu.lu@intel.com> + + * configure.in: (AM_INIT_AUTOMAKE): Set version to 2.15.95. + * configure: Regenerate. + +2005-02-24 Julian Brown <julian@sirius.codesourcery.com> + + * elflink.c (elf_link_add_object_symbols): Force symbols in discarded + COMDAT group sections to have default visibility. + +2005-02-24 Alan Modra <amodra@bigpond.net.au> + + * coffcode.h (coff_print_aux): Warning fix. + * elf-m10300.c (mn10300_elf_relax_section): Use section->id + instead of section pointer to identify. + * coff-h8300.c (h8300_reloc16_extra_cases): Likewise. Allocate + the correct size buffer for local sym mangling too. + (h8300_bfd_link_add_symbols): Likewise. + * elf32-sh-symbian.c (sh_symbian_process_embedded_commands): Fix + warning. + * elf32-sh64.c (shmedia_prepare_reloc): Use %B and %p in error message + * elf32-xtensa.c (literal_value_hash): Warning fix. + * versados.c (process_otr): Warning fix. + (versados_canonicalize_reloc): Likewise. + * vms-gsd.c (_bfd_vms_slurp_gsd): Warning fix. + * vms.c (fill_section_ptr): Warning fix. + +2005-02-23 H.J. Lu <hongjiu.lu@intel.com> + + * coff-tic54x.c (SWAP_OUT_RELOC_EXTRA): Defined. + * coff-tic80.c (SWAP_OUT_RELOC_EXTRA): Likewise. + +2005-02-23 Nick Clifton <nickc@redhat.com> + + * elfxx-mips.c (mips_elf_create_dynamic_relocation): Initialise + the relvaddr field of the Elf32_crinfo structure. + + * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Initialise + variables that are passed by reference to + m68hc11_get_relocation_value in case that function does not + initialise them. + + * elf32-cr16c.c (cr16c_elf_final_link_relocate): Remove duplicated + return statements and replace with a single return at the end of + the function. This helps pacify the flow analysis code in gcc 4.0. + + * elf.c (_bfd_elf_compute_section_file_positions): Initialise + strtab to avoid compile time warning. + +2005-02-23 Ben Elliston <bje@au.ibm.com> + + * opncls.c (bfd_zalloc): Document this function. + +2005-02-21 H.J. Lu <hongjiu.lu@intel.com> + + * coffcode.h (sec_to_styp_flags): Replaced SEC_CLINK with + SEC_TIC54X_CLINK. Replace SEC_BLOCK with SEC_TIC54X_BLOCK. + Replace SEC_SHARED with SEC_COFF_SHARED. + (styp_to_sec_flags): Likewise. + + * elfxx-target.h (TARGET_BIG_SYM): Remove SEC_ARCH_BIT_0. + (TARGET_LITTLE_SYM): Likewise. + + * section.c (SEC_ARCH_BIT_0): Removed. + (SEC_LINK_DUPLICATES_SAME_CONTENTS): Defined with + SEC_LINK_DUPLICATES_ONE_ONLY and SEC_LINK_DUPLICATES_SAME_SIZE. + (SEC_SHARED): Renamed to ... + (SEC_COFF_SHARED): This. + (SEC_BLOCK): Renamed to ... + (SEC_TIC54X_BLOCK): This. + (SEC_CLINK): Renamed to ... + (SEC_TIC54X_CLINK): This. + (SEC_XXX): Rearranged. Move SEC_COFF_SHARED_LIBRARY, + SEC_COFF_SHARED, SEC_TIC54X_BLOCK and SEC_TIC54X_CLINK to the + end. + * bfd-in2.h: Regenerated. + +2005-02-21 Fred Fish <fnf@specifixinc.com> + + * dwarf2.c (find_abstract_instance_name): Call recursively + to handle a DW_AT_specification. + +2005-02-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * elfxx-mips.c (ecoff_swap_rpdr_out, mips_elf_output_extsym, + mips_elf_create_dynamic_relocation, + _bfd_mips_elf_size_dynamic_sections, _bfd_mips_elf_final_link): + Remove #if 0'd code. + +2005-02-21 Alan Modra <amodra@bigpond.net.au> + + * Makefile.am: Run "make dep-am" + * Makefile.in: Regenerate. + +2005-02-21 Alan Modra <amodra@bigpond.net.au> + + * coffgen.c (bfd_coff_get_comdat_section): Check that + coff_section_data isn't NULL. + +2005-02-21 Alan Modra <amodra@bigpond.net.au> + + * bfd-in.h (bfd_elf_bfd_from_remote_memory): Warning fix. + * coff-m68k.c (bfd_m68k_coff_create_embedded_relocs): Likewise. + * coff-rs6000.c (xcoff_write_armap_big): Warning fixes. Remove + useless assignments. + (xcoff_write_archive_contents_big): Likewise. + (_bfd_xcoff_put_ldsymbol_name): Likewise. + * coff64-rs6000.c (_bfd_xcoff64_put_ldsymbol_name): Likewise. + * coffgen.c (coff_write_symbols): Make "written" a bfd_vma. + * cofflink.c (process_embedded_commands): Warning fixes. + * cpu-arm.c: Delete unnecessary prototypes. Convert to C90. + Warning fixes. + * dwarf2.c: Warning fixes. + * elf-bfd.h: Likewise. + * elf-eh-frame.c: Likewise. + * elf-strtab.c: Likewise. + * elf.c: Likewise. + * elf32-m68k.c: Likewise. + * elf32-ppc.c: Likewise. + * elf32-sh-symbian.c: Likewise. + * elf32-sh.c: Delete unnecessary prototypes. Warning fixes. + * elf64-sh64.c: Likewise. + * peicode.h: Likewise. + * elf64-mmix.c: Warning fixes. + * elfcode.h: Likewise. + * elfxx-mips.c: Likewise. + * libbfd-in.h: Likewise. + * libbfd.c: Likewise. + * mach-o.c: Likewise. + * merge.c: Likewise. + * mmo.c: Likewise. + * opncls.c: Likewise. + * pef.c: Likewise. + * srec.c: Likewise. + * vms-hdr.c: Likewise. + * vms-tir.c: Likewise. + * xtensa-isa.c: Likewise. + * xtensa-modules.c: Likewise. + * xsym.c: Likewise. + (pstrcmp): Use correct choice of string lengths. Fix return value. + (bfd_sym_module_name): Correct string length. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + +2005-02-17 Alexandre Oliva <aoliva@redhat.com> + + * elf32-frv.c (elf32_frv_relocate_section): Remove warning from + uninitialized check_segment[1] in TLSMOFF case. + Reported by Alan Modra. + (elf32_frv_relocate_section): Improve errors and warnings. + +2005-02-17 Alan Modra <amodra@bigpond.net.au> + + * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Fix warning. + +2005-02-16 Alan Modra <amodra@bigpond.net.au> + + * coff-arm.c (coff_arm_is_local_label_name): Warning fix. + * elf32-frv.c (frvfdpic_relocs_info_hash): Likewise. + * pef.c (bfd_pef_scan): Don't ignore return value of + bfd_pef_scan_start_address. + * mach-o.c (bfd_mach_o_scan): Don't ignore return value of + bfd_mach_o_scan_start_address. + * elfxx-ia64.c (elfNN_ia64_relax_brl): Rewrite for 32-bit bfd_vma. + * elfxx-mips.c: Remove unnecessary prototypes. + (sort_dynamic_relocs_64): Abort if not BFD64. + +2005-02-16 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_edit_toc): Skip toc if size is zero. + Skip toc reloc adjust if reloc_count is zero. + +2005-02-15 Nigel Stephens <nigel@mips.com> + Maciej W. Rozycki <macro@mips.com> + + * elf32-mips.c (elf_mips16_howto_table_rel): New array for MIPS16 + reloc howtos. Add R_MIPS16_HI16 and R_MIPS16_LO16 relocs and + R_MIPS16_GOT16 and R_MIPS16_CALL16 placeholders. + (elf_mips16_jump_howto): Move into elf_mips16_howto_table_rel. + (elf_mips16_gprel_howto): Likewise. Redefine src_mask and + dst_mask. + (mips16_gprel_reloc): Remove bit shuffling; call + _bfd_mips16_elf_reloc_unshuffle(), _bfd_mips_elf_gprel16_with_gp() + and _bfd_mips16_elf_reloc_shuffle() instead. + (mips16_reloc_map): New reloc map for MIPS16 relocs. + (bfd_elf32_bfd_reloc_type_lookup): Use mips16_reloc_map for MIPS16 + relocs. + (mips_elf32_rtype_to_howto): Fetch MIPS16 howtos from + elf_mips16_howto_table_rel. + * elf64-mips.c (mips16_elf64_howto_table_rel): New array for + MIPS16 REL reloc howtos. Add R_MIPS16_HI16 and R_MIPS16_LO16 + relocs and R_MIPS16_GOT16 and R_MIPS16_CALL16 placeholders. + (elf_mips16_jump_howto): Move into mips16_elf64_howto_table_rel. + (elf_mips16_gprel_howto): Likewise. Redefine src_mask and + dst_mask. + (mips16_elf64_howto_table_rela): New array for MIPS16 RELA + reloc howtos. Add R_MIPS16_26, R_MIPS16_GPREL, R_MIPS16_HI16 and + R_MIPS16_LO16 relocs and R_MIPS16_GOT16 and R_MIPS16_CALL16 + placeholders. + (mips16_gprel_reloc): Remove bit shuffling; call + _bfd_mips16_elf_reloc_unshuffle(), _bfd_mips_elf_gprel16_with_gp() + and _bfd_mips16_elf_reloc_shuffle() instead. + (mips16_reloc_map): New reloc map for MIPS16 relocs. + (bfd_elf64_bfd_reloc_type_lookup): Use mips16_reloc_map for MIPS16 + relocs. + (mips_elf64_rtype_to_howto): Fetch MIPS16 howtos from + mips16_elf64_howto_table_rela or mips16_elf64_howto_table_rel. + * elfn32-mips.c (elf_mips16_howto_table_rel): New array for MIPS16 + REL reloc howtos. Add R_MIPS16_HI16 and R_MIPS16_LO16 relocs and + R_MIPS16_GOT16 and R_MIPS16_CALL16 placeholders. + (elf_mips16_jump_howto): Move into elf_mips16_howto_table_rel. + (elf_mips16_gprel_howto): Likewise. Redefine src_mask and + dst_mask. + (mips16_gprel_reloc): Remove bit shuffling; call + _bfd_mips16_elf_reloc_unshuffle(), _bfd_mips_elf_gprel16_with_gp() + and _bfd_mips16_elf_reloc_shuffle() instead. + (mips16_reloc_map): New reloc map for MIPS16 relocs. + (bfd_elf32_bfd_reloc_type_lookup): Use mips16_reloc_map for MIPS16 + relocs. + (mips_elf_n32_rtype_to_howto): Fetch MIPS16 howtos from + elf_mips16_howto_table_rela or elf_mips16_howto_table_rel. + * elfxx-mips.c (_bfd_mips16_elf_reloc_unshuffle): New function to + handle bit shuffling for MIPS16 relocs. + (_bfd_mips16_elf_reloc_shuffle): Likewise. + (_bfd_mips_elf_lo16_reloc): Use _bfd_mips16_elf_reloc_unshuffle() + and _bfd_mips16_elf_reloc_shuffle(). + (_bfd_mips_elf_generic_reloc): Likewise. + (mips_elf_calculate_relocation): Likewise. Handle R_MIPS16_HI16 + and R_MIPS16_LO16. + (mips_elf_obtain_contents): Remove bit shuffling. + (mips_elf_perform_relocation): Likewise; call + _bfd_mips16_elf_reloc_unshuffle() and _bfd_mips16_elf_reloc_shuffle() + instead. + (_bfd_mips_elf_relocate_section): Likewise. Handle R_MIPS16_HI16 + and R_MIPS16_LO16. + * elfxx-mips.h (_bfd_mips16_elf_reloc_unshuffle): Declare. + (_bfd_mips16_elf_reloc_shuffle): Likewise. + * reloc.c (BFD_RELOC_MIPS16_HI16): New reloc. + (BFD_RELOC_MIPS16_HI16_S): Likewise. + (BFD_RELOC_MIPS16_LO16): Likewise. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + +2005-02-15 Jan Beulich <jbeulich@novell.com> + + * elfxx-ia64.c (ia64_howto_table): Correct strings for + R_IA64_DTPMOD64[LM]SB. + +2005-02-14 H.J. Lu <hongjiu.lu@intel.com> + + * elfxx-ia64.c (elfNN_ia64_relax_section): Allow relax + backward branch in the same section. + (elfNN_ia64_relocate_section): Inform users that the input + section is too big to relax br instruction when overflow + happens to R_IA64_PCREL21B, R_IA64_PCREL21BI, R_IA64_PCREL21M + and R_IA64_PCREL21F. + +2005-02-14 Orjan Friberg <orjanf@axis.com> + + * elfcore.h (elf_core_file_p): Move the call to + elf_backend_object_p to allow the correct machine to be set before + processing the program headers. + +2005-02-14 Nick Clifton <nickc@redhat.com> + + PR binutils/716 + * peicode.h (pe_bfd_copy_private_bfd_data): Copy the large address + aware flag from the input bfd to the output bfd. + +2005-02-11 Maciej W. Rozycki <macro@mips.com> + + * elf32-mips.c (_bfd_mips_elf32_gprel16_reloc): Reject + R_MIPS_LITERAL relocations for external symbols. + * elf64-mips.c (mips_elf64_literal_reloc): Likewise. + * elfn32-mips.c (mips_elf_literal_reloc): Likewise. + +2005-02-11 H.J. Lu <hongjiu.lu@intel.com> + + * bfd-in2.h: Rebuilt. + +2005-02-11 Paul Brook <paul@codesourcery.com> + + * elf-bfd.h (struct elf_link_hash_table): Add + is_relocatable_executable. + * elf.c (_bfd_elf_link_hash_table_init): Initialize it. + * elflink.c (bfd_elf_link_record_dynamic_symbol): Create local dynamic + symbols in relocatable executables. + (bfd_elf_record_link_assignment): Create dynamic section symbols in + relocatable executables. + (_bfd_elf_link_renumber_dynsyms): Ditto. + (bfd_elf_final_link): Ditto. + * elf32-arm.c (elf32_arm_final_link_relocate): Copy absolute + relocations into relocatable executables. + (elf32_arm_check_relocs): Crate dynamic sections for relocatable + executables. Also copy absolute relocations. + (elf32_arm_adjust_dynamic_symbol): Don't create copy relocations + in relocatable executables. + (allocate_dynrelocs): Copy relocations for relocatable executables. + Output dynamic symbols for symbols defined in linker scripts. + +2005-02-11 Nick Clifton <nickc@redhat.com> + + * libbfd.c (read_signed_leb128): Use an unsigned type for 'shift' + to avoid a compile time warning. + + * coff-alpha.c (alpha_adjust_reloc_in): Remove redundant test from + BFD_ASSERT. + + * coff-tic4x.c (coff_rtype_to_howto): Move definition before + inclusion of coffcode.h so that it is actually picked up. + + * coffcode.h (coff_std_swap_table): Add an unused attribute in + case it is not used. + + * elf32-ip2k.c (ip2k_call_opcode, IS_CALL_OPCODE): Remove unused + structure and macro. + + * elf32-iq2000.c (iq2000_reloc_map): Remove unused structure and + array. + + * elf32-m32r.c (m32r_reloc_map_old): Use #ifdef USE_M32R_OLD_RELOC + to protect the declaration of this array. + + * xsym.c (bfd_sym_parse_contained_variables_table_entry_v32): + Avoid call to memcpy with a size of 0. + +2005-02-12 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (toc_adjusting_stub_needed): Return true for + old-style branches to undefined dot-symbols which will be + satisfied by a plt call. + +2005-02-11 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (move_plt_plist): New function, extracted from.. + (ppc64_elf_copy_indirect_symbol): ..here. + (func_desc_adjust): Use move_plt_plist. + +2005-02-10 Paul Brook <paul@codesourcery.com> + + * elf32-arm.c (elf32_arm_final_link_relocate): Handle R_ARM_THM_PC9. + +2005-02-10 Paul Brook <paul@codesourcery.com> + + * elflink.c (bfd_elf_record_link_assignment): Make hidden and internal + symbols local. + (elf_link_renumber_hash_table_dynsyms): Ignore local symbols. + (elf_link_renumber_local_hash_table_dynsyms): New function. + (_bfd_elf_link_renumber_dynsyms): Number local dynamic symbols. + +2005-02-10 Jakub Jelinek <jakub@redhat.com> + + * bfd-in.h (BFD_LINKER_CREATED): Define. + * bfd-in2.h: Rebuilt. + * elflink.c (bfd_elf_size_dynamic_sections): Disregard + BFD_LINKER_CREATED bfds when determining input bfds without + .note.GNU-stack section. + +2005-02-10 Maciej W. Rozycki <macro@mips.com> + + * elf64-mips.c (mips16_gprel_reloc): Update a comment. + * elfn32-mips.c (mips16_gprel_reloc): Keep R_MIPS16_GPREL + relocations against external symbols unchanged. + +2005-02-08 Paul Brook <paul@codesourcery.com> + + * elflink.c (elf_link_input_bfd): Ignore symbols from null input + sections. + +2005-02-08 Hans-Peter Nilsson <hp@axis.com> + + * elflink.c (elf_link_add_object_symbols): Don't add "warning: " + prefix here. + +2005-02-07 Maciej W. Rozycki <macro@mips.com> + + * elf64-mips.c: Fix formatting throughout. + +2005-02-07 Maciej W. Rozycki <macro@mips.com> + + * elfn32-mips.c (elf_mips_howto_table_rela): Fix a comment typo. + +2005-02-07 Alexandre Oliva <aoliva@redhat.com> + + * elf32-frv.c (FRVFDPIC_SYM_LOCAL): Remove special handling for + *ABS*/*UND* sections. + (elf32_frv_relocate_section): Move zero-addend-required error... + (_frv_emit_got_relocs_plt_entries): ... here. Report error for + missing needed TLS section. + +2005-02-07 Hans-Peter Nilsson <hp@axis.com> + + * aoutx.h (NAME(aout,find_nearest_line)): Correct case for N_SO + being the last symbol. + (aout_link_add_symbols): Just return TRUE if a warning + symbol was last. + +2005-02-07 Maciej W. Rozycki <macro@mips.com> + + * elf32-mips.c (mips_elf_gprel32_reloc): Reject + R_MIPS_GPREL32 relocations against external symbols. + * elf64-mips.c (mips_elf64_gprel32_reloc): Replace an incorrect + comment. + +2005-02-07 Alan Modra <amodra@bigpond.net.au> + + * elf-bfd.h (elf_string_from_elf_strtab): Delete macro. + * elf.c (bfd_elf_string_from_elf_section): Expand occurrence of + elf_string_from_elf_strtab. + (_bfd_elf_setup_group_pointers, bfd_section_from_shdr): Likewise. + (bfd_section_from_shdr): For SHT_SYMTAB, load SHT_SYMTAB_SHNDX too + if it exists. Don't do the reverse for SHT_SYMTAB_SHNDX. For + SHT_STRTAB, check whether the strtab is for symtab or dynsymtab by + looking at cached symtab info first, before iterating over headers. + For SHT_REL and SHT_RELA, load dynsymtab if needed. + * elfcode.h (elf_object_p): Don't load section header stringtab + specially. + +2005-02-06 H.J. Lu <hongjiu.lu@intel.com> + + * elf32-i386.c (elf_i386_relocate_section): Disallow R_386_GOTOFF + against protected function when building shared library. + + PR 584 + * elf64-x86-64.c (is_32bit_relative_branch): New. + (elf64_x86_64_relocate_section): Alllow R_X86_64_PC32 on a + protected function symbol when building shared library for + 32bit relative branch instruction. + +2005-02-06 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (add_symbol_adjust): Don't create fake descriptor + syms when doing a relocatable link. + (ppc64_elf_gc_mark_hook): Check that syms are defined before looking + at u.def.section. + (ppc64_elf_tls_setup): Likewise. + (ppc64_elf_edit_opd): Don't use an undefined func desc sym. + +2005-02-04 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (struct ppc_link_hash_entry): Add "fake". + (link_hash_newfunc): Clear all locals using memset. + (make_fdh): Remove flags param. Always create fake func desc + weak. Link the descriptor with the code entry sym. + (ppc64_elf_archive_symbol_lookup): Don't return fake syms. + (add_symbol_adjust): Adjust make_fdh call. + (func_desc_adjust): Likewise. Twiddle any pre-existing fake + descriptor to strong undefined if code entry is strong. + +2005-02-04 Alan Modra <amodra@bigpond.net.au> + + * elflink.c (bfd_elf_record_link_assignment): Do "provide" symbol + lookup here. Set to new before calling bfd_link_repair_undef_list. + (elf_smash_syms): Check that u.undef.weak isn't the not_needed bfd. + +2005-02-03 Alan Modra <amodra@bigpond.net.au> + + * linker.c (_bfd_link_hash_newfunc): Set all local fields. + +2005-02-03 Alan Modra <amodra@bigpond.net.au> + + * linker.c (_bfd_generic_link_add_one_symbol): Set u.undef.weak. + * elflink.c (elf_smash_syms): Restore symbols that were undefweak + before the as-needed lib was loaded. Abort on unexpected refs. + +2005-02-02 Alan Modra <amodra@bigpond.net.au> + + * elflink.c (elf_smash_syms): Expand comments. + (elf_link_add_object_symbols): Only call elf_smash_syms for + as-needed dynamic objects. + + * elfxx-ia64.c (elfNN_ia64_new_elf_hash_entry): Don't clear + everything, just the field specific to ia64. + * elf64-hppa.c (elf64_hppa_new_dyn_hash_entry): Likewise. + +2005-02-01 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (func_desc_adjust): Move code creating func desc sym to.. + (make_fdh): ..here. New function. Don't set BSF_OBJECT for + undefined syms. + (struct add_symbol_adjust_data): New. + (add_symbol_adjust): Make an undefweak func desc for old ABI + objects to link with --as-needed shared libs. Return fail status. + Don't adjust old ABI func entry sym to weak if func desc syms + isn't defined. + (ppc64_elf_check_directives): Adjust call to add_symbol_adjust, + and return status. + +2005-02-01 Hans-Peter Nilsson <hp@axis.com> + + * cpu-cris.c (get_compatible): Rearrange disabled code and comment + for clarity. + +2005-02-01 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_check_directives): Move undefs list fixup.. + * linker.c (bfd_link_repair_undef_list): ..to new function, but don't + remove anything but new and undefweak. + * elflink.c (_bfd_elf_link_create_dynamic_sections): Override any + existing _DYNAMIC. + (_bfd_elf_create_dynamic_sections): Formatting. + (bfd_elf_record_link_assignment): Call bfd_link_repair_undef_list. + (_bfd_elf_merge_symbol): Don't handle as-needed syms here. + (struct elf_smash_data): New. + (elf_smash_syms): New function. + (elf_link_add_object_symbols): Call elf_smash_syms. Don't add + unneeded dynamic objects to loaded list. + (elf_link_output_extsym): Don't handle as-needed here. Strip + bfd_link_hash_new symbols. + * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't + delref when dynindx is already -1. + * elf64-alpha.c (elf64_alpha_output_extsym): Strip bfd_link_hash_new + symbols. + * elfxx-mips.c (mips_elf_output_extsym): Likewise. + +2005-02-01 Ben Elliston <bje@au.ibm.com> + + * elfxx-target.h (bfd_elfNN_bfd_discard_group): Redefine. + +2005-02-01 Ben Elliston <bje@au.ibm.com> + + * aout-arm.c, aout-target.h, aoutx.h, archive.c, armnetbsd.c, + bfd-in.h, bfdio.c, coff-alpha.c, coff-arm.c, coff-h8300.c, + coff-i860.c, coff-mcore.c, coff-or32.c, coff-ppc.c, coff-sh.c, + coff-sparc.c, coffcode.h, coffgen.c, cofflink.c, cpu-cris.c, + cpu-h8500.c, cpu-ns32k.c, ecoff.c, ecofflink.c, elf.c, + elf32-dlx.c, elf32-fr30.c, elf32-frv.c, elf32-hppa.c, + elf32-i860.c, elf32-ip2k.c, elf32-m32r.c, elf32-sh.c, + elf32-v850.c, elf64-mips.c, elf64-sparc.c, elflink.c, + i386aout.c, i386msdos.c, i386os9k.c, ieee.c, mach-o.c, + nlm32-sparc.c, oasys.c, opncls.c, pdp11.c, pe-mips.c, peXXigen.c, + pef.c, peicode.h, reloc.c, riscix.c, section.c, simple.c, som.c, + sparclynx.c, targets.c, vms-misc.c, vms-tir.c, xsym.c, + hosts/delta68.h, hosts/vaxbsd.h: Remove #if 0'd code + throughout. Similarly, collapse #if 1'd code. + +2005-02-01 Ben Elliston <bje@au.ibm.com> + + * elf-bfd.h (bfd_elf_discard_group): Remove. + * elf.c (bfd_elf_discard_group): Likewise. + * elfxx-target.h (bfd_elfNN_bfd_discard_group): Remove macro. + +2005-01-31 Richard Sandiford <rsandifo@redhat.com> + + * elf-bfd.h (elf_backend_data): Add elf_backend_eh_frame_address_size. + (_bfd_elf_eh_frame_address_size): Declare. + * elfxx-target.h (elf_backend_eh_frame_address_size): Define a default. + (elfNN_bed): Initialize elf_backend_eh_frame_address_size. + * elfxx-mips.h (_bfd_mips_elf_eh_frame_address_size): Declare. + (elf_backend_eh_frame_address_size): Define. + * elfxx-mips.c (_bfd_mips_elf_eh_frame_address_size): New function. + * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Get the address + size from the new backend hook. + (_bfd_elf_write_section_eh_frame): Likewise. + (_bfd_elf_eh_frame_address_size): New function. + +2005-01-31 Andrew Cagney <cagney@gnu.org> + + * configure: Regenerate to track ../gettext.m4. + +2005-01-31 Mark Mitchell <mark@codesourcery.com> + + * elf32-arm.c (elf32_arm_symbian_special_sections): Do not set + SHF_WRITE for .init_array, .fini_array, and .preinit_array. + +2005-01-31 Nick Clifton <nickc@redhat.com> + + * confg.bfd: Make targets scheduled for obsoletion (m68k-lynxos, + sparc-lynxos, vax-vms) be obsolete. + +2005-01-28 Daniel Jacobowitz <dan@codesourcery.com> + + * elf-bfd.h (struct elf_backend_data): Add minpagesize. + * elf32-arm.c (ELF_MINPAGESIZE): Define. + * elf32-ppc.c (ELF_MINPAGESIZE): Define. + * elfcode.h (elf_object_p): Use minpagesize instead of + maxpagesize. + * elfxx-target.h (ELF_MINPAGESIZE): Default to ELF_MAXPAGESIZE. + (elfNN_bed): Include ELF_MINPAGESIZE. + +2005-01-28 Julian Brown <julian@codesourcery.com> + + * bin-in.h (bfd_elf32_arm_set_target_relocs): Update prototype. + * bin-in2.h (bfd_elf32_arm_set_target_relocs): Update prototype. + * elf32-arm.c (elf32_arm_link_hash_table): Add fix_v4bx flag. + (bfd_elf32_arm_set_target_relocs): Add formal parameter fix_v4bx for + passing flag value from ld. Set flag value in global hash table entry. + (elf32_arm_final_link_relocate): Add code to implement R_ARM_V4BX + relocation. + +2005-01-27 Andrew Cagney <cagney@gnu.org> + + * configure: Regenerate to track ../gettext.m4 change. + +2005-01-25 Mark Mitchell <mark@codesourcery.com> + + * elf32-arm.c (elf_backend_default_use_rela_p): Define to zero for + SymbianOS. + +2005-01-25 Alexandre Oliva <aoliva@redhat.com> + + 2004-12-10 Alexandre Oliva <aoliva@redhat.com> + * elf32-frv.c (elf32_frv_relocate_section): Force local binding + for TLSMOFF. + * reloc.c: Add R_FRV_TLSMOFF. + * elf32-frv.c (elf32_frv_howto_table): Likewise. + (frv_reloc_map, frv_reloc_type_lookup): Map it. + (elf32_frv_relocate_section): Handle it. + (elf32_frv_check_relocs): Likewise. + * libbfd.h, bfd-in2.h: Rebuilt. + 2004-11-26 Alexandre Oliva <aoliva@redhat.com> + * elf32-frv.c (_frvfdpic_emit_got_relocs_plt_entries): Don't crash + when given an undefweak TLS symbol. Fix constant TLS PLT entries + such that they return the constant in gr9. + (_frvfdpic_relax_tls_entries): Don't crash for undefweak TLS + symbols. + (_frvfdpic_size_got_plt): Set _cooked_size of dynamic sections. + too, such that they shrink on relaxation. + (elf32_frvfdpic_finish_dynamic_sections): Check __ROFIXUP_END__ as + marking the position right past the _GLOBAL_OFFSET_TABLE_ value. + (_frvfdpic_assign_plt_entries): Shrink constant TLS PLT entries + if we can guarantee the use of 16-bit constants. + 2004-11-10 Alexandre Oliva <aoliva@redhat.com> + Introduce TLS support for FR-V FDPIC. + * reloc.c: Add TLS relocations. + * elf32-frv.c (elf32_frv_howto_table): Add TLS relocations. + (elf32_frv_rel_tlsdesc_value_howto): New. + (elf32_frv_rel_tlsoff_howto): New. + (frv_reloc_map): Add new mappings. + (struct frvfdpic_elf_link_hash_table): Add pointer to summary + reloc information. + (frvfdpic_dynamic_got_plt_info): New. + (frvfdpic_plt_tls_ret_offset): New. + (ELF_DYNAMIC_INTERPRETER, DEFAULT_STACK_SIZE): Move earlier. + (struct _frvfdpic_dynamic_got_info): Likewise. Add TLS members. + (struct _frvfdpic_dynamic_got_plt_info): Likewise. + (FRVFDPIC_SYM_LOCAL): Regard symbols defined in the absolute + section as local. + (struct frvfdpic_relocs_info): Add TLS fields. + (frvfdpic_relocs_info_hash): Warning clean up. + (frvfdpic_relocs_info_find): Initialize tlsplt_entry. + (frvfdpic_pic_merge_early_relocs_info): Merge TLS fields. + (FRVFDPIC_TLS_BIAS): Define. + (tls_biased_base): New. + (_frvfdpic_emit_got_relocs_plt_entries): Deal with TLS + relocations. + (frv_reloc_type_lookup): Likewise. + (frvfdpic_info_to_howto_rel): Likewise. + (elf32_frv_relocate_section): Likewise. + (_frv_create_got_section): Create the PLT section here. + (elf32_frvfdpic_create_dynamic_sections): Not here. + (_frvfdpic_count_nontls_entries): Move out of... + (_frvfdpic_count_got_plt_entries): ... here. + (_frvfdpic_count_tls_entries): Likewise. Add TLS support. + (_frvfdpic_count_relocs_fixups): Likewise. Add relaxation + support. + (_frvfdpic_relax_tls_entries): New. + (_frvfdpic_compute_got_alloc_data): Add TLS support. + (_frvfdpic_get_tlsdesc_entry): New. + (_frvfdpic_assign_got_entries): Add TLS support. + (_frvfdpic_assign_plt_entries): Likewise. + (_frvfdpic_reset_got_plt_entries): New. + (_frvfdpic_size_got_plt): Move out of... + (elf32_frvfdpic_size_dynamic_sections): ... here. + (_frvfdpic_relax_got_plt_entries): New. + (elf32_frvfdpic_relax_section): New. + (elf32_frvfdpic_finish_dynamic_sections): Add TLS sanity check. + (elf32_frv_check_relocs): Add TLS support. + (bfd_elf32_bfd_relax_section): Define for FDPIC. + * libbfd.h, bfd-in2.h: Rebuilt. + +2005-01-25 Alan Modra <amodra@bigpond.net.au> + + * elf.c (_bfd_elf_get_dynamic_reloc_upper_bound): Only include + loadable reloc sections. + (_bfd_elf_canonicalize_dynamic_reloc): Likewise. + (_bfd_elf_get_synthetic_symtab): Return 0 if no dynamic syms. + +2005-01-25 Alan Modra <amodra@bigpond.net.au> + + * elflink.c (elf_link_add_object_symbols): Don't create link dynamic + sections immediately when linking shared libs. Instead, wait until + we know a lib is needed. + (_bfd_elf_link_create_dynstrtab): Extract from.. + (_bfd_elf_link_create_dynamic_sections_): ..here. + (elf_add_dt_needed_tag): Call _bfd_elf_link_create_dynstrtab and + _bfd_elf_link_create_dynamic_sections. Add abfd param. Allow + for non-existent .dynamic. + (elf_link_output_extsym): Don't complain about undefined symbols + in as-needed dynamic libs that aren't actually linked. + +2005-01-24 Andrew Cagney <cagney@gnu.org> + + * configure: Regenerate, ../gettext.m4 was updated. + +2005-01-21 Ben Elliston <bje@au.ibm.com> + + * aout-encap.c: Remove unused file. + +2005-01-19 H.J. Lu <hongjiu.lu@intel.com> + + PR 679 + * elflink.c (_bfd_elf_dynamic_symbol_p): Only protected + non-function symbols are local. + (_bfd_elf_symbol_refs_local_p): Likewise. + +2005-01-18 Alan Modra <amodra@bigpond.net.au> + + * bfd.c (bfd_link_just_syms): Add abfd param. + * bfd-in2.h: Regenerate. + +2005-01-17 Richard Sandiford <rsandifo@redhat.com> + + * elf-eh-frame.c (skip_cfa_op, skip_non_nops): New functions. + (_bfd_elf_discard_section_eh_frame): Use them to interpret the CFA + instructions. If the amount of padding is known, reduce the size + of the CIE or FDE by that amount. + +2005-01-17 Richard Sandiford <rsandifo@redhat.com> + + * elf-bfd.h (struct cie): Use bfd_vmas for code_align, ra_column and + augmentation_size. Use bfd_signed_vmas for data_align. + * elf-eh-frame.c (read_uleb128, read_sleb128): Delete in favor of... + (read_byte, skip_leb128, read_uleb128, read_sleb128): ...these new + functions. Don't read past the end of the enclosing CIE or FDE. + (skip_bytes): New utility function. + (_bfd_elf_discard_section_eh_frame): Use new functions, adding more + sanity checking. + (_bfd_elf_write_section_eh_frame): Use new functions. + +2005-01-17 Richard Sandiford <rsandifo@redhat.com> + + * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use an + assert-style REQUIRE() macro to handle sanity checks. + +2005-01-17 H.J. Lu <hongjiu.lu@intel.com> + + * dwarf2.c (dwarf2_debug): Move info_ptr_unit to ... + (comp_unit): Here. + (read_unsigned_leb128): Removed. + (read_signed_leb128): Removed. + (find_abstract_instance_name): Updated. + (parse_comp_unit): Accept info_ptr_unit. + (_bfd_dwarf2_find_nearest_line): Set info_ptr_unit for each + comp unit and pass it to parse_comp_unit. + + * elf-eh-frame.c (read_unsigned_leb128): Moved to ... + (read_signed_leb128): Moved to ... + * libbfd.c: Here. + + * libbfd-in.h (read_unsigned_leb128): New prototype. + (read_signed_leb128): Likewise. + * libbfd.h: Regenerated. + +2005-01-17 Andrew Stubbs <andrew.stubbs@st.com> + Nick Clifton <nickc@redhat.com> + + * cpu-sh.c (bfd_to_arch_table): Change arch_sh1_up to arch_sh_up, + arch__sh4_nofp_up to arch_sh4_nofpu_up and arch_sh4a_nofp_up to + arch_sh4a_nofpu_up in order to match the external names and make the + testsuite's job easier. + * archuires.c: Rename bfd_mach_sh2a_fake? to more meaningful + names. + * bfd-in2.h: Regenerate. + +2005-01-15 Andrew Cagney <cagney@gnu.org> + + * bfd.m4: New file. + * acinclude.m4: Move BFD_NEED_DECLARATION, + BFD_HAVE_SYS_PROCFS_TYPE and BFD_HAVE_SYS_PROCFS_TYPE_MEMBER to + the new file bfd.m4. Include ../bfd/bfd.m4. + * configure: Re-generate. + +2005-01-12 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (ppc_elf_howto_raw): Delete RELAX32* entries. + (ppc_elf_relax_section): Use PLT variants of RELAX32 relocs for + reaching PLT. + (ppc_elf_relocate_section): Handle R_PPC_RELAX32_PLT and + R_PPC_RELAX32PC_PLT. + +2005-01-11 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_gc_sweep_hook): Follow indirect and warning + symbols. + * elf32-arm.c (elf32_arm_gc_sweep_hook): Likewise. + * elf32-cris.c (cris_elf_gc_sweep_hook): Likewise. + * elf32-hppa.c (elf32_hppa_gc_sweep_hook): Likewise. + * elf32-i386.c (elf_i386_gc_sweep_hook): Likewise. + * elf32-m32r.c (m32r_elf_gc_sweep_hook): Likewise. + * elf32-m68k.c (elf_m68k_gc_sweep_hook): Likewise. + * elf32-ppc.c (ppc_elf_gc_sweep_hook): Likewise. + * elf32-s390.c (elf_s390_gc_sweep_hook): Likewise. + * elf32-sh.c (sh_elf_gc_sweep_hook): Likewise. + * elf32-sparc.c (elf32_sparc_gc_sweep_hook): Likewise. + * elf32-vax.c (elf_vax_gc_sweep_hook): Likewise. + * elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Likewise. + * elf64-s390.c (elf_s390_gc_sweep_hook): Likewise. + * elf64-x86-64.c (elf64_x86_64_gc_sweep_hook): Likewise. + +2005-01-11 Alan Modra <amodra@bigpond.net.au> + + * elf32-ppc.c (ppc_elf_create_dynamic_sections): Correct + .dynsbss flags. + +2005-01-10 Inderpreet Singh <inderpreetb@noida.hcltech.com> + + * archures.c: Define bfd_mach_maxq10 and bfd_mach_maxq20. + * bfd-in2.h: Regenerate. + * coffcode.h (coff_set_arch_mach_hook, coff_set_flags): Add code + to support these new machine values. + * cpu-maxq.c (bfd_maxq10_arch): New architecture definition for + the maxq10. + (bfd_maxq_arch): Update values for the maxq20. + +2005-01-10 Eric Botcazou <ebotcazou@libertysurf.fr> + + * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): When linking a + non-shared object, do not reserve space in .plt and .rela.plt for + regular symbols neither defined nor referenced in shared objects. + +2005-01-09 Eric Botcazou <ebotcazou@libertysurf.fr> + + * elf32-sparc.c (elf32_sparc_link_hash_table_create): Use bfd_zmalloc + to zero the structure. + (create_got_section): Use BFD_ASSERT instead of abort. + * elf64-sparc.c (struct sparc64_elf_link_hash_table): New 'sgot' and + 'srelgot' fields. + (create_got_section): New function. + (sparc64_elf_create_dynamic_sections): Likewise. + (sparc64_elf_check_relocs): Invoke create_got_section instead of + _bfd_elf_create_got_section. Use the sgot and srelgot shortcuts. + (sparc64_elf_size_dynamic_sections): Use the srelgot shortcut. + (sparc64_elf_relocate_section): Use the sgot and srelgot shortcuts. + (sparc64_elf_finish_dynamic_symbol): Likewise. + (sparc64_elf_finish_dynamic_sections): Use the sgot shortcut. + (elf_backend_create_dynamic_sections): Define to + sparc64_elf_create_dynamic_sections. + +2005-01-09 Eric Botcazou <ebotcazou@libertysurf.fr> + + * elf32-sparc.c (elf32_sparc_omit_section_dynsym): New function. + (elf_backend_omit_section_dynsym): Define to it. + * elf64-sparc.c (sparc64_elf_omit_section_dynsym): New function. + (elf_backend_omit_section_dynsym): Define to it. + +2005-01-07 Jakub Jelinek <jakub@redhat.com> + + * bfd/elf.c (INCLUDE_SECTION_IN_SEGMENT): Don't put empty sections into + PT_DYNAMIC segment, unless .dynamic. + +2005-01-06 Paul Brook <paul@codesourcery.com> + + * config.bfd: Add entry for arm-*-vxworks and arm-*-windiss. + * configure.in: Add bfd_elf32_{big,little}arm_vxworks_vec. + * configure: Regenerate. + * elf32-arm.c: Add VxWorks target bfd. + (USE_REL): Remove. + (elf32_arm_link_hash_table): Add use_rel. + (elf32_arm_link_hash_table_create, elf32_arm_final_link_relocate, + elf32_arm_relocate_section): Replace USE_REL with runtime check. + Correct offset calculation for RELA case. + (elf_backend_may_use_rel_p, elf_backend_may_use_rela_p, + elf_backend_default_use_rela_p, elf_backend_rela_normal): Define. + (elf32_arm_vxworks_link_hash_table_create): New function. + * targets.c (bfd_elf32_bigarm_vxworks_vec): Add declaration. + (bfd_elf32_littlearm_vxworks_vec): Ditto. + (_bfd_target_vector): Add bfd_elf32_{big,little}arm_vxworks_vec. + +2005-01-06 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (struct ppc_link_hash_table): Add no_multi_toc and + multi_toc_needed. + (has_toc_reloc, makes_toc_func_call, call_check_in_progress): Define. + (ppc64_elf_check_relocs): Update references to has_gp_reloc. + (ppc64_elf_setup_section_lists): Add no_multi_toc parm, set htab bit. + (ppc64_elf_next_toc_section): Heed no_multi_toc. + (ppc64_elf_reinit_toc): Set multi_toc_needed. + (toc_adjusting_stub_needed): Rewrite. + (ppc64_elf_next_input_section): Use multi_toc_needed to shortcut + toc tests. Adjust for toc_adjusting_stub_needed changes. + (ppc64_elf_size_stubs): Update references to has_gp_reloc. + * elf64-ppc.h (ppc64_elf_setup_section_lists): Update prototype. + * section.c: Expand comment on backend bits. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + +2005-01-06 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_size_stubs): When determining need for + toc adjusting stub, do not test source section flags. + +2005-01-05 Eric Botcazou <ebotcazou@libertysurf.fr> + + * elf64-sparc.c (sparc64_elf_relocate_section): Ignore overflows + from STABS debugging sections again. + +2005-01-05 Fred Fish <fnf@specifixinc.com> + + * dwarf2.c (struct dwarf2_debug): Add info_ptr_unit member. + (find_abstract_instance_name): New function. + (scan_unit_for_functions): Handle DW_TAG_inlined_subroutine. + (scan_unit_for_functions): Handle DW_AT_abstract_origin. + (_bfd_dwarf2_find_nearest_line): Initialize info_ptr_unit. + +For older changes see ChangeLog-2004 + +Local Variables: +mode: change-log +left-margin: 8 +fill-column: 74 +version-control: never +End: |