forked from NixOS/nixpkgs
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
binutils: patch to fix https://sourceware.org/bugzilla/show_bug.cgi?i…
…d=16177 Nick Clifton's patch from https://sourceware.org/bugzilla/show_bug.cgi?id=16177
- Loading branch information
1 parent
43788d3
commit 14efdb2
Showing
2 changed files
with
31 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
@@ -, +, @@ | ||
--- | ||
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); | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters