diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 18bbf6cd..1696365b 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -14,7 +14,7 @@ jobs: strategy: matrix: os: [ubuntu-18.04, ubuntu-20.04] - mode: [newlib, linux] + mode: [newlib, linux, musl] target: [rv32gc-ilp32d, rv64gc-lp64d] steps: - uses: actions/checkout@v2 @@ -40,7 +40,14 @@ jobs: id: toolchain-name-generator run: | if [[ "${{ matrix.target }}" == *"32"* ]]; then BITS=32; else BITS=64; fi - if [[ "${{ matrix.mode }}" == "linux" ]]; then MODE="glibc"; else MODE="elf"; fi + case "${{ matrix.mode }}" in + "linux") + MODE="glibc";; + "musl") + MODE="musl";; + *) + MODE="elf";; + esac echo ::set-output name=TOOLCHAIN_NAME::riscv$BITS-$MODE-${{ matrix.os }}-nightly - uses: actions/upload-artifact@v2 diff --git a/.github/workflows/nightly-release.yaml b/.github/workflows/nightly-release.yaml index 21d6cf92..ddf44645 100644 --- a/.github/workflows/nightly-release.yaml +++ b/.github/workflows/nightly-release.yaml @@ -49,7 +49,7 @@ jobs: strategy: matrix: os: [ubuntu-18.04, ubuntu-20.04] - mode: [newlib, linux] + mode: [newlib, linux, musl] target: [rv32gc-ilp32d, rv64gc-lp64d] steps: - uses: actions/checkout@v2 @@ -75,7 +75,14 @@ jobs: id: toolchain-name-generator run: | if [[ "${{ matrix.target }}" == *"32"* ]]; then BITS=32; else BITS=64; fi - if [[ "${{ matrix.mode }}" == "linux" ]]; then MODE="glibc"; else MODE="elf"; fi + case "${{ matrix.mode }}" in + "linux") + MODE="glibc";; + "musl") + MODE="musl";; + *) + MODE="elf";; + esac echo ::set-output name=TOOLCHAIN_NAME::riscv$BITS-$MODE-${{ matrix.os }}-nightly - uses: actions/upload-artifact@v2 diff --git a/.gitmodules b/.gitmodules index 65e54310..e9694c3a 100644 --- a/.gitmodules +++ b/.gitmodules @@ -24,3 +24,7 @@ [submodule "qemu"] path = qemu url = https://git.qemu.org/git/qemu.git +[submodule "musl"] + path = musl + url = git://git.musl-libc.org/musl + branch = master diff --git a/configure b/configure index aad142c9..75defbb2 100755 --- a/configure +++ b/configure @@ -3596,7 +3596,7 @@ fi with_musl_src=$with_musl_src else - with_musl_src="\$(srcdir)/riscv-musl" + with_musl_src="\$(srcdir)/musl" fi diff --git a/configure.ac b/configure.ac index 81a5d6dd..f672ffe0 100644 --- a/configure.ac +++ b/configure.ac @@ -219,7 +219,7 @@ AX_ARG_WITH_SRC(gcc, riscv-gcc) AX_ARG_WITH_SRC(binutils, riscv-binutils) AX_ARG_WITH_SRC(newlib, newlib) AX_ARG_WITH_SRC(glibc, glibc) -AX_ARG_WITH_SRC(musl, riscv-musl) +AX_ARG_WITH_SRC(musl, musl) AX_ARG_WITH_SRC(gdb, riscv-gdb) AX_ARG_WITH_SRC(qemu, qemu) diff --git a/musl b/musl new file mode 160000 index 00000000..85e0e351 --- /dev/null +++ b/musl @@ -0,0 +1 @@ +Subproject commit 85e0e3519655220688e757b9d5bfd314923548bd