> From: Heinrich Schuchardt <[email protected]>
> Date: Mon,  1 Dec 2025 18:47:03 +0100
> 
> We currently include libgcc.a when building for the RISC-V architecture.
> For instance lib/mbedtls/external/mbedtls/library/bignum.c uses __ctzdi2().
> 
> At least the Ubuntu Linux distribution has switched to building libgcc.a
> for the RVA23S64 profile. Using this library on RVA20 systems results in
> crashes. We therefore need a private replacement library.

Sound like the real problem here is using a native toolchain instead
of a toolchain for the target at hand.

That said, the solution a sensible one.

> With the series a private GCC library and unit tests are provided for
> 64-bit RISC-V. This is enough to build for CONFIG_WGET_HTTPS as suggested
> in E's patch
> 
> [PATCH] configs: starfive: enable wget https
> https://lore.kernel.org/u-boot/[email protected]/
> 
> Heinrich Schuchardt (2):
>   RISC-V: implement private GCC library
>   test: provide unit tests for the RISC-V private GCC library
> 
>  arch/Kconfig            |   1 +
>  arch/riscv/lib/Makefile |   2 +
>  arch/riscv/lib/clz.c    | 105 ++++++++++++++++++++++++++++++++++++++++
>  arch/riscv/lib/ctz.c    |  97 +++++++++++++++++++++++++++++++++++++
>  lib/Kconfig             |   2 +-
>  test/lib/Makefile       |   4 ++
>  test/lib/test_clz.c     |  53 ++++++++++++++++++++
>  test/lib/test_ctz.c     |  53 ++++++++++++++++++++
>  8 files changed, 316 insertions(+), 1 deletion(-)
>  create mode 100644 arch/riscv/lib/clz.c
>  create mode 100644 arch/riscv/lib/ctz.c
>  create mode 100644 test/lib/test_clz.c
>  create mode 100644 test/lib/test_ctz.c
> 
> -- 
> 2.51.0
> 
> 

Reply via email to