Merge pull request #194253 from yu-re-ka/binutils-drop-arm-patch

This commit is contained in:
Bernardo Meurer
2022-10-03 22:26:43 -03:00
committed by GitHub
4 changed files with 0 additions and 74 deletions
@@ -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: