新泽西州标准ML
发行说明


版本110.96
2019年12月13日


总结

此版本修复了与支持两者相关的几个脚本错误32位和64位版本的系统,以及其他一些64位相关版本问题。它还增加了对的64位支持自由BSD.

细节

安装

64位支持

已更新各种安装和配置脚本接受命令行参数以覆盖在x86/amd64体系结构上运行时的默认机器大小。对于配置/安装.sh脚本,您可以指定机器字目标体系结构的大小如下:

-默认 大小

指定默认大小sml公司和其他命令,其中大小是其中之一3264.

-32

安装32位版本的系统。

-64

安装64位版本的系统。

可以通过运行以下命令在同一位置安装两个版本这个安装.sh编写两次脚本。例如,命令

%配置/安装.sh-32%config/install.sh-默认64

将安装两个版本,默认为64位版本。一个然后会使用命令sml-32型运行32位版本的系统。

如果同时安装了这两个版本,则使用-32-64旗帜覆盖默认版本。

32位macOS问题

x86安装程序110.96工程macO公司10.14莫哈韦,从源头建设需要一些额外的步骤,因为X代码为Mojave发布的不包括32位SDK。

您可能会遇到的另一个问题构建时macO公司10.14 Mojave是shell的错误消息表单脚本

/bin/sh:解释器错误:不允许操作

出现此错误的原因是com.苹果.检疫属性设置在shell脚本。要解决此问题,请使用命令删除属性

xattr-d com.apple.idential shell脚本

并继续构建。

MLRISC公司

修复了生成浮点比较的方式中的一个错误对于AMD64型目标。这是错误234的根本原因,但可能会影响其他代码。

运行时系统

我们现在使用POSIX公司信号处理开启自由BSD(而不是“传统BSD”信号处理)。

ML-LPT公司

这个AntlrStreamPos公司结构现在有一个文件位置具有整数签名。此子结构定义了位置,可用于编写可移植的代码这种类型的未来变化(例如,开关来自位置.int整数110.94)。

漏洞

以下是此版本修复(或关闭)的跟踪错误列表,请参阅错误追踪系统了解更多详细信息。

233

64位安装的eXene构建失败

234

将NaN转换为字符串会导致64位机器上的无限循环

235

Mac OS Catalina编译失败

236

无法为Arch Linux 64位x86打包smlnj

237

heap2exec脚本在110.95失败

还修复了以下未编号的错误:

  • 修复了以下问题:控制-C(SIGINT公司)或其他信号,可能被忽略。

支持的系统

我们相信SML/NJ将在以下系统上构建和运行,但只有测试了其中一些:

建筑 操作系统 状态

AMD64型

免费BSD 12.0

已测试

macOS 10.14(莫哈韦)

已测试

macOS 10.15(卡特琳娜)

已测试

Ubuntu 16.04.3 LTS

已测试

Ubuntu 18.04.3 LTS

已测试

 

电源PC

Mac OS X 10.5(豹)

AIX(AIX)

 

斯巴达克

Solaris公司

Linux操作系统

 

x86(32位)

Mac OS X 10.6(雪豹)

Mac OS X 10.7(狮子)

Mac OS X 10.8(山狮)

Mac OS X 10.9(小牛队)

Mac OS X 10.10(约塞米蒂)

Mac OS X 10.11(El Capitan)

macOS 10.12(塞拉利昂)

已测试

macOS 10.13(高塞拉)

已测试

macOS 10.14(莫哈韦)

已测试

Ubuntu 16.04.3 LTS

已测试

其他Linux变体

免费BSD 12.0

已测试

其他BSD变体

Windows 7

Windows 10

Cygwin(32位)