Provide a trampoline implementation that doesn't presume r11 is free (it's not
in dynamically linked programs and the ELF ABI says as much but somehow linux
managed to avoid this it seems). Use r13 for the time being since while gcc
will allocate it, it's the last "local" one allocated so none of the clisp
code hits that (nothing needed 17+ local registers in use ever). Update the
vacall implementation to match the trampoline calls but otherwise for
any assembly use the linux code.
Make these changes specific to netbsd, update the test cases so everything
works.
This now passes all the clisp tests when done/installed.
and buildlinked by me.
Changes:
Now distributed under the GPL.
All .fas files generated by previous CLISP versions are invalid
and must be recompiled.
Hostname resolution is now optional in EXT:SOCKET-STREAM-PEER and
EXT:SOCKET-STREAM-LOCAL. EXT:SOCKET-STATUS now accepts SOCKET-SERVERs too,
and the direction of the checks can be specified. Added install.bat for
win32 installation. Fixed handling of circular structs and pointers to
functions in the FFI. Fixed binary I/O for streams with element type longer
than one byte, but not a whole number of bytes.