ports/91522: Spidermonkey version update to 1.5 with fixes for ia64/amd64

Dan Rench citric at cubicone.tmetic.com
Mon Jan 16 03:10:13 UTC 2006


The following reply was made to PR ports/91522; it has been noted by GNATS.

From: Dan Rench <citric at cubicone.tmetic.com>
To: bug-followup at FreeBSD.org
Cc:  
Subject: Re: ports/91522: Spidermonkey version update to 1.5 with fixes for ia64/amd64
Date: Sun, 15 Jan 2006 21:00:35 -0600

 Below is a new version of the port incorporating the patches Anish
 Mistry sent. I was able to compile this cleanly on i386 (6.0-STABLE)
 and amd64 (5.4-RELEASE).
 
 
 # This is a shell archive.  Save it in a file, remove anything before
 # this line, and then unpack it by entering "sh file".  Note, it may
 # create directories; files and directories will be owned by you and
 # have default permissions.
 #
 # This archive contains:
 #
 #	spidermonkey
 #	spidermonkey/Makefile
 #	spidermonkey/distinfo
 #	spidermonkey/pkg-descr
 #	spidermonkey/pkg-plist
 #	spidermonkey/files
 #	spidermonkey/files/patch-jstypes.h
 #	spidermonkey/files/patch-config
 #	spidermonkey/files/patch-warnings
 #	spidermonkey/files/patch-jsopcode.c
 #	spidermonkey/files/patch-jslock.c
 #	spidermonkey/files/patch-jscntxt.c
 #
 echo c - spidermonkey
 mkdir -p spidermonkey > /dev/null 2>&1
 echo x - spidermonkey/Makefile
 sed 's/^X//' >spidermonkey/Makefile << 'END-of-spidermonkey/Makefile'
 X# Ports collection makefile for:	spidermonkey
 X# Date created:	Fri Apr 18, 2003
 X# Whom:	Dan Rench (citric at cubicone.tmetic.com)
 X#
 X# $FreeBSD: ports/lang/spidermonkey/Makefile,v 1.13 2006/01/10 23:36:54 edwin Exp $
 X
 XPORTNAME=	spidermonkey
 XDISTVERSION=	1.5
 XPORTREVISION=	1
 XCATEGORIES=	lang
 XMASTER_SITES=	${MASTER_SITE_MOZILLA:S/$/:src/} \
 X		${MASTER_SITE_MOZILLA:S/$/:older/}
 XMASTER_SITE_SUBDIR=	js/:src js/older-packages/:older
 XDISTNAME=	js-${DISTVERSION}
 XDISTFILES=	${DISTNAME}${EXTRACT_SUFX}:src
 X
 XMAINTAINER=	citric at cubicone.tmetic.com
 XCOMMENT=	A standalone JavaScript interpreter from the Mozilla project
 X
 XCONFLICTS=	njs-[0-9]*
 X
 X.if !defined(WITHOUT_TEST)
 XUSE_PERL5_BUILD=test harness
 XPATCHFILES=	spidermonkey-patch-tests-ecma.bz2	\
 X		spidermonkey-patch-tests-timezone.bz2	\
 X		spidermonkey-patch-tests-js.bz2
 XPATCH_SITES=	http://virtual-estates.net/~mi/port-stuff/
 XBUILD_DEPENDS+=	${SITE_PERL}/Getopt/Mixed.pm:${PORTSDIR}/devel/p5-Getopt-Mixed
 XLIB_DEPENDS=	nspr4.1:${PORTSDIR}/devel/nspr
 XMAKE_ARGS+=	JS_THREADSAFE=YES \
 X		PROG_LIBS="-lreadline -ltermcap -lm ${PTHREAD_LIBS}" \
 X		LDFLAGS="-L${LOCALBASE}/lib"
 XCFLAGS+=	-I${LOCALBASE}/include/nspr
 X
 XDISTFILES+=	js-tests-20021118${EXTRACT_SUFX}:older
 Xpost-build:	test
 Xpost-patch:
 X	#
 X	# Removing known bad tests:
 X	#	https://bugzilla.mozilla.org/show_bug.cgi?id=10278
 X	#	https://bugzilla.mozilla.org/show_bug.cgi?id=101964
 X	#
 X	cd ${WRKDIR}/tests && ${RM} js1_3/regress/function-001-n.js	\
 X		js1_2/function/function-001-n.js	\
 X		js1_3/Script/function-001-n.js	\
 X		js1_5/Array/regress-101964.js
 X
 X.endif
 X
 XUSE_GMAKE=	YES
 XMAKEFILE=	Makefile.ref
 XALL_TARGET=	${OPSYS}`${UNAME} -r`_DBG.OBJ/js
 XMAKE_ENV+=	CC="${CC}" CCC="${CXX}"
 XINSTALLS_SHLIB=	YES
 XSRC_DIR=	js/src
 XWRKSRC=	${WRKDIR}/${SRC_DIR}
 XEXTRACT_AFTER_ARGS=| ${TAR} -xf - \
 X		--exclude js/jsd	\
 X		--exclude ${SRC_DIR}/editline	\
 X		--exclude ${SRC_DIR}/fdlibm	\
 X		--exclude ${SRC_DIR}/liveconnect	\
 X		--exclude ${SRC_DIR}/perlconnect
 X
 Xtest:
 X	cd ${WRKDIR}/tests && ${SETENV}	\
 X	    LD_LIBRARY_PATH=${WRKSRC}/${OPSYS}`${UNAME} -r`_DBG.OBJ	\
 X		${PERL5} jsDriver.pl	\
 X		    --shellpath ${WRKSRC}/${OPSYS}`${UNAME} -r`_DBG.OBJ/js \
 X		    --engine smdebug --confail --trace --list ecma* js1_*
 X
 X.include <bsd.port.pre.mk>
 X
 Xdo-configure:
 X	${CP} ${WRKSRC}/config/Linux_All.mk \
 X		${WRKSRC}/config/${OPSYS}`${UNAME} -r`.mk && \
 X
 Xdo-install:
 X	${INSTALL_PROGRAM} ${WRKSRC}/${OPSYS}`${UNAME} -r`_DBG.OBJ/js \
 X		${PREFIX}/bin
 X	${INSTALL_PROGRAM} ${WRKSRC}/${OPSYS}`${UNAME} -r`_DBG.OBJ/libjs.so \
 X		${PREFIX}/lib
 X	${CP} ${WRKSRC}/${OPSYS}`${UNAME} -r`_DBG.OBJ/jsautocfg.h ${WRKSRC}
 X.for jsh in jsapi.h jsautocfg.h jscompat.h jslong.h jsosdep.h jsotypes.h jspubtd.h jstypes.h
 X	@${INSTALL_DATA} ${WRKSRC}/${jsh} ${PREFIX}/include/
 X.endfor
 X
 X.include <bsd.port.post.mk>
 END-of-spidermonkey/Makefile
 echo x - spidermonkey/distinfo
 sed 's/^X//' >spidermonkey/distinfo << 'END-of-spidermonkey/distinfo'
 XMD5 (js-1.5.tar.gz) = 863bb6462f4ce535399a7c6276ae6776
 XSHA256 (js-1.5.tar.gz) = ef72a154320c9949f8de0732e8dbfa186b83feb0a5e890d90807757de9998585
 XSIZE (js-1.5.tar.gz) = 958135
 XMD5 (js-tests-20021118.tar.gz) = df89464084e583a075a782ad66da5370
 XSHA256 (js-tests-20021118.tar.gz) = 75878c90ed8641aaddcf4cb0b277353c6e7be31e6539beffa44f33bdfe69181f
 XSIZE (js-tests-20021118.tar.gz) = 803198
 XMD5 (spidermonkey-patch-tests-ecma.bz2) = 73ec1e37821deff69e68eac2192a2cd2
 XSHA256 (spidermonkey-patch-tests-ecma.bz2) = 9f6ef721145e12bfca1a8ecdd0e8692fc916fef792927d9503bd40bb86f15f21
 XSIZE (spidermonkey-patch-tests-ecma.bz2) = 5702
 XMD5 (spidermonkey-patch-tests-timezone.bz2) = 9b392c970d878f3defcd7e3e7ddeb0b5
 XSHA256 (spidermonkey-patch-tests-timezone.bz2) = 94322a6541303ac66ffad5cdfdc4af8d5ec14ce74c2dc4709736941abd4bd8bf
 XSIZE (spidermonkey-patch-tests-timezone.bz2) = 7658
 XMD5 (spidermonkey-patch-tests-js.bz2) = 20770d4e82fff61c1bbb5ff91d2551ec
 XSHA256 (spidermonkey-patch-tests-js.bz2) = f930c31005778eeb40f4d3fa10a6d65ab2991c95c990c60712f9d2696c041088
 XSIZE (spidermonkey-patch-tests-js.bz2) = 3685
 END-of-spidermonkey/distinfo
 echo x - spidermonkey/pkg-descr
 sed 's/^X//' >spidermonkey/pkg-descr << 'END-of-spidermonkey/pkg-descr'
 XSpidermonkey is the JavaScript interpreter from the Mozilla project.
 X
 XWWW: http://www.mozilla.org/js/spidermonkey/
 X
 X- Dan Rench
 Xcitric at cubicone.tmetic.com
 END-of-spidermonkey/pkg-descr
 echo x - spidermonkey/pkg-plist
 sed 's/^X//' >spidermonkey/pkg-plist << 'END-of-spidermonkey/pkg-plist'
 Xbin/js
 Xlib/libjs.so
 Xinclude/jsapi.h
 Xinclude/jsautocfg.h
 Xinclude/jscompat.h
 Xinclude/jslong.h
 Xinclude/jsosdep.h
 Xinclude/jsotypes.h
 Xinclude/jspubtd.h
 Xinclude/jstypes.h
 END-of-spidermonkey/pkg-plist
 echo c - spidermonkey/files
 mkdir -p spidermonkey/files > /dev/null 2>&1
 echo x - spidermonkey/files/patch-jstypes.h
 sed 's/^X//' >spidermonkey/files/patch-jstypes.h << 'END-of-spidermonkey/files/patch-jstypes.h'
 X--- jstypes.h.orig	Sat Nov 15 00:11:04 2003
 X+++ jstypes.h	Sat Jan 14 02:17:40 2006
 X@@ -203,6 +203,19 @@
 X #define JS_BITMASK(n)   (JS_BIT(n) - 1)
 X 
 X /***********************************************************************
 X+** MACROS:      JS_PTR_TO_INT32
 X+**              JS_PTR_TO_UINT32
 X+**              JS_INT32_TO_PTR
 X+**              JS_UINT32_TO_PTR
 X+** DESCRIPTION:
 X+** Integer to pointer and pointer to integer conversion macros.
 X+***********************************************************************/
 X+#define JS_PTR_TO_INT32(x)  ((jsint)((char *)(x) - (char *)0))
 X+#define JS_PTR_TO_UINT32(x) ((jsuint)((char *)(x) - (char *)0))
 X+#define JS_INT32_TO_PTR(x)  ((void *)((char *)0 + (jsint)(x)))
 X+#define JS_UINT32_TO_PTR(x) ((void *)((char *)0 + (jsuint)(x)))
 X+
 X+/***********************************************************************
 X ** MACROS:      JS_HOWMANY
 X **              JS_ROUNDUP
 X **              JS_MIN
 END-of-spidermonkey/files/patch-jstypes.h
 echo x - spidermonkey/files/patch-config
 sed 's/^X//' >spidermonkey/files/patch-config << 'END-of-spidermonkey/files/patch-config'
 X--- Makefile.ref	Fri Nov 14 19:10:55 2003
 X+++ Makefile.ref	Sat Aug  6 12:25:36 2005
 X@@ -56,6 +56,4 @@
 X ifdef USE_MSVC
 X OTHER_LIBS += fdlibm/$(OBJDIR)/fdlibm.lib
 X-else
 X-OTHER_LIBS += -Lfdlibm/$(OBJDIR) -lfdm
 X endif
 X 
 X@@ -242,10 +240,6 @@
 X 	$(NULL)
 X 
 X-PREDIRS	+= fdlibm
 X-
 X ifdef USE_MSVC
 X FDLIBM_LIBRARY = fdlibm/$(OBJDIR)/fdlibm.lib
 X-else
 X-FDLIBM_LIBRARY = fdlibm/$(OBJDIR)/libfdm.a
 X endif
 X JSMATH_PRELINK	= $(OBJDIR)/jsmathtemp.o
 X@@ -301,6 +295,6 @@
 X 	link.exe -out:"$@" $(EXE_LINK_FLAGS) $^
 X else
 X-$(PROGRAM): $(PROG_OBJS) $(LIBRARY) $(FDLIBM_LIBRARY)
 X-	$(CC) -o $@ $(CFLAGS) $(PROG_OBJS) $(LIBRARY) $(LDFLAGS) $(OTHER_LIBS) \
 X+$(PROGRAM): $(PROG_OBJS) $(SHARED_LIBRARY) $(FDLIBM_LIBRARY)
 X+	$(CC) -o $@ $(CFLAGS) $(PROG_OBJS) -L$(OBJDIR) -ljs $(LDFLAGS) $(OTHER_LIBS) \
 X 	    $(PROG_LIBS)
 X endif
 X--- config/Linux_All.mk.orig	Tue May 10 15:53:44 2005
 X+++ config/Linux_All.mk	Sat Dec 10 21:17:45 2005
 X@@ -41,9 +41,9 @@
 X # Config for all versions of Linux
 X #
 X 
 X-CC = gcc
 X-CCC = g++
 X-CFLAGS +=  -Wall -Wno-format
 X+CC ?= gcc
 X+CCC ?= g++
 X+CFLAGS +=  -Wall -Werror	# XXX do these work with non-gcc and non-icc?
 X OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R
 X 
 X RANLIB = echo
 X@@ -74,7 +74,7 @@
 X 
 X GFX_ARCH = x
 X 
 X-OS_LIBS = -lm -lc
 X+OS_LIBS = -lm
 X 
 X ASFLAGS += -x assembler-with-cpp
 X 
 X@@ -88,16 +88,12 @@
 X endif
 X 
 X # Use the editline library to provide line-editing support.
 X-JS_EDITLINE = 1
 X+JS_READLINE = 1
 X 
 X-ifeq ($(CPU_ARCH),x86_64)
 X-# Use VA_COPY() standard macro on x86-64
 X-# FIXME: better use it everywhere
 X OS_CFLAGS += -DHAVE_VA_COPY -DVA_COPY=va_copy
 X-endif
 X 
 X-ifeq ($(CPU_ARCH),x86_64)
 X-# We need PIC code for shared libraries
 X-# FIXME: better patch rules.mk & fdlibm/Makefile*
 X+ifeq ($(CPU_ARCH),sparc64)
 X OS_CFLAGS += -DPIC -fPIC
 X+else
 X+OS_CFLAGS += -DPIC -fpic
 X endif
 X--- rules.mk	Fri Nov 14 19:11:04 2003
 X+++ rules.mk	Mon Aug  8 14:40:36 2005
 X@@ -59,5 +59,5 @@
 X TARGETS += $(SHARED_LIBRARY) $(PROGRAM)  # it is now
 X else
 X-TARGETS += $(LIBRARY) $(SHARED_LIBRARY) $(PROGRAM) 
 X+TARGETS += $(SHARED_LIBRARY) $(PROGRAM) 
 X endif
 X 
 END-of-spidermonkey/files/patch-config
 echo x - spidermonkey/files/patch-warnings
 sed 's/^X//' >spidermonkey/files/patch-warnings << 'END-of-spidermonkey/files/patch-warnings'
 X--- jspubtd.h	Thu Apr  7 15:54:07 2005
 X+++ jspubtd.h	Thu Aug  4 23:52:12 2005
 X@@ -517,5 +517,5 @@
 X (* JS_DLL_CALLBACK JSArgumentFormatter)(JSContext *cx, const char *format,
 X                                         JSBool fromJS, jsval **vpp,
 X-                                        va_list *app);
 X+                                        va_list app);
 X #endif
 X 
 X--- jsdhash.c	Wed Jan 14 21:00:53 2004
 X+++ jsdhash.c	Fri Aug  5 00:15:04 2005
 X@@ -92,5 +92,5 @@
 X JS_DHashVoidPtrKeyStub(JSDHashTable *table, const void *key)
 X {
 X-    return (JSDHashNumber)key >> 2;
 X+    return (JSDHashNumber)(uintptr_t)key >> 2;
 X }
 X 
 X--- jsstr.c	Fri Jun  3 15:07:49 2005
 X+++ jsstr.c	Fri Aug  5 01:31:08 2005
 X@@ -2596,5 +2596,5 @@
 X js_hash_string_pointer(const void *key)
 X {
 X-    return (JSHashNumber)key >> JSVAL_TAGBITS;
 X+    return (JSHashNumber)(uintptr_t)key >> JSVAL_TAGBITS;
 X }
 X 
 X--- jsobj.h	Wed Sep  1 17:33:16 2004
 X+++ jsobj.h	Fri Aug  5 01:16:56 2005
 X@@ -238,12 +238,12 @@
 X };
 X 
 X-#define SHARP_BIT       ((jsatomid) 1)
 X-#define BUSY_BIT        ((jsatomid) 2)
 X+#define SHARP_BIT       ((uintptr_t) 1)
 X+#define BUSY_BIT        ((uintptr_t) 2)
 X #define SHARP_ID_SHIFT  2
 X-#define IS_SHARP(he)    ((jsatomid)(he)->value & SHARP_BIT)
 X-#define MAKE_SHARP(he)  ((he)->value = (void*)((jsatomid)(he)->value|SHARP_BIT))
 X-#define IS_BUSY(he)     ((jsatomid)(he)->value & BUSY_BIT)
 X-#define MAKE_BUSY(he)   ((he)->value = (void*)((jsatomid)(he)->value|BUSY_BIT))
 X-#define CLEAR_BUSY(he)  ((he)->value = (void*)((jsatomid)(he)->value&~BUSY_BIT))
 X+#define IS_SHARP(he)    ((uintptr_t)(he)->value & SHARP_BIT)
 X+#define MAKE_SHARP(he)  ((he)->value = (void*)((uintptr_t)(he)->value|SHARP_BIT))
 X+#define IS_BUSY(he)     ((uintptr_t)(he)->value & BUSY_BIT)
 X+#define MAKE_BUSY(he)   ((he)->value = (void*)((uintptr_t)(he)->value|BUSY_BIT))
 X+#define CLEAR_BUSY(he)  ((he)->value = (void*)((uintptr_t)(he)->value&~BUSY_BIT))
 X 
 X extern JSHashEntry *
 X--- jstypes.h	Fri Nov 14 19:11:04 2003
 X+++ jstypes.h	Thu Aug  4 23:54:13 2005
 X@@ -378,6 +378,7 @@
 X ** A JSWord is an integer that is the same size as a void*
 X */
 X+#include <inttypes.h>
 X-typedef long JSWord;
 X-typedef unsigned long JSUword;
 X+typedef intptr_t JSWord;
 X+typedef uintptr_t JSUword;
 X 
 X #include "jsotypes.h"
 X--- jsosdep.h	Fri Nov 14 19:10:59 2003
 X+++ jsosdep.h	Fri Aug  5 00:50:44 2005
 X@@ -102,5 +102,5 @@
 X #define JS_HAVE_LONG_LONG
 X 
 X-#elif defined(FREEBSD)
 X+#elif defined(FREEBSD) || defined(__FreeBSD__)
 X #define JS_HAVE_LONG_LONG
 X 
 X--- jsdtoa.c	Sat Apr  3 17:11:11 2004
 X+++ jsdtoa.c	Fri Aug  5 00:28:15 2005
 X@@ -258,5 +258,5 @@
 X #define set_word1(x, y) JSDOUBLE_SET_LO32(x, y)
 X 
 X-#define Storeinc(a,b,c) (*(a)++ = (b) << 16 | (c) & 0xffff)
 X+#define Storeinc(a,b,c) (*(a)++ = (b) << 16 | ((c) & 0xffff))
 X 
 X /* #define P DBL_MANT_DIG */
 X@@ -990,5 +990,6 @@
 X {
 X     register Long L;
 X-    double a;
 X+    double a = 0.;	/* only need to initialize to calm the compiler.
 X+			 * set_word0 and set_word1 set a, but in two stages */
 X 
 X     L = (word0(x) & Exp_mask) - (P-1)*Exp_msk1;
 X@@ -1021,5 +1022,5 @@
 X     ULong *xa, *xa0, w, y, z;
 X     int32 k;
 X-    double d;
 X+    double d = 0.;
 X #define d0 word0(d)
 X #define d1 word1(d)
 X@@ -1837,4 +1838,5 @@
 X #ifdef Avoid_Underflow
 X     if (scale) {
 X+        rv0 = 0.; /* calm the compiler warning */
 X         set_word0(rv0, Exp_1 - P*Exp_msk1);
 X         set_word1(rv0, 0);
 X--- jsatom.h	Wed Feb 11 02:21:59 2004
 X+++ jsatom.h	Fri Aug  5 01:21:44 2005
 X@@ -96,5 +96,5 @@
 X 
 X #define ALE_ATOM(ale)   ((JSAtom *) (ale)->entry.key)
 X-#define ALE_INDEX(ale)  ((jsatomid) (ale)->entry.value)
 X+#define ALE_INDEX(ale)  ((jsatomid)(uintptr_t)(ale)->entry.value)
 X #define ALE_JSOP(ale)   ((JSOp) (ale)->entry.value)
 X #define ALE_VALUE(ale)  ((jsval) (ale)->entry.value)
 X--- jsatom.c	Tue Jul  6 03:49:18 2004
 X+++ jsatom.c	Fri Aug  5 01:23:29 2005
 X@@ -137,5 +137,5 @@
 X #endif
 X 
 X-#define HASH_OBJECT(o)  ((JSHashNumber)(o) >> JSVAL_TAGBITS)
 X+#define HASH_OBJECT(o)  ((JSHashNumber)(uintptr_t)(o) >> JSVAL_TAGBITS)
 X #define HASH_INT(i)     ((JSHashNumber)(i))
 X #define HASH_DOUBLE(dp) ((JSHashNumber)(JSDOUBLE_HI32(*dp) ^ JSDOUBLE_LO32(*dp)))
 X@@ -834,5 +834,5 @@
 X         }
 X 
 X-        ALE_SET_INDEX(ale, al->count++);
 X+        ALE_SET_INDEX(ale, (intptr_t)al->count++);
 X     }
 X     return ale;
 X--- jsscript.c	Fri Jul  8 21:48:08 2005
 X+++ jsscript.c	Fri Aug  5 01:29:26 2005
 X@@ -322,5 +322,5 @@
 X     if (!JS_XDRUint32(xdr, &index))
 X         return JS_FALSE;
 X-    ALE_SET_INDEX(ale, index);
 X+    ALE_SET_INDEX(ale, (uintptr_t)index);
 X 
 X     if (!JS_XDRValue(xdr, &value))
 X@@ -338,5 +338,5 @@
 X {
 X     uint32 length;
 X-    uintN i;
 X+    uintptr_t i;
 X     JSBool ok;
 X 
 X--- jsinterp.c	Fri Jun  4 21:39:32 2004
 X+++ jsinterp.c	Sat Aug  6 18:56:29 2005
 X@@ -1382,9 +1382,9 @@
 X     jsbytecode *pc, *pc2, *endpc;
 X     JSOp op, op2;
 X-    const JSCodeSpec *cs;
 X+    const JSCodeSpec *cs = NULL;
 X     JSAtom *atom;
 X     uintN argc, slot, attrs;
 X     jsval *vp, lval, rval, ltmp, rtmp;
 X-    jsid id;
 X+    jsid id = -1L; /* initialize to something awful */
 X     JSObject *withobj, *origobj, *propobj;
 X     jsval iter_state;
 X@@ -1398,5 +1398,5 @@
 X     JSType type;
 X #ifdef DEBUG
 X-    FILE *tracefp;
 X+    FILE *tracefp = NULL;
 X #endif
 X #if JS_HAS_EXPORT_IMPORT
 X@@ -1475,4 +1475,5 @@
 X         JS_ReportErrorNumber(cx, js_GetErrorMessage, NULL, JSMSG_OVER_RECURSED);
 X         ok = JS_FALSE;
 X+        sp = NULL;
 X         goto out;
 X     }
 X@@ -1484,4 +1485,5 @@
 X     if (!newsp) {
 X         ok = JS_FALSE;
 X+        sp = NULL;
 X         goto out;
 X     }
 X@@ -1517,5 +1519,5 @@
 X                     }
 X                 }
 X-                fprintf(tracefp, " @ %d\n", sp - fp->spbase);
 X+                fprintf(tracefp, " @ %td\n", sp - fp->spbase);
 X             }
 X         }
 X@@ -4209,5 +4211,5 @@
 X                     }
 X                 }
 X-                fprintf(tracefp, " @ %d\n", sp - fp->spbase);
 X+                fprintf(tracefp, " @ %td\n", sp - fp->spbase);
 X             }
 X             fprintf(tracefp, "  stack: ");
 X--- jsobj.c	Wed Jun  2 17:20:56 2004
 X+++ jsobj.c	Sat Aug  6 19:08:39 2005
 X@@ -378,5 +378,5 @@
 X js_hash_object(const void *key)
 X {
 X-    return (JSHashNumber)key >> JSVAL_TAGBITS;
 X+    return (JSHashNumber)(uintptr_t)key >> JSVAL_TAGBITS;
 X }
 X 
 X@@ -407,5 +407,5 @@
 X     if (!he) {
 X         sharpid = 0;
 X-        he = JS_HashTableRawAdd(table, hep, hash, obj, (void *)sharpid);
 X+        he = JS_HashTableRawAdd(table, hep, hash, obj, (void *)(uintptr_t)sharpid);
 X         if (!he) {
 X             JS_ReportOutOfMemory(cx);
 X@@ -461,8 +461,8 @@
 X             return NULL;
 X     } else {
 X-        sharpid = (jsatomid) he->value;
 X+        sharpid = (jsatomid)(uintptr_t)he->value;
 X         if (sharpid == 0) {
 X             sharpid = ++map->sharpgen << SHARP_ID_SHIFT;
 X-            he->value = (void *) sharpid;
 X+            he->value = (void *)(uintptr_t)sharpid;
 X         }
 X         ida = NULL;
 X@@ -505,5 +505,5 @@
 X         if (!he)
 X             goto bad;
 X-        JS_ASSERT((((jsatomid) he->value) & SHARP_BIT) == 0);
 X+        JS_ASSERT((((uintptr_t)he->value) & SHARP_BIT) == 0);
 X         if (!idap) {
 X             JS_DestroyIdArray(cx, ida);
 X@@ -534,5 +534,5 @@
 X     }
 X 
 X-    sharpid = (jsatomid) he->value;
 X+    sharpid = (jsatomid)(uintptr_t)he->value;
 X     if (sharpid == 0) {
 X         *sp = NULL;
 X--- jsopcode.c	Thu Jun 10 00:33:52 2004
 X+++ jsopcode.c	Sat Aug  6 19:13:50 2005
 X@@ -181,5 +181,5 @@
 X       case JOF_JUMPX:
 X         off = GetJumpOffset(pc, pc);
 X-        fprintf(fp, " %u (%d)", loc + off, off);
 X+        fprintf(fp, " %tu (%td)", loc + off, off);
 X         break;
 X 
 X@@ -216,8 +216,8 @@
 X         high = GET_JUMP_OFFSET(pc2);
 X         pc2 += JUMP_OFFSET_LEN;
 X-        fprintf(fp, " defaultOffset %d low %d high %d", off, low, high);
 X+        fprintf(fp, " defaultOffset %td low %d high %d", off, low, high);
 X         for (i = low; i <= high; i++) {
 X             off = GetJumpOffset(pc, pc2);
 X-            fprintf(fp, "\n\t%d: %d", i, off);
 X+            fprintf(fp, "\n\t%d: %td", i, off);
 X             pc2 += jmplen;
 X         }
 X@@ -253,5 +253,5 @@
 X             if (!cstr)
 X                 return 0;
 X-            fprintf(fp, "\n\t%s: %d", cstr, off);
 X+            fprintf(fp, "\n\t%s: %td", cstr, off);
 X             JS_free(cx, cstr);
 X             npairs--;
 X--- jsparse.c	Mon Mar 29 22:20:03 2004
 X+++ jsparse.c	Sat Aug  6 19:15:27 2005
 X@@ -876,5 +876,5 @@
 X                 return NULL;
 X         }
 X-        ALE_SET_JSOP(ale, tc->topStmt ? JSOP_CLOSURE : JSOP_DEFFUN);
 X+        ALE_SET_JSOP(ale, (uintptr_t)(tc->topStmt ? JSOP_CLOSURE : JSOP_DEFFUN));
 X 
 X #if JS_HAS_LEXICAL_CLOSURE
 X--- jsprf.c	Wed Feb 25 08:33:42 2004
 X+++ jsprf.c	Sat Aug  6 19:18:26 2005
 X@@ -56,5 +56,5 @@
 X */
 X #ifdef HAVE_VA_COPY
 X-#define VARARGS_ASSIGN(foo, bar)        VA_COPY(foo,bar)
 X+#define VARARGS_ASSIGN(foo, bar)        va_copy(foo,bar)
 X #elif defined(HAVE_VA_LIST_AS_ARRAY)
 X #define VARARGS_ASSIGN(foo, bar)        foo[0] = bar[0]
 X--- js.c	Wed Feb 11 02:21:59 2004
 X+++ js.c	Sat Aug  6 19:23:09 2005
 X@@ -921,5 +921,5 @@
 X         delta = SN_DELTA(sn);
 X         offset += delta;
 X-        fprintf(gOutFile, "%3u: %5u [%4u] %-8s",
 X+        fprintf(gOutFile, "%3tu: %5u [%4u] %-8s",
 X                 PTRDIFF(sn, notes, jssrcnote), offset, delta,
 X                 js_SrcNoteSpec[SN_TYPE(sn)].name);
 X@@ -1006,5 +1006,5 @@
 X     fprintf(gOutFile, "\nException table:\nstart\tend\tcatch\n");
 X     while (tn->start && tn->catchStart) {
 X-        fprintf(gOutFile, "  %d\t%d\t%d\n",
 X+        fprintf(gOutFile, "  %td\t%td\t%td\n",
 X                tn->start, tn->start + tn->length, tn->catchStart);
 X         tn++;
 X@@ -1222,6 +1222,6 @@
 X #undef  DUMP_ATTR
 X 
 X-        fprintf(fp, " slot %lu flags %x shortid %d\n",
 X-                sprop->slot, sprop->flags, sprop->shortid);
 X+        fprintf(fp, " slot %u flags %x shortid %d\n",
 X+                (unsigned)sprop->slot, (int)sprop->flags, (int)sprop->shortid);
 X     }
 X }
 X--- jsapi.c	Wed Jun 16 17:42:39 2004
 X+++ jsapi.c	Mon Aug  8 02:32:15 2005
 X@@ -126,5 +126,5 @@
 X static JSBool
 X TryArgumentFormatter(JSContext *cx, const char **formatp, JSBool fromJS,
 X-                     jsval **vpp, va_list *app)
 X+                     jsval **vpp, va_list app)
 X {
 X     const char *format;
 X@@ -264,6 +264,5 @@
 X           default:
 X             format--;
 X-            if (!TryArgumentFormatter(cx, &format, JS_TRUE, &sp,
 X-                                      JS_ADDRESSOF_VA_LIST(ap))) {
 X+            if (!TryArgumentFormatter(cx, &format, JS_TRUE, &sp, ap)) {
 X                 return JS_FALSE;
 X             }
 X@@ -367,6 +366,5 @@
 X           default:
 X             format--;
 X-            if (!TryArgumentFormatter(cx, &format, JS_FALSE, &sp,
 X-                                      JS_ADDRESSOF_VA_LIST(ap))) {
 X+            if (!TryArgumentFormatter(cx, &format, JS_FALSE, &sp, ap)) {
 X                 goto bad;
 X             }
 X@@ -2190,5 +2188,5 @@
 X 
 X     if (attrs & JSPROP_INDEX) {
 X-        id = INT_TO_JSVAL((jsint)name);
 X+        id = INT_TO_JSVAL(name);
 X         atom = NULL;
 X         attrs &= ~JSPROP_INDEX;
 END-of-spidermonkey/files/patch-warnings
 echo x - spidermonkey/files/patch-jsopcode.c
 sed 's/^X//' >spidermonkey/files/patch-jsopcode.c << 'END-of-spidermonkey/files/patch-jsopcode.c'
 X--- jsopcode.c.orig	Sun Aug 29 18:00:24 2004
 X+++ jsopcode.c	Sat Jan 14 02:26:07 2006
 X@@ -239,7 +239,7 @@
 X         pc2 += jmplen;
 X         npairs = GET_ATOM_INDEX(pc2);
 X         pc2 += ATOM_INDEX_LEN;
 X-        fprintf(fp, " offset %d npairs %u", off, (uintN) npairs);
 X+        fprintf(fp, " offset %td npairs %u", off, (uintN) npairs);
 X         while (npairs) {
 X             atom = GET_ATOM(cx, script, pc2);
 X             pc2 += ATOM_INDEX_LEN;
 END-of-spidermonkey/files/patch-jsopcode.c
 echo x - spidermonkey/files/patch-jslock.c
 sed 's/^X//' >spidermonkey/files/patch-jslock.c << 'END-of-spidermonkey/files/patch-jslock.c'
 X--- jslock.c.orig	Sat Jan 14 02:20:18 2006
 X+++ jslock.c	Sat Jan 14 02:22:17 2006
 X@@ -193,7 +193,9 @@
 X #endif
 X }
 X 
 X+#ifndef NSPR_LOCK
 X static void js_Dequeue(JSThinLock *);
 X+#endif
 X 
 X #ifdef DEBUG_SCOPE_COUNT
 END-of-spidermonkey/files/patch-jslock.c
 echo x - spidermonkey/files/patch-jscntxt.c
 sed 's/^X//' >spidermonkey/files/patch-jscntxt.c << 'END-of-spidermonkey/files/patch-jscntxt.c'
 X--- jscntxt.c.orig	Sat Jan 14 01:57:13 2006
 X+++ jscntxt.c	Sat Jan 14 02:14:51 2006
 X@@ -334,7 +334,7 @@
 X {
 X     const JSResolvingKey *key = (const JSResolvingKey *)ptr;
 X 
 X-    return ((JSDHashNumber)key->obj >> JSVAL_TAGBITS) ^ key->id;
 X+    return ((JSDHashNumber)JS_PTR_TO_UINT32(key->obj) >> JSVAL_TAGBITS) ^ key->id;
 X }
 X 
 X JS_PUBLIC_API(JSBool)
 END-of-spidermonkey/files/patch-jscntxt.c
 exit
 



More information about the freebsd-ports-bugs mailing list