X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=bfd%2FChangeLog;h=149cf63ac12a5f1685292195ccca197ba9b5a4b5;hb=14ec8efdb130026287714cd32332bb9e5a25e779;hp=7987bbc927b284acd462ede66284d5928af7b491;hpb=5f35ea9c04b9a4da4649c3178ee81bb1ab0ccae7;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 7987bbc927..149cf63ac1 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,442 @@ +2009-08-22 Ralf Wildenhues + + * Makefile.am (libbfd_la_LDFLAGS): Initialize early, to allow + appending. + [INSTALL_LIBBFD] (bfdlib_LTLIBRARIES, bfdinclude_HEADERS): Set + only in this condition. + [!INSTALL_LIBBFD] (noinst_LTLIBRARIES, libbfd_la_LDFLAGS): New, + to build but not install libbfd.la in this condition. + (install-bfdlibLTLIBRARIES, uninstall-bfdlibLTLIBRARIES) + (install_libbfd, install_libbfd): Remove. + * Makefile.in: Regenerate. + * doc/Makefile.am (AM_CPPFLAGS): Renamed from ... + (INCLUDES): ... this. + ($(MKDOC)): Adjust. + * doc/Makefile.in: Regenerate. + + * Makefile.am (AUTOMAKE_OPTIONS): Remove cygnus, instead use + no-dist and foreign. + (EXTRA_libbfd_la_SOURCES): New, list $(CFILES) to allow + dependency tracking to work for them. + (targets.lo, archures.lo, dwarf.lo): Rewrite to + use automake dependency tracking mechanism. + (MKDEP, DEP, DEP1, dep.sed, dep, dep-in, dep-am): Remove. + (mkdep section): Remove. + (BUILT_SOURCES): New, list $(BUILD_HFILES). + * Makefile.in: Regenerate. + * po/SRC-POTFILES.in, po/bfd.pot: Regenerate. + + * Makefile.am (datarootdir, docdir, htmldor, pdfdir) + (install-pdf, install-pdf-recursive, install-html) + (install-html-recursive): Remove. + * Makefile.in: Regenerate. + + * Makefile.in: Regenerate. + * aclocal.m4: Likewise. + * config.in: Likewise. + * configure: Likewise. + +2009-08-21 Daniel Gutson + + * elf32-arm.c (arch_has_thumb2_nop): New function. + (arch_has_arm_nop): New function. + (elf32_arm_final_link_relocate): NOP opcodes changed. + +2009-08-16 Doug Evans + + * opncls.c (bfd_close): Until BFD_IN_MEMORY has an iovec, + at least don't leak memory. + +2009-08-13 DJ Delorie + + * elf32-m32c.c (m32c_elf_relax_delete_bytes): Adjust symbol sizes + if needed. + +2009-08-12 Nick Clifton + + * po/fi.po: Updated Finnish translation. + +2009-08-11 Bernd Schmidt + + Merge some FRV FDPIC changes into the Blackfin code. + * elf32-bfin.c (struct bfinfdpic_elf_link_hash_table): Add pointer to + summary reloc information. + (bfinfdpic_dynamic_got_plt_info): New. + (_bfin_create_got_section): Create the PLT section here. + (elf32_bfinfdpic_create_dynamic_sections): Not here. + (_bfinfdpic_count_nontls_entries): Move out of... + (_bfinfdpic_count_got_plt_entries): ... here. + (_bfinfdpic_count_relocs_fixups): Likewise. + (_bfinfdpic_reset_got_plt_entries): New. + (_bfinfdpic_size_got_plt): Move out of... + (elf32_bfinfdpic_size_dynamic_sections): ... here. + (bfinfdpic_relocate_section): Be careful not to call + _bfinfdpic_add_rofixup or _bfinfdpic_add_dyn_reloc for deleted relocs. + (bfinfdpic_check_discarded_relocs, bfinfdpic_elf_discard_info): + New functions. + (elf_backend_discard_info): Define for FD-PIC. + +2009-08-11 Alan Modra + + * elflink.c: Add FIXMEs for some places that require octets_per_byte + adjustments. + * elf-eh-frame.c: Likewise. + * merge.c: Likewise. + +2009-08-11 Alan Modra + + * configure.in: Remove elf-ifunc.lo from common ELF files. Add + to x86 and x86_64 configurations. + * configure: Regenerate. + +2009-08-10 Jan Kratochvil + + Stop using bfd_usrdata in libbfd. + * coff-stgo32.c (bfd_coff_go32stub): Remove. + (stub_bytes, comment): Replace STUBSIZE by GO32_STUBSIZE. + (adjust_filehdr_in_post): Declare the abfd parameter as unused. + Replace STUBSIZE by GO32_STUBSIZE. Save now the stub in + filehdr_dst->u.go32.stub. New comment with the reason. + (adjust_filehdr_out_pre): Replace STUBSIZE by GO32_STUBSIZE. + Substitute the removed macro bfd_coff_go32stub. + (adjust_filehdr_out_post, adjust_scnhdr_in_post, adjust_scnhdr_out_pre) + (adjust_scnhdr_out_post, adjust_aux_in_post, adjust_aux_out_pre) + (adjust_aux_out_post): Replace STUBSIZE by GO32_STUBSIZE. + (create_go32_stub, go32_stubbed_coff_bfd_copy_private_bfd_data): + Replace STUBSIZE by GO32_STUBSIZE. Substitute the removed macro + bfd_coff_go32stub. + * coffcode.h (coff_mkobject_hook): Initialize coff->go32stub. + * libcoff-in.h (coff_data_type): New field go32stub. + * libcoff.h: Regenerated. + +2009-08-10 Jan Kratochvil + + Fix go32 stub preservation by objcopy. + * coff-stgo32.c (adjust_filehdr_in_post): Use bfd_malloc. + (go32_stubbed_coff_bfd_copy_private_bfd_data): Optionally allocate OBFD + go32stub. + +2009-08-10 Nathan Sidwell + + * elf32-arm.c (elf32_arm_size_stubs): Don't die on undefined local + symbols. + (elf32_arm_final_link_relocate): Treat local undefined symbols the + same as global undefined symbols. + (elf32_arm_relocate_section): Give an error for local undefined + non-weak symbols, unless the reloc will not use the symbol. + +2009-08-10 Nathan Sidwell + + * elf32-ppc.c (shared_stub_entry, stub_entry): Use r12, not r11. + (ppc_elf_relax_section): Use symbol index to distinguish + relocatable stubs. + +2009-08-10 Alan Modra + + * elf32-ppc.c (ppc_elf_relax_section): Ignore non-code sections. + +2009-08-10 Alan Modra + + * elflink.c (_bfd_elf_adjust_dynamic_symbol): Don't clear plt + info for STT_GNU_IFUNC. + * elf32-ppc.c (ppc_elf_check_relocs): Count a needed plt entry + on got refs in case the symbol turns out to be ifunc. + (ppc_elf_gc_sweep_hook): Similarly. + (ppc_elf_adjust_dynamic_symbol): Adjust assertion. + (allocate_dynrelocs): Don't specially allocate got relocs for ifunc. + (ppc_elf_size_dynamic_sections): Likewise. + (ppc_elf_relocate_section): Likewise. + +2009-08-09 Bernd Schmidt + + From Mike Frysinger + * elf32-bfin.c (bfin_howto_table, bfin_reloc_map, bfin_check_relocs, + bfin_final_link_relocate, bfin_relocate_section, bfin_gc_sweep_hook, + _bfinfdpic_emit_got_relocs_plt_entries, bfinfdpic_relocate_section, + bfinfdpic_gc_sweep_hook, bfinfdpic_check_relocs, + bfin_finish_dynamic_symbol, bfd_bfin_elf32_create_embedded_relocs): + Adjust to match the renamed reloc definitions. + +2009-08-08 Alan Modra + + PR 10494 + * elf.c (_bfd_elf_make_section_from_shdr): When setting up section + LMAs, use ELF_IS_SECTION_IN_SEGMENT to match sections with headers. + +2009-08-07 Tom Tromey + + * elf32-microblaze.c (microblaze_elf_check_relocs): Avoid strict + aliasing error. + +2009-08-06 Michael Eager + + * Makefile.am: Add cpu-microblaze.{lo,c}, elf32-microblaze.{lo,c}. + * Makefile.in: Regenerate. + * archures.c: Add bfd_arch_microblaze. + * bfd-in2.h: Regenerate. + * config.bfd: Add microblaze target. + * configure.in: Add bfd_elf32_microblaze_vec target. + * configure: Regenerate. + * cpu-microblaze.c: New. + * elf32-microblaze.c: New. + * libbfd-in.h: Add prototype _bfd_dwarf2_fixup_section_debug_loc(). + * libbfd.h: Regenerate. + * reloc.c: Add MICROBLAZE relocations. + * section.c: Add struct relax_table and relax_count to section. + * targets.c: Add bfd_elf32_microblaze_vec. + +2009-08-06 Jakub Jelinek + Alan Modra + + PR binutils/10492 + * elf.c (sym_is_global): Return true even for BSF_GNU_UNIQUE + symbols. + * elf32-mips.c (mips_elf_sym_is_global): Likewise. + * elfn32-mips.c (mips_elf_sym_is_global): Likewise. + +2009-08-06 Nathan Sidwell + + * elf32-arm.c (elf32_arm_size_stubs): Call layout_sections_again + at least once when fixing cortex-a8. + +2009-08-05 Chao-ying Fu + + * elf32-mips.c (mips_reloc_map): Add BFD_RELOC_MIPS_JALR. + * elfxx-mips.c (JAL_TO_BAL_P): New define to transform JAL to BAL + for CPUs. It is true for RM9000. + (JALR_TO_BAL_P): New define to transform JALR to BAL. It is true + for all CPUs. + (mips_elf_perform_relocation): Use JAL_TO_BAL_P and JALR_TO_BAL_P + to guard the transformation. + +2009-08-05 Trevor Smigiel + + * elf32-spu.h (spu_elf_params): Add member emit_fixups. + (spu_elf_size_sections): Declare prototype. + * elf32-spu.c (spu_link_hash_table): Add member sfixup. + (FIXUP_RECORD_SIZE, FIXUP_GET, FIXUP_PUT): New macros. + (spu_elf_emit_fixup): New function. + (spu_elf_relocate_section): Emit fixup for each SPU_ADDR32. + (spu_elf_size_sections): New function. + +2009-08-05 Nathan Sidwell + + * elf32-arm.c (elf32_arm_stub_type): Add arm_stub_a8_veneer_lwm. + (arm_build_one_stub): Build a8 veneers as a separate pass. + (cortex_a8_erratum_scan): Add prev_num_a8_fixes and stub_changed_p + parameters. Use them to check if we create a different a8 fixup + than the previous pass. + (elf32_arm_size_stubs): Move scope of stub_changed and + prev_num_a8_fixes into main loop. + (elf32_arm_build_stubs): Build a8 veneers in a second pass. + +2009-08-04 Alan Modra + + * elf32-ppc.c (ppc_elf_relax_section): Correct conditions under + which find_plt_ent is called. Delete redundant code. + +2009-08-03 H.J. Lu + + PR binutils/10363 + * elf.c (bfd_elf_string_from_elf_section): Return NULL on + invalid string offset. + +2009-08-03 H.J. Lu + + PR ld/10433 + * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Set got + to htab->init_got_offset and plt to htab->init_plt_offset + when discarding space for dynamic relocations. + +2009-08-03 Alan Modra + + * elf32-ppc.c (struct plt_entry): Revise comments. + (ppc_elf_check_relocs): Don't create needless plt_entry info + for non-pie executables. Don't test info->pie when info->shared + already covers that case. + (ppc_elf_gc_sweep_hook): Adjust for above change. + (add_stub_sym): Don't test info->pie when info->shared tested. + (allocate_dynrelocs, ppc_elf_size_dynamic_sections): Likewise. + (write_glink_stub, ppc_elf_finish_dynamic_symbol): Likewise. + (ppc_elf_relax_section): Adjust find_plt_ent arguments. + (ppc_elf_relocate_section): Likewise. + +2009-08-03 Alan Modra + + * elf32-ppc.c (ppc_elf_check_relocs): Always add a plt ref count + for local ifunc symbols in non-pie executables, regardless of + reloc type. Don't specially create ifunc dyn relocs. Tidy ifunc + code so that it's obvious that we only do anything special for + local ifunc syms. + (ppc_elf_gc_sweep_hook): Adjust to suit check_relocs changes. + (allocate_dynrelocs): Correct comment for syms defined in plt. + Don't specially allocate ifunc dyn relocs. + (ppc_elf_relax_section): Relax branches to ifunc plt entries too. + (ppc_elf_relocate_section): Set "relocation" value for ifunc + syms in non-pie executables. No specially allocated dyn relocs + for ifunc to write. Allow for local sym on R_PPC_RELAX32_PLT. + (ppc_elf_finish_dynamic_symbol): Set value of ifunc symbols in + a non-pie executable. + +2009-08-02 H.J. Lu + Jakub Jelinek + + PR ld/6443 + * elf32-i386.c (elf_i386_tls_transition): Check executable + instead of shared for TLS when building PIE. + (elf_i386_check_relocs): Likewise. + (elf_i386_allocate_dynrelocs): Likewise. + (elf_i386_relocate_section): Likewise. + + * elf64-x86-64.c (elf64_x86_64_tls_transition): Check executable + instead of shared for TLS when building PIE. + (elf64_x86_64_check_relocs): Likewise. + (elf64_x86_64_allocate_dynrelocs): Likewise. + (elf64_x86_64_relocate_section): Likewise. + +2009-07-31 Anthony Green + + * config.bfd (targ_cpu): Add moxie-uclinux support. + +2009-07-31 Hans-Peter Nilsson + + * linker.c (fix_syms): Consider SEC_LOAD when choosing section. + +2009-07-30 Alan Modra + + * elf32-ppc.c (ppc_elf_check_relocs): Always set up sections + used by indirect function support. Count dynamic relocs for + ifunc syms. + (ppc_elf_adjust_dynamic_symbol): Tweak for ifunc. + (allocate_dynrelocs): Allocate all non-dynamic ifunc plt entries + in iplt and their relocs in reliplt. Don't make ifunc syms + dynamic. Allocate got entry relocs for non-dynamic ifunc in + reliplt. Handle other dynamic relocs for ifunc. + (ppc_elf_size_dynamic_sections): Alloc dyn relocs for static + ifunc in reliplt, likewise relocs for got against local ifunc. + Typo fix on reliplt size adjust. + (ppc_elf_relocate_section): Don't use plt scheme of allocating + relocs 1-1 with entries for iplt, instead just add using + reloc_count. Write got relocs and dyn relocs for ifunc to reliplt. + Error on invalid ifunc dyn relocs. + (ppc_elf_finish_dynamic_symbol): Adjust for non-dynamic ifunc plt + in iplt/reliplt. + * elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_JMP_IREL, + R_PPC64_REL16, R_PPC64_REL16_LO, R_PPC64_REL16_HI, R_PPC64_REL16_HA. + (ppc64_elf_reloc_type_lookup): Handle new relocs. + (ppc64_elf_check_relocs): Likewise. Count dyn relocs for ifunc. + (allocate_dynrelocs): As for elf32-ppc.c above. + (ppc64_elf_size_dynamic_sections): Likewise. + (ppc_build_one_stub): Put non-dynamic ifunc plt call stubs in iplt, + and their relocs in reliplt. Use R_PPC64_JMP_IREL. + (ppc_size_one_stub): Similarly. + (ppc64_elf_relocate_section): As for elf32-ppc.c above. Handle new + relocs too. + (ppc64_elf_finish_dynamic_symbol): As for elf32-ppc.c above. + +2009-07-29 Hans-Peter Nilsson + + * elf64-mmix.c (mmix_elf_relax_section): Revert 2009-05-27 + change. Add note to head comment. + +2009-07-28 Jan Beulich + + * archive.c (get_extended_arelt_filename): Remove redundant + range check on index. + +2009-07-27 Doug Kwan + + * elf32-arm.c (stub_hash_newfunc): Initialize field output_name. + +2009-07-27 H.J. Lu + + * archures.c bfd_*_arch): Sorted. + (bfd_archures_list): Likewise. + +2009-07-27 M R Swami Reddy + + * elf32-cr16.c (elf_cr16_final_link_relocate): Add code to handle + to R_cr16_NUM32 relocation. + +2009-07-26 Michael Eager + + * archures.c: Add bfd_mach_ppc_405 + * bfd-in2.h: Same. + +2009-07-25 H.J. Lu + + * cpu-i386.c (bfd_x86_64_arch): Fix comment typos. + * cpu-l1om.c (bfd_l1om_arch): Likewise. + +2009-07-25 H.J. Lu + + * archures.c (bfd_architecture): Add bfd_arch_l1om. + (bfd_l1om_arch): New. + (bfd_archures_list): Add &bfd_l1om_arch. + * bfd-in2.h: Regenerated. + + * config.bfd (targ64_selvecs): Add bfd_elf64_l1om_vec if + bfd_elf64_x86_64_vec is supported. Add bfd_elf64_l1om_freebsd_vec + if bfd_elf64_x86_64_freebsd_vec is supported. + (targ_selvecs): Likewise. + + * configure.in: Support bfd_elf64_l1om_vec and + bfd_elf64_l1om_freebsd_vec. + * configure: Regenerated. + + * cpu-l1om.c: New. + + * elf64-x86-64.c (elf64_l1om_elf_object_p): New. + (bfd_elf64_l1om_vec): Likewise. + (bfd_elf64_l1om_freebsd_vec): Likewise. + + * Makefile.am (ALL_MACHINES): Add cpu-l1om.lo. + (ALL_MACHINES_CFILES): Add cpu-l1om.c. + * Makefile.in: Regenerated. + + * targets.c (bfd_elf64_l1om_vec): New. + (bfd_elf64_l1om_freebsd_vec): Likewise. + (_bfd_target_vector): Add bfd_elf64_l1om_vec and + bfd_elf64_l1om_freebsd_vec. + +2009-07-24 Trevor Smigiel + Alan Modra + + * reloc.c (BFD_RELOC_SPU_ADD_PIC): Define. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + * elf32-spu.c (elf_howto_table): Add entries SPU_ADD_PIC. + (spu_elf_bfd_to_reloc_type): Handle SPU_ADD_PIC. + (spu_elf_relocate_section): Patch instructions marked by SPU_ADD_PIC. + +2009-07-23 H.J. Lu + + PR ld/10434 + * elf64-x86-64.c (elf64_x86_64_check_relocs): Check executable + instead of shared for R_X86_64_TPOFF32. + (elf64_x86_64_relocate_section): Likewise. + +2009-07-23 Ulrich Drepper + + * elf-bfd.h (struct elf_link_hash_entry): Add unique_global field. + * elf.c (swap_out_syms): Set binding to STB_GNU_UNIQUE for symbols + with the BSF_GNU_UNIQUE flag bit set. + * elfcode.h (elf_slurp_symbol_table): Set the BSF_GNU_UNIQUE flag + for symbols with STB_GNU_UNIQUE binding. + * elflink.c (_bfd_elf_merge_symbol): Set unique_global for symbols + with the STB_GNU_UNIQUE binding. + (elf_link_add_object_symbols): Set the BSF_GNU_UNIQUE flag for + symbols with STB_GNU_UNIQUE binding. Set STB_GNU_UNIQUE for + symbols with the unique_global field set. + (elf_link_output_extsym): Set unique_global field for symbols with + the STB_GNU_UNIQUE binding. + * syms.c (struct bfd_symbol): Define BSF_GNU_UNIQUE flag bit. + (bfd_print_symbol_vandf): Print a 'u' character for BSF_GNU_UNIQUE + symbols. + (bfd_decode_symclass): Return a 'u' character for BSF_GNU_UNIQUE + symbols. + * bfd-in2.h: Regenerate. + 2009-07-22 H.J. Lu * elflink.c (elf_link_output_extsym): Revert the last change.