forked from lowRISC/lowrisc-toolchains
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlowrisc-toolchain-gcc-rv32imcb.config
80 lines (66 loc) · 2.87 KB
/
lowrisc-toolchain-gcc-rv32imcb.config
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
CT_CONFIG_VERSION="3"
CT_EXPERIMENTAL=y
CT_ARCH_RISCV=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.
#
# 2022-01-13: We can now generally assume that Ibex supports bitmanip, so we can
# compile the toolchain libraries with bitmanip 1.0 support.
#
# N.B. OpenTitan still requires support for Ibex without bitmanip
# (in the English Breakfast toplevel design) but OpenTitan is
# freestanding, so it shouldn't use these libraries.
#
# Unfortunately, when we tried to enable the ratified bitmanip
# subset here by specifying `CT_ARCH_ARCH=rv32imc_zba_zbb_zbc_zbs`
# the toolchain failed to compile, saying that `rol` (from Zbb)
# wasn't a recognized instruction. Until this is solved we don't
# compile the libraries with bitmanip. This doesn't really matter
# for our current use cases.
#
CT_ARCH_ARCH="rv32imc"
# 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="ilp32"
CT_TARGET_VENDOR=""
CT_TOOLCHAIN_BUGURL="[email protected]"
CT_DOWNLOAD_AGENT_CURL=y
CT_CC_GCC_STATIC_LIBSTDCXX=y
# CT_CC_GCC_LDBL_128 is not set
CT_CC_LANG_CXX=y
CT_GCC_V_9=y
CT_DEBUG_GDB=y
CT_GDB_V_11_1=y
# CT_GDB_CROSS_PYTHON is not set
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
# Binutils 2.35, RISC-V bitmanip fork (branch riscv-binutils-2.35-rvb,
# commit 7c9dd840fb from 2021-03-10).
# A bitmanip 1.0+0.93 patch will be applied on top.
CT_BINUTILS_SRC_DEVEL=y
CT_BINUTILS_DEVEL_VCS_git=y
CT_BINUTILS_DEVEL_URL="https://github.com/riscv-collab/riscv-binutils-gdb.git"
CT_BINUTILS_DEVEL_REVISION="7c9dd840fbb6a1171a51feb08afb859288615137"
# GCC 10.2.0, RISC-V bitmanip fork (branch riscv-gcc-10.2.0-rvb,
# commit 73055647d33 from 2021-07-09)
CT_GCC_SRC_DEVEL=y
CT_GCC_DEVEL_VCS_git=y
CT_GCC_DEVEL_URL="https://github.com/riscv-collab/riscv-gcc"
CT_GCC_DEVEL_REVISION="73055647d33c0b63a3125c372019d1dac0f8ac34"
# This is a baremetal target so don't use syscalls.
CT_LIBC_NEWLIB_DISABLE_SUPPLIED_SYSCALLS=y
# The build script appends a definition of CT_LOCAL_PATCH_DIR down here, that
# points to the repo's patch directory.