[Mingw-w64-public] [PATCH] Add a dlltool machine flag for targeting arm
The GNU binutils dlltool doesn't actually support this target, but llvm-dlltool does. --- mingw-w64-crt/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am index 8b6df25..83dbdf6 100644 --- a/mingw-w64-crt/Makefile.am +++ b/mingw-w64-crt/Makefile.am @@ -35,7 +35,7 @@ if WITH_GENLIB DTDEF64=$(GENLIB) $(DLLTOOLFLAGS64) $(AM_DLLTOOLFLAGS) else AM_DLLTOOLFLAGS=-k --as=$(AS) --output-lib $@ - DLLTOOLFLAGSARM32= + DLLTOOLFLAGSARM32=-m arm DLLTOOLFLAGS32=--as-flags=--32 -m i386 DLLTOOLFLAGS64=--as-flags=--64 -m i386:x86-64 DTDEFARM32=$(DLLTOOL) $(DLLTOOLFLAGSARM32) $(AM_DLLTOOLFLAGS) --input-def -- 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] Add the sincos* functions on arm, calling into sin/cos separately
On arm (unless --enable-experimental=softmath is set), we pass sin/cos function calls straight through to msvcrt. We normally provide implementations of the sincos family of functions, that provide both return values at once. Provide implementations of these functions that simply call the sin/cos functions. --- mingw-w64-crt/Makefile.am | 2 +- mingw-w64-crt/math/arm/sincos.c | 29 + 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 mingw-w64-crt/math/arm/sincos.c diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am index 83dbdf6..549b4a9 100644 --- a/mingw-w64-crt/Makefile.am +++ b/mingw-w64-crt/Makefile.am @@ -351,7 +351,7 @@ 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/exp2.c math/arm/log2.c math/arm/scalbn.c math/arm/sincos.c endif diff --git a/mingw-w64-crt/math/arm/sincos.c b/mingw-w64-crt/math/arm/sincos.c new file mode 100644 index 000..3bb86ee --- /dev/null +++ b/mingw-w64-crt/math/arm/sincos.c @@ -0,0 +1,29 @@ +/** + * 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 + +void sincos (double __x, double *p_sin, double *p_cos) +{ + *p_sin = sin(__x); + *p_cos = cos(__x); +} + +void sincosf (float __x, float *p_sin, float *p_cos) +{ + *p_sin = sinf(__x); + *p_cos = cosf(__x); +} + +void sincosl (long double __x, long double *p_sin, long double *p_cos) +{ +#if defined(__arm__) || defined(_ARM_) + *p_sin = sin(__x); + *p_cos = cos(__x); +#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
Re: [Mingw-w64-public] Difference between libpthread.a and libwinpthread.a?
Mike H 2017-07-22 09:23: I downloaded the official installer for Mingw-w64 and then choose posix and x64, and then it doiwnloaed the gcc 7.1.0 toolchain. So I'm sure it's the official files. Exceptions model is 'sjlj' or 'seh'? -- Regards, niXman ___ Dual-target(32 & 64-bit) MinGW-W64 compilers for 32 and 64-bit Windows: https://sf.net/p/mingw-w64/ -- 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] Difference between libpthread.a and libwinpthread.a?
Mike H 2017-07-22 09:23: Hello! Hi, I'm a fan of mingw-w64. But there is one thing I don't understand. What's the difference between libpthread.a and libwinpthread.a? The size of those files are different. Libpthread.a is bigger. I downloaded the official installer for Mingw-w64 and then choose posix and x64, and then it doiwnloaed the gcc 7.1.0 toolchain. So I'm sure it's the official files. I also opened those files with a hex editor, and found that in libthread.a there are several names of c-files, like mutex.c and nanosleep.c. But not in libwinthread.a. Please choose the full path for this files. -- Regards, niXman ___ Dual-target(32 & 64-bit) MinGW-W64 compilers for 32 and 64-bit Windows: https://sf.net/p/mingw-w64/ -- 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