Skip to content

Commit

Permalink
Add RV64IMAC toolchain for Muntjac
Browse files Browse the repository at this point in the history
  • Loading branch information
db434 authored and lenary committed Sep 4, 2020
1 parent 2642165 commit e0103d5
Show file tree
Hide file tree
Showing 3 changed files with 81 additions and 0 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ Head over to the
for pre-built toolchains.

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

Expand Down
34 changes: 34 additions & 0 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,40 @@ jobs:
- template: "_upload-artifacts.yml"
parameters:
azure_name: rv32imcb-toolchains

- job: "Toolchains_RV64IMAC"
displayName: "GCC and Clang/LLVM toolchains targeting RV64IMAC (Muntjac)"
pool:
vmImage: "ubuntu-16.04"
timeoutInMinutes: 360
steps:
- template: "_build-deps.yml"

- bash: |
./build-gcc-with-args.sh \
"lowrisc-toolchain-gcc-rv64imac" \
"riscv64-unknown-elf" \
"/tools/riscv" \
"-march=rv64imac" "-mabi=lp64" "-mcmodel=medany"
displayName: 'Build GCC toolchain'
env:
ARTIFACT_STAGING_DIR: $(Build.ArtifactStagingDirectory)
RELEASE_TAG: $(ReleaseTag)
- bash: |
./build-clang-with-args.sh \
"lowrisc-toolchain-rv64imac" \
"riscv64-unknown-elf" \
"/tools/riscv" \
"-march=rv64imac" "-mabi=lp64" "-mcmodel=medany"
displayName: "Build Clang toolchain"
env:
ARTIFACT_STAGING_DIR: $(Build.ArtifactStagingDirectory)
RELEASE_TAG: $(ReleaseTag)
- template: "_upload-artifacts.yml"
parameters:
azure_name: rv64imac-toolchains

- job: "GCC_Multilib_Baremetal"
displayName: "RV64 GCC (Multilib Baremetal)"
Expand Down
46 changes: 46 additions & 0 deletions lowrisc-toolchain-gcc-rv64imac.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
CT_CONFIG_VERSION="3"
CT_EXPERIMENTAL=y

CT_ARCH_RISCV=y
CT_ARCH_64=y

# CT_ARCH_ARCH controls the specific architecture that the toolchain's libraries
# are built with. It should specify the minimum RISC-V extensions that need to
# be implemented by any processor that this toolchain will compile programs for.
CT_ARCH_ARCH="rv64imac"

# CT_ARCH_ABI controls the specific ABI that the toolchain's libraries are built
# with. All programs built against this toolchain should follow exactly this
# ABI.
CT_ARCH_ABI="lp64"

CT_TARGET_VENDOR=""
CT_TOOLCHAIN_BUGURL="toolchains@lowrisc.org"

CT_CC_GCC_STATIC_LIBSTDCXX=y
# CT_CC_GCC_LDBL_128 is not set
CT_CC_LANG_CXX=y
CT_DEBUG_GDB=y
CT_GDB_V_8_2=y
# CT_GDB_CROSS_PYTHON is not set
CT_ISL_V_0_20=y
CT_PATCH_ORDER="bundled,local"
CT_PATCH_BUNDLED_LOCAL=y
CT_PATCH_USE_LOCAL=y

# Disable progress bar for CI builds, it generates too much log output
# CT_LOG_PROGRESS_BAR is not set

# Installation prefix directory; the toolchain will end up in exactly
# this directory.
CT_PREFIX_DIR="/tools/riscv"

# Don't save tarballs for re-use (needs writable and pre-created
# CT_LOCAL_TARBALLS_DIR otherwise)
# CT_SAVE_TARBALLS is not set

# Don't chmod the CT_PREFIX_DIR read-only after the install.
# CT_PREFIX_DIR_RO is not set

# The build script appends a definition of CT_LOCAL_PATCH_DIR down here, that
# points to the repo's patch directory.

0 comments on commit e0103d5

Please sign in to comment.