2021-06-11 12:53:57 +08:00
|
|
|
|
2021-06-15 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-pie/vaddr-0.d: Update expected output.
|
|
|
|
|
|
2021-06-11 12:36:47 +08:00
|
|
|
|
2021-06-11 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 27952
|
|
|
|
|
* ldelf.c (ldelf_after_open): Error on input PIEs too.
|
|
|
|
|
|
2021-06-09 18:10:16 +08:00
|
|
|
|
2021-06-09 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 27666
|
|
|
|
|
* testsuite/ld-sparc/sparc.exp: Do not run the sparctests or
|
|
|
|
|
sparc64tests for Solaris2 targets.
|
|
|
|
|
|
2021-06-03 17:02:30 +08:00
|
|
|
|
2021-06-03 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 2589
|
|
|
|
|
* ld.texi (link-time runtime library search path): Mention
|
|
|
|
|
plugin library path. Correct order of search.
|
|
|
|
|
|
RISC-V: PR27566, Do not relax when data segment phase is exp_seg_relro_adjust.
2021-05-31 Nelson Chu <nelson.chu@sifive.com>
Lifang Xia <lifang_xia@c-sky.com>
The data segment phase exp_seg_relro_adjust means we are still adjusting the
relro segments, so we will get the symbol values which havn't consider the
relro. It is dangerous and we shouldn't do the relaxations at this stage.
Otherwise, we may get the truncated fails when the relax range crossing the
data segment.
One of the solution is that, we use a pointer to monitor the data segment
phase while relaxing, to know whether the relro has been handled or not.
Once we check the phase is exp_seg_relro_adjust, we should skip this round
of relaxations, since the incorrect symbol values will affect the correctness
of relaxations. I think we probably need to record more information about
data segment or alignments in the future, to make sure it is safe to doing
relaxations.
For the two new testcases, relro-relax-lui and relro-relax-pcrel, we get
the following truncated errors when using toolchains, which enable relro:
(.text+0x0): relocation truncated to fit: R_RISCV_GPREL_I against symbol `SymbolRodata' defined in .rodata section in test1.o
After applying this patch, the truncated errors should be resolved.
However, only linux toolchains support -z relro, so we only test these
two testcases when supporting shared library.
bfd/
PR 27566
* elfnn-riscv.c (struct riscv_elf_link_hash_table): New integer pointer
to monitor the data segment phase.
(bfd_elfNN_riscv_set_data_segment_info): New function called by
after_allocation, to set the data_segment_phase from expld.dataseg.
(_bfd_riscv_relax_section): Don't relax when data_segment_phase is
exp_seg_relro_adjust (0x4).
* elfxx-riscv.h (bfd_elf32_riscv_set_data_segment_info): New extern.
(bfd_elf64_riscv_set_data_segment_info): Likewise.
ld/
PR 27566
* emultempl/riscvelf.em (after_allocation): Call
riscv_set_data_segment_info to set data segment phase before relaxing.
* testsuite/ld-riscv-elf/ld-riscv-elf.exp: Updated.
* testsuite/ld-riscv-elf/relro-relax-lui.d: New testcase.
* testsuite/ld-riscv-elf/relro-relax-lui.s: Likewise.
* testsuite/ld-riscv-elf/relro-relax-pcrel.d: Likewise.
* testsuite/ld-riscv-elf/relro-relax-pcrel.s: Likewise.
2021-05-12 23:26:33 +08:00
|
|
|
|
2021-05-31 Nelson Chu <nelson.chu@sifive.com>
|
|
|
|
|
Lifang Xia <lifang_xia@c-sky.com>
|
|
|
|
|
|
|
|
|
|
PR 27566
|
|
|
|
|
* emultempl/riscvelf.em (after_allocation): Call
|
|
|
|
|
riscv_set_data_segment_info to set data segment phase before relaxing.
|
|
|
|
|
* testsuite/ld-riscv-elf/ld-riscv-elf.exp: Updated.
|
|
|
|
|
* testsuite/ld-riscv-elf/relro-relax-lui.d: New testcase.
|
|
|
|
|
* testsuite/ld-riscv-elf/relro-relax-lui.s: Likewise.
|
|
|
|
|
* testsuite/ld-riscv-elf/relro-relax-pcrel.d: Likewise.
|
|
|
|
|
* testsuite/ld-riscv-elf/relro-relax-pcrel.s: Likewise.
|
|
|
|
|
|
2021-05-29 00:34:10 +08:00
|
|
|
|
2021-05-28 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/27905
|
|
|
|
|
* testsuite/ld-i386/pcrel16-2.d: xfail.
|
|
|
|
|
* testsuite/ld-x86-64/pcrel16-2.d: Likewise.
|
|
|
|
|
|
2021-05-27 03:13:13 +08:00
|
|
|
|
2021-05-26 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/27905
|
|
|
|
|
* testsuite/ld-i386/code16.d: New file.
|
|
|
|
|
* testsuite/ld-i386/code16.t: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/code16.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/code16.t: Likewise.
|
|
|
|
|
* testsuite/ld-i386/i386.exp: Run code16.
|
|
|
|
|
* testsuite/ld-x86-64/x86-64.exp: Likewise.
|
|
|
|
|
|
2021-05-26 21:48:20 +08:00
|
|
|
|
2021-05-26 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-x86-64/ilp32-12.d: New file.
|
|
|
|
|
* testsuite/ld-x86-64/ilp32-12.s: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/x86-64.exp: Run ilp32-12.
|
|
|
|
|
|
RISC-V: Check the overflow for %pcrel_lo addend more strictly.
The %pcrel_lo addend may causes the overflow, and need more than one
%pcrel_hi values. But there may be only one auipc, shared by those
%pcrel_lo with addends. However, the existing check method in the
riscv_resolve_pcrel_lo_relocs, may not be able to work for some
special/corner cases.
Consider the testcases pcrel-lo-addend-2b. Before applying this patch,
I can compile it successfully. But in fact the addend cause the value
of %pcrel_hi to be different. This patch try to check the value of
%pcrel_hi directly, to make sure it won't be changed. Otherwise, linker
will report the following errors,
(.text+0xa): dangerous relocation: %pcrel_lo overflow with an addend,
the value of %pcrel_hi is 0x1000 without any addend, but may be 0x2000
after adding the %pcrel_lo addend
The toolchain regressions, rv64gc-linux/rv64gc-elf/rv32gc-linux/rv32i-elf,
pass expectedly and looks fine.
bfd/
* elfnn-riscv.c (riscv_resolve_pcrel_lo_relocs): Check the values
of %pcrel_hi, before and after adding the addend. Make sure the
value won't be changed, otherwise, report dangerous error.
ld/
* testsuite/ld-riscv-elf/ld-riscv-elf.exp: Updated.
* testsuite/ld-riscv-elf/pcrel-lo-addend-2a.d: Renamed from
pcrel-lo-addend-2.
* testsuite/ld-riscv-elf/pcrel-lo-addend-2a.s: Likewise.
* testsuite/ld-riscv-elf/pcrel-lo-addend-2b.d: New testcase.
* testsuite/ld-riscv-elf/pcrel-lo-addend-2b.s: Likewise.
2021-05-14 13:30:02 +08:00
|
|
|
|
2021-05-14 Nelson Chu <nelson.chu@sifive.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-riscv-elf/ld-riscv-elf.exp: Updated.
|
|
|
|
|
* testsuite/ld-riscv-elf/pcrel-lo-addend-2a.d: Renamed from
|
|
|
|
|
pcrel-lo-addend-2.
|
|
|
|
|
* testsuite/ld-riscv-elf/pcrel-lo-addend-2a.s: Likewise.
|
|
|
|
|
* testsuite/ld-riscv-elf/pcrel-lo-addend-2b.d: New testcase.
|
|
|
|
|
* testsuite/ld-riscv-elf/pcrel-lo-addend-2b.s: Likewise.
|
|
|
|
|
|
2021-05-12 14:10:45 +08:00
|
|
|
|
2021-05-13 Fangrui Song <maskray@google.com>
|
|
|
|
|
|
|
|
|
|
PR 27834
|
|
|
|
|
* ldlex.h (enum option_values): Add OPTION_NO_SYMBOLIC.
|
|
|
|
|
* lexsup.c (ld_options): Add -Bno-symbolic.
|
|
|
|
|
(parse_args): Handle -Bno-symbolic.
|
|
|
|
|
* ld.texi: Document -Bno-symbolic.
|
|
|
|
|
* NEWS: Mention -Bno-symbolic.
|
|
|
|
|
* testsuite/ld-elf/shared.exp: Add a test.
|
|
|
|
|
|
2021-05-12 18:43:59 +08:00
|
|
|
|
2021-05-12 Richard Earnshaw <rearnsha@arm.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-arm/arm-elf.exp (farcall test for v8-m.mainline):
|
|
|
|
|
Correct expected output.
|
|
|
|
|
|
2021-05-12 08:00:30 +08:00
|
|
|
|
2021-05-11 Roland McGrath <mcgrathr@google.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-x86-64/rela.d: Fix regexp not to presume a specific
|
|
|
|
|
address layout, so it works for e.g. --target=x86-64-elf.
|
|
|
|
|
|
2021-05-11 18:06:53 +08:00
|
|
|
|
2021-05-11 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 27113
|
|
|
|
|
* Makefile.am (install-data-local): Also delete libdep.dll.a if it
|
|
|
|
|
is present.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
|
2021-05-10 21:00:00 +08:00
|
|
|
|
2021-05-10 Dimitar Dimitrov <dimitar@dinux.eu>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/group8a.d: Remove pru from XFAIL list.
|
|
|
|
|
* testsuite/ld-elf/group8b.d: Ditto.
|
|
|
|
|
* testsuite/ld-elf/group9a.d: Ditto.
|
|
|
|
|
* testsuite/ld-elf/group9b.d: Ditto.
|
|
|
|
|
* testsuite/ld-elf/pr12851.d: Ditto.
|
|
|
|
|
* testsuite/ld-elf/pr22677.d: Ditto.
|
|
|
|
|
* testsuite/lib/ld-lib.exp (check_gc_sections_available): Remove
|
|
|
|
|
pru from list.
|
|
|
|
|
|
2021-05-10 20:58:17 +08:00
|
|
|
|
2021-05-10 Dimitar Dimitrov <dimitar@dinux.eu>
|
|
|
|
|
|
|
|
|
|
* scripttempl/pru.sc (.resource_table): Add ALIGN directive.
|
|
|
|
|
Use symbols for memory sizes.
|
|
|
|
|
|
2021-05-03 00:50:39 +08:00
|
|
|
|
2021-05-08 Mike Frysinger <vapier@gentoo.org>
|
|
|
|
|
|
|
|
|
|
* Makefile.am (html-local, doc/ld/index.html): New targets.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
|
2021-05-03 00:09:00 +08:00
|
|
|
|
2021-05-08 Mike Frysinger <vapier@gentoo.org>
|
|
|
|
|
|
|
|
|
|
* Makefile.am (AM_MAKEINFOFLAGS): Add --no-split.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
|
2021-05-07 18:05:12 +08:00
|
|
|
|
2021-05-07 Jan Beulich <jbeulich@suse.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-x86-64/rela.d: New.
|
|
|
|
|
* testsuite/ld-x86-64/x86-64.exp: Run new test.
|
|
|
|
|
|
2021-05-07 17:57:47 +08:00
|
|
|
|
2021-05-07 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* ldelfgen.c (compare_link_order): Ignore section size when
|
|
|
|
|
performing a relocateable link.
|
|
|
|
|
|
2021-05-07 09:54:10 +08:00
|
|
|
|
2021-05-07 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ldexp.c (update_definedness): Don't return false for absolute
|
|
|
|
|
symbols.
|
|
|
|
|
* ldmain.c (multiple_definition): Print "warning: " in message
|
|
|
|
|
when not a hard error.
|
|
|
|
|
|
2021-05-07 07:44:38 +08:00
|
|
|
|
2021-05-07 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/pr27825-1.d: Correct xfail.
|
|
|
|
|
* testsuite/ld-elf/pr27825-2.d: Likewise.
|
|
|
|
|
|
2021-05-06 19:51:25 +08:00
|
|
|
|
2021-05-06 Stafford Horne <shorne@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 27746
|
|
|
|
|
testsuite/ld-or1k/or1k.exp (or1kplttests): Add tests for linking
|
|
|
|
|
along with gotha() relocations.
|
|
|
|
|
testsuite/ld-or1k/gotha1.dd: New file.
|
|
|
|
|
testsuite/ld-or1k/gotha1.s: New file.
|
|
|
|
|
testsuite/ld-or1k/gotha2.dd: New file.
|
|
|
|
|
testsuite/ld-or1k/gotha2.s: New file
|
|
|
|
|
testsuite/ld-or1k/pltlib.s (x): Define size to avoid link
|
|
|
|
|
failure.
|
|
|
|
|
|
libctf, ld: fix test results for upstream GCC
The tests currently in binutils are aimed at the original GCC-based
implementation of CTF, which emitted CTF directly from GCC's internal
representation. The approach now under review emits CTF from DWARF,
with an eye to eventually doing this for all non-DWARF debuginfo-like
formats GCC supports. It also uses a different flag to enable
CTF emission (-gctf rather than -gt).
Adjust the testsuite accordingly.
Given that the ld testsuite results are dependent on type ordering,
which we do not guarantee at all, it's amazing how little changes. We
see a few type ordering differences, slices change because the old GCC
was buggy (slices were emitted "backwards", from the wrong end of the
machine word) and its expected results were wrong, and GCC now emits the
underlying integral type for enumerated types, though CTF has no way to
record this yet (coming in v4).
GCC also now emits even hidden symbols into the symtab (and thus
symtypetab), so one symtypetab test changes its expected results
slightly to compensate.
Also add tests for the CTF_K_UNKNOWN nonrepresentable type: this
couldn't be done before now since the only GCC that emits CTF_K_UNKNOWN
for nonrepresentable types is the new one.
ld/ChangeLog
2021-05-06 Nick Alcock <nick.alcock@oracle.com>
* testsuite/ld-ctf/ctf.exp: Use -gctf, not -gt.
* testsuite/lib/ld-lib.exp: Likewise.
* testsuite/ld-ctf/nonrepresentable-1.c: New test for nonrepresentable types.
* testsuite/ld-ctf/nonrepresentable-2.c: Likewise.
* testsuite/ld-ctf/nonrepresentable.d: Likewise.
* testsuite/ld-ctf/array.d: Larger type section.
* testsuite/ld-ctf/data-func-conflicted.d: Likewise.
* testsuite/ld-ctf/enums.d: Likewise.
* testsuite/ld-ctf/conflicting-enums.d: Don't compare types.
* testsuite/ld-ctf/cross-tu-cyclic-conflicting.d: Changed type order.
* testsuite/ld-ctf/cross-tu-noncyclic.d: Likewise.
* testsuite/ld-ctf/slice.d: Adjust for improved slice emission.
libctf/ChangeLog
2021-05-06 Nick Alcock <nick.alcock@oracle.com>
* testsuite/lib/ctf-lib.exp: Use -gctf, not -gt.
* testsuite/libctf-regression/nonstatic-var-section-ld-r.lk:
Hidden symbols now get into the symtypetab anyway.
2021-05-06 16:30:58 +08:00
|
|
|
|
2021-05-06 Nick Alcock <nick.alcock@oracle.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-ctf/ctf.exp: Use -gctf, not -gt.
|
|
|
|
|
* testsuite/lib/ld-lib.exp: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/nonrepresentable-1.c: New test for nonrepresentable types.
|
|
|
|
|
* testsuite/ld-ctf/nonrepresentable-2.c: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/nonrepresentable.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/array.d: Larger type section.
|
|
|
|
|
* testsuite/ld-ctf/data-func-conflicted.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/enums.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/conflicting-enums.d: Don't compare types.
|
|
|
|
|
* testsuite/ld-ctf/cross-tu-cyclic-conflicting.d: Changed type order.
|
|
|
|
|
* testsuite/ld-ctf/cross-tu-noncyclic.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/slice.d: Adjust for improved slice emission.
|
|
|
|
|
|
2021-05-06 11:28:39 +08:00
|
|
|
|
2021-05-05 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/27825
|
|
|
|
|
* testsuite/ld-elf/pr27825-1.d: New file.
|
|
|
|
|
* testsuite/ld-elf/pr27825-1a.s: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr27825-1b.s: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr27825-2.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr27825-2a.s: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr27825-2b.s: Likewise.
|
|
|
|
|
|
2021-05-05 09:05:31 +08:00
|
|
|
|
2021-05-05 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-powerpc/empty.s: New file.
|
|
|
|
|
* testsuite/ld-powerpc/undefweak.d,
|
|
|
|
|
* testsuite/ld-powerpc/undefweak.s: New testcase.
|
|
|
|
|
* testsuite/ld-powerpc/powerpc.exp: Run it.
|
|
|
|
|
|
2021-05-03 06:14:23 +08:00
|
|
|
|
2021-05-03 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-s390/tlspic_64.rd: Adjust expected output for
|
|
|
|
|
named section symbols.
|
|
|
|
|
|
2021-04-28 18:49:09 +08:00
|
|
|
|
2021-04-28 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/anno-sym.s: New test source file.
|
|
|
|
|
* testsuite/ld-elf/anno-sym.d: New test driver.
|
|
|
|
|
* testsuite/ld-elf/anno-sym.l: New test error output.
|
|
|
|
|
|
2021-04-26 16:41:35 +08:00
|
|
|
|
2021-04-26 Jan Beulich <jbeulich@suse.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-i386/pcrel16-2.s, testsuite/ld-i386/pcrel16-2.d,
|
|
|
|
|
testsuite/ld-x86-64/pcrel16-2.d: New.
|
|
|
|
|
* testsuite/ld-i386/i386.exp: Run new test.
|
|
|
|
|
* testsuite/ld-x86-64/x86-64.exp: Likewise.
|
|
|
|
|
|
2021-04-24 03:36:27 +08:00
|
|
|
|
2021-04-23 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/27771
|
|
|
|
|
* testsuite/ld-bootstrap/bootstrap.exp: Create a symbolic link
|
|
|
|
|
to tmpdir/ldscripts only if it doesn't exist.
|
|
|
|
|
|
2021-04-22 16:55:07 +08:00
|
|
|
|
2021-04-22 Jan Beulich <jbeulich@suse.com>
|
|
|
|
|
|
|
|
|
|
PR ld/26659
|
|
|
|
|
* testsuite/ld-pe/pr26659-weak-undef-sym.d: Relax for Cygwin.
|
|
|
|
|
|
2021-04-21 17:34:32 +08:00
|
|
|
|
2021-04-21 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-aarch64/variant_pcs-now.d: Adjust expected output
|
|
|
|
|
to allow for named section symbols.
|
|
|
|
|
* testsuite/ld-aarch64/variant_pcs-r.d: Likewise.
|
|
|
|
|
* testsuite/ld-aarch64/variant_pcs-shared.d: Likewise.
|
|
|
|
|
* testsuite/ld-alpha/tlsbin.rd: Likewise.
|
|
|
|
|
* testsuite/ld-alpha/tlsbinr.rd: Likewise.
|
|
|
|
|
* testsuite/ld-alpha/tlspic.rd: Likewise.
|
|
|
|
|
* testsuite/ld-arm/rodata-merge-map.sym: Likewise.
|
|
|
|
|
* testsuite/ld-arm/script-type.sym: Likewise.
|
|
|
|
|
* testsuite/ld-cris/libdso-2.d: Likewise.
|
|
|
|
|
* testsuite/ld-cris/pr16044.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/sec64k.exp: Likewise.
|
|
|
|
|
* testsuite/ld-ia64/tlsbin.rd: Likewise.
|
|
|
|
|
* testsuite/ld-ia64/tlspic.rd: Likewise.
|
|
|
|
|
* testsuite/ld-mips-elf/global-local-symtab-sort-n64t.d: Likewise.
|
|
|
|
|
* testsuite/ld-mips-elf/global-local-symtab-sort-o32t.d: Likewise.
|
|
|
|
|
* testsuite/ld-mmix/bspec1.d: Likewise.
|
|
|
|
|
* testsuite/ld-mmix/bspec2.d: Likewise.
|
|
|
|
|
* testsuite/ld-mmix/local1.d: Likewise.
|
|
|
|
|
* testsuite/ld-mmix/local3.d: Likewise.
|
|
|
|
|
* testsuite/ld-mmix/local5.d: Likewise.
|
|
|
|
|
* testsuite/ld-mmix/local7.d: Likewise.
|
|
|
|
|
* testsuite/ld-mmix/undef-3.d: Likewise.
|
|
|
|
|
* testsuite/ld-powerpc/tlsso.r: Likewise.
|
|
|
|
|
* testsuite/ld-powerpc/tlsso32.r: Likewise.
|
|
|
|
|
* testsuite/ld-powerpc/tlstocso.r: Likewise.
|
|
|
|
|
* testsuite/ld-s390/tlsbin.rd: Likewise.
|
|
|
|
|
* testsuite/ld-s390/tlsbin_64.rd: Likewise.
|
|
|
|
|
* testsuite/ld-s390/tlspic.rd: Likewise.
|
|
|
|
|
* testsuite/ld-s390/tlspic_64.rd: Likewise.
|
|
|
|
|
* testsuite/ld-sparc/gotop32.rd: Likewise.
|
|
|
|
|
* testsuite/ld-sparc/gotop64.rd: Likewise.
|
|
|
|
|
* testsuite/ld-sparc/tlssunbin32.rd: Likewise.
|
|
|
|
|
* testsuite/ld-sparc/tlssunbin64.rd: Likewise.
|
|
|
|
|
* testsuite/ld-sparc/tlssunnopic32.rd: Likewise.
|
|
|
|
|
* testsuite/ld-sparc/tlssunnopic64.rd: Likewise.
|
|
|
|
|
* testsuite/ld-sparc/tlssunpic32.rd: Likewise.
|
|
|
|
|
* testsuite/ld-sparc/tlssunpic64.rd: Likewise.
|
|
|
|
|
* testsuite/ld-tic6x/common.d: Likewise.
|
|
|
|
|
* testsuite/ld-tic6x/shlib-1.rd: Likewise.
|
|
|
|
|
* testsuite/ld-tic6x/shlib-1b.rd: Likewise.
|
|
|
|
|
* testsuite/ld-tic6x/shlib-1r.rd: Likewise.
|
|
|
|
|
* testsuite/ld-tic6x/shlib-1rb.rd: Likewise.
|
|
|
|
|
* testsuite/ld-tic6x/shlib-app-1.rd: Likewise.
|
|
|
|
|
* testsuite/ld-tic6x/shlib-app-1b.rd: Likewise.
|
|
|
|
|
* testsuite/ld-tic6x/shlib-app-1r.rd: Likewise.
|
|
|
|
|
* testsuite/ld-tic6x/shlib-app-1rb.rd: Likewise.
|
|
|
|
|
* testsuite/ld-tic6x/shlib-noindex.rd: Likewise.
|
|
|
|
|
* testsuite/ld-tic6x/static-app-1.rd: Likewise.
|
|
|
|
|
* testsuite/ld-tic6x/static-app-1b.rd: Likewise.
|
|
|
|
|
* testsuite/ld-tic6x/static-app-1r.rd: Likewise.
|
|
|
|
|
* testsuite/ld-tic6x/static-app-1rb.rd: Likewise.
|
|
|
|
|
|
2021-04-20 21:40:43 +08:00
|
|
|
|
2021-04-20 Clément Chigot <clement.chigot@atos.net>
|
|
|
|
|
|
|
|
|
|
PR binutils/21700
|
|
|
|
|
* testsuite/ld-powerpc/aix52.exp: Add new test.
|
|
|
|
|
* testsuite/ld-powerpc/aix-neg-reloc-32.d: New test.
|
|
|
|
|
* testsuite/ld-powerpc/aix-neg-reloc-64.d: New test.
|
|
|
|
|
* testsuite/ld-powerpc/aix-neg-reloc.ex: New test.
|
|
|
|
|
* testsuite/ld-powerpc/aix-neg-reloc.s: New test.
|
|
|
|
|
|
2021-04-13 21:37:06 +08:00
|
|
|
|
2021-04-13 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* ld.texi (Options): Add note about the effect of --as-needed on
|
|
|
|
|
the --rpath and --rpath-link options on Linux based systems.
|
|
|
|
|
|
2021-04-13 14:30:10 +08:00
|
|
|
|
2021-04-13 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 27722
|
|
|
|
|
* libdep_plugin.c (str2vec): Don't pass a potentially signed char
|
|
|
|
|
to isspace.
|
|
|
|
|
|
2021-04-12 17:03:45 +08:00
|
|
|
|
2021-04-12 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* configure.ac (--enable-checking): Add support.
|
|
|
|
|
* config.in: Regenerate.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2021-04-12 15:46:03 +08:00
|
|
|
|
2021-04-12 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/mipself.em (mips_create_output_section_statements):
|
|
|
|
|
Pass base type of hash table to is_elf_hash_table.
|
|
|
|
|
* ldelf.c (ldelf_after_open): Likewise.
|
|
|
|
|
|
2021-04-11 22:04:21 +08:00
|
|
|
|
2021-04-12 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 27719
|
|
|
|
|
* ldlang.c (lang_mark_undefineds, undef_start_stop): Test that
|
|
|
|
|
the symbol hash table is the correct type before accessing
|
|
|
|
|
elf_link_hash_entry symbols.
|
|
|
|
|
* plugin.c (is_visible_from_outside): Likewise.
|
|
|
|
|
* emultempl/armelf.em (ld${EMULATION_NAME}_finish): Likewise.
|
|
|
|
|
* emultempl/solaris2.em (elf_solaris2_before_allocation): Likewise.
|
|
|
|
|
|
2021-04-06 17:33:35 +08:00
|
|
|
|
2021-04-09 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-powerpc/inlinepcrel-1.d: Update expected output.
|
|
|
|
|
* testsuite/ld-powerpc/inlinepcrel-2.d: Likewise.
|
|
|
|
|
* testsuite/ld-powerpc/notoc2.d: Likewise.
|
|
|
|
|
* testsuite/ld-powerpc/notoc3.d: Likewise.
|
|
|
|
|
* testsuite/ld-powerpc/pcrelopt.d: Likewise.
|
|
|
|
|
* testsuite/ld-powerpc/startstop.d: Likewise.
|
|
|
|
|
* testsuite/ld-powerpc/tlsget.d: Likewise.
|
|
|
|
|
* testsuite/ld-powerpc/tlsget2.d: Likewise.
|
|
|
|
|
* testsuite/ld-powerpc/tlsld.d: Likewise.
|
|
|
|
|
* testsuite/ld-powerpc/weak1.d: Likewise.
|
|
|
|
|
* testsuite/ld-powerpc/weak1so.d: Likewise.
|
|
|
|
|
|
2021-04-06 16:54:57 +08:00
|
|
|
|
2021-04-06 Jan Beulich <jbeulich@suse.com>
|
|
|
|
|
|
|
|
|
|
* pe-dll.c (generate_reloc): Bail immediately when .reloc is
|
|
|
|
|
being discarded. Warn when relocated entry is above .reloc.
|
|
|
|
|
|
2021-04-05 14:01:53 +08:00
|
|
|
|
2021-04-05 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* configure.ac: Move initfini-array arg handling earlier. Don't
|
|
|
|
|
check for string.h, strings.h, stdlib.h, or locale.h. Do check
|
|
|
|
|
for inttypes.h, stdint.h, sys/types.h. Don't check for
|
|
|
|
|
setlocale, free, getev or strstr.
|
|
|
|
|
(AC_ISC_POSIX): Don't invoke.
|
|
|
|
|
* sysdep.h: Include string.h and stdlib.h unconditionally. Test
|
|
|
|
|
HAVE_SYS_TYPE_H and HAVE_SYS_STAT_H. Remove strstr, free and
|
|
|
|
|
getenv fallback declarations.
|
|
|
|
|
* ld.h: Don't test HAVE_LOCALE_H.
|
|
|
|
|
* ldmain.c: Don't test HAVE_SETLOCALE.
|
|
|
|
|
* config.in: Regenerate.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2021-04-02 00:10:38 +08:00
|
|
|
|
2021-04-01 Tamar Christina <tamar.christina@arm.com>
|
|
|
|
|
|
|
|
|
|
PR ld/26659
|
|
|
|
|
* testsuite/ld-pe/pe.exp: Add test.
|
|
|
|
|
* testsuite/ld-pe/pr26659-weak-undef-sym.d: New test.
|
|
|
|
|
* testsuite/ld-pe/pr26659-weak-undef-sym.s: New test.
|
|
|
|
|
|
2021-03-22 21:56:16 +08:00
|
|
|
|
2021-04-01 Martin Liska <mliska@suse.cz>
|
|
|
|
|
|
|
|
|
|
* ldbuildid.c (strneq): Remove strneq and use startswith.
|
|
|
|
|
(validate_build_id_style): Likewise.
|
|
|
|
|
(compute_build_id_size): Likewise.
|
|
|
|
|
|
Use bool in ld
* sysdep.h (POISON_BFD_BOOLEAN): Define.
* configure.ac (elf_list_options, elf_shlib_list_options=false),
(elf_plt_unwind_list_options=false): Replace FALSE with false,
and TRUE with true.
* emulparams/call_nop.sh, * emulparams/cet.sh,
* emulparams/dynamic_undefined_weak.sh,
* emulparams/elf32b4300.sh, * emulparams/elf32lm32.sh,
* emulparams/elf32lr5900.sh, * emulparams/elf32lr5900n32.sh,
* emulparams/elf32visium.sh, * emulparams/elf_x86_64.sh,
* emulparams/extern_protected_data.sh, * emulparams/plt_unwind.sh,
* emulparams/reloc_overflow.sh, * emulparams/static.sh,
* emulparams/x86-64-lam.sh, * emultempl/aarch64elf.em,
* emultempl/aix.em, * emultempl/alphaelf.em,
* emultempl/armcoff.em, * emultempl/armelf.em,
* emultempl/avrelf.em, * emultempl/beos.em, * emultempl/bfin.em,
* emultempl/cr16elf.em, * emultempl/crxelf.em,
* emultempl/cskyelf.em, * emultempl/elf.em, * emultempl/genelf.em,
* emultempl/hppaelf.em, * emultempl/linux.em,
* emultempl/m68hc1xelf.em, * emultempl/metagelf.em,
* emultempl/mipself.em, * emultempl/mmix-elfnmmo.em,
* emultempl/mmixelf.em, * emultempl/mmo.em, * emultempl/msp430.em,
* emultempl/nios2elf.em, * emultempl/pdp11.em, * emultempl/pe.em,
* emultempl/pep.em, * emultempl/ppc32elf.em,
* emultempl/ppc64elf.em, * emultempl/rxelf.em,
* emultempl/rxlinux.em, * emultempl/scoreelf.em,
* emultempl/solaris2.em, * emultempl/spuelf.em,
* emultempl/ticoff.em, * emultempl/v850elf.em, * emultempl/vms.em,
* emultempl/xtensaelf.em, * emultempl/z80.em, * ld.h,
* ldbuildid.c, * ldbuildid.h, * ldcref.c, * ldctor.c, * ldctor.h,
* ldelf.c, * ldelf.h, * ldelfgen.c, * ldelfgen.h, * ldemul.c,
* ldemul.h, * ldexp.c, * ldexp.h, * ldfile.c, * ldfile.h,
* ldgram.y, * ldlang.c, * ldlang.h, * ldmain.c, * ldmain.h,
* ldmisc.c, * ldmisc.h, * ldwrite.c, * lexsup.c, * mri.c,
* pe-dll.c, * pe-dll.h, * pep-dll.h, * plugin.c, * plugin.h,
* testplug.c, * testplug2.c, * testplug3.c, * testplug4.c: Replace
bfd_boolean with bool, FALSE with false, and TRUE with true.
* configure: Regenerate.
2021-03-31 08:09:51 +08:00
|
|
|
|
2021-03-31 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* sysdep.h (POISON_BFD_BOOLEAN): Define.
|
|
|
|
|
* configure.ac (elf_list_options, elf_shlib_list_options=false),
|
|
|
|
|
(elf_plt_unwind_list_options=false): Replace FALSE with false,
|
|
|
|
|
and TRUE with true.
|
|
|
|
|
* emulparams/call_nop.sh, * emulparams/cet.sh,
|
|
|
|
|
* emulparams/dynamic_undefined_weak.sh,
|
|
|
|
|
* emulparams/elf32b4300.sh, * emulparams/elf32lm32.sh,
|
|
|
|
|
* emulparams/elf32lr5900.sh, * emulparams/elf32lr5900n32.sh,
|
|
|
|
|
* emulparams/elf32visium.sh, * emulparams/elf_x86_64.sh,
|
|
|
|
|
* emulparams/extern_protected_data.sh, * emulparams/plt_unwind.sh,
|
|
|
|
|
* emulparams/reloc_overflow.sh, * emulparams/static.sh,
|
|
|
|
|
* emulparams/x86-64-lam.sh, * emultempl/aarch64elf.em,
|
|
|
|
|
* emultempl/aix.em, * emultempl/alphaelf.em,
|
|
|
|
|
* emultempl/armcoff.em, * emultempl/armelf.em,
|
|
|
|
|
* emultempl/avrelf.em, * emultempl/beos.em, * emultempl/bfin.em,
|
|
|
|
|
* emultempl/cr16elf.em, * emultempl/crxelf.em,
|
|
|
|
|
* emultempl/cskyelf.em, * emultempl/elf.em, * emultempl/genelf.em,
|
|
|
|
|
* emultempl/hppaelf.em, * emultempl/linux.em,
|
|
|
|
|
* emultempl/m68hc1xelf.em, * emultempl/metagelf.em,
|
|
|
|
|
* emultempl/mipself.em, * emultempl/mmix-elfnmmo.em,
|
|
|
|
|
* emultempl/mmixelf.em, * emultempl/mmo.em, * emultempl/msp430.em,
|
|
|
|
|
* emultempl/nios2elf.em, * emultempl/pdp11.em, * emultempl/pe.em,
|
|
|
|
|
* emultempl/pep.em, * emultempl/ppc32elf.em,
|
|
|
|
|
* emultempl/ppc64elf.em, * emultempl/rxelf.em,
|
|
|
|
|
* emultempl/rxlinux.em, * emultempl/scoreelf.em,
|
|
|
|
|
* emultempl/solaris2.em, * emultempl/spuelf.em,
|
|
|
|
|
* emultempl/ticoff.em, * emultempl/v850elf.em, * emultempl/vms.em,
|
|
|
|
|
* emultempl/xtensaelf.em, * emultempl/z80.em, * ld.h,
|
|
|
|
|
* ldbuildid.c, * ldbuildid.h, * ldcref.c, * ldctor.c, * ldctor.h,
|
|
|
|
|
* ldelf.c, * ldelf.h, * ldelfgen.c, * ldelfgen.h, * ldemul.c,
|
|
|
|
|
* ldemul.h, * ldexp.c, * ldexp.h, * ldfile.c, * ldfile.h,
|
|
|
|
|
* ldgram.y, * ldlang.c, * ldlang.h, * ldmain.c, * ldmain.h,
|
|
|
|
|
* ldmisc.c, * ldmisc.h, * ldwrite.c, * lexsup.c, * mri.c,
|
|
|
|
|
* pe-dll.c, * pe-dll.h, * pep-dll.h, * plugin.c, * plugin.h,
|
|
|
|
|
* testplug.c, * testplug2.c, * testplug3.c, * testplug4.c: Replace
|
|
|
|
|
bfd_boolean with bool, FALSE with false, and TRUE with true.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2021-03-31 07:37:02 +08:00
|
|
|
|
2021-03-31 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* elf-hints-local.h: Include stdint.h in place of bfd_stdint.h.
|
|
|
|
|
* emultempl/nds32elf.em: Likewise.
|
|
|
|
|
* testsuite/ld-elf/mbind2b.c: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr18718.c: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr18720a.c: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25749-1.c: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25749-1a.c: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25749-1b.c: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25749-1c.c: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25749-1d.c: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25749-2.c: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25754-1a.c: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25754-2a.c: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25754-3a.c: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25754-4a.c: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25754-5a.c: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25754-6a.c: Likewise.
|
|
|
|
|
|
TRUE/FALSE simplification
There is really no need to write code like "foo != 0 ? TRUE : FALSE"
unless we had stupidly defined FALSE as something other than 0 or TRUE
as something other than 1. The simpler "foo != 0" does just as well.
Similarly "(condition == TRUE)" or "(condition == FALSE) can be
simplified to "(condition)" and "(!condition)" respectively.
I'll note that there is reason to use "integer_expression != 0" when
assigning a bfd_boolean rather than the simpler "integer_expression",
if you expect the variable to have 0 or 1 value. It's probably even a
good idea to not rely on implicit conversion if bfd_boolean were _Bool.
bfd/
* aoutx.h (aout_link_write_symbols): Don't cast boolean expression
to bfd_boolean.
* elf32-or1k.c (or1k_set_got_and_rela_sizes): Dont compare booleans
against FALSE.
* elf32-arc.c (name_for_global_symbol): Don't compare boolean to TRUE.
(is_reloc_PC_relative): Don't use "boolean_condition ? TRUE : FALSE".
(is_reloc_SDA_relative, is_reloc_for_GOT): Likewise.
(is_reloc_for_PLT, is_reloc_for_TLS): Likewise.
* elf32-arm.c (stm32l4xx_need_create_replacing_stub): Likewise.
* elf32-nds32.c (insert_nds32_elf_blank): Likewise.
* elf32-rx.c (rx_set_section_contents): Likewise.
* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Likewise.
* elfxx-mips.c (_bfd_mips_elf_ignore_undef_symbol): Likewise.
* mach-o.c (bfd_mach_o_read_command): Likewise.
* targets.c (bfd_get_target_info): Likewise.
binutils/
* dlltool.c (main): Don't use "boolean_condition ? TRUE : FALSE".
* dwarf.c (read_and_display_attr_value): Likewise.
(display_debug_str_offsets): Likewise.
* objdump.c (dump_bfd): Likewise.
* readelf.c (dump_section_as_strings): Likewise.
(dump_section_as_bytes): Likewise.
gas/
* atof-generic.c (FALSE, TRUE): Don't define.
* config/obj-elf.h (FALSE, TRUE): Don't define.
* config/obj-som.h (FALSE, TRUE): Don't define.
* config/tc-hppa.h (FALSE, TRUE): Don't define.
* config/tc-pdp11.c (FALSE, TRUE): Don't define.
* config/tc-iq2000.h (obj_fix_adjustable): Delete.
* config/tc-m32r.h (TC_FIX_ADJUSTABLE): Delete.
* config/tc-mt.h (obj_fix_adjustable): Delete.
* config/tc-nds32.h (TC_FIX_ADJUSTABLE): Delete.
* config/tc-arc.c (parse_opcode_flags): Simplify boolean expression.
(relaxable_flag, relaxable_operand, assemble_insn): Likewise.
(tokenize_extregister): Likewise.
* config/tc-csky.c (parse_opcode, get_operand_value): Likewise.
(parse_operands_op, parse_operands, md_assemble): Likewise.
* config/tc-d10v.c (build_insn): Likewise.
* config/tc-score.c (s3_gen_insn_frag): Likewise.
* config/tc-score7.c (s7_gen_insn_frag, s7_relax_frag): Likewise.
* config/tc-tic6x.c (tic6x_update_features, md_assemble): Likewise.
* config/tc-z80.c (emit_byte): Likewise.
include/
* opcode/aarch64.h (alias_opcode_p): Simplify boolean expression.
(opcode_has_alias, pseudo_opcode_p, optional_operand_p): Likewise.
(opcode_has_special_coder): Likewise.
ld/
* emultempl/aix.em (gld${EMULATION_NAME}_before_allocation): Simplify
boolean expression.
* lexsup.c (parse_args): Likewise.
* pe-dll.c (pe_dll_id_target): Likewise.
opcodes/
* aarch64-opc.c (vector_qualifier_p): Simplify boolean expression.
(fp_qualifier_p, get_data_pattern): Likewise.
(aarch64_get_operand_modifier_from_value): Likewise.
(aarch64_extend_operator_p, aarch64_shift_operator_p): Likewise.
(operand_variant_qualifier_p): Likewise.
(qualifier_value_in_range_constraint_p): Likewise.
(aarch64_get_qualifier_esize): Likewise.
(aarch64_get_qualifier_nelem): Likewise.
(aarch64_get_qualifier_standard_value): Likewise.
(get_lower_bound, get_upper_bound): Likewise.
(aarch64_find_best_match, match_operands_qualifier): Likewise.
(aarch64_print_operand): Likewise.
* aarch64-opc.h (operand_has_inserter, operand_has_extractor): Likewise.
(operand_need_sign_extension, operand_need_shift_by_two): Likewise.
(operand_need_shift_by_four, operand_maybe_stack_pointer): Likewise.
* arm-dis.c (print_insn_mve, print_insn_thumb32): Likewise.
* tic6x-dis.c (tic6x_check_fetch_packet_header): Likewise.
(print_insn_tic6x): Likewise.
2021-03-29 07:22:56 +08:00
|
|
|
|
2021-03-29 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/aix.em (gld${EMULATION_NAME}_before_allocation): Simplify
|
|
|
|
|
boolean expression.
|
|
|
|
|
* lexsup.c (parse_args): Likewise.
|
|
|
|
|
* pe-dll.c (pe_dll_id_target): Likewise.
|
|
|
|
|
|
2021-03-26 00:32:46 +08:00
|
|
|
|
2021-03-25 Nick Alcock <nick.alcock@oracle.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-ctf/array.d: Only check that the data object
|
|
|
|
|
section is nonempty: do not check its exact size.
|
|
|
|
|
* testsuite/ld-ctf/diag-parlabel.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/slice.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/data-func-conflicted.d: Likewise, and for the
|
|
|
|
|
func info section too.
|
|
|
|
|
* testsuite/ld-ctf/function.d: Likewise, for the func info section.
|
|
|
|
|
|
2021-03-19 18:50:26 +08:00
|
|
|
|
2021-03-22 Martin Liska <mliska@suse.cz>
|
|
|
|
|
|
|
|
|
|
* emultempl/aix.em: Replace usage of CONST_STRNEQ with startswith.
|
|
|
|
|
* emultempl/beos.em: Likewise.
|
|
|
|
|
* emultempl/elf.em: Likewise.
|
|
|
|
|
* emultempl/pe.em: Likewise.
|
|
|
|
|
* emultempl/pep.em: Likewise.
|
|
|
|
|
* emultempl/xtensaelf.em: Likewise.
|
|
|
|
|
* ldctor.c (ctor_prio): Likewise.
|
|
|
|
|
* ldelf.c (ldelf_try_needed): Likewise.
|
|
|
|
|
(ldelf_parse_ld_so_conf): Likewise.
|
|
|
|
|
(ldelf_after_open): Likewise.
|
|
|
|
|
(output_rel_find): Likewise.
|
|
|
|
|
(ldelf_place_orphan): Likewise.
|
|
|
|
|
* ldfile.c (ldfile_add_library_path): Likewise.
|
|
|
|
|
* ldlang.c (lang_add_input_file): Likewise.
|
|
|
|
|
* ldmain.c (get_sysroot): Likewise.
|
|
|
|
|
(get_emulation): Likewise.
|
|
|
|
|
(add_archive_element): Likewise.
|
|
|
|
|
* ldwrite.c (unsplittable_name): Likewise.
|
|
|
|
|
(clone_section): Likewise.
|
|
|
|
|
* lexsup.c (parse_args): Likewise.
|
|
|
|
|
* pe-dll.c (is_import): Likewise.
|
|
|
|
|
(pe_implied_import_dll): Likewise.
|
|
|
|
|
|
2021-03-20 08:13:33 +08:00
|
|
|
|
2021-03-19 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/27590
|
|
|
|
|
* testsuite/ld-x86-64/pr27590.rd: New file.
|
|
|
|
|
* testsuite/ld-x86-64/pr27590a.obj.bz2: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr27590b.obj.bz2: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/x86-64.exp: Run ld/27590 test.
|
|
|
|
|
|
2021-03-20 07:52:37 +08:00
|
|
|
|
2021-03-20 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 27590
|
|
|
|
|
* ldlang.c (lang_gc_sections): Clear SEC_EXCLUDE when relocatable
|
|
|
|
|
for all sections except .stabstr.
|
|
|
|
|
|
2021-03-19 15:09:39 +08:00
|
|
|
|
2021-03-19 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 27590
|
|
|
|
|
* testsuite/ld-elf/pr27590a.d: Match relocs using label, and
|
|
|
|
|
R_MIPS_NONE.
|
|
|
|
|
* testsuite/ld-elf/pr27590b.d: Likewise.
|
|
|
|
|
|
2021-03-19 11:46:28 +08:00
|
|
|
|
2021-03-18 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/27590
|
|
|
|
|
* testsuite/ld-elf/pr27590.s: New file.
|
|
|
|
|
* testsuite/ld-elf/pr27590a.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr27590b.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/i386.exp: Also run ld/27193 test with
|
|
|
|
|
--reduce-memory-overheads.
|
|
|
|
|
|
2021-03-19 09:34:38 +08:00
|
|
|
|
2021-03-18 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/27587
|
|
|
|
|
* testsuite/ld-x86-64/pr27587.err: New file.
|
|
|
|
|
* testsuite/ld-x86-64/pr27587a.obj.bz2: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr27587b.obj.bz2: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/x86-64.exp: Run PR ld/27587 test.
|
|
|
|
|
|
2021-03-18 20:37:52 +08:00
|
|
|
|
2021-03-18 Nick Alcock <nick.alcock@oracle.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-ctf/slice.c: Check slices of enums too.
|
|
|
|
|
* testsuite/ld-ctf/slice.d: Results adjusted.
|
|
|
|
|
|
2021-03-16 22:02:38 +08:00
|
|
|
|
2021-03-16 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* pe-dll.c (pe_find_cdecl_alias_match): Use memmove to overwrite
|
|
|
|
|
lname string.
|
|
|
|
|
|
2021-03-15 18:00:44 +08:00
|
|
|
|
2021-03-15 Jan Beulich <jbeulich@suse.com>
|
|
|
|
|
|
|
|
|
|
* pe-dll.c (generate_reloc): Drop padding to reloc_s->size.
|
|
|
|
|
|
2021-03-12 19:47:39 +08:00
|
|
|
|
2021-03-12 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.am (ALL_EMULATION_SOURCES): Move riscv files to..
|
|
|
|
|
(ALL_64_EMULATION_SOURCES): ..here.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
|
aix: implement TLS relocation for gas and ld
Add support for TLS in XCOFF. Amongst the things done by this commit:
- Update XCOFF auxialiary header to match new version and allow TLS
sections.
- Add TLS sections (.tdata and .tbss) support in gas and ld.
- Add support for the TLS relocations in gas and ld.
Two different types BFD_RELOC are created for PPC and PPC64 as
the size is a pointer, thus distinct in 32 or 64bit.
The addresses given by ld to .tdata and .tbss is a bit special. In
XCOFF, these addresses are actually offsets from the TLS pointer
computed at runtime. AIX assembly and linker does the same. In
top of that, the .tdata must be before .data (this is mandatory for AIX
loader). Thus, the aix ld script is recomputing "." before .data to restore
its original value. There might be a simpler way, but this one is working.
Optimisation linked to TLS relocations aren't yet implemented.
bfd/
* reloc.c (BFD_RELOC_PPC_TLS_LE, BFD_RELOC_PPC_TLS_IE,
BFD_RELOC_PPC_TLS_M, BFD_RELOC_PPC_TLS_ML, BFD_RELOC_PPC64_TLS_GD,
BFD_RELOC_PPC64_TLS_LD, BFD_RELOC_PPC64_TLS_LE,
BFD_RELOC_PPC64_TLS_IE, BFD_RELOC_PPC64_TLS_M,
BFD_RELOC_PPC64_TLS_ML): New relocations.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
* coff-rs6000.c (xcoff_calculate_relocation): Call
xcoff_reloc_type_tls for TLS relocations.
(xcoff_howto_table): Implement TLS relocations.
(_bfd_xcoff_reloc_type_lookup): Add cases TLS relocations.
(xcoff_reloc_type_tls): New function.
* coff64-rs6000.c (xcoff_calculate_relocation): Likewise.
(xcoff_howto_table): Likewise.
(_bfd_xcoff_reloc_type_lookup): Likewise.
* coffcode.h (sec_to_styp_flags): Handle TLS sections.
(styp_to_sec_flags): Likewise.
(coff_compute_section_file_positions): Avoid file offset
optimisation for .data when the previous section is .tdata.
(coff_write_object_contents): Handle TLS sections.
* coffswap.h (coff_swap_aouthdr_out): Add support for
new fields in aouthdr.
* libxcoff.h (xcoff_reloc_type_tls): Add prototype.
* xcofflink.c (xcoff_link_add_symbols): Handle XMC_UL.
(xcoff_need_ldrel_p): Add cases for TLS relocations.
(xcoff_create_ldrel): Add l_symndx for TLS sections.
gas/
* config/tc-ppc.c (ppc_xcoff_text_section, ppc_xcoff_data_section,
(ppc_xcoff_bss_section, ppc_xcoff_tdata_section,
(ppc_xcoff_tbss_section): New variables.
(ppc_text_subsegment, ppc_text_csects, ppc_data_subgments,
(ppc_data_csects): Removed.
(ppc_xcoff_section_is_initialized, ppc_init_xcoff_section,
ppc_xcoff_parse_cons): New functions.
(md_being): Initialize XCOFF sections.
(ppc_xcoff_suffix): Add support for TLS relocations
(fixup_size, md_apply_fix): Add support for new BFD_RELOC.
(ppc_change_csect): Handle XMC_TL, XMC_UL. Correctly, add XMC_BS
to .bss section. Handle new XCOFF section variables.
(ppc_comm): Likewise.
(ppc_toc): Likewise.
(ppc_symbol_new_hook): Likewise.
(ppc_frob_symbol): Likewise.
(ppc_fix_adjustable): Add tbss support.
* config/tc-ppc.h (TC_PARSE_CONS_EXPRESSION): New define.
(ppc_xcoff_parse_cons): Add prototype.
(struct ppc_xcoff_section): New structure.
ld/
* emultempl/aix.em: Ensure .tdata section is removed
if empty, even with -r flag.
* scripttempl/aix.sc: Handle TLS sections.
* testsuite/ld-powerpc/aix52.exp: Add new tests.
* testsuite/ld-powerpc/aix-tls-reloc-32.d: New test.
* testsuite/ld-powerpc/aix-tls-reloc-64.d: New test.
* testsuite/ld-powerpc/aix-tls-reloc.ex: New test.
* testsuite/ld-powerpc/aix-tls-reloc.s: New test.
* testsuite/ld-powerpc/aix-tls-section-32.d: New test.
* testsuite/ld-powerpc/aix-tls-section-64.d: New test.
* testsuite/ld-powerpc/aix-tls-section.ex: New test.
* testsuite/ld-powerpc/aix-tls-section.s: New test.
include/
* coff/internal.h (struct internal_aouthdr): Add new fields.
* coff/rs6000.h (AOUTHDRÃ): Add new fields.
* coff/rs6k64.h (struct external_filehdr): Likewise.
* coff/xcoff.h (_TDATA), _TBSS): New defines
(RS6K_AOUTHDR_TLS_LE, RS6K_AOUTHDR_RAS, RS6K_AOUTHDR_ALGNTDATA,
RS6K_AOUTHDR_SHR_SYMTAB, RS6K_AOUTHDR_FORK_POLICY,
RS6K_AOUTHDR_FORK_COR): New defines.
(XMC_TU): Removed.
(XMC_UL): New define.
2021-03-11 18:08:19 +08:00
|
|
|
|
2021-03-12 Clément Chigot <clement.chigot@atos.net>
|
|
|
|
|
|
|
|
|
|
* emultempl/aix.em: Ensure .tdata section is removed
|
|
|
|
|
if empty, even with -r flag.
|
|
|
|
|
* scripttempl/aix.sc: Handle TLS sections.
|
|
|
|
|
* testsuite/ld-powerpc/aix52.exp: Add new tests.
|
|
|
|
|
* testsuite/ld-powerpc/aix-tls-reloc-32.d: New test.
|
|
|
|
|
* testsuite/ld-powerpc/aix-tls-reloc-64.d: New test.
|
|
|
|
|
* testsuite/ld-powerpc/aix-tls-reloc.ex: New test.
|
|
|
|
|
* testsuite/ld-powerpc/aix-tls-reloc.s: New test.
|
|
|
|
|
* testsuite/ld-powerpc/aix-tls-section-32.d: New test.
|
|
|
|
|
* testsuite/ld-powerpc/aix-tls-section-64.d: New test.
|
|
|
|
|
* testsuite/ld-powerpc/aix-tls-section.ex: New test.
|
|
|
|
|
* testsuite/ld-powerpc/aix-tls-section.s: New test.
|
|
|
|
|
|
2021-03-11 18:08:19 +08:00
|
|
|
|
2021-03-12 Clément Chigot <clement.chigot@atos.net>
|
|
|
|
|
|
|
|
|
|
* scripttempl/aix.sc: Add .te to .data section.
|
|
|
|
|
* testsuite/ld-powerpc/aix52.exp: Add test structure for AIX7+.
|
|
|
|
|
Add aix-largetoc-1 test.
|
|
|
|
|
* testsuite/ld-powerpc/aix-largetoc-1-32.d: New test.
|
|
|
|
|
* testsuite/ld-powerpc/aix-largetoc-1-64.d: New test.
|
|
|
|
|
* testsuite/ld-powerpc/aix-largetoc-1.ex: New test.
|
|
|
|
|
* testsuite/ld-powerpc/aix-largetoc-1.s: New test.
|
|
|
|
|
|
2021-03-11 19:10:02 +08:00
|
|
|
|
2021-03-12 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-gc/gc.exp: Pass "-image-base 0" to ld for PE, and
|
|
|
|
|
arrange to define __main for some run_dump_test tests.
|
|
|
|
|
* testsuite/ld-gc/pr13683.d: Accept more symbols.
|
|
|
|
|
* testsuite/ld-gc/pr14265.d: Likewise, and ordering.
|
|
|
|
|
* testsuite/ld-scripts/crossref.exp: Pass "-image-base 0" to ld for PE.
|
|
|
|
|
* testsuite/ld-srec/srec.exp: Likewise.
|
|
|
|
|
* testsuite/lib/ld-lib.exp (ld_link_defsyms): Use is_pecoff_format.
|
|
|
|
|
|
RISC-V: Improve multiple relax passes problem.
According to the commit abd20cb637008da9d32018b4b03973e119388a0a, an
intersting thing is that - the more relax passes, the more chances of
relaxations are reduced [1]. Originally, we set the boolean `again`
to TRUE once the code is actually deleted, and then we run the relaxations
repeatedly if `again` is still TRUE. But `again` only works for the
relax pass itself, and won't affect others. That is - we can not use
`again` to re-run the relax pass when we already enter into the following
passes (can not run the relax passes backwards). Besides, we must seperate
the PCREL relaxations into two relax passes for some reasons [2], it make
us lose some relax opportunities.
This patch try to fix the problem, and the basic idea was come from Jim
Wilson - we use a new boolean, restart_relax, to determine if we need to
run the whole relax passes again from 0 to 2. Once we have deleted the
code between relax pass 0 to 2, the restart_relax will be set to TRUE,
we should run the whole relaxations again to give them more chances to
shorten the code. We will only enter into the relax pass 3 when the
restart_relax is FALSE, since we can't relax anything else once we start
to handle the alignments.
I have passed the gcc/binutils regressions by riscv-gnu-toolchain, and
looks fine for now.
[1] https://sourceware.org/pipermail/binutils/2020-November/114223.html
[2] https://sourceware.org/pipermail/binutils/2020-November/114235.html
bfd/
* elfnn-riscv.c (riscv_elf_link_hash_table): New boolean restart_relax,
used to check if we need to run the whole relaxations from relax pass 0
to 2 again.
(riscv_elf_link_hash_table_create): Init restart_relax to FALSE.
(_bfd_riscv_relax_align): Remove obsolete sec_flg0 set.
(_bfd_riscv_relax_delete): Set again to TRUE if we do delete the code.
(bfd_elfNN_riscv_restart_relax_sections): New function. Called by
after_allocation to check if we need to run the whole relaxations again.
(_bfd_riscv_relax_section): We will only enter into the relax pass 3 when
the restart_relax is FALSE; At last set restart_relax to TRUE if again is
TRUE, too.
* elfxx-riscv.h (bfd_elf32_riscv_restart_relax_sections): Declaration.
(bfd_elf64_riscv_restart_relax_sections): Likewise.
ld/
* emultempl/riscvelf.em (after_allocation): Run ldelf_map_segments many
times if riscv_restart_relax_sections returns TRUE.
* testsuite/ld-riscv-elf/restart-relax.d: New testcase. Before applying
this patch, the call won't be relaxed to jal; But now we have more chances
to do relaxations.
* testsuite/ld-riscv-elf/restart-relax.s: Likewise.
* testsuite/ld-riscv-elf/ld-riscv-elf.exp: Updated.
2020-12-18 10:59:41 +08:00
|
|
|
|
2021-03-11 Nelson Chu <nelson.chu@sifive.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/riscvelf.em (after_allocation): Run ldelf_map_segments
|
|
|
|
|
many times if riscv_restart_relax_sections returns TRUE.
|
|
|
|
|
* testsuite/ld-riscv-elf/restart-relax.d: New testcase. Before
|
|
|
|
|
applying this patch, the call won't be relaxed to jal; But now we
|
|
|
|
|
have more chances to do relaxations.
|
|
|
|
|
* testsuite/ld-riscv-elf/restart-relax.s: Likewise.
|
|
|
|
|
* testsuite/ld-riscv-elf/ld-riscv-elf.exp: Updated.
|
|
|
|
|
|
2021-03-10 15:12:37 +08:00
|
|
|
|
2021-03-10 Jan Beulich <jbeulich@suse.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-scripts/pr22267.t: Avoid symbol value with more
|
|
|
|
|
than 32 set bits.
|
|
|
|
|
* testsuite/ld-scripts/pr22267.d: Adjust expectation and drop
|
|
|
|
|
comment.
|
|
|
|
|
* scripttempl/mcorepe.sc: Use PROVIDE() for _stack.
|
|
|
|
|
|
2021-03-09 19:40:13 +08:00
|
|
|
|
2021-03-09 Jan Beulich <jbeulich@suse.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-pe/reloc.s: Add entry point symbols. Increase
|
|
|
|
|
alignment to 4k.
|
|
|
|
|
* testsuite/ld-pe/reloc.d: xfail for mcore.
|
|
|
|
|
|
2021-03-09 15:52:32 +08:00
|
|
|
|
2021-03-09 Jan Beulich <jbeulich@suse.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-scripts/alignof.exp,
|
|
|
|
|
testsuite/ld-scripts/data.exp,
|
|
|
|
|
testsuite/ld-scripts/default-script.exp,
|
|
|
|
|
testsuite/ld-scripts/log2.exp,
|
|
|
|
|
testsuite/ld-scripts/print-memory-usage.exp,
|
|
|
|
|
testsuite/ld-scripts/sizeof.exp,
|
|
|
|
|
testsuite/ld-undefined/weak-undef.exp: Set image base to zero
|
|
|
|
|
for PE/COFF.
|
|
|
|
|
* testsuite/ld-scripts/default-script1.d,
|
|
|
|
|
testsuite/ld-scripts/default-script2.d,
|
|
|
|
|
testsuite/ld-scripts/default-script3.d,
|
|
|
|
|
testsuite/ld-scripts/default-script4.d: Drop xfail and comment.
|
|
|
|
|
|
2021-03-06 10:24:56 +08:00
|
|
|
|
2021-03-05 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/27425
|
|
|
|
|
PR ld/27432
|
|
|
|
|
* ldelf.c (ldelf_set_output_arch): New function.
|
|
|
|
|
* ldelf.h (ldelf_set_output_arch): New prototype.
|
|
|
|
|
* emultempl/elf.em (LDEMUL_SET_OUTPUT_ARCH): Default to
|
|
|
|
|
ldelf_set_output_arch.
|
|
|
|
|
* ld-x86-64/pe-x86-64-1.od: Expect __executable_start.
|
|
|
|
|
* testsuite/ld-x86-64/pe-x86-64-2.od: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pe-x86-64-3.od: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pe-x86-64-4.od: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pe-x86-64-5.od: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pe-x86-64-5.rd: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pe-x86-64-6.obj.bz2: New file.
|
|
|
|
|
* testsuite/ld-x86-64/pe-x86-64-6.od: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pe-x86-64.exp: Run ld/27425 test.
|
|
|
|
|
|
2021-03-04 23:56:40 +08:00
|
|
|
|
2021-03-04 Jan Beulich <jbeulich@suse.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-scripts/map-address.exp: Set image base to zero
|
|
|
|
|
for PE/COFF.
|
|
|
|
|
* testsuite/ld-scripts/map-address.t: Place .text.
|
|
|
|
|
|
2021-03-04 23:55:01 +08:00
|
|
|
|
2021-03-04 Jan Beulich <jbeulich@suse.com>
|
|
|
|
|
|
|
|
|
|
* ldexp.c (ldexp_is_final_sym_absolute): New.
|
|
|
|
|
* ldexp.h (ldexp_is_final_sym_absolute): Declare.
|
|
|
|
|
* pe-dll.c (generate_reloc): Skip absolute symbols.
|
|
|
|
|
* testsuite/ld-pe/reloc.s, testsuite/ld-pe/reloc.d: New.
|
|
|
|
|
* testsuite/ld-pe/pe.exp: Run new test.
|
|
|
|
|
|
2021-03-03 09:44:55 +08:00
|
|
|
|
2021-03-03 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 27500
|
|
|
|
|
* ldlang.c (insert_undefined): Don't mark symbols here.
|
|
|
|
|
(lang_mark_undefineds): Do so here instead, new function.
|
|
|
|
|
(lang_process): Call lang_mark_undefineds.
|
|
|
|
|
* testsuite/ld-gc/start3.d,
|
|
|
|
|
* testsuite/ld-gc/start3.s: New test.
|
|
|
|
|
* testsuite/ld-gc/start4.d,
|
|
|
|
|
* testsuite/ld-gc/start4.s: New test.
|
|
|
|
|
* testsuite/ld-gc/gc.exp: Run them.
|
|
|
|
|
|
2021-03-03 14:55:28 +08:00
|
|
|
|
2021-03-03 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-gc/gc.exp: Define UNDERSCORE in ASFLAGS.
|
|
|
|
|
Move tests with ELF section directives to is_elf_format block.
|
|
|
|
|
* testsuite/ld-gc/abi-note.d: Run on more targets.
|
|
|
|
|
* testsuite/ld-gc/pr19167.d: Likewise and adjust xfails.
|
|
|
|
|
* testsuite/ld-gc/start.d: Likewise.
|
|
|
|
|
* testsuite/ld-gc/start2.d: Likewise.
|
|
|
|
|
* testsuite/ld-gc/stop.d: Likewise.
|
|
|
|
|
* testsuite/ld-gc/pr19167a.s: Add support for underscore targets.
|
|
|
|
|
* testsuite/ld-gc/start.s: Likewise.
|
|
|
|
|
* testsuite/ld-gc/start2.s: Likewise.
|
|
|
|
|
|
bfd, ld, libctf: skip zero-refcount strings in CTF string reporting
This is a tricky one. BFD, on the linker's behalf, reports symbols to
libctf via the ctf_new_symbol and ctf_new_dynsym callbacks, which
ultimately call ctf_link_add_linker_symbol. But while this happens
after strtab offsets are finalized, it happens before the .dynstr is
actually laid out, so we can't iterate over it at this stage and
it is not clear what the reported symbols are actually called. So
a second callback, examine_strtab, is called after the .dynstr is
finalized, which calls ctf_link_add_strtab and ultimately leads
to ldelf_ctf_strtab_iter_cb being called back repeatedly until the
offsets of every string in the .dynstr is passed to libctf.
libctf can then use this to get symbol names out of the input (which
usually stores symbol types in the form of a name -> type mapping at
this stage) and extract the types of those symbols, feeding them back
into their final form as a 1:1 association with the real symtab's
STT_OBJ and STT_FUNC symbols (with a few skipped, see
ctf_symtab_skippable).
This representation is compact, but has one problem: if libctf somehow
gets confused about the st_type of a symbol, it'll stick an entry into
the function symtypetab when it should put it into the object
symtypetab, or vice versa, and *every symbol from that one on* will have
the wrong CTF type because it's actually looking up the type for a
different symbol.
And we have just such a bug. ctf_link_add_strtab was not taking the
refcounts of strings into consideration, so even strings that had been
eliminated from the strtab by virtue of being in objects eliminated via
--as-needed etc were being reported. This is harmful because it can
lead to multiple strings with the same apparent offset, and if the last
duplicate to be reported relates to an eliminated symbol, we look up the
wrong symbol from the input and gets its type wrong: if it's unlucky and
the eliminated symbol is also of the wrong st_type, we will end up with
a corrupted symtypetab.
Thankfully the wrong-st_type case is already diagnosed by a
this-can-never-happen paranoid warning:
CTF warning: Symbol 61a added to CTF as a function but is of type 1
or the converse
* CTF warning: Symbol a3 added to CTF as a data object but is of type 2
so at least we can tell when the corruption has spread to more than one
symbol's type.
Skipping zero-refcounted strings is easy: teach _bfd_elf_strtab_str to
skip them, and ldelf_ctf_strtab_iter_cb to loop over skipped strings
until it falls off the end or finds one that isn't skipped.
bfd/ChangeLog
2021-03-02 Nick Alcock <nick.alcock@oracle.com>
* elf-strtab.c (_bfd_elf_strtab_str): Skip strings with zero refcount.
ld/ChangeLog
2021-03-02 Nick Alcock <nick.alcock@oracle.com>
* ldelfgen.c (ldelf_ctf_strtab_iter_cb): Skip zero-refcount strings.
libctf/ChangeLog
2021-03-02 Nick Alcock <nick.alcock@oracle.com>
* ctf-create.c (symtypetab_density): Report the symbol name as
well as index in the name != object error; note the likely
consequences.
* ctf-link.c (ctf_link_shuffle_syms): Report the symbol index
as well as name.
2021-03-02 23:10:05 +08:00
|
|
|
|
2021-03-02 Nick Alcock <nick.alcock@oracle.com>
|
|
|
|
|
|
|
|
|
|
* ldelfgen.c (ldelf_ctf_strtab_iter_cb): Skip zero-refcount strings.
|
|
|
|
|
|
2021-03-02 18:55:20 +08:00
|
|
|
|
2021-03-02 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-powerpc/startstop.d,
|
|
|
|
|
* testsuite/ld-powerpc/startstop.r,
|
|
|
|
|
* testsuite/ld-powerpc/startstop.s: New test.
|
|
|
|
|
* testsuite/ld-powerpc/powerpc.exp: Run it.
|
|
|
|
|
|
2021-03-02 18:52:31 +08:00
|
|
|
|
2021-03-02 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-powerpc/weak1.d,
|
|
|
|
|
* testsuite/ld-powerpc/weak1.r,
|
|
|
|
|
* testsuite/ld-powerpc/weak1.s,
|
|
|
|
|
* testsuite/ld-powerpc/weak1so.d,
|
|
|
|
|
* testsuite/ld-powerpc/weak1so.r: New tests.
|
|
|
|
|
* testsuite/ld-powerpc/powerpc.exp: Run them.
|
|
|
|
|
|
2021-03-02 00:25:06 +08:00
|
|
|
|
2021-03-01 Hannes Domani <ssbssa@sourceware.org>
|
|
|
|
|
Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 27268
|
|
|
|
|
* scripttempl/pe.sc: Add DWARF-5 section names.
|
|
|
|
|
* scripttempl/pep.sc: Likewise.
|
|
|
|
|
|
2021-03-01 05:52:49 +08:00
|
|
|
|
2021-03-01 Alan Modra <amodra@gmail.com>
|
|
|
|
|
Fangrui Song <maskray@google.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/elf.em: Handle -z start-stop-gc and -z nostart-stop-gc.
|
|
|
|
|
* lexsup.c (elf_static_list_options): Display help for them. Move
|
|
|
|
|
help for -z stack-size to here from elf_shlib_list_options. Add
|
|
|
|
|
help for -z start-stop-visibility and -z undefs.
|
|
|
|
|
* ld.texi: Document -z start-stop-gc and -z nostart-stop-gc.
|
|
|
|
|
* NEWS: Mention -z start-stop-gc.
|
|
|
|
|
* testsuite/ld-gc/start2.s,
|
|
|
|
|
* testsuite/ld-gc/start2.d: New test.
|
|
|
|
|
* testsuite/ld-gc/gc.exp: Run it.
|
|
|
|
|
|
2021-03-01 09:10:51 +08:00
|
|
|
|
2021-03-01 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ldlang.c (undef_start_stop): For ELF make undefined start/stop
|
|
|
|
|
symbols undefweak if that was how they were referenced. Undo
|
|
|
|
|
dynamic state too.
|
|
|
|
|
|
2021-02-27 13:09:05 +08:00
|
|
|
|
2021-03-01 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/pr25708.d: Add --with-symbol-versions to nm.
|
|
|
|
|
* testsuite/ld-elf/pr27128a.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr27128b.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr27128c.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr27128d.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr27128e.d: Likewise.
|
|
|
|
|
|
2021-02-26 10:56:19 +08:00
|
|
|
|
2021-02-26 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 27441
|
|
|
|
|
* testsuite/ld-plugin/pr27441a.c,
|
|
|
|
|
* testsuite/ld-plugin/pr27441b.c,
|
|
|
|
|
* testsuite/ld-plugin/pr27441c.c,
|
|
|
|
|
* testsuite/ld-plugin/pr27441c.d: New test.
|
|
|
|
|
* testsuite/ld-plugin/lto.exp: Run it.
|
|
|
|
|
|
2021-02-25 21:35:29 +08:00
|
|
|
|
2021-02-25 Jan Beulich <jbeulich@suse.com>
|
|
|
|
|
|
|
|
|
|
* ld.texi (PROVIDE): Downgrade "error" to "diagnostic".
|
|
|
|
|
|
2021-02-20 13:15:44 +08:00
|
|
|
|
2021-02-21 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ldexp.c (exp_fold_tree_1): Warn on script defining a symbol
|
|
|
|
|
defined in an object file.
|
|
|
|
|
* ldmain.c (multiple_definition): Heed info->warn_multiple_definition.
|
|
|
|
|
* testsuite/ld-scripts/defined5.d: Expect a warning.
|
|
|
|
|
|
2021-02-18 12:13:14 +08:00
|
|
|
|
2021-02-19 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/lib/ld-lib.exp: Whitespace.
|
|
|
|
|
(load_common_lib): Expand single use and delete this proc.
|
|
|
|
|
(run_host_cmd): Use -fno-lto when getting gcc's ld version.
|
|
|
|
|
Use -B for clang too.
|
|
|
|
|
|
2021-02-03 18:03:01 +08:00
|
|
|
|
2021-02-18 Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* testplugin.c (record_read_length): Remove debug fprintf.
|
|
|
|
|
|
ld testsuite: change unresolved to unsupported/fail
"unresolved" as a test result means runtest returns an error, which
can be confusing when there is no apparent error unless you look in
.log files. In particular many tests are skipped without reporting an
error if no target C compiler is found, but if a target C compiler is
found but won't compile a testcase for some reason we used to mark the
test as unresolved. Which is no more worthy of an error than when
lacking a C compiler entirely.
* testsuite/ld-cdtest/cdtest.exp,
* testsuite/ld-checks/checks.exp,
* testsuite/ld-elf/binutils.exp,
* testsuite/ld-elf/compress.exp,
* testsuite/ld-elf/dwarf.exp,
* testsuite/ld-elf/exclude.exp,
* testsuite/ld-elf/frame.exp,
* testsuite/ld-elf/indirect.exp,
* testsuite/ld-elf/linux-x86.exp,
* testsuite/ld-elf/sec-to-seg.exp,
* testsuite/ld-elf/tls_common.exp,
* testsuite/ld-elfcomm/elfcomm.exp,
* testsuite/ld-elfvers/vers.exp,
* testsuite/ld-elfvsb/elfvsb.exp,
* testsuite/ld-elfweak/elfweak.exp,
* testsuite/ld-ifunc/binutils.exp,
* testsuite/ld-mips-elf/mips-elf-flags.exp,
* testsuite/ld-misc/defsym.exp,
* testsuite/ld-mn10300/mn10300.exp,
* testsuite/ld-plugin/lto.exp,
* testsuite/ld-plugin/plugin.exp,
* testsuite/ld-scripts/align.exp,
* testsuite/ld-scripts/assert.exp,
* testsuite/ld-scripts/crossref.exp,
* testsuite/ld-scripts/defined.exp,
* testsuite/ld-scripts/extern.exp,
* testsuite/ld-scripts/log2.exp,
* testsuite/ld-scripts/map-address.exp,
* testsuite/ld-scripts/phdrs.exp,
* testsuite/ld-scripts/phdrs2.exp,
* testsuite/ld-scripts/script.exp,
* testsuite/ld-scripts/section-flags.exp,
* testsuite/ld-scripts/sizeof.exp,
* testsuite/ld-scripts/weak.exp,
* testsuite/ld-selective/selective.exp,
* testsuite/ld-sh/sh.exp,
* testsuite/ld-shared/shared.exp,
* testsuite/ld-srec/srec.exp,
* testsuite/ld-tic6x/tic6x.exp,
* testsuite/ld-undefined/undefined.exp,
* testsuite/ld-undefined/weak-undef.exp,
* testsuite/lib/ld-lib.exp: Don't use unresolved except after
perror. Instead report "unsupported" or "fail".
2021-02-13 07:21:17 +08:00
|
|
|
|
2021-02-14 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-cdtest/cdtest.exp,
|
|
|
|
|
* testsuite/ld-checks/checks.exp,
|
|
|
|
|
* testsuite/ld-elf/binutils.exp,
|
|
|
|
|
* testsuite/ld-elf/compress.exp,
|
|
|
|
|
* testsuite/ld-elf/dwarf.exp,
|
|
|
|
|
* testsuite/ld-elf/exclude.exp,
|
|
|
|
|
* testsuite/ld-elf/frame.exp,
|
|
|
|
|
* testsuite/ld-elf/indirect.exp,
|
|
|
|
|
* testsuite/ld-elf/linux-x86.exp,
|
|
|
|
|
* testsuite/ld-elf/sec-to-seg.exp,
|
|
|
|
|
* testsuite/ld-elf/tls_common.exp,
|
|
|
|
|
* testsuite/ld-elfcomm/elfcomm.exp,
|
|
|
|
|
* testsuite/ld-elfvers/vers.exp,
|
|
|
|
|
* testsuite/ld-elfvsb/elfvsb.exp,
|
|
|
|
|
* testsuite/ld-elfweak/elfweak.exp,
|
|
|
|
|
* testsuite/ld-ifunc/binutils.exp,
|
|
|
|
|
* testsuite/ld-mips-elf/mips-elf-flags.exp,
|
|
|
|
|
* testsuite/ld-misc/defsym.exp,
|
|
|
|
|
* testsuite/ld-mn10300/mn10300.exp,
|
|
|
|
|
* testsuite/ld-plugin/lto.exp,
|
|
|
|
|
* testsuite/ld-plugin/plugin.exp,
|
|
|
|
|
* testsuite/ld-scripts/align.exp,
|
|
|
|
|
* testsuite/ld-scripts/assert.exp,
|
|
|
|
|
* testsuite/ld-scripts/crossref.exp,
|
|
|
|
|
* testsuite/ld-scripts/defined.exp,
|
|
|
|
|
* testsuite/ld-scripts/extern.exp,
|
|
|
|
|
* testsuite/ld-scripts/log2.exp,
|
|
|
|
|
* testsuite/ld-scripts/map-address.exp,
|
|
|
|
|
* testsuite/ld-scripts/phdrs.exp,
|
|
|
|
|
* testsuite/ld-scripts/phdrs2.exp,
|
|
|
|
|
* testsuite/ld-scripts/script.exp,
|
|
|
|
|
* testsuite/ld-scripts/section-flags.exp,
|
|
|
|
|
* testsuite/ld-scripts/sizeof.exp,
|
|
|
|
|
* testsuite/ld-scripts/weak.exp,
|
|
|
|
|
* testsuite/ld-selective/selective.exp,
|
|
|
|
|
* testsuite/ld-sh/sh.exp,
|
|
|
|
|
* testsuite/ld-shared/shared.exp,
|
|
|
|
|
* testsuite/ld-srec/srec.exp,
|
|
|
|
|
* testsuite/ld-tic6x/tic6x.exp,
|
|
|
|
|
* testsuite/ld-undefined/undefined.exp,
|
|
|
|
|
* testsuite/ld-undefined/weak-undef.exp,
|
|
|
|
|
* testsuite/lib/ld-lib.exp: Don't use unresolved except after
|
|
|
|
|
perror. Instead report "unsupported" or "fail".
|
|
|
|
|
|
2021-02-12 22:52:22 +08:00
|
|
|
|
2021-02-12 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/sec64k.exp: Stop readelf from automatically
|
|
|
|
|
following debug links.
|
|
|
|
|
|
2021-02-10 10:06:52 +08:00
|
|
|
|
2021-02-11 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* NEWS: Mention arm-symbianelf removal.
|
|
|
|
|
|
2021-02-08 18:36:17 +08:00
|
|
|
|
2021-02-09 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.am (ALL_EMULATION_SOURCES): Remove earmsymbian.c.
|
|
|
|
|
Don't include symbian dep file.
|
|
|
|
|
* configure.tgt: Remove arm*-*-symbianelf* entry.
|
|
|
|
|
* emulparams/armsymbian.sh: Delete.
|
|
|
|
|
* ld.texi: Don't mention symbian.
|
|
|
|
|
* scripttempl/armbpabi.sc: Delete.
|
|
|
|
|
* testsuite/ld-arm/symbian-seg1.d: Delete.
|
|
|
|
|
* testsuite/ld-arm/symbian-seg1.s: Delete.
|
|
|
|
|
* testsuite/ld-arm/arm-elf.exp: Don't run symbian-seg1.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
* po/BLD-POTFILES.in: Regenerate.
|
|
|
|
|
|
2021-02-08 05:11:16 +08:00
|
|
|
|
2021-02-07 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/27358
|
|
|
|
|
* testsuite/ld-i386/i386.exp: Remove property 3/4/5 run-time
|
|
|
|
|
tests.
|
|
|
|
|
* testsuite/ld-x86-64/x86-64.exp: Likewise.
|
|
|
|
|
|
libctf, ld: fix symtypetab and var section population under ld -r
The variable section in a CTF dict is meant to contain the types of
variables that do not appear in the symbol table (mostly file-scope
static declarations). We implement this by having the compiler emit
all potential data symbols into both sections, then delete those
symbols from the variable section that correspond to data symbols the
linker has reported.
Unfortunately, the check for this in ctf_serialize is wrong: rather than
checking the set of linker-reported symbols, we check the set of names
in the data object symtypetab section: if the linker has reported no
symbols at all (usually if ld -r has been run, or if a non-linker
program that does not use symbol tables is calling ctf_link) this will
include every single symbol, emptying the variable section completely.
Worse, when ld -r is in use, we want to force writeout of every
symtypetab entry on the inputs, in an indexed section, whether or not
the linker has reported them, since this isn't a final link yet and the
symbol table is not finalized (and may grow more symbols than the linker
has yet reported). But the check for this is flawed too: we were
relying on ctf_link_shuffle_syms not having been called if no symbols
exist, but that function is *always* called by ld even when ld -r is in
use: ctf_link_add_linker_symbol is the one that's not called when there
are no symbols.
We clearly need to rethink this. Using the emptiness of the set of
reported symbols as a test for ld -r is just ugly: the linker already
knows if ld -r is underway and can just tell us. So add a new linker
flag CTF_LINK_NO_FILTER_REPORTED_SYMS that is set to stop the linker
filtering the symbols in the symtypetab sections using the set that the
linker has reported: use the presence or absence of this flag to
determine whether to emit unindexed symtabs: we only remove entries from
the variable section when filtering symbols, and we only remove them if
they are in the reported symbol set, fixing the case where no symbols
are reported by the linker at all.
(The negative sense of the new CTF_LINK flag is intentional: the common
case, both for ld and for simple tools that want to do a ctf_link with
no ELF symbol table in sight, is probably to filter out symbols that no
linker has reported: i.e., for the simple tools, all of them.)
There's another wrinkle, though. It is quite possible for a non-linker
to add symbols to a dict via ctf_add_*_sym and then write it out via the
ctf_write APIs: perhaps it's preparing a dict for a later linker
invocation. Right now this would not lead to anything terribly
meaningful happening: ctf_serialize just assumes it was called via
ctf_link if symbols are present. So add an (internal-to-libctf) flag
that indicates that a writeout is happening via ctf_link_write, and set
it there (propagating it to child dicts as needed). ctf_serialize can
then spot when it is not being called by a linker, and arrange to always
write out an indexed, sorted symtypetab for fastest possible future
symbol lookup by name in that case. (The writeouts done by ld -r are
unsorted, because the only thing likely to use those symtabs is the
linker, which doesn't benefit from symtypetab sorting.)
Tests added for all three linking cases (ld -r, ld -shared, ld), with a
bit of testsuite framework enhancement to stop it unconditionally
linking the CTF to be checked by the lookup program with -shared, so
tests can now examine CTF linked with -r or indeed with no flags at all,
though the output filename is still foo.so even in this case.
Another test added for the non-linker case that endeavours to determine
whether the symtypetab is sorted by examining the order of entries
returned from ctf_symbol_next: nobody outside libctf should rely on
this ordering, but this test is not outside libctf :)
include/ChangeLog
2021-01-26 Nick Alcock <nick.alcock@oracle.com>
* ctf-api.h (CTF_LINK_NO_FILTER_REPORTED_SYMS): New.
ld/ChangeLog
2021-01-26 Nick Alcock <nick.alcock@oracle.com>
* ldlang.c (lang_merge_ctf): Set CTF_LINK_NO_FILTER_REPORTED_SYMS
when appropriate.
libctf/ChangeLog
2021-01-27 Nick Alcock <nick.alcock@oracle.com>
* ctf-impl.c (_libctf_nonnull_): Add parameters.
(LCTF_LINKING): New flag.
(ctf_dict_t) <ctf_link_flags>: Mention it.
* ctf-link.c (ctf_link): Keep LCTF_LINKING set across call.
(ctf_write): Likewise, including in child dictionaries.
(ctf_link_shuffle_syms): Make sure ctf_dynsyms is NULL if there
are no reported symbols.
* ctf-create.c (symtypetab_delete_nonstatic_vars): Make sure
the variable has been reported as a symbol by the linker.
(symtypetab_skippable): Mention relationship between SYMFP and the
flags.
(symtypetab_density): Adjust nonnullity. Exit early if no symbols
were reported and force-indexing is off (i.e., we are doing a
final link).
(ctf_serialize): Handle the !LCTF_LINKING case by writing out an
indexed, sorted symtypetab (and allow SYMFP to be NULL in this
case). Turn sorting off if this is a non-final link. Only delete
nonstatic vars if we are filtering symbols and the linker has
reported some.
* testsuite/libctf-regression/nonstatic-var-section-ld-r*:
New test of variable and symtypetab section population when
ld -r is used.
* testsuite/libctf-regression/nonstatic-var-section-ld-executable.lk:
Likewise, when ld of an executable is used.
* testsuite/libctf-regression/nonstatic-var-section-ld.lk:
Likewise, when ld -shared alone is used.
* testsuite/libctf-regression/nonstatic-var-section-ld*.c:
Lookup programs for the above.
* testsuite/libctf-writable/symtypetab-nonlinker-writeout.*: New
test, testing survival of symbols across ctf_write paths.
* testsuite/lib/ctf-lib.exp (run_lookup_test): New option,
nonshared, suppressing linking of the SOURCE with -shared.
2021-01-17 00:49:29 +08:00
|
|
|
|
2021-01-26 Nick Alcock <nick.alcock@oracle.com>
|
|
|
|
|
|
|
|
|
|
* ldlang.c (lang_merge_ctf): Set CTF_LINK_NO_FILTER_REPORTED_SYMS
|
|
|
|
|
when appropriate.
|
|
|
|
|
|
2021-02-04 22:02:13 +08:00
|
|
|
|
2021-02-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/19609
|
|
|
|
|
* testsuite/ld-x86-64/pr19609-2a.d: Updated.
|
|
|
|
|
* testsuite/ld-x86-64/pr19609-2b.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr19609-4a.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr19609-4c.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr19609-5d.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr19609-7a.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr19609-7c.d: Likewise.
|
|
|
|
|
|
2021-02-04 21:11:37 +08:00
|
|
|
|
2021-02-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/15146
|
|
|
|
|
* testsuite/ld-plugin/lto.exp: Run PR ld/15146 tests.
|
|
|
|
|
* testsuite/ld-plugin/pr15146.d: Restored.
|
|
|
|
|
* testsuite/ld-plugin/pr15146a.c: Likewise.
|
|
|
|
|
* testsuite/ld-plugin/pr15146b.c: Likewise.
|
|
|
|
|
* testsuite/ld-plugin/pr15146c.c: Likewise.
|
|
|
|
|
* testsuite/ld-plugin/pr15146d.c: Likewise.
|
|
|
|
|
|
2021-02-04 11:26:34 +08:00
|
|
|
|
2021-02-04 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-plugin/pr27311d.c: New test.
|
|
|
|
|
* testsuite/ld-plugin/lto.exp: Rename pr27311 to pr27311-1, compile
|
|
|
|
|
and link new test as pr27311-2.
|
|
|
|
|
|
2021-02-03 08:27:12 +08:00
|
|
|
|
2021-02-03 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-ifunc/ifunc.exp (libpr16467b.so, libpr16467bn.so):
|
|
|
|
|
Link with --as-needed.
|
|
|
|
|
|
2021-02-02 12:35:14 +08:00
|
|
|
|
2021-02-02 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-plugin/pr27311.d,
|
|
|
|
|
* testsuite/ld-plugin/pr27311.ver,
|
|
|
|
|
* testsuite/ld-plugin/pr27311a.c,
|
|
|
|
|
* testsuite/ld-plugin/pr27311b.c,
|
|
|
|
|
* testsuite/ld-plugin/pr27311c.c: New testcase.
|
|
|
|
|
* testsuite/ld-plugin/lto.exp: Run it. Correct PR14918 and
|
|
|
|
|
PR12982 entries.
|
|
|
|
|
|
2021-02-02 01:31:47 +08:00
|
|
|
|
2021-02-01 Emery Hemingway <ehmry@posteo.net>
|
|
|
|
|
|
|
|
|
|
* configure.tgt: Add *-*-genode* as a target for AArch64 and x86.
|
|
|
|
|
|
2021-01-30 06:35:50 +08:00
|
|
|
|
2021-02-01 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ldgram.y (defsym_expr): Use assignment rule.
|
|
|
|
|
* ldlex.h (ldlex_defsym): Delete.
|
|
|
|
|
* ldlex.l (DEFSYMEXP, ldlex_defsym): Delete.
|
|
|
|
|
|
2021-02-01 06:45:41 +08:00
|
|
|
|
2021-02-01 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ldgram.y (section): Call ldlex_backup. Remove empty action.
|
|
|
|
|
* ldlex.h (ldlex_backup): Declare.
|
|
|
|
|
* ldlex.l (<EXPRESSION>NAME): Don't use NOCFILENAMECHAR set of
|
|
|
|
|
chars, use SYMBOLNAMECHAR.
|
|
|
|
|
(ldlex_backup): New function.
|
|
|
|
|
|
2021-02-01 07:02:29 +08:00
|
|
|
|
2021-02-01 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ldgram.y: Whitespace fixes.
|
|
|
|
|
|
2021-02-01 07:26:48 +08:00
|
|
|
|
2021-02-01 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/pr27259.d: Correct sh_link match.
|
|
|
|
|
|
2021-01-29 08:27:48 +08:00
|
|
|
|
2021-01-29 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-tic6x/tic6x.exp: Add pr27271 test.
|
|
|
|
|
|
2021-01-28 21:36:51 +08:00
|
|
|
|
2021-01-28 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/27259
|
|
|
|
|
* testsuite/ld-elf/pr27259.d: New file.
|
|
|
|
|
* testsuite/ld-elf/pr27259.s: Likewise.
|
|
|
|
|
|
2021-01-28 08:00:36 +08:00
|
|
|
|
2021-01-28 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 27259
|
|
|
|
|
* ldelf.c (ldelf_before_place_orphans): Use linker_mark to
|
|
|
|
|
prevent endless looping of linked-to sections.
|
|
|
|
|
|
2021-01-27 07:08:45 +08:00
|
|
|
|
2021-01-26 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-x86-64/bnd-plt-1.d: Fix a typo.
|
|
|
|
|
|
2021-01-26 08:18:09 +08:00
|
|
|
|
2021-01-26 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 27226
|
|
|
|
|
* emulparams/alphavms.sh: Don't set COMPILE_IN.
|
|
|
|
|
* emulparams/elf64_ia64_vms.sh: Likewise.
|
|
|
|
|
* emulparams/elf64mmix.sh: Likewise.
|
|
|
|
|
* emulparams/elf_iamcu.sh: Likewise.
|
|
|
|
|
* emulparams/elf_k1om.sh: Likewise.
|
|
|
|
|
* emulparams/elf_l1om.sh: Likewise.
|
|
|
|
|
* emulparams/mmo.sh: Likewise.
|
|
|
|
|
* emulparams/pdp11.sh: Set DATA_SEG_ADDR.
|
|
|
|
|
* scripttempl/pdp11.sc: Use it.
|
|
|
|
|
* emultempl/pdp11.em: Don't edit .xn script for separate_code,
|
|
|
|
|
instead use .xe script. Support scripts from file system.
|
|
|
|
|
* emultempl/beos.em: Support scripts from file system.
|
|
|
|
|
* emultempl/pe.em: Likewise.
|
|
|
|
|
* emultempl/pep.em: Likewise.
|
|
|
|
|
* testsuite/ld-bootstrap/bootstrap.exp: Make tmpdir/ldscripts link.
|
|
|
|
|
|
2021-01-25 19:35:57 +08:00
|
|
|
|
2021-01-25 Fangrui Song <maskray@google.com>
|
|
|
|
|
|
|
|
|
|
PR ld/27230
|
|
|
|
|
* scripttempl/DWARF.sc: Add .debug_* sections.
|
|
|
|
|
|
2021-01-25 19:20:20 +08:00
|
|
|
|
2021-01-25 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* scripttempl/DWARF.sc: Add .debug_loclists, .debug_rnglists,
|
|
|
|
|
.debug_line_str and .debug_str_offsets. Move .debug_macro and
|
|
|
|
|
.debug_addr into DWARF-5 section.
|
|
|
|
|
|
2021-01-21 05:06:38 +08:00
|
|
|
|
2021-01-21 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/pr26936.d: No longer xfail mips.
|
|
|
|
|
|
2021-01-20 13:25:46 +08:00
|
|
|
|
2021-01-20 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-powerpc/relbrlt.s: Make symbols global.
|
|
|
|
|
* testsuite/ld-powerpc/relbrlt.d: Adjust to suit.
|
|
|
|
|
* testsuite/ld-powerpc/tlsget.d: Adjust for reordered stubs.
|
|
|
|
|
* testsuite/ld-powerpc/tlsget.wf: Likewise.
|
|
|
|
|
* testsuite/ld-powerpc/tlsget2.d: Likewise.
|
|
|
|
|
* testsuite/ld-powerpc/tlsget2.wf: Likewise.
|
|
|
|
|
* testsuite/ld-powerpc/tlsexe.r: Adjust for removed section syms.
|
|
|
|
|
* testsuite/ld-powerpc/tlsexe32.r: Likewise.
|
|
|
|
|
* testsuite/ld-powerpc/tlsexe32no.r: Likewise.
|
|
|
|
|
* testsuite/ld-powerpc/tlsexeno.r: Likewise.
|
|
|
|
|
* testsuite/ld-powerpc/tlsexenors.r: Likewise.
|
|
|
|
|
* testsuite/ld-powerpc/tlsexers.r: Likewise.
|
|
|
|
|
* testsuite/ld-powerpc/tlsexetoc.r: Likewise.
|
|
|
|
|
* testsuite/ld-powerpc/tlsexetocrs.r: Likewise.
|
|
|
|
|
* testsuite/ld-powerpc/tlsso.r: Likewise.
|
|
|
|
|
* testsuite/ld-powerpc/tlsso32.r: Likewise.
|
|
|
|
|
* testsuite/ld-powerpc/tlstocso.r: Likewise.
|
|
|
|
|
|
2021-01-19 20:45:18 +08:00
|
|
|
|
2021-01-19 Nick Alcock <nick.alcock@oracle.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-ctf/data-func-2.c: Stop removal of the extern foo_t
|
|
|
|
|
symbols by the optimizer.
|
|
|
|
|
* testsuite/ld-ctf/data-func-conflicted.d: Adjust accordingly.
|
|
|
|
|
|
2021-01-08 20:04:13 +08:00
|
|
|
|
2021-01-19 Nelson Chu <nelson.chu@sifive.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/elf.exp (riscv_little_endian): Added. Return true
|
|
|
|
|
if target is riscv little endian. Otherwise, return false.
|
|
|
|
|
* testsuite/ld-elf/compressed1d.d: Only xfail the riscv little endian
|
|
|
|
|
targets by [riscv_little_endian].
|
|
|
|
|
|
2020-09-12 09:19:13 +08:00
|
|
|
|
2021-01-18 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 26378
|
|
|
|
|
* ldlang.c (map_input_to_output_sections): Start with a read-only
|
|
|
|
|
section for data statements.
|
|
|
|
|
* testsuite/ld-elf/size-2.d: Adjust to suit.
|
|
|
|
|
|
2021-01-18 12:01:16 +08:00
|
|
|
|
2021-01-17 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/27193
|
|
|
|
|
* testsuite/ld-i386/i386.exp: Run PR ld/27193 test.
|
|
|
|
|
* testsuite/ld-i386/pr27193.dd: New file.
|
|
|
|
|
* testsuite/ld-i386/pr27193a.o.bz2: Likewise.
|
|
|
|
|
* testsuite/ld-i386/pr27193b.s: Likewise.
|
|
|
|
|
|
2021-01-17 10:36:40 +08:00
|
|
|
|
2021-01-16 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/23460
|
|
|
|
|
* testsuite/ld-plugin/lto.exp: Increase the max number of open
|
|
|
|
|
files to 20 for PR binutils/23460 test.
|
|
|
|
|
|
2021-01-16 23:00:09 +08:00
|
|
|
|
2021-01-16 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/23169
|
|
|
|
|
* testsuite/ld-ifunc/ifunc.exp: Replace pr23169c.rd with
|
|
|
|
|
pr23169a.rd for pr23169c and pr23169f. Remove pr23169e tests.
|
|
|
|
|
* testsuite/ld-ifunc/pr23169a.c (foo): Don't compare function
|
|
|
|
|
address.
|
|
|
|
|
|
2021-01-16 10:06:48 +08:00
|
|
|
|
2021-01-15 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* NEWS: Mention -z report-relative-reloc.
|
|
|
|
|
* ld.texi: Document -z report-relative-reloc.
|
|
|
|
|
* emulparams/elf32_x86_64.sh: Source x86-report-relative.sh.
|
|
|
|
|
* emulparams/elf_i386.sh: Likewse.
|
|
|
|
|
* emulparams/elf_x86_64.sh: Likewse.
|
|
|
|
|
* emulparams/x86-report-relative.sh: New file.
|
|
|
|
|
* testsuite/ld-i386/report-reloc-1.d: Likewse.
|
|
|
|
|
* testsuite/ld-i386/report-reloc-1.l: Likewse.
|
|
|
|
|
* testsuite/ld-i386/report-reloc-1.s: Likewse.
|
|
|
|
|
* testsuite/ld-x86-64/report-reloc-1-x32.d: Likewse.
|
|
|
|
|
* testsuite/ld-x86-64/report-reloc-1.d: Likewse.
|
|
|
|
|
* testsuite/ld-x86-64/report-reloc-1.l: Likewse.
|
|
|
|
|
* testsuite/ld-x86-64/report-reloc-1.s: Likewse.
|
|
|
|
|
* testsuite/ld-i386/i386.exp: Run report-reloc-1.
|
|
|
|
|
* testsuite/ld-x86-64/x86-64.exp: Run report-reloc-1 and
|
|
|
|
|
report-reloc-1-x32.
|
|
|
|
|
|
2021-01-15 18:47:43 +08:00
|
|
|
|
2021-01-16 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 26002
|
|
|
|
|
* testsuite/ld-elfvers/vers6.dsym: Expect "Base" for undefined
|
|
|
|
|
unversioned symbols.
|
|
|
|
|
* testsuite/ld-elfvers/vers16.dsym: Likewise.
|
|
|
|
|
|
2021-01-13 16:52:14 +08:00
|
|
|
|
2021-01-15 Nelson Chu <nelson.chu@sifive.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-01.d: Updated.
|
|
|
|
|
* testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-02.d: Likewise.
|
|
|
|
|
* testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-03.d: Likewise.
|
|
|
|
|
* testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-04.d: Likewise.
|
|
|
|
|
* testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-05.d: Likewise.
|
|
|
|
|
* testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-06.d: Likewise.
|
|
|
|
|
|
2021-01-14 20:55:25 +08:00
|
|
|
|
2021-01-14 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* po/fr.po: Updated French translation.
|
|
|
|
|
|
2010-12-10 01:06:34 +08:00
|
|
|
|
2021-01-14 Mike Frysinger <vapier@gentoo.org>
|
|
|
|
|
|
|
|
|
|
* testsuite/config/default.exp [bfin*-elf*] (gcc_B_opt): Add -msim.
|
|
|
|
|
|
2021-01-14 06:18:49 +08:00
|
|
|
|
2021-01-14 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 27160
|
|
|
|
|
* ldelfgen.c (compare_link_order): Protect access of ELF section
|
|
|
|
|
data.
|
|
|
|
|
(add_link_order_input_section): Remove redundant NULL check.
|
|
|
|
|
Use bfd_get_flavour.
|
|
|
|
|
(ldelf_map_segments): Use bfd_get_flavour.
|
|
|
|
|
|
2021-01-13 22:48:07 +08:00
|
|
|
|
2021-01-13 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* ldelfgen.c (add_link_order_input_section): Check for ELF input
|
|
|
|
|
before accessing ELF section data.
|
|
|
|
|
|
2021-01-13 16:43:23 +08:00
|
|
|
|
2021-01-13 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
|
2021-01-13 11:03:34 +08:00
|
|
|
|
2021-01-13 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 27160
|
|
|
|
|
* ldlang.h (lang_output_section_statement_type): Add data field.
|
|
|
|
|
(lang_input_section_type, lang_section_bst_type): Add pattern field.
|
|
|
|
|
(statement_list): Declare.
|
|
|
|
|
(lang_add_section): Adjust prototype.
|
|
|
|
|
* emultempl/aarch64elf.em: Adjust lang_add_section calls.
|
|
|
|
|
* emultempl/armelf.em: Likewise.
|
|
|
|
|
* emultempl/beos.em: Likewise.
|
|
|
|
|
* emultempl/cskyelf.em: Likewise.
|
|
|
|
|
* emultempl/hppaelf.em: Likewise.
|
|
|
|
|
* emultempl/m68hc1xelf.em: Likewise.
|
|
|
|
|
* emultempl/metagelf.em: Likewise.
|
|
|
|
|
* emultempl/mipself.em: Likewise.
|
|
|
|
|
* emultempl/mmo.em: Likewise.
|
|
|
|
|
* emultempl/msp430.em: Likewise.
|
|
|
|
|
* emultempl/nios2elf.em: Likewise.
|
|
|
|
|
* emultempl/pe.em: Likewise.
|
|
|
|
|
* emultempl/pep.em: Likewise.
|
|
|
|
|
* emultempl/ppc64elf.em: Likewise.
|
|
|
|
|
* emultempl/spuelf.em: Likewise.
|
|
|
|
|
* emultempl/vms.em: Likewise.
|
|
|
|
|
* ldelf.c: Likewise.
|
|
|
|
|
* ldelfgen.c: Include ldctor.h.
|
|
|
|
|
(struct os_sections): New.
|
|
|
|
|
(add_link_order_input_section, link_order_scan): New functions.
|
|
|
|
|
(compare_link_order, fixup_link_order): New functions.
|
|
|
|
|
(ldelf_map_segments): Call link_order_scan and fixup_link_order.
|
|
|
|
|
* ldlang.c (statement_list): Make global.
|
|
|
|
|
(output_section_callback_fast): Save pattern in tree node.
|
|
|
|
|
(lang_add_section): Add pattern parameter, save in lang_input_section.
|
|
|
|
|
(output_section_callback_tree_to_list): Adjust lang_add_section calls.
|
|
|
|
|
(lang_insert_orphan, output_section_callback): Likewise.
|
|
|
|
|
(ldlang_place_orphan): Likewise.
|
|
|
|
|
(gc_section_callback): Don't set section->pattern.
|
|
|
|
|
* testsuite/ld-elf/pr26256-2a.d: Don't xfail generic.
|
|
|
|
|
* testsuite/ld-elf/pr26256-3b.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr26256-2b.d: Likewise. notarget xgate.
|
|
|
|
|
|
2021-01-13 12:47:56 +08:00
|
|
|
|
2021-01-13 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ldlang.h (callback_t): Remove flag_info function parameter.
|
|
|
|
|
* ldlang.c (walk_wild_consider_section): Adjust to suit.
|
|
|
|
|
(walk_wild_section_general): Likewise.
|
|
|
|
|
(output_section_callback_fast, output_section_callback): Likewise.
|
|
|
|
|
(check_section_callback, gc_section_callback): Likewise.
|
|
|
|
|
(find_relro_section_callback): Likewise.
|
|
|
|
|
|
2021-01-12 21:45:28 +08:00
|
|
|
|
2021-01-12 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/26792
|
|
|
|
|
* configure.ac: Use GNU_MAKE_JOBSERVER.
|
|
|
|
|
* aclocal.m4: Regenerated.
|
|
|
|
|
* configure: Likewise.
|
|
|
|
|
|
2021-01-12 21:10:58 +08:00
|
|
|
|
2021-01-12 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/27171
|
|
|
|
|
* testsuite/ld-x86-64/pe-x86-64-5.obj.bz2: New file.
|
|
|
|
|
* testsuite/ld-x86-64/pe-x86-64-5.od: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pe-x86-64-5.rd: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pe-x86-64.exp: Run PR ld/27171 test.
|
|
|
|
|
|
2021-01-12 08:29:31 +08:00
|
|
|
|
2021-01-11 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/27173
|
|
|
|
|
* configure: Regenerated.
|
|
|
|
|
|
2021-01-11 22:31:55 +08:00
|
|
|
|
2021-01-11 Matt Jenkins <matt@majenko.co.uk>
|
|
|
|
|
|
|
|
|
|
PR ld/27167
|
|
|
|
|
* ldmain.c (get_emulation): Add mipsmips32r3, mips32r5, mips64r3
|
|
|
|
|
and mips64r5 to list of known mips targets.
|
|
|
|
|
|
|
|
|
|
2021-01-11 Nick Clifton <nickc@redhat.com>matt@majenko.co.uk
|
2021-01-11 20:55:33 +08:00
|
|
|
|
|
|
|
|
|
* po/pt_BR.po: Updated Brazilian Portuguese translation.
|
|
|
|
|
` * po/uk.po: Updated Ukranian translation.
|
|
|
|
|
|
2021-01-09 22:47:58 +08:00
|
|
|
|
2021-01-09 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* configure: Regenerated.
|
|
|
|
|
|
2021-01-09 22:11:06 +08:00
|
|
|
|
2021-01-09 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/27166
|
|
|
|
|
* testsuite/ld-x86-64/lam-u48.rd: New file.
|
|
|
|
|
* testsuite/ld-x86-64/lam-u57.rd: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/x86-64.exp: Add PR ld/27166 tests.
|
|
|
|
|
|
2021-01-09 19:01:01 +08:00
|
|
|
|
2021-01-09 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* po/ld.pot: Regenerate.
|
|
|
|
|
|
2021-01-09 18:40:28 +08:00
|
|
|
|
2021-01-09 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* 2.36 release branch crated.
|
|
|
|
|
|
2021-01-09 13:51:38 +08:00
|
|
|
|
2021-01-08 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* ld-x86-64/property-x86-lam-u48-4.d: Updated.
|
|
|
|
|
* ld-x86-64/property-x86-lam-u48-5.d: Likewise.
|
|
|
|
|
|
2021-01-09 08:33:29 +08:00
|
|
|
|
2021-01-09 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
|
2021-01-08 00:47:36 +08:00
|
|
|
|
2021-01-07 Samuel Thibault <samuel.thibault@gnu.org>
|
|
|
|
|
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2021-01-07 22:42:00 +08:00
|
|
|
|
2021-01-07 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR 27109
|
|
|
|
|
* testsuite/ld-elf/export-class.sd: Adjust the expected output.
|
|
|
|
|
* testsuite/ld-elf/loadaddr3b.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/ibt-plt-1.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/ibt-plt-2a.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/ibt-plt-2c.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/ibt-plt-3a.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/ibt-plt-3c.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/pr19636-1d.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/pr19636-1l.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/pr19636-2c.d: Likewise.
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-2-i386-now.d: Likewise.
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-2-local-i386-now.d: Likewise.
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-2-local-x86-64-now.d: Likewise.
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-2-x86-64-now.d: Likewise.
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-21-x86-64.d: Likewise.
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-22-x86-64.d: Likewise.
|
|
|
|
|
* testsuite/ld-ifunc/pr17154-i386-now.d: Likewise.
|
|
|
|
|
* testsuite/ld-ifunc/pr17154-i386.d: Likewise.
|
|
|
|
|
* testsuite/ld-ifunc/pr17154-x86-64-now.d: Likewise.
|
|
|
|
|
* testsuite/ld-ifunc/pr17154-x86-64.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-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/ibt-plt-1-x32.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/ibt-plt-1.d: 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-2c-x32.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/ibt-plt-2c.d: 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-3c-x32.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/ibt-plt-3c.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr19609-4e.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr19609-6a.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr19609-6b.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr19609-7b.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr19609-7d.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr19636-2l.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr20253-1d.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr20253-1h.d: 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.
|
|
|
|
|
* testsuite/ld-x86-64/pr23854.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr25416-3.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr25416-4.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/plt-pic.pd: Likewise.
|
|
|
|
|
* testsuite/ld-i386/plt-pic2.dd: Likewise.
|
|
|
|
|
* testsuite/ld-i386/plt.pd: Likewise.
|
|
|
|
|
* testsuite/ld-i386/plt2.dd: Likewise.
|
|
|
|
|
* testsuite/ld-i386/tlsbin.rd: Likewise.
|
|
|
|
|
* testsuite/ld-i386/tlsbin2.rd: Likewise.
|
|
|
|
|
* testsuite/ld-i386/tlsbindesc.rd: Likewise.
|
|
|
|
|
* testsuite/ld-i386/tlsdesc.rd: Likewise.
|
|
|
|
|
* testsuite/ld-i386/tlsgdesc.rd: Likewise.
|
|
|
|
|
* testsuite/ld-i386/tlsnopic.rd: Likewise.
|
|
|
|
|
* testsuite/ld-i386/tlspic.rd: Likewise.
|
|
|
|
|
* testsuite/ld-i386/tlspic2.rd: 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/pe-x86-64-1.od: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pe-x86-64-2.od: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pe-x86-64-3.od: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pe-x86-64-4.od: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/plt.pd: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/plt2.dd: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/tlsbin.rd: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/tlsbin2.rd: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/tlsbindesc.rd: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/tlsdesc.rd: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/tlsgdesc.rd: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/tlspic.rd: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/tlspic2.rd: Likewise.
|
|
|
|
|
* testsuite/ld-elf/sec64k.exp: Check
|
|
|
|
|
is_elf_unused_section_symbols.
|
|
|
|
|
|
2021-01-07 21:59:31 +08:00
|
|
|
|
2021-01-07 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-scripts/fill.d: Skip sh-*-pe rather than xfail.
|
|
|
|
|
* testsuite/ld-scripts/fill16.d: Don't xfail sh-*-pe.
|
|
|
|
|
* testsuite/ld-scripts/segment-start.d: Likewise.
|
|
|
|
|
|
2021-01-07 21:51:42 +08:00
|
|
|
|
2021-01-07 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/comm-data5.d: xfail targets that complain
|
|
|
|
|
about dynamic relocations in read-only sections.
|
|
|
|
|
* testsuite/ld-elf/ehdr_start-shared.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/ehdr_start.d: Likewise.
|
|
|
|
|
* testsuite/ld-scripts/pr22267.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/shared.exp: Likewise for DT_TEXTREL tests and
|
|
|
|
|
pr20995 text.
|
|
|
|
|
* testsuite/ld-elf/sec64k.exp: Don't run 64ksec on lm32-linux.
|
|
|
|
|
|
2021-01-06 18:36:54 +08:00
|
|
|
|
2021-01-07 Marcus Comstedt <marcus@mc.pp.se>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-scripts/empty-address-2a.d: xfail riscv64*-*-*.
|
|
|
|
|
* testsuite/ld-scripts/empty-address-2b.d: Likewise.
|
|
|
|
|
|
2021-01-07 06:22:47 +08:00
|
|
|
|
2021-01-07 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* po/BLD-POTFILES.in: Regenerate.
|
|
|
|
|
|
2021-01-07 06:07:38 +08:00
|
|
|
|
2021-01-07 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/shared.exp: xfail pr22471 for targets that
|
|
|
|
|
complain about relocs in read-only sections. Tidy ASFLAGS append.
|
|
|
|
|
|
2021-01-06 09:31:10 +08:00
|
|
|
|
2021-01-06 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-sparc/sparc.exp (sparc64tests): Set text-segment
|
|
|
|
|
base for some tests.
|
|
|
|
|
* testsuite/ld-sparc/gotop32.dd: Match solaris output.
|
|
|
|
|
* testsuite/ld-sparc/gotop32.sd: Likewise.
|
|
|
|
|
* testsuite/ld-sparc/gotop32.td: Likewise.
|
|
|
|
|
* testsuite/ld-sparc/gotop64.dd: Likewise.
|
|
|
|
|
* testsuite/ld-sparc/gotop64.sd: Likewise.
|
|
|
|
|
* testsuite/ld-sparc/gotop64.td: Likewise.
|
|
|
|
|
* testsuite/ld-sparc/tlsg32.sd: Likewise.
|
|
|
|
|
* testsuite/ld-sparc/tlsg64.sd: Likewise.
|
|
|
|
|
* testsuite/ld-sparc/tlspie32.dd: Likewise.
|
|
|
|
|
* testsuite/ld-sparc/tlspie64.dd: Likewise.
|
|
|
|
|
* testsuite/ld-sparc/tlssunbin32.dd: Likewise.
|
|
|
|
|
* testsuite/ld-sparc/tlssunbin32.sd: Likewise.
|
|
|
|
|
* testsuite/ld-sparc/tlssunbin32.td: Likewise.
|
|
|
|
|
* testsuite/ld-sparc/tlssunbin64.dd: Likewise.
|
|
|
|
|
* testsuite/ld-sparc/tlssunbin64.sd: Likewise.
|
|
|
|
|
* testsuite/ld-sparc/tlssunbin64.td: Likewise.
|
|
|
|
|
* testsuite/ld-sparc/tlssunnopic32.dd: Likewise.
|
|
|
|
|
* testsuite/ld-sparc/tlssunnopic32.sd: Likewise.
|
|
|
|
|
* testsuite/ld-sparc/tlssunnopic64.dd: Likewise.
|
|
|
|
|
* testsuite/ld-sparc/tlssunnopic64.sd: Likewise.
|
|
|
|
|
* testsuite/ld-sparc/tlssunpic32.dd: Likewise.
|
|
|
|
|
* testsuite/ld-sparc/tlssunpic32.sd: Likewise.
|
|
|
|
|
* testsuite/ld-sparc/tlssunpic32.td: Likewise.
|
|
|
|
|
* testsuite/ld-sparc/tlssunpic64.dd: Likewise.
|
|
|
|
|
* testsuite/ld-sparc/tlssunpic64.sd: Likewise.
|
|
|
|
|
* testsuite/ld-sparc/tlssunpic64.td: Likewise.
|
|
|
|
|
* testsuite/ld-sparc/wdispcall.dd: Likewise.
|
|
|
|
|
|
2021-01-06 09:26:14 +08:00
|
|
|
|
2021-01-06 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-scripts/rgn-at10.d: xfail v850.
|
|
|
|
|
* testsuite/ld-scripts/rgn-at11.d: Likewise.
|
|
|
|
|
|
2021-01-06 05:50:39 +08:00
|
|
|
|
2021-01-06 Marcus Comstedt <marcus@mc.pp.se>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-riscv-elf/ld-riscv-elf.exp: Added
|
|
|
|
|
riscv_choose_[ilp32|lp64]_emul to choose the correct linker script.
|
|
|
|
|
* testsuite/ld-riscv-elf/attr-merge-arch-01.d: Call
|
|
|
|
|
riscv_choose_[ilp32|lp64]_emul instead of hardcoding elf[32|64]lriscv.
|
|
|
|
|
* testsuite/ld-riscv-elf/attr-merge-arch-02.d: Likewise.
|
|
|
|
|
* testsuite/ld-riscv-elf/attr-merge-arch-03.d: Likewise.
|
|
|
|
|
* testsuite/ld-riscv-elf/attr-merge-arch-failed-01.d: Likewise.
|
|
|
|
|
* testsuite/ld-riscv-elf/attr-merge-arch-failed-02.d: Likewise.
|
|
|
|
|
* testsuite/ld-riscv-elf/c-lui-2.d: Likewise.
|
|
|
|
|
* testsuite/ld-riscv-elf/c-lui.d: Likewise.
|
|
|
|
|
* testsuite/ld-riscv-elf/call-relax.d: Likewise.
|
|
|
|
|
* testsuite/ld-riscv-elf/pcrel-lo-addend-2.d: Likewise.
|
|
|
|
|
* testsuite/ld-riscv-elf/pcrel-lo-addend.d: Likewise.
|
|
|
|
|
* testsuite/ld-riscv-elf/weakref32.d: Accept bigriscv in addition
|
|
|
|
|
to littleriscv.
|
|
|
|
|
* testsuite/ld-riscv-elf/weakref64.d: Likewise.
|
|
|
|
|
|
RISC-V: Implement support for big endian targets.
RISC-V instruction/code is always little endian, but data might be
big-endian. Therefore, we can not use the original bfd_get/bfd_put
to get/put the code for big endian targets. Add new riscv_get_insn
and riscv_put_insn to always get/put code as little endian can resolve
the problem. Just remember to update them once we have supported
the 48-bit/128-bit instructions in the future patches.
bfd/
* config.bfd: Added targets riscv64be*-*-*, riscv32be*-*-* and
riscvbe*-*-*. Also added riscv_elf[32|64]_be_vec.
* configure.ac: Handle riscv_elf[32|64]_be_vec.
* configure: Regenerate.
* elfnn-riscv.c: Include <limits.h> and define CHAR_BIT for
riscv_is_insn_reloc.
(riscv_get_insn): RISC-V instructions are always little endian, but
bfd_get may be used for big-endian, so add new riscv_get_insn to handle
the insturctions.
(riscv_put_insn): Likewsie.
(riscv_is_insn_reloc): Check if we are relocaing an instruction.
(perform_relocation): Call riscv_is_insn_reloc to decide if we should
use riscv_[get|put]_insn or bfd_[get|put].
(riscv_zero_pcrel_hi_reloc): Use riscv_[get|put]_insn, bfd_[get|put]l32
or bfd_[get|put]l16 for code.
(riscv_elf_relocate_section): Likewise.
(riscv_elf_finish_dynamic_symbol): Likewise.
(riscv_elf_finish_dynamic_sections): Likewise.
(_bfd_riscv_relax_call): Likewise.
(_bfd_riscv_relax_lui): Likewise.
(_bfd_riscv_relax_align): Likewise.
(_bfd_riscv_relax_pc): Likewise.
(riscv_elf_object_p): Handled for big endian.
(TARGET_BIG_SYM, TARGET_BIG_NAME): Defined.
* targets.c: Add riscv_elf[32|64]_be_vec.
(_bfd_target_vector): Likewise.
gas/
* config/tc-riscv.c (riscv_target_format): Add elf64-bigriscv and
elf32-bigriscv.
(install_insn): Always write instructions as little endian.
(riscv_make_nops): Likewise.
(md_convert_frag_branch): Likewise.
(md_number_to_chars): Write data in target endianness.
(options, md_longopts): Add -mbig-endian and -mlittle-endian options.
(md_parse_option): Handle the endian options.
* config/tc-riscv.h: Only define TARGET_BYTES_BIG_ENDIAN if not
already defined.
* configure.tgt: Added riscv64be*, riscv32be*, riscvbe*.
ld/
* configure.tgt: Added riscvbe-*-*, riscv32be*-*-*, riscv64be*-*-*,
riscv32be*-*-linux*, and riscv64be*-*-linux*.
* Makefile.am: Added eelf32briscv.c, eelf32briscv_ilp32f.c and
eelf32briscv_ilp32.c.
* Makefile.in: Regenerate.
* emulparams/elf32briscv.sh: Added.
* emulparams/elf32briscv_ilp32.sh: Likewise.
* emulparams/elf32briscv_ilp32f.sh: Likewise.
* emulparams/elf64briscv.sh: Likewise.
* emulparams/elf64briscv_lp64.sh: Likewise.
* emulparams/elf64briscv_lp64f.sh: Likewise.
2021-01-06 05:50:32 +08:00
|
|
|
|
2021-01-06 Marcus Comstedt <marcus@mc.pp.se>
|
|
|
|
|
|
|
|
|
|
* configure.tgt: Added riscvbe-*-*, riscv32be*-*-*, riscv64be*-*-*,
|
|
|
|
|
riscv32be*-*-linux*, and riscv64be*-*-linux*.
|
|
|
|
|
* Makefile.am: Added eelf32briscv.c, eelf32briscv_ilp32f.c and
|
|
|
|
|
eelf32briscv_ilp32.c.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
* emulparams/elf32briscv.sh: Added.
|
|
|
|
|
* emulparams/elf32briscv_ilp32.sh: Likewise.
|
|
|
|
|
* emulparams/elf32briscv_ilp32f.sh: Likewise.
|
|
|
|
|
* emulparams/elf64briscv.sh: Likewise.
|
|
|
|
|
* emulparams/elf64briscv_lp64.sh: Likewise.
|
|
|
|
|
* emulparams/elf64briscv_lp64f.sh: Likewise.
|
|
|
|
|
|
2021-01-05 21:25:56 +08:00
|
|
|
|
2021-01-05 Nick Alcock <nick.alcock@oracle.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-ctf/enum-forward.c: New test.
|
|
|
|
|
* testsuite/ld-ctf/enum-forward.c: New results.
|
|
|
|
|
|
libctf, ld: dump enums: generally improve dump formatting
This commit adds dumping of enumerands in this general form:
0x3: (kind 8) enum eleven_els (size 0x4) (aligned at 0x4)
ELEVEN_ONE: 10
ELEVEN_TWO: 11
ELEVEN_THREE: -256
ELEVEN_FOUR: -255
ELEVEN_FIVE: -254
...
ELEVEN_SEVEN: -252
ELEVEN_EIGHT: -251
ELEVEN_NINE: -250
ELEVEN_TEN: -249
ELEVEN_ELEVEN: -248
The first and last enumerands in the enumerated type are printed so that
you can tell if they've been cut off at one end or the other. (For now,
there is no way to control how many enumerands are printed.)
The dump output in general is improved, from this sort of thing a few
days ago:
4c: char [0x0:0x8] (size 0x1)
[0x0] (ID 0x4c) (kind 1) char:8 (aligned at 0x1, format 0x3, offset:bits 0x0:0x8)
4d: char * (size 0x8) -> 4c: char [0x0:0x8] (size 0x1)
[0x0] (ID 0x4d) (kind 3) char * (aligned at 0x8)
[...]
5a: struct _IO_FILE (size 0xd8)
[0x0] (ID 0x5a) (kind 6) struct _IO_FILE (aligned at 0x4)
[0x0] (ID 0x3) (kind 1) int _flags:32 (aligned at 0x4, format 0x1, offset:bits 0x0:0x20)
[0x40] (ID 0x4d) (kind 3) char * _IO_read_ptr (aligned at 0x8)
[0x80] (ID 0x4d) (kind 3) char * _IO_read_end (aligned at 0x8)
[0xc0] (ID 0x4d) (kind 3) char * _IO_read_base (aligned at 0x8)
5b: __FILE (size 0xd8) -> 5a: struct _IO_FILE (size 0xd8)
[0x0] (ID 0x5b) (kind 10) __FILE (aligned at 0x4)
[0x0] (ID 0x3) (kind 1) int _flags:32 (aligned at 0x4, format 0x1, offset:bits 0x0:0x20)
[0x40] (ID 0x4d) (kind 3) char * _IO_read_ptr (aligned at 0x8)
[0x80] (ID 0x4d) (kind 3) char * _IO_read_end (aligned at 0x8)
[0xc0] (ID 0x4d) (kind 3) char * _IO_read_base (aligned at 0x8)
[...]
406: struct coff_link_hash_entry (size 0x60)
[0x0] (ID 0x406) (kind 6) struct coff_link_hash_entry (aligned at 0x8)
[0x0] (ID 0x2b3) (kind 6) struct bfd_link_hash_entry root (aligned at 0x8)
[0x0] (ID 0x1d6) (kind 6) struct bfd_hash_entry root (aligned at 0x8)
[0x0] (ID 0x1d7) (kind 3) struct bfd_hash_entry * next (aligned at 0x8)
[0x40] (ID 0x61) (kind 3) const char * string (aligned at 0x8)
[0x80] (ID 0x1) (kind 1) long unsigned int hash:64 (aligned at 0x8, format 0x0, offset:bits 0x0:0x40)
[0xc0] (ID 0x397) (kind 8) enum bfd_link_hash_type type:8 (aligned at 0x1, format 0x0, offset:bits 0x0:0x8)
[0xc8] (ID 0x1c7) (kind 1) unsigned int non_ir_ref_regular:1 (aligned at 0x1, format 0x0, offset:bits 0x8:0x1)
[0xc9] (ID 0x1c8) (kind 1) unsigned int non_ir_ref_dynamic:1 (aligned at 0x1, format 0x0, offset:bits 0x9:0x1)
[0xca] (ID 0x1c9) (kind 1) unsigned int linker_def:1 (aligned at 0x1, format 0x0, offset:bits 0xa:0x1)
[0xcb] (ID 0x1ca) (kind 1) unsigned int ldscript_def:1 (aligned at 0x1, format 0x0, offset:bits 0xb:0x1)
[0xcc] (ID 0x1cb) (kind 1) unsigned int rel_from_abs:1 (aligned at 0x1, format 0x0, offset:bits 0xc:0x1)
... to this:
0x4c: (kind 1) char (format 0x3) (size 0x1) (aligned at 0x1)
0x4d: (kind 3) char * (size 0x8) (aligned at 0x8) -> 0x4c: (kind 1) char (format 0x3) (size 0x1) (aligned at 0x1)
0x5a: (kind 6) struct _IO_FILE (size 0xd8) (aligned at 0x4)
[0x0] _flags: ID 0x3: (kind 1) int (format 0x1) (size 0x4) (aligned at 0x4)
[0x40] _IO_read_ptr: ID 0x4d: (kind 3) char * (size 0x8) (aligned at 0x8)
[0x80] _IO_read_end: ID 0x4d: (kind 3) char * (size 0x8) (aligned at 0x8)
[0xc0] _IO_read_base: ID 0x4d: (kind 3) char * (size 0x8) (aligned at 0x8)
[0x100] _IO_write_base: ID 0x4d: (kind 3) char * (size 0x8) (aligned at 0x8)
0x5b: (kind 10) __FILE (size 0xd8) (aligned at 0x4) -> 0x5a: (kind 6) struct _IO_FILE (size 0xd8) (aligned at 0x4)
[...]
0x406: (kind 6) struct coff_link_hash_entry (size 0x60) (aligned at 0x8)
[0x0] root: ID 0x2b3: (kind 6) struct bfd_link_hash_entry (size 0x38) (aligned at 0x8)
[0x0] root: ID 0x1d6: (kind 6) struct bfd_hash_entry (size 0x18) (aligned at 0x8)
[0x0] next: ID 0x1d7: (kind 3) struct bfd_hash_entry * (size 0x8) (aligned at 0x8)
[0x40] string: ID 0x61: (kind 3) const char * (size 0x8) (aligned at 0x8)
[0x80] hash: ID 0x1: (kind 1) long unsigned int (format 0x0) (size 0x8) (aligned at 0x8)
[0xc0] type: ID 0x397: (kind 8) enum bfd_link_hash_type (format 0x7f2e) (size 0x1) (aligned at 0x1)
[0xc8] non_ir_ref_regular: ID 0x1c7: (kind 1) unsigned int:1 [slice 0x8:0x1] (format 0x0) (size 0x1) (aligned at 0x1)
[0xc9] non_ir_ref_dynamic: ID 0x1c8: (kind 1) unsigned int:1 [slice 0x9:0x1] (format 0x0) (size 0x1) (aligned at 0x1)
[0xca] linker_def: ID 0x1c9: (kind 1) unsigned int:1 [slice 0xa:0x1] (format 0x0) (size 0x1) (aligned at 0x1)
[0xcb] ldscript_def: ID 0x1ca: (kind 1) unsigned int:1 [slice 0xb:0x1] (format 0x0) (size 0x1) (aligned at 0x1)
[0xcc] rel_from_abs: ID 0x1cb: (kind 1) unsigned int:1 [slice 0xc:0x1] (format 0x0) (size 0x1) (aligned at 0x1)
[...]
In particular, indented subsections are only present for actual structs
and unions, not forwards to them, and the structure itself doesn't add a
spurious level of indentation; structure field names are easier to spot
(at the cost of not making them look so much like C field declarations
any more, but they weren't always shown in valid decl syntax even before
this change) the size, type kind, and alignment are shown for all types
for which they are meaningful; bitfield info is only shown for actual
bitfields within structures and not ordinary integral fields; and type
IDs are never omitted. Type printing is in general much more consistent
and there is much less duplicated code in the type dumper.
There is one user-visible effect outside the dumper: ctf_type_(a)name
was erroneously emitting a trailing space on the name of slice types,
even though a slice of an int and an int with the corresponding encoding
represent the same type and should have the same print form. This
trailing space is now gone.
ld/ChangeLog
2021-01-05 Nick Alcock <nick.alcock@oracle.com>
* testsuite/ld-ctf/array.d: Adjust for dumper changes.
* testsuite/ld-ctf/conflicting-cycle-1.B-1.d: Likewise.
* testsuite/ld-ctf/conflicting-cycle-1.B-2.d: Likewise.
* testsuite/ld-ctf/conflicting-cycle-1.parent.d: Likewise.
* testsuite/ld-ctf/conflicting-cycle-2.A-1.d: Likewise.
* testsuite/ld-ctf/conflicting-cycle-2.A-2.d: Likewise.
* testsuite/ld-ctf/conflicting-cycle-2.parent.d: Likewise.
* testsuite/ld-ctf/conflicting-cycle-3.C-1.d: Likewise.
* testsuite/ld-ctf/conflicting-cycle-3.C-2.d: Likewise.
* testsuite/ld-ctf/conflicting-cycle-3.parent.d: Likewise.
* testsuite/ld-ctf/conflicting-enums.d: Likewise.
* testsuite/ld-ctf/conflicting-typedefs.d: Likewise.
* testsuite/ld-ctf/cross-tu-cyclic-conflicting.d: Likewise.
* testsuite/ld-ctf/cross-tu-cyclic-nonconflicting.d: Likewise.
* testsuite/ld-ctf/cross-tu-into-cycle.d: Likewise.
* testsuite/ld-ctf/cross-tu-noncyclic.d: Likewise.
* testsuite/ld-ctf/cycle-1.d: Likewise.
* testsuite/ld-ctf/cycle-2.A.d: Likewise.
* testsuite/ld-ctf/cycle-2.B.d: Likewise.
* testsuite/ld-ctf/cycle-2.C.d: Likewise.
* testsuite/ld-ctf/data-func-conflicted.d: Likewise.
* testsuite/ld-ctf/diag-cttname-null.d: Likewise.
* testsuite/ld-ctf/diag-cuname.d: Likewise.
* testsuite/ld-ctf/diag-parlabel.d: Likewise.
* testsuite/ld-ctf/diag-wrong-magic-number-mixed.d: Likewise.
* testsuite/ld-ctf/forward.d: Likewise.
* testsuite/ld-ctf/function.d: Likewise.
* testsuite/ld-ctf/slice.d: Likewise.
* testsuite/ld-ctf/super-sub-cycles.d: Likewise.
* testsuite/ld-ctf/enums.c: New test.
* testsuite/ld-ctf/enums.d: New test.
libctf/ChangeLog
2021-01-05 Nick Alcock <nick.alcock@oracle.com>
* ctf-decl.c (ctf_decl_push): Exclude slices from the decl stack.
* ctf-types.c (ctf_type_aname): No longer deal with slices here.
* ctf-dump.c (ctf_dump_membstate_t) <cdm_toplevel_indent>: Constify.
(CTF_FT_REFS): New.
(CTF_FT_BITFIELD): Likewise.
(CTF_FT_ID): Likewise.
(ctf_dump_member): Do not do indentation here. Migrate the
type-printing parts of this into...
(ctf_dump_format_type): ... here, to be shared by all type printers.
Get the errno value for non-representable types right. Do not print
bitfield info for non-bitfields. Improve the format and indentation
of other type output. Shuffle spacing around to make all indentation
either 'width of column' or 4 chars.
(ctf_dump_label): Pass CTF_FT_REFS to ctf_dump_format_type.
(ctf_dump_objts): Likewise. Spacing shuffle.
(ctf_dump_var): Likewise.
(type_hex_digits): Migrate down in the file, to above its new user.
(ctf_dump_type): Indent here instead. Pass CTF_FT_REFS to
ctf_dump_format_type. Don't trim off excess linefeeds now we no
longer generate them. Dump enumerated types.
2021-01-05 21:25:56 +08:00
|
|
|
|
2021-01-05 Nick Alcock <nick.alcock@oracle.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-ctf/array.d: Adjust for dumper changes.
|
|
|
|
|
* testsuite/ld-ctf/conflicting-cycle-1.B-1.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/conflicting-cycle-1.B-2.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/conflicting-cycle-1.parent.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/conflicting-cycle-2.A-1.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/conflicting-cycle-2.A-2.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/conflicting-cycle-2.parent.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/conflicting-cycle-3.C-1.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/conflicting-cycle-3.C-2.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/conflicting-cycle-3.parent.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/conflicting-enums.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/conflicting-typedefs.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/cross-tu-cyclic-conflicting.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/cross-tu-cyclic-nonconflicting.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/cross-tu-into-cycle.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/cross-tu-noncyclic.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/cycle-1.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/cycle-2.A.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/cycle-2.B.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/cycle-2.C.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/data-func-conflicted.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/diag-cttname-null.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/diag-cuname.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/diag-parlabel.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/diag-wrong-magic-number-mixed.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/forward.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/function.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/slice.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/super-sub-cycles.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/enums.c: New test.
|
|
|
|
|
* testsuite/ld-ctf/enums.d: New test.
|
|
|
|
|
|
libctf, ld: prohibit getting the size or alignment of forwards
C allows you to do only a very few things with entities of incomplete
type (as opposed to pointers to them): make pointers to them and give
them cv-quals, roughly. In particular you can't sizeof them and you
can't get their alignment.
We cannot impose all the requirements the standard imposes on CTF users,
because the deduplicator can transform any structure type into a forward
for the purposes of breaking cycles: so CTF type graphs can easily
contain things like arrays of forward type (if you want to figure out
their size or alignment, you need to chase down the types this forward
might be a forward to in child TU dicts: we will soon add API functions
to make doing this much easier).
Nonetheless, it is still meaningless to ask for the size or alignment of
forwards: but libctf didn't prohibit this and returned nonsense from
internal implementation details when you asked (it returned the kind of
the pointed-to type as both the size and alignment, because forwards
reuse ctt_type as a type kind, and ctt_type and ctt_size overlap). So
introduce a new error, ECTF_INCOMPLETE, which is returned when you try
to get the size or alignment of forwards: we also return it when you try
to do things that require libctf itself to get the size or alignment of
a forward, notably using a forward as an array index type (which C
should never do in any case) or adding forwards to structures without
specifying their offset explicitly.
The dumper will not emit size or alignment info for forwards any more.
(This should not be an API break since ctf_type_size and ctf_type_align
could both return errors before now: any code that isn't expecting error
returns is already potentially broken.)
include/ChangeLog
2021-01-05 Nick Alcock <nick.alcock@oracle.com>
* ctf-api.h (ECTF_INCOMPLETE): New.
(ECTF_NERR): Adjust.
ld/ChangeLog
2021-01-05 Nick Alcock <nick.alcock@oracle.com>
* testsuite/ld-ctf/conflicting-cycle-1.parent.d: Adjust for dumper
changes.
* testsuite/ld-ctf/cross-tu-cyclic-conflicting.d: Likewise.
* testsuite/ld-ctf/forward.c: New test...
* testsuite/ld-ctf/forward.d: ... and results.
libctf/ChangeLog
2021-01-05 Nick Alcock <nick.alcock@oracle.com>
* ctf-types.c (ctf_type_resolve): Improve comment.
(ctf_type_size): Yield ECTF_INCOMPLETE when applied to forwards.
Emit errors into the right dict.
(ctf_type_align): Likewise.
* ctf-create.c (ctf_add_member_offset): Yield ECTF_INCOMPLETE
when adding a member without explicit offset when this member, or
the previous member, is incomplete.
* ctf-dump.c (ctf_dump_format_type): Do not try to print the size of
forwards.
(ctf_dump_member): Do not try to print their alignment.
2021-01-05 21:25:56 +08:00
|
|
|
|
2021-01-05 Nick Alcock <nick.alcock@oracle.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-ctf/conflicting-cycle-1.parent.d: Adjust for dumper
|
|
|
|
|
changes.
|
|
|
|
|
* testsuite/ld-ctf/cross-tu-cyclic-conflicting.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/forward.c: New test...
|
|
|
|
|
* testsuite/ld-ctf/forward.d: ... and results.
|
|
|
|
|
|
2021-01-05 21:25:56 +08:00
|
|
|
|
2021-01-05 Nick Alcock <nick.alcock@oracle.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-ctf/array.d: Adjust for dumper changes.
|
|
|
|
|
* testsuite/ld-ctf/data-func-conflicted.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/diag-cttname-null.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/diag-cuname.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/diag-parlabel.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/function.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/slice.d: Likewise.
|
|
|
|
|
|
2021-01-05 21:25:56 +08:00
|
|
|
|
2021-01-05 Nick Alcock <nick.alcock@oracle.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-ctf/array.d: Adjust for dumper changes.
|
|
|
|
|
* testsuite/ld-ctf/conflicting-cycle-1.B-1.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/conflicting-cycle-1.B-2.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/conflicting-cycle-1.parent.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/conflicting-cycle-2.A-1.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/conflicting-cycle-2.A-2.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/conflicting-cycle-2.parent.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/conflicting-cycle-3.C-1.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/conflicting-cycle-3.C-2.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/conflicting-cycle-3.parent.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/conflicting-enums.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/conflicting-typedefs.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/cross-tu-cyclic-conflicting.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/cross-tu-cyclic-nonconflicting.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/cross-tu-into-cycle.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/cross-tu-noncyclic.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/cycle-1.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/cycle-2.A.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/cycle-2.B.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/cycle-2.C.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/data-func-conflicted.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/diag-cttname-null.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/diag-cuname.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/diag-parlabel.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/diag-wrong-magic-number-mixed.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/function.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/slice.d: Likewise.
|
|
|
|
|
* testsuite/ld-ctf/super-sub-cycles.d: Likewise.
|
|
|
|
|
|
2021-01-05 20:24:25 +08:00
|
|
|
|
2021-01-05 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-scripts/sysroot-prefix.exp: Exclude some targets.
|
|
|
|
|
|
2021-01-05 13:13:37 +08:00
|
|
|
|
2021-01-05 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR ld/26256
|
|
|
|
|
* testsuite/ld-elf/pr26256-1b.d: xfail s12z.
|
|
|
|
|
* testsuite/ld-scripts/crossref.exp (cross1): Don't xfail ia64.
|
|
|
|
|
|
2021-01-05 04:37:49 +08:00
|
|
|
|
2021-01-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/26256
|
|
|
|
|
* ldlang.c (gc_section_callback): Set pattern.
|
|
|
|
|
* testsuite/ld-elf/pr26256-1.s: New file.
|
|
|
|
|
* testsuite/ld-elf/pr26256-1.t: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr26256-1a.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr26256-1b.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr26256-2.s: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr26256-2.t: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr26256-2a.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr26256-2b-alt.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr26256-2b.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr26256-3.s: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr26256-3a.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr26256-3a.t: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr26256-3b.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr26256-3b.t: Likewise.
|
|
|
|
|
|
2021-01-04 14:43:51 +08:00
|
|
|
|
2021-01-04 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 26822
|
|
|
|
|
* testsuite/ld-arm/non-contiguous-arm2.d: Adjust STT_FILE symbol match.
|
|
|
|
|
* testsuite/ld-arm/non-contiguous-arm3.d: Likewise.
|
|
|
|
|
* testsuite/ld-arm/non-contiguous-arm5.d: Likewise.
|
|
|
|
|
* testsuite/ld-arm/non-contiguous-arm6.d: Likewise.
|
|
|
|
|
* testsuite/ld-i386/tlsbin.rd: Likewise.
|
|
|
|
|
* testsuite/ld-i386/tlsbin2.rd: Likewise.
|
|
|
|
|
* testsuite/ld-i386/tlsbindesc.rd: Likewise.
|
|
|
|
|
* testsuite/ld-i386/tlsdesc.rd: Likewise.
|
|
|
|
|
* testsuite/ld-i386/tlsnopic.rd: Likewise.
|
|
|
|
|
* testsuite/ld-i386/tlspic.rd: Likewise.
|
|
|
|
|
* testsuite/ld-i386/tlspic2.rd: Likewise.
|
|
|
|
|
* testsuite/ld-mips-elf/global-local-symtab-sort-n64.d: Likewise.
|
|
|
|
|
* testsuite/ld-mips-elf/global-local-symtab-sort-n64t.d: Likewise.
|
|
|
|
|
* testsuite/ld-mips-elf/global-local-symtab-sort-o32.d: Likewise.
|
|
|
|
|
* testsuite/ld-mips-elf/global-local-symtab-sort-o32t.d: Likewise.
|
|
|
|
|
* testsuite/ld-plugin/pr17973.d: Likewise.
|
|
|
|
|
* testsuite/ld-tic6x/shlib-1.rd: Likewise.
|
|
|
|
|
* testsuite/ld-tic6x/shlib-1b.rd: Likewise.
|
|
|
|
|
* testsuite/ld-tic6x/shlib-1r.rd: Likewise.
|
|
|
|
|
* testsuite/ld-tic6x/shlib-1rb.rd: Likewise.
|
|
|
|
|
* testsuite/ld-tic6x/shlib-app-1.rd: Likewise.
|
|
|
|
|
* testsuite/ld-tic6x/shlib-app-1b.rd: Likewise.
|
|
|
|
|
* testsuite/ld-tic6x/shlib-app-1r.rd: Likewise.
|
|
|
|
|
* testsuite/ld-tic6x/shlib-app-1rb.rd: Likewise.
|
|
|
|
|
* testsuite/ld-tic6x/shlib-noindex.rd: Likewise.
|
|
|
|
|
* testsuite/ld-tic6x/static-app-1.rd: Likewise.
|
|
|
|
|
* testsuite/ld-tic6x/static-app-1b.rd: Likewise.
|
|
|
|
|
* testsuite/ld-tic6x/static-app-1r.rd: Likewise.
|
|
|
|
|
* testsuite/ld-tic6x/static-app-1rb.rd: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/tlsbin.rd: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/tlsbin2.rd: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/tlsbindesc.rd: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/tlsdesc.rd: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/tlspic.rd: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/tlspic2.rd: Likewise.
|
|
|
|
|
* testsuite/ld-xtensa/tlsbin.rd: Likewise.
|
|
|
|
|
* testsuite/ld-xtensa/tlspic.rd: Likewise.
|
|
|
|
|
|
2021-01-01 11:51:52 +08:00
|
|
|
|
2021-01-01 Nicolas Boulenguez <nicolas@debian.org>
|
|
|
|
|
|
|
|
|
|
* configure.tgt: Correct comment grammar.
|
|
|
|
|
* emultempl/m68hc1xelf.em: Likewise.
|
|
|
|
|
* ld.texi: Correct grammar.
|
|
|
|
|
|
2021-01-01 06:58:58 +08:00
|
|
|
|
2021-01-01 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
Update year range in copyright notice of all files.
|
|
|
|
|
|
2021-01-01 06:47:13 +08:00
|
|
|
|
For older changes see ChangeLog-2020
|
2016-01-01 18:44:31 +08:00
|
|
|
|
|
2021-01-01 06:47:13 +08:00
|
|
|
|
Copyright (C) 2021 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:
|