On Thursday 03 September 2026 03:18:58 Zhongteng Gui wrote:
> On 2026/09/03 02:26, Pali Rohár wrote:
> > liblargeint.a is also for MSVC compatibility. Older versions provided
> > static largeint.lib library which applications could statically link.
> 
> Do we really need to provide this type of "compatiblity"?

Probably not. I'm writing it just for the context.

> Searching GitHub for "-llargeint" [1] matches only 10 code snippet, which I
> think is rare enough for us to no longer provide it. Searching for
> "liblargeint.a" [2] matches 0 real usage. For other potential usage of it 
> (e.g.
> largeint.lib), they always have to be patched before use, and there's little
> difference between patching 'largeint.lib' to '-llargeint' or simply removing 
> it.

Zero usage of "liblargeint.a" is not a surprise. gcc/ld needs "-llargeint"
syntax.

> The similar logic also applies to libdelayimp.a, though this is a little more
> complicated (or confusing), because people may expect this is required if they
> want to use "delay import", which is a relatively new feature compared to
> largeint.

Apparently not. Both largeint.lib and delayimp.lib were introduced in
same version: Visual C++ 6.0. And so it is not a "new feature" but rather
very old feature.

> And indeed there're more usage of `-ldelayimp` on GitHub (~200),
> though many of them seemes to be intended for MSVC (either explicitly 
> specifies
> "NOT VCPKG_TARGET_IS_MINGW", or used with "/DELAYLOAD:", or searching from
> Windows Kits explicitly.)
> 
> [1]: https://github.com/search?q=-llargeint&type=code
> [2]: https://github.com/search?q=liblargeint.a&type=code

I'm not opposing the change, I just wanted to write information about it
for completeness. It could be useful to have and to know such thing why
such lib existed there.

The more important is that the-now-removed mingw-w64 liblargeint.a
is/was broken. This library did not provide required functions symbols
for largeint support and also no other mingw-w64 provides them. Reason
was that all function symbols were commented and also the header file
was missing.

So from my point of view: It makes sense to remove broken largeint
support if nobody is going to fix it (which is obvious as there is
mostly no user of it).

The delayimp is different. mingw-w64 provides delayimp symbols, just
they are in other library which is automatically linked to every binary.
So mingw-w64 has delayimp support and I mostly do not see a reason for
removing it (as there is probably zero maintenance for its "empty"
library).


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

Reply via email to