On Sat, Aug 18, 2018 at 07:11:40PM +0900, Ryo Shimizu wrote:
> 
> >On Sat, Aug 11, 2018 at 10:06:41AM +0000, Ryo Shimizu wrote:
> >> Module Name:       src
> >> Committed By:      ryo
> >> Date:              Sat Aug 11 10:06:41 UTC 2018
> >> 
> >> Modified Files:
> >>    src/lib/libc/arch/aarch64/softfloat: qp.c
> >> 
> >> Log Message:
> >> fix multiple definition of __{ge,lt,gt,le,eq,ne,unordt}tf2 in libc and 
> >> libgcc.
> >> this fixes the ATF call_once_static, call_once2_static, cxxruntime_static, 
> >> static_destructor_static.
> 
> 
> >This seems just wrong. libgcc shouldn't provide them IMO.
> >Side question, this likely should be replaced with comparetf2.c and
> >friends in libc/compiler_rt/Makefile.
> 
> s/libgcc/libc/ ?
> 
> I see. then, is it enough to just remove __{ge,lt,gt,le,eq,ne,unordt}tf2 from 
> libc?
> currently, clang seems to link libgcc.

libc should be standalone going forward. The libgcc(_s) dependency
should IMO be strongly considered a legacy-only problem and we shouldn't
extend that to new architectures.

That said, I think the main reason this shows up at all is because the
qp.c variant is all-in-one, unlike the code in compiler-rt.

Joerg

Reply via email to