Skip to content

Commit

Permalink
Enable RV32 build of Linux/musl toolchain - effectively reverse the r…
Browse files Browse the repository at this point in the history
…estrictions imposed by this commit: 629c67e
  • Loading branch information
TommyMurphyTM1234 committed Oct 9, 2024
1 parent 31a8195 commit 4927cc7
Show file tree
Hide file tree
Showing 6 changed files with 3 additions and 18 deletions.
2 changes: 0 additions & 2 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@ jobs:
target: [rv32gc-ilp32d, rv64gc-lp64d]
compiler: [gcc, llvm]
exclude:
- mode: musl
target: rv32gc-ilp32d
- mode: musl
compiler: llvm
steps:
Expand Down
2 changes: 0 additions & 2 deletions .github/workflows/nightly-release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,6 @@ jobs:
target: [rv32gc-ilp32d, rv64gc-lp64d]
compiler: [gcc, llvm]
exclude:
- mode: musl
target: rv32gc-ilp32d
- mode: musl
compiler: llvm
steps:
Expand Down
6 changes: 0 additions & 6 deletions Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -141,13 +141,7 @@ GCC_CHECKING_FLAGS := $(GCC_CHECKING_FLAGS) --enable-werror-always
endif
newlib: stamps/build-gcc-newlib-stage2
linux: stamps/build-gcc-linux-stage2
ifneq (,$(findstring riscv32,$(MUSL_TUPLE)))
.PHONY: musl
musl:
@echo "musl only supports 64bit builds." && exit 1
else
musl: stamps/build-gcc-musl-stage2
endif
uclibc: stamps/build-gcc-uclibc-stage2
ifeq (@enable_gdb@,--enable-gdb)
newlib: stamps/build-gdb-newlib
Expand Down
5 changes: 0 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,11 +100,6 @@ systems.
It will support the most common `-march`/`-mabi` options, which can be seen by
using the `--print-multi-lib` flag on either cross-compiler.

The musl compiler (riscv64-unknown-linux-musl-) will only be able to target
64-bit systems due to limitations in the upstream musl architecture support.
The `--enable-multilib` flag therefore does not actually enable multilib support
for musl libc.

Linux toolchain has an additional option `--enable-default-pie` to control the
default PIE enablement for GCC, which is disable by default.

Expand Down
4 changes: 2 additions & 2 deletions configure
Original file line number Diff line number Diff line change
Expand Up @@ -1382,8 +1382,8 @@ Optional Features:
information
--enable-default-pie build linux toolchain with default PIE
[--enable-default-pie]
--enable-multilib build both RV32 and RV64 runtime libraries (only
RV64 for musl libc) [--disable-multilib]
--enable-multilib build both RV32 and RV64 runtime libraries
[--disable-multilib]
--enable-gcc-checking Enable gcc internal checking, it will make gcc very
slow, only enable it when developing gcc
[--disable-gcc-checking]
Expand Down
2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ AS_IF([test "x$enable_multilib" != xno],
[AC_SUBST(newlib_multilib_names,"$with_arch-$with_abi")])

AS_IF([test "x$enable_multilib" != xno],
[AC_SUBST(musl_multilib_names,"rv64imac-lp64 rv64imafdc-lp64d")],
[AC_SUBST(musl_multilib_names,"rv32imac-ilp32 rv32imafdc-ilp32d rv64imac-lp64 rv64imafdc-lp64d")],
[AC_SUBST(musl_multilib_names,"$with_arch-$with_abi")])

AC_ARG_ENABLE(gcc-checking,
Expand Down

0 comments on commit 4927cc7

Please sign in to comment.