Age | Commit message (Collapse) | Author | Files | Lines |
|
Use ./configure --with-languages=c,c++,fortran to adjust the enabled languages. This change only affects the GNU toolchain.
|
|
https://github.com/riscv-collab/riscv-gnu-toolchain/issues/1575
|
|
restrictions imposed by this commit: https://github.com/riscv-collab/riscv-gnu-toolchain/commit/629c67e0a93ec03edd3dfab60a2b8ad9c1768a2a
|
|
CI: Drop Ubuntu 20.04 and add Ubuntu 24.04
|
|
https://github.com/riscv-collab/riscv-gnu-toolchain/pull/1562#discussion_r1793167825
|
|
|
|
https://github.com/riscv-collab/riscv-gnu-toolchain/issues/1563
|
|
|
|
We have build issues in Ubuntu 20.04 with QEMU, because of an outdated
host dependency (glib2 is 2.64.6 but >= 2.66 is required).
Ubuntu LTS releases have a standard support lifecycle of 5 years,
so Ubuntu 20.04 support will be ending in about 6 months.
Let's drop Ubuntu 20.04 support now, so we don't need a workaround
for the QEMU issue.
Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>
|
|
We are currently using Ubuntu 20.04, Ubuntu 22.04, and Ubuntu latest
as base images for our CI/CD builds. This patch add Ubuntu 24.04 and
makes it the default for jobs where we only build on one OS.
Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>
|
|
|
|
|
|
|
|
|
|
|
|
Test results (with --enable-multilib):
```
========= Summary of gcc testsuite =========
| # of unexpected case / # of unique unexpected case
| gcc | g++ | gfortran |
rv32imac/ ilp32/ medlow | 0 / 0 | 0 / 0 | 0 / 0 |
rv32imafdc/ ilp32d/ medlow | 0 / 0 | 0 / 0 | 0 / 0 |
rv64imac/ lp64/ medlow | 0 / 0 | 0 / 0 | 0 / 0 |
rv64imafdc/ lp64d/ medlow | 0 / 0 | 0 / 0 | 0 / 0 |
```
Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>
|
|
Add uClibc-ng support for NOMMU Linux builds
|
|
Test results (with --enable-multilib):
```
========= Summary of gcc testsuite =========
| # of unexpected case / # of unique unexpected case
| gcc | g++ | gfortran |
rv32imac/ ilp32/ medlow | 0 / 0 | 0 / 0 | 0 / 0 |
rv32imafdc/ ilp32d/ medlow | 0 / 0 | 0 / 0 | 0 / 0 |
rv64imac/ lp64/ medlow | 0 / 0 | 0 / 0 | 0 / 0 |
rv64imafdc/ lp64d/ medlow | 0 / 0 | 0 / 0 | 0 / 0 |
```
Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>
|
|
Test results (with --enable-multilib):
```
========= Summary of gcc testsuite =========
| # of unexpected case / # of unique unexpected case
| gcc | g++ | gfortran |
rv32imac/ ilp32/ medlow | 0 / 0 | 0 / 0 | 0 / 0 |
rv32imafdc/ ilp32d/ medlow | 0 / 0 | 0 / 0 | 0 / 0 |
rv64imac/ lp64/ medlow | 0 / 0 | 0 / 0 | 0 / 0 |
rv64imafdc/ lp64d/ medlow | 0 / 0 | 0 / 0 | 0 / 0 |
```
Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>
|
|
Test results (with --enable-multilib):
```
========= Summary of gcc testsuite =========
| # of unexpected case / # of unique unexpected case
| gcc | g++ | gfortran |
rv32imac/ ilp32/ medlow | 0 / 0 | 0 / 0 | 0 / 0 |
rv32imafdc/ ilp32d/ medlow | 0 / 0 | 0 / 0 | 0 / 0 |
rv64imac/ lp64/ medlow | 0 / 0 | 0 / 0 | 0 / 0 |
rv64imafdc/ lp64d/ medlow | 0 / 0 | 0 / 0 | 0 / 0 |
```
Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>
|
|
|
|
Or we can't find headers and libraries.
|
|
Signed-off-by: Osman Karaketir <osmankaraketir@gmail.com>
|
|
|
|
|
|
|
|
|
|
For Clang/LLVM, the default OpenMP library is `libomp`.
However, we don't build openmp library, which will cause a linker error:
```
riscv64-unknown-linux-gnu-ld: cannot find -lomp: No such file or directory
clang: error: linker command failed with exit code 1 (use -v to see invocation)
```
So we build `libomp.so/libomp.a` manually.
|
|
`--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.
|
|
https://github.com/riscv-collab/riscv-gnu-toolchain/issues/1507
|
|
Signed-off-by: Nick Kossifidis <mick@ics.forth.gr>
|
|
The resulting UNRESOLVEDs have been added to the allowlists.
Tested with report-linux and report-newlib.
|
|
Default behavior of qemu is treat tail/mask agnostic as tail/mask undisturbed,
and this may hidding some problem, one example is
[PR115725](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115725) for
GCC.
|
|
See this for detail:
https://www.qemu.org/docs/master/about/deprecated.html#risc-v-cpu-properties-which-start-with-capital-z-since-8-2
|
|
This adds NEWLIB_TARGET_FLAGS_EXTRA, which works the same like GLIBC_TARGET_FLAGS_EXTRA.
The flags are used for configuring newlib or newlib-nano.
Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>
|
|
Test results:
```
========= Summary of gcc testsuite =========
| # of unexpected case / # of unique unexpected case
| gcc | g++ | gfortran |
rv64g/ lp64d/ medlow | 0 / 0 | 0 / 0 | 0 / 0 |
```
Signed-off-by: Akihiko Odaki <akihiko.odaki@gmail.com>
|
|
I found this issue when I regen the configure script, but seems like configure
is right...
|
|
This adds support for building uClibc-ng toolchain so that we can play with
NOMMU Linux. This is still experimental (ABI is still WiP) but it works for
e.g. building busybox, and since crosstool-ng and others don't have support
for it yet, let's add it here so that people can play with it. I've tested
this on QEMU and real hardware (only busybox), it generates ELF (not FLAT)
binaries, and in order for the FDPIC loader to work, the static-pie loader
(/lib/ld-uClibc.so.0) should also be included in rootfs with busybox compiled
as dynamic/pie binary.
No multilib for now, but we can add it in the future if you think it would
be useful.
Signed-off-by: Nick Kossifidis <mick@ics.forth.gr>
|
|
We end up using sed/awk wrappers even when we don't need to. Instead
of having hardcoded paths (/bin/sed, /usr/bin/gawk), use the which
command to check how the shell would resolve sed/awk before we tamper
with PATH. Also handle the case where sed/awk are symbolic links to
gsed/gawk, using realpath.
Signed-off-by: Nick Kossifidis <mick@ics.forth.gr>
|
|
Test results (with --enable-multilib):
```
========= Summary of gcc testsuite =========
| # of unexpected case / # of unique unexpected case
| gcc | g++ | gfortran |
rv32imac/ ilp32/ medlow | 0 / 0 | 0 / 0 | 0 / 0 |
rv32imafdc/ ilp32d/ medlow | 0 / 0 | 0 / 0 | 0 / 0 |
rv64imac/ lp64/ medlow | 0 / 0 | 0 / 0 | 0 / 0 |
rv64imafdc/ lp64d/ medlow | 0 / 0 | 0 / 0 | 0 / 0 |
```
Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>
|
|
```
========= Summary of gcc testsuite =========
| # of unexpected case / # of unique unexpected case
| gcc | g++ | gfortran |
rv64gc/ lp64d/ medlow | 0 / 0 | 0 / 0 | - |
rv32imafc/ ilp32f/ medlow | 0 / 0 | 0 / 0 | - |
```
Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>
|
|
Test results (rv64/rv32):
```
========= Summary of gcc testsuite =========
| # of unexpected case / # of unique unexpected case
| gcc | g++ | gfortran |
rv64gc/ lp64d/ medlow | 0 / 0 | 0 / 0 | 0 / 0 |
rv32gc/ ilp32d/ medlow | 0 / 0 | 0 / 0 | 0 / 0 |
```
Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>
|
|
Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>
|
|
RISCV: Add target_board generation for multiple arch_abi parameters
|
|
If `libslirp` is found during configuration, it will be enabled.
So we just need install `libslirp` before building.
|
|
This commit bumps newlib from 4.3.0 to 4.4.0.
Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>
|
|
In order to generate target board info for multilib, the parameters of build-arch-abi should be enclosed in double quotation marks. And the the python script generate_target_board will process it correctly
Signed-off-by: ff520git <wangfeng@eswincomputing.com>
|
|
Update README.md to indicate core model option
Signed-off-by: Valen <18544814+SpiccyMayonnaise@users.noreply.github.com>
Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>
Co-authored-by: Christoph Müllner <christoph.muellner@vrull.eu>
|
|
RISCV: Add target_board generation for multiple arch_abi parameters
Currently this script just can handle one parameter for arch_abi,but there is more than one arch_abi in "newlib_multilib_names" which comes from the configure.
Execute the following command:
generate_target_board --sim-name riscv-sim --cmodel medany --build-arch-abi "rv32imafc-ilp32f rv64imafdc-lp64d"
Before this patch the result is:
riscv-sim/-march=rv32imafc/-mabi=ilp32f rv64imafdc/-mcmodel=medany
After this patch,the result is:
riscv-sim/-march=rv32imafc/-mabi=ilp32f/-mcmodel=medany
riscv-sim/-march=rv64imafdc/-mabi=lp64d/-mcmodel=medany
At the same time,there is small modification for Makefile.in,the
parameters of build-arch-abi should be enclosed in double quotation marks.
--build-arch-abi "$(NEWLIB_MULTILIB_NAMES)"
Signed-off-by: ff520git <wangfeng@eswincomputing.com>
|
|
|