Hi, here're 2 patches that remove libdelayimp.a and liblargeint.a, which are not
only empty, but also nearly never used. It's worth noting that libdelayimp.a is
actually irrelevant to the "delay loading" feature, instead, this is provided by
delayimp.c, which is linked into libmingwex.a.
From 741436ba7e17bf7df0401b301892c998bd532a2e Mon Sep 17 00:00:00 2001
From: Zhongteng Gui <[email protected]>
Date: Sun, 30 Aug 2026 02:28:09 +0800
Subject: [PATCH 1/2] crt: Remove empty library libdelayimp.a

This library has no source, and searching GitHub show no real users.

Signed-off-by: Zhongteng Gui <[email protected]>
---
 mingw-w64-crt/Makefile.am | 12 ------------
 1 file changed, 12 deletions(-)

diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am
index de68408be..5d3865c1c 100644
--- a/mingw-w64-crt/Makefile.am
+++ b/mingw-w64-crt/Makefile.am
@@ -1630,9 +1630,6 @@ lib32_libdloadhelper_a_SOURCES = $(src_libdloadhelper)
 lib32_libdloadhelper_a_CPPFLAGS=$(CPPFLAGS32) $(sysincludes)
 
 if !W32API
-lib32_LIBRARIES += lib32/libdelayimp.a
-lib32_libdelayimp_a_SOURCES =
-
 lib32_LIBRARIES += lib32/libm.a
 nodist_lib32_libm_a_SOURCES = $(src_libm)
 lib32_libm_a_CPPFLAGS=$(CPPFLAGS32) $(sysincludes)
@@ -2053,9 +2050,6 @@ lib64_libdloadhelper_a_SOURCES = $(src_libdloadhelper)
 lib64_libdloadhelper_a_CPPFLAGS=$(CPPFLAGS64) $(sysincludes)
 
 if !W32API
-lib64_LIBRARIES += lib64/libdelayimp.a
-lib64_libdelayimp_a_SOURCES =
-
 lib64_LIBRARIES += lib64/libm.a
 nodist_lib64_libm_a_SOURCES = $(src_libm)
 lib64_libm_a_CPPFLAGS=$(CPPFLAGS64) $(sysincludes)
@@ -2426,9 +2420,6 @@ libarm32_libdloadhelper_a_SOURCES = $(src_libdloadhelper)
 libarm32_libdloadhelper_a_CPPFLAGS=$(CPPFLAGSARM32) $(sysincludes)
 
 if !W32API
-libarm32_LIBRARIES += libarm32/libdelayimp.a
-libarm32_libdelayimp_a_SOURCES =
-
 libarm32_LIBRARIES += libarm32/libm.a
 nodist_libarm32_libm_a_SOURCES = $(src_libm)
 libarm32_libm_a_CPPFLAGS=$(CPPFLAGSARM32) $(sysincludes)
@@ -2785,9 +2776,6 @@ libarm64_libdloadhelper_a_SOURCES = $(src_libdloadhelper)
 libarm64_libdloadhelper_a_CPPFLAGS=$(CPPFLAGSARM64) $(sysincludes)
 
 if !W32API
-libarm64_LIBRARIES += libarm64/libdelayimp.a
-libarm64_libdelayimp_a_SOURCES =
-
 libarm64_LIBRARIES += libarm64/libm.a
 nodist_libarm64_libm_a_SOURCES = $(src_libm)
 libarm64_libm_a_CPPFLAGS=$(CPPFLAGSARM64) $(sysincludes)
-- 
2.55.0.windows.5

From b2daddb374e51d4a6fe63df3de71793c695a43b0 Mon Sep 17 00:00:00 2001
From: Zhongteng Gui <[email protected]>
Date: Sun, 30 Aug 2026 02:29:56 +0800
Subject: [PATCH 2/2] crt: Remove empty library liblargeint.a

largeint.c has been fully commented out since imported, and searching
GitHub show no real users.

Signed-off-by: Zhongteng Gui <[email protected]>
---
 mingw-w64-crt/Makefile.am       |  17 -----
 mingw-w64-crt/libsrc/largeint.c | 121 --------------------------------
 2 files changed, 138 deletions(-)
 delete mode 100644 mingw-w64-crt/libsrc/largeint.c

diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am
index 5d3865c1c..12c7d3df4 100644
--- a/mingw-w64-crt/Makefile.am
+++ b/mingw-w64-crt/Makefile.am
@@ -112,7 +112,6 @@ src_libwindowscodecs=libsrc/windowscodecs.c
 src_libdxguid=libsrc/dxguid.c
 src_libksuser=libsrc/ksuser.c
 src_libksguid=libsrc/ksuser.c
-src_liblargeint=libsrc/largeint.c
 src_liblocationapi=libsrc/locationapi.c
 src_libsapi=libsrc/sapi.c
 src_libsensorsapi=libsrc/sensorsapi.c
@@ -1641,10 +1640,6 @@ lib32_libgmon_a_SOURCES = profile/mcount.c \
   profile/mcountFunc.S
 lib32_libgmon_a_CPPFLAGS=$(CPPFLAGS32) $(sysincludes)
 
-lib32_LIBRARIES += lib32/liblargeint.a
-lib32_liblargeint_a_SOURCES = $(src_liblargeint)
-lib32_liblargeint_a_CPPFLAGS=$(CPPFLAGS32) $(sysincludes)
-
 lib32_LIBRARIES += lib32/libmingw32.a
 lib32_libmingw32_a_CPPFLAGS=$(CPPFLAGS32) -D_SYSCRT=1 $(extra_include)
 lib32_libmingw32_a_SOURCES = $(src_libmingw32) crt/CRT_fp10.c
@@ -2061,10 +2056,6 @@ lib64_libgmon_a_SOURCES = profile/mcount.c \
   profile/mcountFunc.S
 lib64_libgmon_a_CPPFLAGS=$(CPPFLAGS64) $(sysincludes)
 
-lib64_LIBRARIES += lib64/liblargeint.a
-lib64_liblargeint_a_SOURCES = $(src_liblargeint)
-lib64_liblargeint_a_CPPFLAGS=$(CPPFLAGS64) $(sysincludes)
-
 lib64_LIBRARIES += lib64/libmingw32.a
 lib64_libmingw32_a_CPPFLAGS=$(CPPFLAGS64) -D_SYSCRT=1 $(extra_include)
 lib64_libmingw32_a_SOURCES = $(src_libmingw32) crt/CRT_fp10.c
@@ -2431,10 +2422,6 @@ libarm32_libm_a_CPPFLAGS=$(CPPFLAGSARM32) $(sysincludes)
 #  profile/mcountFunc.S
 #libarm32_libgmon_a_CPPFLAGS=$(CPPFLAGSARM32) $(sysincludes)
 
-libarm32_LIBRARIES += libarm32/liblargeint.a
-libarm32_liblargeint_a_SOURCES = $(src_liblargeint)
-libarm32_liblargeint_a_CPPFLAGS=$(CPPFLAGSARM32) $(sysincludes)
-
 libarm32_LIBRARIES += libarm32/libmingw32.a
 libarm32_libmingw32_a_CPPFLAGS=$(CPPFLAGSARM32) -D_SYSCRT=1 $(extra_include)
 libarm32_libmingw32_a_SOURCES = $(src_libmingw32)
@@ -2787,10 +2774,6 @@ libarm64_libm_a_CPPFLAGS=$(CPPFLAGSARM64) $(sysincludes)
 #  profile/mcountFunc.S
 #libarm64_libgmon_a_CPPFLAGS=$(CPPFLAGSARM64) $(sysincludes)
 
-libarm64_LIBRARIES += libarm64/liblargeint.a
-libarm64_liblargeint_a_SOURCES = $(src_liblargeint)
-libarm64_liblargeint_a_CPPFLAGS=$(CPPFLAGSARM64) $(sysincludes)
-
 libarm64_LIBRARIES += libarm64/libmingw32.a
 libarm64_libmingw32_a_CPPFLAGS=$(CPPFLAGSARM64) -D_SYSCRT=1 $(extra_include)
 libarm64_libmingw32_a_SOURCES = $(src_libmingw32)
diff --git a/mingw-w64-crt/libsrc/largeint.c b/mingw-w64-crt/libsrc/largeint.c
deleted file mode 100644
index 0bd4264a0..000000000
--- a/mingw-w64-crt/libsrc/largeint.c
+++ /dev/null
@@ -1,121 +0,0 @@
-#if 0
-/*
-  largeint.c
-
-  Large (64 bits) integer arithmetics library
-
-  Written by Anders Norlander <[email protected]>
-
-  This file is part of a free library for the Win32 API.
-  
-  This library is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-*/
-
-#define __COMPILING_LARGEINT
-
-#include <largeint.h>
-
-__int64 WINAPI
-LargeIntegerAdd (__int64 i1, __int64 i2)
-{
-  return i1 + i2;
-}
-
-__int64 WINAPI
-LargeIntegerSubtract (__int64 i1, __int64 i2)
-{
-  return i1 - i2;
-}
-
-__int64 WINAPI
-LargeIntegerArithmeticShift (__int64 i, int n)
-{
-  return i >> n;
-}
-
-__int64 WINAPI
-LargeIntegerShiftLeft (__int64 i, int n)
-{
-  return i << n;
-}
-
-__int64 WINAPI
-LargeIntegerShiftRight (__int64 i, int n)
-{
-  return i >> n;
-}
-
-__int64 WINAPI
-LargeIntegerNegate (__int64 i)
-{
-  return -i;
-}
-
-__int64 WINAPI
-ConvertLongToLargeInteger (LONG l)
-{
-  return (__int64) l;
-}
-
-__int64 WINAPI
-ConvertUlongToLargeInteger (ULONG ul)
-{
-  return _toi(_toui(ul));
-}
-
-__int64 WINAPI
-EnlargedIntegerMultiply (LONG l1, LONG l2)
-{
-  return _toi(l1) * _toi(l2);
-}
-
-__int64 WINAPI
-EnlargedUnsignedMultiply (ULONG ul1, ULONG ul2)
-{
-  return _toi(_toui(ul1) * _toui(ul2));
-}
-
-__int64 WINAPI
-ExtendedIntegerMultiply (__int64 i, LONG l)
-{
-  return i * _toi(l);
-}
-
-__int64 WINAPI
-LargeIntegerMultiply (__int64 i1, __int64 i2)
-{
-  return i1 * i2;
-}
-
-__int64 WINAPI LargeIntegerDivide (__int64 i1, __int64 i2, __int64 *remainder)
-{
-  if (remainder)
-    *remainder = i1 % i2;
-  return i1 / i2;
-}
-
-ULONG WINAPI
-EnlargedUnsignedDivide (unsigned __int64 i1, ULONG i2, PULONG remainder)
-{
-  if (remainder)
-    *remainder = i1 % _toi(i2);
-  return i1 / _toi(i2);
-}
-__int64 WINAPI
-ExtendedLargeIntegerDivide (__int64 i1, ULONG i2, PULONG remainder)
-{
-  if (remainder)
-    *remainder = i1 % _toi(i2);
-  return i1 / _toi(i2);
-}
-
-/* FIXME: what is this function supposed to do? */
-__int64 WINAPI ExtendedMagicDivide (__int64 i1, __int64 i2, int n)
-{
-  return 0;
-}
-#endif
-
-- 
2.55.0.windows.5

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

Reply via email to