3 ms·
System calls tend to have a _very_ basic calling convention. Typically up to six arguments, of which all of them are integers or pointers. No floating-point val
by EdSchouten 4y ago
System calls tend to have a _very_ basic calling convention. Typically up to six arguments, of which all of them are integers or pointers. No floating-point values. It's fairly easy to translate such calls.
Even if translation is non-trivial, there are only a finite number of system calls (hundreds). It's not hard to provide bindings for those.
- lisper 4y agoYeah, I didn't phrase my question very well. I didn't mean "system calls" as in kernel calls. I meant system libraries, i.e. Cocoa frameworks. Quartz. Homekit. That sort of thing.
- EdSchouten 4y agoI think all of those are simply built as universal libraries as well, right?
- lisper 4y agoI have no idea. That's what I'm asking. But I don't think that's the case because Rosetta is a separate download. If it included universal binaries for all the system libraries it would be huge.