aboutsummaryrefslogtreecommitdiff
path: root/Makefile.in
AgeCommit message (Collapse)AuthorFilesLines
2023-12-11Merge pull request #1381 from a4lg/document-prerequisite-when-testing2023.12.12Kito Cheng1-5/+1
Document prerequisites on Testing
2023-11-30Add stage2 and other dependencies for check-glibc-linuxTatsuyuki Ishi1-1/+2
Some glibc tests like tst-unwind-{main,ctor} depends on stage2 artifacts (in particular, GCC runtime libs) to be properly installed. Add stage2 dependencies to avoid these tests from spuriously failing. The test suite also uses the simulator and Deja GNU, both of which were not declared as dependencies, so add them as well. Closes: https://github.com/riscv-collab/riscv-gnu-toolchain/issues/1379
2023-11-30Document prerequisite on testingTsukasa OI1-5/+1
pyelftools is required for a helper script. This commit adds basic installation guide to install pyelftools and removes "automatic installation" of pyelftools from Makefile.
2023-11-27Merge pull request #1370 from Incarnation-p-lee/masterKito Cheng1-1/+1
Inject CPU options to spike run test from elf file
2023-11-21Remove ESC char for board extra abi argumentPan Li1-3/+3
As we have quotes surround the argument already, it is unnecessary to ESC `;` to `\;` due to the `;` has special meanings in shell. Signed-off-by: Pan Li <pan2.li@intel.com>
2023-11-21Add scripts to SIM_PATH.Pan Li1-1/+1
Signed-off-by: Pan Li <pan2.li@intel.com>
2023-11-17Cleanup debug code and allow empty input.Pan Li1-6/+6
Signed-off-by: Pan Li <pan2.li@intel.com>
2023-11-17Extend semantic for option '--with-extra-multilib-test'Pan Li1-3/+16
The `--with-extra-multilib-test` take the format like below for now. "<arch>-<abi>-[code-model][;<arch>-<abi>-[code-model]*" This patch would like to extend the sematic to support additional buil options for each combination. Aka: "<arch>-<abi>-[code-model][:opts]*[;<arch>-<abi>-[code-model][:opts]*]*" opts can be one or more build options splited by ':'. For example as below: * --param=riscv-autovec-lmul=m1 * --param=riscv-autovec-lmul=dynamic:--param=riscv-autovec-preference=fixed-vlmax Thus the full example of the option `--with-extra-multilib-test` will be: `rv64gcv_zvl128b-lp64d:--param=riscv-autovec-lmul=m1;rv64gcv_zvl256b-lp64d:- -param=riscv-autovec-lmul=dynamic:--param=riscv-autovec-preference=fixed-vlmax` Signed-off-by: Pan Li <pan2.li@intel.com>
2023-11-15prevent multilib reports from failing with trailing ; in configureEdwin Lu1-1/+1
2023-09-25Merge pull request #1293 from riscv-collab/extra-multi-lib-test2023.09.26Kito Cheng1-3/+5
Add --with-extra-multilib-test option
2023-07-18remove the trailing back slashsunway1-1/+1
2023-07-11Add --with-extra-multilib-test optionKito Cheng1-3/+5
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.
2023-06-28Resolve issue ↵Tommy Murphy1-1/+1
https://github.com/riscv-collab/riscv-gnu-toolchain/pull/1283#discussion_r1244960843
2023-06-28Fix https://github.com/riscv-collab/riscv-gnu-toolchain/issues/1282Tommy Murphy1-2/+3
2023-06-13Add newlib toolchain with llvm build flowalexsifivetw1-4/+18
Update readme about newlib toolchain flow Co-authored-by: Yun Hsiang <yun.hsiang@sifive.com>
2023-06-08Add force flag when creating symbolic link for clangdemin.han1-1/+1
2023-06-04Add libc++ installation for 32-bit archalexsifivetw1-1/+1
Bump llvm to 16.0.5
2023-06-01Enable riscv llvm & qemu build flowAlex Chiang1-20/+48
Update readme about llvm & qemu examples Co-authored-by: Kito Cheng <kito.cheng@sifive.com>
2023-05-17Add support to build LLVM/clang with C and C++ supportChristoph Müllner1-1/+53
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>
2022-12-16Merge pull request #1121 from Incarnation-p-lee/panli/fix-sim-build-for-pk32Kito Cheng1-1/+2
Quick fix sim pk build failure for RV32.
2022-11-22Merge pull request #1139 from cmuellner/testing2022.11.23Kito Cheng1-3/+12
Enhance the testing experience
2022-10-14musl: add missing submodule auto-initializationFlorian Hofhammer1-2/+8
Signed-off-by: Florian Hofhammer <florian.hofhammer@fhofhammer.de>
2022-10-10Makefile.in: Add support for running glibc testsChristoph Müllner1-0/+9
Makefile.in has support for running the regression test suite of Binutils, GCC and others. Let's add support for running glibc tests. To run the tests the following command can be used: make check-glibc-linux Tested with linux/rv64. Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>
2022-10-10Makefile.in: Allow to pass additional test flagsChristoph Müllner1-3/+3
This allows to specify the test cases to be run. For example the following command can be used to restrict the testcases that will be executed to zb*.c and sm*.c from the directory `gcc/testsuite/gcc.target/riscv/` (which includes the file `riscv.exp`): RUNTESTFLAGS="riscv.exp=zb*.c\ sm*.c" make report Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>
2022-09-29Makefile.in: Adjust permission error messageChristoph Müllner1-3/+3
We should not encourage people to call "sudo make". Let's drop that recommendation in case of permission errors. Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>
2022-09-28dejagnu: Bump version to 1.6.3Christoph Müllner1-1/+1
dejagnu still defaults to 1.6 from the (already archived) riscv-dejagnu repo. Let's bump the version to 1.6.3 and use the upstream git repo instead. Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>
2022-08-28Adjust rv32 arch and abi configure.Pan Li1-1/+2
* Use arch=rv32imafdc and abi=ilp32f. * Looks gnu gcc doesn't honor rv32gc and ilp32d. Signed-off-by: Pan Li <pan2.li@intel.com>
2022-08-25Fix sim pk build failure for RV32.Pan Li1-1/+1
* The riscv-pk repo can only be built by rv32i. * Change configure to rv32i to make SIM=spike option happy for multilib. Signed-off-by: Pan Li <pan2.li@intel.com>
2022-06-03Pass right extension info to qemuKito Cheng1-1/+2
- Parse that from `--with-arch=` option
2022-05-23Add option '--with-sim' to set simulatorLiaoshihua1-18/+16
2022-05-12Allow users to build QEMU with system-mode emulationPalmer Dabbelt1-1/+2
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>
2022-04-21Add an "--enable-libsanitizer" configure-time argumentPalmer Dabbelt1-4/+2
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>
2022-04-12Merge pull request #1054 from riscv-collab/with-isa-spec2022.04.12Kito Cheng1-5/+17
Add --with-isa-spec option to configure
2022-04-11Merge pull request #1032 from florianhofhammer/feature/update-submodulesKito Cheng1-0/+6
Rename glibc, newlib submodules and add musl submodule
2022-04-11Add --with-isa-spec option to configureKito Cheng1-5/+17
Set the default version to 2.2 for now, and once we bump to GCC 12 we will bump that to 20191213.
2022-03-01Merge branch 'master' into newlib_use_function_sectionsKito Cheng1-120/+490
2022-02-24Prevent musl riscv32 buildsFlorian Hofhammer1-0/+6
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>
2022-02-10Allow source-override for QEMUChristoph Muellner1-1/+8
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>
2022-02-11Merge pull request #992 from vineetgarc/gcc-v-report-git-ver2022.02.11Kito Cheng1-0/+8
gcc: add source SHA1 which shows up in -v
2021-12-20Set CXX to a nonexistent compiler when building glibcPalmer Dabbelt1-1/+1
We set CXX=riscv64-unknown-linux-gnu-g++ (or something like that) when building glibc, but don't actually build a C++ compiler during stage 1. Under normal conditions this shouldn't cause any issues: that's either a working compiler (from PATH) or doesn't exist, in which case glibc's build scripts do the right thing and turn off C++. Unfortunately I'm in the pathological situation of having a slightly-incompatible g++ in PATH, which glibc then attempts to use only to throw an error when linking (glibc isn't testing that much of the C++ toolchain, see <https://sourceware.org/bugzilla/show_bug.cgi?id=24183>). This simply sets CXX to something that's unlikely to exist during the glibc build, so the build scripts don't get confused. I tried setting this to false, but everything was italic. Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2021-11-18gcc: add source SHA1 which shows up in -vVineet Gupta1-0/+8
This helps identify the exact sources used for building the compiler. | riscv64-unknown-linux-gnu-gcc -v | | Before: gcc version 11.1.0 (GCC) | After : gcc version 11.1.0 (g480822473a4a) Signed-off-by: Vineet Gupta <vineetg@rivosinc.com>
2021-09-15Fix typo in build-libc dependenciesChristoph Muellner1-1/+1
The variable MULTLIB_NAMES does not exist but is used when generating the dependencies for the target build-libc for glibc. Even when adding the missing 'I' (for MULTILIB_NAMES) there is still no variable with this name. So the whole dependency generation is useless, becauese it was not needed so far. Looking into detail why it is so, we can find the answer in the dependency list of the target 'stamps/build-gcc-linux-stage2'. Let's fix this by setting the dependencies for build-libc right. The dependencies for 'stamps/build-gcc-linux-stage2' stay as they are not wrong. Fixes: 3456b66f69 ("Add a "make report" phony target") Signed-off-by: Christoph Muellner <cmuellner@linux.com>
2021-03-13Use `git rev-parse` to find .git dirScott Johnson1-2/+2
Otherwise, this code breaks if riscv-gnu-toolchain is itself a submodule of another project. In that case the git config for this tree will be $(srcdir)/../.git/modules/riscv-gnu-toolchain/config.
2021-01-05Do not use submodule --single-branchKito Cheng1-1/+1
- It's too new to use, that require git 2.26+
2021-01-04Download repo on demandKito Cheng1-19/+57
- So that we can build and clone in parallel.
2020-12-31Fix testing when configure with --with-multilib-generator=Kito Cheng1-1/+1
- Current script will only handle first 2 items in `--with-multilib-generator=`.
2020-12-04Disable libsanitizer when building the musl-based toolchainNick Kossifidis1-0/+3
This allows building the musl-based toolchain again, tested with the latest stable version of musl-libc.
2020-12-02Fix simulator dependency for spikeKito Cheng1-2/+2
2020-11-30Fix always re-run testsuite issueKito Cheng1-17/+18
- This issue is report by Nelson. - Don't using build-sim as dependency, it will cause the Make always rebuild.
2020-11-29quote variable expansion so that semicolons are not interpreted by the shellKen Takusagawa1-1/+1