Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 8 Jan 2006 18:36:41 GMT
From:      Dan Rench <citric@cubicone.tmetic.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/91522: Spidermonkey version update to 1.5 with fixes for ia64/amd64
Message-ID:  <200601081836.k08Iafkn001312@www.freebsd.org>
Resent-Message-ID: <200601081840.k08Ie84p093630@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         91522
>Category:       ports
>Synopsis:       Spidermonkey version update to 1.5 with fixes for ia64/amd64
>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:   Sun Jan 08 18:40:08 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Dan Rench
>Release:        6.0-STABLE
>Organization:
>Environment:
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:
Update source to spidermonkey 1.5 and patched (much thanks to Anish Mistry) to fix compilation problems under amd64 (and presumably ia64 too but untested) and to make the build thread-safe.
>How-To-Repeat:
n/a
>Fix:
diff -ruN spidermonkey.orig/Makefile spidermonkey/Makefile
--- spidermonkey.orig/Makefile	Sat Jan  7 02:07:46 2006
+++ spidermonkey/Makefile	Sat Jan  7 02:37:02 2006
@@ -5,8 +5,7 @@
 # $FreeBSD: ports/lang/spidermonkey/Makefile,v 1.11 2005/08/16 12:52:28 mi Exp $
 
 PORTNAME=	spidermonkey
-DISTVERSION=	1.5-rc6a
-PORTREVISION=	1
+DISTVERSION=	1.5
 CATEGORIES=	lang
 MASTER_SITES=	${MASTER_SITE_MOZILLA}
 MASTER_SITE_SUBDIR=	js
@@ -25,7 +24,13 @@
 		spidermonkey-patch-tests-js.bz2
 PATCH_SITES=	http://virtual-estates.net/~mi/port-stuff/
 BUILD_DEPENDS+=	${SITE_PERL}/Getopt/Mixed.pm:${PORTSDIR}/devel/p5-Getopt-Mixed
-DISTFILES+=	js-tests-20021118${EXTRACT_SUFX}
+LIB_DEPENDS=	nspr4.1:${PORTSDIR}/devel/nspr
+MAKE_ARGS+=	JS_THREADSAFE=YES \
+		PROG_LIBS="-lreadline -ltermcap -lm ${PTHREAD_LIBS}" \
+		LDFLAGS="-L${LOCALBASE}/lib"
+CFLAGS+=	-I${LOCALBASE}/include/nspr
+
+DISTFILES+=	older-packages/js-tests-20021118${EXTRACT_SUFX}
 post-build:	test
 post-patch:
 	#
diff -ruN spidermonkey.orig/distinfo spidermonkey/distinfo
--- spidermonkey.orig/distinfo	Sat Jan  7 02:07:46 2006
+++ spidermonkey/distinfo	Sat Jan  7 02:07:56 2006
@@ -1,10 +1,15 @@
-MD5 (js-1.5-rc6a.tar.gz) = 25e1d1dd2674d85883391b6b42a7b02f
-SIZE (js-1.5-rc6a.tar.gz) = 1058911
-MD5 (js-tests-20021118.tar.gz) = df89464084e583a075a782ad66da5370
-SIZE (js-tests-20021118.tar.gz) = 803198
+MD5 (js-1.5.tar.gz) = 863bb6462f4ce535399a7c6276ae6776
+SHA256 (js-1.5.tar.gz) = ef72a154320c9949f8de0732e8dbfa186b83feb0a5e890d90807757de9998585
+SIZE (js-1.5.tar.gz) = 958135
+MD5 (older-packages/js-tests-20021118.tar.gz) = df89464084e583a075a782ad66da5370
+SHA256 (older-packages/js-tests-20021118.tar.gz) = 75878c90ed8641aaddcf4cb0b277353c6e7be31e6539beffa44f33bdfe69181f
+SIZE (older-packages/js-tests-20021118.tar.gz) = 803198
 MD5 (spidermonkey-patch-tests-ecma.bz2) = 73ec1e37821deff69e68eac2192a2cd2
+SHA256 (spidermonkey-patch-tests-ecma.bz2) = 9f6ef721145e12bfca1a8ecdd0e8692fc916fef792927d9503bd40bb86f15f21
 SIZE (spidermonkey-patch-tests-ecma.bz2) = 5702
 MD5 (spidermonkey-patch-tests-timezone.bz2) = 9b392c970d878f3defcd7e3e7ddeb0b5
+SHA256 (spidermonkey-patch-tests-timezone.bz2) = 94322a6541303ac66ffad5cdfdc4af8d5ec14ce74c2dc4709736941abd4bd8bf
 SIZE (spidermonkey-patch-tests-timezone.bz2) = 7658
 MD5 (spidermonkey-patch-tests-js.bz2) = 20770d4e82fff61c1bbb5ff91d2551ec
+SHA256 (spidermonkey-patch-tests-js.bz2) = f930c31005778eeb40f4d3fa10a6d65ab2991c95c990c60712f9d2696c041088
 SIZE (spidermonkey-patch-tests-js.bz2) = 3685
diff -ruN spidermonkey.orig/files/patch-config spidermonkey/files/patch-config
--- spidermonkey.orig/files/patch-config	Sat Jan  7 02:07:46 2006
+++ spidermonkey/files/patch-config	Sat Jan  7 02:07:56 2006
@@ -27,9 +27,10 @@
 +	$(CC) -o $@ $(CFLAGS) $(PROG_OBJS) -L$(OBJDIR) -ljs $(LDFLAGS) $(OTHER_LIBS) \
  	    $(PROG_LIBS)
  endif
---- config/Linux_All.mk	Thu May 15 20:21:08 2003
-+++ config/Linux_All.mk	Wed Aug 10 23:46:05 2005
-@@ -37,7 +37,7 @@
+--- config/Linux_All.mk.orig	Tue May 10 15:53:44 2005
++++ config/Linux_All.mk	Sat Dec 10 21:17:45 2005
+@@ -41,9 +41,9 @@
+ # Config for all versions of Linux
  #
  
 -CC = gcc
@@ -40,14 +41,18 @@
 +CFLAGS +=  -Wall -Werror	# XXX do these work with non-gcc and non-icc?
  OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R
  
-@@ -70,5 +70,5 @@
+ RANLIB = echo
+@@ -74,7 +74,7 @@
+ 
  GFX_ARCH = x
  
 -OS_LIBS = -lm -lc
 +OS_LIBS = -lm
  
  ASFLAGS += -x assembler-with-cpp
-@@ -84,15 +84,11 @@
+ 
+@@ -88,16 +88,12 @@
+ endif
  
  # Use the editline library to provide line-editing support.
 -JS_EDITLINE = 1
@@ -56,7 +61,7 @@
 -ifeq ($(CPU_ARCH),x86_64)
 -# Use VA_COPY() standard macro on x86-64
 -# FIXME: better use it everywhere
- OS_CFLAGS += -DHAVE_VA_COPY
+ OS_CFLAGS += -DHAVE_VA_COPY -DVA_COPY=va_copy
 -endif
  
 -ifeq ($(CPU_ARCH),x86_64)
diff -ruN spidermonkey.orig/files/patch-config.orig spidermonkey/files/patch-config.orig
--- spidermonkey.orig/files/patch-config.orig	Wed Dec 31 19:00:00 1969
+++ spidermonkey/files/patch-config.orig	Thu Aug 11 00:00:00 2005
@@ -0,0 +1,78 @@
+--- Makefile.ref	Fri Nov 14 19:10:55 2003
++++ Makefile.ref	Sat Aug  6 12:25:36 2005
+@@ -56,6 +56,4 @@
+ ifdef USE_MSVC
+ OTHER_LIBS += fdlibm/$(OBJDIR)/fdlibm.lib
+-else
+-OTHER_LIBS += -Lfdlibm/$(OBJDIR) -lfdm
+ endif
+ 
+@@ -242,10 +240,6 @@
+ 	$(NULL)
+ 
+-PREDIRS	+= fdlibm
+-
+ ifdef USE_MSVC
+ FDLIBM_LIBRARY = fdlibm/$(OBJDIR)/fdlibm.lib
+-else
+-FDLIBM_LIBRARY = fdlibm/$(OBJDIR)/libfdm.a
+ endif
+ JSMATH_PRELINK	= $(OBJDIR)/jsmathtemp.o
+@@ -301,6 +295,6 @@
+ 	link.exe -out:"$@" $(EXE_LINK_FLAGS) $^
+ else
+-$(PROGRAM): $(PROG_OBJS) $(LIBRARY) $(FDLIBM_LIBRARY)
+-	$(CC) -o $@ $(CFLAGS) $(PROG_OBJS) $(LIBRARY) $(LDFLAGS) $(OTHER_LIBS) \
++$(PROGRAM): $(PROG_OBJS) $(SHARED_LIBRARY) $(FDLIBM_LIBRARY)
++	$(CC) -o $@ $(CFLAGS) $(PROG_OBJS) -L$(OBJDIR) -ljs $(LDFLAGS) $(OTHER_LIBS) \
+ 	    $(PROG_LIBS)
+ endif
+--- config/Linux_All.mk	Thu May 15 20:21:08 2003
++++ config/Linux_All.mk	Wed Aug 10 23:46:05 2005
+@@ -37,7 +37,7 @@
+ #
+ 
+-CC = gcc
+-CCC = g++
+-CFLAGS +=  -Wall -Wno-format
++CC ?= gcc
++CCC ?= g++
++CFLAGS +=  -Wall -Werror	# XXX do these work with non-gcc and non-icc?
+ OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R
+ 
+@@ -70,5 +70,5 @@
+ GFX_ARCH = x
+ 
+-OS_LIBS = -lm -lc
++OS_LIBS = -lm
+ 
+ ASFLAGS += -x assembler-with-cpp
+@@ -84,15 +84,11 @@
+ 
+ # Use the editline library to provide line-editing support.
+-JS_EDITLINE = 1
++JS_READLINE = 1
+ 
+-ifeq ($(CPU_ARCH),x86_64)
+-# Use VA_COPY() standard macro on x86-64
+-# FIXME: better use it everywhere
+ OS_CFLAGS += -DHAVE_VA_COPY
+-endif
+ 
+-ifeq ($(CPU_ARCH),x86_64)
+-# We need PIC code for shared libraries
+-# FIXME: better patch rules.mk & fdlibm/Makefile*
++ifeq ($(CPU_ARCH),sparc64)
+ OS_CFLAGS += -DPIC -fPIC
++else
++OS_CFLAGS += -DPIC -fpic
+ endif
+--- rules.mk	Fri Nov 14 19:11:04 2003
++++ rules.mk	Mon Aug  8 14:40:36 2005
+@@ -59,5 +59,5 @@
+ TARGETS += $(SHARED_LIBRARY) $(PROGRAM)  # it is now
+ else
+-TARGETS += $(LIBRARY) $(SHARED_LIBRARY) $(PROGRAM) 
++TARGETS += $(SHARED_LIBRARY) $(PROGRAM) 
+ endif
+ 
diff -ruN spidermonkey.orig/files/patch-warnings spidermonkey/files/patch-warnings
--- spidermonkey.orig/files/patch-warnings	Sat Jan  7 02:07:46 2006
+++ spidermonkey/files/patch-warnings	Sat Jan  7 02:07:56 2006
@@ -227,13 +227,6 @@
 +    sharpid = (jsatomid)(uintptr_t)he->value;
      if (sharpid == 0) {
          *sp = NULL;
-@@ -1104,5 +1104,5 @@
-     const JSResolvingKey *key = (const JSResolvingKey *)ptr;
- 
--    return ((JSDHashNumber)key->obj >> JSVAL_TAGBITS) ^ key->id;
-+    return ((JSDHashNumber)(uintptr_t)key->obj >> JSVAL_TAGBITS) ^ key->id;
- }
- 
 --- jsopcode.c	Thu Jun 10 00:33:52 2004
 +++ jsopcode.c	Sat Aug  6 19:13:50 2005
 @@ -181,5 +181,5 @@
@@ -254,23 +247,6 @@
 +            fprintf(fp, "\n\t%d: %td", i, off);
              pc2 += jmplen;
          }
-@@ -230,5 +230,5 @@
-       {
-         jsbytecode *pc2;
--        jsint npairs;
-+        int npairs;
- 
-         jmplen = (type == JOF_LOOKUPSWITCH) ? JUMP_OFFSET_LEN
-@@ -237,7 +237,7 @@
-         off = GetJumpOffset(pc, pc2);
-         pc2 += jmplen;
--        npairs = (jsint) GET_ATOM_INDEX(pc2);
-+        npairs = GET_ATOM_INDEX(pc2);
-         pc2 += ATOM_INDEX_LEN;
--        fprintf(fp, " offset %d npairs %u", off, (uintN) npairs);
-+        fprintf(fp, " offset %td npairs %d", off, npairs);
-         while (npairs) {
-             atom = GET_ATOM(cx, script, pc2);
 @@ -253,5 +253,5 @@
              if (!cstr)
                  return 0;
diff -ruN spidermonkey.orig/files/patch-warnings.orig spidermonkey/files/patch-warnings.orig
--- spidermonkey.orig/files/patch-warnings.orig	Wed Dec 31 19:00:00 1969
+++ spidermonkey/files/patch-warnings.orig	Thu Aug 11 00:00:00 2005
@@ -0,0 +1,355 @@
+--- jspubtd.h	Thu Apr  7 15:54:07 2005
++++ jspubtd.h	Thu Aug  4 23:52:12 2005
+@@ -517,5 +517,5 @@
+ (* JS_DLL_CALLBACK JSArgumentFormatter)(JSContext *cx, const char *format,
+                                         JSBool fromJS, jsval **vpp,
+-                                        va_list *app);
++                                        va_list app);
+ #endif
+ 
+--- jsdhash.c	Wed Jan 14 21:00:53 2004
++++ jsdhash.c	Fri Aug  5 00:15:04 2005
+@@ -92,5 +92,5 @@
+ JS_DHashVoidPtrKeyStub(JSDHashTable *table, const void *key)
+ {
+-    return (JSDHashNumber)key >> 2;
++    return (JSDHashNumber)(uintptr_t)key >> 2;
+ }
+ 
+--- jsstr.c	Fri Jun  3 15:07:49 2005
++++ jsstr.c	Fri Aug  5 01:31:08 2005
+@@ -2596,5 +2596,5 @@
+ js_hash_string_pointer(const void *key)
+ {
+-    return (JSHashNumber)key >> JSVAL_TAGBITS;
++    return (JSHashNumber)(uintptr_t)key >> JSVAL_TAGBITS;
+ }
+ 
+--- jsobj.h	Wed Sep  1 17:33:16 2004
++++ jsobj.h	Fri Aug  5 01:16:56 2005
+@@ -238,12 +238,12 @@
+ };
+ 
+-#define SHARP_BIT       ((jsatomid) 1)
+-#define BUSY_BIT        ((jsatomid) 2)
++#define SHARP_BIT       ((uintptr_t) 1)
++#define BUSY_BIT        ((uintptr_t) 2)
+ #define SHARP_ID_SHIFT  2
+-#define IS_SHARP(he)    ((jsatomid)(he)->value & SHARP_BIT)
+-#define MAKE_SHARP(he)  ((he)->value = (void*)((jsatomid)(he)->value|SHARP_BIT))
+-#define IS_BUSY(he)     ((jsatomid)(he)->value & BUSY_BIT)
+-#define MAKE_BUSY(he)   ((he)->value = (void*)((jsatomid)(he)->value|BUSY_BIT))
+-#define CLEAR_BUSY(he)  ((he)->value = (void*)((jsatomid)(he)->value&~BUSY_BIT))
++#define IS_SHARP(he)    ((uintptr_t)(he)->value & SHARP_BIT)
++#define MAKE_SHARP(he)  ((he)->value = (void*)((uintptr_t)(he)->value|SHARP_BIT))
++#define IS_BUSY(he)     ((uintptr_t)(he)->value & BUSY_BIT)
++#define MAKE_BUSY(he)   ((he)->value = (void*)((uintptr_t)(he)->value|BUSY_BIT))
++#define CLEAR_BUSY(he)  ((he)->value = (void*)((uintptr_t)(he)->value&~BUSY_BIT))
+ 
+ extern JSHashEntry *
+--- jstypes.h	Fri Nov 14 19:11:04 2003
++++ jstypes.h	Thu Aug  4 23:54:13 2005
+@@ -378,6 +378,7 @@
+ ** A JSWord is an integer that is the same size as a void*
+ */
++#include <inttypes.h>
+-typedef long JSWord;
+-typedef unsigned long JSUword;
++typedef intptr_t JSWord;
++typedef uintptr_t JSUword;
+ 
+ #include "jsotypes.h"
+--- jsosdep.h	Fri Nov 14 19:10:59 2003
++++ jsosdep.h	Fri Aug  5 00:50:44 2005
+@@ -102,5 +102,5 @@
+ #define JS_HAVE_LONG_LONG
+ 
+-#elif defined(FREEBSD)
++#elif defined(FREEBSD) || defined(__FreeBSD__)
+ #define JS_HAVE_LONG_LONG
+ 
+--- jsdtoa.c	Sat Apr  3 17:11:11 2004
++++ jsdtoa.c	Fri Aug  5 00:28:15 2005
+@@ -258,5 +258,5 @@
+ #define set_word1(x, y) JSDOUBLE_SET_LO32(x, y)
+ 
+-#define Storeinc(a,b,c) (*(a)++ = (b) << 16 | (c) & 0xffff)
++#define Storeinc(a,b,c) (*(a)++ = (b) << 16 | ((c) & 0xffff))
+ 
+ /* #define P DBL_MANT_DIG */
+@@ -990,5 +990,6 @@
+ {
+     register Long L;
+-    double a;
++    double a = 0.;	/* only need to initialize to calm the compiler.
++			 * set_word0 and set_word1 set a, but in two stages */
+ 
+     L = (word0(x) & Exp_mask) - (P-1)*Exp_msk1;
+@@ -1021,5 +1022,5 @@
+     ULong *xa, *xa0, w, y, z;
+     int32 k;
+-    double d;
++    double d = 0.;
+ #define d0 word0(d)
+ #define d1 word1(d)
+@@ -1837,4 +1838,5 @@
+ #ifdef Avoid_Underflow
+     if (scale) {
++        rv0 = 0.; /* calm the compiler warning */
+         set_word0(rv0, Exp_1 - P*Exp_msk1);
+         set_word1(rv0, 0);
+--- jsatom.h	Wed Feb 11 02:21:59 2004
++++ jsatom.h	Fri Aug  5 01:21:44 2005
+@@ -96,5 +96,5 @@
+ 
+ #define ALE_ATOM(ale)   ((JSAtom *) (ale)->entry.key)
+-#define ALE_INDEX(ale)  ((jsatomid) (ale)->entry.value)
++#define ALE_INDEX(ale)  ((jsatomid)(uintptr_t)(ale)->entry.value)
+ #define ALE_JSOP(ale)   ((JSOp) (ale)->entry.value)
+ #define ALE_VALUE(ale)  ((jsval) (ale)->entry.value)
+--- jsatom.c	Tue Jul  6 03:49:18 2004
++++ jsatom.c	Fri Aug  5 01:23:29 2005
+@@ -137,5 +137,5 @@
+ #endif
+ 
+-#define HASH_OBJECT(o)  ((JSHashNumber)(o) >> JSVAL_TAGBITS)
++#define HASH_OBJECT(o)  ((JSHashNumber)(uintptr_t)(o) >> JSVAL_TAGBITS)
+ #define HASH_INT(i)     ((JSHashNumber)(i))
+ #define HASH_DOUBLE(dp) ((JSHashNumber)(JSDOUBLE_HI32(*dp) ^ JSDOUBLE_LO32(*dp)))
+@@ -834,5 +834,5 @@
+         }
+ 
+-        ALE_SET_INDEX(ale, al->count++);
++        ALE_SET_INDEX(ale, (intptr_t)al->count++);
+     }
+     return ale;
+--- jsscript.c	Fri Jul  8 21:48:08 2005
++++ jsscript.c	Fri Aug  5 01:29:26 2005
+@@ -322,5 +322,5 @@
+     if (!JS_XDRUint32(xdr, &index))
+         return JS_FALSE;
+-    ALE_SET_INDEX(ale, index);
++    ALE_SET_INDEX(ale, (uintptr_t)index);
+ 
+     if (!JS_XDRValue(xdr, &value))
+@@ -338,5 +338,5 @@
+ {
+     uint32 length;
+-    uintN i;
++    uintptr_t i;
+     JSBool ok;
+ 
+--- jsinterp.c	Fri Jun  4 21:39:32 2004
++++ jsinterp.c	Sat Aug  6 18:56:29 2005
+@@ -1382,9 +1382,9 @@
+     jsbytecode *pc, *pc2, *endpc;
+     JSOp op, op2;
+-    const JSCodeSpec *cs;
++    const JSCodeSpec *cs = NULL;
+     JSAtom *atom;
+     uintN argc, slot, attrs;
+     jsval *vp, lval, rval, ltmp, rtmp;
+-    jsid id;
++    jsid id = -1L; /* initialize to something awful */
+     JSObject *withobj, *origobj, *propobj;
+     jsval iter_state;
+@@ -1398,5 +1398,5 @@
+     JSType type;
+ #ifdef DEBUG
+-    FILE *tracefp;
++    FILE *tracefp = NULL;
+ #endif
+ #if JS_HAS_EXPORT_IMPORT
+@@ -1475,4 +1475,5 @@
+         JS_ReportErrorNumber(cx, js_GetErrorMessage, NULL, JSMSG_OVER_RECURSED);
+         ok = JS_FALSE;
++        sp = NULL;
+         goto out;
+     }
+@@ -1484,4 +1485,5 @@
+     if (!newsp) {
+         ok = JS_FALSE;
++        sp = NULL;
+         goto out;
+     }
+@@ -1517,5 +1519,5 @@
+                     }
+                 }
+-                fprintf(tracefp, " @ %d\n", sp - fp->spbase);
++                fprintf(tracefp, " @ %td\n", sp - fp->spbase);
+             }
+         }
+@@ -4209,5 +4211,5 @@
+                     }
+                 }
+-                fprintf(tracefp, " @ %d\n", sp - fp->spbase);
++                fprintf(tracefp, " @ %td\n", sp - fp->spbase);
+             }
+             fprintf(tracefp, "  stack: ");
+--- jsobj.c	Wed Jun  2 17:20:56 2004
++++ jsobj.c	Sat Aug  6 19:08:39 2005
+@@ -378,5 +378,5 @@
+ js_hash_object(const void *key)
+ {
+-    return (JSHashNumber)key >> JSVAL_TAGBITS;
++    return (JSHashNumber)(uintptr_t)key >> JSVAL_TAGBITS;
+ }
+ 
+@@ -407,5 +407,5 @@
+     if (!he) {
+         sharpid = 0;
+-        he = JS_HashTableRawAdd(table, hep, hash, obj, (void *)sharpid);
++        he = JS_HashTableRawAdd(table, hep, hash, obj, (void *)(uintptr_t)sharpid);
+         if (!he) {
+             JS_ReportOutOfMemory(cx);
+@@ -461,8 +461,8 @@
+             return NULL;
+     } else {
+-        sharpid = (jsatomid) he->value;
++        sharpid = (jsatomid)(uintptr_t)he->value;
+         if (sharpid == 0) {
+             sharpid = ++map->sharpgen << SHARP_ID_SHIFT;
+-            he->value = (void *) sharpid;
++            he->value = (void *)(uintptr_t)sharpid;
+         }
+         ida = NULL;
+@@ -505,5 +505,5 @@
+         if (!he)
+             goto bad;
+-        JS_ASSERT((((jsatomid) he->value) & SHARP_BIT) == 0);
++        JS_ASSERT((((uintptr_t)he->value) & SHARP_BIT) == 0);
+         if (!idap) {
+             JS_DestroyIdArray(cx, ida);
+@@ -534,5 +534,5 @@
+     }
+ 
+-    sharpid = (jsatomid) he->value;
++    sharpid = (jsatomid)(uintptr_t)he->value;
+     if (sharpid == 0) {
+         *sp = NULL;
+@@ -1104,5 +1104,5 @@
+     const JSResolvingKey *key = (const JSResolvingKey *)ptr;
+ 
+-    return ((JSDHashNumber)key->obj >> JSVAL_TAGBITS) ^ key->id;
++    return ((JSDHashNumber)(uintptr_t)key->obj >> JSVAL_TAGBITS) ^ key->id;
+ }
+ 
+--- jsopcode.c	Thu Jun 10 00:33:52 2004
++++ jsopcode.c	Sat Aug  6 19:13:50 2005
+@@ -181,5 +181,5 @@
+       case JOF_JUMPX:
+         off = GetJumpOffset(pc, pc);
+-        fprintf(fp, " %u (%d)", loc + off, off);
++        fprintf(fp, " %tu (%td)", loc + off, off);
+         break;
+ 
+@@ -216,8 +216,8 @@
+         high = GET_JUMP_OFFSET(pc2);
+         pc2 += JUMP_OFFSET_LEN;
+-        fprintf(fp, " defaultOffset %d low %d high %d", off, low, high);
++        fprintf(fp, " defaultOffset %td low %d high %d", off, low, high);
+         for (i = low; i <= high; i++) {
+             off = GetJumpOffset(pc, pc2);
+-            fprintf(fp, "\n\t%d: %d", i, off);
++            fprintf(fp, "\n\t%d: %td", i, off);
+             pc2 += jmplen;
+         }
+@@ -230,5 +230,5 @@
+       {
+         jsbytecode *pc2;
+-        jsint npairs;
++        int npairs;
+ 
+         jmplen = (type == JOF_LOOKUPSWITCH) ? JUMP_OFFSET_LEN
+@@ -237,7 +237,7 @@
+         off = GetJumpOffset(pc, pc2);
+         pc2 += jmplen;
+-        npairs = (jsint) GET_ATOM_INDEX(pc2);
++        npairs = GET_ATOM_INDEX(pc2);
+         pc2 += ATOM_INDEX_LEN;
+-        fprintf(fp, " offset %d npairs %u", off, (uintN) npairs);
++        fprintf(fp, " offset %td npairs %d", off, npairs);
+         while (npairs) {
+             atom = GET_ATOM(cx, script, pc2);
+@@ -253,5 +253,5 @@
+             if (!cstr)
+                 return 0;
+-            fprintf(fp, "\n\t%s: %d", cstr, off);
++            fprintf(fp, "\n\t%s: %td", cstr, off);
+             JS_free(cx, cstr);
+             npairs--;
+--- jsparse.c	Mon Mar 29 22:20:03 2004
++++ jsparse.c	Sat Aug  6 19:15:27 2005
+@@ -876,5 +876,5 @@
+                 return NULL;
+         }
+-        ALE_SET_JSOP(ale, tc->topStmt ? JSOP_CLOSURE : JSOP_DEFFUN);
++        ALE_SET_JSOP(ale, (uintptr_t)(tc->topStmt ? JSOP_CLOSURE : JSOP_DEFFUN));
+ 
+ #if JS_HAS_LEXICAL_CLOSURE
+--- jsprf.c	Wed Feb 25 08:33:42 2004
++++ jsprf.c	Sat Aug  6 19:18:26 2005
+@@ -56,5 +56,5 @@
+ */
+ #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]
+--- js.c	Wed Feb 11 02:21:59 2004
++++ js.c	Sat Aug  6 19:23:09 2005
+@@ -921,5 +921,5 @@
+         delta = SN_DELTA(sn);
+         offset += delta;
+-        fprintf(gOutFile, "%3u: %5u [%4u] %-8s",
++        fprintf(gOutFile, "%3tu: %5u [%4u] %-8s",
+                 PTRDIFF(sn, notes, jssrcnote), offset, delta,
+                 js_SrcNoteSpec[SN_TYPE(sn)].name);
+@@ -1006,5 +1006,5 @@
+     fprintf(gOutFile, "\nException table:\nstart\tend\tcatch\n");
+     while (tn->start && tn->catchStart) {
+-        fprintf(gOutFile, "  %d\t%d\t%d\n",
++        fprintf(gOutFile, "  %td\t%td\t%td\n",
+                tn->start, tn->start + tn->length, tn->catchStart);
+         tn++;
+@@ -1222,6 +1222,6 @@
+ #undef  DUMP_ATTR
+ 
+-        fprintf(fp, " slot %lu flags %x shortid %d\n",
+-                sprop->slot, sprop->flags, sprop->shortid);
++        fprintf(fp, " slot %u flags %x shortid %d\n",
++                (unsigned)sprop->slot, (int)sprop->flags, (int)sprop->shortid);
+     }
+ }
+--- jsapi.c	Wed Jun 16 17:42:39 2004
++++ jsapi.c	Mon Aug  8 02:32:15 2005
+@@ -126,5 +126,5 @@
+ static JSBool
+ TryArgumentFormatter(JSContext *cx, const char **formatp, JSBool fromJS,
+-                     jsval **vpp, va_list *app)
++                     jsval **vpp, va_list app)
+ {
+     const char *format;
+@@ -264,6 +264,5 @@
+           default:
+             format--;
+-            if (!TryArgumentFormatter(cx, &format, JS_TRUE, &sp,
+-                                      JS_ADDRESSOF_VA_LIST(ap))) {
++            if (!TryArgumentFormatter(cx, &format, JS_TRUE, &sp, ap)) {
+                 return JS_FALSE;
+             }
+@@ -367,6 +366,5 @@
+           default:
+             format--;
+-            if (!TryArgumentFormatter(cx, &format, JS_FALSE, &sp,
+-                                      JS_ADDRESSOF_VA_LIST(ap))) {
++            if (!TryArgumentFormatter(cx, &format, JS_FALSE, &sp, ap)) {
+                 goto bad;
+             }
+@@ -2190,5 +2188,5 @@
+ 
+     if (attrs & JSPROP_INDEX) {
+-        id = INT_TO_JSVAL((jsint)name);
++        id = INT_TO_JSVAL(name);
+         atom = NULL;
+         attrs &= ~JSPROP_INDEX;


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200601081836.k08Iafkn001312>