On Fri, 22 Oct 2021, Jeremy Drake wrote:
On Fri, 22 Oct 2021, Martin Storsjö wrote:
On Thu, 21 Oct 2021, Jeremy Drake via Mingw-w64-public wrote:
There was a version already present as libquery.a for a couple of
arches, but the Windows SDK provides identical libquery.a and
libntquery.a, and the DLL on Windows 10 20H2 and 21H1 has much
fewer exports than the pre-existing def file.
Pushed, thanks!
I get these warnings linking to the 32-bit version of `-lntquery`:
ld.lld: warning: Resolving _BindIFilterFromStream@12 by linking to
_BindIFilterFromStream
ld.lld: warning: Resolving _BindIFilterFromStorage@12 by linking to
_BindIFilterFromStorage
ld.lld: warning: Resolving _LoadIFilter@12 by linking to _LoadIFilter
Comparing libquery.a to libntquery.a shows the latter is missing the
stdcall decorations. Perhaps the #include trick didn't go so well, and
it'd be better to just copy the def file (at least for lib32)?
Hmm, yes, it seems so... When making lib32/libntquery.a, it involves two
implicit pattern rules (.def.in to .def, then .def to .a) - I would expect
make to choose among them according to which pattern is declared first
(which should prefer the one from lib32 over the one from lib-common). But
iirc make might use a rule to pick according to which pattern match is the
most specific, and for that, it's a tie.
So yeah, duplicating that one into ntquery.def seems to fix it. I wonder
if it'd be good to do the same for lib-common too, for consistency?
// Martin
_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public