342a34d8ba
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. |
||
---|---|---|
.. | ||
buildlink3.mk | ||
DESCR | ||
distinfo | ||
Makefile | ||
MESSAGE | ||
options.mk | ||
PLIST |