summaryrefslogtreecommitdiffstats
path: root/build-aux/speedo/patches/sqlite.patch
diff options
context:
space:
mode:
Diffstat (limited to 'build-aux/speedo/patches/sqlite.patch')
-rwxr-xr-xbuild-aux/speedo/patches/sqlite.patch42
1 files changed, 42 insertions, 0 deletions
diff --git a/build-aux/speedo/patches/sqlite.patch b/build-aux/speedo/patches/sqlite.patch
new file mode 100755
index 0000000..f81a414
--- /dev/null
+++ b/build-aux/speedo/patches/sqlite.patch
@@ -0,0 +1,42 @@
+#! /bin/sh
+grep static-libgcc Makefile.am >/dev/null && exit 0
+patch -p0 -l -f $* < $0
+exit $?
+
+Use -static-libgcc to avoid linking to libgcc_s_sjlj-1.dll.
+
+Since gcc 4.8 there is a regression in that plain C programs may link
+to libgcc_s.a which has a dependency on libgcc_s_sjlj.dll. This is
+for example triggered by using long long arithmetic on a 32 bit
+Windows (e.g symbol __udivdi3).
+
+As usual the gcc maintainers don't care about backward compatibility
+and declare that as some kind of compatibility fix and not as
+regression from 4.7 and all earlier versions.
+
+Note that we ignore this patch if it seems to be already applied
+upstream.
+
+--- Makefile.am~ 2016-04-18 20:56:32.000000000 +0200
++++ Makefile.am 2016-05-04 12:08:53.254035717 +0200
+@@ -3,7 +3,7 @@
+
+ lib_LTLIBRARIES = libsqlite3.la
+ libsqlite3_la_SOURCES = sqlite3.c
+-libsqlite3_la_LDFLAGS = -no-undefined -version-info 8:6:8
++libsqlite3_la_LDFLAGS = -XCClinker -static-libgcc -no-undefined -version-info 8:6:8
+
+ bin_PROGRAMS = sqlite3
+ sqlite3_SOURCES = shell.c sqlite3.h
+
+--- Makefile.in~ 2016-04-18 20:56:36.000000000 +0200
++++ Makefile.in 2016-05-04 12:13:36.570020590 +0200
+@@ -365,7 +365,7 @@
+ AM_CFLAGS = @THREADSAFE_FLAGS@ @DYNAMIC_EXTENSION_FLAGS@ @FTS5_FLAGS@ @JSON1_FLAGS@ -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_RTREE
+ lib_LTLIBRARIES = libsqlite3.la
+ libsqlite3_la_SOURCES = sqlite3.c
+-libsqlite3_la_LDFLAGS = -no-undefined -version-info 8:6:8
++libsqlite3_la_LDFLAGS = -XCClinker -static-libgcc -no-undefined -version-info 8:6:8
+ sqlite3_SOURCES = shell.c sqlite3.h
+ EXTRA_sqlite3_SOURCES = sqlite3.c
+ sqlite3_LDADD = @EXTRA_SHELL_OBJ@ @READLINE_LIBS@