diff -Naur orig/binutils-2.25.1/bfd/config.bfd binutils-2.25.1/bfd/config.bfd --- orig/binutils-2.25.1/bfd/config.bfd 2014-10-14 17:32:02.000000000 +1000 +++ binutils-2.25.1/bfd/config.bfd 2015-12-29 19:11:50.000000000 +1000 @@ -529,6 +529,10 @@ targ64_selvecs="x86_64_elf64_sol2_vec l1om_elf64_vec k1om_elf64_vec" want64=true ;; + i[3-7]86-*-quinn*) + targ_defvec=i386_elf32_vec + targ_selvecs= + ;; #ifdef BFD64 x86_64-*-solaris2*) targ_defvec=i386_elf32_sol2_vec diff -Naur orig/binutils-2.25.1/config.sub binutils-2.25.1/config.sub --- orig/binutils-2.25.1/config.sub 2014-10-14 17:32:02.000000000 +1000 +++ binutils-2.25.1/config.sub 2015-12-29 19:11:50.000000000 +1000 @@ -1364,7 +1364,7 @@ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | -sym* | -kopensolaris* | -plan9* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* \ + | -aos* | -aros* | -quinn* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ diff -Naur orig/binutils-2.25.1/gas/configure.tgt binutils-2.25.1/gas/configure.tgt --- orig/binutils-2.25.1/gas/configure.tgt 2015-07-21 18:20:58.000000000 +1000 +++ binutils-2.25.1/gas/configure.tgt 2015-12-29 19:11:50.000000000 +1000 @@ -231,6 +231,9 @@ i386-*-openbsd[0-2].* | \ i386-*-openbsd3.[0-2]) fmt=aout em=nbsd ;; i386-*-openbsd*) fmt=elf em=nbsd ;; + + i386-*-quinn*) fmt=elf;; + i386-*-linux*aout*) fmt=aout em=linux ;; i386-*-linux*oldld) fmt=aout em=linux ;; i386-*-linux*coff*) fmt=coff em=linux ;; diff -Naur orig/binutils-2.25.1/ld/configure.tgt binutils-2.25.1/ld/configure.tgt --- orig/binutils-2.25.1/ld/configure.tgt 2014-10-14 17:32:04.000000000 +1000 +++ binutils-2.25.1/ld/configure.tgt 2015-12-29 19:11:50.000000000 +1000 @@ -317,6 +317,8 @@ targ_extra_ofiles="deffilep.o pe-dll.o" ;; i[3-7]86-*-pe) targ_emul=i386pe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; +i[3-7]86-*-quinn*) targ_emul=elf_i386_quinn ; + targ_extra_emuls=elf_i386 ;; i[3-7]86-*-cygwin*) targ_emul=i386pe ; targ_extra_ofiles="deffilep.o pe-dll.o" ; test "$targ" != "$host" && LIB_PATH='${tooldir}/lib/w32api' ;; diff -Naur orig/binutils-2.25.1/ld/emulparams/elf_i386_quinn.sh binutils-2.25.1/ld/emulparams/elf_i386_quinn.sh --- orig/binutils-2.25.1/ld/emulparams/elf_i386_quinn.sh 1970-01-01 10:00:00.000000000 +1000 +++ binutils-2.25.1/ld/emulparams/elf_i386_quinn.sh 2015-12-29 19:11:50.000000000 +1000 @@ -0,0 +1,4 @@ +. ${srcdir}/emulparams/elf_i386.sh +GENERATE_SHLIB_SCRIPT=yes +GENERATE_PIE_SCRIPT=yes +TEXT_START_ADDR=0x40000000 diff -Naur orig/binutils-2.25.1/ld/Makefile.am binutils-2.25.1/ld/Makefile.am --- orig/binutils-2.25.1/ld/Makefile.am 2014-10-14 17:32:04.000000000 +1000 +++ binutils-2.25.1/ld/Makefile.am 2015-12-29 19:11:50.000000000 +1000 @@ -1255,6 +1255,10 @@ eelf_i386.c: $(srcdir)/emulparams/elf_i386.sh \ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} +eelf_i386_quinn.c: $(srcdir)/emulparams/elf_i386_quinn.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf_i386_quinn "$(tdir_elf_i386_quinn)" + eelf_i386_be.c: $(srcdir)/emulparams/elf_i386_be.sh \ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} diff -Naur orig/binutils-2.25.1/ld/Makefile.in binutils-2.25.1/ld/Makefile.in --- orig/binutils-2.25.1/ld/Makefile.in 2014-10-14 17:32:04.000000000 +1000 +++ binutils-2.25.1/ld/Makefile.in 2015-12-29 19:11:50.000000000 +1000 @@ -2696,6 +2696,10 @@ eelf_i386.c: $(srcdir)/emulparams/elf_i386.sh \ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} +eelf_i386_quinn.c: $(srcdir)/emulparams/elf_i386_quinn.sh \ + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf_i386_quinn "$(tdir_elf_i386_quinn)" + eelf_i386_be.c: $(srcdir)/emulparams/elf_i386_be.sh \ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}