On Mon, 29 Dec 2025, Kirill Makurin wrote:
A few days ago I asked Pali about msvcrt.def.in in lib-common and why we do
not use similar approach for all versioned CRTs, such as msvcr120.dll.
My point was that for each CRT we have up to four .def.in files, one in each
of lib32, lib64, libarm32 and libarm64. Also, there are as many def.in files
for debug version of CRT, which make up to total of eight def.in files for
each CRT. This makes it really bothersome to modify so many files when we
need to replace some function in some or all CRTs.
Another point was that list of symbols exported from such versioned CRTs is
not going to change anymore, and list of exported symbols should be
well-known. This should make it relatively easy to perform de-duplication
and they will not require much maintenance afterwards.
So, I wanted to suggest we do de-duplication of def.in files for versioned
CRTs, similar to what Pali had suggested here.
I wouldn't mind deduplicating those CRT def files, as we've already done
that for msvcrt.def. (Note that most CRT def files only have 2-3 copies.
For arm64 there's nothing older than ucrt, and the regular msvcrt.dll. For
arm32 there's the msvcr110 and msvcr120. So most ones are only for x86 and
x64, and old ones only for x86..)
But wholesale deduplicating all the winapi def files, making the 32 bit
x86 stdcall form the canonical def file content for all APIs is something
I'd like to avoid.
// Martin
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public