Hacker News new | ask | show | jobs
by dagmx 1294 days ago
That’s not really an executable linking issue. That’s the OS dropping support for 32-bit code in general from Catalina onwards.
1 comments

And it was no doubt done to ease the transition to ARM… it means no need to implement 32-bit support in Rosetta.
Rosetta does support executing 32-but code in alternate code segments created in a 64-bit process, used by CodeWeavers’ Crossover: https://www.codeweavers.com/blog/jwhite/2020/11/18/okay-im-o...
This post here has a section on the reasons to drop 32-bit

https://pilky.me/apples-technology-transitions/

But essentially storage and memory savings, maintainability savings and some issues with the ObjC runtime.

I assume part of the issue too is being able to enable pointer authentication, which afaik uses the higher end bits to store data, and being able to do that allows them to secure the OS better. So 32-bit support likely was a security risk factor as a result too.