24 lines
1.0 KiB
Diff
24 lines
1.0 KiB
Diff
|
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.26.1.orig/bfd/elf32-microblaze.c binutils-2.26.1/bfd/elf32-microblaze.c
|
||
|
--- binutils-2.26.1.orig/bfd/elf32-microblaze.c 2015-11-13 09:27:40.000000000 +0100
|
||
|
+++ binutils-2.26.1/bfd/elf32-microblaze.c 2016-10-20 19:06:58.655565765 +0200
|
||
|
@@ -3296,8 +3296,8 @@
|
||
|
The entry in the global offset table will already have been
|
||
|
initialized in the relocate_section function. */
|
||
|
if (bfd_link_pic (info)
|
||
|
- && (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,
|