Re: [Mingw-w64-public] [PATCH] crt: Move get/put _nolock functions from libmingwex.a to libmvscr*.a

2021-07-14 Thread LIU Hao
在 2021-07-14 19:38, Martin Storsjö 写道: This avoids any risk of pulling in these when linking with UCRT. UCRT does provide these same functions, and the libmingwex.a implementation relies on symbols like _flsbuf which don't exist in UCRT. Signed-off-by: Martin Storsjö ---

Re: [Mingw-w64-public] [PATCH] crt: Fix printf formatting of %a on arm/aarch64 with __USE_MINGW_ANSI_STDIO

2021-07-14 Thread LIU Hao
在 2021-07-13 17:21, Martin Storsjö 写道: The mingw_pformat.c code converts all input floats to an 80 bit float representation and analyzes that struct when printing the float. This was already fixed in ceb4c4fd4b696e96bbe174ce4abc065d43e9ac87, but one case in was missed. Factorize the conversion

Re: [Mingw-w64-public] Patch WS2 Inline Functions

2021-07-14 Thread Jonathan Marler
Yes I double checked and it appears I'm able to take the address of these functions even when they are static. This means last patch I sent that uses __mingw_ovr should work fine. On Tue, Jul 13, 2021 at 11:52 PM Martin Storsjö wrote: > On Tue, 13 Jul 2021, Jonathan Marler wrote: > > > I think

Re: [Mingw-w64-public] clock_nanosleep(CLOCK_MONOTONIC ...

2021-07-14 Thread LIU Hao
在 2021-07-10 00:02, Burkhardt, Glenn B Collins via Mingw-w64-public 写道: I'm curious - why does the implementation of 'clock_nanosleep()' not work with CLOCK_MONOTONIC, while 'clock_gettime()' does? Is there anything preventing an implementation? I don't think there is. The reason is

Re: [Mingw-w64-public] [PATCH] headers: Implement the _bittest* intrinsics for arm and aarch64

2021-07-14 Thread Martin Storsjö
On Wed, 14 Jul 2021, LIU Hao wrote: 在 7/14/21 9:02 PM, Martin Storsjö 写道: +unsigned char _bittestandset(__LONG32 *__a, __LONG32 __b) +{ +unsigned char __v = (*__a >> __b) & 1; +*__a |= (1 << __b); I suggest `1UL` here, as shifting 1 to the left by 31 is undefined behavior. Thanks,

[Mingw-w64-public] [PATCH v2] headers: Implement the _bittest* intrinsics for arm and aarch64

2021-07-14 Thread Martin Storsjö
These are non-atomic versions corresponding to the existing _interlockedbittest* - therefore they're implemented as plain C instead of assembly. Additionally, there are plain intrinsics "_bittest" and "_bittest64", where there's no corresponding interlocked version. Signed-off-by: Martin Storsjö

Re: [Mingw-w64-public] [PATCH] crt: Fix printf formatting of %a on arm/aarch64 with __USE_MINGW_ANSI_STDIO

2021-07-14 Thread Martin Storsjö
On Thu, 15 Jul 2021, LIU Hao wrote: 在 2021-07-13 17:21, Martin Storsjö 写道: The mingw_pformat.c code converts all input floats to an 80 bit float representation and analyzes that struct when printing the float. This was already fixed in ceb4c4fd4b696e96bbe174ce4abc065d43e9ac87, but one case in

Re: [Mingw-w64-public] [PATCH] headers: Import propvarutil.h from wine

2021-07-14 Thread LIU Hao
在 2021-07-13 23:36, Biswapriyo Nath 写道: 0001-headers-Import-propvarutil.h-from-wine.patch From ad16f9d5f67e64860b09541a7f285e10434c4884 Mon Sep 17 00:00:00 2001 From: Biswapriyo Nath Date: Tue, 13 Jul 2021 21:03:36 +0530 Subject: [PATCH] headers: Import propvarutil.h from wine This reverts

[Mingw-w64-public] [PATCH] headers: Implement the _bittest* intrinsics for arm and aarch64

2021-07-14 Thread Martin Storsjö
These are non-atomic versions corresponding to the existing _interlockedbittest* - therefore they're implemented as plain C instead of assembly. Additionally, there are plain intrinsics "_bittest" and "_bittest64", where there's no corresponding interlocked version. Signed-off-by: Martin Storsjö

Re: [Mingw-w64-public] [PATCH] headers: Implement the _bittest* intrinsics for arm and aarch64

2021-07-14 Thread LIU Hao
在 7/14/21 9:02 PM, Martin Storsjö 写道: +unsigned char _bittestandset(__LONG32 *__a, __LONG32 __b) +{ +unsigned char __v = (*__a >> __b) & 1; +*__a |= (1 << __b); I suggest `1UL` here, as shifting 1 to the left by 31 is undefined behavior. +unsigned char _bittestandreset(__LONG32

[Mingw-w64-public] [PATCH] RFC: crt: Use intermediate libraries to build object files shared across all libmsvcr*.a and libucrt*.a

2021-07-14 Thread Martin Storsjö
This avoids compiling the object files that go into libmsvcrt*.a 10 times, and object files that go into libucrt*.a twice. This reduces the number of built object files for a build for i686 from 885 to 747, and shrinks the generate Makefile.in from 9.8 MB to 8.9 MB, by emitting per-object rules

[Mingw-w64-public] [PATCH] crt: Move get/put _nolock functions from libmingwex.a to libmvscr*.a

2021-07-14 Thread Martin Storsjö
This avoids any risk of pulling in these when linking with UCRT. UCRT does provide these same functions, and the libmingwex.a implementation relies on symbols like _flsbuf which don't exist in UCRT. Signed-off-by: Martin Storsjö --- mingw-w64-crt/Makefile.am | 8 ++-- 1 file changed, 6

Re: [Mingw-w64-public] [PATCH] crt: Move get/put _nolock functions from libmingwex.a to libmvscr*.a

2021-07-14 Thread Martin Storsjö
On Wed, 14 Jul 2021, Martin Storsjö wrote: This avoids any risk of pulling in these when linking with UCRT. UCRT does provide these same functions, and the libmingwex.a implementation relies on symbols like _flsbuf which don't exist in UCRT. Signed-off-by: Martin Storsjö ---

Re: [Mingw-w64-public] [PATCH] RFC: crt: Use intermediate libraries to build object files shared across all libmsvcr*.a and libucrt*.a

2021-07-14 Thread Martin Storsjö
On Wed, 14 Jul 2021, Martin Storsjö wrote: This avoids compiling the object files that go into libmsvcrt*.a 10 times, and object files that go into libucrt*.a twice. This reduces the number of built object files for a build for i686 from 885 to 747, and shrinks the generate Makefile.in from