Skip to content

Commit e0103d5

Browse files
db434lenary
authored andcommitted
Add RV64IMAC toolchain for Muntjac
1 parent 2642165 commit e0103d5

File tree

3 files changed

+81
-0
lines changed

3 files changed

+81
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ Head over to the
1010
for pre-built toolchains.
1111

1212
* A GCC RV32IMC without hardfloat support, targeting [Ibex](https://github.com/lowRISC/ibex/)
13+
* A GCC RV64IMAC, targeting [Muntjac](https://github.com/lowRISC/muntjac)
1314
* A GCC elf multilib toolchain
1415
* A GCC linux multilib toolchain, with linux user-space Qemu binaries
1516

azure-pipelines.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,40 @@ jobs:
106106
- template: "_upload-artifacts.yml"
107107
parameters:
108108
azure_name: rv32imcb-toolchains
109+
110+
- job: "Toolchains_RV64IMAC"
111+
displayName: "GCC and Clang/LLVM toolchains targeting RV64IMAC (Muntjac)"
112+
pool:
113+
vmImage: "ubuntu-16.04"
114+
timeoutInMinutes: 360
115+
steps:
116+
- template: "_build-deps.yml"
117+
118+
- bash: |
119+
./build-gcc-with-args.sh \
120+
"lowrisc-toolchain-gcc-rv64imac" \
121+
"riscv64-unknown-elf" \
122+
"/tools/riscv" \
123+
"-march=rv64imac" "-mabi=lp64" "-mcmodel=medany"
124+
displayName: 'Build GCC toolchain'
125+
env:
126+
ARTIFACT_STAGING_DIR: $(Build.ArtifactStagingDirectory)
127+
RELEASE_TAG: $(ReleaseTag)
128+
129+
- bash: |
130+
./build-clang-with-args.sh \
131+
"lowrisc-toolchain-rv64imac" \
132+
"riscv64-unknown-elf" \
133+
"/tools/riscv" \
134+
"-march=rv64imac" "-mabi=lp64" "-mcmodel=medany"
135+
displayName: "Build Clang toolchain"
136+
env:
137+
ARTIFACT_STAGING_DIR: $(Build.ArtifactStagingDirectory)
138+
RELEASE_TAG: $(ReleaseTag)
139+
140+
- template: "_upload-artifacts.yml"
141+
parameters:
142+
azure_name: rv64imac-toolchains
109143

110144
- job: "GCC_Multilib_Baremetal"
111145
displayName: "RV64 GCC (Multilib Baremetal)"
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
CT_CONFIG_VERSION="3"
2+
CT_EXPERIMENTAL=y
3+
4+
CT_ARCH_RISCV=y
5+
CT_ARCH_64=y
6+
7+
# CT_ARCH_ARCH controls the specific architecture that the toolchain's libraries
8+
# are built with. It should specify the minimum RISC-V extensions that need to
9+
# be implemented by any processor that this toolchain will compile programs for.
10+
CT_ARCH_ARCH="rv64imac"
11+
12+
# CT_ARCH_ABI controls the specific ABI that the toolchain's libraries are built
13+
# with. All programs built against this toolchain should follow exactly this
14+
# ABI.
15+
CT_ARCH_ABI="lp64"
16+
17+
CT_TARGET_VENDOR=""
18+
CT_TOOLCHAIN_BUGURL="[email protected]"
19+
20+
CT_CC_GCC_STATIC_LIBSTDCXX=y
21+
# CT_CC_GCC_LDBL_128 is not set
22+
CT_CC_LANG_CXX=y
23+
CT_DEBUG_GDB=y
24+
CT_GDB_V_8_2=y
25+
# CT_GDB_CROSS_PYTHON is not set
26+
CT_ISL_V_0_20=y
27+
CT_PATCH_ORDER="bundled,local"
28+
CT_PATCH_BUNDLED_LOCAL=y
29+
CT_PATCH_USE_LOCAL=y
30+
31+
# Disable progress bar for CI builds, it generates too much log output
32+
# CT_LOG_PROGRESS_BAR is not set
33+
34+
# Installation prefix directory; the toolchain will end up in exactly
35+
# this directory.
36+
CT_PREFIX_DIR="/tools/riscv"
37+
38+
# Don't save tarballs for re-use (needs writable and pre-created
39+
# CT_LOCAL_TARBALLS_DIR otherwise)
40+
# CT_SAVE_TARBALLS is not set
41+
42+
# Don't chmod the CT_PREFIX_DIR read-only after the install.
43+
# CT_PREFIX_DIR_RO is not set
44+
45+
# The build script appends a definition of CT_LOCAL_PATCH_DIR down here, that
46+
# points to the repo's patch directory.

0 commit comments

Comments
 (0)