Clozure / ccl

Clozure Common Lisp
http://ccl.clozure.com
Apache License 2.0
850 stars 103 forks source link

Changes to support compiling under UCRT64 #432

Closed kyanha closed 1 year ago

kyanha commented 1 year ago

I was having trouble getting CCL to build a functional binary under UCRT64. With the changes @bshetty suggested to pei-x86-64.x (modified for UCRT64 instead of Cygwin), the binary would actually start but would give a VirtualProtect error. With the changes he later suggested for the linker (now in Makefile), it now generates a binary that will run and pass all the same tests that the distributed Cygwin version does.

This is NOT A PERFECT PATCH. Per https://github.com/Clozure/ccl/issues/425#issuecomment-1369620284, the newest compilers under Cygwin still won't create functional binaries.

I also do not actually know anything about GNU ld linker scripts, so I don't know everything that it's doing, or if it's doing too much.

kyanha commented 1 year ago

I also need to point out that the path I put in pei-x86-64.x is compatible with UCRT64, but not with cygwin. Feel free to change the linker paths as necessary.

bshetty commented 1 year ago

I think the official docs point to using msys so this should be good.

Regards, Bharat

On Tue, Jan 10, 2023 at 9:39 AM Kyle H @.***> wrote:

I also need to point out that the path I put in pei-x86-64.x is compatible with UCRT64, but not with cygwin. Feel free to change the linker paths as necessary.

— Reply to this email directly, view it on GitHub https://github.com/Clozure/ccl/pull/432#issuecomment-1376705908, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA4QDZUX3DRIDQIIA5LXVVTWRTOILANCNFSM6AAAAAATWAVAPI . You are receiving this because you were mentioned.Message ID: @.***>

xrme commented 1 year ago

I used your pull request as a starting point to make the Windows lisp kernels build with the MSYS2 environment.

See https://github.com/Clozure/ccl/commit/a6aeda7d7a7766eb0c39699a861fee00928ca00c