Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Solaris x86 and x86_64 patches (tested on Solaris 10 and 11) #21

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open

Solaris x86 and x86_64 patches (tested on Solaris 10 and 11) #21

wants to merge 3 commits into from

Conversation

binghe
Copy link

@binghe binghe commented Jan 5, 2018

Currently the SBCL binaries provided on sbcl.org is for version 1.2.7, the binaries may work on Solaris 11 but cannot run on Solaris 10.

I have successfully built latest SBCL (1.4.3) x86 and x86_64 on Solaris 10, and the resulting binaries are confirmed working on clean Solaris 11 installations (thus the binary doesn't depend on GCC runtime at all). The main C compiler is GCC 5.5.0 from opencsw.org, but Oracle Developer Studio 12.5 (or 12.6) is also needed for compiling the foo.c in sb-posix package.

This PR contains all my changes. Some shell scripts must be called by bash instead of sh (they're different on Solaris 10).

Sample SBCL binaries (x86_64 version has sb-threads enabled) can be downloaded here:

@binghe
Copy link
Author

binghe commented Jan 5, 2018

Sun compiler refuses to compile runtime/print.c saying the two static void functions shouldn't try to return values. This issue is also fixed, however I didn't use Sun compilers to build SBCL finally.

nzioki pushed a commit to nzioki/sbcl that referenced this pull request Jan 6, 2018
Can't reliably base off rsp if next frame doesn't say how to restore rsp.
Without this patch:
> sbcl#19 0x000000000596193f in (labels sb-impl::restart-lisp in sb-ext:save-lisp-and-die) ()
> sbcl#20 0x000000000e98785f in Lcall ()
> Backtrace stopped: previous frame inner to this frame (corrupt stack?)

With this patch:
> sbcl#19 0x000000000596193f in (labels sb-impl::restart-lisp in sb-ext:save-lisp-and-die) ()
> sbcl#20 0x000000000e98785f in Lcall ()
> sbcl#21 0x00007fa4a3be2bbd in __libc_start_main ()
> sbcl#22 0x00000000046fb009 in _start ()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant