On Thursday 22 August 2024 17:37:41 Jacek Caban wrote:
> 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.

Ok, thanks for info. So it should be ok now. I have not thought that
this is the real behavior.

> 
> 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