Skip to content

Commit

Permalink
nightly: update to fix latest nightly
Browse files Browse the repository at this point in the history
Now that we've merged some patches, fix the nightly build.

Signed-off-by: Sean Cross <[email protected]>
  • Loading branch information
xobs committed Oct 19, 2024
1 parent 47373c6 commit bfd6028
Show file tree
Hide file tree
Showing 9 changed files with 109 additions and 734 deletions.
647 changes: 0 additions & 647 deletions 0001-std-xous-add-support-for-args-and-env.patch

This file was deleted.

6 changes: 3 additions & 3 deletions 0004-xous-add-senres.patch → 0001-xous-add-senres.patch
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
From a1c82f5eafdeae43b51f6387427549ab31f51f1e Mon Sep 17 00:00:00 2001
From 2a901d63f36d5c28715672f51c44a4b6f3f2e6fe Mon Sep 17 00:00:00 2001
From: Sean Cross <[email protected]>
Date: Tue, 6 Aug 2024 22:45:11 +0800
Subject: [PATCH 4/7] xous: add senres
Subject: [PATCH 1/4] xous: add senres

Senres is a method for sending and receiving structs. It is a cut-down
version of rkyv and similar modules.
Expand Down Expand Up @@ -658,5 +658,5 @@ index 00000000000..1f84478aa97
+ }
+}
--
2.40.0.windows.1
2.34.1

46 changes: 0 additions & 46 deletions 0002-net-fix-dead-code-warning.patch

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
From ac11afdc21d51ef28165d9e2904fefc8979ac690 Mon Sep 17 00:00:00 2001
From afdf09fa701fbc7202ba96f4a80927cb04b42a3c Mon Sep 17 00:00:00 2001
From: Sean Cross <[email protected]>
Date: Tue, 6 Aug 2024 22:45:31 +0800
Subject: [PATCH 5/7] std: xous: add support for path
Subject: [PATCH 2/4] std: xous: add support for path

Add support for the Xous-specific path implementation.

Expand Down Expand Up @@ -105,5 +105,5 @@ index 00000000000..262bfe5985c
+ Ok((basis, dict))
+}
--
2.40.0.windows.1
2.34.1

28 changes: 0 additions & 28 deletions 0003-xous-ffi-correct-syscall-number-for-adjust_process.patch

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
From 4e8858d1b3f6df0ab15ae7839826dfefdded81c1 Mon Sep 17 00:00:00 2001
From 7880a8b8e029709dda0e2f2c10584d4266dd99fb Mon Sep 17 00:00:00 2001
From: Sean Cross <[email protected]>
Date: Tue, 7 Nov 2023 10:41:10 +0800
Subject: [PATCH 6/7] xous: fs: add initial filesystem support
Subject: [PATCH 3/4] xous: fs: add initial filesystem support

Signed-off-by: Sean Cross <[email protected]>
---
Expand Down Expand Up @@ -120,7 +120,7 @@ index 00000000000..c601ff8f1a2
+ }
+}
diff --git a/library/std/src/os/xous/services.rs b/library/std/src/os/xous/services.rs
index ddf0236f5ad..812cd4beb89 100644
index 93916750c05..bfdc1377fd6 100644
--- a/library/std/src/os/xous/services.rs
+++ b/library/std/src/os/xous/services.rs
@@ -11,6 +11,9 @@
Expand Down Expand Up @@ -875,5 +875,5 @@ index b4f122fc4be..c9ac75bb06a 100644
#[path = "../unsupported/io.rs"]
pub mod io;
--
2.40.0.windows.1
2.34.1

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
From 84f18e0d2d3ad15230c2f58be3f1dcad357f3c9f Mon Sep 17 00:00:00 2001
From bfa87652afdee573d7635bf966e69b6e9ed32b08 Mon Sep 17 00:00:00 2001
From: Sean Cross <[email protected]>
Date: Sun, 24 Dec 2023 15:15:01 +0800
Subject: [PATCH 7/7] std: (not for upstreaming) customize tests for Xous
Subject: [PATCH 4/4] std: (not for upstreaming) customize tests for Xous

Signed-off-by: Sean Cross <[email protected]>
---
Expand Down
96 changes: 96 additions & 0 deletions rebuild.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
#!/usr/bin/env bash
# Everything you push to main will do a test build, and let you know if it breaks.
#
# Things only get released if you tag it. And the actual build is based on the tag.
# Without tagging it, nothing is released and it doesn't affect anyone at all, aside
# from people building it from source.
#
# Look at the list of tags:
#
# https://github.com/betrusted-io/rust/tags
#
# We increment the 4th decimal. So far with the 1.59.0 branch, we've had two releases: 1.59.0.1 and 1.59.0.2. If you decided to release a new version of libstd, you would do:
#
# git tag -a 1.59.0.3 # Commit a message, indicating what you've changed
# git push --tags
#
# That would build and release a new version.
#
# Run with:
# RUST_TOOLCHAIN=+nightly CC=riscv64-unknown-elf-gcc AR=riscv64-unknown-elf-ar bash ../rebuild.sh

if [ -z $RUST_TOOLCHAIN ]
then
RUST_TOOLCHAIN=""
fi

set -e
set -u
# set -x
set -o pipefail

rust_sysroot=$(rustc $RUST_TOOLCHAIN --print sysroot)

export RUST_COMPILER_RT_ROOT="$(pwd)/src/llvm-project/compiler-rt"
export CARGO_PROFILE_RELEASE_DEBUG=0
export CARGO_PROFILE_RELEASE_OPT_LEVEL="3"
export CARGO_PROFILE_RELEASE_DEBUG_ASSERTIONS="true"
export RUSTC_BOOTSTRAP=1
export RUSTFLAGS="-Cforce-unwind-tables=yes -Cembed-bitcode=yes"
export __CARGO_DEFAULT_LIB_METADATA="stablestd"

command_exists() {
which $1 &> /dev/null && $1 --version 2>&1 > /dev/null
}

# Set up the C compiler. We need to explicitly specify these variables
# because the `cc` package obviously doesn't recognize our target triple.
if [ ! -z $CC ]
then
echo "Using compiler $CC"
elif command_exists riscv32-unknown-elf-gcc
then
export CC="riscv32-unknown-elf-gcc"
export AR="riscv32-unknown-elf-ar"
elif command_exists riscv-none-embed-gcc
then
export CC ="riscv-none-embed-gcc"
export AR ="riscv-none-embed-ar"
elif command_exists riscv64-unknown-elf-gcc
then
export CC="riscv64-unknown-elf-gcc"
export AR="riscv64-unknown-elf-ar"
else
echo "No C compiler found for riscv" 1>&2
exit 1
fi

src_path="./target/riscv32imac-unknown-xous-elf/release/deps"
dest_path="$rust_sysroot/lib/rustlib/riscv32imac-unknown-xous-elf"
dest_lib_path="$dest_path/lib"

mkdir -p $dest_lib_path

rustc $RUST_TOOLCHAIN --version | awk '{print $2}' > "$dest_path/RUST_VERSION"

# Remove stale objects
rm -f $dest_lib_path/*.rlib

# TODO: Use below to remove duplicates
# previous_libraries=$(ls -1 $src_path/*.rlib)

cargo $RUST_TOOLCHAIN build \
--target riscv32imac-unknown-xous-elf \
-Zbinary-dep-depinfo \
--release \
--features "panic-unwind compiler-builtins-c compiler-builtins-mem" \
--manifest-path "library/sysroot/Cargo.toml" || exit 1

# TODO: Remove duplicates here by comparing it with $previous_libraries
for new_item in $(ls -1 $src_path/*.rlib)
do
file=$(basename $new_item)
base_string=$(echo $file | rev | cut -d- -f2- | rev)
done

cp $src_path/*.rlib "$dest_lib_path"
2 changes: 1 addition & 1 deletion rust
Submodule rust updated 2794 files

0 comments on commit bfd6028

Please sign in to comment.