mirror of
https://github.com/richfelker/musl-cross-make.git
synced 2025-03-12 01:57:00 +01:00
add patches fixing ld bug linking arm tlsdesc relocs on 64-bit host
this is binutils issue #25062. without it, cross-ld crashes linking arm programs using tlsdesc if the host is 64-bit.
This commit is contained in:
parent
684cb17061
commit
02be46d639
16
patches/binutils-2.25.1/0010-arm-tlsdesc-64bithost.diff
Normal file
16
patches/binutils-2.25.1/0010-arm-tlsdesc-64bithost.diff
Normal file
@ -0,0 +1,16 @@
|
||||
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
|
||||
index bb53e039e3..d52c046979 100644
|
||||
--- a/bfd/elf32-arm.c
|
||||
+++ b/bfd/elf32-arm.c
|
||||
@@ -12027,9 +12027,9 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto,
|
||||
unsigned long data, insn;
|
||||
unsigned thumb;
|
||||
|
||||
- data = bfd_get_32 (input_bfd, hit_data);
|
||||
+ data = bfd_get_signed_32 (input_bfd, hit_data);
|
||||
thumb = data & 1;
|
||||
- data &= ~1u;
|
||||
+ data &= ~1ul;
|
||||
|
||||
if (thumb)
|
||||
{
|
16
patches/binutils-2.27/0007-arm-tlsdesc-64bithost.diff
Normal file
16
patches/binutils-2.27/0007-arm-tlsdesc-64bithost.diff
Normal file
@ -0,0 +1,16 @@
|
||||
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
|
||||
index bb53e039e3..d52c046979 100644
|
||||
--- a/bfd/elf32-arm.c
|
||||
+++ b/bfd/elf32-arm.c
|
||||
@@ -12027,9 +12027,9 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto,
|
||||
unsigned long data, insn;
|
||||
unsigned thumb;
|
||||
|
||||
- data = bfd_get_32 (input_bfd, hit_data);
|
||||
+ data = bfd_get_signed_32 (input_bfd, hit_data);
|
||||
thumb = data & 1;
|
||||
- data &= ~1u;
|
||||
+ data &= ~1ul;
|
||||
|
||||
if (thumb)
|
||||
{
|
16
patches/binutils-2.32/0003-arm-tlsdesc-64bithost.diff
Normal file
16
patches/binutils-2.32/0003-arm-tlsdesc-64bithost.diff
Normal file
@ -0,0 +1,16 @@
|
||||
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
|
||||
index bb53e039e3..d52c046979 100644
|
||||
--- a/bfd/elf32-arm.c
|
||||
+++ b/bfd/elf32-arm.c
|
||||
@@ -12027,9 +12027,9 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto,
|
||||
unsigned long data, insn;
|
||||
unsigned thumb;
|
||||
|
||||
- data = bfd_get_32 (input_bfd, hit_data);
|
||||
+ data = bfd_get_signed_32 (input_bfd, hit_data);
|
||||
thumb = data & 1;
|
||||
- data &= ~1u;
|
||||
+ data &= ~1ul;
|
||||
|
||||
if (thumb)
|
||||
{
|
Loading…
Reference in New Issue
Block a user