2020-10-30 21:51:10 +08:00
|
|
|
|
2020-10-30 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/gnu_property_test.sh: Updated.
|
|
|
|
|
|
2020-10-22 21:11:34 +08:00
|
|
|
|
2020-10-22 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.am (bootstrap-test): Skip for LTO build.
|
|
|
|
|
(bootstrap-test-r): Likewise.
|
|
|
|
|
|
gold: Skip some incremental tests
Skip incremental_test_2, incremental_test_3, incremental_test_4,
incremental_test_5, incremental_copy_test, incremental_common_test_1
and incremental_comdat_test_1 when -fcf-protection is used to compile
gold since gold doesn't properly support -fcf-protection on Intel CET
enabled OS.
Also skip incremental_copy_test and incremental_comdat_test_1 for GCC 9
or later since they failed with GCC 9 or later.
PR gold/23539
* configure.ac: Check for GCC 9 or later and for -fcf-protection.
* configure: Regenerated.
* testsuite/Makefile.am (check_PROGRAMS): Skip incremental_test_2,
incremental_test_3, incremental_test_4, incremental_test_5,
incremental_copy_test, incremental_common_test_1 and
incremental_comdat_test_1 for -fcf-protection. Also Skip
incremental_copy_test and incremental_comdat_test_1 for GCC 9 or
later.
* testsuite/Makefile.in: Regenerated.
2020-10-13 20:22:55 +08:00
|
|
|
|
2020-10-13 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR gold/23539
|
|
|
|
|
* configure.ac: Check for GCC 9 or later and for -fcf-protection.
|
|
|
|
|
* configure: Regenerated.
|
|
|
|
|
* testsuite/Makefile.am (check_PROGRAMS): Skip incremental_test_2,
|
|
|
|
|
incremental_test_3, incremental_test_4, incremental_test_5,
|
|
|
|
|
incremental_copy_test, incremental_common_test_1 and
|
|
|
|
|
incremental_comdat_test_1 for -fcf-protection. Also Skip
|
|
|
|
|
incremental_copy_test and incremental_comdat_test_1 for GCC 9 or
|
|
|
|
|
later.
|
|
|
|
|
* testsuite/Makefile.in: Regenerated.
|
|
|
|
|
|
2020-10-13 20:21:53 +08:00
|
|
|
|
2020-10-13 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR gold/23503
|
|
|
|
|
* testsuite/Makefile.am (justsyms_lib): Pass
|
|
|
|
|
-T $(srcdir)/justsyms_lib.t to gold.
|
|
|
|
|
* testsuite/Makefile.in: Regenerated.
|
|
|
|
|
* testsuite/justsyms_lib.t: New file.
|
|
|
|
|
* testsuite/script_test_10.t: Discard .note.gnu.property section.
|
|
|
|
|
|
2020-10-13 20:20:49 +08:00
|
|
|
|
2020-10-13 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* x86_64.cc (Target_x86_64::Target_x86_64): Initialize
|
|
|
|
|
feature_2_used_, feature_2_needed_ and object_feature_2_used_.
|
|
|
|
|
(Target_x86_64::feature_2_used_): New data member.
|
|
|
|
|
(Target_x86_64::feature_2_needed_): Likewise.
|
|
|
|
|
(Target_x86_64::object_isa_1_used_): Likewise.
|
|
|
|
|
(Target_x86_64::record_gnu_property): Support
|
|
|
|
|
GNU_PROPERTY_X86_COMPAT_ISA_1_USED,
|
|
|
|
|
GNU_PROPERTY_X86_COMPAT_ISA_1_NEEDED,
|
|
|
|
|
GNU_PROPERTY_X86_COMPAT_2_ISA_1_USED,
|
|
|
|
|
GNU_PROPERTY_X86_COMPAT_2_ISA_1_NEEDED,
|
|
|
|
|
GNU_PROPERTY_X86_FEATURE_2_USED and
|
|
|
|
|
GNU_PROPERTY_X86_FEATURE_2_NEEDED.
|
|
|
|
|
(Target_x86_64::merge_gnu_properties): Merge FEATURE_2_USED bits.
|
|
|
|
|
Initialize object_feature_2_used_.
|
|
|
|
|
(Target_x86_64::do_finalize_gnu_properties): Support
|
|
|
|
|
GNU_PROPERTY_X86_FEATURE_2_USED and
|
|
|
|
|
GNU_PROPERTY_X86_FEATURE_2_NEEDED.
|
|
|
|
|
* testsuite/gnu_property_a.S (GNU_PROPERTY_X86_ISA_1_USED): Set
|
|
|
|
|
to 0xc0010002.
|
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_NEEDED): Set to 0xc0008002.
|
|
|
|
|
* testsuite/gnu_property_b.S (GNU_PROPERTY_X86_ISA_1_USED): Set
|
|
|
|
|
to 0xc0010002.
|
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_NEEDED): Set to 0xc0008002.
|
|
|
|
|
* testsuite/gnu_property_c.S (GNU_PROPERTY_X86_ISA_1_USED): Set
|
|
|
|
|
to 0xc0010002.
|
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_NEEDED): Set to 0xc0008002.
|
|
|
|
|
* testsuite/gnu_property_test.sh: Updated.
|
|
|
|
|
|
2020-10-13 20:18:13 +08:00
|
|
|
|
2020-10-13 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR gold/22914
|
|
|
|
|
PR gold/23535
|
|
|
|
|
* layout.cc (Layout::attach_allocated_section_to_segment): Place
|
|
|
|
|
a note section in a PT_NOTE segment with the same alignment. Set
|
|
|
|
|
the alignment of the PT_NOTE segment from the alignment of the
|
|
|
|
|
note section.
|
|
|
|
|
(Layout::create_note): Align the NT_GNU_PROPERTY_TYPE_0 note to 8
|
|
|
|
|
bytes for 64-bit ELF.
|
|
|
|
|
(Layout::segment_precedes): Place segments with larger alignments
|
|
|
|
|
first.
|
|
|
|
|
* output.cc (Output_segment::Output_segment): Initialize align_.
|
|
|
|
|
* output.h (Output_segment): Add align, set_align and align_.
|
|
|
|
|
* testsuite/Makefile.am (gnu_property_test.stdout): Pass -lhSWn
|
|
|
|
|
to $(TEST_READELF).
|
|
|
|
|
(gnu_property_test): Pass --build-id to ld.
|
|
|
|
|
* testsuite/Makefile.in: Regenerated.
|
|
|
|
|
* testsuite/gnu_property_test.sh (check_alignment): New.
|
|
|
|
|
Use check_alignment to check the NT_GNU_PROPERTY_TYPE_0 note
|
|
|
|
|
alignment. Verify that there are 2 PT_NOTE segments.
|
|
|
|
|
|
2020-10-13 20:10:24 +08:00
|
|
|
|
2020-10-13 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR gold/21452
|
|
|
|
|
* x86_64.cc (Scan::local_reloc_may_be_function_pointer): Remove
|
|
|
|
|
check for shared library.
|
|
|
|
|
(Scan::global_reloc_may_be_function_pointer): Remove check for
|
|
|
|
|
shared library and symbol visibility.
|
|
|
|
|
* testsuite/icf_safe_so_test.cc (bar_static): New function.
|
|
|
|
|
(main): Take function address of bar_static and use it.
|
|
|
|
|
* testsuite/icf_safe_so_test.sh (arch_specific_safe_fold): Also
|
|
|
|
|
check fold on x86-64. Check bar_static isn't folded.
|
|
|
|
|
|
2020-10-13 20:08:25 +08:00
|
|
|
|
2020-10-13 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* icf.cc (Icf::find_identical_sections): Skip zero-sized sections.
|
|
|
|
|
|
2020-10-09 14:26:33 +08:00
|
|
|
|
2020-10-09 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* powerpc.cc (Powerpc_relobj::do_relocate_sections): Don't do
|
|
|
|
|
local entry offset optimisation for lplt_section.
|
|
|
|
|
(Target_powerpc::Branch_info::make_stub): Don't add local
|
|
|
|
|
entry offset to long branch dest passed to
|
|
|
|
|
add_long_branch_entry. Do pass st_other bits.
|
|
|
|
|
(Stub_table::Branch_stub_ent): Add "other_" field.
|
|
|
|
|
(Stub_table::add_long_branch_entry): Add "other" param, and
|
|
|
|
|
save.
|
|
|
|
|
(Stub_table::branch_stub_size): Adjust long branch offset.
|
|
|
|
|
(Stub_table::do_write): Likewise.
|
|
|
|
|
(Target_powerpc::Relocate::relocate): Likewise.
|
|
|
|
|
|
2020-10-09 08:29:33 +08:00
|
|
|
|
2020-10-09 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* powerpc.cc (is_got_reloc): New function.
|
|
|
|
|
(Target_powerpc::Relocate::relocate): Use it here, exclude GOT
|
|
|
|
|
relocs when looking for stubs.
|
|
|
|
|
|
2020-10-08 19:54:26 +08:00
|
|
|
|
2020-10-08 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/split_i386.sh: Updated for --split-stack-adjust-size
|
|
|
|
|
default change.
|
|
|
|
|
* testsuite/split_x86_64.sh: Likewise.
|
|
|
|
|
|
2020-10-08 07:57:43 +08:00
|
|
|
|
2020-10-08 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* options.h (split_stack_adjust_size): Default to 0x100000.
|
|
|
|
|
|
2020-09-26 19:04:55 +08:00
|
|
|
|
2020-09-26 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* powerpc.cc (Target_powerpc): Rename power10_stubs_ to
|
|
|
|
|
power10_relocs_.
|
|
|
|
|
(Target_powerpc::set_power10_relocs): New accessor.
|
|
|
|
|
(Target_powerpc::set_power10_stubs): Delete.
|
|
|
|
|
(Target_powerpc::power10_stubs): Adjust.
|
|
|
|
|
(Target_powerpc::has_localentry0): New accessor.
|
|
|
|
|
(ld_0_11): New constant.
|
|
|
|
|
(glink_eh_frame_fde_64v1, glink_eh_frame_fde_64v2): Adjust.
|
|
|
|
|
(glink_eh_frame_fde_64v2_localentry0): New.
|
|
|
|
|
(Output_data_glink::pltresolve_size): Update.
|
|
|
|
|
(Output_data_glink::add_eh_frame): Use localentry0 version eh_frame.
|
|
|
|
|
(Output_data_glink::do_write): Move r2 save to start of ELFv2 stub
|
|
|
|
|
and only emit for has_localentry0. Don't use r2 in the stub.
|
|
|
|
|
(Target_powerpc::Scan::local, global): Adjust for
|
|
|
|
|
set_power10_relocs renaming.
|
|
|
|
|
(Target_powerpc::scan_relocs): Warn and reset plt_localentry0_.
|
|
|
|
|
|
2020-09-23 21:24:01 +08:00
|
|
|
|
2020-09-24 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* powerpc.cc (Target_powerpc::Relocate::relocate): Don't skip
|
|
|
|
|
first insn of __tls_get_addr_opt stub.
|
|
|
|
|
|
PowerPC TPREL_HA/LO optimisation
ppc64 ld optimises sequences like the following
addis 3,13,wot@tprel@ha
lwz 3,wot@tprel@l(3)
to
nop
lwz 3,wot@tprel(13)
when "wot" is located near enough to the thread pointer.
However, the ABI doesn't require that R_PPC64_TPREL16_HA always be on
an addis rt,13,imm instruction, and while ld checked for that on the
high-part instruction it didn't disable the optimisation on the
low-part instruction. This patch fixes that problem, disabling the
tprel optimisation globally if high-part instructions don't pass
sanity checks. The optimisation is also enabled for ppc32, where
before ld.bfd had the code in the wrong place and ld.gold had it in a
block only enabled for ppc64.
bfd/
* elf32-ppc.c (ppc_elf_check_relocs): Set has_tls_reloc for
high part tprel16 relocs.
(ppc_elf_tls_optimize): Sanity check high part tprel16 relocs.
Clear do_tls_opt on odd instructions.
(ppc_elf_relocate_section): Move TPREL16_HA/LO optimisation later.
Don't sanity check them here.
* elf64-ppc.c (ppc64_elf_check_relocs): Set has_tls_reloc for
high part tprel16 relocs.
(ppc64_elf_tls_optimize): Sanity check high part tprel16 relocs.
Clear do_tls_opt on odd instructions.
(ppc64_elf_relocate_section): Don't sanity check TPREL16_HA.
ld/
* testsuite/ld-powerpc/tls32.d: Update for TPREL_HA/LO optimisation.
* testsuite/ld-powerpc/tlsexe32.d: Likewise.
* testsuite/ld-powerpc/tlsldopt32.d: Likewise.
* testsuite/ld-powerpc/tlsmark32.d: Likewise.
* testsuite/ld-powerpc/tlsopt4_32.d: Likewise.
* testsuite/ld-powerpc/tprel.s,
* testsuite/ld-powerpc/tprel.d,
* testsuite/ld-powerpc/tprel32.d: New tests.
* testsuite/ld-powerpc/tprelbad.s,
* testsuite/ld-powerpc/tprelbad.d: New test.
* testsuite/ld-powerpc/powerpc.exp: Run them.
gold/
* powerpc.cc (Target_powerpc): Add tprel_opt_ and accessors.
(Target_powerpc::Scan::local): Sanity check tprel high relocs.
(Target_powerpc::Scan::global): Likewise.
(Target_powerpc::Relocate::relocate): Control tprel optimisation
with tprel_opt_ and enable for 32-bit.
2020-08-24 15:02:57 +08:00
|
|
|
|
2020-08-24 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* powerpc.cc (Target_powerpc): Add tprel_opt_ and accessors.
|
|
|
|
|
(Target_powerpc::Scan::local): Sanity check tprel high relocs.
|
|
|
|
|
(Target_powerpc::Scan::global): Likewise.
|
|
|
|
|
(Target_powerpc::Relocate::relocate): Control tprel optimisation
|
|
|
|
|
with tprel_opt_ and enable for 32-bit.
|
|
|
|
|
|
2020-08-12 18:25:38 +08:00
|
|
|
|
2020-08-12 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* po/sr.po: Updated Serbian translation.
|
|
|
|
|
|
2020-07-23 09:05:56 +08:00
|
|
|
|
2020-07-27 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* options.h (DEFINE_enum): Add optional_arg__ param, adjust
|
|
|
|
|
all uses.
|
|
|
|
|
(General_options): Add --power10-stubs and --no-power10-stubs.
|
|
|
|
|
* options.cc (General_options::parse_no_power10_stubs): New.
|
|
|
|
|
(General_options::finalize): Handle --power10-stubs.
|
|
|
|
|
* powerpc.cc (set_power10_stubs): Don't set when --power10-stubs=no.
|
|
|
|
|
(power10_stubs_auto): New.
|
|
|
|
|
(struct Plt_stub_ent): Add toc_ and tocoff_. Don't use a bitfield
|
|
|
|
|
for indx_.
|
|
|
|
|
(struct Branch_stub_ent): Add toc_and tocoff_. Use bitfields for
|
|
|
|
|
iter_, notoc_ and save_res_.
|
|
|
|
|
(add_plt_call_entry): Set toc_. Adjust resizing conditions for
|
|
|
|
|
--power10-stubs=auto.
|
|
|
|
|
(add_long_branch_entry): Set toc_.
|
|
|
|
|
(add_eh_frame, define_stub_syms): No longer use const_iterators
|
|
|
|
|
for plt and long branch stub iteration.
|
|
|
|
|
(build_tls_opt_head, build_tls_opt_tail): Change parameters and
|
|
|
|
|
return value. Move tests for __tls_get_addr to callers.
|
|
|
|
|
(plt_call_size): Handle --power10-stubs=auto.
|
|
|
|
|
(branch_stub_size): Likewise.
|
|
|
|
|
(Stub_table::do_write): Likewise.
|
|
|
|
|
(relocate): Likewise.
|
|
|
|
|
|
2020-07-19 22:14:47 +08:00
|
|
|
|
2020-07-19 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/bnd_ifunc_1.sh: Updated.
|
|
|
|
|
* testsuite/bnd_plt_1.sh: Likewise.
|
2020-07-19 22:30:42 +08:00
|
|
|
|
* testsuite/split_x32.sh: Likewise.
|
2020-07-19 22:14:47 +08:00
|
|
|
|
* testsuite/split_x86_64.sh: Likewise.
|
|
|
|
|
* testsuite/x86_64_indirect_call_to_direct.sh: Likewise.
|
|
|
|
|
|
2020-07-08 18:08:05 +08:00
|
|
|
|
2020-07-08 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/script_test_7.sh: Adjust expected address of the .bss
|
|
|
|
|
section.
|
|
|
|
|
* testsuite/script_test_9.sh: Do not expect the .init section to
|
|
|
|
|
immediately follow the .text section in the mapping of sections to
|
|
|
|
|
segments.
|
|
|
|
|
|
2020-07-07 16:54:09 +08:00
|
|
|
|
2020-07-07 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target-reloc.h: (Default_comdat_behaviour:get): Ignore discarded
|
|
|
|
|
relocs that refer to the .gnu.build.attributes section.
|
|
|
|
|
|
2020-07-06 17:43:35 +08:00
|
|
|
|
2020-07-06 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* po/fr.po: Updated French translation.
|
|
|
|
|
* po/uk.po: Updated Ukranian translation.
|
|
|
|
|
|
2020-07-04 17:16:22 +08:00
|
|
|
|
2020-07-04 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
Binutils 2.35 branch created.
|
|
|
|
|
|
2020-07-03 13:59:13 +08:00
|
|
|
|
2020-07-03 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 26028
|
|
|
|
|
* testsuite/Makefile.am (file_in_many_sections.stdout): Add -W
|
|
|
|
|
to readelf options.
|
|
|
|
|
* testsuite/Makefile.in: Regenerate.
|
|
|
|
|
|
libctf, elfcpp, gold: do not assume that <byteswap.h> contains bswap_*
At least one C library (uclibc-ng) defines some of these only when
the compiler is GCC. We might as well test for all three cases and
handle any of them being missing.
Very similar code exists in libctf and split between elfcpp and gold:
fix both.
(Also sync up elfcpp with a change made to libctf swap.h a few months
ago: since there is no out-of-line definition of the bswap replacements,
they should be declared static inline, not just inline, to prevent the
linker generating out-of-line references to them.)
PR libctf/25120
libctf/
* configure.ac: Check for bswap_16, bswap_32, and bswap_64 decls.
* swap.h (bswap_16): Do not assume that presence of <byteswap.h>
means this is declared.
(bswap_32): Likewise.
(bswap_64): Likewise.
(bswap_identity_64): Remove, unused.
* configure: Regenerated.
* config.h.in: Likewise.
gold/
* configure.ac: Check for bswap_16, bswap_32, and bswap_64 decls.
* configure: Regenerated.
* config.h.in: Likewise.
elfcpp/
* elfcpp_swap.h (bswap_16): Do not assume that presence of
<byteswap.h> means this is declared. Make static inline, matching
recent change to libctf, since there is no non-inline definition
of these functions.
(bswap_32): Likewise.
(bswap_64): Likewise.
2019-12-13 23:19:17 +08:00
|
|
|
|
2020-06-26 Nick Alcock <nick.alcock@oracle.com>
|
|
|
|
|
|
|
|
|
|
* configure.ac: Check for bswap_16, bswap_32, and bswap_64 decls.
|
|
|
|
|
* configure: Regenerated.
|
|
|
|
|
* config.h.in: Likewise.
|
|
|
|
|
|
2020-06-25 00:38:16 +08:00
|
|
|
|
2020-06-24 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target-reloc.h (issue_discarded_error): Initialise the
|
|
|
|
|
key_symndx variable.
|
|
|
|
|
|
2020-06-24 03:01:24 +08:00
|
|
|
|
2020-06-23 Roland McGrath <mcgrathr@google.com>
|
|
|
|
|
|
|
|
|
|
PR 22843
|
|
|
|
|
* options.h (class General_options): Add --dependency-file option.
|
|
|
|
|
* fileread.cc (File_read::files_read): New static variable.
|
|
|
|
|
(File_read::open): Add the file to the files_read list.
|
|
|
|
|
(File_read::record_file_read): New static member function.
|
|
|
|
|
(File_read::write_dependency_file): New static member function.
|
|
|
|
|
* fileread.h (class File_read): Declare them.
|
|
|
|
|
* layout.cc (Layout::read_layout_from_file): Call record_file_read.
|
|
|
|
|
(Close_task_runner::run): Call write_dependency_file if
|
|
|
|
|
--dependency-file was passed.
|
|
|
|
|
|
2020-06-18 17:46:18 +08:00
|
|
|
|
2020-06-18 Fangrui Song <i@maskray.me>
|
|
|
|
|
|
|
|
|
|
PR gold/26039
|
|
|
|
|
* layout.cc (Layout::finish_dynamic_section): Set DF_1_PIE.
|
|
|
|
|
|
2020-06-16 19:55:18 +08:00
|
|
|
|
2020-06-16 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/discard_locals_test.c: Replace uses of asm with __asm__.
|
|
|
|
|
* testsuite/discard_locals_relocatable_test.c: Likewise.
|
|
|
|
|
|
2020-06-16 16:39:33 +08:00
|
|
|
|
2020-06-16 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/Makefile.am (export_dynamic_plugin.o): Use CXXCOMPILE.
|
|
|
|
|
(plugin_test_wrap_symbols_1.o): Likewise.
|
|
|
|
|
(plugin_test_wrap_symbols_2.o): Likewise.
|
|
|
|
|
* testsuite/Makefile.in: Regenerate.
|
|
|
|
|
|
2020-06-16 02:45:02 +08:00
|
|
|
|
2020-06-15 Roland McGrath <mcgrathr@google.com>
|
|
|
|
|
|
|
|
|
|
Implement -z start-stop-visibility=... option.
|
|
|
|
|
* options.h (class General_options): Handle -z start-stop-visibility=.
|
|
|
|
|
(General_options::start_stop_visibility_enum): New public method.
|
|
|
|
|
(General_options::set_start_stop_visibility_enum): New private method.
|
|
|
|
|
(General_options::start_stop_visibility_enum_): New private member.
|
|
|
|
|
* options.cc (General_options::General_options): Add initializer.
|
|
|
|
|
(General_options::finalize): Set this->start_stop_visibility_enum_
|
|
|
|
|
from string value.
|
|
|
|
|
* layout.cc (Layout::define_section_symbols): Use option setting.
|
|
|
|
|
|
Rename PowerPC64 pcrel GOT TLS relocations
These relocations should have had REL in their names, to reflect the
fact that they are pc-relative. Fix that now by adding _PCREL.
I've added some back-compatibility code to support anyone using
.reloc with the old relocations.
include/
* elf/ppc64.h (elf_ppc64_reloc_type): Rename
R_PPC64_GOT_TLSGD34 to R_PPC64_GOT_TLSGD_PCREL34,
R_PPC64_GOT_TLSLD34 to R_PPC64_GOT_TLSLD_PCREL34,
R_PPC64_GOT_TPREL34 to R_PPC64_GOT_TPREL_PCREL34, and
R_PPC64_GOT_DTPREL34 to R_PPC64_GOT_DTPREL_PCREL34.
bfd/
* reloc.c: Rename
BFD_RELOC_PPC64_GOT_TLSGD34 to BFD_RELOC_PPC64_GOT_TLSGD_PCREL34,
BFD_RELOC_PPC64_GOT_TLSLD34 to BFD_RELOC_PPC64_GOT_TLSLD_PCREL34,
BFD_RELOC_PPC64_GOT_TPREL34 to BFD_RELOC_PPC64_GOT_TPREL_PCREL34,
BFD_RELOC_PPC64_GOT_DTPREL34 to BFD_RELOC_PPC64_GOT_DTPREL_PCREL34.
* elf64-ppc.c: Update throughout for reloc renaming.
(ppc64_elf_reloc_name_lookup): Handle old reloc names.
* libbfd.h: Regenerate.
* bfd-in2.h: Regenerate.
gas/
* config/tc-ppc.c: Update throughout for reloc renaming.
elfcpp/
* powerpc.h: Rename
R_PPC64_GOT_TLSGD34 to R_PPC64_GOT_TLSGD_PCREL34,
R_PPC64_GOT_TLSLD34 to R_PPC64_GOT_TLSLD_PCREL34,
R_PPC64_GOT_TPREL34 to R_PPC64_GOT_TPREL_PCREL34, and
R_PPC64_GOT_DTPREL34 to R_PPC64_GOT_DTPREL_PCREL34.
gold/
* powerpc.cc: Update throughout for reloc renaming.
2020-06-06 10:26:20 +08:00
|
|
|
|
2020-06-06 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* powerpc.cc: Update throughout for reloc renaming.
|
|
|
|
|
|
2020-05-22 10:12:43 +08:00
|
|
|
|
2020-05-22 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 25882
|
|
|
|
|
* powerpc.cc (merge_object_attributes): Replace name param with
|
|
|
|
|
obj param. Update callers. Don't init FP attributes from shared
|
|
|
|
|
libraries, and do not emit an error if they don't match.
|
|
|
|
|
|
2020-05-15 06:57:57 +08:00
|
|
|
|
2020-05-15 Nikita Ermakov <coffe92@gmail.com>
|
|
|
|
|
|
|
|
|
|
* powerpc.cc (do_gc_mark_symbol): Don't segfault on plugin symbols.
|
|
|
|
|
|
2020-05-14 18:26:26 +08:00
|
|
|
|
2020-05-14 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* po/sr.po: New Serbian translation.
|
|
|
|
|
|
2020-05-11 07:54:14 +08:00
|
|
|
|
2020-05-11 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* powerpc.cc: Rename powerxx to power10 throughout.
|
|
|
|
|
|
2020-05-02 21:18:16 +08:00
|
|
|
|
2020-05-02 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR gold/25904
|
|
|
|
|
* testsuite/Makefile.am (COMMON_TEST_C_CFLAGS): New.
|
|
|
|
|
(common_test_1.o): New rule.
|
|
|
|
|
(common_test_2.o): Likewise.
|
|
|
|
|
(common_test_3.o): Likewise.
|
|
|
|
|
(plugin_common_test_1.o): Likewise.
|
|
|
|
|
(plugin_common_test_2.o): Likewise.
|
|
|
|
|
(common_test_1_v1.o): Likewise.
|
|
|
|
|
(common_test_1_v2.o): Likewise.
|
|
|
|
|
(common_test_2_pic.o): Compile with $(COMMON_TEST_C_CFLAGS).
|
|
|
|
|
(common_test_3_pic.o): Likewise.
|
|
|
|
|
* testsuite/Makefile.in: Regenerated.
|
|
|
|
|
|
gold: x86-64: Fix TLSDESC relaxation for x32
X32 TLSDESC sequences can be:
40 8d 05 00 00 00 00 rex lea foo@TLSDESC(%rip), %reg
...
67 ff 10 call *foo@TLSCALL(%eax)
or the same sequence as LP64:
48 8d 05 00 00 00 00 lea foo@TLSDESC(%rip), %reg
...
ff 10 call *foo@TLSCALL(%rax)
We need to support both sequences for x32. For both GDesc -> IE/LE
transitions,
67 ff 10 call *foo@TLSCALL(%eax)
should relaxed to
0f 1f 00 nopl (%rax)
For GDesc -> LE transition,
40 8d 05 00 00 00 00 rex lea foo@TLSDESC(%rip), %reg
should relaxed to
40 c7 c0 fc ff ff ff rex movl $foo@tpoff, %reg
For GDesc -> IE transition,
40 8d 05 00 00 00 00 rex lea foo@TLSDESC(%rip), %reg
should relaxed to
40 8b 05 00 00 00 00 rex movl foo@gottpoff(%rip), %eax
PR gold/25426
* x86_64.cc (Target_x86_64<size>::Relocate::tls_desc_gd_to_ie):
For x32, relax "rex leal foo@tlsdesc(%rip), %reg" to
"rex movl foo@gottpoff(%rip), %eax" and relax ""call *(%eax)"
to "nopl (%rax)".
(Target_x86_64<size>::Relocate::tls_desc_gd_to_le): For x32,
relax "rex leal foo@tlsdesc(%rip), %reg" to
"rex movl foo@tpoff, %eax" and relax "call *foo@tlscall(%eax)"
to "nopl (%rax)".
* testsuite/Makefile.am (tls_test_gnu2.o): Depend on
gcctestdir/as.
(tls_test_file2_gnu2.o): Likewise.
(tls_test_c_gnu2.o): Likewise.
* testsuite/Makefile.in: Regenerated.
2020-05-02 01:11:06 +08:00
|
|
|
|
2020-05-01 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR gold/25426
|
|
|
|
|
* x86_64.cc (Target_x86_64<size>::Relocate::tls_desc_gd_to_ie):
|
|
|
|
|
For x32, relax "rex leal foo@tlsdesc(%rip), %reg" to
|
|
|
|
|
"rex movl foo@gottpoff(%rip), %eax" and relax ""call *(%eax)"
|
|
|
|
|
to "nopl (%rax)".
|
|
|
|
|
(Target_x86_64<size>::Relocate::tls_desc_gd_to_le): For x32,
|
|
|
|
|
relax "rex leal foo@tlsdesc(%rip), %reg" to
|
|
|
|
|
"rex movl foo@tpoff, %eax" and relax "call *foo@tlscall(%eax)"
|
|
|
|
|
to "nopl (%rax)".
|
|
|
|
|
* testsuite/Makefile.am (tls_test_gnu2.o): Depend on
|
|
|
|
|
gcctestdir/as.
|
|
|
|
|
(tls_test_file2_gnu2.o): Likewise.
|
|
|
|
|
(tls_test_c_gnu2.o): Likewise.
|
|
|
|
|
* testsuite/Makefile.in: Regenerated.
|
|
|
|
|
|
2020-05-02 01:08:31 +08:00
|
|
|
|
2020-05-01 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR gold/25473
|
|
|
|
|
* x86_64.cc (Target_x86_64<size>::Relocate::tls_desc_gd_to_ie):
|
|
|
|
|
Properly check r8 - r15 in "lea foo@TLSDESC(%rip), %reg".
|
|
|
|
|
(Target_x86_64<size>::Relocate::tls_desc_gd_to_le): Properly
|
|
|
|
|
relax r8 - r15 in "lea foo@TLSDESC(%rip), %reg".
|
|
|
|
|
* testsuite/Makefile.am (check_SCRIPTS): Add x86_64_gd_to_le.sh.
|
|
|
|
|
(check_DATA): Add x86_64_gd_to_le.stdout.
|
|
|
|
|
(MOSTLYCLEANFILES): Add x86_64_gd_to_le.
|
|
|
|
|
(x86_64_gd_to_le.o): New target.
|
|
|
|
|
(x86_64_gd_to_le): Likewise.
|
|
|
|
|
(x86_64_gd_to_le.stdout): Likewise.
|
|
|
|
|
* testsuite/Makefile.in: Regenerated.
|
|
|
|
|
* testsuite/x86_64_gd_to_le.s: New file.
|
|
|
|
|
* testsuite/x86_64_gd_to_le.sh: Likewise.
|
|
|
|
|
|
2020-05-02 01:06:15 +08:00
|
|
|
|
2020-05-01 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/odr_violation2.cc (Ordering::operator()): Make
|
|
|
|
|
expression even more complex.
|
|
|
|
|
|
2020-05-02 00:05:01 +08:00
|
|
|
|
2020-05-01 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ver_test_pr16504.sh: Updated.
|
|
|
|
|
|
2020-05-02 00:00:14 +08:00
|
|
|
|
2020-05-01 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR gold/25872
|
|
|
|
|
* x86_64.cc (Output_data_plt_x86_64_bnd::do_write): Increment
|
|
|
|
|
plt_offset after setting the reserved TLSDESC PLT entry.
|
|
|
|
|
(Output_data_plt_x86_64_ibt<size>::do_write): Likewise.
|
|
|
|
|
|
2020-05-01 23:53:47 +08:00
|
|
|
|
2020-05-01 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR gold/25872
|
|
|
|
|
* x86_64.cc (Output_data_plt_x86_64_bnd::do_address_for_local):
|
|
|
|
|
Handle local IFUNC symbol.
|
|
|
|
|
(Output_data_plt_x86_64_ibt::do_address_for_local): Likewise.
|
|
|
|
|
|
2020-03-20 06:54:20 +08:00
|
|
|
|
2020-03-19 Fangrui Song <maskray@google.com>
|
|
|
|
|
|
|
|
|
|
* options.h (General_options): Add --no-rosegment option.
|
|
|
|
|
|
2020-02-24 22:52:34 +08:00
|
|
|
|
2020-02-24 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* po/fr.po: Update French translation.
|
|
|
|
|
|
2020-01-20 23:10:23 +08:00
|
|
|
|
2020-01-20 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* po/uk.po: Updated Ukranian translation.
|
|
|
|
|
|
2020-01-18 22:12:07 +08:00
|
|
|
|
2020-01-18 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* po/gold.pot: Regenerate.
|
|
|
|
|
|
2020-01-18 21:50:25 +08:00
|
|
|
|
2020-01-18 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
Binutils 2.34 branch created.
|
|
|
|
|
|
2020-01-01 16:22:19 +08:00
|
|
|
|
2020-01-01 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
Update year range in copyright notice of all files.
|
|
|
|
|
|
2020-01-01 15:37:11 +08:00
|
|
|
|
For older changes see ChangeLog-2019
|
2016-01-01 18:44:31 +08:00
|
|
|
|
|
2020-01-01 15:37:11 +08:00
|
|
|
|
Copyright (C) 2020 Free Software Foundation, Inc.
|
2016-01-01 18:44:31 +08: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:
|