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

feat: decouple Rust app's toolchain from rftrace's toolchain #15

Merged
merged 10 commits into from
Mar 25, 2024
Merged

feat: decouple Rust app's toolchain from rftrace's toolchain #15

merged 10 commits into from
Mar 25, 2024

Conversation

mkroening
Copy link
Member

@mkroening mkroening commented Nov 30, 2023

This PR decouples the Rust app's toolchain from rftrace's toolchain, allowing you to use a recent nightly version for the Rust app.

The approach is the same that we use for Hermit nowadays: properly bundle core and compiler-builtins-mem in the static library, but only export explicit symbols. All other symbols are renamed to avoid duplicated symbols from core, which recent Rust toolchains reject.

This PR allows me to compile and run rftrace with recent Hermit versions.
I will still rework rftrace for recent Rust versions itself later, though.

This PR is best reviewed commit by commit.

Closes #17

This will allow a standalone static library in the presence of other
Rust code.

Signed-off-by: Martin Kröning <[email protected]>
This allows us to use different Rust toolchains for rftrace's static library and the application.

Signed-off-by: Martin Kröning <[email protected]>
While requiring a newer distribution of llvm-tools, this avoids the requirement for linking with lld.

Signed-off-by: Martin Kröning <[email protected]>
This fixes builds on Windows.

Signed-off-by: Martin Kröning <[email protected]>
@mkroening mkroening mentioned this pull request Dec 1, 2023
8 tasks
@mkroening mkroening merged commit d6b3faa into hermit-os:master Mar 25, 2024
2 checks passed
@mkroening mkroening deleted the decouple-rust branch March 25, 2024 10:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support recent Rust apps
1 participant