Date: Fri, 2 Oct 2009 14:38:48 GMT From: svn-freebsd-gecko@chruetertee.ch To: freebsd-gecko@freebsd.org Subject: [SVN-Commit] r125 - in branches/experimental/www/libxul: . files Message-ID: <200910021438.n92EcmIT031332@trillian.chruetertee.ch>
next in thread | raw e-mail | index | archive | help
Author: andreast Date: Fri Oct 2 14:38:48 2009 New Revision: 125 Log: Fix sparc64 support. Added: branches/experimental/www/libxul/files/patch-js-src-configure.in Modified: branches/experimental/www/libxul/Makefile branches/experimental/www/libxul/files/patch-security_coreconf_FreeBSD.mk branches/experimental/www/libxul/files/patch-xptcall-sparc64 Modified: branches/experimental/www/libxul/Makefile ============================================================================== --- branches/experimental/www/libxul/Makefile Thu Oct 1 15:12:16 2009 (r124) +++ branches/experimental/www/libxul/Makefile Fri Oct 2 14:38:48 2009 (r125) @@ -19,6 +19,7 @@ LIB_DEPENDS?= dbus-glib-1.2:${PORTSDIR}/devel/dbus-glib +USE_AUTOTOOLS= autoconf:213 CONFLICTS= mozilla-[0-9]* xulrunner-[0-9]* GECKO_PLIST_PRE_DIRS= lib/${MOZILLA}/bin lib/${MOZILLA}/idl \ lib/${MOZILLA}/include lib/${MOZILLA}/lib \ @@ -60,9 +61,6 @@ EXTRA_PATCHES= ${FILESDIR}/libsydney_oss .endif -.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}/}|' \ @@ -74,6 +72,9 @@ s|/usr/X11R6|${LOCALBASE}|g' \ ${WRKSRC}/js/src/configure +pre-configure: + (cd ${WRKSRC}/js/src/ && ${AUTOCONF}) + post-build: @${REINPLACE_CMD} -e "s|\(Libs:.*\)\($$\)|\1 -Wl,-rpath,${PREFIX}/lib/${MOZ_RPATH}\2| ; \ s|%sdkdir%|%sdkdir%/sdk|g ; \ Added: branches/experimental/www/libxul/files/patch-js-src-configure.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ branches/experimental/www/libxul/files/patch-js-src-configure.in Fri Oct 2 14:38:48 2009 (r125) @@ -0,0 +1,13 @@ +--- js/src/configure.in.orig 2009-09-30 21:50:26.000000000 +0200 ++++ js/src/configure.in 2009-09-30 21:50:44.000000000 +0200 +@@ -2467,10 +2467,6 @@ + ENABLE_JIT=1 + NANOJIT_ARCH=ARM + ;; +-sparc*-*) +- ENABLE_JIT=1 +- NANOJIT_ARCH=Sparc +- ;; + esac + + MOZ_ARG_DISABLE_BOOL(jit, Modified: branches/experimental/www/libxul/files/patch-security_coreconf_FreeBSD.mk ============================================================================== --- branches/experimental/www/libxul/files/patch-security_coreconf_FreeBSD.mk Thu Oct 1 15:12:16 2009 (r124) +++ branches/experimental/www/libxul/files/patch-security_coreconf_FreeBSD.mk Fri Oct 2 14:38:48 2009 (r125) @@ -1,6 +1,6 @@ --- security/coreconf/FreeBSD.mk.orig 2009-08-24 17:52:57.000000000 +0200 -+++ security/coreconf/FreeBSD.mk 2009-09-27 21:08:00.000000000 +0200 -@@ -37,16 +37,22 @@ ++++ security/coreconf/FreeBSD.mk 2009-10-01 07:13:15.000000000 +0200 +@@ -37,16 +37,26 @@ include $(CORE_DEPTH)/coreconf/UNIX.mk @@ -19,14 +19,18 @@ +ifeq ($(OS_TEST),powerpc) +CPU_ARCH = powerpc +else ++ifeq ($(OS_TEST),sparc64) ++CPU_ARCH = sparc64 ++else CPU_ARCH = x86 endif +endif +endif ++endif OS_CFLAGS = $(DSO_CFLAGS) -ansi -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -@@ -73,7 +79,11 @@ +@@ -73,7 +83,11 @@ DLL_SUFFIX = so.1.0 endif @@ -39,7 +43,7 @@ ifdef MAPFILE MKSHLIB += -Wl,--version-script,$(MAPFILE) endif -@@ -82,4 +92,4 @@ +@@ -82,4 +96,4 @@ G++INCLUDES = -I/usr/include/g++ Modified: branches/experimental/www/libxul/files/patch-xptcall-sparc64 ============================================================================== --- branches/experimental/www/libxul/files/patch-xptcall-sparc64 Thu Oct 1 15:12:16 2009 (r124) +++ branches/experimental/www/libxul/files/patch-xptcall-sparc64 Fri Oct 2 14:38:48 2009 (r125) @@ -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 -*- + *
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200910021438.n92EcmIT031332>