diff options
author | taya <taya@pkgsrc.org> | 2001-03-30 09:37:47 +0000 |
---|---|---|
committer | taya <taya@pkgsrc.org> | 2001-03-30 09:37:47 +0000 |
commit | 1192687b9416f068dbeb105cc4bb6dc61cd56be6 (patch) | |
tree | f66929229477b41b5daeb4dff3cd461bb39fa4b9 /www/mozilla | |
parent | 47e087606e3f89d4bcfd484c8a26b918a65e053f (diff) | |
download | pkgsrc-1192687b9416f068dbeb105cc4bb6dc61cd56be6.tar.gz |
Update to mozilla 0.8.1
See the release notes for detail:
http://www.mozilla.org/releases/mozilla0.8.1/
Currently only tested(and worked) on -current/i386.
Tested on 1.5.1_ALPHA/mac68k, but did not work(still investigating).
Diffstat (limited to 'www/mozilla')
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 |