diff --git a/build.sh b/build.sh index 10f3720f92849..bcebcd407d5bb 100755 --- a/build.sh +++ b/build.sh @@ -24,4 +24,4 @@ esac if [ "$1" == "--llvm" ]; then rm -f build/${HOST_TRIPLE}/llvm/llvm-finished-building; fi -./x.py build --stage 1 --target ${HOST_TRIPLE},sbf-solana-solana,sbpf-solana-solana,sbpfv1-solana-solana,sbpfv2-solana-solana,sbpfv3-solana-solana,sbpfv4-solana-solana +./x.py build --stage 1 --target ${HOST_TRIPLE},sbpf-solana-solana,sbpfv1-solana-solana,sbpfv2-solana-solana,sbpfv3-solana-solana diff --git a/compiler/rustc_codegen_ssa/src/back/linker.rs b/compiler/rustc_codegen_ssa/src/back/linker.rs index 51e0849f04d80..6b36b9ca55e97 100644 --- a/compiler/rustc_codegen_ssa/src/back/linker.rs +++ b/compiler/rustc_codegen_ssa/src/back/linker.rs @@ -456,9 +456,6 @@ impl<'a> GccLinker<'a> { .unwrap_or(self.sess.target.cpu.as_ref().to_string()); if cpu_type == "v3" || cpu_type == "v4" { self.link_arg("-Bsymbolic"); - if self.sess.opts.debuginfo == DebugInfo::None { - self.link_arg("--strip-all"); - } } } } diff --git a/compiler/rustc_codegen_ssa/src/back/metadata.rs b/compiler/rustc_codegen_ssa/src/back/metadata.rs index 49d5c63275055..230428d13cd8f 100644 --- a/compiler/rustc_codegen_ssa/src/back/metadata.rs +++ b/compiler/rustc_codegen_ssa/src/back/metadata.rs @@ -249,6 +249,9 @@ pub(crate) fn create_object_file(sess: &Session) -> Option (Architecture::LoongArch64, None), "csky" => (Architecture::Csky, None), "arm64ec" => (Architecture::Aarch64, Some(SubArchitecture::Arm64EC)), + "sbf" if sess.target.options.cpu.as_ref() == "v3" || sess.target.options.cpu.as_ref() == "v4" => { + (Architecture::Bpf, None) + }, "sbf" => (Architecture::Sbf, None), // Unsupported architecture. _ => return None, diff --git a/compiler/rustc_target/src/spec/base/sbf_base.rs b/compiler/rustc_target/src/spec/base/sbf_base.rs index 92b6bc1b79bfc..ad7695a8dba92 100644 --- a/compiler/rustc_target/src/spec/base/sbf_base.rs +++ b/compiler/rustc_target/src/spec/base/sbf_base.rs @@ -31,29 +31,15 @@ SECTIONS const V3_LINKER_SCRIPT: &str = r" SECTIONS { - .text 0x000000000 : { - . = 0x00; - KEEP(*(.text.abort)) - *(.text*) - } :text - .rodata 0x100000000 : { + .rodata 0x000000000 : SUBALIGN(8) { + BYTE(0); *(.rodata*) *(.data.rel.ro*) - BYTE(0); . = ALIGN(8); } :rodata - .bss.stack 0x200000000 (NOLOAD) : { - _stack_start = .; - . = . + 0x1000; - _stack_end = .; - . = ALIGN(8); - } :stack - .bss.heap 0x300000000 (NOLOAD) : { - _heap_start = .; - . = . + 0x1000; - _heap_end = .; - . = ALIGN(8); - } :heap + .text 0x100000000 : { + *(.text*) + } :text /DISCARD/ : { *(.comment*) *(.eh_frame*) @@ -66,12 +52,12 @@ SECTIONS *(.dynstr) } } + PHDRS { - text PT_LOAD FLAGS(1); rodata PT_LOAD FLAGS(4); - stack PT_LOAD FLAGS(6); - heap PT_LOAD FLAGS(6); + text PT_LOAD FLAGS(1); + other PT_NULL FLAGS(0); } "; diff --git a/compiler/rustc_target/src/target_features.rs b/compiler/rustc_target/src/target_features.rs index b0ef8b6284da2..ac8d2f1665f61 100644 --- a/compiler/rustc_target/src/target_features.rs +++ b/compiler/rustc_target/src/target_features.rs @@ -481,7 +481,7 @@ const WASM_FEATURES: &[(&str, Stability, ImpliedFeatures)] = &[ ]; const BPF_FEATURES: &[(&str, Stability, ImpliedFeatures)] = - &[("alu32", Unstable(sym::bpf_target_feature), &[])]; + &[("alu32", Stable, &[])]; const SBF_FEATURES: &[(&str, Stability, ImpliedFeatures)] = &[ ("alu32", Unstable(sym::sbf_target_feature), &[]), diff --git a/src/ci/docker/host-x86_64/sbpfv3-solana-solana/Dockerfile b/src/ci/docker/host-x86_64/sbpfv3-solana-solana/Dockerfile index a582253834dcb..a1792e162c67b 100644 --- a/src/ci/docker/host-x86_64/sbpfv3-solana-solana/Dockerfile +++ b/src/ci/docker/host-x86_64/sbpfv3-solana-solana/Dockerfile @@ -23,7 +23,7 @@ RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y RUN PATH="${HOME}/.cargo/bin:${PATH}" \ cargo install --git https://github.com/anza-xyz/cargo-run-solana-tests.git \ - --rev ccfb0a3f5f967f3cf52fef0c95e283c7cab1836e \ + --rev db104fd1ce22986a0935f10f07e7e1f889db7e80 \ --bin cargo-run-solana-tests --root /usr/local COPY scripts/sccache.sh /scripts/ diff --git a/src/ci/docker/host-x86_64/x86_64-gnu-llvm-19/Dockerfile b/src/ci/docker/host-x86_64/x86_64-gnu-llvm-19/Dockerfile index 4991908fe7734..6626196b79317 100644 --- a/src/ci/docker/host-x86_64/x86_64-gnu-llvm-19/Dockerfile +++ b/src/ci/docker/host-x86_64/x86_64-gnu-llvm-19/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:24.10 +FROM ubuntu:24.04 ARG DEBIAN_FRONTEND=noninteractive diff --git a/src/llvm-project b/src/llvm-project index 0c30adaa95a6c..da1bc2ad59dff 160000 --- a/src/llvm-project +++ b/src/llvm-project @@ -1 +1 @@ -Subproject commit 0c30adaa95a6c007f6210d41735371f25c4c91ed +Subproject commit da1bc2ad59dff6d1e8305134f396a2c54dc8d269