Reduced reproduction of games/libretro-beetle_psx 's armv7 build failure
Date: Mon, 22 Aug 2022 18:30:11 UTC
games/libretro-beetle_psx built for armv7 uses its jit_arm*.c code. The below is a simplification of the context for the later shown build failure log file from the FreeBSD package build servers: # more libretro-beetle_psx_build_failure_reduction.c extern float __addsf3(float, float); extern double __adddf3(double, double); int main() { (void)__addsf3(0, 0); (void)__adddf3(0, 0); } # cc libretro-beetle_psx_build_failure_reduction.c ld: error: undefined symbol: __addsf3 >>> referenced by libretro-beetle_psx_build_failure_reduction.c >>> /tmp/libretro-beetle_psx_build_failure_reduction-e3ff6d.o:(main) ld: error: undefined symbol: __adddf3 >>> referenced by libretro-beetle_psx_build_failure_reduction.c >>> /tmp/libretro-beetle_psx_build_failure_reduction-e3ff6d.o:(main) >>> did you mean: __adddi3 >>> defined in: /lib/libc.so.7 cc: error: linker command failed with exit code 1 (use -v to see invocation) An recent example of the build failure on the FreeBSD package builder servers is: http://ampere2.nyi.freebsd.org/data/main-armv7-default/p85ef7d020401_s0fd8d3589/logs/errors/libretro-beetle_psx-0.20220211_1.log There may be other examples than __addsf3 and __adddf3 (in other software?). It seems there must not be a (complete) test for the coverage of such things. That same reduced-problem source (by content) builds for aarch64 and runs fine on aarch64. There are more issues with missing math routines vs. the lang/gcc* code generation --on aarch64 as well. But the above sticks to system-clang's toolchain as a context. Note: I do not normally build games/libretro-beetle_psx and never use it. I got here from looking into a somewhat analogous failure and looking to find an official activity that was similar that I could reference. === Mark Millard marklmi at yahoo.com