aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/glib-2.0/glib-2.0-2.24.1/atomic-thumb.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/glib-2.0/glib-2.0-2.24.1/atomic-thumb.patch')
-rw-r--r--recipes/glib-2.0/glib-2.0-2.24.1/atomic-thumb.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/recipes/glib-2.0/glib-2.0-2.24.1/atomic-thumb.patch b/recipes/glib-2.0/glib-2.0-2.24.1/atomic-thumb.patch
new file mode 100644
index 0000000000..3c14fd048c
--- /dev/null
+++ b/recipes/glib-2.0/glib-2.0-2.24.1/atomic-thumb.patch
@@ -0,0 +1,41 @@
+# gatomic.c uses SWP, which doesn't work in Thumb mode.
+# Put that source file into a separate convenience library which is always built as ARM.
+
+diff -uNr glib-2.23.6.orig//glib/Makefile.am glib-2.23.6/glib/Makefile.am
+--- glib-2.23.6.orig//glib/Makefile.am 2010-03-21 19:05:08.000000000 +0100
++++ glib-2.23.6/glib/Makefile.am 2010-03-26 11:52:49.000000000 +0100
+@@ -87,6 +87,7 @@
+ galiasdef.c
+
+ lib_LTLIBRARIES = libglib-2.0.la
++noinst_LTLIBRARIES = libgatomic.la
+
+ if OS_WIN32_AND_DLL_COMPILATION
+ if MS_LIB_AVAILABLE
+@@ -103,10 +104,14 @@
+ uninstall-ms-lib:
+ $(uninstall_ms_lib_cmd)
+
++libgatomic_la_CFLAGS = $(CFLAGS) -mno-thumb
++
++libgatomic_la_SOURCES = \
++ ${gatomic_c}
++
+ libglib_2_0_la_SOURCES = \
+ garray.c \
+ gasyncqueue.c \
+- $(gatomic_c) \
+ gbacktrace.c \
+ gbase64.c \
+ gbitlock.c \
+@@ -315,8 +320,8 @@
+ pcre_inc =
+ endif
+
+-libglib_2_0_la_LIBADD = libcharset/libcharset.la $(printf_la) @GIO@ @GSPAWN@ @PLATFORMDEP@ @ICONV_LIBS@ @G_LIBS_EXTRA@ $(pcre_lib)
+-libglib_2_0_la_DEPENDENCIES = libcharset/libcharset.la $(printf_la) @GIO@ @GSPAWN@ @PLATFORMDEP@ $(glib_win32_res) $(glib_def)
++libglib_2_0_la_LIBADD = libcharset/libcharset.la $(printf_la) @GIO@ @GSPAWN@ @PLATFORMDEP@ @ICONV_LIBS@ @G_LIBS_EXTRA@ $(pcre_lib) libgatomic.la
++libglib_2_0_la_DEPENDENCIES = libcharset/libcharset.la $(printf_la) @GIO@ @GSPAWN@ @PLATFORMDEP@ $(glib_win32_res) $(glib_def) libgatomic.la
+
+ libglib_2_0_la_LDFLAGS = \
+ $(glib_win32_res_ldflag) \