aboutsummaryrefslogtreecommitdiff
path: root/ld
AgeCommit message (Collapse)AuthorFilesLines
2008-11-14 * Makefile.am (spu_ovl.o_c): Add missing line continuations.Alan Modra3-4/+9
* Makefile.in: Regenerate.
2008-11-06Add m32c-*-rtems* and m32r-*-rtems* configuration targets.Nick Clifton2-2/+8
2008-11-03Fix my email in last entry.Bob Wilson1-1/+1
2008-11-03 * emulparams/elf32xtensa.sh (NO_REL_RELOCS): Set.Bob Wilson3-8/+57
* scripttempl/elfxtensa.sc (NO_REL_RELOCS, NO_RELA_RELOCS) (NON_ALLOC_DYN): Import changes from elf.sc.
2008-10-29 * ld-gc/gc.c (dummy_func): New function - present so thatNick Clifton2-0/+26
underscore prefixed aliases can be created of the used_func and main functions.
2008-10-25 PR 6945Nick Clifton2-1/+13
* ldlang.c (lang_size_sections_1): Do not update the VMAs of output sections when performing a relocatable link on COFF objects.
2008-10-22 * emultempl/armelf.em (arm_elf_after_open): Move check for using aNick Clifton2-10/+17
non-arm output target from here... (arm_elf_create_output_section_statements): ... to here, so that the check is made at the earliest possible opportunity.
2008-10-22 * emulparams/elf32_i960.sh (TEMPLATE_NAME): "generic", not "elf32".Alan Modra2-1/+7
(EXTRA_EM_FILE): Define.
2008-10-22 * scripttempl/elf.sc (NO_REL_RELOCS, NO_RELA_RELOCS, NON_ALLOC_DYN):Alan Modra47-8/+123
Handle these defines. * emulparams/criself.sh, * emulparams/crislinux.sh, * emulparams/elf32am33lin.sh, * emulparams/elf32fr30.sh, * emulparams/elf32_i860.sh, * emulparams/elf32ip2k.sh, * emulparams/elf32mcore.sh, * emulparams/elf32ppccommon.sh, * emulparams/elf32ppcwindiss.sh, * emulparams/elf32_sparc.sh, * emulparams/elf32_spu.sh, * emulparams/elf32vax.sh, * emulparams/elf64alpha.sh, * emulparams/elf64mmix.sh, * emulparams/elf64ppc.sh, * emulparams/elf64_s390.sh, * emulparams/elf64_sparc.sh, * emulparams/elf_s390.sh, * emulparams/elf_x86_64.sh, * emulparams/h8300elf.sh, * emulparams/hppa64linux.sh, * emulparams/hppalinux.sh, * emulparams/m68kelf.sh, * emulparams/mn10200.sh, * emulparams/pjelf.sh, * emulparams/ppclynx.sh, * emulparams/shelf32.sh, * emulparams/shelf_nto.sh, * emulparams/shelf.sh, * emulparams/shelf_vxworks.sh, * emulparams/shlelf32_linux.sh, * emulparams/shlelf_linux.sh, * emulparams/shlelf_nto.sh (NO_REL_RELOCS): Set. * emulparams/arcelf.sh, * emulparams/elf32_i960.sh, * emulparams/elf32openrisc.sh, * emulparams/elf_i386_be.sh, * emulparams/elf_i386_ldso.sh, * emulparams/elf_i386.sh, * emulparams/elf_i386_vxworks.sh, * emulparams/i386lynx.sh, * emulparams/i386moss.sh, * emulparams/i386nto.sh, * emulparams/or32elf.sh, * emulparams/scoreelf.sh (NO_RELA_RELOCS): Set.
2008-10-21 * ldlang.c (lang_output_section_find_by_flags): Handle non-allocAlan Modra3-9/+53
sections. * emultempl/elf32.em (enum orphan_save_index): Add orphan_nonalloc. (hold): Likewise. (gld${EMULATION_NAME}_place_orphan): Handle non-alloc orphans.
2008-10-21 * emultempl/armelf.em (PARSE_AND_LIST_OPTIONS): Correct typo inAlan Modra2-4/+9
help text of --be8.
2008-10-20 * ldemul.h (ldemul_place_orphan): Update prototype.Alan Modra8-27/+37
(struct ld_emulation_xfer_struct <place_orphan>): Likewise. * ldemul.c (ldemul_place_orphan): Return pointer to output section statement. * emultempl/beos.em (gld${EMULATION_NAME}_place_orphan): Likewise. * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Likewise. * emultempl/mmo.em (mmo_place_orphan): Likewise. * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Likewise. * emultempl/pep.em (gld_${EMULATION_NAME}_place_orphan): Likewise.
2008-10-10include/elf/Nathan Froyd6-0/+29
* ppc.h: Add Tag_GNU_Power_ABI_Struct_Return. bfd/ * elf32-ppc.c (ppc_elf_merge_obj_attributes): Merge Tag_GNU_Power_ABI_Struct_Return. binutils/ * readelf.c (display_power_gnu_attribute): Decode Tag_GNU_Power_ABI_Struct_Return. ld/testsuite/ * ld-powerpc/gnu-attr-12-1.s: New file. * ld-powerpc/gnu-attr-12-2.s: New file. * ld-powerpc/gnu-attr-12-11.d: New file. * ld-powerpc/gnu-attr-12-21.d: New file. * ld-powerpc/powerpc.exp: Run new dump tests.
2008-10-08 * configure.in (ALL_LINGUAS): Add "id".Nick Clifton4-2/+2027
* configure: Regenerate. * po/id.po: New Indonesian translation.
2008-10-07 * readelf.c (process_section_headers): Do not cut the section names andNick Clifton3-4/+10
types if running with --wide. * ld-ia64/tlsbin.rd: Update expected output now that --wide does not truncate section names. * ld-ia64/tlspic.rd: Likewise.
2008-10-06 * dwarf.c (display_debug_frames): Change text for uniformity.Nick Clifton13-12/+20
(process_debug_info): Likewise. (display_debug_aranges): Likewise. Indent address output. (display_debug_pubnames): Print offset in hex. * binutils-all/objdump.W: Update. * gas/cfi/cfi-alpha-1.d, gas/cfi/cfi-alpha-3.d, gas/cfi/cfi-arm-1.d, gas/cfi/cfi-common-1.d, gas/cfi/cfi-common-2.d, gas/cfi/cfi-common-3.d, gas/cfi/cfi-common-4.d, gas/cfi/cfi-common-5.d, gas/cfi/cfi-common-6.d, gas/cfi/cfi-hppa-1.d, gas/cfi/cfi-i386-2.d, gas/cfi/cfi-i386.d, gas/cfi/cfi-m68k.d, gas/cfi/cfi-mips-1.d, gas/cfi/cfi-ppc-1.d, gas/cfi/cfi-s390-1.d, gas/cfi/cfi-s390x-1.d, gas/cfi/cfi-sh-1.d, gas/cfi/cfi-sparc-1.d, gas/cfi/cfi-sparc64-1.d, gas/cfi/cfi-x86_64.d: Update for readelf change. * ld-elf/eh1.d, ld-elf/eh2.d, ld-elf/eh3.d, ld-elf/eh4.d, ld-elf/eh5.d, ld-elf/eh6.d, ld-mips-elf/eh-frame1-n32.d, ld-mips-elf/eh-frame1-n64.d, ld-mips-elf/eh-frame2-n32.d, ld-mips-elf/eh-frame2-n64.d, ld-mips-elf/eh-frame3.d, ld-mips-elf/eh-frame4.d: Update for readelf change.
2008-10-05 PR 6943Alan Modra2-3/+10
* scripttempl/avr.sc (.bss): Set lma when relocating. (.bss, .noinit): No need to set vma when relocating. (.text, .bss, ,noinit): Set vma to zero when not relocating.
2008-10-042008-10-04 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2-0/+33
PR ld/6931 * ld-elf/group7.d: New.
2008-10-04 * ldemul.c (ldemul_place_orphan): Add "constraint" param.Alan Modra11-61/+92
* ldemul.h (ldemul_place_orphan): Update prototype. (struct ld_emulation_xfer_struct <place_orphan>): Likewise add param. * ldlang.c (unique_section_p): Make static. (lang_output_section_statement_lookup): Optimise creation of SPECIAL sections. (lang_insert_orphan): Add "constraint" param. Pass to lang_enter_output_section_statement. (init_os): Don't use an existing bfd section for SPECIAL sections. (lang_place_orphans): Don't rename unique output sections, instead mark their output section statements SPECIAL. * ldlang.h (lang_insert_orphan): Update prototype. (unique_section_p): Delete. * emultempl/beos.em (place_orphan): Add "constraint" param. * emultempl/elf32.em (place_orphan): Likewise. Don't match existing output sections if set. * emultempl/pe.em (place_orphan): Likewise. * emultempl/pep.em (place_orphan): Likewise. * emultempl/mmo.em (mmo_place_orphan): Update. * emultempl/spuelf.em (spu_place_special_section): Update.
2008-10-03binutils/testsuite/H.J. Lu3-2/+7
2008-10-03 H.J. Lu <hongjiu.lu@intel.com> * binutils-all/group.s: Updated. * binutils-all/group-2.s: Likewise. * binutils-all/group-3.s: Likewise. * binutils-all/group-4.s: Likewise. * binutils-all/strip-7.d: Likewise. * binutils-all/strip-9.d: Likewise. ld/testsuite/ 2008-10-03 H.J. Lu <hongjiu.lu@intel.com> * ld-elf/group5.d: Updated. * ld-elf/group6.d: Likewise.
2008-10-032008-10-03 Tristan Gingold <gingold@adacore.com>Tristan Gingold2-1/+9
* ld-elf/stab.d: Don't run on alpha (to avoid relocation overflow on 64 bits targets whose stab values is 32 bits).
2008-10-032008-10-03 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu4-0/+55
PR ld/6931 * ld-elf/group4.d: New. * ld-elf/group5.d: Likewise. * ld-elf/group6.d: Likewise.
2008-10-03Update.Alan Modra2-5/+9
2008-10-03add pr number for last commitAlan Modra1-0/+1
2008-10-03bfd/Alan Modra10-104/+97
* elf.c (bfd_elf_set_group_contents): Assign sh_info for ld -r when the signature symbol is global. * elflink.c (elf_link_input_bfd): Ensure group signature symbol is output when ld -r. Set group sh_info when local. * linker.c (default_indirect_link_order): Handle group sections specially. ld/ * ldemul.c (ldemul_place_orphan): Add "name" param. * ldemul.h (ldemul_place_orphan): Update prototype. (struct ld_emulation_xfer_struct <place_orphan>): Likewise. * ldlang.c (lang_place_orphans): Generate unique section names here.. * emultempl/elf32.em (place_orphan): ..rather than here. Don't directly use an existing output section statement that has no bfd section. * emultempl/pe.em (place_orphan): Likewise. * emultempl/pep.em (place_orphan): Likewise. * emultempl/beos.em (place_orphan): Adjust. * emultempl/spuelf.em (spu_place_special_section): Adjust place_orphan call. * emultempl/genelf.em (gld${EMULATION_NAME}_after_open): New function. (LDEMUL_AFTER_OPEN): Define.
2008-09-30 * emulparams/elf64ppc.sh (OTHER_GOT_RELOC_SECTIONS): Add .rela.opdJoseph Myers2-1/+8
and .rela.branch_lt.
2008-09-30run "make dep-am"Alan Modra3-8/+11
2008-09-29 * configure: Regenerate for new libtool.Steve Ellcey4-340/+1150
* aclocal.m4: Ditto. * Makefile.in: Ditto.
2008-09-29bfd/Alan Modra2-2/+6
PR 6789 * elf.c (assign_file_positions_for_load_sections): Call _bfd_elf_map_sections_to_segments, not elf_modify_segment_map. (get_program_header_size): Protect against NULL info. (_bfd_elf_map_sections_to_segments): Likewise. * elf32-spu.c (spu_elf_additional_program_headers): Likewise. ld/testsuite/ * ld-elf/extract-symbol-1sec.d: Correct section lma.
2008-09-292008-09-26 Kai Tietz <kai.tietz@onevision.com>Kai Tietz2-0/+5
* pe-dll.c (make_import_fixup_entry): Make sure reloc is addend.
2008-09-29 * po/vi.po: Updated Vietnamese translation.Nick Clifton2-487/+511
* po/fr.po: Updated French translation.
2008-09-25 * ld-elf/eh-group.exp: Only run on ELF targets.Alan Modra3-0/+16
* ld-elf/eh5b.s: Export main, start, __start.
2008-09-25 * ldexp.c (fold_binary): Evaluate rhs when lhs not valid.Alan Modra2-138/+141
2008-09-20ld/testsuite/Richard Sandiford2-1/+5
* ld-mips-elf/reloc-estimate-1.d: Make endian-neutral.
2008-09-20 Provide virtual target "cfi" for targets supporting CFI.Jan Kratochvil7-23/+65
* ld-elf/eh-frame-hdr.d: Replace target and xfail statements by single `target: cfi'. * ld-elf/eh-group.exp: Call check_as_cfi instead of is_elf_format. * ld-elf/eh-group1.s, elf/eh-group2.s: Use more compatible section flags prefix '%'. * ld-elf/eh5.d: Replace target statement by `target: cfi' with an Alpha exception. Relax the `Code alignment factor' matching. * lib/ld-lib.exp: Rename istarget as istarget_ld. (istarget, check_as_cfi): New procedure. (run_dump_test): New comment for the virtual target `cfi'.
2008-09-17bfd/Jan Kratochvil4-0/+65
PR 6893 - Do not consider FDEs for discarded sections as invalid. * elf-eh-frame.c (_bfd_elf_parse_eh_frame): New REQUIRE_CLEARED_RELOCS. Consider FDEs with cleared relocations as valid and ignorable. ld/testsuite/ * ld-elf/eh-group.exp, ld-elf/eh-group1.s, ld-elf/eh-group2.s: New test. binutils/ Suppress warnings on NONE relocations to discarded sections. * readelf.c (is_none_reloc): New function. (debug_apply_relocations): Ignore is_none_reloc() relocations.
2008-09-17 Fix testcases compilation failures due to unused variables.Jan Kratochvil3-17/+34
* ld-elfcomm/common1b.c (dummy1): Mark the variable for GCC as USED. * ld-shared/main.c (main): Move the P variable only to the places where it is used.
2008-09-16bfd/H.J. Lu4-0/+39
2008-09-16 H.J. Lu <hongjiu.lu@intel.com> PR ld/6877 * elflink.c (_bfd_elf_merge_symbol): Allow a common symbol to override the function in a shared library. ld/testsuite/ 2008-09-16 H.J. Lu <hongjiu.lu@intel.com> PR ld/6877 * ld-elf/comm1.c: New. * ld-elf/func1.c: Likewise. * ld-elf/shared.exp: Add tests for libfunc1.so and comm1.
2008-09-11bfd/Jan Kratochvil4-0/+378
Fix loading large elf64 binaries on 32bit hosts. * configure.in: Call AC_SYS_LARGEFILE. * config.in: Regenerate. * configure: Regenerate. binutils/ Fix loading large elf64 binaries on 32bit hosts. * configure.in: Call AC_SYS_LARGEFILE. * config.in: Regenerate. * configure: Regenerate. gas/ * configure.in: Call AC_SYS_LARGEFILE. * config.in: Regenerate. * configure: Regenerate. gprof/ * configure.in: Call AC_SYS_LARGEFILE. * gconfig.in: Regenerate. * configure: Regenerate. ld/ * configure.in: Call AC_SYS_LARGEFILE. * config.in: Regenerate. * configure: Regenerate. libiberty/ * configure.in: Call AC_SYS_LARGEFILE. * config.in: Regenerate. * configure: Regenerate.
2008-09-09* emultempl/pe.em (pe_find_data_imports): Add trailing newlineNick Clifton3-5/+11
to warning message. * emultempl/pep.em (pep_find_data_imports): Likewise.
2008-09-082008-09-08 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu3-2/+9
2008-09-07 Alan Modra <amodra@bigpond.net.au> * emultempl/beos.em (gld${EMULATION_NAME}_place_orphan): Updated. * emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation): Likewise.
2008-09-08ld/Tristan Gingold2-0/+7
2008-09-08 Tristan Gingold <gingold@adacore.com> * NEWS: Add a marker for the 2.19 features. gas/ 2008-09-08 Tristan Gingold <gingold@adacore.com> * NEWS: Add a marker for the 2.19 features. binutils/ 2008-09-08 Tristan Gingold <gingold@adacore.com> * NEWS: Add a marker for the 2.19 features.
2008-09-07 * ldlang.h (lang_output_section_find): Define.Alan Modra5-78/+78
(lang_output_section_statement_lookup): Update prototype. * ldlang.c (lang_output_section_find, lang_output_section_statement_lookup_1): Merge into.. (lang_output_section_statement_lookup): ..here. Update all callers. (process_insert_statements): Set constraint negative for output section statements we might be inserting. Make error fatal on not finding insertion section. (lang_output_section_find): Rather than comparing output_section_statement.constraint against -1, test whether it is postive. (lang_output_section_statement_lookup_1): Likewise. (output_prev_sec_find, strip_excluded_output_sections): Likewise. (lang_record_phdrs): Likewise. * emultempl/elf32.em (output_rel_find): Likewise. * NEWS: Mention INSERT.
2008-08-26bfd/Nick Clifton5-5/+47
* elf32-arm.c (arm_thumb_arm_v4t_short_branch_stub): Define. (elf32_arm_stub_type): Add arm_thumb_arm_v4t_stub_short_branch. (arm_type_of_stub): Handle armv4t short branches. Update prototype. (arm_stub_is_thumb): Handle arm_thumb_arm_v4t_stub_short_branch. (arm_build_one_stub): Likewise. (arm_size_one_stub): Likewise. (elf32_arm_size_stubs): Use new arm_type_of_stub prototype. (arm_map_one_stub): Handle arm_thumb_arm_v4t_stub_short_branch. ld/testsuite/ * ld-arm/arm-elf.exp: Add farcall-thumb-arm-short test. * ld-arm/farcall-group2.s: Fix comment. * ld-arm/farcall-thumb-arm-short.d: New test. * ld-arm/farcall-thumb-arm-short.s: New test.
2008-08-26PR 6727Nick Clifton2-12/+12
* emultempl/armelf.em (arm_elf_set_bfd_for_interworking): Scan all input sections in all input bfds and always select the last suitable one, so that interworking stubs are always processed after all other input sections. (arm_elf_before_allocation): Remove redundant use of output_has_begun flag.
2008-08-24Update a number of obsolete autoconf macros.Alan Modra4-39/+37
2008-08-22bfd/Jan Kratochvil5-0/+303
Fix PR ld/3290 regression for cross-files DW_FORM_ref_addr relocations. * elflink.c (elf_link_add_object_symbols): Make debug symbols local now only for non-RELOCATABLE targets. ld/testsuite/ * ld-x86-64/dwarfreloc.exp, ld-x86-64/dwarfreloc.rd, ld-x86-64/dwarfreloc1.s, ld-x86-64/dwarfreloc2.s: New test.
2008-08-21 PR ld/6833Jan Kratochvil3-7/+23
* ldexp.c (fold_binary <DATA_SEGMENT_ALIGN>): Do not align EXPLD.DATASEG.MIN_BASE. * ldlang.c (lang_size_sections): New variable OLD_BASE. Rename OLD_MIN_BASE to MIN_BASE with the former alignment from `ldexp.c'. Use OLD_BASE now for the minimal base check after the base decrease by the maximum alignment found.
2008-08-20Commit file that I accidentally omitted from my change to support TLS on Xtensa.Bob Wilson1-0/+8
2008-08-202008-08-20 Bob Wilson <bob.wilson@acm.org>Bob Wilson13-0/+769
bfd/ * elf-bfd.h (elf_object_id): Add XTENSA_ELF_TDATA. * elf32-xtensa.c (elf_howto_table): Add TLS relocations. (elf_xtensa_reloc_type_lookup): Likewise. (TCB_SIZE): Define. (elf_xtensa_link_hash_entry): New. (GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD, GOT_TLS_IE, GOT_TLS_ANY): Define. (elf_xtensa_hash_entry): Define. (elf_xtensa_obj_tdata): New. (elf_xtensa_tdata): Define. (elf_xtensa_local_got_tls_type): Define. (elf_xtensa_local_tlsfunc_refcounts): Define. (is_xtensa_elf): Define. (elf_xtensa_mkobject): New. (elf_xtensa_link_hash_table): Add tlsbase field. (elf_xtensa_link_hash_newfunc): New. (elf_xtensa_link_hash_table_create): Use elf_xtensa_link_hash_newfunc. Create an entry for "_TLS_MODULE_BASE_" and save it in tlsbase field. (elf_xtensa_copy_indirect_symbol): New. (elf_xtensa_check_relocs): Rewrite to handle TLS relocations. (elf_xtensa_gc_sweep_hook): Likewise. (elf_xtensa_allocate_dynrelocs): Optimize away GOT entries for TLSDESC_FN relocations when an IE reference is seen. (elf_xtensa_allocate_local_got_size): Likewise. (elf_xtensa_always_size_sections): New. (dtpoff_base, tpoff): New. (elf_xtensa_do_reloc): Handle TLS relocations. (replace_tls_insn): New. (IS_XTENSA_TLS_RELOC): Define. (elf_xtensa_relocate_section): Handle TLS relocations. (get_indirect_call_dest_reg): New. (bfd_elf32_mkobject): Define. (elf_backend_always_size_sections): New. (elf_backend_copy_indirect_symbol): New. * reloc.c (BFD_RELOC_XTENSA_TLSDESC_FN, BFD_RELOC_XTENSA_TLSDESC_ARG) (BFD_RELOC_XTENSA_TLS_DTPOFF, BFD_RELOC_XTENSA_TLS_TPOFF) (BFD_RELOC_XTENSA_TLS_FUNC, BFD_RELOC_XTENSA_TLS_ARG) (BFD_RELOC_XTENSA_TLS_CALL): New. * bfd-in2.h: Regenerate. * libbfd.h: Regenerate. gas/ * config/tc-xtensa.c (O_tlsfunc, O_tlsarg, O_tlscall): Define. (O_tpoff, O_dtpoff): Define. (suffix_relocs): Add entries for TLS suffixes. (xtensa_elf_cons): Check for invalid use of TLS relocations. (map_operator_to_reloc): Add is_literal parameter and use it to control translating TLS instruction relocations to the corresponding literal relocations. (xg_valid_literal_expression): Allow TLS operators. (xg_build_to_insn): Copy TLS operators from pseudo-instruction operands to generated literals. (xg_assemble_literal): Handle TLS operators. Update call to map_operator_to_reloc. (md_assemble): Handle CALLXn.TLS pseudo-instruction. (md_apply_fix): Handle TLS relocations. (emit_single_op): Handle TLS operators. (convert_frag_immed): Update call to map_operator_to_reloc. (vinsn_to_insnbuf): Emit relocations for TLS-related instructions. * config/xtensa-istack.h (tinsn_struct): Add tls_reloc field. * config/xtensa-relax.c (append_literal_op): Add src_op parameter to initialize the op_data field of the BuildOp. (build_transition): Use it here to record the source operand corresponding to a generated literal. * config/xtensa-relax.h (build_op): Comment op_data use for literals. include/elf/ * xtensa.h (R_XTENSA_TLSDESC_FN, R_XTENSA_TLSDESC_ARG) (R_XTENSA_TLS_DTPOFF, R_XTENSA_TLS_TPOFF, R_XTENSA_TLS_FUNC) (R_XTENSA_TLS_ARG, R_XTENSA_TLS_CALL): New. ld/testsuite/ * ld-xtensa/tlsbin.dd, ld-xtensa/tlsbin.rd, ld-xtensa/tlsbin.s, ld-xtensa/tlsbin.sd, ld-xtensa/tlsbin.td, ld-xtensa/tlslib.s, ld-xtensa/tlspic.dd, ld-xtensa/tlspic.rd, ld-xtensa/tlspic.sd, ld-xtensa/tlspic.td, ld-xtensa/tlspic1.s, ld-xtensa/tlspic2.s: New. * ld-xtensa/xtensa.exp: Run them.