[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] riscv64-emu: add __clzdi2 symbol
From: |
Daniel Kiper |
Subject: |
Re: [PATCH] riscv64-emu: add __clzdi2 symbol |
Date: |
Wed, 18 Sep 2019 20:23:26 +0200 |
User-agent: |
NeoMutt/20170113 (1.7.2) |
Adding Alex and Eric...
On Mon, Sep 09, 2019 at 02:34:25PM +0200, Andreas Schwab wrote:
> This is needed for the zstd module.
>
> Signed-off-by: Andreas Schwab <address@hidden>
> ---
> configure.ac | 2 +-
> include/grub/compiler-rt-emu.h | 5 +++++
> 2 files changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/configure.ac b/configure.ac
> index e07ba4b56..7d74eba66 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -1370,7 +1370,7 @@ fi
>
> # Check for libgcc symbols
> if test x"$platform" = xemu; then
> -AC_CHECK_FUNCS(__udivsi3 __umodsi3 __divsi3 __modsi3 __divdi3 __moddi3
> __udivdi3 __umoddi3 __ctzdi2 __ctzsi2 __aeabi_uidiv __aeabi_uidivmod
> __aeabi_idiv __aeabi_idivmod __aeabi_ulcmp __muldi3 __aeabi_lmul
> __aeabi_memcpy __aeabi_memcpy4 __aeabi_memcpy8 __aeabi_memclr __aeabi_memclr4
> __aeabi_memclr8 __aeabi_memset __aeabi_lasr __aeabi_llsl __aeabi_llsr
> _restgpr_14_x __ucmpdi2 __ashldi3 __ashrdi3 __lshrdi3 __bswapsi2 __bswapdi2
> __bzero __register_frame_info __deregister_frame_info ___chkstk_ms
> __chkstk_ms)
> +AC_CHECK_FUNCS(__udivsi3 __umodsi3 __divsi3 __modsi3 __divdi3 __moddi3
> __udivdi3 __umoddi3 __ctzdi2 __ctzsi2 __clzdi2 __aeabi_uidiv __aeabi_uidivmod
> __aeabi_idiv __aeabi_idivmod __aeabi_ulcmp __muldi3 __aeabi_lmul
> __aeabi_memcpy __aeabi_memcpy4 __aeabi_memcpy8 __aeabi_memclr __aeabi_memclr4
> __aeabi_memclr8 __aeabi_memset __aeabi_lasr __aeabi_llsl __aeabi_llsr
> _restgpr_14_x __ucmpdi2 __ashldi3 __ashrdi3 __lshrdi3 __bswapsi2 __bswapdi2
> __bzero __register_frame_info __deregister_frame_info ___chkstk_ms
> __chkstk_ms)
> fi
>
> if test "x$TARGET_APPLE_LINKER" = x1 ; then
> diff --git a/include/grub/compiler-rt-emu.h b/include/grub/compiler-rt-emu.h
> index b21425d9e..661f9876f 100644
> --- a/include/grub/compiler-rt-emu.h
> +++ b/include/grub/compiler-rt-emu.h
> @@ -74,6 +74,11 @@ unsigned
> EXPORT_FUNC (__ctzsi2) (grub_uint32_t x);
> #endif
>
> +#ifdef HAVE___CLZDI2
> +unsigned
> +EXPORT_FUNC (__clzdi2) (grub_uint64_t x);
> +#endif
> +
Hmmm... Is __clzdi2() declaration correct? Please take a look at
grub-core/kern/compiler-rt.c. __clzdi2() returns int instead of
unsigned there. Hence, it should be fixed here or there.
Daniel