-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[MacOS] Rosetta 2 refuses to run Virgil x86-64-darwin binaries #60
Comments
I believe Rosetta 2 requires executables to use PIC (position independent code). PIE and fixed addresses are not supported I think. At least when linking a non-PIC executable you get the following warning: |
Thanks for that info! That makes sense. It's a bit of work to figure out how to emit linker tables and such on MacOS. |
Steps to reproduce:
The current error I get is "overlapping segments" but even rearranging the segments in the binary, I cannot get the program to start. |
I recently ported Virgil to
x86-64-darwin
, i.e. 64-bit MacOS on Intel. I expected that the binaries generated would work automatically under Rosetta 2, but they apparently do not.I could some help debugging some issues.
Tinkering with the segment layouts in
aeneas/src/x86-64/X86_64Darwin.v3
can get past that, but other errors remain. I am not sure what the rules are for Rosetta.The text was updated successfully, but these errors were encountered: