On Sun, Apr 09, 2017 at 09:39:14PM +0100, Stuart Henderson wrote:
> I'm building ports on aarch64 to see how things go and am looking for common
> problems. At this stage, mostly just wanting to show people what things I run
> into so they can mull them over. (I'll also fix simple things as I go).
> 
> One that I'm seeing is undefined symbols with the following math functions,
> 
> undefined symbol '__floatunditf'
> undefined symbol '__fixunstfsi'
> undefined symbol '__fixunstfdi'
> 
> For example in archivers/gtar, audio/musepack, devel/dconf.
> 
> These names are in InitLibcallNames() in
> /usr/src/gnu/llvm/lib/CodeGen/TargetLoweringBase.cpp
> 
>   Names[RTLIB::UINTTOFP_I64_F128] = "__floatunditf";
>   Names[RTLIB::FPTOUINT_F128_I32] = "__fixunstfsi";
>   Names[RTLIB::FPTOUINT_F128_I64] = "__fixunstfdi";
> 
> A number of the other symbols in this file aren't found in libm, but I
> haven't run into problems with those yet.
> 
> (Ports is likely not clean enough to build those ports with what's
> currently in-tree, at the moment I have 800-odd Ms for WANTLIB changes).
> 

The other symbols akin to those are provided by lib/libcompiler_rt.  The
symbols you mentioned are part of the source code but are not compiled
in for aarch64.  This might simply be an oversight, so adding those to
the compiler-rt library Makefile should make it work.

Patrick

Reply via email to