aboutsummaryrefslogtreecommitdiff
path: root/ld
AgeCommit message (Collapse)AuthorFilesLines
2012-07-27bfd: update to AC_INITMike Frysinger3-2/+8
Move the package name/version from AM_INIT_AUTOMAKE to AC_INIT per recent autotools guidelines. We use recent versions of both, so it shouldn't be a problem. This sets PACKAGE_xxx variables correctly, and makes the output of: ./configure --version actually useful: bfd configure 2.22.52 Changing the other dirs to use AC_INIT would require a bit of m4 trickery that I don't feel like getting into, and they all use BFD_VERSION anyways, so there isn't much point. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-07-27binutils/Tristan Gingold2-0/+6
2012-07-27 Tristan Gingold <gingold@adacore.com> * NEWS: Add marker for 2.23. gas/ 2012-07-27 Tristan Gingold <gingold@adacore.com> * NEWS: Add marker for 2.23. ld/ 2012-07-27 Tristan Gingold <gingold@adacore.com> * NEWS: Add marker for 2.23.
2012-07-26 PR ld/14397Nick Clifton4-0/+250
* elf32-arm.c (elf32_arm_finish_dynamic_sections): Report an error if a required section is missing from the linker script. * ld-arm/arm-elf.exp: Add tests of linking without .rel.plt. * ld-arm/arm-no-rel-plt.out: Linker script without .rel.plt section. * ld-arm/arm-no-rel-plt.out: Expected output.
2012-07-242012-07-24 Jan Waclawek <konfera@efton.sk>Eric B. Weddington2-1/+7
PR ld/14058 * emultempl/avrelf.em (avr_elf_after_allocation): Call elf32_avr_size_stubs with is_prealloc_run as TRUE.
2012-07-13 * ld-elf/foo0.s: Use ARM-compatible .section syntax.Hans-Peter Nilsson6-5/+13
* ld-elf/foo1.s: Likewise. * ld-elf/foo2.s: Likewise. * ld-elf/foo3.s: Likewise. * ld-elf/foon.s: Likewise.
2012-07-132012-07-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>Andreas Krebbel3-0/+7
* elf64-s390.c: Include elf-s390-common.c. (R_390_IRELATIVE): New reloc. (elf_s390_reloc_type_lookup): Support R_390_IRELATIVE. (RELA_ENTRY_SIZE): New macro. (elf_s390_link_hash_entry): New fields ifunc_resolver_address and *ifunc_resolver_section. (struct plt_entry): New struct. (struct elf_s390_obj_tdata): New field local_plt. (elf_s390_local_plt): New macro. (struct elf_s390_link_hash_table): New field irelifunc. (ELF64): New macro. (link_hash_newfunc): Initialize new fields. (elf_s390_check_relocs): Handle IFUNC symbols. (elf_s390_adjust_dynamic_symbol): Don't do anything for IFUNC symbols. (allocate_dynrelocs): Call s390_elf_allocate_ifunc_dyn_relocs for IFUNC symbols. (elf_s390_size_dynamic_sections): Handle IFUNC symbols. (elf_s390_relocate_section): Likewise. (elf_s390_finish_dynamic_symbol): Likewise. (elf_s390_finish_dynamic_sections): Handle local IFUNC symbols. (elf_s390_finish_ifunc_symbol): New function. (elf_s390_gc_sweep_hook): Handle local plt entries. (elf_backend_add_symbol_hook): Define. * elf32-s390.c: See elf64-s390.c changes. * elf-s390-common.c: New file. * bfd-in2.h (BFD_RELOC_390_IRELATIVE): New enum field. * libbfd.h (BFD_RELOC_390_IRELATIVE): New entry for BFD_RELOC_390_IRELATIVE. * reloc.c (BFD_RELOC_390_IRELATIVE): Document new relocation. 2012-07-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * elf/s390.h (START_RELOC_NUMBERS): Define R_390_IRELATIVE reloc. 2012-07-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * emulparams/elf_s390.sh (IREL_IN_PLT): Define. * emulparams/elf64_s390.sh (IREL_IN_PLT): Define.
2012-07-13 PR ld/14357Nick Clifton9-14/+28
* ldmain.c (trace_file_tries): Rename to 'verbose'. * ldfile.c: Likewise. * ldlang.c: Likewise. * ldmain.h: Likewise. * lexsup.c: Likewise. * emultempl/elf32.em: Likewise. * emultemp/spuelf.em: Likewise. * pe-dll.c (pe_dll_generate_implib): Only print creation message in verbose mode.
2012-07-10Add SORT_NONE and don't sort sort .init/.fini sectionsH.J. Lu27-4/+231
ld/ PR ld/14156 * NEWS: Mention SORT_NONE. * ld.h (sort_type): Add by_none. * ld.texinfo: Document SORT_NONE. * ldgram.y: Handle SORT_NONE. * ldlang.c (update_wild_statements): Handle by_none. Don't sort .init/.fini sections. * ldlex.l: Add SORT_NONE. ld/testsuite/ PR ld/14156 * ld-elf/fini0.s: New file. * ld-elf/fini1.s: Likewise. * ld-elf/fini2.s: Likewise. * ld-elf/fini3.s: Likewise. * ld-elf/finin.s: Likewise. * ld-elf/foo0.s: Likewise. * ld-elf/foo1.s: Likewise. * ld-elf/foo2.s: Likewise. * ld-elf/foo3.s: Likewise. * ld-elf/foon.s: Likewise. * ld-elf/init0.s: Likewise. * ld-elf/init1.s: Likewise. * ld-elf/init2.s: Likewise. * ld-elf/init3.s: Likewise. * ld-elf/initn.s: Likewise. * ld-elf/pr14156a.d: Likewise. * ld-elf/pr14156b.d: Likewise. * ld-elf/pr14156c.d: Likewise. * ld-elf/pr14156c.t: Likewise.
2012-07-10Add testcases for PR ld/14323H.J. Lu4-0/+45
PR ld/14323 * ld-elf/pr14323-1.c: New. * ld-elf/pr14323-2.c: Likewise. * ld-elf/shared.exp (build_tests): Add libpr14323-2.so. (run_tests): Add pr14323.
2012-07-03Properly handle indirect symbolsH.J. Lu14-0/+253
2012-07-03 H.J. Lu <hongjiu.lu@intel.com> PR ld/3351 * elflink.c (_bfd_elf_update_dynamic_flags): New. (_bfd_elf_merge_symbol): Update both real and indirect symbol dynamic flags. (_bfd_elf_add_default_symbol): Make the real symbol dynamic if the indirect symbol is defined in a shared library. (elf_link_add_object_symbols): Likewise. If the indirect symbol has been forced local, don't make the real symbol dynamic. (elf_link_check_versioned_symbol): Check indirect symbol. (elf_link_output_extsym): Use real symbol definition when reporting indirect symbol error. Check version info for dynamic versioned symbol. 2012-07-03 H.J. Lu <hongjiu.lu@intel.com> PR ld/3351 * ld-elf/indirect.exp: New file. * ld-elf/indirect1a.c: Likewise. * ld-elf/indirect1b.c: Likewise. * ld-elf/indirect1c.c: Likewise. * ld-elf/indirect2.c: Likewise. * ld-elf/indirect3.out: Likewise. * ld-elf/indirect3a.c: Likewise. * ld-elf/indirect3b.c: Likewise. * ld-elf/indirect3c.c: Likewise. * ld-elf/indirect4.out: Likewise. * ld-elf/indirect4a.c: Likewise. * ld-elf/indirect4b.c: Likewise. * ld-elf/indirect4c.c: Likewise.
2012-07-02ld/testsuite/Roland McGrath12-78/+114
* ld/testsuite/ld-i386/tlsbin-nacl.rd: Update for symbol table changes. * ld/testsuite/ld-i386/tlsbindesc-nacl.rd: Likewise. * ld/testsuite/ld-i386/tlsdesc-nacl.rd: Likewise. * ld/testsuite/ld-i386/tlsgdesc-nacl.rd: Likewise. * ld/testsuite/ld-i386/tlsnopic-nacl.rd: Likewise. * ld/testsuite/ld-i386/tlspic-nacl.rd: Likewise. * ld/testsuite/ld-x86-64/tlsbin-nacl.rd: Likewise. * ld/testsuite/ld-x86-64/tlsbindesc-nacl.rd: Likewise. * ld/testsuite/ld-x86-64/tlsdesc-nacl.rd: Likewise. * ld/testsuite/ld-x86-64/tlsgdesc-nacl.rd: Likewise. * ld/testsuite/ld-x86-64/tlspic-nacl.rd: Likewise.
2012-07-02Replace __end_SECNAME with __stop_SECNAMEH.J. Lu2-1/+5
* ld.texinfo: Replace __end_SECNAME with __stop_SECNAME.
2012-07-02Add a test for weak aliasH.J. Lu4-0/+37
* ld-elf/data2.c: New file. * ld-elf/weakdef1.c: Likewise. * ld-elf/shared.exp: Add tests for libdata2 and weakdef1.
2012-06-29 * scripttempl/alphavms.sc: Add .debug_macro section.Nick Clifton28-0/+196
* scripttempl/elf.sc: Likewise. * scripttempl/elf64hppa.sc: Likewise. * scripttempl/elf_chaos.sc: Likewise. * scripttempl/elfxtensa.sc: Likewise. * scripttempl/ia64vms.sc: Likewise. * scripttempl/armbpabi.sc: Add .debug_pubtypes, .debug_ranges and .debug_macro sections. * scripttempl/avr.sc: Likewise. * scripttempl/elf32cr16.sc: Likewise. * scripttempl/elf32crx.sc: Likewise. * scripttempl/elf32msp430.sc: Likewise. * scripttempl/elf32msp430_3.sc: Likewise. * scripttempl/elf32sh-symbian.sc: Likewise. * scripttempl/elfd30v.sc: Likewise. * scripttempl/elfi370.sc: Likewise. * scripttempl/elfm68hc11.sc: Likewise. * scripttempl/elfm68hc12.sc: Likewise. * scripttempl/elfxgate.sc: Likewise. * scripttempl/i386beos.sc: Likewise. * scripttempl/i386go32.sc: Likewise. * scripttempl/ip2k.sc: Likewise. * scripttempl/iq2000.sc: Likewise. * scripttempl/mep.sc: Likewise. * scripttempl/mmo.sc: Likewise. * scripttempl/v850.sc: Likewise. * scripttempl/xstormy16.sc: Likewise.
2012-06-28ld/testsuite/Roland McGrath2-1/+12
* ld-arm/arm-elf.exp (armelftests_common): Add a test that gets arm-lib.so built so armeabitests_common can use it. (unresolved-1-dyn): Exclude this test for [istarget "arm*-*-nacl*"].
2012-06-28Remove redundant statementH.J. Lu2-1/+4
* ldlang.c (update_wild_statements): Remove redundant statement.
2012-06-27ld-elf/ehdr_start.d (target): Add *-*-nacl*.Roland McGrath2-1/+5
2012-06-27 * ld-elf/ehdr_start.s: Use data rather than rodata.Alan Modra3-2/+7
* ld-elf/ehdr_start.d: Run on linux and gnu targets only.
2012-06-25* ld-elf/ehdr_start.d (ld): Add explicit -e _start.Roland McGrath2-1/+7
(notarget): Add arm*-*-eabi* cris-*-*.
2012-06-25 * ldlang.c (load_symbols): Close file and set flags.loadedAlan Modra2-0/+12
after parsing script file. (open_input_bfds): Don't segv on closed script.
2012-06-24Replace -linux-gnux32 with -linux-gnuH.J. Lu1-2/+2
2012-06-24Enable elf_k1om for x86_64-*-linux-gnux32H.J. Lu2-4/+9
* configure.tgt: Enable elf_k1om for x86_64-*-linux-gnux32. Remove x32 in tdir_i386linux and tdir_elf_i386.
2012-06-22bfd/Roland McGrath5-1/+31
* elf.c (assign_file_positions_for_non_load_sections): Define __ehdr_start symbol if it's referenced and there's a PT_LOAD segment that covers both the file and program headers. ld/ * NEWS: Mention __ehdr_start. ld/testsuite/ * ld-elf/ehdr_start.s: New file. * ld-elf/ehdr_start.d: New file.
2012-06-21ld/Alan Modra4-7/+11
* ldlang.c (lang_insert_orphan): Don't make __start_<sec> symbol absolute, and remove unnecessary alignment. ld/testsuite/ * ld-gc/start.d: Update.
2012-06-18Trim last, empty, lineHans-Peter Nilsson1-1/+0
2012-06-18 * ld-cris/dso-pltdis1.d, ld-cris/dso-pltdis2.d, dsofng.sHans-Peter Nilsson5-0/+127
dsofn4g.s: New tests.
2012-06-17 * ld-cris/tls-e-tpoffgotcomm1.d: New test.Hans-Peter Nilsson2-0/+45
2012-06-17 * ld-cris/tls-e-tpiecomm1.d, ld-cris/tls-e-tpiecomm1.s: New test.Hans-Peter Nilsson5-0/+117
* ld-cris/tls-dso-tpoffgotcomm1.d, ld-cris/tls-dso-tpoffgotcomm1.s: Ditto.
2012-06-15ld/Alan Modra121-565/+747
* ldlang.h (lang_output_section_statement_type): Add after_end field. (lang_abs_symbol_at_beginning_of, lang_abs_symbol_at_end_of): Delete. (section_for_dot): Declare. * ldlang.c (lang_size_sections_1): Correct comment. (current_section): Move earlier. (current_assign, prefer_next_section): New static vars. (lang_do_assignments_1): Add found_end param. Detect _end assignment to set found_end. Set os->after_end. Set above statics. (lang_do_assignments): Adjust lang_do_assignments_1 call. Init vars. (section_for_dot): New function. (lang_set_startof): Don't make an absolute symbol. (lang_abs_symbol_at_beginning_of, lang_abs_symbol_at_end_of): Delete. * ldexp.c (new_rel_from_abs): Use section_for_dot. * emultempl/lnk960.em (symbol_at_beginning_of): New function. (symbol_at_end_of): Likewise. (lnk960_after_allocation): Use them. * scripttempl/elf.sc: Precede OTHER_GOT_SYMBOLS with . = .; and likewise before __bss_start. ld/testsuite/ Update far too many tests.
2012-06-14Handle link_info.pie in ld pluginH.J. Lu2-1/+7
* plugin.c (set_tv_header): Handle link_info.pie.
2012-06-13 * ld-arm/arm-app-abs32.d; Update expected disassembly in line withNick Clifton26-25/+54
improved architecture detection. * ld-arm/arm-app.d: Likewise. * ld-arm/arm-lib-plt32.d: Likewise. * ld-arm/arm-lib.d: Likewise. * ld-arm/arm-static-app.d: Likewise. * ld-arm/armthumb-lib.d: Likewise. * ld-arm/farcall-mixed-app-v5.d: Likewise. * ld-arm/farcall-mixed-app.d: Likewise. * ld-arm/farcall-mixed-lib-v4t.d: Likewise. * ld-arm/farcall-mixed-lib.d: Likewise. * ld-arm/mixed-app-v5.d: Likewise. * ld-arm/mixed-app.d: Likewise. * ld-arm/mixed-lib.d: Likewise. * ld-arm/tls-app.d: Likewise. * ld-arm/tls-descrelax-be32.d: Likewise. * ld-arm/tls-descrelax.d: Likewise. * ld-arm/tls-descseq.d: Likewise. * ld-arm/tls-gdesc-got.d: Likewise. * ld-arm/tls-gdesc.d: Likewise. * ld-arm/tls-gdierelax.d: Likewise. * ld-arm/tls-gdierelax2.d: Likewise. * ld-arm/tls-gdlerelax.d: Likewise. * ld-arm/tls-lib-loc.d: Likewise. * ld-arm/tls-lib.d: Likewise. * ld-arm/tls-thumb1.d: Likewise.
2012-06-12Abort if PT_GNU_RELRO segment doesn't fit in PT_LOAD segmentH.J. Lu4-0/+42
bfd/ PR bfd/14207 * elf.c (assign_file_positions_for_non_load_sections): Abort if PT_GNU_RELRO segment doesn't fit in PT_LOAD segment. ld/testsuite/ PR ld/14207 * ld-x86-64/x86-64.exp: Run pr14207. * ld-x86-64/pr14207.d: New file. * ld-x86-64/pr14207.s: Likewise.
2012-06-11Don't hardcode .got.plt into DATA_SEGMENT_RELRO_END evaluationH.J. Lu18-10/+67
ld/ PR ld/14215 * ldexp.c (fold_name <SIZEOF, ALIGNOF>): Allow forward section references. * emulparams/elf32_x86_64.sh (SEPARATE_GOTPLT): Depend on size of .got.plt. * emulparams/elf32mb_linux.sh (SEPARATE_GOTPLT): Likewise. * emulparams/elf32tilegx.sh (SEPARATE_GOTPLT): Likewise. * emulparams/elf32tilepro.sh (SEPARATE_GOTPLT): Likewise. * emulparams/elf64tilegx.sh (SEPARATE_GOTPLT): Likewise. * emulparams/elf_i386.sh (SEPARATE_GOTPLT): Likewise. * emulparams/elf_k1om.sh (SEPARATE_GOTPLT): Likewise. * emulparams/elf_l1om.sh (SEPARATE_GOTPLT): Likewise. * emulparams/elf_x86_64.sh (SEPARATE_GOTPLT): Likewise. ld/testsuite/ PR ld/14215 * ld-i386/i386.exp: Run pr14215. * ld-x86-64/x86-64.exp: Likewise. * ld-i386/pr14215.d: New file. * ld-i386/pr14215.s: Likewise. * ld-x86-64/pr14215.d: Likewise. * ld-x86-64/pr14215.s: Likewise.
2012-06-07PR 13697Nick Clifton2-1/+9
* scripttempl/avr.sc (.data): Keep it.
2012-06-06bfd/Alan Modra106-525/+826
* elflink.c (elf_link_input_bfd): Provide a file symbol for each input file with local syms, if the input lacks such. (bfd_elf_final_link): Add a file symbol to mark end of locals for which we can associate with input files. (struct elf_final_link_info): Add filesym_count field. (struct elf_outext_info): Add need_second_pass and second_pass. (elf_link_output_extsym): Detect symbols defined in the output file, emit them on second pass over locals. ld/testsuite/ Update to suit added STT_FILE symbols.
2012-06-06 * ld-mmix/bpo-9.d: Update.Alan Modra5-11/+17
* ld-mmix/bpo-10.d: Update. * ld-mmix/bpo-11.d: Update. * ld-mmix/sec-7m.d: Update.
2012-06-02gprof/Andreas Schwab3-3/+8
* Makefile.am (TEXINFO_TEX): Remove $(top_srcdir) prefix. * Makefile.in: Regenerate. ld/ * Makefile.am (TEXINFO_TEX): Remove $(top_srcdir) prefix. * Makefile.in: Regenerate.
2012-06-01Revert the last changeH.J. Lu1-2/+2
2012-05-31Move linker test entry to ld/testsuite/ChangeLogH.J. Lu2-5/+5
2012-05-31Add missing "foo" after ".global"H.J. Lu3-2/+7
2012-05-31 H.J. Lu <hongjiu.lu@intel.com> * ld-ifunc/ifunc-13a-x86-64.s: Add missing "foo" after ".global". * ld-ifunc/ifunc-15-x86-64.s: Likewise.
2012-05-31Fix ChangeLog entryH.J. Lu1-2/+2
2012-05-30 * readelf.c (process_section_headers): Correct bug in previousNick Clifton14-13/+29
delta - display full section type in wide mode. * ld-tic6x/shlib-1b.rd: Revert previous delta. * ld-tic6x/shlib-1rb.rd: Likewise. * ld-tic6x/shlib-1.rd: Likewise. * ld-tic6x/shlib-1r.rd: Likewise. * ld-tic6x/shlib-app-1b.rd: Likewise. * ld-tic6x/shlib-app-1rb.rd: Likewise. * ld-tic6x/shlib-app-1.rd: Likewise. * ld-tic6x/shlib-app-1r.rd: Likewise. * ld-tic6x/shlib-noindex.rd: Likewise. * ld-tic6x/static-app-1b.rd: Likewise. * ld-tic6x/static-app-1rb.rd: Likewise. * ld-tic6x/static-app-1.rd: Likewise. * ld-tic6x/static-app-1r.rd: Likewise.
2012-05-30 * ldlang.h (lang_output_section_statement_type): RenameAlan Modra3-7/+17
"section_relative_symbol" field to "update_dot". * ldlang.c: Update all uses. (strip_excluded_output_sections): Don't test update_dot_tree here.. (lang_leave_overlay): ..set update_dot here.
2012-05-29 * ld-tic6x/shlib-1b.rd: Update expected readelf output.Nick Clifton14-13/+29
* ld-tic6x/shlib-1rb.rd: Likewise. * ld-tic6x/shlib-1.rd: Likewise. * ld-tic6x/shlib-1r.rd: Likewise. * ld-tic6x/shlib-app-1b.rd: Likewise. * ld-tic6x/shlib-app-1rb.rd: Likewise. * ld-tic6x/shlib-app-1.rd: Likewise. * ld-tic6x/shlib-app-1r.rd: Likewise. * ld-tic6x/shlib-noindex.rd: Likewise. * ld-tic6x/static-app-1b.rd: Likewise. * ld-tic6x/static-app-1rb.rd: Likewise. * ld-tic6x/static-app-1.rd: Likewise. * ld-tic6x/static-app-1r.rd: Likewise.
2012-05-28 * read.c (read_symbol_name): New function. Reads a symbol names.Nick Clifton3-2/+7
Allows escape codes in names. (s_comm_internal): Use read_symbol_name. (s_globl, s_lsym, s_set, s_weakref): Likewise. * doc/as.texinfo: Document support for multibyte characters in symbol names. * gas/elf/syms.s: New test - checks the generation of multibyte symbol names. * gas/elf/syms.d: New file - expected readelf output. * gas/elf/elf.exp: Add syms. * readelf.c (print_symbol): Display multibyte characters in symbol names. (process_section_headers): Use print_symbol. * ld-ifunc/ifunc-13a-i386.s: Fix use of .global directive. * ld-ifunc/ifunc-15a-i385.s: Likewise.
2012-05-28 PR ld/14170Alan Modra3-18/+33
* ld-elf/pr14170a.s: Put foo, bar address in .data. * ld-elf/elf.exp: Don't run pr14170 test on hppa64-hpux. Ignore tic6x warnings.
2012-05-27Add a test for PR ld/14170H.J. Lu5-0/+41
PR ld/14170 * ld-elf/elf.exp: Add a test for PR ld/14170. * ld-elf/pr14170a.s: New file. * ld-elf/pr14170b.s: Likewise. * ld-elf/pr14170b.s: Likewise.
2012-05-26ld/Alan Modra7-119/+145
* ldlex.h (enum option_values): Move from.. * lexsup.c: ..here. * emultempl/ppc32elf.em: Include ldlex.h. (PARSE_AND_LIST_ARGS_CASES): Disable optimisations when --traditional-format. * emultempl/ppc64elf.em: Likewise. ld/testsuite/ * ld-srec/srec.exp: Remove powerpc64 flag setting.
2012-05-25 PR ld/13909Alan Modra2-4/+11
* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Handle multiple .eh_frame sections attached to bfd.
2012-05-24ld/Cary Coutant6-15/+25
* scripttempl/armbpabi.sc: Match .data.rel.ro.* sections more carefully. Fix typo where .rela.data.rel.ro matches .rel.data.rel.ro. * scripttempl/mep.sc: Likewise. * scripttempl/elf.sc: Match .data.rel.ro.* sections more carefully. * scripttempl/elf64hppa.sc: Likewise. * scripttempl/elfxtensa.sc: Likewise.