about summary refs log tree commit diff
path: root/src/bootstrap/download-ci-llvm-stamp
AgeCommit message (Collapse)AuthorLines
2025-04-17bootstrap: enable zlib for LLVM when we compile it for profilingMaksim Bondarenkov-1/+1
when compiling target LLVM with `opt-dist local` on Windows/MinGW, profraw files are being compressed with zlib, so compiling without it will make `llvm-profdata` complain about lacking of zlib support. this error is shown: `profile uses zlib compression but the profile reader was built without zlib support` example from llvm test suite: https://github.com/llvm/llvm-project/blob/76b5fcbf975547251faaeed8b567ea09d139a607/llvm/test/tools/llvm-profdata/nocompress.test#L15
2025-03-28bootstrap: Update download-ci-llvm-stampMads Marquart-1/+1
This PR makes a fairly large version update to CMake and cc, so it is likely that LLVM is built differently.
2025-01-31Add amdgpu targetFlakebi-1/+1
Add target and compile the amdgpu llvm backend.
2024-09-09bump download-ci-llvm-stamponur-ozkan-1/+1
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-08-15Include a copy of `compiler-rt` source in the `download-ci-llvm` tarballZalathar-1/+1
2024-08-09Enable zstd for debug compression.Kyle Huey-1/+1
Set LLVM_ENABLE_ZSTD alongside LLVM_ENABLE_ZLIB so that --compress-debug-sections=zstd is an option. Use static linking to avoid a new runtime dependency. Add an llvm.libzstd bootstrap option for LLVM with zstd. Set it off by default except for the dist builder. Handle llvm-config --system-libs output that contains static libraries.
2024-06-23Promote loongarch64-unknown-linux-musl to Tier 2 with host toolsWANG Rui-1/+1
MCP: https://github.com/rust-lang/compiler-team/issues/753
2024-06-12Update download-ci-llvm-stampScott Mabin-1/+1
2024-03-01Add initial support for DataFlowSanitizerRamon de C Valle-1/+1
Adds initial support for DataFlowSanitizer to the Rust compiler. It currently supports `-Zsanitizer-dataflow-abilist`. Additional options for it can be passed to LLVM command line argument processor via LLVM arguments using `llvm-args` codegen option (e.g., `-Cllvm-args=-dfsan-combine-pointer-labels-on-load=false`).
2023-11-08Fix issue #110087LuuuX-1/+1
Three tasks have been implemented here. Add a new `download-ci-llvm = if-unchange` option and enable if by default for `profile = codegen`. Include all build artifacts by traversing the llvm-project build output, Keep the downloadable llvm the same state as if you have just run a full source build. After selecting the codegen profile during ./x.py setup, the submodule will be automatically downloaded.
2023-07-24bootstrap: Define CMake platform if DragonFly.Alex Zepeda-1/+1
CMAKE_SYSTEM_NAME is defined on a cross build if the target is recognized. Without this explicit definition cmake will assume that we're building for the host platform which can bring in unwanted compiler and linker flags. Also, add a warning on cross builds with unknown target to aid in cross builds for future platforms.
2023-06-24Bump download-ci-llvm-stampAndy Wang-1/+1
2023-04-18Bump `download-ci-llvm-stamp` for loong supportjyn-1/+1
This was missed in https://github.com/rust-lang/rust/pull/96971 and resulted in the LLVM we cache in CI being different from the one built locally. We didn't catch it because nothing tested the loong support.
2023-03-21Set LLVM `LLVM_UNREACHABLE_OPTIMIZE` to `OFF`Ian Douglas Scott-1/+1
This option was added to LLVM in https://reviews.llvm.org/D121750?id=416339. It makes `llvm_unreachable` in builds without assertions compile to an `LLVM_BUILTIN_TRAP` instead of `LLVM_BUILTIN_UNREACHABLE` (which causes undefined behavior and is equivalent to `std::hint::unreachable_unchecked`). Having compiler bugs triggering undefined behavior generally seems undesirable and inconsistent with Rust's goals. There is a check in `src/tools/tidy/src/style.rs` to reject code using `llvm_unreachable`. But it is used a lot within LLVM itself. For instance, this changes a failure I get compiling `libcore` for m68k from a `SIGSEGV` to `SIGILL`, which seems better though it still doesn't provide a useful message without switching to an LLVM build with asserts. It may be best not to do this if it noticeably degrades compiler performance, but worthwhile if it doesn't do so in any significant way. I haven't looked into what benchmarks there are for Rustc. That should be considered before merging.
2023-01-03bump download-ci-llvm-stampRémy Rakic-1/+1
2022-10-07Bump download-ci-llvm-stampJosh Stone-1/+1
2022-09-23Add `llvm-dis` to the set of tools in `ci-llvm`Miguel Ojeda-1/+1
The LLVM disassembler is needed for the test introduced in https://github.com/rust-lang/rust/pull/97550. Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2022-05-20Bump LLVM fetched from CI to fix run-makeMark Rousskov-1/+1
2022-02-22Bump download-ci-llvm-stamp for llvm-nm inclusionKrasimir Georgiev-1/+1
We started using it in https://github.com/rust-lang/rust/pull/94023.
2021-12-05Bump download-ci-llvm-stamp for LLD inclusionAaron Hill-1/+1
This will make 'lld' available locally now, instead of needing to wait for the next LLVM submodule bump.
2021-08-25Bump download-ci-llvm stampMark Rousskov-1/+1
This will ensure the optimized LLVM is used for local builds after rebasing immediately, rather than needing to wait for a future LLVM bump.
2021-01-15Allow downloading LLVM on WindowsJoshua Nelson-1/+1
- Don't ignore packaging `llvm/lib/` for `rust-dev` when LLVM is linked statically - Add `link-type.txt` so bootstrap knows whether llvm was linked statically or dynamically - Don't assume CI LLVM is linked dynamically in `bootstrap::config` - Fall back to dynamic linking if `link-type.txt` doesn't exist - Fix existing bug that split the output of `llvm-config` on lines, not spaces - Enable building LLVM tests This works around the following llvm bug: ``` llvm-config: error: component libraries and shared library llvm-config: error: missing: /home/joshua/rustc2/build/x86_64-unknown-linux-gnu/llvm/build/lib/libgtest.a llvm-config: error: missing: /home/joshua/rustc2/build/x86_64-unknown-linux-gnu/llvm/build/lib/libgtest_main.a llvm-config: error: missing: /home/joshua/rustc2/build/x86_64-unknown-linux-gnu/llvm/build/lib/libLLVMTestingSupport.a thread 'main' panicked at 'command did not execute successfully: "/home/joshua/rustc2/build/x86_64-unknown-linux-gnu/llvm/build/bin/llvm-config" "--libfiles" ``` I'm not sure why llvm-config thinks these are required, but to avoid the error, this builds them anyway. - Temporarily set windows as the try builder. This should be reverted before merging. - Bump version of `download-ci-llvm-stamp` `src/llvm-project` hasn't changed, but the generated tarball has. - Only special case MacOS when dynamic linking. Static linking works fine. - Store `link-type.txt` to the top-level of the tarball This allows writing the link type unconditionally. Previously, bootstrap had to keep track of whether the file IO *would* succeed (it would fail if `lib/` didn't exist), which was prone to bugs. - Make `link-type.txt` required Anyone downloading this from CI should be using a version of bootstrap that matches the version of the uploaded artifacts. So a missing link-type indicates a bug in x.py.
2020-12-17bootstrap: update ci-llvm stamp after #80087David Wood-1/+1
Unfortunately, #80087 forgot to update the ci-llvm stamp, so the updated ci-llvm tarball with `llvm-dwp` wasn't downloaded by users. This commit updates the ci-llvm stamp to resolve that problem. Signed-off-by: David Wood <david@davidtw.co>
2020-10-20Make users of `download-ci-llvm` download a new versionSimon Sapin-0/+4