summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/binutils/binutils/0017-Do-not-emit-R_RISCV_NONE-reloc-in-the-extra-unused-r.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/binutils/binutils/0017-Do-not-emit-R_RISCV_NONE-reloc-in-the-extra-unused-r.patch')
-rw-r--r--meta/recipes-devtools/binutils/binutils/0017-Do-not-emit-R_RISCV_NONE-reloc-in-the-extra-unused-r.patch42
1 files changed, 42 insertions, 0 deletions
diff --git a/meta/recipes-devtools/binutils/binutils/0017-Do-not-emit-R_RISCV_NONE-reloc-in-the-extra-unused-r.patch b/meta/recipes-devtools/binutils/binutils/0017-Do-not-emit-R_RISCV_NONE-reloc-in-the-extra-unused-r.patch
new file mode 100644
index 0000000000..99bb38eb67
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils/0017-Do-not-emit-R_RISCV_NONE-reloc-in-the-extra-unused-r.patch
@@ -0,0 +1,42 @@
1From 5b61c40c34c3db699de723c3128ba704501ccdac Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 20 Apr 2020 14:23:57 -0700
4Subject: [PATCH 17/17] Do not emit R_RISCV_NONE reloc in the extra unused
5 reloc space.
6
7Redundant R_RISCV_DTPMOD* R_RISCV_DTPREL* results from Global Dynamic -> Local Exec relaxation
8which generates
9
10Patch from https://sourceware.org/bugzilla/show_bug.cgi?id=24673
11
12Upstream-Status: Pending
13
14Signed-off-by: Khem Raj <raj.khem@gmail.com>
15---
16 bfd/elfnn-riscv.c | 5 +++--
17 1 file changed, 3 insertions(+), 2 deletions(-)
18
19diff --git a/bfd/elfnn-riscv.c b/bfd/elfnn-riscv.c
20index a5fa415309a..1e582052aa9 100644
21--- a/bfd/elfnn-riscv.c
22+++ b/bfd/elfnn-riscv.c
23@@ -2090,13 +2090,14 @@ riscv_elf_relocate_section (bfd *output_bfd,
24 pic = bfd_link_pic (info);
25
26 if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, pic, h)
27- && (!pic || !SYMBOL_REFERENCES_LOCAL (info, h)))
28+ && (bfd_link_dll (info)
29+ || !SYMBOL_REFERENCES_LOCAL (info, h)))
30 indx = h->dynindx;
31 }
32
33 /* The GOT entries have not been initialized yet. Do it
34 now, and emit any relocations. */
35- if ((bfd_link_pic (info) || indx != 0)
36+ if ((bfd_link_dll (info) || indx != 0)
37 && (h == NULL
38 || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
39 || h->root.type != bfd_link_hash_undefweak))
40--
412.28.0
42