summaryrefslogtreecommitdiff
path: root/www/firefox-devel/files
diff options
context:
space:
mode:
Diffstat (limited to 'www/firefox-devel/files')
-rw-r--r--www/firefox-devel/files/firebird.rb95
-rw-r--r--www/firefox-devel/files/mkdistfile171
-rw-r--r--www/firefox-devel/files/mozconfig.in69
-rw-r--r--www/firefox-devel/files/patch-Double.cpp59
-rw-r--r--www/firefox-devel/files/patch-alpha492
-rw-r--r--www/firefox-devel/files/patch-build_unix_run-mozilla.sh30
-rw-r--r--www/firefox-devel/files/patch-config_preprocess.pl57
-rw-r--r--www/firefox-devel/files/patch-gfx_src_gtk_nsFontMetricsXft.cpp57
-rw-r--r--www/firefox-devel/files/patch-nspr-unix.c21
-rw-r--r--www/firefox-devel/files/patch-nsprpub-pr-src-misc-prtime.c11
-rw-r--r--www/firefox-devel/files/patch-nsprpub-pr-src-pthreads-ptio.c31
-rw-r--r--www/firefox-devel/files/patch-sparc6469
-rw-r--r--www/firefox-devel/files/patch-xptcall-sparc64345
13 files changed, 0 insertions, 1507 deletions
diff --git a/www/firefox-devel/files/firebird.rb b/www/firefox-devel/files/firebird.rb
deleted file mode 100644
index bd3f19132620..000000000000
--- a/www/firefox-devel/files/firebird.rb
+++ /dev/null
@@ -1,95 +0,0 @@
-#!/usr/bin/env ruby
-=begin -*-mode: ruby-*-
-
- MoZiLLa.in
-
- Copyright (c) 2002, Alan Eldridge
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of the copyright owner nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
-
- $Id: firebird.rb,v 1.2 2003/05/31 17:24:19 marcus Exp $
-
- 2002-12-16 Alan Eldridge <alane@geeksrus.net>
-
-=end
-
-X11BIN = "/usr/X11R6/bin"
-NAME = File::basename($0, ".rb")
-APP_PATH = File::join(X11BIN, NAME)
-
-if !File::executable?(APP_PATH)
- raise "File '#{APP_PATH}' not found. Giving up."
-elsif ($display = ENV["DISPLAY"]) == nil
- raise "Environment variable DISPLAY not found. Giving up."
-end
-
-if ARGV.size > 0
- if ARGV[0] == "--debug"
- ARGV.shift
- else
- $stdin.reopen(File::open("/dev/null", "r"))
- $stdout.reopen(File::open("/dev/null", "w"))
- $stderr.reopen(File::open("/dev/null", "w"))
- end
-end
-
-if ARGV.size < 1
- $url = nil
-else
- $url = ARGV.pop
- $url.sub!(/^ghelp:/, "file:")
-end
-
-IO::popen("xwininfo -display #{$display} -root -tree") {
- |io|
- if NAME != "firebird"
- $windows = io.grep(%r<"Mozilla"\s+"navigator:\s*browser">)
- else
- $windows = io.grep(%r<MozillaFirebird-bin.*>)
- end
-}
-
-if $windows.size > 0
- $id = $windows.map {
- |s| s.strip.split.first
- }.sort.first
- $args = [ "-id", $id, "-raise", "-remote" ]
- $args.push($url ? "\"openURL(#{$url},new-window)\"" :
- "\"xfeDoCommand(openBrowser)\"")
-else
- $args = ARGV
- $args.push("\"#{$url}\"") if $url
-end
-
-fork {
- exec(([APP_PATH] + $args).join(" "))
-}
-exit!
-
-#EOF
diff --git a/www/firefox-devel/files/mkdistfile b/www/firefox-devel/files/mkdistfile
deleted file mode 100644
index 10cb140be958..000000000000
--- a/www/firefox-devel/files/mkdistfile
+++ /dev/null
@@ -1,171 +0,0 @@
-#!/bin/sh
-# -*-shell-script-*-
-#
-# mkdistfile -- maintainer's utility to make a firebird distfile
-#
-# Copyright (c) 2002, Alan Eldridge
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# * Neither the name of the copyright owner nor the names of its
-# contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-# $FreeBSD$
-#
-# 2002/10/21 alane@geeksrus.net
-#
-
-ORIGDIR=$(/bin/pwd); export ORIGDIR
-APPNAME=${0##*/};APPNAME=${APPNAME#-}; export APPNAME
-test -z "$TMPDIR" && TMPDIR=/tmp; export TMPDIR
-test -z "$HOSTNAME" && HOSTNAME=$(hostname); export HOSTNAME
-warn() { echo "[$APPNAME:$$]" "****" "$@";}
-status() { echo "[$APPNAME:$$]" "===>" "$@";}
-error() { echo "[$APPNAME:$$]" "ERROR:" "$@";}
-die() { echo "[$APPNAME:$$]" "FATAL:" "$@"; exit 1;}
-unset echo_n; test "X`echo -n`" = "X-n" \
- && echo_n() { echo "$@\c"; } || echo_n() { echo -n "$@"; }
-status_n() { echo_n "[$APPNAME:$$]" "===>" "$@";}
-log() { local cmd=$1;shift;echo_n $(date "+%Y%m%d.%T") "";$cmd "$@";}
-qexpr() { expr "$@" >/dev/null 2>&1;}
-qw() { echo \""$@"\"; }
-listfiles() { ls -1 ${1:+"$@"} 2>/dev/null; }
-whichre() { local n=$#; local s="$1"; shift; while test $# -ge 1; do
- qexpr "$s" : "$1"&& echo $(($n - $#)) && return 0; shift; done;
- echo 0; return 1;}
-matchre() { test $(whichre "$@") -gt 0; }
-streq() { local s="$1"; shift; while test $# -ge 1; do
- test "X$s" = "X$1" && return 0; shift; done; return 1;}
-strupper() {
- echo "$@"|tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
-}
-strlower() {
- echo "$@"|tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz
-}
-chdir() { cd "$1" || die cd $(qw $1) failed; }
-absdir() { chdir "$1" && pwd; }
-abspath() { local p=''; case "$1" in /*);; *)p="$(pwd)/";; esac; echo "$p$1"; }
-tmpfile() { mktemp -t .$APPNAME ${1:+"$@"}; }
-############################################################
-# show usage and exit
-############################################################
-usage() {
- cat <<EOF
-Usage: $APPNAME [options] [--] rev[.yyyymmdd]
-Options:
- -h,--help Show this help.
- -V,--version Show version number.
- -v,--verbose Produce more verbose output.
- -x,--debug Turn on shell command tracing.
- -- Stop option processing.
-EOF
- exit $1
-}
-############################################################
-# show version and exit
-############################################################
-VERSION='$Revision: 1.1 $'
-VERSION=${VERSION#* }; VERSION=${VERSION% *}
-version() { echo "$APPNAME $VERSION" \
- "Copyright (c) 2002 Alan Eldridge"; exit $1;}
-############################################################
-# set default vars here
-############################################################
-DEBUG=0
-VERBOSE=0; VFLG=''
-DATETIME=$(date +%Y%m%d.%H%M)
-DATE=${DATETIME%.*}
-TIME=${DATETIME#*.}
-############################################################
-# do command line options
-############################################################
-while test $# -gt 0; do
- n=1; case "$1" in
- -h|--help) usage 0;;
- -V|--version) version 0;;
- -v|--verbose) VERBOSE=1;VFLG='-v';;
- -x|--debug) set -x;DEBUG=1;;
- --) shift; break;; -*) usage 1;; *) break;;
- esac; shift $n
-done
-
-############################################################
-# main(): script execution begins here
-############################################################
-
-test $# -eq 1 || usage 1
-
-REV=$1
-test ${REV##*.} = today && REV=${REV%.*}.$DATE
-
-status "pruning tree..."
-exfile=$(tmpfile)
-cat >>$exfile <<'EOF'
-^.*/CVS($|/)
-^.*/macbuild($|/)
-^.*/package($|/)
-^.*/.cvsignore($|/)
-^.*/windows($|/)
-^.*/activex($|/)
-^.*/os2($|/)
-^.*/solaris($|/)
-^.*/gc($|/)
-^mozilla/apache($|/)
-^mozilla/calendar($|/)
-^mozilla/cck($|/)
-^mozilla/chimera($|/)
-^mozilla/ef($|/)
-^mozilla/embed.mak($|/)
-^mozilla/embed.mk($|/)
-^mozilla/gconfig($|/)
-^mozilla/gfx2($|/)
-^mozilla/grendel($|/)
-^mozilla/java($|/)
-^mozilla/js2($|/)
-^mozilla/mail($|/)
-^mozilla/mailnews($|/)
-^mozilla/mozilla($|/)
-^mozilla/mozilla.kdevprj($|/)
-^mozilla/mozilla.lsm($|/)
-^mozilla/msgsdk($|/)
-^mozilla/mstone($|/)
-^mozilla/nglayout.mac($|/)
-^mozilla/nunet($|/)
-^mozilla/other-licenses($|/)
-^mozilla/privacy($|/)
-^mozilla/silentdl($|/)
-^mozilla/timer($|/)
-^mozilla/trex.mak($|/)
-^mozilla/trex.mk($|/)
-^mozilla/webtools($|/)
-EOF
-test -d mozilla || die "No mozilla dir here."
-find mozilla 2>/dev/null | egrep -f $exfile | xargs rm -fr
-rm -f $exfile
-status "making firebird-$REV.tar.bz2 ..."
-tar -cjpf firebird-$REV.tar.bz2 mozilla
-status "done."
-#EOF
diff --git a/www/firefox-devel/files/mozconfig.in b/www/firefox-devel/files/mozconfig.in
deleted file mode 100644
index be5fe7906f71..000000000000
--- a/www/firefox-devel/files/mozconfig.in
+++ /dev/null
@@ -1,69 +0,0 @@
-# .mozconfig.in -*-shell-script-*-
-# $FreeBSD$
-######################################################################
-# standard opts from README
-export MOZ_PHOENIX=1
-mk_add_options MOZ_PHOENIX=1
-ac_add_options --enable-crypto
-ac_add_options --disable-tests
-ac_add_options --disable-debug
-ac_add_options --disable-mailnews
-ac_add_options --disable-composer
-######################################################################
-# FBSD specific
-export CPPFLAGS="@CPPFLAGS@"
-export CFLAGS="@CFLAGS@"
-export LIBS="@LIBS@"
-export LDFLAGS="@LDFLAGS@"
-export CONFIG_SH=/bin/sh
-export XP_UNIX=1
-mk_add_options XP_UNIX=1
-export PERL="@PERL@"
-mk_add_options PERL=$PERL
-# Configure options for installation
-ac_add_options --prefix=@PREFIX@
-######################################################################
-# Use ports for these libraries
-ac_add_options --with-system-jpeg=@LOCALBASE@
-ac_add_options --with-system-zlib
-ac_add_options --with-system-png=@LOCALBASE@
-ac_add_options --with-system-mng=@LOCALBASE@
-######################################################################
-# set compile/link features
-ac_add_options --with-pthreads
-ac_add_options --enable-reorder
-ac_add_options --enable-strip
-######################################################################
-# disable unneeded/unavailable
-ac_add_options --disable-auto-deps
-ac_add_options --disable-bidi
-ac_add_options --disable-dtd-debug
-ac_add_options --disable-jsd
-ac_add_options --disable-ldap
-ac_add_options --disable-pedantic
-ac_add_options --disable-profilesharing
-ac_add_options --disable-installer
-ac_add_options --enable-extensions=cookie,xml-rpc,xmlextras,p3p,pref,transformiix,universalchardet,typeaheadfind,webservices
-######################################################################
-# conditional from port Makefile
-if test -n "$WITH_DEBUG"; then
- ac_add_options --enable-debug
-else
- ac_add_options --disable-debug
-fi # test -n "$WITH_DEBUG"
-if test -n "$WITH_LOGGING"; then
- ac_add_options --enable-logging
-else
- ac_add_options --disable-logging
-fi # test -n "$WITH_LOGGING"
-if test -z "$WITHOUT_XFT"; then
- ac_add_options --enable-xft
-else
- ac_add_options --disable-xft
-fi # test -z "$WITHOUT_XFT"
-if test -n "$WITH_GTK2"; then
- ac_add_options --enable-default-toolkit=gtk2
-else
- ac_add_options --enable-default-toolkit=gtk
-fi # test -n "$WITH_GTK2"
-######################################################################
diff --git a/www/firefox-devel/files/patch-Double.cpp b/www/firefox-devel/files/patch-Double.cpp
deleted file mode 100644
index 5cd13e4ff4fe..000000000000
--- a/www/firefox-devel/files/patch-Double.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- extensions/transformiix/source/base/Double.cpp.orig Thu Jan 30 09:26:46 2003
-+++ extensions/transformiix/source/base/Double.cpp Sun Nov 16 01:46:42 2003
-@@ -51,10 +51,10 @@
- //A trick to handle IEEE floating point exceptions on FreeBSD - E.D.
- #ifdef __FreeBSD__
- #include <ieeefp.h>
--#ifdef __alpha__
--fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP;
--#else
-+#if defined(__i386__)
- fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP|FP_X_DNML;
-+#else
-+fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP;
- #endif
- fp_except_t oldmask = fpsetmask(~allmask);
- #endif
-@@ -75,22 +75,31 @@
- #define TX_DOUBLE_HI32_EXPMASK 0x7ff00000
- #define TX_DOUBLE_HI32_MANTMASK 0x000fffff
-
-+union ui32dun {
-+ PRUint32 i[2];
-+ double d;
-+};
-+
- //-- Initialize Double related constants
- #ifdef IS_BIG_ENDIAN
--const PRUint32 nanMask[2] = {TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_MANTMASK,
-- 0xffffffff};
--const PRUint32 infMask[2] = {TX_DOUBLE_HI32_EXPMASK, 0};
--const PRUint32 negInfMask[2] = {TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT, 0};
-+const union ui32dun nanMask =
-+ {{TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_MANTMASK, 0xffffffff}};
-+const union ui32dun infMask =
-+ {{TX_DOUBLE_HI32_EXPMASK, 0}};
-+const union ui32dun negInfMask =
-+ {{TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT, 0}};
- #else
--const PRUint32 nanMask[2] = {0xffffffff,
-- TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_MANTMASK};
--const PRUint32 infMask[2] = {0, TX_DOUBLE_HI32_EXPMASK};
--const PRUint32 negInfMask[2] = {0, TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT};
-+const union ui32dun nanMask =
-+ {{0xffffffff, TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_MANTMASK}};
-+const union ui32dun infMask =
-+ {{0, TX_DOUBLE_HI32_EXPMASK}};
-+const union ui32dun negInfMask =
-+ {{0, TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT}};
- #endif
-
--const double Double::NaN = *((double*)nanMask);
--const double Double::POSITIVE_INFINITY = *((double*)infMask);
--const double Double::NEGATIVE_INFINITY = *((double*)negInfMask);
-+const double Double::NaN = nanMask.d;
-+const double Double::POSITIVE_INFINITY = infMask.d;
-+const double Double::NEGATIVE_INFINITY = negInfMask.d;
-
- /*
- * Determines whether the given double represents positive or negative
diff --git a/www/firefox-devel/files/patch-alpha b/www/firefox-devel/files/patch-alpha
deleted file mode 100644
index f8c1b081c9fa..000000000000
--- a/www/firefox-devel/files/patch-alpha
+++ /dev/null
@@ -1,492 +0,0 @@
---- xpcom/reflect/xptcall/src/md/unix/Makefile.in.orig Mon Jan 27 22:52:51 2003
-+++ xpcom/reflect/xptcall/src/md/unix/Makefile.in Tue May 27 01:41:12 2003
-@@ -100,9 +100,15 @@
- ASFILES := xptcinvoke_asm_osf1_alpha.s xptcstubs_asm_osf1_alpha.s
- endif
- #
-+# FreeBSD/Alpha
-+#
-+ifeq ($(OS_ARCH)$(OS_TEST),FreeBSDalpha)
-+CPPSRCS := xptcinvoke_freebsd_alpha.cpp xptcstubs_freebsd_alpha.cpp
-+endif
-+#
- # Linux/Alpha
- #
--ifneq (,$(filter Linuxalpha FreeBSDalpha NetBSDalpha,$(OS_ARCH)$(OS_TEST)))
-+ifneq (,$(filter Linuxalpha NetBSDalpha,$(OS_ARCH)$(OS_TEST)))
- CPPSRCS := xptcinvoke_linux_alpha.cpp xptcstubs_linux_alpha.cpp
- endif
- #
---- config/rules.mk.orig Mon May 5 21:04:55 2003
-+++ config/rules.mk Tue May 27 01:33:11 2003
-@@ -444,7 +444,11 @@
-
- ifeq ($(OS_ARCH),FreeBSD)
- ifdef IS_COMPONENT
-+ifneq (,$(filter alpha,$(OS_TEST)))
-+EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic -lc
-+else
- EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic
-+endif
- endif
- endif
-
---- xpcom/reflect/xptcall/src/md/unix/xptcinvoke_freebsd_alpha.cpp.orig Tue May 27 01:37:25 2003
-+++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_freebsd_alpha.cpp Tue May 27 01:37:00 2003
-@@ -0,0 +1,184 @@
-+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-+/* ***** BEGIN LICENSE BLOCK *****
-+ * Version: NPL 1.1/GPL 2.0/LGPL 2.1
-+ *
-+ * 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 the Initial Developer are Copyright (C) 1998
-+ * the Initial Developer. All Rights Reserved.
-+ *
-+ * Contributor(s):
-+ *
-+ * Alternatively, the contents of this file may be used under the terms of
-+ * either the GNU General Public License Version 2 or later (the "GPL"), or
-+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-+ * in which case the provisions of the GPL or the LGPL are applicable instead
-+ * of those above. If you wish to allow use of your version of this file only
-+ * under the terms of either the GPL or the LGPL, and not to allow others to
-+ * use your version of this file under the terms of the NPL, indicate your
-+ * decision by deleting the provisions above and replace them with the notice
-+ * and other provisions required by the GPL or the LGPL. If you do not delete
-+ * the provisions above, a recipient may use your version of this file under
-+ * the terms of any one of the NPL, the GPL or the LGPL.
-+ *
-+ * ***** END LICENSE BLOCK ***** */
-+
-+/* Platform specific code to invoke XPCOM methods on native objects */
-+
-+/* contributed by Glen Nakamura <glen.nakamura@usa.net> */
-+
-+#include "xptcprivate.h"
-+
-+/* Prototype specifies unmangled function name and disables unused warning */
-+static void
-+invoke_copy_to_stack(PRUint64* d, PRUint32 paramCount, nsXPTCVariant* s)
-+__asm__("invoke_copy_to_stack") __attribute__((unused));
-+
-+static void
-+invoke_copy_to_stack(PRUint64* d, PRUint32 paramCount, nsXPTCVariant* s)
-+{
-+ const PRUint8 NUM_ARG_REGS = 6-1; // -1 for "this" pointer
-+
-+ for(PRUint32 i = 0; i < paramCount; i++, d++, s++)
-+ {
-+ if(s->IsPtrData())
-+ {
-+ *d = (PRUint64)s->ptr;
-+ continue;
-+ }
-+ switch(s->type)
-+ {
-+ case nsXPTType::T_I8 : *d = (PRUint64)s->val.i8; break;
-+ case nsXPTType::T_I16 : *d = (PRUint64)s->val.i16; break;
-+ case nsXPTType::T_I32 : *d = (PRUint64)s->val.i32; break;
-+ case nsXPTType::T_I64 : *d = (PRUint64)s->val.i64; break;
-+ case nsXPTType::T_U8 : *d = (PRUint64)s->val.u8; break;
-+ case nsXPTType::T_U16 : *d = (PRUint64)s->val.u16; break;
-+ case nsXPTType::T_U32 : *d = (PRUint64)s->val.u32; break;
-+ case nsXPTType::T_U64 : *d = (PRUint64)s->val.u64; break;
-+ case nsXPTType::T_FLOAT :
-+ if(i < NUM_ARG_REGS)
-+ {
-+ // convert floats to doubles if they are to be passed
-+ // via registers so we can just deal with doubles later
-+ union { PRUint64 u64; double d; } t;
-+ t.d = (double)s->val.f;
-+ *d = t.u64;
-+ }
-+ else
-+ // otherwise copy to stack normally
-+ *d = (PRUint64)s->val.u32;
-+ break;
-+ case nsXPTType::T_DOUBLE : *d = (PRUint64)s->val.u64; break;
-+ case nsXPTType::T_BOOL : *d = (PRUint64)s->val.b; break;
-+ case nsXPTType::T_CHAR : *d = (PRUint64)s->val.c; break;
-+ case nsXPTType::T_WCHAR : *d = (PRUint64)s->val.wc; break;
-+ default:
-+ // all the others are plain pointer types
-+ *d = (PRUint64)s->val.p;
-+ break;
-+ }
-+ }
-+}
-+
-+/*
-+ * XPTC_PUBLIC_API(nsresult)
-+ * XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
-+ * PRUint32 paramCount, nsXPTCVariant* params, void* vt)
-+ */
-+__asm__(
-+ "#### XPTC_InvokeByIndex ####\n"
-+".text\n\t"
-+ ".align 5\n\t"
-+ ".globl XPTC_InvokeByIndex\n\t"
-+ ".ent XPTC_InvokeByIndex\n"
-+"XPTC_InvokeByIndex:\n\t"
-+ ".frame $15,32,$26,0\n\t"
-+ ".mask 0x4008000,-32\n\t"
-+ "ldgp $29,0($27)\n"
-+"$XPTC_InvokeByIndex..ng:\n\t"
-+ "subq $30,32,$30\n\t"
-+ "stq $26,0($30)\n\t"
-+ "stq $15,8($30)\n\t"
-+ "bis $30,$30,$15\n\t"
-+ ".prologue 1\n\t"
-+
-+ /*
-+ * Allocate enough stack space to hold the greater of 6 or "paramCount"+1
-+ * parameters. (+1 for "this" pointer) Room for at least 6 parameters
-+ * is required for storage of those passed via registers.
-+ */
-+
-+ "bis $31,5,$2\n\t" /* count = MAX(5, "paramCount") */
-+ "cmplt $2,$18,$1\n\t"
-+ "cmovne $1,$18,$2\n\t"
-+ "s8addq $2,16,$1\n\t" /* room for count+1 params (8 bytes each) */
-+ "bic $1,15,$1\n\t" /* stack space is rounded up to 0 % 16 */
-+ "subq $30,$1,$30\n\t"
-+
-+ "stq $16,0($30)\n\t" /* save "that" (as "this" pointer) */
-+ "stq $17,16($15)\n\t" /* save "methodIndex" */
-+
-+ "addq $30,8,$16\n\t" /* pass stack pointer */
-+ "bis $18,$18,$17\n\t" /* pass "paramCount" */
-+ "bis $19,$19,$18\n\t" /* pass "params" */
-+ "bsr $26,$invoke_copy_to_stack..ng\n\t" /* call invoke_copy_to_stack */
-+
-+ /*
-+ * Copy the first 6 parameters to registers and remove from stack frame.
-+ * Both the integer and floating point registers are set for each parameter
-+ * except the first which is the "this" pointer. (integer only)
-+ * The floating point registers are all set as doubles since the
-+ * invoke_copy_to_stack function should have converted the floats.
-+ */
-+ "ldq $16,0($30)\n\t" /* integer registers */
-+ "ldq $17,8($30)\n\t"
-+ "ldq $18,16($30)\n\t"
-+ "ldq $19,24($30)\n\t"
-+ "ldq $20,32($30)\n\t"
-+ "ldq $21,40($30)\n\t"
-+ "ldt $f17,8($30)\n\t" /* floating point registers */
-+ "ldt $f18,16($30)\n\t"
-+ "ldt $f19,24($30)\n\t"
-+ "ldt $f20,32($30)\n\t"
-+ "ldt $f21,40($30)\n\t"
-+
-+ "addq $30,48,$30\n\t" /* remove params from stack */
-+
-+ /*
-+ * Call the virtual function with the constructed stack frame.
-+ */
-+ "bis $16,$16,$1\n\t" /* load "this" */
-+ "ldq $2,16($15)\n\t" /* load "methodIndex" */
-+ "ldq $1,0($1)\n\t" /* load vtable */
-+#if 0
-+ "s8addq $2,16,$2\n\t" /* vtable index = "methodIndex" * 8 + 16 */
-+#else
-+ "mulq $2, 8, $2\n\t"
-+ "addq $2, 0, $2\n\t" /* vtable index = "methodIndex" * 16 + 24 */
-+#endif
-+ "addq $1,$2,$1\n\t"
-+ "ldq $27,0($1)\n\t" /* load address of function */
-+ "jsr $26,($27),0\n\t" /* call virtual function */
-+ "ldgp $29,0($26)\n\t"
-+
-+ "bis $15,$15,$30\n\t"
-+ "ldq $26,0($30)\n\t"
-+ "ldq $15,8($30)\n\t"
-+ "addq $30,32,$30\n\t"
-+ "ret $31,($26),1\n\t"
-+ ".end XPTC_InvokeByIndex"
-+ );
-+
---- xpcom/reflect/xptcall/src/md/unix/xptcstubs_freebsd_alpha.cpp.orig Tue May 27 01:37:30 2003
-+++ xpcom/reflect/xptcall/src/md/unix/xptcstubs_freebsd_alpha.cpp Tue May 27 01:37:04 2003
-@@ -0,0 +1,269 @@
-+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-+/* ***** BEGIN LICENSE BLOCK *****
-+ * Version: NPL 1.1/GPL 2.0/LGPL 2.1
-+ *
-+ * 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 the Initial Developer are Copyright (C) 1999
-+ * the Initial Developer. All Rights Reserved.
-+ *
-+ * Contributor(s):
-+ *
-+ * Alternatively, the contents of this file may be used under the terms of
-+ * either the GNU General Public License Version 2 or later (the "GPL"), or
-+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-+ * in which case the provisions of the GPL or the LGPL are applicable instead
-+ * of those above. If you wish to allow use of your version of this file only
-+ * under the terms of either the GPL or the LGPL, and not to allow others to
-+ * use your version of this file under the terms of the NPL, indicate your
-+ * decision by deleting the provisions above and replace them with the notice
-+ * and other provisions required by the GPL or the LGPL. If you do not delete
-+ * the provisions above, a recipient may use your version of this file under
-+ * the terms of any one of the NPL, the GPL or the LGPL.
-+ *
-+ * ***** END LICENSE BLOCK ***** */
-+
-+/* Implement shared vtbl methods. */
-+
-+/* contributed by Glen Nakamura <glen.nakamura@usa.net> */
-+
-+#include <sys/types.h>
-+#include <machine/cpu.h>
-+#include "xptcprivate.h"
-+
-+/* Prototype specifies unmangled function name and disables unused warning */
-+static nsresult
-+PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint64* args)
-+__asm__("PrepareAndDispatch") __attribute__((unused));
-+
-+static nsresult
-+PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint64* args)
-+{
-+ const PRUint8 PARAM_BUFFER_COUNT = 16;
-+ const PRUint8 NUM_ARG_REGS = 6-1; // -1 for "this" pointer
-+
-+ 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");
-+
-+ // args[0] to args[NUM_ARG_REGS] hold floating point register values
-+ PRUint64* ap = args + NUM_ARG_REGS;
-+ 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; 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; break;
-+ case nsXPTType::T_FLOAT :
-+ if(i < NUM_ARG_REGS)
-+ {
-+ // floats passed via registers are stored as doubles
-+ // in the first NUM_ARG_REGS entries in args
-+ dp->val.u64 = (PRUint64) args[i];
-+ dp->val.f = (float) dp->val.d; // convert double to float
-+ }
-+ else
-+ dp->val.u32 = (PRUint32) *ap;
-+ break;
-+ case nsXPTType::T_DOUBLE :
-+ // doubles passed via registers are also stored
-+ // in the first NUM_ARG_REGS entries in args
-+ dp->val.u64 = (i < NUM_ARG_REGS) ? args[i] : *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 = (PRUnichar) *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;
-+}
-+
-+/*
-+ * SharedStub()
-+ * Collects arguments and calls PrepareAndDispatch. The "methodIndex" is
-+ * passed to this function via $1 to preserve the argument registers.
-+ */
-+__asm__(
-+ "#### SharedStub ####\n"
-+".text\n\t"
-+ ".align 5\n\t"
-+ ".ent SharedStub\n"
-+"SharedStub:\n\t"
-+ ".frame $30,96,$26,0\n\t"
-+ ".mask 0x4000000,-96\n\t"
-+ "ldgp $29,0($27)\n"
-+"$SharedStub..ng:\n\t"
-+ "subq $30,96,$30\n\t"
-+ "stq $26,0($30)\n\t"
-+ ".prologue 1\n\t"
-+
-+ /*
-+ * Store arguments passed via registers to the stack.
-+ * Floating point registers are stored as doubles and converted
-+ * to floats in PrepareAndDispatch if necessary.
-+ */
-+ "stt $f17,16($30)\n\t" /* floating point registers */
-+ "stt $f18,24($30)\n\t"
-+ "stt $f19,32($30)\n\t"
-+ "stt $f20,40($30)\n\t"
-+ "stt $f21,48($30)\n\t"
-+ "stq $17,56($30)\n\t" /* integer registers */
-+ "stq $18,64($30)\n\t"
-+ "stq $19,72($30)\n\t"
-+ "stq $20,80($30)\n\t"
-+ "stq $21,88($30)\n\t"
-+
-+ /*
-+ * Call PrepareAndDispatch function.
-+ */
-+ "bis $1,$1,$17\n\t" /* pass "methodIndex" */
-+ "addq $30,16,$18\n\t" /* pass "args" */
-+ "bsr $26,$PrepareAndDispatch..ng\n\t"
-+
-+ "ldq $26,0($30)\n\t"
-+ "addq $30,96,$30\n\t"
-+ "ret $31,($26),1\n\t"
-+ ".end SharedStub"
-+ );
-+
-+#if defined(__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100 /* G++ V3 ABI */
-+/*
-+ * nsresult nsXPTCStubBase::Stub##n()
-+ * Sets register $1 to "methodIndex" and jumps to SharedStub.
-+ */
-+#define STUB_ENTRY(n) \
-+__asm__( \
-+ "#### Stub"#n" ####\n" \
-+".text\n\t" \
-+ ".align 5\n\t" \
-+ ".globl _ZN14nsXPTCStubBase5Stub"#n"Ev\n\t" \
-+ ".ent _ZN14nsXPTCStubBase5Stub"#n"Ev\n" \
-+"_ZN14nsXPTCStubBase5Stub"#n"Ev:\n\t" \
-+ ".frame $30,0,$26,0\n\t" \
-+ "ldgp $29,0($27)\n" \
-+"$_ZN14nsXPTCStubBase5Stub"#n"Ev..ng:\n\t" \
-+ ".prologue 1\n\t" \
-+ "lda $1,"#n"\n\t" \
-+ "br $31,$SharedStub..ng\n\t" \
-+ ".end _ZN14nsXPTCStubBase5Stub"#n"Ev" \
-+ ); \
-+__asm__( \
-+ "#### Stub"#n" ####\n" \
-+".text\n\t" \
-+ ".align 5\n\t" \
-+ ".globl _ZN14nsXPTCStubBase6Stub"#n"Ev\n\t" \
-+ ".ent _ZN14nsXPTCStubBase6Stub"#n"Ev\n" \
-+"_ZN14nsXPTCStubBase6Stub"#n"Ev:\n\t" \
-+ ".frame $30,0,$26,0\n\t" \
-+ "ldgp $29,0($27)\n" \
-+"$_ZN14nsXPTCStubBase6Stub"#n"Ev..ng:\n\t" \
-+ ".prologue 1\n\t" \
-+ "lda $1,"#n"\n\t" \
-+ "br $31,$SharedStub..ng\n\t" \
-+ ".end _ZN14nsXPTCStubBase6Stub"#n"Ev" \
-+ ); \
-+__asm__( \
-+ "#### Stub"#n" ####\n" \
-+".text\n\t" \
-+ ".align 5\n\t" \
-+ ".globl _ZN14nsXPTCStubBase7Stub"#n"Ev\n\t" \
-+ ".ent _ZN14nsXPTCStubBase7Stub"#n"Ev\n" \
-+"_ZN14nsXPTCStubBase7Stub"#n"Ev:\n\t" \
-+ ".frame $30,0,$26,0\n\t" \
-+ "ldgp $29,0($27)\n" \
-+"$_ZN14nsXPTCStubBase7Stub"#n"Ev..ng:\n\t" \
-+ ".prologue 1\n\t" \
-+ "lda $1,"#n"\n\t" \
-+ "br $31,$SharedStub..ng\n\t" \
-+ ".end _ZN14nsXPTCStubBase7Stub"#n"Ev" \
-+ );
-+#else
-+/*
-+ * nsresult nsXPTCStubBase::Stub##n()
-+ * Sets register $1 to "methodIndex" and jumps to SharedStub.
-+ */
-+#define STUB_ENTRY(n) \
-+nsresult nsXPTCStubBase::Stub##n() \
-+{ \
-+ nsresult result; \
-+__asm__ __volatile__( \
-+ "ldah $29,0($27)\n\t" \
-+ "lda $29,0($29)\n\t" \
-+ "lda $1, "#n"\n\t" \
-+ "br $31, $SharedStub..ng\n\t" \
-+ "mov $0, %0\n\t" \
-+ : "=r" (result) \
-+ ); \
-+ return result; \
-+}
-+#endif
-+
-+#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/firefox-devel/files/patch-build_unix_run-mozilla.sh b/www/firefox-devel/files/patch-build_unix_run-mozilla.sh
deleted file mode 100644
index e7b80ed29c53..000000000000
--- a/www/firefox-devel/files/patch-build_unix_run-mozilla.sh
+++ /dev/null
@@ -1,30 +0,0 @@
---- build/unix/run-mozilla.sh.orig Fri Apr 18 23:12:28 2003
-+++ build/unix/run-mozilla.sh Sat May 31 19:03:29 2003
-@@ -355,7 +355,7 @@
- fi
- ##
- ## Set LD_LIBRARY_PATH
--LD_LIBRARY_PATH=${MOZ_DIST_BIN}:${MOZ_DIST_BIN}/plugins:${MRE_HOME}${LD_LIBRARY_PATH+":$LD_LIBRARY_PATH"}
-+LD_LIBRARY_PATH=${MOZ_DIST_BIN}:${MOZ_DIST_BIN}/plugins:%%PREFIX%%/lib/browser_plugins:${MRE_HOME}${LD_LIBRARY_PATH+":$LD_LIBRARY_PATH"}
- if [ -n "$LD_LIBRARYN32_PATH" ]
- then
- LD_LIBRARYN32_PATH=${MOZ_DIST_BIN}:${MOZ_DIST_BIN}/plugins:${MRE_HOME}${LD_LIBRARYN32_PATH+":$LD_LIBRARYN32_PATH"}
-@@ -402,7 +402,7 @@
- fi
- fi
- # Font path for Xft
--FONTCONFIG_PATH="/etc/fonts:${MOZILLA_FIVE_HOME}/res/Xft"
-+FONTCONFIG_PATH="%%PREFIX%%/etc/fonts:${MOZILLA_FIVE_HOME}/res/Xft"
- export FONTCONFIG_PATH
-
- if [ "$moz_debug" -eq 1 ]
-@@ -445,6 +445,9 @@
- #
- export MOZILLA_FIVE_HOME LD_LIBRARY_PATH
- export SHLIB_PATH LIBPATH LIBRARY_PATH ADDON_PATH DYLD_LIBRARY_PATH
-+
-+MOZ_PLUGIN_PATH=%%PREFIX%%/lib/browser_plugins
-+export MOZ_PLUGIN_PATH
-
- if [ $moz_debug -eq 1 ]
- then
diff --git a/www/firefox-devel/files/patch-config_preprocess.pl b/www/firefox-devel/files/patch-config_preprocess.pl
deleted file mode 100644
index a5c17665d9e9..000000000000
--- a/www/firefox-devel/files/patch-config_preprocess.pl
+++ /dev/null
@@ -1,57 +0,0 @@
-$FreeBSD$
-
---- config/preprocessor.pl.orig Tue Sep 2 17:53:55 2003
-+++ config/preprocessor.pl Sat Oct 18 23:00:35 2003
-@@ -73,16 +73,39 @@
- ########################################################################
-
- package main;
--use File::Spec 0.8;
-+use File::Spec;
- use File::Spec::Unix; # on all platforms, because the #include syntax is unix-based
-+use File::Basename;
-+use Cwd;
-+
-+# This code is taken from File::Spec::Unix 0.8.
-+sub rel2abs {
-+ my ($path, $base) = @_;
-+
-+ if ( ! File::Spec->file_name_is_absolute( $path ) ) {
-+ if ( !defined( $base ) || $base eq '' ) {
-+ $base = cwd() ;
-+ }
-+ elsif ( ! File::Spec->file_name_is_absolute( $base ) ) {
-+ $base = rel2abs( $base );
-+ }
-+ else {
-+ $base = File::Spec->canonpath( $base );
-+ }
-+
-+ $path = File::Spec->catdir( $base, $path );
-+ }
-+
-+ return File::Spec->canonpath( $path );
-+}
-+# End code from File::Spec::Unix
-
- sub include {
- my($stack, $filename) = @_;
- my $directory = $stack->{'variables'}->{'DIRECTORY'};
- if ($filename ne '-') {
-- $filename = File::Spec->rel2abs($filename, $directory);
-- my($volume, $path) = File::Spec->splitpath($filename);
-- $directory = File::Spec->catpath($volume, $path, '');
-+ $filename = rel2abs($filename, $directory);
-+ $directory = File::Spec->catdir(File::Basename::dirname($filename));
- }
- local $stack->{'variables'}->{'DIRECTORY'} = $directory;
- local $stack->{'variables'}->{'FILE'} = $filename;
-@@ -376,7 +399,7 @@
- my $stack = shift;
- return if $stack->disabled;
- die "argument expected\n" unless @_;
-- main::include($stack, File::Spec->catpath(File::Spec::Unix->splitpath(@_)));
-+ main::include($stack, File::Spec->catfile(File::Basename::dirname(@_), File::Basename::basename(@_)));
- }
-
- sub filter {
diff --git a/www/firefox-devel/files/patch-gfx_src_gtk_nsFontMetricsXft.cpp b/www/firefox-devel/files/patch-gfx_src_gtk_nsFontMetricsXft.cpp
deleted file mode 100644
index 0b0e08247101..000000000000
--- a/www/firefox-devel/files/patch-gfx_src_gtk_nsFontMetricsXft.cpp
+++ /dev/null
@@ -1,57 +0,0 @@
---- gfx/src/gtk/nsFontMetricsXft.cpp.save Thu Aug 7 12:14:49 2003
-+++ gfx/src/gtk/nsFontMetricsXft.cpp Thu Aug 7 12:33:45 2003
-@@ -106,6 +106,7 @@
- FcPattern *mPattern;
- FcPattern *mFontName;
- FcCharSet *mCharset;
-+ int mNotXft;
- };
-
- class nsFontXftInfo;
-@@ -1051,7 +1052,7 @@
- // font in our loaded list that supports the character
- for (PRInt32 i = 0, end = mLoadedFonts.Count(); i < end; ++i) {
- nsFontXft *font = (nsFontXft *)mLoadedFonts.ElementAt(i);
-- if (font->HasChar(PRUint32(aChar)))
-+ if (font->HasChar(PRUint32(aChar)) && font->GetXftFont())
- return font;
- }
-
-@@ -1492,7 +1493,7 @@
- // this character.
- for (PRInt32 j = 0, end = mLoadedFonts.Count(); j < end; ++j) {
- font = (nsFontXft *)mLoadedFonts.ElementAt(j);
-- if (font->HasChar(c)) {
-+ if (font->HasChar(c) && font->GetXftFont()) {
- currFont = font;
- goto FoundFont; // for speed -- avoid "if" statement
- }
-@@ -1922,6 +1923,7 @@
- FcPatternReference(mFontName);
-
- mXftFont = nsnull;
-+ mNotXft = 0;
-
- // set up our charset
- mCharset = nsnull;
-@@ -1948,7 +1950,7 @@
- XftFont *
- nsFontXft::GetXftFont(void)
- {
-- if (!mXftFont) {
-+ if (!mXftFont && !mNotXft) {
- FcPattern *pat = FcFontRenderPrepare(0, mPattern, mFontName);
- if (!pat)
- return nsnull;
-@@ -1967,8 +1969,10 @@
- FcPatternDel(pat, FC_SPACING);
-
- mXftFont = XftFontOpenPattern(GDK_DISPLAY(), pat);
-- if (!mXftFont)
-+ if (!mXftFont) {
- FcPatternDestroy(pat);
-+ mNotXft = 1;
-+ }
- }
-
- return mXftFont;
diff --git a/www/firefox-devel/files/patch-nspr-unix.c b/www/firefox-devel/files/patch-nspr-unix.c
deleted file mode 100644
index 6bb4ed08fb40..000000000000
--- a/www/firefox-devel/files/patch-nspr-unix.c
+++ /dev/null
@@ -1,21 +0,0 @@
---- nsprpub/pr/src/md/unix/unix.c.orig Sat May 31 18:06:04 2003
-+++ nsprpub/pr/src/md/unix/unix.c Sat May 31 18:04:43 2003
-@@ -65,7 +65,8 @@
- * PRInt32* pointer to a _PRSockLen_t* pointer.
- */
- #if defined(HAVE_SOCKLEN_T) \
-- || (defined(LINUX) && defined(__GLIBC__) && __GLIBC__ >= 2)
-+ || (defined(LINUX) && defined(__GLIBC__) && __GLIBC__ >= 2) \
-+ || defined(FREEBSD)
- #define _PRSockLen_t socklen_t
- #elif defined(IRIX) || defined(HPUX) || defined(OSF1) || defined(SOLARIS) \
- || defined(AIX4_1) || defined(LINUX) || defined(SONY) \
-@@ -73,7 +74,7 @@
- || defined(SUNOS4) || defined(NCR) || defined(DARWIN) \
- || defined(NEXTSTEP) || defined(QNX)
- #define _PRSockLen_t int
--#elif (defined(AIX) && !defined(AIX4_1)) || defined(FREEBSD) \
-+#elif (defined(AIX) && !defined(AIX4_1)) \
- || defined(NETBSD) || defined(OPENBSD) || defined(UNIXWARE) \
- || defined(DGUX) || defined(VMS) || defined(NTO)
- #define _PRSockLen_t size_t
diff --git a/www/firefox-devel/files/patch-nsprpub-pr-src-misc-prtime.c b/www/firefox-devel/files/patch-nsprpub-pr-src-misc-prtime.c
deleted file mode 100644
index 9682808e4d9e..000000000000
--- a/www/firefox-devel/files/patch-nsprpub-pr-src-misc-prtime.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- nsprpub/pr/src/misc/prtime.c.orig Thu Feb 27 01:01:02 2003
-+++ nsprpub/pr/src/misc/prtime.c Thu May 22 16:46:49 2003
-@@ -1666,7 +1666,7 @@
- */
-
- #if defined(SUNOS4) || (__GLIBC__ >= 2) || defined(XP_BEOS) \
-- || defined(NETBSD)
-+ || defined(NETBSD) || defined(__FreeBSD__)
- a.tm_zone = NULL;
- a.tm_gmtoff = tm->tm_params.tp_gmt_offset + tm->tm_params.tp_dst_offset;
- #endif
diff --git a/www/firefox-devel/files/patch-nsprpub-pr-src-pthreads-ptio.c b/www/firefox-devel/files/patch-nsprpub-pr-src-pthreads-ptio.c
deleted file mode 100644
index c015c3d19d27..000000000000
--- a/www/firefox-devel/files/patch-nsprpub-pr-src-pthreads-ptio.c
+++ /dev/null
@@ -1,31 +0,0 @@
-$FreeBSD$
-
---- nsprpub/pr/src/pthreads/ptio.c.orig Mon Jul 14 21:59:47 2003
-+++ nsprpub/pr/src/pthreads/ptio.c Fri Oct 17 05:25:43 2003
-@@ -189,7 +189,7 @@
- #endif
- #endif
-
--#ifdef DARWIN
-+#if defined(DARWIN) || defined(FREEBSD)
- static PRBool _pr_ipv6_v6only_on_by_default;
- /* The IPV6_V6ONLY socket option is not defined on Mac OS X 10.1. */
- #ifndef IPV6_V6ONLY
-@@ -1154,7 +1154,7 @@
- _pr_stderr = pt_SetMethods(2, PR_DESC_FILE, PR_FALSE, PR_TRUE);
- PR_ASSERT(_pr_stdin && _pr_stdout && _pr_stderr);
-
--#ifdef DARWIN
-+#if defined(DARWIN) || defined(FREEBSD)
- /* In Mac OS X v10.3 Panther Beta the IPV6_V6ONLY socket option
- * is turned on by default, contrary to what RFC 3493, Section
- * 5.3 says. So we have to turn it off. Find out whether we
-@@ -3462,7 +3462,7 @@
- if (osfd == -1) pt_MapError(_PR_MD_MAP_SOCKET_ERROR, errno);
- else
- {
--#ifdef DARWIN
-+#if defined(DARWIN) || defined(FREEBSD)
- if ((domain == AF_INET6) && _pr_ipv6_v6only_on_by_default)
- {
- int on = 0;
diff --git a/www/firefox-devel/files/patch-sparc64 b/www/firefox-devel/files/patch-sparc64
deleted file mode 100644
index b9cb83058235..000000000000
--- a/www/firefox-devel/files/patch-sparc64
+++ /dev/null
@@ -1,69 +0,0 @@
-diff -ru ./nsprpub/pr/include/md/_freebsd.cfg ../../work~/mozilla/nsprpub/pr/include/md/_freebsd.cfg
---- ./nsprpub/pr/include/md/_freebsd.cfg Wed Jan 2 18:38:25 2002
-+++ ../../work~/mozilla/nsprpub/pr/include/md/_freebsd.cfg Tue May 20 21:27:31 2003
-@@ -138,6 +138,53 @@
- #define PR_ALIGN_OF_DOUBLE 8
- #define PR_ALIGN_OF_POINTER 8
-
-+#elif defined(__sparc__)
-+
-+#undef IS_LITTLE_ENDIAN
-+#define IS_BIG_ENDIAN 1
-+#define HAVE_LONG_LONG
-+#define HAVE_ALIGNED_DOUBLES
-+#define HAVE_ALIGNED_LONGLONGS
-+#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_BYTES_PER_WORD_LOG2 3
-+#define PR_BYTES_PER_DWORD_LOG2 3
-+
-+#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
-+
- #else
-
- #error "Unknown CPU architecture"
-diff -ru ./nsprpub/pr/include/md/_freebsd.h ../../work~/mozilla/nsprpub/pr/include/md/_freebsd.h
---- ./nsprpub/pr/include/md/_freebsd.h Thu Jan 16 15:09:12 2003
-+++ ../../work~/mozilla/nsprpub/pr/include/md/_freebsd.h Tue May 20 21:27:13 2003
-@@ -48,6 +48,8 @@
- #define _PR_SI_ARCHITECTURE "x86"
- #elif defined(__alpha)
- #define _PR_SI_ARCHITECTURE "alpha"
-+#elif defined(__sparc__)
-+#define _PR_SI_ARCHITECTURE "sparc"
- #else
- #error "Unknown CPU architecture"
- #endif
diff --git a/www/firefox-devel/files/patch-xptcall-sparc64 b/www/firefox-devel/files/patch-xptcall-sparc64
deleted file mode 100644
index ea2773ced7d9..000000000000
--- a/www/firefox-devel/files/patch-xptcall-sparc64
+++ /dev/null
@@ -1,345 +0,0 @@
---- xpcom/reflect/xptcall/src/md/unix/Makefile.in.orig Mon May 26 13:26:01 2003
-+++ xpcom/reflect/xptcall/src/md/unix/Makefile.in Mon May 26 13:30:04 2003
-@@ -287,6 +287,15 @@
- ASFILES := xptcinvoke_asm_sparc_netbsd.s xptcstubs_asm_sparc_netbsd.s
- endif
- #
-+# FreeBSD/SPARC64
-+#
-+ifeq ($(OS_ARCH),FreeBSD)
-+ifneq (,$(findstring sparc,$(OS_TEST)))
-+CPPSRCS := xptcinvoke_sparc64_freebsd.cpp xptcstubs_sparc64_freebsd.cpp
-+ASFILES := xptcinvoke_asm_sparc64_freebsd.s xptcstubs_asm_sparcv9_solaris.s
-+endif
-+endif
-+#
- # Solaris/SPARC
- #
- ifeq ($(OS_ARCH),SunOS)
---- /dev/null Mon May 26 13:22:00 2003
-+++ xpcom/reflect/xptcall/src/md/unix/xptcstubs_sparc64_freebsd.cpp Mon May 26 04:12:55 2003
-@@ -0,0 +1,123 @@
-+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
-+ *
-+ * The contents of this file are subject to the Mozilla 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/MPL/
-+ *
-+ * 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) 2001 Netscape Communications Corporation. All
-+ * Rights Reserved.
-+ *
-+ * Contributor(s):
-+ * Stuart Parmenter <pavlov@netscape.com>
-+ */
-+
-+/* Implement shared vtbl methods. */
-+
-+#include "xptcprivate.h"
-+
-+#if defined(sparc) || defined(__sparc__)
-+
-+extern "C" nsresult
-+PrepareAndDispatch(nsXPTCStubBase* self, PRUint64 methodIndex, PRUint64* 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");
-+
-+ PRUint64* 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 = *((PRInt64*) ap); break;
-+ case nsXPTType::T_I16 : dp->val.i16 = *((PRInt64*) ap); break;
-+ case nsXPTType::T_I32 : dp->val.i32 = *((PRInt64*) ap); break;
-+ case nsXPTType::T_DOUBLE : dp->val.d = *((double*) ap); break;
-+ case nsXPTType::T_U64 : dp->val.u64 = *((PRUint64*) ap); break;
-+ case nsXPTType::T_I64 : dp->val.i64 = *((PRInt64*) ap); break;
-+ case nsXPTType::T_U8 : dp->val.u8 = *((PRUint64*) ap); break;
-+ case nsXPTType::T_U16 : dp->val.u16 = *((PRUint64*)ap); break;
-+ case nsXPTType::T_U32 : dp->val.u32 = *((PRUint64*)ap); break;
-+ case nsXPTType::T_FLOAT : dp->val.f = ((float*) ap)[1]; break;
-+ case nsXPTType::T_BOOL : dp->val.b = *((PRInt64*) ap); break;
-+ case nsXPTType::T_CHAR : dp->val.c = *((PRUint64*) ap); break;
-+ case nsXPTType::T_WCHAR : dp->val.wc = *((PRInt64*) 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__ */
---- /dev/null Mon May 26 13:22:00 2003
-+++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_sparc64_freebsd.s Mon May 26 04:06:09 2003
-@@ -0,0 +1,104 @@
-+/* -*- Mode: asm; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
-+ *
-+ * The contents of this file are subject to the Mozilla 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/MPL/
-+ *
-+ * 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) 2001 Netscape Communications Corporation. All
-+ * Rights Reserved.
-+ *
-+ * Contributor(s):
-+ * Stuart Parmenter <pavlov@netscape.com>
-+ * Chris Seawood <cls@seawood.org>
-+ */
-+
-+/*
-+ Platform specific code to invoke XPCOM methods on native objects
-+ for sparcv9 Solaris.
-+
-+ See the SPARC Compliance Definition (SCD) Chapter 3
-+ for more information about what is going on here, including
-+ the use of BIAS (0x7ff).
-+ The SCD is available from http://www.sparc.com/.
-+*/
-+
-+ .global XPTC_InvokeByIndex
-+ .type XPTC_InvokeByIndex, #function
-+
-+/*
-+ XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
-+ PRUint32 paramCount, nsXPTCVariant* params);
-+
-+*/
-+XPTC_InvokeByIndex:
-+ save %sp,-(128 + 64),%sp ! room for the register window and
-+ ! struct pointer, rounded up to 0 % 64
-+ sll %i2,4,%l0 ! assume the worst case
-+ ! paramCount * 2 * 8 bytes
-+ cmp %l0, 0 ! are there any args? If not,
-+ be .invoke ! no need to copy args to stack
-+ nop
-+
-+ sub %sp,%l0,%sp ! create the additional stack space
-+ add %sp,0x7ff+136,%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
-+
-+!
-+! load arguments from stack into the outgoing registers
-+! BIAS is 0x7ff (2047)
-+!
-+
-+! load the %o1..5 64bit (extended word) output registers registers
-+ ldx [%sp + 0x7ff + 136],%o1 ! %i1
-+ ldx [%sp + 0x7ff + 144],%o2 ! %i2
-+ ldx [%sp + 0x7ff + 152],%o3 ! %i3
-+ ldx [%sp + 0x7ff + 160],%o4 ! %i4
-+ ldx [%sp + 0x7ff + 168],%o5 ! %i5
-+
-+! load the even number double registers starting with %d2
-+ ldd [%sp + 0x7ff + 136],%f2
-+ ldd [%sp + 0x7ff + 144],%f4
-+ ldd [%sp + 0x7ff + 152],%f6
-+ ldd [%sp + 0x7ff + 160],%f8
-+ ldd [%sp + 0x7ff + 168],%f10
-+ ldd [%sp + 0x7ff + 176],%f12
-+ ldd [%sp + 0x7ff + 184],%f14
-+ ldd [%sp + 0x7ff + 192],%f16
-+ ldd [%sp + 0x7ff + 200],%f18
-+ ldd [%sp + 0x7ff + 208],%f20
-+ ldd [%sp + 0x7ff + 216],%f22
-+ ldd [%sp + 0x7ff + 224],%f24
-+ ldd [%sp + 0x7ff + 232],%f26
-+ ldd [%sp + 0x7ff + 240],%f28
-+ ldd [%sp + 0x7ff + 248],%f30
-+
-+!
-+! calculate the target address from the vtable
-+!
-+.invoke:
-+ sll %i1,3,%l0 ! index *= 8
-+! add %l0,16,%l0 ! there are 2 extra entries in the vTable (16bytes)
-+ ldx [%i0],%l1 ! *that --> address of vtable
-+ ldx [%l0 + %l1],%l0 ! that->vtable[index * 8 + 16] --> address
-+
-+ jmpl %l0,%o7 ! call the routine
-+ mov %i0,%o0 ! move 'this' pointer to out register
-+
-+ mov %o0,%i0 ! propagate return value
-+ ret
-+ restore
-+
-+ .size XPTC_InvokeByIndex, .-XPTC_InvokeByIndex
---- /dev/null Mon May 26 14:00:00 2003
-+++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_sparc64_freebsd.cpp Mon May 26 14:00:49 2003
-@@ -0,0 +1,91 @@
-+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
-+ *
-+ * The contents of this file are subject to the Mozilla 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/MPL/
-+ *
-+ * 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) 2001 Netscape Communications Corporation. All
-+ * Rights Reserved.
-+ *
-+ * Contributor(s):
-+ * Stuart Parmenter <pavlov@netscape.com>
-+ * Chris Seawood <cls@seawood.org>
-+ */
-+
-+
-+/* Platform specific code to invoke XPCOM methods on native objects */
-+
-+#include "xptcprivate.h"
-+
-+#if !defined(__sparc) && !defined(__sparc__)
-+#error "This code is for Sparc only"
-+#endif
-+
-+/* Prototype specifies unmangled function name */
-+extern "C" PRUint64
-+invoke_copy_to_stack(PRUint64* d, PRUint32 paramCount, nsXPTCVariant* s);
-+
-+extern "C" PRUint64
-+invoke_copy_to_stack(PRUint64* 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.
-+ */
-+ PRUint64 *l_d = d;
-+ nsXPTCVariant *l_s = s;
-+ PRUint64 l_paramCount = paramCount;
-+ PRUint64 regCount = 0; // return the number of registers to load from the stack
-+
-+ for(PRUint64 i = 0; i < l_paramCount; i++, l_d++, l_s++)
-+ {
-+ if (regCount < 5) regCount++;
-+
-+ if (l_s->IsPtrData())
-+ {
-+ *l_d = (PRUint64)l_s->ptr;
-+ continue;
-+ }
-+ switch (l_s->type)
-+ {
-+ case nsXPTType::T_I8 : *((PRInt64*)l_d) = l_s->val.i8; break;
-+ case nsXPTType::T_I16 : *((PRInt64*)l_d) = l_s->val.i16; break;
-+ case nsXPTType::T_I32 : *((PRInt64*)l_d) = l_s->val.i32; break;
-+ case nsXPTType::T_I64 : *((PRInt64*)l_d) = l_s->val.i64; break;
-+
-+ case nsXPTType::T_U8 : *((PRUint64*)l_d) = l_s->val.u8; break;
-+ case nsXPTType::T_U16 : *((PRUint64*)l_d) = l_s->val.u16; break;
-+ case nsXPTType::T_U32 : *((PRUint64*)l_d) = l_s->val.u32; break;
-+ case nsXPTType::T_U64 : *((PRUint64*)l_d) = l_s->val.u64; break;
-+
-+ /* in the case of floats, we want to put the bits in to the
-+ 64bit space right justified... floats in the paramter array on
-+ sparcv9 use odd numbered registers.. %f1, %f3, so we have to skip
-+ the space that would be occupied by %f0, %f2, etc.
-+ */
-+ case nsXPTType::T_FLOAT : *(((float*)l_d) + 1) = l_s->val.f; break;
-+ case nsXPTType::T_DOUBLE: *((double*)l_d) = l_s->val.d; break;
-+ case nsXPTType::T_BOOL : *((PRInt64*)l_d) = l_s->val.b; break;
-+ case nsXPTType::T_CHAR : *((PRUint64*)l_d) = l_s->val.c; break;
-+ case nsXPTType::T_WCHAR : *((PRInt64*)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;
-+}