Patch from Rich Felker From here: https://github.com/richfelker/musl-cross-make/blob/master/patches/binutils-2.25.1/0003-shemuls.diff Required to build sh2 big endian toolchain. diff -Nur binutils-2.25.1.orig/bfd/config.bfd binutils-2.25.1/bfd/config.bfd --- binutils-2.25.1.orig/bfd/config.bfd 2014-10-14 09:32:02.000000000 +0200 +++ binutils-2.25.1/bfd/config.bfd 2015-12-06 15:17:26.703094863 +0100 @@ -1370,6 +1370,7 @@ sh-*-linux*) targ_defvec=sh_elf32_linux_be_vec targ_selvecs="sh_elf32_linux_vec sh64_elf32_linux_vec sh64_elf32_linux_be_vec sh64_elf64_linux_vec sh64_elf64_linux_be_vec" + targ_selvecs="${targ_selvecs} sh_elf32_vec sh_elf32_le_vec sh_elf32_fdpic_le_vec sh_elf32_fdpic_be_vec" want64=true ;; #endif /* BFD64 */ @@ -1377,10 +1378,12 @@ sh*eb-*-linux*) targ_defvec=sh_elf32_linux_be_vec targ_selvecs=sh_elf32_linux_vec + targ_selvecs="${targ_selvecs} sh_elf32_vec sh_elf32_le_vec sh_elf32_fdpic_le_vec sh_elf32_fdpic_be_vec" ;; sh*-*-linux*) targ_defvec=sh_elf32_linux_vec targ_selvecs=sh_elf32_linux_be_vec + targ_selvecs="${targ_selvecs} sh_elf32_vec sh_elf32_le_vec sh_elf32_fdpic_le_vec sh_elf32_fdpic_be_vec" ;; sh-*-uclinux* | sh[12]-*-uclinux*) diff -Nur binutils-2.25.1.orig/ld/configure.tgt binutils-2.25.1/ld/configure.tgt --- binutils-2.25.1.orig/ld/configure.tgt 2014-10-14 09:32:04.000000000 +0200 +++ binutils-2.25.1/ld/configure.tgt 2015-12-06 15:17:26.723094193 +0100 @@ -623,15 +623,17 @@ score-*-elf) targ_emul=score7_elf targ_extra_emuls=score3_elf ;; sh-*-linux*) targ_emul=shlelf_linux - targ_extra_emuls=shelf_linux + targ_extra_emuls="shelf_linux shlelf_fd shelf_fd shlelf shelf" targ_extra_libpath=shelf_linux ;; sh64eb-*-linux*) targ_emul=shelf32_linux targ_extra_emuls="shlelf32_linux" ;; sh64-*-linux*) targ_emul=shlelf32_linux targ_extra_emuls="shelf32_linux" targ_extra_libpath=shelf32_linux ;; -sh*eb-*-linux*) targ_emul=shelf_linux ;; -sh*-*-linux*) targ_emul=shlelf_linux ;; +sh*eb-*-linux*) targ_emul=shelf_linux + targ_extra_emuls="shelf_fd shelf" ;; +sh*-*-linux*) targ_emul=shlelf_linux + targ_extra_emuls="shlelf_fd shlelf" ;; sh5le-*-netbsd*) targ_emul=shlelf32_nbsd targ_extra_emuls="shelf32_nbsd shelf64_nbsd shlelf64_nbsd shelf_nbsd shlelf_nbsd" ;; sh5-*-netbsd*) targ_emul=shelf32_nbsd