[compiler-rt] [builtins][AArch32] Fix __gnu_* functions (PR #137638)
Simon Tatham via llvm-commits
llvm-commits at lists.llvm.org
Fri May 16 03:47:47 PDT 2025
================
@@ -16,12 +16,13 @@ COMPILER_RT_ABI NOINLINE float __extendhfsf2(src_t a) {
return __extendXfYf2__(a);
}
-COMPILER_RT_ABI float __gnu_h2f_ieee(src_t a) { return __extendhfsf2(a); }
-
#if defined(__ARM_EABI__)
#if defined(COMPILER_RT_ARMHF_TARGET)
+AEABI_RTABI float __gnu_h2f_ieee(src_t a) { return __extendhfsf2(a); }
AEABI_RTABI float __aeabi_h2f(src_t a) { return __extendhfsf2(a); }
#else
+COMPILER_RT_ALIAS(__extendhfsf2, __gnu_h2f_ieee)
COMPILER_RT_ALIAS(__extendhfsf2, __aeabi_h2f)
#endif
+COMPILER_RT_ABI float __gnu_h2f_ieee(src_t a) { return __extendhfsf2(a); }
----------------
statham-arm wrote:
This definition is included _as well_ as one of the above two, because whichever way the inner `#if` goes, this line just after it will still be compiled in. So you'll get a duplicate symbol definition error, because `__gnu_h2f_ieee` is defined twice in the same source file.
https://github.com/llvm/llvm-project/pull/137638
More information about the llvm-commits
mailing list