3ee1976ccc
There're known issues with building glibc for ARC with vanilla Binutils 2.30. Adding a couple of not yet upstreamed patches that solve it. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> [Thomas: remove numbering in patch titles, renumber patch file names.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
43 lines
1.3 KiB
Diff
43 lines
1.3 KiB
Diff
From b182c9f81daa08cf18cd78af3e7aca74640e8551 Mon Sep 17 00:00:00 2001
|
|
From: Cupertino Miranda <cmiranda@synopsys.com>
|
|
Date: Fri, 2 Mar 2018 17:38:14 +0100
|
|
Subject: [PATCH] [ARC] Make sure global symbol is not an indirect or
|
|
warning.
|
|
|
|
Problem identified in the context of glibc with latest upstream binutils.
|
|
Dynamic symbol space was being reserved but, no actual information for the
|
|
symbol was being set. Data for the symbol was kept initialized with -1.
|
|
No easy test case was possible to be created.
|
|
|
|
bfd/
|
|
2018-03-01 Cupertino Miranda <cmiranda@synopsys.com>
|
|
|
|
* elf32-arc.c (elf_arc_check_relocs): Changed.
|
|
|
|
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
|
|
---
|
|
bfd/elf32-arc.c | 7 ++++++-
|
|
1 file changed, 6 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c
|
|
index 72b808b99127..6f6470f6f202 100644
|
|
--- a/bfd/elf32-arc.c
|
|
+++ b/bfd/elf32-arc.c
|
|
@@ -1943,7 +1943,12 @@ elf_arc_check_relocs (bfd * abfd,
|
|
if (r_symndx < symtab_hdr->sh_info) /* Is a local symbol. */
|
|
h = NULL;
|
|
else /* Global one. */
|
|
- h = sym_hashes[r_symndx - symtab_hdr->sh_info];
|
|
+ {
|
|
+ h = sym_hashes[r_symndx - symtab_hdr->sh_info];
|
|
+ while (h->root.type == bfd_link_hash_indirect
|
|
+ || h->root.type == bfd_link_hash_warning)
|
|
+ h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
|
+ }
|
|
|
|
|
|
switch (r_type)
|
|
--
|
|
2.17.1
|
|
|