summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--www/mozilla/Makefile16
-rw-r--r--www/mozilla/files/md54
-rw-r--r--www/mozilla/files/patch-sum18
-rw-r--r--www/mozilla/files/xptcinvoke_arm_netbsd.cpp198
-rw-r--r--www/mozilla/files/xptcinvoke_asm_ppc_netbsd.s114
-rw-r--r--www/mozilla/files/xptcinvoke_asm_sparc_netbsd.s71
-rw-r--r--www/mozilla/files/xptcinvoke_ppc_netbsd.cpp132
-rw-r--r--www/mozilla/files/xptcinvoke_sparc_netbsd.cpp141
-rw-r--r--www/mozilla/files/xptcstubs_arm_netbsd.cpp130
-rw-r--r--www/mozilla/files/xptcstubs_asm_ppc_netbsd.s89
-rw-r--r--www/mozilla/files/xptcstubs_asm_sparc_netbsd.s65
-rw-r--r--www/mozilla/files/xptcstubs_ppc_netbsd.cpp202
-rw-r--r--www/mozilla/files/xptcstubs_sparc_netbsd.cpp131
-rw-r--r--www/mozilla/patches/patch-aa22
-rw-r--r--www/mozilla/patches/patch-ab103
-rw-r--r--www/mozilla/patches/patch-ac31
-rw-r--r--www/mozilla/patches/patch-af50
-rw-r--r--www/mozilla/patches/patch-ag42
-rw-r--r--www/mozilla/patches/patch-ah13
-rw-r--r--www/mozilla/patches/patch-aj42
-rw-r--r--www/mozilla/patches/patch-ak41
-rw-r--r--www/mozilla/patches/patch-an32
-rw-r--r--www/mozilla/patches/patch-ar58
-rw-r--r--www/mozilla/patches/patch-as68
-rw-r--r--www/mozilla/patches/patch-at15
-rw-r--r--www/mozilla/pkg/PLIST-ELF29
-rw-r--r--www/mozilla/pkg/PLIST-a.out29
27 files changed, 186 insertions, 1700 deletions
diff --git a/www/mozilla/Makefile b/www/mozilla/Makefile
index 87b98806d29..0e3d176debe 100644
--- a/www/mozilla/Makefile
+++ b/www/mozilla/Makefile
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.60 2001/03/28 11:59:33 abs Exp $
+# $NetBSD: Makefile,v 1.61 2001/03/30 09:37:47 taya Exp $
-MOZ_VER= 0.8
+MOZ_VER= 0.8.1
DISTNAME= mozilla-source-${MOZ_VER}
PKGNAME= mozilla-${MOZ_VER}
WRKSRC= ${WRKDIR}/mozilla
@@ -56,21 +56,11 @@ SCRIPTS_ENV+= BINMODE=${BINMODE}
SCRIPTS_ENV+= SETENV=${SETENV}
SHAREMODE?= 644
-XPTCFILES+= xptcinvoke_asm_ppc_netbsd.s xptcstubs_asm_ppc_netbsd.s
-XPTCFILES+= xptcinvoke_ppc_netbsd.cpp xptcstubs_ppc_netbsd.cpp
-XPTCFILES+= xptcinvoke_asm_sparc_netbsd.s xptcstubs_asm_sparc_netbsd.s
-XPTCFILES+= xptcinvoke_sparc_netbsd.cpp xptcstubs_sparc_netbsd.cpp
-XPTCFILES+= xptcinvoke_arm_netbsd.cpp xptcstubs_arm_netbsd.cpp
-
-post-extract:
-.for F in ${XPTCFILES}
- ${CP} ${FILESDIR}/${F} ${WRKSRC}/xpcom/reflect/xptcall/src/md/unix/${F}
-.endfor
-
.include "../../mk/bsd.prefs.mk"
pre-configure:
(cd ${WRKSRC} && ${LOCALBASE}/bin/autoconf)
+ (cd ${WRKSRC}/nsprpub && ${LOCALBASE}/bin/autoconf)
do-build:
@cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} ${MAKE_FLAGS}
diff --git a/www/mozilla/files/md5 b/www/mozilla/files/md5
index bf6f952db14..7577bde0c2e 100644
--- a/www/mozilla/files/md5
+++ b/www/mozilla/files/md5
@@ -1,3 +1,3 @@
-$NetBSD: md5,v 1.22 2001/02/23 22:32:13 tron Exp $
+$NetBSD: md5,v 1.23 2001/03/30 09:37:48 taya Exp $
-MD5 (mozilla-source-0.8.tar.bz2) = c2c5e6d1257b9da80ccb6b424974b1c3
+SHA1 (mozilla-source-0.8.1.tar.bz2) = 3da3c9b236cdd662e98b2c655ce343478cdbaccb
diff --git a/www/mozilla/files/patch-sum b/www/mozilla/files/patch-sum
index ac152e08bee..e8225661da0 100644
--- a/www/mozilla/files/patch-sum
+++ b/www/mozilla/files/patch-sum
@@ -1,13 +1,7 @@
-$NetBSD: patch-sum,v 1.45 2001/02/17 11:03:27 taya Exp $
+$NetBSD: patch-sum,v 1.46 2001/03/30 09:37:48 taya Exp $
-MD5 (patch-aa) = e245022fb0da3886d6801b608b40f397
-MD5 (patch-ab) = 9c0f2acac8e4add32f51aac86663b9a4
-MD5 (patch-ac) = 37c5e93a87f43262c38c9fe46a513740
-MD5 (patch-af) = c9236a83a307ec1ffa1a440ba4686507
-MD5 (patch-ag) = 05078a1e8064f7b4c05c6b32a81b1eb0
-MD5 (patch-ah) = 8f6975c0fb5454958416f2b87d789c99
-MD5 (patch-aj) = 355b0025e6cf2273acd1ba56a4f40d5e
-MD5 (patch-ak) = ca73d68752d0b4df37fa09874729765a
-MD5 (patch-an) = 326f7396ebdc736b7a600aa17d4daf61
-MD5 (patch-ao) = c856ee47e1b24580f61af634faa1e2bd
-MD5 (patch-aq) = 734f5fb211b0d290f42c4463f1d7c464
+SHA1 (patch-ao) = de139891a25f136c0192e2089ff81c881a3cf396
+SHA1 (patch-aq) = 1d380eca30f686cfa44b8f8f2e35cb0f1a802b12
+SHA1 (patch-ar) = 89da463a694f4250e15f5a622a270a7ad68252ed
+SHA1 (patch-as) = 470175fc894b0bcf844ab4335613893040956ae7
+SHA1 (patch-at) = a1ed1da212a11a6af33cd5b270d460c329d9998f
diff --git a/www/mozilla/files/xptcinvoke_arm_netbsd.cpp b/www/mozilla/files/xptcinvoke_arm_netbsd.cpp
deleted file mode 100644
index c917aff616f..00000000000
--- a/www/mozilla/files/xptcinvoke_arm_netbsd.cpp
+++ /dev/null
@@ -1,198 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
- *
- * The contents of this file are subject to the Netscape Public
- * License Version 1.1 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.mozilla.org/NPL/
- *
- * Software distributed under the License is distributed on an "AS
- * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
- * implied. See the License for the specific language governing
- * rights and limitations under the License.
- *
- * The Original Code is mozilla.org code.
- *
- * The Initial Developer of the Original Code is Netscape
- * Communications Corporation. Portions created by Netscape are
- * Copyright (C) 1998 Netscape Communications Corporation. All
- * Rights Reserved.
- *
- * Contributor(s):
- */
-
-/* Platform specific code to invoke XPCOM methods on native objects */
-
-#include "xptcprivate.h"
-
-// Remember that these 'words' are 32bit DWORDS
-
-static PRUint32
-invoke_count_words(PRUint32 paramCount, nsXPTCVariant* s)
-{
- PRUint32 result = 0;
- for(PRUint32 i = 0; i < paramCount; i++, s++)
- {
- if(s->IsPtrData())
- {
- result++;
- continue;
- }
- switch(s->type)
- {
- case nsXPTType::T_I8 :
- case nsXPTType::T_I16 :
- case nsXPTType::T_I32 :
- result++;
- break;
- case nsXPTType::T_I64 :
- result+=2;
- break;
- case nsXPTType::T_U8 :
- case nsXPTType::T_U16 :
- case nsXPTType::T_U32 :
- result++;
- break;
- case nsXPTType::T_U64 :
- result+=2;
- break;
- case nsXPTType::T_FLOAT :
- result++;
- break;
- case nsXPTType::T_DOUBLE :
- result+=2;
- break;
- case nsXPTType::T_BOOL :
- case nsXPTType::T_CHAR :
- case nsXPTType::T_WCHAR :
- result++;
- break;
- default:
- // all the others are plain pointer types
- result++;
- break;
- }
- }
- return result;
-}
-
-static void
-invoke_copy_to_stack(PRUint32* d, PRUint32 paramCount, nsXPTCVariant* s)
-{
- for(PRUint32 i = 0; i < paramCount; i++, d++, s++)
- {
- if(s->IsPtrData())
- {
- *((void**)d) = s->ptr;
- continue;
- }
- switch(s->type)
- {
- case nsXPTType::T_I8 : *((PRInt8*) d) = s->val.i8; break;
- case nsXPTType::T_I16 : *((PRInt16*) d) = s->val.i16; break;
- case nsXPTType::T_I32 : *((PRInt32*) d) = s->val.i32; break;
- case nsXPTType::T_I64 : *((PRInt64*) d) = s->val.i64; d++; break;
- case nsXPTType::T_U8 : *((PRUint8*) d) = s->val.u8; break;
- case nsXPTType::T_U16 : *((PRUint16*)d) = s->val.u16; break;
- case nsXPTType::T_U32 : *((PRUint32*)d) = s->val.u32; break;
- case nsXPTType::T_U64 : *((PRUint64*)d) = s->val.u64; d++; break;
- case nsXPTType::T_FLOAT : *((float*) d) = s->val.f; break;
- case nsXPTType::T_DOUBLE : *((double*) d) = s->val.d; d++; break;
- case nsXPTType::T_BOOL : *((PRBool*) d) = s->val.b; break;
- case nsXPTType::T_CHAR : *((char*) d) = s->val.c; break;
- case nsXPTType::T_WCHAR : *((wchar_t*) d) = s->val.wc; break;
- default:
- // all the others are plain pointer types
- *((void**)d) = s->val.p;
- break;
- }
- }
-}
-
-extern "C"
-struct my_params_struct {
- nsISupports* that;
- PRUint32 Index;
- PRUint32 Count;
- nsXPTCVariant* params;
- PRUint32 fn_count;
- PRUint32 fn_copy;
-};
-
-XPTC_PUBLIC_API(nsresult)
-XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
- PRUint32 paramCount, nsXPTCVariant* params)
-{
- PRUint32 result;
- struct my_params_struct my_params;
- my_params.that = that;
- my_params.Index = methodIndex;
- my_params.Count = paramCount;
- my_params.params = params;
- my_params.fn_copy = (PRUint32) &invoke_copy_to_stack;
- my_params.fn_count = (PRUint32) &invoke_count_words;
-
-/* This is to call a given method of class that.
- * The parameters are in params, the number is in paramCount.
- * The routine will issue calls to count the number of words
- * required for argument passing and to copy the arguments to
- * the stack.
- * Since APCS passes the first 3 params in r1-r3, we need to
- * load the first three words from the stack and correct the stack
- * pointer (sp) in the appropriate way. This means:
- *
- * 1.) more than 3 arguments: load r1-r3, correct sp and remember No.
- * of bytes left on the stack in r4
- *
- * 2.) <= 2 args: load r1-r3 (we won't be causing a stack overflow I hope),
- * restore sp as if nothing had happened and set the marker r4 to zero.
- *
- * Afterwards sp will be restored using the value in r4 (which is not a temporary register
- * and will be preserved by the function/method called according to APCS [ARM Procedure
- * Calling Standard]).
- *
- * !!! IMPORTANT !!!
- * This routine makes assumptions about the vtable layout of the c++ compiler. It's implemented
- * for arm-linux GNU g++ >= 2.8.1 (including egcs and gcc-2.95.[1-3])!
- *
- */
-
- __asm__ __volatile__(
- "ldr r1, [%1, #12] \n\t" /* prepare to call invoke_count_words */
- "ldr ip, [%1, #16] \n\t" /* r0=paramCount, r1=params */
- "ldr r0, [%1, #8] \n\t"
- "mov lr, pc \n\t" /* call it... */
- "mov pc, ip \n\t"
- "mov r4, r0, lsl #2 \n\t" /* This is the amount of bytes needed. */
- "sub sp, sp, r4 \n\t" /* use stack space for the args... */
- "mov r0, sp \n\t" /* prepare a pointer an the stack */
- "ldr r1, [%1, #8] \n\t" /* =paramCount */
- "ldr r2, [%1, #12] \n\t" /* =params */
- "ldr ip, [%1, #20] \n\t" /* =invoke_copy_to_stack */
- "mov lr, pc \n\t" /* copy args to the stack like the */
- "mov pc, ip \n\t" /* compiler would. */
- "ldr r0, [%1] \n\t" /* =that */
- "ldr r1, [r0, #0] \n\t" /* get that->vtable offset */
- "ldr r2, [%1, #4] \n\t"
- "add r2, r1, r2, lsl #3\n\t" /* a vtable_entry(x)=8 + (8 bytes * x) */
- "add r2, r2, #8 \n\t" /* with this compilers */
- "ldr r3, [r2] \n\t" /* get virtual offset from vtable */
- "mov r3, r3, lsl #16 \n\t"
- "add r0, r0, r3, asr #16\n\t"
- "ldr ip, [r2, #4] \n\t" /* get method address from vtable */
- "cmp r4, #12 \n\t" /* more than 3 arguments??? */
- "ldmgtia sp!, {r1, r2, r3}\n\t" /* yes: load arguments for r1-r3 */
- "subgt r4, r4, #12 \n\t" /* and correct the stack pointer */
- "ldmleia sp, {r1, r2, r3}\n\t" /* no: load r1-r3 from stack */
- "addle sp, sp, r4 \n\t" /* and restore stack pointer */
- "movle r4, #0 \n\t" /* a mark for restoring sp */
- "mov lr, pc \n\t" /* call mathod */
- "mov pc, ip \n\t"
- "add sp, sp, r4 \n\t" /* restore stack pointer */
- "mov %0, r0 \n\t" /* the result... */
- : "=r" (result)
- : "r" (&my_params)
- : "r0", "r1", "r2", "r3", "r4", "ip", "lr"
- );
-
- return result;
-}
diff --git a/www/mozilla/files/xptcinvoke_asm_ppc_netbsd.s b/www/mozilla/files/xptcinvoke_asm_ppc_netbsd.s
deleted file mode 100644
index 18c775a9b71..00000000000
--- a/www/mozilla/files/xptcinvoke_asm_ppc_netbsd.s
+++ /dev/null
@@ -1,114 +0,0 @@
-# -*- Mode: Asm -*-
-#
-# The contents of this file are subject to the Netscape Public
-# License Version 1.1 (the "License"); you may not use this file
-# except in compliance with the License. You may obtain a copy of
-# the License at http://www.mozilla.org/NPL/
-#
-# Software distributed under the License is distributed on an "AS
-# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
-# implied. See the License for the specific language governing
-# rights and limitations under the License.
-#
-# The Original Code is mozilla.org code.
-#
-# The Initial Developer of the Original Code is Netscape
-# Communications Corporation. Portions created by Netscape are
-# Copyright (C) 1999 Netscape Communications Corporation. All
-# Rights Reserved.
-#
-# Contributor(s):
-# Franz.Sirl-kernel@lauterbach.com (Franz Sirl)
-# beard@netscape.com (Patrick Beard)
-# waterson@netscape.com (Chris Waterson)
-#
-.set r0,0; .set sp,1; .set RTOC,2; .set r3,3; .set r4,4
-.set r5,5; .set r6,6; .set r7,7; .set r8,8; .set r9,9
-.set r10,10; .set r11,11; .set r12,12; .set r13,13; .set r14,14
-.set r15,15; .set r16,16; .set r17,17; .set r18,18; .set r19,19
-.set r20,20; .set r21,21; .set r22,22; .set r23,23; .set r24,24
-.set r25,25; .set r26,26; .set r27,27; .set r28,28; .set r29,29
-.set r30,30; .set r31,31
-.set f0,0; .set f1,1; .set f2,2; .set f3,3; .set f4,4
-.set f5,5; .set f6,6; .set f7,7; .set f8,8; .set f9,9
-.set f10,10; .set f11,11; .set f12,12; .set f13,13; .set f14,14
-.set f15,15; .set f16,16; .set f17,17; .set f18,18; .set f19,19
-.set f20,20; .set f21,21; .set f22,22; .set f23,23; .set f24,24
-.set f25,25; .set f26,26; .set f27,27; .set f28,28; .set f29,29
-.set f30,30; .set f31,31
-
- .section ".text"
- .align 2
- .globl XPTC_InvokeByIndex
- .type XPTC_InvokeByIndex,@function
-
-#
-# XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
-# PRUint32 paramCount, nsXPTCVariant* params)
-#
-
-XPTC_InvokeByIndex:
- stwu sp,-32(sp) # setup standard stack frame
- mflr r0 # save LR
- stw r3,8(sp) # r3 <= that
- stw r4,12(sp) # r4 <= methodIndex
- stw r30,16(sp)
- stw r31,20(sp)
-
- stw r0,36(sp) # store LR backchain
- mr r31,sp
-
- rlwinm r10,r5,3,0,27 # r10 = (ParamCount * 2 * 4) & ~0x0f
- addi r0,r10,96 # reserve stack for GPR and FPR register save area r0 = r10 + 96
- lwz r9,0(sp) # r9 = backchain
- neg r0,r0
- stwux r9,sp,r0 # reserve stack sapce and save SP backchain
-
- addi r3,sp,8 # r3 <= args
- mr r4,r5 # r4 <= paramCount
- mr r5,r6 # r5 <= params
- add r6,r3,r10 # r6 <= gpregs ( == args + r10 )
- mr r30,r6 # store in r30 for use later...
- addi r7,r6,32 # r7 <= fpregs ( == gpregs + 32 )
-
- bl invoke_copy_to_stack@local # (args, paramCount, params, gpregs, fpregs)
-
- lfd f1,32(r30) # load FP registers with method parameters
- lfd f2,40(r30)
- lfd f3,48(r30)
- lfd f4,56(r30)
- lfd f5,64(r30)
- lfd f6,72(r30)
- lfd f7,80(r30)
- lfd f8,88(r30)
-
- lwz r3,8(r31) # r3 <= that
- lwz r4,12(r31) # r4 <= methodIndex
- lwz r5,0(r3) # r5 <= vtable ( == *that )
- slwi r4,r4,3 # convert to offset ( *= 8 )
- addi r4,r4,8 # skip first two vtable entries
- add r4,r4,r5
- lhz r0,0(r4) # virtual base offset
- extsh r0,r0
- add r3,r3,r0
- lwz r0,4(r4) # r0 <= methodpointer ( == vtable + offset )
-
- lwz r4,4(r30) # load GP regs with method parameters
- lwz r5,8(r30)
- lwz r6,12(r30)
- lwz r7,16(r30)
- lwz r8,20(r30)
- lwz r9,24(r30)
- lwz r10,28(r30)
-
- mtlr r0 # copy methodpointer to LR
- blrl # call method
-
- lwz r30,16(r31) # restore r30 & r31
- lwz r31,20(r31)
-
- lwz r11,0(sp) # clean up the stack
- lwz r0,4(r11)
- mtlr r0
- mr sp,r11
- blr
diff --git a/www/mozilla/files/xptcinvoke_asm_sparc_netbsd.s b/www/mozilla/files/xptcinvoke_asm_sparc_netbsd.s
deleted file mode 100644
index dfe6fde9963..00000000000
--- a/www/mozilla/files/xptcinvoke_asm_sparc_netbsd.s
+++ /dev/null
@@ -1,71 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
- *
- * The contents of this file are subject to the Netscape Public
- * License Version 1.1 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.mozilla.org/NPL/
- *
- * Software distributed under the License is distributed on an "AS
- * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
- * implied. See the License for the specific language governing
- * rights and limitations under the License.
- *
- * The Original Code is mozilla.org code.
- *
- * The Initial Developer of the Original Code is Netscape
- * Communications Corporation. Portions created by Netscape are
- * Copyright (C) 1998 Netscape Communications Corporation. All
- * Rights Reserved.
- *
- * Contributor(s):
- */
-
-/* Platform specific code to invoke XPCOM methods on native objects */
- .global XPTC_InvokeByIndex
-/*
- XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
- PRUint32 paramCount, nsXPTCVariant* params);
-
-*/
-XPTC_InvokeByIndex:
- save %sp,-(64 + 16),%sp ! room for the register window and
- ! struct pointer, rounded up to 0 % 16
- mov %i2,%o0 ! paramCount
- call invoke_count_words ! returns the required stack size in %o0
- mov %i3,%o1 ! params
-
- sll %o0,2,%l0 ! number of bytes
- sub %sp,%l0,%sp ! create the additional stack space
-
- mov %sp,%o0 ! pointer for copied args
- add %o0,72,%o0 ! step past the register window, the
- ! struct result pointer and the 'this' slot
- mov %i2,%o1 ! paramCount
- call invoke_copy_to_stack
- mov %i3,%o2 ! params
-!
-! calculate the target address from the vtable
-!
- add %i1,1,%i1 ! vTable is zero-based, index is 1 based (?)
- ld [%i0],%l1 ! *that --> vTable
- sll %i1,3,%i1
- add %i1,%l1,%l1 ! vTable[index * 8], l1 now points to vTable entry
- lduh [%l1],%l0 ! this adjustor
- sll %l0,16,%l0 ! sign extend to 32 bits
- sra %l0,16,%l0
- add %l0,%i0,%i0 ! adjust this
- ld [%l1 + 4],%l0 ! target address
-
-.L5: ld [%sp + 88],%o5
-.L4: ld [%sp + 84],%o4
-.L3: ld [%sp + 80],%o3
-.L2: ld [%sp + 76],%o2
-.L1: ld [%sp + 72],%o1
-.L0:
- jmpl %l0,%o7 ! call the routine
-! always have a 'this', from the incoming 'that'
- mov %i0,%o0
-
- mov %o0,%i0 ! propogate return value
- ret
- restore
diff --git a/www/mozilla/files/xptcinvoke_ppc_netbsd.cpp b/www/mozilla/files/xptcinvoke_ppc_netbsd.cpp
deleted file mode 100644
index ecd35ab0266..00000000000
--- a/www/mozilla/files/xptcinvoke_ppc_netbsd.cpp
+++ /dev/null
@@ -1,132 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
- *
- * The contents of this file are subject to the Netscape Public
- * License Version 1.1 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.mozilla.org/NPL/
- *
- * Software distributed under the License is distributed on an "AS
- * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
- * implied. See the License for the specific language governing
- * rights and limitations under the License.
- *
- * The Original Code is mozilla.org code.
- *
- * The Initial Developer of the Original Code is Netscape
- * Communications Corporation. Portions created by Netscape are
- * Copyright (C) 1998 Netscape Communications Corporation. All
- * Rights Reserved.
- *
- * Contributor(s):
- * Franz.Sirl-kernel@lauterbach.com (Franz Sirl)
- * beard@netscape.com (Patrick Beard)
- * waterson@netscape.com (Chris Waterson)
- */
-
-// Platform specific code to invoke XPCOM methods on native objects
-
-// The purpose of XPTC_InvokeByIndex() is to map a platform
-// indepenpent call to the platform ABI. To do that,
-// XPTC_InvokeByIndex() has to determine the method to call via vtable
-// access. The parameters for the method are read from the
-// nsXPTCVariant* and prepared for th native ABI. For the Linux/PPC
-// ABI this means that the first 8 integral and floating point
-// parameters are passed in registers.
-
-#include "xptcprivate.h"
-
-// 8 integral parameters are passed in registers
-#define GPR_COUNT 8
-
-// 8 floating point parameters are passed in registers, floats are
-// promoted to doubles when passed in registers
-#define FPR_COUNT 8
-
-extern "C" PRUint32
-invoke_count_words(PRUint32 paramCount, nsXPTCVariant* s)
-{
- return PRUint32(((paramCount * 2) + 3) & ~3);
-}
-
-extern "C" void
-invoke_copy_to_stack(PRUint32* d,
- PRUint32 paramCount,
- nsXPTCVariant* s,
- PRUint32* gpregs,
- double* fpregs)
-{
- PRUint32 gpr = 1; // skip one GP reg for 'that'
- PRUint32 fpr = 0;
- PRUint32 tempu32;
- PRUint64 tempu64;
-
- for(uint32 i = 0; i < paramCount; i++, s++) {
- if(s->IsPtrData())
- tempu32 = (PRUint32) s->ptr;
- else {
- switch(s->type) {
- case nsXPTType::T_FLOAT: break;
- case nsXPTType::T_DOUBLE: break;
- case nsXPTType::T_I8: tempu32 = s->val.i8; break;
- case nsXPTType::T_I16: tempu32 = s->val.i16; break;
- case nsXPTType::T_I32: tempu32 = s->val.i32; break;
- case nsXPTType::T_I64: tempu64 = s->val.i64; break;
- case nsXPTType::T_U8: tempu32 = s->val.u8; break;
- case nsXPTType::T_U16: tempu32 = s->val.u16; break;
- case nsXPTType::T_U32: tempu32 = s->val.u32; break;
- case nsXPTType::T_U64: tempu64 = s->val.u64; break;
- case nsXPTType::T_BOOL: tempu32 = s->val.b; break;
- case nsXPTType::T_CHAR: tempu32 = s->val.c; break;
- case nsXPTType::T_WCHAR: tempu32 = s->val.wc; break;
- default: tempu32 = (PRUint32) s->val.p; break;
- }
- }
-
- if (!s->IsPtrData() && s->type == nsXPTType::T_DOUBLE) {
- if (fpr < FPR_COUNT)
- fpregs[fpr++] = s->val.d;
- else {
- if ((PRUint32) d & 4) d++; // doubles are 8-byte aligned on stack
- *((double*) d) = s->val.d;
- d += 2;
- if (gpr < GPR_COUNT)
- gpr += 2;
- }
- }
- else if (!s->IsPtrData() && s->type == nsXPTType::T_FLOAT) {
- if (fpr < FPR_COUNT)
- fpregs[fpr++] = s->val.f; // if passed in registers, floats are promoted to doubles
- else {
- *((float*) d) = s->val.f;
- d += 1;
- if (gpr < GPR_COUNT)
- gpr += 1;
- }
- }
- else if (!s->IsPtrData() && (s->type == nsXPTType::T_I64
- || s->type == nsXPTType::T_U64)) {
- if ((gpr + 1) < GPR_COUNT) {
- if (gpr & 1) gpr++; // longlongs are aligned in odd/even register pairs, eg. r5/r6
- *((PRUint64*) &gpregs[gpr]) = tempu64;
- gpr += 2;
- }
- else {
- if ((PRUint32) d & 4) d++; // longlongs are 8-byte aligned on stack
- *((PRUint64*) d) = tempu64;
- d += 2;
- }
- }
- else {
- if (gpr < GPR_COUNT)
- gpregs[gpr++] = tempu32;
- else
- *d++ = tempu32;
- }
-
- }
-}
-
-extern "C"
-XPTC_PUBLIC_API(nsresult)
-XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
- PRUint32 paramCount, nsXPTCVariant* params);
diff --git a/www/mozilla/files/xptcinvoke_sparc_netbsd.cpp b/www/mozilla/files/xptcinvoke_sparc_netbsd.cpp
deleted file mode 100644
index ba1f1a0298d..00000000000
--- a/www/mozilla/files/xptcinvoke_sparc_netbsd.cpp
+++ /dev/null
@@ -1,141 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
- *
- * The contents of this file are subject to the Netscape Public
- * License Version 1.1 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.mozilla.org/NPL/
- *
- * Software distributed under the License is distributed on an "AS
- * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
- * implied. See the License for the specific language governing
- * rights and limitations under the License.
- *
- * The Original Code is mozilla.org code.
- *
- * The Initial Developer of the Original Code is Netscape
- * Communications Corporation. Portions created by Netscape are
- * Copyright (C) 1998 Netscape Communications Corporation. All
- * Rights Reserved.
- *
- * Contributor(s):
- */
-
-/* Platform specific code to invoke XPCOM methods on native objects */
-
-#include "xptcprivate.h"
-
-/* solaris defines __sparc for workshop compilers and
- linux defines __sparc__ */
-
-#if !defined(__sparc) && !defined(__sparc__)
-#error "This code is for Sparc only"
-#endif
-
-typedef unsigned nsXPCVariant;
-
-extern "C" PRUint32
-invoke_count_words(PRUint32 paramCount, nsXPTCVariant* s)
-{
- PRUint32 result = 0;
- for(PRUint32 i = 0; i < paramCount; i++, s++)
- {
- if(s->IsPtrData())
- {
- result++;
- continue;
- }
- switch(s->type)
- {
- case nsXPTType::T_I8 :
- case nsXPTType::T_I16 :
- case nsXPTType::T_I32 :
- result++;
- break;
- case nsXPTType::T_I64 :
- result+=2;
- break;
- case nsXPTType::T_U8 :
- case nsXPTType::T_U16 :
- case nsXPTType::T_U32 :
- result++;
- break;
- case nsXPTType::T_U64 :
- result+=2;
- break;
- case nsXPTType::T_FLOAT :
- result++;
- break;
- case nsXPTType::T_DOUBLE :
- result+=2;
- break;
- case nsXPTType::T_BOOL :
- case nsXPTType::T_CHAR :
- case nsXPTType::T_WCHAR :
- result++;
- break;
- default:
- // all the others are plain pointer types
- result++;
- break;
- }
- }
- // nuts, I know there's a cooler way of doing this, but it's late
- // now and it'll probably come to me in the morning.
- if (result & 0x3) result += 4 - (result & 0x3); // ensure q-word alignment
- return result;
-}
-
-extern "C" PRUint32
-invoke_copy_to_stack(PRUint32* d, PRUint32 paramCount, nsXPTCVariant* s)
-{
-/*
- We need to copy the parameters for this function to locals and use them
- from there since the parameters occupy the same stack space as the stack
- we're trying to populate.
-*/
- uint32 *l_d = d;
- nsXPTCVariant *l_s = s;
- uint32 l_paramCount = paramCount;
- uint32 regCount = 0; // return the number of registers to load from the stack
-
- typedef struct {
- uint32 hi;
- uint32 lo;
- } DU; // have to move 64 bit entities as 32 bit halves since
- // stack slots are not guaranteed 16 byte aligned
-
- for(uint32 i = 0; i < l_paramCount; i++, l_d++, l_s++)
- {
- if (regCount < 5) regCount++;
- if(l_s->IsPtrData())
- {
- *((void**)l_d) = l_s->ptr;
- continue;
- }
- switch(l_s->type)
- {
- case nsXPTType::T_I8 : *((int32*) l_d) = l_s->val.i8; break;
- case nsXPTType::T_I16 : *((int32*) l_d) = l_s->val.i16; break;
- case nsXPTType::T_I32 : *((int32*) l_d) = l_s->val.i32; break;
- case nsXPTType::T_I64 :
- case nsXPTType::T_U64 :
- case nsXPTType::T_DOUBLE : *((uint32*) l_d++) = ((DU *)l_s)->hi;
- if (regCount < 5) regCount++;
- *((uint32*) l_d) = ((DU *)l_s)->lo;
- break;
- case nsXPTType::T_U8 : *((uint32*) l_d) = l_s->val.u8; break;
- case nsXPTType::T_U16 : *((uint32*) l_d) = l_s->val.u16; break;
- case nsXPTType::T_U32 : *((uint32*) l_d) = l_s->val.u32; break;
- case nsXPTType::T_FLOAT : *((float*) l_d) = l_s->val.f; break;
- case nsXPTType::T_BOOL : *((PRBool*) l_d) = l_s->val.b; break;
- case nsXPTType::T_CHAR : *((uint32*) l_d) = l_s->val.c; break;
- case nsXPTType::T_WCHAR : *((int32*)l_d) = l_s->val.wc; break;
- default:
- // all the others are plain pointer types
- *((void**)l_d) = l_s->val.p;
- break;
- }
- }
- return regCount;
-}
-
diff --git a/www/mozilla/files/xptcstubs_arm_netbsd.cpp b/www/mozilla/files/xptcstubs_arm_netbsd.cpp
deleted file mode 100644
index 28a68bcdf3f..00000000000
--- a/www/mozilla/files/xptcstubs_arm_netbsd.cpp
+++ /dev/null
@@ -1,130 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
- *
- * The contents of this file are subject to the Netscape Public
- * License Version 1.1 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.mozilla.org/NPL/
- *
- * Software distributed under the License is distributed on an "AS
- * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
- * implied. See the License for the specific language governing
- * rights and limitations under the License.
- *
- * The Original Code is mozilla.org code.
- *
- * The Initial Developer of the Original Code is Netscape
- * Communications Corporation. Portions created by Netscape are
- * Copyright (C) 1999 Netscape Communications Corporation. All
- * Rights Reserved.
- *
- * Contributor(s):
- */
-
-/* Implement shared vtbl methods. */
-
-#include "xptcprivate.h"
-
-nsresult
-PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args)
-{
-#define PARAM_BUFFER_COUNT 16
-
- nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT];
- nsXPTCMiniVariant* dispatchParams = NULL;
- nsIInterfaceInfo* iface_info = NULL;
- const nsXPTMethodInfo* info;
- PRUint8 paramCount;
- PRUint8 i;
- nsresult result = NS_ERROR_FAILURE;
-
- 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");
-
- paramCount = info->GetParamCount();
-
- // setup variant array pointer
- if(paramCount > PARAM_BUFFER_COUNT)
- dispatchParams = new nsXPTCMiniVariant[paramCount];
- else
- dispatchParams = paramBuffer;
- NS_ASSERTION(dispatchParams,"no place for params");
-
- PRUint32* ap = args;
- for(i = 0; i < paramCount; i++, ap++)
- {
- const nsXPTParamInfo& param = info->GetParam(i);
- const nsXPTType& type = param.GetType();
- nsXPTCMiniVariant* dp = &dispatchParams[i];
-
- if(param.IsOut() || !type.IsArithmetic())
- {
- dp->val.p = (void*) *ap;
- continue;
- }
- // else
- switch(type)
- {
- case nsXPTType::T_I8 : dp->val.i8 = *((PRInt8*) ap); break;
- case nsXPTType::T_I16 : dp->val.i16 = *((PRInt16*) ap); break;
- case nsXPTType::T_I32 : dp->val.i32 = *((PRInt32*) ap); break;
- case nsXPTType::T_I64 : dp->val.i64 = *((PRInt64*) ap); ap++; break;
- case nsXPTType::T_U8 : dp->val.u8 = *((PRUint8*) ap); break;
- case nsXPTType::T_U16 : dp->val.u16 = *((PRUint16*)ap); break;
- case nsXPTType::T_U32 : dp->val.u32 = *((PRUint32*)ap); break;
- case nsXPTType::T_U64 : dp->val.u64 = *((PRUint64*)ap); ap++; break;
- case nsXPTType::T_FLOAT : dp->val.f = *((float*) ap); break;
- case nsXPTType::T_DOUBLE : dp->val.d = *((double*) ap); ap++; break;
- case nsXPTType::T_BOOL : dp->val.b = *((PRBool*) ap); break;
- case nsXPTType::T_CHAR : dp->val.c = *((char*) ap); break;
- case nsXPTType::T_WCHAR : dp->val.wc = *((wchar_t*) ap); break;
- default:
- NS_ASSERTION(0, "bad type");
- break;
- }
- }
-
- result = self->CallMethod((PRUint16)methodIndex, info, dispatchParams);
-
- NS_RELEASE(iface_info);
-
- if(dispatchParams != paramBuffer)
- delete [] dispatchParams;
-
- return result;
-}
-
-/*
- * These stubs move just move the values passed in registers onto the stack,
- * so they are contiguous with values passed on the stack, and then calls
- * PrepareAndDispatch() to do the dirty work.
- */
-
-#define STUB_ENTRY(n) \
-__asm__( \
- ".global _Stub"#n"__14nsXPTCStubBase\n\t" \
-"_Stub"#n"__14nsXPTCStubBase:\n\t" \
- "stmfd sp!, {r1, r2, r3} \n\t" \
- "mov ip, sp \n\t" \
- "stmfd sp!, {fp, ip, lr, pc} \n\t" \
- "sub fp, ip, #4 \n\t" \
- "mov r1, #"#n" \n\t" /* = methodIndex */ \
- "add r2, sp, #16 \n\t" \
- "bl _PrepareAndDispatch__FP14nsXPTCStubBaseUiPUi \n\t" \
- "ldmea fp, {fp, sp, lr} \n\t" \
- "add sp, sp, #12 \n\t" \
- "mov pc, lr \n\t" \
-);
-
-#define SENTINEL_ENTRY(n) \
-nsresult nsXPTCStubBase::Sentinel##n() \
-{ \
- NS_ASSERTION(0,"nsXPTCStubBase::Sentinel called"); \
- return NS_ERROR_NOT_IMPLEMENTED; \
-}
-
-#include "xptcstubsdef.inc"
diff --git a/www/mozilla/files/xptcstubs_asm_ppc_netbsd.s b/www/mozilla/files/xptcstubs_asm_ppc_netbsd.s
deleted file mode 100644
index f94aac4f724..00000000000
--- a/www/mozilla/files/xptcstubs_asm_ppc_netbsd.s
+++ /dev/null
@@ -1,89 +0,0 @@
-# -*- Mode: Asm -*-
-#
-# The contents of this file are subject to the Netscape Public
-# License Version 1.1 (the "License"); you may not use this file
-# except in compliance with the License. You may obtain a copy of
-# the License at http://www.mozilla.org/NPL/
-#
-# Software distributed under the License is distributed on an "AS
-# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
-# implied. See the License for the specific language governing
-# rights and limitations under the License.
-#
-# The Original Code is mozilla.org code.
-#
-# The Initial Developer of the Original Code is Netscape
-# Communications Corporation. Portions created by Netscape are
-# Copyright (C) 1999 Netscape Communications Corporation. All
-# Rights Reserved.
-#
-# Contributor(s):
-# Franz.Sirl-kernel@lauterbach.com (Franz Sirl)
-# beard@netscape.com (Patrick Beard)
-# waterson@netscape.com (Chris Waterson)
-#
-
-.set r0,0; .set sp,1; .set RTOC,2; .set r3,3; .set r4,4
-.set r5,5; .set r6,6; .set r7,7; .set r8,8; .set r9,9
-.set r10,10; .set r11,11; .set r12,12; .set r13,13; .set r14,14
-.set r15,15; .set r16,16; .set r17,17; .set r18,18; .set r19,19
-.set r20,20; .set r21,21; .set r22,22; .set r23,23; .set r24,24
-.set r25,25; .set r26,26; .set r27,27; .set r28,28; .set r29,29
-.set r30,30; .set r31,31
-.set f0,0; .set f1,1; .set f2,2; .set f3,3; .set f4,4
-.set f5,5; .set f6,6; .set f7,7; .set f8,8; .set f9,9
-.set f10,10; .set f11,11; .set f12,12; .set f13,13; .set f14,14
-.set f15,15; .set f16,16; .set f17,17; .set f18,18; .set f19,19
-.set f20,20; .set f21,21; .set f22,22; .set f23,23; .set f24,24
-.set f25,25; .set f26,26; .set f27,27; .set f28,28; .set f29,29
-.set f30,30; .set f31,31
-
- .section ".text"
- .align 2
- .globl SharedStub
- .type SharedStub,@function
-
-SharedStub:
- stwu sp,-112(sp) # room for
- # linkage (8),
- # gprData (32),
- # fprData (64),
- # stack alignment(8)
- mflr r0
- stw r0,116(sp) # save LR backchain
-
- stw r4,12(sp) # save GP registers
- stw r5,16(sp) # (n.b. that we don't save r3
- stw r6,20(sp) # because PrepareAndDispatch() is savvy)
- stw r7,24(sp)
- stw r8,28(sp)
- stw r9,32(sp)
- stw r10,36(sp)
-
- stfd f1,40(sp) # save FP registers
- stfd f2,48(sp)
- stfd f3,56(sp)
- stfd f4,64(sp)
- stfd f5,72(sp)
- stfd f6,80(sp)
- stfd f7,88(sp)
- stfd f8,96(sp)
-
- # r3 has the 'self' pointer already
-
- mr r4,r11 # r4 <= methodIndex selector, passed
- # via r11 in the nsXPTCStubBase::StubXX() call
-
- addi r5,sp,120 # r5 <= pointer to callers args area,
- # beyond r3-r10/f1-f8 mapped range
-
- addi r6,sp,8 # r6 <= gprData
- addi r7,sp,40 # r7 <= fprData
-
- bl PrepareAndDispatch@local # Go!
-
- lwz r0,116(sp) # restore LR
- mtlr r0
- la sp,112(sp) # clean up the stack
- blr
-
diff --git a/www/mozilla/files/xptcstubs_asm_sparc_netbsd.s b/www/mozilla/files/xptcstubs_asm_sparc_netbsd.s
deleted file mode 100644
index a208d31c220..00000000000
--- a/www/mozilla/files/xptcstubs_asm_sparc_netbsd.s
+++ /dev/null
@@ -1,65 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
- *
- * The contents of this file are subject to the Netscape Public
- * License Version 1.1 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.mozilla.org/NPL/
- *
- * Software distributed under the License is distributed on an "AS
- * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
- * implied. See the License for the specific language governing
- * rights and limitations under the License.
- *
- * The Original Code is mozilla.org code.
- *
- * The Initial Developer of the Original Code is Netscape
- * Communications Corporation. Portions created by Netscape are
- * Copyright (C) 1999 Netscape Communications Corporation. All
- * Rights Reserved.
- *
- * Contributor(s):
- */
-
- .global SharedStub
-
-/*
- in the frame for the function that called SharedStub are the
- rest of the parameters we need
-
-*/
-
-SharedStub:
-! we don't create a new frame yet, but work within the frame of the calling
-! function to give ourselves the other parameters we want
-
- mov %o0, %o1 ! shuffle the index up to 2nd place
- mov %i0, %o0 ! the original 'this'
- add %fp, 72, %o2 ! previous stack top adjusted to the first argument slot (beyond 'this')
-! save off the original incoming parameters that arrived in
-! registers, the ABI guarantees the space for us to do this
- st %i1, [%fp + 72]
- st %i2, [%fp + 76]
- st %i3, [%fp + 80]
- st %i4, [%fp + 84]
- st %i5, [%fp + 88]
-! now we can build our own stack frame
- save %sp,-(64 + 32),%sp ! room for the register window and
- ! struct pointer, rounded up to 0 % 32
-! our function now appears to have been called
-! as SharedStub(nsISupports* that, PRUint32 index, PRUint32* args)
-! so we can just copy these through
-
- mov %i0, %o0
- mov %i1, %o1
- mov %i2, %o2
- call PrepareAndDispatch
- nop
- mov %o0,%i0 ! propogate return value
- b .LL1
- nop
-.LL1:
- ret
- restore
-
- .size SharedStub, .-SharedStub
- .type SharedStub, #function
diff --git a/www/mozilla/files/xptcstubs_ppc_netbsd.cpp b/www/mozilla/files/xptcstubs_ppc_netbsd.cpp
deleted file mode 100644
index 4bb7aa280de..00000000000
--- a/www/mozilla/files/xptcstubs_ppc_netbsd.cpp
+++ /dev/null
@@ -1,202 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
- *
- * The contents of this file are subject to the Netscape Public
- * License Version 1.1 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.mozilla.org/NPL/
- *
- * Software distributed under the License is distributed on an "AS
- * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
- * implied. See the License for the specific language governing
- * rights and limitations under the License.
- *
- * The Original Code is mozilla.org code.
- *
- * The Initial Developer of the Original Code is Netscape
- * Communications Corporation. Portions created by Netscape are
- * Copyright (C) 1999 Netscape Communications Corporation. All
- * Rights Reserved.
- *
- * Contributor(s):
- * Franz.Sirl-kernel@lauterbach.com (Franz Sirl)
- * beard@netscape.com (Patrick Beard)
- * waterson@netscape.com (Chris Waterson)
- */
-
-// Implement shared vtbl methods.
-
-#include "xptcprivate.h"
-
-// The Linux/PPC ABI (aka PPC/SYSV ABI) passes the first 8 integral
-// parameters and the first 8 floating point parameters in registers
-// (r3-r10 and f1-f8), no stack space is allocated for these by the
-// caller. The rest of the parameters are passed in the callers stack
-// area. The stack pointer has to retain 16-byte alignment, longlongs
-// and doubles are aligned on 8-byte boundaries.
-
-#define PARAM_BUFFER_COUNT 16
-#define GPR_COUNT 8
-#define FPR_COUNT 8
-
-// PrepareAndDispatch() is called by SharedStub() and calls the actual method.
-//
-// - 'args[]' contains the arguments passed on stack
-// - 'gprData[]' contains the arguments passed in integer registers
-// - 'fprData[]' contains the arguments passed in floating point registers
-//
-// The parameters are mapped into an array of type 'nsXPTCMiniVariant'
-// and then the method gets called.
-
-extern "C" nsresult
-PrepareAndDispatch(nsXPTCStubBase* self,
- PRUint32 methodIndex,
- PRUint32* args,
- PRUint32 *gprData,
- double *fprData)
-{
- nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT];
- nsXPTCMiniVariant* dispatchParams = NULL;
- nsIInterfaceInfo* iface_info = NULL;
- const nsXPTMethodInfo* info;
- PRUint32 paramCount;
- PRUint32 i;
- nsresult result = NS_ERROR_FAILURE;
-
- NS_ASSERTION(self,"no self");
-
- self->GetInterfaceInfo(&iface_info);
- NS_ASSERTION(iface_info,"no interface info");
- if (! iface_info)
- return NS_ERROR_UNEXPECTED;
-
- iface_info->GetMethodInfo(PRUint16(methodIndex), &info);
- NS_ASSERTION(info,"no method info");
- if (! info)
- return NS_ERROR_UNEXPECTED;
-
- paramCount = info->GetParamCount();
-
- // setup variant array pointer
- if(paramCount > PARAM_BUFFER_COUNT)
- dispatchParams = new nsXPTCMiniVariant[paramCount];
- else
- dispatchParams = paramBuffer;
-
- NS_ASSERTION(dispatchParams,"no place for params");
- if (! dispatchParams)
- return NS_ERROR_OUT_OF_MEMORY;
-
- PRUint32* ap = args;
- PRUint32 gpr = 1; // skip one GPR register
- PRUint32 fpr = 0;
- PRUint32 tempu32;
- PRUint64 tempu64;
-
- for(i = 0; i < paramCount; i++) {
- const nsXPTParamInfo& param = info->GetParam(i);
- const nsXPTType& type = param.GetType();
- nsXPTCMiniVariant* dp = &dispatchParams[i];
-
- if (!param.IsOut() && type == nsXPTType::T_DOUBLE) {
- if (fpr < FPR_COUNT)
- dp->val.d = fprData[fpr++];
- else {
- if ((PRUint32) ap & 4) ap++; // doubles are 8-byte aligned on stack
- dp->val.d = *(double*) ap;
- ap += 2;
- if (gpr < GPR_COUNT)
- gpr += 2;
- }
- continue;
- }
- else if (!param.IsOut() && type == nsXPTType::T_FLOAT) {
- if (fpr < FPR_COUNT)
- dp->val.f = (float) fprData[fpr++]; // in registers floats are passed as doubles
- else {
- dp->val.f = *(float*) ap;
- ap += 1;
- if (gpr < GPR_COUNT)
- gpr += 1;
- }
- continue;
- }
- else if (!param.IsOut() && (type == nsXPTType::T_I64
- || type == nsXPTType::T_U64)) {
- if (gpr & 1) gpr++; // longlongs are aligned in odd/even register pairs, eg. r5/r6
- if ((gpr + 1) < GPR_COUNT) {
- tempu64 = *(PRUint64*) &gprData[gpr];
- gpr += 2;
- }
- else {
- if ((PRUint32) ap & 4) ap++; // longlongs are 8-byte aligned on stack
- tempu64 = *(PRUint64*) ap;
- ap += 2;
- }
- }
- else {
- if (gpr < GPR_COUNT)
- tempu32 = gprData[gpr++];
- else
- tempu32 = *ap++;
- }
-
- if(param.IsOut() || !type.IsArithmetic()) {
- dp->val.p = (void*) tempu32;
- continue;
- }
-
- switch(type) {
- case nsXPTType::T_I8: dp->val.i8 = (PRInt8) tempu32; break;
- case nsXPTType::T_I16: dp->val.i16 = (PRInt16) tempu32; break;
- case nsXPTType::T_I32: dp->val.i32 = (PRInt32) tempu32; break;
- case nsXPTType::T_I64: dp->val.i64 = (PRInt64) tempu64; break;
- case nsXPTType::T_U8: dp->val.u8 = (PRUint8) tempu32; break;
- case nsXPTType::T_U16: dp->val.u16 = (PRUint16) tempu32; break;
- case nsXPTType::T_U32: dp->val.u32 = (PRUint32) tempu32; break;
- case nsXPTType::T_U64: dp->val.u64 = (PRUint64) tempu64; break;
- case nsXPTType::T_BOOL: dp->val.b = (PRBool) tempu32; break;
- case nsXPTType::T_CHAR: dp->val.c = (char) tempu32; break;
- case nsXPTType::T_WCHAR: dp->val.wc = (wchar_t) tempu32; break;
-
- default:
- NS_ASSERTION(0, "bad type");
- break;
- }
- }
-
- result = self->CallMethod((PRUint16) methodIndex, info, dispatchParams);
-
- NS_RELEASE(iface_info);
-
- if (dispatchParams != paramBuffer)
- delete [] dispatchParams;
-
- return result;
-}
-
-// Load r11 with the constant 'n' and branch to SharedStub().
-//
-// XXX Yes, it's ugly that we're relying on gcc's name-mangling here;
-// however, it's quick, dirty, and'll break when the ABI changes on
-// us, which is what we want ;-).
-
-#define STUB_ENTRY(n) \
-__asm__ ( \
- ".section \".text\" \n\t" \
- ".align 2 \n\t" \
- ".globl Stub"#n"__14nsXPTCStubBase \n\t" \
- ".type Stub"#n"__14nsXPTCStubBase,@function \n\n" \
- \
-"Stub"#n"__14nsXPTCStubBase: \n\t" \
- "li 11,"#n" \n\t" \
- "b SharedStub@local \n" \
-);
-
-#define SENTINEL_ENTRY(n) \
-nsresult nsXPTCStubBase::Sentinel##n() \
-{ \
- NS_ASSERTION(0,"nsXPTCStubBase::Sentinel called"); \
- return NS_ERROR_NOT_IMPLEMENTED; \
-}
-
-#include "xptcstubsdef.inc"
diff --git a/www/mozilla/files/xptcstubs_sparc_netbsd.cpp b/www/mozilla/files/xptcstubs_sparc_netbsd.cpp
deleted file mode 100644
index 787b2775ed8..00000000000
--- a/www/mozilla/files/xptcstubs_sparc_netbsd.cpp
+++ /dev/null
@@ -1,131 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
- *
- * The contents of this file are subject to the Netscape Public
- * License Version 1.1 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.mozilla.org/NPL/
- *
- * Software distributed under the License is distributed on an "AS
- * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
- * implied. See the License for the specific language governing
- * rights and limitations under the License.
- *
- * The Original Code is mozilla.org code.
- *
- * The Initial Developer of the Original Code is Netscape
- * Communications Corporation. Portions created by Netscape are
- * Copyright (C) 1999 Netscape Communications Corporation. All
- * Rights Reserved.
- *
- * Contributor(s):
- */
-
-/* Implement shared vtbl methods. */
-
-#include "xptcprivate.h"
-
-#if defined(sparc) || defined(__sparc__)
-
-extern "C" nsresult
-PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, uint32* args)
-{
-
- typedef struct {
- uint32 hi;
- uint32 lo;
- } DU; // have to move 64 bit entities as 32 bit halves since
- // stack slots are not guaranteed 16 byte aligned
-
-#define PARAM_BUFFER_COUNT 16
-
- nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT];
- nsXPTCMiniVariant* dispatchParams = NULL;
- nsIInterfaceInfo* iface_info = NULL;
- const nsXPTMethodInfo* info;
- PRUint8 paramCount;
- PRUint8 i;
- nsresult result = NS_ERROR_FAILURE;
-
- 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");
-
- paramCount = info->GetParamCount();
-
- // setup variant array pointer
- if(paramCount > PARAM_BUFFER_COUNT)
- dispatchParams = new nsXPTCMiniVariant[paramCount];
- else
- dispatchParams = paramBuffer;
- NS_ASSERTION(dispatchParams,"no place for params");
-
- PRUint32* ap = args;
- for(i = 0; i < paramCount; i++, ap++)
- {
- const nsXPTParamInfo& param = info->GetParam(i);
- const nsXPTType& type = param.GetType();
- nsXPTCMiniVariant* dp = &dispatchParams[i];
-
- if(param.IsOut() || !type.IsArithmetic())
- {
- dp->val.p = (void*) *ap;
- continue;
- }
- // else
- switch(type)
- {
- case nsXPTType::T_I8 : dp->val.i8 = *((PRInt32*) ap); break;
- case nsXPTType::T_I16 : dp->val.i16 = *((PRInt32*) ap); break;
- case nsXPTType::T_I32 : dp->val.i32 = *((PRInt32*) ap); break;
- case nsXPTType::T_DOUBLE :
- case nsXPTType::T_U64 :
- case nsXPTType::T_I64 : ((DU *)dp)->hi = ((DU *)ap)->hi;
- ((DU *)dp)->lo = ((DU *)ap)->lo;
- ap++;
- break;
- case nsXPTType::T_U8 : dp->val.u8 = *((PRUint32*) ap); break;
- case nsXPTType::T_U16 : dp->val.u16 = *((PRUint32*)ap); break;
- case nsXPTType::T_U32 : dp->val.u32 = *((PRUint32*)ap); break;
- case nsXPTType::T_FLOAT : dp->val.f = *((float*) ap); break;
- case nsXPTType::T_BOOL : dp->val.b = *((PRBool*) ap); break;
- case nsXPTType::T_CHAR : dp->val.c = *((PRUint32*) ap); break;
- case nsXPTType::T_WCHAR : dp->val.wc = *((PRInt32*) ap); break;
- default:
- NS_ASSERTION(0, "bad type");
- break;
- }
- }
-
- result = self->CallMethod((PRUint16)methodIndex, info, dispatchParams);
-
- NS_RELEASE(iface_info);
-
- if(dispatchParams != paramBuffer)
- delete [] dispatchParams;
-
- return result;
-}
-
-extern "C" int SharedStub(int, int*);
-
-#define STUB_ENTRY(n) \
-nsresult nsXPTCStubBase::Stub##n() \
-{ \
- int dummy; /* defeat tail-call optimization */ \
- return SharedStub(n, &dummy); \
-}
-
-#define SENTINEL_ENTRY(n) \
-nsresult nsXPTCStubBase::Sentinel##n() \
-{ \
- NS_ASSERTION(0,"nsXPTCStubBase::Sentinel called"); \
- return NS_ERROR_NOT_IMPLEMENTED; \
-}
-
-#include "xptcstubsdef.inc"
-
-#endif /* sparc || __sparc__ */
diff --git a/www/mozilla/patches/patch-aa b/www/mozilla/patches/patch-aa
deleted file mode 100644
index 90e7bd0c05c..00000000000
--- a/www/mozilla/patches/patch-aa
+++ /dev/null
@@ -1,22 +0,0 @@
-$NetBSD: patch-aa,v 1.18 2001/02/17 11:03:28 taya Exp $
-
-diff -ru ../Orig/mozilla/config/autoconf.mk.in ./config/autoconf.mk.in
---- ../Orig/mozilla/config/autoconf.mk.in Wed Feb 7 09:10:17 2001
-+++ ./config/autoconf.mk.in Sat Feb 17 02:07:16 2001
-@@ -76,7 +76,6 @@
- NO_NETSCAPE_STATIC = @NO_STATIC_LIB@
- ENABLE_TESTS = @ENABLE_TESTS@
- BUILD_IDLC = @BUILD_IDLC@
--NEED_BASE_DLL_NAME_ALSO = @NEED_BASE_DLL_NAME_ALSO@
- MOZ_ENDER_LITE = @MOZ_ENDER_LITE@
- MOZ_LDAP_XPCOM = @MOZ_LDAP_XPCOM@
- XPCOM_USE_LEA = @XPCOM_USE_LEA@
-@@ -255,8 +254,6 @@
- MKSHLIB_UNFORCE_ALL = @MKSHLIB_UNFORCE_ALL@
- DSO_LDOPTS = @DSO_LDOPTS@
- DLL_SUFFIX = @DLL_SUFFIX@
--SHLIB_LDSTARTFILE = @SHLIB_LDSTARTFILE@
--SHLIB_LDENDFILE = @SHLIB_LDENDFILE@
- endif
-
- NO_LD_ARCHIVE_FLAGS = @NO_LD_ARCHIVE_FLAGS@
diff --git a/www/mozilla/patches/patch-ab b/www/mozilla/patches/patch-ab
deleted file mode 100644
index febc3cd6cdf..00000000000
--- a/www/mozilla/patches/patch-ab
+++ /dev/null
@@ -1,103 +0,0 @@
-$NetBSD: patch-ab,v 1.19 2001/02/17 11:03:28 taya Exp $
-
-diff -ru ../Orig/mozilla/configure.in ./configure.in
---- ../Orig/mozilla/configure.in Sat Feb 10 06:30:09 2001
-+++ ./configure.in Sat Feb 17 02:07:20 2001
-@@ -380,9 +380,6 @@
- LIB_SUFFIX=a
- TARGET_MD_ARCH=unix
- DIRENT_INO=d_ino
--NEED_BASE_DLL_NAME_ALSO=
--SHLIB_LDSTARTFILE=
--SHLIB_LDENDFILE=
-
- MOZ_JPEG_CFLAGS=
- MOZ_JPEG_LIBS='-L$(DIST)/lib -ljpeg'
-@@ -734,31 +731,18 @@
- if $CC -E - -dM </dev/null | grep __ELF__ >/dev/null; then
- DLL_SUFFIX=".so"
- DSO_PIC_CFLAGS='-fPIC -DPIC'
-- DSO_LDOPTS='-x -shared -soname lib$(LIBRARY_NAME)$(DLL_SUFFIX)'
-- SHLIB_LDSTARTFILE=/usr/lib/crtbeginS.o
-- SHLIB_LDENDFILE=/usr/lib/crtendS.o
-+ DSO_LDOPTS='-shared -Wl,-soname,lib$(LIBRARY_NAME)$(DLL_SUFFIX)'
-+ BIN_FLAGS='-Wl,--export-dynamic'
- else
- DSO_PIC_CFLAGS='-fPIC -DPIC'
- DLL_SUFFIX=".so.1.0"
-- DSO_LDOPTS='-x -shared'
-- SHLIB_LDSTARTFILE=/usr/lib/c++rt0.o
-+ DSO_LDOPTS='-shared'
- fi
-- # At least for 1.3 and up, ld supports this, despite the test failing above.
-- MKSHLIB_FORCE_ALL='--whole-archive'
-- MKSHLIB_UNFORCE_ALL='--no-whole-archive'
-- case $OS_TEST in
-- alpha)
-- dnl NetBSD/alpha can't find a shared lib
-- dnl (.so.1.0) unless there's a .so as well.
-- NEED_BASE_DLL_NAME_ALSO=1
-- ;;
-- *86)
-- MKSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
-- MKCSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
-- ;;
-- esac
-+ # This will fail on a.out systems prior to 1.5.1_ALPHA.
-+ MKSHLIB_FORCE_ALL='-Wl,--whole-archive'
-+ MKSHLIB_UNFORCE_ALL='-Wl,--no-whole-archive'
- if test "$LIBRUNPATH"; then
-- DSO_LDOPTS="-R$LIBRUNPATH $DSO_LDOPTS"
-+ DSO_LDOPTS="-Wl,-R$LIBRUNPATH $DSO_LDOPTS"
- fi
- ;;
-
-@@ -1003,11 +987,6 @@
-
- esac
-
--dnl See above (netbsd)
--AC_SUBST(NEED_BASE_DLL_NAME_ALSO)
--AC_SUBST(SHLIB_LDSTARTFILE)
--AC_SUBST(SHLIB_LDENDFILE)
--
- dnl Only one oddball right now (QNX), but this gives us flexibility
- dnl if any other platforms need to override this in the future.
- AC_DEFINE_UNQUOTED(D_INO,$DIRENT_INO)
-@@ -1244,12 +1223,6 @@
- AM_PATH_GTK($GTK_VERSION,,
- AC_MSG_ERROR(Test for GTK failed.))
-
--case "$target" in
--i386-*-netbsd*)
-- GTK_LIBS=`echo $GTK_LIBS | sed -e 's/-Wl,//g'`
-- ;;
--esac
--
- dnl ========================================================
- dnl = =
- dnl = --with-java-supplement =
-@@ -1755,13 +1728,6 @@
- AC_SUBST(GLIB_CFLAGS)
- AC_SUBST(GLIB_LIBS)
-
--case "$target" in
--i386-*-netbsd*)
-- GLIB_LIBS=`echo $GLIB_LIBS | sed -e 's/-Wl,//g'`
-- LIBIDL_LIBS=`echo $LIBIDL_LIBS | sed -e 's/-Wl,//g'`
-- ;;
--esac
--
- dnl Checks for typedefs, structures, and compiler characteristics.
- dnl ========================================================
- AC_C_CONST
-@@ -2147,6 +2113,9 @@
- CXXFLAGS="$CXXFLAGS -mt"
- fi
- ;;
-+ *-*-netbsd*)
-+ USE_PTHREADS=
-+ _PTHREAD_LDFLAGS=
- esac
- fi
-
diff --git a/www/mozilla/patches/patch-ac b/www/mozilla/patches/patch-ac
deleted file mode 100644
index b121e30d7dd..00000000000
--- a/www/mozilla/patches/patch-ac
+++ /dev/null
@@ -1,31 +0,0 @@
-$NetBSD: patch-ac,v 1.13 2000/10/30 17:03:38 mycroft Exp $
-
---- nsprpub/config/NetBSD.mk.orig Thu Jul 6 21:04:45 2000
-+++ nsprpub/config/NetBSD.mk Mon Oct 30 17:01:51 2000
-@@ -52,16 +52,23 @@
- DLL_SUFFIX = so
- else
- DLL_SUFFIX = so.1.0
-+# XXX work around a bug in the a.out ld(1).
-+OS_LIBS =
- endif
-
- DSO_CFLAGS = -fPIC -DPIC
- DSO_LDFLAGS =
--DSO_LDOPTS = -x -shared
-+DSO_LDOPTS = -shared
-+ifeq ($(OBJECT_FMT),ELF)
-+DSO_LDOPTS +=-Wl,-soname,lib$(LIBRARY_NAME)$(LIBRARY_VERSION).$(DLL_SUFFIX)
-+endif
-
- ifdef LIBRUNPATH
--DSO_LDOPTS += -R$(LIBRUNPATH)
-+#DSO_LDOPTS += -R$(LIBRUNPATH)
-+DSO_LDOPTS += -Wl,-R$(LIBRUNPATH)
- endif
-
--MKSHLIB = $(LD) $(DSO_LDOPTS)
-+#MKSHLIB = $(LD) $(DSO_LDOPTS)
-+MKSHLIB = $(CC) $(DSO_LDOPTS)
-
- G++INCLUDES = -I/usr/include/g++
diff --git a/www/mozilla/patches/patch-af b/www/mozilla/patches/patch-af
deleted file mode 100644
index 3514c4e3bd3..00000000000
--- a/www/mozilla/patches/patch-af
+++ /dev/null
@@ -1,50 +0,0 @@
-$NetBSD: patch-af,v 1.12 2001/01/16 16:01:22 taya Exp $
-
-diff -ru ../Orig/mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in ./xpcom/reflect/xptcall/src/md/unix/Makefile.in
---- ../Orig/mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in Tue Nov 28 14:27:19 2000
-+++ ./xpcom/reflect/xptcall/src/md/unix/Makefile.in Mon Jan 15 15:38:34 2001
-@@ -105,11 +105,11 @@
- #
- # NetBSD/ARM
- #
--#ifeq ($(OS_ARCH),NetBSD)
--#ifneq (,$(filter arm32 armv4l sa110,$(OS_TEST)))
--#CPPSRCS := xptcinvoke_arm.cpp xptcstubs_arm.cpp
--#endif
--#endif
-+ifeq ($(OS_ARCH),NetBSD)
-+ifneq (,$(filter arm32 armv4l sa110,$(OS_TEST)))
-+CPPSRCS := xptcinvoke_arm_netbsd.cpp xptcstubs_arm_netbsd.cpp
-+endif
-+endif
-
- ######################################################################
- # HPPA
-@@ -181,6 +181,11 @@
- ASFILES := xptcinvoke_asm_ppc_linux.s xptcstubs_asm_ppc_linux.s
- endif
-
-+ifneq (,$(filter NetBSDmacppc NetBSDbebox NetBSDofppc NetBSDprep NetBSDamigappc,$(OS_ARCH)$(OS_TEST)))
-+CPPSRCS := xptcinvoke_ppc_netbsd.cpp xptcstubs_ppc_netbsd.cpp
-+ASFILES := xptcinvoke_asm_ppc_netbsd.s xptcstubs_asm_ppc_netbsd.s
-+endif
-+
- ifeq ($(OS_ARCH),Rhapsody)
- CPPSRCS := xptcinvoke_ppc_rhapsody.cpp xptcstubs_ppc_rhapsody.cpp
- ASFILES := xptcinvoke_asm_ppc_rhapsody.s xptcstubs_asm_ppc_rhapsody.s
-@@ -196,6 +201,15 @@
- ifneq (,$(findstring sparc,$(OS_TEST)))
- CPPSRCS := xptcinvoke_sparc_solaris.cpp xptcstubs_sparc_solaris.cpp
- ASFILES := xptcinvoke_asm_sparc_linux.s xptcstubs_asm_sparc_solaris.s
-+endif
-+endif
-+#
-+# NetBSD/SPARC
-+#
-+ifeq ($(OS_ARCH),NetBSD)
-+ifneq (,$(findstring sparc,$(OS_TEST)))
-+CPPSRCS := xptcinvoke_sparc_netbsd.cpp xptcstubs_sparc_netbsd.cpp
-+ASFILES := xptcinvoke_asm_sparc_netbsd.s xptcstubs_asm_sparc_netbsd.s
- endif
- endif
- #
diff --git a/www/mozilla/patches/patch-ag b/www/mozilla/patches/patch-ag
deleted file mode 100644
index e0f788d81ef..00000000000
--- a/www/mozilla/patches/patch-ag
+++ /dev/null
@@ -1,42 +0,0 @@
-$NetBSD: patch-ag,v 1.9 2001/01/16 16:01:22 taya Exp $
-
-diff -ru ../Orig/mozilla/config/rules.mk ./config/rules.mk
---- ../Orig/mozilla/config/rules.mk Wed Dec 13 06:28:24 2000
-+++ ./config/rules.mk Mon Jan 15 15:37:54 2001
-@@ -373,6 +373,27 @@
- endif
-
- #
-+# On NetBSD a.out systems, use -Bsymbolic. This fixes what would otherwise be
-+# fatal symbol name clashes between components.
-+#
-+ifeq ($(OS_ARCH),NetBSD)
-+ifeq ($(DLL_SUFFIX),.so.1.0)
-+ifdef IS_COMPONENT
-+EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic
-+endif
-+endif
-+endif
-+
-+ifeq ($(OS_ARCH),NetBSD)
-+ifneq (,$(filter arc cobalt hpcmips mipsco newsmips pmax sgimips,$(OS_TEST)))
-+ifeq ($(MODULE),layout)
-+OS_CFLAGS += -Wa,-xgot
-+OS_CXXFLAGS += -Wa,-xgot
-+endif
-+endif
-+endif
-+
-+#
- # HP-UXBeOS specific section: for COMPONENTS only, add -Bsymbolic flag
- # which uses internal symbols first
- #
-@@ -1413,7 +1434,7 @@
- @echo "OS_CFLAGS = $(OS_CFLAGS)"
- @echo "COMPILE_CFLAGS = $(COMPILE_CFLAGS)"
- @echo "CXXFLAGS = $(CXXFLAGS)"
-- @echo "OS_CXXFLAGS = $(OS_CFXXFLAGS)"
-+ @echo "OS_CXXFLAGS = $(OS_CXXFLAGS)"
- @echo "COMPILE_CXXFLAGS = $(COMPILE_CXXFLAGS)"
- @echo "LDFLAGS = $(LDFLAGS)"
- @echo "OS_LDFLAGS = $(OS_LDFLAGS)"
diff --git a/www/mozilla/patches/patch-ah b/www/mozilla/patches/patch-ah
deleted file mode 100644
index 12d9d637eeb..00000000000
--- a/www/mozilla/patches/patch-ah
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-ah,v 1.6 2000/10/29 01:15:16 mycroft Exp $
-
---- js/src/jsdtoa.c.orig Sat Oct 28 17:45:14 2000
-+++ js/src/jsdtoa.c Sat Oct 28 17:44:45 2000
-@@ -241,7 +241,7 @@
- * differently: the 32 bit words are in little endian byte order, the two words
- * are stored in big endian`s way.
- */
--#if defined (IEEE_8087) && !defined(__arm)
-+#if defined (IEEE_8087) && !defined(__arm) && !defined(__arm32__) && !defined(__arm26__)
- #define word0(x) ((ULong *)&x)[1]
- #define word1(x) ((ULong *)&x)[0]
- #else
diff --git a/www/mozilla/patches/patch-aj b/www/mozilla/patches/patch-aj
deleted file mode 100644
index ec0ea5debff..00000000000
--- a/www/mozilla/patches/patch-aj
+++ /dev/null
@@ -1,42 +0,0 @@
-$NetBSD: patch-aj,v 1.7 2001/01/16 16:01:23 taya Exp $
-
-diff -ru ../Orig/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_netbsd_m68k.cpp ./xpcom/reflect/xptcall/src/md/unix/xptcinvoke_netbsd_m68k.cpp
---- ../Orig/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_netbsd_m68k.cpp Sat Nov 6 12:39:07 1999
-+++ ./xpcom/reflect/xptcall/src/md/unix/xptcinvoke_netbsd_m68k.cpp Mon Jan 15 15:37:55 2001
-@@ -129,6 +129,7 @@
- "jbsr _invoke_count_words\n\t" /* count words */
- "addql #8, sp\n\t"
- "lsll #2, d0\n\t" /* *= 4 */
-+ "movl sp, a2\n\t" /* save original sp */
- "subl d0, sp\n\t" /* make room for params */
- "movl sp, a0\n\t"
- "movl %4, sp@-\n\t"
-@@ -137,18 +138,22 @@
- "jbsr _invoke_copy_to_stack\n\t" /* copy params */
- "addl #12, sp\n\t"
- "movl %1, a0\n\t"
-- "movl a0, sp@-\n\t"
-- "movl a0@, a0\n\t"
-+ "movl a0@, a1\n\t"
- "movl %2, d0\n\t" /* function index */
-- "movl a0@(12,d0:l:8), a0\n\t"
-- "jbsr a0@\n\t" /* safe to not cleanup sp */
-- "movl d0, %0"
-+ "movl a0, d1\n\t"
-+ "movw a1@(8,d0:l:8), a0\n\t"
-+ "addl a0, d1\n\t"
-+ "movl a1@(12,d0:l:8), a1\n\t"
-+ "movl d1, sp@-\n\t"
-+ "jbsr a1@\n\t"
-+ "movl a2, sp\n\t" /* restore original sp */
-+ "movl d0, %0\n\t"
- : "=g" (result) /* %0 */
- : "g" (that), /* %1 */
- "g" (methodIndex), /* %2 */
- "g" (paramCount), /* %3 */
- "g" (params) /* %4 */
-- : "a0", "a1", "d0", "d1", "memory"
-+ : "a0", "a1", "a2", "d0", "d1", "memory"
- );
-
- return result;
diff --git a/www/mozilla/patches/patch-ak b/www/mozilla/patches/patch-ak
deleted file mode 100644
index 4272de2020b..00000000000
--- a/www/mozilla/patches/patch-ak
+++ /dev/null
@@ -1,41 +0,0 @@
-$NetBSD: patch-ak,v 1.8 2001/01/16 16:01:23 taya Exp $
-
-diff -ru ../Orig/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_netbsd_m68k.cpp ./xpcom/reflect/xptcall/src/md/unix/xptcstubs_netbsd_m68k.cpp
---- ../Orig/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_netbsd_m68k.cpp Sat Nov 6 12:39:10 1999
-+++ ./xpcom/reflect/xptcall/src/md/unix/xptcstubs_netbsd_m68k.cpp Mon Jan 15 19:12:42 2001
-@@ -108,22 +108,19 @@
- }
- }
-
--#define STUB_ENTRY(n) \
--nsresult nsXPTCStubBase::Stub##n() \
--{ \
-- register nsresult result; \
-- __asm__ __volatile__( \
-- "lea a6@(12), a0\n\t" /* args */ \
-- "movl a0, sp@-\n\t" \
-- "movl #"#n", sp@-\n\t" /* method index */ \
-- "movl a6@(8), sp@-\n\t" /* this */ \
-- "jbsr _PrepareAndDispatch\n\t" \
-- "movl d0, %0" \
-- : "=d" (result) /* %0 */ \
-- : \
-- : "a0", "a1", "d0", "d1", "memory" ); \
-- return result; \
--}
-+#define STUB_ENTRY(n) \
-+__asm__( \
-+ ".global _Stub"#n"__14nsXPTCStubBase\n\t" \
-+"_Stub"#n"__14nsXPTCStubBase:\n\t" \
-+ "link a6,#0 \n\t" \
-+ "lea a6@(12), a0 \n\t" /* pointer to args */ \
-+ "movl a0, sp@- \n\t" \
-+ "movl #"#n", sp@- \n\t" /* method index */ \
-+ "movl a6@(8), sp@- \n\t" /* this */ \
-+ "jbsr _PrepareAndDispatch \n\t" \
-+ "unlk a6 \n\t" \
-+ "rts \n\t" \
-+);
-
- #define SENTINEL_ENTRY(n) \
- nsresult nsXPTCStubBase::Sentinel##n() \
diff --git a/www/mozilla/patches/patch-an b/www/mozilla/patches/patch-an
deleted file mode 100644
index 6125512d0d9..00000000000
--- a/www/mozilla/patches/patch-an
+++ /dev/null
@@ -1,32 +0,0 @@
-$NetBSD: patch-an,v 1.4 2001/02/17 11:03:28 taya Exp $
-
-diff -ru ../Orig/mozilla/htmlparser/tests/outsinks/Convert.cpp ./htmlparser/tests/outsinks/Convert.cpp
---- ../Orig/mozilla/htmlparser/tests/outsinks/Convert.cpp Fri Jan 26 04:37:23 2001
-+++ ./htmlparser/tests/outsinks/Convert.cpp Sat Feb 17 02:09:57 2001
-@@ -62,12 +62,12 @@
-
- // Inefficiently read from the file:
- nsString inString;
-- char c;
-+ int c;
- int index = 0;
- int different = 0;
- while ((c = getc(file)) != EOF)
- {
-- inString.AppendWithConversion(c);
-+ inString.AppendWithConversion((char) c);
- // CVS isn't doing newline comparisons on these files for some reason.
- // So compensate for possible newline problems in the CVS file:
- if (c == '\n' && str[index] == '\r')
-@@ -302,9 +302,9 @@
-
- // Read in the string: very inefficient, but who cares?
- nsString inString;
-- char c;
-+ int c;
- while ((c = getc(file)) != EOF)
-- inString.AppendWithConversion(c);
-+ inString.AppendWithConversion((char) c);
-
- if (file != stdin)
- fclose(file);
diff --git a/www/mozilla/patches/patch-ar b/www/mozilla/patches/patch-ar
new file mode 100644
index 00000000000..47fee28c06b
--- /dev/null
+++ b/www/mozilla/patches/patch-ar
@@ -0,0 +1,58 @@
+$NetBSD: patch-ar,v 1.1 2001/03/30 09:37:50 taya Exp $
+
+diff -ru ../Orig/mozilla/nsprpub/configure.in ./nsprpub/configure.in
+--- ../Orig/mozilla/nsprpub/configure.in Sun Mar 11 15:24:30 2001
++++ ./nsprpub/configure.in Sat Mar 24 01:33:09 2001
+@@ -1073,24 +1073,29 @@
+ AC_DEFINE(XP_UNIX)
+ AC_DEFINE(NETBSD)
+ AC_DEFINE(HAVE_BSD_FLOCK)
++ USE_NSPR_THREADS=1
++ MDCPUCFG_H=_netbsd.cfg
++ PR_MD_CSRCS=netbsd.c
++
++ DSO_CFLAGS='-fPIC -DPIC'
++ CFLAGS="$CFLAGS -ansi -Wall -pipe"
++ CXXFLAGS="$CXXFLAGS -ansi -Wall -pipe"
++ MKSHLIB='$(CC) -o $@ $(DSO_LDOPTS)'
++
+ if test -z "$OBJECT_FMT"; then
+ if echo __ELF__ | ${CC-cc} -E - | grep -q __ELF__ 2>/dev/null; then
+- OBJECT_FMT=a.out;
++ OBJECT_FMT=a.out
++ DLL_SUFFIX=so.1.0
++ DSO_LDOPTS='-shared'
+ else
+ OBJECT_FMT=ELF
++ DLL_SUFFIX=so
++ DSO_LDOPTS='-shared -Wl,-soname,lib$(LIBRARY_NAME)$(LIBRARY_VERSION).$(DLL_SUFFIX)'
+ fi
+ fi
+- if test "$OBJECT_FMT" = "ELF"; then
+- DLL_SUFFIX=so
+- else
+- DLL_SUFFIX=so.1.0
+- fi
+- CFLAGS="$CFLAGS -ansi -Wall -pipe"
+- CXXFLAGS="$CXXFLAGS -ansi -Wall -pipe"
+- DSO_CFLAGS='-fPIC -DPIC'
+- DSO_LDOPTS='-x -shared'
++
+ if test "$LIBRUNPATH"; then
+- DSO_LDOPTS="$DSO_LDOPTS -R$(LIBRUNPATH)"
++ DSO_LDOPTS="$DSO_LDOPTS -Wl,-R$LIBRUNPATH"
+ fi
+ ;;
+
+@@ -1777,11 +1782,6 @@
+ _PTHREAD_LDFLAGS=
+ USE_USER_PTHREADS=
+ ;;
+-*-netbsd*)
+- if test -z "$USE_PTHREADS"; then
+- OS_LIBS="$OS_LIBS -lc"
+- fi
+- ;;
+ *-solaris*)
+ if test -n "$USE_NATIVE_THREADS"; then
+ AC_DEFINE(_PR_GLOBAL_THREADS_ONLY)
diff --git a/www/mozilla/patches/patch-as b/www/mozilla/patches/patch-as
new file mode 100644
index 00000000000..71139ab6d86
--- /dev/null
+++ b/www/mozilla/patches/patch-as
@@ -0,0 +1,68 @@
+$NetBSD: patch-as,v 1.1 2001/03/30 09:37:50 taya Exp $
+
+diff -ru ../Orig/mozilla/netwerk/dns/src/nsDnsService.cpp ./netwerk/dns/src/nsDnsService.cpp
+--- ../Orig/mozilla/netwerk/dns/src/nsDnsService.cpp Fri Mar 23 23:23:37 2001
++++ ./netwerk/dns/src/nsDnsService.cpp Sat Mar 24 01:35:04 2001
+@@ -943,6 +943,11 @@
+
+ nsAutoMonitor mon(mLookupQMon);
+
++ // Don't wait on the monitor if we're in the process
++ // of shutting down the DNS service.
++ if (mShutdownInProgress)
++ return NS_OK;
++
+ // Wait for notification of a queued request.
+ if (!mLookupQ)
+ mon.Wait();
+@@ -967,22 +972,21 @@
+ ////////////////////////////////////////////////////////////////////////////////
+
+ nsDNSService::nsDNSService()
+- : mState(NS_OK),
+- mMonitor(nsnull),
+- mLookups(64)
++ : mState(NS_OK)
++ , mMonitor(nsnull)
++ , mLookups(64)
+ #if defined(XP_UNIX)
+ , mLookupQ(nsnull)
++ , mLookupQMon(nsnull)
++ , mShutdownInProgress(PR_FALSE)
+ #endif
+ #ifdef DNS_TIMING
+- ,
+- mCount(0),
+- mTimes(0),
+- mSquaredTimes(0),
+- mOut(nsnull)
+-
++ , mCount(0)
++ , mTimes(0)
++ , mSquaredTimes(0)
++ , mOut(nsnull)
+ #endif
+- ,
+- mMyIPAddress(0)
++ , mMyIPAddress(0)
+ {
+ NS_INIT_REFCNT();
+
+@@ -1262,9 +1266,7 @@
+ if (NS_FAILED(rv)) return rv;
+
+ if (lookup) {
+- //
+ // Got a request!!
+- //
+ lookup->DoSyncLookup();
+ NS_RELEASE(lookup);
+ } else
+@@ -1544,6 +1546,7 @@
+ // Clear the lookup queue and wake up the worker thread.
+ //
+ nsAutoMonitor mon2(mLookupQMon);
++ mShutdownInProgress = PR_TRUE;
+ if (mLookupQ) {
+ mLookupQ->ClearNextLookup();
+ NS_RELEASE(mLookupQ);
diff --git a/www/mozilla/patches/patch-at b/www/mozilla/patches/patch-at
new file mode 100644
index 00000000000..f782f9b4c0b
--- /dev/null
+++ b/www/mozilla/patches/patch-at
@@ -0,0 +1,15 @@
+$NetBSD: patch-at,v 1.1 2001/03/30 09:37:50 taya Exp $
+
+diff -ru ../Orig/mozilla/netwerk/dns/src/nsDnsService.h ./netwerk/dns/src/nsDnsService.h
+--- ../Orig/mozilla/netwerk/dns/src/nsDnsService.h Fri Feb 23 09:15:35 2001
++++ ./netwerk/dns/src/nsDnsService.h Sat Mar 24 01:35:05 2001
+@@ -111,6 +111,9 @@
+ // Called by the DNS thread to get the next lookup to process.
+ // Blocks until a lookup is available.
+ nsresult DequeueLookup(nsDNSLookup **);
++
++ // Needed if the DNS thread is not already waiting on the lookup monitor.
++ PRBool mShutdownInProgress;
+ #endif
+
+ #ifdef DNS_TIMING
diff --git a/www/mozilla/pkg/PLIST-ELF b/www/mozilla/pkg/PLIST-ELF
index 0a852312fb5..cf08a6b63ee 100644
--- a/www/mozilla/pkg/PLIST-ELF
+++ b/www/mozilla/pkg/PLIST-ELF
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST-ELF,v 1.9 2001/02/17 11:03:28 taya Exp $
+@comment $NetBSD: PLIST-ELF,v 1.10 2001/03/30 09:37:50 taya Exp $
bin/mozilla
@comment begin PROGRAMS
lib/mozilla/mozilla-bin
@@ -8,7 +8,6 @@ lib/mozilla/regExport
lib/mozilla/regchrome
lib/mozilla/regxpcom
lib/mozilla/timebombgen
-lib/mozilla/vreg
lib/mozilla/xpidl
lib/mozilla/xpt_dump
lib/mozilla/xpt_link
@@ -31,6 +30,7 @@ lib/mozilla/components/libeditor.so
lib/mozilla/components/libembedcomponents.so
lib/mozilla/components/libgfx_gtk.so
lib/mozilla/components/libgfxps.so
+lib/mozilla/components/libgkcontent.so
lib/mozilla/components/libgklayout.so
lib/mozilla/components/libgkplugin.so
lib/mozilla/components/libgkview.so
@@ -117,12 +117,13 @@ lib/mozilla/plugins/libnullplugin.so
@comment end DSO
@comment begin DATA
lib/mozilla/bloaturls.txt
-lib/mozilla/chrome/blue.jar
+lib/mozilla/chrome/US.jar
lib/mozilla/chrome/chatzilla.jar
lib/mozilla/chrome/classic.jar
lib/mozilla/chrome/comm.jar
lib/mozilla/chrome/embed.jar
lib/mozilla/chrome/en-US.jar
+lib/mozilla/chrome/en-unix.jar
lib/mozilla/chrome/installed-chrome.txt
lib/mozilla/chrome/messenger.jar
lib/mozilla/chrome/modern.jar
@@ -136,11 +137,13 @@ lib/mozilla/components/caps.xpt
lib/mozilla/components/chardet.xpt
lib/mozilla/components/chatzilla-service.js
lib/mozilla/components/chrome.xpt
+lib/mozilla/components/content_base.xpt
lib/mozilla/components/cookieviewer.xpt
lib/mozilla/components/directory.xpt
lib/mozilla/components/docshell.xpt
lib/mozilla/components/dom.xpt
lib/mozilla/components/editor.xpt
+lib/mozilla/components/embed_base.xpt
lib/mozilla/components/exthandler.xpt
lib/mozilla/components/gfx.xpt
lib/mozilla/components/history.xpt
@@ -152,6 +155,7 @@ lib/mozilla/components/jsurl.xpt
lib/mozilla/components/layout.xpt
lib/mozilla/components/layout_base.xpt
lib/mozilla/components/layout_xul.xpt
+lib/mozilla/components/layout_xul_outliner.xpt
lib/mozilla/components/locale.xpt
lib/mozilla/components/mailnews.xpt
lib/mozilla/components/mime.xpt
@@ -216,7 +220,6 @@ lib/mozilla/components/widget.xpt
lib/mozilla/components/windowwatcher.xpt
lib/mozilla/components/xml-rpc.xpt
lib/mozilla/components/xmlextras.xpt
-lib/mozilla/components/xmlsoap.xpt
lib/mozilla/components/xpcom_base.xpt
lib/mozilla/components/xpcom_components.xpt
lib/mozilla/components/xpcom_ds.xpt
@@ -225,6 +228,8 @@ lib/mozilla/components/xpcom_threads.xpt
lib/mozilla/components/xpcom_xpti.xpt
lib/mozilla/components/xpconnect.xpt
lib/mozilla/components/xpinstall.xpt
+lib/mozilla/components/xuldoc.xpt
+lib/mozilla/components/xultmpl.xpt
lib/mozilla/defaults/pref/all.js
lib/mozilla/defaults/pref/config.js
lib/mozilla/defaults/pref/editor.js
@@ -233,12 +238,12 @@ lib/mozilla/defaults/pref/mailnews.js
lib/mozilla/defaults/pref/security-prefs.js
lib/mozilla/defaults/pref/unix.js
lib/mozilla/defaults/pref/xpinstall.js
+lib/mozilla/defaults/profile/US/bookmarks.html
+lib/mozilla/defaults/profile/US/localstore.rdf
+lib/mozilla/defaults/profile/US/mimeTypes.rdf
+lib/mozilla/defaults/profile/US/panels.rdf
+lib/mozilla/defaults/profile/US/search.rdf
lib/mozilla/defaults/profile/bookmarks.html
-lib/mozilla/defaults/profile/en-US/bookmarks.html
-lib/mozilla/defaults/profile/en-US/localstore.rdf
-lib/mozilla/defaults/profile/en-US/mimeTypes.rdf
-lib/mozilla/defaults/profile/en-US/panels.rdf
-lib/mozilla/defaults/profile/en-US/search.rdf
lib/mozilla/defaults/profile/localstore.rdf
lib/mozilla/defaults/profile/mimeTypes.rdf
lib/mozilla/defaults/profile/panels.rdf
@@ -352,8 +357,8 @@ lib/mozilla/searchplugins/mozilla.gif
lib/mozilla/searchplugins/mozilla.src
lib/mozilla/splash.xpm
@comment end DATA
-@exec env MOZILLA_FIVE_HOME=%D/lib/mozilla %D/lib/mozilla/regxpcom
-@exec env MOZILLA_FIVE_HOME=%D/lib/mozilla %D/lib/mozilla/regchrome
+@exec env LD_LIBRARY_PATH=%D/lib/mozilla MOZILLA_FIVE_HOME=%D/lib/mozilla %D/lib/mozilla/regxpcom
+@exec env LD_LIBRARY_PATH=%D/lib/mozilla MOZILLA_FIVE_HOME=%D/lib/mozilla %D/lib/mozilla/regchrome
@unexec rm %D/lib/mozilla/component.reg
@unexec rm %D/lib/mozilla/chrome/user-locales.rdf
@unexec rm %D/lib/mozilla/chrome/user-skins.rdf
@@ -393,7 +398,7 @@ lib/mozilla/splash.xpm
@dirrm lib/mozilla/icons
@dirrm lib/mozilla/dtd
@dirrm lib/mozilla/defaults/wallet
-@dirrm lib/mozilla/defaults/profile/en-US
+@dirrm lib/mozilla/defaults/profile/US
@dirrm lib/mozilla/defaults/profile
@dirrm lib/mozilla/defaults/pref
@dirrm lib/mozilla/defaults
diff --git a/www/mozilla/pkg/PLIST-a.out b/www/mozilla/pkg/PLIST-a.out
index 575994126fd..f491b73d062 100644
--- a/www/mozilla/pkg/PLIST-a.out
+++ b/www/mozilla/pkg/PLIST-a.out
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST-a.out,v 1.9 2001/02/17 11:03:28 taya Exp $
+@comment $NetBSD: PLIST-a.out,v 1.10 2001/03/30 09:37:51 taya Exp $
bin/mozilla
@comment begin PROGRAMS
lib/mozilla/mozilla-bin
@@ -8,7 +8,6 @@ lib/mozilla/regExport
lib/mozilla/regchrome
lib/mozilla/regxpcom
lib/mozilla/timebombgen
-lib/mozilla/vreg
lib/mozilla/xpidl
lib/mozilla/xpt_dump
lib/mozilla/xpt_link
@@ -31,6 +30,7 @@ lib/mozilla/components/libeditor.so.1.0
lib/mozilla/components/libembedcomponents.so.1.0
lib/mozilla/components/libgfx_gtk.so.1.0
lib/mozilla/components/libgfxps.so.1.0
+lib/mozilla/components/libgkcontent.so.1.0
lib/mozilla/components/libgklayout.so.1.0
lib/mozilla/components/libgkplugin.so.1.0
lib/mozilla/components/libgkview.so.1.0
@@ -117,12 +117,13 @@ lib/mozilla/plugins/libnullplugin.so.1.0
@comment end DSO
@comment begin DATA
lib/mozilla/bloaturls.txt
-lib/mozilla/chrome/blue.jar
+lib/mozilla/chrome/US.jar
lib/mozilla/chrome/chatzilla.jar
lib/mozilla/chrome/classic.jar
lib/mozilla/chrome/comm.jar
lib/mozilla/chrome/embed.jar
lib/mozilla/chrome/en-US.jar
+lib/mozilla/chrome/en-unix.jar
lib/mozilla/chrome/installed-chrome.txt
lib/mozilla/chrome/messenger.jar
lib/mozilla/chrome/modern.jar
@@ -136,11 +137,13 @@ lib/mozilla/components/caps.xpt
lib/mozilla/components/chardet.xpt
lib/mozilla/components/chatzilla-service.js
lib/mozilla/components/chrome.xpt
+lib/mozilla/components/content_base.xpt
lib/mozilla/components/cookieviewer.xpt
lib/mozilla/components/directory.xpt
lib/mozilla/components/docshell.xpt
lib/mozilla/components/dom.xpt
lib/mozilla/components/editor.xpt
+lib/mozilla/components/embed_base.xpt
lib/mozilla/components/exthandler.xpt
lib/mozilla/components/gfx.xpt
lib/mozilla/components/history.xpt
@@ -152,6 +155,7 @@ lib/mozilla/components/jsurl.xpt
lib/mozilla/components/layout.xpt
lib/mozilla/components/layout_base.xpt
lib/mozilla/components/layout_xul.xpt
+lib/mozilla/components/layout_xul_outliner.xpt
lib/mozilla/components/locale.xpt
lib/mozilla/components/mailnews.xpt
lib/mozilla/components/mime.xpt
@@ -216,7 +220,6 @@ lib/mozilla/components/widget.xpt
lib/mozilla/components/windowwatcher.xpt
lib/mozilla/components/xml-rpc.xpt
lib/mozilla/components/xmlextras.xpt
-lib/mozilla/components/xmlsoap.xpt
lib/mozilla/components/xpcom_base.xpt
lib/mozilla/components/xpcom_components.xpt
lib/mozilla/components/xpcom_ds.xpt
@@ -225,6 +228,8 @@ lib/mozilla/components/xpcom_threads.xpt
lib/mozilla/components/xpcom_xpti.xpt
lib/mozilla/components/xpconnect.xpt
lib/mozilla/components/xpinstall.xpt
+lib/mozilla/components/xuldoc.xpt
+lib/mozilla/components/xultmpl.xpt
lib/mozilla/defaults/pref/all.js
lib/mozilla/defaults/pref/config.js
lib/mozilla/defaults/pref/editor.js
@@ -233,12 +238,12 @@ lib/mozilla/defaults/pref/mailnews.js
lib/mozilla/defaults/pref/security-prefs.js
lib/mozilla/defaults/pref/unix.js
lib/mozilla/defaults/pref/xpinstall.js
+lib/mozilla/defaults/profile/US/bookmarks.html
+lib/mozilla/defaults/profile/US/localstore.rdf
+lib/mozilla/defaults/profile/US/mimeTypes.rdf
+lib/mozilla/defaults/profile/US/panels.rdf
+lib/mozilla/defaults/profile/US/search.rdf
lib/mozilla/defaults/profile/bookmarks.html
-lib/mozilla/defaults/profile/en-US/bookmarks.html
-lib/mozilla/defaults/profile/en-US/localstore.rdf
-lib/mozilla/defaults/profile/en-US/mimeTypes.rdf
-lib/mozilla/defaults/profile/en-US/panels.rdf
-lib/mozilla/defaults/profile/en-US/search.rdf
lib/mozilla/defaults/profile/localstore.rdf
lib/mozilla/defaults/profile/mimeTypes.rdf
lib/mozilla/defaults/profile/panels.rdf
@@ -352,8 +357,8 @@ lib/mozilla/searchplugins/mozilla.gif
lib/mozilla/searchplugins/mozilla.src
lib/mozilla/splash.xpm
@comment end DATA
-@exec env MOZILLA_FIVE_HOME=%D/lib/mozilla %D/lib/mozilla/regxpcom
-@exec env MOZILLA_FIVE_HOME=%D/lib/mozilla %D/lib/mozilla/regchrome
+@exec env LD_LIBRARY_PATH=%D/lib/mozilla MOZILLA_FIVE_HOME=%D/lib/mozilla %D/lib/mozilla/regxpcom
+@exec env LD_LIBRARY_PATH=%D/lib/mozilla MOZILLA_FIVE_HOME=%D/lib/mozilla %D/lib/mozilla/regchrome
@unexec rm %D/lib/mozilla/component.reg
@unexec rm %D/lib/mozilla/chrome/user-locales.rdf
@unexec rm %D/lib/mozilla/chrome/user-skins.rdf
@@ -393,7 +398,7 @@ lib/mozilla/splash.xpm
@dirrm lib/mozilla/icons
@dirrm lib/mozilla/dtd
@dirrm lib/mozilla/defaults/wallet
-@dirrm lib/mozilla/defaults/profile/en-US
+@dirrm lib/mozilla/defaults/profile/US
@dirrm lib/mozilla/defaults/profile
@dirrm lib/mozilla/defaults/pref
@dirrm lib/mozilla/defaults