- Remove broken arm32-avoid-copyreloc.patch to fix [gcc#108515]
OBS-URL: https://build.opensuse.org/package/show/devel:gcc/binutils?expand=0&rev=428
This commit is contained in:
parent
2580f878fb
commit
72dd29de21
@ -1,61 +0,0 @@
|
|||||||
When a writable input section (i.e. data) refers to a symbol defined in an
|
|
||||||
ET_DYN object, BFD ld for ARM targets generates a COPY dynamic reloc. For
|
|
||||||
other targets like x86, this situation generates a plain data dynamic
|
|
||||||
reloc. Gold for ARM also generates the plain data dynamic reloc.
|
|
||||||
|
|
||||||
https://bugzilla.suse.com/show_bug.cgi?id=1200962
|
|
||||||
https://sourceware.org/bugzilla/show_bug.cgi?id=16177
|
|
||||||
|
|
||||||
---
|
|
||||||
bfd/elf32-arm.c | 25 +++++++++++++++++++------
|
|
||||||
1 file changed, 19 insertions(+), 6 deletions(-)
|
|
||||||
Index: binutils-2.39/bfd/elf32-arm.c
|
|
||||||
===================================================================
|
|
||||||
--- binutils-2.39.orig/bfd/elf32-arm.c
|
|
||||||
+++ binutils-2.39/bfd/elf32-arm.c
|
|
||||||
@@ -16196,6 +16196,21 @@ elf32_arm_adjust_dynamic_symbol (struct
|
|
||||||
if (bfd_link_pic (info) || globals->root.is_relocatable_executable)
|
|
||||||
return true;
|
|
||||||
|
|
||||||
+ /* If -z nocopyreloc was given, we won't generate them either. */
|
|
||||||
+ if (info->nocopyreloc)
|
|
||||||
+ {
|
|
||||||
+ h->non_got_ref = 0;
|
|
||||||
+ return true;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /* If we don't find any dynamic relocs in read-only sections, then
|
|
||||||
+ we'll be keeping the dynamic relocs and avoiding the copy reloc. */
|
|
||||||
+ if (!_bfd_elf_readonly_dynrelocs (h))
|
|
||||||
+ {
|
|
||||||
+ h->non_got_ref = 0;
|
|
||||||
+ return true;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
/* We must allocate the symbol in our .dynbss section, which will
|
|
||||||
become part of the .bss section of the executable. There will be
|
|
||||||
an entry for this symbol in the .dynsym section. The dynamic
|
|
||||||
@@ -16205,9 +16220,9 @@ elf32_arm_adjust_dynamic_symbol (struct
|
|
||||||
determine the address it must put in the global offset table, so
|
|
||||||
both the dynamic object and the regular object will refer to the
|
|
||||||
same memory location for the variable. */
|
|
||||||
- /* If allowed, we must generate a R_ARM_COPY reloc to tell the dynamic
|
|
||||||
- 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
|
|
||||||
+ /* We must generate a R_ARM_COPY reloc to tell the dynamic 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)
|
|
||||||
{
|
|
||||||
@@ -16219,9 +16234,7 @@ elf32_arm_adjust_dynamic_symbol (struct
|
|
||||||
s = globals->root.sdynbss;
|
|
||||||
srel = globals->root.srelbss;
|
|
||||||
}
|
|
||||||
- if (info->nocopyreloc == 0
|
|
||||||
- && (h->root.u.def.section->flags & SEC_ALLOC) != 0
|
|
||||||
- && h->size != 0)
|
|
||||||
+ if ((h->root.u.def.section->flags & SEC_ALLOC) != 0 && h->size != 0)
|
|
||||||
{
|
|
||||||
elf32_arm_allocate_dynrelocs (info, srel, 1);
|
|
||||||
h->needs_copy = 1;
|
|
@ -1,3 +1,8 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jan 24 12:52:49 UTC 2023 - Richard Biener <rguenther@suse.com>
|
||||||
|
|
||||||
|
- Remove broken arm32-avoid-copyreloc.patch to fix [gcc#108515]
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sat Dec 10 10:00:56 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
Sat Dec 10 10:00:56 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package binutils
|
# spec file for package binutils
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 SUSE LLC
|
# Copyright (c) 2023 SUSE LLC
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -125,7 +125,6 @@ Patch6: unit-at-a-time.patch
|
|||||||
Patch8: ld-relro.diff
|
Patch8: ld-relro.diff
|
||||||
Patch9: testsuite.diff
|
Patch9: testsuite.diff
|
||||||
Patch10: enable-targets-gold.diff
|
Patch10: enable-targets-gold.diff
|
||||||
Patch11: arm32-avoid-copyreloc.patch
|
|
||||||
Patch12: s390-pic-dso.diff
|
Patch12: s390-pic-dso.diff
|
||||||
Patch14: binutils-build-as-needed.diff
|
Patch14: binutils-build-as-needed.diff
|
||||||
Patch15: binutils-znow.patch
|
Patch15: binutils-znow.patch
|
||||||
@ -247,7 +246,6 @@ cp ld/ldgram.y ld/ldgram.y.orig
|
|||||||
%patch8
|
%patch8
|
||||||
%patch9
|
%patch9
|
||||||
%patch10
|
%patch10
|
||||||
%patch11 -p1
|
|
||||||
%patch12
|
%patch12
|
||||||
%patch14
|
%patch14
|
||||||
%patch15
|
%patch15
|
||||||
|
Loading…
Reference in New Issue
Block a user