[Mingw-w64-public] [PATCH] crt: Add an ldexpl function for arm and arm64
Since long double just is normal double on arm and arm64, just call the normal ldexp function. Signed-off-by: Martin Storsjö--- mingw-w64-crt/Makefile.am | 3 ++- mingw-w64-crt/math/arm/ldexpl.c | 16 mingw-w64-crt/math/arm64/ldexpl.c | 16 3 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 mingw-w64-crt/math/arm/ldexpl.c create mode 100644 mingw-w64-crt/math/arm64/ldexpl.c diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am index 6812a5e..7d6c395 100644 --- a/mingw-w64-crt/Makefile.am +++ b/mingw-w64-crt/Makefile.am @@ -390,13 +390,14 @@ src_libmingwexarm32+=\ math/softmath/sinf.c math/softmath/sinl.c math/softmath/tanf.c math/softmath/tanl.c else src_libmingwexarm32+=\ - math/arm/exp2.c math/arm/log2.c math/arm/scalbn.c math/arm/sincos.c + math/arm/exp2.c math/arm/ldexpl.c math/arm/log2.c math/arm/scalbn.c math/arm/sincos.c endif # these only go into the ARM64 version: src_libmingwexarm64=\ math/arm64/_chgsignl.Smath/arm64/ceil.S math/arm64/ceilf.S math/arm64/ceill.Smath/arm64/copysignl.c\ math/arm64/exp2.S math/arm64/exp2f.Smath/arm64/floor.S math/arm64/floorf.S math/arm64/floorl.S \ + math/arm64/ldexpl.c \ math/arm64/log2.c math/arm64/nearbyint.Smath/arm64/nearbyintf.S math/arm64/nearbyintl.S math/arm64/scalbn.c \ math/arm64/sincos.c math/arm64/trunc.Smath/arm64/truncf.S diff --git a/mingw-w64-crt/math/arm/ldexpl.c b/mingw-w64-crt/math/arm/ldexpl.c new file mode 100644 index 000..cdccb7f --- /dev/null +++ b/mingw-w64-crt/math/arm/ldexpl.c @@ -0,0 +1,16 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ + +#include + +long double ldexpl(long double x, int n) +{ +#if defined(__arm__) || defined(_ARM_) +return ldexp(x, exp); +#else +#error Not supported on your platform yet +#endif +} diff --git a/mingw-w64-crt/math/arm64/ldexpl.c b/mingw-w64-crt/math/arm64/ldexpl.c new file mode 100644 index 000..8f37d8e --- /dev/null +++ b/mingw-w64-crt/math/arm64/ldexpl.c @@ -0,0 +1,16 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ + +#include + +long double ldexpl(long double x, int n) +{ +#if defined(__aarch64__) || defined(_ARM64_) +return ldexp(x, exp); +#else +#error Not supported on your platform yet +#endif +} -- 2.7.4 -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH] crt: Share winscard.def between lib64 and libarm32
For lib64, this only adds a few new functions. Also provide it for arm64. Signed-off-by: Martin Storsjö--- .../{libarm32 => lib-common}/winscard.def | 6 +- mingw-w64-crt/lib64/winscard.def | 75 -- mingw-w64-crt/libarm64/Makefile.am | 1 + 3 files changed, 4 insertions(+), 78 deletions(-) rename mingw-w64-crt/{libarm32 => lib-common}/winscard.def (96%) delete mode 100644 mingw-w64-crt/lib64/winscard.def diff --git a/mingw-w64-crt/libarm32/winscard.def b/mingw-w64-crt/lib-common/winscard.def similarity index 96% rename from mingw-w64-crt/libarm32/winscard.def rename to mingw-w64-crt/lib-common/winscard.def index 92c13b9..cdc4b4e 100644 --- a/mingw-w64-crt/libarm32/winscard.def +++ b/mingw-w64-crt/lib-common/winscard.def @@ -79,6 +79,6 @@ SCardStatusW SCardTransmit SCardWriteCacheA SCardWriteCacheW -g_rgSCardRawPci -g_rgSCardT0Pci -g_rgSCardT1Pci +g_rgSCardRawPci DATA +g_rgSCardT0Pci DATA +g_rgSCardT1Pci DATA diff --git a/mingw-w64-crt/lib64/winscard.def b/mingw-w64-crt/lib64/winscard.def deleted file mode 100644 index 094814a..000 diff --git a/mingw-w64-crt/libarm64/Makefile.am b/mingw-w64-crt/libarm64/Makefile.am index 0d4a2ea..f899582 100644 --- a/mingw-w64-crt/libarm64/Makefile.am +++ b/mingw-w64-crt/libarm64/Makefile.am @@ -271,6 +271,7 @@ libarm64_DATA += %reldir%/libwinhttp.a libarm64_DATA += %reldir%/libwininet.a libarm64_DATA += %reldir%/libwinmm.a libarm64_DATA += %reldir%/libwinrnr.a +libarm64_DATA += %reldir%/libwinscard.a libarm64_DATA += %reldir%/libwinspool.a libarm64_DATA += %reldir%/libwinsrv.a libarm64_DATA += %reldir%/libwinusb.a -- 2.7.4 -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH] headers: Remove an empty dxgi1_6.h
Ok. Pease go ahead- Thanks, Kai 2017-12-15 22:30 GMT+01:00 Martin Storsjö: > This was added at the same time as a bunch of non-empty headers > (and a non-empty dxgi1_6.idl) in aa6ab47929a9cac6897f38e630ce0bb88458e288; > this empty header seems to have been the result of an error. > > Signed-off-by: Martin Storsjö > --- > mingw-w64-headers/direct-x/include/dxgi1_6.h | 0 > 1 file changed, 0 insertions(+), 0 deletions(-) > delete mode 100644 mingw-w64-headers/direct-x/include/dxgi1_6.h > > diff --git a/mingw-w64-headers/direct-x/include/dxgi1_6.h > b/mingw-w64-headers/direct-x/include/dxgi1_6.h > deleted file mode 100644 > index e69de29..000 > -- > 2.7.4 > > > -- > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > ___ > Mingw-w64-public mailing list > Mingw-w64-public@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/mingw-w64-public -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] Compile failure due to GCC builtin
Hello, While attempting to compile the CRT according to the instructions on sourceforge [1], I ran into a compile error: In file included from /usr/local/lib/gcc/i386-w64-mingw32/8.0.0/include/x86intrin.h:74, from /usr/local/i386-w64-mingw32/include/intrin.h:73, from ../intrincs/rdtsc.c:7: /usr/local/lib/gcc/i386-w64-mingw32/8.0.0/include/xsaveintrin.h:60:1: error: conflicting types for ‘_xgetbv’ _xgetbv (unsigned int __A) ^~~ In file included from /usr/local/i386-w64-mingw32/include/intrin.h:41, from ../intrincs/rdtsc.c:7: /usr/local/i386-w64-mingw32/include/psdk_inc/intrin-impl.h:1784:18: note: previous definition of ‘_xgetbv’ was here unsigned __int64 _xgetbv(unsigned int index) ^~~ The problem seems to be that mingw's intrin-impl.h defines _xgetbv, which is included in recent gcc. Since gcc doesn't provide __has_builtin, we redefine this type. I don't know what the usual method of dealing with this is, if there is one. Could someone illuminate me as to the correct way to fix this? Alternatively, is there something wrong with my build setup? [1] https://sourceforge.net/p/mingw-w64/mailman/mingw-w64-public/?viewmonth=201704 -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public