| Age | Commit message (Collapse) | Author | Lines |
|
|
|
|
|
Instead of making this a build parameter, pass the SCRIPT as an
environment variable.
To this purpose, normalize on always referring to a script in
`/scripts`.
For i686-gnu-nopt-2 I had to create a separate script, because
Docker seems to be really terrible at command line argument
parsing, so it's not possible to pass an environment variable that
contains whitespace.
|
|
|
|
Signed-off-by: Jakub Beránek <berykubik@gmail.com>
|
|
|
|
|
|
|
|
|
|
This is the first step to enable download of precompiled GCC
|
|
Move shared helper scripts used by Docker builds under docker/scripts.
|
|
CI: Add LTO support to clang in dist-x86_64-linux
After https://github.com/rust-lang/cc-rs/pull/1279, we attempt to pass `-flto=thin` to clang. In `dist-x86_64-linux`, we don't build clang with the `LLVMgold.so` library so this fails. This attempts to resolve this
First, pass the binutils plugin include directory to Clang, [which will build the library](https://github.com/llvm/llvm-project/blob/2d6d723a85c2d007b0359c206d66cd2e5a9f00e1/llvm/docs/GoldPlugin.rst#how-to-build-it)
Second, this library depends on the *version of libstdc++ that we built* specifically. However, despite both the RPATH and LD_LIBRARY_PATH pointing to `/rustroot/lib`, we incorrectly resolve to the system libstdc++, which doesn't load.
```
# LD_DEBUG=libs,files
2219: file=libstdc++.so.6 [0]; needed by /rustroot/bin/../lib/LLVMgold.so [0]
2219: find library=libstdc++.so.6 [0]; searching
2219: search path=/rustroot/bin/../lib/../lib (RPATH from file /rustroot/bin/../lib/LLVMgold.so)
2219: trying file=/rustroot/bin/../lib/../lib/libstdc++.so.6
2219: search path=/usr/lib64/tls:/usr/lib64 (system search path)
2219: trying file=/usr/lib64/tls/libstdc++.so.6
2219: trying file=/usr/lib64/libstdc++.so.6
```
Using `LD_PRELOAD` causes it to correctly load the library
I think this is probably not the most maintainable way to do this, so opening to see if this is desired and if there's a better way of doing this
|
|
|
|
|
|
This reverts commit 023521e6825edfa6df01e392520d7cb120eab158, reversing
changes made to c434b4b4b6cd20560c5b32e80b2b22618a4da3dd.
|
|
Move shared helper scripts used by Docker builds under docker/scripts.
|
|
|
|
Update x86_64-linux host compiler to LLVM 19 rc 3
|
|
move it where it's used, and name it like the other scripts
|
|
|
|
Build libzstd from source because the EPEL package is built without fPIC.
|
|
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.
|
|
|
|
CentOS 7 is going EOL on June 30, after which its package repos will no
longer exist on the regular mirrors. We'll still be able to access
packages from the vault server though, and can start doing so now. This
affects `dist-i686-linux` and `dist-x86_64-linux`.
I also removed `epel-release` because we were only using that for its
`cmake3`, but we've been building our own version for a while.
|
|
It is now available as a submodule in src/tools/rustc-perf, and is
initialized when building opt-dist
|
|
|
|
Co-authored-by: Urgau <3616612+Urgau@users.noreply.github.com>
|
|
Co-authored-by: Urgau <3616612+Urgau@users.noreply.github.com>
|
|
A full `git clone` of GCC includes quite a lot of history, and it's
completely unnecessary for building it in CI. We can use a GitHub
archive URL to get a simple tarball that is much faster to download.
Also, the `gcc-build` directory can be removed after install to reduce
the image size even further.
|
|
|
|
|
|
r=MarkSimulacrum
Subtree update cg gcc 2024 03 05
Reopening of #121390.
r? `@ghost`
|
|
|
|
Update host LLVM on x64 Linux to LLVM 18
Updates host LLVM on Linux to `18.1.0`.
|
|
|
|
|
|
perl-core is added for building OpenSSL v3
See https://github.com/openssl/openssl/blob/openssl-3.2.1/NOTES-PERL.md
|
|
|
|
Support for `-fuse-ld=lld` was added in GCC 9
|
|
This fixes few miscompiles, so nice to have.
|
|
|
|
|
|
|
|
|
|
|
|
This avoids issues with the GitHub /archive/ links which can be somewhat
unreliable and are currently causing CI issues.
|
|
|
|
|
|
CI: build CMake 3.20 to support LLVM 17
LLVM 17 will require CMake at least 3.20, so we have to go back to building our own CMake on the Linux x64 dist builder.
r? `@nikic`
|
|
|