4 ms·
Is that what Apple developers were given a several-year advanced notice of, and Catalina now requires such? I recall many people running non 64-bit clean apps
by jjtheblunt 7y ago
Is that what Apple developers were given a several-year advanced notice of, and Catalina now requires such?
I recall many people running non 64-bit clean apps complaining about Catalina, which I found curious.
- wtallis 7y agoApple dropped support for 32-bit applications. That's different from requiring 64-bit applications to stop abusing unused address bits—something that hasn't ever been commonplace for x86-64.
- zozbot234 7y agox86-64 actually requires that every memory access occur with a "canonical" address, specifically to ensure that everything will be "64-bit clean". That is, even though virtual address space in some cases may be limited to 48 or 56 bits the actual address has to be sign-extended to 64 bits, so everything is "clean". "Abusing" unused address bits is then just a matter of ensuring that any virtual addresses you use are restricted to the appropriate range. "x32" binaries do this in order to ensure that any pointers will fit within 32 bits even on x86-64, for example.
- wtallis 7y agoIt's also possible to use a few low address bits for non-address information if you're willing to accept coarser alignment on all pointers. It's not as easy since you have to mask off those lower bits before dereferencing, as opposed to simply relying on the MMU to ignore high bits you're using for tags or whatever.