Skip site navigation (1)Skip section navigation (2)
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>