[Bug 282705] Undefined symbols on armv7: "ld: error: undefined symbol: __truncdfsf2", "ld: error: undefined symbol: __nedf2", etc on the port graphics/oculante

From: <bugzilla-noreply_at_freebsd.org>
Date: Fri, 15 Nov 2024 12:48:30 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=282705

Dimitry Andric <dim@FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dim@FreeBSD.org

--- Comment #2 from Dimitry Andric <dim@FreeBSD.org> ---
(In reply to Ed Maste from comment #1)
These are all in lib/libc/softfloat. However, the main libc Makefile has:

.if (${LIBC_ARCH} == "arm" && (defined(CPUTYPE) && ${CPUTYPE:M*soft*}))
.include "${LIBC_SRCTOP}/softfloat/Makefile.inc"
.endif

so it won't apply to arm CPUs with hardware floating point support. As far as I
remember, the "# These are already shipped by libc.a on some architectures."
comment has always been in the compiler-rt Makefile.inc.

In fact, they were there when Ed Schouten imported the libcompiler-rt build
infra in <https://cgit.freebsd.org/src/commit/?id=a3cf0ef5a295c>.

It might be good to check with somebody who knows 32-bit arm, if we can change
the check in Makefile.inc to be similar to the one in libc's Makefile, so these
functions are included in compiler-rt from that point onward.

-- 
You are receiving this mail because:
You are the assignee for the bug.