From owner-freebsd-ports-bugs@FreeBSD.ORG Thu Jan 26 22:10:14 2006 Return-Path: X-Original-To: freebsd-ports-bugs@hub.freebsd.org Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E5C0D16A44D for ; Thu, 26 Jan 2006 22:10:14 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 54CDD43D73 for ; Thu, 26 Jan 2006 22:10:03 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id k0QMA2L6056490 for ; Thu, 26 Jan 2006 22:10:02 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id k0QMA2aU056489; Thu, 26 Jan 2006 22:10:02 GMT (envelope-from gnats) Resent-Date: Thu, 26 Jan 2006 22:10:02 GMT Resent-Message-Id: <200601262210.k0QMA2aU056489@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Dan Rench Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DFBD216A422 for ; Thu, 26 Jan 2006 22:05:10 +0000 (GMT) (envelope-from drench@host.tmetic.com) Received: from host.tmetic.com (host.tmetic.com [69.55.236.131]) by mx1.FreeBSD.org (Postfix) with SMTP id 3DB3843D70 for ; Thu, 26 Jan 2006 22:05:06 +0000 (GMT) (envelope-from drench@host.tmetic.com) Received: (qmail 19001 invoked by uid 1004); 26 Jan 2006 22:05:05 -0000 Message-Id: <20060126220505.18999.qmail@host.tmetic.com> Date: 26 Jan 2006 22:05:05 -0000 From: Dan Rench To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: Subject: ports/92396: Spidermonkey fixes for 64 bit platforms X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Dan Rench List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Jan 2006 22:10:15 -0000 >Number: 92396 >Category: ports >Synopsis: Spidermonkey fixes for 64 bit platforms >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: maintainer-update >Submitter-Id: current-users >Arrival-Date: Thu Jan 26 22:10:02 GMT 2006 >Closed-Date: >Last-Modified: >Originator: Dan Rench >Release: 6.0-STABLE >Organization: >Environment: System: FreeBSD shocklee.i.dren.ch 6.0-STABLE FreeBSD 6.0-STABLE #0: Sun Jan 8 00:29:43 CST 2006 root@shocklee.i.dren.ch:/usr/obj/usr/src/sys/GENERIC i386 >Description: A new version of the port which should fix 64 bit build problems (much thanks again to Anish Mistry) A followup to http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/91522 >How-To-Repeat: >Fix: # 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@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@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 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 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@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 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 >Release-Note: >Audit-Trail: >Unformatted: