Age | Commit message (Collapse) | Author | Files | Lines |
|
`--enable-default-pie` is used to control the default PIE enablement for Linux
GCC, which is disabled by default.
NOTE: baremetal toolchain isn't affected by this option.
|
|
I found this issue when I regen the configure script, but seems like configure
is right...
|
|
A significant amount of users of this project are using it for toolchain
development. These users need to ensure that their code is warning free
before submitting it upstream. Let's support this use case by adding a
configure flag '--enable-host-gcc', which does exactly that:
* build a host GCC before building other components
* setting PATH such that this new GCC is used to build the cross
toolchain
* enable -Werror for the GCC build
This patch was tested on a Fedora 39 machine (GCC 13),
with the following modification in a GCC source file:
#if __GNUC__ == 13
#error Host compiler in use!
#endif
This fails when building without the new flag and does not fail
when building with latest upstream/master (GCC 14 prerelease).
The '--enable-werror-always' was tested with a warning that showed
up recently in upstream GCC.
Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>
|
|
Add --with-extra-multilib-test option
|
|
* configure: Regenerated.
* configure.ac: Remove redundant AS_HELP_STRING when testing
enable_debug_info; add comment to use Autoconf 2.69.
Signed-off-by: Jeremy Bennett <jeremy.bennett@embecosm.com>
|
|
NOTE: This is toolchain developer facing feature.
This allow user to add extra testing multi-lib arch, it's useful when
develop and/or testing new extensions.
Usage:
--with-extra-multilib-test="arch-abi[;arch-abi]"
e.g.
linux enable enabled multilib, so default will build with follwoing
configuration:
lib32/ilp32;@march=rv32imac@mabi=ilp32
lib32/ilp32d;@march=rv32imafdc@mabi=ilp32d
lib64/lp64;@march=rv64imac@mabi=lp64
lib64/lp64d;@march=rv64imafdc@mabi=lp64d
But you want to testing more on vector stuffs like rv32gcv and rv64gcv,
then you can configure with `--with-extra-multilib-test="rv32gcv-ilp32d;rv64gcv;lp64d"`
Then the testing will run rv32imac-ilp32 rv32imafdc-ilp32d
rv64imac-lp64 rv64imafdc-lp64d and rv32gcv-ilp32d;rv64gcv;lp64d!
NOTE: Extra multilib test settings still require existing
multilib has support those extra settings, e.g. you can't add
rv32imafc_zbb-ilp32f on above example since no compatible multilib has
provided.
|
|
Update readme about llvm & qemu examples
Co-authored-by: Kito Cheng <kito.cheng@sifive.com>
|
|
We currently have a stale "llvm" branch, that does not build.
However, there is clear demand in the RISC-V toolchain community
for a working LLVM on top of a recent GNU toolchain.
In order to build such a toolchain, quite some LLVM and clang know-how is
required to avoid path issues at LLVM build time or later when using clang.
The main purpose of this commit is to demonstrate a way to combine
the RISC-V GNU toolchain repo with LLVM, with the intent to save
others hours of frustration, debugging time or support time.
Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>
|
|
GDB still defaults to 10.1 from the (already archived)
riscv-binutils-gdb repo. Let's bump the version to 12.1
and use the upstream git repo instead.
Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>
Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>
|
|
|
|
|
|
|
|
I'm trying to clean up some of my test scripts, and one issue is that
I've got two QEMU builds: one for user-mode emulation and one for
system-mode emulation. This adds an autoconf flag that allows me to
avoid the duplication.
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
|
|
These got split up by my libsanitizer patch.
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
|
|
This lets users select whether or not to build libsanitizer, which
currently does not support rv32 and thus can't be enabled by default.
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
|
|
|
|
Add --with-isa-spec option to configure
|
|
Set the default version to 2.2 for now, and once we bump to GCC 12 we
will bump that to 20191213.
|
|
The upstream musl libc does not support 32bit RISC-V builds.
We therefore only allow building the 64bit version (i.e.,
riscv64-unknown-linux-musl-).
Signed-off-by: Florian Hofhammer <florian.hofhammer@fhofhammer.de>
|
|
Since musl is already incorporated into the build system (see for
example configure.ac, Makefile.in), this patch adds a submodule for
musl based on the current v1.2.2 release.
The GitHub Actions configurations have also been updated to include
the musl based toolchain.
Signed-off-by: Florian Hofhammer <florian.hofhammer@fhofhammer.de>
|
|
Both the glibc and newlib submodules are already pointing to the
upstream repositories where development happens.
Since they are therefore not referring to RISC-V specific forks,
this patch unifies the directory naming by only prepending the
"riscv-" prefix to submodules that point to repositories in the
riscv-collab Github organization.
Signed-off-by: Florian Hofhammer <florian.hofhammer@fhofhammer.de>
|
|
The recent addition of an override for the QEMU source directory left
the default pointing to the wrong submodule.
Fixes: b83ee52 ("Allow source-override for QEMU")
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
|
|
This patch introduces a configure-time source-dir override for QEMU
similar to the existing overrides for the other toolchain sources.
Signed-off-by: Christoph Muellner <cmuellner@linux.com>
|
|
|
|
|
|
Also, support all gcc checking options instead of just yes and release.
Also, fix copy-and-paste error in cmodel support refering to gcc checking.
|
|
This is a partial fix for pull request #530, allowing people to use
-mno-fdiv for library compiles.
|
|
The --with-headers argument must point to the `include' subdirectory.
|
|
Add option to specify source tree of each component
|
|
|
|
These wrappers are still necessary on non-GNU platforms; glibc
makefile rules invoke `sed' directly with GNU extensions.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
And re-run autoreconf to generate the configure script.
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
|
|
We need this to have different polarity for different platforms (Windows
vs RedHat). I don't know how to autodetect this for now, so I'm just
doing it manually.
|
|
I need to set this in order to build the Windows tools.
|
|
This lets users select the code model when building the tools.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Soft-float calling convention is default, but an alternate hard-float
calling convention (with doubles passed as in soft-float, but floats
passed as in hard-float) is supported.
|
|
The buildbot seems to be hammering the newlib servers causing dropped
connections so we'll try to backoff and retry.
|
|
It is necessary to fetch tarballs from e.g. GitHub.
Signed-off-by: Masanori Ogino <masanori.ogino@gmail.com>
|