On 22.08.2024 17:08, Pali Rohár wrote:
On Thursday 22 August 2024 18:05:17 Martin Storsjö wrote:
On Thu, 22 Aug 2024, Pali Rohár wrote:

On Thursday 22 August 2024 13:24:32 Martin Storsjö wrote:
This reverts parts of 52c98b1273a61b7a3e1fc93142fa4b5e4c3ee5ab.

While powf indeed is available in UCRT on i386 too, it's missing
in Wine's i386 ucrtbase.dll (as of Wine 9.15). This probably stems
from the same mistake originally. (Most of the float math functions,
suffixed with -f, are unavailable in the i386 UCRT, but powf is
available.)

Thus, to allow built executables to run on current Wine versions,
avoid linking against this function, as a temporary workaround.

After a grace period, to let fixed versions of Wine become more
widely available, we can revert this, to link against powf
on i386 too.
Ok.

At that point, we can stop including math/powf.c in src_ucrtbase32
in Makefile.am too.

Signed-off-by: Martin Storsjö <[email protected]>
---
A fix for Wine was submitted in
https://gitlab.winehq.org/wine/wine/-/merge_requests/6336.
Looks like that this change does not contain fix for
api-ms-win-crt-math-l1-1-0 library.
The APIset DLLs aren't physicsl DLLs in Wine any longer, so there's no
symbol list for api-ms-win-crt-math-l1-1-0, that whole virtual DLL just
forwards to ucrtbase. (The same pretty much goes on actual Windows too -
there are no physical api-ms-win-*.dll on modern Windows.)

// Martin
But Is not somewhere a list of symbols which are allowed for forwarding
to ucrtbase? Or it means that I can link application to some non-math
api-ms-crt-* lib and can expect that it will forward also math symbols?


It's the latter, if you'd link for math symbols to non-math crt apiset it will work. In theory, you'd risk forward compatibility, but I don't think that's a real risk in practice.


The list of symbols exists in form of import libraries (in MSVC and mingw-w64, Wine doesn't use that for its own crt; that may change if it will be needed for something, but it wasn't the case so far), but it's not enforced at runtime.


Jacek



_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to