-
Notifications
You must be signed in to change notification settings - Fork 13k
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
bootstrap: only build crt{begin,end}.o
when compiling to MUSL
#135836
base: master
Are you sure you want to change the base?
bootstrap: only build crt{begin,end}.o
when compiling to MUSL
#135836
Conversation
only MUSL needs those objects and trying to compile them to other targets, e.g. Windows or macOS, will produce C compilation errors check the target before shelling out to the C compiler and tweak `make_run` to skip the actual C compilation when the target is not MUSL fixes rust-lang#135782
This PR changes how LLVM is built. Consider updating src/bootstrap/download-ci-llvm-stamp. This PR modifies If appropriate, please update |
assert!( | ||
self.target.needs_crt_begin_end(), | ||
"tried to build crtbegin.o and crtend.o for the wrong target ({})", | ||
self.target | ||
); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should still be able to build this when invoked manually.
@@ -1295,11 +1295,19 @@ impl Step for CrtBeginEnd { | |||
} | |||
|
|||
fn make_run(run: RunConfig<'_>) { | |||
run.builder.ensure(CrtBeginEnd { target: run.target }); | |||
if run.target.needs_crt_begin_end() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you try to modify default_condition
inside should_run
instead?
r? onur-ozkan |
@rustbot author |
only MUSL needs those objects and trying to compile them to other targets, e.g. Windows or macOS, will produce C compilation errors
check the target before shelling out to the C compiler and tweak
make_run
to skip the actual C compilation when the target is not MUSLfixes #135782
see the linked issue for additional context