Zitat von Theo de Raadt <[email protected]>:

Sebastien Marie <[email protected]> wrote:

sbcl compilation works by generating native code inside live managed memory, and
permits to save the whole memory image to a file.

it is why the binary currently also needs WX and RX memory (I intent to work a
bit on it if possible).

When generating an executable, it is copying /usr/local/bin/sbcl binary as base,
and append the (optionally compressed) memory image to the file, to create a
standalone executable.

When the output file is executed, it is reading its own image, loads it in
memory, and use an entrypoint for loaded code.

So the generated file has all the flags it needs to run (because copied from
/usr/local/bin/sbcl binary).

It is ridiculous.

Even emacs stopped doing that.

Out of interest - what exactly? What changed in Emacs? Thanks.



Reply via email to