aboutsummaryrefslogtreecommitdiff
path: root/libgcc/config/avr/t-avrlibc
diff options
context:
space:
mode:
authorGeorg-Johann Lay <avr@gjlay.de>2020-01-08 09:31:07 +0000
committerGeorg-Johann Lay <gjl@gcc.gnu.org>2020-01-08 09:31:07 +0000
commitf30dd607669212de135dec1f1d8a93b8954c327c (patch)
tree497248e433c158b74b956765c29800219a4f94e2 /libgcc/config/avr/t-avrlibc
parentd5bc18085c8b0344e7b53febc3cd3cc681a98ea3 (diff)
downloadgcc-f30dd607669212de135dec1f1d8a93b8954c327c.zip
gcc-f30dd607669212de135dec1f1d8a93b8954c327c.tar.gz
gcc-f30dd607669212de135dec1f1d8a93b8954c327c.tar.bz2
Implement 64-bit double functions.
gcc/ PR target/92055 * config.gcc (tm_defines) [target=avr]: Support --with-libf7, --with-double-comparison. * doc/install.texi: Document them. * config/avr/avr-c.c (avr_cpu_cpp_builtins) <WITH_LIBF7_LIBGCC, WITH_LIBF7_MATH, WITH_LIBF7_MATH_SYMBOLS> <WITH_DOUBLE_COMPARISON>: New built-in defines. * doc/invoke.texi (AVR Built-in Macros): Document them. * config/avr/avr-protos.h (avr_float_lib_compare_returns_bool): New. * config/avr/avr.c (avr_float_lib_compare_returns_bool): New function. * config/avr/avr.h (FLOAT_LIB_COMPARE_RETURNS_BOOL): New macro. libgcc/ PR target/92055 * config.host (tmake_file) [target=avr]: Add t-libf7, t-libf7-math, t-libf7-math-symbols as specified by --with-libf7=. * config/avr/t-avrlibc: Don't copy libgcc.a if there are modules depending on sizeof (double) or sizeof (long double). * config/avr/libf7: New folder. libgcc/config/avr/libf7/ PR target/92055 * t-libf7: New file. * t-libf7-math: New file. * t-libf7-math-symbols: New file. * libf7-common.mk: New file. * libf7-asm-object.mk: New file. * libf7-c-object.mk: New file. * asm-defs.h: New file. * libf7.h: New file. * libf7.c: New file. * libf7-asm.sx: New file. * libf7-array.def: New file. * libf7-const.def: New file. * libf7-constdef.h: New file. * f7renames.sh: New script. * f7wraps.sh: New script. * f7-renames.h: New generated file. * f7-wraps.h: New generated file. From-SVN: r279994
Diffstat (limited to 'libgcc/config/avr/t-avrlibc')
-rw-r--r--libgcc/config/avr/t-avrlibc7
1 files changed, 7 insertions, 0 deletions
diff --git a/libgcc/config/avr/t-avrlibc b/libgcc/config/avr/t-avrlibc
index 34eca4f..661a518 100644
--- a/libgcc/config/avr/t-avrlibc
+++ b/libgcc/config/avr/t-avrlibc
@@ -65,6 +65,12 @@ LIB2FUNCS_EXCLUDE += \
_fixunssfdi \
_floatdisf _floatundisf
+ifeq (,$(WITH_LIBF7_MATH_SYMBOLS))
+
+# No modules depend on __SIZEOF_LONG_DOUBLE__ or __SIZEOF_DOUBLE__
+# which means we might have an opportunity to copy libgcc.a.
+# WITH_LIBF7_MATH_SYMBOLS is set by libf7/t-libf7-math-symbols.
+
ifneq (,$(findstring avr,$(MULTISUBDIR)))
# We are not in the avr2 (default) subdir, hence copying will work.
@@ -95,3 +101,4 @@ Makefile: t-copy-libgcc.dep
endif
endif
+endif