mlton (
20180207-1) unstable; urgency=low
* New upstream release; new build-depends:
* changed from htmldoc to python-pygments
* changed from imagemagick to graphicsmagick
* removed dblatex, ruby-albino, librsvg2-bin
* Bump debhelper compat to 10 (cdbs broken with 11/12)
* Bump standards version to 4.1.4
* mlton now only recommends mlton-doc
* Added riscv64 port
mlton (
20130715-3) unstable; urgency=low
* Build-depend only on mlton-compiler and mlton-tools
* Buildds got stuck by looking at the mlton all package
* Remove heap-size hacks; debian buildds have >2GB RAM now
* Source-only upload to ensure full rebuild
mlton (
20130715-2) unstable; urgency=low
* Remove policy-problematic smlnj HTML4 from the package
* Remove ports for hurd-i386 (unreliable) and ia64 (dead)
* Add arm64 port (use supplied patch; closes: #791936)
* Add mips64el port (needed a complete arch patch)
* Add ppc64el port (needs bin/platform patch)
* Track s390 port name change to s390x
* Fix kfreebsd ports (removed getpgrp work-around)
* Added build dependency on librsvg2-bin
mlton (
20130715-1) unstable; urgency=low
* New upstream release (closes: #762143)
* Always build PIC on Linux (closes: #837567)
* Bump debhelper compat to 9 (disable empty dbgsym packages)
* Bump standards version to 3.9.8 (use DEB_HOST_MULTIARCH)
* Replace README link with contents to help dh_installdocs
mlton (
20100608-5.1) unstable; urgency=low
* Non-Maintainer Upload
* Apply upstream patch to avoid __gmp_const breakage
(Closes: 707410)
* Apply patch from Matthias Klose to allow building on more target
triplets on i386, not just i486-linux-gnu (Closes: 640137)
mlton (
20100608-5) unstable; urgency=low
* Newest gcc and binutils fix mips[el] jump problem
* Uploaded mips[el] bootstrap packages as
20100608-4
* Build-Depend on newest gcc and binutils
* Removed explicit-relocs patch
* Include a diffs to current release head
* Necessary for 8-bit aligned MIPS read/writes
* Increase heap-size for mips post-alignment
* Building armel on debian buildd instead of qemu
* Heap-size 1.2g on 1.5g machines
* Added armhf port
mlton (
20100608-4) unstable; urgency=low
* Add missing install file for sparc runtime
* Make the self target symlink relative
* Added Replaces and Breaks the old version for smooth upgrades
* Previous build needed manual uploads, so buildd rebuild needed
* Still needing bootstrap:
* mips(el) gcc bug still unresolved and no-explicit-relocs fails too
mlton (
20100608-3) unstable; urgency=low
* Include all bugfixes since
20100608 release
* Depend on libgmp-dev (closes: #618268)
* Split package into compiler, runtime, basis, tools, and doc
* Use multiarch to support cross-compiling
* Eliminates the need for a mlton-cross package
* Updated standards version (no changes needed)
mlton (
20100608-2) unstable; urgency=low
* Added a new '-mno-explicit-relocs' mips work-around.
* Bug filed with gcc upstream (#44537)
mlton (
20100608-1) unstable; urgency=low
* New upstream release
* Removed the mips -fPIC work-around
* Filing a new gcc bug report upstream
mlton (
20100504~svn-r7459) unstable; urgency=low
* New snapshot from svn/HEAD
* Includes fixes for PIC codegen on x86
* Better handling of memory exhaustion
* Fix aliasing problem with newest gcc
* Switch to using quilt source format
mlton (
20100206~svn-r7414) unstable; urgency=low
* s390 and hurd need fixed-heap to stop thrashing on resize
* qemu'd armel needs max-heap to work-around mmap emulation problems
=> heap-size must choose {fixed/max}-heap
mlton (
20100206~svn-r7412) unstable; urgency=low
* Restored -fPIC work-around and reopened #552314.
* Got a qemu-linux-user with 1G of RAM to work => added armel target.
mlton (
20100205~svn-r7410) unstable; urgency=low
* New snapshot from svn/HEAD
* Split targets into sub-folder
* makes cross-compiler packages possible
* Add a debian/watch file for lintian
* Correct spelling errors in the manual page
* Updated to policy 3.8.4.0 (no changes)
* Removed -fPIC work-around for mips (closes: #552314)
mlton (
20091212~svn-r7383) unstable; urgency=low
* New snapshot from svn/HEAD
* Works around incompatible change to 'patch' (closes: #560623)
* Use a version number that reflects the snapshot nature (closes: #559014)
* Both upstream and debian packaging live in the same svn repository
* Prune the packaging folder from snapshots as well as releases
* For release versions use 20YYMMDD-rXXX, where
* 20YYMMDD is the name of the release soruce tarball
* XXX is the svn version of the packaging used
* For snapshots use 20YYMMDD~svn-rXXX, where
* 20YYMMDD is the date the snapshot was made
* XXX is the svn version of the packaging and source used
mlton (
20091107) unstable; urgency=low
* gcc-4.4 miscompiles more than just fpclassify. It is unusable.
* gcc-4.1 ICEs so also not an option.
* => use gcc-4.3, despite an off-by-one bug in mips branch generation
* Using -fPIC to compile changes the assembler enough to get past #552341
mlton (
20091104) unstable; urgency=low
* Two more regressions disabled on hurd (thread2 and world5)
* Switch mips back to gcc-4.4
* Found the cause of the segfault: fpclassify is broken on mips
* Disable its on linux/mips and use the MLton IEEE work-around code
mlton (
20091101) unstable; urgency=low
* The mips saga continues
* gcc-4.4 miscompiles code
* gcc-4.3 outputs bad branch statements
* => gcc-4.1 might work!
* Don't override gcc version on any architecture but mips[el]
* Change dependencies to require gcc-4.1 only on mips[el]
mlton (
20091029) unstable; urgency=low
* Bump the heap-size up a bit to 800m (850m for align8) -> fixes s390.
* Without a porter box it's hard to find the cause of mips(el) build failure
* One likely in the gcc changelog is an ABI change in gcc 4.4
* Apparently the packed attribute behaves differently now
* Since the runtime uses this attribute, rebuild it using gcc 4.4 as well
mlton (
20091028) unstable; urgency=low
* Added hurd memory-layout definition for mlnlffigen.
* Use gcc-4.4; it works around #552314 on mips.
* Switch to using cdbs and debhelper.
* Appease lintian (hyphens in manual, licence file, empty directories)
* Set the Homepage field
mlton (
20091022) unstable; urgency=low
* Added missing hurd variant to mlton-stubs bootstrap library.
mlton (
20091021) unstable; urgency=low
* Revised the heap-size script again to ensure 300m free for the OS.
* Got these buildds black-listed for low ram: fano, nautilus, rem
* Changed s390 alignment to 8 to fix Real64 regressions.
* Filled in regression tests for alpha, hppa, mips/el, powerpc, and s390.
* Added option DEB_BUILD_HEAP to override debian/heap-size defaults.
mlton (
20091018) unstable; urgency=low
* Apparently, procps needs to be installed to use 'free'.
* The buildds aren't overloaded, they just suck. Revised heap-size.
mlton (
20091017) unstable; urgency=low
* Debian buildds are heavily loaded -> ram-slop 0.7 is a bad idea.
* caused thrashing on nautilus (amd64)
* bootstrap troubles from
20070812 on paer (hppa)
* Solution => fixed-heap based on debian target (rules/heap-size)
* 800MB for 32-bit systems
* hppa, i386, kfreebsd-i386, mips, mipsel, powerpc, s390, sparc
* 1400MB for 64-bit systems
* alpha, amd64, ia64, kfreebsd-amd64
* Added hurd-i386 port
* 700MB fixed-heap (hurd can only map 800MB physical RAM)
* Disable regression suite on hurd; there is a bug in signal handling on
this platform (#551470) which causes these tests to hang:
mutex prodcons signals signals2 suspend timeout
* Otherwise all regressions pass
mlton (
20091015) unstable; urgency=low
* Rebuild proper packages using the buildd
* Added mips and mipsel architectures (bootstrap already uploaded)
* Switch to debian native version numbers
* Base the MLton version on the changelog
* Mark the smlnj script as bash-specific (closes: #530142)
mlton (
20091013-1) unstable; urgency=low
* New maintainer
* New upstream version taken from svn r7263
* Standards-version 3.8.3.0 (no changes)
* Added alpha ia64 kfreebsd-i386 s390 ports
* manual uploads of (half-broken) bootstrap packages will follow
* Handle nostrip build option (closes: #437581)
mlton (
20070826-1) unstable; urgency=low
* new upstream version
mlton (
20061107-1) unstable; urgency=low
* new upstream version
* Use max-heap 640m instead of fixed-heap 512m. hopefully closes: #396980
mlton (
20061026-1) unstable; urgency=low
* new upstream version
* Eliminated broken "cd" in bin/make-pdf-guide. closes: #394981
mlton (
20060213-1) unstable; urgency=low
* new upstream version
* Added dependence on libc6-dev. closes: #352645
mlton (
20051202-1) unstable; urgency=low
* new upstream version
mlton (
20051109-1) unstable; urgency=low
* new upstream version
mlton (
20051102-1) unstable; urgency=low
* new upstream version
mlton (
20050930-1) unstable; urgency=low
* Fixed postinst problem. closes: #329692
mlton (
20050906-1) unstable; urgency=low
* Replaces -mv8 with -mcpu=v8 for Sparc.
mlton (
20050901-1) unstable; urgency=low
* remaking package, linking normally with libgmp. Thus, the package
will depend on libgmp3c2, but that is OK for unstable.
* Fixed postinst script. closes: #325850
mlton (
20050826-1) unstable; urgency=low
* new upstream version
* Fixed broken $lib in mlton script. The previous package didn't
work at all.
mlton (
20050825-1) unstable; urgency=low
* new upstream version
* don't build statically, just link statically with libgmp.a
mlton (
20050824-1) unstable; urgency=low
* new upstream version
* built statically, closes: #324859
mlton (
20050823-1) unstable; urgency=low
* new upstream version
mlton (
20050822-1) unstable; urgency=low
* new upstream version
mlton (
20041109-1) unstable; urgency=low
* new upstream version
mlton (
20040227-1) unstable; urgency=low
* new upstream version
mlton (
20040106-1) unstable; urgency=low
* new upstream version
mlton (
20031202-1) unstable; urgency=low
* new upstream version
* define MREMAP_MAYMOVE to avoid including linux/mman.h, closes: #219987
* Switched from laxex2html to HeVeA, closes: #221341
mlton (
20030716-1) unstable; urgency=low
* new upstream version
mlton (
20030710-1) unstable; urgency=low
* new upstream version
mlton (
20021122-1) unstable; urgency=low
* new upstream version
* build in an unstable environment instead of testing
* renaming original source package -- treating as nonnative package
* added man page for mllex, closes: #166880
* added man page for mlyacc, closes: #166882
mlton (
20021018.1-1) unstable; urgency=low
* Build in a testing environment instead of stable.
* Put doc files in /usr/share/doc, not /usr/doc.
mlton (
20020930.1-1) unstable; urgency=low
* Recompiling without setting rpath.
mlton (
20020929.1-1) unstable; urgency=low
* Took over packaging and maintenance responsibilites from Barak.
* Moved the debian packaging stuff into the MLton CVS.
mlton (
20020728.1-1) unstable; urgency=low
* new upstream version
mlton (
20020410.1-1) unstable; urgency=low
* new upstream version
mlton (
20011006.1-2) unstable; urgency=low
* remove dependency on gcc; upstream
20011006 no longer uses it.
mlton (
20011006.1-1) unstable; urgency=low
* new upstream source
mlton (
20010806-3) unstable; urgency=low
* add build-time dependency on package time
* ignore upstream, use libgmp3-dev (closes: #111000) (closes: #111327)
mlton (
20010806-2) unstable; urgency=low
* add dependency on libgmp2-dev; mlton links its output with libgmp2
* add dependency on gcc; mlton calls it
* stop dh_strip from gnawing crucial bits off libmlton.a (closes: #109825)
* remove redundant license files
* longer explanation of compilation requirements in README.Debian
* rename upstream documentation file CHANGES.gz to changelog
mlton (
20010806-1) unstable; urgency=low
* Initial Release.
--- /dev/null
+mlton for Debian
+----------------
+
+ NOTE TO PORTERS AND AUTOBUILDERS
+
+MLton is self-hosting, ie building MLton requires a working ML
+compiler, and the Makefiles assume that this is MLton itself. This
+means MLton build-depends upon itself. Please don't whine about this
+fact (eg file bugs) unless you have something constructive to suggest.
+
+You can build MLton with older versions of itself, as long as the
+command-line switches haven't changed too much. You can also
+bootstrap with SML/NJ. See the User Guide for details.
+
+It is easy enough to manually build: fetch the latest linux binary tgz
+from www.mlton.org, symbolic link the binaries it contains into
+/usr/bin/ and its library directory as /usr/lib/mlton, and you're good
+to go.
+
+ HARDWARE REQUIREMENTS
+
+Compiling MLton requires at least 1024M of actual RAM. Thus, if your
+machine has less than this, it is likely that self-compilation will
+take a very long time due to paging. Even if you have enough memory,
+there simply may not be enough available, due to memory consumed by
+other processes. In this case, you may see an ``Out of memory''
+message, or self-compilation may become extremely slow. The only fix
+is to make sure that enough memory is available.
+
+Now, get out there and have a MLton of fun!
+
+ -- Barak Pearlmutter <bap@cs.unm.edu>, Fri, 12 Oct 2001 11:31:16 -0600
+ -- Stephen Weeks <sweeks@sweeks.com>, Fri, 11 Jul 2003 12:27:26 -0700
+ -- Wesley W. Terpstra <terpstra@debian.org>, Tue, 13 Oct 2009 03:47:12 +0200
--- /dev/null
+mlton (20180207-1) unstable; urgency=low
+
+ * New upstream release; new build-depends:
+ * changed from htmldoc to python-pygments
+ * changed from imagemagick to graphicsmagick
+ * removed dblatex, ruby-albino, librsvg2-bin
+ * Bump debhelper compat to 10 (cdbs broken with 11/12)
+ * Bump standards version to 4.1.4
+ * mlton now only recommends mlton-doc
+ * Added riscv64 port
+
+ -- Wesley W. Terpstra <terpstra@debian.org> Tue, 10 Apr 2018 13:38:06 -0700
+
+mlton (20130715-3) unstable; urgency=low
+
+ * Build-depend only on mlton-compiler and mlton-tools
+ * Buildds got stuck by looking at the mlton all package
+ * Remove heap-size hacks; debian buildds have >2GB RAM now
+ * Source-only upload to ensure full rebuild
+
+ -- Wesley W. Terpstra <terpstra@debian.org> Sun, 18 Dec 2016 22:48:17 +0100
+
+mlton (20130715-2) unstable; urgency=low
+
+ * Remove policy-problematic smlnj HTML4 from the package
+ * Remove ports for hurd-i386 (unreliable) and ia64 (dead)
+ * Add arm64 port (use supplied patch; closes: #791936)
+ * Add mips64el port (needed a complete arch patch)
+ * Add ppc64el port (needs bin/platform patch)
+ * Track s390 port name change to s390x
+ * Fix kfreebsd ports (removed getpgrp work-around)
+ * Added build dependency on librsvg2-bin
+
+ -- Wesley W. Terpstra <terpstra@debian.org> Sat, 17 Dec 2016 03:39:49 +0100
+
+mlton (20130715-1) unstable; urgency=low
+
+ * New upstream release (closes: #762143)
+ * Always build PIC on Linux (closes: #837567)
+ * Bump debhelper compat to 9 (disable empty dbgsym packages)
+ * Bump standards version to 3.9.8 (use DEB_HOST_MULTIARCH)
+ * Replace README link with contents to help dh_installdocs
+
+ -- Wesley W. Terpstra <terpstra@debian.org> Fri, 9 Dec 2016 12:11:32 +0200
+
+mlton (20100608-5.1) unstable; urgency=low
+
+ * Non-Maintainer Upload
+ * Apply upstream patch to avoid __gmp_const breakage
+ (Closes: 707410)
+ * Apply patch from Matthias Klose to allow building on more target
+ triplets on i386, not just i486-linux-gnu (Closes: 640137)
+
+ -- Florian Weimer <fw@deneb.enyo.de> Sat, 19 Oct 2013 19:39:58 +0200
+
+mlton (20100608-5) unstable; urgency=low
+
+ * Newest gcc and binutils fix mips[el] jump problem
+ * Uploaded mips[el] bootstrap packages as 20100608-4
+ * Build-Depend on newest gcc and binutils
+ * Removed explicit-relocs patch
+ * Include a diffs to current release head
+ * Necessary for 8-bit aligned MIPS read/writes
+ * Increase heap-size for mips post-alignment
+ * Building armel on debian buildd instead of qemu
+ * Heap-size 1.2g on 1.5g machines
+ * Added armhf port
+
+ -- Wesley W. Terpstra (Debian) <terpstra@debian.org> Tue, 19 Jul 2011 12:29:52 +0200
+
+mlton (20100608-4) unstable; urgency=low
+
+ * Add missing install file for sparc runtime
+ * Make the self target symlink relative
+ * Added Replaces and Breaks the old version for smooth upgrades
+ * Previous build needed manual uploads, so buildd rebuild needed
+ * Still needing bootstrap:
+ * mips(el) gcc bug still unresolved and no-explicit-relocs fails too
+
+ -- Wesley W. Terpstra (Debian) <terpstra@debian.org> Fri, 01 Apr 2011 22:57:25 +0200
+
+mlton (20100608-3) unstable; urgency=low
+
+ * Include all bugfixes since 20100608 release
+ * Depend on libgmp-dev (closes: #618268)
+ * Split package into compiler, runtime, basis, tools, and doc
+ * Use multiarch to support cross-compiling
+ * Eliminates the need for a mlton-cross package
+ * Updated standards version (no changes needed)
+
+ -- Wesley W. Terpstra (Debian) <terpstra@debian.org> Sun, 20 Mar 2011 14:05:32 +0100
+
+mlton (20100608-2) unstable; urgency=low
+
+ * Added a new '-mno-explicit-relocs' mips work-around.
+ * Bug filed with gcc upstream (#44537)
+
+ -- Wesley W. Terpstra (Debian) <terpstra@debian.org> Mon, 14 Jun 2010 18:28:58 +0200
+
+mlton (20100608-1) unstable; urgency=low
+
+ * New upstream release
+ * Removed the mips -fPIC work-around
+ * Filing a new gcc bug report upstream
+
+ -- Wesley W. Terpstra (Debian) <terpstra@debian.org> Fri, 11 Jun 2010 16:11:59 +0200
+
+mlton (20100504~svn-r7459) unstable; urgency=low
+
+ * New snapshot from svn/HEAD
+ * Includes fixes for PIC codegen on x86
+ * Better handling of memory exhaustion
+ * Fix aliasing problem with newest gcc
+ * Switch to using quilt source format
+
+ -- Wesley W. Terpstra (Debian) <terpstra@debian.org> Tue, 04 May 2010 19:26:59 +0200
+
+mlton (20100206~svn-r7414) unstable; urgency=low
+
+ * s390 and hurd need fixed-heap to stop thrashing on resize
+ * qemu'd armel needs max-heap to work-around mmap emulation problems
+ => heap-size must choose {fixed/max}-heap
+
+ -- Wesley W. Terpstra (Debian) <terpstra@debian.org> Mon, 08 Feb 2010 20:22:20 +0100
+
+mlton (20100206~svn-r7412) unstable; urgency=low
+
+ * Restored -fPIC work-around and reopened #552314.
+ * Got a qemu-linux-user with 1G of RAM to work => added armel target.
+
+ -- Wesley W. Terpstra (Debian) <terpstra@debian.org> Sat, 06 Feb 2010 11:16:31 +0100
+
+mlton (20100205~svn-r7410) unstable; urgency=low
+
+ * New snapshot from svn/HEAD
+ * Split targets into sub-folder
+ * makes cross-compiler packages possible
+ * Add a debian/watch file for lintian
+ * Correct spelling errors in the manual page
+ * Updated to policy 3.8.4.0 (no changes)
+ * Removed -fPIC work-around for mips (closes: #552314)
+
+ -- Wesley W. Terpstra (Debian) <terpstra@debian.org> Fri, 05 Feb 2010 17:13:06 +0100
+
+mlton (20091212~svn-r7383) unstable; urgency=low
+
+ * New snapshot from svn/HEAD
+ * Works around incompatible change to 'patch' (closes: #560623)
+ * Use a version number that reflects the snapshot nature (closes: #559014)
+ * Both upstream and debian packaging live in the same svn repository
+ * Prune the packaging folder from snapshots as well as releases
+ * For release versions use 20YYMMDD-rXXX, where
+ * 20YYMMDD is the name of the release soruce tarball
+ * XXX is the svn version of the packaging used
+ * For snapshots use 20YYMMDD~svn-rXXX, where
+ * 20YYMMDD is the date the snapshot was made
+ * XXX is the svn version of the packaging and source used
+
+ -- Wesley W. Terpstra (Debian) <terpstra@debian.org> Sat, 12 Dec 2009 02:37:12 +0100
+
+mlton (20091107) unstable; urgency=low
+
+ * gcc-4.4 miscompiles more than just fpclassify. It is unusable.
+ * gcc-4.1 ICEs so also not an option.
+ * => use gcc-4.3, despite an off-by-one bug in mips branch generation
+ * Using -fPIC to compile changes the assembler enough to get past #552341
+
+ -- Wesley W. Terpstra (Debian) <terpstra@debian.org> Sat, 07 Nov 2009 17:26:11 +0100
+
+mlton (20091104) unstable; urgency=low
+
+ * Two more regressions disabled on hurd (thread2 and world5)
+ * Switch mips back to gcc-4.4
+ * Found the cause of the segfault: fpclassify is broken on mips
+ * Disable its on linux/mips and use the MLton IEEE work-around code
+
+ -- Wesley W. Terpstra (Debian) <terpstra@debian.org> Wed, 04 Nov 2009 12:04:36 +0100
+
+mlton (20091101) unstable; urgency=low
+
+ * The mips saga continues
+ * gcc-4.4 miscompiles code
+ * gcc-4.3 outputs bad branch statements
+ * => gcc-4.1 might work!
+ * Don't override gcc version on any architecture but mips[el]
+ * Change dependencies to require gcc-4.1 only on mips[el]
+
+ -- Wesley W. Terpstra (Debian) <terpstra@debian.org> Sun, 01 Nov 2009 18:38:37 +0100
+
+mlton (20091029) unstable; urgency=low
+
+ * Bump the heap-size up a bit to 800m (850m for align8) -> fixes s390.
+ * Without a porter box it's hard to find the cause of mips(el) build failure
+ * One likely in the gcc changelog is an ABI change in gcc 4.4
+ * Apparently the packed attribute behaves differently now
+ * Since the runtime uses this attribute, rebuild it using gcc 4.4 as well
+
+ -- Wesley W. Terpstra (Debian) <terpstra@debian.org> Sun, 01 Nov 2009 07:19:14 +0100
+
+mlton (20091028) unstable; urgency=low
+
+ * Added hurd memory-layout definition for mlnlffigen.
+ * Use gcc-4.4; it works around #552314 on mips.
+ * Switch to using cdbs and debhelper.
+ * Appease lintian (hyphens in manual, licence file, empty directories)
+ * Set the Homepage field
+
+ -- Wesley W. Terpstra (Debian) <terpstra@debian.org> Wed, 28 Oct 2009 18:35:04 +0100
+
+mlton (20091022) unstable; urgency=low
+
+ * Added missing hurd variant to mlton-stubs bootstrap library.
+
+ -- Wesley W. Terpstra (Debian) <terpstra@debian.org> Thu, 22 Oct 2009 12:00:13 +0200
+
+mlton (20091021) unstable; urgency=low
+
+ * Revised the heap-size script again to ensure 300m free for the OS.
+ * Got these buildds black-listed for low ram: fano, nautilus, rem
+ * Changed s390 alignment to 8 to fix Real64 regressions.
+ * Filled in regression tests for alpha, hppa, mips/el, powerpc, and s390.
+ * Added option DEB_BUILD_HEAP to override debian/heap-size defaults.
+
+ -- Wesley W. Terpstra (Debian) <terpstra@debian.org> Mon, 19 Oct 2009 14:37:57 +0200
+
+mlton (20091018) unstable; urgency=low
+
+ * Apparently, procps needs to be installed to use 'free'.
+ * The buildds aren't overloaded, they just suck. Revised heap-size.
+
+ -- Wesley W. Terpstra (Debian) <terpstra@debian.org> Mon, 19 Oct 2009 02:32:45 +0200
+
+mlton (20091017) unstable; urgency=low
+
+ * Debian buildds are heavily loaded -> ram-slop 0.7 is a bad idea.
+ * caused thrashing on nautilus (amd64)
+ * bootstrap troubles from 20070812 on paer (hppa)
+ * Solution => fixed-heap based on debian target (rules/heap-size)
+ * 800MB for 32-bit systems
+ * hppa, i386, kfreebsd-i386, mips, mipsel, powerpc, s390, sparc
+ * 1400MB for 64-bit systems
+ * alpha, amd64, ia64, kfreebsd-amd64
+ * Added hurd-i386 port
+ * 700MB fixed-heap (hurd can only map 800MB physical RAM)
+ * Disable regression suite on hurd; there is a bug in signal handling on
+ this platform (#551470) which causes these tests to hang:
+ mutex prodcons signals signals2 suspend timeout
+ * Otherwise all regressions pass
+
+ -- Wesley W. Terpstra (Debian) <terpstra@debian.org> Sat, 17 Oct 2009 19:12:00 +0200
+
+mlton (20091015) unstable; urgency=low
+
+ * Rebuild proper packages using the buildd
+ * Added mips and mipsel architectures (bootstrap already uploaded)
+ * Switch to debian native version numbers
+ * Base the MLton version on the changelog
+ * Mark the smlnj script as bash-specific (closes: #530142)
+
+ -- Wesley W. Terpstra (Debian) <terpstra@debian.org> Thu, 15 Oct 2009 21:09:17 +0200
+
+mlton (20091013-1) unstable; urgency=low
+
+ * New maintainer
+ * New upstream version taken from svn r7263
+ * Standards-version 3.8.3.0 (no changes)
+ * Added alpha ia64 kfreebsd-i386 s390 ports
+ * manual uploads of (half-broken) bootstrap packages will follow
+ * Handle nostrip build option (closes: #437581)
+
+ -- Wesley W. Terpstra (Debian) <terpstra@debian.org> Wed, 14 Oct 2009 15:37:25 +0200
+
+mlton (20070826-1) unstable; urgency=low
+
+ * new upstream version
+
+ -- Stephen Weeks <sweeks@sweeks.com> Mon, 03 Sep 2007 13:34:12 -0400
+
+mlton (20061107-1) unstable; urgency=low
+
+ * new upstream version
+ * Use max-heap 640m instead of fixed-heap 512m. hopefully closes: #396980
+
+ -- Stephen Weeks <sweeks@sweeks.com> Tue, 07 Nov 2006 14:01:53 -0800
+
+mlton (20061026-1) unstable; urgency=low
+
+ * new upstream version
+ * Eliminated broken "cd" in bin/make-pdf-guide. closes: #394981
+
+ -- Stephen Weeks <sweeks@sweeks.com> Thu, 26 Oct 2006 12:04:20 -0700
+
+mlton (20060213-1) unstable; urgency=low
+
+ * new upstream version
+ * Added dependence on libc6-dev. closes: #352645
+
+ -- Stephen Weeks <sweeks@sweeks.com> Mon, 13 Feb 2006 10:16:46 -0800
+
+mlton (20051202-1) unstable; urgency=low
+
+ * new upstream version
+
+ -- Stephen Weeks <sweeks@sweeks.com> Thu, 01 Dec 2005 22:53:04 -0800
+
+mlton (20051109-1) unstable; urgency=low
+
+ * new upstream version
+
+ -- Stephen Weeks <sweeks@sweeks.com> Wed, 09 Nov 2005 18:47:04 -0800
+
+mlton (20051102-1) unstable; urgency=low
+
+ * new upstream version
+
+ -- Stephen Weeks <sweeks@sweeks.com> Wed, 02 Nov 2005 18:45:50 -0800
+
+mlton (20050930-1) unstable; urgency=low
+
+ * Fixed postinst problem. closes: #329692
+
+ -- Stephen Weeks <sweeks@sweeks.com> Fri, 30 Sep 2005 09:19:50 -0700
+
+mlton (20050906-1) unstable; urgency=low
+
+ * Replaces -mv8 with -mcpu=v8 for Sparc.
+
+ -- Stephen Weeks <sweeks@sweeks.com> Tue, 06 Sep 2005 14:57:46 -0700
+
+mlton (20050901-1) unstable; urgency=low
+
+ * remaking package, linking normally with libgmp. Thus, the package
+ will depend on libgmp3c2, but that is OK for unstable.
+ * Fixed postinst script. closes: #325850
+
+ -- Stephen Weeks <sweeks@sweeks.com> Thu, 01 Sep 2005 00:20:20 -0700
+
+mlton (20050826-1) unstable; urgency=low
+
+ * new upstream version
+ * Fixed broken $lib in mlton script. The previous package didn't
+ work at all.
+
+ -- Stephen Weeks <sweeks@sweeks.com> Thu, 25 Aug 2005 13:33:41 -0700
+
+mlton (20050825-1) unstable; urgency=low
+
+ * new upstream version
+ * don't build statically, just link statically with libgmp.a
+
+ -- Stephen Weeks <sweeks@sweeks.com> Thu, 25 Aug 2005 06:14:06 -0700
+
+mlton (20050824-1) unstable; urgency=low
+
+ * new upstream version
+ * built statically, closes: #324859
+
+ -- Stephen Weeks <sweeks@sweeks.com> Wed, 24 Aug 2005 15:13:19 -0700
+
+mlton (20050823-1) unstable; urgency=low
+
+ * new upstream version
+
+ -- Stephen Weeks <sweeks@sweeks.com> Tue, 23 Aug 2005 14:56:59 -0700
+
+mlton (20050822-1) unstable; urgency=low
+
+ * new upstream version
+
+ -- Stephen Weeks <sweeks@sweeks.com> Mon, 22 Aug 2005 17:13:09 -0700
+
+mlton (20041109-1) unstable; urgency=low
+
+ * new upstream version
+
+ -- Stephen Weeks <sweeks@sweeks.com> Tue, 09 Nov 2004 00:00:00 -0800
+
+mlton (20040227-1) unstable; urgency=low
+
+ * new upstream version
+
+ -- Stephen Weeks <sweeks@sweeks.com> Fri, 27 Feb 2004 17:20:04 -0800
+
+mlton (20040106-1) unstable; urgency=low
+
+ * new upstream version
+
+ -- Stephen Weeks <sweeks@sweeks.com> Wed, 10 Dec 2003 10:45:33 -0800
+
+mlton (20031202-1) unstable; urgency=low
+
+ * new upstream version
+ * define MREMAP_MAYMOVE to avoid including linux/mman.h, closes: #219987
+ * Switched from laxex2html to HeVeA, closes: #221341
+
+ -- Stephen Weeks <sweeks@sweeks.com> Tue, 02 Dec 2003 06:54:35 -0800
+
+mlton (20030716-1) unstable; urgency=low
+
+ * new upstream version
+
+ -- Stephen Weeks <sweeks@sweeks.com> Wed, 16 Jul 2003 10:42:34 -0700
+
+mlton (20030710-1) unstable; urgency=low
+
+ * new upstream version
+
+ -- Stephen Weeks <sweeks@sweeks.com> Fri, 14 Mar 2003 00:23:46 -0800
+
+mlton (20021122-1) unstable; urgency=low
+
+ * new upstream version
+ * build in an unstable environment instead of testing
+ * renaming original source package -- treating as nonnative package
+ * added man page for mllex, closes: #166880
+ * added man page for mlyacc, closes: #166882
+
+ -- Stephen Weeks <sweeks@sweeks.com> Mon, 28 Oct 2002 20:08:36 -0800
+
+mlton (20021018.1-1) unstable; urgency=low
+
+ * Build in a testing environment instead of stable.
+ * Put doc files in /usr/share/doc, not /usr/doc.
+
+ -- Stephen Weeks <sweeks@sweeks.com> Thu, 17 Oct 2002 15:07:53 -0700
+
+mlton (20020930.1-1) unstable; urgency=low
+
+ * Recompiling without setting rpath.
+
+ -- Stephen Weeks <sweeks@sweeks.com> Mon, 30 Sep 2002 15:37:04 -0700
+
+mlton (20020929.1-1) unstable; urgency=low
+
+ * Took over packaging and maintenance responsibilites from Barak.
+ * Moved the debian packaging stuff into the MLton CVS.
+
+ -- Stephen Weeks <sweeks@sweeks.com> Sun, 29 Sep 2002 00:01:46 -0700
+
+mlton (20020728.1-1) unstable; urgency=low
+
+ * new upstream version
+
+ -- Barak Pearlmutter <bap@cs.unm.edu> Mon, 29 Jul 2002 10:57:36 -0600
+
+mlton (20020410.1-1) unstable; urgency=low
+
+ * new upstream version
+
+ -- Barak Pearlmutter <bap@cs.unm.edu> Sun, 14 Apr 2002 13:49:16 -0600
+
+mlton (20011006.1-2) unstable; urgency=low
+
+ * remove dependency on gcc; upstream 20011006 no longer uses it.
+
+ -- Barak Pearlmutter <bap@cs.unm.edu> Mon, 15 Oct 2001 02:49:26 -0600
+
+mlton (20011006.1-1) unstable; urgency=low
+
+ * new upstream source
+
+ -- Barak Pearlmutter <bap@cs.unm.edu> Thu, 11 Oct 2001 02:20:57 -0600
+
+mlton (20010806-3) unstable; urgency=low
+
+ * add build-time dependency on package time
+ * ignore upstream, use libgmp3-dev (closes: #111000) (closes: #111327)
+
+ -- Barak Pearlmutter <bap@cs.unm.edu> Thu, 6 Sep 2001 01:35:40 -0600
+
+mlton (20010806-2) unstable; urgency=low
+
+ * add dependency on libgmp2-dev; mlton links its output with libgmp2
+ * add dependency on gcc; mlton calls it
+ * stop dh_strip from gnawing crucial bits off libmlton.a (closes: #109825)
+ * remove redundant license files
+ * longer explanation of compilation requirements in README.Debian
+ * rename upstream documentation file CHANGES.gz to changelog
+
+ -- Barak Pearlmutter <bap@cs.unm.edu> Fri, 24 Aug 2001 01:05:27 -0600
+
+mlton (20010806-1) unstable; urgency=low
+
+ * Initial Release.
+
+ -- Barak Pearlmutter <bap@cs.unm.edu> Mon, 20 Aug 2001 01:57:57 -0600
--- /dev/null
+Source: mlton
+Section: devel
+Priority: optional
+Maintainer: Wesley W. Terpstra <terpstra@debian.org>
+Build-Depends: mlton-compiler, mlton-tools, libgmp-dev, debhelper (>= 10.0.0), cdbs (>= 0.4.52), quilt, binutils (>= 2.21.51.201104) [mips mipsel], gcc (>= 4:4.6.0-5) [mips mipsel], procps, texlive-latex-base, asciidoc, python-pygments, graphicsmagick
+Standards-Version: 4.1.4
+
+Package: mlton
+Architecture: all
+Multi-Arch: foreign
+Depends: ${misc:Depends}, mlton-compiler (>= ${source:Version}), mlton-compiler (<< ${source:Version}.1~), mlton-tools (>= ${source:Version}), mlton-tools (<< ${source:Version}.1~)
+Recommends: mlton-doc (= ${source:Version})
+Homepage: http://mlton.org/
+Description: Optimizing compiler for Standard ML
+ MLton is a whole-program optimizing compiler
+ for Standard ML. MLton generates standalone
+ executables with excellent runtime performance,
+ is SML 97 compliant, and has a complete basis
+ library. MLton has source-level profiling,
+ a fast C FFI, an interface to the GNU
+ multiprecision library, and lots of useful
+ libraries.
+ .
+ This metapackage depends on all MLton packages.
+
+Package: mlton-basis
+Architecture: all
+Multi-Arch: foreign
+Depends: ${misc:Depends}
+Breaks: mlton (<< 20100608-3)
+Replaces: mlton (<< 20100608-3)
+Homepage: http://mlton.org/
+Description: Optimizing compiler for Standard ML - basis library
+ MLton is a whole-program optimizing compiler
+ for Standard ML. MLton generates standalone
+ executables with excellent runtime performance,
+ is SML 97 compliant, and has a complete basis
+ library. MLton has source-level profiling,
+ a fast C FFI, an interface to the GNU
+ multiprecision library, and lots of useful
+ libraries.
+ .
+ This package includes the cross-platform basis.
+
+Package: mlton-doc
+Section: doc
+Architecture: all
+Multi-Arch: foreign
+Depends: ${misc:Depends}
+Breaks: mlton (<< 20100608-3)
+Replaces: mlton (<< 20100608-3)
+Homepage: http://mlton.org/
+Description: Optimizing compiler for Standard ML - documentation
+ MLton is a whole-program optimizing compiler
+ for Standard ML. MLton generates standalone
+ executables with excellent runtime performance,
+ is SML 97 compliant, and has a complete basis
+ library. MLton has source-level profiling,
+ a fast C FFI, an interface to the GNU
+ multiprecision library, and lots of useful
+ libraries.
+ .
+ This package includes non-man-page documentation.
+
+Package: mlton-compiler
+Architecture: alpha amd64 arm64 armel armhf hppa i386 kfreebsd-i386 kfreebsd-amd64 mips64el mips mipsel powerpc ppc64el riscv64 s390x sparc
+Multi-Arch: foreign
+Depends: ${shlibs:Depends}, ${misc:Depends}, gcc, libc6-dev, libgmp-dev, mlton-basis (= ${source:Version}), mlton-runtime-native (= ${binary:Version}) | mlton-runtime
+Breaks: mlton (<< 20100608-3)
+Replaces: mlton (<< 20100608-3)
+Homepage: http://mlton.org/
+Description: Optimizing compiler for Standard ML - compiler
+ MLton is a whole-program optimizing compiler
+ for Standard ML. MLton generates standalone
+ executables with excellent runtime performance,
+ is SML 97 compliant, and has a complete basis
+ library. MLton has source-level profiling,
+ a fast C FFI, an interface to the GNU
+ multiprecision library, and lots of useful
+ libraries.
+ .
+ This package includes the compiler itself.
+
+Package: mlton-tools
+Architecture: alpha amd64 arm64 armel armhf hppa i386 kfreebsd-i386 kfreebsd-amd64 mips64el mips mipsel powerpc ppc64el riscv64 s390x sparc
+Multi-Arch: foreign
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Breaks: mlton (<< 20100608-3)
+Replaces: mlton (<< 20100608-3)
+Homepage: http://mlton.org/
+Description: Optimizing compiler for Standard ML - tools
+ MLton is a whole-program optimizing compiler
+ for Standard ML. MLton generates standalone
+ executables with excellent runtime performance,
+ is SML 97 compliant, and has a complete basis
+ library. MLton has source-level profiling,
+ a fast C FFI, an interface to the GNU
+ multiprecision library, and lots of useful
+ libraries.
+ .
+ This package includes tools which autogenerate SML.
+
+Package: mlton-runtime-native
+Architecture: alpha amd64 arm64 armel armhf hppa i386 kfreebsd-i386 kfreebsd-amd64 mips64el mips mipsel powerpc ppc64el riscv64 s390x sparc
+Depends: ${misc:Depends}, mlton-runtime-alpha-linux-gnu (= ${binary:Version}) [alpha] | mlton-runtime-x86-64-linux-gnu (= ${binary:Version}) [amd64] | mlton-runtime-aarch64-linux-gnu (= ${binary:Version}) [arm64] | mlton-runtime-arm-linux-gnueabi (= ${binary:Version}) [armel] | mlton-runtime-arm-linux-gnueabihf (= ${binary:Version}) [armhf] | mlton-runtime-hppa-linux-gnu (= ${binary:Version}) [hppa] | mlton-runtime-i486-linux-gnu (= ${binary:Version}) [i386] | mlton-runtime-i486-kfreebsd-gnu (= ${binary:Version}) [kfreebsd-i386] | mlton-runtime-x86-64-kfreebsd-gnu (= ${binary:Version}) [kfreebsd-amd64] | mlton-runtime-mips64el-linux-gnuabi64 (= ${binary:Version}) [mips64el] | mlton-runtime-mips-linux-gnu (= ${binary:Version}) [mips] | mlton-runtime-mipsel-linux-gnu (= ${binary:Version}) [mipsel] | mlton-runtime-powerpc-linux-gnu (= ${binary:Version}) [powerpc] | mlton-runtime-powerpc64le-linux-gnu (= ${binary:Version}) [ppc64el] | mlton-runtime-s390x-linux-gnu (= ${binary:Version}) [s390x] | mlton-runtime-sparc-linux-gnu (= ${binary:Version}) [sparc]
+Homepage: http://mlton.org/
+Description: Optimizing compiler for Standard ML - native runtime libraries
+ MLton is a whole-program optimizing compiler
+ for Standard ML. MLton generates standalone
+ executables with excellent runtime performance,
+ is SML 97 compliant, and has a complete basis
+ library. MLton has source-level profiling,
+ a fast C FFI, an interface to the GNU
+ multiprecision library, and lots of useful
+ libraries.
+ .
+ This metapackage depends on native target libraries.
+
+Package: mlton-runtime-alpha-linux-gnu
+Architecture: alpha
+Multi-Arch: foreign
+Depends: ${misc:Depends}, mlton-basis (= ${source:Version})
+Provides: mlton-runtime
+Homepage: http://mlton.org/
+Description: Optimizing compiler for Standard ML - alpha runtime libraries
+ MLton is a whole-program optimizing compiler
+ for Standard ML. MLton generates standalone
+ executables with excellent runtime performance,
+ is SML 97 compliant, and has a complete basis
+ library. MLton has source-level profiling,
+ a fast C FFI, an interface to the GNU
+ multiprecision library, and lots of useful
+ libraries.
+ .
+ This package provides alpha target libraries.
+
+Package: mlton-runtime-x86-64-linux-gnu
+Architecture: amd64
+Multi-Arch: foreign
+Depends: ${misc:Depends}, mlton-basis (= ${source:Version})
+Provides: mlton-runtime
+Homepage: http://mlton.org/
+Description: Optimizing compiler for Standard ML - amd64 runtime libraries
+ MLton is a whole-program optimizing compiler
+ for Standard ML. MLton generates standalone
+ executables with excellent runtime performance,
+ is SML 97 compliant, and has a complete basis
+ library. MLton has source-level profiling,
+ a fast C FFI, an interface to the GNU
+ multiprecision library, and lots of useful
+ libraries.
+ .
+ This package provides x86-64 target libraries.
+
+Package: mlton-runtime-aarch64-linux-gnu
+Architecture: arm64
+Multi-Arch: foreign
+Depends: ${misc:Depends}, mlton-basis (= ${source:Version})
+Provides: mlton-runtime
+Homepage: http://mlton.org/
+Description: Optimizing compiler for Standard ML - arm64 runtime libraries
+ MLton is a whole-program optimizing compiler
+ for Standard ML. MLton generates standalone
+ executables with excellent runtime performance,
+ is SML 97 compliant, and has a complete basis
+ library. MLton has source-level profiling,
+ a fast C FFI, an interface to the GNU
+ multiprecision library, and lots of useful
+ libraries.
+ .
+ This package provides arm64 target libraries.
+
+Package: mlton-runtime-arm-linux-gnueabi
+Architecture: armel
+Multi-Arch: foreign
+Depends: ${misc:Depends}, mlton-basis (= ${source:Version})
+Provides: mlton-runtime
+Homepage: http://mlton.org/
+Description: Optimizing compiler for Standard ML - armel runtime libraries
+ MLton is a whole-program optimizing compiler
+ for Standard ML. MLton generates standalone
+ executables with excellent runtime performance,
+ is SML 97 compliant, and has a complete basis
+ library. MLton has source-level profiling,
+ a fast C FFI, an interface to the GNU
+ multiprecision library, and lots of useful
+ libraries.
+ .
+ This package provides arm target libraries.
+
+Package: mlton-runtime-arm-linux-gnueabihf
+Architecture: armhf
+Multi-Arch: foreign
+Depends: ${misc:Depends}, mlton-basis (= ${source:Version})
+Provides: mlton-runtime
+Homepage: http://mlton.org/
+Description: Optimizing compiler for Standard ML - armhf runtime libraries
+ MLton is a whole-program optimizing compiler
+ for Standard ML. MLton generates standalone
+ executables with excellent runtime performance,
+ is SML 97 compliant, and has a complete basis
+ library. MLton has source-level profiling,
+ a fast C FFI, an interface to the GNU
+ multiprecision library, and lots of useful
+ libraries.
+ .
+ This package provides armhf target libraries.
+
+Package: mlton-runtime-hppa-linux-gnu
+Architecture: hppa
+Multi-Arch: foreign
+Depends: ${misc:Depends}, mlton-basis (= ${source:Version})
+Provides: mlton-runtime
+Homepage: http://mlton.org/
+Description: Optimizing compiler for Standard ML - hppa runtime libraries
+ MLton is a whole-program optimizing compiler
+ for Standard ML. MLton generates standalone
+ executables with excellent runtime performance,
+ is SML 97 compliant, and has a complete basis
+ library. MLton has source-level profiling,
+ a fast C FFI, an interface to the GNU
+ multiprecision library, and lots of useful
+ libraries.
+ .
+ This package provides hppa target libraries.
+
+Package: mlton-runtime-i486-linux-gnu
+Architecture: i386
+Multi-Arch: foreign
+Depends: ${misc:Depends}, mlton-basis (= ${source:Version})
+Provides: mlton-runtime
+Homepage: http://mlton.org/
+Description: Optimizing compiler for Standard ML - i386 runtime libraries
+ MLton is a whole-program optimizing compiler
+ for Standard ML. MLton generates standalone
+ executables with excellent runtime performance,
+ is SML 97 compliant, and has a complete basis
+ library. MLton has source-level profiling,
+ a fast C FFI, an interface to the GNU
+ multiprecision library, and lots of useful
+ libraries.
+ .
+ This package provides i486 target libraries.
+
+Package: mlton-runtime-i486-kfreebsd-gnu
+Architecture: kfreebsd-i386
+Multi-Arch: foreign
+Depends: ${misc:Depends}, mlton-basis (= ${source:Version})
+Provides: mlton-runtime
+Homepage: http://mlton.org/
+Description: Optimizing compiler for Standard ML - kfreebsd-i386 runtime libraries
+ MLton is a whole-program optimizing compiler
+ for Standard ML. MLton generates standalone
+ executables with excellent runtime performance,
+ is SML 97 compliant, and has a complete basis
+ library. MLton has source-level profiling,
+ a fast C FFI, an interface to the GNU
+ multiprecision library, and lots of useful
+ libraries.
+ .
+ This package provides kfreebsd i386 target libraries.
+
+Package: mlton-runtime-x86-64-kfreebsd-gnu
+Architecture: kfreebsd-amd64
+Multi-Arch: foreign
+Depends: ${misc:Depends}, mlton-basis (= ${source:Version})
+Provides: mlton-runtime
+Homepage: http://mlton.org/
+Description: Optimizing compiler for Standard ML - kfreebsd-amd64 runtime libraries
+ MLton is a whole-program optimizing compiler
+ for Standard ML. MLton generates standalone
+ executables with excellent runtime performance,
+ is SML 97 compliant, and has a complete basis
+ library. MLton has source-level profiling,
+ a fast C FFI, an interface to the GNU
+ multiprecision library, and lots of useful
+ libraries.
+ .
+ This package provides kfreebsd amd64 target libraries.
+
+Package: mlton-runtime-mips64el-linux-gnuabi64
+Architecture: mips64el
+Multi-Arch: foreign
+Depends: ${misc:Depends}, mlton-basis (= ${source:Version})
+Provides: mlton-runtime
+Homepage: http://mlton.org/
+Description: Optimizing compiler for Standard ML - mips64el runtime libraries
+ MLton is a whole-program optimizing compiler
+ for Standard ML. MLton generates standalone
+ executables with excellent runtime performance,
+ is SML 97 compliant, and has a complete basis
+ library. MLton has source-level profiling,
+ a fast C FFI, an interface to the GNU
+ multiprecision library, and lots of useful
+ libraries.
+ .
+ This package provides mips64el target libraries.
+
+Package: mlton-runtime-mips-linux-gnu
+Architecture: mips
+Multi-Arch: foreign
+Depends: ${misc:Depends}, mlton-basis (= ${source:Version})
+Provides: mlton-runtime
+Homepage: http://mlton.org/
+Description: Optimizing compiler for Standard ML - mips runtime libraries
+ MLton is a whole-program optimizing compiler
+ for Standard ML. MLton generates standalone
+ executables with excellent runtime performance,
+ is SML 97 compliant, and has a complete basis
+ library. MLton has source-level profiling,
+ a fast C FFI, an interface to the GNU
+ multiprecision library, and lots of useful
+ libraries.
+ .
+ This package provides mips target libraries.
+
+Package: mlton-runtime-mipsel-linux-gnu
+Architecture: mipsel
+Multi-Arch: foreign
+Depends: ${misc:Depends}, mlton-basis (= ${source:Version})
+Provides: mlton-runtime
+Homepage: http://mlton.org/
+Description: Optimizing compiler for Standard ML - mipsel runtime libraries
+ MLton is a whole-program optimizing compiler
+ for Standard ML. MLton generates standalone
+ executables with excellent runtime performance,
+ is SML 97 compliant, and has a complete basis
+ library. MLton has source-level profiling,
+ a fast C FFI, an interface to the GNU
+ multiprecision library, and lots of useful
+ libraries.
+ .
+ This package provides mipsel target libraries.
+
+Package: mlton-runtime-powerpc-linux-gnu
+Architecture: powerpc
+Multi-Arch: foreign
+Depends: ${misc:Depends}, mlton-basis (= ${source:Version})
+Provides: mlton-runtime
+Homepage: http://mlton.org/
+Description: Optimizing compiler for Standard ML - powerpc runtime libraries
+ MLton is a whole-program optimizing compiler
+ for Standard ML. MLton generates standalone
+ executables with excellent runtime performance,
+ is SML 97 compliant, and has a complete basis
+ library. MLton has source-level profiling,
+ a fast C FFI, an interface to the GNU
+ multiprecision library, and lots of useful
+ libraries.
+ .
+ This package provides powerpc target libraries.
+
+Package: mlton-runtime-powerpc64le-linux-gnu
+Architecture: ppc64el
+Multi-Arch: foreign
+Depends: ${misc:Depends}, mlton-basis (= ${source:Version})
+Provides: mlton-runtime
+Homepage: http://mlton.org/
+Description: Optimizing compiler for Standard ML - ppc64el runtime libraries
+ MLton is a whole-program optimizing compiler
+ for Standard ML. MLton generates standalone
+ executables with excellent runtime performance,
+ is SML 97 compliant, and has a complete basis
+ library. MLton has source-level profiling,
+ a fast C FFI, an interface to the GNU
+ multiprecision library, and lots of useful
+ libraries.
+ .
+ This package provides ppc64el target libraries.
+
+Package: mlton-runtime-riscv64-linux-gnu
+Architecture: riscv64
+Multi-Arch: foreign
+Depends: ${misc:Depends}, mlton-basis (= ${source:Version})
+Provides: mlton-runtime
+Homepage: http://mlton.org/
+Description: Optimizing compiler for Standard ML - riscv64 runtime libraries
+ MLton is a whole-program optimizing compiler
+ for Standard ML. MLton generates standalone
+ executables with excellent runtime performance,
+ is SML 97 compliant, and has a complete basis
+ library. MLton has source-level profiling,
+ a fast C FFI, an interface to the GNU
+ multiprecision library, and lots of useful
+ libraries.
+ .
+ This package provides riscv64 target libraries.
+
+Package: mlton-runtime-s390x-linux-gnu
+Architecture: s390x
+Multi-Arch: foreign
+Depends: ${misc:Depends}, mlton-basis (= ${source:Version})
+Provides: mlton-runtime
+Homepage: http://mlton.org/
+Description: Optimizing compiler for Standard ML - s390x runtime libraries
+ MLton is a whole-program optimizing compiler
+ for Standard ML. MLton generates standalone
+ executables with excellent runtime performance,
+ is SML 97 compliant, and has a complete basis
+ library. MLton has source-level profiling,
+ a fast C FFI, an interface to the GNU
+ multiprecision library, and lots of useful
+ libraries.
+ .
+ This package provides s390x target libraries.
+
+Package: mlton-runtime-sparc-linux-gnu
+Architecture: sparc
+Multi-Arch: foreign
+Depends: ${misc:Depends}, mlton-basis (= ${source:Version})
+Provides: mlton-runtime
+Homepage: http://mlton.org/
+Description: Optimizing compiler for Standard ML - sparc runtime libraries
+ MLton is a whole-program optimizing compiler
+ for Standard ML. MLton generates standalone
+ executables with excellent runtime performance,
+ is SML 97 compliant, and has a complete basis
+ library. MLton has source-level profiling,
+ a fast C FFI, an interface to the GNU
+ multiprecision library, and lots of useful
+ libraries.
+ .
+ This package provides sparc target libraries.
--- /dev/null
+Now maintained by Wesley W. Terpstra <terpstra@debian.org>.
+This package was debianized by Stephen Weeks <sweeks@sweeks.com>.
+The original debianization was done by Barak Pearlmutter <bap@cs.unm.edu>.
+
+Upstream Authors:
+
+ See http://mlton.org/Developers
+
+ To send a comment, question, or bug report to MLton's authors, use
+ MLton@mlton.org.
+
+MLton's copyright is held in part by the NEC Research Institute. It
+is released under a BSD-style license.
+
+ MLton COPYRIGHT NOTICE, LICENSE AND DISCLAIMER.
+
+ Copyright (C) 1999-2009 Henry Cejtin, Matthew Fluet, Suresh
+ Jagannathan, and Stephen Weeks.
+ Copyright (c) 1997-2000 by the NEC Research Institute
+
+ Permission to use, copy, modify, and distribute this software and its
+ documentation for any purpose and without fee is hereby granted,
+ provided that the above copyright notice appear in all copies and that
+ both the copyright notice and this permission notice and warranty
+ disclaimer appear in supporting documentation, and that the name of
+ NEC, or any NEC entity not be used in advertising or publicity
+ pertaining to distribution of the software without specific, written
+ prior permission.
+
+ The above copyright holders disclaim all warranties with regard to
+ this software, including all implied warranties of merchantability and
+ fitness. In no event shall the above copyright holders be liable for
+ any special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether in an
+ action of contract, negligence or other tortious action, arising out
+ of or in connection with the use or performance of this software.
+
+The following portions of the software are derived from the Standard ML
+of New Jersey compiler:
+
+ front-end mllex specification, front-end mlyacc specification,
+ precedence parser, CM lexer and parser
+
+Parts of MLton's Basis Library are derived from the following portions
+of the Basis Library code of the SMLNJ compiler:
+
+ OS.IO, Posix.IO, Process, and Unix
+
+The following utilities and libraries are derived from the SMLNJ system:
+
+ mllex, mlyacc and MLYacc Library, Concurrent ML Library, SML/NJ
+ Library, CKit Library, mlnlffigen and MLNLFFI Library
+
+SMLNJ's copyright is held by Lucent Technologies. It was released
+under a BSD-style license.
+
+ STANDARD ML OF NEW JERSEY COPYRIGHT NOTICE, LICENSE AND DISCLAIMER.
+
+ Copyright (c) 1989-1998 by Lucent Technologies
+
+ Permission to use, copy, modify, and distribute this software and its
+ documentation for any purpose and without fee is hereby granted,
+ provided that the above copyright notice appear in all copies and that
+ both the copyright notice and this permission notice and warranty
+ disclaimer appear in supporting documentation, and that the name of
+ Lucent Technologies, Bell Labs or any Lucent entity not be used in
+ advertising or publicity pertaining to distribution of the software
+ without specific, written prior permission.
+
+ Lucent disclaims all warranties with regard to this software,
+ including all implied warranties of merchantability and fitness. In no
+ event shall Lucent be liable for any special, indirect or
+ consequential damages or any damages whatsoever resulting from loss of
+ use, data or profits, whether in an action of contract, negligence or
+ other tortious action, arising out of or in connection with the use
+ or performance of this software.
+
+Parts of MLton's Basis Library are derived from the following portions
+of the Basis Library code of the ML Kit compiler:
+
+ Path, Time, and Date
+
+The ML Kit Basis Bibrary is distributed under the MIT License.
+
+ Copyright (c) 2004 IT University of Copenhagen
+
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
--- /dev/null
+usr/lib/mlton/include
+usr/lib/mlton/sml
--- /dev/null
+usr/bin/mlton
+usr/lib/mlton/mlton-compile
+usr/lib/mlton/static-library
+usr/lib/mlton/targets/self
+usr/share/man/man1/mlton.1.gz
--- /dev/null
+Document: mlton
+Title: MLton Guide
+Author: The MLton Team
+Abstract: This document describes how to use MLton, a whole-program
+ optimizing compiler for the Standard ML Programming language.
+Section: Programming
+
+Format: HTML
+Index: /usr/share/doc/mlton/guide/Home
+Files: /usr/share/doc/mlton/guide/*.html
--- /dev/null
+usr/share/doc/mlton/examples
+usr/share/doc/mlton/guide
+usr/share/doc/mlton/cm2mlb
+usr/share/doc/mlton/mlton-guide.pdf
--- /dev/null
+usr/lib/mlton/targets/aarch64-linux-gnu/*
--- /dev/null
+usr/lib/mlton/targets/alpha-linux-gnu/*
--- /dev/null
+usr/lib/mlton/targets/arm-linux-gnueabi/*
--- /dev/null
+usr/lib/mlton/targets/arm-linux-gnueabihf/*
--- /dev/null
+usr/lib/mlton/targets/hppa-linux-gnu/*
--- /dev/null
+usr/lib/mlton/targets/i*86-kfreebsd-gnu/*
--- /dev/null
+usr/lib/mlton/targets/i*86-linux-gnu/*
--- /dev/null
+usr/lib/mlton/targets/mips-linux-gnu/*
--- /dev/null
+usr/lib/mlton/targets/mips64el-linux-gnuabi64/*
--- /dev/null
+usr/lib/mlton/targets/mipsel-linux-gnu/*
--- /dev/null
+usr/lib/mlton/targets/powerpc-linux-gnu/*
--- /dev/null
+usr/lib/mlton/targets/powerpc64le-linux-gnu/*
--- /dev/null
+usr/lib/mlton/targets/riscv64-linux-gnu/*
--- /dev/null
+usr/lib/mlton/targets/s390x-linux-gnu/*
--- /dev/null
+usr/lib/mlton/targets/sparc-linux-gnu/*
--- /dev/null
+usr/lib/mlton/targets/x86_64-kfreebsd-gnu/*
--- /dev/null
+usr/lib/mlton/targets/x86_64-linux-gnu/*
--- /dev/null
+Document: mllex
+Title: A lexical analyzer generator for Standard ML
+Author: Andrew W. Appel, James S. Mattson, David R. Tarditi
+Abstract: This document describes how write lexer specification files for
+ mllex.
+Section: Programming
+
+Format: PDF
+Files: /usr/share/doc/mlton/mllex.pdf.gz
--- /dev/null
+Document: mlyacc
+Title: ML-Yacc User's Manual
+Author: David R. Tarditi, Andrew W. Appel
+Abstract: This document describes how to write parser specification files for
+ mlyacc.
+Section: Programming
+
+Format: PDF
+Files: /usr/share/doc/mlton/mlyacc.pdf.gz
--- /dev/null
+usr/bin/mllex
+usr/bin/mlyacc
+usr/bin/mlprof
+usr/bin/mlnlffigen
+usr/share/man/man1/mllex.1.gz
+usr/share/man/man1/mlyacc.1.gz
+usr/share/man/man1/mlprof.1.gz
+usr/share/man/man1/mlnlffigen.1.gz
+usr/share/doc/mlton/mllex.pdf
+usr/share/doc/mlton/mlyacc.pdf
--- /dev/null
+--- a/runtime/platform/freebsd.h
++++ b/runtime/platform/freebsd.h
+@@ -38,9 +38,4 @@
+
+ #define MLton_Platform_OS_host "freebsd"
+
+-/* This is probably debian specific, since freebsd worked w/o it before. */
+-#if (defined (__FreeBSD_kernel__))
+-#define getpgrp() getpgrp(getpid())
+-#endif
+-
+ extern char **environ; /* for Posix_ProcEnv_environ */
--- /dev/null
+--- a/mlton/main/main.fun
++++ b/mlton/main/main.fun
+@@ -977,6 +977,7 @@
+ (* On ELF systems, we only need PIC for LibArchive/Library *)
+ | (_, _, Library) => true
+ | (_, _, LibArchive) => true
++ | (Linux, _, _) => true
+ | _ => false
+ val () = Control.positionIndependent := positionIndependent
+
--- /dev/null
+--- a/basis-library/mlton/platform.sig
++++ b/basis-library/mlton/platform.sig
+@@ -10,7 +10,7 @@
+ structure Arch:
+ sig
+ datatype t = Alpha | AMD64 | ARM | ARM64 | HPPA | IA64 | m68k |
+- MIPS | PowerPC | PowerPC64 | S390 | Sparc | X86
++ MIPS | MIPS64 | PowerPC | PowerPC64 | S390 | Sparc | X86
+
+ val fromString: string -> t option
+ val host: t
+--- a/basis-library/mlton/platform.sml
++++ b/basis-library/mlton/platform.sml
+@@ -25,6 +25,7 @@
+ (IA64, "IA64"),
+ (m68k, "m68k"),
+ (MIPS, "MIPS"),
++ (MIPS64, "MIPS64"),
+ (PowerPC, "PowerPC"),
+ (PowerPC64, "PowerPC64"),
+ (S390, "S390"),
+--- a/basis-library/primitive/prim-mlton.sml
++++ b/basis-library/primitive/prim-mlton.sml
+@@ -154,6 +154,7 @@
+ | IA64
+ | m68k
+ | MIPS
++ | MIPS64
+ | PowerPC
+ | PowerPC64
+ | S390
+@@ -170,6 +171,7 @@
+ | "ia64" => IA64
+ | "m68k" => m68k
+ | "mips" => MIPS
++ | "mips64" => MIPS64
+ | "powerpc" => PowerPC
+ | "powerpc64" => PowerPC64
+ | "s390" => S390
+--- a/bin/platform
++++ b/bin/platform
+@@ -108,6 +108,9 @@
+ m68k*)
+ HOST_ARCH=m68k
+ ;;
++mips64*)
++ HOST_ARCH=mips64
++;;
+ mips*)
+ # big-endian and little-endian detect via headers
+ HOST_ARCH=mips
+--- a/lib/stubs/mlton-stubs/mlton.sml
++++ b/lib/stubs/mlton-stubs/mlton.sml
+@@ -159,7 +159,7 @@
+ structure Arch =
+ struct
+ datatype t = Alpha | AMD64 | ARM | ARM64 | HPPA | IA64 | m68k |
+- MIPS | PowerPC | PowerPC64 | S390 | Sparc | X86
++ MIPS | MIPS64 | PowerPC | PowerPC64 | S390 | Sparc | X86
+
+ val all = [(Alpha, "Alpha"),
+ (AMD64, "AMD64"),
+@@ -169,6 +169,7 @@
+ (IA64, "IA64"),
+ (m68k, "m68k"),
+ (MIPS, "MIPS"),
++ (MIPS64, "MIPS64"),
+ (PowerPC, "PowerPC"),
+ (PowerPC64, "PowerPC64"),
+ (S390, "S390"),
+--- a/lib/stubs/mlton-stubs/platform.sig
++++ b/lib/stubs/mlton-stubs/platform.sig
+@@ -10,7 +10,7 @@
+ structure Arch:
+ sig
+ datatype t = Alpha | AMD64 | ARM | ARM64 | HPPA | IA64 | m68k |
+- MIPS | PowerPC | PowerPC64 | S390 | Sparc | X86
++ MIPS | MIPS64 | PowerPC | PowerPC64 | S390 | Sparc | X86
+
+ val fromString: string -> t option
+ val host: t
+--- a/mlton/main/main.fun
++++ b/mlton/main/main.fun
+@@ -192,6 +192,7 @@
+ | HPPA => true
+ | IA64 => true
+ | MIPS => true
++ | MIPS64 => true
+ | Sparc => true
+ | S390 => true
+ | _ => false
+--- a/runtime/cenv.h
++++ b/runtime/cenv.h
+@@ -101,6 +101,8 @@
+ #include "platform/ia64.h"
+ #elif (defined (__m68k__))
+ #include "platform/m68k.h"
++#elif (defined (__mips64))
++#include "platform/mips64.h"
+ #elif (defined (__mips__))
+ #include "platform/mips.h"
+ #elif (defined (__powerpc64__))
+--- /dev/null
++++ b/runtime/platform/mips64.h
+@@ -0,0 +1 @@
++#define MLton_Platform_Arch_host "mips64"
+--- a/runtime/platform/linux.c
++++ b/runtime/platform/linux.c
+@@ -37,7 +37,7 @@
+ #else
+ GC_handleSigProf ((code_pointer) scp->si_regs.pc);
+ #endif
+-#elif (defined (__mips__))
++#elif (defined (__mips64)) || (defined (__mips__))
+ ucontext_t* ucp = (ucontext_t*)context;
+ #ifdef __UCLIBC__
+ GC_handleSigProf ((code_pointer) ucp->uc_mcontext.gpregs[CTX_EPC]);
--- /dev/null
+--- a/bin/platform
++++ b/bin/platform
+@@ -115,7 +115,7 @@
+ powerpc64)
+ HOST_ARCH=powerpc64
+ ;;
+-ppc64)
++ppc64*)
+ HOST_ARCH=powerpc64
+ ;;
+ powerpc)
--- /dev/null
+--- /dev/null
++++ b/regression/mlton.share.riscv64-linux.ok
+@@ -0,0 +1,718 @@
++size of a is 2408
++0 => NONE
++1 => (1, 1)
++2 => (0, 2)
++3 => (1, 0)
++4 => (0, 1)
++5 => (1, 2)
++6 => (0, 0)
++7 => (1, 1)
++8 => (0, 2)
++9 => (1, 0)
++10 => (0, 1)
++11 => (1, 2)
++12 => (0, 0)
++13 => (1, 1)
++14 => (0, 2)
++15 => (1, 0)
++16 => (0, 1)
++17 => (1, 2)
++18 => (0, 0)
++19 => (1, 1)
++20 => (0, 2)
++21 => (1, 0)
++22 => (0, 1)
++23 => (1, 2)
++24 => (0, 0)
++25 => (1, 1)
++26 => (0, 2)
++27 => (1, 0)
++28 => (0, 1)
++29 => (1, 2)
++30 => (0, 0)
++31 => (1, 1)
++32 => (0, 2)
++33 => (1, 0)
++34 => (0, 1)
++35 => (1, 2)
++36 => (0, 0)
++37 => (1, 1)
++38 => (0, 2)
++39 => (1, 0)
++40 => (0, 1)
++41 => (1, 2)
++42 => (0, 0)
++43 => (1, 1)
++44 => (0, 2)
++45 => (1, 0)
++46 => (0, 1)
++47 => (1, 2)
++48 => (0, 0)
++49 => (1, 1)
++50 => (0, 2)
++51 => (1, 0)
++52 => (0, 1)
++53 => (1, 2)
++54 => (0, 0)
++55 => (1, 1)
++56 => (0, 2)
++57 => (1, 0)
++58 => (0, 1)
++59 => (1, 2)
++60 => (0, 0)
++61 => (1, 1)
++62 => (0, 2)
++63 => (1, 0)
++64 => (0, 1)
++65 => (1, 2)
++66 => (0, 0)
++67 => (1, 1)
++68 => (0, 2)
++69 => (1, 0)
++70 => (0, 1)
++71 => (1, 2)
++72 => (0, 0)
++73 => (1, 1)
++74 => (0, 2)
++75 => (1, 0)
++76 => (0, 1)
++77 => (1, 2)
++78 => (0, 0)
++79 => (1, 1)
++80 => (0, 2)
++81 => (1, 0)
++82 => (0, 1)
++83 => (1, 2)
++84 => (0, 0)
++85 => (1, 1)
++86 => (0, 2)
++87 => (1, 0)
++88 => (0, 1)
++89 => (1, 2)
++90 => (0, 0)
++91 => (1, 1)
++92 => (0, 2)
++93 => (1, 0)
++94 => (0, 1)
++95 => (1, 2)
++96 => (0, 0)
++97 => (1, 1)
++98 => (0, 2)
++99 => (1, 0)
++size of a is 920
++0 => NONE
++1 => (1, 1)
++2 => (0, 2)
++3 => (1, 0)
++4 => (0, 1)
++5 => (1, 2)
++6 => (0, 0)
++7 => (1, 1)
++8 => (0, 2)
++9 => (1, 0)
++10 => (0, 1)
++11 => (1, 2)
++12 => (0, 0)
++13 => (1, 1)
++14 => (0, 2)
++15 => (1, 0)
++16 => (0, 1)
++17 => (1, 2)
++18 => (0, 0)
++19 => (1, 1)
++20 => (0, 2)
++21 => (1, 0)
++22 => (0, 1)
++23 => (1, 2)
++24 => (0, 0)
++25 => (1, 1)
++26 => (0, 2)
++27 => (1, 0)
++28 => (0, 1)
++29 => (1, 2)
++30 => (0, 0)
++31 => (1, 1)
++32 => (0, 2)
++33 => (1, 0)
++34 => (0, 1)
++35 => (1, 2)
++36 => (0, 0)
++37 => (1, 1)
++38 => (0, 2)
++39 => (1, 0)
++40 => (0, 1)
++41 => (1, 2)
++42 => (0, 0)
++43 => (1, 1)
++44 => (0, 2)
++45 => (1, 0)
++46 => (0, 1)
++47 => (1, 2)
++48 => (0, 0)
++49 => (1, 1)
++50 => (0, 2)
++51 => (1, 0)
++52 => (0, 1)
++53 => (1, 2)
++54 => (0, 0)
++55 => (1, 1)
++56 => (0, 2)
++57 => (1, 0)
++58 => (0, 1)
++59 => (1, 2)
++60 => (0, 0)
++61 => (1, 1)
++62 => (0, 2)
++63 => (1, 0)
++64 => (0, 1)
++65 => (1, 2)
++66 => (0, 0)
++67 => (1, 1)
++68 => (0, 2)
++69 => (1, 0)
++70 => (0, 1)
++71 => (1, 2)
++72 => (0, 0)
++73 => (1, 1)
++74 => (0, 2)
++75 => (1, 0)
++76 => (0, 1)
++77 => (1, 2)
++78 => (0, 0)
++79 => (1, 1)
++80 => (0, 2)
++81 => (1, 0)
++82 => (0, 1)
++83 => (1, 2)
++84 => (0, 0)
++85 => (1, 1)
++86 => (0, 2)
++87 => (1, 0)
++88 => (0, 1)
++89 => (1, 2)
++90 => (0, 0)
++91 => (1, 1)
++92 => (0, 2)
++93 => (1, 0)
++94 => (0, 1)
++95 => (1, 2)
++96 => (0, 0)
++97 => (1, 1)
++98 => (0, 2)
++99 => (1, 0)
++size of a is 1640
++0 => NONE
++1 => (1, 1)
++2 => (1, 1)
++3 => (0, 0)
++4 => (1, 1)
++5 => (2, 2)
++6 => (1, 1)
++7 => (1, 1)
++8 => (1, 1)
++9 => (0, 0)
++10 => (1, 1)
++11 => (2, 2)
++12 => (1, 1)
++13 => (1, 1)
++14 => (1, 1)
++15 => (0, 0)
++16 => (1, 1)
++17 => (2, 2)
++18 => (1, 1)
++19 => (1, 1)
++20 => (1, 1)
++21 => (0, 0)
++22 => (1, 1)
++23 => (2, 2)
++24 => (1, 1)
++25 => (1, 1)
++26 => (1, 1)
++27 => (0, 0)
++28 => (1, 1)
++29 => (2, 2)
++30 => (1, 1)
++31 => (1, 1)
++32 => (1, 1)
++33 => (0, 0)
++34 => (1, 1)
++35 => (2, 2)
++36 => (1, 1)
++37 => (1, 1)
++38 => (1, 1)
++39 => (0, 0)
++40 => (1, 1)
++41 => (2, 2)
++42 => (1, 1)
++43 => (1, 1)
++44 => (1, 1)
++45 => (0, 0)
++46 => (1, 1)
++47 => (2, 2)
++48 => (1, 1)
++49 => (1, 1)
++50 => (1, 1)
++51 => (0, 0)
++52 => (1, 1)
++53 => (2, 2)
++54 => (1, 1)
++55 => (1, 1)
++56 => (1, 1)
++57 => (0, 0)
++58 => (1, 1)
++59 => (2, 2)
++60 => (1, 1)
++61 => (1, 1)
++62 => (1, 1)
++63 => (0, 0)
++64 => (1, 1)
++65 => (2, 2)
++66 => (1, 1)
++67 => (1, 1)
++68 => (1, 1)
++69 => (0, 0)
++70 => (1, 1)
++71 => (2, 2)
++72 => (1, 1)
++73 => (1, 1)
++74 => (1, 1)
++75 => (0, 0)
++76 => (1, 1)
++77 => (2, 2)
++78 => (1, 1)
++79 => (1, 1)
++80 => (1, 1)
++81 => (0, 0)
++82 => (1, 1)
++83 => (2, 2)
++84 => (1, 1)
++85 => (1, 1)
++86 => (1, 1)
++87 => (0, 0)
++88 => (1, 1)
++89 => (2, 2)
++90 => (1, 1)
++91 => (1, 1)
++92 => (1, 1)
++93 => (0, 0)
++94 => (1, 1)
++95 => (2, 2)
++96 => (1, 1)
++97 => (1, 1)
++98 => (1, 1)
++99 => (0, 0)
++size of a is 872
++0 => NONE
++1 => (1, 1)
++2 => (1, 1)
++3 => (0, 0)
++4 => (1, 1)
++5 => (2, 2)
++6 => (1, 1)
++7 => (1, 1)
++8 => (1, 1)
++9 => (0, 0)
++10 => (1, 1)
++11 => (2, 2)
++12 => (1, 1)
++13 => (1, 1)
++14 => (1, 1)
++15 => (0, 0)
++16 => (1, 1)
++17 => (2, 2)
++18 => (1, 1)
++19 => (1, 1)
++20 => (1, 1)
++21 => (0, 0)
++22 => (1, 1)
++23 => (2, 2)
++24 => (1, 1)
++25 => (1, 1)
++26 => (1, 1)
++27 => (0, 0)
++28 => (1, 1)
++29 => (2, 2)
++30 => (1, 1)
++31 => (1, 1)
++32 => (1, 1)
++33 => (0, 0)
++34 => (1, 1)
++35 => (2, 2)
++36 => (1, 1)
++37 => (1, 1)
++38 => (1, 1)
++39 => (0, 0)
++40 => (1, 1)
++41 => (2, 2)
++42 => (1, 1)
++43 => (1, 1)
++44 => (1, 1)
++45 => (0, 0)
++46 => (1, 1)
++47 => (2, 2)
++48 => (1, 1)
++49 => (1, 1)
++50 => (1, 1)
++51 => (0, 0)
++52 => (1, 1)
++53 => (2, 2)
++54 => (1, 1)
++55 => (1, 1)
++56 => (1, 1)
++57 => (0, 0)
++58 => (1, 1)
++59 => (2, 2)
++60 => (1, 1)
++61 => (1, 1)
++62 => (1, 1)
++63 => (0, 0)
++64 => (1, 1)
++65 => (2, 2)
++66 => (1, 1)
++67 => (1, 1)
++68 => (1, 1)
++69 => (0, 0)
++70 => (1, 1)
++71 => (2, 2)
++72 => (1, 1)
++73 => (1, 1)
++74 => (1, 1)
++75 => (0, 0)
++76 => (1, 1)
++77 => (2, 2)
++78 => (1, 1)
++79 => (1, 1)
++80 => (1, 1)
++81 => (0, 0)
++82 => (1, 1)
++83 => (2, 2)
++84 => (1, 1)
++85 => (1, 1)
++86 => (1, 1)
++87 => (0, 0)
++88 => (1, 1)
++89 => (2, 2)
++90 => (1, 1)
++91 => (1, 1)
++92 => (1, 1)
++93 => (0, 0)
++94 => (1, 1)
++95 => (2, 2)
++96 => (1, 1)
++97 => (1, 1)
++98 => (1, 1)
++99 => (0, 0)
++size of a is 4008
++0 => NONE
++1 => (1, 1)
++2 => (0, 2)
++3 => (1, 0)
++4 => (0, 1)
++5 => (1, 2)
++6 => (0, 0)
++7 => (1, 1)
++8 => (0, 2)
++9 => (1, 0)
++10 => (0, 1)
++11 => (1, 2)
++12 => (0, 0)
++13 => (1, 1)
++14 => (0, 2)
++15 => (1, 0)
++16 => (0, 1)
++17 => (1, 2)
++18 => (0, 0)
++19 => (1, 1)
++20 => (0, 2)
++21 => (1, 0)
++22 => (0, 1)
++23 => (1, 2)
++24 => (0, 0)
++25 => (1, 1)
++26 => (0, 2)
++27 => (1, 0)
++28 => (0, 1)
++29 => (1, 2)
++30 => (0, 0)
++31 => (1, 1)
++32 => (0, 2)
++33 => (1, 0)
++34 => (0, 1)
++35 => (1, 2)
++36 => (0, 0)
++37 => (1, 1)
++38 => (0, 2)
++39 => (1, 0)
++40 => (0, 1)
++41 => (1, 2)
++42 => (0, 0)
++43 => (1, 1)
++44 => (0, 2)
++45 => (1, 0)
++46 => (0, 1)
++47 => (1, 2)
++48 => (0, 0)
++49 => (1, 1)
++50 => (0, 2)
++51 => (1, 0)
++52 => (0, 1)
++53 => (1, 2)
++54 => (0, 0)
++55 => (1, 1)
++56 => (0, 2)
++57 => (1, 0)
++58 => (0, 1)
++59 => (1, 2)
++60 => (0, 0)
++61 => (1, 1)
++62 => (0, 2)
++63 => (1, 0)
++64 => (0, 1)
++65 => (1, 2)
++66 => (0, 0)
++67 => (1, 1)
++68 => (0, 2)
++69 => (1, 0)
++70 => (0, 1)
++71 => (1, 2)
++72 => (0, 0)
++73 => (1, 1)
++74 => (0, 2)
++75 => (1, 0)
++76 => (0, 1)
++77 => (1, 2)
++78 => (0, 0)
++79 => (1, 1)
++80 => (0, 2)
++81 => (1, 0)
++82 => (0, 1)
++83 => (1, 2)
++84 => (0, 0)
++85 => (1, 1)
++86 => (0, 2)
++87 => (1, 0)
++88 => (0, 1)
++89 => (1, 2)
++90 => (0, 0)
++91 => (1, 1)
++92 => (0, 2)
++93 => (1, 0)
++94 => (0, 1)
++95 => (1, 2)
++96 => (0, 0)
++97 => (1, 1)
++98 => (0, 2)
++99 => (1, 0)
++size of a is 2520
++0 => NONE
++1 => (1, 1)
++2 => (0, 2)
++3 => (1, 0)
++4 => (0, 1)
++5 => (1, 2)
++6 => (0, 0)
++7 => (1, 1)
++8 => (0, 2)
++9 => (1, 0)
++10 => (0, 1)
++11 => (1, 2)
++12 => (0, 0)
++13 => (1, 1)
++14 => (0, 2)
++15 => (1, 0)
++16 => (0, 1)
++17 => (1, 2)
++18 => (0, 0)
++19 => (1, 1)
++20 => (0, 2)
++21 => (1, 0)
++22 => (0, 1)
++23 => (1, 2)
++24 => (0, 0)
++25 => (1, 1)
++26 => (0, 2)
++27 => (1, 0)
++28 => (0, 1)
++29 => (1, 2)
++30 => (0, 0)
++31 => (1, 1)
++32 => (0, 2)
++33 => (1, 0)
++34 => (0, 1)
++35 => (1, 2)
++36 => (0, 0)
++37 => (1, 1)
++38 => (0, 2)
++39 => (1, 0)
++40 => (0, 1)
++41 => (1, 2)
++42 => (0, 0)
++43 => (1, 1)
++44 => (0, 2)
++45 => (1, 0)
++46 => (0, 1)
++47 => (1, 2)
++48 => (0, 0)
++49 => (1, 1)
++50 => (0, 2)
++51 => (1, 0)
++52 => (0, 1)
++53 => (1, 2)
++54 => (0, 0)
++55 => (1, 1)
++56 => (0, 2)
++57 => (1, 0)
++58 => (0, 1)
++59 => (1, 2)
++60 => (0, 0)
++61 => (1, 1)
++62 => (0, 2)
++63 => (1, 0)
++64 => (0, 1)
++65 => (1, 2)
++66 => (0, 0)
++67 => (1, 1)
++68 => (0, 2)
++69 => (1, 0)
++70 => (0, 1)
++71 => (1, 2)
++72 => (0, 0)
++73 => (1, 1)
++74 => (0, 2)
++75 => (1, 0)
++76 => (0, 1)
++77 => (1, 2)
++78 => (0, 0)
++79 => (1, 1)
++80 => (0, 2)
++81 => (1, 0)
++82 => (0, 1)
++83 => (1, 2)
++84 => (0, 0)
++85 => (1, 1)
++86 => (0, 2)
++87 => (1, 0)
++88 => (0, 1)
++89 => (1, 2)
++90 => (0, 0)
++91 => (1, 1)
++92 => (0, 2)
++93 => (1, 0)
++94 => (0, 1)
++95 => (1, 2)
++96 => (0, 0)
++97 => (1, 1)
++98 => (0, 2)
++99 => (1, 0)
++size of a is 4008
++0 => NONE
++1 => (1, 1)
++2 => (0, 2)
++3 => (1, 0)
++4 => (0, 1)
++5 => (1, 2)
++6 => (0, 0)
++7 => (1, 1)
++8 => (0, 2)
++9 => (1, 0)
++10 => (0, 1)
++11 => (1, 2)
++12 => (0, 0)
++13 => (1, 1)
++14 => (0, 2)
++15 => (1, 0)
++16 => (0, 1)
++17 => (1, 2)
++18 => (0, 0)
++19 => (1, 1)
++20 => (0, 2)
++21 => (1, 0)
++22 => (0, 1)
++23 => (1, 2)
++24 => (0, 0)
++25 => (1, 1)
++26 => (0, 2)
++27 => (1, 0)
++28 => (0, 1)
++29 => (1, 2)
++30 => (0, 0)
++31 => (1, 1)
++32 => (0, 2)
++33 => (1, 0)
++34 => (0, 1)
++35 => (1, 2)
++36 => (0, 0)
++37 => (1, 1)
++38 => (0, 2)
++39 => (1, 0)
++40 => (0, 1)
++41 => (1, 2)
++42 => (0, 0)
++43 => (1, 1)
++44 => (0, 2)
++45 => (1, 0)
++46 => (0, 1)
++47 => (1, 2)
++48 => (0, 0)
++49 => (1, 1)
++50 => (0, 2)
++51 => (1, 0)
++52 => (0, 1)
++53 => (1, 2)
++54 => (0, 0)
++55 => (1, 1)
++56 => (0, 2)
++57 => (1, 0)
++58 => (0, 1)
++59 => (1, 2)
++60 => (0, 0)
++61 => (1, 1)
++62 => (0, 2)
++63 => (1, 0)
++64 => (0, 1)
++65 => (1, 2)
++66 => (0, 0)
++67 => (1, 1)
++68 => (0, 2)
++69 => (1, 0)
++70 => (0, 1)
++71 => (1, 2)
++72 => (0, 0)
++73 => (1, 1)
++74 => (0, 2)
++75 => (1, 0)
++76 => (0, 1)
++77 => (1, 2)
++78 => (0, 0)
++79 => (1, 1)
++80 => (0, 2)
++81 => (1, 0)
++82 => (0, 1)
++83 => (1, 2)
++84 => (0, 0)
++85 => (1, 1)
++86 => (0, 2)
++87 => (1, 0)
++88 => (0, 1)
++89 => (1, 2)
++90 => (0, 0)
++91 => (1, 1)
++92 => (0, 2)
++93 => (1, 0)
++94 => (0, 1)
++95 => (1, 2)
++96 => (0, 0)
++97 => (1, 1)
++98 => (0, 2)
++99 => (1, 0)
++size of a is 2400008
++(1, 1)
++size of a is 800120
++(1, 1)
++size is 296
++size is 136
++abcdef abcdef
++size is 88
++size is 56
++abcdef abcdef
++1 2
+--- /dev/null
++++ b/regression/size2.riscv64-linux.ok
+@@ -0,0 +1,24 @@
++The size of a char is = 0 bytes.
++The size of an int list of length 4 is = 96 bytes.
++The size of a string of length 10 is = 40 bytes.
++The size of an int array of length 10 is = 64 bytes.
++The size of a double array of length 10 is = 104 bytes.
++The size of a (word32 * double) array of length 10 is = 184 bytes.
++The size of a (word32 * word32 * double) array of length 10 is = 184 bytes.
++The size of a (word64 * double) array of length 10 is = 184 bytes.
++The size of a (word16 * double) array of length 10 is = 184 bytes.
++The size of a word64 array of length 10 is = 104 bytes.
++The size of a (word32 * word64) array of length 10 is = 184 bytes.
++The size of a (word32 * word32 * word64) array of length 10 is = 184 bytes.
++The size of a (word64 * word64) array of length 10 is = 184 bytes.
++The size of a (word16 * word64) array of length 10 is = 184 bytes.
++The size of an array of length 10 of 2-ples of ints is = 104 bytes.
++The size of an array of length 10 of 2-ples of (shared) ints is = 104 bytes.
++The size of an array of length 10 of arrays of length 20 of ints is = 1144 bytes.
++The size of an array of length 10 of (shared) arrays of length 20 of ints is = 208 bytes.
++The size of an array of length 10 of tuples of word16 * (arrays of length 20 of ints) is = 1224 bytes.
++The size of an array of length 10 of tuples of word32 * (arrays of length 20 of ints) is = 1224 bytes.
++The size of an array of length 10 of tuples of word64 * (arrays of length 20 of ints) is = 1224 bytes.
++The size of an array of length 10 of tuples of real32 * (arrays of length 20 of ints) is = 1224 bytes.
++The size of an array of length 10 of tuples of real64 * (arrays of length 20 of ints) is = 1224 bytes.
++The size of a useless function is = 0 bytes.
+--- /dev/null
++++ b/regression/size3.riscv64-linux.ok
+@@ -0,0 +1,114 @@
++The size of unit is = 0 bytes.
++The size of unit * unit is = 0 bytes.
++The size of bool is = 0 bytes.
++The size of bool * bool is = 16 bytes.
++The size of day is = 0 bytes.
++The size of day * day is = 0 bytes.
++The size of a char is = 0 bytes.
++The size of a char * char is = 0 bytes.
++The size of a word8 is = 0 bytes.
++The size of a word8 * word8 is = 0 bytes.
++The size of a word16 is = 0 bytes.
++The size of a word16 * word16 is = 0 bytes.
++The size of a word32 is = 0 bytes.
++The size of a word32 * word32 is = 16 bytes.
++The size of a word64 is = 0 bytes.
++The size of a word64 * word64 is = 24 bytes.
++The size of a word64 * word64 * word64 is = 32 bytes.
++The size of a word64 * word64 * word64 * word64 is = 40 bytes.
++The size of a unit list of length 4 is = 64 bytes.
++The size of a bool list of length 4 is = 96 bytes.
++The size of a day list of length 4 is = 96 bytes.
++The size of an int list of length 4 is = 96 bytes.
++The size of a string of length 10 is = 40 bytes.
++The size of a word64 array of length 0 is = 24 bytes.
++The size of a word64 array of length 1 is = 32 bytes.
++The size of a word64 array of length 2 is = 40 bytes.
++The size of a word64 array of length 3 is = 48 bytes.
++The size of a word64 array of length 4 is = 56 bytes.
++The size of a word64 array of length 5 is = 64 bytes.
++The size of a word64 array of length 6 is = 72 bytes.
++The size of a word64 array of length 7 is = 80 bytes.
++The size of a word64 array of length 8 is = 88 bytes.
++The size of a word64 array of length 9 is = 96 bytes.
++The size of a word64 array of length 10 is = 104 bytes.
++The size of a word64 array of length 11 is = 112 bytes.
++The size of a word64 array of length 12 is = 120 bytes.
++The size of a word32 array of length 0 is = 24 bytes.
++The size of a word32 array of length 1 is = 32 bytes.
++The size of a word32 array of length 2 is = 32 bytes.
++The size of a word32 array of length 3 is = 40 bytes.
++The size of a word32 array of length 4 is = 40 bytes.
++The size of a word32 array of length 5 is = 48 bytes.
++The size of a word32 array of length 6 is = 48 bytes.
++The size of a word32 array of length 7 is = 56 bytes.
++The size of a word32 array of length 8 is = 56 bytes.
++The size of a word32 array of length 9 is = 64 bytes.
++The size of a word32 array of length 10 is = 64 bytes.
++The size of a word32 array of length 11 is = 72 bytes.
++The size of a word32 array of length 12 is = 72 bytes.
++The size of a word16 array of length 0 is = 24 bytes.
++The size of a word16 array of length 1 is = 32 bytes.
++The size of a word16 array of length 2 is = 32 bytes.
++The size of a word16 array of length 3 is = 32 bytes.
++The size of a word16 array of length 4 is = 32 bytes.
++The size of a word16 array of length 5 is = 40 bytes.
++The size of a word16 array of length 6 is = 40 bytes.
++The size of a word16 array of length 7 is = 40 bytes.
++The size of a word16 array of length 8 is = 40 bytes.
++The size of a word16 array of length 9 is = 48 bytes.
++The size of a word16 array of length 10 is = 48 bytes.
++The size of a word16 array of length 11 is = 48 bytes.
++The size of a word16 array of length 12 is = 48 bytes.
++The size of a word8 array of length 0 is = 24 bytes.
++The size of a word8 array of length 1 is = 32 bytes.
++The size of a word8 array of length 2 is = 32 bytes.
++The size of a word8 array of length 3 is = 32 bytes.
++The size of a word8 array of length 4 is = 32 bytes.
++The size of a word8 array of length 5 is = 32 bytes.
++The size of a word8 array of length 6 is = 32 bytes.
++The size of a word8 array of length 7 is = 32 bytes.
++The size of a word8 array of length 8 is = 32 bytes.
++The size of a word8 array of length 9 is = 40 bytes.
++The size of a word8 array of length 10 is = 40 bytes.
++The size of a word8 array of length 11 is = 40 bytes.
++The size of a word8 array of length 12 is = 40 bytes.
++The size of a unit array of length 0 is = 24 bytes.
++The size of a unit array of length 1 is = 24 bytes.
++The size of a unit array of length 2 is = 24 bytes.
++The size of a unit array of length 3 is = 24 bytes.
++The size of a unit array of length 4 is = 24 bytes.
++The size of a unit array of length 5 is = 24 bytes.
++The size of a unit array of length 6 is = 24 bytes.
++The size of a unit array of length 7 is = 24 bytes.
++The size of a unit array of length 8 is = 24 bytes.
++The size of a unit array of length 9 is = 24 bytes.
++The size of a unit array of length 10 is = 24 bytes.
++The size of a unit array of length 11 is = 24 bytes.
++The size of a unit array of length 12 is = 24 bytes.
++The size of a word64 ref is = 16 bytes.
++The size of a word32 ref is = 16 bytes.
++The size of a word16 ref is = 16 bytes.
++The size of a word8 ref is = 16 bytes.
++The size of a unit ref is = 8 bytes.
++The size of a double array of length 10 is = 104 bytes.
++The size of a (word32 * double) array of length 10 is = 184 bytes.
++The size of a (word32 * word32 * double) array of length 10 is = 184 bytes.
++The size of a (word64 * double) array of length 10 is = 184 bytes.
++The size of a (word16 * double) array of length 10 is = 184 bytes.
++The size of a word64 array of length 10 is = 104 bytes.
++The size of a (word32 * word64) array of length 10 is = 184 bytes.
++The size of a (word32 * word32 * word64) array of length 10 is = 184 bytes.
++The size of a (word64 * word64) array of length 10 is = 184 bytes.
++The size of a (word16 * word64) array of length 10 is = 184 bytes.
++The size of an array of length 10 of 2-ples of ints is = 104 bytes.
++The size of an array of length 10 of 2-ples of (shared) ints is = 104 bytes.
++The size of an array of length 10 of arrays of length 20 of ints is = 1144 bytes.
++The size of an array of length 10 of (shared) arrays of length 20 of ints is = 208 bytes.
++The size of an array of length 10 of tuples of word16 * (arrays of length 20 of ints) is = 1224 bytes.
++The size of an array of length 10 of tuples of word32 * (arrays of length 20 of ints) is = 1224 bytes.
++The size of an array of length 10 of tuples of word64 * (arrays of length 20 of ints) is = 1224 bytes.
++The size of an array of length 10 of tuples of real32 * (arrays of length 20 of ints) is = 1224 bytes.
++The size of an array of length 10 of tuples of real64 * (arrays of length 20 of ints) is = 1224 bytes.
++The size of a useless function is = 0 bytes.
++The size of an empty string is = 24 bytes.
--- /dev/null
+--- a/basis-library/mlton/platform.sig
++++ b/basis-library/mlton/platform.sig
+@@ -10,7 +10,7 @@
+ structure Arch:
+ sig
+ datatype t = Alpha | AMD64 | ARM | ARM64 | HPPA | IA64 | m68k |
+- MIPS | MIPS64 | PowerPC | PowerPC64 | S390 | Sparc | X86
++ MIPS | MIPS64 | PowerPC | PowerPC64 | RISCV64 | S390 | Sparc | X86
+
+ val fromString: string -> t option
+ val host: t
+--- a/basis-library/mlton/platform.sml
++++ b/basis-library/mlton/platform.sml
+@@ -28,6 +28,7 @@
+ (MIPS64, "MIPS64"),
+ (PowerPC, "PowerPC"),
+ (PowerPC64, "PowerPC64"),
++ (RISCV64, "RISCV64"),
+ (S390, "S390"),
+ (Sparc, "Sparc"),
+ (X86, "X86")]
+--- a/basis-library/primitive/prim-mlton.sml
++++ b/basis-library/primitive/prim-mlton.sml
+@@ -157,6 +157,7 @@
+ | MIPS64
+ | PowerPC
+ | PowerPC64
++ | RISCV64
+ | S390
+ | Sparc
+ | X86
+@@ -174,6 +175,7 @@
+ | "mips64" => MIPS64
+ | "powerpc" => PowerPC
+ | "powerpc64" => PowerPC64
++ | "riscv64" => RISCV64
+ | "s390" => S390
+ | "sparc" => Sparc
+ | "x86" => X86
+--- a/bin/platform
++++ b/bin/platform
+@@ -130,6 +130,9 @@
+ Power*)
+ HOST_ARCH=powerpc
+ ;;
++riscv64)
++ HOST_ARCH=riscv64
++;;
+ s390*)
+ HOST_ARCH=s390
+ ;;
+--- a/doc/guide/src/MLtonPlatform.adoc
++++ b/doc/guide/src/MLtonPlatform.adoc
+@@ -8,7 +8,7 @@
+ structure Arch:
+ sig
+ datatype t = Alpha | AMD64 | ARM | ARM64 | HPPA | IA64 | m68k
+- | MIPS | PowerPC | PowerPC64 | S390 | Sparc | X86
++ | MIPS | PowerPC | PowerPC64 | RISCV64 | S390 | Sparc | X86
+
+ val fromString: string -> t option
+ val host: t
+--- a/lib/stubs/mlton-stubs/mlton.sml
++++ b/lib/stubs/mlton-stubs/mlton.sml
+@@ -159,7 +159,7 @@
+ structure Arch =
+ struct
+ datatype t = Alpha | AMD64 | ARM | ARM64 | HPPA | IA64 | m68k |
+- MIPS | MIPS64 | PowerPC | PowerPC64 | S390 | Sparc | X86
++ MIPS | MIPS64 | PowerPC | PowerPC64 | RISCV64 | S390 | Sparc | X86
+
+ val all = [(Alpha, "Alpha"),
+ (AMD64, "AMD64"),
+@@ -172,6 +172,7 @@
+ (MIPS64, "MIPS64"),
+ (PowerPC, "PowerPC"),
+ (PowerPC64, "PowerPC64"),
++ (RISCV64, "RISCV64"),
+ (S390, "S390"),
+ (Sparc, "Sparc"),
+ (X86, "X86")]
+--- a/lib/stubs/mlton-stubs/platform.sig
++++ b/lib/stubs/mlton-stubs/platform.sig
+@@ -10,7 +10,7 @@
+ structure Arch:
+ sig
+ datatype t = Alpha | AMD64 | ARM | ARM64 | HPPA | IA64 | m68k |
+- MIPS | MIPS64 | PowerPC | PowerPC64 | S390 | Sparc | X86
++ MIPS | MIPS64 | PowerPC | PowerPC64 | RISCV64 | S390 | Sparc | X86
+
+ val fromString: string -> t option
+ val host: t
+--- a/mlton/main/main.fun
++++ b/mlton/main/main.fun
+@@ -193,6 +193,7 @@
+ | IA64 => true
+ | MIPS => true
+ | MIPS64 => true
++ | RISCV64 => true
+ | Sparc => true
+ | S390 => true
+ | _ => false
+--- a/runtime/cenv.h
++++ b/runtime/cenv.h
+@@ -109,6 +109,8 @@
+ #include "platform/powerpc64.h"
+ #elif (defined (__ppc__)) || (defined (__powerpc__))
+ #include "platform/powerpc.h"
++#elif (defined(__riscv) && defined(__riscv_xlen) && __riscv_xlen == 64)
++#include "platform/riscv64.h"
+ #elif (defined (__s390__))
+ #include "platform/s390.h"
+ #elif (defined (__sparc__))
+--- a/runtime/platform/linux.c
++++ b/runtime/platform/linux.c
+@@ -30,6 +30,9 @@
+ #elif (defined (__ppc__)) || (defined (__powerpc__))
+ ucontext_t* ucp = (ucontext_t*)context;
+ GC_handleSigProf ((code_pointer) ucp->uc_mcontext.regs->nip);
++#elif (defined(__riscv) && defined(__riscv_xlen) && __riscv_xlen == 64)
++ ucontext_t* ucp = (ucontext_t*)context;
++ GC_handleSigProf ((code_pointer) ucp->uc_mcontext.__gregs[REG_PC]);
+ #elif (defined (__sparc__))
+ struct sigcontext* scp = (struct sigcontext*)context;
+ #if __WORDSIZE == 64
+--- /dev/null
++++ b/runtime/platform/riscv64.h
+@@ -0,0 +1 @@
++#define MLton_Platform_Arch_host "riscv64"
--- /dev/null
+linux-pic.patch
+stack-hardening.patch
+ppc64el.patch
+kfreebsd.patch
+mips64el.patch
+riscv64.patch
+riscv64-regression.patch
--- /dev/null
+--- a/bin/mlton-script
++++ b/bin/mlton-script
+@@ -87,6 +87,7 @@
+ -target-cc-opt alpha \
+ '-mieee -mbwx -mtune=ev6 -mfp-rounding-mode=d' \
+ -target-cc-opt amd64 '-m64' \
++ -target-cc-opt linux '-fstack-protector-strong' \
+ -target-cc-opt aix '-maix64' \
+ -target-cc-opt ia64-hpux "-mlp64" \
+ -target-cc-opt ia64 "-mtune=itanium2" \
+@@ -104,7 +105,7 @@
+ '-mieee -mbwx -mtune=ev6 -mfp-rounding-mode=d' \
+ -target-link-opt aix '-maix64' \
+ -target-link-opt ia64-hpux "-mlp64" \
+- -target-link-opt linux '-Wl,-znoexecstack' \
++ -target-link-opt linux '-Wl,-znoexecstack,-zrelro' \
+ -target-link-opt mingw \
+ '-lws2_32 -lkernel32 -lpsapi -lnetapi32 -lwinmm' \
+ -target-link-opt mingw '-Wl,--enable-stdcall-fixup' \
+--- a/runtime/Makefile
++++ b/runtime/Makefile
+@@ -106,6 +106,11 @@
+ DEBUGXCFLAGS := -DASSERT=1 -Wno-uninitialized -O0 -g
+ PICXCFLAGS :=
+
++# Use stack hardening for the C method calls on linux
++ifeq ($(TARGET_OS), linux)
++XCFLAGS += -fstack-protector-strong
++endif
++
+ # Win32&64 don't use PIC code, all other platforms do
+ ifeq ($(findstring $(TARGET_OS), mingw cygwin),)
+ PICXCFLAGS += -fPIC
--- /dev/null
+#!/usr/bin/make -f
+
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/class/makefile.mk
+include /usr/share/cdbs/1/rules/patchsys-quilt.mk
+
+# MLton compiles optimized, debug, and pic versions on its own.
+DEB_MAKE_INVOKE = $(DEB_MAKE_ENVVARS) make -C $(DEB_BUILDDIR)
+
+# The MLton guide is html. Don't compress example .sml files.
+DEB_COMPRESS_EXCLUDE_ALL = mlton/guide .sml
+
+DEB_MAKE_CLEAN_TARGET = clean
+DEB_MAKE_BUILD_TARGET = all docs
+DEB_MAKE_INSTALL_TARGET = install DESTDIR=$(CURDIR)/debian/tmp/ PREFIX=/usr
+DEB_MAKE_CHECK_TARGET = check
+
+DEB_DH_STRIP_ARGS_DEFAULT = --no-automatic-dbgsym
+
+# Useful when inspecting build logs
+common-configure-arch::
+ free
+
+# Move MLton target to per-architecture path
+common-install-arch::
+ mv $(CURDIR)/debian/tmp/usr/lib/mlton/targets/self $(CURDIR)/debian/tmp/usr/lib/mlton/targets/$(DEB_HOST_MULTIARCH)
+ ln -s $(DEB_HOST_MULTIARCH) $(CURDIR)/debian/tmp/usr/lib/mlton/targets/self
+
+# Remove licenses and empty directories to appease lintian
+common-install-indep::
+ cp README.adoc README
+ rm -f $(CURDIR)/debian/tmp/usr/lib/mlton/sml/smlnj-lib/HTML4/helper.py # we don't need a python dependency for an unrelated helper script
+ rm -f $(CURDIR)/debian/tmp/usr/lib/mlton/sml/smlnj-lib/HTML4/tests/test001.html # would reveal user IP if loaded due to external validation image
+ find $(CURDIR)/debian/tmp -type d -empty -delete
+ if test -n "$(DEB_ISNATIVE)"; then mv \
+ $(CURDIR)/debian/tmp/usr/share/doc/mlton/changelog \
+ $(CURDIR)/debian/tmp/usr/share/doc/mlton/changelog.PreviousRelease; \
+ fi
--- /dev/null
+3.0 (quilt)