]>
git.ipfire.org Git - thirdparty/binutils-gdb.git/log
Hans-Peter Nilsson [Tue, 3 Jan 2023 02:19:54 +0000 (03:19 +0100)]
ARM: Fix ld bloat introduced between binutils-2.38 and 2.39
Since commit
9833b7757d24 , "PR28824, relro security issues",
ELF_MAXPAGESIZE matters much more, with regards to layout of
the linked file. That commit fixed an actual bug, but also
exposes a problem for targets were that value is too high.
For example, for ARM(32, a.k.a. "Aarch32") specifically
bfd_arch_arm, it's set to 64 KiB, making all Linux(/GNU)
targets pay an extra amount of up to 60 KiB of bloat in
DSO:s and executables. This matters when there are many
such files, and where storage is expensive.
It's *mostly* bloat when using a Linux kernel, as ARM(32) is
a good example of an target where ELF_MAXPAGESIZE is set to
an extreme value for an obscure corner-case. The ARM
(32-bit) kernel has 4 KiB pages, has had that value forever,
and can't be configured to any other value. The use-case is
IIUC "Aarch32" emulation on an "Aarch64" (arm64) kernel, but
not just that, but a setup where the Linux page-size is
configured to something other than the *default* 4 KiB. Not
sure there actually any such systems in use, again with
both Aarch32 compatibility support and a non-4KiB pagesize,
with all the warnings in the kernel config and requiring the
"EXPERT" level set on.
So, let's do like x86-64 in
a2267dbfc9e1 "x86-64: Use only
one default max-page-size" and set ELF_MAXPAGESIZE to 4096.
bfd:
* elf32-arm.c (ELF_MAXPAGESIZE): Always set to 0x1000.
(cherry picked from commit
1a26a53a0dee39106ba58fcb15496c5f13074652 )
Hans-Peter Nilsson [Wed, 11 Jan 2023 15:34:04 +0000 (16:34 +0100)]
ld/testsuite: Adjust for ELF_MAXPAGESIZE 0x1000
Many tests reflect a setting of ELF_MAXPAGESIZE to 64 KiB.
With ELF_MAXPAGESIZE changed to 4 KiB, layout is sometimes
different and symbols end up in other places. Avoid churn
and regexpification of old test patterns by passing the
max-page-size setting active at the time.
ld/testsuite:
* testsuite/ld-arm/arm-elf.exp,
testsuite/ld-arm/non-contiguous-arm2.d,
testsuite/ld-arm/non-contiguous-arm3.d,
testsuite/ld-arm/non-contiguous-arm5.d,
testsuite/ld-arm/non-contiguous-arm6.d,
testsuite/ld-arm/thumb-plt-got.d, testsuite/ld-arm/thumb-plt.d:
Pass -z max-page-size=0x10000 explicitly to test that rely on
that value in output-matching patterns.
Stefan Schulze Frielinghaus [Tue, 10 Jan 2023 13:53:20 +0000 (14:53 +0100)]
IBM zSystems: Fix offset relative to static TLS
For local exec TLS relocations of the form foo@NTPOFF+x the addend was
ignored.
bfd/ChangeLog:
* elf32-s390.c (elf_s390_relocate_section): Honor addend for
R_390_TLS_LE32.
* elf64-s390.c (elf_s390_relocate_section): Honor addend for
R_390_TLS_LE64.
ld/ChangeLog:
* testsuite/ld-s390/reloctlsle-1.d: New test.
* testsuite/ld-s390/reloctlsle-1.s: New test.
(cherry picked from commit
aefebe82dc89711384b85329daa48d04c1d3a45b )
H.J. Lu [Tue, 27 Dec 2022 19:41:11 +0000 (11:41 -0800)]
x86-64: Allocate input section memory if needed
When --no-keep-memory is used, the input section memory may not be cached.
Allocate input section memory for -z pack-relative-relocs if needed.
bfd/
PR ld/29939
* elfxx-x86.c (elf_x86_size_or_finish_relative_reloc): Allocate
input section memory if needed.
ld/
PR ld/29939
* testsuite/ld-elf/dt-relr-2i.d: New test.
(cherry picked from commit
9eb71a53bf36a370e21a6fbbb21e2726f64b0fd0 )
GDB Administrator [Sun, 1 Jan 2023 00:00:53 +0000 (00:00 +0000)]
Automatic date update in version.in
GDB Administrator [Sat, 31 Dec 2022 00:01:15 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Fri, 30 Dec 2022 00:01:15 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Thu, 29 Dec 2022 00:01:22 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Wed, 28 Dec 2022 00:01:31 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Tue, 27 Dec 2022 00:01:28 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Mon, 26 Dec 2022 00:00:57 +0000 (00:00 +0000)]
Automatic date update in version.in
GDB Administrator [Sun, 25 Dec 2022 00:01:16 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Sat, 24 Dec 2022 00:01:00 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Fri, 23 Dec 2022 00:03:35 +0000 (00:03 +0000)]
Automatic date update in version.in
GDB Administrator [Thu, 22 Dec 2022 00:02:20 +0000 (00:02 +0000)]
Automatic date update in version.in
GDB Administrator [Wed, 21 Dec 2022 00:01:50 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Tue, 20 Dec 2022 00:01:42 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Mon, 19 Dec 2022 00:02:09 +0000 (00:02 +0000)]
Automatic date update in version.in
GDB Administrator [Sun, 18 Dec 2022 00:02:19 +0000 (00:02 +0000)]
Automatic date update in version.in
GDB Administrator [Sat, 17 Dec 2022 00:03:01 +0000 (00:03 +0000)]
Automatic date update in version.in
GDB Administrator [Fri, 16 Dec 2022 00:01:44 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Thu, 15 Dec 2022 00:02:33 +0000 (00:02 +0000)]
Automatic date update in version.in
GDB Administrator [Wed, 14 Dec 2022 00:09:02 +0000 (00:09 +0000)]
Automatic date update in version.in
GDB Administrator [Tue, 13 Dec 2022 00:01:31 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Mon, 12 Dec 2022 00:01:59 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Sun, 11 Dec 2022 00:01:11 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Sat, 10 Dec 2022 00:01:48 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Fri, 9 Dec 2022 00:03:33 +0000 (00:03 +0000)]
Automatic date update in version.in
GDB Administrator [Thu, 8 Dec 2022 00:01:23 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Wed, 7 Dec 2022 00:01:52 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Tue, 6 Dec 2022 00:01:23 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Mon, 5 Dec 2022 00:01:00 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Sun, 4 Dec 2022 00:01:51 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Sat, 3 Dec 2022 00:01:24 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Fri, 2 Dec 2022 00:02:32 +0000 (00:02 +0000)]
Automatic date update in version.in
GDB Administrator [Thu, 1 Dec 2022 00:01:39 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Wed, 30 Nov 2022 00:01:48 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Tue, 29 Nov 2022 00:01:18 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Mon, 28 Nov 2022 00:01:09 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Sun, 27 Nov 2022 00:01:06 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Sat, 26 Nov 2022 00:01:57 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Fri, 25 Nov 2022 00:01:59 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Thu, 24 Nov 2022 00:02:26 +0000 (00:02 +0000)]
Automatic date update in version.in
GDB Administrator [Wed, 23 Nov 2022 00:01:41 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Tue, 22 Nov 2022 00:01:32 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Mon, 21 Nov 2022 00:01:33 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Sun, 20 Nov 2022 00:02:53 +0000 (00:02 +0000)]
Automatic date update in version.in
GDB Administrator [Sat, 19 Nov 2022 00:01:51 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Fri, 18 Nov 2022 00:01:47 +0000 (00:01 +0000)]
Automatic date update in version.in
Victor Do Nascimento [Thu, 17 Nov 2022 14:48:37 +0000 (14:48 +0000)]
arm: Use DWARF numbering convention for pseudo-register representation
The patch, initially submitted to trunk in
https://sourceware.org/pipermail/binutils/2022-July/122092.html ensures correct
support for handling .save directives for mixed-register type lists involving
the ra_auth_code pseudo-register, whereby the support first introduced in 2.39
(https://sourceware.org/pipermail/binutils/2022-May/120672.html) led to the
generation of unwinder code popping registers in reversed order.
gas/Changelog:
* config/tc-arm.c (REG_RA_AUTH_CODE): New.
(parse_dot_save): Likewise.
(parse_reg_list): Remove obsolete code.
(reg_names): Set ra_auth_code to 143.
(s_arm_unwind_save): Handle core and pseudo-register lists via
parse_dot_save.
(s_arm_unwind_save_mixed): Deleted.
(s_arm_unwind_save_pseudo): Handle one register at a time.
* testsuite/gas/arm/unwind-pacbti-m-readelf.d: Fix test.
* testsuite/gas/arm/unwind-pacbti-m.d: Likewise.
(cherry picked from commit
3a368c4c248f6e9f4bda3a5369befa17a4560293 )
GDB Administrator [Thu, 17 Nov 2022 00:01:34 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Wed, 16 Nov 2022 00:01:13 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Tue, 15 Nov 2022 00:01:20 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Mon, 14 Nov 2022 00:01:31 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Sun, 13 Nov 2022 00:01:13 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Sat, 12 Nov 2022 00:01:16 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Fri, 11 Nov 2022 00:01:45 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Thu, 10 Nov 2022 00:01:52 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Wed, 9 Nov 2022 00:01:29 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Tue, 8 Nov 2022 00:01:48 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Mon, 7 Nov 2022 00:01:20 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Sun, 6 Nov 2022 00:01:31 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Sat, 5 Nov 2022 00:01:19 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Fri, 4 Nov 2022 00:01:11 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Thu, 3 Nov 2022 00:00:57 +0000 (00:00 +0000)]
Automatic date update in version.in
GDB Administrator [Wed, 2 Nov 2022 00:00:57 +0000 (00:00 +0000)]
Automatic date update in version.in
GDB Administrator [Tue, 1 Nov 2022 00:01:10 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Mon, 31 Oct 2022 00:00:50 +0000 (00:00 +0000)]
Automatic date update in version.in
GDB Administrator [Sun, 30 Oct 2022 00:00:55 +0000 (00:00 +0000)]
Automatic date update in version.in
GDB Administrator [Sat, 29 Oct 2022 00:01:03 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Fri, 28 Oct 2022 00:00:48 +0000 (00:00 +0000)]
Automatic date update in version.in
GDB Administrator [Thu, 27 Oct 2022 00:01:15 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Wed, 26 Oct 2022 00:01:07 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Tue, 25 Oct 2022 00:01:10 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Mon, 24 Oct 2022 00:01:08 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Sun, 23 Oct 2022 00:00:38 +0000 (00:00 +0000)]
Automatic date update in version.in
GDB Administrator [Sat, 22 Oct 2022 00:00:59 +0000 (00:00 +0000)]
Automatic date update in version.in
GDB Administrator [Fri, 21 Oct 2022 00:00:38 +0000 (00:00 +0000)]
Automatic date update in version.in
GDB Administrator [Thu, 20 Oct 2022 00:00:58 +0000 (00:00 +0000)]
Automatic date update in version.in
GDB Administrator [Wed, 19 Oct 2022 00:00:51 +0000 (00:00 +0000)]
Automatic date update in version.in
GDB Administrator [Tue, 18 Oct 2022 00:00:39 +0000 (00:00 +0000)]
Automatic date update in version.in
GDB Administrator [Mon, 17 Oct 2022 00:01:06 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Sun, 16 Oct 2022 00:01:23 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Sat, 15 Oct 2022 00:01:44 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Fri, 14 Oct 2022 00:02:43 +0000 (00:02 +0000)]
Automatic date update in version.in
GDB Administrator [Thu, 13 Oct 2022 00:01:40 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Wed, 12 Oct 2022 00:01:11 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Tue, 11 Oct 2022 00:02:50 +0000 (00:02 +0000)]
Automatic date update in version.in
GDB Administrator [Mon, 10 Oct 2022 00:00:47 +0000 (00:00 +0000)]
Automatic date update in version.in
GDB Administrator [Sun, 9 Oct 2022 00:01:18 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Sat, 8 Oct 2022 00:00:49 +0000 (00:00 +0000)]
Automatic date update in version.in
GDB Administrator [Fri, 7 Oct 2022 00:01:03 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Thu, 6 Oct 2022 00:01:36 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Wed, 5 Oct 2022 00:01:20 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Tue, 4 Oct 2022 00:01:17 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Mon, 3 Oct 2022 00:00:44 +0000 (00:00 +0000)]
Automatic date update in version.in
GDB Administrator [Sun, 2 Oct 2022 00:00:50 +0000 (00:00 +0000)]
Automatic date update in version.in
GDB Administrator [Sat, 1 Oct 2022 00:00:59 +0000 (00:00 +0000)]
Automatic date update in version.in
GDB Administrator [Fri, 30 Sep 2022 00:01:15 +0000 (00:01 +0000)]
Automatic date update in version.in
GDB Administrator [Thu, 29 Sep 2022 00:01:26 +0000 (00:01 +0000)]
Automatic date update in version.in