summaryrefslogtreecommitdiff
path: root/mail/thunderbird/patches
diff options
context:
space:
mode:
Diffstat (limited to 'mail/thunderbird/patches')
-rw-r--r--mail/thunderbird/patches/patch-aa4
-rw-r--r--mail/thunderbird/patches/patch-ab6
-rw-r--r--mail/thunderbird/patches/patch-ac20
-rw-r--r--mail/thunderbird/patches/patch-ad4
-rw-r--r--mail/thunderbird/patches/patch-ae4
-rw-r--r--mail/thunderbird/patches/patch-af4
-rw-r--r--mail/thunderbird/patches/patch-ag4
-rw-r--r--mail/thunderbird/patches/patch-ah4
-rw-r--r--mail/thunderbird/patches/patch-ai4
-rw-r--r--mail/thunderbird/patches/patch-aj4
-rw-r--r--mail/thunderbird/patches/patch-ak10
-rw-r--r--mail/thunderbird/patches/patch-al4
-rw-r--r--mail/thunderbird/patches/patch-an4
-rw-r--r--mail/thunderbird/patches/patch-ao4
-rw-r--r--mail/thunderbird/patches/patch-aw4
-rw-r--r--mail/thunderbird/patches/patch-ax4
-rw-r--r--mail/thunderbird/patches/patch-ba66
-rw-r--r--mail/thunderbird/patches/patch-bb28
-rw-r--r--mail/thunderbird/patches/patch-bm4
-rw-r--r--mail/thunderbird/patches/patch-bn6
-rw-r--r--mail/thunderbird/patches/patch-bo6
-rw-r--r--mail/thunderbird/patches/patch-bq4
-rw-r--r--mail/thunderbird/patches/patch-br4
-rw-r--r--mail/thunderbird/patches/patch-bs15
-rw-r--r--mail/thunderbird/patches/patch-bt17
-rw-r--r--mail/thunderbird/patches/patch-bu179
-rw-r--r--mail/thunderbird/patches/patch-bv211
-rw-r--r--mail/thunderbird/patches/patch-bw64
-rw-r--r--mail/thunderbird/patches/patch-bx61
-rw-r--r--mail/thunderbird/patches/patch-by31
30 files changed, 717 insertions, 67 deletions
diff --git a/mail/thunderbird/patches/patch-aa b/mail/thunderbird/patches/patch-aa
index ad733d97994..aeeecdaba77 100644
--- a/mail/thunderbird/patches/patch-aa
+++ b/mail/thunderbird/patches/patch-aa
@@ -1,8 +1,8 @@
-$NetBSD: patch-aa,v 1.2 2004/05/08 04:35:37 taya Exp $
+$NetBSD: patch-aa,v 1.3 2004/06/24 23:09:55 taya Exp $
diff -ru ../Orig/mozilla/config/autoconf.mk.in ./config/autoconf.mk.in
--- ../Orig/mozilla/config/autoconf.mk.in 2004-03-21 11:31:17.000000000 +0900
-+++ ./config/autoconf.mk.in 2004-05-05 23:08:22.000000000 +0900
++++ ./config/autoconf.mk.in 2004-06-15 23:55:36.000000000 +0900
@@ -31,13 +31,13 @@
prefix = @prefix@
exec_prefix = @exec_prefix@
diff --git a/mail/thunderbird/patches/patch-ab b/mail/thunderbird/patches/patch-ab
index 33fdcea6a21..0116bc12431 100644
--- a/mail/thunderbird/patches/patch-ab
+++ b/mail/thunderbird/patches/patch-ab
@@ -1,8 +1,8 @@
-$NetBSD: patch-ab,v 1.2 2004/05/08 04:35:38 taya Exp $
+$NetBSD: patch-ab,v 1.3 2004/06/24 23:09:55 taya Exp $
diff -ru ../Orig/mozilla/configure.in ./configure.in
---- ../Orig/mozilla/configure.in 2004-04-21 10:39:17.000000000 +0900
-+++ ./configure.in 2004-05-05 23:08:54.000000000 +0900
+--- ../Orig/mozilla/configure.in 2004-05-14 06:57:46.000000000 +0900
++++ ./configure.in 2004-06-15 23:55:39.000000000 +0900
@@ -1017,6 +1017,9 @@
# MKSHLIB_FORCE_ALL='-Wl,-Bforcearchive'
# MKSHLIB_UNFORCE_ALL=''
diff --git a/mail/thunderbird/patches/patch-ac b/mail/thunderbird/patches/patch-ac
index 365a28a2e53..28a1d297626 100644
--- a/mail/thunderbird/patches/patch-ac
+++ b/mail/thunderbird/patches/patch-ac
@@ -1,9 +1,19 @@
-$NetBSD: patch-ac,v 1.2 2004/05/08 04:35:38 taya Exp $
+$NetBSD: patch-ac,v 1.3 2004/06/24 23:09:55 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 2004-04-23 05:50:05.000000000 +0900
-+++ ./xpcom/reflect/xptcall/src/md/unix/Makefile.in 2004-05-05 23:09:39.000000000 +0900
-@@ -140,7 +140,7 @@
++++ ./xpcom/reflect/xptcall/src/md/unix/Makefile.in 2004-06-15 23:55:43.000000000 +0900
+@@ -49,6 +49,9 @@
+ ifeq (86,$(findstring 86,$(OS_TEST)))
+ CPPSRCS := xptcinvoke_unixish_x86.cpp xptcstubs_unixish_x86.cpp
+ endif
++ifeq (amd64,$(OS_TEST))
++CPPSRCS := xptcinvoke_unixish_amd64.cpp xptcstubs_unixish_amd64.cpp
++endif
+ endif
+ #
+ # New code for Linux, et. al., with gcc
+@@ -140,7 +143,7 @@
# NetBSD/ARM
#
ifeq ($(OS_ARCH),NetBSD)
@@ -12,7 +22,7 @@ diff -ru ../Orig/mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in ./xpcom/r
CPPSRCS := xptcinvoke_arm_netbsd.cpp xptcstubs_arm_netbsd.cpp
endif
endif
-@@ -174,7 +174,7 @@
+@@ -174,7 +177,7 @@
# NetBSD/m68k
#
ifeq ($(OS_ARCH),NetBSD)
@@ -21,7 +31,7 @@ diff -ru ../Orig/mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in ./xpcom/r
CPPSRCS := xptcinvoke_netbsd_m68k.cpp xptcstubs_netbsd_m68k.cpp
endif
endif
-@@ -305,6 +305,13 @@
+@@ -305,6 +308,13 @@
CPPSRCS := xptcinvoke_sparc_netbsd.cpp xptcstubs_sparc_netbsd.cpp
ASFILES := xptcinvoke_asm_sparc_netbsd.s xptcstubs_asm_sparc_netbsd.s
endif
diff --git a/mail/thunderbird/patches/patch-ad b/mail/thunderbird/patches/patch-ad
index a279449fb7d..93be816469f 100644
--- a/mail/thunderbird/patches/patch-ad
+++ b/mail/thunderbird/patches/patch-ad
@@ -1,8 +1,8 @@
-$NetBSD: patch-ad,v 1.2 2004/05/08 04:35:38 taya Exp $
+$NetBSD: patch-ad,v 1.3 2004/06/24 23:09:55 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 2001-09-29 05:12:51.000000000 +0900
-+++ ./xpcom/reflect/xptcall/src/md/unix/xptcinvoke_netbsd_m68k.cpp 2004-05-05 23:09:42.000000000 +0900
++++ ./xpcom/reflect/xptcall/src/md/unix/xptcinvoke_netbsd_m68k.cpp 2004-06-15 23:55:46.000000000 +0900
@@ -132,6 +132,15 @@
}
}
diff --git a/mail/thunderbird/patches/patch-ae b/mail/thunderbird/patches/patch-ae
index 3e81b3efc2d..8757c8a1100 100644
--- a/mail/thunderbird/patches/patch-ae
+++ b/mail/thunderbird/patches/patch-ae
@@ -1,8 +1,8 @@
-$NetBSD: patch-ae,v 1.2 2004/05/08 04:35:38 taya Exp $
+$NetBSD: patch-ae,v 1.3 2004/06/24 23:09:55 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 2001-09-29 05:12:52.000000000 +0900
-+++ ./xpcom/reflect/xptcall/src/md/unix/xptcstubs_netbsd_m68k.cpp 2004-05-05 23:09:44.000000000 +0900
++++ ./xpcom/reflect/xptcall/src/md/unix/xptcstubs_netbsd_m68k.cpp 2004-06-15 23:55:47.000000000 +0900
@@ -123,17 +123,27 @@
}
}
diff --git a/mail/thunderbird/patches/patch-af b/mail/thunderbird/patches/patch-af
index 2dc92c9d667..6d915bfcc9b 100644
--- a/mail/thunderbird/patches/patch-af
+++ b/mail/thunderbird/patches/patch-af
@@ -1,8 +1,8 @@
-$NetBSD: patch-af,v 1.2 2004/05/08 04:35:38 taya Exp $
+$NetBSD: patch-af,v 1.3 2004/06/24 23:09:55 taya Exp $
diff -ru ../Orig/mozilla/security/nss/lib/freebl/unix_rand.c ./security/nss/lib/freebl/unix_rand.c
--- ../Orig/mozilla/security/nss/lib/freebl/unix_rand.c 2003-05-31 08:31:19.000000000 +0900
-+++ ./security/nss/lib/freebl/unix_rand.c 2004-05-05 23:09:46.000000000 +0900
++++ ./security/nss/lib/freebl/unix_rand.c 2004-06-15 23:55:49.000000000 +0900
@@ -32,6 +32,7 @@
*/
diff --git a/mail/thunderbird/patches/patch-ag b/mail/thunderbird/patches/patch-ag
index 9450af5478f..8fb7cf810a7 100644
--- a/mail/thunderbird/patches/patch-ag
+++ b/mail/thunderbird/patches/patch-ag
@@ -1,8 +1,8 @@
-$NetBSD: patch-ag,v 1.2 2004/05/08 04:35:38 taya Exp $
+$NetBSD: patch-ag,v 1.3 2004/06/24 23:09:55 taya Exp $
diff -ru ../Orig/mozilla/extensions/transformiix/source/base/ErrorObserver.h ./extensions/transformiix/source/base/ErrorObserver.h
--- ../Orig/mozilla/extensions/transformiix/source/base/ErrorObserver.h 2003-01-17 21:39:36.000000000 +0900
-+++ ./extensions/transformiix/source/base/ErrorObserver.h 2004-05-05 23:09:56.000000000 +0900
++++ ./extensions/transformiix/source/base/ErrorObserver.h 2004-06-15 23:55:51.000000000 +0900
@@ -28,7 +28,8 @@
#include "baseutils.h"
diff --git a/mail/thunderbird/patches/patch-ah b/mail/thunderbird/patches/patch-ah
index 94be2602af7..5f63d954921 100644
--- a/mail/thunderbird/patches/patch-ah
+++ b/mail/thunderbird/patches/patch-ah
@@ -1,8 +1,8 @@
-$NetBSD: patch-ah,v 1.1 2004/05/08 04:35:38 taya Exp $
+$NetBSD: patch-ah,v 1.2 2004/06/24 23:09:55 taya Exp $
diff -ru ../Orig/mozilla/gfx/idl/nsIFreeType2.idl ./gfx/idl/nsIFreeType2.idl
--- ../Orig/mozilla/gfx/idl/nsIFreeType2.idl 2004-04-16 10:09:33.000000000 +0900
-+++ ./gfx/idl/nsIFreeType2.idl 2004-05-05 23:15:51.000000000 +0900
++++ ./gfx/idl/nsIFreeType2.idl 2004-06-15 23:55:52.000000000 +0900
@@ -76,10 +76,11 @@
native FT_Sfnt_Tag(FT_Sfnt_Tag);
native FT_Size(FT_Size);
diff --git a/mail/thunderbird/patches/patch-ai b/mail/thunderbird/patches/patch-ai
index b99c77433e9..9cc925240ca 100644
--- a/mail/thunderbird/patches/patch-ai
+++ b/mail/thunderbird/patches/patch-ai
@@ -1,8 +1,8 @@
-$NetBSD: patch-ai,v 1.1 2004/05/08 04:35:38 taya Exp $
+$NetBSD: patch-ai,v 1.2 2004/06/24 23:09:55 taya Exp $
diff -ru ../Orig/mozilla/gfx/src/ps/nsFontMetricsPS.cpp ./gfx/src/ps/nsFontMetricsPS.cpp
--- ../Orig/mozilla/gfx/src/ps/nsFontMetricsPS.cpp 2004-02-05 10:57:05.000000000 +0900
-+++ ./gfx/src/ps/nsFontMetricsPS.cpp 2004-05-05 23:17:00.000000000 +0900
++++ ./gfx/src/ps/nsFontMetricsPS.cpp 2004-06-15 23:55:54.000000000 +0900
@@ -1141,10 +1141,10 @@
mPixelSize = NSToIntRound(app2dev * mFont->size);
diff --git a/mail/thunderbird/patches/patch-aj b/mail/thunderbird/patches/patch-aj
index e334b6c261a..3b1546ccfb4 100644
--- a/mail/thunderbird/patches/patch-aj
+++ b/mail/thunderbird/patches/patch-aj
@@ -1,8 +1,8 @@
-$NetBSD: patch-aj,v 1.1 2004/05/08 04:35:38 taya Exp $
+$NetBSD: patch-aj,v 1.2 2004/06/24 23:09:55 taya Exp $
diff -ru ../Orig/mozilla/gfx/src/freetype/nsFreeType.h ./gfx/src/freetype/nsFreeType.h
--- ../Orig/mozilla/gfx/src/freetype/nsFreeType.h 2004-04-17 06:31:42.000000000 +0900
-+++ ./gfx/src/freetype/nsFreeType.h 2004-05-05 23:20:07.000000000 +0900
++++ ./gfx/src/freetype/nsFreeType.h 2004-06-15 23:55:59.000000000 +0900
@@ -104,13 +104,13 @@
typedef FT_Error (*FT_New_Face_t)(FT_Library, const char*, FT_Long, FT_Face*);
typedef FT_Error (*FT_Set_Charmap_t)(FT_Face face, FT_CharMap charmap);
diff --git a/mail/thunderbird/patches/patch-ak b/mail/thunderbird/patches/patch-ak
index 259fac5cfc9..31deac54564 100644
--- a/mail/thunderbird/patches/patch-ak
+++ b/mail/thunderbird/patches/patch-ak
@@ -1,20 +1,20 @@
-$NetBSD: patch-ak,v 1.1 2004/05/08 04:35:38 taya Exp $
+$NetBSD: patch-ak,v 1.2 2004/06/24 23:09:55 taya Exp $
diff -ru ../Orig/mozilla/gfx/src/freetype/nsFreeType.cpp ./gfx/src/freetype/nsFreeType.cpp
--- ../Orig/mozilla/gfx/src/freetype/nsFreeType.cpp 2004-02-08 00:22:30.000000000 +0900
-+++ ./gfx/src/freetype/nsFreeType.cpp 2004-05-06 08:26:21.000000000 +0900
++++ ./gfx/src/freetype/nsFreeType.cpp 2004-06-15 23:56:01.000000000 +0900
@@ -110,11 +110,11 @@
{"FT_New_Face", NS_FT2_OFFSET(nsFT_New_Face), PR_TRUE},
{"FT_Outline_Decompose", NS_FT2_OFFSET(nsFT_Outline_Decompose), PR_TRUE},
{"FT_Set_Charmap", NS_FT2_OFFSET(nsFT_Set_Charmap), PR_TRUE},
- {"FTC_Image_Cache_Lookup", NS_FT2_OFFSET(nsFTC_Image_Cache_Lookup), PR_TRUE},
- {"FTC_Manager_Lookup_Size", NS_FT2_OFFSET(nsFTC_Manager_Lookup_Size), PR_TRUE},
-+ {"FTC_ImageCache_Lookup", NS_FT2_OFFSET(nsFTC_Image_Cache_Lookup), PR_TRUE},
-+ {"FTC_Manager_LookupFace", NS_FT2_OFFSET(nsFTC_Manager_LookupFace), PR_TRUE},
++ {"FTC_ImageCache_Lookup", NS_FT2_OFFSET(nsFTC_Image_Cache_Lookup), PR_TRUE},
++ {"FTC_Manager_LookupFace", NS_FT2_OFFSET(nsFTC_Manager_LookupFace), PR_TRUE},
{"FTC_Manager_Done", NS_FT2_OFFSET(nsFTC_Manager_Done), PR_TRUE},
{"FTC_Manager_New", NS_FT2_OFFSET(nsFTC_Manager_New), PR_TRUE},
- {"FTC_Image_Cache_New", NS_FT2_OFFSET(nsFTC_Image_Cache_New), PR_TRUE},
-+ {"FTC_ImageCache_New", NS_FT2_OFFSET(nsFTC_Image_Cache_New), PR_TRUE},
++ {"FTC_ImageCache_New", NS_FT2_OFFSET(nsFTC_Image_Cache_New), PR_TRUE},
// #ifdef MOZ_SVG
{"FT_Glyph_Transform", NS_FT2_OFFSET(nsFT_Glyph_Transform), PR_TRUE},
{"FT_Get_Kerning", NS_FT2_OFFSET(nsFT_Get_Kerning), PR_TRUE},
diff --git a/mail/thunderbird/patches/patch-al b/mail/thunderbird/patches/patch-al
index fd9de33f0c1..941af0dcdbc 100644
--- a/mail/thunderbird/patches/patch-al
+++ b/mail/thunderbird/patches/patch-al
@@ -1,8 +1,8 @@
-$NetBSD: patch-al,v 1.1 2004/05/08 04:35:38 taya Exp $
+$NetBSD: patch-al,v 1.2 2004/06/24 23:09:55 taya Exp $
diff -ru ../Orig/mozilla/gfx/src/ps/nsFontMetricsPS.h ./gfx/src/ps/nsFontMetricsPS.h
--- ../Orig/mozilla/gfx/src/ps/nsFontMetricsPS.h 2003-04-23 01:25:09.000000000 +0900
-+++ ./gfx/src/ps/nsFontMetricsPS.h 2004-05-05 23:22:27.000000000 +0900
++++ ./gfx/src/ps/nsFontMetricsPS.h 2004-06-15 23:56:04.000000000 +0900
@@ -320,7 +320,7 @@
nsCOMPtr<nsITrueTypeFontCatalogEntry> mFaceID;
nsCOMPtr<nsIFreeType2> mFt2;
diff --git a/mail/thunderbird/patches/patch-an b/mail/thunderbird/patches/patch-an
index ea0c00585e0..bc60ea7d557 100644
--- a/mail/thunderbird/patches/patch-an
+++ b/mail/thunderbird/patches/patch-an
@@ -1,8 +1,8 @@
-$NetBSD: patch-an,v 1.1 2004/05/08 04:35:38 taya Exp $
+$NetBSD: patch-an,v 1.2 2004/06/24 23:09:55 taya Exp $
diff -ru ../Orig/mozilla/gfx/src/x11shared/nsFontFreeType.h ./gfx/src/x11shared/nsFontFreeType.h
--- ../Orig/mozilla/gfx/src/x11shared/nsFontFreeType.h 2003-04-23 01:25:13.000000000 +0900
-+++ ./gfx/src/x11shared/nsFontFreeType.h 2004-05-05 23:22:39.000000000 +0900
++++ ./gfx/src/x11shared/nsFontFreeType.h 2004-06-15 23:56:10.000000000 +0900
@@ -110,7 +110,7 @@
XImage *GetXImage(PRUint32 width, PRUint32 height);
nsITrueTypeFontCatalogEntry *mFaceID;
diff --git a/mail/thunderbird/patches/patch-ao b/mail/thunderbird/patches/patch-ao
index bcc7eea153a..6506fa3d1e1 100644
--- a/mail/thunderbird/patches/patch-ao
+++ b/mail/thunderbird/patches/patch-ao
@@ -1,8 +1,8 @@
-$NetBSD: patch-ao,v 1.1 2004/05/08 04:35:38 taya Exp $
+$NetBSD: patch-ao,v 1.2 2004/06/24 23:09:56 taya Exp $
diff -ru ../Orig/mozilla/gfx/src/x11shared/nsFontFreeType.cpp ./gfx/src/x11shared/nsFontFreeType.cpp
--- ../Orig/mozilla/gfx/src/x11shared/nsFontFreeType.cpp 2003-12-25 17:24:52.000000000 +0900
-+++ ./gfx/src/x11shared/nsFontFreeType.cpp 2004-05-05 23:22:43.000000000 +0900
++++ ./gfx/src/x11shared/nsFontFreeType.cpp 2004-06-15 23:56:14.000000000 +0900
@@ -177,7 +177,7 @@
FTC_Manager mgr;
nsresult rv;
diff --git a/mail/thunderbird/patches/patch-aw b/mail/thunderbird/patches/patch-aw
index 74b1d67db9d..51f5e00f451 100644
--- a/mail/thunderbird/patches/patch-aw
+++ b/mail/thunderbird/patches/patch-aw
@@ -1,8 +1,8 @@
-$NetBSD: patch-aw,v 1.2 2004/05/08 04:35:38 taya Exp $
+$NetBSD: patch-aw,v 1.3 2004/06/24 23:09:56 taya Exp $
diff -ru ../Orig/mozilla/widget/src/gtksuperwin/Makefile.in ./widget/src/gtksuperwin/Makefile.in
--- ../Orig/mozilla/widget/src/gtksuperwin/Makefile.in 2004-01-07 22:36:54.000000000 +0900
-+++ ./widget/src/gtksuperwin/Makefile.in 2004-05-05 23:22:48.000000000 +0900
++++ ./widget/src/gtksuperwin/Makefile.in 2004-06-15 23:56:15.000000000 +0900
@@ -25,6 +25,7 @@
MODULE = widget
LIBRARY_NAME = gtksuperwin
diff --git a/mail/thunderbird/patches/patch-ax b/mail/thunderbird/patches/patch-ax
index c4e442c253d..db3d95ca4fd 100644
--- a/mail/thunderbird/patches/patch-ax
+++ b/mail/thunderbird/patches/patch-ax
@@ -1,8 +1,8 @@
-$NetBSD: patch-ax,v 1.1 2004/05/08 04:35:38 taya Exp $
+$NetBSD: patch-ax,v 1.2 2004/06/24 23:09:56 taya Exp $
diff -ru ../Orig/mozilla/security/coreconf/SunOS5.mk ./security/coreconf/SunOS5.mk
--- ../Orig/mozilla/security/coreconf/SunOS5.mk 2003-05-16 04:12:10.000000000 +0900
-+++ ./security/coreconf/SunOS5.mk 2004-05-05 23:22:51.000000000 +0900
++++ ./security/coreconf/SunOS5.mk 2004-06-15 23:56:19.000000000 +0900
@@ -165,6 +165,10 @@
DSO_LDOPTS += -G -h $(notdir $@)
endif
diff --git a/mail/thunderbird/patches/patch-ba b/mail/thunderbird/patches/patch-ba
index daea145d6f2..51d25757ea7 100644
--- a/mail/thunderbird/patches/patch-ba
+++ b/mail/thunderbird/patches/patch-ba
@@ -1,15 +1,15 @@
-$NetBSD: patch-ba,v 1.2 2004/05/08 04:35:38 taya Exp $
+$NetBSD: patch-ba,v 1.3 2004/06/24 23:09:56 taya Exp $
diff -ru ../Orig/mozilla/nsprpub/pr/include/md/_netbsd.cfg ./nsprpub/pr/include/md/_netbsd.cfg
--- ../Orig/mozilla/nsprpub/pr/include/md/_netbsd.cfg 2000-12-02 06:29:17.000000000 +0900
-+++ ./nsprpub/pr/include/md/_netbsd.cfg 2004-05-05 23:23:03.000000000 +0900
++++ ./nsprpub/pr/include/md/_netbsd.cfg 2004-06-15 23:56:25.000000000 +0900
@@ -45,7 +45,8 @@
#define PR_AF_INET6 24 /* same as AF_INET6 */
-#if defined(__i386__) || defined(__arm32__) || defined(__MIPSEL__)
-+#if defined(__i386__) || defined(__arm32__) || defined(__arm__) || \
-+ defined(__armel__) || defined(__MIPSEL__)
++#if defined(__i386__) || defined(__arm32__) || defined(__ARMEL__) || \
++ defined(__MIPSEL__)
#define IS_LITTLE_ENDIAN 1
#undef IS_BIG_ENDIAN
@@ -64,7 +64,63 @@ diff -ru ../Orig/mozilla/nsprpub/pr/include/md/_netbsd.cfg ./nsprpub/pr/include/
+#define PR_ALIGN_OF_DOUBLE 8
+#define PR_ALIGN_OF_POINTER 8
+
-+#elif defined(__sparc__) || defined(__MIPSEB__) || defined(__armeb__)
++#elif defined(__sparc__) || defined(__MIPSEB__) || defined(__ARMEB__)
#undef IS_LITTLE_ENDIAN
#define IS_BIG_ENDIAN 1
+@@ -184,6 +231,55 @@
+ #define PR_BYTES_PER_WORD_LOG2 3
+ #define PR_BYTES_PER_DWORD_LOG2 3
+
++#elif defined(__amd64__)
++#define IS_LITTLE_ENDIAN 1
++#undef IS_BIG_ENDIAN
++#define IS_64
++
++#define PR_BYTES_PER_BYTE 1
++#define PR_BYTES_PER_SHORT 2
++#define PR_BYTES_PER_INT 4
++#define PR_BYTES_PER_INT64 8
++#define PR_BYTES_PER_LONG 8
++#define PR_BYTES_PER_FLOAT 4
++#define PR_BYTES_PER_DOUBLE 8
++#define PR_BYTES_PER_WORD 8
++#define PR_BYTES_PER_DWORD 8
++
++#define PR_BITS_PER_BYTE 8
++#define PR_BITS_PER_SHORT 16
++#define PR_BITS_PER_INT 32
++#define PR_BITS_PER_INT64 64
++#define PR_BITS_PER_LONG 64
++#define PR_BITS_PER_FLOAT 32
++#define PR_BITS_PER_DOUBLE 64
++#define PR_BITS_PER_WORD 64
++
++#define PR_BITS_PER_BYTE_LOG2 3
++#define PR_BITS_PER_SHORT_LOG2 4
++#define PR_BITS_PER_INT_LOG2 5
++#define PR_BITS_PER_INT64_LOG2 6
++#define PR_BITS_PER_LONG_LOG2 6
++#define PR_BITS_PER_FLOAT_LOG2 5
++#define PR_BITS_PER_DOUBLE_LOG2 6
++#define PR_BITS_PER_WORD_LOG2 6
++
++#define PR_ALIGN_OF_SHORT 2
++#define PR_ALIGN_OF_INT 4
++#define PR_ALIGN_OF_LONG 8
++#define PR_ALIGN_OF_INT64 8
++#define PR_ALIGN_OF_FLOAT 4
++#define PR_ALIGN_OF_DOUBLE 8
++#define PR_ALIGN_OF_POINTER 8
++#define PR_ALIGN_OF_WORD 8
++
++#define PR_BYTES_PER_WORD_LOG2 3
++#define PR_BYTES_PER_DWORD_LOG2 3
++
++#define HAVE_LONG_LONG
++#define HAVE_ALIGNED_DOUBLES
++#define HAVE_ALIGNED_LONGLONGS
++
+ #elif defined(__powerpc__) || defined(__m68k__)
+
+ #undef IS_LITTLE_ENDIAN
diff --git a/mail/thunderbird/patches/patch-bb b/mail/thunderbird/patches/patch-bb
index e5c8128c2a3..e021723a657 100644
--- a/mail/thunderbird/patches/patch-bb
+++ b/mail/thunderbird/patches/patch-bb
@@ -1,9 +1,15 @@
-$NetBSD: patch-bb,v 1.2 2004/05/08 04:35:39 taya Exp $
+$NetBSD: patch-bb,v 1.3 2004/06/24 23:09:56 taya Exp $
diff -ru ../Orig/mozilla/nsprpub/pr/include/md/_netbsd.h ./nsprpub/pr/include/md/_netbsd.h
--- ../Orig/mozilla/nsprpub/pr/include/md/_netbsd.h 2003-09-12 02:24:53.000000000 +0900
-+++ ./nsprpub/pr/include/md/_netbsd.h 2004-05-05 23:23:04.000000000 +0900
-@@ -48,12 +48,20 @@
++++ ./nsprpub/pr/include/md/_netbsd.h 2004-06-15 23:56:27.000000000 +0900
+@@ -44,16 +44,26 @@
+ #define _PR_SI_ARCHITECTURE "x86"
+ #elif defined(__alpha__)
+ #define _PR_SI_ARCHITECTURE "alpha"
++#elif defined(__amd64__)
++#define _PR_SI_ARCHITECTURE "amd64"
+ #elif defined(__m68k__)
#define _PR_SI_ARCHITECTURE "m68k"
#elif defined(__powerpc__)
#define _PR_SI_ARCHITECTURE "powerpc"
@@ -15,16 +21,16 @@ diff -ru ../Orig/mozilla/nsprpub/pr/include/md/_netbsd.h ./nsprpub/pr/include/md
#define _PR_SI_ARCHITECTURE "mips"
#elif defined(__arm32__)
#define _PR_SI_ARCHITECTURE "arm32"
-+#elif defined(__arm__)
-+#define _PR_SI_ARCHITECTURE "arm"
-+#elif defined(__armel__)
++#elif defined(__ARMEL__)
+#define _PR_SI_ARCHITECTURE "armel"
-+#elif defined(__armeb__)
++#elif defined(__ARMEL__)
+#define _PR_SI_ARCHITECTURE "armeb"
++#elif defined(__arm__)
++#define _PR_SI_ARCHITECTURE "arm"
#endif
#if defined(__ELF__)
-@@ -86,6 +94,12 @@
+@@ -86,6 +96,12 @@
#define _PR_INET6_PROBE
#endif
@@ -37,7 +43,7 @@ diff -ru ../Orig/mozilla/nsprpub/pr/include/md/_netbsd.h ./nsprpub/pr/include/md
#define USE_SETJMP
#ifndef _PR_PTHREADS
-@@ -108,7 +122,17 @@
+@@ -108,7 +124,17 @@
}
#define _MD_GET_SP(_thread) CONTEXT(_thread)[2]
#endif
@@ -56,12 +62,12 @@ diff -ru ../Orig/mozilla/nsprpub/pr/include/md/_netbsd.h ./nsprpub/pr/include/md
#define _MD_INIT_CONTEXT(_thread, _sp, _main, status) \
{ \
sigsetjmp(CONTEXT(_thread), 1); \
-@@ -150,7 +174,7 @@
+@@ -150,7 +176,7 @@
}
#define _MD_GET_SP(_thread) CONTEXT(_thread)[32]
#endif
-#ifdef __arm32__
-+#if defined(__arm32__) || defined(__arm__) || defined(__armel__) || defined(__armeb__)
++#ifdef __arm__
#define _MD_INIT_CONTEXT(_thread, _sp, _main, status) \
{ \
sigsetjmp(CONTEXT(_thread), 1); \
diff --git a/mail/thunderbird/patches/patch-bm b/mail/thunderbird/patches/patch-bm
index 11ba7ca1760..a83c43f5b9b 100644
--- a/mail/thunderbird/patches/patch-bm
+++ b/mail/thunderbird/patches/patch-bm
@@ -1,8 +1,8 @@
-$NetBSD: patch-bm,v 1.2 2004/05/08 04:35:39 taya Exp $
+$NetBSD: patch-bm,v 1.3 2004/06/24 23:09:56 taya Exp $
diff -ru ../Orig/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm_netbsd.cpp ./xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm_netbsd.cpp
--- ../Orig/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm_netbsd.cpp 2001-09-29 05:12:52.000000000 +0900
-+++ ./xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm_netbsd.cpp 2004-05-05 23:23:13.000000000 +0900
++++ ./xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm_netbsd.cpp 2004-06-15 23:56:36.000000000 +0900
@@ -118,18 +118,23 @@
* so they are contiguous with values passed on the stack, and then calls
* PrepareAndDispatch() to do the dirty work.
diff --git a/mail/thunderbird/patches/patch-bn b/mail/thunderbird/patches/patch-bn
index fd17b9e3b3c..03df32a4669 100644
--- a/mail/thunderbird/patches/patch-bn
+++ b/mail/thunderbird/patches/patch-bn
@@ -1,8 +1,8 @@
-$NetBSD: patch-bn,v 1.2 2004/05/08 04:35:39 taya Exp $
+$NetBSD: patch-bn,v 1.3 2004/06/24 23:09:56 taya Exp $
diff -ru ../Orig/mozilla/xpcom/io/nsNativeCharsetUtils.cpp ./xpcom/io/nsNativeCharsetUtils.cpp
---- ../Orig/mozilla/xpcom/io/nsNativeCharsetUtils.cpp 2004-03-26 14:29:18.000000000 +0900
-+++ ./xpcom/io/nsNativeCharsetUtils.cpp 2004-05-05 23:23:15.000000000 +0900
+--- ../Orig/mozilla/xpcom/io/nsNativeCharsetUtils.cpp 2004-05-28 03:55:10.000000000 +0900
++++ ./xpcom/io/nsNativeCharsetUtils.cpp 2004-06-15 23:56:38.000000000 +0900
@@ -295,7 +295,12 @@
{
const char *blank_list[] = { "", NULL };
diff --git a/mail/thunderbird/patches/patch-bo b/mail/thunderbird/patches/patch-bo
index e6621de427b..114b75c3fd7 100644
--- a/mail/thunderbird/patches/patch-bo
+++ b/mail/thunderbird/patches/patch-bo
@@ -1,8 +1,8 @@
-$NetBSD: patch-bo,v 1.2 2004/05/08 04:35:39 taya Exp $
+$NetBSD: patch-bo,v 1.3 2004/06/24 23:09:56 taya Exp $
diff -ru ../Orig/mozilla/nsprpub/configure.in ./nsprpub/configure.in
---- ../Orig/mozilla/nsprpub/configure.in 2004-04-17 07:28:02.000000000 +0900
-+++ ./nsprpub/configure.in 2004-05-05 23:23:18.000000000 +0900
+--- ../Orig/mozilla/nsprpub/configure.in 2004-06-05 14:46:38.000000000 +0900
++++ ./nsprpub/configure.in 2004-06-15 23:56:41.000000000 +0900
@@ -933,6 +933,9 @@
DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
MDCPUCFG_H=_freebsd.cfg
diff --git a/mail/thunderbird/patches/patch-bq b/mail/thunderbird/patches/patch-bq
index 6f8f4d85455..9466fdeabea 100644
--- a/mail/thunderbird/patches/patch-bq
+++ b/mail/thunderbird/patches/patch-bq
@@ -1,8 +1,8 @@
-$NetBSD: patch-bq,v 1.3 2004/05/08 04:35:39 taya Exp $
+$NetBSD: patch-bq,v 1.4 2004/06/24 23:09:56 taya Exp $
diff -ru ../Orig/mozilla/xpcom/io/nsLocalFileUnix.h ./xpcom/io/nsLocalFileUnix.h
--- ../Orig/mozilla/xpcom/io/nsLocalFileUnix.h 2004-01-15 15:14:13.000000000 +0900
-+++ ./xpcom/io/nsLocalFileUnix.h 2004-05-05 23:24:31.000000000 +0900
++++ ./xpcom/io/nsLocalFileUnix.h 2004-06-15 23:56:45.000000000 +0900
@@ -57,7 +57,7 @@
#endif
diff --git a/mail/thunderbird/patches/patch-br b/mail/thunderbird/patches/patch-br
index 7ddd32c3a74..5ab290769df 100644
--- a/mail/thunderbird/patches/patch-br
+++ b/mail/thunderbird/patches/patch-br
@@ -1,8 +1,8 @@
-$NetBSD: patch-br,v 1.2 2004/05/08 04:35:39 taya Exp $
+$NetBSD: patch-br,v 1.3 2004/06/24 23:09:56 taya Exp $
diff -ru ../Orig/mozilla/nsprpub/pr/src/misc/prnetdb.c ./nsprpub/pr/src/misc/prnetdb.c
--- ../Orig/mozilla/nsprpub/pr/src/misc/prnetdb.c 2004-01-23 07:22:37.000000000 +0900
-+++ ./nsprpub/pr/src/misc/prnetdb.c 2004-05-05 23:24:35.000000000 +0900
++++ ./nsprpub/pr/src/misc/prnetdb.c 2004-06-15 23:56:46.000000000 +0900
@@ -2094,7 +2094,12 @@
*/
hints.ai_socktype = SOCK_STREAM;
diff --git a/mail/thunderbird/patches/patch-bs b/mail/thunderbird/patches/patch-bs
new file mode 100644
index 00000000000..c350bebaa05
--- /dev/null
+++ b/mail/thunderbird/patches/patch-bs
@@ -0,0 +1,15 @@
+$NetBSD: patch-bs,v 1.3 2004/06/24 23:09:56 taya Exp $
+
+diff -ru ../Orig/mozilla/config/mkdepend/imakemdep.h ./config/mkdepend/imakemdep.h
+--- ../Orig/mozilla/config/mkdepend/imakemdep.h 1998-09-05 13:22:25.000000000 +0900
++++ ./config/mkdepend/imakemdep.h 2004-06-15 23:56:48.000000000 +0900
+@@ -277,6 +277,9 @@
+ # ifdef __i386__
+ "-D__i386__",
+ # endif
++#if defined(__amd64__) || defined(__x86_64__)
++ "-D__amd64__ -D__x86_64__",
++# endif
+ # ifdef __GNUC__
+ "-traditional",
+ # endif
diff --git a/mail/thunderbird/patches/patch-bt b/mail/thunderbird/patches/patch-bt
new file mode 100644
index 00000000000..8f9f3342b5f
--- /dev/null
+++ b/mail/thunderbird/patches/patch-bt
@@ -0,0 +1,17 @@
+$NetBSD: patch-bt,v 1.1 2004/06/24 23:09:56 taya Exp $
+
+diff -ru ../Orig/mozilla/nsprpub/pr/src/io/prprf.c ./nsprpub/pr/src/io/prprf.c
+--- ../Orig/mozilla/nsprpub/pr/src/io/prprf.c 2004-03-09 12:18:19.000000000 +0900
++++ ./nsprpub/pr/src/io/prprf.c 2004-06-15 23:56:50.000000000 +0900
+@@ -53,6 +53,11 @@
+ */
+ #if (defined(LINUX) && defined(__x86_64__))
+ #define VARARGS_ASSIGN(foo, bar) __va_copy((foo), (bar))
++#elif (defined (__NetBSD__) && \
++ (defined(__amd64__) || \
++ (defined(__powerpc__) && __NetBSD_Version__ >= 105000000)))
++#include <stdarg.h>
++#define VARARGS_ASSIGN(foo, bar) va_copy((foo), (bar))
+ #elif (defined(LINUX) && defined(__powerpc__)) || \
+ (defined(LINUX) && defined(__s390__)) || \
+ (defined(LINUX) && defined(__s390x__)) || \
diff --git a/mail/thunderbird/patches/patch-bu b/mail/thunderbird/patches/patch-bu
new file mode 100644
index 00000000000..af417dfe118
--- /dev/null
+++ b/mail/thunderbird/patches/patch-bu
@@ -0,0 +1,179 @@
+$NetBSD: patch-bu,v 1.1 2004/06/24 23:09:56 taya Exp $
+
+--- xpcom/reflect/xptcall/src/md/unix/xptcinvoke_unixish_amd64.cpp.orig 2004-05-30 21:38:13.000000000 +0900
++++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_unixish_amd64.cpp 2004-05-30 21:37:22.000000000 +0900
+@@ -0,0 +1,174 @@
++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
++// Platform specific code to invoke XPCOM methods on native objects
++
++#include "xptcprivate.h"
++
++// 6 integral parameters are passed in registers
++const PRUint32 GPR_COUNT = 6;
++
++// 8 floating point parameters are passed in SSE registers
++const PRUint32 FPR_COUNT = 8;
++
++// Remember that these 'words' are 64-bit long
++static inline void
++invoke_count_words(PRUint32 paramCount, nsXPTCVariant * s,
++ PRUint32 & nr_gpr, PRUint32 & nr_fpr, PRUint32 & nr_stack)
++{
++ nr_gpr = 1; // skip one GP register for 'that'
++ nr_fpr = 0;
++ nr_stack = 0;
++
++ /* Compute number of eightbytes of class MEMORY. */
++ for (uint32 i = 0; i < paramCount; i++, s++) {
++ if (!s->IsPtrData()
++ && (s->type == nsXPTType::T_FLOAT || s->type == nsXPTType::T_DOUBLE)) {
++ if (nr_fpr < FPR_COUNT)
++ nr_fpr++;
++ else
++ nr_stack++;
++ }
++ else {
++ if (nr_gpr < GPR_COUNT)
++ nr_gpr++;
++ else
++ nr_stack++;
++ }
++ }
++}
++
++static void
++invoke_copy_to_stack(PRUint64 * d, PRUint32 paramCount, nsXPTCVariant * s,
++ PRUint64 * gpregs, double * fpregs)
++{
++ PRUint32 nr_gpr = 1; // skip one GP register for 'that'
++ PRUint32 nr_fpr = 0;
++ PRUint64 value;
++
++ for (uint32 i = 0; i < paramCount; i++, s++) {
++ if (s->IsPtrData())
++ value = (PRUint64) s->ptr;
++ else {
++ switch (s->type) {
++ case nsXPTType::T_FLOAT: break;
++ case nsXPTType::T_DOUBLE: break;
++ case nsXPTType::T_I8: value = s->val.i8; break;
++ case nsXPTType::T_I16: value = s->val.i16; break;
++ case nsXPTType::T_I32: value = s->val.i32; break;
++ case nsXPTType::T_I64: value = s->val.i64; break;
++ case nsXPTType::T_U8: value = s->val.u8; break;
++ case nsXPTType::T_U16: value = s->val.u16; break;
++ case nsXPTType::T_U32: value = s->val.u32; break;
++ case nsXPTType::T_U64: value = s->val.u64; break;
++ case nsXPTType::T_BOOL: value = s->val.b; break;
++ case nsXPTType::T_CHAR: value = s->val.c; break;
++ case nsXPTType::T_WCHAR: value = s->val.wc; break;
++ default: value = (PRUint64) s->val.p; break;
++ }
++ }
++
++ if (!s->IsPtrData() && s->type == nsXPTType::T_DOUBLE) {
++ if (nr_fpr < FPR_COUNT)
++ fpregs[nr_fpr++] = s->val.d;
++ else {
++ *((double *)d) = s->val.d;
++ d++;
++ }
++ }
++ else if (!s->IsPtrData() && s->type == nsXPTType::T_FLOAT) {
++ if (nr_fpr < FPR_COUNT)
++ // The value in %xmm register is already prepared to
++ // be retrieved as a float. Therefore, we pass the
++ // value verbatim, as a double without conversion.
++ fpregs[nr_fpr++] = s->val.d;
++ else {
++ *((float *)d) = s->val.f;
++ d++;
++ }
++ }
++ else {
++ if (nr_gpr < GPR_COUNT)
++ gpregs[nr_gpr++] = value;
++ else
++ *d++ = value;
++ }
++ }
++}
++
++extern "C"
++XPTC_PUBLIC_API(nsresult)
++XPTC_InvokeByIndex(nsISupports * that, PRUint32 methodIndex,
++ PRUint32 paramCount, nsXPTCVariant * params)
++{
++ PRUint32 nr_gpr, nr_fpr, nr_stack;
++ invoke_count_words(paramCount, params, nr_gpr, nr_fpr, nr_stack);
++
++ // Stack, if used, must be 16-bytes aligned
++ if (nr_stack)
++ nr_stack = (nr_stack + 1) & ~1;
++
++ // Load parameters to stack, if necessary
++ PRUint64 *stack = (PRUint64 *) __builtin_alloca(nr_stack * 8);
++ PRUint64 gpregs[GPR_COUNT];
++ double fpregs[FPR_COUNT];
++ invoke_copy_to_stack(stack, paramCount, params, gpregs, fpregs);
++
++ // Load FPR registers from fpregs[]
++ register double d0 asm("xmm0");
++ register double d1 asm("xmm1");
++ register double d2 asm("xmm2");
++ register double d3 asm("xmm3");
++ register double d4 asm("xmm4");
++ register double d5 asm("xmm5");
++ register double d6 asm("xmm6");
++ register double d7 asm("xmm7");
++
++ switch (nr_fpr) {
++#define ARG_FPR(N) \
++ case N+1: d##N = fpregs[N];
++ ARG_FPR(7);
++ ARG_FPR(6);
++ ARG_FPR(5);
++ ARG_FPR(4);
++ ARG_FPR(3);
++ ARG_FPR(2);
++ ARG_FPR(1);
++ ARG_FPR(0);
++ case 0:;
++#undef ARG_FPR
++ }
++
++ // Load GPR registers from gpregs[]
++ register PRUint64 a0 asm("rdi");
++ register PRUint64 a1 asm("rsi");
++ register PRUint64 a2 asm("rdx");
++ register PRUint64 a3 asm("rcx");
++ register PRUint64 a4 asm("r8");
++ register PRUint64 a5 asm("r9");
++
++ switch (nr_gpr) {
++#define ARG_GPR(N) \
++ case N+1: a##N = gpregs[N];
++ ARG_GPR(5);
++ ARG_GPR(4);
++ ARG_GPR(3);
++ ARG_GPR(2);
++ ARG_GPR(1);
++ case 1: a0 = (PRUint64) that;
++ case 0:;
++#undef ARG_GPR
++ }
++
++ // Ensure that assignments to SSE registers won't be optimized away
++ asm("" ::
++ "x" (d0), "x" (d1), "x" (d2), "x" (d3),
++ "x" (d4), "x" (d5), "x" (d6), "x" (d7));
++
++ // Get pointer to method
++ PRUint64 methodAddress = *((PRUint64 *)that);
++ methodAddress += 8 * methodIndex;
++ methodAddress = *((PRUint64 *)methodAddress);
++
++ typedef PRUint32 (*Method)(PRUint64, PRUint64, PRUint64, PRUint64, PRUint64, PRUint64);
++ PRUint32 result = ((Method)methodAddress)(a0, a1, a2, a3, a4, a5);
++ return result;
++}
diff --git a/mail/thunderbird/patches/patch-bv b/mail/thunderbird/patches/patch-bv
new file mode 100644
index 00000000000..de1dd0dcf20
--- /dev/null
+++ b/mail/thunderbird/patches/patch-bv
@@ -0,0 +1,211 @@
+$NetBSD: patch-bv,v 1.1 2004/06/24 23:09:56 taya Exp $
+
+--- xpcom/reflect/xptcall/src/md/unix/xptcstubs_unixish_amd64.cpp.orig 2004-05-30 21:38:22.000000000 +0900
++++ xpcom/reflect/xptcall/src/md/unix/xptcstubs_unixish_amd64.cpp 2004-05-30 21:37:22.000000000 +0900
+@@ -0,0 +1,206 @@
++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
++
++// Implement shared vtbl methods.
++
++#include "xptcprivate.h"
++
++// The Linux/x86-64 ABI passes the first 6 integral parameters and the
++// first 8 floating point parameters in registers (rdi, rsi, rdx, rcx,
++// r8, r9 and xmm0-xmm7), no stack space is allocated for these by the
++// caller. The rest of the parameters are passed in the callers stack
++// area.
++
++const PRUint32 PARAM_BUFFER_COUNT = 16;
++const PRUint32 GPR_COUNT = 6;
++const PRUint32 FPR_COUNT = 8;
++
++// PrepareAndDispatch() is called by SharedStub() and calls the actual method.
++//
++// - 'args[]' contains the arguments passed on stack
++// - 'gpregs[]' contains the arguments passed in integer registers
++// - 'fpregs[]' 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,
++ PRUint64 * args, PRUint64 * gpregs, double *fpregs)
++{
++ 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;
++
++ PRUint64* ap = args;
++ PRUint32 nr_gpr = 1; // skip one GPR register for 'that'
++ PRUint32 nr_fpr = 0;
++ PRUint64 value;
++
++ 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 (nr_fpr < FPR_COUNT)
++ dp->val.d = fpregs[nr_fpr++];
++ else
++ dp->val.d = *(double*) ap++;
++ continue;
++ }
++ else if (!param.IsOut() && type == nsXPTType::T_FLOAT) {
++ if (nr_fpr < FPR_COUNT)
++ // The value in %xmm register is already prepared to
++ // be retrieved as a float. Therefore, we pass the
++ // value verbatim, as a double without conversion.
++ dp->val.d = *(double*) ap++;
++ else
++ dp->val.f = *(float*) ap++;
++ continue;
++ }
++ else {
++ if (nr_gpr < GPR_COUNT)
++ value = gpregs[nr_gpr++];
++ else
++ value = *ap++;
++ }
++
++ if (param.IsOut() || !type.IsArithmetic()) {
++ dp->val.p = (void*) value;
++ continue;
++ }
++
++ switch (type) {
++ case nsXPTType::T_I8: dp->val.i8 = (PRInt8) value; break;
++ case nsXPTType::T_I16: dp->val.i16 = (PRInt16) value; break;
++ case nsXPTType::T_I32: dp->val.i32 = (PRInt32) value; break;
++ case nsXPTType::T_I64: dp->val.i64 = (PRInt64) value; break;
++ case nsXPTType::T_U8: dp->val.u8 = (PRUint8) value; break;
++ case nsXPTType::T_U16: dp->val.u16 = (PRUint16) value; break;
++ case nsXPTType::T_U32: dp->val.u32 = (PRUint32) value; break;
++ case nsXPTType::T_U64: dp->val.u64 = (PRUint64) value; break;
++ case nsXPTType::T_BOOL: dp->val.b = (PRBool) value; break;
++ case nsXPTType::T_CHAR: dp->val.c = (char) value; break;
++ case nsXPTType::T_WCHAR: dp->val.wc = (wchar_t) value; 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;
++}
++
++#if defined(__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100 /* G++ V3 ABI */
++// Linux/x86-64 uses gcc >= 3.1
++#define STUB_ENTRY(n) \
++asm(".section \".text\"\n\t" \
++ ".align 2\n\t" \
++ ".if " #n " < 10\n\t" \
++ ".globl _ZN14nsXPTCStubBase5Stub" #n "Ev\n\t" \
++ ".type _ZN14nsXPTCStubBase5Stub" #n "Ev,@function\n" \
++ "_ZN14nsXPTCStubBase5Stub" #n "Ev:\n\t" \
++ ".elseif " #n " < 100\n\t" \
++ ".globl _ZN14nsXPTCStubBase6Stub" #n "Ev\n\t" \
++ ".type _ZN14nsXPTCStubBase6Stub" #n "Ev,@function\n" \
++ "_ZN14nsXPTCStubBase6Stub" #n "Ev:\n\t" \
++ ".elseif " #n " < 1000\n\t" \
++ ".globl _ZN14nsXPTCStubBase7Stub" #n "Ev\n\t" \
++ ".type _ZN14nsXPTCStubBase7Stub" #n "Ev,@function\n" \
++ "_ZN14nsXPTCStubBase7Stub" #n "Ev:\n\t" \
++ ".else\n\t" \
++ ".err \"stub number " #n " >= 1000 not yet supported\"\n\t" \
++ ".endif\n\t" \
++ "movl $" #n ", %eax\n\t" \
++ "jmp SharedStub\n\t" \
++ ".if " #n " < 10\n\t" \
++ ".size _ZN14nsXPTCStubBase5Stub" #n "Ev,.-_ZN14nsXPTCStubBase5Stub" #n "Ev\n\t" \
++ ".elseif " #n " < 100\n\t" \
++ ".size _ZN14nsXPTCStubBase6Stub" #n "Ev,.-_ZN14nsXPTCStubBase6Stub" #n "Ev\n\t" \
++ ".else\n\t" \
++ ".size _ZN14nsXPTCStubBase7Stub" #n "Ev,.-_ZN14nsXPTCStubBase7Stub" #n "Ev\n\t" \
++ ".endif");
++
++// static nsresult SharedStub(PRUint32 methodIndex)
++asm(".section \".text\"\n\t"
++ ".align 2\n\t"
++ ".type SharedStub,@function\n\t"
++ "SharedStub:\n\t"
++ // make room for gpregs (48), fpregs (64)
++ "pushq %rbp\n\t"
++ "movq %rsp,%rbp\n\t"
++ "subq $112,%rsp\n\t"
++ // save GP registers
++ "movq %rdi,-112(%rbp)\n\t"
++ "movq %rsi,-104(%rbp)\n\t"
++ "movq %rdx, -96(%rbp)\n\t"
++ "movq %rcx, -88(%rbp)\n\t"
++ "movq %r8 , -80(%rbp)\n\t"
++ "movq %r9 , -72(%rbp)\n\t"
++ "leaq -112(%rbp),%rcx\n\t"
++ // save FP registers
++ "movsd %xmm0,-64(%rbp)\n\t"
++ "movsd %xmm1,-56(%rbp)\n\t"
++ "movsd %xmm2,-48(%rbp)\n\t"
++ "movsd %xmm3,-40(%rbp)\n\t"
++ "movsd %xmm4,-32(%rbp)\n\t"
++ "movsd %xmm5,-24(%rbp)\n\t"
++ "movsd %xmm6,-16(%rbp)\n\t"
++ "movsd %xmm7, -8(%rbp)\n\t"
++ "leaq -64(%rbp),%r8\n\t"
++ // rdi has the 'self' pointer already
++ "movl %eax,%esi\n\t"
++ "leaq 16(%rbp),%rdx\n\t"
++ "call PrepareAndDispatch\n\t"
++ "leave\n\t"
++ "ret\n\t"
++ ".size SharedStub,.-SharedStub");
++
++#define SENTINEL_ENTRY(n) \
++nsresult nsXPTCStubBase::Sentinel##n() \
++{ \
++ NS_ASSERTION(0,"nsXPTCStubBase::Sentinel called"); \
++ return NS_ERROR_NOT_IMPLEMENTED; \
++}
++
++#include "xptcstubsdef.inc"
++
++#else
++#error "can't find a compiler to use"
++#endif /* __GNUC__ */
diff --git a/mail/thunderbird/patches/patch-bw b/mail/thunderbird/patches/patch-bw
new file mode 100644
index 00000000000..db0e0ce57fb
--- /dev/null
+++ b/mail/thunderbird/patches/patch-bw
@@ -0,0 +1,64 @@
+$NetBSD: patch-bw,v 1.1 2004/06/24 23:09:56 taya Exp $
+
+diff -ru ../Orig/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_linux_alpha.cpp ./xpcom/reflect/xptcall/src/md/unix/xptcstubs_linux_alpha.cpp
+--- ../Orig/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_linux_alpha.cpp 2001-09-29 05:12:52.000000000 +0900
++++ ./xpcom/reflect/xptcall/src/md/unix/xptcstubs_linux_alpha.cpp 2004-05-11 16:29:31.000000000 +0900
+@@ -188,6 +188,50 @@
+ * nsresult nsXPTCStubBase::Stub##n()
+ * Sets register $1 to "methodIndex" and jumps to SharedStub.
+ */
++#if defined(__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100 /* G++ V3 ABI */
++#define STUB_ENTRY(n) \
++__asm__( \
++"#### Stub"#n" ####\n" \
++".text\n" \
++" .align 5\n" \
++" .if "#n" < 10 \n" \
++" .globl _ZN14nsXPTCStubBase5Stub"#n"Ev\n" \
++" .ent _ZN14nsXPTCStubBase5Stub"#n"Ev\n" \
++"_ZN14nsXPTCStubBase5Stub"#n"Ev:\n" \
++" .frame $30,0,$26,0\n" \
++" ldgp $29,0($27)\n" \
++"$_ZN14nsXPTCStubBase5Stub"#n"Ev..ng:\n" \
++" .prologue 1\n" \
++" lda $1,"#n"\n" \
++" br $31,$SharedStub..ng\n" \
++" .end _ZN14nsXPTCStubBase5Stub"#n"Ev\n" \
++" .elseif "#n" < 100 \n" \
++" .globl _ZN14nsXPTCStubBase6Stub"#n"Ev\n" \
++" .ent _ZN14nsXPTCStubBase6Stub"#n"Ev\n" \
++"_ZN14nsXPTCStubBase6Stub"#n"Ev:\n" \
++" .frame $30,0,$26,0\n" \
++" ldgp $29,0($27)\n" \
++"$_ZN14nsXPTCStubBase6Stub"#n"Ev..ng:\n" \
++" .prologue 1\n" \
++" lda $1,"#n"\n" \
++" br $31,$SharedStub..ng\n" \
++" .end _ZN14nsXPTCStubBase6Stub"#n"Ev\n" \
++" .elseif "#n" < 1000 \n" \
++" .globl _ZN14nsXPTCStubBase7Stub"#n"Ev\n" \
++" .ent _ZN14nsXPTCStubBase7Stub"#n"Ev\n" \
++"_ZN14nsXPTCStubBase7Stub"#n"Ev:\n" \
++" .frame $30,0,$26,0\n" \
++" ldgp $29,0($27)\n" \
++"$_ZN14nsXPTCStubBase7Stub"#n"Ev..ng:\n" \
++" .prologue 1\n" \
++" lda $1,"#n"\n" \
++" br $31,$SharedStub..ng\n" \
++" .end _ZN14nsXPTCStubBase7Stub"#n"Ev\n" \
++" .else\n" \
++" .err \"stub number "#n"> 1000 not yet supported\"\n" \
++" .endif\n" \
++ );
++#else /* G++2.95 ABI */
+ #define STUB_ENTRY(n) \
+ __asm__( \
+ "#### Stub"#n" ####\n" \
+@@ -204,6 +248,7 @@
+ "br $31,$SharedStub..ng\n\t" \
+ ".end Stub"#n"__14nsXPTCStubBase" \
+ );
++#endif
+
+ #define SENTINEL_ENTRY(n) \
+ nsresult nsXPTCStubBase::Sentinel##n() \
diff --git a/mail/thunderbird/patches/patch-bx b/mail/thunderbird/patches/patch-bx
new file mode 100644
index 00000000000..78b813996bc
--- /dev/null
+++ b/mail/thunderbird/patches/patch-bx
@@ -0,0 +1,61 @@
+$NetBSD: patch-bx,v 1.1 2004/06/24 23:09:56 taya Exp $
+
+diff -ru ../Orig/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc_netbsd.cpp ./xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc_netbsd.cpp
+--- ../Orig/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc_netbsd.cpp 2001-09-29 05:12:53.000000000 +0900
++++ ./xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc_netbsd.cpp 2004-06-15 23:56:59.000000000 +0900
+@@ -195,6 +195,47 @@
+ // however, it's quick, dirty, and'll break when the ABI changes on
+ // us, which is what we want ;-).
+
++#if defined(__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100 /* G++ V3 ABI */
++// gcc-3 version
++//
++// As G++3 ABI contains the length of the functionname in the mangled
++// name, it is difficult to get a generic assembler mechanism like
++// in the G++ 2.95 case.
++// Create names would be like:
++// _ZN14nsXPTCStubBase5Stub1Ev
++// _ZN14nsXPTCStubBase6Stub12Ev
++// _ZN14nsXPTCStubBase7Stub123Ev
++// _ZN14nsXPTCStubBase8Stub1234Ev
++// etc.
++// Use assembler directives to get the names right...
++
++# define STUB_ENTRY(n) \
++__asm__ ( \
++ ".section \".text\" \n\t" \
++ ".align 2 \n\t" \
++ ".if "#n" < 10 \n\t" \
++ ".globl _ZN14nsXPTCStubBase5Stub"#n"Ev \n\t" \
++ ".type _ZN14nsXPTCStubBase5Stub"#n"Ev,@function \n\n" \
++"_ZN14nsXPTCStubBase5Stub"#n"Ev: \n\t" \
++ \
++ ".elseif "#n" < 100 \n\t" \
++ ".globl _ZN14nsXPTCStubBase6Stub"#n"Ev \n\t" \
++ ".type _ZN14nsXPTCStubBase6Stub"#n"Ev,@function \n\n" \
++"_ZN14nsXPTCStubBase6Stub"#n"Ev: \n\t" \
++ \
++ ".elseif "#n" < 1000 \n\t" \
++ ".globl _ZN14nsXPTCStubBase7Stub"#n"Ev \n\t" \
++ ".type _ZN14nsXPTCStubBase7Stub"#n"Ev,@function \n\n" \
++"_ZN14nsXPTCStubBase7Stub"#n"Ev: \n\t" \
++ \
++ ".else \n\t" \
++ ".err \"stub number "#n" >= 1000 not yet supported\"\n" \
++ ".endif \n\t" \
++ \
++ "li 11,"#n" \n\t" \
++ "b SharedStub@local \n" \
++);
++#else
+ #define STUB_ENTRY(n) \
+ __asm__ ( \
+ ".section \".text\" \n\t" \
+@@ -206,6 +247,7 @@
+ "li 11,"#n" \n\t" \
+ "b SharedStub@local \n" \
+ );
++#endif
+
+ #define SENTINEL_ENTRY(n) \
+ nsresult nsXPTCStubBase::Sentinel##n() \
diff --git a/mail/thunderbird/patches/patch-by b/mail/thunderbird/patches/patch-by
new file mode 100644
index 00000000000..7e2e8fd3954
--- /dev/null
+++ b/mail/thunderbird/patches/patch-by
@@ -0,0 +1,31 @@
+$NetBSD: patch-by,v 1.1 2004/06/24 23:09:56 taya Exp $
+
+diff -ru ../Orig/mozilla/layout/svg/renderer/src/libart/nsSVGLibartGlyphMetricsFT.cpp ./layout/svg/renderer/src/libart/nsSVGLibartGlyphMetricsFT.cpp
+--- ../Orig/mozilla/layout/svg/renderer/src/libart/nsSVGLibartGlyphMetricsFT.cpp 2004-03-19 10:36:16.000000000 +0900
++++ ./layout/svg/renderer/src/libart/nsSVGLibartGlyphMetricsFT.cpp 2004-06-15 23:57:02.000000000 +0900
+@@ -440,19 +440,19 @@
+ return;
+ }
+
+- FTC_Image_Desc imageDesc;
+- imageDesc.font.face_id=(void*)font_data.font_entry.get(); // XXX do we need to addref?
++ FTC_ImageType imageDesc;
++ imageDesc->face_id = (FTC_FaceID)font_data.font_entry.get(); // XXX do we need to addref?
+ float twipstopixel = GetTwipsToPixels();
+ float scale = GetPixelScale();
+- imageDesc.font.pix_width = (int)((float)(font_data.font.size)*twipstopixel/scale);
+- imageDesc.font.pix_height = (int)((float)(font_data.font.size)*twipstopixel/scale);
+- imageDesc.image_type |= ftc_image_grays;
++ imageDesc->width = (int)((float)(font_data.font.size)*twipstopixel/scale);
++ imageDesc->height = (int)((float)(font_data.font.size)*twipstopixel/scale);
++ imageDesc->flags = 0;
+
+ // get the face
+ nsresult rv;
+ FTC_Manager mgr;
+ nsSVGLibartFreetype::ft2->GetFTCacheManager(&mgr);
+- rv = nsSVGLibartFreetype::ft2->ManagerLookupSize(mgr, &imageDesc.font, &mFace, nsnull);
++ rv = nsSVGLibartFreetype::ft2->ManagerLookupFace(mgr, imageDesc->face_id, &mFace);
+ NS_ASSERTION(mFace, "failed to get face/size");
+ }
+