summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authorPhilip Blundell <pb@mill.internal.reciva.com>2008-10-27 11:23:36 +0000
committerPhilip Blundell <pb@mill.internal.reciva.com>2008-10-27 11:23:36 +0000
commitf6a927d799eb8ca05897ccd94e362cac2b8c2cc9 (patch)
tree8a735eead39ed349e3ac4f7e782f3bb2b47c1e19 /packages
parent8f9b3ebf73ca0dc6b85f98288da78090c058688f (diff)
glib-2.0: add workaround for compilation with -mthumb
Diffstat (limited to 'packages')
-rw-r--r--packages/glib-2.0/files/atomic-thumb.patch38
-rw-r--r--packages/glib-2.0/glib-2.0_2.16.4.bb1
2 files changed, 39 insertions, 0 deletions
diff --git a/packages/glib-2.0/files/atomic-thumb.patch b/packages/glib-2.0/files/atomic-thumb.patch
new file mode 100644
index 0000000000..d1e3d49a6b
--- /dev/null
+++ b/packages/glib-2.0/files/atomic-thumb.patch
@@ -0,0 +1,38 @@
+# 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.
+
+--- glib/glib/Makefile.am~ 2008-07-01 23:30:12.000000000 +0100
++++ glib/glib/Makefile.am 2008-10-27 10:03:42.000000000 +0000
+@@ -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,7 +290,7 @@
+ 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_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@
+
+ libglib_2_0_la_LDFLAGS = \
diff --git a/packages/glib-2.0/glib-2.0_2.16.4.bb b/packages/glib-2.0/glib-2.0_2.16.4.bb
index f70539f18e..215c8debc2 100644
--- a/packages/glib-2.0/glib-2.0_2.16.4.bb
+++ b/packages/glib-2.0/glib-2.0_2.16.4.bb
@@ -8,4 +8,5 @@ PR = "r0"
SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glib/2.16/glib-${PV}.tar.bz2 \
file://glibconfig-sysdefs.h \
file://configure-libtool.patch;patch=1 \
+ file://atomic-thumb.patch;patch=1 \
"