Re: [Mingw-w64-public] [PATCH] stdio: Convert from 64 bit doubles to 80 bit, on platforms that lack an 80 bit long double

2016-08-09 Thread Jim Michaels
isn't that some sort of IEEE-754 software floating point switch?


On 8/9/2016 3:46 AM, Martin Storsjö wrote:
> This fixes printf of floats/doubles with -D__USE_MINGW_ANSI_STDIO=1,
> on arm.
> ---
> Using __fpclassify instead of __fpclassifyl for the 64 bit long
> double case, as suggested by Kai.
> ---
>   mingw-w64-crt/stdio/mingw_pformat.c | 25 -
>   1 file changed, 24 insertions(+), 1 deletion(-)
>
> diff --git a/mingw-w64-crt/stdio/mingw_pformat.c 
> b/mingw-w64-crt/stdio/mingw_pformat.c
> index d193519..0438112 100644
> --- a/mingw-w64-crt/stdio/mingw_pformat.c
> +++ b/mingw-w64-crt/stdio/mingw_pformat.c
> @@ -,9 +,32 @@ char *__pformat_cvt( int mode, __pformat_fpreg_t x, 
> int nd, int *dp, int *sign )
> int k; unsigned int e = 0; char *ep;
> static FPI fpi = { 64, 1-16383-64+1, 32766-16383-64+1, FPI_Round_near, 0, 
> 14 /* Int_max */ };
>
> +  if( sizeof( double ) == sizeof( long double ) )
> +  {
> +/* The caller has written into x.__pformat_fpreg_ldouble_t, which
> + * actually isn't laid out in the way the rest of the union expects it.
> + */
> +int exp = (x.__pformat_fpreg_mantissa >> 52) & 0x7ff;
> +unsigned long long mant = x.__pformat_fpreg_mantissa & 
> 0x000fULL;
> +int integer = exp ? 1 : 0;
> +int signbit = x.__pformat_fpreg_mantissa >> 63;
> +
> +k = __fpclassify( x.__pformat_fpreg_double_t );
> +
> +if (exp == 0x7ff)
> +  exp = 0x7fff;
> +else if (exp != 0)
> +  exp = exp - 1023 + 16383;
> +x.__pformat_fpreg_mantissa = (mant << 11) | ((unsigned long long)integer 
> << 63);
> +x.__pformat_fpreg_exponent = exp | (signbit << 15);
> +  }
> +  else
> +k = __fpclassifyl( x.__pformat_fpreg_ldouble_t );
> +
> +
> /* Classify the argument into an appropriate `__gdtoa()' category...
>  */
> -  if( (k = __fpclassifyl( x.__pformat_fpreg_ldouble_t )) & FP_NAN )
> +  if( k & FP_NAN )
>   /*
>* identifying infinities or not-a-number...
>*/


--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. http://sdm.link/zohodev2dev
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] parallel make (make -j 4) and redirect problems

2016-08-09 Thread LRN
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 09.08.2016 10:57, Jim Michaels wrote:
> nmake is not compatible with mingw-w64's make which is not compatible
>  with gnu make.
If you're talking about i686-w64-mingw32-make.exe (or somesuch), then
that is actually GNU make, just compiled for Windows.

> 
> also, you should know that make -j n (parallel make) is not completely
>  viable yet because of the shells it needs to make just to output to 
> stdout when there is a redirection in a makefile which causes massive
>  strange compiler errors.

Can you post the error messages?
And `gcc` and `make` versions?
And maybe a small project (makefile + sources) that demonstrates the proble
m?


- -- 
O< ascii ribbon - stop html email! - www.asciiribbon.org
-BEGIN PGP SIGNATURE-
Version: GnuPG v2

iQIcBAEBCAAGBQJXqdF4AAoJEI2t6SdnWbp05NUP/j3aOl4NDUMdyI+RcbXfuxF+
Z7ipZD12zNpcOQYfebazE3FCN7QDlI2UKpNHXYrTlY0PO/McWff0NBkBevazHgAo
noHFoTGaMA8hzJIFtQEFH3KGsVWY5ZW0D82uNiHJNeiGX5T341qrNEgccUgV6Tx8
jG48cl2U6FStAwooJ+I0ezgei58wsVn7/DBUtNysAUsk2AYz1BcaWBgbbqyjRrbe
fXS9k4U3BiNrRiXlc0UsPY1+vCxZxkEGRyy69gWhJ60NWFXgQM6TI41BCFhflPUK
osRWzpz1/Zx0PFZtIkgokAfvut03DLLU9cq46/orIzUE3T2KTcjqB7/9AQ5QnBDU
dAQbfN3U/wVMfigCUqoTV1YKrZpa2MnWnd91EQSgcyvP24xr/jJECqN4js+CzP6a
xyD+QbErx5qAbz4R7ZJ09AYCgWCo+ytPqD2Jjvpn2CIT1peFzdwTTGlf/OoHXhUl
CQrhPEulzLagqoGBIGXnQlam6AjUVqXYmE3YcD4Pt9NmOpt+4UMnpCOkBGxlUb46
nON3xeY7q2YqLm7a4Q5dJ3+g8Pl6kCI4djWuluzLlttbTFEQAw6W7aIglXIMAk2i
RCB1rM0s3/Msas6AcAaQOXteGX5wmgiPoYAKI1/+bLkxsIoTxqBSiZt3HvmaD0hC
PudW2QiMkLj0c/fsaCnP
=d2uD
-END PGP SIGNATURE-
--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. http://sdm.link/zohodev2dev___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


[Mingw-w64-public] [PATCH] stdio: Convert from 64 bit doubles to 80 bit, on platforms that lack an 80 bit long double

2016-08-09 Thread Martin Storsjö
This fixes printf of floats/doubles with -D__USE_MINGW_ANSI_STDIO=1,
on arm.
---
Using __fpclassify instead of __fpclassifyl for the 64 bit long
double case, as suggested by Kai.
---
 mingw-w64-crt/stdio/mingw_pformat.c | 25 -
 1 file changed, 24 insertions(+), 1 deletion(-)

diff --git a/mingw-w64-crt/stdio/mingw_pformat.c 
b/mingw-w64-crt/stdio/mingw_pformat.c
index d193519..0438112 100644
--- a/mingw-w64-crt/stdio/mingw_pformat.c
+++ b/mingw-w64-crt/stdio/mingw_pformat.c
@@ -,9 +,32 @@ char *__pformat_cvt( int mode, __pformat_fpreg_t x, int 
nd, int *dp, int *sign )
   int k; unsigned int e = 0; char *ep;
   static FPI fpi = { 64, 1-16383-64+1, 32766-16383-64+1, FPI_Round_near, 0, 14 
/* Int_max */ };
  
+  if( sizeof( double ) == sizeof( long double ) )
+  {
+/* The caller has written into x.__pformat_fpreg_ldouble_t, which
+ * actually isn't laid out in the way the rest of the union expects it.
+ */
+int exp = (x.__pformat_fpreg_mantissa >> 52) & 0x7ff;
+unsigned long long mant = x.__pformat_fpreg_mantissa & 
0x000fULL;
+int integer = exp ? 1 : 0;
+int signbit = x.__pformat_fpreg_mantissa >> 63;
+
+k = __fpclassify( x.__pformat_fpreg_double_t );
+
+if (exp == 0x7ff)
+  exp = 0x7fff;
+else if (exp != 0)
+  exp = exp - 1023 + 16383;
+x.__pformat_fpreg_mantissa = (mant << 11) | ((unsigned long long)integer 
<< 63);
+x.__pformat_fpreg_exponent = exp | (signbit << 15);
+  }
+  else
+k = __fpclassifyl( x.__pformat_fpreg_ldouble_t );
+
+
   /* Classify the argument into an appropriate `__gdtoa()' category...
*/
-  if( (k = __fpclassifyl( x.__pformat_fpreg_ldouble_t )) & FP_NAN )
+  if( k & FP_NAN )
 /*
  * identifying infinities or not-a-number...
  */
-- 
2.7.4


--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. http://sdm.link/zohodev2dev
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] Patches

2016-08-09 Thread Kai Tietz
All patches are ok.  Please go ahead and apply.

Thanks,
Kai

2016-08-09 1:06 GMT+02:00 David Wohlferd :
> By request, I am re-sending 4 recent patches.  These fix a number of issues
> (see below).  I am hopeful that by using a different email account, SF won't
> EAT my attachments this time.
>
> Note that I am NOT including the recent warn1.patch (which fixes a whole
> bunch of other things), since there are still a few outstanding questions
> there.  I believe these are ready to be applied by someone with write access
> (and knowledge of git).
>
> dw
>
> --
>
> m9.patch  - Updates for
> v*scanf functions to remove multiple copies of buggy
> 
> inline asm and replace them with a single copy of pure asm.  Note that
> mingw-w64-crt/Makefile.am needs to be regenerated.
>
> spell1.patch  - Fix a
> number of typos in various header files.
>
> ext2.patch  - Fix macro
> pasting error and duplicate symbol names.
>
> urlmon1.patch  -
> Quoting Jacek: "As far as I can see we don't put such pragmas to any other
> header and it's useless until any of interesting compiler supports it. I'd
> say we should remove it from urlmon.idl." I agree.
>
>
> --
> What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
> patterns at an interface-level. Reveals which users, apps, and protocols are
> consuming the most bandwidth. Provides multi-vendor support for NetFlow,
> J-Flow, sFlow and other flows. Make informed decisions using capacity
> planning reports. http://sdm.link/zohodev2dev
> ___
> Mingw-w64-public mailing list
> Mingw-w64-public@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
>

--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. http://sdm.link/zohodev2dev
___
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 3/5] stdio: Convert from 64 bit doubles to 80 bit, on platforms that lack an 80 bit long double

2016-08-09 Thread Martin Storsjö

On Tue, 9 Aug 2016, Kai Tietz wrote:


Hi,

thank you for working on that.  I have just a few nits.

2016-08-08 15:24 GMT+02:00 Martin Storsjö :

This fixes printf of floats/doubles with -D__USE_MINGW_ANSI_STDIO=1,
on arm.
---
 mingw-w64-crt/stdio/mingw_pformat.c | 21 -
 1 file changed, 20 insertions(+), 1 deletion(-)

diff --git a/mingw-w64-crt/stdio/mingw_pformat.c 
b/mingw-w64-crt/stdio/mingw_pformat.c
index d193519..dc12856 100644
--- a/mingw-w64-crt/stdio/mingw_pformat.c
+++ b/mingw-w64-crt/stdio/mingw_pformat.c
@@ -,9 +,28 @@ char *__pformat_cvt( int mode, __pformat_fpreg_t x, int 
nd, int *dp, int *sign )
   int k; unsigned int e = 0; char *ep;
   static FPI fpi = { 64, 1-16383-64+1, 32766-16383-64+1, FPI_Round_near, 0, 14 
/* Int_max */ };

+  k = __fpclassifyl( x.__pformat_fpreg_ldouble_t );

why you moved this here?  I don't see any users ok k before its ok
place.  And shouldn't we use for sizeof(long double) == sizeof(double)
__fpclassify() instead?


I guess we could do that as well. I moved it here above the block, because 
after the added block, the native double form in the union has been 
clobbered (with the 80 bit float representation, which native float 
routines can't handle), so we need to do the __fpclassify(l) call before 
converting the double.


I guess it'd make sense to just use __fpclassify instead (although on arm, 
__fpclassifyl just calls __fpclassify).


I'll post a new patch with those changes, after retesting them.

// Martin--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. http://sdm.link/zohodev2dev___
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 5/5] RFC: arm: Avoid making __fsqrt_internal a global symbol

2016-08-09 Thread Kai Tietz
Hello,

thanks for your work.  Patch is ok.

Regards,
Kai

2016-08-08 15:24 GMT+02:00 Martin Storsjö :
> This fixes duplicate symbols if a calling app links in both e.g.
> sqrt and sqrtf.
> ---
> AFAIK, the .def is only there for debugging info - removing the
> .global doesn't seem to be enough to avoid the linker failures
> at least, but perhaps it can be made debug info for a static symbol
> in some other way?
> ---
>  mingw-w64-crt/math/sqrt.def.h | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/mingw-w64-crt/math/sqrt.def.h b/mingw-w64-crt/math/sqrt.def.h
> index 8e502ec..602409a 100644
> --- a/mingw-w64-crt/math/sqrt.def.h
> +++ b/mingw-w64-crt/math/sqrt.def.h
> @@ -50,10 +50,8 @@
>   * asm ("fsqrts %[dst], %[src];\n" : [dst] "=w" (res) : [src] "w" (x));
>   */
>  __FLT_TYPE __fsqrt_internal( __FLT_TYPE x );
> -asm(".def __fsqrt_internal; .scl 2; .type 32; .endef\n"
> -"\t.text\n"
> +asm("\t.text\n"
>  "\t.align 4\n"
> -"\t.globl __fsqrt_internal\n"
>  "__fsqrt_internal:\n"
>  #if _NEW_COMPLEX_FLOAT
>  "\t" "fsqrts s0, s0\n"
> --
> 2.7.4
>
>
> --
> ___
> Mingw-w64-public mailing list
> Mingw-w64-public@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. http://sdm.link/zohodev2dev
___
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] Handle __CTOR_LIST__ for clang

2016-08-09 Thread Kai Tietz
Hallo Martell,

patch is ok.  Wouldn't it be better to have those symbols in linker
scrpt instead?  That is actually the way used in ld for it.

Thanlks,
Kai

2016-08-06 5:14 GMT+02:00 Martell Malone :
> This patch should be the last piece of the puzzle.
> Now c++ works, it relied heavily on ctors which was broken with clang and
> lld.
>
> please review
>
> --
>
> ___
> Mingw-w64-public mailing list
> Mingw-w64-public@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
>

--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. http://sdm.link/zohodev2dev
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] CryptDlg.h?

2016-08-09 Thread Kai Tietz
Hello,

as there is already a version present in Wine, it shouldn't be hard to
build a variant for mingw-w64 for it.  Patches are welcome :)

Regards,
Kai


2016-08-05 5:31 GMT+02:00 Daniel Risacher :
> While trying to compile something, I find that MinGW-w64 cannot find
> CryptDlg.h. There is a version of this file in Wine & ReactOS; how
> hard is it to pull in to MinGW-w64?
>
> --
> ___
> Mingw-w64-public mailing list
> Mingw-w64-public@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. http://sdm.link/zohodev2dev
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] Query regarding new version

2016-08-09 Thread Kai Tietz
Hi,

any 64-bit version supports that.  This flag is set mandatory for this target.

Regards,
Kai

PS: 32-bit version support that flag too.  See ld tool's help for further hints.

2016-08-03 9:05 GMT+02:00 Dattathreya Hr :
> Hi all,
> Does this new version supports large-adress-aware for 64 bit applications.
>
> --
> Regards,
> Dattathreya
> --
> ___
> Mingw-w64-public mailing list
> Mingw-w64-public@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. http://sdm.link/zohodev2dev
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] DirectWrite additions

2016-08-09 Thread Kai Tietz
Hi Ruben,

patch looks fine to me.  As long as there are no objections (Jacek  do
you?), go ahead and apply.

Thanks,
Kai

2016-08-08 20:57 GMT+02:00 Ruben Van Boxem :
> Hi guys,
>
> it would be nice to keep up to date with new APIs that gain real world use,
> like this little patch:
> https://github.com/Alexpux/mingw-w64/pull/1/commits/6c0efe37b32510f72020e38726c7a84690a926fd
>
> Which is now needed for Qt 5.7 (and skia).
>
> I would also like to point out attached patch that adds various GUIDs
> missing I ran into when compiling skia.
>
> Cheers,
>
> Ruben
>
> --
> What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
> patterns at an interface-level. Reveals which users, apps, and protocols are
> consuming the most bandwidth. Provides multi-vendor support for NetFlow,
> J-Flow, sFlow and other flows. Make informed decisions using capacity
> planning reports. http://sdm.link/zohodev2dev
> ___
> Mingw-w64-public mailing list
> Mingw-w64-public@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
>

--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. http://sdm.link/zohodev2dev
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public