summaryrefslogtreecommitdiffstats
path: root/package/binutils/2.25.1/800-microblaze-musl.patch
blob: 34e69fd5480b304717d72209ea89defb55fd41d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Fix the genetation of GOT entries for the Microblaze target.

PR target/19516
* elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol):
Always produce a RELATIVE reloc for a local symbol.

[Taken from https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=47993b4af18c6ef1cad300f6393bf896d3cb5e5c.]
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>

diff -Nur binutils-2.25.1.orig/bfd/elf32-microblaze.c binutils-2.25.1/bfd/elf32-microblaze.c
--- binutils-2.25.1.orig/bfd/elf32-microblaze.c	2015-07-21 10:20:58.000000000 +0200
+++ binutils-2.25.1/bfd/elf32-microblaze.c	2016-02-14 11:38:45.822387506 +0100
@@ -3293,8 +3293,7 @@
          The entry in the global offset table will already have been
          initialized in the relocate_section function.  */
       if (info->shared
-          && (info->symbolic || h->dynindx == -1)
-          && h->def_regular)
+          && ((info->symbolic && h->def_regular) || h->dynindx == -1))
         {
           asection *sec = h->root.u.def.section;
           microblaze_elf_output_dynamic_relocation (output_bfd,
OpenPOWER on IntegriCloud