From 7059ac3f0fdec19b9f5d849550d3d28c0d877a18 Mon Sep 17 00:00:00 2001 From: Albert Ou Date: Mon, 18 Nov 2019 01:42:25 -0800 Subject: [PATCH] toolchains: Add libgloss replacement --- .circleci/check-commit.sh | 2 +- .circleci/create-hash.sh | 3 ++- .gitmodules | 3 +++ scripts/build-toolchains.sh | 3 +++ scripts/init-submodules-no-riscv-tools.sh | 7 +++++-- toolchains/libgloss | 1 + 6 files changed, 15 insertions(+), 4 deletions(-) create mode 160000 toolchains/libgloss diff --git a/.circleci/check-commit.sh b/.circleci/check-commit.sh index ed3093fd..873b241e 100755 --- a/.circleci/check-commit.sh +++ b/.circleci/check-commit.sh @@ -75,7 +75,7 @@ dir="toolchains/riscv-tools" branches=("riscv") search -submodules=("qemu") +submodules=("qemu" "libgloss") dir="toolchains" branches=("master") search diff --git a/.circleci/create-hash.sh b/.circleci/create-hash.sh index 939eeb31..7a8915a5 100755 --- a/.circleci/create-hash.sh +++ b/.circleci/create-hash.sh @@ -15,7 +15,8 @@ cd $LOCAL_CHIPYARD_DIR # Use normalized output of git-submodule status as hashfile for tools in 'riscv-tools' 'esp-tools' ; do - git submodule status "toolchains/${tools}" "toolchains/qemu" | while read -r line ; do + git submodule status "toolchains/${tools}" 'toolchains/libgloss' 'toolchains/qemu' | + while read -r line ; do echo "${line#[!0-9a-f]}" done > "${HOME}/${tools}.hash" done diff --git a/.gitmodules b/.gitmodules index 7e6fca6f..d514a4e9 100644 --- a/.gitmodules +++ b/.gitmodules @@ -65,6 +65,9 @@ [submodule "toolchains/esp-tools/riscv-tests"] path = toolchains/esp-tools/riscv-tests url = https://github.com/ucb-bar/esp-tests.git +[submodule "toolchains/libgloss"] + path = toolchains/libgloss + url = https://github.com/ucb-bar/libgloss-htif.git [submodule "vlsi/hammer"] path = vlsi/hammer url = https://github.com/ucb-bar/hammer.git diff --git a/scripts/build-toolchains.sh b/scripts/build-toolchains.sh index 9248a0ae..d5d181e7 100755 --- a/scripts/build-toolchains.sh +++ b/scripts/build-toolchains.sh @@ -125,6 +125,9 @@ CC= CXX= module_all riscv-pk --prefix="${RISCV}" --host=riscv64-unknown-elf module_all riscv-tests --prefix="${RISCV}/riscv64-unknown-elf" # Common tools (not in any particular toolchain dir) + +SRCDIR="$(pwd)/toolchains" module_all libgloss --prefix="${RISCV}/riscv64-unknown-elf" --host=riscv64-unknown-elf + SRCDIR="$(pwd)/toolchains" module_all qemu --prefix="${RISCV}" --target-list=riscv64-softmmu cd "$RDIR" diff --git a/scripts/init-submodules-no-riscv-tools.sh b/scripts/init-submodules-no-riscv-tools.sh index c61f8b3e..28f64c58 100755 --- a/scripts/init-submodules-no-riscv-tools.sh +++ b/scripts/init-submodules-no-riscv-tools.sh @@ -27,9 +27,10 @@ shift $((OPTIND - 1)) # Ignore toolchain submodules cd "$RDIR" -for name in toolchains/*/*/ ; do +for name in toolchains/*-tools/*/ ; do git config submodule."${name%/}".update none done +git config submodule.toolchains/libgloss.update none git config submodule.toolchains/qemu.update none # Don't automatically initialize generators with big submodules (e.g. linux source) @@ -42,10 +43,12 @@ git config submodule.vlsi/hammer-cadence-plugins.update none git config submodule.vlsi/hammer-synopsys-plugins.update none git config submodule.vlsi/hammer-mentor-plugins.update none git submodule update --init --recursive #--jobs 8 + # Un-ignore toolchain submodules -for name in toolchains/*/*/ ; do +for name in toolchains/*-tools/*/ ; do git config --unset submodule."${name%/}".update done +git config --unset submodule.toolchains/libgloss.update git config --unset submodule.toolchains/qemu.update git config --unset submodule.vlsi/hammer-cadence-plugins.update diff --git a/toolchains/libgloss b/toolchains/libgloss new file mode 160000 index 00000000..117b9997 --- /dev/null +++ b/toolchains/libgloss @@ -0,0 +1 @@ +Subproject commit 117b9997bf46b93687e52f8ea102bd89478de493