Skip to content
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 produces different archives from Linux #329

Open
jonas-schievink opened this issue Feb 9, 2021 · 5 comments
Open

macOS produces different archives from Linux #329

jonas-schievink opened this issue Feb 9, 2021 · 5 comments
Labels

Comments

@jonas-schievink
Copy link
Contributor

Seen in #328, this means that running cargo xtask assemble on macOS will produce different archives from what CI expects.

Not sure what the cause of this is, or if this is even fixable, but we should make sure that users on macOS can contribute to this crate without problems.

@therealprof
Copy link
Contributor

Hm, do we know what the differences are? Let me try that. 😅

@therealprof
Copy link
Contributor

The generated code is 100% identical but the order of the symbols in the generated objects is not stable. Interestlingy that's only the case for the non-lto archives, the -lto archives are fine.

@therealprof
Copy link
Contributor

I tried a ton of different options and a few different nightly versions but I couldn't get the symbol order to line up. 🤷🏻‍♂️

@jonas-schievink
Copy link
Contributor Author

Perhaps we should relax the check in CI then

@therealprof
Copy link
Contributor

Hm, we could change the check to only verify the -lto ones, should be good enough to detect subtle code changes?

therealprof added a commit that referenced this issue Feb 9, 2021
Turns out rustc has an unstable symbol order between Linux and macOS,
but only if `-Clinker-plugin-lto` is not used, so let's only check those
archives for binary changes for now.

Closes #329

Signed-off-by: Daniel Egger <daniel@eggers-club.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants