Path to this page:
Subject: CVS commit: pkgsrc/lang/polyml
From: Thomas Klausner
Date: 2023-03-05 21:19:11
Message id: 20230305201911.E0232FA90@cvs.NetBSD.org
Log Message:
polyml: update to 5.9.
Provided by Pete Padilla in pkgsrc-wip.
Changes:
Native code-generator for ARM/64
There is now a native code-generator for the 64-bit ARM architecture.
All features of Poly/ML are supported, including FFI and compact-32
bits. It has been tested on a variety of platforms and operating
systems including Mac M1, Windows and WSL as well as the Raspberry
Pi on Raspbian and even big-endian NetBSD. At the moment the
code-generator does no optimisation so the performance should
improve in future releases.
Position-independent code for X86/64 and ARM64
The code segments in object files created by PolyML.export for
X86/64 and ARM64 are now position-independent on Linux and Mac/OS.
This is necessary for some platforms and desirable on others. Text
relocations are still generated on the X86/32 since changing this
would require changes to the code-generator.
New bootstrap process
The initial build process has been changed to reduce the number of
pre-built compilers required. The build process takes longer than
before but the final code will be the same.
Minor Changes
* Additional FFI conversions for size_t, ssize_t, long long, unsigned long \
long, ptrdiff_t, intptr_t and uintptr_t.
* Fix to build problem for 5.8.2 on big-endian.
* Fix to underlying sleep function that could fail in BSD.
* Fixes for some problems in Unix.execute and Unix.executeInEnv introduced in \
the changes in 5.8.2.
* Fixes for Foreign.LowLevel.cTypeUint and cTypeULong which were incorrectly \
signed rather than unsigned.
* Fix for systems where PTHREAD_STACK_MIN is a function rather than a constant.
* Fixes to profiling of live data.
* Fixed printing of type functions when the type is passed as an argument to a \
functor.
* Fix to passing struct argument in SysV x86/64.
Files: