1 # This file is used if not configured --with-avrlibc=no
3 # AVR-Libc comes with hand-optimized float routines.
4 # For historical reasons, these routines live in AVR-Libc
5 # and not in libgcc and use the same function names like libgcc.
6 # To get the best support, i.e. always use the routines from
7 # AVR-Libc, we remove these routines from libgcc.
13 # __addsf3 __subsf3 __divsf3 __mulsf3 __negsf2
17 # __eqsf2 __lesf2 __ltsf2 __nesf2 __gesf2 __gtsf2
20 # __fixsfdi __fixunssfdi __floatdisf __floatundisf
21 # __fixsfsi __fixunssfsi __floatsisf __floatunsisf
24 # These functions are contained in modules:
26 # _addsub_sf.o: __addsf3 __subsf3
29 # _negate_sf.o: __negsf2
31 # _compare_sf.o: __cmpsf2
32 # _unord_sf.o: __unordsf2
40 # _fixsfdi.o: __fixsfdi
41 # _fixunssfdi.o: __fixunssfdi
42 # _fixunssfsi.o: __fixunssfsi
43 # _floatdisf.o: __floatdisf
44 # _floatundisf.o: __floatundisf
45 # _sf_to_si.o: __fixsfsi
46 # _si_to_sf.o: __floatsisf
47 # _usi_to_sf.o: __floatunsisf
51 LIB2FUNCS_EXCLUDE += \
63 _usi_to_sf _sf_to_usi \
64 _fixunssfsi _fixsfdi \
66 _floatdisf _floatundisf
68 ifeq (,$(WITH_LIBF7_MATH_SYMBOLS))
70 # No modules depend on __SIZEOF_LONG_DOUBLE__ or __SIZEOF_DOUBLE__
71 # which means we might have an opportunity to copy libgcc.a.
72 # WITH_LIBF7_MATH_SYMBOLS is set by libf7/t-libf7-math-symbols.
74 ifneq (,$(findstring avr,$(MULTISUBDIR)))
76 # We are not in the avr2 (default) subdir, hence copying will work.
77 # In default dir, copying won'twork because the default multilib is
78 # built after all the others.
80 ifneq (,$(findstring double,$(MULTISUBDIR)))
82 # We are in double{32|64}/libgcc or long-double{32|64}/libgcc:
83 # Just copy from the [long ]double=float multilib; we would remove any DFmode
84 # bits from this multilib variant, anyway, because the current assumption
85 # is that avr-libc hosts *all* the IEEE-double stuff.
87 LIB2FUNCS_EXCLUDE := %
93 t-copy-libgcc.dep: $(srcdir)/config/avr/t-copy-libgcc
98 libgcc.a libgcov.a libgcc_tm.h: t-copy-libgcc.dep
100 Makefile: t-copy-libgcc.dep