Age | Commit message (Collapse) | Author | Files | Lines |
|
Signed-off-by: Jordan Carlin <jordanmcarlin@gmail.com>
|
|
Signed-off-by: Scott Beamer <sbeamer@ucsc.edu>
|
|
|
|
|
|
We recently updated the download-artifact action to v4, because earlier
versions were deprecated and stopped working.
Now we ran into the situation, that the release pipeline broke, because
no toolchains are found by the download-artifact action
("Found 0 artifact(s)" although all toolchain builds succeeded and the
resulting toolchain was successfully archived and uploaded).
Looking into the documention of download-artifact@v4 shows the issue:
One of the breaking changes of download-artifact@v4 is "Downloading
artifacts that were created from action/upload-artifact@v3 and below
are not supported." ([1]). Our pipeline uses upload-artifact@v3, which
is why they are not found later on.
Let's bump the upload-artifact action to v4 so that download-artifact@v4
will find the built artifacts again.
[1] https://github.com/actions/download-artifact?tab=readme-ov-file#v4---whats-new
Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>
|
|
The activity check of the nightly release pipeline extracts the field
'commit.author.date' from the top commit to decide if commit was added
in the last 24 hours. However, unless PRs are reviewed and merged
within 24 hours this activity check will fail. Using the date of the
merge instead leads to a more robust activity check.
To give a concrete example, here are the top lines of today's commit log:
```
{
"sha": "a14abe3265ae8bd3ce463aefa4645bd376d08e5a",
"node_id": "C_kwDOAWrbKtoAKGExNGFiZTMyNjVhZThiZDNjZTQ2M2FlZmE0NjQ1YmQzNzZkMDhlNWE",
"commit": {
"author": {
"name": "Christoph Müllner",
"email": "christoph.muellner@vrull.eu",
"date": "2024-10-12T22:54:57Z"
},
"committer": {
"name": "Christoph Müllner",
"email": "christophm30@gmail.com",
"date": "2024-10-16T08:08:11Z"
},
[...]
```
The existing code extracts the following time:
```
$ jq -r '.commit.author.date' commit.json
2024-10-12T22:54:57Z
```
The code change in this PR changes this to the following:
```
$ jq -r '.commit.committer.date' commit.json
2024-10-16T08:08:11Z
```
Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>
|
|
see https://github.com/riscv-collab/riscv-gnu-toolchain/issues/1513
The NEWLIB_MULTILIB_NAMES generated in makefile for MULTILIB_GEN may contain space at the end, which cause the generate_target_board script to crash
Signed-off-by: Bin XIE <xiebin@zju.edu.cn>
|
|
The create-release CI/CD step is currently failing with the error:
This request has been automatically failed because it uses a deprecated
version of `actions/download-artifact: v2`
Github deprecated download-artifact v2 and asks users to use v4 instead:
https://github.blog/changelog/2024-02-13-deprecation-notice-v1-and-v2-of-the-artifact-actions/
Let's do what's recommended to unbreak the release action.
Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>
|
|
|
|
https://github.com/riscv-collab/riscv-gnu-toolchain/issues/1566
|
|
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>
|