aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/glib-2.0/files/atomic-thumb.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/glib-2.0/files/atomic-thumb.patch')
-rw-r--r--recipes/glib-2.0/files/atomic-thumb.patch42
1 files changed, 42 insertions, 0 deletions
diff --git a/recipes/glib-2.0/files/atomic-thumb.patch b/recipes/glib-2.0/files/atomic-thumb.patch
new file mode 100644
index 0000000000..ced49f4acd
--- /dev/null
+++ b/recipes/glib-2.0/files/atomic-thumb.patch
@@ -0,0 +1,42 @@
+# 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.
+
+Index: glib-2.16.4/glib/Makefile.am
+===================================================================
+--- glib-2.16.4.orig/glib/Makefile.am 2008-11-06 00:53:11.253367291 +0100
++++ glib-2.16.4/glib/Makefile.am 2008-11-06 00:54:13.453356583 +0100
+@@ -80,6 +80,7 @@
+ galiasdef.c
+
+ lib_LTLIBRARIES = libglib-2.0.la
++noinst_LTLIBRARIES = libgatomic.la
+
+ if MS_LIB_AVAILABLE
+ noinst_DATA = glib-2.0.lib
+@@ -94,10 +95,14 @@
+ uninstall-ms-lib:
+ endif
+
++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 \
+ gbookmarkfile.c \
+@@ -285,8 +290,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) \