Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2023-08-04 | PR30697, ppc32 mix of local-dynamic and global-dynamic TLS | Alan Modra | 1 | -9/+7 | |
This fixes miscounting of dynamic relocations on GOT entries when a) there are both local-dynamic and global-dynamic tls accesss for a given symbol, and b) the symbol is global with non-default visibility, and c) the __tls_get_addr calls aren't optimised away. PR 30697 bfd/ * elf32-ppc.c (allocate_dynrelocs): Correct local-dynamic reloc count. ld/ * testsuite/ld-powerpc/tls32ldgd.d, * testsuite/ld-powerpc/tls32ldgd.s: New test. * testsuite/ld-powerpc/powerpc.exp: Run it. (cherry picked from commit ae33771224660dac25e64c3f70943a17bfab7681) | |||||
2023-01-16 | LoongArch: ld: Fix hidden ifunc symbol linker error bug. | mengqinggang | 1 | -1/+4 | |
For hidden ifunc symbols, it not have GOT entry, only have gotplt entry. When process R_LARCH_SOP_PUSH_GPREL, the offset is gotplt entry address minus GOT address. When call bfd_put_NN(got->contents + offset), the absolute value of offset is grather than got size, and other memory not belonging to GOT is be overwritten. bfd/ChangeLog: * elfnn-loongarch.c (loongarch_elf_relocate_section): If hidden ifunc symbol, don't call bfd_put_NN. | |||||
2023-01-12 | ARM: Fix ld bloat introduced between binutils-2.38 and 2.39 | Hans-Peter Nilsson | 1 | -4/+0 | |
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) | |||||
2023-01-10 | IBM zSystems: Fix offset relative to static TLS | Stefan Schulze Frielinghaus | 2 | -4/+4 | |
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) | |||||
2023-01-03 | x86-64: Allocate input section memory if needed | H.J. Lu | 1 | -2/+23 | |
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) | |||||
2023-01-01 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-12-31 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-12-30 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-12-29 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-12-28 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-12-27 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-12-26 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-12-25 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-12-24 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-12-23 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-12-22 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-12-21 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-12-20 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-12-19 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-12-18 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-12-17 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-12-16 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-12-15 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-12-14 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-12-13 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-12-12 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-12-11 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-12-10 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-12-09 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-12-08 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-12-07 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-12-06 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-12-05 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-12-04 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-12-03 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-12-02 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-12-01 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-11-30 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-11-29 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-11-28 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-11-27 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-11-26 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-11-25 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-11-24 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-11-23 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-11-22 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-11-21 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-11-20 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-11-19 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |
2022-11-18 | Automatic date update in version.in | GDB Administrator | 1 | -1/+1 | |