Friday, June 30, 2023

Re: lang/* BTI breakage - lang/sbcl

Zitat von Theo de Raadt <deraadt@openbsd.org>:

> Sebastien Marie <semarie@online.fr> 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.

No comments:

Post a Comment