aboutsummaryrefslogtreecommitdiffstats
path: root/devel
diff options
context:
space:
mode:
authorkwm <kwm@FreeBSD.org>2010-11-25 05:06:10 +0800
committerkwm <kwm@FreeBSD.org>2010-11-25 05:06:10 +0800
commit0bfdf1f8d2315e7d6d1032d3cebf96d97da8c885 (patch)
tree25445f56a2fe3103152bdf468bf83e6ab26ba6e4 /devel
parent577f5cfed8da5a672f3ba0ca20159648daef5f68 (diff)
downloadfreebsd-ports-gnome-0bfdf1f8d2315e7d6d1032d3cebf96d97da8c885.tar.gz
freebsd-ports-gnome-0bfdf1f8d2315e7d6d1032d3cebf96d97da8c885.tar.zst
freebsd-ports-gnome-0bfdf1f8d2315e7d6d1032d3cebf96d97da8c885.zip
Due to a flaw in binutils 2.15, function names can conflict with
ELF assembler directives on PPC64 systems. As a result, it is not possible to have functions named things like 'text' and 'data'. In glib-compile-schemas.c we have such a name. PR: ports/152555 Submitted by: andreast@
Diffstat (limited to 'devel')
-rw-r--r--devel/glib20/Makefile4
-rw-r--r--devel/glib20/files/extra-arch-powerpc6423
2 files changed, 27 insertions, 0 deletions
diff --git a/devel/glib20/Makefile b/devel/glib20/Makefile
index 947bfb839b3f..acf729310312 100644
--- a/devel/glib20/Makefile
+++ b/devel/glib20/Makefile
@@ -56,6 +56,10 @@ OPTIONS= COLLATION_FIX "fix string collation" off
.include <bsd.port.pre.mk>
+.if ${ARCH} == powerpc64
+EXTRA_PATCHES= ${.CURDIR}/files/extra-arch-powerpc64
+.endif
+
# Let glib use asm code for implementing atomic ops on i386 and amd64.
.if ${ARCH} == "i386"
GLIB_ARCH= i486
diff --git a/devel/glib20/files/extra-arch-powerpc64 b/devel/glib20/files/extra-arch-powerpc64
new file mode 100644
index 000000000000..d774ebd6b7b1
--- /dev/null
+++ b/devel/glib20/files/extra-arch-powerpc64
@@ -0,0 +1,23 @@
+
+--- gio/glib-compile-schemas.c.orig 2010-11-24 21:32:15.000000000 +0100
++++ gio/glib-compile-schemas.c 2010-11-24 21:33:42.000000000 +0100
+@@ -1458,7 +1458,7 @@
+ }
+ /* Text {{{2 */
+ static void
+-text (GMarkupParseContext *context,
++XXXtext (GMarkupParseContext *context,
+ const gchar *text,
+ gsize text_len,
+ gpointer user_data,
+@@ -1590,7 +1590,7 @@
+ parse_gschema_files (gchar **files,
+ gboolean strict)
+ {
+- GMarkupParser parser = { start_element, end_element, text };
++ GMarkupParser parser = { start_element, end_element, XXXtext };
+ ParseState state = { 0, };
+ const gchar *filename;
+ GError *error = NULL;
+
+