aboutsummaryrefslogtreecommitdiff
path: root/bfd
AgeCommit message (Collapse)AuthorFilesLines
2010-02-28daily updateAlan Modra1-1/+1
2010-02-27daily updateAlan Modra1-1/+1
2010-02-26daily updateAlan Modra1-1/+1
2010-02-25daily updateAlan Modra1-1/+1
2010-02-25bfd/Alan Modra2-7/+17
PR ld/11304 * elf.c (_bfd_elf_init_private_section_data): Rename need_group to final_link and invert. For final link allow some flags to differ. Don't specially allow flags to be all zero. ld/ * ldlang.c (init_os): Remove isec param. Don't check for bfd_section already set or call bfd_init_private_section_data here. (exp_init_os): Update init_os call. (lang_add_section): Tidy. Really don't set SEC_LINK_ONCE flags. Call bfd_init_private_section_data here. (map_input_to_output_sections): Tidy. Update init_os calls. Use os->sectype to select sec flags for lang_data_statement.
2010-02-24daily updateAlan Modra1-1/+1
2010-02-24 PR binutils/10858Nick Clifton2-3/+8
* elfxx-mips.c (mips_elf_create_dynamic_relocation): Ise SYMBOL_REFERENCES_LOCAL to exclude entries from the dynamic symbol table.
2010-02-23daily updateAlan Modra1-1/+1
2010-02-23PR 11297: Add support for 8-bit relocations to the AVR toolchain.Nick Clifton2-4/+25
2010-02-22daily updateAlan Modra1-1/+1
2010-02-21daily updateAlan Modra1-1/+1
2010-02-21 * reloc.c (bfd_check_overflow): When forming addrmask, shiftAlan Modra2-4/+17
fieldmask left by rightshift. (_bfd_relocate_contents): Likewise. Use rightshift addrmask in all overflow checks.
2010-02-20daily updateAlan Modra1-1/+1
2010-02-20Don't check STT_GNU_IFUNC on large common symbol.H.J. Lu2-1/+6
2010-02-20 H.J. Lu <hongjiu.lu@intel.com> * elf64-x86-64.c (elf64_x86_64_add_symbol_hook): Don't check STT_GNU_IFUNC on large common symbol.
2010-02-19daily updateAlan Modra1-1/+1
2010-02-19Don't set ELFOSABI_LINUX in dynamic ifunc-using executable.H.J. Lu7-9/+27
bfd/ 2010-02-18 H.J. Lu <hongjiu.lu@intel.com> * elf32-i386.c (elf_i386_add_symbol_hook): Don't set has_ifunc_symbols if the symbol comes from a shared library. * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise. * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise. * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise. * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise. * elf64-x86-64.c (elf64_x86_64_add_symbol_hook): Likewise. ld/testsuite/ 2010-02-18 H.J. Lu <hongjiu.lu@intel.com> * ld-ifunc/ifunc.exp: Expect System V OSABI in dynamic ifunc-using executable.
2010-02-19bfd/Alan Modra4-22/+87
* elf.c (_bfd_elf_fixup_group_sections): New function, split out from.. (_bfd_elf_copy_private_header_data): ..here. * elflink.c (_bfd_elf_size_group_sections): New function. (bfd_elf_size_dynamic_sections): Call it. * elf-bfd.h (_bfd_elf_size_group_sections): Declare. (_bfd_elf_fixup_group_sections): Declare. ld/ * ldlang.c (unique_section_p): Add os param. Allow group sections to match /DISCARD/. Update all callers. * emultempl/genelf.em (gld${EMULATION_NAME}_before_allocation): New. (LDEMUL_BEFORE_ALLOCATION): Define. ld/testsuite/ * ld-elf/group.ld: Discard .dropme sections. * ld-elf/group10.d, * ld-elf/group10.s: New test.
2010-02-18daily updateAlan Modra1-1/+1
2010-02-18 * bfd/elf32-arm.c (elf32_arm_merge_eabi_attributes): Add support forMatthew Gretton-Dann2-2/+76
merging Tag_DIV_use, Tag_MPextension_use, and Tag_MPextension_use_legacy tags. * binutils/readelf.c (arm_attr_tag_Advanced_SIMD_arch): Add description of newly permitted attribute values. (arm_attr_tag_Virtualization_use): Likewise. (arm_attr_tag_DIV_use): Add description of new attribute. (arm_attr_tag_MPextension_use_legacy): Likewise. * gas/config/tc-arm.c (arm_convert_symbolic_attribute): Add Tag_DIV_use. * gas/doc/c-arm.texi: Likewise. * gas/testsuite/gas/arm/attr-order.d: Fix test for new names for attribute values. * include/elf/arm.h (Tag_MPextension_use): Renumber. (Tag_DIV_use): Add. (Tag_MPextension_use_legacy): Likewise. * ld/testsuite/ld-arm/attr-merge-3.attr: Fix test for new attribute values. * ld/testsuite/ld-arm/attr-merge-3b.s: Likewise. * ld/testsuite/ld-arm/attr-merge-unknown-1.d: Fix test now that 42 is a recognised attribute ID. * ld/testsuite/ld-arm/attr-merge-unknown-1.s: Likewise. * ld/testsuite/ld-arm/attr-merge-6.attr: New test. * ld/testsuite/ld-arm/attr-merge-6a.s: Likewise. * ld/testsuite/ld-arm/attr-merge-6b.s: Likewise. * ld/testsuite/ld-arm/attr-merge-7.attr: Likewise. * ld/testsuite/ld-arm/attr-merge-7a.s: Likewise. * ld/testsuite/ld-arm/attr-merge-7b.s: Likewise. * ld/testsuite/ld-arm/arm-elf.exp: Run the new tests.
2010-02-18 * elf.c (bfd_elf_set_group_contents): Revert accidental 2009-01-15Alan Modra2-13/+25
commit. Don't write zeros for removed group members. (_bfd_elf_copy_private_header_data): Adjust size of group section when group members are removed by objcopy.
2010-02-17daily updateAlan Modra1-1/+1
2010-02-16daily updateAlan Modra1-1/+1
2010-02-15daily updateAlan Modra1-1/+1
2010-02-15bfd/ChangeLog:Dave Korn2-0/+12
PR binutils/11280 * configure.host (*-*-solaris2.11): Add host define to select valid default code page for windres/windmc on solaris.
2010-02-15Updated Vietnamese translation.Nick Clifton2-4/+8
2010-02-14daily updateAlan Modra1-1/+1
2010-02-13daily updateAlan Modra1-1/+1
2010-02-12daily updateAlan Modra1-1/+1
2010-02-122010-02-12 Daniel Gutson <dgutson@codesourcery.com>Daniel Gutson2-1/+35
bfd/ * elf32-arm.c (elf32_arm_output_arch_local_syms): add missing mapping symbol to data only sections. ld/testsuite/ * ld-arm/arm-elf.exp (armelftests): New test case added. * ld-arm/data-only-map.s: New file. * ld-arm/data-only-map.d: New file. * ld-arm/data-only-map.ld: New file.
2010-02-11daily updateAlan Modra1-1/+1
2010-02-11bfd/David S. Miller2-26/+98
* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): For R_SPARC_GOTDATA_OP_HIX22 and R_SPARC_GOTDATA_OP_LOX10, only bump the GOT refcount for global symbols. (_bfd_sparc_elf_gc_sweep_hook): Likewise only decrement the GOT count for these relocs on global symbols. (gdopoff): New. (_bfd_sparc_elf_relocate_section): Perform GOTDATA optimizations on local symbol references which are not STT_GNU_IFUNC. Handle relocation of them like R_SPARC_HIX22 and R_SPARC_LOX10 respectively, and deal with negative vs. non-negative values properly. ld/testsuite * ld-sparc/gotop32.s: Add local symbol case. * ld-sparc/gotop64.s: Likewise. * ld-sparc/gotop32.rd: Adjust expected results. * ld-sparc/gotop32.td: Likewise. * ld-sparc/gotop64.dd: Likewise. * ld-sparc/gotop64.rd: Likewise. * ld-sparc/gotop64.td: Likewise.
2010-02-10daily updateAlan Modra1-1/+1
2010-02-09daily updateAlan Modra1-1/+1
2010-02-092010-02-09 Tristan Gingold <gingold@adacore.com>Tristan Gingold2-0/+11
* mach-o.c (bfd_mach_o_canonicalize_one_reloc): Adjust addend for non-external relocation.
2010-02-09 * elf64-ppc.c (merge_got_entries): Move earlier in file.Alan Modra2-40/+76
(allocate_dynrelocs): Merge got entries here if not doing multi-toc. (ppc64_elf_size_dynamic_sections): Similarly merge tlsld_got. (ppc64_elf_layout_multitoc): Don't resize if we have already merged got entries.
2010-02-09bfd/Martin Schwidefsky3-0/+159
2010-02-09 Michael Holzheu <holzheu@de.ibm.com> * elf-bfd.h (elfcore_write_s390_timer, elfcore_write_s390_todcmp, elfcore_write_s390_todpreg, elfcore_write_s390_ctrs, elfcore_write_s390_prefix): New. * elf.c (elfcore_write_s390_timer, elfcore_write_s390_todcmp, elfcore_write_s390_todpreg, elfcore_write_s390_ctrs, elfcore_write_s390_prefix): New. (elfcore_grok_note): Handle NT_S390_TIMER, NT_S390_TODCMP, NT_S390_TODPREG, NT_S390_CTRS and NT_S390_PREFIX. (elfcore_write_register_note): Handle .reg-s390-timer, .reg-s390-todcmp, .reg-s390-todpreg, .reg-s390-ctrs, .reg-s390-prefix section. binutils/ 2010-02-09 Michael Holzheu <holzheu@de.ibm.com> * readelf.c (get_note_type): Handle NT_S390_TIMER, NT_S390_TODCMP, NT_S390_TODPREG, NT_S390_CTRS and NT_S390_PREFIX. include/elf/ 2010-02-09 Michael Holzheu <holzheu@de.ibm.com> * common.h (NT_S390_TIMER, NT_S390_TODCMP, NT_S390_TODPREG, NT_S390_CTRS and NT_S390_PREFIX): Define.
2010-02-09 * elf64-ppc.c (has_small_toc_reloc): Don't define.Alan Modra2-10/+20
(makes_toc_func_call, call_check_in_progress): Shuffle flags. (struct ppc64_elf_obj_tdata): Add has_small_toc_reloc. Update code setting the flag. (ppc64_elf_next_toc_section): Group big-toc sections in 0x80008000 chunks.
2010-02-09 * elf64-ppc.c (ppc64_elf_layout_multitoc): Don't merge local got ents.Alan Modra2-41/+19
2010-02-09 * elf64-ppc.c (struct got_entry): Make tls_type and is_indirectAlan Modra2-24/+30
unsigned char. Update variables and code using them throughout file. (struct ppc_link_hash_entry): Likewise for tls_mask.
2010-02-08daily updateAlan Modra1-1/+1
2010-02-08include/David S. Miller8-61/+565
* elf/sparc.h (R_SPARC_JMP_IREL, R_SPARC_IRELATIVE): Define. bfd/ * reloc.c (BFD_RELOC_SPARC_JMP_IREL): New. (BFD_RELOC_SPARC_IRELATIVE): Likewise. * bfd-in2.h: Regenerate. * libbfd.h: Regenerate. * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Add loc_hash_table and loc_hash_memory. (_bfd_sparc_elf_link_hash_table_free): Declare. * elf32-sparc.c (elf32_sparc_add_symbol_hook): New. (elf_backend_add_symbol_hook, elf_backend_post_process_headers, bfd_elf32_bfd_link_hash_table_free): Define. * elf64-sparc.c (elf64_sparc_add_symbol_hook): Set has_ifunc_symbols if STT_GNU_IFUNC. (bfd_elf64_bfd_link_hash_table_free): Define. (elf_backend_post_process_headers): Define always. * elfxx-sparc.c (sparc_jmp_irel_howto, sparc_irelative_howto): New. (sparc_reloc_map): Add entries for new IFUNC relocs. (_bfd_sparc_elf_reloc_type_lookup): Handle new IFUNC relocs. (_bfd_sparc_elf_info_to_howto_ptr): Likewise. (elf_sparc_local_htab_hash, elf_sparc_local_htab_eq, elf_sparc_get_local_sym_hash): New. (_bfd_sparc_elf_create_dynamic_sections): Move PLT ops initialization from here... (_bfd_sparc_elf_link_hash_table_create): ... to here. Allocate local hash table. (_bfd_sparc_elf_link_hash_table_free): New. (create_ifunc_sections): New. (_bfd_sparc_elf_check_relocs): Unconditionally assign htab->elf.dynobj and call create_ifunc_sections(). For local STT_GNU_IFUNC symbols cons up a fake local hash table entry for it. Unconditionally add a PLT refcount for STT_GNU_IFUNC symbols when h->def_regular. Count dyn relocs for ifunc. (_bfd_sparc_elf_adjust_dynamic_symbol): Handle ifunc. (allocate_dynrelocs): Unconditionally emit a PLT entry when STT_GNU_IFUNC and h->def_regular. Count GOT dyn relocs for ifunc. (allocate_local_dynrelocs): New function. (_bfd_sparc_elf_size_dynamic_sections): Invoke it over the local hash table. Emit dynamic relocs to irelplt when not shared. Treat iplt like splt. (_bfd_sparc_elf_relocate_section): Handle ifunc relocations by hand. (_bfd_sparc_elf_finish_dynamic_symbol): Adjust for non-dynamic ifunc plt in iplt/irelplt. ld/testsuite/ * ld-ifunc/ifunc.exp: Run for sparc.
2010-02-08bfd/David S. Miller3-151/+138
* elfxx-sparc.h (struct _bfd_sparc_elf_link_hash_table): Remove sgot, srelgot, splt, srelplt, and sgotplt members in favor of generic copies. * elfxx-sparc.c (create_got_section): Delete. (_bfd_sparc_elf_create_dynamic_sections): Don't call, the dynamic section creator does that work for us. Use ->elf.foo instead of ->foo where applicable. (_bfd_sparc_elf_check_relocs): Use ->elf.foo instead of ->foo where applicable. (allocate_dynrelocs): Likewise. (_bfd_sparc_elf_size_dynamic_sections): Likewise. (_bfd_sparc_elf_relocate_section): Likewise. (sparc_vxworks_build_plt_entry): Likewise. (_bfd_sparc_elf_finish_dynamic_symbol): Likewise. (sparc_finish_dyn): Likewise. (sparc_vxworks_finish_exec_plt): Likewise. (sparc_vxworks_finish_shared_plt): Likewise. (_bfd_sparc_elf_finish_dynamic_sections): Likewise. * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Use the SYMBOL_* macros for visibilty and locality checks. (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise. (allocate_dynrelocs): Likewise. (_bfd_sparc_elf_relocate_section): Likewise. (_bfd_sparc_elf_finish_dynamic_symbol):Likewise. * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Remove set but never used local var 'dynobj'. * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Handle nocopyreloc.
2010-02-08bfd/Richard Sandiford2-4/+13
* xcofflink.c (_bfd_xcoff_bfd_final_link): When calculating max_contents_size, only consider sections whose contents must be swapped in.
2010-02-08 * elf64-ppc.c (allocate_dynrelocs): Remove unused got structs here..Alan Modra2-32/+30
(ppc64_elf_size_dynamic_sections): ..and here.. (merge_got_entries): ..rather than here.
2010-02-08bfd/Alan Modra3-14/+47
* elf64-ppc.c (struct ppc_link_hash_table): Add do_multi_toc. (has_small_toc_reloc): Define. (ppc64_elf_check_relocs): Set the above flags. (ppc64_elf_edit_opd): Delete obfd param. (ppc64_elf_tls_optimize): Likewise. (ppc64_elf_edit_toc): Likewise. (ppc64_elf_tls_setup): Likewise. Add no_multi_toc param. * elf64-ppc.h: Update prototypes. ld/ * emultempl/ppc64elf.em (ppc_before_allocation): Update for changed function parameters.
2010-02-08update copyright dateAlan Modra1-1/+1
2010-02-08 * section.c (struct bfd_section): Delete has_tls_reloc,Alan Modra8-58/+82
has_tls_get_addr_call, has_gp_reloc, need_finalize_relax, reloc_done. Add sec_flg0 thru sec_flg5. (BFD_FAKE_SECTION): Update for changed flags. * ecoff.c (bfd_debug_section): Likewise. * elf32-ppc.c (has_tls_reloc, has_tls_get_addr_call): Define. * elf64-ppc.c (has_tls_reloc, has_tls_get_addr_call): Define. (has_toc_reloc, makes_toc_func_call, call_check_in_progress): Update. * elf32-xtensa.c (reloc_done): Define. * elfxx-ia64.c (skip_relax_pass_0, skip_relax_pass_1): Update. * bfd-in2.h: Regenerate.
2010-02-082010-02-08 Tristan Gingold <gingold@adacore.com>Tristan Gingold2-1/+10
* mach-o.c (bfd_mach_o_canonicalize_one_reloc): Set reloc.r_extern for non-scattered relocations.
2010-02-08bfd/Nathan Sidwell3-64/+40
* elf32-ppc.c (ppc_elf_begin_write_processing): Allow empty apuinfo sections, only scan input sections once and reuse the buffer. ld/testsuite/ * ld-powerpc/apuinfo-nul.s: New. * ld-powerpc/apuinfo.rd: Add it. * ld-powerpc/powerpc.exp: Likewise.
2010-02-08include/Alan Modra4-2/+24
* opcode/ppc.h (PPC_OPCODE_TITAN): Define. bfd/ * archures.c (bfd_mach_ppc_titan): Define. * bfd-in2.h: Regenerate. * cpu-powerpc.c (bfd_powerpc_archs): Add titan entry. opcodes/ * ppc-dis.c (ppc_opts): Add titan entry. * ppc-opc.c (TITAN, MULHW): Define. (powerpc_opcodes): Support AppliedMicro Titan core (APM83xxx). gas/ * config/tc-ppc.c (md_show_usage): Mention -mtitan. Don't use tabs. (ppc_mach): Handle titan. * doc/c-ppc.texi: Mention -mtitan. gas/testsuite/ * gas/ppc/titan.d, * gas/ppc/titan.s: New test. * gas/ppc/ppc.exp: Run it.