2017-07-19 14:11:59 +02:00
|
|
|
|
2017-07-19 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-scripts/fill.d: Adjust `xfail' entries. Add
|
|
|
|
|
`notarget' entries. Update comments.
|
|
|
|
|
* testsuite/ld-scripts/fill16.d: New test.
|
|
|
|
|
* testsuite/ld-scripts/fill16_0.s: New test source.
|
|
|
|
|
* testsuite/ld-scripts/fill16_1.s: New test source.
|
|
|
|
|
* testsuite/ld-scripts/fill16_2.s: New test source.
|
|
|
|
|
* testsuite/ld-scripts/data.exp: Run the new test.
|
|
|
|
|
|
2017-07-19 09:56:55 +02:00
|
|
|
|
2017-07-19 Claudiu Zissulescu <claziss@synopsys.com>
|
|
|
|
|
John Eric Martin <John.Martin@emmicro-us.com>
|
|
|
|
|
|
|
|
|
|
* emulparams/arcelf.sh (JLI_START_TABLE): Define.
|
|
|
|
|
* scripttempl/elfarc.sc: Handle jlitab section.
|
|
|
|
|
* scripttempl/elfarcv2.sc: Likewise.
|
|
|
|
|
* testsuite/ld-arc/arc.exp: Add JLI test.
|
|
|
|
|
* testsuite/ld-arc/jli-script.ld: New file.
|
|
|
|
|
* testsuite/ld-arc/jli-simple.dd: Likewise.
|
|
|
|
|
* testsuite/ld-arc/jli-simple.rd: Likewise.
|
|
|
|
|
* testsuite/ld-arc/jli-simple.s: Likewise.
|
|
|
|
|
* testsuite/ld-arc/jli-overflow.s: Likewise.
|
|
|
|
|
* testsuite/ld-arc/jli-overflow.d: Likewise.
|
|
|
|
|
* testsuite/ld-arc/jli-overflow.err: Likewise.
|
|
|
|
|
|
2017-07-19 09:55:12 +02:00
|
|
|
|
2017-07-19 Tristan Gingold <gingold@adacore.com>
|
|
|
|
|
|
|
|
|
|
* ldmain.c (main): Remove display of data size.
|
|
|
|
|
|
LD/testsuite: Conditionalize the placement of `.got' in GNU_RELRO
Complement commit d345186d0535 ("Check if GNU_RELRO segment is is
generated") and exclude the presence of a `.got' section from implying
the creation of a GNU_RELRO segment for targets which place the section
along with small data, and therefore as it stands cannot have the
section assigned to GNU_RELRO. This is because we currently only
support a single GNU_RELRO segment and we place it at the beginning of
regular data which is then separated from small data by read-write data.
Currently the list of such targets consists of Alpha, Linux HPPA, NetBSD
HPPA, OpenBSD HPPA, Meta, MIPS, Nios II, OpenRISC 1000, RISC-V, SH and
X86-64, as determined by examining default linker scripts produced in a
`--enable-targets=all' build for those that have DATA_SEGMENT_RELRO_END
set and `.got' placed beyond. These targets do not set NO_SMALL_DATA or
DATA_GOT in their respective files in ld/emulparams/*, hovever checking
for the absence of these settings on its own is not very feasible due to
the structure of these files and the lack of support for GNU_RELRO by
some targets in the first place.
Add a separate control for `.got.plt' which does get placed in GNU_RELRO
on MIPS targets even though `.got' does not.
ld/
* testsuite/ld-elf/binutils.exp (binutils_test): Make the
expectation for `.got' in GNU_RELRO segment target-specific.
Handle `.got.plt' separately.
2017-07-18 18:20:30 +02:00
|
|
|
|
2017-07-18 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
2017-07-20 01:39:57 +02:00
|
|
|
|
PR ld/16656
|
LD/testsuite: Conditionalize the placement of `.got' in GNU_RELRO
Complement commit d345186d0535 ("Check if GNU_RELRO segment is is
generated") and exclude the presence of a `.got' section from implying
the creation of a GNU_RELRO segment for targets which place the section
along with small data, and therefore as it stands cannot have the
section assigned to GNU_RELRO. This is because we currently only
support a single GNU_RELRO segment and we place it at the beginning of
regular data which is then separated from small data by read-write data.
Currently the list of such targets consists of Alpha, Linux HPPA, NetBSD
HPPA, OpenBSD HPPA, Meta, MIPS, Nios II, OpenRISC 1000, RISC-V, SH and
X86-64, as determined by examining default linker scripts produced in a
`--enable-targets=all' build for those that have DATA_SEGMENT_RELRO_END
set and `.got' placed beyond. These targets do not set NO_SMALL_DATA or
DATA_GOT in their respective files in ld/emulparams/*, hovever checking
for the absence of these settings on its own is not very feasible due to
the structure of these files and the lack of support for GNU_RELRO by
some targets in the first place.
Add a separate control for `.got.plt' which does get placed in GNU_RELRO
on MIPS targets even though `.got' does not.
ld/
* testsuite/ld-elf/binutils.exp (binutils_test): Make the
expectation for `.got' in GNU_RELRO segment target-specific.
Handle `.got.plt' separately.
2017-07-18 18:20:30 +02:00
|
|
|
|
* testsuite/ld-elf/binutils.exp (binutils_test): Make the
|
|
|
|
|
expectation for `.got' in GNU_RELRO segment target-specific.
|
|
|
|
|
Handle `.got.plt' separately.
|
|
|
|
|
|
2017-07-18 18:20:30 +02:00
|
|
|
|
2017-07-18 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
2017-07-20 01:39:57 +02:00
|
|
|
|
PR ld/16656
|
2017-07-18 18:20:30 +02:00
|
|
|
|
* testsuite/ld-elf/binutils.exp (binutils_test): Make the
|
|
|
|
|
expectation for `.dynamic' in GNU_RELRO segment target-specific.
|
|
|
|
|
|
2017-07-18 17:58:14 +02:00
|
|
|
|
2017-07-18 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 21775
|
|
|
|
|
* ld.texinfo: Fix spelling typos.
|
|
|
|
|
* testsuite/ld-elfcomm/elfcomm.exp: Likewise.
|
|
|
|
|
|
2017-07-17 21:42:32 +02:00
|
|
|
|
2017-07-17 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-i386/i386.exp: Run pie1 and pie1-nacl.
|
|
|
|
|
* testsuite/ld-i386/pie1-nacl.d: New file.
|
|
|
|
|
* testsuite/ld-i386/pie1.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/pie1.s: Likewise.
|
|
|
|
|
|
2017-07-17 21:40:57 +02:00
|
|
|
|
2017-07-17 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/21782
|
|
|
|
|
* testsuite/ld-x86-64/pie3-nacl.d: New file.
|
|
|
|
|
* testsuite/ld-x86-64/pie3.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pie3.s: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/x86-64.exp: Run pie3 and pie3-nacl.
|
|
|
|
|
|
2017-07-14 11:07:26 +02:00
|
|
|
|
2017-07-14 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-powerpc/powerpc.exp: Add -shared to tlsop5 tests.
|
|
|
|
|
* testsuite/ld-powerpc/tlsopt5.d: Adjust.
|
|
|
|
|
* testsuite/ld-powerpc/tlsopt1_32.s: Use r30 as GOT pointer.
|
|
|
|
|
* testsuite/ld-powerpc/tlsopt2_32.s: Likewise.
|
|
|
|
|
* testsuite/ld-powerpc/tlsopt3_32.s: Likewise.
|
|
|
|
|
* testsuite/ld-powerpc/tlsopt4_32.s: Likewise.
|
|
|
|
|
* testsuite/ld-powerpc/tlsopt5_32.s: Rewrite.
|
|
|
|
|
* testsuite/ld-powerpc/tlsopt1_32.d: Adjust.
|
|
|
|
|
* testsuite/ld-powerpc/tlsopt2_32.d: Adjust.
|
|
|
|
|
* testsuite/ld-powerpc/tlsopt3_32.d: Adjust.
|
|
|
|
|
* testsuite/ld-powerpc/tlsopt5_32.d: Adjust.
|
|
|
|
|
|
2017-07-14 12:53:08 +02:00
|
|
|
|
2016-07-14 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-unique/pr21529.ld: New test linker script.
|
|
|
|
|
* testsuite/ld-unique/pr21529.d: Use it.
|
|
|
|
|
|
2017-07-12 14:49:58 +02:00
|
|
|
|
2017-07-12 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* po/bg.po: Update from translationproject.org/latest/ld/.
|
|
|
|
|
* po/da.po: Likewise.
|
|
|
|
|
* po/es.po: Likewise.
|
|
|
|
|
* po/fi.po: Likewise.
|
|
|
|
|
* po/fr.po: Likewise.
|
|
|
|
|
* po/id.po: Likewise.
|
|
|
|
|
* po/it.po: Likewise.
|
|
|
|
|
* po/ja.po: Likewise.
|
|
|
|
|
* po/tr.po: Likewise.
|
|
|
|
|
* po/uk.po: Likewise.
|
|
|
|
|
* po/vi.po: Likewise.
|
|
|
|
|
* po/zh_CN.po: Likewise.
|
|
|
|
|
* po/zh_TW.po: Likewise.
|
|
|
|
|
* po/de.po: New file from translationproject.org.
|
|
|
|
|
* po/ru.po: Likewise.
|
|
|
|
|
* configure.ac (ALL_LINGUAS): Add de, ru. Sort.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2017-07-12 11:52:30 +02:00
|
|
|
|
2017-07-12 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-scripts/align.exp: Exclude powerpc*-*-aix*.
|
|
|
|
|
* testsuite/ld-scripts/assign-loc.d: Likewise.
|
|
|
|
|
* testsuite/ld-scripts/defined3.d: Likewise.
|
|
|
|
|
* testsuite/ld-scripts/defined4.d: Likewise.
|
|
|
|
|
* testsuite/ld-scripts/defined5.d: Likewise.
|
|
|
|
|
* testsuite/ld-scripts/expr2.d: Likewise.
|
|
|
|
|
* testsuite/ld-scripts/provide.exp: Likewise.
|
|
|
|
|
* testsuite/ld-scripts/sane1.d: Likewise.
|
|
|
|
|
* testsuite/ld-scripts/size.exp: Likewise.
|
|
|
|
|
* testsuite/ld-scripts/defined2.d: Don't xfail rs6000-*-aix*.
|
|
|
|
|
|
bfd_error_handler bfd_vma and bfd_size_type args
This patch uses the new %L _bfd_error_handler support for printing
bfd_vma arguments, and fixes a many other format and/or argument
errors in error messages.
bfd/
* binary.c (binary_set_section_contents): Don't print filepos in
error message.
(coff_write_object_contents): Cast size_t for error message.
(coff_slurp_line_table): Don't use bfd_vma symndx.
(coff_slurp_reloc_table): Remove unneeded cast.
* dwarf2.c (read_section): Cast bfd_int64_t to long long for
error message.
(find_abstract_instance_name): Likewise.
* elf32-arm.c (arm_type_of_stub): Correct error arg order.
(bfd_elf32_arm_stm32l4xx_erratum_scan): Don't cast error arg.
(elf32_arm_check_relocs): Make r_symndx an int.
* elf32-cris.c (cris_elf_check_relocs): Delete extraneous %s in
format string.
* elf32-metag.c (elf_metag_relocate_section): Delete extra error
message arg.
* elf32-nds32.c (nds32_elf_ex9_build_hash_table): Rewrite bogus
error message.
* elf32-i386.c (elf_i386_check_relocs): Make r_symndx an int.
* elf32-s390.c (elf_s390_check_relocs): Likewise.
* elf32-tic6x.c (elf32_tic6x_check_relocs): Likewise.
* elf32-tilepro.c (tilepro_elf_check_relocs): Likewise.
* elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
* elf64-s390.c (elf_s390_check_relocs): Likewise.
* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
* elfnn-aarch64.c (elfNN_aarch64_check_relocs): Likewise.
* elfnn-riscv.c (riscv_elf_check_relocs): Likewise.
* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
* elfxx-tilegx.c (tilegx_elf_check_relocs): Likewise.
* elf64-mmix.c (_bfd_mmix_after_linker_allocation): Cast size_t args
and use %lu for error message.
* elflink.c (elf_link_adjust_relocs): Delete extra error message arg.
* mmo.c (mmo_scan): Make stab_loc a file_ptr. Cast expression for
error message.
* elf32-arm.c (elf32_arm_tls_relax): Correct format string and args
in error message.
(elf32_arm_final_link_relocate): Likewise.
* coff-arm.c (bfd_arm_process_before_allocation): Likewise.
* coffcode.h (styp_to_sec_flags): Likewise.
* cofflink.c (_bfd_coff_write_global_sym): Likewise.
* ecoff.c (_bfd_ecoff_slurp_symbol_table): Likewise.
* elf32-arc.c (arc_elf_merge_private_bfd_data): Likewise.
* elf32-bfin.c (bfinfdpic_check_relocs): Likewise.
(elf32_bfin_merge_private_bfd_data): Likewise.
* elf32-cris.c (cris_elf_relocate_section): Likewise.
* elf32-frv.c (frv_elf_merge_private_bfd_data): Likewise.
* elf32-i370.c (i370_elf_merge_private_bfd_data): Likewise.
(i370_elf_relocate_section): Likewise.
* elf32-iq2000.c (iq2000_elf_merge_private_bfd_data): Likewise.
* elf32-m32c.c (m32c_elf_merge_private_bfd_data): Likewise.
* elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Likewise.
* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
* elf32-mep.c (mep_elf_merge_private_bfd_data): Likewise.
* elf32-mt.c (mt_elf_merge_private_bfd_data): Likewise.
* elf64-sparc.c (elf64_sparc_merge_private_bfd_data): Likewise.
* elfxx-mips.c (mips_elf_merge_obj_e_flags): Likewise.
(_bfd_mips_elf_merge_private_bfd_data): Likewise.
* ieee.c (ieee_write_id, read_id): Likewise.
* mach-o.c (bfd_mach_o_write_contents): Likewise.
(bfd_mach_o_layout_commands, bfd_mach_o_read_section_32): Likewise.
(bfd_mach_o_read_section_64, bfd_mach_o_read_symtab_symbol): Likewise.
(bfd_mach_o_read_command, bfd_mach_o_header_p): Likewise.
* peXXigen.c (_bfd_XXi_swap_aouthdr_in): Likewise.
* stabs.c (_bfd_link_section_stabs): Likewise.
* coff-arm.c (coff_arm_relocate_section): Use L modifier in error
format.
* coff-mcore.c (coff_mcore_relocate_section): Likewise.
* coff-ppc.c (coff_ppc_relocate_section): Likewise.
* coff-rs6000.c (xcoff_reloc_type_toc): Likewise.
* coff-sh.c (sh_relax_section): Likewise.
(sh_relax_delete_bytes, sh_swap_insns): Likewise.
* coff-tic80.c (coff_tic80_relocate_section): Likewise.
* coffcode.h (coff_slurp_reloc_table): Likewise.
* coffgen.c (_bfd_coff_get_external_symbols): Likewise.
(_bfd_coff_read_string_table): Likewise.
* cofflink.c (_bfd_coff_generic_relocate_section): Likewise.
* compress.c (bfd_get_full_section_contents): Likewise.
* dwarf2.c (read_formatted_entries, decode_line_info): Likewise.
* elf-m10300.c (mn10300_elf_relocate_section): Likewise.
* elf.c (bfd_elf_string_from_elf_section): Likewise.
* elf32-arc.c (arc_special_overflow_checks): Likewise.
* elf32-arm.c (elf32_arm_tls_relax): Likewise.
(elf32_arm_final_link_relocate, elf32_arm_relocate_section): Likewise.
(elf32_arm_write_section): Likewise.
* elf32-bfin.c (bfin_relocate_section): Likewise.
(bfinfdpic_relocate_section): Likewise.
* elf32-hppa.c (hppa_build_one_stub): Likewise.
(final_link_relocate, elf32_hppa_relocate_section): Likewise.
* elf32-i386.c (elf_i386_tls_transition): Likewise.
(elf_i386_relocate_section): Likewise.
* elf32-ip2k.c (ip2k_final_link_relocate): Likewise.
* elf32-lm32.c (lm32_elf_finish_dynamic_sections): Likewise.
* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
* elf32-metag.c (elf_metag_relocate_section): Likewise.
* elf32-nds32.c (unrecognized_reloc_msg): Likewise.
(nds32_elf_relax_longcall1, nds32_elf_relax_longcall2): Likewise.
(nds32_elf_relax_longcall3, nds32_elf_relax_longjump1): Likewise.
(nds32_elf_relax_longjump2, nds32_elf_relax_longjump3): Likewise.
(nds32_elf_relax_longcall4, nds32_elf_relax_longcall5): Likewise.
(nds32_elf_relax_longcall6, nds32_elf_relax_longjump4): Likewise.
(nds32_elf_relax_longjump5, nds32_elf_relax_longjump6): Likewise.
(nds32_elf_relax_longjump7, nds32_elf_relax_loadstore): Likewise.
(nds32_elf_relax_ptr, nds32_elf_ex9_build_hash_table): Likewise.
* elf32-nios2.c (nios2_elf32_relocate_section): Likewise.
* elf32-rx.c (UNSAFE_FOR_PID): Likewise.
* elf32-s390.c (invalid_tls_insn, elf_s390_relocate_section): Likewise.
* elf32-score.c (s3_bfd_score_elf_check_relocs): Likewise.
* elf32-score7.c (s7_bfd_score_elf_check_relocs): Likewise.
* elf32-sh.c (sh_elf_relax_section): Likewise.
(sh_elf_relax_delete_bytes, sh_elf_swap_insns): Likewise.
(sh_elf_relocate_section): Likewise.
* elf32-sh64.c (shmedia_prepare_reloc): Likewise.
* elf32-spu.c (spu_elf_relocate_section): Likewise.
* elf32-tic6x.c (elf32_tic6x_relocate_section): Likewise.
* elf32-tilepro.c (tilepro_elf_relocate_section): Likewise.
* elf32-v850.c (v850_elf_relax_section): Likewise.
* elf32-vax.c (elf_vax_check_relocs): Likewise.
(elf_vax_relocate_section): Likewise.
* elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
(extend_ebb_bounds_forward, extend_ebb_bounds_backward): Likewise.
(compute_text_actions, compute_ebb_proposed_actions): Likewise.
(do_fix_for_relocatable_link): Likewise.
* elf64-alpha.c (elf64_alpha_relax_got_load): Likewise.
(elf64_alpha_relax_with_lituse): Likewise.
* elf64-hppa.c (elf64_hppa_finish_dynamic_symbol): Likewise.
(elf_hppa_final_link_relocate): Likewise.
* elf64-ia64-vms.c (elf64_ia64_relax_section): Likewise.
(elf64_ia64_choose_gp, elf64_ia64_relocate_section): Likewise.
(elf64_vms_link_add_object_symbols): Likewise.
* elf64-mmix.c (mmix_elf_perform_relocation): Likewise.
(mmix_final_link_relocate): Likewise.
* elf64-s390.c (invalid_tls_insn): Likewise.
(elf_s390_relocate_section): Likewise.
* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
* elf64-x86-64.c (elf_x86_64_tls_transition): Likewise.
(elf_x86_64_relocate_section): Likewise.
* elfcode.h (elf_slurp_symbol_table): Likewise.
* elfcore.h (elf_core_file_p): Likewise.
* elflink.c (elf_link_read_relocs_from_section): Likewise.
* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Likewise.
(elfNN_aarch64_relocate_section): Likewise.
* elfnn-ia64.c (elfNN_ia64_relax_section): Likewise.
(elfNN_ia64_choose_gp, elfNN_ia64_relocate_section): Likewise.
* elfnn-riscv.c (riscv_elf_relocate_section): Likewise.
* elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
(_bfd_mips_elf_relocate_section): Likewise.
(_bfd_mips_elf_finish_dynamic_symbol, mips_finish_exec_plt): Likewise.
* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
* elfxx-tilegx.c (tilegx_elf_relocate_section): Likewise.
* ieee.c (ieee_slurp_external_symbols): Likewise.
* ihex.c (ihex_write_object_content): Likewise.
* mach-o.c (bfd_mach_o_build_exec_seg_command): Likewise.
* merge.c (_bfd_merged_section_offset): Likewise.
* mmo.c (mmo_write_loc_chunk): Likewise.
(mmo_write_object_contents): Likewise.
* peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Likewise.
* stabs.c (_bfd_link_section_stabs): Likewise.
* xcofflink.c (xcoff_link_add_symbols, xcoff_find_tc0): Likewise.
ld/
* testsuite/ld-arc/nps-1b.err: Update.
* testsuite/ld-x86-64/ilp32-11.d: Update.
2017-07-09 15:41:32 +02:00
|
|
|
|
2017-07-12 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-arc/nps-1b.err: Update.
|
|
|
|
|
* testsuite/ld-x86-64/ilp32-11.d: Update.
|
|
|
|
|
|
2017-07-11 17:37:48 +02:00
|
|
|
|
2017-07-11 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-selective/selective.exp: Support single digit
|
|
|
|
|
GCC version.
|
|
|
|
|
|
2017-07-11 12:11:09 +02:00
|
|
|
|
2017-07-11 Jiong Wang <jiong.wang@arm.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-aarch64/dt_textrel.d: Use "#pass" instead of ".*" to
|
|
|
|
|
filter out remaining lines.
|
|
|
|
|
|
2017-07-07 18:58:03 +02:00
|
|
|
|
2017-07-07 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/mipself.em (mips_before_allocation): Avoid ELF
|
|
|
|
|
processing if not MIPS ELF.
|
|
|
|
|
* testsuite/ld-mips-elf/binary.d: New test.
|
|
|
|
|
* testsuite/ld-mips-elf/binary.ld: New test linker script.
|
|
|
|
|
* testsuite/ld-mips-elf/binary.s: New test source.
|
|
|
|
|
* testsuite/ld-mips-elf/mips-elf.exp: Run the new test.
|
|
|
|
|
|
2017-07-07 16:19:42 +02:00
|
|
|
|
2017-07-07 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-powerpc/ppc476-shared.lnk: Align .bss.
|
|
|
|
|
* testsuite/ld-powerpc/ppc476-shared.d: Adjust.
|
|
|
|
|
* testsuite/ld-powerpc/ppc476-shared2.d: Adjust.
|
|
|
|
|
|
2017-07-07 03:00:53 +02:00
|
|
|
|
2017-07-07 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.am (eelf64_s390.c): Depend on emultempl/s390.em.
|
|
|
|
|
|
2017-07-04 11:15:33 +02:00
|
|
|
|
2017-07-04 Tristan Gingold <gingold@adacore.com>
|
|
|
|
|
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2017-07-04 11:06:02 +02:00
|
|
|
|
2017-07-04 Tristan Gingold <gingold@adacore.com>
|
|
|
|
|
|
|
|
|
|
* NEWS: Add marker for 2.29.
|
|
|
|
|
|
2017-07-03 17:02:01 +02:00
|
|
|
|
2017-07-03 Tristan Gingold <gingold@adacore.com>
|
|
|
|
|
|
|
|
|
|
* po/ld.pot: Regenerate.
|
|
|
|
|
|
2017-07-01 01:42:19 +02:00
|
|
|
|
2017-06-30 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-mips-elf/relax-offset.dd: New test.
|
|
|
|
|
* testsuite/ld-mips-elf/relax-offset.gd: New test.
|
|
|
|
|
* testsuite/ld-mips-elf/relax-offset-umips.dd: New test.
|
|
|
|
|
* testsuite/ld-mips-elf/relax-offset-umips.gd: New test.
|
|
|
|
|
* testsuite/ld-mips-elf/relax-offset.ld: New test linker script.
|
|
|
|
|
* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.
|
|
|
|
|
(prune_warnings): New temporary procedure.
|
|
|
|
|
|
2017-06-28 03:07:36 +02:00
|
|
|
|
2017-06-28 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-mips-elf/mips-elf-flags.exp: Add interAptiv MR2
|
|
|
|
|
tests.
|
|
|
|
|
|
Fix PR 13402
Fix incorrect adjustment of diff relocs when relaxing, and thus the
resulting source line to address mismatch.
Fix two issues when adjusting diff relocs to account for
deleted bytes.
1. Don't adjust the difference if the end address is the shrinked
insn's address i.e. use < instead of <=. The relaxation code deletes
count bytes from or after shrinked_insn_address, so the difference
between start_address and end_address should remain unchanged in this
case.
2. Adjust the reloc addend if the difference is to be adjusted and
symval + reloc addend is past the shrinked insn address. This is
because for a typical sym1 - sym2 diff reloc, sym1 is .text +
irel->r_addend, and the addend should be reduced to account for the
shrinked insn.
For example, assume the reloc value is .text + 0x8 with .text = 0, the
diff value in the object file = 0x4, and shrinked_insn_address = 0x4
with count = 0x2. Then the existing code writes 0x2 into the object
file to account for the deleted bytes, as shrinked_insn_address lies
between 0x8 and 0x8 - 0x4 = 0x4, but leaves the addend as is. The next
time the reloc is looked at, the code sees if a shrinked_insn_address
lies between 0x8 and 0x8 - 0x2 = 0x6, instead of 0x6 and 0x4. If there
happens to be one, then the diff value in the object file ends up
getting reduced again.
bfd/
2017-06-27 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
PR ld/13402
* elf32-avr.c (elf32_avr_adjust_diff_reloc_value): Adjust
reloc addend if necessary. Adjust diff only if
shrinked_insn_address < end_address.
ld/
2017-06-27 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
PR ld/13402
* testsuite/ld-avr/pr13402.d: New test.
* testsuite/ld-avr/pr13402.s: New test.
2017-06-27 11:16:08 +02:00
|
|
|
|
2017-06-27 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/13402
|
|
|
|
|
* testsuite/ld-avr/pr13402.d: New test.
|
|
|
|
|
* testsuite/ld-avr/pr13402.s: New test.
|
|
|
|
|
|
2017-06-27 03:58:27 +02:00
|
|
|
|
2017-06-27 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-mips-elf/mips-elf-flags.exp (good_combination):
|
|
|
|
|
Add an `args' final argument and examination code for `readelf
|
|
|
|
|
-A' output. Update procedure description accordingly.
|
|
|
|
|
|
2017-06-27 03:58:27 +02:00
|
|
|
|
2017-06-27 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-mips-elf/mips-elf-flags.exp (good_combination):
|
|
|
|
|
Use `remote_exec' to call `readelf'. Log the command issued.
|
|
|
|
|
|
2017-06-27 03:58:27 +02:00
|
|
|
|
2017-06-27 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-mips-elf/mips-elf-flags.exp (good_combination):
|
|
|
|
|
Use `readelf -h' rather than `readelf --headers'.
|
|
|
|
|
|
MIPS/BFD: Consistently mark the LSI CW4010 as a MIPS II processor
Make BFD agree with GAS and mark the LSI MiniRISC CW4010 processor core
(for an odd reason referred to as LSI R4010 across our code base) as a
MIPS II processor in BFD as well, fixing a bug that has been there since
forever and addressing linker warnings like:
$ as -m4010 empty.s -o 4010.o
$ ld -r 4010.o -o 4010-r.o
ld: 4010.o: warning: Inconsistent ISA between e_flags and .MIPS.abiflags
$
due to the ISA level being recorded as MIPS III in ELF file header's
`e_flags' vs MIPS II in the MIPS ABI Flags section:
$ readelf -Ah 4010.o
ELF Header:
Magic: 7f 45 4c 46 01 02 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, big endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: REL (Relocatable file)
Machine: MIPS R3000
Version: 0x1
Entry point address: 0x0
Start of program headers: 0 (bytes into file)
Start of section headers: 348 (bytes into file)
Flags: 0x20821000, 4010, o32, mips3
Size of this header: 52 (bytes)
Size of program headers: 0 (bytes)
Number of program headers: 0
Size of section headers: 40 (bytes)
Number of section headers: 11
Section header string table index: 10
Attribute Section: gnu
File Attributes
Tag_GNU_MIPS_ABI_FP: Hard float (double precision)
MIPS ABI Flags Version: 0
ISA: MIPS2
GPR size: 32
CPR1 size: 32
CPR2 size: 0
FP ABI: Hard float (double precision)
ISA Extension: LSI R4010
ASEs:
None
FLAGS 1: 00000000
FLAGS 2: 00000000
$
Available documentation[1][2] clearly indicates the LSI CW4010 processor
is only backwards compatible with the MIPS R4000 processor as far as the
latter's 32-bit instructions are concerned and consequently can only be
considered a MIPS II ISA implementation (with vendor extensions).
This fixes an LD testsuite failure:
FAIL: MIPS incompatible objects: "-march=r4010 -32" "-march=r4650 -32"
triggered for the `mips-sgi-irix5' and `mips-sgi-irix6' targets.
References:
[1] Paul Cobb, Bob Caulk, Joe Cesana, "The MiniRISC CW4010: A
Superscalar MIPS Processor ASIC Core", LSI Logic, July 1995,
presented at Hot Chips VII, Stanford University, Stanford,
California, August 1995
[2] "MiniRISC MR4010 Superscalar Microprocessor Reference Device", LSI
Logic, November 1996, Doc. No. DB09-000028-00, Order No. C15017
bfd/
* cpu-mips.c (arch_info_struct): Mark the 4010 32-bit.
* elfxx-mips.c (mips_set_isa_flags) <bfd_mach_mips4010>: Set
E_MIPS_ARCH_2 rather than E_MIPS_ARCH_3 in `e_flags'.
(mips_mach_extensions): Mark `bfd_mach_mips4010' as extending
`bfd_mach_mips6000' rather than `bfd_mach_mips4000'.
ld/
* testsuite/ld-mips-elf/lsi-4010-isa.d: New test.
* ld/testsuite/ld-mips-elf/mips-elf.exp: Run the new test.
2017-06-26 20:20:50 +02:00
|
|
|
|
2017-06-26 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-mips-elf/lsi-4010-isa.d: New test.
|
|
|
|
|
* ld/testsuite/ld-mips-elf/mips-elf.exp: Run the new test.
|
|
|
|
|
|
2017-06-26 17:08:55 +02:00
|
|
|
|
2017-06-26 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/sizeofa.d: Also accept the OBJECT type for
|
|
|
|
|
the symbols examined.
|
|
|
|
|
* testsuite/ld-elf/sizeofc.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/startofa.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/startofc.d: Likewise.
|
|
|
|
|
|
2017-06-26 01:40:22 +02:00
|
|
|
|
2017-06-26 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Skip
|
|
|
|
|
--just-syms bfds when looking for a place to attach .note.gnu.build-id
|
|
|
|
|
and .eh_frame_hdr sections. Delete dead code.
|
|
|
|
|
|
2017-06-24 11:48:08 +02:00
|
|
|
|
2017-06-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-arm/arm-elf.exp (EABI attribute merging 11): New test.
|
|
|
|
|
(EABI attribute merging 12): Likewise.
|
|
|
|
|
* testsuite/ld-arm/attr-merge-11a.s: New file.
|
|
|
|
|
* testsuite/ld-arm/attr-merge-11b.s: New file.
|
|
|
|
|
* testsuite/ld-arm/attr-merge-11.attr: New file.
|
|
|
|
|
* testsuite/ld-arm/attr-merge-12a.s: New file.
|
|
|
|
|
* testsuite/ld-arm/attr-merge-12b.s: New file.
|
|
|
|
|
* testsuite/ld-arm/attr-merge-12.attr: New file.
|
|
|
|
|
|
2017-06-23 00:13:15 +02:00
|
|
|
|
2017-06-22 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-i386/i386.exp: Run weakundef1 tests.
|
|
|
|
|
* testsuite/ld-i386/weakundef1.c: New file.
|
|
|
|
|
|
2017-06-22 21:53:39 +02:00
|
|
|
|
2017-06-22 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/21090
|
|
|
|
|
* testsuite/ld-elfvsb/elfvsb.exp (visibility_run): Pass
|
|
|
|
|
$NOPIE_CFLAGS if non-PIE is required.
|
|
|
|
|
|
2017-06-22 18:53:33 +02:00
|
|
|
|
2017-06-22 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/21090
|
2017-06-22 19:07:53 +02:00
|
|
|
|
* testsuite/ld-i386/i386.exp: Pass $NOPIE_CFLAGS and
|
|
|
|
|
$NOPIE_LDFLAGS to "Run pr19031".
|
|
|
|
|
|
|
|
|
|
2017-06-22 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/21090
|
|
|
|
|
* testsuite/ld-gc/gc.exp: Compile tmpdir/pr14265.o with
|
2017-06-22 18:53:33 +02:00
|
|
|
|
$NOPIE_CFLAGS.
|
|
|
|
|
* testsuite/ld-i386/i386.exp: Pass $NOPIE_CFLAGS and
|
|
|
|
|
$NOPIE_LDFLAGS if non-PIE is required.
|
|
|
|
|
* testsuite/ld-i386/no-plt.exp (NOPIE_CFLAGS): New.
|
|
|
|
|
(NOPIE_LDFLAGS): Likewise.
|
|
|
|
|
Pass $NOPIE_LDFLAGS if non-PIE is required.
|
|
|
|
|
* testsuite/ld-shared/shared.exp: Compile tmpdir/sh1np.o with
|
|
|
|
|
$NOPIE_CFLAGS.
|
|
|
|
|
|
2017-06-22 14:50:20 +02:00
|
|
|
|
2017-06-22 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* NEWS: Mention -z shstk and GNU_PROPERTY_X86_FEATURE_1_SHSTK.
|
|
|
|
|
* emulparams/cet.sh (PARSE_AND_LIST_OPTIONS_CET): Add "-z shstk".
|
|
|
|
|
(PARSE_AND_LIST_ARGS_CASE_Z_CET): Support "-z shstk".
|
|
|
|
|
* ld.texinfo: Document -z shstk.
|
|
|
|
|
* testsuite/ld-i386/i386.exp: Run SHSTK tests.
|
|
|
|
|
* testsuite/ld-x86-64/x86-64.exp: Likewise.
|
|
|
|
|
* testsuite/ld-i386/property-x86-shstk.s: New file.
|
|
|
|
|
* testsuite/ld-i386/property-x86-shstk1a.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/property-x86-shstk1b.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/property-x86-shstk2.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/property-x86-shstk3a.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/property-x86-shstk3b.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/property-x86-shstk4.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/property-x86-shstk5.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-shstk.s: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-shstk1a-x32.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-shstk1a.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-shstk1b-x32.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-shstk1b.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-shstk2-x32.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-shstk2.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-shstk3a-x32.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-shstk3a.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-shstk3b-x32.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-shstk3b.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-shstk4-x32.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-shstk4.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-shstk5-x32.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-shstk5.d: Likewise.
|
|
|
|
|
|
x86: Support Intel IBT with IBT property and IBT-enable PLT
To support IBT in Intel Control-flow Enforcement Technology (CET)
instructions:
https://software.intel.com/sites/default/files/managed/4d/2a/control-flow-enforcement-technology-preview.pdf
#define GNU_PROPERTY_X86_FEATURE_1_AND 0xc0000002
#define GNU_PROPERTY_X86_FEATURE_1_IBT (1U << 0)
are added to GNU program properties to indicate that all executable
sections are compatible with IBT when ENDBR instruction starts each
valid target where an indirect branch instruction can land.
GNU_PROPERTY_X86_FEATURE_1_IBT is set on output only if it is set on
all relocatable inputs.
The followings changes are made to the Procedure Linkage Table (PLT):
1. For 64-bit x86-64, PLT is changed to
PLT0: push GOT[1]
bnd jmp *GOT[2]
nop
...
PLTn: endbr64
push namen_reloc_index
bnd jmp PLT0
together with the second PLT section:
PLTn: endbr64
bnd jmp *GOT[namen_index]
nop
BND prefix is also added so that IBT-enabled PLT is compatible with MPX.
2. For 32-bit x86-64 (x32) and i386, PLT is changed to
PLT0: push GOT[1]
jmp *GOT[2]
nop
...
PLTn: endbr64 # endbr32 for i386.
push namen_reloc_index
jmp PLT0
together with the second PLT section:
PLTn: endbr64 # endbr32 for i386.
jmp *GOT[namen_index]
nop
BND prefix isn't used since MPX isn't supported on x32 and BND registers
aren't used in parameter passing on i386.
GOT is an array of addresses. Initially, GOT[namen_index] is filled
with the address of the ENDBR instruction of the corresponding entry
in the first PLT section. The function, namen, is called via the
ENDBR instruction in the second PLT entry. GOT[namen_index] is updated
to the actual address of the function, namen, at run-time.
2 linker command line options are added:
1. -z ibtplt: Generate IBT-enabled PLT.
2. -z ibt: Generate GNU_PROPERTY_X86_FEATURE_1_IBT in GNU program
properties as well as IBT-enabled PLT.
bfd/
* elf32-i386.c (elf_i386_lazy_ibt_plt0_entry): New.
(elf_i386_lazy_ibt_plt_entry): Likewise.
(elf_i386_pic_lazy_ibt_plt0_entry): Likewise.
(elf_i386_non_lazy_ibt_plt_entry): Likewise.
(elf_i386_pic_non_lazy_ibt_plt_entry): Likewise.
(elf_i386_eh_frame_lazy_ibt_plt): Likewise.
(elf_i386_lazy_plt_layout): Likewise.
(elf_i386_non_lazy_plt_layout): Likewise.
(elf_i386_link_hash_entry): Add plt_second.
(elf_i386_link_hash_table): Add plt_second and
plt_second_eh_frame.
(elf_i386_allocate_dynrelocs): Use the second PLT if needed.
(elf_i386_size_dynamic_sections): Use .plt.got unwind info for
the second PLT. Check the second PLT.
(elf_i386_relocate_section): Use the second PLT to resolve
PLT reference if needed.
(elf_i386_finish_dynamic_symbol): Fill and use the second PLT if
needed.
(elf_i386_finish_dynamic_sections): Set sh_entsize on the
second PLT. Generate unwind info for the second PLT.
(elf_i386_plt_type): Add plt_second.
(elf_i386_get_synthetic_symtab): Support the second PLT.
(elf_i386_parse_gnu_properties): Support
GNU_PROPERTY_X86_FEATURE_1_AND.
(elf_i386_merge_gnu_properties): Support
GNU_PROPERTY_X86_FEATURE_1_AND. If info->ibt is set, turn
on GNU_PROPERTY_X86_FEATURE_1_IBT
(elf_i386_link_setup_gnu_properties): If info->ibt is set,
turn on GNU_PROPERTY_X86_FEATURE_1_IBT. Use IBT-enabled PLT
for info->ibtplt, info->ibt or GNU_PROPERTY_X86_FEATURE_1_IBT
is set on all relocatable inputs.
* elf64-x86-64.c (elf_x86_64_lazy_ibt_plt_entry): New.
(elf_x32_lazy_ibt_plt_entry): Likewise.
(elf_x86_64_non_lazy_ibt_plt_entry): Likewise.
(elf_x32_non_lazy_ibt_plt_entry): Likewise.
(elf_x86_64_eh_frame_lazy_ibt_plt): Likewise.
(elf_x32_eh_frame_lazy_ibt_plt): Likewise.
(elf_x86_64_lazy_ibt_plt): Likewise.
(elf_x32_lazy_ibt_plt): Likewise.
(elf_x86_64_non_lazy_ibt_plt): Likewise.
(elf_x32_non_lazy_ibt_plt): Likewise.
(elf_x86_64_get_synthetic_symtab): Support the second PLT.
(elf_x86_64_parse_gnu_properties): Support
GNU_PROPERTY_X86_FEATURE_1_AND.
(elf_x86_64_merge_gnu_properties): Support
GNU_PROPERTY_X86_FEATURE_1_AND. If info->ibt is set, turn
on GNU_PROPERTY_X86_FEATURE_1_IBT
(elf_x86_64_link_setup_gnu_properties): If info->ibt is set,
turn on GNU_PROPERTY_X86_FEATURE_1_IBT. Use IBT-enabled PLT
for info->ibtplt, info->ibt or GNU_PROPERTY_X86_FEATURE_1_IBT
is set on all relocatable inputs.
binutils/
* readelf.c (decode_x86_feature): New.
(print_gnu_property_note): Call decode_x86_feature on
GNU_PROPERTY_X86_FEATURE_1_AND.
* testsuite/binutils-all/i386/empty.d: New file.
* testsuite/binutils-all/i386/empty.s: Likewise.
* testsuite/binutils-all/i386/ibt.d: Likewise.
* testsuite/binutils-all/i386/ibt.s: Likewise.
* testsuite/binutils-all/x86-64/empty-x32.d: Likewise.
* testsuite/binutils-all/x86-64/empty.d: Likewise.
* testsuite/binutils-all/x86-64/empty.s: Likewise.
* testsuite/binutils-all/x86-64/ibt-x32.d: Likewise.
* testsuite/binutils-all/x86-64/ibt.d: Likewise.
* testsuite/binutils-all/x86-64/ibt.s: Likewise.
include/
* bfdlink.h (bfd_link_info): Add ibtplt and ibt.
* elf/common.h (GNU_PROPERTY_X86_FEATURE_1_AND): New.
(GNU_PROPERTY_X86_FEATURE_1_IBT): Likewise.
ld/
* Makefile.am (ELF_X86_DEPS): Add $(srcdir)/emulparams/cet.sh.
* Makefile.in: Regenerated.
* NEWS: Mention GNU_PROPERTY_X86_FEATURE_1_IBT, -z ibtplt
and -z ibt.
* emulparams/cet.sh: New file.
* testsuite/ld-i386/ibt-plt-1.d: Likewise.
* testsuite/ld-i386/ibt-plt-1.s: Likewise.
* testsuite/ld-i386/ibt-plt-2.s: Likewise.
* testsuite/ld-i386/ibt-plt-2a.d: Likewise.
* testsuite/ld-i386/ibt-plt-2b.d: Likewise.
* testsuite/ld-i386/ibt-plt-2c.d: Likewise.
* testsuite/ld-i386/ibt-plt-2d.d: Likewise.
* testsuite/ld-i386/ibt-plt-3.s: Likewise.
* testsuite/ld-i386/ibt-plt-3a.d: Likewise.
* testsuite/ld-i386/ibt-plt-3b.d: Likewise.
* testsuite/ld-i386/ibt-plt-3c.d: Likewise.
* testsuite/ld-i386/ibt-plt-3d.d: Likewise.
* testsuite/ld-i386/plt-main-ibt.dd: Likewise.
* testsuite/ld-i386/plt-pie-ibt.dd: Likewise.
* testsuite/ld-i386/property-x86-empty.s: Likewise.
* testsuite/ld-i386/property-x86-ibt.s: Likewise.
* testsuite/ld-i386/property-x86-ibt1a.d: Likewise.
* testsuite/ld-i386/property-x86-ibt1b.d: Likewise.
* testsuite/ld-i386/property-x86-ibt2.d: Likewise.
* testsuite/ld-i386/property-x86-ibt3a.d: Likewise.
* testsuite/ld-i386/property-x86-ibt3b.d: Likewise.
* testsuite/ld-i386/property-x86-ibt4.d: Likewise.
* testsuite/ld-i386/property-x86-ibt5.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-1-x32.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-1.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-1.s: Likewise.
* testsuite/ld-x86-64/ibt-plt-2.s: Likewise.
* testsuite/ld-x86-64/ibt-plt-2a-x32.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-2a.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-2b-x32.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-2b.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-2c-x32.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-2c.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-2d-x32.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-2d.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-3.s: Likewise.
* testsuite/ld-x86-64/ibt-plt-3a-x32.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-3a.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-3b-x32.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-3b.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-3c-x32.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-3c.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-3d-x32.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-3d.d: Likewise.
* testsuite/ld-x86-64/plt-main-ibt-now.rd: Likewise.
* testsuite/ld-x86-64/plt-main-ibt-x32.dd: Likewise.
* testsuite/ld-x86-64/plt-main-ibt.dd: Likewise.
* testsuite/ld-x86-64/property-x86-empty.s: Likewise.
* testsuite/ld-x86-64/property-x86-ibt.s: Likewise.
* testsuite/ld-x86-64/property-x86-ibt1a-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-ibt1a.d: Likewise.
* testsuite/ld-x86-64/property-x86-ibt1b-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-ibt1b.d: Likewise.
* testsuite/ld-x86-64/property-x86-ibt2-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-ibt2.d: Likewise.
* testsuite/ld-x86-64/property-x86-ibt3a-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-ibt3a.d: Likewise.
* testsuite/ld-x86-64/property-x86-ibt3b-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-ibt3b.d: Likewise.
* testsuite/ld-x86-64/property-x86-ibt4-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-ibt4.d: Likewise.
* testsuite/ld-x86-64/property-x86-ibt5-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-ibt5.d: Likewise.
* emulparams/elf32_x86_64.sh: Source emulparams/cet.sh.
(TINY_READONLY_SECTION): Add .plt.sec.
* emulparams/elf_i386.sh: Likewise.
* emulparams/elf_x86_64.sh: Source emulparams/cet.sh.
* ld.texinfo: Document -z ibtplt and -z ibt.
* testsuite/ld-i386/i386.exp: Run IBT and IBT PLT tests.
* testsuite/ld-x86-64/x86-64.exp: Likewise.
* testsuite/ld-x86-64/pr21481b.S (check): Updated for x32.
2017-06-22 14:44:37 +02:00
|
|
|
|
2017-06-22 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.am (ELF_X86_DEPS): Add $(srcdir)/emulparams/cet.sh.
|
|
|
|
|
* Makefile.in: Regenerated.
|
|
|
|
|
* NEWS: Mention GNU_PROPERTY_X86_FEATURE_1_IBT, -z ibtplt
|
|
|
|
|
and -z ibt.
|
|
|
|
|
* emulparams/cet.sh: New file.
|
|
|
|
|
* testsuite/ld-i386/ibt-plt-1.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/ibt-plt-1.s: Likewise.
|
|
|
|
|
* testsuite/ld-i386/ibt-plt-2.s: Likewise.
|
|
|
|
|
* testsuite/ld-i386/ibt-plt-2a.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/ibt-plt-2b.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/ibt-plt-2c.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/ibt-plt-2d.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/ibt-plt-3.s: Likewise.
|
|
|
|
|
* testsuite/ld-i386/ibt-plt-3a.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/ibt-plt-3b.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/ibt-plt-3c.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/ibt-plt-3d.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/plt-main-ibt.dd: Likewise.
|
|
|
|
|
* testsuite/ld-i386/plt-pie-ibt.dd: Likewise.
|
|
|
|
|
* testsuite/ld-i386/property-x86-empty.s: Likewise.
|
|
|
|
|
* testsuite/ld-i386/property-x86-ibt.s: Likewise.
|
|
|
|
|
* testsuite/ld-i386/property-x86-ibt1a.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/property-x86-ibt1b.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/property-x86-ibt2.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/property-x86-ibt3a.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/property-x86-ibt3b.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/property-x86-ibt4.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/property-x86-ibt5.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/ibt-plt-1-x32.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/ibt-plt-1.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/ibt-plt-1.s: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/ibt-plt-2.s: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/ibt-plt-2a-x32.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/ibt-plt-2a.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/ibt-plt-2b-x32.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/ibt-plt-2b.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/ibt-plt-2c-x32.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/ibt-plt-2c.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/ibt-plt-2d-x32.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/ibt-plt-2d.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/ibt-plt-3.s: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/ibt-plt-3a-x32.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/ibt-plt-3a.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/ibt-plt-3b-x32.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/ibt-plt-3b.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/ibt-plt-3c-x32.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/ibt-plt-3c.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/ibt-plt-3d-x32.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/ibt-plt-3d.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/plt-main-ibt-now.rd: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/plt-main-ibt-x32.dd: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/plt-main-ibt.dd: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-empty.s: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-ibt.s: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-ibt1a-x32.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-ibt1a.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-ibt1b-x32.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-ibt1b.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-ibt2-x32.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-ibt2.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-ibt3a-x32.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-ibt3a.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-ibt3b-x32.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-ibt3b.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-ibt4-x32.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-ibt4.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-ibt5-x32.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-ibt5.d: Likewise.
|
|
|
|
|
* emulparams/elf32_x86_64.sh: Source emulparams/cet.sh.
|
|
|
|
|
(TINY_READONLY_SECTION): Add .plt.sec.
|
|
|
|
|
* emulparams/elf_i386.sh: Likewise.
|
|
|
|
|
* emulparams/elf_x86_64.sh: Source emulparams/cet.sh.
|
|
|
|
|
* ld.texinfo: Document -z ibtplt and -z ibt.
|
|
|
|
|
* testsuite/ld-i386/i386.exp: Run IBT and IBT PLT tests.
|
|
|
|
|
* testsuite/ld-x86-64/x86-64.exp: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr21481b.S (check): Updated for x32.
|
|
|
|
|
|
2017-06-22 00:22:05 +02:00
|
|
|
|
2017-06-21 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/21090
|
|
|
|
|
* testsuite/ld-elf/shared.exp: Pass $NOPIE_CFLAGS and
|
|
|
|
|
$NOPIE_LDFLAGS if non-PIE is required.
|
|
|
|
|
|
2017-06-21 23:57:53 +02:00
|
|
|
|
2017-06-21 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/21090
|
|
|
|
|
* testsuite/ld-scripts/crossref.exp: Also pass $NOPIE_CFLAGS
|
|
|
|
|
to CC.
|
|
|
|
|
|
2017-06-21 23:45:16 +02:00
|
|
|
|
2017-06-21 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/21090
|
|
|
|
|
* testsuite/ld-size/size.exp: Pass $NOPIE_LDFLAGS to size-4a,
|
|
|
|
|
size-4b, size-5a, size-5b, size-6 and size-8 tests.
|
2017-06-21 23:49:30 +02:00
|
|
|
|
* testsuite/ld-srec/srec.exp (NOPIE_CFLAGS): New.
|
|
|
|
|
(NOPIE_LDFLAGS): Likewise.
|
|
|
|
|
(CC): Add $NOPIE_CFLAGS $NOPIE_LDFLAGS.
|
|
|
|
|
(CXX): Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/no-plt.exp (NOPIE_CFLAGS): New.
|
|
|
|
|
(NOPIE_LDFLAGS): Likewise.
|
|
|
|
|
Pass $NOPIE_LDFLAGS to "No PLT (dynamic 1a)",
|
|
|
|
|
"No PLT (dynamic 1c)" and "Run pr20253-2f".
|
|
|
|
|
* testsuite/ld-x86-64/x86-64.exp: Pass $NOPIE_LDFLAGS to
|
|
|
|
|
"Build gotpcrel1" and "Run pr19031".
|
2017-06-21 23:45:16 +02:00
|
|
|
|
|
2017-06-20 02:00:23 +02:00
|
|
|
|
2017-06-21 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-powerpc/powerpc.exp: Run TOCSAVE tests.
|
|
|
|
|
* testsuite/ld-powerpc/tocsave1.s,
|
|
|
|
|
* testsuite/ld-powerpc/tocsave1a.d,
|
|
|
|
|
* testsuite/ld-powerpc/tocsave1s.d,
|
|
|
|
|
* testsuite/ld-powerpc/tocsave2.s,
|
|
|
|
|
* testsuite/ld-powerpc/tocsave2a.d,
|
|
|
|
|
* testsuite/ld-powerpc/tocsave2s.d,
|
|
|
|
|
* testsuite/ld-powerpc/tocsavelib.s: New files.
|
|
|
|
|
|
2017-06-26 11:07:17 +02:00
|
|
|
|
2017-06-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.in: Add s390.em as build dependency.
|
|
|
|
|
* emulparams/elf64_s390.sh (EXTRA_EM_FILE): Add s390.em.
|
|
|
|
|
* emultempl/s390.em: New file.
|
|
|
|
|
* gen-doc.texi: Add documentation for --s390-pgste option.
|
|
|
|
|
* ld.texinfo: Likewise.
|
|
|
|
|
|
2017-06-20 05:30:20 +02:00
|
|
|
|
2017-06-19 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/21626
|
|
|
|
|
* testsuite/ld-i386/i386.exp: Run ld/21626 tests.
|
|
|
|
|
* testsuite/ld-x86-64/x86-64.exp: Likewise.
|
|
|
|
|
|
2017-06-18 01:49:34 +02:00
|
|
|
|
2017-06-18 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/lib/ld-lib.exp (is_underscore_target): New.
|
|
|
|
|
* testsuite/ld-elf/elf.exp (ASFLAGS): Define UNDERSCORE.
|
|
|
|
|
* testsuite/ld-elf/pr21562a.s: If UNDERSCORE defined,
|
|
|
|
|
reference sym with prefix.
|
|
|
|
|
* testsuite/ld-elf/pr21562b.s: Likewise.
|
|
|
|
|
* testsuite/ld-elf/sizeof.s: Likewise.
|
|
|
|
|
* testsuite/ld-elf/startof.s: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr14156a.d: Adjust for extra symbols.
|
|
|
|
|
* testsuite/ld-elf/pr21562a.d: Remove underscore target from
|
|
|
|
|
xfails, and match prefixed symbol.
|
|
|
|
|
* testsuite/ld-elf/pr21562b.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562c.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562d.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562e.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562f.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562g.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562h.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562i.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562j.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562k.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562l.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562m.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562n.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/sizeofa.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/sizeofb.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/sizeofc.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/startofa.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/startofb.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/startofc.d: Likewise.
|
|
|
|
|
|
Rewrite __start and __stop symbol handling
This arranges for __start and __stop symbols to be defined before
garbage collection, for all target formats. That should allow the
COFF and PE --gc-sections to keep a singleton orphan input section,
a feature lost by 2017-06-13 commit cbd0eecf26. The fancier ELF
treatment of keeping all input sections associated with a __start or
__stop symbol, from 2015-10-23 commit 1cce69b9dc, is retained.
.startof. and .sizeof. symbols are deliberately not defined before
garbage collection, so these won't affect garbage collection of
sections.
The patch also ensures __start, __stop, .startof. and .sizeof. symbols
are defined before target size_dynamic_sections is called, albeit
with a preliminary value, so that target code doesn't need to cope
with a symbol changing from undefined at size_dynamic_sections to
defined at relocate_section.
Also, a number of problems with the testcases have been fixed.
PR ld/20022
PR ld/21557
PR ld/21562
PR ld/21571
include/
* bfdlink.h (struct bfd_link_hash_entry): Delete undef.section.
bfd/
* targets.c (struct bfd_target): Add _bfd_define_start_stop.
(BFD_JUMP_TABLE_LINK): Likewise.
* elf-bfd.h (bfd_elf_define_start_stop): Declare.
* elflink.c (_bfd_elf_gc_mark_rsec): Update comment.
(bfd_elf_define_start_stop): New function.
* linker.c (bfd_generic_define_start_stop): New function.
* coff64-rs6000.c (rs6000_xcoff64_vec, rs6000_xcoff64_aix_vec): Init
new field.
* aout-adobe.c (aout_32_bfd_define_start_stop): Define.
* aout-target.h (MY_bfd_define_start_stop): Define.
* aout-tic30.c (MY_bfd_define_start_stop): Define.
* binary.c (binary_bfd_define_start_stop): Define.
* bout.c (b_out_bfd_define_start_stop): Define.
* coff-alpha.c (_bfd_ecoff_bfd_define_start_stop): Define.
* coff-mips.c (_bfd_ecoff_bfd_define_start_stop): Define.
* coff-rs6000.c (_bfd_xcoff_bfd_define_start_stop): Define.
* coffcode.h (coff_bfd_define_start_stop): Define.
* elfxx-target.h (bfd_elfNN_bfd_define_start_stop): Define.
* i386msdos.c (msdos_bfd_define_start_stop): Define.
* i386os9k.c (os9k_bfd_define_start_stop): Define.
* ieee.c (ieee_bfd_define_start_stop): Define.
* ihex.c (ihex_bfd_define_start_stop): Define.
* libbfd-in.h (_bfd_nolink_bfd_define_start_stop): Define.
* mach-o-target.c (bfd_mach_o_bfd_define_start_stop): Define.
* mmo.c (mmo_bfd_define_start_stop): Define.
* nlm-target.h (nlm_bfd_define_start_stop): Define.
* oasys.c (oasys_bfd_define_start_stop): Define.
* pef.c (bfd_pef_bfd_define_start_stop): Define.
* plugin.c (bfd_plugin_bfd_define_start_stop): Define.
* ppcboot.c (ppcboot_bfd_define_start_stop): Define.
* som.c (som_bfd_define_start_stop): Define.
* srec.c (srec_bfd_define_start_stop): Define.
* tekhex.c (tekhex_bfd_define_start_stop): Define.
* versados.c (versados_bfd_define_start_stop): Define.
* vms-alpha.c (vms_bfd_define_start_stop): Define.
(alpha_vms_bfd_define_start_stop): Define.
* xsym.c (bfd_sym_bfd_define_start_stop): Define.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
ld/
* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Don't set
__start/__stop syms here.
* ldlang.c (lang_set_startof): Delete.
(start_stop_syms, start_stop_count, start_stop_alloc): New vars.
(lang_define_start_stop, lang_init_start_stop, foreach_start_stop,
undef_start_stop, lang_undef_start_stop, lang_init_startof_sizeof,
set_start_stop, lang_finalize_start_stop): New functions.
(lang_process): Call _start_stop functions.
* testsuite/ld-elf/pr21562a.d: Use xfail rather than notarget.
Correct typos and list of xfail targets.
* testsuite/ld-elf/pr21562b.d: Likewise.
* testsuite/ld-elf/pr21562c.d: Likewise.
* testsuite/ld-elf/pr21562d.d: Likewise.
* testsuite/ld-elf/pr21562e.d: Likewise.
* testsuite/ld-elf/pr21562f.d: Likewise.
* testsuite/ld-elf/pr21562g.d: Likewise.
* testsuite/ld-elf/pr21562h.d: Likewise.
* testsuite/ld-elf/pr21562i.d: Likewise.
* testsuite/ld-elf/pr21562j.d: Likewise.
* testsuite/ld-elf/pr21562k.d: Likewise.
* testsuite/ld-elf/pr21562l.d: Likewise.
* testsuite/ld-elf/pr21562m.d: Likewise.
* testsuite/ld-elf/pr21562n.d: Likewise.
* testsuite/ld-elf/sizeofa.d: Likewise. Adjust to pass for generic ELF.
* testsuite/ld-elf/sizeofb.d: Likewise.
* testsuite/ld-elf/startofa.d: Likewise.
* testsuite/ld-elf/startofb.d: Likewise.
2017-06-16 12:11:41 +02:00
|
|
|
|
2017-06-16 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR ld/20022
|
|
|
|
|
PR ld/21557
|
|
|
|
|
PR ld/21562
|
|
|
|
|
PR ld/21571
|
|
|
|
|
* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Don't set
|
|
|
|
|
__start/__stop syms here.
|
|
|
|
|
* ldlang.c (lang_set_startof): Delete.
|
|
|
|
|
(start_stop_syms, start_stop_count, start_stop_alloc): New vars.
|
|
|
|
|
(lang_define_start_stop, lang_init_start_stop, foreach_start_stop,
|
|
|
|
|
undef_start_stop, lang_undef_start_stop, lang_init_startof_sizeof,
|
|
|
|
|
set_start_stop, lang_finalize_start_stop): New functions.
|
|
|
|
|
(lang_process): Call _start_stop functions.
|
|
|
|
|
* testsuite/ld-elf/pr21562a.d: Use xfail rather than notarget.
|
|
|
|
|
Correct typos and list of xfail targets.
|
|
|
|
|
* testsuite/ld-elf/pr21562b.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562c.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562d.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562e.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562f.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562g.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562h.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562i.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562j.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562k.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562l.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562m.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562n.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/sizeofa.d: Likewise. Adjust to pass for generic ELF.
|
|
|
|
|
* testsuite/ld-elf/sizeofb.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/startofa.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/startofb.d: Likewise.
|
|
|
|
|
|
2017-06-16 15:20:38 +02:00
|
|
|
|
2017-06-16 Jiong Wang <jiong.wang@arm.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-aarch64/aarch64-elf.exp: Update test name
|
|
|
|
|
* testsuite/ld-aarch64/pcrel.s: Add new testcases.
|
|
|
|
|
* testsuite/ld-aarch64/pcrel_pic_undefined.d: Update the expected
|
|
|
|
|
warnings.
|
|
|
|
|
* testsuite/ld-aarch64/pcrel_pic_defined_local.d: Rename ...
|
|
|
|
|
* testsuite/ld-aarch64/pcrel_pic_defined.d: ... to this.
|
|
|
|
|
Update expected warnings.
|
|
|
|
|
|
2017-06-15 21:30:53 +02:00
|
|
|
|
2017-06-15 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* exsup.c (elf_shlib_list_options): Display "-z stack-size=SIZE"
|
|
|
|
|
instead of "-z stacksize=SIZE".
|
|
|
|
|
|
2017-06-15 17:51:01 +02:00
|
|
|
|
2017-06-15 Jiong Wang <jiong.wang@arm.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-aarch64/copy-reloc-exe-2.s: New test source file.
|
|
|
|
|
* testsuite/ld-aarch64/copy-reloc-2.d: New test.
|
|
|
|
|
* testsuite/ld-aarch64/copy-reloc-exe-eliminate.s: New test source file.
|
|
|
|
|
* testsuite/ld-aarch64/copy-reloc-eliminate.d: New test.
|
|
|
|
|
* testsuite/ld-aarch64/copy-reloc-so.s: Define new global objects.
|
|
|
|
|
* testsuite/ld-aarch64/aarch64-elf.exp: Run new tests.
|
|
|
|
|
|
2017-06-14 17:50:03 +02:00
|
|
|
|
2017-06-14 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/21580
|
|
|
|
|
* testsuite/ld-nds32/diff.d: Adjust expected output.
|
|
|
|
|
|
2017-06-14 15:11:48 +02:00
|
|
|
|
2017-06-14 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/20022
|
|
|
|
|
* testsuite/ld-gc/pr20022.d: Skip on targets without dynamic
|
|
|
|
|
relocations in .text section.
|
|
|
|
|
|
2017-06-14 13:36:17 +02:00
|
|
|
|
2017-06-14 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/pr21562a.d: Skip on targets with leading char
|
|
|
|
|
in in symbol name or without --gc-sections.
|
|
|
|
|
* testsuite/ld-elf/pr21562b.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562c.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562d.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562i.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562j.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562k.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562l.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562m.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562n.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562e.d: Skip on targets with leading char
|
|
|
|
|
in symbol name.
|
|
|
|
|
* testsuite/ld-elf/pr21562f.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562g.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562h.d: Likewise.
|
|
|
|
|
|
2017-06-14 14:51:59 +02:00
|
|
|
|
2017-06-14 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-gc/pr20022a.s: Add size to bar.
|
|
|
|
|
|
2017-06-14 14:49:02 +02:00
|
|
|
|
2017-06-14 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/sizeofa.d: Skip on targets with leading char
|
|
|
|
|
in symbol name.
|
|
|
|
|
* testsuite/ld-elf/sizeofb.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/startofa.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/startofb.d: Likewise.
|
|
|
|
|
|
2017-06-14 13:23:39 +02:00
|
|
|
|
2017-06-14 Georg-Johann Lay <gjl@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
PR ld/21583
|
|
|
|
|
* scripttempl/avr.sc (.jumptables): Move down in text section.
|
|
|
|
|
(.hightext): New in text.
|
|
|
|
|
|
2017-06-13 07:48:40 +02:00
|
|
|
|
2017-06-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
|
|
|
|
|
|
|
|
|
* configure.tgt (epiphany-*-elf): Accept epiphany-*-*.
|
|
|
|
|
|
2017-06-13 22:04:56 +02:00
|
|
|
|
2017-06-13 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* ldlang.c (lang_set_startof): Skip if config.build_constructors
|
|
|
|
|
is FALSE.
|
|
|
|
|
* testsuite/ld-elf/sizeofc.d: New file.
|
|
|
|
|
* testsuite/ld-elf/startofc.d: Likewise.
|
|
|
|
|
|
2017-06-13 21:03:40 +02:00
|
|
|
|
2017-06-13 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/sizeof.d: Renamed to ...
|
|
|
|
|
* testsuite/ld-elf/sizeofa.d: This. Updated.
|
|
|
|
|
* testsuite/ld-elf/startof.d: Renamed to ...
|
|
|
|
|
* testsuite/ld-elf/startofa.d: This. Updated.
|
|
|
|
|
* testsuite/ld-elf/sizeofb.d: New file.
|
|
|
|
|
* testsuite/ld-elf/startofb.d: Likewise.
|
|
|
|
|
|
2017-06-13 17:53:22 +02:00
|
|
|
|
2017-06-13 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/20022
|
|
|
|
|
PR ld/21557
|
|
|
|
|
PR ld/21562
|
|
|
|
|
PR ld/21571
|
|
|
|
|
* ld.texinfo: Update __start_SECNAME/__stop_SECNAME symbols.
|
|
|
|
|
* ldlang.c (lang_insert_orphan): Move handling of __start_SECNAME
|
|
|
|
|
and __stop_SECNAME symbols to ...
|
|
|
|
|
(lang_set_startof): Here. Also define __start_SECNAME and
|
|
|
|
|
__stop_SECNAME for -Ur.
|
|
|
|
|
* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Mark
|
|
|
|
|
referenced __start_SECNAME and __stop_SECNAME symbols as hidden
|
|
|
|
|
and set start_stop for garbage collection.
|
|
|
|
|
* testsuite/ld-elf/pr21562a.d: New file.
|
|
|
|
|
* testsuite/ld-elf/pr21562a.s: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562a.t: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562b.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562b.s: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562b.t: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562c.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562c.t: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562d.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562d.t: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562e.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562f.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562g.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562h.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562i.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562j.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562k.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562l.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562m.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21562n.d: Likewise.
|
|
|
|
|
* testsuite/ld-gc/pr20022.d: Likewise.
|
|
|
|
|
* testsuite/ld-gc/pr20022a.s: Likewise.
|
|
|
|
|
* testsuite/ld-gc/pr20022b.s: Likewise.
|
|
|
|
|
* testsuite/ld-gc/gc.exp: Run PR ld/20022 tests.
|
|
|
|
|
* testsuite/ld-gc/pr19161.d: Also accept local __start_SECNAME
|
|
|
|
|
symbol.
|
|
|
|
|
* testsuite/ld-gc/start.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/lea1a.d: Updated.
|
|
|
|
|
* testsuite/ld-x86-64/lea1b.d: Updated.
|
|
|
|
|
* testsuite/ld-x86-64/lea1d.d: Updated.
|
|
|
|
|
* testsuite/ld-x86-64/lea1e.d: Likewise.
|
|
|
|
|
|
2017-06-13 17:18:19 +02:00
|
|
|
|
2017-06-13 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/sizeof.d: New file.
|
|
|
|
|
* testsuite/ld-elf/sizeof.s: Likewise.
|
|
|
|
|
* testsuite/ld-elf/startof.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/startof.s: Likewise.
|
|
|
|
|
|
2017-06-13 15:03:47 +02:00
|
|
|
|
2017-06-13 Renlin Li <renlin.li@arm.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/shared.exp (build_tests): Add --no-dynamic-linker
|
|
|
|
|
option to rdynamic-1 and dynamic-1 tests.
|
|
|
|
|
|
2017-06-09 19:43:43 +02:00
|
|
|
|
2017-06-09 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-3-x32.d: New file.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-4a-x32.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-4b-x32.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-3.d: Also pass
|
|
|
|
|
-defsym __64_bit__=1 to asssembler.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-4a.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-4b.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-3.s: Align to 4 bytes if
|
|
|
|
|
__64_bit__ isn't defined.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-4a.s: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-4b.s: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/x86-64.exp: Run property-x86-3-x32,
|
|
|
|
|
property-x86-4a-x32 and property-x86-4b-x32.
|
|
|
|
|
|
2016-12-29 17:10:01 +01:00
|
|
|
|
2017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-arc/tls_ie-01.d: Changed expected result.
|
|
|
|
|
|
2017-06-08 12:48:04 +02:00
|
|
|
|
2017-06-08 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-1-local-x86.d: Pass
|
|
|
|
|
"-Map tmpdir/ifunc-1-local-x86.map" to ld and check
|
|
|
|
|
ifunc-1-local-x86.map.
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-1-x86.d: Pass
|
|
|
|
|
"-Map tmpdir/ifunc-1-x86.map" to ld and check ifunc-1-x86.map.
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-1-local-x86.map: New file.
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-1-x86.map: Likewise.
|
|
|
|
|
|
2017-06-07 07:52:58 +02:00
|
|
|
|
2017-06-07 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-unique/pr21529.d: xfail aarch64, arm, hppa, ia64,
|
|
|
|
|
nds32, and score. Match any output.
|
|
|
|
|
|
2017-06-06 11:15:27 +02:00
|
|
|
|
2017-06-06 Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* ld.h (struct args_type): Fix typo in comment.
|
|
|
|
|
|
ld: Allow section groups to be resolved as part of a relocatable link
This commit adds a new linker feature: the ability to resolve section
groups as part of a relocatable link.
Currently section groups are automatically resolved when performing a
final link, and are carried through when performing a relocatable link.
By carried through this means that one copy of each section group (from
all the copies that might be found in all the input files) is placed
into the output file. Sections that are part of a section group will
not match input section specifiers within a linker script and are
forcibly kept as separate sections.
There is a slight resemblance between section groups and common
section. Like section groups, common sections are carried through when
performing a relocatable link, and resolved (allocated actual space)
only at final link time.
However, with common sections there is an ability to force the linker to
allocate space for the common sections when performing a relocatable
link, there's currently no such ability for section groups.
This commit adds such a mechanism. This new facility can be accessed in
two ways, first there's a command line switch --force-group-allocation,
second, there's a new linker script command FORCE_GROUP_ALLOCATION. If
one of these is used when performing a relocatable link then the linker
will resolve the section groups as though it were performing a final
link, the section group will be deleted, and the members of the group
will be placed like normal input sections. If there are multiple copies
of the group (from multiple input files) then only one copy of the group
members will be placed, the duplicate copies will be discarded.
Unlike common sections that have the --no-define-common command line
flag, and INHIBIT_COMMON_ALLOCATION linker script command there is no
way to prevent group resolution during a final link, this is because the
ELF gABI specifically prohibits the presence of SHT_GROUP sections in a
fully linked executable. However, the code as written should make
adding such a feature trivial, setting the new resolve_section_groups
flag to false during a final link should work as you'd expect.
bfd/ChangeLog:
* elf.c (_bfd_elf_make_section_from_shdr): Don't initially mark
SEC_GROUP sections as SEC_EXCLUDE.
(bfd_elf_set_group_contents): Replace use of abort with an assert.
(assign_section_numbers): Use resolve_section_groups flag instead
of relocatable link type.
(_bfd_elf_init_private_section_data): Use resolve_section_groups
flag instead of checking the final_link flag for part of the
checks in here. Fix white space as a result.
* elflink.c (elf_link_input_bfd): Use resolve_section_groups flag
instead of relocatable link type.
(bfd_elf_final_link): Likewise.
include/ChangeLog:
* bfdlink.h (struct bfd_link_info): Add new resolve_section_groups
flag.
ld/ChangeLog:
* ld.h (struct args_type): Add force_group_allocation field.
* ldgram.y: Add support for FORCE_GROUP_ALLOCATION.
* ldlex.h: Likewise.
* ldlex.l: Likewise.
* lexsup.c: Likewise.
* ldlang.c (unique_section_p): Check resolve_section_groups flag
not the relaxable link flag.
(lang_add_section): Discard section groups when we're resolving
groups. Clear the SEC_LINK_ONCE flag if we're resolving section
groups.
* ldmain.c (main): Initialise resolve_section_groups flag in
link_info based on command line flags.
* testsuite/ld-elf/group11.d: New file.
* testsuite/ld-elf/group12.d: New file.
* testsuite/ld-elf/group12.ld: New file.
* NEWS: Mention new features.
* ld.texinfo (Options): Document --force-group-allocation.
(Miscellaneous Commands): Document FORCE_GROUP_ALLOCATION.
2017-03-22 18:27:49 +01:00
|
|
|
|
2017-06-06 Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* ld.h (struct args_type): Add force_group_allocation field.
|
|
|
|
|
* ldgram.y: Add support for FORCE_GROUP_ALLOCATION.
|
|
|
|
|
* ldlex.h: Likewise.
|
|
|
|
|
* ldlex.l: Likewise.
|
|
|
|
|
* lexsup.c: Likewise.
|
|
|
|
|
* ldlang.c (unique_section_p): Check resolve_section_groups flag
|
|
|
|
|
not the relaxable link flag.
|
|
|
|
|
(lang_add_section): Discard section groups when we're resolving
|
|
|
|
|
groups. Clear the SEC_LINK_ONCE flag if we're resolving section
|
|
|
|
|
groups.
|
|
|
|
|
* ldmain.c (main): Initialise resolve_section_groups flag in
|
|
|
|
|
link_info based on command line flags.
|
|
|
|
|
* testsuite/ld-elf/group11.d: New file.
|
|
|
|
|
* testsuite/ld-elf/group12.d: New file.
|
|
|
|
|
* testsuite/ld-elf/group12.ld: New file.
|
|
|
|
|
* NEWS: Mention new features.
|
|
|
|
|
* ld.texinfo (Options): Document --force-group-allocation.
|
|
|
|
|
(Miscellaneous Commands): Document FORCE_GROUP_ALLOCATION.
|
|
|
|
|
|
2017-06-05 23:54:12 +02:00
|
|
|
|
2017-06-05 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/21529
|
|
|
|
|
* testsuite/ld-unique/pr21529.d: New file.
|
|
|
|
|
* testsuite/ld-unique/pr21529.s: Likewise.
|
|
|
|
|
* testsuite/ld-unique/unique.exp: Run *.d.
|
|
|
|
|
|
2017-06-05 07:13:54 +02:00
|
|
|
|
2017-06-05 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ldmain.c (main): Correct setting of link_indo.new_dtags.
|
|
|
|
|
* testsuite/ld-elf/now-3.d: Pass --disable-new-dtags to ld
|
|
|
|
|
* testsuite/ld-elf/now-4.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/rpath-1.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/rpath-2.d: Likewise.
|
|
|
|
|
|
2017-06-05 01:57:38 +02:00
|
|
|
|
2017-06-05 Slava Barinov <v.barinov@samsung.com>
|
|
|
|
|
|
|
|
|
|
* configure.ac: Add --enable-new-dtags option.
|
2017-06-05 07:13:54 +02:00
|
|
|
|
* ldmain.c (main): Set link_info.new_dtags to 1 if when
|
|
|
|
|
--enable-new-dtags is switched on.
|
2017-06-05 01:57:38 +02:00
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* config.in: Regenerate.
|
|
|
|
|
|
2017-06-02 23:49:37 +02:00
|
|
|
|
2017-06-02 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* emulparams/call_nop.sh: Remove -z prefix-nop.
|
|
|
|
|
* ld.texinfo: Likewise.
|
|
|
|
|
* testsuite/ld-i386/call3c.d: Check for linker error.
|
|
|
|
|
* testsuite/ld-x86-64/call1c.d: Likewise.
|
|
|
|
|
|
PPC64_OPT_LOCALENTRY
ELFv2 functions with localentry:0 are those with a single entry point,
ie. global entry == local entry, and that have no requirement on r2 or
r12, and guarantee r2 is unchanged on return. Such an external
function can be called via the PLT without saving r2 or restoring it
on return, avoiding a common load-hit-store for small functions. The
optimization is attractive. The TOC pointer load-hit-store is a major
reason why calls to small functions that need no register saves, or
with shrink-wrap, no register saves on a fast path, are slow on
powerpc64le.
To be safe, this optimization needs ld.so support to check that the
run-time matches link-time function implementation. If a function
in a shared library with st_other localentry non-zero is called
without saving and restoring r2, r2 will be trashed on return, leading
to segfaults. For that reason the optimization does not happen for
weak functions since a weak definition is a fairly solid hint that the
function will likely be overridden. I'm also not enabling the
optimization by default unless glibc-2.26 is detected, which should
have the ld.so checks implemented.
bfd/
* elf64-ppc.c (struct ppc_link_hash_table): Add has_plt_localentry0.
(ppc64_elf_merge_symbol_attribute): Merge localentry bits from
dynamic objects.
(is_elfv2_localentry0): New function.
(ppc64_elf_tls_setup): Default params->plt_localentry0.
(plt_stub_size): Adjust size for tls_get_addr_opt stub.
(build_tls_get_addr_stub): Use a simpler stub when r2 is not saved.
(ppc64_elf_size_stubs): Leave stub_type as ppc_stub_plt_call for
optimized localentry:0 stubs.
(ppc64_elf_build_stubs): Save r2 in ELFv2 __glink_PLTresolve.
(ppc64_elf_relocate_section): Leave nop unchanged for optimized
localentry:0 stubs.
(ppc64_elf_finish_dynamic_sections): Set PPC64_OPT_LOCALENTRY in
DT_PPC64_OPT.
* elf64-ppc.h (struct ppc64_elf_params): Add plt_localentry0.
include/
* elf/ppc64.h (PPC64_OPT_LOCALENTRY): Define.
ld/
* emultempl/ppc64elf.em (params): Init plt_localentry0 field.
(enum ppc64_opt): New, replacing OPTION_* defines. Add
OPTION_PLT_LOCALENTRY, and OPTION_NO_PLT_LOCALENTRY.
(PARSE_AND_LIST_*): Support --plt-localentry and --no-plt-localentry.
* testsuite/ld-powerpc/elfv2so.d: Update.
* testsuite/ld-powerpc/powerpc.exp (TLS opt 5): Use --no-plt-localentry.
* testsuite/ld-powerpc/tlsopt5.d: Update.
2017-05-26 02:32:29 +02:00
|
|
|
|
2017-06-01 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/ppc64elf.em (params): Init plt_localentry0 field.
|
|
|
|
|
(enum ppc64_opt): New, replacing OPTION_* defines. Add
|
|
|
|
|
OPTION_PLT_LOCALENTRY, and OPTION_NO_PLT_LOCALENTRY.
|
|
|
|
|
(PARSE_AND_LIST_*): Support --plt-localentry and --no-plt-localentry.
|
|
|
|
|
* testsuite/ld-powerpc/elfv2so.d: Update.
|
|
|
|
|
* testsuite/ld-powerpc/powerpc.exp (TLS opt 5): Use --no-plt-localentry.
|
|
|
|
|
* testsuite/ld-powerpc/tlsopt5.d: Update.
|
|
|
|
|
|
2017-05-31 10:40:01 +02:00
|
|
|
|
2017-05-31 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/ppc64elf.em (plt-static-chain help): Fix quoting.
|
|
|
|
|
|
2017-05-22 10:50:29 +02:00
|
|
|
|
2017-05-22 Jiong Wang <jiong.wang@arm.com>
|
|
|
|
|
|
|
|
|
|
* configure.tgt: Set "targ_emul" to "aarch64linux32b" for
|
|
|
|
|
aarch64_be-*-linux-gnu_ilp32. Set "targ_emul" to "aarch64linux32" for
|
|
|
|
|
aarch64-*-linux-gnu_ilp32.
|
|
|
|
|
|
2017-05-19 17:36:06 +02:00
|
|
|
|
2017-05-19 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-i386/i386.exp: Run property-x86-4a and
|
|
|
|
|
property-x86-4b.
|
|
|
|
|
* testsuite/ld-x86-64/x86-64.exp: Likewise.
|
|
|
|
|
* testsuite/ld-i386/property-x86-4a.d: New file.
|
|
|
|
|
* testsuite/ld-i386/property-x86-4a.s: Likewise.
|
|
|
|
|
* testsuite/ld-i386/property-x86-4b.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/property-x86-4b.s: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-4a.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-4a.s: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-4b.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-4b.s: Likewise.
|
|
|
|
|
|
2017-05-19 16:06:33 +02:00
|
|
|
|
2017-05-19 Georg-Johann Lay <avr@gjlay.de>
|
|
|
|
|
|
|
|
|
|
PR ld/21472
|
|
|
|
|
* emulparams/avrxmega3.sh (RODATA_PM_OFFSET): Set to 0x8000.
|
|
|
|
|
* scripttempl/avr.sc (__RODATA_PM_OFFSET__) [RODATA_PM_OFFSET]:
|
|
|
|
|
Use RODATA_PM_OFFSET as default if not already defined.
|
|
|
|
|
(.data) [!RODATA_PM_OFFSET]: Don't include .rodata and friends.
|
|
|
|
|
(.rodata) [RODATA_PM_OFFSET]: Put at an offset of
|
|
|
|
|
__RODATA_PM_OFFSET__.
|
|
|
|
|
|
2017-05-18 16:07:59 +02:00
|
|
|
|
2017-05-18 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR ld/21251
|
|
|
|
|
* ldfile.c (ldfile_add_library_path): If the path starts with
|
|
|
|
|
$SYSROOT then use the sysroot as the real prefix.
|
|
|
|
|
* ldlang.c (lang_add_input_file): Treat $SYSROOT in the same
|
|
|
|
|
way as =.
|
|
|
|
|
* ldlex.l: Add $SYSROOT as allow prefix for a filename.
|
|
|
|
|
* ld.texinfo (-L): Document that $SYSROOT acts like = when
|
|
|
|
|
prefixing a library search path.
|
|
|
|
|
(INPUT): Likewise.
|
|
|
|
|
* testsuite/ld-scripts/sysroot-prefix.exp: Add $SYSROOT prefix
|
|
|
|
|
tests.
|
|
|
|
|
|
2017-05-18 07:17:40 +02:00
|
|
|
|
2017-05-18 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/elf32.em: Don't compare boolean values against TRUE or FALSE.
|
|
|
|
|
* emultempl/pe.em: Likewise.
|
|
|
|
|
* emultempl/pep.em: Likewise.
|
2017-05-18 09:21:48 +02:00
|
|
|
|
* emultempl/xtensaelf.em (xtensa_wild_group_interleave_callback):
|
|
|
|
|
Don't compare enum against TRUE.
|
2017-05-18 07:17:40 +02:00
|
|
|
|
|
2017-05-18 06:58:17 +02:00
|
|
|
|
2017-05-18 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR ld/20882
|
|
|
|
|
* testsuite/ld-gc/pr20882.d: Don't pass -gdwarf-sections to gas.
|
|
|
|
|
Allow for 16-bit address targets and match expected data fully.
|
|
|
|
|
* testsuite/ld-gc/pr20882a.s: Delete .debug_line section.
|
|
|
|
|
* testsuite/ld-gc/pr20882b.s: Likewise.
|
|
|
|
|
* testsuite/ld-gc/pr20882c.s: Likewise.
|
|
|
|
|
|
2017-05-17 16:57:15 +02:00
|
|
|
|
2017-05-17 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/20882
|
|
|
|
|
* testsuite/ld-gc/gc.exp: Run pr20882.
|
|
|
|
|
* testsuite/ld-gc/pr20882.d: New file.
|
|
|
|
|
* testsuite/ld-gc/pr20882a.s: Likewise.
|
|
|
|
|
* testsuite/ld-gc/pr20882b.s: Likewise.
|
|
|
|
|
* testsuite/ld-gc/pr20882c.s: Likewise.
|
|
|
|
|
|
2017-05-16 17:52:01 +02:00
|
|
|
|
2017-05-16 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/21481
|
|
|
|
|
* testsuite/ld-x86-64/x86-64.exp: Run PR ld/21481 tests only
|
|
|
|
|
if IFUNC is supported by run-time.
|
|
|
|
|
|
2017-05-16 00:28:14 +02:00
|
|
|
|
2017-05-16 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* plugin.c: Rename occurrences of non_ir_ref.
|
|
|
|
|
|
2017-05-16 00:26:41 +02:00
|
|
|
|
2017-05-16 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* plugin.c (is_visible_from_outside): Use non_ir_ref_dynamic.
|
|
|
|
|
(plugin_notice): Set non_ir_ref for references from regular
|
|
|
|
|
objects, non_ir_ref_dynamic for references from dynamic objects.
|
|
|
|
|
|
2017-05-15 14:52:04 +02:00
|
|
|
|
2017-05-15 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-mips-elf/mips16e2-pcrel-0.d: New test.
|
|
|
|
|
* testsuite/ld-mips-elf/mips16e2-pcrel-1.d: New test.
|
|
|
|
|
* testsuite/ld-mips-elf/mips16e2-pcrel-addend-2.d: New test.
|
|
|
|
|
* testsuite/ld-mips-elf/mips16e2-pcrel-addend-6.d: New test.
|
|
|
|
|
* testsuite/ld-mips-elf/mips16e2-pcrel-n32-0.d: New test.
|
|
|
|
|
* testsuite/ld-mips-elf/mips16e2-pcrel-n32-1.d: New test.
|
|
|
|
|
* testsuite/ld-mips-elf/mips16e2-pcrel-n64-sym32-0.d: New test.
|
|
|
|
|
* testsuite/ld-mips-elf/mips16e2-pcrel-n64-sym32-1.d: New test.
|
|
|
|
|
* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.
|
|
|
|
|
|
2017-05-15 14:12:49 +02:00
|
|
|
|
2017-05-15 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR ld/21459
|
|
|
|
|
* scripttempl/pe.sc: Add .debug_gdb_scripts section.
|
|
|
|
|
* scripttempl/pep.sc: Likewise.
|
|
|
|
|
|
2017-05-12 17:07:21 +02:00
|
|
|
|
2017-05-12 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-i386/i386.exp: Run property-x86-3.
|
|
|
|
|
* testsuite/ld-x86-64/x86-64.exp: Likewise.
|
|
|
|
|
* testsuite/ld-i386/property-x86-3.d: New file.
|
|
|
|
|
* testsuite/ld-i386/property-x86-3.s: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-3.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-3.s: Likewise.
|
|
|
|
|
|
2017-05-11 20:26:26 +02:00
|
|
|
|
2017-05-11 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* emulparams/elf_x86_64.sh (TINY_READONLY_SECTION): Replace
|
|
|
|
|
.plt.bnd with .plt.sec.
|
|
|
|
|
* testsuite/ld-x86-64/bnd-ifunc-1-now.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/bnd-ifunc-2-now.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/bnd-ifunc-2.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/bnd-plt-1-now.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/bnd-plt-1.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/mpx3.dd: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/mpx3n.dd: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/mpx4.dd: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/mpx4n.dd: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/plt-main-bnd-now.rd: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr21038b-now.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr21038b.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr21038c-now.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr21038c.d: Likewise.
|
|
|
|
|
|
2017-05-11 16:42:30 +02:00
|
|
|
|
2017-05-11 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-i386/plt-pic2.dd: Updated.
|
|
|
|
|
* testsuite/ld-i386/plt2.dd: Likewise.
|
|
|
|
|
* testsuite/ld-i386/plt2.rd: Likewise.
|
|
|
|
|
* testsuite/ld-i386/pr17689now.rd: Likewise.
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-16-i386-now.d: Likewise.
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-16-x86-64-now.d: Likewise.
|
|
|
|
|
* testsuite/ld-ifunc/pr17154-i386-now.d: Likewise.
|
|
|
|
|
* testsuite/ld-ifunc/pr17154-x86-64-now.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/bnd-branch-1-now.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/bnd-ifunc-2-now.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/bnd-plt-1-now.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/plt2.dd: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/plt2.rd: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr17689now.rd: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr21038b-now.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr21038c-now.d: Likewise.
|
|
|
|
|
|
2017-05-10 19:51:35 +02:00
|
|
|
|
2017-05-10 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* emulparams/i386lynx.sh (CHECK_RELOCS_AFTER_OPEN_INPUT): Set
|
|
|
|
|
to yes.
|
|
|
|
|
* emulparams/i386moss.sh (CHECK_RELOCS_AFTER_OPEN_INPUT):
|
|
|
|
|
Likewise.
|
|
|
|
|
* emulparams/i386nw.sh (CHECK_RELOCS_AFTER_OPEN_INPUT): Likewise.
|
|
|
|
|
|
2017-05-10 18:28:00 +02:00
|
|
|
|
2017-05-10 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/21481
|
|
|
|
|
* testsuite/ld-x86-64/pr21481a.c: New file.
|
|
|
|
|
* testsuite/ld-x86-64/pr21481b.S: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/x86-64.exp: Run PR ld/21481 tests.
|
|
|
|
|
|
[ARC] Object attributes.
gas/
2017-05-10 Claudiu Zissulescu <claziss@synopsys.com>
* testsuite/gas/arc/attr-arc600.d: New file.
* testsuite/gas/arc/attr-arc600_mul32x16.d: Likewise.
* testsuite/gas/arc/attr-arc600_norm.d: Likewise.
* testsuite/gas/arc/attr-arc601.d: Likewise.
* testsuite/gas/arc/attr-arc601_mul32x16.d: Likewise.
* testsuite/gas/arc/attr-arc601_mul64.d: Likewise.
* testsuite/gas/arc/attr-arc601_norm.d: Likewise.
* testsuite/gas/arc/attr-arc700.d: Likewise.
* testsuite/gas/arc/attr-arcem.d: Likewise.
* testsuite/gas/arc/attr-archs.d: Likewise.
* testsuite/gas/arc/attr-autodetect-1.d: Likewise.
* testsuite/gas/arc/attr-autodetect-1.s: Likewise.
* testsuite/gas/arc/attr-cpu-a601.d: Likewise.
* testsuite/gas/arc/attr-cpu-a601.s: Likewise.
* testsuite/gas/arc/attr-cpu-a700.d: Likewise.
* testsuite/gas/arc/attr-cpu-a700.s: Likewise.
* testsuite/gas/arc/attr-cpu-em.d: Likewise.
* testsuite/gas/arc/attr-cpu-em.s: Likewise.
* testsuite/gas/arc/attr-cpu-hs.d: Likewise.
* testsuite/gas/arc/attr-cpu-hs.s: Likewise.
* testsuite/gas/arc/attr-em.d: Likewise.
* testsuite/gas/arc/attr-em4.d: Likewise.
* testsuite/gas/arc/attr-em4_dmips.d: Likewise.
* testsuite/gas/arc/attr-em4_fpuda.d: Likewise.
* testsuite/gas/arc/attr-em4_fpus.d: Likewise.
* testsuite/gas/arc/attr-hs.d: Likewise.
* testsuite/gas/arc/attr-hs34.d: Likewise.
* testsuite/gas/arc/attr-hs38.d: Likewise.
* testsuite/gas/arc/attr-hs38_linux.d: Likewise.
* testsuite/gas/arc/attr-mul64.d: Likewise.
* testsuite/gas/arc/attr-name.d: Likewise.
* testsuite/gas/arc/attr-name.s: Likewise.
* testsuite/gas/arc/attr-nps400.d: Likewise.
* testsuite/gas/arc/attr-override-mcpu.d: Likewise.
* testsuite/gas/arc/attr-override-mcpu.s
* testsuite/gas/arc/attr-quarkse_em.d: Likewise.
* testsuite/gas/arc/blank.s: Likewise.
* testsuite/gas/elf/section2.e-arc: Likewise.
* testsuite/gas/arc/cpu-pseudop-1.d: Update test.
* testsuite/gas/arc/cpu-pseudop-2.d: Likewise.
* testsuite/gas/arc/nps400-0.d: Likewise.
* testsuite/gas/elf/elf.exp: Set target_machine for ARC.
* config/tc-arc.c (opcode/arc-attrs.h): Include.
(ARC_GET_FLAG, ARC_SET_FLAG, streq): Define.
(arc_attribute): Declare new function.
(md_pseudo_table): Add arc_attribute.
(cpu_types): Rename default cpu features.
(selected_cpu): Set the default OSABI flag.
(mpy_option): New variable.
(pic_option): Likewise.
(sda_option): Likewise.
(tls_option): Likewise.
(feature_type, feature_list): Remove.
(arc_initial_eflag): Likewise.
(attributes_set_explicitly): New variable.
(arc_check_feature): Check also for the conflicting features.
(arc_select_cpu): Refactor assignment of selected_cpu.eflags.
(arc_option): Remove setting of private flags and architecture.
(check_cpu_feature): Refactor feature names.
(autodetect_attributes): New function.
(assemble_tokens): Use above function.
(md_parse_option): Refactor feature names.
(arc_attribute): New function.
(arc_set_attribute_int): Likewise.
(arc_set_attribute_string): Likewise.
(arc_stralloc): Likewise.
(arc_set_public_attributes): Likewise.
(arc_md_end): Likewise.
(arc_copy_symbol_attributes): Likewise.
(rc_convert_symbolic_attribute): Likewise.
* config/tc-arc.h (md_end): Define.
(CONVERT_SYMBOLIC_ATTRIBUTE): Likewise.
(TC_COPY_SYMBOL_ATTRIBUTES): Likewise.
* doc/c-arc.texi: Document ARC object attributes.
binutils/
2017-05-10 Claudiu Zissulescu <claziss@synopsys.com>
* readelf.c (decode_ARC_machine_flags): Recognize OSABI v4.
(get_arc_section_type_name): New function.
(get_section_type_name): Use the above function.
(display_arc_attribute): New function.
(process_arc_specific): Likewise.
(process_arch_specific): Handle ARC specific information.
* testsuite/binutils-all/strip-3.d: Consider ARC.attributes
section.
include/
2017-05-10 Claudiu Zissulescu <claziss@synopsys.com>
* elf/arc.h (SHT_ARC_ATTRIBUTES): Define.
(Tag_ARC_*): Define.
(E_ARC_OSABI_V4): Define.
(E_ARC_OSABI_CURRENT): Reassign it.
(TAG_CPU_*): Define.
* opcode/arc-attrs.h: New file.
* opcode/arc.h (insn_subclass_t): Assign enum values.
(insn_subclass_t): Update enum with QUARKSE1, QUARKSE2, and LL64.
(ARC_EA, ARC_CD, ARC_LLOCK, ARC_ATOMIC, ARC_MPY, ARC_MULT)
(ARC_NPS400, ARC_DPFP, ARC_SPFP, ARC_FPU, ARC_FPUDA, ARC_SWAP)
(ARC_NORM, ARC_BSCAN, ARC_UIX, ARC_TSTAMP, ARC_VBFDW)
(ARC_BARREL, ARC_DSPA, ARC_SHIFT, ARC_INTR, ARC_DIV, ARC_XMAC)
(ARC_CRC): Delete.
bfd/
2017-05-10 Claudiu Zissulescu <claziss@synopsys.com>
* elf32-arc.c (FEATURE_LIST_NAME): Define.
(CONFLICT_LIST): Likewise.
(opcode/arc-attrs.h): Include.
(arc_elf_print_private_bfd_data): Print OSABI v4 flag.
(arc_extract_features): New file.
(arc_stralloc): Likewise.
(arc_elf_merge_attributes): Likewise.
(arc_elf_merge_private_bfd_data): Use object attributes.
(bfd_arc_get_mach_from_attributes): New function.
(arc_elf_object_p): Use object attributes.
(arc_elf_final_write_processing): Likewise.
(elf32_arc_obj_attrs_arg_type): New function.
(elf32_arc_obj_attrs_handle_unknown): Likewise.
(elf32_arc_section_from_shdr): Likewise.
(elf_backend_obj_attrs_vendor): Define.
(elf_backend_obj_attrs_section): Likewise.
(elf_backend_obj_attrs_arg_type): Likewise.
(elf_backend_obj_attrs_section_type): Likewise.
(elf_backend_obj_attrs_handle_unknown): Likewise.
(elf_backend_section_from_shdr): Likewise.
ld/
2017-05-10 Claudiu Zissulescu <claziss@synopsys.com>
* testsuite/ld-arc/attr-merge-0.d: New file.
* testsuite/ld-arc/attr-merge-0.s: Likewise.
* testsuite/ld-arc/attr-merge-0e.s: Likewise.
* testsuite/ld-arc/attr-merge-1.d: Likewise.
* testsuite/ld-arc/attr-merge-1.s: Likewise.
* testsuite/ld-arc/attr-merge-1e.s: Likewise.
* testsuite/ld-arc/attr-merge-2.d: Likewise.
* testsuite/ld-arc/attr-merge-2.s: Likewise.
* testsuite/ld-arc/attr-merge-3.d: Likewise.
* testsuite/ld-arc/attr-merge-3.s: Likewise.
* testsuite/ld-arc/attr-merge-3e.s: Likewise.
* testsuite/ld-arc/attr-merge-4.s: Likewise.
* testsuite/ld-arc/attr-merge-5.d: Likewise.
* testsuite/ld-arc/attr-merge-5a.s: Likewise.
* testsuite/ld-arc/attr-merge-5b.s: Likewise.
* testsuite/ld-arc/attr-merge-conflict-isa.d: Likewise.
* testsuite/ld-arc/attr-merge-err-isa.d: Likewise.
* testsuite/ld-arc/attr-merge-incompatible-cpu.d: Likewise.
* testsuite/ld-arc/got-01.d: Update test.
* testsuite/ld-arc/attr-merge-err-quarkse.d: New file.
* testsuite/ld-arc/attr-quarkse.s: Likewise.
* testsuite/ld-arc/attr-quarkse2.s: Likewise.
opcodes/
2017-05-10 Claudiu Zissulescu <claziss@synopsys.com>
* arc-dis.c (parse_option): Update quarkse_em option..
* arc-ext-tbl.h (dsp_fp_flt2i, dsp_fp_i2flt): Change subclass to
QUARKSE1.
(dsp_fp_div, dsp_fp_cmp): Change subclass to QUARKSE2.
2017-05-10 14:42:22 +02:00
|
|
|
|
2017-05-10 Claudiu Zissulescu <claziss@synopsys.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-arc/attr-merge-0.d: New file.
|
|
|
|
|
* testsuite/ld-arc/attr-merge-0.s: Likewise.
|
|
|
|
|
* testsuite/ld-arc/attr-merge-0e.s: Likewise.
|
|
|
|
|
* testsuite/ld-arc/attr-merge-1.d: Likewise.
|
|
|
|
|
* testsuite/ld-arc/attr-merge-1.s: Likewise.
|
|
|
|
|
* testsuite/ld-arc/attr-merge-1e.s: Likewise.
|
|
|
|
|
* testsuite/ld-arc/attr-merge-2.d: Likewise.
|
|
|
|
|
* testsuite/ld-arc/attr-merge-2.s: Likewise.
|
|
|
|
|
* testsuite/ld-arc/attr-merge-3.d: Likewise.
|
|
|
|
|
* testsuite/ld-arc/attr-merge-3.s: Likewise.
|
|
|
|
|
* testsuite/ld-arc/attr-merge-3e.s: Likewise.
|
|
|
|
|
* testsuite/ld-arc/attr-merge-4.s: Likewise.
|
|
|
|
|
* testsuite/ld-arc/attr-merge-5.d: Likewise.
|
|
|
|
|
* testsuite/ld-arc/attr-merge-5a.s: Likewise.
|
|
|
|
|
* testsuite/ld-arc/attr-merge-5b.s: Likewise.
|
|
|
|
|
* testsuite/ld-arc/attr-merge-conflict-isa.d: Likewise.
|
|
|
|
|
* testsuite/ld-arc/attr-merge-err-isa.d: Likewise.
|
|
|
|
|
* testsuite/ld-arc/attr-merge-incompatible-cpu.d: Likewise.
|
|
|
|
|
* testsuite/ld-arc/got-01.d: Update test.
|
|
|
|
|
* testsuite/ld-arc/attr-merge-err-quarkse.d: New file.
|
|
|
|
|
* testsuite/ld-arc/attr-quarkse.s: Likewise.
|
|
|
|
|
* testsuite/ld-arc/attr-quarkse2.s: Likewise.
|
|
|
|
|
|
2017-05-09 15:42:43 +02:00
|
|
|
|
2017-05-09 Awson <kyrab@mail.ru>
|
|
|
|
|
|
|
|
|
|
PR ld/21471
|
|
|
|
|
* pe-dll.c (pe_detail_list): Add entry for pe-bigobj-x86-64.
|
|
|
|
|
|
2017-05-09 09:40:17 +02:00
|
|
|
|
2017-05-09 Benjamin Peterson <bp@benjamin.pe>
|
|
|
|
|
|
|
|
|
|
* ld.texinfo (orphan sections): Grammar fix.
|
|
|
|
|
|
x86-64: Improve PLT generation and synthetic PLT symbols
On x86-64, the procedure linkage table (PLT) is used to
1. Call external function.
2. Call internal IFUNC function. The best implementation is selected
for the target processor at run-time.
3. Act as the canonical function address.
4. Support LD_AUDIT to audit external function calls.
5. Support LD_PROFILE to profile external function calls.
PLT looks like:
PLT0: push GOT[1]
jmp *GOT[2]
nop
PLT1: jmp *GOT[name1_index]
push name1_reloc_index
jmp PLT0
GOT is an array of addresses. Initially the GOT entry of name1 is
filled with the address of the "push name1_reloc_index" instruction.
The function, name1, is called via "jmp *GOT[name1]" in the PLT entry.
Even when lazy binding is disabled by "-z now", the PLT0 entry may
still be used with LD_AUDIT or LD_PROFILE if PLT entry is used for
canonical function address.
When linker is invoked with "-z bndplt", a different PLT layout in .plt
is used:
PLT0: push GOT[1]
bnd jmp *GOT[2]
nop
PLT1: push name1_reloc_index
bnd jmp PLT0
nop
together with a second PLT section, .pl.bnd:
PLT1: bnd jmp *GOT[name1_index]
nop
where the GOT entry of name1 is filled with the address of the push
instruction of the corresponding entry in .plt.
1. With lazy binding, when the external function, name1, is called the
first time, dynamic linker is called via PLT0 to update GOT[name1_index]
with the actual address of name1 and transfers control to name1
afterwards.
2. PLT is also used to call a local IFUNC function, name1, run-time
loader updates GOT[name1_index] when loading the module.
This patch
1. Remove PLT layout configurations from x86-64 backend_data.
2. Add generic, lay and non-lazy PLT layout configurations to x86-64
link_hash_table. Generic PLT layout includes the PLT entry templates,
information how to update the first instruction in PLT and PLT eh_frame
informaton, which are initialized in x86-64 setup_gnu_properties, based
on "-z bndplt" and target selection. PLT section alignment is also set
to PLT entry size for non-NaCl target.
3. Remove elf_x86_64_create_dynamic_sections. create_dynamic_sections
isn't always called, but GOT relocations need GOT relocations. Instead,
create all x86-64 specific dynamic sections with alignment to their entry
size in x86-64 setup_gnu_properties, which initializes elf.dynobj, so
that x86-64 check_relocs can be simplified.
4. Rewrite elf_x86_64_get_synthetic_symtab to check PLT sections against
all dynamic relocations to support both lazy and non-lazy PLTs.
There is no change in PLT. The only externally visible change is the
improvement of synthetic PLT symbols for .plt.got.
bfd/
* elf64-x86-64.c (PLT_ENTRY_SIZE): Renamed to ...
(LAZY_PLT_ENTRY_SIZE): This.
(NON_LAZY_PLT_ENTRY_SIZE): New.
(elf_x86_64_plt0_entry): Renamed to ...
(elf_x86_64_lazy_plt0_entry): This.
(elf_x86_64_plt_entry): Renamed to ...
(elf_x86_64_lazy_plt_entry): This.
(elf_x86_64_bnd_plt0_entry): Renamed to ...
(elf_x86_64_lazy_bnd_plt0_entry): This.
(elf_x86_64_legacy_plt_entry): Removed.
(elf_x86_64_bnd_plt_entry): Renamed to ...
(elf_x86_64_lazy_bnd_plt_entry): This.
(elf_x86_64_legacy_plt2_entry): Renamed to ...
(elf_x86_64_non_lazy_plt_entry): This.
(elf_x86_64_bnd_plt2_entry): Renamed to ...
(elf_x86_64_non_lazy_bnd_plt_entry): This.
(elf_x86_64_eh_frame_plt): Renamed to ...
(elf_x86_64_eh_frame_lazy_plt): This.
(elf_x86_64_eh_frame_bnd_plt): Renamed to ...
(elf_x86_64_eh_frame_lazy_bnd_plt): This.
(elf_x86_64_eh_frame_plt_got): Renamed to ...
(elf_x86_64_eh_frame_non_lazy_plt): This.
(elf_x86_64_lazy_plt_layout): New.
(elf_x86_64_non_lazy_plt_layout): Likewise.
(elf_x86_64_plt_layout): Likewise.
(elf_x86_64_backend_data): Remove PLT layout information. Add
os for target system.
(GET_PLT_ENTRY_SIZE): Removed.
(elf_x86_64_lazy_plt): New.
(elf_x86_64_non_lazy_plt): Likewise.
(elf_x86_64_lazy_bnd_plt): Likewise.
(elf_x86_64_non_lazy_bnd_plt): Likewise.
(elf_x86-64_arch_bed): Updated.
(elf_x86_64_link_hash_table): Add plt, lazy_plt and non_lazy_plt.
(elf_x86_64_create_dynamic_sections): Removed.
(elf_x86_64_check_relocs): Don't check elf.dynobj. Don't call
_bfd_elf_create_ifunc_sections nor _bfd_elf_create_got_section.
(elf_x86-64_adjust_dynamic_symbol): Updated.
(elf_x86_64_allocate_dynrelocs): Updated. Pass 0 as PLT header
size to _bfd_elf_allocate_ifunc_dyn_relocs and don't allocate
size for PLT0 if there is no PLT0. Get plt_entry_size from
non_lazy_plt for non-lazy PLT entries.
(elf_x86_64_size_dynamic_sections): Updated. Get plt_entry_size
from non_lazy_plt for non-lazy PLT entries.
(elf_x86-64_relocate_section): Updated. Properly get PLT index
if there is no PLT0.
(elf_x86_64_finish_dynamic_symbol): Updated. Fill the first slot
in the PLT entry with generic PLT layout. Fill the non-lazy PLT
entries with non-lazy PLT layout. Don't fill the second and third
slots in the PLT entry if there is no PLT0.
(elf_x86_64_finish_dynamic_sections): Updated. Don't fill PLT0
if there is no PLT0. Set sh_entsize on the .plt.got section.
(compare_relocs): New.
(elf_x86_64_plt_type): Likewise.
(elf_x86_64_plt): Likewise.
(elf_x86_64_nacl_plt): New. Forward declaration.
(elf_x86_64_get_plt_sym_val): Removed.
(elf_x86_64_get_synthetic_symtab): Rewrite to check PLT sections
against all dynamic relocations.
(elf_x86_64_link_setup_gnu_properties): New function.
(elf_backend_create_dynamic_sections): Updated.
(elf_backend_setup_gnu_properties): New.
(elf_x86_64_nacl_plt): New.
(elf_x86_64_nacl_arch_bed): Updated.
ld/
* testsuite/ld-ifunc/ifunc-16-x86-64-now.d: New file.
* testsuite/ld-ifunc/ifunc-2-local-x86-64-now.d: Likewise.
* testsuite/ld-ifunc/ifunc-2-x86-64-now.d: Likewise.
* testsuite/ld-ifunc/pr17154-x86-64-now.d: Likewise.
* testsuite/ld-x86-64/bnd-branch-1-now.d: Likewise.
* testsuite/ld-x86-64/bnd-ifunc-1-now.d: Likewise.
* testsuite/ld-x86-64/bnd-ifunc-2-now.d: Likewise.
* testsuite/ld-x86-64/bnd-plt-1-now.d: Likewise.
* testsuite/ld-x86-64/mpx3n.dd: Likewise.
* testsuite/ld-x86-64/mpx4n.dd: Likewise.
* testsuite/ld-x86-64/plt-main-bnd-now.rd: Likewise.
* testsuite/ld-x86-64/plt2.dd: Likewise.
* testsuite/ld-x86-64/plt2.rd: Likewise.
* testsuite/ld-x86-64/plt2.s: Likewise.
* testsuite/ld-x86-64/pr20830a-now.d: Likewise.
* testsuite/ld-x86-64/pr20830b-now.d: Likewise.
* testsuite/ld-x86-64/pr21038a-now.d: Likewise.
* testsuite/ld-x86-64/pr21038b-now.d: Likewise.
* testsuite/ld-x86-64/pr21038c-now.d: Likewise.
* testsuite/ld-x86-64/load1b-nacl.d: Updated.
* testsuite/ld-x86-64/load1b.d: Likewise.
* testsuite/ld-x86-64/plt-main-bnd.dd: Likewise.
* testsuite/ld-x86-64/pr20253-1h.d: Likewise.
* testsuite/ld-x86-64/pr20830a.d: Update the .plt.got section
with func@plt.
* testsuite/ld-x86-64/pr20830b.d: Likewise.
* testsuite/ld-x86-64/pr21038a.d: Likewise.
* testsuite/ld-x86-64/pr21038c.d: Likewise.
* testsuite/ld-x86-64/mpx.exp: Add some -z now tests.
* testsuite/ld-x86-64/x86-64.exp: Likewise.
2017-05-08 21:24:11 +02:00
|
|
|
|
2017-05-08 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-16-x86-64-now.d: New file.
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-2-local-x86-64-now.d: Likewise.
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-2-x86-64-now.d: Likewise.
|
|
|
|
|
* testsuite/ld-ifunc/pr17154-x86-64-now.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/bnd-branch-1-now.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/bnd-ifunc-1-now.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/bnd-ifunc-2-now.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/bnd-plt-1-now.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/mpx3n.dd: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/mpx4n.dd: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/plt-main-bnd-now.rd: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/plt2.dd: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/plt2.rd: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/plt2.s: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr20830a-now.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr20830b-now.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr21038a-now.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr21038b-now.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr21038c-now.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/load1b-nacl.d: Updated.
|
|
|
|
|
* testsuite/ld-x86-64/load1b.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/plt-main-bnd.dd: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr20253-1h.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr20830a.d: Update the .plt.got section
|
|
|
|
|
with func@plt.
|
|
|
|
|
* testsuite/ld-x86-64/pr20830b.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr21038a.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr21038c.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/mpx.exp: Add some -z now tests.
|
|
|
|
|
* testsuite/ld-x86-64/x86-64.exp: Likewise.
|
|
|
|
|
|
i386: Improve PLT generation and synthetic PLT symbols
On i386, the procedure linkage table (PLT) is used to
1. Call external function.
2. Call internal IFUNC function. The best implementation is selected
for the target processor at run-time.
3. Act as the canonical function address.
4. Support LD_AUDIT to audit external function calls.
5. Support LD_PROFILE to profile external function calls.
PLT looks like:
PLT0: push GOT[1]
jmp *GOT[2]
nop
PLT1: jmp *GOT[name1_index]
push name1_reloc_index
jmp PLT0
GOT is an array of addresses. Initially the GOT entry of name1 is
filled with the address of the "push name1_reloc_index" instruction.
The function, name1, is called via "jmp *GOT[name1]" in the PLT entry.
Even when lazy binding is disabled by "-z now", the PLT0 entry may
still be used with LD_AUDIT or LD_PROFILE if PLT entry is used for
canonical function address.
1. With lazy binding, when the external function, name1, is called the
first time, dynamic linker is called via PLT0 to update GOT[name1_index]
with the actual address of name1 and transfers control to name1
afterwards.
2. PLT is also used to call a local IFUNC function, name1, run-time
loader updates GOT[name1_index] when loading the module.
This patch
1. Remove PLT layout configurations from i386 backend_data.
2. Add generic, lay and non-lazy PLT layout configurations to i386
link_hash_table. Generic PLT layout includes the PLT entry templates,
information how to update the first instruction in PLT and PLT eh_frame
informaton, which are initialized in i386 setup_gnu_properties, based
on PIC and target selection. PLT section alignment is also set to PLT
entry size for non-NaCl/VxWorks target.
3. Remove elf_i386_create_dynamic_sections. create_dynamic_sections
isn't always called, but GOT relocations need GOT relocations. Instead,
create all i386 specific dynamic sections in i386 setup_gnu_properties,
which initializes elf.dynobj, so that i386 check_relocs can be simplified.
4. Rewrite elf_i386_get_synthetic_symtab to check PLT sections against
all dynamic relocations to support both lazy and non-lazy PLTs.
bfd/
* elf32-i386.c (PLT_ENTRY_SIZE): Renamed to ...
(LAZY_PLT_ENTRY_SIZE): This.
(NON_LAZY_PLT_ENTRY_SIZE): New.
(elf_i386_plt0_entry): Renamed to ...
(elf_i386_lazy_plt0_entry): This.
(elf_i386_plt_entry): Renamed to ...
(elf_i386_lazy_plt_entry): This.
(elf_i386_pic_plt0_entry): Renamed to ...
(elf_i386_pic_lazy_plt0_entry): This.
(elf_i386_pic_plt_entry): Renamed to ...
(elf_i386_pic_lazy_plt_entry): This.
(elf_i386_got_plt_entry): Renamed to ...
(elf_i386_non_lazy_plt_entry): This.
(elf_i386_pic_got_plt_entry): Renamed to ...
(elf_i386_pic_non_lazy_plt_entry): This.
(elf_i386_eh_frame_plt): Renamed to ...
(elf_i386_eh_frame_lazy_plt): This.
(elf_i386_eh_frame_plt_got): Renamed to ...
(elf_i386_eh_frame_non_lazy_plt): This.
(elf_i386_plt_layout): Renamed to ...
(elf_i386_lazy_plt_layout): This. Remove eh_frame_plt_got and
eh_frame_plt_got_size.
(elf_i386_non_lazy_plt_layout): New.
(elf_i386_plt_layout): Likewise.
(elf_i386_non_lazy_plt): Likewise.
(GET_PLT_ENTRY_SIZE): Removed.
(elf_i386_plt): Renamed to ...
(elf_i386_lazy_plt): This.
(elf_i386_backend_data): Remove plt. Rename is_vxworks to os.
(elf_i386_arch_bed): Updated.
(elf_i386_link_hash_table): Add plt, lazy_plt and non_lazy_plt.
(elf_i386_create_dynamic_sections): Removed.
(elf_i386_check_relocs): Don't check elf.dynobj. Don't call
_bfd_elf_create_ifunc_sections nor _bfd_elf_create_got_section.
(elf_i386_adjust_dynamic_symbol): Updated.
(elf_i386_allocate_dynrelocs): Updated. Pass 0 as PLT header
size to _bfd_elf_allocate_ifunc_dyn_relocs and don't allocate
size for PLT0 if there is no PLT0.
(elf_i386_size_dynamic_sections): Updated. Check whether GOT
output section is discarded only if GOT isn't empty.
(elf_i386_relocate_section): Updated. Properly get PLT index
if there is no PLT0.
(elf_i386_finish_dynamic_symbol): Updated. Don't fill the
second and third slots in the PLT entry if there is no PLT0.
(elf_i386_finish_dynamic_sections): Updated. Don't fill PLT0
if there is no PLT0. Set sh_entsize on the .plt.got section.
(elf_i386_nacl_plt): Forward declaration.
(elf_i386_get_plt_sym_val): Removed.
(elf_i386_get_synthetic_symtab): Rewrite to check PLT sections
against all dynamic relocations.
(elf_i386_link_setup_gnu_properties): New function.
(elf_backend_create_dynamic_sections): Updated.
(elf_backend_setup_gnu_properties): New.
(elf_i386_nacl_plt): Updated.
(elf_i386_nacl_arch_bed): Likewise.
(elf_i386_vxworks_arch_bed): Likewise.
ld/
* testsuite/ld-i386/i386.exp: Add some -z now tests.
* testsuite/ld-i386/plt-pic2.dd: New file.
* testsuite/ld-i386/plt2.dd: Likewise.
* testsuite/ld-i386/plt2.rd: Likewise.
* testsuite/ld-i386/plt2.s: Likewise.
* testsuite/ld-ifunc/ifunc-16-i386-now.d: Likewise.
* testsuite/ld-ifunc/ifunc-2-i386-now.d: Likewise.
* testsuite/ld-ifunc/ifunc-2-local-i386-now.d: Likewise.
* testsuite/ld-ifunc/pr17154-i386-now.d: Likewise.
* testsuite/ld-i386/pr20830.d: Update the .plt.got section
with func@plt.
2017-05-08 19:10:22 +02:00
|
|
|
|
2017-05-08 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-i386/i386.exp: Add some -z now tests.
|
|
|
|
|
* testsuite/ld-i386/plt-pic2.dd: New file.
|
|
|
|
|
* testsuite/ld-i386/plt2.dd: Likewise.
|
|
|
|
|
* testsuite/ld-i386/plt2.rd: Likewise.
|
|
|
|
|
* testsuite/ld-i386/plt2.s: Likewise.
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-16-i386-now.d: Likewise.
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-2-i386-now.d: Likewise.
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-2-local-i386-now.d: Likewise.
|
|
|
|
|
* testsuite/ld-ifunc/pr17154-i386-now.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/pr20830.d: Update the .plt.got section
|
|
|
|
|
with func@plt.
|
|
|
|
|
|
2017-05-08 16:26:51 +02:00
|
|
|
|
2017-05-08 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-arm/arm-elf.exp
|
|
|
|
|
(Secure gateway import library generation): Check e_type field
|
|
|
|
|
of import library and executable produced.
|
|
|
|
|
* testsuite/ld-arm/cmse-implib.type: Expectations for e_type field.
|
|
|
|
|
|
Fix PR21404 - assertion fail when calculating symbol size
Fix a host of problems related to adjustment of
symbol values and sizes when relaxing for avr.
1. Adjust symbol size first before adjusting symbol
value. Otherwise, a symbol whose value just got adjusted to the
relaxed address also ends up getting resized. See pr21404-1.s.
2. Reduce symbol sizes only if their span is below an
alignment boundary. Otherwise, the size gets decremented once when the
actual instruction is relaxed and padding bytes are added, and again
when the padding bytes are deleted (if padding ends up being unnecessary).
pr21404-2.s addresses that, and this bug is really the root cause of PR21404.
3. Adjust all symbol values before an alignment boundary.
Previous code did not adjust symbol values if they fell in the
would-be padded area, resulting in incorrect symbol values in some
cases (see pr21404-3.s).
4. Increase symbol sizes if alignment directives require so.
As pr21404-4.s shows
.global nonzero_sym
L1:
jmp L1
nonzero_sym:
nop
nop
.p2align 2
.size nonzero_sym, .-nonzero_sym
The two nops satisfy the 4 byte alignment at assembly time and
therefore the size of nonzero_sym is 4. Relaxation shortens
the 4 byte jmp to a 2 byte rjmp, and to satisfy 4 byte alignment
the code places 2 extra padding bytes after the nops, increasing
nonzero_sym's size by 2. This wasn't handled before.
If the assembly code does not have any align directives, then the
boundary is the section size, and symbol values and sizes == boundary
should also get adjusted. To handle that case, add a did_pad variable
and use that to determine whether it should use < boundary or <= boundary.
Also get rid of reloc_toaddr, which is now redundant. toaddr is now not
adjusted to handle the above case - the newly added
did_pad variable does the job.
pr21404-{5,6,7,8} are the same testcases written for local symbols, as
the code handles them slightly differently.
2017-04-24 11:47:14 +02:00
|
|
|
|
2017-04-28 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/21404
|
|
|
|
|
* testsuite/ld-avr/pr21404-1.d: New test.
|
|
|
|
|
* testsuite/ld-avr/pr21404-1.s: New test.
|
|
|
|
|
* testsuite/ld-avr/pr21404-2.d: New test.
|
|
|
|
|
* testsuite/ld-avr/pr21404-2.s: New test.
|
|
|
|
|
* testsuite/ld-avr/pr21404-3.d: New test.
|
|
|
|
|
* testsuite/ld-avr/pr21404-3.s: New test.
|
|
|
|
|
* testsuite/ld-avr/pr21404-4.d: New test.
|
|
|
|
|
* testsuite/ld-avr/pr21404-4.s: New test.
|
|
|
|
|
* testsuite/ld-avr/pr21404-5.d: New test.
|
|
|
|
|
* testsuite/ld-avr/pr21404-5.s: New test.
|
|
|
|
|
* testsuite/ld-avr/pr21404-6.d: New test.
|
|
|
|
|
* testsuite/ld-avr/pr21404-6.s: New test.
|
|
|
|
|
* testsuite/ld-avr/pr21404-7.d: New test.
|
|
|
|
|
* testsuite/ld-avr/pr21404-7.s: New test.
|
|
|
|
|
* testsuite/ld-avr/pr21404-8.d: New test.
|
|
|
|
|
* testsuite/ld-avr/pr21404-8.s: New test.
|
|
|
|
|
|
MIPS16/GAS: Relax 32-bit non-PIC PC-relative synthetic instructions
Implement the relaxation of MIPS16 PC-relative synthetic LA, DLA, LW and
LD instructions to an equivalent sequence of instructions produced where
the address operand requested is out of range, absolute or requires
linker relocation, for ABIs that use 32-bit addressing and non-PIC code.
The sequence generated uses the register specified for the destination
operand as a temporary and begins with LI to load the high 16-bit part
of the address, then continues with SLL by 16 bits to move that part
into place and finally completes with a suitable operation corresponding
to the synthetic instruction used, one of: 2-argument ADDIU, 2-argument
DADDIU, absolute LW, and absolute LD respectively, providing the low
16-bit part of the address. All instructions use the extended encoding.
As a special exception accept absolute addresses for relaxation even in
PIC code.
For example:
la $2, 0x12345678
produces code as:
li $2, 0x1234
sll $2, $2, 16
addiu $2, 0x5678
would.
Where linker relocation is required emit an R_MIPS16_HI16 relocation on
the initial LI instruction and an R_MIPS16_LO16 relocation on the final
operation.
For example (where `foo' is not local):
lw $3, foo
produces code as:
li $3, %hi(foo)
sll $3, $3, 16
lw $3, %lo(foo)($3)
would.
Emit assembly warnings as appropriate where this new relaxation triggers
in the `nomacro' mode or for an instruction manually placed in a branch
delay slot in the `noreorder' mode. Refrain from relaxation where an
explicit instruction size suffix has been used and in the `noautoextend'
mode.
gas/
* config/tc-mips.c (RELAX_MIPS16_ENCODE): Add `pic', `sym32' and
`nomacro' flags.
(RELAX_MIPS16_PIC, RELAX_MIPS16_SYM32, RELAX_MIPS16_NOMACRO):
New macros.
(RELAX_MIPS16_USER_SMALL, RELAX_MIPS16_USER_EXT)
(RELAX_MIPS16_DSLOT, RELAX_MIPS16_JAL_DSLOT)
(RELAX_MIPS16_EXTENDED, RELAX_MIPS16_MARK_EXTENDED)
(RELAX_MIPS16_CLEAR_EXTENDED, RELAX_MIPS16_ALWAYS_EXTENDED)
(RELAX_MIPS16_MARK_ALWAYS_EXTENDED)
(RELAX_MIPS16_CLEAR_ALWAYS_EXTENDED): Shift bits.
(RELAX_MIPS16_MACRO, RELAX_MIPS16_MARK_MACRO)
(RELAX_MIPS16_CLEAR_MACRO): New macros.
(append_insn): Pass `mips_pic', HAVE_32BIT_SYMBOLS and
`mips_opts.warn_about_macros' settings to RELAX_MIPS16_ENCODE.
(mips16_macro_frag): New function.
(md_estimate_size_before_relax): Handle HI16/LO16 relaxation.
(mips_relax_frag): Likewise.
(md_convert_frag): Likewise.
* testsuite/gas/mips/mips16@relax-swap3.d: Remove error output,
add dump patterns.
* testsuite/gas/mips/mips16e@relax-swap3.d: New test
subarchitecture.
* testsuite/gas/mips/micromips@relax-swap3.d: Remove trailing
NOP padding.
* testsuite/gas/mips/mips16-pcrel-reloc-2.d: Remove error
output, add dump patterns.
* testsuite/gas/mips/mips16-pcrel-reloc-3.d: Remove error
output, add dump patterns.
* testsuite/gas/mips/mips16-pcrel-reloc-6.d: Remove error
output, add dump patterns.
* testsuite/gas/mips/mips16-pcrel-reloc-7.d: Remove error
output, add dump patterns.
* testsuite/gas/mips/mips16-pcrel-addend-2.d: Remove error
output, add dump patterns.
* testsuite/gas/mips/mips16-pcrel-addend-3.d: Remove error
output, add dump patterns.
* testsuite/gas/mips/mips16-pcrel-absolute.d: Remove error
output, add dump patterns.
* testsuite/gas/mips/mips16-pcrel-absolute-1.d: Remove error
output, add dump patterns.
* testsuite/gas/mips/mips16@relax-swap3.l: Remove file.
* testsuite/gas/mips/mips16-pcrel-reloc-2.l: Remove file.
* testsuite/gas/mips/mips16-pcrel-reloc-3.l: Remove file.
* testsuite/gas/mips/mips16-pcrel-reloc-6.l: Remove file.
* testsuite/gas/mips/mips16-pcrel-reloc-7.l: Remove file.
* testsuite/gas/mips/mips16-pcrel-addend-2.l: Remove file.
* testsuite/gas/mips/mips16-pcrel-addend-3.l: Remove file.
* testsuite/gas/mips/mips16-pcrel-absolute.l: Remove file.
* testsuite/gas/mips/mips16-pcrel-absolute-1.l: Remove file.
* testsuite/gas/mips/relax-swap3.s: Adjust trailing padding.
* testsuite/gas/mips/mips16-pcrel-0.d: New test.
* testsuite/gas/mips/mips16-pcrel-1.d: New test.
* testsuite/gas/mips/mips16-pcrel-2.d: New test.
* testsuite/gas/mips/mips16-pcrel-3.d: New test.
* testsuite/gas/mips/mips16-pcrel-4.d: New test.
* testsuite/gas/mips/mips16-pcrel-5.d: New test.
* testsuite/gas/mips/mips16-pcrel-pic-0.d: New test.
* testsuite/gas/mips/mips16-pcrel-pic-1.d: New test.
* testsuite/gas/mips/mips16-pcrel-n32-0.d: New test.
* testsuite/gas/mips/mips16-pcrel-n32-1.d: New test.
* testsuite/gas/mips/mips16-pcrel-n64-sym32-0.d: New test.
* testsuite/gas/mips/mips16-pcrel-n64-sym32-1.d: New test.
* testsuite/gas/mips/mips16-pcrel-n64-0.d: New test.
* testsuite/gas/mips/mips16-pcrel-n64-1.d: New test.
* testsuite/gas/mips/mips16-pcrel-delay-0.d: New test.
* testsuite/gas/mips/mips16-pcrel-delay-1.d: New test.
* testsuite/gas/mips/mips16-pcrel-addend-4.d: New test.
* testsuite/gas/mips/mips16-pcrel-addend-5.d: New test.
* testsuite/gas/mips/mips16-pcrel-addend-6.d: New test.
* testsuite/gas/mips/mips16-pcrel-addend-7.d: New test.
* testsuite/gas/mips/mips16-pcrel-addend-8.d: New test.
* testsuite/gas/mips/mips16-pcrel-addend-9.d: New test.
* testsuite/gas/mips/mips16-pcrel-addend-pic-8.d: New test.
* testsuite/gas/mips/mips16-pcrel-addend-pic-9.d: New test.
* testsuite/gas/mips/mips16-pcrel-addend-n32-8.d: New test.
* testsuite/gas/mips/mips16-pcrel-addend-n32-9.d: New test.
* testsuite/gas/mips/mips16-pcrel-addend-n64-sym32-8.d: New test.
* testsuite/gas/mips/mips16-pcrel-addend-n64-sym32-9.d: New test.
* testsuite/gas/mips/mips16-pcrel-addend-n64-8.d: New test.
* testsuite/gas/mips/mips16-pcrel-addend-n64-9.d: New test.
* testsuite/gas/mips/mips16-pcrel-absolute-2.d: New test.
* testsuite/gas/mips/mips16-pcrel-absolute-3.d: New test.
* testsuite/gas/mips/mips16-pcrel-absolute-4.d: New test.
* testsuite/gas/mips/mips16-pcrel-absolute-5.d: New test.
* testsuite/gas/mips/mips16-pcrel-absolute-6.d: New test.
* testsuite/gas/mips/mips16-pcrel-absolute-7.d: New test.
* testsuite/gas/mips/mips16-pcrel-absolute-pic-4.d: New test.
* testsuite/gas/mips/mips16-pcrel-absolute-pic-6.d: New test.
* testsuite/gas/mips/mips16-pcrel-absolute-n32-4.d: New test.
* testsuite/gas/mips/mips16-pcrel-absolute-n32-6.d: New test.
* testsuite/gas/mips/mips16-pcrel-absolute-n64-4.d: New test.
* testsuite/gas/mips/mips16-pcrel-absolute-n64-6.d: New test.
* testsuite/gas/mips/mips16-pcrel-absolute-n64-sym32-4.d: New
test.
* testsuite/gas/mips/mips16-pcrel-absolute-n64-sym32-6.d: New
test.
* testsuite/gas/mips/mips16-pcrel-absolute-pic-n32-4.d: New
test.
* testsuite/gas/mips/mips16-pcrel-absolute-pic-n32-6.d: New
test.
* testsuite/gas/mips/mips16-pcrel-absolute-pic-n64-4.d: New
test.
* testsuite/gas/mips/mips16-pcrel-absolute-pic-n64-6.d: New
test.
* testsuite/gas/mips/mips16-pcrel-absolute-pic-n64-sym32-4.d:
New test.
* testsuite/gas/mips/mips16-pcrel-absolute-pic-n64-sym32-6.d:
New test.
* testsuite/gas/mips/mips16-pcrel-0.l: New stderr output.
* testsuite/gas/mips/mips16-pcrel-1.l: New stderr output.
* testsuite/gas/mips/mips16-pcrel-2.l: New stderr output.
* testsuite/gas/mips/mips16-pcrel-3.l: New stderr output.
* testsuite/gas/mips/mips16-pcrel-4.l: New stderr output.
* testsuite/gas/mips/mips16-pcrel-5.l: New stderr output.
* testsuite/gas/mips/mips16-pcrel-delay-0.l: New stderr output.
* testsuite/gas/mips/mips16-pcrel-delay-1.l: New stderr output.
* testsuite/gas/mips/mips16-pcrel-addend-8.l: New stderr output.
* testsuite/gas/mips/mips16-pcrel-addend-9.l: New stderr output.
* testsuite/gas/mips/mips16-pcrel-absolute-4.l: New stderr
output.
* testsuite/gas/mips/mips16-pcrel-absolute-6.l: New stderr
output.
* testsuite/gas/mips/mips16-pcrel-0.s: New test source.
* testsuite/gas/mips/mips16-pcrel-1.s: New test source.
* testsuite/gas/mips/mips16-pcrel-2.s: New test source.
* testsuite/gas/mips/mips16-pcrel-3.s: New test source.
* testsuite/gas/mips/mips16-pcrel-4.s: New test source.
* testsuite/gas/mips/mips16-pcrel-5.s: New test source.
* testsuite/gas/mips/mips16-pcrel-delay-0.s: New test source.
* testsuite/gas/mips/mips16-pcrel-delay-1.s: New test source.
* testsuite/gas/mips/mips16-pcrel-addend-4.s: New test source.
* testsuite/gas/mips/mips16-pcrel-addend-5.s: New test source.
* testsuite/gas/mips/mips16-pcrel-addend-6.s: New test source.
* testsuite/gas/mips/mips16-pcrel-addend-7.s: New test source.
* testsuite/gas/mips/mips16-pcrel-addend-8.s: New test source.
* testsuite/gas/mips/mips16-pcrel-addend-9.s: New test source.
* testsuite/gas/mips/mips16-pcrel-absolute-2.s: New test.
* testsuite/gas/mips/mips16-pcrel-absolute-3.s: New test.
* testsuite/gas/mips/mips16-pcrel-absolute-4.s: New test.
* testsuite/gas/mips/mips16-pcrel-absolute-5.s: New test.
* testsuite/gas/mips/mips16-pcrel-absolute-6.s: New test.
* testsuite/gas/mips/mips16-pcrel-absolute-7.s: New test.
* testsuite/gas/mips/mips.exp: Run the new tests.
ld/
* testsuite/ld-mips-elf/mips16-pcrel-0.d: New test.
* testsuite/ld-mips-elf/mips16-pcrel-1.d: New test.
* testsuite/ld-mips-elf/mips16-pcrel-addend-2.d: New test.
* testsuite/ld-mips-elf/mips16-pcrel-addend-6.d: New test.
* testsuite/ld-mips-elf/mips16-pcrel-n32-0.d: New test.
* testsuite/ld-mips-elf/mips16-pcrel-n32-1.d: New test.
* testsuite/ld-mips-elf/mips16-pcrel-n64-sym32-0.d: New test.
* testsuite/ld-mips-elf/mips16-pcrel-n64-sym32-1.d: New test.
* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.
2017-05-03 21:43:10 +02:00
|
|
|
|
2017-05-03 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-mips-elf/mips16-pcrel-0.d: New test.
|
|
|
|
|
* testsuite/ld-mips-elf/mips16-pcrel-1.d: New test.
|
|
|
|
|
* testsuite/ld-mips-elf/mips16-pcrel-addend-2.d: New test.
|
|
|
|
|
* testsuite/ld-mips-elf/mips16-pcrel-addend-6.d: New test.
|
|
|
|
|
* testsuite/ld-mips-elf/mips16-pcrel-n32-0.d: New test.
|
|
|
|
|
* testsuite/ld-mips-elf/mips16-pcrel-n32-1.d: New test.
|
|
|
|
|
* testsuite/ld-mips-elf/mips16-pcrel-n64-sym32-0.d: New test.
|
|
|
|
|
* testsuite/ld-mips-elf/mips16-pcrel-n64-sym32-1.d: New test.
|
|
|
|
|
* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.
|
|
|
|
|
|
2017-05-03 16:40:51 +02:00
|
|
|
|
2017-05-03 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/pr21384.d: Adjusted to accommodate
|
|
|
|
|
additional dynamic symbols on some targets.
|
|
|
|
|
|
2017-05-03 01:05:15 +02:00
|
|
|
|
2017-05-02 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-mips-elf/mips16-branch-absolute-1.d: New test.
|
|
|
|
|
* testsuite/ld-mips-elf/mips16-branch-absolute-2.d: New test.
|
|
|
|
|
* testsuite/ld-mips-elf/mips16-branch-absolute-addend-1.d: New
|
|
|
|
|
test.
|
|
|
|
|
* testsuite/ld-mips-elf/mips16-branch-absolute-n32-1.d: New
|
|
|
|
|
test.
|
|
|
|
|
* testsuite/ld-mips-elf/mips16-branch-absolute-n32-2.d: New
|
|
|
|
|
test.
|
|
|
|
|
* testsuite/ld-mips-elf/mips16-branch-absolute-addend-n32-1.d:
|
|
|
|
|
New test.
|
|
|
|
|
* testsuite/ld-mips-elf/mips16-branch-absolute-n64-1.d: New
|
|
|
|
|
test.
|
|
|
|
|
* testsuite/ld-mips-elf/mips16-branch-absolute-n64-2.d: New
|
|
|
|
|
test.
|
|
|
|
|
* testsuite/ld-mips-elf/mips16-branch-absolute-addend-n64-1.d:
|
|
|
|
|
New test.
|
|
|
|
|
* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.
|
|
|
|
|
|
2017-05-03 01:00:49 +02:00
|
|
|
|
2017-05-02 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-i386/tls.exp: Add -Wl,--no-as-needed to
|
|
|
|
|
"TLS without PLT (1)" and "TLS without PLT (3)".
|
|
|
|
|
* testsuite/ld-x86-64/tls.exp: Add -Wl,--no-as-needed to
|
|
|
|
|
to "TLS without PLT (3)".
|
|
|
|
|
|
2017-05-02 22:54:22 +02:00
|
|
|
|
2017-05-02 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/21384
|
|
|
|
|
* testsuite/ld-elf/pr21384.d: New file.
|
|
|
|
|
* testsuite/ld-elf/pr21384.dl: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21384.ld: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21384.s: Likewise.
|
|
|
|
|
|
2017-05-01 20:02:55 +02:00
|
|
|
|
2017-05-01 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-i386/tls.exp: Run GNU2 TLS tests only if there
|
|
|
|
|
is working GNU2 TLS support.
|
|
|
|
|
* testsuite/ld-x86-64/tls.exp: Likewise.
|
|
|
|
|
* testsuite/lib/ld-lib.exp (check_gnu2_tls_available): New proc.
|
|
|
|
|
|
2017-04-28 21:42:05 +02:00
|
|
|
|
2017-04-28 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/config/default.exp (GNU2_CFLAGS): New. Set
|
|
|
|
|
to -mtls-dialect=gnu2 if target compiler supports it.
|
|
|
|
|
* testsuite/ld-i386/tls.exp: Run -mtls-dialect=gnu2 tests.
|
|
|
|
|
* testsuite/ld-x86-64/tls.exp: Likewise.
|
|
|
|
|
* testsuite/ld-i386/tlsdesc1a.c: New file.
|
|
|
|
|
* testsuite/ld-i386/tlsdesc1b.c: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/tlsdesc1a.c: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/tlsdesc1b.c: Likewise.
|
|
|
|
|
|
2017-04-28 21:29:29 +02:00
|
|
|
|
2017-04-28 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/shared.exp: Add run-time tests for -z now.
|
|
|
|
|
* testsuite/ld-i386/tls.exp: Likewise.
|
|
|
|
|
* testsuite/ld-ifunc/ifunc.exp: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/tls.exp: Likewise.
|
|
|
|
|
|
2017-04-27 22:55:31 +02:00
|
|
|
|
2017-04-27 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-x86-64/pr21038a.d: Update DW_CFA_nop paddings
|
|
|
|
|
in .eh_frame section.
|
|
|
|
|
* testsuite/ld-x86-64/pr21038c.d: Update .eh_frame order.
|
|
|
|
|
|
2017-04-27 00:34:00 +02:00
|
|
|
|
2017-04-26 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-i386/tlsdesc2.d: New test.
|
|
|
|
|
* testsuite/ld-x86-64/tlsdesc2.d: Likewise.
|
|
|
|
|
|
2017-04-24 21:15:31 +02:00
|
|
|
|
2017-04-26 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
PR ld/21334
|
|
|
|
|
* testsuite/ld-mips-elf/pr21334.dd: New test.
|
|
|
|
|
* testsuite/ld-mips-elf/pr21334.gd: New test.
|
|
|
|
|
* testsuite/ld-mips-elf/pr21334.ld: New test linker script.
|
|
|
|
|
* testsuite/ld-mips-elf/pr21334.s: New test source.
|
|
|
|
|
* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.
|
|
|
|
|
|
2017-04-24 23:37:12 +02:00
|
|
|
|
2017-04-24 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-x86-64/no-plt.exp: Also check no-plt-1e.nd.
|
|
|
|
|
* testsuite/ld-x86-64/no-plt-1e.nd: New file.
|
|
|
|
|
|
2017-04-24 18:46:04 +02:00
|
|
|
|
2017-04-24 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-i386/pr12570a.d: Skip for nacl targets.
|
|
|
|
|
* testsuite/ld-i386/pr12570b.d: Likewise.
|
|
|
|
|
|
2017-04-24 18:37:10 +02:00
|
|
|
|
2017-04-24 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/20815
|
|
|
|
|
* testsuite/ld-i386/vxworks2.sd: Add space for program headers.
|
|
|
|
|
|
2017-04-24 14:31:31 +02:00
|
|
|
|
2017-04-24 Jose E. Marchesi <jose.marchesi@oracle.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-sparc/tlssunbin64.dd: Expect `return' instructions
|
|
|
|
|
instead of `rett' in V9.
|
|
|
|
|
* testsuite/ld-sparc/tlssunnopic64.dd: Likewise.
|
|
|
|
|
* testsuite/ld-sparc/tlssunpic64.dd: Likewise.
|
|
|
|
|
|
2017-04-21 21:03:14 +02:00
|
|
|
|
2017-04-21 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/21402
|
|
|
|
|
* testsuite/ld-elf/indirect.exp: Don't skip PIE indirect5 and
|
|
|
|
|
indirect6 tests on i386.
|
|
|
|
|
|
2017-04-21 21:00:55 +02:00
|
|
|
|
2017-04-21 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/19617
|
|
|
|
|
PR ld/21086
|
|
|
|
|
* testsuite/ld-elf/pr19617a.d: Pass --no-dynamic-linker to ld.
|
|
|
|
|
* testsuite/ld-elf/pr19617b.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr19617c.d: Likewise.
|
|
|
|
|
*testsuite/ld-i386/pr19636-4d.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/readelf.exp: Pass --no-dynamic-linker to ld
|
|
|
|
|
with --export-dynamic.
|
|
|
|
|
* testsuite/ld-elf/shared.exp: Pass --no-dynamic-linker to ld
|
|
|
|
|
with -E.
|
|
|
|
|
|
2017-04-20 21:33:55 +02:00
|
|
|
|
2017-04-20 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/21402
|
|
|
|
|
* testsuite/ld-elf/indirect.exp: Pass $NOPIE_LDFLAGS and
|
|
|
|
|
$NOPIE_CFLAGS to non-PIE indirect5 and indirect6 tests. Skip
|
|
|
|
|
PIE indirect5 and indirect6 tests on i386.
|
|
|
|
|
|
2017-04-20 02:39:30 +02:00
|
|
|
|
2017-04-20 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-mips-elf/mips-elf.exp: Join `__ehdr_start' tests.
|
|
|
|
|
|
2017-04-20 16:48:24 +02:00
|
|
|
|
2017-04-20 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/21382
|
|
|
|
|
* plugin.c (is_visible_from_outside): Symbol may be visible
|
|
|
|
|
from outside if dynamic_ref_after_ir_def is set.
|
|
|
|
|
(plugin_notice): Set dynamic_ref_after_ir_def if the symbol is
|
|
|
|
|
defined in an IR object and referenced in a dynamic object.
|
|
|
|
|
* testsuite/ld-plugin/lto.exp: Run PR ld/21382 tests.
|
|
|
|
|
* testsuite/ld-plugin/pr21382a.c: New file.
|
|
|
|
|
* testsuite/ld-plugin/pr21382b.c: Likewise.
|
|
|
|
|
|
2017-04-19 18:59:14 +02:00
|
|
|
|
2017-04-19 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/21401
|
|
|
|
|
* testsuite/ld-ifunc/ifunc.exp: Add a libtest-2-now.so test with
|
|
|
|
|
-z now.
|
|
|
|
|
|
2017-04-18 17:56:57 +02:00
|
|
|
|
2017-04-19 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ld.texinfo (dynamic-undefined-weak): Document.
|
|
|
|
|
(nodynamic-undefined-weak): Document that this option now can
|
|
|
|
|
be used with shared libs.
|
|
|
|
|
* emulparams/dynamic_undefined_weak.sh: Support -z
|
|
|
|
|
dynamic-undefined-weak.
|
|
|
|
|
* emulparams/elf32ppccommon.sh: Include dynamic_undefined_weak.sh.
|
|
|
|
|
* testsuite/ld-undefined/weak-undef.exp (undef_weak_so),
|
|
|
|
|
(undef_weak_exe): New. Use them. Add -z dynamic-undefined-weak
|
|
|
|
|
and -z nodynamic-undefined-weak tests.
|
|
|
|
|
* Makefile.am: Update powerpc dependencies.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
|
2017-04-17 16:47:17 +02:00
|
|
|
|
2017-04-17 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/21389
|
|
|
|
|
* testsuite/ld-elf/pr21389.map: New file.
|
|
|
|
|
* testsuite/ld-elf/pr21389.s: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21389a.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21389b.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr21389c.d: Likewise.
|
|
|
|
|
|
2017-04-17 11:03:52 +02:00
|
|
|
|
2017-04-17 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/indirect5a.c,
|
|
|
|
|
* testsuite/ld-elf/indirect5b.c,
|
|
|
|
|
* testsuite/ld-elf/indirect5.map,
|
|
|
|
|
* testsuite/ld-elf/indirect5.out: New test.
|
|
|
|
|
* testsuite/ld-elf/indirect6a.c: Likewise.
|
|
|
|
|
* testsuite/ld-elf/indirect.exp (check_dynamic_syms): New proc.
|
|
|
|
|
Run new tests and check dynsyms.
|
|
|
|
|
|
2017-04-11 12:07:51 +02:00
|
|
|
|
2017-04-11 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 21274
|
|
|
|
|
PR 18466
|
|
|
|
|
* emultempl/pe.em (pe_find_data_imports): Don't use fixed size
|
|
|
|
|
symbol buffer. Instead, xmalloc max size needed with space for
|
|
|
|
|
prefix. Wrap overlong lines. Formatting. Pass symbol buffer
|
|
|
|
|
copy of name to pe_walk_relocs_of_symbol.
|
|
|
|
|
(make_inport_fixup): Add "name" param, pass to pe_create_import_fixup.
|
|
|
|
|
* emultempl/pe.em (pep_find_data_imports): As for pe_find_data_imports.
|
|
|
|
|
(make_import_fixup): Add "name" param, pass to pep_create_import_fixup.
|
|
|
|
|
Use bfd_get_signed_* and remove unnecessary casts. Formatting.
|
|
|
|
|
* pe-dll.c (pe_walk_relocs_of_symbol): Add "name" param. Pass to
|
|
|
|
|
callback.
|
|
|
|
|
(make_import_fixup_mark): Add "name" param. Make use of prefix
|
|
|
|
|
space rather than xmalloc here.
|
|
|
|
|
(pe_create_import_fixup): Likewise.
|
|
|
|
|
* pe-dll.h (pe_walk_relocs_of_symbol): Update prototype.
|
|
|
|
|
(pe_create_import_fixup): Likewise.
|
|
|
|
|
* pep-dll.h (pep_walk_relocs_of_symbol): Likewise.
|
|
|
|
|
(pep_create_import_fixup): Likewise.
|
|
|
|
|
|
2017-04-10 16:56:55 +02:00
|
|
|
|
2017-04-10 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* ld.texinfo (--strip-discarded): Document.
|
|
|
|
|
(--embedded-relocs): Document.
|
|
|
|
|
(--spare-dynamic-tags): Document.
|
|
|
|
|
(--task-link): Document.
|
|
|
|
|
|
2017-04-10 07:41:35 +02:00
|
|
|
|
2017-04-10 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 21287
|
|
|
|
|
* testsuite/ld-elf/init-fini-arrays.d: Match INIT_ARRAY and FINI_ARRAY.
|
|
|
|
|
* testsuite/ld-elf/init-fini-arrays.s: Use %init_array and %fini_array
|
|
|
|
|
section types.
|
|
|
|
|
* testsuite/lib/ld-lib.exp (default_ld_compile): Trim assembler
|
|
|
|
|
warnings about "ignoring incorrect section type".
|
|
|
|
|
(run_ld_link_exec_tests, run_cc_link_tests): Delete old comment.
|
|
|
|
|
|
2017-04-10 07:40:58 +02:00
|
|
|
|
2017-04-10 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elfvsb/elfvsb.exp (visibility_run): Delete
|
|
|
|
|
sh1p.o, sh2p.o, sh1np.o and sh2np.o before compiling. Use
|
|
|
|
|
remote_file host exists rather than file exists.
|
|
|
|
|
|
2017-04-07 17:53:43 +02:00
|
|
|
|
2017-04-07 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/21090
|
|
|
|
|
* testsuite/ld-x86-64/x86-64.exp (undefined_weak): Use
|
|
|
|
|
NOPIE_CFLAGS and NOPIE_LDFLAGS to disable PIE for the non-pie
|
|
|
|
|
version of the test.
|
|
|
|
|
|
2017-04-07 16:40:14 +02:00
|
|
|
|
2017-04-07 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/19579
|
|
|
|
|
PR ld/21306
|
|
|
|
|
* testsuite/ld-elf/pr19579a.c (main): Updated.
|
|
|
|
|
|
2017-04-07 12:48:08 +02:00
|
|
|
|
2017-04-07 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 21090
|
|
|
|
|
* testsuite/ld-x86-64/x86-64.exp (undefined_weak): Explicitly
|
|
|
|
|
disable PIE for the non-pie version of the test.
|
|
|
|
|
|
2017-04-07 10:31:43 +02:00
|
|
|
|
2017-04-07 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/mbind2a.s: Don't use @, the ARM comment char.
|
|
|
|
|
|
2017-03-31 15:25:18 +02:00
|
|
|
|
2017-04-07 gingold <gingold@gingold-Precision-7510>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-pe/pe.exp: New test.
|
|
|
|
|
* testsuite/ld-pe/weakdef-1.s: New test source.
|
|
|
|
|
* testsuite/ld-pe/weakdef-1.d: New test.
|
|
|
|
|
|
2017-04-06 16:48:33 +02:00
|
|
|
|
2017-04-07 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/mbind1a.d: Remove matches for PT_LOAD segments.
|
|
|
|
|
* testsuite/ld-elf/mbind1b.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/mbind1c.d: Likewise.
|
|
|
|
|
|
2017-04-05 23:12:16 +02:00
|
|
|
|
2017-04-05 Hans-Peter Nilsson <hp@axis.com>
|
|
|
|
|
|
|
|
|
|
PR ld/21233
|
|
|
|
|
* testsuite/ld-elf/shared.exp: Change xfails to kfails and fix
|
|
|
|
|
indentation issue introduced with last commit.
|
|
|
|
|
|
2017-04-05 03:00:40 +02:00
|
|
|
|
2017-04-05 Hans-Peter Nilsson <hp@axis.com>
|
|
|
|
|
|
|
|
|
|
PR ld/21233
|
|
|
|
|
* testsuite/ld-elf/shared.exp: Xfail all PR21233 tests but the
|
|
|
|
|
first test for cris*-*-*.
|
|
|
|
|
|
PR ld/21233: Avoid sweeping forced-undefined symbols in section GC
Complement commit 902e9fc76a0e ("PR ld/20828: Move symbol version
processing ahead of GC symbol sweep"), commit b531344c34b0 ("PR
ld/20828: Reorder the symbol sweep stage of section GC") and commit
81ff47b3a546 ("PR ld/20828: Fix linker script symbols wrongly forced
local with section GC"), and prevent symbols forcibly entered in the
output file with the use of the `--undefined=' or `--require-defined='
linker command line options or the EXTERN linker script command from
being swept in section garbage collection and consequently recorded in
the dynamic symbol table as local entries. This happens in certain
circumstances, where a symbol reference also exists in one of the static
input files, however only in a section which is garbage-collected and
does not make it to the output file, and the symbol is defined in a
dynamic object present in the link.
For example with the `i386-linux' target and the `pr21233.s' and
`pr21233-l.s' sources, and the `pr21233.ld' linker script included with
this change we get:
$ as -o pr21233-l.o pr21233-l.s
$ ld -shared -T pr21233.ld -o libpr21233.so pr21233-l.o
$ as -o pr21233.o pr21233.s
$ ld --gc-sections -e foo --require-defined=bar -T pr21233.ld -o pr21233 pr21233.o libpr21233.so
$ readelf --dyn-syms pr21233
Symbol table '.dynsym' contains 2 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 00000000 0 NOTYPE LOCAL DEFAULT UND
1: 00000000 0 OBJECT LOCAL DEFAULT UND bar
$
which makes the run-time `bar' dependency of the `pr21233' executable
different from its corresponding link-time dependency, i.e. the presence
of `libpr21233.so' and its `bar' symbol is required at the link time,
however at the run time a copy of `libpr21233.so' without `bar' will do.
Similarly with `--undefined=' and EXTERN which do not actually require
the reference to the symbol requested to be satisfied with a definition
at the link time, however once the definition has been pulled at the
link time, so it should at the dynamic load time.
Additionally with the `mips-linux' target we get:
$ ld --gc-sections -e foo --require-defined=bar -T pr21233.ld -o pr21233 pr21233.o libpr21233.so
ld: BFD (GNU Binutils) 2.28.51.20170324 assertion fail .../bfd/elfxx-mips.c:3861
$
as the target is not prepared to handle such a local dynamic symbol.
With this change in effect we get:
$ readelf --dyn-syms pr21233
Symbol table '.dynsym' contains 2 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 00000000 0 NOTYPE LOCAL DEFAULT UND
1: 00000000 0 OBJECT GLOBAL DEFAULT UND bar
$
instead, for both targets.
ld/
PR ld/21233
* ldlang.c (insert_undefined): Set `mark' for ELF symbols.
* testsuite/ld-elf/pr21233.sd: New test.
* testsuite/ld-elf/pr21233-l.sd: New test.
* testsuite/ld-elf/pr21233.ld: New test linker script.
* testsuite/ld-elf/pr21233-e.ld: New test linker script.
* testsuite/ld-elf/pr21233.s: New test source.
* testsuite/ld-elf/pr21233-l.s: New test source.
* testsuite/ld-elf/shared.exp: Run the new tests.
2017-03-27 13:39:07 +02:00
|
|
|
|
2017-04-04 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
PR ld/21233
|
|
|
|
|
* ldlang.c (insert_undefined): Set `mark' for ELF symbols.
|
|
|
|
|
* testsuite/ld-elf/pr21233.sd: New test.
|
|
|
|
|
* testsuite/ld-elf/pr21233-l.sd: New test.
|
|
|
|
|
* testsuite/ld-elf/pr21233.ld: New test linker script.
|
|
|
|
|
* testsuite/ld-elf/pr21233-e.ld: New test linker script.
|
|
|
|
|
* testsuite/ld-elf/pr21233.s: New test source.
|
|
|
|
|
* testsuite/ld-elf/pr21233-l.s: New test source.
|
|
|
|
|
* testsuite/ld-elf/shared.exp: Run the new tests.
|
|
|
|
|
|
Support ELF SHF_GNU_MBIND and PT_GNU_MBIND_XXX
Mark an ALLOC section, which should be placed in special memory area,
with SHF_GNU_MBIND. Its sh_info field indicates the special memory
type. GNU_MBIND section names start with ".mbind" so that they are
placed as orphan sections by linker. All input GNU_MBIND sections
with the same sh_type, sh_flags and sh_info are placed in one output
GNU_MBIND section. In executable and shared object, create a
GNU_MBIND segment for each GNU_MBIND section and its segment type is
PT_GNU_MBIND_LO plus the sh_info value. Each GNU_MBIND segment is
aligned at page boundary.
The assembler syntax:
.section .mbind.foo,"adx",%progbits
^ 0: Special memory type.
|
'd' for SHF_GNU_MBIND.
.section .mbind.foo,"adx",%progbits,0x1
^ 1: Special memory type.
|
'd' for SHF_GNU_MBIND.
.section .mbind.bar,"adG",%progbits,.foo_group,comdat,0x2
^ 2: Special memory type.
|
'd' for SHF_GNU_MBIND.
bfd/
* elf.c (get_program_header_size): Add a GNU_MBIND segment for
each GNU_MBIND section and align GNU_MBIND section to page size.
(_bfd_elf_map_sections_to_segments): Create a GNU_MBIND
segment for each GNU_MBIND section.
(_bfd_elf_init_private_section_data): Copy sh_info from input
for GNU_MBIND section.
binutils/
* NEWS: Mention support for ELF SHF_GNU_MBIND and
PT_GNU_MBIND_XXX.
* readelf.c (get_segment_type): Handle PT_GNU_MBIND_XXX.
(get_elf_section_flags): Handle SHF_GNU_MBIND.
(process_section_headers): Likewise.
* testsuite/binutils-all/mbind1.s: New file.
* testsuite/binutils-all/objcopy.exp: Run readelf test on
mbind1.s.
gas/
* NEWS: Mention support for ELF SHF_GNU_MBIND.
* config/obj-elf.c (section_match): New.
(get_section): Match both sh_info and group name.
(obj_elf_change_section): Add argument for sh_info. Pass both
sh_info and group name to get_section. Issue an error for
SHF_GNU_MBIND section without SHF_ALLOC. Set sh_info.
(obj_elf_parse_section_letters): Set SHF_GNU_MBIND for 'd'.
(obj_elf_section): Support SHF_GNU_MBIND section info.
* config/obj-elf.h (obj_elf_change_section): Add argument for
sh_info.
* config/tc-arm.c (start_unwind_section): Pass 0 as sh_info to
obj_elf_change_section.
* config/tc-ia64.c (obj_elf_vms_common): Likewise.
* config/tc-microblaze.c (microblaze_s_data): Likewise.
(microblaze_s_sdata): Likewise.
(microblaze_s_rdata): Likewise.
(microblaze_s_bss): Likewise.
* config/tc-mips.c (s_change_section): Likewise.
* config/tc-msp430.c (msp430_profiler): Likewise.
* config/tc-rx.c (parse_rx_section): Likewise.
* config/tc-tic6x.c (tic6x_start_unwind_section): Likewise.
* doc/as.texinfo: Document 'd' for SHF_GNU_MBIND.
* testsuite/gas/elf/elf.exp: Run section12a, section12b and
section13.
* testsuite/gas/elf/section10.d: Updated.
* testsuite/gas/elf/section10.s: Likewise.
* testsuite/gas/elf/section12.s: New file.
* testsuite/gas/elf/section12a.d: Likewise.
* testsuite/gas/elf/section12b.d: Likewise.
* testsuite/gas/elf/section13.l: Likewise.
* testsuite/gas/elf/section13.d: Likewise.
* testsuite/gas/elf/section13.s: Likewise.
include/
* elf/common.h (PT_GNU_MBIND_NUM): New.
(PT_GNU_MBIND_LO): Likewise.
(PT_GNU_MBIND_HI): Likewise.
(SHF_GNU_MBIND): Likewise.
ld/
* NEWS: Mention support for ELF SHF_GNU_MBIND and
PT_GNU_MBIND_XXX.
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Place
input GNU_MBIND sections with the same type, attributes and
sh_info field into a single output GNU_MBIND section.
* testsuite/ld-elf/elf.exp: Run mbind2a and mbind2b.
* testsuite/ld-elf/mbind1.s: New file.
* testsuite/ld-elf/mbind1a.d: Likewise.
* testsuite/ld-elf/mbind1b.d: Likewise.
* testsuite/ld-elf/mbind1c.d: Likewise.
* testsuite/ld-elf/mbind2a.s: Likewise.
* testsuite/ld-elf/mbind2b.c: Likewise.
2017-04-04 18:05:48 +02:00
|
|
|
|
2017-04-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* NEWS: Mention support for ELF SHF_GNU_MBIND and
|
|
|
|
|
PT_GNU_MBIND_XXX.
|
|
|
|
|
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Place
|
|
|
|
|
input GNU_MBIND sections with the same type, attributes and
|
|
|
|
|
sh_info field into a single output GNU_MBIND section.
|
|
|
|
|
* testsuite/ld-elf/elf.exp: Run mbind2a and mbind2b.
|
|
|
|
|
* testsuite/ld-elf/mbind1.s: New file.
|
|
|
|
|
* testsuite/ld-elf/mbind1a.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/mbind1b.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/mbind1c.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/mbind2a.s: Likewise.
|
|
|
|
|
* testsuite/ld-elf/mbind2b.c: Likewise.
|
|
|
|
|
|
2017-04-03 17:03:14 +02:00
|
|
|
|
2017-04-03 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
2017-04-03 17:25:36 +02:00
|
|
|
|
* NEWS: Mention support for ELF GNU program properties.
|
2017-04-03 17:03:14 +02:00
|
|
|
|
* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Call
|
|
|
|
|
ELF setup_gnu_properties.
|
|
|
|
|
* testsuite/ld-i386/i386.exp: Run property tests for Linux/i386.
|
|
|
|
|
* testsuite/ld-i386/pass.c: New file.
|
|
|
|
|
* testsuite/ld-i386/property-1.r: Likewise.
|
|
|
|
|
* testsuite/ld-i386/property-2.r: Likewise.
|
|
|
|
|
* testsuite/ld-i386/property-3.r: Likewise.
|
|
|
|
|
* testsuite/ld-i386/property-4.r: Likewise.
|
|
|
|
|
* testsuite/ld-i386/property-5.r: Likewise.
|
|
|
|
|
* testsuite/ld-i386/property-6.r: Likewise.
|
|
|
|
|
* testsuite/ld-i386/property-6a.c: Likewise.
|
|
|
|
|
* testsuite/ld-i386/property-6b.c: Likewise.
|
|
|
|
|
* testsuite/ld-i386/property-6c.S: Likewise.
|
|
|
|
|
* testsuite/ld-i386/property-7.r: Likewise.
|
|
|
|
|
* testsuite/ld-i386/property-no-copy.S: Likewise.
|
|
|
|
|
* testsuite/ld-i386/property-stack.S: Likewise.
|
|
|
|
|
* testsuite/ld-i386/property-unsorted-1.S: Likewise.
|
|
|
|
|
* testsuite/ld-i386/property-unsorted-2.S: Likewise.
|
|
|
|
|
* testsuite/ld-i386/property-x86-1.S: Likewise.
|
|
|
|
|
* testsuite/ld-i386/property-x86-2.S: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pass.c: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-1.r: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-2.r: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-3.r: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-4.r: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-5.r: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-6.r: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-6a.c: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-6b.c: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-6c.S: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-7.r: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-no-copy.S: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-stack.S: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-unsorted-1.S: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-unsorted-2.S: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-1.S: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/property-x86-2.S: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/x86-64.exp: Run property tests for
|
|
|
|
|
Linux/x86-64.
|
|
|
|
|
|
2017-03-28 23:43:09 +02:00
|
|
|
|
2017-03-28 Hans-Peter Nilsson <hp@axis.com>
|
|
|
|
|
|
|
|
|
|
PR ld/16044
|
|
|
|
|
* testsuite/ld-cris/pr16044.d, testsuite/ld-cris/dso-1c.s,
|
|
|
|
|
testsuite/ld-cris/dso-2b.s, testsuite/ld-cris/dso-4.s: New test.
|
|
|
|
|
|
2017-03-21 21:25:09 +01:00
|
|
|
|
2017-03-21 Sandra Loosemore <sandra@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/lib/ld-lib.exp (check_shared_lib_support): Return
|
|
|
|
|
false for nios2-*-elf.
|
|
|
|
|
|
2017-03-17 11:12:05 +01:00
|
|
|
|
2017-03-21 gingold <gingold@gingold-Precision-7510>
|
|
|
|
|
|
|
|
|
|
* ldlang.c (lang_check_section_addresses): Check only for
|
|
|
|
|
allocated sections.
|
|
|
|
|
|
2017-03-14 12:31:34 +01:00
|
|
|
|
2017-03-17 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/sec64k.exp: Don't run on h8300 and ip2k.
|
|
|
|
|
|
2017-03-14 14:54:37 +01:00
|
|
|
|
2017-03-15 Tristan Gingold <gingold@adacore.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-checks/checks.exp (overflow_check): Disable for
|
|
|
|
|
non-elf targets.
|
|
|
|
|
|
2017-03-14 17:09:54 +01:00
|
|
|
|
2017-03-14 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* ldlang.c (lang_check_section_addresses): Use addr_mask to
|
|
|
|
|
check VMA and LMA.
|
|
|
|
|
|
2017-03-13 10:58:04 +01:00
|
|
|
|
2017-03-13 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/21202
|
|
|
|
|
* testsuite/ld-aarch64/ifunc-5r-local.d: Update regexp.
|
|
|
|
|
|
2017-03-10 15:16:19 +01:00
|
|
|
|
2017-03-13 Tristan Gingold <gingold@adacore.com>
|
|
|
|
|
|
|
|
|
|
* ldlang.c (lang_check_section_addresses): Check for address space
|
|
|
|
|
overflow.
|
|
|
|
|
* testsuite/ld-checks/checks.exp (overflow_check): New procedure
|
|
|
|
|
* testsuite/ld-checks/over.s: New test source.
|
|
|
|
|
* testsuite/ld-checks/over.d: New test.
|
|
|
|
|
* testsuite/ld-checks/over2.s: New test source.
|
|
|
|
|
* testsuite/ld-checks/over2.d: New test.
|
|
|
|
|
|
2017-03-13 04:49:46 +01:00
|
|
|
|
2017-03-13 Alexey Neyman <stilor@att.net>
|
|
|
|
|
|
|
|
|
|
* emulparams/elf32ppccommon.sh (LIBPATH_SUFFIX): Set from target
|
|
|
|
|
cpu, not host.
|
|
|
|
|
|
2017-03-11 14:07:02 +01:00
|
|
|
|
2017-03-11 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Add
|
|
|
|
|
sysroot for -rpath search.
|
|
|
|
|
|
2017-03-11 13:27:29 +01:00
|
|
|
|
2017-03-11 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/elf32.em (gld${EMULATION_NAME}_add_sysroot): Rewrite.
|
|
|
|
|
Only prefix absolute paths with sysroot. Handle DOS paths.
|
|
|
|
|
(gld${EMULATION_NAME}_check_ld_elf_hints): Constify variable.
|
|
|
|
|
(gld${EMULATION_NAME}_check_ld_so_conf): Likewise.
|
|
|
|
|
(gld${EMULATION_NAME}_after_open): Short-circuit NULL path
|
|
|
|
|
searches. Rename variable. Simplify get_runpath search.
|
|
|
|
|
|
2017-03-11 01:34:02 +01:00
|
|
|
|
2017-03-11 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/shared.exp: Use -Wl,-export-dynamic rather
|
|
|
|
|
than -rdynamic.
|
|
|
|
|
|
2017-03-11 01:21:56 +01:00
|
|
|
|
2017-03-11 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ld.texinfo (Orphan Sections): Mention that not all targets
|
|
|
|
|
handle orphans well.
|
|
|
|
|
* testsuite/ld-elf/orphan-9.d: Don't run for i860 and i960.
|
|
|
|
|
* testsuite/ld-elf/orphan-10.d: Likewise.
|
|
|
|
|
|
ld: Track changes to default region LMA even for empty sections
Given a linker script fragment like this:
SECTIONS {
. = 0x1000;
.text : AT(0x100) { *(.text) }
.data : AT(0x200) { *(.data) }
.rodata : AT(0x300) { *(.rodata) }
}
and an input file containing sections, '.text', '.data.1', and
'.rodata', then we'd expect the linker to place '.text' and '.rodata' in
the obvious way, and the '.data.1' orphan section would be located after
the '.data' section (assuming similar section properties).
Further, I believe that the expectation would be that the LMA for the
orphan '.data.1' section would start from 0x200 (as there is no '.data'
content).
However, right now, the LMA for '.data.1' would be 0x101, following on
from the '.text' section, this is because the change in LMA for the
'.data' section is not noticed by the linker, if there's no content in
the '.data' section.
What can be even more confusing to a user (though the cause is obvious
once you understand what's going on) is that adding some content to
'.data' will cause the orphan '.data.1' to switch to an LMA based off of
0x200.
This commit changes the behaviour so that an empty section that is in
the default lma region, and sets its lma, will adjust the lma of the
default region, this change will then be reflected in following sections
within the default lma memory region.
There's a new test to cover this issue that passes on a range of
targets, however, some targets generate additional sections, or have
stricter memory region size requirements that make it harder to come
up with a generic pass pattern, that still tests the required
features. For now I've set the test to ignore these targets.
ld/ChangeLog:
* ldlang.c (lang_size_sections_1): Shortcut loop only after
tracking changes to the default regions LMA.
* testsuite/ld-elf/orphan-9.ld: Extend header comment.
* testsuite/ld-elf/orphan-10.d: New file.
* testsuite/ld-elf/orphan-10.s: New file.
* NEWS: Mention change in behaviour.
2017-01-17 20:13:29 +01:00
|
|
|
|
2017-03-09 Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* ldlang.c (lang_size_sections_1): Shortcut loop only after
|
|
|
|
|
tracking changes to the default regions LMA.
|
|
|
|
|
* testsuite/ld-elf/orphan-9.ld: Extend header comment.
|
|
|
|
|
* testsuite/ld-elf/orphan-10.d: New file.
|
|
|
|
|
* testsuite/ld-elf/orphan-10.s: New file.
|
|
|
|
|
* NEWS: Mention change in behaviour.
|
|
|
|
|
|
ld: better handling of lma region for orphan sections
When picking an lma_region for an orphan section we currently create a
new lang_output_section_statement_type and then populate this with the
orphan section.
The problem is that the lang_output_section_statement_type has a prev
pointer that links back to the previous output section. For non-orphan
output sections, that are created in linker script order, the prev
pointer will point to the output section that appears previous in linker
script order, as you'd probably expect.
The problem is that orphan sections are placed after processing the
linker script, and so, in the case of an output section created for an
orphan input section, the prev pointer actually points to the last
output section created.
This causes some unexpected behaviour when the orphan section is not
placed after the last non-orphan section that was created.
For example, consider this linker script:
MEMORY {
TEXT : ORIGIN = 0x200, LENGTH = 0x10
RODATA : ORIGIN = 0x400, LENGTH = 0x10
}
SECTIONS {
.text : {*(.text) } AT>TEXT
.data : AT(0x300) { *(.data) }
.rodata : { *(.rodata) } AT>RODATA
}
If we are processing an orphan section '.data.1' and decide to place
this after '.data', then the output section created will have a prev
pointer that references the '.rodata' output section. The result of
this is that '.data.1' will actually be assigned to the RODATA lma
region, which is probably not the expected behaviour.
The reason why '.data.1' is placed into the lma region of the '.rodata'
section is that lma region propagation is done at the time we create the
output section, based on the previous output section pointer, which is
really just a last-output-section-created pointer at that point in time,
though the prev point is fixed up later to reflect the true order of the
output sections.
The solution I propose in this commit is to move the propagation of lma
regions into a separate pass of the linker, rather than performing this
as part of the enter/exit of output sections during linker script
parsing.
During this later phase we have all of the output sections to hand, and
the prev/next points have been fixed up by this point to reflect the
actual placement ordering.
There's a new test to cover this issue that passes on a range of
targets, however, some targets generate additional sections, or have
stricter memory region size requirements that make it harder to come
up with a generic pass pattern, that still tests the required
features. For now I've set the test to ignore these targets.
ld/ChangeLog:
* ldlang.c (lang_leave_output_section_statement): Move lma_region
logic to...
(lang_propagate_lma_regions): ...this new function.
(lang_process): Call new function.
* testsuite/ld-elf/orphan-9.d: New file.
* testsuite/ld-elf/orphan-9.ld: New file.
* testsuite/ld-elf/orphan-9.s: New file.
* NEWS: Mention change in behaviour.
2017-01-17 20:12:54 +01:00
|
|
|
|
2017-03-09 Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* ldlang.c (lang_leave_output_section_statement): Move lma_region
|
|
|
|
|
logic to...
|
|
|
|
|
(lang_propagate_lma_regions): ...this new function.
|
|
|
|
|
(lang_process): Call new function.
|
|
|
|
|
* testsuite/ld-elf/orphan-9.d: New file.
|
|
|
|
|
* testsuite/ld-elf/orphan-9.ld: New file.
|
|
|
|
|
* testsuite/ld-elf/orphan-9.s: New file.
|
|
|
|
|
* NEWS: Mention change in behaviour.
|
|
|
|
|
|
2017-03-07 02:50:00 +01:00
|
|
|
|
2017-03-07 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ldlang.c (open_input_bfds): Check that lang_assignment_statement
|
|
|
|
|
is not an assert before referencing defsym.
|
|
|
|
|
|
2017-03-05 05:19:54 +01:00
|
|
|
|
2017-03-05 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/eh3.d: Adjust for eh_frame alignment change.
|
|
|
|
|
* testsuite/ld-elf/eh6.d: Likewise.
|
|
|
|
|
* testsuite/ld-alpha/tlsbin.dd: Likewise.
|
|
|
|
|
* testsuite/ld-alpha/tlsbin.td: Likewise.
|
|
|
|
|
* testsuite/ld-alpha/tlsbinr.dd: Likewise.
|
|
|
|
|
* testsuite/ld-alpha/tlspic.dd: Likewise.
|
|
|
|
|
* testsuite/ld-alpha/tlspic.rd: Likewise.
|
|
|
|
|
* testsuite/ld-alpha/tlspic.sd: Likewise.
|
|
|
|
|
* testsuite/ld-alpha/tlspic.td: Likewise.
|
|
|
|
|
* testsuite/ld-mips-elf/eh-frame1-n64.d: Likewise.
|
|
|
|
|
* testsuite/ld-mips-elf/eh-frame2-n64.d: Likewise.
|
|
|
|
|
* testsuite/ld-mips-elf/eh-frame3.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr20830a.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr21038a.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr21038b.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr21038c.d: Likewise.
|
|
|
|
|
|
2017-03-03 12:35:03 +01:00
|
|
|
|
2017-03-03 Max Bolingbroke <batterseapower@hotmail.com>
|
|
|
|
|
|
|
|
|
|
PR 12969
|
|
|
|
|
* pe-dll.c (generate_edata): Fail if the input file(s) require too
|
|
|
|
|
many ordinals.
|
|
|
|
|
|
2017-03-02 00:53:42 +01:00
|
|
|
|
2017-03-02 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/shared.exp: Pass -ansi when compiling new.cc
|
|
|
|
|
and dl3.cc.
|
|
|
|
|
|
2017-02-28 01:08:51 +01:00
|
|
|
|
2017-02-28 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/merge.d: xfail for nios.
|
|
|
|
|
|
2017-02-27 23:02:36 +01:00
|
|
|
|
2017-02-28 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-powerpc/addpcis.d: Define ext1 and ext2 at
|
|
|
|
|
limits of addpcis range.
|
|
|
|
|
|
2017-02-28 01:14:08 +01:00
|
|
|
|
2017-02-28 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-mips-elf/jalr4.dd: Adjust for `jalr $0, $25'
|
|
|
|
|
instructions.
|
|
|
|
|
* testsuite/ld-mips-elf/jalr4-r6.dd: New test.
|
|
|
|
|
* testsuite/ld-mips-elf/mips-elf.exp: Run the new test.
|
|
|
|
|
|
2017-02-27 18:05:53 +01:00
|
|
|
|
2017-02-27 Georg-Johann Lay <gjl@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
PR target/20849
|
2017-06-05 01:57:38 +02:00
|
|
|
|
* scripttempl/avrtiny.sc (__RODATA_PM_OFFSET__): New define.
|
|
|
|
|
(.rodata): New section.
|
|
|
|
|
(.data): Remove .rodata*.
|
2017-02-27 18:05:53 +01:00
|
|
|
|
|
2017-02-24 14:32:27 +01:00
|
|
|
|
2017-02-25 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/elf.exp: Xfail pr20995 tests on hppa64-hpux.
|
|
|
|
|
Set up HPUX defsym. Run pr14170 tests and build symbol3 objects,
|
|
|
|
|
defining HPUX where necessary. Define HPUX for implib tests.
|
|
|
|
|
* testsuite/ld-elf/comm-data4.d: Run for hpux.
|
|
|
|
|
* testsuite/ld-elf/endsym.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/linkoncerdiff.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/comm-data4.s: Add alternate .comm when HPUX.
|
|
|
|
|
* testsuite/ld-elf/comm-data5.s: Likewise.
|
|
|
|
|
* testsuite/ld-elf/endsym.s: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr14170c.s: Likewise.
|
|
|
|
|
* testsuite/ld-elf/symbol3.s: Likewise.
|
|
|
|
|
* testsuite/ld-elf/implib.s: Likewise. Don't start directives
|
|
|
|
|
in first column.
|
|
|
|
|
* testsuite/ld-elf/linkoncerdiff2.s: Don't use numeric labels.
|
|
|
|
|
* testsuite/ld-elf/warn3.d: Run for hpux.
|
|
|
|
|
* testsuite/ld-scripts/rgn-at10.d: Xfail for hpux.
|
|
|
|
|
* testsuite/ld-scripts/rgn-at11.d: Likewise.
|
|
|
|
|
* testsuite/ld-scripts/size-2.d: Remove xfail for hpux.
|
|
|
|
|
|
2017-02-23 19:16:11 +01:00
|
|
|
|
2017-02-24 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
2017-03-24 13:25:49 +01:00
|
|
|
|
* testsuite/ld-elf/ver_def.vd: New test.
|
|
|
|
|
* testsuite/ld-elf/ver_def-tic6x.vd: New test.
|
2017-02-23 19:16:11 +01:00
|
|
|
|
* testsuite/ld-elf/ver_def.ld: New test linker script.
|
|
|
|
|
* testsuite/ld-elf/ver_def.ver: New test version script.
|
|
|
|
|
* testsuite/ld-elf/ver_def.s: New test source.
|
|
|
|
|
* testsuite/ld-elf/readelf.exp: New test script.
|
|
|
|
|
|
2017-02-23 23:27:50 +01:00
|
|
|
|
2017-02-23 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-mips-elf/relax-jalr-n32.d: Remove `--relax'
|
|
|
|
|
option.
|
|
|
|
|
* testsuite/ld-mips-elf/relax-jalr-n32-shared.d: Likewise.
|
|
|
|
|
* testsuite/ld-mips-elf/relax-jalr-n64.d: Likewise.
|
|
|
|
|
* testsuite/ld-mips-elf/relax-jalr-n64-shared.d: Likewise.
|
|
|
|
|
|
2017-02-23 20:26:53 +01:00
|
|
|
|
2017-02-23 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-mips-elf/jalr4.dd: New test.
|
|
|
|
|
* testsuite/ld-mips-elf/mips-elf.exp: Run the new test.
|
|
|
|
|
|
2017-02-23 02:50:42 +01:00
|
|
|
|
2017-02-23 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 20744
|
|
|
|
|
* testsuite/ld-powerpc/vle-reloc-2.s: Use r6 for last insn of
|
|
|
|
|
each group.
|
|
|
|
|
* testsuite/ld-powerpc/vle-reloc-2.d: Update for above change
|
|
|
|
|
and sdarel reloc fix.
|
|
|
|
|
|
2017-02-21 02:46:42 +01:00
|
|
|
|
2017-02-22 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
PR ld/20828
|
|
|
|
|
* testsuite/ld-elf/pr20828-d.sd: New test.
|
|
|
|
|
* testsuite/ld-elf/pr20828-e.sd: New test.
|
|
|
|
|
* testsuite/ld-elf/pr20828-v.od: New test.
|
|
|
|
|
* testsuite/ld-elf/pr20828-v.ver: New test version script.
|
|
|
|
|
* testsuite/ld-elf/pr20828-v.ld: New test linker script.
|
|
|
|
|
* testsuite/ld-elf/pr20828.ld: Add `.gnu.version' and
|
|
|
|
|
`.gnu.version_d'.
|
|
|
|
|
* testsuite/ld-elf/shared.exp: Run the new tests.
|
|
|
|
|
|
2017-02-21 12:00:21 +01:00
|
|
|
|
2017-02-21 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-ifunc/pr18808b.c (bar): Fix compile time warning
|
|
|
|
|
about non-void function returning without a result.
|
|
|
|
|
|
2017-02-20 03:54:28 +01:00
|
|
|
|
2017-02-17 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 15041
|
|
|
|
|
* scripttempl/pe.sc: Don't combine sections for ld -r.
|
|
|
|
|
* scripttempl/pep.sc: Likewise.
|
|
|
|
|
|
2017-02-20 03:55:13 +01:00
|
|
|
|
2017-02-17 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
2017-02-20 11:58:59 +01:00
|
|
|
|
PR 21099
|
2017-02-20 03:55:13 +01:00
|
|
|
|
* emulparams/elf32m32c.sh: Define STACK_ADDR and STACK_SENTINEL
|
|
|
|
|
rather than using OTHER_SECTIONS.
|
|
|
|
|
* emulparams/elf32mt.sh: Likewise.
|
|
|
|
|
* emulparams/elf32rx.sh: Likewise.
|
|
|
|
|
* emulparams/elf32rl78.sh: Likewise. Use OTHER_SYMBOLS to
|
|
|
|
|
define __rl78_abs__.
|
|
|
|
|
* emulparams/shelf.sh: Define STACK_ADDR and STACK_SENTINEL
|
|
|
|
|
rather than using OTHER_SECTIONS.
|
|
|
|
|
* emulparams/shelf32.sh: Likewise. Use OTHER_SECTIONS for .cranges.
|
|
|
|
|
* emulparams/shelf64.sh: Unset OTHER_SECTIONS.
|
|
|
|
|
* emulparams/shelf_nbsd.sh: Unset STACK_ADDR not OTHER_SECTIONS.
|
|
|
|
|
* emulparams/shelf_uclinux.sh: Likewise.
|
|
|
|
|
* emulparams/shlsymbian.sh: Unset STACK_ADDR. Use OTHER_SYMBOLS
|
|
|
|
|
to define _stack, not OTHER_SECTIONS.
|
|
|
|
|
* scripttempl/elf.sc: Move STACK, TINY_DATA_SECTION, and
|
|
|
|
|
TINY_BSS_SECTION before debug sections. Add STACK_SENTINEL.
|
|
|
|
|
* scripttempl/arclinux.sc: Likewise.
|
|
|
|
|
* scripttempl/elf64hppa.sc: Likewise.
|
|
|
|
|
* scripttempl/elfxtensa.sc: Likewise.
|
|
|
|
|
* scripttempl/nds32elf.sc: Likewise.
|
|
|
|
|
* scripttempl/armbpabi.sc: Move STACK before debug sections.
|
|
|
|
|
* scripttempl/elf_chaos.sc: Likewise.
|
|
|
|
|
* scripttempl/elfarc.sc: Delete STACK.
|
|
|
|
|
* scripttempl/epiphany_4x4.sc: Delete STACK. Move TINY_DATA_SECTION,
|
|
|
|
|
TINY_BSS_SECTION, and .stack before debug sections.
|
|
|
|
|
|
2017-02-17 17:31:09 +01:00
|
|
|
|
2017-02-17 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR ld/20825
|
|
|
|
|
* ld.texinfo (Options): Add missing @item entry for --pop-state.
|
|
|
|
|
|
2017-02-17 08:28:17 +01:00
|
|
|
|
2017-02-17 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/dwarf2.err: Accept other errors between the
|
|
|
|
|
multiple definition errors.
|
|
|
|
|
|
2017-02-17 07:54:02 +01:00
|
|
|
|
2017-02-17 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/dwarf2.err: Add missing newline at end.
|
|
|
|
|
* testsuite/ld-elf/dwarf3.err: Likewise. Allow match without filename.
|
|
|
|
|
|
2016-12-19 16:27:59 +01:00
|
|
|
|
2017-02-16 Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/shared.exp: Update expected results.
|
|
|
|
|
* testsuite/ld-elf/dwarf2.err: Likewise
|
|
|
|
|
|
bfd/dwarf: Improve use of previously loaded dwarf information
When parsing DWARF data in order to report file/line type error messages
we perform section placement to make section addresses unique within
relocatable object files.
Currently, if we reuse previously loaded (and cached) dwarf data then we
neglect to perform section placement, the result is that the section
addresses will not be unique, and we might, incorrectly associate an
address with the wrong debug information, and so report an incorrect
file and line number.
Further we neglect to check that that bfd for which we are looking up
debug information is actually the bfd for which the previous debug
information was loaded, it is possible that we will reuse previously
loaded debug information for a different bfd.
And finally, due to following of gnu_debuglink links in one bfd to
another, the process of checking that the cached debug information is
valid requires us to track the original bfd in the cached debug
information. The original debug information here is either the bfd that
we're interested in, not the bfd we finally load the debug information
from.
bfd/ChangeLog:
* dwarf2.c (struct dwarf2_debug): Add orig_bfd member.
(_bfd_dwarf2_slurp_debug_info): If stashed debug information does
not match current bfd, then reload debug information. Record bfd
we're loading debug info for in the stash. If we have debug
informatin in the cache then perform section placement before
returning.
ld/ChangeLog:
* testsuite/ld-elf/dwarf.exp (build_tests): Add new tests.
* testsuite/ld-elf/dwarf2.err: New file.
* testsuite/ld-elf/dwarf2a.c: New file.
* testsuite/ld-elf/dwarf2b.c: New file.
* testsuite/ld-elf/dwarf3.c: New file.
* testsuite/ld-elf/dwarf3.err: New file.
2016-12-15 16:22:49 +01:00
|
|
|
|
2017-02-16 Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/dwarf.exp (build_tests): Add new tests.
|
|
|
|
|
* testsuite/ld-elf/dwarf2.err: New file.
|
|
|
|
|
* testsuite/ld-elf/dwarf2a.c: New file.
|
|
|
|
|
* testsuite/ld-elf/dwarf2b.c: New file.
|
|
|
|
|
* testsuite/ld-elf/dwarf3.c: New file.
|
|
|
|
|
* testsuite/ld-elf/dwarf3.err: New file.
|
|
|
|
|
|
ld: Add additional checking for warnings/errors in testsuite
This commit adds new actions to the run_cc_link_tests mechanism in the
linker testsuite.
Previously this procedure could take a parameter containing a regular
expression that would be matched against warnings from the linker.
After this commit the warnings parameter is removed, instead, the
actions list can contain the actions 'warning', 'error',
'warning_output', or 'error_output'. The action names are chosen to
match the actions already present in the run_dump_test procedure.
These new actions allow for the current warning checking, but also allow
for checking of errors using a regular expression. More interestingly,
the *_output actions allow for the warning/error patterns to be placed
in a separate file.
The small number of tests that make use of the warning parameter have
been updated to the new mechanism. Later commits will make use of the
new features added in this commit.
ld/ChangeLog:
* testsuite/lib/ld-lib.exp (run_cc_link_tests): Add warning,
error, warning_output, and error_output actions. Remove separate
warnings parameter.
* testsuite/ld-elf/shared.exp (build_tests): Updated to use
'warning' action.
* testsuite/ld-plugin/lto.exp (lto_link_tests): Likewise.
2017-02-07 23:31:46 +01:00
|
|
|
|
2017-02-16 Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/lib/ld-lib.exp (run_cc_link_tests): Add warning,
|
|
|
|
|
error, warning_output, and error_output actions. Remove separate
|
|
|
|
|
warnings parameter.
|
|
|
|
|
* testsuite/ld-elf/shared.exp (build_tests): Updated to use
|
|
|
|
|
'warning' action.
|
|
|
|
|
* testsuite/ld-plugin/lto.exp (lto_link_tests): Likewise.
|
|
|
|
|
|
2017-02-16 12:49:10 +01:00
|
|
|
|
2017-02-16 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/check-ptr-eq.c (check_ptr_eq): Change params
|
|
|
|
|
from void pointers to function pointers.
|
|
|
|
|
* testsuite/ld-elf/pr18718.c: Update to suit.
|
|
|
|
|
* testsuite/ld-elf/pr18720a.c: Update to suit.
|
|
|
|
|
|
2017-02-14 01:15:51 +01:00
|
|
|
|
2017-02-16 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 21000
|
|
|
|
|
* testsuite/ld-elf/loadaddr1.d: Adjust for hppa file offsets.
|
|
|
|
|
* testsuite/ld-elf/loadaddr2.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/loadaddr3a.d: Likewise.
|
|
|
|
|
* testsuite/ld-scripts/rgn-at5.d: Likewise.
|
|
|
|
|
|
2017-02-16 05:43:56 +01:00
|
|
|
|
2017-02-16 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-powerpc/vxworks1-lib.s: Correct addi to addic.
|
|
|
|
|
* testsuite/ld-powerpc/vxworks1-lib.dd: Adjust to suit.
|
|
|
|
|
|
2017-02-15 20:39:30 +01:00
|
|
|
|
2017-02-15 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/21168
|
|
|
|
|
* testsuite/ld-i386/i386.exp: Run pr21168.
|
|
|
|
|
* testsuite/ld-i386/pr21168a.c: New file.
|
|
|
|
|
* testsuite/ld-i386/pr21168b.S: Likewise.
|
|
|
|
|
|
2017-02-15 19:55:51 +01:00
|
|
|
|
2017-02-15 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/20244
|
|
|
|
|
* testsuite/ld-i386/i386.exp: Run pr20244-4a, pr20244-4b and
|
|
|
|
|
pr20244-4c.
|
|
|
|
|
* testsuite/ld-i386/pr20244-4.s: New file.
|
|
|
|
|
* testsuite/ld-i386/pr20244-4a.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/pr20244-4b.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/pr20244-4c.d: Likewise.
|
|
|
|
|
|
2017-02-07 03:08:23 +01:00
|
|
|
|
2017-02-15 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* ldmisc.c (vfinfo): Don't print the function name again either
|
|
|
|
|
if no source file name has been found both now and previously.
|
|
|
|
|
* testsuite/ld-cris/tls-err-20x.d: Adjust accordingly.
|
|
|
|
|
* testsuite/ld-mips-elf/mode-change-error-1.d: Likewise.
|
|
|
|
|
* testsuite/ld-mips-elf/unaligned-branch.d: Likewise.
|
|
|
|
|
* testsuite/ld-mips-elf/unaligned-branch-mips16.d: Likewise.
|
|
|
|
|
* testsuite/ld-mips-elf/unaligned-branch-micromips.d: Likewise.
|
|
|
|
|
* testsuite/ld-mips-elf/unaligned-branch-r6-1.d: Likewise.
|
|
|
|
|
* testsuite/ld-mips-elf/unaligned-branch-2.d: Likewise.
|
|
|
|
|
* testsuite/ld-mips-elf/unaligned-branch-r6-2.d: Likewise.
|
|
|
|
|
* testsuite/ld-mips-elf/unaligned-branch-ignore-2.d: Likewise.
|
|
|
|
|
* testsuite/ld-mips-elf/unaligned-branch-ignore-mips16.d:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/ld-mips-elf/unaligned-branch-ignore-micromips.d:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/ld-mips-elf/unaligned-branch-ignore-r6-1.d:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/ld-mips-elf/unaligned-jalx-addend-1.d: Likewise.
|
|
|
|
|
* testsuite/ld-mips-elf/unaligned-jalx-addend-mips16-1.d:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/ld-mips-elf/unaligned-jalx-addend-micromips-1.d:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/ld-mips-elf/unaligned-jalx-addend-3.d: Likewise.
|
|
|
|
|
* testsuite/ld-mips-elf/unaligned-jump.d: Likewise.
|
|
|
|
|
* testsuite/ld-mips-elf/unaligned-jump-mips16.d: Likewise.
|
|
|
|
|
* testsuite/ld-mips-elf/unaligned-jump-micromips.d: Likewise.
|
|
|
|
|
* testsuite/ld-mips-elf/unaligned-lwpc-1.d: Likewise.
|
|
|
|
|
* testsuite/ld-mips-elf/unaligned-ldpc-1.d: Likewise.
|
|
|
|
|
* testsuite/ld-powerpc/tocopt.out: Likewise.
|
|
|
|
|
* testsuite/ld-powerpc/tocopt7.out: Likewise.
|
|
|
|
|
|
2017-02-07 03:06:20 +01:00
|
|
|
|
2017-02-15 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* ldmisc.c (vfinfo) <'H'>: Remove static NULL initializers.
|
|
|
|
|
|
2017-02-15 10:13:56 +01:00
|
|
|
|
2017-02-15 Igor Kudrin <ikudrin@accesssoftek.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-scripts/sysroot-prefix.exp
|
|
|
|
|
(get_base_dir_for_scripts): New function.
|
|
|
|
|
(run_sysroot_prefix_test): Use get_base_dir_for_scripts.
|
|
|
|
|
|
2017-02-08 20:26:07 +01:00
|
|
|
|
2017-02-13 Palmer Dabbelt <palmer@dabbelt.com>
|
|
|
|
|
|
|
|
|
|
* emulparams/elf32lriscv-defs.sh (SDATA_START_SYMBOLS): Change
|
|
|
|
|
_gp to __global_pointer$
|
|
|
|
|
|
2017-01-26 11:33:23 +01:00
|
|
|
|
2017-02-08 Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* configure.tgt (arc*-*-linux*): Change the default linker
|
|
|
|
|
emulation based on --with-cpu selection.
|
|
|
|
|
* NEWS: Mention new configuration option.
|
|
|
|
|
|
2017-02-02 18:15:26 +01:00
|
|
|
|
2017-02-06 Jiong Wang <jiong.wang@arm.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/compress.exp: Don't print to stdout for all
|
|
|
|
|
"readelf -w".
|
|
|
|
|
|
2017-02-02 21:44:41 +01:00
|
|
|
|
2017-02-02 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-cris/tls-err-20x.d: Fix a typo, s/n/\n/.
|
|
|
|
|
|
2017-02-02 20:09:57 +01:00
|
|
|
|
2017-02-02 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* ld/testsuite/lib/ld-lib.exp (run_dump_test): Fix a typo,
|
|
|
|
|
s/regexp/regex/.
|
|
|
|
|
|
2017-02-01 17:44:40 +01:00
|
|
|
|
2017-02-02 Jiong Wang <jiong.wang@arm.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/lib/ld-lib.exp (check_libdl_available): New function.
|
|
|
|
|
* testsuite/ld-elf/shared.exp (run_tests): Split tests which require
|
|
|
|
|
dlopen support into "dlopen_run_tests". These tests include dl1*main
|
|
|
|
|
and dl6*main.
|
|
|
|
|
(dlopen_run_tests): New and only run it when check_libdl_available
|
|
|
|
|
returns true. XFAIL on *-*-netbsdelf*.
|
|
|
|
|
|
2017-02-01 23:09:33 +01:00
|
|
|
|
2017-02-01 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-mips-elf/vxworks-forced-local-1.d: Correct the
|
|
|
|
|
presentation of relocation addends.
|
|
|
|
|
* testsuite/ld-mips-elf/vxworks1-lib.rd: Likewise.
|
|
|
|
|
* testsuite/ld-mips-elf/vxworks1.dd: Likewise.
|
|
|
|
|
* testsuite/ld-mips-elf/vxworks1.rd: Likewise.
|
|
|
|
|
|
2017-02-01 23:08:02 +01:00
|
|
|
|
2017-02-01 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-mips-elf/tls-multi-got-1-1.s: Place `tlsvar_ld'
|
|
|
|
|
in `.tdata' section.
|
|
|
|
|
* testsuite/ld-mips-elf/tls-multi-got-1.got: Adjust accordingly.
|
|
|
|
|
* testsuite/ld-mips-elf/tls-multi-got-1.r: Likewise.
|
|
|
|
|
|
2017-01-31 13:20:48 +01:00
|
|
|
|
2017-02-01 Jiong Wang <jiong.wang@arm.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-unique/unique.exp (Could not link a dynamic executable):
|
|
|
|
|
Append $board_cflags to link commands.
|
|
|
|
|
|
2017-02-01 07:08:39 +01:00
|
|
|
|
2017-02-01 Senthil Kumar Selvaraj <senthilkumar.selvaraj@microchip.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-scripts/print-memory-usage-1.l: Relax
|
|
|
|
|
check for digit in second decimal place.
|
|
|
|
|
|
2017-01-31 18:59:44 +01:00
|
|
|
|
2017-02-01 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
PR ld/20828
|
|
|
|
|
* testsuite/ld-elf/shared.exp: Correct PR ld/20828 test
|
|
|
|
|
indentation.
|
|
|
|
|
|
2017-01-31 13:07:04 +01:00
|
|
|
|
2017-01-31 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* ldmain.c (add_archive_element): Eliminate string buffer.
|
|
|
|
|
* ldlang.c (lang_print_asneeded): Likewise.
|
|
|
|
|
|
2017-01-30 18:11:22 +01:00
|
|
|
|
2017-01-30 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/mipself.em (ignore_branch_isa): New variable.
|
|
|
|
|
(mips_create_output_section_statements): Rename
|
|
|
|
|
`_bfd_mips_elf_insn32' called to `_bfd_mips_elf_linker_flags',
|
|
|
|
|
add `ignore_branch_isa' argument.
|
|
|
|
|
(PARSE_AND_LIST_PROLOGUE): Add OPTION_IGNORE_BRANCH_ISA and
|
|
|
|
|
OPTION_NO_IGNORE_BRANCH_ISA enum values.
|
|
|
|
|
(PARSE_AND_LIST_LONGOPTS): Add "ignore-branch-isa" and
|
|
|
|
|
"no-ignore-branch-isa" options.
|
|
|
|
|
(PARSE_AND_LIST_OPTIONS): Add `--ignore-branch-isa' and
|
|
|
|
|
`--no-ignore-branch-isa'.
|
|
|
|
|
(PARSE_AND_LIST_ARGS_CASES): Handle OPTION_IGNORE_BRANCH_ISA and
|
|
|
|
|
OPTION_NO_IGNORE_BRANCH_ISA.
|
|
|
|
|
|
|
|
|
|
* ld.texinfo (Options specific to MIPS targets): Add
|
|
|
|
|
`--ignore-branch-isa' and `--no-ignore-branch-isa' options.
|
|
|
|
|
(ld and the MIPS family): Likewise.
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-mips-elf/bal-jalx-pic-ignore.d: New test.
|
|
|
|
|
* testsuite/ld-mips-elf/bal-jalx-pic-ignore-n32.d: New test.
|
|
|
|
|
* testsuite/ld-mips-elf/bal-jalx-pic-ignore-n64.d: New test.
|
|
|
|
|
* testsuite/ld-mips-elf/unaligned-branch-ignore-2.d: New test.
|
|
|
|
|
* testsuite/ld-mips-elf/unaligned-branch-ignore-r6-1: New test.
|
|
|
|
|
* testsuite/ld-mips-elf/unaligned-branch-ignore-mips16: New
|
|
|
|
|
test.
|
|
|
|
|
* testsuite/ld-mips-elf/unaligned-branch-ignore-micromips: New
|
|
|
|
|
test.
|
|
|
|
|
* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.
|
|
|
|
|
|
2017-01-29 13:53:58 +01:00
|
|
|
|
2017-01-29 Hans-Peter Nilsson <hp@axis.com>
|
|
|
|
|
|
2017-01-29 14:13:38 +01:00
|
|
|
|
PR binutils/19935
|
2017-01-29 13:53:58 +01:00
|
|
|
|
Fix long-standing buglet and fallout from now-default initfini-array.
|
|
|
|
|
* emulparams/criself.sh (USER_LABEL_PREFIX): Define.
|
2017-01-29 16:15:16 +01:00
|
|
|
|
(OTHER_END_SYMBOLS, ENTRY): Delete now-redundant defines.
|
2017-01-29 13:53:58 +01:00
|
|
|
|
|
2017-01-28 00:06:28 +01:00
|
|
|
|
2017-01-27 Jiong Wang <jiong.wang@arm.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/elf.exp ("pr20995-2", "Build pr20995-2.so"): XFAIL on
|
|
|
|
|
arm*-*-eabi*.
|
|
|
|
|
|
2017-01-27 14:20:24 +01:00
|
|
|
|
2017-01-27 Dilyan Palauzov <dilyan.palauzov@aegee.org>
|
|
|
|
|
Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 20343
|
|
|
|
|
* ld.texinfo (Options): Extend documentation of the --plugin
|
|
|
|
|
option. Include a description of where the plugins should be
|
|
|
|
|
located.
|
|
|
|
|
|
2017-01-27 12:27:50 +01:00
|
|
|
|
2017-01-27 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* po/sr.po: New Serbian translation.
|
|
|
|
|
* configure.ac (ALL_LINGUAS): Add sr.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2017-01-25 08:25:57 +01:00
|
|
|
|
2017-01-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
|
|
|
|
|
|
|
|
|
* configure.tgt (arm-*-rtems*): Move to (arm*-*-eabi*).
|
|
|
|
|
(bfin-*-rtems*): Move to (bfin*-*-elf*).
|
|
|
|
|
(i[3-7]86-*-rtems*): Move to (i[3-7]86*-*-elf*).
|
|
|
|
|
(m68*-*-rtems*): Move to (m68*-*-elf*).
|
|
|
|
|
(mips*-*-rtems*): Move to (mips*-*-elf*).
|
|
|
|
|
(or1k*-*-rtems*): Move to (or1k*-*-elf*).
|
|
|
|
|
(powerpc*-*-rtems*): Move to (powerpc*-*-elf*).
|
|
|
|
|
(sparc*-*-rtems*): Move to (sparc*-*-elf*).
|
|
|
|
|
(sparc64*-*-rtems*): Move to (sparc64*-*-elf*).
|
|
|
|
|
|
2017-01-25 08:22:27 +01:00
|
|
|
|
2017-01-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
|
|
|
|
|
|
|
|
|
* configure.tgt (h8300-*-rtemscoff*): Remove.
|
|
|
|
|
(i960-*-rtems*): Likewise.
|
|
|
|
|
(m68*-*-rtemscoff*): Likewise.
|
|
|
|
|
(sh-*-rtemscoff*): Likewise.
|
|
|
|
|
|
2017-01-23 12:37:19 +01:00
|
|
|
|
2017-01-24 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/solaris2.em (elf_solaris2_before_allocation): Do not
|
|
|
|
|
add implicit version nodes if an anonymous version tag is being
|
|
|
|
|
used.
|
|
|
|
|
|
2017-01-24 10:33:00 +01:00
|
|
|
|
2017-01-24 Jiong Wang <jiong.wang@arm.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-plugin/lto.exp (lto_link_elf_tests): Move "Compile 7",
|
|
|
|
|
"Compile 8a", "Compile 8b"...
|
|
|
|
|
(lto_compile_elf_tests): ...to here. Always run these tests.
|
|
|
|
|
(lto_run_elf_tests): Move "LTO 7"...
|
|
|
|
|
(lto_run_elf_shared_tests): ...to here. Restrict these tests on
|
|
|
|
|
environment where share library is supported.
|
|
|
|
|
|
2017-01-23 23:13:01 +01:00
|
|
|
|
2017-01-24 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-powerpc/tlsexe.r: Update for fewer dynamic relocs
|
|
|
|
|
and symbols.
|
|
|
|
|
* testsuite/ld-powerpc/tlsexe.d: Likewise.
|
|
|
|
|
* testsuite/ld-powerpc/tlsexe.g: Likewise.
|
|
|
|
|
|
2017-01-23 18:07:13 +01:00
|
|
|
|
2017-01-23 Yury Norov <ynorov@caviumnetworks.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-aarch64/aarch64-elf.exp: Run new tests.
|
|
|
|
|
* testsuite/ld-aarch64/tls-desc-ie-ilp32.d: New test.
|
|
|
|
|
* testsuite/ld-aarch64/tls-relax-all-ilp32.d: New test.
|
|
|
|
|
* testsuite/ld-aarch64/tls-relax-gd-le-ilp32.d: New test.
|
|
|
|
|
* testsuite/ld-aarch64/tls-relax-gdesc-le-2-ilp32.d: New test.
|
|
|
|
|
* testsuite/ld-aarch64/tls-relax-gdesc-le-ilp32.d: New test.
|
|
|
|
|
* testsuite/ld-aarch64/tls-relax-ie-le-2-ilp32.d: New test.
|
|
|
|
|
* testsuite/ld-aarch64/tls-relax-ie-le-3-ilp32.d: New test.
|
|
|
|
|
* testsuite/ld-aarch64/tls-relax-ie-le-ilp32.d: New test.
|
|
|
|
|
* testsuite/ld-aarch64/tls-tiny-desc-ie-ilp32.d: New test.
|
|
|
|
|
* testsuite/ld-aarch64/tls-tiny-desc-le-ilp32.d: New test.
|
|
|
|
|
* testsuite/ld-aarch64/tls-tiny-gd-ie-ilp32.d: New test.
|
|
|
|
|
* testsuite/ld-aarch64/tls-tiny-gd-le-ilp32.d: New test.
|
|
|
|
|
|
2017-01-23 14:32:12 +01:00
|
|
|
|
2017-01-23 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* po/ga.po: Updated Irish translation.
|
|
|
|
|
|
2017-01-23 12:21:19 +01:00
|
|
|
|
2017-01-23 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
PR ld/20828
|
|
|
|
|
* testsuite/ld-elf/pr20828.ld: Add `.plt'.
|
|
|
|
|
|
2017-01-23 12:19:46 +01:00
|
|
|
|
2017-01-23 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
PR ld/20828
|
|
|
|
|
* testsuite/ld-elf/pr20828.ld: Rename `_fdata' and `_edata' to
|
|
|
|
|
`fdata' and `edata' respectively.
|
|
|
|
|
* testsuite/ld-elf/pr20828.ver: Adjust accordingly.
|
|
|
|
|
* testsuite/ld-elf/pr20828-a.sd: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr20828-b.sd: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr20828-c.sd: Likewise.
|
|
|
|
|
|
2017-01-23 12:18:33 +01:00
|
|
|
|
2017-01-23 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
PR ld/20828
|
|
|
|
|
* testsuite/ld-elf/pr20828-1.sd: Remove test.
|
|
|
|
|
* testsuite/ld-elf/pr20828-a.sd: New test.
|
|
|
|
|
* testsuite/ld-elf/pr20828-2a.sd: Rename test to...
|
|
|
|
|
* testsuite/ld-elf/pr20828-b.sd: ... this.
|
|
|
|
|
* testsuite/ld-elf/pr20828-2b.sd: Rename test to...
|
|
|
|
|
* testsuite/ld-elf/pr20828-c.sd: ... this.
|
|
|
|
|
* testsuite/ld-elf/shared.exp: Adjust accordingly.
|
|
|
|
|
|
2017-01-23 10:59:10 +01:00
|
|
|
|
2017-01-23 Jiong Wang <jiong.wang@arm.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/lib/ld-lib.exp (run_ld_link_exec_tests): Append
|
|
|
|
|
board_cflags as gcc is used as linker driver.
|
|
|
|
|
* testsuite/ld-unique/unique.exp: Likewise
|
|
|
|
|
|
2017-01-20 14:30:32 +01:00
|
|
|
|
2017-01-20 Jiong Wang <jiong.wang@arm.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-aarch64/aarch64-elf.exp (aarch64elflinktests): New tests.
|
|
|
|
|
* testsuite/ld-aarch64/func-in-so.s: New test source file.
|
|
|
|
|
* testsuite/ld-aarch64/func-sym-hash-opt.s: Likewise.
|
|
|
|
|
* testsuite/ld-aarch64/func-sym-hash-opt.d: New expected test result.
|
|
|
|
|
|
2016-12-28 14:22:44 +01:00
|
|
|
|
2017-01-20 Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/eh-frame-hdr.d: Update expected results.
|
|
|
|
|
|
2017-01-18 19:07:58 +01:00
|
|
|
|
2017-01-18 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
PR ld/20995
|
|
|
|
|
* testsuite/ld-elf/elf.exp: Set GAS flags correctly for the
|
|
|
|
|
`mips*-*-*' target and `pr20995' and `pr20995-2' tests.
|
|
|
|
|
|
PR ld/20828: Fix linker script symbols wrongly forced local with section GC
Fix a generic ELF linker regression introduced with a chain of changes
made to unused input section garbage collection:
- commit 1a766c6843ce ("Also hide symbols without PLT nor GOT
references."),
<https://sourceware.org/ml/binutils/2011-09/msg00076.html>,
- commit 1d5316ab67e1 ("PR ld/13177: garbage collector retains zombie
references to external libraries"),
<https://sourceware.org/ml/binutils/2011-10/msg00161.html>,
- commit 6673f753c019 ("Fix PR 12772, garbage collection of dynamic
syms"), <https://sourceware.org/ml/binutils/2011-12/msg00077.html>,
causing the garbage collection of unused symbols present in a DSO
involved in a link to make identically named symbols ordinarily defined
(i.e. not hidden or PROVIDEd) by a linker script local, even though the
latter symbols are supposed to be global as if no DSO defined them as
well.
This is because linker script assignments are processed very late as
`lang_process' proceeds, down in the call to `ldemul_before_allocation',
which is made after the call to `lang_gc_sections' to do input section
garbage collecting. Consequently if unused, then any such DSO-defined
symbol has already been garbage-collected and internally marked local.
It would ordinarily be removed from dynamic symbol table output, however
a linker script assignment correctly replaces its original definition
with the new one and enters it into the dynamic symbol table produced as
it is supposed to be exported. The original local marking is however
retained making the symbol local in the dynamic symbol table and
therefore not available externally. This also causes a sorting problem
with the MIPS target, which does not expect non-section local dynamic
symbols to be output and produces an invalid binary.
Fix the problem then, by removing the `forced_local' marking for the
offending case and add suitable test cases. First to verify that unused
symbols ordinarily defined with linker script assignments remain
exported in the context of input section garbage collection whether or
not a DSO defining identically named symbols is present in the link.
Second that a linker version script still correctly retains or removes
such symbols as requested.
bfd/
PR ld/20828
* elflink.c (bfd_elf_record_link_assignment): Clear any
`forced_local' marking for DSO symbols that are not being
provided.
ld/
PR ld/20828
* testsuite/ld-elf/pr20828-1.sd: New test.
* testsuite/ld-elf/pr20828-2a.sd: New test.
* testsuite/ld-elf/pr20828-2b.sd: New test.
* testsuite/ld-elf/pr20828.ld: New test linker script.
* testsuite/ld-elf/pr20828.ver: New test version script.
* testsuite/ld-elf/pr20828.s: New test source.
* testsuite/ld-elf/shared.exp: Run the new test.
2017-01-16 23:10:57 +01:00
|
|
|
|
2017-01-18 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
PR ld/20828
|
|
|
|
|
* testsuite/ld-elf/pr20828-1.sd: New test.
|
|
|
|
|
* testsuite/ld-elf/pr20828-2a.sd: New test.
|
|
|
|
|
* testsuite/ld-elf/pr20828-2b.sd: New test.
|
|
|
|
|
* testsuite/ld-elf/pr20828.ld: New test linker script.
|
|
|
|
|
* testsuite/ld-elf/pr20828.ver: New test version script.
|
|
|
|
|
* testsuite/ld-elf/pr20828.s: New test source.
|
|
|
|
|
* testsuite/ld-elf/shared.exp: Run the new test.
|
|
|
|
|
|
PR gas/20649: MIPS: Fix GOT16/LO16 reloc pairing with comdat sections
Correct a regression from commit 8614eeee67f9 ("Traditional MIPS
patches"), <https://sourceware.org/ml/binutils/2000-07/msg00018.html>,
which caused symbols in linkonce or what is these days known as comdat
sections to be treated as external for the purpose of PIC relocation
generation even if their binding remains STB_LOCAL. This in turn
disabled GOT16/LO16 relocation pairing with references to such symbols,
as no complementing LO16 relocation is expected for external GOT16
references in the o32 ABI, which ultimately leads to link errors, e.g.:
ld: comdat-reloc.o: Can't find matching LO16 reloc against `foo' for R_MIPS_GOT16 at 0x24 in section `.text.bar[bar]'
as with the LD test case included with this change.
Revert the special case for symbols in comdat sections then, making code
actually match `adjust_reloc_syms' as indicated in its explanatory
comment, and adjust calling code accordingly. Also bring back the
corresponding description of what now is `s_is_linkonce', lost with
commit 5f0fe04bc550 ("Improved MIPS16/MIPS32 code intermixing for
gas."), <https://www.sourceware.org/ml/binutils/2006-07/msg00039.html>.
gas/
PR gas/20649
* config/tc-mips.c (pic_need_relax): Don't check for linkonce
symbols, remove the `segtype' parameter.
(mips_frob_file, md_estimate_size_before_relax): Adjust
accordingly.
(s_is_linkonce): Add an explanatory comment.
* testsuite/gas/mips/comdat-reloc.d: New test.
* testsuite/gas/mips/comdat-reloc.s: New test source.
* testsuite/gas/mips/mips.exp: Run the new test.
ld/
PR gas/20649
* testsuite/ld-mips-elf/mips-elf.exp: Add PIC comdat GOT16/LO16
relocation pairing link test.
2017-01-18 19:18:21 +01:00
|
|
|
|
2017-01-18 Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
|
|
PR gas/20649
|
|
|
|
|
* testsuite/ld-mips-elf/mips-elf.exp: Add PIC comdat GOT16/LO16
|
|
|
|
|
relocation pairing link test.
|
|
|
|
|
|
2017-01-18 13:23:19 +01:00
|
|
|
|
2017-01-17 Dimitar Dimitrov <dimitar@dinux.eu>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-unique/unique.exp: Filter shared lib cases in
|
|
|
|
|
uniqeue.exp, as not all targets have such support.
|
|
|
|
|
|
2017-01-16 11:59:23 +01:00
|
|
|
|
2017-01-16 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* po/sv.po: Updated Swedish translation.
|
|
|
|
|
|
2017-01-12 19:30:56 +01:00
|
|
|
|
2017-01-12 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/21038
|
|
|
|
|
* testsuite/ld-x86-64/pr21038b.d: Updated.
|
|
|
|
|
* testsuite/ld-x86-64/pr21038c.d: New file.
|
|
|
|
|
* testsuite/ld-x86-64/pr21038c.s: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/x86-64.exp: Run pr21038c.
|
|
|
|
|
|
2017-01-11 18:16:44 +01:00
|
|
|
|
2017-01-11 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/21038
|
|
|
|
|
* testsuite/ld-x86-64/pr21038a.d: New file.
|
|
|
|
|
* testsuite/ld-x86-64/pr21038a.s: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr21038b.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr21038b.s: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/x86-64.exp: Run pr21038a and pr21038b.
|
|
|
|
|
|
2017-01-11 16:05:53 +01:00
|
|
|
|
2017-01-11 Jeremy Soller <jackpot51@gmail.com>
|
|
|
|
|
|
|
|
|
|
* configure.tgt: Add entries for x86-redox and x86_64-redox.
|
|
|
|
|
|
2017-01-10 23:18:11 +01:00
|
|
|
|
2017-01-10 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-x86-64/pr20830b.d: Updated.
|
|
|
|
|
|
2017-01-10 22:57:39 +01:00
|
|
|
|
2017-01-10 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* emulparams/elf32_x86_64.sh (TINY_READONLY_SECTION): New.
|
|
|
|
|
* testsuite/ld-x86-64/pr20830.d: Renamed to ...
|
|
|
|
|
* testsuite/ld-x86-64/pr20830a.d: This. Updated.
|
|
|
|
|
* testsuite/ld-x86-64/pr20830b.d: New file.
|
|
|
|
|
* testsuite/ld-x86-64/x86-64.exp: Rename pr20830 to pr20830a.
|
|
|
|
|
Run pr20830b.
|
|
|
|
|
|
2017-01-10 22:31:59 +01:00
|
|
|
|
2017-01-10 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/20830
|
|
|
|
|
* testsuite/ld-i386/i386.exp: Run pr20830.
|
|
|
|
|
* testsuite/ld-x86-64/x86-64.exp: Likewise.
|
|
|
|
|
* testsuite/ld-i386/pr20830.d: New file.
|
|
|
|
|
* testsuite/ld-i386/pr20830.s: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr20830.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr20830.s: Likewise.
|
|
|
|
|
|
2017-01-10 19:54:39 +01:00
|
|
|
|
2017-01-10 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-i386/i386.exp: Pass -Wl,-R,tmpdir and
|
|
|
|
|
-Wl,--as-needed to $CC.
|
|
|
|
|
* testsuite/ld-i386/tls.exp: Likewise.
|
|
|
|
|
|
2017-01-10 12:28:36 +01:00
|
|
|
|
2017-01-10 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* po/sv.po: Updated Swedish translation.
|
|
|
|
|
|
2016-12-08 17:58:23 +01:00
|
|
|
|
2016-12-09 Graham Markall <graham.markall@embecosm.com>
|
|
|
|
|
Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.am: Add earclinux_nps.c target and add to
|
|
|
|
|
ALL_EMULATION_SOURCES.
|
|
|
|
|
* Makefile.in: Likewise, regenerated.
|
|
|
|
|
* configure.tgt: Add arclinux_nps as an extra emulation for
|
|
|
|
|
arc*-*-elf* and arc*-*-linux*.
|
|
|
|
|
* emulparams/arc-nps.sh: New file.
|
|
|
|
|
* emulparams/arclinux_nps.sh: New file.
|
|
|
|
|
* testsuite/ld-arc/arclinux-nps.d,
|
|
|
|
|
* testsuite/ld-arc/arclinux-nps.s: New test.
|
|
|
|
|
|
2017-01-04 17:05:22 +01:00
|
|
|
|
2017-01-04 Dilan Palauzov <dilyan.palauzov@aegee.org>
|
|
|
|
|
|
|
|
|
|
PR 20958
|
|
|
|
|
* ldlex.l (option): Add noyywrap
|
|
|
|
|
(yywrap): Delete.
|
|
|
|
|
* ldlex.h (yywrap): Delete prototype.
|
|
|
|
|
|
2017-01-03 23:55:54 +01:00
|
|
|
|
2017-01-04 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/audit.exp: Check for shared lib support.
|
|
|
|
|
* testsuite/ld-elf/compress.exp: Likewise.
|
|
|
|
|
* testsuite/ld-elf/dwarf.exp: Likewise.
|
|
|
|
|
* testsuite/ld-elf/shared.exp: Likewise.
|
|
|
|
|
* testsuite/ld-elf/wrap.exp: Likewise.
|
|
|
|
|
* testsuite/ld-ifunc/ifunc.exp: Likewise.
|
|
|
|
|
* testsuite/ld-plugin/lto.exp: Check $CXX exists.
|
|
|
|
|
|
2017-01-03 13:30:30 +01:00
|
|
|
|
2017-01-03 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/lib/ld-lib.exp (run_ld_link_exec_tests): Do not
|
|
|
|
|
allow test to continue after compilation errors.
|
|
|
|
|
(run_cc_link_tests): Likewise.
|
|
|
|
|
|
2017-01-02 17:20:20 +01:00
|
|
|
|
2017-01-03 Dimitar Dimitrov <dimitar@dinux.eu>
|
|
|
|
|
|
|
|
|
|
* Makefile.am (ALL_EMULATION_SOURCES): Add epruelf.c.
|
|
|
|
|
(epruelf.c): Remove unneeded dependencies.
|
|
|
|
|
* Makefile.in: Regenerate
|
|
|
|
|
|
2017-01-03 02:57:19 +01:00
|
|
|
|
2017-01-03 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/shared.exp: Add -rpath-link and -no-as-needed
|
|
|
|
|
to various tests.
|
|
|
|
|
* testsuite/ld-elfweak/elfweak.exp: Likewise.
|
|
|
|
|
* testsuite/ld-elfvers/vers.exp (vers19): Fix -rpath-link option.
|
|
|
|
|
|
2017-01-03 00:08:53 +01:00
|
|
|
|
2017-01-03 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/elf.exp: Check that $CC exists before C tests.
|
|
|
|
|
* testsuite/ld-pie/pie.exp: Likewise.
|
|
|
|
|
* testsuite/ld-plugin/lto.exp: Likewise.
|
|
|
|
|
|
Run more ld tests when not native
Many of the ld tests are not run for cross builds, in some cases
because the test needs to run a newly linked executable, and in others
simply because it was easier to write the test for native only. Even
when a test needs to run, it's good to compile and link to exercise
the linker. So that's what this patch does. I've also rid us of
the old ld_link procedure with all the HOSTING_CRT0 etc. setup. It's
much simpler to just link with $CC.
This does mean that a cross build with cross-compiler installed but
no cross C-library will give lots of failures. If that turns out to
be too annoying, I guess we can write a tcl procedure to detect it and
not run all the extra tests.
* Makefile.am (bootstrap): Delete rule.
(ld-partial, ld1, ld1-full, ld2, ld3): Likewise.
(HOSTING_CRT0, HOSTING_SCRT0): Don't define.
(HOSTING_LIBS, HOSTING_SLIBS, HOSTING_EMU): Likewise.
* configure.ac (HOSTING_CRT0, HOSTING_SCRT0): Don't define.
(HOSTING_LIBS, HOSTING_SLIBS): Likewise.
* configure.host (HOSTING_CRT0, HOSTING_LIBS): Don't define.
* Makefile.in: Regenerate.
* configure: Regenerate.
* testsuite/config/default.exp (get_link_files): Delete.
(HOSTING_CRT0, HOSTING_SCRT0, HOSTING_LIBS, HOSTING_SLIBS): Don't
define.
(ld_simple_link): Delete.
* testsuite/lib/ld-lib.exp (default_ld_link): Delete
(default_ld_simple_link): Rename to default_ld_link.
(ld_simple_link_defsyms): Rename to ld_link_defsyms.
(run_ld_link_tests): Use ld_link, not ld_simple_link.
(run_cc_link_tests): Likewise.
(run_ld_link_exec_tests): Use $CC or $CXX to link, not $ld.
Don't run exe when not native, and return unsupported.
* testsuite/ld-bootstrap/bootstrap.exp: Create gccld1 etc. dirs.
Link ld1 etc. using $CC.
* testsuite/ld-cdtest/cdtest.exp: Link cdtest using $CC.
* testsuite/ld-checks/checks.exp: Use ld_link, not ld_simple_link.
* testsuite/ld-cygwin/exe-export.exp: Likewise.
* testsuite/ld-elf/binutils.exp: Likewise.
* testsuite/ld-elf/eh-group.exp: Likewise.
* testsuite/ld-elf/exclude.exp: Likewise.
* testsuite/ld-elf/frame.exp: Likewise.
* testsuite/ld-elf/sec-to-seg.exp: Likewise.
* testsuite/ld-elf/tls_common.exp: Likewise.
* testsuite/ld-elfcomm/elfcomm.exp: Likewise.
* testsuite/ld-fastcall/fastcall.exp: Likewise.
* testsuite/ld-gc/gc.exp: Likewise.
* testsuite/ld-ifunc/binutils.exp: Likewise.
* testsuite/ld-mep/mep.exp: Likewise.
* testsuite/ld-mips-elf/mips-elf-flags.exp: Likewise.
* testsuite/ld-mn10300/mn10300.exp: Likewise.
* testsuite/ld-nios2/nios2.exp: Likewise.
* testsuite/ld-pe/pe-compile.exp: Likewise.
* testsuite/ld-pe/pe-run.exp: Likewise.
* testsuite/ld-pe/pe-run2.exp: Likewise.
* testsuite/ld-plugin/plugin.exp: Likewise.
* testsuite/ld-scripts/align.exp: Likewise.
* testsuite/ld-scripts/alignof.exp: Likewise.
* testsuite/ld-scripts/assert.exp: Likewise.
* testsuite/ld-scripts/defined.exp: Likewise.
* testsuite/ld-scripts/extern.exp: Likewise.
* testsuite/ld-scripts/log2.exp: Likewise.
* testsuite/ld-scripts/map-address.exp: Likewise.
* testsuite/ld-scripts/phdrs.exp: Likewise.
* testsuite/ld-scripts/phdrs2.exp: Likewise.
* testsuite/ld-scripts/script.exp: Likewise.
* testsuite/ld-scripts/section-flags.exp: Likewise.
* testsuite/ld-scripts/sizeof.exp: Likewise.
* testsuite/ld-scripts/sysroot-prefix.exp: Likewise.
* testsuite/ld-scripts/weak.exp: Likewise.
* testsuite/ld-selective/selective.exp: Likewise.
* testsuite/ld-sh/sh.exp: Likewise.
* testsuite/ld-sh/sh64/relax.exp: Likewise.
* testsuite/ld-sh/sh64/relfail.exp: Likewise.
* testsuite/ld-srec/srec.exp: Likewise.
* testsuite/ld-tic6x/tic6x.exp: Likewise.
* testsuite/ld-undefined/weak-undef.exp: Likewise.
* testsuite/ld-versados/versados.exp: Likewise.
* testsuite/ld-x86-64/dwarfreloc.exp: Likewise.
* testsuite/ld-xtensa/coalesce.exp: Likewise.
* testsuite/ld-xtensa/diff_overflow.exp: Likewise.
* testsuite/ld-xtensa/lcall.exp: Likewise.
* testsuite/ld-elf/audit.exp: Run non-native too.
* testsuite/ld-elf/compress.exp: Likewise. Replace ld options with
gcc -Wl, options.
* testsuite/ld-elf/dwarf.exp: Run non-native too. Use ld_link,
not ld_simple_link. Add -Wl,--no-as-needed to some tests.
* testsuite/ld-elf/elf.exp: Run non-native too. Formatting.
* testsuite/ld-elf/indirect.exp: Run non-native too. Add
-Wl,--no-as-needed to most tests.
* testsuite/ld-elf/shared.exp: Run non-native too. Use braces
to simplify quoting. Set run_tests using [list] rather than
brace assignment to expand $extralibs. Add -Wl,--no-as-needed
to many test. Prefix ld options with -Wl,.
(mix_pic_and_non_pic): Don't run exe if not native.
* testsuite/ld-elf/wrap.exp: Run non-native too. Add
-Wl,--no-as-needed and prefix ld options with -Wl,.
* testsuite/ld-elfvers/vers.exp: Run non-native too. Use ld_link,
not ld_simple_link.
* testsuite/ld-elfvsb/elfvsb.exp: Likewise.
(visibility_test): Don't run exe if not native.
* testsuite/ld-elfweak/elfweak.exp: Run non-native too. Use ld_link,
not ld_simple_link.
(build_exec): Don't run exe if not native.
* testsuite/ld-ifunc/ifunc.exp: Run non-native too. Use ld_link,
not ld_simple_link. Link using $CC. Add -Wl,--no-as-needed
to some tests and prefix ld options with -Wl,. Expect GNU
for hppa-linux even when no ifuncs. Delete cleanup.
* testsuite/ld-pie/pie.exp: Run non-native too.
* testsuite/ld-plugin/lto.exp: Likewise.
* testsuite/ld-shared/shared.exp: Likewise. Use ld_link,
not ld_simple_link.
(shared_test): Don't run exe if not native.
* testsuite/ld-size/size.exp: Run non-native too. Add
-Wl,--no-as-needed to some tests. Prefix ld options with -Wl,.
* testsuite/ld-unique/unique.exp: Run non-native too. Use ld_link,
not ld_simple_link. Link using $CC. Add -Wl,--no-as-needed
to some tests and prefix ld options with -Wl,. Expect GNU
for hppa-linux even when no unique syms. Delete cleanup.
* testsuite/ld-x86-64/tls.exp: Add -Wl,--no-as-needed to some
tests and prefix ld options with -Wl,.
* testsuite/ld-x86-64/x86-64.exp: Use ld_link, not ld_simple_link.
Add -Wl,--no-as-needed to some tests. Prefix ld options with -Wl,.
2017-01-02 13:15:37 +01:00
|
|
|
|
2017-01-02 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.am (bootstrap): Delete rule.
|
|
|
|
|
(ld-partial, ld1, ld1-full, ld2, ld3): Likewise.
|
|
|
|
|
(HOSTING_CRT0, HOSTING_SCRT0): Don't define.
|
|
|
|
|
(HOSTING_LIBS, HOSTING_SLIBS, HOSTING_EMU): Likewise.
|
|
|
|
|
* configure.ac (HOSTING_CRT0, HOSTING_SCRT0): Don't define.
|
|
|
|
|
(HOSTING_LIBS, HOSTING_SLIBS): Likewise.
|
|
|
|
|
* configure.host (HOSTING_CRT0, HOSTING_LIBS): Don't define.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* testsuite/config/default.exp (get_link_files): Delete.
|
|
|
|
|
(HOSTING_CRT0, HOSTING_SCRT0, HOSTING_LIBS, HOSTING_SLIBS): Don't
|
|
|
|
|
define.
|
|
|
|
|
(ld_simple_link): Delete.
|
|
|
|
|
* testsuite/lib/ld-lib.exp (default_ld_link): Delete
|
|
|
|
|
(default_ld_simple_link): Rename to default_ld_link.
|
|
|
|
|
(ld_simple_link_defsyms): Rename to ld_link_defsyms.
|
|
|
|
|
(run_ld_link_tests): Use ld_link, not ld_simple_link.
|
|
|
|
|
(run_cc_link_tests): Likewise.
|
|
|
|
|
(run_ld_link_exec_tests): Use $CC or $CXX to link, not $ld.
|
|
|
|
|
Don't run exe when not native, and return unsupported.
|
|
|
|
|
* testsuite/ld-bootstrap/bootstrap.exp: Create gccld1 etc. dirs.
|
|
|
|
|
Link ld1 etc. using $CC.
|
|
|
|
|
* testsuite/ld-cdtest/cdtest.exp: Link cdtest using $CC.
|
|
|
|
|
* testsuite/ld-checks/checks.exp: Use ld_link, not ld_simple_link.
|
|
|
|
|
* testsuite/ld-cygwin/exe-export.exp: Likewise.
|
|
|
|
|
* testsuite/ld-elf/binutils.exp: Likewise.
|
|
|
|
|
* testsuite/ld-elf/eh-group.exp: Likewise.
|
|
|
|
|
* testsuite/ld-elf/exclude.exp: Likewise.
|
|
|
|
|
* testsuite/ld-elf/frame.exp: Likewise.
|
|
|
|
|
* testsuite/ld-elf/sec-to-seg.exp: Likewise.
|
|
|
|
|
* testsuite/ld-elf/tls_common.exp: Likewise.
|
|
|
|
|
* testsuite/ld-elfcomm/elfcomm.exp: Likewise.
|
|
|
|
|
* testsuite/ld-fastcall/fastcall.exp: Likewise.
|
|
|
|
|
* testsuite/ld-gc/gc.exp: Likewise.
|
|
|
|
|
* testsuite/ld-ifunc/binutils.exp: Likewise.
|
|
|
|
|
* testsuite/ld-mep/mep.exp: Likewise.
|
|
|
|
|
* testsuite/ld-mips-elf/mips-elf-flags.exp: Likewise.
|
|
|
|
|
* testsuite/ld-mn10300/mn10300.exp: Likewise.
|
|
|
|
|
* testsuite/ld-nios2/nios2.exp: Likewise.
|
|
|
|
|
* testsuite/ld-pe/pe-compile.exp: Likewise.
|
|
|
|
|
* testsuite/ld-pe/pe-run.exp: Likewise.
|
|
|
|
|
* testsuite/ld-pe/pe-run2.exp: Likewise.
|
|
|
|
|
* testsuite/ld-plugin/plugin.exp: Likewise.
|
|
|
|
|
* testsuite/ld-scripts/align.exp: Likewise.
|
|
|
|
|
* testsuite/ld-scripts/alignof.exp: Likewise.
|
|
|
|
|
* testsuite/ld-scripts/assert.exp: Likewise.
|
|
|
|
|
* testsuite/ld-scripts/defined.exp: Likewise.
|
|
|
|
|
* testsuite/ld-scripts/extern.exp: Likewise.
|
|
|
|
|
* testsuite/ld-scripts/log2.exp: Likewise.
|
|
|
|
|
* testsuite/ld-scripts/map-address.exp: Likewise.
|
|
|
|
|
* testsuite/ld-scripts/phdrs.exp: Likewise.
|
|
|
|
|
* testsuite/ld-scripts/phdrs2.exp: Likewise.
|
|
|
|
|
* testsuite/ld-scripts/script.exp: Likewise.
|
|
|
|
|
* testsuite/ld-scripts/section-flags.exp: Likewise.
|
|
|
|
|
* testsuite/ld-scripts/sizeof.exp: Likewise.
|
|
|
|
|
* testsuite/ld-scripts/sysroot-prefix.exp: Likewise.
|
|
|
|
|
* testsuite/ld-scripts/weak.exp: Likewise.
|
|
|
|
|
* testsuite/ld-selective/selective.exp: Likewise.
|
|
|
|
|
* testsuite/ld-sh/sh.exp: Likewise.
|
|
|
|
|
* testsuite/ld-sh/sh64/relax.exp: Likewise.
|
|
|
|
|
* testsuite/ld-sh/sh64/relfail.exp: Likewise.
|
|
|
|
|
* testsuite/ld-srec/srec.exp: Likewise.
|
|
|
|
|
* testsuite/ld-tic6x/tic6x.exp: Likewise.
|
|
|
|
|
* testsuite/ld-undefined/weak-undef.exp: Likewise.
|
|
|
|
|
* testsuite/ld-versados/versados.exp: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/dwarfreloc.exp: Likewise.
|
|
|
|
|
* testsuite/ld-xtensa/coalesce.exp: Likewise.
|
|
|
|
|
* testsuite/ld-xtensa/diff_overflow.exp: Likewise.
|
|
|
|
|
* testsuite/ld-xtensa/lcall.exp: Likewise.
|
|
|
|
|
* testsuite/ld-elf/audit.exp: Run non-native too.
|
|
|
|
|
* testsuite/ld-elf/compress.exp: Likewise. Replace ld options with
|
|
|
|
|
gcc -Wl, options.
|
|
|
|
|
* testsuite/ld-elf/dwarf.exp: Run non-native too. Use ld_link,
|
|
|
|
|
not ld_simple_link. Add -Wl,--no-as-needed to some tests.
|
|
|
|
|
* testsuite/ld-elf/elf.exp: Run non-native too. Formatting.
|
|
|
|
|
* testsuite/ld-elf/indirect.exp: Run non-native too. Add
|
|
|
|
|
-Wl,--no-as-needed to most tests.
|
|
|
|
|
* testsuite/ld-elf/shared.exp: Run non-native too. Use braces
|
|
|
|
|
to simplify quoting. Set run_tests using [list] rather than
|
|
|
|
|
brace assignment to expand $extralibs. Add -Wl,--no-as-needed
|
|
|
|
|
to many test. Prefix ld options with -Wl,.
|
|
|
|
|
(mix_pic_and_non_pic): Don't run exe if not native.
|
|
|
|
|
* testsuite/ld-elf/wrap.exp: Run non-native too. Add
|
|
|
|
|
-Wl,--no-as-needed and prefix ld options with -Wl,.
|
|
|
|
|
* testsuite/ld-elfvers/vers.exp: Run non-native too. Use ld_link,
|
|
|
|
|
not ld_simple_link.
|
|
|
|
|
* testsuite/ld-elfvsb/elfvsb.exp: Likewise.
|
|
|
|
|
(visibility_test): Don't run exe if not native.
|
|
|
|
|
* testsuite/ld-elfweak/elfweak.exp: Run non-native too. Use ld_link,
|
|
|
|
|
not ld_simple_link.
|
|
|
|
|
(build_exec): Don't run exe if not native.
|
|
|
|
|
* testsuite/ld-ifunc/ifunc.exp: Run non-native too. Use ld_link,
|
|
|
|
|
not ld_simple_link. Link using $CC. Add -Wl,--no-as-needed
|
|
|
|
|
to some tests and prefix ld options with -Wl,. Expect GNU
|
|
|
|
|
for hppa-linux even when no ifuncs. Delete cleanup.
|
|
|
|
|
* testsuite/ld-pie/pie.exp: Run non-native too.
|
|
|
|
|
* testsuite/ld-plugin/lto.exp: Likewise.
|
|
|
|
|
* testsuite/ld-shared/shared.exp: Likewise. Use ld_link,
|
|
|
|
|
not ld_simple_link.
|
|
|
|
|
(shared_test): Don't run exe if not native.
|
|
|
|
|
* testsuite/ld-size/size.exp: Run non-native too. Add
|
|
|
|
|
-Wl,--no-as-needed to some tests. Prefix ld options with -Wl,.
|
|
|
|
|
* testsuite/ld-unique/unique.exp: Run non-native too. Use ld_link,
|
|
|
|
|
not ld_simple_link. Link using $CC. Add -Wl,--no-as-needed
|
|
|
|
|
to some tests and prefix ld options with -Wl,. Expect GNU
|
|
|
|
|
for hppa-linux even when no unique syms. Delete cleanup.
|
|
|
|
|
* testsuite/ld-x86-64/tls.exp: Add -Wl,--no-as-needed to some
|
|
|
|
|
tests and prefix ld options with -Wl,.
|
|
|
|
|
* testsuite/ld-x86-64/x86-64.exp: Use ld_link, not ld_simple_link.
|
|
|
|
|
Add -Wl,--no-as-needed to some tests. Prefix ld options with -Wl,.
|
|
|
|
|
|
2017-01-02 13:13:15 +01:00
|
|
|
|
2017-01-02 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* emulparams/elf32metag.sh (COMMONPAGESIZE): Define.
|
|
|
|
|
|
2017-01-02 13:03:47 +01:00
|
|
|
|
2017-01-02 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR ld/21000
|
|
|
|
|
* emulparams/hppalinux.sh (DATA_ADDR, SHLIB_DATA_ADDR): Don't define.
|
|
|
|
|
(DATA_SEGMENT_ALIGN, DATA_SEGMENT_END, DATA_SEGMENT_RELRO_END): Define.
|
|
|
|
|
* scripttempl/elf.sc: Don't define the above if DATA_SEGMENT_ALIGN
|
|
|
|
|
is already defined.
|
|
|
|
|
|
2017-01-02 04:36:43 +01:00
|
|
|
|
2017-01-02 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
Update year range in copyright notice of all files.
|
|
|
|
|
|
2017-01-02 04:25:05 +01:00
|
|
|
|
For older changes see ChangeLog-2016
|
2016-01-01 11:44:31 +01:00
|
|
|
|
|
2017-01-02 04:25:05 +01:00
|
|
|
|
Copyright (C) 2017 Free Software Foundation, Inc.
|
2016-01-01 11:44:31 +01:00
|
|
|
|
|
|
|
|
|
Copying and distribution of this file, with or without modification,
|
|
|
|
|
are permitted in any medium without royalty provided the copyright
|
|
|
|
|
notice and this notice are preserved.
|
|
|
|
|
|
|
|
|
|
Local Variables:
|
|
|
|
|
mode: change-log
|
|
|
|
|
left-margin: 8
|
|
|
|
|
fill-column: 74
|
|
|
|
|
version-control: never
|
|
|
|
|
End:
|