From owner-freebsd-gecko@FreeBSD.ORG Sat Dec 19 03:00:33 2009 Return-Path: Delivered-To: freebsd-gecko@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BDEC5106568B for ; Sat, 19 Dec 2009 03:00:33 +0000 (UTC) (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: from trillian.chruetertee.ch (trillian.chruetertee.ch [217.150.245.56]) by mx1.freebsd.org (Postfix) with ESMTP id 670458FC13 for ; Sat, 19 Dec 2009 03:00:33 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian [217.150.245.56]) by trillian.chruetertee.ch (8.14.3/8.14.3) with ESMTP id nBJ30Wlc098196 for ; Sat, 19 Dec 2009 03:00:32 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: (from www@localhost) by trillian.chruetertee.ch (8.14.3/8.14.3/Submit) id nBJ30RrB097905 for freebsd-gecko@freebsd.org; Sat, 19 Dec 2009 03:00:27 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Date: Sat, 19 Dec 2009 03:00:27 GMT Message-Id: <200912190300.nBJ30RrB097905@trillian.chruetertee.ch> X-Authentication-Warning: trillian.chruetertee.ch: www set sender to svn-freebsd-gecko@chruetertee.ch using -f From: svn-freebsd-gecko@chruetertee.ch To: freebsd-gecko@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [SVN-Commit] r220 - in trunk/www/libxul: . files X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: freebsd-gecko@freebsd.org List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 19 Dec 2009 03:00:33 -0000 Author: beat Date: Sat Dec 19 03:00:26 2009 New Revision: 220 Log: - Fix build on sparc64 Tested by: Simon Griffiths , Anton Shterenlikht Patch for libxul 1.9.1.x provided by: andreast Modified: trunk/www/libxul/Makefile trunk/www/libxul/files/patch-xptcall-sparc64 Modified: trunk/www/libxul/Makefile ============================================================================== --- trunk/www/libxul/Makefile Sat Dec 19 02:44:52 2009 (r219) +++ trunk/www/libxul/Makefile Sat Dec 19 03:00:26 2009 (r220) @@ -49,10 +49,6 @@ .include -.if ${ARCH} == "sparc64" -BROKEN= Does not compile on sparc64 -.endif - post-patch: ${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|${PTHREAD_LIBS:C/-pthread/${GECKO_PTHREAD_LIBS}/}|' \ ${WRKSRC}/storage/build/Makefile.in \ Modified: trunk/www/libxul/files/patch-xptcall-sparc64 ============================================================================== --- trunk/www/libxul/files/patch-xptcall-sparc64 Sat Dec 19 02:44:52 2009 (r219) +++ trunk/www/libxul/files/patch-xptcall-sparc64 Sat Dec 19 03:00:26 2009 (r220) @@ -1,6 +1,6 @@ ---- /dev/null Mon May 26 13:22:00 2003 -+++ xpcom/reflect/xptcall/src/md/unix/xptcstubs_sparc64_freebsd.cpp Mon May 26 04:12:55 2003 -@@ -0,0 +1,123 @@ +--- xpcom/reflect/xptcall/src/md/unix/xptcstubs_sparc64_freebsd.cpp.orig 2009-09-30 22:48:25.000000000 +0200 ++++ xpcom/reflect/xptcall/src/md/unix/xptcstubs_sparc64_freebsd.cpp 2009-09-30 23:09:48.000000000 +0200 +@@ -0,0 +1,125 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * The contents of this file are subject to the Mozilla Public @@ -27,6 +27,7 @@ +/* Implement shared vtbl methods. */ + +#include "xptcprivate.h" ++#include "xptiprivate.h" + +#if defined(sparc) || defined(__sparc__) + @@ -38,7 +39,6 @@ + + nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT]; + nsXPTCMiniVariant* dispatchParams = NULL; -+ nsIInterfaceInfo* iface_info = NULL; + const nsXPTMethodInfo* info; + PRUint8 paramCount; + PRUint8 i; @@ -46,11 +46,10 @@ + + NS_ASSERTION(self,"no self"); + -+ self->GetInterfaceInfo(&iface_info); -+ NS_ASSERTION(iface_info,"no interface info"); -+ -+ iface_info->GetMethodInfo(PRUint16(methodIndex), &info); -+ NS_ASSERTION(info,"no interface info"); ++ self->mEntry->GetMethodInfo(PRUint16(methodIndex), &info); ++ NS_ASSERTION(info,"no method info"); ++ if (! info) ++ return NS_ERROR_UNEXPECTED; + + paramCount = info->GetParamCount(); + @@ -59,8 +58,12 @@ + dispatchParams = new nsXPTCMiniVariant[paramCount]; + else + dispatchParams = paramBuffer; ++ + NS_ASSERTION(dispatchParams,"no place for params"); + ++ if (! dispatchParams) ++ return NS_ERROR_OUT_OF_MEMORY; ++ + PRUint64* ap = args; + for(i = 0; i < paramCount; i++, ap++) + { @@ -95,10 +98,9 @@ + } + } + -+ result = self->CallMethod((PRUint16)methodIndex, info, dispatchParams); -+ -+ NS_RELEASE(iface_info); -+ ++ result = self->mOuter->CallMethod((PRUint16)methodIndex, info, ++ dispatchParams); ++ + if(dispatchParams != paramBuffer) + delete [] dispatchParams; + @@ -124,8 +126,8 @@ +#include "xptcstubsdef.inc" + +#endif /* sparc || __sparc__ */ ---- /dev/null Mon May 26 13:22:00 2003 -+++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_sparc64_freebsd.s Mon May 26 04:06:09 2003 +--- xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_sparc64_freebsd.s.orig 2009-09-30 22:48:25.000000000 +0200 ++++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_sparc64_freebsd.s 2009-09-30 22:48:25.000000000 +0200 @@ -0,0 +1,104 @@ +/* -*- Mode: asm; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * @@ -161,15 +163,15 @@ + The SCD is available from http://www.sparc.com/. +*/ + -+ .global XPTC_InvokeByIndex -+ .type XPTC_InvokeByIndex, #function ++ .global NS_InvokeByIndex_P ++ .type NS_InvokeByIndex_P, #function + +/* -+ XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex, ++ NS_InvokeByIndex_P(nsISupports* that, PRUint32 methodIndex, + PRUint32 paramCount, nsXPTCVariant* params); + +*/ -+XPTC_InvokeByIndex: ++NS_InvokeByIndex_P: + save %sp,-(128 + 64),%sp ! room for the register window and + ! struct pointer, rounded up to 0 % 64 + sll %i2,4,%l0 ! assume the worst case @@ -230,9 +232,9 @@ + ret + restore + -+ .size XPTC_InvokeByIndex, .-XPTC_InvokeByIndex ---- /dev/null Mon May 26 14:00:00 2003 -+++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_sparc64_freebsd.cpp Mon May 26 14:00:49 2003 ++ .size NS_InvokeByIndex_P, .-NS_InvokeByIndex_P +--- xpcom/reflect/xptcall/src/md/unix/xptcinvoke_sparc64_freebsd.cpp.orig 2009-09-30 22:48:25.000000000 +0200 ++++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_sparc64_freebsd.cpp 2009-09-30 22:48:25.000000000 +0200 @@ -0,0 +1,91 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + *