Re: Deferring native compilation finalization until idle
Eli Zaretskii <[email protected]> Sat, 25 Jul 2026 19:49:32 +0300
| Newsgroups | gmane.emacs.devel |
|---|---|
| Message-ID | <[email protected]> |
> From: Stéphane Marks <[email protected]> > Date: Sat, 25 Jul 2026 18:43:02 +0200 > Cc: Aaron Jensen <[email protected]>, [email protected], [email protected], > [email protected], [email protected] > > TBH, I don't understand why that validation is need for *.eln files. > Those are compiled on your machine, so what validation is necessary? > It's not like you download unknown binaries from somewhere. > > Per > https://developer.apple.com/documentation/bundleresources/entitlements/com.apple.security.cs.disable-library-validation?language=objc > > > "The Hardened Runtime enables library validation by default. This security-hardening feature prevents a > program from loading frameworks, plug-ins, or libraries unless they’re either signed by Apple or signed with the > same Team ID as the main executable." > > This includes the native modules produced by libgccjit. I suppose that unless and until libgccjit binaries can be > signed as the bundle is signed (assuming people are running from a bundle), scanning will always be done > without the OS-level opt out. I know how these features work. What I'm saying is that security-checking binaries produced on the same system makes no sense, so directories where these files are generated (such as the tree where Emacs is routinely built) should be exempt from the check, by whatever means the system lets you use. Likewise for individual binaries and shared libraries you build yourself on the same system. And *.eln belong to this category. IOW, my "I don't understand" is not to say that I don't understand why the OS does it, it's to say why working around that is not TRT.