add binutils patch to fix broken arm LD/GD TLS relocs in static PIE
this is the same issue fixed for mips in 0004-mips-pie-tls.diff for 2.27, upstream in 2.32.
This commit is contained in:
parent
5fd2126e13
commit
c9ac08753a
|
@ -0,0 +1,20 @@
|
||||||
|
--- binutils-2.25.1/bfd/elf32-arm.c.orig 2019-10-02 10:41:56.188034263 -0400
|
||||||
|
+++ binutils-2.25.1/bfd/elf32-arm.c 2019-10-02 10:42:45.553394647 -0400
|
||||||
|
@@ -9493,7 +9493,7 @@
|
||||||
|
{
|
||||||
|
/* If we don't know the module number, create a relocation
|
||||||
|
for it. */
|
||||||
|
- if (info->shared)
|
||||||
|
+ if (!info->executable)
|
||||||
|
{
|
||||||
|
Elf_Internal_Rela outrel;
|
||||||
|
|
||||||
|
@@ -9581,7 +9581,7 @@
|
||||||
|
now, and emit any relocations. If both an IE GOT and a
|
||||||
|
GD GOT are necessary, we emit the GD first. */
|
||||||
|
|
||||||
|
- if ((info->shared || indx != 0)
|
||||||
|
+ if ((!info->executable || indx != 0)
|
||||||
|
&& (h == NULL
|
||||||
|
|| ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
|
||||||
|
|| h->root.type != bfd_link_hash_undefweak))
|
|
@ -0,0 +1,20 @@
|
||||||
|
--- binutils-2.32/bfd/elf32-arm.c.orig 2019-10-02 07:47:36.153918869 -0400
|
||||||
|
+++ binutils-2.32/bfd/elf32-arm.c 2019-10-02 08:37:09.108263016 -0400
|
||||||
|
@@ -11624,7 +11624,7 @@
|
||||||
|
{
|
||||||
|
/* If we don't know the module number, create a relocation
|
||||||
|
for it. */
|
||||||
|
- if (bfd_link_pic (info))
|
||||||
|
+ if (bfd_link_dll (info))
|
||||||
|
{
|
||||||
|
Elf_Internal_Rela outrel;
|
||||||
|
|
||||||
|
@@ -11728,7 +11728,7 @@
|
||||||
|
now, and emit any relocations. If both an IE GOT and a
|
||||||
|
GD GOT are necessary, we emit the GD first. */
|
||||||
|
|
||||||
|
- if ((bfd_link_pic (info) || indx != 0)
|
||||||
|
+ if ((bfd_link_dll (info) || indx != 0)
|
||||||
|
&& (h == NULL
|
||||||
|
|| (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
|
||||||
|
&& !resolved_to_zero)
|
|
@ -0,0 +1,20 @@
|
||||||
|
--- binutils-2.32/bfd/elf32-arm.c.orig 2019-10-02 07:47:36.153918869 -0400
|
||||||
|
+++ binutils-2.32/bfd/elf32-arm.c 2019-10-02 08:37:09.108263016 -0400
|
||||||
|
@@ -11624,7 +11624,7 @@
|
||||||
|
{
|
||||||
|
/* If we don't know the module number, create a relocation
|
||||||
|
for it. */
|
||||||
|
- if (bfd_link_pic (info))
|
||||||
|
+ if (bfd_link_dll (info))
|
||||||
|
{
|
||||||
|
Elf_Internal_Rela outrel;
|
||||||
|
|
||||||
|
@@ -11728,7 +11728,7 @@
|
||||||
|
now, and emit any relocations. If both an IE GOT and a
|
||||||
|
GD GOT are necessary, we emit the GD first. */
|
||||||
|
|
||||||
|
- if ((bfd_link_pic (info) || indx != 0)
|
||||||
|
+ if ((bfd_link_dll (info) || indx != 0)
|
||||||
|
&& (h == NULL
|
||||||
|
|| (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
|
||||||
|
&& !resolved_to_zero)
|
Loading…
Reference in New Issue