File js-1.7.0-va_copy.patch of Package js

diff -ruN js-orig/src/config/Linux_All.mk js/src/config/Linux_All.mk
--- js-orig/src/config/Linux_All.mk	2005-05-10 21:53:44.000000000 +0200
+++ js/src/config/Linux_All.mk	2011-04-24 01:00:59.000000000 +0200
@@ -47,7 +47,7 @@
 OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R
 
 RANLIB = echo
-MKSHLIB = $(LD) -shared $(XMKSHLIBOPTS)
+MKSHLIB = $(CC) -shared -lc -Wl,-soname,libjs.so.1 $(XMKSHLIBOPTS)
 
 #.c.o:
 #      $(CC) -c -MD $*.d $(CFLAGS) $<
@@ -91,8 +91,17 @@
 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 ($(CPU_ARCH),s390x)
+# Use va_copy() standard macro on s390x too
 OS_CFLAGS += -DHAVE_VA_COPY -DVA_COPY=va_copy
 endif
 
diff -ruN js-orig/src/jsprf.c js/src/jsprf.c
--- js-orig/src/jsprf.c	2006-07-07 04:12:02.000000000 +0200
+++ js/src/jsprf.c	2011-04-24 00:57:26.000000000 +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
openSUSE Build Service is sponsored by