mirror of
https://github.com/richfelker/musl-cross-make.git
synced 2025-03-10 00:56:59 +01:00
fix inverted setting of sh fdpic flag by binutils
the behavior by bfd/ld matched the ABI document but was the opposite of the kernel's interpretation and opposite of how ld treats the flag on every other target using fdpic. see this thread for details: https://sourceware.org/ml/binutils/2015-09/msg00186.html
This commit is contained in:
parent
8d226d0ff6
commit
72b4cdc7e2
21
patches/binutils-2.25.1/0004-shfdpicflag.diff
Normal file
21
patches/binutils-2.25.1/0004-shfdpicflag.diff
Normal file
@ -0,0 +1,21 @@
|
||||
diff -ur binutils-2.25.1.orig/bfd/elf32-sh.c binutils-2.25.1/bfd/elf32-sh.c
|
||||
--- binutils-2.25.1.orig/bfd/elf32-sh.c 2015-09-03 21:52:17.000000000 +0000
|
||||
+++ binutils-2.25.1/bfd/elf32-sh.c 2015-09-14 17:08:48.114426847 +0000
|
||||
@@ -5487,7 +5487,7 @@
|
||||
input_bfd, input_section, rel->r_offset, symname);
|
||||
}
|
||||
|
||||
- elf_elfheader (output_bfd)->e_flags &= ~EF_SH_PIC;
|
||||
+ elf_elfheader (output_bfd)->e_flags |= EF_SH_PIC;
|
||||
}
|
||||
|
||||
if (r != bfd_reloc_ok)
|
||||
@@ -6644,7 +6644,7 @@
|
||||
elf_elfheader (obfd)->e_flags = elf_elfheader (ibfd)->e_flags;
|
||||
sh_elf_set_mach_from_flags (obfd);
|
||||
if (elf_elfheader (obfd)->e_flags & EF_SH_FDPIC)
|
||||
- elf_elfheader (obfd)->e_flags |= EF_SH_PIC;
|
||||
+ elf_elfheader (obfd)->e_flags &= ~EF_SH_PIC;
|
||||
}
|
||||
|
||||
if (! sh_merge_bfd_arch (ibfd, obfd))
|
Loading…
Reference in New Issue
Block a user