aboutsummaryrefslogtreecommitdiff
path: root/bfd
AgeCommit message (Collapse)AuthorFilesLines
2006-07-23daily updateAlan Modra1-1/+1
2006-07-22daily updateAlan Modra1-1/+1
2006-07-21daily updateAlan Modra1-1/+1
2006-07-20 [ bfd/ChangeLog ]Thiemo Seufer4-94/+14
* elf32-mips.c (mips16_jump_reloc): Remove function. (elf_mips16_howto_table_rel): Use _bfd_mips_elf_generic_reloc instead of mips16_jump_reloc. * elf64_mips.c, wlfn32-mips.c (mips16_jump_reloc): Remove function. (elf_mips16_howto_table_rel, elf_mips16_howto_table_rela): Use _bfd_mips_elf_generic_reloc instead of mips16_jump_reloc. [ gas/ChangeLog ] * config/tc-mips.c (mips_fix_adjustable): Handle BFD_RELOC_MIPS16_JMP. (tc_gen_reloc): Handle mips16 jumps to section symbol offsets. [ ld/testsuite/ChangeLog ] * ld-mips-elf/mips16-call-global-1.s, ld-mips-elf/mips16-call-global-2.s, ld-mips-elf/mips16-call-global-3.s, ld-mips-elf/mips16-call-global.d: Test linking of external mips16 jumps. * ld-mips-elf/mips-elf.exp: Run new test.
2006-07-20daily updateAlan Modra1-1/+1
2006-07-19bfd/Alan Modra4-0/+35
* bfd-in.h (enum notice_asneeded_action): Define. * bfd-in2.h: Regenerate. * elflink.c (elf_link_add_object_symbols): Call linker "notice" function with NULL name for as-needed handling. ld/ * ld.h (handle_asneeded_cref): Declare. * ldcref.c: Include objalloc.h. (old_table, old_count, old_tab, alloc_mark): New variables. (tabsize, entsize, refsize, old_symcount): Likewise. (add_cref): Use bfd_hash_allocate for refs. (handle_asneeded_cref): New function. * ldmain.c (notice): Call handle_asneeded_cref for NULL name.
2006-07-19daily updateAlan Modra1-1/+1
2006-07-182006-07-18 Paul Brook <paul@codesourcery.com>Paul Brook4-0/+10
bfd/ * bfd-in2.h: Regenerate. * libbfd.h: Regenerate. * reloc.c: Add BFD_RELOC_ARM_T32_ADD_IMM. gas/ * tc-arm.c (do_t_add_sub): Use addw/subw when source is PC. (md_convert_frag): Use correct reloc for add_pc. Use BFD_RELOC_ARM_T32_ADD_IMM for normal add/sum. (md_apply_fix): Handle BFD_RELOC_ARM_T32_ADD_IMM. (arm_force_relocation): Handle BFD_RELOC_ARM_T32_ADD_IMM. gas/testsuite/ * gas/arm/thumb2_add.d: New test. * gas/arm/thumb2_add.s: New test.
2006-07-18 * bfd.texinfo: Add @section for "What to Put Where".Thiemo Seufer2-0/+5
2006-07-18* elfxx-mips.c (_bfd_mips_elf_common_definition): New function.Nick Clifton3-0/+18
Consider SHN_MIPS_ACOMMON and SHN_MIPS_SCOMMON as being common sections. * elfxx-mips.h (_bfd_mips_elf_common_definition): Prototype.
2006-07-18daily updateAlan Modra1-1/+1
2006-07-17daily updateAlan Modra1-1/+1
2006-07-16daily updateAlan Modra1-1/+1
2006-07-15daily updateAlan Modra1-1/+1
2006-07-14 * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Fix cinfo.shift2 value.Jakub Jelinek2-1/+5
2006-07-14* elflink.c (bfd_elf_size_dynsym_hash_dynstr): Move declarationsMark Kettenis2-1/+6
to the start of a block.
2006-07-14daily updateAlan Modra1-1/+1
2006-07-13* coff-sh.c (_bfd_sh_align_load_span): Catch sh_insn_info() returning a NULLNick Clifton2-2/+8
value.
2006-07-13daily updateAlan Modra1-1/+1
2006-07-12bfd/H.J. Lu2-1/+43
2006-07-12 H.J. Lu <hongjiu.lu@intel.com> PR ld/2884 * elflink.c (_bfd_elf_merge_symbol): Copy the symbol info from the old versioned dynamic definition to the new one with non-default visibility. Hide the symbol if it is hidden or internal. ld/testsuite/ 2006-07-12 H.J. Lu <hongjiu.lu@intel.com> PR ld/2884 * ld-elf/begin.c: New file. * ld-elf/end.c: Likewise. * ld-elf/endhidden.c: Likewise. * ld-elf/endprotected.c: Likewise. * ld-elf/foo.c: Likewise. * ld-elf/foo.map: Likewise. * ld-elf/hidden.out: Likewise. * ld-elf/main.c: Likewise. * ld-elf/normal.out: Likewise. * ld-elf/shared.exp: Likewise. * lib/ld-lib.exp (run_cc_link_tests): New.
2006-07-12bfd/Richard Sandiford2-0/+7
2006-07-12 Matthew R. Dempsky <mrd@alkemio.org> * cpu-m68k.c (bfd_m68k_compatible): Handle CPU32. ld/testsuite/ 2006-07-12 Richard Sandiford <richard@codesourcery.com> * ld-m68k/merge-ok-1c.d: New test. * ld-m68k/m68k.exp: Run it.
2006-07-12daily updateAlan Modra1-1/+1
2006-07-11daily updateAlan Modra1-1/+1
2006-07-10include/Jakub Jelinek7-66/+498
* bfdlink.h (struct bfd_link_info): Add emit_hash and emit_gnu_hash bitfields. include/elf/ * common.h (SHT_GNU_HASH, DT_GNU_HASH): Define. ld/ * scripttempl/elf.sc: Add .gnu.hash section. * emultempl/elf32.em (OPTION_HASH_STYLE): Define. (gld${EMULATION_NAME}_add_options): Register --hash-style option. (gld${EMULATION_NAME}_handle_option): Handle it. (gld${EMULATION_NAME}_list_options): Document it. * ldmain.c (main): Initialize emit_hash and emit_gnu_hash. * ld.texinfo: Document --hash-style option. bfd/ * elf.c (_bfd_elf_print_private_bfd_data): Handle DT_GNU_HASH. (bfd_section_from_shdr, elf_fake_sections, assign_section_numbers): Handle SHT_GNU_HASH. (special_sections_g): Include .gnu.hash section. (bfd_elf_gnu_hash): New function. * elf-bfd.h (bfd_elf_gnu_hash, _bfd_elf_hash_symbol): New prototypes. (struct elf_backend_data): Add elf_hash_symbol method. * elflink.c (_bfd_elf_link_create_dynamic_sections): Create .hash only if info->emit_hash, create .gnu.hash section if info->emit_gnu_hash. (struct collect_gnu_hash_codes): New type. (elf_collect_gnu_hash_codes, elf_renumber_gnu_hash_syms, _bfd_elf_hash_symbol): New functions. (compute_bucket_count): Don't compute HASHCODES array, instead add that and NSYMS as arguments. Use bed->s->sizeof_hash_entry instead of bed->s->arch_size / 8. Fix .hash size estimation. When not optimizing, use the number of hashed symbols rather than dynsymcount. (bfd_elf_size_dynamic_sections): Only add DT_HASH if info->emit_hash, and ADD DT_GNU_HASH if info->emit_gnu_hash. (bfd_elf_size_dynsym_hash_dynstr): Size .hash only if info->emit_hash, adjust compute_bucket_count caller. Create and populate .gnu.hash section if info->emit_gnu_hash. (elf_link_output_extsym): Only populate .hash section if finfo->hash_sec != NULL. (bfd_elf_final_link): Adjust assertion. Handle DT_GNU_HASH. * elfxx-target.h (elf_backend_hash_symbol): Define if not yet defined. (elfNN_bed): Add elf_backend_hash_symbol. * elf64-x86-64.c (elf64_x86_64_hash_symbol): New function. (elf_backend_hash_symbol): Define. * elf32-i386.c (elf_i386_hash_symbol): New function. (elf_backend_hash_symbol): Define. binutils/ * readelf.c (get_dynamic_type): Handle DT_GNU_HASH. (get_section_type_name): Handle SHT_GNU_HASH. (dynamic_info_DT_GNU_HASH): New variable. (process_dynamic_section): Handle DT_GNU_HASH. (process_symbol_table): Print also DT_GNU_HASH histogram. ld/testsuite/ * ld-powerpc/tlsso32.r: Adjust. * ld-powerpc/tlsso32.d: Adjust. * ld-powerpc/tlsso32.g: Adjust. * ld-powerpc/tlsso.r: Adjust. * ld-powerpc/tlsso.g: Adjust. * ld-powerpc/tlstocso.g: Adjust.
2006-07-10daily updateAlan Modra1-1/+1
2006-07-09daily updateAlan Modra1-1/+1
2006-07-08daily updateAlan Modra1-1/+1
2006-07-07daily updateAlan Modra1-1/+1
2006-07-06daily updateAlan Modra1-1/+1
2006-07-05PR ld/2659Nick Clifton2-1/+8
* cofflink.c (_bfd_coff_link_input_bfd): Fix selection of aux entry when multiple definitions of a symbol are encountered.
2006-07-05daily updateAlan Modra1-1/+1
2006-07-04daily updateAlan Modra1-1/+1
2006-07-03daily updateAlan Modra1-1/+1
2006-07-02daily updateAlan Modra1-1/+1
2006-07-01daily updateAlan Modra1-1/+1
2006-06-30bfd/H.J. Lu3-9/+19
2006-06-30 H.J. Lu <hongjiu.lu@intel.com> * elf32-i386.c (elf_i386_relocate_section): Use xchg %ax,%ax instead of 2 nops. * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. (elf64_x86_64_plt0_entry): Use nopl 0(%rax) instead of 4 nops. ld/testsuite/ 2006-06-30 H.J. Lu <hongjiu.lu@intel.com> * ld-i386/tlsbindesc.dd: Updated to expect xchg %ax,%ax instead of 2 nops. * ld-i386/tlsdesc.dd: Likewise. * ld-i386/tlsgdesc.dd: Likewise. * ld-x86-64/tlsbindesc.dd: Likewise. * ld-x86-64/tlsdesc.dd: Likewise. * ld-x86-64/tlsdesc.pd: Likewise. * ld-x86-64/tlsgdesc.dd: Likewise.
2006-06-30daily updateAlan Modra1-1/+1
2006-06-29 PR ld/2513Jakub Jelinek2-42/+14
* elf32-i386.c (GOT_TLS_MASK, GOT_TLS_IE_IE, GOT_TLS_IE_GD, GOT_TLS_IE_MASK, elf_i386_check_relocs, allocate_dynrelocs): Revert 2006-04-08 changes. (elf_i386_relocate_section): Likewise. For GD->IE transition change subl into addl whenever tls_type is GOT_TLS_IE_POS. * ld-i386/tlsbin.dd: Fix expected output.
2006-06-29daily updateAlan Modra1-1/+1
2006-06-28daily updateAlan Modra1-1/+1
2006-06-27daily updateAlan Modra1-1/+1
2006-06-26daily updateAlan Modra1-1/+1
2006-06-25daily updateAlan Modra1-1/+1
2006-06-24daily updateAlan Modra1-1/+1
2006-06-23 PR ld/2754Alan Modra12-63/+114
* elf.c (bfd_elf_mkobject): Don't alloc if already done. Set program_header_size to -1. (_bfd_elf_map_sections_to_segments): Adjust program_header_size check. (assign_file_positions_for_load_sections ): Likewise. (_bfd_elf_sizeof_headers): Use saved program_header_size if available. * elf32-arm.c (elf32_arm_mkobject): Call bfd_elf_mkobject, don't alloc if already done. * elf32-i386.c (elf_i386_mkobject): Likewise. * elf32-ppc.c (ppc_elf_mkobject): Likewise. * elf32-s390.c (elf_s390_mkobject): Likewise. * elf32-sh.c (sh_elf_mkobject): Likewise. * elf64-alpha.c (elf64_alpha_mkobject): Likewise. * elf64-ppc.c (ppc64_elf_mkobject): Likewise. * elf64-s390.c (elf_s390_mkobject): Likewise. * elf64-x86-64.c (elf64_x86_64_mkobject): Likewise. * elfxx-sparc.c (_bfd_sparc_elf_mkobject): Likewise.
2006-06-23daily updateAlan Modra1-1/+1
2006-06-22daily updateAlan Modra1-1/+1
2006-06-21daily updateAlan Modra1-1/+1
2006-06-20 * elflink.c (elf_link_add_object_symbols): Don't create .tcommonJakub Jelinek2-1/+7
section for relocatable link. * ld-elf/tls_common.exp: New test. * ld-elf/tls_common.s: New file.
2006-06-20 * elf-bfd.h (struct elf_backend_data): AddAlan Modra7-81/+110
elf_backend_modify_program_headers. * elfxx-target.h (elf_backend_modify_program_headers): Define. (elfNN_bed): Init new field. * elf.c (elf_modify_segment_map): Remove comment. (assign_file_positions_for_load_sections): Only call elf_modify_segment_map for objcopy/strip. (assign_file_positions_except_relocs): Call elf_backend_modify_program_headers. * elf32-frv.c (elf32_frvfdpic_always_size_sections): Don't make .stack section. (elf32_frvfdpic_modify_segment_map): Delete. (elf32_frvfdpic_modify_program_headers): New. (elf_backend_modify_segment_map): Don't define. (elf_backend_modify_program_headers): Define. * elf32-bfin.c (elf32_bfinfdpic_always_size_sections): Don't make .stack section. (elf32_bfinfdpic_modify_segment_map): Delete. (elf32_bfinfdpic_modify_program_headers): New. (elf_backend_modify_segment_map): Don't define. (elf_backend_modify_program_headers): Define. * elfxx-ia64.c (elfNN_ia64_modify_program_headers): New function. Split out from.. (elfNN_ia64_modify_segment_map): ..here. (elf_backend_modify_program_headers): Define.