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))