1diff -rNU3 dist.nbsd/bfd/config.bfd dist/bfd/config.bfd 2--- dist.nbsd/bfd/config.bfd 2014-02-17 14:34:49.407022105 +0100 3+++ dist/bfd/config.bfd 2014-02-17 16:13:26.634958919 +0100 4@@ -316,7 +316,7 @@ 5 ;; 6 arm-*-elf | arm-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \ 7 arm*-*-uclinux* | arm-*-kfreebsd*-gnu | \ 8- arm*-*-eabi* ) 9+ arm*-*-eabi* | arm*-*-minix*) 10 targ_defvec=bfd_elf32_littlearm_vec 11 targ_selvecs=bfd_elf32_bigarm_vec 12 ;; 13@@ -711,6 +711,9 @@ 14 i[3-7]86-none-*) 15 targ_defvec=i386coff_vec 16 ;; 17+ i[3-7]86-*-minix) 18+ targ_defvec=bfd_elf32_i386_minix_vec 19+ ;; 20 i[3-7]86-*-aout* | i[3-7]86*-*-vsta*) 21 targ_defvec=i386aout_vec 22 ;; 23diff -rNU3 dist.nbsd/bfd/configure dist/bfd/configure 24--- dist.nbsd/bfd/configure 2014-02-17 14:34:49.413688892 +0100 25+++ dist/bfd/configure 2014-02-17 16:13:26.638292303 +0100 26@@ -15232,6 +15232,7 @@ 27 bfd_elf32_i370_vec) tb="$tb elf32-i370.lo elf32.lo $elf" ;; 28 bfd_elf32_i386_sol2_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; 29 bfd_elf32_i386_freebsd_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; 30+ bfd_elf32_i386_minix_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; 31 bfd_elf32_i386_nacl_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; 32 bfd_elf32_i386_vxworks_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; 33 bfd_elf32_i386_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; 34diff -rNU3 dist.nbsd/bfd/configure.in dist/bfd/configure.in 35--- dist.nbsd/bfd/configure.in 2014-02-17 14:34:49.393688529 +0100 36+++ dist/bfd/configure.in 2014-02-17 16:13:26.638292303 +0100 37@@ -724,6 +724,7 @@ 38 bfd_elf32_i370_vec) tb="$tb elf32-i370.lo elf32.lo $elf" ;; 39 bfd_elf32_i386_sol2_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; 40 bfd_elf32_i386_freebsd_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; 41+ bfd_elf32_i386_minix_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; 42 bfd_elf32_i386_nacl_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; 43 bfd_elf32_i386_vxworks_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; 44 bfd_elf32_i386_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; 45diff -rNU3 dist.nbsd/bfd/elf32-i386.c dist/bfd/elf32-i386.c 46--- dist.nbsd/bfd/elf32-i386.c 2014-02-17 14:34:49.393688529 +0100 47+++ dist/bfd/elf32-i386.c 2014-02-17 16:13:26.644959071 +0100 48@@ -4979,6 +4979,18 @@ 49 50 #include "elf32-target.h" 51 52+/* MINIX3 support. */ 53+ 54+#undef TARGET_LITTLE_SYM 55+#define TARGET_LITTLE_SYM bfd_elf32_i386_minix_vec 56+#undef TARGET_LITTLE_NAME 57+#define TARGET_LITTLE_NAME "elf32-i386-minix" 58+ 59+#undef elf32_bed 60+#define elf32_bed elf32_i386_minix_bed 61+ 62+#include "elf32-target.h" 63+ 64 /* FreeBSD support. */ 65 66 #undef TARGET_LITTLE_SYM 67diff -rNU3 dist.nbsd/bfd/targets.c dist/bfd/targets.c 68--- dist.nbsd/bfd/targets.c 2014-02-17 14:34:49.417022286 +0100 69+++ dist/bfd/targets.c 2014-02-17 16:13:26.644959071 +0100 70@@ -624,6 +624,7 @@ 71 extern const bfd_target bfd_elf32_hppa_vec; 72 extern const bfd_target bfd_elf32_i370_vec; 73 extern const bfd_target bfd_elf32_i386_freebsd_vec; 74+extern const bfd_target bfd_elf32_i386_minix_vec; 75 extern const bfd_target bfd_elf32_i386_nacl_vec; 76 extern const bfd_target bfd_elf32_i386_sol2_vec; 77 extern const bfd_target bfd_elf32_i386_vxworks_vec; 78diff -rNU3 dist.nbsd/config.guess dist/config.guess 79--- dist.nbsd/config.guess 2014-02-17 14:34:49.417022286 +0100 80+++ dist/config.guess 2014-02-17 16:13:26.644959071 +0100 81@@ -872,8 +872,8 @@ 82 # other systems with GNU libc and userland 83 echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu 84 exit ;; 85- i*86:Minix:*:*) 86- echo ${UNAME_MACHINE}-pc-minix 87+ *:Minix:*:*) 88+ echo ${UNAME_MACHINE}-elf32-minix 89 exit ;; 90 alpha:Linux:*:*) 91 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in 92diff -rNU3 dist.nbsd/configure dist/configure 93--- dist.nbsd/configure 2014-02-17 14:34:49.430355862 +0100 94+++ dist/configure 2014-02-17 16:13:26.648292455 +0100 95@@ -2869,7 +2869,7 @@ 96 *-*-elf* | *-*-sysv4* | *-*-unixware* | *-*-eabi* | hppa*64*-*-hpux* \ 97 | *-*-linux* | frv-*-uclinux* | *-*-irix5* | *-*-irix6* \ 98 | *-*-netbsd* | *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* \ 99- | *-*-solaris2* | *-*-nto* | *-*-nacl*) 100+ | *-*-solaris2* | *-*-nto* | *-*-nacl* | *-*-minix*) 101 case "${target}" in 102 *-*-linux*aout* | *-*-linux*oldld*) 103 ;; 104diff -rNU3 dist.nbsd/gas/config/tc-i386.h dist/gas/config/tc-i386.h 105--- dist.nbsd/gas/config/tc-i386.h 2014-02-17 14:34:48.917013206 +0100 106+++ dist/gas/config/tc-i386.h 2014-02-17 16:13:26.648292455 +0100 107@@ -72,6 +72,10 @@ 108 #define ELF_TARGET_FORMAT64 "elf64-x86-64-sol2" 109 #endif 110 111+#ifdef TE_MINIX 112+#define ELF_TARGET_FORMAT "elf32-i386-minix" 113+#endif 114+ 115 #ifndef ELF_TARGET_FORMAT 116 #define ELF_TARGET_FORMAT "elf32-i386" 117 #endif 118diff -rNU3 dist.nbsd/gas/config/te-minix.h dist/gas/config/te-minix.h 119--- dist.nbsd/gas/config/te-minix.h 1970-01-01 01:00:00.000000000 +0100 120+++ dist/gas/config/te-minix.h 2014-02-17 16:13:26.648292455 +0100 121@@ -0,0 +1,9 @@ 122+#define TE_MINIX 1 123+ 124+/* Added these, because if we don't know what we're targeting we may 125+ need an assembler version of libgcc, and that will use local 126+ labels. */ 127+#define LOCAL_LABELS_DOLLAR 1 128+#define LOCAL_LABELS_FB 1 129+ 130+#include "obj-format.h" 131diff -rNU3 dist.nbsd/gas/configure dist/gas/configure 132--- dist.nbsd/gas/configure 2014-02-17 14:34:48.930346782 +0100 133+++ dist/gas/configure 2014-02-17 16:13:26.651625840 +0100 134@@ -6127,6 +6127,10 @@ 135 fi 136 ;; 137 138+minix*) 139+ lt_cv_deplibs_check_method=pass_all 140+ ;; 141+ 142 gnu*) 143 lt_cv_deplibs_check_method=pass_all 144 ;; 145diff -rNU3 dist.nbsd/gas/configure.tgt dist/gas/configure.tgt 146--- dist.nbsd/gas/configure.tgt 2014-02-17 14:34:48.930346782 +0100 147+++ dist/gas/configure.tgt 2014-02-17 16:13:26.651625840 +0100 148@@ -448,6 +448,8 @@ 149 *-*-elf | *-*-sysv4*) fmt=elf ;; 150 *-*-solaris*) fmt=elf em=solaris ;; 151 *-*-aros*) fmt=elf em=linux ;; 152+ i*-*-minix*) fmt=elf em=minix ;; 153+ arm*-*-minix*) fmt=elf em=armeabi ;; 154 *-*-vxworks* | *-*-windiss) fmt=elf em=vxworks ;; 155 *-*-netware) fmt=elf em=netware ;; 156 esac 157diff -rNU3 dist.nbsd/ld/configure.tgt dist/ld/configure.tgt 158--- dist.nbsd/ld/configure.tgt 2014-02-17 14:34:49.170351140 +0100 159+++ dist/ld/configure.tgt 2014-02-17 16:13:26.651625840 +0100 160@@ -82,6 +82,8 @@ 161 armeb-*-elf) targ_emul=armelfb ;; 162 arm-*-elf | arm*-*-eabi*) 163 targ_emul=armelf ;; 164+arm*-*-minix*) targ_emul=armelf_minix 165+ targ_extra_emuls="armelf" ;; 166 arm*-*-symbianelf*) targ_emul=armsymbian;; 167 arm-*-kaos*) targ_emul=armelf ;; 168 arm9e-*-elf) targ_emul=armelf ;; 169@@ -208,6 +210,8 @@ 170 i[3-7]86-*-bsd386) targ_emul=i386bsd ;; 171 i[3-7]86-*-bsdi*) targ_emul=i386bsd ;; 172 i[3-7]86-*-aout) targ_emul=i386aout ;; 173+i[3-7]86-*-minix) targ_emul=elf_i386_minix 174+ targ_extra_emuls="elf_i386" ;; 175 i[3-7]86-*-linux*aout*) targ_emul=i386linux 176 targ_extra_emuls=elf_i386 177 tdir_elf_i386=`echo ${targ_alias} | sed -e 's/aout//'` ;; 178diff -rNU3 dist.nbsd/ld/emulparams/armelf_minix.sh dist/ld/emulparams/armelf_minix.sh 179--- dist.nbsd/ld/emulparams/armelf_minix.sh 1970-01-01 01:00:00.000000000 +0100 180+++ dist/ld/emulparams/armelf_minix.sh 2014-02-17 16:13:26.651625840 +0100 181@@ -0,0 +1,15 @@ 182+. ${srcdir}/emulparams/armelf.sh 183+. ${srcdir}/emulparams/elf_minix.sh 184+OUTPUT_FORMAT="elf32-littlearm" 185+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" 186+COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" 187+ 188+DATA_START_SYMBOLS='PROVIDE (__data_start = .);'; 189+ 190+# Dynamic libraries support 191+GENERATE_SHLIB_SCRIPT=yes 192+TARGET2_TYPE=got-rel 193+ 194+GENERATE_PIE_SCRIPT=yes 195+ 196+unset EMBEDDED 197diff -rNU3 dist.nbsd/ld/emulparams/elf_i386_minix.sh dist/ld/emulparams/elf_i386_minix.sh 198--- dist.nbsd/ld/emulparams/elf_i386_minix.sh 1970-01-01 01:00:00.000000000 +0100 199+++ dist/ld/emulparams/elf_i386_minix.sh 2014-02-17 16:13:26.651625840 +0100 200@@ -0,0 +1,3 @@ 201+. ${srcdir}/emulparams/elf_i386.sh 202+. ${srcdir}/emulparams/elf_minix.sh 203+OUTPUT_FORMAT="elf32-i386-minix" 204diff -rNU3 dist.nbsd/ld/emulparams/elf_minix.sh dist/ld/emulparams/elf_minix.sh 205--- dist.nbsd/ld/emulparams/elf_minix.sh 1970-01-01 01:00:00.000000000 +0100 206+++ dist/ld/emulparams/elf_minix.sh 2014-02-17 16:13:26.651625840 +0100 207@@ -0,0 +1 @@ 208+ELF_INTERPRETER_NAME=\"/libexec/ld-elf.so.1\" 209diff -rNU3 dist.nbsd/ld/Makefile.in dist/ld/Makefile.in 210--- dist.nbsd/ld/Makefile.in 2014-02-17 14:34:49.163684353 +0100 211+++ dist/ld/Makefile.in 2014-02-17 16:13:26.651625840 +0100 212@@ -450,6 +450,7 @@ 213 earmelf_fbsd.c \ 214 earmelf_linux.c \ 215 earmelf_linux_eabi.c \ 216+ earmelf_minix.c \ 217 earmelf_nacl.c \ 218 earmelf_nbsd.c \ 219 earmelf_nbsd_eabi.c \ 220@@ -574,6 +575,7 @@ 221 eelf_i386_chaos.c \ 222 eelf_i386_fbsd.c \ 223 eelf_i386_ldso.c \ 224+ eelf_i386_minix.c \ 225 eelf_i386_nacl.c \ 226 eelf_i386_sol2.c \ 227 eelf_i386_vxworks.c \ 228@@ -2195,6 +2197,10 @@ 229 $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ 230 $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} 231 ${GENSCRIPTS} armelf_linux_eabi "$(tdir_armelf_linux_abi)" 232+earmelf_minix.c: $(srcdir)/emulparams/armelf_minix.sh \ 233+ $(srcdir)/emulparams/armelf.sh \ 234+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} 235+ ${GENSCRIPTS} armelf_minix "$(tdir_armelf_minix)" 236 earmelf_nacl.c: $(srcdir)/emulparams/armelf_nacl.sh \ 237 $(srcdir)/emulparams/armelf_linux_eabi.sh \ 238 $(srcdir)/emulparams/armelf_linux.sh \ 239@@ -2715,6 +2721,10 @@ 240 eelf_i386_ldso.c: $(srcdir)/emulparams/elf_i386_ldso.sh \ 241 $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} 242 ${GENSCRIPTS} elf_i386_ldso "$(tdir_elf_i386_ldso)" 243+eelf_i386_minix.c: $(srcdir)/emulparams/elf_i386_minix.sh \ 244+ $(srcdir)/emulparams/elf_i386.sh \ 245+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} 246+ ${GENSCRIPTS} elf_i386_minix "$(tdir_elf_i386_minix)" 247 eelf_i386_nacl.c: $(srcdir)/emulparams/elf_i386_nacl.sh \ 248 $(srcdir)/emulparams/elf_i386.sh \ 249 $(srcdir)/emulparams/elf_nacl.sh \ 250