[PATCH] makefile: fix Clang link error when RSA_PUBLIC_KEY_PARSER is selected
Tom Rini
trini at konsulko.com
Wed May 28 16:19:45 CEST 2025
On Wed, May 28, 2025 at 10:25:06AM +0200, Jerome Forissier wrote:
> Hi Rayond,
>
> On 5/27/25 23:05, Raymond Mao wrote:
> > MbedTLS bignum module needs '__udivti3' which is a 128-bit division
> > function provided by the compiler runtime, typically libgcc for GCC or
> > clang_rt.builtins for Clang.
> > Thus 'clang_rt.builtins' library is required when building using Clang.
>
> How do you reproduce the problem? Can you give the config and build
> command you are using?
>
> >
> > Fixes: 13de8483388c ("mbedtls: add mbedtls into the build system")
> > Signed-off-by: Raymond Mao <raymond.mao at linaro.org>
> > ---
> > Makefile | 6 +++++-
> > 1 file changed, 5 insertions(+), 1 deletion(-)
> >
> > diff --git a/Makefile b/Makefile
> > index f88684947ee..16506dcaec6 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -37,7 +37,6 @@ else ifeq ("riscv32", $(MK_ARCH))
> > else ifeq ("riscv64", $(MK_ARCH))
> > export HOST_ARCH=$(HOST_ARCH_RISCV64)
> > endif
> > -undefine MK_ARCH
> >
> > # Avoid funny character set dependencies
> > unexport LC_ALL
> > @@ -915,8 +914,13 @@ PLATFORM_LIBGCC = arch/$(ARCH)/lib/lib.a
> > else
> > ifndef CONFIG_CC_IS_CLANG
> > PLATFORM_LIBGCC := -L $(shell dirname `$(CC) $(c_flags) -print-libgcc-file-name`) -lgcc
> > +else ifeq ($(CONFIG_RSA_PUBLIC_KEY_PARSER_MBEDTLS),y)
> > +# mbedtls bignum needs '__udivti3' - a 128-bit division function that's provided by clang-rt.
> > +CLANG_RT_DIR := $(shell $(CC) --print-resource-dir)/lib/linux
> > +PLATFORM_LIBGCC := -L$(CLANG_RT_DIR) -lclang_rt.builtins-$(MK_ARCH)
>
> I'm afraid this won't work when cross-compiling because the compiler-rt
> builtins libraries are usually not installed with the compiler.
> For example on my Ubuntu 24.04 machine:
>
> $ clang --version
> Ubuntu clang version 18.1.3 (1ubuntu1)
> Target: x86_64-pc-linux-gnu
> Thread model: posix
> InstalledDir: /usr/bin
How about if you use the llvm.org packages?
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20250528/8b34d19a/attachment.sig>
More information about the U-Boot
mailing list