hints from martin@netbsd, many thanks!
ok naddy@
This commit is contained in:
landry 2010-03-25 16:34:09 +00:00
parent 796c7bf27e
commit 0e2574af7a
2 changed files with 38 additions and 2 deletions

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.35 2010/02/24 16:59:49 sthen Exp $
# $OpenBSD: Makefile,v 1.36 2010/03/25 16:34:09 landry Exp $
SHARED_ONLY= Yes
ONLY_FOR_ARCHS= alpha amd64 arm i386 powerpc sparc sparc64
@ -7,7 +7,7 @@ COMMENT= redesign of Mozilla's browser component
VER= 3.5.8
DISTNAME= mozilla-1.9.1
PKGNAME= firefox35-${VER}
PKGNAME= firefox35-${VER}p0
SO_VERSION= 22.0
# NOTE: Must bump minor version if any shlib's are removed from the
# components dir to avoid pkg_add -r issues.

View File

@ -0,0 +1,36 @@
$OpenBSD: patch-js_src_jsscript_cpp,v 1.1 2010/03/25 16:34:09 landry Exp $
Fix alignment issues on sparc64
https://bugzilla.mozilla.org/show_bug.cgi?id=514645
http://hg.mozilla.org/mozilla-central/rev/4c38883a0438
--- js/src/jsscript.cpp.orig Thu Mar 25 09:11:45 2010
+++ js/src/jsscript.cpp Thu Mar 25 09:13:11 2010
@@ -1430,14 +1430,6 @@ js_NewScript(JSContext *cx, uint32 length, uint32 nsrc
cursor += vectorSize;
}
- if (nupvars != 0) {
- JS_SCRIPT_UPVARS(script)->length = nupvars;
- JS_SCRIPT_UPVARS(script)->vector = (uint32 *)cursor;
- vectorSize = nupvars * sizeof(JS_SCRIPT_UPVARS(script)->vector[0]);
- memset(cursor, 0, vectorSize);
- cursor += vectorSize;
- }
-
if (nregexps != 0) {
JS_SCRIPT_REGEXPS(script)->length = nregexps;
JS_SCRIPT_REGEXPS(script)->vector = (JSObject **)cursor;
@@ -1453,6 +1445,14 @@ js_NewScript(JSContext *cx, uint32 length, uint32 nsrc
#ifdef DEBUG
memset(cursor, 0, vectorSize);
#endif
+ cursor += vectorSize;
+ }
+
+ if (nupvars != 0) {
+ JS_SCRIPT_UPVARS(script)->length = nupvars;
+ JS_SCRIPT_UPVARS(script)->vector = (uint32 *)cursor;
+ vectorSize = nupvars * sizeof(JS_SCRIPT_UPVARS(script)->vector[0]);
+ memset(cursor, 0, vectorSize);
cursor += vectorSize;
}