--- js/src/config/Linux_All.mk.vacopy 2009-05-29 10:35:14.000000000 +0200 +++ js/src/config/Linux_All.mk 2009-05-29 10:44:55.000000000 +0200 @@ -91,8 +91,17 @@ 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 + +ifeq (s390,$(findstring s390,$(CPU_ARCH))) +# Use va_copy() standard macro on s390/s390x 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 2004-09-24 05:31:15.000000000 +0200 +++ js/src/jsprf.c 2006-01-26 11:34:52.000000000 +0100 @@ -55,7 +55,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