Merge pull request #194253 from yu-re-ka/binutils-drop-arm-patch
This commit is contained in:
@@ -1,29 +0,0 @@
|
||||
@@ -, +, @@
|
||||
---
|
||||
bfd/elf32-arm.c | 8 +++++++-
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
--- a/bfd/elf32-arm.c
|
||||
+++ a/bfd/elf32-arm.c
|
||||
@@ -15398,7 +15398,11 @@ elf32_arm_adjust_dynamic_symbol (struct bfd_link_info * info,
|
||||
linker to copy the initial value out of the dynamic object and into
|
||||
the runtime process image. We need to remember the offset into the
|
||||
.rel(a).bss section we are going to use. */
|
||||
- if ((h->root.u.def.section->flags & SEC_READONLY) != 0)
|
||||
+ if (info->nocopyreloc == 0
|
||||
+ && (h->root.u.def.section->flags & SEC_ALLOC) != 0
|
||||
+ /* PR 16177: A copy is only needed if the input section is readonly. */
|
||||
+ && (h->root.u.def.section->flags & SEC_READONLY) != 0
|
||||
+ && h->size != 0)
|
||||
{
|
||||
s = globals->root.sdynrelro;
|
||||
srel = globals->root.sreldynrelro;
|
||||
@@ -15410,6 +15414,8 @@ elf32_arm_adjust_dynamic_symbol (struct bfd_link_info * info,
|
||||
}
|
||||
if (info->nocopyreloc == 0
|
||||
&& (h->root.u.def.section->flags & SEC_ALLOC) != 0
|
||||
+ /* PR 16177: A copy is only needed if the input section is readonly. */
|
||||
+ && (h->root.u.def.section->flags & SEC_READONLY) != 0
|
||||
&& h->size != 0)
|
||||
{
|
||||
elf32_arm_allocate_dynrelocs (info, srel, 1);
|
||||
|
||||
@@ -90,14 +90,6 @@ stdenv.mkDerivation {
|
||||
./deterministic-temp-prefixes.patch
|
||||
]
|
||||
++ lib.optional targetPlatform.isiOS ./support-ios.patch
|
||||
# This patch was suggested by Nick Clifton to fix
|
||||
# https://sourceware.org/bugzilla/show_bug.cgi?id=16177
|
||||
# It can be removed when that 7-year-old bug is closed.
|
||||
# This binutils bug causes GHC to emit broken binaries on armv7, and indeed
|
||||
# GHC will refuse to compile with a binutils suffering from it. See this
|
||||
# comment for more information:
|
||||
# https://gitlab.haskell.org/ghc/ghc/issues/4210#note_78333
|
||||
++ lib.optional (targetPlatform.isAarch32 && hostPlatform.system != targetPlatform.system) ./R_ARM_COPY.patch
|
||||
++ lib.optional stdenv.targetPlatform.isWindows ./windres-locate-gcc.patch
|
||||
++ lib.optional stdenv.targetPlatform.isMips64n64
|
||||
# this patch is from debian:
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
@@ -, +, @@
|
||||
---
|
||||
bfd/elf32-arm.c | 8 +++++++-
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
--- a/bfd/elf32-arm.c
|
||||
+++ a/bfd/elf32-arm.c
|
||||
@@ -15398,7 +15398,11 @@ elf32_arm_adjust_dynamic_symbol (struct bfd_link_info * info,
|
||||
linker to copy the initial value out of the dynamic object and into
|
||||
the runtime process image. We need to remember the offset into the
|
||||
.rel(a).bss section we are going to use. */
|
||||
- if ((h->root.u.def.section->flags & SEC_READONLY) != 0)
|
||||
+ if (info->nocopyreloc == 0
|
||||
+ && (h->root.u.def.section->flags & SEC_ALLOC) != 0
|
||||
+ /* PR 16177: A copy is only needed if the input section is readonly. */
|
||||
+ && (h->root.u.def.section->flags & SEC_READONLY) != 0
|
||||
+ && h->size != 0)
|
||||
{
|
||||
s = globals->root.sdynrelro;
|
||||
srel = globals->root.sreldynrelro;
|
||||
@@ -15410,6 +15414,8 @@ elf32_arm_adjust_dynamic_symbol (struct bfd_link_info * info,
|
||||
}
|
||||
if (info->nocopyreloc == 0
|
||||
&& (h->root.u.def.section->flags & SEC_ALLOC) != 0
|
||||
+ /* PR 16177: A copy is only needed if the input section is readonly. */
|
||||
+ && (h->root.u.def.section->flags & SEC_READONLY) != 0
|
||||
&& h->size != 0)
|
||||
{
|
||||
elf32_arm_allocate_dynrelocs (info, srel, 1);
|
||||
|
||||
@@ -93,14 +93,6 @@ stdenv.mkDerivation {
|
||||
./gas-dwarf-zero-PR29451.patch
|
||||
]
|
||||
++ lib.optional targetPlatform.isiOS ./support-ios.patch
|
||||
# This patch was suggested by Nick Clifton to fix
|
||||
# https://sourceware.org/bugzilla/show_bug.cgi?id=16177
|
||||
# It can be removed when that 7-year-old bug is closed.
|
||||
# This binutils bug causes GHC to emit broken binaries on armv7, and indeed
|
||||
# GHC will refuse to compile with a binutils suffering from it. See this
|
||||
# comment for more information:
|
||||
# https://gitlab.haskell.org/ghc/ghc/issues/4210#note_78333
|
||||
++ lib.optional (targetPlatform.isAarch32 && hostPlatform.system != targetPlatform.system) ./R_ARM_COPY.patch
|
||||
++ lib.optional stdenv.targetPlatform.isWindows ./windres-locate-gcc.patch
|
||||
++ lib.optional stdenv.targetPlatform.isMips64n64
|
||||
# this patch is from debian:
|
||||
|
||||
Reference in New Issue
Block a user