about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2023-08-07 21:37:42 +0000
committerbors <bors@rust-lang.org>2023-08-07 21:37:42 +0000
commit443c3161dd04f4c1b656a626f9079921bee9c326 (patch)
treeb3711b41ca4251bb1fd4d28bbd5c27ba3c8df691 /src
parent03a119b0b0e310d22d94399b24ed030056050f13 (diff)
parent78678336527cdbabaa41e5e92e6645ed712b4160 (diff)
Auto merge of #114048 - nikic:llvm-17, r=cuviper
Update to LLVM 17

Expected LLVM 17.0.0 release date: Sep 5th
Rust 1.73 release date: Oct 5th

Compatibility changes in this PR:
 - Drop LLVM_RUSTLLVM check for target-cpu table, which no longer requires a patch with LLVM 17.
 - Update powerpc data layouts, which now include function alignment information. As usual, downgrade for older LLVM versions.
 - Adjust the stack-protector.rs test so that the stack smashing does not get optimized away.
 - Adjust path of crtbegin.c and crtend.c in compiler-rt.
 - Updated dist-riscv64-linux to use binutils 2.36 in order to recognize the zicsr feature, which is no longer part of the base ISA.
 - Fixed symlink for asm include directory on dist-various-2. We should use `/usr/include/x86_64-linux-gnu/asm` for the host, rather than `/usr/include/asm-generic`.

Upstream patches:
 - [x] https://reviews.llvm.org/D156525 (backported)

Perf run: https://perf.rust-lang.org/compare.html?start=f239bb6bea94d16d902c36d72b5cabdddefb3cab&end=8030d71a95a3ea79f5fc95232c32f9b78effb92d&stat=instructions:u

Fixes #109671.

Successful: dist-x86_64-linux, dist-aarch64-linux, dist-s390x-linux, dist-powerpc-linux, armhf-gnu, wasm32
Diffstat (limited to 'src')
-rw-r--r--src/bootstrap/llvm.rs4
-rw-r--r--src/ci/docker/host-x86_64/dist-riscv64-linux/riscv64-unknown-linux-gnu.defconfig2
-rw-r--r--src/ci/docker/host-x86_64/dist-various-2/Dockerfile4
m---------src/llvm-project0
4 files changed, 5 insertions, 5 deletions
diff --git a/src/bootstrap/llvm.rs b/src/bootstrap/llvm.rs
index 0613b999793..14ee5659ed5 100644
--- a/src/bootstrap/llvm.rs
+++ b/src/bootstrap/llvm.rs
@@ -1159,8 +1159,8 @@ impl Step for CrtBeginEnd {
             return out_dir;
         }
 
-        let crtbegin_src = builder.src.join("src/llvm-project/compiler-rt/lib/crt/crtbegin.c");
-        let crtend_src = builder.src.join("src/llvm-project/compiler-rt/lib/crt/crtend.c");
+        let crtbegin_src = builder.src.join("src/llvm-project/compiler-rt/lib/builtins/crtbegin.c");
+        let crtend_src = builder.src.join("src/llvm-project/compiler-rt/lib/builtins/crtend.c");
         if up_to_date(&crtbegin_src, &out_dir.join("crtbegin.o"))
             && up_to_date(&crtend_src, &out_dir.join("crtendS.o"))
         {
diff --git a/src/ci/docker/host-x86_64/dist-riscv64-linux/riscv64-unknown-linux-gnu.defconfig b/src/ci/docker/host-x86_64/dist-riscv64-linux/riscv64-unknown-linux-gnu.defconfig
index 10075907beb..470cef1a84e 100644
--- a/src/ci/docker/host-x86_64/dist-riscv64-linux/riscv64-unknown-linux-gnu.defconfig
+++ b/src/ci/docker/host-x86_64/dist-riscv64-linux/riscv64-unknown-linux-gnu.defconfig
@@ -10,7 +10,7 @@ CT_ARCH_64=y
 CT_ARCH_ARCH="rv64gc"
 CT_KERNEL_LINUX=y
 CT_LINUX_V_4_20=y
-CT_BINUTILS_V_2_32=y
+CT_BINUTILS_V_2_36=y
 CT_GLIBC_V_2_29=y
 CT_GCC_V_8=y
 CT_CC_LANG_CXX=y
diff --git a/src/ci/docker/host-x86_64/dist-various-2/Dockerfile b/src/ci/docker/host-x86_64/dist-various-2/Dockerfile
index 9bc074237e6..670e37b9d01 100644
--- a/src/ci/docker/host-x86_64/dist-various-2/Dockerfile
+++ b/src/ci/docker/host-x86_64/dist-various-2/Dockerfile
@@ -135,8 +135,8 @@ ENV TARGETS=$TARGETS,x86_64-unknown-uefi
 # As per https://bugs.launchpad.net/ubuntu/+source/gcc-defaults/+bug/1300211
 # we need asm in the search path for gcc-9 (for gnux32) but not in the search path of the
 # cross compilers.
-# Luckily one of the folders is /usr/local/include so symlink /usr/include/asm-generic there
-RUN ln -s /usr/include/asm-generic /usr/local/include/asm
+# Luckily one of the folders is /usr/local/include so symlink /usr/include/x86_64-linux-gnu/asm there
+RUN ln -s /usr/include/x86_64-linux-gnu/asm /usr/local/include/asm
 
 ENV RUST_CONFIGURE_ARGS --enable-extended --enable-lld --disable-docs \
   --set target.wasm32-wasi.wasi-root=/wasm32-wasi \
diff --git a/src/llvm-project b/src/llvm-project
-Subproject a7d11c453784a3f258c7269b5108c58592d27e1
+Subproject 7c612e1732f3976fcfe29526ad796cbb6174b82