Index: Makefile =================================================================== --- Makefile (revision 519859) +++ Makefile (working copy) @@ -1,7 +1,7 @@ # $FreeBSD$ PORTNAME= smlnj -PORTVERSION= 110.91 +PORTVERSION= 110.96 CATEGORIES= lang MASTER_SITES= http://smlnj.cs.uchicago.edu/dist/working/${PORTVERSION}/ \ ftp://mirror.free.de/http/smlnj.cs.uchicago.edu/dist/working/${PORTVERSION}/ @@ -19,7 +19,6 @@ LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept ONLY_FOR_ARCHS= amd64 i386 -LLD_UNSAFE= yes NO_WRKSUBDIR= yes @@ -34,22 +33,25 @@ .include -.if (${ARCH} == "amd64") -CFLAGS+= -m32 -AS?= as -ASFLAGS+= --32 -.endif -CPPASFLAGS+= -DGNU_ASSEMBLER -.if (${ARCH} == "i386" || ${ARCH} == "amd64") +.if (${ARCH} == "i386") MLARCH= x86 -DISTFILES+= boot.x86-unix.tgz +MLSIZE= 32 +PLIST_SUB+= MLSIZE32="" +.elif (${ARCH} == "amd64") +MLARCH= amd64 +MLSIZE= 64 +PLIST_SUB+= MLSIZE32="@comment " .endif +PLIST_SUB+= MLARCH=${MLARCH} +# -fPIC is required for building runtime.so +CFLAGS+= -fPIC +AS= ${CC} -x assembler -c +ASFLAGS+= -fPIC +DISTFILES+= boot.${MLARCH}-unix.tgz DISTFILES+= MLRISC.tgz asdl.tgz ckit.tgz cml.tgz doc.tgz heap2asm.tgz \ ml-burg.tgz ml-lex.tgz ml-lpt.tgz ml-yacc.tgz nlffi.tgz \ old-basis.tgz smlnj-lib.tgz trace-debug-profile.tgz -PLIST_SUB+= MLARCH=${MLARCH} - # Useful for tuning recompilation. CMB_COMMAND= @@ -76,7 +78,10 @@ .endfor MLTARGETS= heap2asm MLEXE= asdlgen heap2exec ml-antlr ml-build ml-burg ml-lex \ - ml-makedepend ml-nlffigen ml-ulex ml-yacc sml + ml-makedepend ml-ulex ml-yacc sml +.if ${MLSIZE} == 32 +MLEXE+= ml-nlffigen +.endif .if ${PORT_OPTIONS:MEVERYTHING} MLSTDSRCDIRS+= eXene pgraph smlnj-c MLTARGETS+= eXene mlrisc-tools nowhere pgraph-util src-smlnj @@ -170,9 +175,8 @@ MLSTANDARDPATCHDIRS=`${MLSTANDARDPATCHDIRS_CMD}` \ MLSOURCEPATCHES=`${MLSOURCEPATCHES_CMD}` \ CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}' \ - AS='${AS}' ASFLAGS='${ASFLAGS}' CPPASFLAGS='${CPPASFLAGS}' \ - EXTRA_DEFS='${EXTRA_DEFS}' \ - ./config/install.sh + AS='${AS}' ASFLAGS='${ASFLAGS}' EXTRA_DEFS='${EXTRA_DEFS}' \ + ./config/install.sh -default ${MLSIZE} .if ${PORT_OPTIONS:MRECOMPILE} -${RM} ${WRKSRC}/config/targets.customized @${ECHO} '(* Recompiling the core system: *)' @@ -180,10 +184,10 @@ ${ECHO_CMD} 'CM.autoload "$$smlnj/cmb.cm";' ; \ ${ECHO_CMD} ${CMB_COMMAND} ; \ ${ECHO_CMD} 'CMB.make ();' ) | \ - ../../bin/sml + ../../bin/sml -${MLSIZE} @${ECHO} '(* Building the recompiled heap: *)' cd ${WRKSRC}/${RECOMPILEDIR} && \ - ./makeml + ./makeml -${MLSIZE} @${ECHO} '(* Removing old libs and heaps: *)' cd ${WRKSRC}/${RECOMPILEDIR} && \ ${RM} -r ../../lib && ${MKDIR} ../../lib && \ @@ -191,7 +195,7 @@ \! -name 'sml.${MLARCH}-bsd' -delete -print @${ECHO} '(* Installing the recompiled libs and heap: *)' cd ${WRKSRC}/${RECOMPILEDIR} && \ - ./installml + ./installml -${MLSIZE} @${ECHO} '(* Building requested targets: *)' cd ${WRKSRC} && unset PWD && \ FILESDIR="${FILESDIR}" PATCH="${PATCH}" \ @@ -198,9 +202,8 @@ PATCH_ARGS="-d ${PATCH_WRKSRC} ${PATCH_ARGS}" \ MLNORUNTIMECLEAN=yes RECOMPILEDIR="${RECOMPILEDIR}" \ CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}' \ - AS='${AS}' ASFLAGS='${ASFLAGS}' CPPASFLAGS='${CPPASFLAGS}' \ - EXTRA_DEFS='${EXTRA_DEFS}' \ - ./config/install.sh + AS='${AS}' ASFLAGS='${ASFLAGS}' EXTRA_DEFS='${EXTRA_DEFS}' \ + ./config/install.sh -default ${MLSIZE} .endif .if ${PORT_OPTIONS:MEVERYTHING} @@ -297,9 +300,8 @@ STAGEDIR="${STAGEDIR}" MLLIB="${MLLIB}" \ INSTALLDIR="${STAGEDIR}${MLROOT}" \ CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}' \ - AS='${AS}' ASFLAGS='${ASFLAGS}' CPPASFLAGS='${CPPASFLAGS}' \ - EXTRA_DEFS='${EXTRA_DEFS}' \ - ./config/install.sh + AS='${AS}' ASFLAGS='${ASFLAGS}' EXTRA_DEFS='${EXTRA_DEFS}' \ + ./config/install.sh -default ${MLSIZE} .else @${ECHO} '(* Rebuilding the recompiled libs: *)' cd ${WRKSRC}/${RECOMPILEDIR} && ( \ @@ -306,10 +308,10 @@ ${ECHO_CMD} 'CM.autoload "$$smlnj/cmb.cm";' ; \ ${ECHO_CMD} ${CMB_COMMAND} ; \ ${ECHO_CMD} 'CMB.make ();' ) | \ - ../../bin/sml + ../../bin/sml -${MLSIZE} @${ECHO} '(* Rebuilding the recompiled heap: *)' cd ${WRKSRC}/${RECOMPILEDIR} && \ - ./makeml + ./makeml -${MLSIZE} @${ECHO} '(* Installing into ${STAGEDIR}${MLROOT}: *)' cd ${WRKSRC} && unset PWD && \ FILESDIR="${FILESDIR}" PATCH="${PATCH}" PATCH_ARGS="-d ${PATCH_WRKSRC} ${PATCH_ARGS}" \ @@ -316,9 +318,8 @@ STAGEDIR="${STAGEDIR}" MLLIB="${MLLIB}" \ INSTALLDIR="${STAGEDIR}${MLROOT}" RECOMPILEDIR="${RECOMPILEDIR}" \ CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}' \ - AS='${AS}' ASFLAGS='${ASFLAGS}' CPPASFLAGS='${CPPASFLAGS}' \ - EXTRA_DEFS='${EXTRA_DEFS}' \ - ./config/install.sh + AS='${AS}' ASFLAGS='${ASFLAGS}' EXTRA_DEFS='${EXTRA_DEFS}' \ + ./config/install.sh -default ${MLSIZE} .endif @${ECHO} '(* Installing man pages. *)' .for mansect in 1 2 3 4 5 6 7 8 9 Index: distinfo =================================================================== --- distinfo (revision 519859) +++ distinfo (working copy) @@ -1,47 +1,49 @@ -TIMESTAMP = 1564231693 -SHA256 (smlnj/110.91/MLRISC.tgz) = aa521ef48da51ab2cfe82098457d96b3ebc32217132e6e8b56d383543fe23ab1 -SIZE (smlnj/110.91/MLRISC.tgz) = 1459472 -SHA256 (smlnj/110.91/asdl.tgz) = e8fa7c033776c6fa78c4f95e28af79a86c37b5548bfcfb0114cd532a83a823de -SIZE (smlnj/110.91/asdl.tgz) = 202161 -SHA256 (smlnj/110.91/boot.x86-unix.tgz) = a8d8d4cf85b5c0bbc5f254f46f9a0eb039a7bc704d18d41bf9a1be0c9d25dd38 -SIZE (smlnj/110.91/boot.x86-unix.tgz) = 6034212 -SHA256 (smlnj/110.91/ckit.tgz) = 6d8f99d57fff2a210c3ecfd592841bca843f2b5e6697fe35340c6a1095a409d3 -SIZE (smlnj/110.91/ckit.tgz) = 200998 -SHA256 (smlnj/110.91/cm.tgz) = cd9bba3d54252197de3b7b4236cba90fec32e1aedb5df1c75af440ee8406ab73 -SIZE (smlnj/110.91/cm.tgz) = 220371 -SHA256 (smlnj/110.91/cml.tgz) = 6ea50839c19c4fcf5880769401914b4c19b2c674942e131e7b2de56dfb8d5fea -SIZE (smlnj/110.91/cml.tgz) = 105339 -SHA256 (smlnj/110.91/compiler.tgz) = 70bef5bf9ba91ebb8067d335285be0bf9c127f5275ed9d4a14a6f81d99370047 -SIZE (smlnj/110.91/compiler.tgz) = 839212 -SHA256 (smlnj/110.91/config.tgz) = 6690de2e4fa134db8e85ccc5bc58745cdd321a2cf72453c5116e3e7ea7786b03 -SIZE (smlnj/110.91/config.tgz) = 515708 -SHA256 (smlnj/110.91/doc.tgz) = a12807833ae18484d486a503d8a106304082724985d320fd15f347a65b481dd0 -SIZE (smlnj/110.91/doc.tgz) = 2073179 -SHA256 (smlnj/110.91/eXene.tgz) = c435d78915a96c6079847aca882d89401c7aad5bcdaff9cad8a5639a215b9411 -SIZE (smlnj/110.91/eXene.tgz) = 720702 -SHA256 (smlnj/110.91/heap2asm.tgz) = 1269b7e3a12e966ab73b463bc16a9bbf5c5acbe84d6acfd509a027854c918f25 -SIZE (smlnj/110.91/heap2asm.tgz) = 1345 -SHA256 (smlnj/110.91/ml-burg.tgz) = 337e67312edd555a6f0f697198a832c2c181c8f71cace792dbc9ce9565c13585 -SIZE (smlnj/110.91/ml-burg.tgz) = 40514 -SHA256 (smlnj/110.91/ml-lex.tgz) = f9b1ab56f981cc3edccaa106b8c1f95b1786ed3274eefd7422201c5ac85b5574 -SIZE (smlnj/110.91/ml-lex.tgz) = 27834 -SHA256 (smlnj/110.91/ml-lpt.tgz) = 8e95cb33c3ceb8f3d011a2c88cdea37d530d69fd472a3642df67f36fc7015d55 -SIZE (smlnj/110.91/ml-lpt.tgz) = 267088 -SHA256 (smlnj/110.91/ml-yacc.tgz) = 2bdcb0b60cb09063865f485cabcbe5b8e7e5ebc559499f6c0fcdf8c02f5f3728 -SIZE (smlnj/110.91/ml-yacc.tgz) = 101693 -SHA256 (smlnj/110.91/nlffi.tgz) = b22b63471cfef6217706ec6da75357e36e45b185e3c3f2c791933dca22a755f6 -SIZE (smlnj/110.91/nlffi.tgz) = 75070 -SHA256 (smlnj/110.91/old-basis.tgz) = 9098c4b3ec7496224020093e034ff728eadcc10ba7249810f9b1a16bb64b18ae -SIZE (smlnj/110.91/old-basis.tgz) = 1082 -SHA256 (smlnj/110.91/pgraph.tgz) = e8620b4a458739a38f5d28ca22092273bf8cdb7fc30b3057123f238407acf2e8 -SIZE (smlnj/110.91/pgraph.tgz) = 5429 -SHA256 (smlnj/110.91/runtime.tgz) = e91ff66b5de40cfdc8a8d78200faae62522b601d0dd10c7647a30e5f37b9a84e -SIZE (smlnj/110.91/runtime.tgz) = 349128 -SHA256 (smlnj/110.91/smlnj-c.tgz) = 043cdf239c777fc50a5b04752a6961a2e0aa1cdeb4a8d38bc04943e63b839dbc -SIZE (smlnj/110.91/smlnj-c.tgz) = 10622 -SHA256 (smlnj/110.91/smlnj-lib.tgz) = 5c9323c4158bbb55159a7ce304643bc523461dbc856d9389bc19aa533d106a26 -SIZE (smlnj/110.91/smlnj-lib.tgz) = 457827 -SHA256 (smlnj/110.91/system.tgz) = 0b840476580689695a62b79f92ef383e6b20991002812abb349e1e9b83dea599 -SIZE (smlnj/110.91/system.tgz) = 262075 -SHA256 (smlnj/110.91/trace-debug-profile.tgz) = bb55c348e907e47a36f9e67f6b834d06186bdaa8cde1e20c2f96095ed70deebf -SIZE (smlnj/110.91/trace-debug-profile.tgz) = 3936 +TIMESTAMP = 1576341142 +SHA256 (smlnj/110.96/MLRISC.tgz) = 193c29217e592d3e5a67cd0bde14ebfed2a2c3e4bcfae1e151e8fbe148fbe69e +SIZE (smlnj/110.96/MLRISC.tgz) = 1460365 +SHA256 (smlnj/110.96/asdl.tgz) = 2a521d8ba66ba1f2fc1c4b315bd43567ece21969026ce45b6f50d9132726724e +SIZE (smlnj/110.96/asdl.tgz) = 205907 +SHA256 (smlnj/110.96/boot.amd64-unix.tgz) = 605a118476d251bd77e312f303df3039adea6ace521d9ac140e2187b904ec807 +SIZE (smlnj/110.96/boot.amd64-unix.tgz) = 6031590 +SHA256 (smlnj/110.96/boot.x86-unix.tgz) = ab08f260137fb68492d747b96d5be8ce49e8eda55a358094fd9018efd32341bd +SIZE (smlnj/110.96/boot.x86-unix.tgz) = 6034356 +SHA256 (smlnj/110.96/ckit.tgz) = 8b9301e3a2975be6877ce22edc27445630d57f51afbb77a950f386c9b3193bbf +SIZE (smlnj/110.96/ckit.tgz) = 201009 +SHA256 (smlnj/110.96/cm.tgz) = 19e4f8096f5c8af64f20e57c5b48dacf9054c90ec14db4908a9e8c5bc505c568 +SIZE (smlnj/110.96/cm.tgz) = 220256 +SHA256 (smlnj/110.96/cml.tgz) = ec2b2d08343a32d911f30f34fb506fd0fed21b21378592e568107a68abc6ed8a +SIZE (smlnj/110.96/cml.tgz) = 105379 +SHA256 (smlnj/110.96/compiler.tgz) = 1382181001e0cf8d751c3d1707331f305e1ab3e41ca07af1349a73ef16df4a4c +SIZE (smlnj/110.96/compiler.tgz) = 848920 +SHA256 (smlnj/110.96/config.tgz) = b2bda33c1fb1472b4ca69827463b1b1b7b8a86bed72db959a558d9e4fe65de18 +SIZE (smlnj/110.96/config.tgz) = 517305 +SHA256 (smlnj/110.96/doc.tgz) = 24243d3a58b50973d151304f878bd2e80a6ce71cefced114cb694b89e039641a +SIZE (smlnj/110.96/doc.tgz) = 2134988 +SHA256 (smlnj/110.96/eXene.tgz) = 0c5d642c57380b0a427d4ce9f6af84c2bb76859089b36a4f5da3a2149d7fb2bf +SIZE (smlnj/110.96/eXene.tgz) = 721127 +SHA256 (smlnj/110.96/heap2asm.tgz) = 1cb94d9ba56c58cb122f7f9d548824e6a7fed155acd17ac4d10fb028ca7a4a50 +SIZE (smlnj/110.96/heap2asm.tgz) = 1395 +SHA256 (smlnj/110.96/ml-burg.tgz) = 4286a4aa01f2063bdbea10ab1c7299b7a41a4a822a96d4a040ce404b1b3276b1 +SIZE (smlnj/110.96/ml-burg.tgz) = 40552 +SHA256 (smlnj/110.96/ml-lex.tgz) = 02971b9026d2c6df8b425b8ac78c4065439a62e09b36fc974a98b5062874b8f0 +SIZE (smlnj/110.96/ml-lex.tgz) = 27879 +SHA256 (smlnj/110.96/ml-lpt.tgz) = 3736cd60daad7510467ee2f31462cffbb43890bc4499b3efc7d671829f68e141 +SIZE (smlnj/110.96/ml-lpt.tgz) = 267441 +SHA256 (smlnj/110.96/ml-yacc.tgz) = 3a8d4d345ec3832b30bde1a7b0c0f97f209f40afd80e6ff6e1c78f365a77b0e9 +SIZE (smlnj/110.96/ml-yacc.tgz) = 101727 +SHA256 (smlnj/110.96/nlffi.tgz) = fb08f68da401382396fe0cb676b0f81eda27e9360c69fbeb3d473dec3452e8ee +SIZE (smlnj/110.96/nlffi.tgz) = 75084 +SHA256 (smlnj/110.96/old-basis.tgz) = c3fea6a6b14d3c4cfad92944bd259f6b104a76f4b7ee8dd999275dcab8336199 +SIZE (smlnj/110.96/old-basis.tgz) = 1215 +SHA256 (smlnj/110.96/pgraph.tgz) = 73f0a34fc2ac5ec9ba1aa10bb732300b0aea0a63d32154c108ce42b28d1d72a6 +SIZE (smlnj/110.96/pgraph.tgz) = 5430 +SHA256 (smlnj/110.96/runtime.tgz) = 46ab1f6f4282ab46f117f8b8673e70180b8b4cbc6d9afdfa305aa8510258bf69 +SIZE (smlnj/110.96/runtime.tgz) = 336178 +SHA256 (smlnj/110.96/smlnj-c.tgz) = 3c1064ba53990abf278ebe80f68b62dad14d9f6a044ac72c6f2cf602c6aaa28c +SIZE (smlnj/110.96/smlnj-c.tgz) = 10620 +SHA256 (smlnj/110.96/smlnj-lib.tgz) = 7ff7e8008bc08f32f2080e83afa7c609171d9856ec46fcccaec7f44c309057fb +SIZE (smlnj/110.96/smlnj-lib.tgz) = 457923 +SHA256 (smlnj/110.96/system.tgz) = 8f33d350c4027e326f4b910cba2c50ae215a0b6ce93fed380b02f48c19ce3161 +SIZE (smlnj/110.96/system.tgz) = 274076 +SHA256 (smlnj/110.96/trace-debug-profile.tgz) = 5f24d0ae00fb8dde2cec660ca66395fcfcc417ee56faec7f5f420af18cabb80d +SIZE (smlnj/110.96/trace-debug-profile.tgz) = 3935 Index: files/do-patch-asdl_config_check__smlnj__heap__suffix.m4 =================================================================== --- files/do-patch-asdl_config_check__smlnj__heap__suffix.m4 (nonexistent) +++ files/do-patch-asdl_config_check__smlnj__heap__suffix.m4 (working copy) @@ -0,0 +1,10 @@ +--- asdl/config/check_smlnj_heap_suffix.m4.orig 2019-10-21 18:02:45 UTC ++++ asdl/config/check_smlnj_heap_suffix.m4 +@@ -45,6 +45,7 @@ AC_DEFUN([CHECK_SMLNJ_HEAP_SUFFIX], [ + sparc:solaris3*) SMLNJ_ARCH=sparc; SMLNJ_OPSYS=solaris;; + x86_64:linux*) SMLNJ_ARCH=x86_64; SMLNJ_OPSYS=linux;; + x86_64:darwin*) SMLNJ_ARCH=x86_64; SMLNJ_OPSYS=darwin;; ++ x86_64:freebsd*) SMLNJ_ARCH=x86_64; SMLNJ_OPSYS=freebsd;; + *) $1 ;; + esac + if test z$SMLNJ_ARCH != z -a z$SMLNJ_OPSYS != z ; then Index: files/do-patch-asdl_configure =================================================================== --- files/do-patch-asdl_configure (revision 519859) +++ files/do-patch-asdl_configure (nonexistent) @@ -1,10 +0,0 @@ ---- asdl/configure.orig 2019-06-20 16:01:17 UTC -+++ asdl/configure -@@ -4893,6 +4893,7 @@ $as_echo "$SMLNJ_VERSION" >&6; } - sparc:solaris2*) SMLNJ_ARCH=sparc; SMLNJ_OPSYS=sunos;; - sparc:solaris3*) SMLNJ_ARCH=sparc; SMLNJ_OPSYS=solaris;; - x86_64:linux*) SMLNJ_ARCH=x86; SMLNJ_OPSYS=linux;; -+ x86_64:freebsd*) SMLNJ_ARCH=x86; SMLNJ_OPSYS=freebsd;; - x86_64:darwin*) SMLNJ_ARCH=x86; SMLNJ_OPSYS=darwin;; - *) - as_fn_error $? "unsupported configuration ${host_cpu}-${host_os}" "$LINENO" 5 ;; Index: files/do-patch-asdl_src_asdlgen_Makefile.in =================================================================== --- files/do-patch-asdl_src_asdlgen_Makefile.in (revision 519859) +++ files/do-patch-asdl_src_asdlgen_Makefile.in (working copy) @@ -1,7 +1,21 @@ ---- asdl/src/asdlgen/Makefile.in.orig 2018-08-28 15:36:58 UTC +--- asdl/src/asdlgen/Makefile.in.orig 2019-10-21 18:02:45 UTC +++ asdl/src/asdlgen/Makefile.in -@@ -54,8 +54,10 @@ CM_FILES = back-end/sml/sources.cm \ +@@ -35,10 +35,11 @@ INSTALL_WRAPPER = @ASDL_ROOT@/bin/install-sml-wrapper. + # if specified, include the size option as an argument to ml-build + # +-ifneq (@HOSTSIZE@,) ++#ifneq (@HOSTSIZE@,) ++.if defined(@HOSTSIZE@) + ML_BUILD_FLAGS += -@HOSTSIZE@ + ML_MAKEDEPEND_FLAGS += -@HOSTSIZE@ +-endif ++.endif + + # + # generator tools +@@ -62,8 +63,10 @@ CM_FILES = back-end/sml/sources.cm \ + CODE_FRAG_DIRS = back-end/sml -CODE_FRAG_FILES = $(patsubst %,%/fragments.sml,$(CODE_FRAG_DIRS)) @@ -13,7 +27,7 @@ SRCDIR = @ASDLGEN_SRCDIR@ -@@ -94,14 +96,18 @@ back-end/sml/fragments.sml: +@@ -102,14 +105,18 @@ back-end/sml/fragments.sml: touch .depend $(ML_MAKEDEPEND) $(ML_MAKEDEPEND_FLAGS) -n -f .depend $(ROOT_CM) $(HEAP) || rm -f .depend Index: files/do-patch-base_runtime_include_ml-unixdep.h =================================================================== --- files/do-patch-base_runtime_include_ml-unixdep.h (revision 519859) +++ files/do-patch-base_runtime_include_ml-unixdep.h (working copy) @@ -1,43 +1,26 @@ ---- base/runtime/include/ml-unixdep.h.orig 2019-06-19 18:37:43 UTC +--- base/runtime/include/ml-unixdep.h.orig 2019-11-14 19:24:04 UTC +++ base/runtime/include/ml-unixdep.h -@@ -37,6 +37,7 @@ +@@ -33,9 +33,10 @@ + * HAS_UCONTEXT if signal handlers have a ucontext_t argument. + * HAS_STRERROR if the system provides the ISO C strerror function. * INT_GIDLIST if the second argument to getgroups is int[]. ++ * HAS_MKSTEMP if OS provides the POSIX mkstemp function. * STAT_HAS_TIMESPEC if the time fields in the "struct stat" type have * type "struct timespec". -+ * HAS_MKSTEMP if OS provides the POSIX mkstemp function. +- * HAS_NANOSLEEP if the system provides the nanosleep(2) function. ++ * HAS_NANOSLEEP if the system provides the nanosleep(2) function. * * Note that only one of the following sets of symbols should be defined: * { HAS_MMAP, HAS_ANON_MMAP, HAS_VM_ALLOCATE } -@@ -94,6 +95,7 @@ - # define HAS_POLL - # define HAS_SIGCONTEXT +@@ -208,8 +209,11 @@ extern char *sys_errlist[]; + # define HAS_SELECT + # define HAS_UCONTEXT # define HAS_STRERROR +# define HAS_MKSTEMP - - /* These declarations are not in */ - extern int sys_nerr; -@@ -204,6 +206,7 @@ extern char *sys_errlist[]; - # define HAS_SIGCONTEXT - # define HAS_STRERROR # define STAT_HAS_TIMESPEC -+# define HAS_MKSTEMP + # define HAS_NANOSLEEP ++/* FreeBSD uses MAP_ANON for MAP_ANONYMOUS */ ++# define MAP_ANONYMOUS MAP_ANON - /* FreeBSD uses MAP_ANON for MAP_ANONYMOUS */ - # define MAP_ANONYMOUS MAP_ANON -@@ -254,6 +257,16 @@ extern char *sys_errlist[]; - - #include - -+#endif -+ -+#if defined(OPSYS_FREEBSD) -+# if defined(INCLUDE_FREEBSD_I386__TYPES) -+# include -+# include INCLUDE_FREEBSD_I386__TYPES -+# endif -+# if defined(INCLUDE_FREEBSD_I386_SIGNAL) -+# include INCLUDE_FREEBSD_I386_SIGNAL -+# endif - #endif - - #include + #elif defined(OPSYS_NETBSD) /* version 3.x */ + # define OS_NAME "BSD" Index: files/do-patch-base_runtime_objs_makefile =================================================================== --- files/do-patch-base_runtime_objs_makefile (revision 519859) +++ files/do-patch-base_runtime_objs_makefile (working copy) @@ -1,4 +1,4 @@ ---- base/runtime/objs/makefile.orig 2019-06-18 21:06:21 UTC +--- base/runtime/objs/makefile.orig 2019-11-10 14:00:54 UTC +++ base/runtime/objs/makefile @@ -5,10 +5,12 @@ @@ -6,60 +6,32 @@ MAKE = make -CC = cc -CPP = /lib/cpp +-LD_LIBS = +-AS = as +CC ?= cc ++CFLAGS ?= +CPP ?= /lib/cpp - LD_LIBS = --AS = as ++LD_LIBS ?= +AS ?= as +ASFLAGS ?= -+CPPASFLAGS ?= AR = ar ARFLAGS = rcv RANLIB = ranlib -@@ -38,7 +40,7 @@ BC_DIR = $(ROOT_DIR)/bytecode +@@ -37,8 +39,6 @@ MP_DIR = $(ROOT_DIR)/mp CLIB_DIR = $(ROOT_DIR)/c-libs CONFIG_DIR = $(ROOT_DIR)/config -CFLAGS = -O -+CFLAGS ?= -O - +- INCLUDES = -I$(OBJS_DIR) -I$(INC_DIR) GC_INCLUDES = $(INCLUDES) -I$(GC_DIR) -@@ -275,8 +277,8 @@ prim.o: $(MACH_DIR)/$(TARGET).prim.asm \ - $(INC_DIR)/asm-base.h \ + GEN_INCLUDES = -I$(CONFIG_DIR) $(INCLUDES) +@@ -275,7 +275,7 @@ prim.o: $(MACH_DIR)/$(TARGET).prim.asm \ $(MACH_DIR)/x86-syntax.h \ mlstate-offsets.h -- $(CPP) -D_ASM_ $(DEFS) $(INCLUDES) $(MACH_DIR)/$(TARGET).prim.asm > prim.s + $(CPP) -D_ASM_ $(DEFS) $(INCLUDES) $(MACH_DIR)/$(TARGET).prim.asm > prim.s - $(AS) -o prim.o prim.s -+ $(CPP) -D_ASM_ $(DEFS) $(CPPASFLAGS) $(INCLUDES) $(MACH_DIR)/$(TARGET).prim.asm > prim.s + $(AS) $(ASFLAGS) -o prim.o prim.s - $(MACH_DIR)/BYTECODE.prim.asm: bc-instr-def.h $(BC_DIR)/bc-instrs.h $(BC_DIR)/bc.h - -@@ -318,7 +320,7 @@ memory-trace.o: $(BC_DIR)/memory-trace.c \ - primops.o: $(BC_DIR)/primops.asm \ - $(INC_DIR)/asm-base.h - $(CPP) -D_ASM_ $(DEFS) $(INCLUDES) $(BC_DIR)/primops.asm > primops.s -- $(AS) -o primops.o primops.s -+ $(AS) $(ASFLAGS) -o primops.o primops.s - - bc-instr-def.h: gen-bc-instr-def \ - $(BC_DIR)/bc.h $(BC_DIR)/print-bc.h -@@ -330,7 +332,7 @@ bc-instr-def.h: gen-bc-instr-def \ # - MK_ARGS = VERSION="$(VERSION)" \ - MAKE="$(MAKE)" \ -- CC="$(CC)" CFLAGS="$(CFLAGS)" DEFS="$(DEFS)" \ -+ CC="$(CC)" CFLAGS="$(CFLAGS)" DEFS='$(DEFS)' \ - AR="$(AR)" ARFLAGS="$(ARFLAGS)" \ - RANLIB="$(RANLIB)" \ - INCLUDES="$(GC_INCLUDES) -I../bytecode" -@@ -421,7 +423,7 @@ LIB_INCLUDES = -I$(LIB_OBJS_DIR) -I$(LIB_INC_DIR) -I.. # - LIB_MK_ARGS = VERSION="$(VERSION)" \ - MAKE="$(MAKE)" \ -- CC="$(CC)" CFLAGS="$(CFLAGS)" DEFS="$(DEFS)" \ -+ CC="$(CC)" CFLAGS="$(CFLAGS)" DEFS='$(DEFS)' \ - AR="$(AR)" ARFLAGS="$(ARFLAGS)" \ - RANLIB="$(RANLIB)" \ - INCLUDES="$(LIB_INCLUDES)" Index: files/do-patch-base_runtime_objs_mk.amd64-freebsd =================================================================== --- files/do-patch-base_runtime_objs_mk.amd64-freebsd (nonexistent) +++ files/do-patch-base_runtime_objs_mk.amd64-freebsd (working copy) @@ -0,0 +1,32 @@ +--- base/runtime/objs/mk.amd64-freebsd.orig 2019-11-14 19:33:11 UTC ++++ base/runtime/objs/mk.amd64-freebsd +@@ -1,4 +1,4 @@ +-# mk.amd64-freebst ++# mk.amd64-freebsd + # + # makefile for "Free BSD" on the amd64 architecture, which is a BSD 4.4 clone. + # +@@ -6,9 +6,10 @@ + SHELL = /bin/sh + + MAKE = make +-AS = as --64 +-CC = cc -std=gnu99 +-CFLAGS = -O2 -m64 ++AS ?= cc -x assembler -c ++ASFLAGS ?= -fPIC ++CC ?= cc -std=gnu99 ++CFLAGS ?= -O2 -m64 -fPIC + CPP = cc -x assembler-with-cpp -E -P + XOBJS = + XLIBS = ../c-libs/dl/libunix-dynload.a +@@ -26,6 +27,6 @@ RUNTIME_SO = run.amd64-freebsd.so + RUNTIME_A = run.amd64-freebsd.a + + all: +- ($(MAKE) CHECK_HEAP=$(CHECK_HEAP) RUNTIME="$(RUNTIME)" VERSION="$(VERSION)" AS="$(AS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" $(RUNTIME)) +-# ($(MAKE) RUNTIME="$(RUNTIME_SO)" VERSION="$(VERSION)" AS="$(AS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="-shared" $(RUNTIME_SO)) +-# ($(MAKE) RUNTIME_A="$(RUNTIME_A)" VERSION="$(VERSION)" AS="$(AS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="" $(RUNTIME_A)) ++ ($(MAKE) CHECK_HEAP=$(CHECK_HEAP) RUNTIME="$(RUNTIME)" VERSION="$(VERSION)" AS="$(AS)" ASFLAGS="$(ASFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" $(RUNTIME)) ++ ($(MAKE) RUNTIME="$(RUNTIME_SO)" VERSION="$(VERSION)" AS="$(AS)" ASFLAGS="$(ASFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="-shared -Wl,-z,notext" $(RUNTIME_SO)) ++ ($(MAKE) RUNTIME_A="$(RUNTIME_A)" VERSION="$(VERSION)" AS="$(AS)" ASFLAGS="$(ASFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="" $(RUNTIME_A)) Index: files/do-patch-base_runtime_objs_mk.x86-freebsd =================================================================== --- files/do-patch-base_runtime_objs_mk.x86-freebsd (revision 519859) +++ files/do-patch-base_runtime_objs_mk.x86-freebsd (working copy) @@ -1,37 +1,43 @@ ---- base/runtime/objs/mk.x86-freebsd.orig 2006-04-20 15:28:53 UTC +--- base/runtime/objs/mk.x86-freebsd.orig 2019-11-14 19:19:39 UTC +++ base/runtime/objs/mk.x86-freebsd -@@ -5,19 +5,19 @@ - +@@ -6,20 +6,20 @@ SHELL = /bin/sh --MAKE = gmake -+MAKE = make - - ARFLAGS = Trcv --CC = gcc -ansi --CFLAGS = -O2 --CPP = gcc -x assembler-with-cpp -E -P -+CC ?= gcc -ansi -+CFLAGS ?= -O2 -+CPP = $(CC) -x assembler-with-cpp -E -P - #CPP = /usr/bin/cpp -P - + MAKE = make +- +-AS = as --32 +-CC = cc -std=gnu99 +-CFLAGS = -O2 -m32 ++AS ?= cc -x assembler -c ++ASFLAGS ?= -fPIC ++CC ?= cc -std=gnu99 ++CFLAGS ?= -O2 -m32 -fPIC + CPP = cc -x assembler-with-cpp -E -P +-#CPP = /usr/bin/cpp -P +-ARFLAGS = Trcv +- XOBJS = XLIBS = ../c-libs/dl/libunix-dynload.a - LD_LIBS = +-LD_LIBS = ++LD_LIBS = -ldl ++#CHECK_HEAP = check-heap.o ++XDEFS = -DASSERT_ON BASE_DEFS = --DEFS = $(BASE_DEFS) -DHOST_X86 -DTARGET_X86 -DOPSYS_UNIX -DOPSYS_FREEBSD -DDLOPEN -+DEFS = $(BASE_DEFS) -DHOST_X86 -DTARGET_X86 -DOPSYS_UNIX -DOPSYS_FREEBSD -DDLOPEN $(EXTRA_DEFS) +-DEFS = $(BASE_DEFS) -DARCH_X86 -DDSIZE_32 -DOPSYS_UNIX -DOPSYS_FREEBSD \ +- -DGNU_ASSEMBLER -DDLOPEN -DINDIRECT_CFUNC ++DEFS = $(XDEFS) $(BASE_DEFS) -DARCH_X86 -DSIZE_32 \ ++ -DOPSYS_UNIX -DOPSYS_FREEBSD -D_GNU_SOURCE -DGNU_ASSEMBLER -DDLOPEN \ ++ -DINDIRECT_CFUNC TARGET = X86 VERSION = v-x86-freebsd RUNTIME = run.x86-freebsd -@@ -25,6 +25,6 @@ RUNTIME_SO = run.x86-freebsd.so +@@ -27,6 +27,6 @@ RUNTIME_SO = run.x86-freebsd.so RUNTIME_A = run.x86-freebsd.a all: -- ($(MAKE) RUNTIME="$(RUNTIME)" VERSION="$(VERSION)" MAKE="$(MAKE)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" $(RUNTIME)) -- ($(MAKE) RUNTIME="$(RUNTIME_SO)" VERSION="$(VERSION)" MAKE="$(MAKE)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="-shared" $(RUNTIME_SO)) -- ($(MAKE) RUNTIME_A="$(RUNTIME_A)" VERSION="$(VERSION)" MAKE="$(MAKE)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="" $(RUNTIME_A)) -+ ($(MAKE) RUNTIME="$(RUNTIME)" VERSION="$(VERSION)" MAKE="$(MAKE)" AS="$(AS)" ASFLAGS="$(ASFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="$(LDFLAGS)" $(RUNTIME)) -+ ($(MAKE) RUNTIME="$(RUNTIME_SO)" VERSION="$(VERSION)" MAKE="$(MAKE)" AS="$(AS)" ASFLAGS="$(ASFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="-shared $(LDFLAGS)" $(RUNTIME_SO)) -+ ($(MAKE) RUNTIME_A="$(RUNTIME_A)" VERSION="$(VERSION)" MAKE="$(MAKE)" AS="$(AS)" ASFLAGS="$(ASFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="$(LDFLAGS)" $(RUNTIME_A)) +- ($(MAKE) RUNTIME="$(RUNTIME)" VERSION="$(VERSION)" MAKE="$(MAKE)" AS="$(AS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" $(RUNTIME)) +-# ($(MAKE) RUNTIME="$(RUNTIME_SO)" VERSION="$(VERSION)" MAKE="$(MAKE)" AS="$(AS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="-shared" $(RUNTIME_SO)) +-# ($(MAKE) RUNTIME_A="$(RUNTIME_A)" VERSION="$(VERSION)" MAKE="$(MAKE)" AS="$(AS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="" $(RUNTIME_A)) ++ ($(MAKE) CHECK_HEAP=$(CHECK_HEAP) RUNTIME="$(RUNTIME)" VERSION="$(VERSION)" AS="$(AS)" ASFLAGS="$(ASFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" $(RUNTIME)) ++ ($(MAKE) RUNTIME="$(RUNTIME_SO)" VERSION="$(VERSION)" AS="$(AS)" ASFLAGS="$(ASFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="-shared -Wl,-z,notext" $(RUNTIME_SO)) ++ ($(MAKE) RUNTIME_A="$(RUNTIME_A)" VERSION="$(VERSION)" AS="$(AS)" ASFLAGS="$(ASFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="" $(RUNTIME_A)) Index: files/do-patch-base_system_Basis_Implementation_date.sml =================================================================== --- files/do-patch-base_system_Basis_Implementation_date.sml (nonexistent) +++ files/do-patch-base_system_Basis_Implementation_date.sml (working copy) @@ -0,0 +1,11 @@ +--- base/system/Basis/Implementation/date.sml.orig 2019-06-12 21:16:48 UTC ++++ base/system/Basis/Implementation/date.sml +@@ -70,7 +70,7 @@ structure Date : DATE = + = wrap (CInterface.c_function "SMLNJ-Date" "strfTime") + + (* conversions between integer numbers of seconds (used by runtime) and Time.time values *) +- fun nsToTime s = Time.fromSeconds (Word64.toLargeInt s) ++ fun nsToTime s = Time.fromNanoseconds (Word64.toLargeInt s) + fun timeToNs t = Word64.fromLargeInt (Time.toNanoseconds t) + + val localTime = localTime' o timeToNs Index: files/do-patch-eXene_lib_protocol_xreply.sml =================================================================== --- files/do-patch-eXene_lib_protocol_xreply.sml (revision 519859) +++ files/do-patch-eXene_lib_protocol_xreply.sml (nonexistent) @@ -1,11 +0,0 @@ ---- eXene/lib/protocol/xreply.sml.orig 2006-03-03 03:33:16 UTC -+++ eXene/lib/protocol/xreply.sml -@@ -51,7 +51,7 @@ structure XReply = - fun get32 (s, i) = Word32.fromLargeWord(PackWord32Big.subVec(s, i div 4)) - fun getSigned32 (s, i) = - Int32.fromLarge(LargeWord.toLargeInt(PackWord32Big.subVecX(s, i div 4))) -- fun getWord (s, i) = Word.fromLargeWord(get32(s, i)) -+ fun getWord (s, i) = Word.fromLargeWord(PackWord32Big.subVec(s, i div 4)) - fun getInt (s, i) = LargeWord.toIntX(PackWord32Big.subVecX(s, i div 4)) - - val w8vextract = Word8VectorSlice.vector o Word8VectorSlice.slice Index: files/do-patch-eXene_lib_protocol_xrequest.sml =================================================================== --- files/do-patch-eXene_lib_protocol_xrequest.sml (revision 519859) +++ files/do-patch-eXene_lib_protocol_xrequest.sml (nonexistent) @@ -1,11 +0,0 @@ ---- eXene/lib/protocol/xrequest.sml.orig 2005-11-07 23:03:18 UTC -+++ eXene/lib/protocol/xrequest.sml -@@ -84,7 +84,7 @@ structure XRequest = - putSigned16(buf, i+8, border)) - - fun putTS (buf, i, XTy.CurrentTime) = put32(buf, i, 0w0) -- | putTS (buf, i, XTy.TimeStamp(XTime.XT t)) = put32(buf, i, t) -+ | putTS (buf, i, XTy.TimeStamp(XTime.XT t)) = put32(buf, i, Word32.toLarge t) - - fun putRGB (buf, i, XTy.RGB{red, green, blue}) = ( - putWord16(buf, i, red); Index: files/do-patch-eXene_lib_protocol_xsendevt.sml =================================================================== --- files/do-patch-eXene_lib_protocol_xsendevt.sml (revision 519859) +++ files/do-patch-eXene_lib_protocol_xsendevt.sml (nonexistent) @@ -1,11 +0,0 @@ ---- eXene/lib/protocol/xsendevt.sml.orig 2005-11-02 22:24:39 UTC -+++ eXene/lib/protocol/xsendevt.sml -@@ -46,7 +46,7 @@ structure XSendEvent = - | putAtomOption (buf, i, SOME(XTy.XAtom n)) = putWord32 (buf, i, n) - - fun putTS (buf, i, XTy.CurrentTime) = put32(buf, i, 0w0) -- | putTS (buf, i, XTy.TimeStamp(XTime.XT t)) = put32(buf, i, t) -+ | putTS (buf, i, XTy.TimeStamp(XTime.XT t)) = put32(buf, i, Word32.toLarge t) - - (* event codes *) - val evtKeyPressXEvt = 0w2 : Word8.word Index: files/patch-config___arch-n-opsys =================================================================== --- files/patch-config___arch-n-opsys (revision 519859) +++ files/patch-config___arch-n-opsys (nonexistent) @@ -1,11 +0,0 @@ ---- config/_arch-n-opsys.orig 2019-05-31 12:15:03 UTC -+++ config/_arch-n-opsys -@@ -97,6 +97,8 @@ case `uname -s` in - HEAP_OPSYS=bsd - case `uname -m` in - *86) ARCH=x86;; -+ # Fall back to x86 compatibility mode. -+ amd64) ARCH=x86;; - *) exit 1;; - esac - ;; Index: files/patch-config___heap2exec =================================================================== --- files/patch-config___heap2exec (revision 519859) +++ files/patch-config___heap2exec (nonexistent) @@ -1,33 +0,0 @@ ---- config/_heap2exec.orig 2019-05-31 12:36:14 UTC -+++ config/_heap2exec -@@ -89,6 +89,7 @@ SO_LIBS= - A_PROG= - A_FLAGS= - A_LIBS= -+AS_FLAGS= - - case ${OPSYS} in - darwin) -@@ -102,6 +103,13 @@ case ${OPSYS} in - A_PROG=${CC} - A_FLAGS=-Wl,--export-dynamic - A_LIBS=-lm -+ case `uname -m` in -+ amd64) -+ SO_FLAGS="${SO_FLAGS} -m32" -+ A_FLAGS="${A_FLAGS} -m32" -+ AS_FLAGS="${AS_FLAGS} -m32" -+ ;; -+ esac - ;; - linux) - SO_PROG=${CC} -@@ -122,7 +130,7 @@ fi - RESULT=0 - if ${H2A} "$heapfile" "$execfile".s ; then - if [ -f "$execfile".s ] ; then -- if ${CC} -c -o "$execfile".o "$execfile".s ; then -+ if ${CC} -c ${AS_FLAGS} -o "$execfile".o "$execfile".s ; then - rm "$execfile".s - else - rm "$execfile".s Index: files/patch-config_install.sh =================================================================== --- files/patch-config_install.sh (revision 519859) +++ files/patch-config_install.sh (working copy) @@ -1,7 +1,7 @@ ---- config/install.sh.orig 2019-05-31 12:15:03 UTC +--- config/install.sh.orig 2019-11-23 16:06:59 UTC +++ config/install.sh -@@ -17,6 +17,8 @@ else - nolib=false +@@ -56,11 +56,36 @@ if [ x"$SIZE_OPT" = x ] ; then + SIZE_OPT="-"$DEFAULT_SIZE fi +[ -n "$RECOMPILEDIR" ] && echo "RECOMPILEDIR=$RECOMPILEDIR" @@ -9,13 +9,12 @@ if [ x${INSTALL_QUIETLY} = xtrue ] ; then export CM_VERBOSE CM_VERBOSE=false -@@ -37,6 +39,28 @@ complain() { - exit 1 - } + fi +# +# do_patch patch-file +# apply a patch file ++# +do_patch() { + patchfile=$FILESDIR/$1 + @@ -35,10 +34,10 @@ + fi +} + - this=$0 - - -@@ -96,7 +120,28 @@ trap 'cd "$ROOT"; rm -f $tmpfiles' 0 1 2 3 15 + vsay() { + if [ x${INSTALL_DEBUG} = xtrue ] ; then + echo "$@" +@@ -128,7 +153,28 @@ trap 'cd "$ROOT"; rm -f $tmpfiles' 0 1 2 3 15 # Especially important is CM_PATHCONFIG. # export CM_PATHCONFIG @@ -68,7 +67,7 @@ # # the release version that we are installing # -@@ -371,7 +416,12 @@ esac +@@ -403,7 +449,12 @@ esac # the name of the bin files directory # BOOT_ARCHIVE=boot.$ARCH-unix @@ -82,7 +81,7 @@ # # build the run-time system -@@ -380,9 +430,15 @@ if [ -x "$RUNDIR"/run.$ARCH-$OPSYS ]; then +@@ -412,9 +463,15 @@ if [ -x "$RUNDIR"/run.$ARCH-$OPSYS ]; then vsay $this: Run-time system already exists. else "$CONFIGDIR"/unpack "$ROOT" runtime @@ -99,7 +98,7 @@ if [ -x run.$ARCH-$OPSYS ]; then mv run.$ARCH-$OPSYS "$RUNDIR" if [ -f runx.$ARCH-$OPSYS ]; then -@@ -394,7 +450,7 @@ else +@@ -426,7 +483,7 @@ else if [ -f run.$ARCH-$OPSYS.a ]; then mv run.$ARCH-$OPSYS.a "$RUNDIR" fi @@ -108,7 +107,7 @@ else complain "$this: !!! Run-time system build failed for some reason." fi -@@ -420,7 +476,7 @@ if [ -r "$HEAPDIR"/sml.$HEAP_SUFFIX ]; then +@@ -452,7 +509,7 @@ if [ -r "$HEAPDIR"/sml.$HEAP_SUFFIX ]; then complain "$this !!! Unable to re-create heap image (sml.$HEAP_SUFFIX)." fi else @@ -117,7 +116,7 @@ fish "$ROOT"/"$BOOT_FILES"/smlnj/basis -@@ -455,7 +511,7 @@ else +@@ -487,7 +544,7 @@ else cd "$ROOT"/"$BOOT_FILES" for anchor in * ; do if [ -d $anchor ] ; then @@ -126,7 +125,7 @@ move $anchor "$LIBDIR"/$anchor fi done -@@ -478,6 +534,18 @@ installdriver _ml-build ml-build +@@ -510,6 +567,18 @@ installdriver _ml-build ml-build cd "$ROOT" @@ -145,7 +144,7 @@ # # Now do all the rest using the precompiled installer # (see base/system/smlnj/installer for details) -@@ -487,6 +555,12 @@ if [ $nolib = false ] ; then +@@ -519,6 +588,12 @@ if [ $nolib = false ] ; then export ROOT INSTALLDIR CONFIGDIR BINDIR CM_TOLERATE_TOOL_FAILURES=true export CM_TOLERATE_TOOL_FAILURES @@ -155,10 +154,10 @@ + # propagated to the resulting heaps because the heaps generated + # in this stage don't contain the compiler. + [ -z "$STAGEDIR" ] || CM_PATHCONFIG=$CM_LOCAL_PATHCONFIG - if "$BINDIR"/sml -m \$smlnj/installer.cm + if "$BINDIR"/sml $SIZE_OPT -m \$smlnj/installer.cm then vsay $this: Installation complete. -@@ -494,5 +568,20 @@ if [ $nolib = false ] ; then +@@ -526,5 +601,20 @@ if [ $nolib = false ] ; then complain "$this: !!! Installation of libraries and programs failed." fi fi Index: files/patch-config_unpack =================================================================== --- files/patch-config_unpack (revision 519859) +++ files/patch-config_unpack (working copy) @@ -1,4 +1,4 @@ ---- config/unpack.orig 2016-08-04 14:38:24 UTC +--- config/unpack.orig 2019-10-28 14:53:16 UTC +++ config/unpack @@ -291,6 +291,9 @@ do # cd $ROOT/doc Index: pkg-plist =================================================================== --- pkg-plist (revision 519859) +++ pkg-plist (working copy) @@ -10,7 +10,7 @@ smlnj/bin/.heap/ml-antlr.%%MLARCH%%-bsd smlnj/bin/.heap/ml-burg.%%MLARCH%%-bsd smlnj/bin/.heap/ml-lex.%%MLARCH%%-bsd -smlnj/bin/.heap/ml-nlffigen.%%MLARCH%%-bsd +%%MLSIZE32%%smlnj/bin/.heap/ml-nlffigen.%%MLARCH%%-bsd smlnj/bin/.heap/ml-ulex.%%MLARCH%%-bsd smlnj/bin/.heap/ml-yacc.%%MLARCH%%-bsd %%EVERYTHING%%smlnj/bin/.heap/nowhere.%%MLARCH%%-bsd @@ -28,7 +28,7 @@ smlnj/bin/ml-burg smlnj/bin/ml-lex smlnj/bin/ml-makedepend -smlnj/bin/ml-nlffigen +%%MLSIZE32%%smlnj/bin/ml-nlffigen smlnj/bin/ml-ulex smlnj/bin/ml-yacc %%EVERYTHING%%smlnj/bin/nowhere @@ -40,7 +40,6 @@ smlnj/lib/SMLNJ-LIB/PP/.cm/%%MLARCH%%-unix/pp-lib.cm smlnj/lib/SMLNJ-LIB/Util/.cm/%%MLARCH%%-unix/smlnj-lib.cm smlnj/lib/SMLNJ-ML-YACC-LIB/.cm/%%MLARCH%%-unix/ml-yacc-lib.cm -smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/ALPHA.cm smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/AMD64-Peephole.cm smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/AMD64.cm smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/CCall-Vararg.cm @@ -50,7 +49,6 @@ smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/CCall.cm smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/Control.cm smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/Graphs.cm -smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/HPPA.cm smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/IA32-Peephole.cm smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/IA32.cm smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/Lib.cm @@ -67,9 +65,9 @@ smlnj/lib/asdl-lib.cm/.cm/%%MLARCH%%-unix/asdl-lib.cm smlnj/lib/asdlgen-tool.cm/.cm/%%MLARCH%%-unix/asdlgen-tool.cm smlnj/lib/burg-ext.cm/.cm/%%MLARCH%%-unix/burg-ext.cm -smlnj/lib/c/.cm/%%MLARCH%%-unix/c.cm -smlnj/lib/c/internals/.cm/%%MLARCH%%-unix/c-int.cm -smlnj/lib/c/memory/.cm/%%MLARCH%%-unix/memory.cm +%%MLSIZE32%%smlnj/lib/c/.cm/%%MLARCH%%-unix/c.cm +%%MLSIZE32%%smlnj/lib/c/internals/.cm/%%MLARCH%%-unix/c-int.cm +%%MLSIZE32%%smlnj/lib/c/memory/.cm/%%MLARCH%%-unix/memory.cm smlnj/lib/ckit-lib.cm/.cm/%%MLARCH%%-unix/ckit-lib.cm smlnj/lib/cml/.cm/%%MLARCH%%-unix/basis.cm smlnj/lib/cml/.cm/%%MLARCH%%-unix/cml-internal.cm @@ -122,11 +120,9 @@ smlnj/lib/smlnj/.cm/%%MLARCH%%-unix/compiler.cm smlnj/lib/smlnj/.cm/%%MLARCH%%-unix/installer.cm smlnj/lib/smlnj/.cm/%%MLARCH%%-unix/library-install.cm -smlnj/lib/smlnj/MLRISC/.cm/%%MLARCH%%-unix/ALPHA.cm smlnj/lib/smlnj/MLRISC/.cm/%%MLARCH%%-unix/AMD64.cm smlnj/lib/smlnj/MLRISC/.cm/%%MLARCH%%-unix/Control.cm smlnj/lib/smlnj/MLRISC/.cm/%%MLARCH%%-unix/Graphs.cm -smlnj/lib/smlnj/MLRISC/.cm/%%MLARCH%%-unix/HPPA.cm smlnj/lib/smlnj/MLRISC/.cm/%%MLARCH%%-unix/IA32.cm smlnj/lib/smlnj/MLRISC/.cm/%%MLARCH%%-unix/Lib.cm smlnj/lib/smlnj/MLRISC/.cm/%%MLARCH%%-unix/MLRISC.cm @@ -137,21 +133,16 @@ smlnj/lib/smlnj/basis/.cm/%%MLARCH%%-unix/basis.cm smlnj/lib/smlnj/cm/.cm/%%MLARCH%%-unix/cm.cm smlnj/lib/smlnj/cm/.cm/%%MLARCH%%-unix/tools.cm -smlnj/lib/smlnj/cmb/.cm/%%MLARCH%%-unix/alpha32-unix.cm smlnj/lib/smlnj/cmb/.cm/%%MLARCH%%-unix/amd64-unix.cm smlnj/lib/smlnj/cmb/.cm/%%MLARCH%%-unix/current.cm -smlnj/lib/smlnj/cmb/.cm/%%MLARCH%%-unix/hppa-unix.cm -smlnj/lib/smlnj/cmb/.cm/%%MLARCH%%-unix/ppc-macos.cm smlnj/lib/smlnj/cmb/.cm/%%MLARCH%%-unix/ppc-unix.cm smlnj/lib/smlnj/cmb/.cm/%%MLARCH%%-unix/sparc-unix.cm smlnj/lib/smlnj/cmb/.cm/%%MLARCH%%-unix/x86-unix.cm smlnj/lib/smlnj/cmb/.cm/%%MLARCH%%-unix/x86-win32.cm smlnj/lib/smlnj/compiler/.cm/%%MLARCH%%-unix/all.cm -smlnj/lib/smlnj/compiler/.cm/%%MLARCH%%-unix/alpha32.cm smlnj/lib/smlnj/compiler/.cm/%%MLARCH%%-unix/amd64.cm smlnj/lib/smlnj/compiler/.cm/%%MLARCH%%-unix/compiler.cm smlnj/lib/smlnj/compiler/.cm/%%MLARCH%%-unix/current.cm -smlnj/lib/smlnj/compiler/.cm/%%MLARCH%%-unix/hppa.cm smlnj/lib/smlnj/compiler/.cm/%%MLARCH%%-unix/minimal-only.cm smlnj/lib/smlnj/compiler/.cm/%%MLARCH%%-unix/minimal.cm smlnj/lib/smlnj/compiler/.cm/%%MLARCH%%-unix/ppc.cm @@ -170,7 +161,6 @@ smlnj/lib/smlnj/smlnj-lib/.cm/%%MLARCH%%-unix/html-lib.cm smlnj/lib/smlnj/smlnj-lib/.cm/%%MLARCH%%-unix/pp-lib.cm smlnj/lib/smlnj/smlnj-lib/.cm/%%MLARCH%%-unix/smlnj-lib.cm -smlnj/lib/smlnj/viscomp/.cm/%%MLARCH%%-unix/alpha32.cm smlnj/lib/smlnj/viscomp/.cm/%%MLARCH%%-unix/amd64.cm smlnj/lib/smlnj/viscomp/.cm/%%MLARCH%%-unix/basics.cm smlnj/lib/smlnj/viscomp/.cm/%%MLARCH%%-unix/core.cm @@ -178,7 +168,6 @@ smlnj/lib/smlnj/viscomp/.cm/%%MLARCH%%-unix/elabdata.cm smlnj/lib/smlnj/viscomp/.cm/%%MLARCH%%-unix/elaborate.cm smlnj/lib/smlnj/viscomp/.cm/%%MLARCH%%-unix/execute.cm -smlnj/lib/smlnj/viscomp/.cm/%%MLARCH%%-unix/hppa.cm smlnj/lib/smlnj/viscomp/.cm/%%MLARCH%%-unix/parser.cm smlnj/lib/smlnj/viscomp/.cm/%%MLARCH%%-unix/ppc.cm smlnj/lib/smlnj/viscomp/.cm/%%MLARCH%%-unix/sparc.cm