This file is intended to override fpreset for extended precision on x86,
where long double is 10 bytes.
---
mingw-w64-crt/Makefile.am | 14 +++++++-------
mingw-w64-crt/crt/CRT_fp10.c | 8 --------
2 files changed, 7 insertions(+), 15 deletions(-)
diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am
index 1e5a0d14b..2e436b0c9 100644
--- a/mingw-w64-crt/Makefile.am
+++ b/mingw-w64-crt/Makefile.am
@@ -112,7 +112,7 @@ src_libdloadhelper=libsrc/dloadhelper.c misc/delay-f.c
src_libmingw32=include/oscalls.h include/internal.h include/sect_attribs.h \
crt/crtexewin.c crt/dll_argv.c crt/gccmain.c crt/natstart.c
crt/pseudo-reloc-list.c crt/wildcard.c \
crt/charmax.c crt/ucrtexewin.c crt/dllargv.c crt/_newmode.c
crt/tlssup.c crt/xncommod.c \
- crt/cinitexe.c crt/merr.c crt/pesect.c crt/udllargc.c
crt/xthdloc.c crt/CRT_fp10.c \
+ crt/cinitexe.c crt/merr.c crt/pesect.c crt/udllargc.c
crt/xthdloc.c \
crt/mingw_custom.c crt/mingw_helpers.c \
crt/pseudo-reloc.c crt/udll_argv.c \
crt/usermatherr.c \
@@ -1350,7 +1350,7 @@ lib32_liblargeint_a_CPPFLAGS=$(CPPFLAGS32) $(sysincludes)
lib32_LIBRARIES += lib32/libmingw32.a
lib32_libmingw32_a_CPPFLAGS=$(CPPFLAGS32) -D_SYSCRT=1 $(extra_include)
$(AM_CPPFLAGS)
-lib32_libmingw32_a_SOURCES = $(src_libmingw32)
+lib32_libmingw32_a_SOURCES = $(src_libmingw32) crt/CRT_fp10.c
lib32_LIBRARIES += lib32/libmingwex.a
lib32_libmingwex_a_CPPFLAGS=$(CPPFLAGS32) $(extra_include) $(AM_CPPFLAGS)
@@ -1773,7 +1773,7 @@ lib64_liblargeint_a_CPPFLAGS=$(CPPFLAGS64) $(sysincludes)
lib64_LIBRARIES += lib64/libmingw32.a
lib64_libmingw32_a_CPPFLAGS=$(CPPFLAGS64) -D_SYSCRT=1 $(extra_include)
$(AM_CPPFLAGS)
-lib64_libmingw32_a_SOURCES = $(src_libmingw32)
+lib64_libmingw32_a_SOURCES = $(src_libmingw32) crt/CRT_fp10.c
lib64_LIBRARIES += lib64/libmingwex.a
lib64_libmingwex_a_CPPFLAGS=$(CPPFLAGS64) $(extra_include) $(AM_CPPFLAGS)
@@ -1941,7 +1941,7 @@ dx32dir=$(libarm32dir)
if !W32API
crt32_DATA = \
libarm32/crt1.o libarm32/crt2.o libarm32/crt1u.o libarm32/crt2u.o
libarm32/dllcrt1.o libarm32/dllcrt2.o \
- libarm32/CRT_fp8.o libarm32/CRT_fp10.o libarm32/txtmode.o libarm32/binmode.o
libarm32/crtbegin.o libarm32/crtend.o \
+ libarm32/CRT_fp8.o libarm32/txtmode.o libarm32/binmode.o
libarm32/crtbegin.o libarm32/crtend.o \
libarm32/gcrt0.o libarm32/gcrt1.o libarm32/gcrt2.o
libarm32/CRT_glob.o libarm32/CRT_noglob.o
else
crt32_DATA =
@@ -2146,7 +2146,7 @@ libarm32_liblargeint_a_CPPFLAGS=$(CPPFLAGSARM32)
$(sysincludes)
libarm32_LIBRARIES += libarm32/libmingw32.a
libarm32_libmingw32_a_CPPFLAGS=$(CPPFLAGSARM32) -D_SYSCRT=1 $(extra_include)
$(AM_CPPFLAGS)
-libarm32_libmingw32_a_SOURCES = $(src_libmingw32)
+libarm32_libmingw32_a_SOURCES = $(src_libmingw32) crt/CRT_fp8.c
libarm32_LIBRARIES += libarm32/libmingwex.a
libarm32_libmingwex_a_CPPFLAGS=$(CPPFLAGSARM32) $(extra_include) $(AM_CPPFLAGS)
@@ -2263,7 +2263,7 @@ dx64dir=$(libarm64dir)
if !W32API
crt64_DATA = \
libarm64/crt1.o libarm64/crt2.o libarm64/crt1u.o libarm64/crt2u.o
libarm64/dllcrt1.o libarm64/dllcrt2.o \
- libarm64/CRT_fp8.o libarm64/CRT_fp10.o libarm64/txtmode.o libarm64/binmode.o
libarm64/crtbegin.o libarm64/crtend.o \
+ libarm64/CRT_fp8.o libarm64/txtmode.o libarm64/binmode.o
libarm64/crtbegin.o libarm64/crtend.o \
libarm64/gcrt0.o libarm64/gcrt1.o libarm64/gcrt2.o
libarm64/CRT_glob.o libarm64/CRT_noglob.o
else
crt64_DATA =
@@ -2468,7 +2468,7 @@ libarm64_liblargeint_a_CPPFLAGS=$(CPPFLAGSARM64)
$(sysincludes)
libarm64_LIBRARIES += libarm64/libmingw32.a
libarm64_libmingw32_a_CPPFLAGS=$(CPPFLAGSARM64) -D_SYSCRT=1 $(extra_include)
$(AM_CPPFLAGS)
-libarm64_libmingw32_a_SOURCES = $(src_libmingw32)
+libarm64_libmingw32_a_SOURCES = $(src_libmingw32) crt/CRT_fp8.c
libarm64_LIBRARIES += libarm64/libmingwex.a
libarm64_libmingwex_a_CPPFLAGS=$(CPPFLAGSARM64) $(extra_include) $(AM_CPPFLAGS)
diff --git a/mingw-w64-crt/crt/CRT_fp10.c b/mingw-w64-crt/crt/CRT_fp10.c
index f39b5175f..c8a8bfbee 100644
--- a/mingw-w64-crt/crt/CRT_fp10.c
+++ b/mingw-w64-crt/crt/CRT_fp10.c
@@ -8,19 +8,11 @@ void _fpreset (void);
void _fpreset (void)
{
-#if defined(_ARM_) || defined(__arm__)
- __asm__ __volatile__ (
- "vmsr fpscr, %0\n\t" : : "r"(0 /* INITIAL_FPSCR */));
-#elif defined(_ARM64_) || defined(__aarch64__)
- __asm__ __volatile__ (
- "msr fpcr, %0\n\t" : : "r"(0LL /* INITIAL_FPSCR */));
-#else
#ifdef __GNUC__
__asm__ ("fninit");
#else /* msvc: */
__asm fninit;
#endif
-#endif
}
#ifdef __GNUC__
--
2.48.1
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public