File js-1.8.0-va_copy.patch of Package libjs
diff -Naupr js.orig/src/config/Linux_All.mk js/src/config/Linux_All.mk
--- js.orig/src/config/Linux_All.mk 2009-10-11 09:42:22.569674314 +0200
+++ js/src/config/Linux_All.mk 2009-10-11 09:39:22.794672772 +0200
@@ -91,8 +91,12 @@ endif
JS_EDITLINE = 1
ifeq ($(CPU_ARCH),x86_64)
-# Use VA_COPY() standard macro on x86-64
-# FIXME: better use it everywhere
+# Use va_copy() standard macro on x86-64
+OS_CFLAGS += -DHAVE_VA_COPY -DVA_COPY=va_copy
+endif
+
+ifeq ($(CPU_ARCH),ppc)
+# Use va_copy() standard macro on ppc too
OS_CFLAGS += -DHAVE_VA_COPY -DVA_COPY=va_copy
endif
diff -Naupr js.orig/src/jsprf.c js/src/jsprf.c
--- js.orig/src/jsprf.c 2009-10-11 09:42:22.570672695 +0200
+++ js/src/jsprf.c 2009-10-11 09:39:22.796673586 +0200
@@ -57,7 +57,7 @@
** and requires array notation.
*/
#ifdef HAVE_VA_COPY
-#define VARARGS_ASSIGN(foo, bar) VA_COPY(foo,bar)
+#define VARARGS_ASSIGN(foo, bar) va_copy(foo,bar)
#elif defined(HAVE_VA_LIST_AS_ARRAY)
#define VARARGS_ASSIGN(foo, bar) foo[0] = bar[0]
#else