bootstrap: only build crt{begin,end}.o
when compiling to MUSL by japaric · Pull Request #135836 · rust-lang/rust (original) (raw)
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 andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Conversation12 Commits1 Checks6 Files changed
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
[ Show hidden characters]({{ revealButtonHref }})
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 #135782
see the linked issue for additional context
r? @jieyouxu
rustbot has assigned @jieyouxu.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.
Use r?
to explicitly pick a reviewer
rustbot added S-waiting-on-review
Status: Awaiting review from the assignee but also interested parties.
Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
labels
This PR changes how LLVM is built. Consider updating src/bootstrap/download-ci-llvm-stamp.
This PR modifies src/bootstrap/src/core/config
.
If appropriate, please update CONFIG_CHANGE_HISTORY
in src/bootstrap/src/utils/change_tracker.rs
.
Comment on lines 1305 to 1309
assert!( |
---|
self.target.needs_crt_begin_end(), |
"tried to build crtbegin.o and crtend.o for the wrong target ({})", |
self.target |
); |
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.
rustbot added S-waiting-on-author
Status: This is awaiting some action (such as code changes or more information) from the author.
and removed S-waiting-on-review
Status: Awaiting review from the assignee but also interested parties.
labels
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
📌 Commit 88260f4 has been approved by onur-ozkan
It is now in the queue for this repository.
bors added S-waiting-on-bors
Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
and removed S-waiting-on-author
Status: This is awaiting some action (such as code changes or more information) from the author.
labels
workingjubilee added a commit to workingjubilee/rustc that referenced this pull request
…ly-for-musl, r=onur-ozkan
bootstrap: only build crt{begin,end}.o
when compiling to MUSL
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
see the linked issue for additional context
bors added a commit to rust-lang-ci/rust that referenced this pull request
…kingjubilee
Rollup of 16 pull requests
Successful merges:
- rust-lang#133266 (ci: fix explanation why LLVM download is disabled for windows-gnu)
- rust-lang#135768 (tests: Port
symbol-mangling-hashed
to rmake.rs) - rust-lang#135836 (bootstrap: only build
crt{begin,end}.o
when compiling to MUSL) - rust-lang#135840 (omit unused args warnings for intrinsics without body)
- rust-lang#135900 (Manually walk into WF obligations in
BestObligation
proof tree visitor) - rust-lang#136146 (Explicitly choose x86 softfloat/hardfloat ABI)
- rust-lang#136154 (Use +secure-plt for powerpc-unknown-linux-gnu{,spe})
- rust-lang#136163 (Fix off-by-one error causing slice::sort to abort the program)
- rust-lang#136266 (fix broken release notes id)
- rust-lang#136283 (Update encode_utf16 to mention it is native endian)
- rust-lang#136309 (set rustc dylib on manually constructed rustc command)
- rust-lang#136314 (Use proper type when applying deref adjustment in const)
- rust-lang#136339 (CompileTest: Add Directives to Ignore
arm-unknown-*
Targets) - rust-lang#136348 (miri: make float min/max non-deterministic)
- rust-lang#136351 (Add documentation for derive(CoercePointee))
- rust-lang#136358 (
#[optimize(none)]
implies#[inline(never)]
)
Failed merges:
- rust-lang#135994 (Rename rustc_middle::Ty::is_unsafe_ptr to is_raw_ptr)
r? @ghost
@rustbot
modify labels: rollup
jhpratt added a commit to jhpratt/rust that referenced this pull request
…ly-for-musl, r=onur-ozkan
bootstrap: only build crt{begin,end}.o
when compiling to MUSL
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
see the linked issue for additional context
bors added a commit to rust-lang-ci/rust that referenced this pull request
Rollup of 11 pull requests
Successful merges:
- rust-lang#133266 (ci: fix explanation why LLVM download is disabled for windows-gnu)
- rust-lang#134740 (Add amdgpu target)
- rust-lang#135836 (bootstrap: only build
crt{begin,end}.o
when compiling to MUSL) - rust-lang#136154 (Use +secure-plt for powerpc-unknown-linux-gnu{,spe})
- rust-lang#136279 (Rename
tcx.ensure()
totcx.ensure_ok()
, and improve the associated docs) - rust-lang#136283 (Update encode_utf16 to mention it is native endian)
- rust-lang#136309 (set rustc dylib on manually constructed rustc command)
- rust-lang#136328 (Rework "long type names" printing logic)
- rust-lang#136339 (CompileTest: Add Directives to Ignore
arm-unknown-*
Targets) - rust-lang#136358 (
#[optimize(none)]
implies#[inline(never)]
) - rust-lang#136368 (Make comma separated lists of anything easier to make for errors)
r? @ghost
@rustbot
modify labels: rollup
bors added a commit to rust-lang-ci/rust that referenced this pull request
Rollup of 11 pull requests
Successful merges:
- rust-lang#133266 (ci: fix explanation why LLVM download is disabled for windows-gnu)
- rust-lang#134740 (Add amdgpu target)
- rust-lang#135836 (bootstrap: only build
crt{begin,end}.o
when compiling to MUSL) - rust-lang#136154 (Use +secure-plt for powerpc-unknown-linux-gnu{,spe})
- rust-lang#136279 (Rename
tcx.ensure()
totcx.ensure_ok()
, and improve the associated docs) - rust-lang#136283 (Update encode_utf16 to mention it is native endian)
- rust-lang#136309 (set rustc dylib on manually constructed rustc command)
- rust-lang#136328 (Rework "long type names" printing logic)
- rust-lang#136339 (CompileTest: Add Directives to Ignore
arm-unknown-*
Targets) - rust-lang#136358 (
#[optimize(none)]
implies#[inline(never)]
) - rust-lang#136368 (Make comma separated lists of anything easier to make for errors)
r? @ghost
@rustbot
modify labels: rollup
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request
…ly-for-musl, r=onur-ozkan
bootstrap: only build crt{begin,end}.o
when compiling to MUSL
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
see the linked issue for additional context
bors added a commit to rust-lang-ci/rust that referenced this pull request
Rollup of 10 pull requests
Successful merges:
- rust-lang#133266 (ci: fix explanation why LLVM download is disabled for windows-gnu)
- rust-lang#134740 (Add amdgpu target)
- rust-lang#135836 (bootstrap: only build
crt{begin,end}.o
when compiling to MUSL) - rust-lang#136279 (Rename
tcx.ensure()
totcx.ensure_ok()
, and improve the associated docs) - rust-lang#136283 (Update encode_utf16 to mention it is native endian)
- rust-lang#136309 (set rustc dylib on manually constructed rustc command)
- rust-lang#136328 (Rework "long type names" printing logic)
- rust-lang#136339 (CompileTest: Add Directives to Ignore
arm-unknown-*
Targets) - rust-lang#136358 (
#[optimize(none)]
implies#[inline(never)]
) - rust-lang#136368 (Make comma separated lists of anything easier to make for errors)
r? @ghost
@rustbot
modify labels: rollup
try-job: dist-powerpc64-linux
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request
…ly-for-musl, r=onur-ozkan
bootstrap: only build crt{begin,end}.o
when compiling to MUSL
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
see the linked issue for additional context
bors added a commit to rust-lang-ci/rust that referenced this pull request
Rollup of 5 pull requests
Successful merges:
- rust-lang#133266 (ci: fix explanation why LLVM download is disabled for windows-gnu)
- rust-lang#135836 (bootstrap: only build
crt{begin,end}.o
when compiling to MUSL) - rust-lang#136279 (Rename
tcx.ensure()
totcx.ensure_ok()
, and improve the associated docs) - rust-lang#136328 (Rework "long type names" printing logic)
- rust-lang#136358 (
#[optimize(none)]
implies#[inline(never)]
)
r? @ghost
@rustbot
modify labels: rollup
try-job: dist-powerpc64-linux
bors added a commit to rust-lang-ci/rust that referenced this pull request
Rollup of 11 pull requests
Successful merges:
- rust-lang#133266 (ci: fix explanation why LLVM download is disabled for windows-gnu)
- rust-lang#134740 (Add amdgpu target)
- rust-lang#135836 (bootstrap: only build
crt{begin,end}.o
when compiling to MUSL) - rust-lang#136154 (Use +secure-plt for powerpc-unknown-linux-gnu{,spe})
- rust-lang#136279 (Rename
tcx.ensure()
totcx.ensure_ok()
, and improve the associated docs) - rust-lang#136283 (Update encode_utf16 to mention it is native endian)
- rust-lang#136309 (set rustc dylib on manually constructed rustc command)
- rust-lang#136328 (Rework "long type names" printing logic)
- rust-lang#136339 (CompileTest: Add Directives to Ignore
arm-unknown-*
Targets) - rust-lang#136358 (
#[optimize(none)]
implies#[inline(never)]
) - rust-lang#136368 (Make comma separated lists of anything easier to make for errors)
r? @ghost
@rustbot
modify labels: rollup
try-job: dist-powerpc64-linux
bors added a commit to rust-lang-ci/rust that referenced this pull request
Rollup of 11 pull requests
Successful merges:
- rust-lang#133266 (ci: fix explanation why LLVM download is disabled for windows-gnu)
- rust-lang#134740 (Add amdgpu target)
- rust-lang#135836 (bootstrap: only build
crt{begin,end}.o
when compiling to MUSL) - rust-lang#136154 (Use +secure-plt for powerpc-unknown-linux-gnu{,spe})
- rust-lang#136279 (Rename
tcx.ensure()
totcx.ensure_ok()
, and improve the associated docs) - rust-lang#136283 (Update encode_utf16 to mention it is native endian)
- rust-lang#136309 (set rustc dylib on manually constructed rustc command)
- rust-lang#136328 (Rework "long type names" printing logic)
- rust-lang#136339 (CompileTest: Add Directives to Ignore
arm-unknown-*
Targets) - rust-lang#136358 (
#[optimize(none)]
implies#[inline(never)]
) - rust-lang#136368 (Make comma separated lists of anything easier to make for errors)
r? @ghost
@rustbot
modify labels: rollup
try-job: dist-powerpc64-linux
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request
…ly-for-musl, r=onur-ozkan
bootstrap: only build crt{begin,end}.o
when compiling to MUSL
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
see the linked issue for additional context
bors added a commit to rust-lang-ci/rust that referenced this pull request
…iaskrgr
Rollup of 8 pull requests
Successful merges:
- rust-lang#134777 (Enable more tests on Windows)
- rust-lang#134807 (fix(rustdoc): always use a channel when linking to doc.rust-lang.org)
- rust-lang#135621 (Move some std tests to integration tests)
- rust-lang#135695 (Support raw-dylib link kind on ELF)
- rust-lang#135836 (bootstrap: only build
crt{begin,end}.o
when compiling to MUSL) - rust-lang#136235 (Pretty print pattern type values with transmute if they don't satisfy their pattern)
- rust-lang#136392 (bootstrap: add wrapper macros for
feature = "tracing"
-gatedtracing
macros) - rust-lang#136462 (mir_build: Simplify
lower_pattern_range_endpoint
)
r? @ghost
@rustbot
modify labels: rollup
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request
…ly-for-musl, r=onur-ozkan
bootstrap: only build crt{begin,end}.o
when compiling to MUSL
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
see the linked issue for additional context
bors added a commit to rust-lang-ci/rust that referenced this pull request
…iaskrgr
Rollup of 7 pull requests
Successful merges:
- rust-lang#134777 (Enable more tests on Windows)
- rust-lang#134807 (fix(rustdoc): always use a channel when linking to doc.rust-lang.org)
- rust-lang#135621 (Move some std tests to integration tests)
- rust-lang#135836 (bootstrap: only build
crt{begin,end}.o
when compiling to MUSL) - rust-lang#136235 (Pretty print pattern type values with transmute if they don't satisfy their pattern)
- rust-lang#136392 (bootstrap: add wrapper macros for
feature = "tracing"
-gatedtracing
macros) - rust-lang#136462 (mir_build: Simplify
lower_pattern_range_endpoint
)
r? @ghost
@rustbot
modify labels: rollup
jieyouxu added a commit to jieyouxu/rust that referenced this pull request
…ly-for-musl, r=onur-ozkan
bootstrap: only build crt{begin,end}.o
when compiling to MUSL
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
see the linked issue for additional context
bors added a commit to rust-lang-ci/rust that referenced this pull request
Rollup of 8 pull requests
Successful merges:
- rust-lang#134807 (fix(rustdoc): always use a channel when linking to doc.rust-lang.org)
- rust-lang#134814 (Add
kl
andwidekl
target features, and the feature gate) - rust-lang#135836 (bootstrap: only build
crt{begin,end}.o
when compiling to MUSL) - rust-lang#136022 (Port ui/simd tests to use the intrinsic macro)
- rust-lang#136235 (Pretty print pattern type values with transmute if they don't satisfy their pattern)
- rust-lang#136309 (set rustc dylib on manually constructed rustc command)
- rust-lang#136392 (bootstrap: add wrapper macros for
feature = "tracing"
-gatedtracing
macros) - rust-lang#136462 (mir_build: Simplify
lower_pattern_range_endpoint
)
r? @ghost
@rustbot
modify labels: rollup
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request
…ly-for-musl, r=onur-ozkan
bootstrap: only build crt{begin,end}.o
when compiling to MUSL
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
see the linked issue for additional context
bors added a commit to rust-lang-ci/rust that referenced this pull request
…iaskrgr
Rollup of 7 pull requests
Successful merges:
- rust-lang#134807 (fix(rustdoc): always use a channel when linking to doc.rust-lang.org)
- rust-lang#134814 (Add
kl
andwidekl
target features, and the feature gate) - rust-lang#135836 (bootstrap: only build
crt{begin,end}.o
when compiling to MUSL) - rust-lang#136022 (Port ui/simd tests to use the intrinsic macro)
- rust-lang#136309 (set rustc dylib on manually constructed rustc command)
- rust-lang#136392 (bootstrap: add wrapper macros for
feature = "tracing"
-gatedtracing
macros) - rust-lang#136462 (mir_build: Simplify
lower_pattern_range_endpoint
)
r? @ghost
@rustbot
modify labels: rollup
bors added a commit to rust-lang-ci/rust that referenced this pull request
…iaskrgr
Rollup of 6 pull requests
Successful merges:
- rust-lang#134807 (fix(rustdoc): always use a channel when linking to doc.rust-lang.org)
- rust-lang#134814 (Add
kl
andwidekl
target features, and the feature gate) - rust-lang#135836 (bootstrap: only build
crt{begin,end}.o
when compiling to MUSL) - rust-lang#136022 (Port ui/simd tests to use the intrinsic macro)
- rust-lang#136309 (set rustc dylib on manually constructed rustc command)
- rust-lang#136462 (mir_build: Simplify
lower_pattern_range_endpoint
)
r? @ghost
@rustbot
modify labels: rollup
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request
Rollup merge of rust-lang#135836 - ferrocene:ja-gh135782-build-crt-only-for-musl, r=onur-ozkan
bootstrap: only build crt{begin,end}.o
when compiling to MUSL
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
see the linked issue for additional context
japaric deleted the ja-gh135782-build-crt-only-for-musl branch
Labels
Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)