aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2015-04-08 18:10:32 +0300
committerEli Zaretskii <eliz@gnu.org>2015-04-08 18:10:32 +0300
commit66dc805f570bc8c5db0f0d9a14c9a3316e428991 (patch)
tree2b1bb4babf76f1692d1cef294f6beda1ab2164ce
parentbe4a972c63893bbe250d681191e20b7ea3b31c9c (diff)
downloadegawk-66dc805f570bc8c5db0f0d9a14c9a3316e428991.tar.gz
egawk-66dc805f570bc8c5db0f0d9a14c9a3316e428991.tar.bz2
egawk-66dc805f570bc8c5db0f0d9a14c9a3316e428991.zip
Avoid dependency on libgcc DLL in the extensions.
-rw-r--r--pc/ChangeLog7
-rw-r--r--pc/Makefile.ext10
2 files changed, 12 insertions, 5 deletions
diff --git a/pc/ChangeLog b/pc/ChangeLog
index 600c49a1..812c7430 100644
--- a/pc/ChangeLog
+++ b/pc/ChangeLog
@@ -1,5 +1,12 @@
2015-04-08 Eli Zaretskii <eliz@gnu.org>
+ * Makefile.ext (fnmatch.$(SOEXT), readdir.$(SOEXT), rwarray.$(SOEXT))
+ (filefuncs.$(SOEXT), time.$(SOEXT), $(SIMPLE_EXTENSIONS)): Use
+ -static-libgcc, to avoid run-time dependency on libgcc DLL. This
+ makes the extensions independent of non-system DLLs, and also
+ prevents an abort at exit due to a known upstream bug in
+ libgcc_s_dw2-1.dll.
+
* Makefile.tst (mpfrmemok1): Use -p- instead of -p/dev/stdout, for
more portability.
diff --git a/pc/Makefile.ext b/pc/Makefile.ext
index 8971014b..12723436 100644
--- a/pc/Makefile.ext
+++ b/pc/Makefile.ext
@@ -32,19 +32,19 @@ ALL_EXTENSIONS = filefuncs.$(SOEXT) fnmatch.$(SOEXT) inplace.$(SOEXT)\
extensions: $(ALL_EXTENSIONS)
fnmatch.$(SOEXT): fnmatch.c
- gcc -I.. -I../missing_d -DHAVE_FNMATCH_H -shared -gdwarf-2 -g3 -o $@ fnmatch.c
+ gcc -I.. -I../missing_d -DHAVE_FNMATCH_H -shared -gdwarf-2 -g3 -static-libgcc -o $@ fnmatch.c
readdir.$(SOEXT): readdir.c gawkdirfd.h
- gcc -I.. -DHAVE_DIRENT_H -shared -gdwarf-2 -g3 -o $@ readdir.c
+ gcc -I.. -DHAVE_DIRENT_H -shared -gdwarf-2 -g3 -static-libgcc -o $@ readdir.c
rwarray.$(SOEXT): rwarray.c
- gcc -I.. -shared -gdwarf-2 -g3 -o $@ rwarray.c -lws2_32
+ gcc -I.. -shared -gdwarf-2 -g3 -static-libgcc -o $@ rwarray.c -lws2_32
filefuncs.$(SOEXT): filefuncs.c stack.c stack.h gawkfts.h
- gcc -I.. -shared -gdwarf-2 -g3 -o $@ filefuncs.c stack.c
+ gcc -I.. -shared -gdwarf-2 -g3 -static-libgcc -o $@ filefuncs.c stack.c
time.$(SOEXT): time.c
- gcc -DHAVE_GETSYSTEMTIMEASFILETIME -I.. -shared -gdwarf-2 -g3 -o $@ time.c
+ gcc -DHAVE_GETSYSTEMTIMEASFILETIME -I.. -shared -gdwarf-2 -g3 -static-libgcc -o $@ time.c
$(SIMPLE_EXTENSIONS):
gcc -I.. -shared -gdwarf-2 -g3 -o $@ $(@:.$(SOEXT)=.c)