https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125129
Bug ID: 125129
Summary: Many tests fail to link on FreeBSD
Product: gcc
Version: 16.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: modula2
Assignee: gaius at gcc dot gnu.org
Reporter: ro at gcc dot gnu.org
Target Milestone: ---
Target: amd64-pc-freebsd15.0
Many gm2 tests fail to link on FreeBSD/amd64, e.g.
AIL: gm2/builtins/run/pass/testalloa.mod compilation, -g
unsuccessful link
UNRESOLVED: gm2/builtins/run/pass/testalloa.mod execution, -g (link failed)
gld-2.46:
x86_64-unknown-freebsd15.0/./libgm2/libm2pim/.libs/libm2pim.a(Builtins.o): in
function `m2pim_Builtins_csinl':
libgm2/libm2pim/../../gcc/m2/gm2-libs/Builtins.mod:448:(.text+0x7b1): undefined
reference to `csinl'
gld-2.46:
x86_64-unknown-freebsd15.0/./libgm2/libm2pim/.libs/libm2pim.a(Builtins.o): in
function `m2pim_Builtins_ccosl':
libgm2/libm2pim/../../gcc/m2/gm2-libs/Builtins.mod:463:(.text+0x7f1): undefined
reference to `ccosl'
gld-2.46:
x86_64-unknown-freebsd15.0/./libgm2/libm2pim/.libs/libm2pim.a(Builtins.o): in
function `m2pim_Builtins_ctanl':
libgm2/libm2pim/../../gcc/m2/gm2-libs/Builtins.mod:478:(.text+0x831): undefined
reference to `ctanl'
collect2: error: ld returned 1 exit status
compiler exited with status 1
FAIL: gm2/builtins/run/pass/testalloa.mod compilation, -g
unsuccessful link
UNRESOLVED: gm2/builtins/run/pass/testalloa.mod execution, -g (link failed)
I wonder what's going on here: gm2-gcc/m2builtins.cc has
{ "__builtin_ctanl", BT_FN_LDCOMPLEX_LDCOMPLEX, BUILT_IN_CTANL,
BUILT_IN_NORMAL, "ctanl", NULL, NULL, bf_c99_compl },
which seems to match builtins.def:
DEF_C99_COMPL_BUILTIN (BUILT_IN_CTANL, "ctanl",
BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
FreeBSD's version of TARGET_LIBC_HAS_FUNCTION (bsd_libc_has_function in
targhooks.cc) seems to do the right thing by returning false for
function_c99_math_complex.