From f71d976114eb60e8764f0a0168be8b339237bdd5 Mon Sep 17 00:00:00 2001 From: Albert Ou Date: Sat, 16 Nov 2019 19:26:31 -0800 Subject: [PATCH] toolchains: Build libraries with medany code model This enables bare-metal programs to link against newlib and libgcc at addresses above 0x80000000. --- .circleci/config.yml | 50 +++++++++---------- scripts/build-toolchains.sh | 2 +- .../riscv-tools/riscv-gnu-toolchain-prebuilt | 2 +- 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 75f13068..6514fdb8 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -31,14 +31,14 @@ jobs: .circleci/create-hash.sh - restore_cache: keys: - - riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }} + - riscv-tools-installed-v4-{{ checksum "../riscv-tools.hash" }} - run: name: Building riscv-tools toolchain command: | .circleci/build-toolchains.sh riscv-tools no_output_timeout: 120m - save_cache: - key: riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }} + key: riscv-tools-installed-v4-{{ checksum "../riscv-tools.hash" }} paths: - "/home/riscvuser/riscv-tools-install" install-esp-toolchain: @@ -55,14 +55,14 @@ jobs: .circleci/create-hash.sh - restore_cache: keys: - - esp-tools-installed-v3-{{ checksum "../esp-tools.hash" }} + - esp-tools-installed-v4-{{ checksum "../esp-tools.hash" }} - run: name: Building esp-tools toolchain command: | .circleci/build-toolchains.sh esp-tools no_output_timeout: 120m - save_cache: - key: esp-tools-installed-v3-{{ checksum "../esp-tools.hash" }} + key: esp-tools-installed-v4-{{ checksum "../esp-tools.hash" }} paths: - "/home/riscvuser/esp-tools-install" install-verilator: @@ -105,7 +105,7 @@ jobs: .circleci/create-hash.sh - restore_cache: keys: - - riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }} + - riscv-tools-installed-v4-{{ checksum "../riscv-tools.hash" }} - run: name: Build extra tests command: .circleci/build-extra-tests.sh @@ -131,7 +131,7 @@ jobs: .circleci/create-hash.sh - restore_cache: keys: - - riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }} + - riscv-tools-installed-v4-{{ checksum "../riscv-tools.hash" }} - restore_cache: keys: - verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }} @@ -160,7 +160,7 @@ jobs: .circleci/create-hash.sh - restore_cache: keys: - - riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }} + - riscv-tools-installed-v4-{{ checksum "../riscv-tools.hash" }} - restore_cache: keys: - verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }} @@ -189,7 +189,7 @@ jobs: .circleci/create-hash.sh - restore_cache: keys: - - riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }} + - riscv-tools-installed-v4-{{ checksum "../riscv-tools.hash" }} - restore_cache: keys: - verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }} @@ -218,7 +218,7 @@ jobs: .circleci/create-hash.sh - restore_cache: keys: - - riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }} + - riscv-tools-installed-v4-{{ checksum "../riscv-tools.hash" }} - restore_cache: keys: - verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }} @@ -247,7 +247,7 @@ jobs: .circleci/create-hash.sh - restore_cache: keys: - - riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }} + - riscv-tools-installed-v4-{{ checksum "../riscv-tools.hash" }} - restore_cache: keys: - verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }} @@ -276,7 +276,7 @@ jobs: .circleci/create-hash.sh - restore_cache: keys: - - esp-tools-installed-v3-{{ checksum "../esp-tools.hash" }} + - esp-tools-installed-v4-{{ checksum "../esp-tools.hash" }} - restore_cache: keys: - verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }} @@ -305,7 +305,7 @@ jobs: .circleci/create-hash.sh - restore_cache: keys: - - esp-tools-installed-v2-{{ checksum "../esp-tools.hash" }} + - esp-tools-installed-v4-{{ checksum "../esp-tools.hash" }} - restore_cache: keys: - verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }} @@ -334,7 +334,7 @@ jobs: .circleci/create-hash.sh - restore_cache: keys: - - riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }} + - riscv-tools-installed-v4-{{ checksum "../riscv-tools.hash" }} - restore_cache: keys: - verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }} @@ -363,7 +363,7 @@ jobs: .circleci/create-hash.sh - restore_cache: keys: - - riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }} + - riscv-tools-installed-v4-{{ checksum "../riscv-tools.hash" }} - restore_cache: keys: - verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }} @@ -392,7 +392,7 @@ jobs: .circleci/create-hash.sh - restore_cache: keys: - - riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }} + - riscv-tools-installed-v4-{{ checksum "../riscv-tools.hash" }} - restore_cache: keys: - verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }} @@ -418,7 +418,7 @@ jobs: .circleci/create-hash.sh - restore_cache: keys: - - riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }} + - riscv-tools-installed-v4-{{ checksum "../riscv-tools.hash" }} - restore_cache: keys: - verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }} @@ -439,7 +439,7 @@ jobs: .circleci/create-hash.sh - restore_cache: keys: - - riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }} + - riscv-tools-installed-v4-{{ checksum "../riscv-tools.hash" }} - restore_cache: keys: - example-{{ .Branch }}-{{ .Revision }} @@ -463,7 +463,7 @@ jobs: .circleci/create-hash.sh - restore_cache: keys: - - riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }} + - riscv-tools-installed-v4-{{ checksum "../riscv-tools.hash" }} - restore_cache: keys: - boomrocketexample-{{ .Branch }}-{{ .Revision }} @@ -487,7 +487,7 @@ jobs: .circleci/create-hash.sh - restore_cache: keys: - - riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }} + - riscv-tools-installed-v4-{{ checksum "../riscv-tools.hash" }} - restore_cache: keys: - boom-{{ .Branch }}-{{ .Revision }} @@ -511,7 +511,7 @@ jobs: .circleci/create-hash.sh - restore_cache: keys: - - riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }} + - riscv-tools-installed-v4-{{ checksum "../riscv-tools.hash" }} - restore_cache: keys: - rocketchip-{{ .Branch }}-{{ .Revision }} @@ -535,7 +535,7 @@ jobs: .circleci/create-hash.sh - restore_cache: keys: - - esp-tools-installed-v3-{{ checksum "../esp-tools.hash" }} + - esp-tools-installed-v4-{{ checksum "../esp-tools.hash" }} - restore_cache: keys: - hwacha-{{ .Branch }}-{{ .Revision }} @@ -559,7 +559,7 @@ jobs: .circleci/create-hash.sh - restore_cache: keys: - - esp-tools-installed-v2-{{ checksum "../esp-tools.hash" }} + - esp-tools-installed-v4-{{ checksum "../esp-tools.hash" }} - restore_cache: keys: - gemmini-{{ .Branch }}-{{ .Revision }} @@ -583,7 +583,7 @@ jobs: .circleci/create-hash.sh - restore_cache: keys: - - riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }} + - riscv-tools-installed-v4-{{ checksum "../riscv-tools.hash" }} - restore_cache: keys: - tracegen-{{ .Branch }}-{{ .Revision }} @@ -607,7 +607,7 @@ jobs: .circleci/create-hash.sh - restore_cache: keys: - - riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }} + - riscv-tools-installed-v4-{{ checksum "../riscv-tools.hash" }} - restore_cache: keys: - firesim-{{ .Branch }}-{{ .Revision }} @@ -634,7 +634,7 @@ jobs: .circleci/create-hash.sh - restore_cache: keys: - - riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }} + - riscv-tools-installed-v4-{{ checksum "../riscv-tools.hash" }} - restore_cache: keys: - fireboom-{{ .Branch }}-{{ .Revision }} diff --git a/scripts/build-toolchains.sh b/scripts/build-toolchains.sh index e858e452..9248a0ae 100755 --- a/scripts/build-toolchains.sh +++ b/scripts/build-toolchains.sh @@ -110,7 +110,7 @@ else esac; ) || die 'obsolete make version; need GNU make 4.x or later' module_prepare riscv-gnu-toolchain qemu - module_build riscv-gnu-toolchain --prefix="${RISCV}" + module_build riscv-gnu-toolchain --prefix="${RISCV}" --with-cmodel=medany echo '==> Building GNU/Linux toolchain' module_make riscv-gnu-toolchain linux fi diff --git a/toolchains/riscv-tools/riscv-gnu-toolchain-prebuilt b/toolchains/riscv-tools/riscv-gnu-toolchain-prebuilt index 5e32a015..543ff124 160000 --- a/toolchains/riscv-tools/riscv-gnu-toolchain-prebuilt +++ b/toolchains/riscv-tools/riscv-gnu-toolchain-prebuilt @@ -1 +1 @@ -Subproject commit 5e32a0157f91ebfb5c7ea7113fce28bf40016fa4 +Subproject commit 543ff1245e1c2071ea9d0252a622c9cece88b7f5