Re: ia32 compatibility and gcc-3.0
On Mon, Sep 17, 2001 at 11:17:45AM -0700, David Mosberger wrote:
Content-Description: message body text
> >>>>> On Mon, 17 Sep 2001 14:13:19 -0400, Rick Haines <rick@kuroyi.net> said:
>
> Rick> Can you send me a url for this? I did a brief search friday
> Rick> but didn't find anything.
>
> No URL, but I attached the instructions that I mailed to Jeff a while
> ago. Just out of curiosity: how does your mozilla/ia64 effort relate
> to Jeff's?
It works just fine after applying the patches. There were some failed
hunks as can be expected. It actually starts up fairly fast.
If you want any more detailed info let me know.
Content-Description: forwarded message
> From: David Mosberger <davidm@hpl.hp.com>
> Subject: Mozilla/ia64 patch & instructions
> To: jlicquia@progeny.com
> cc: davidm@hpl.hp.com
> Reply-To: davidm@hpl.hp.com
> X-URL: http://www.hpl.hp.com/personal/David_Mosberger/
>
Content-Description: message body text
> Hi Jeff,
>
> Here is the promised receipe and patches. I assume you're much more
> familiar with building Mozilla than I am, but here is the .mozconfig
> file I'm using:
>
> <---------------------------------------------------------------------->
> # sh
> # Build configuration script
> #
> # See http://www.mozilla.org/build/unix.html for build instructions.
> #
>
> # Options for client.mk.
> mk_add_options MOZ_MAKE_FLAGS=-j2
>
> # Options for 'configure' (same as command-line options).
> ac_add_options --disable-tests
> ac_add_options --enable-optimize="-pipe -g -O"
> ac_add_options --disable-debug
> ac_add_options --enable-crypto
> ac_add_options --enable-mathml
> ac_add_options --enable-svg
> ac_add_options --enable-ldap
> <---------------------------------------------------------------------->
>
> I didn't have much luck with the svg extension (it crashes the browser
> immediately) and I don't know how to test the ldap support, but the
> crypto and mathml extensions work fine. Does Debian normally build
> the mathml extension? I hope so as it really make life easier for a
> lot of scientists etc... ;-)
>
> Now, how do you go about building mozilla:
>
> (1) Extract the libffi tar ball from the first attachment below.
> Then you'll need to build and install it so that it can be found
> with -lffi. This version of libffi has been extended to suit
> the needs of Mozilla, but it's a proper superset, so it should be
> OK if you replace an existing libffi with this version. (We'll
> need to work with the libffi maintainer to get these extensions
> into the official libffi release, but this hasn't happened yet.)
>
> (2) Fetch the mozilla source tree and apply the patch in the second
> attachement below. I'm using the sources from the CVS tree.
> IIRC, I didn't have much luck with the 0.9.2 tree (lots of weird
> unaligned accesses and frequent crashes), but the current CVS
> tree seems to be good again). The patch does the following
> things:
>
> (a) Change a couple of NS_REINTERPRET_CAST() to use a target
> type of PRUptrdiff instead of PRInt32. Without these
> changes, gcc3.0 is not happy (not sure why, I'm no
> C++ expert).
>
> (b) Add "using namespace std" to a couple of files. Without
> these, gcc3.0 is not hapy (not sure why, I'm no C++
> expert).
>
> (c) Add ia64 linux support to _linux.cfg, _linux.h, Linux.mk,
> and xpcom/reflect/xptcall/src/md/unix/Makefile.in.
>
> (d) Add -lffi as EXTRA_DSO_LDOPTS to xpcom/build/Makefile.in.
> This should obviously be done only for targets that use
> libffi (IA-64 Linux only at the moment), but I don't
> know how to do this with the Mozilla build environment.
>
> (e) Add a workaround for gcc3.0 to
> xpinstall/src/nsSoftwareUpdate.cpp. In this file, if
> global variable mProgramDir is initialized to "nsnull",
> then gcc3.0 crashes. Not initializing the variable avoids
> the compiler crash but it could be that it has other ill
> side-effects (though if there are, I haven't noticed).
>
> (3) Apply the patch contained in the third attachment. This patch
> adds the following new files:
>
> - nsprpub/pr/src/md/unix/os_Linux_ia64.s
> This was written by a Netscape engineer but for some
> reason was never checked into the official source tree.
>
> - xpcom/reflect/xptcall/src/md/unix/xptcstubs_ffi.cpp
> This contains my libffi based implementation of
> the stubs facility of xptcall. This file should
> be portable assuming you have an extended libffi for the
> target platform.
>
> - xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ffi.cpp
> The contains the libffi based implementation of
> the invocation facility of xptcall. This file
> also should be portable with the exception that
> the layout of the vtable is compiler/platform
> dependent. Look for "struct vtable" in this file.
>
> - xpcom/reflect/xptcall/src/md/unix/xptcstubs_ffi_mangled.h
> A generated file that contains the mangled names
> of the stubs. This is needed by xptcstubs_ffi.cpp
>
> - xpcom/reflect/xptcall/src/md/unix/mk-mangled.sh
> A script that can be used to generate
> xptcstubs_ffi_mangled.h. It would be nice to invoke
> this automatically during the build process, but again
> I don't know how to do this.
>
> - xpcom/reflect/xptcall/src/md/unix/dummy.cpp
> A helper file needed to generate xptcstubs_ffi_mangled.h.
>
> Note: the patch includes a version of xptcstubs_ffi_mangled.h
> which is suitable for use with gcc3.0. The name mangling rules
> changed between gcc2.xx and gcc3.0 so if you want to use a different
> compiler, you'd have to re-generate this header file. The way to do
> this is to compile dummy.cpp into dummy.o (using the same options as
> for xptcstubs_ffi.cpp) and then run:
>
> $ mk-mangled.sh dummy.o > xptcstubs_ffi_manged.h
>
> I think it would be a good idea if this file was always
> re-generated automatically during a build for a target that is
> based on libffi, but perhaps that's too difficult.
>
> Once you have all this, you should be able to build mozilla with gcc3.0.
> I recommend turning on -O as without -O, things are really slow. There
> is one file that gets miscompiled with -O, however, so that one must
> be compiled without optimization. The file is:
>
> content/xbl/src/nsXBLPrototypeBinding.cpp
>
> What I did was to compile this file into an assembly file with
> optimization turned off. After that, Mozilla automatically generates
> the .o from the .s file, so once the .s exists, the build can run
> automatically.
>
> I couldn't get mozilla to work with -O2.
>
> Once you have a working mozilla, you may notice that is starts up very
> slowly (like 40 seconds between starting mozilla and getting the first
> window). If so, you need to update your ld.so. The best thing to do
> would be to get libc from the current CVS tree as it has all the
> necessary fixes.
>
> Like I said, this isn't very pretty (though the result is! ;-). It
> would be nice if we could get the gcc3.0 bugs fixed quickly, as that
> would remove a major build headache. Unfortunately, I can't do much
> about nsXBLPrototypeBinding.cpp because my C++ knowledge is too
> limited to generate a good bug report. I know the function that gets
> miscompiled, but not much more.
>
> Please let me know if you have any questions. Also, if you prefer I
> could make a tar ball of the source tree I'm using, though I hope that
> won't be necessary.
>
> Good luck,
>
> --david
>
Content-Description: mozilla.diff
> Index: content/base/src/nsDocumentEncoder.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/content/base/src/nsDocumentEncoder.cpp,v
> retrieving revision 1.51
> diff -u -r1.51 nsDocumentEncoder.cpp
> --- content/base/src/nsDocumentEncoder.cpp 2001/07/13 13:38:04 1.51
> +++ content/base/src/nsDocumentEncoder.cpp 2001/07/28 02:02:14
> @@ -666,9 +666,9 @@
> nsCOMPtr<nsIDOMNode> childAsNode;
> PRInt32 startOffset = 0, endOffset = -1;
> if (startNode == content)
> - startOffset = NS_REINTERPRET_CAST(PRInt32, mStartOffsets[mStartRootIndex - aDepth]);
> + startOffset = NS_REINTERPRET_CAST(PRUptrdiff, mStartOffsets[mStartRootIndex - aDepth]);
> if (endNode == content)
> - endOffset = NS_REINTERPRET_CAST(PRInt32, mEndOffsets[mEndRootIndex - aDepth]);
> + endOffset = NS_REINTERPRET_CAST(PRUptrdiff, mEndOffsets[mEndRootIndex - aDepth]);
> // generated content will cause offset values of -1 to be returned.
> PRInt32 j, childCount=0;
> rv = content->ChildCount(childCount);
> Index: extensions/transformiix/source/base/DefaultStringComparator.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/base/DefaultStringComparator.cpp,v
> retrieving revision 1.3
> diff -u -r1.3 DefaultStringComparator.cpp
> --- extensions/transformiix/source/base/DefaultStringComparator.cpp 2001/07/03 00:35:09 1.3
> +++ extensions/transformiix/source/base/DefaultStringComparator.cpp 2001/07/28 02:02:14
> @@ -22,6 +22,8 @@
> *
> */
>
> +using namespace std;
> +
> #include "StringComparator.h"
>
> /**
> Index: extensions/transformiix/source/base/Double.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/base/Double.cpp,v
> retrieving revision 1.8
> diff -u -r1.8 Double.cpp
> --- extensions/transformiix/source/base/Double.cpp 2001/07/11 09:42:56 1.8
> +++ extensions/transformiix/source/base/Double.cpp 2001/07/28 02:02:14
> @@ -33,6 +33,8 @@
> *
> */
>
> +using namespace std;
> +
> #include "primitives.h"
> #include <math.h>
> #ifdef WIN32
> Index: extensions/transformiix/source/base/Integer.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/base/Integer.cpp,v
> retrieving revision 1.4
> diff -u -r1.4 Integer.cpp
> --- extensions/transformiix/source/base/Integer.cpp 2001/07/03 00:37:57 1.4
> +++ extensions/transformiix/source/base/Integer.cpp 2001/07/28 02:02:14
> @@ -23,6 +23,8 @@
> *
> */
>
> +using namespace std;
> +
> #include "primitives.h"
> #include "baseutils.h"
>
> Index: extensions/transformiix/source/base/NamedMap.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/base/NamedMap.cpp,v
> retrieving revision 1.10
> diff -u -r1.10 NamedMap.cpp
> --- extensions/transformiix/source/base/NamedMap.cpp 2001/07/03 00:39:07 1.10
> +++ extensions/transformiix/source/base/NamedMap.cpp 2001/07/28 02:02:14
> @@ -31,6 +31,8 @@
> * A Named Map for TxObjects
> **/
>
> +using namespace std;
> +
> #include "NamedMap.h"
>
> //-------------/
> Index: extensions/transformiix/source/base/SimpleErrorObserver.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/base/SimpleErrorObserver.cpp,v
> retrieving revision 1.4
> diff -u -r1.4 SimpleErrorObserver.cpp
> --- extensions/transformiix/source/base/SimpleErrorObserver.cpp 2001/07/03 00:43:06 1.4
> +++ extensions/transformiix/source/base/SimpleErrorObserver.cpp 2001/07/28 02:02:14
> @@ -23,6 +23,8 @@
> *
> */
>
> +using namespace std;
> +
> #include "ErrorObserver.h"
>
> /**
> Index: extensions/transformiix/source/base/StringComparator.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/base/StringComparator.cpp,v
> retrieving revision 1.2
> diff -u -r1.2 StringComparator.cpp
> --- extensions/transformiix/source/base/StringComparator.cpp 2001/07/03 00:43:25 1.2
> +++ extensions/transformiix/source/base/StringComparator.cpp 2001/07/28 02:02:14
> @@ -22,6 +22,8 @@
> *
> */
>
> +using namespace std;
> +
> #include "StringComparator.h"
>
>
> Index: extensions/transformiix/source/base/StringList.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/base/StringList.cpp,v
> retrieving revision 1.11
> diff -u -r1.11 StringList.cpp
> --- extensions/transformiix/source/base/StringList.cpp 2001/07/03 00:43:51 1.11
> +++ extensions/transformiix/source/base/StringList.cpp 2001/07/28 02:02:14
> @@ -29,6 +29,8 @@
> * StringList
> **/
>
> +using namespace std;
> +
> #ifdef TX_EXE
> #include <iostream.h>
> #endif
> Index: extensions/transformiix/source/base/Tokenizer.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/base/Tokenizer.cpp,v
> retrieving revision 1.4
> diff -u -r1.4 Tokenizer.cpp
> --- extensions/transformiix/source/base/Tokenizer.cpp 2001/07/03 00:44:38 1.4
> +++ extensions/transformiix/source/base/Tokenizer.cpp 2001/07/28 02:02:14
> @@ -53,6 +53,8 @@
> * A simple String tokenizer
> **/
>
> +using namespace std;
> +
> #include "Tokenizer.h"
>
> /**
> Index: extensions/transformiix/source/net/URIUtils.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/net/URIUtils.cpp,v
> retrieving revision 1.17
> diff -u -r1.17 URIUtils.cpp
> --- extensions/transformiix/source/net/URIUtils.cpp 2001/07/03 00:45:28 1.17
> +++ extensions/transformiix/source/net/URIUtils.cpp 2001/07/28 02:02:14
> @@ -31,6 +31,8 @@
> *
> */
>
> +using namespace std;
> +
> #include "URIUtils.h"
>
> #ifndef TX_EXE
> Index: extensions/transformiix/source/xml/XMLDOMUtils.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xml/XMLDOMUtils.cpp,v
> retrieving revision 1.19
> diff -u -r1.19 XMLDOMUtils.cpp
> --- extensions/transformiix/source/xml/XMLDOMUtils.cpp 2001/07/03 00:46:06 1.19
> +++ extensions/transformiix/source/xml/XMLDOMUtils.cpp 2001/07/28 02:02:14
> @@ -27,6 +27,8 @@
> * XMLDOMUtils
> **/
>
> +using namespace std;
> +
> #include "XMLDOMUtils.h"
>
> /**
> Index: extensions/transformiix/source/xml/XMLUtils.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xml/XMLUtils.cpp,v
> retrieving revision 1.6
> diff -u -r1.6 XMLUtils.cpp
> --- extensions/transformiix/source/xml/XMLUtils.cpp 2001/07/03 00:46:57 1.6
> +++ extensions/transformiix/source/xml/XMLUtils.cpp 2001/07/28 02:02:14
> @@ -29,6 +29,8 @@
> * An XML utility class
> **/
>
> +using namespace std;
> +
> #include "XMLUtils.h"
>
> //------------------------------/
> Index: extensions/transformiix/source/xml/dom/mozImpl/MozillaAttr.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xml/dom/mozImpl/MozillaAttr.cpp,v
> retrieving revision 1.7
> diff -u -r1.7 MozillaAttr.cpp
> --- extensions/transformiix/source/xml/dom/mozImpl/MozillaAttr.cpp 2001/04/03 12:22:05 1.7
> +++ extensions/transformiix/source/xml/dom/mozImpl/MozillaAttr.cpp 2001/07/28 02:02:14
> @@ -26,6 +26,8 @@
> interface into a TransforMIIX Attr interface.
> */
>
> +using namespace std;
> +
> #include "mozilladom.h"
>
> /**
> Index: extensions/transformiix/source/xml/dom/mozImpl/MozillaCDATASection.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xml/dom/mozImpl/MozillaCDATASection.cpp,v
> retrieving revision 1.3
> diff -u -r1.3 MozillaCDATASection.cpp
> --- extensions/transformiix/source/xml/dom/mozImpl/MozillaCDATASection.cpp 2001/04/03 12:22:45 1.3
> +++ extensions/transformiix/source/xml/dom/mozImpl/MozillaCDATASection.cpp 2001/07/28 02:02:14
> @@ -26,6 +26,8 @@
> interface into a TransforMIIX CDATASection interface.
> */
>
> +using namespace std;
> +
> #include "mozilladom.h"
>
> /**
> Index: extensions/transformiix/source/xml/dom/mozImpl/MozillaCharacterData.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xml/dom/mozImpl/MozillaCharacterData.cpp,v
> retrieving revision 1.5
> diff -u -r1.5 MozillaCharacterData.cpp
> --- extensions/transformiix/source/xml/dom/mozImpl/MozillaCharacterData.cpp 2001/06/26 14:08:31 1.5
> +++ extensions/transformiix/source/xml/dom/mozImpl/MozillaCharacterData.cpp 2001/07/28 02:02:14
> @@ -26,6 +26,8 @@
> nsIDOMCharacterData interface into a TransforMIIX CharacterData interface.
> */
>
> +using namespace std;
> +
> #include "mozilladom.h"
>
> /**
> Index: extensions/transformiix/source/xml/dom/mozImpl/MozillaComment.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xml/dom/mozImpl/MozillaComment.cpp,v
> retrieving revision 1.3
> diff -u -r1.3 MozillaComment.cpp
> --- extensions/transformiix/source/xml/dom/mozImpl/MozillaComment.cpp 2001/04/03 12:22:52 1.3
> +++ extensions/transformiix/source/xml/dom/mozImpl/MozillaComment.cpp 2001/07/28 02:02:14
> @@ -26,6 +26,8 @@
> interface into a TransforMIIX Comment interface.
> */
>
> +using namespace std;
> +
> #include "mozilladom.h"
>
> /**
> Index: extensions/transformiix/source/xml/dom/mozImpl/MozillaDOMImplementation.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xml/dom/mozImpl/MozillaDOMImplementation.cpp,v
> retrieving revision 1.4
> diff -u -r1.4 MozillaDOMImplementation.cpp
> --- extensions/transformiix/source/xml/dom/mozImpl/MozillaDOMImplementation.cpp 2001/04/03 12:22:26 1.4
> +++ extensions/transformiix/source/xml/dom/mozImpl/MozillaDOMImplementation.cpp 2001/07/28 02:02:14
> @@ -27,6 +27,8 @@
> interface.
> */
>
> +using namespace std;
> +
> #include "mozilladom.h"
>
> /**
> Index: extensions/transformiix/source/xml/dom/mozImpl/MozillaDocument.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xml/dom/mozImpl/MozillaDocument.cpp,v
> retrieving revision 1.16
> diff -u -r1.16 MozillaDocument.cpp
> --- extensions/transformiix/source/xml/dom/mozImpl/MozillaDocument.cpp 2001/07/03 00:49:46 1.16
> +++ extensions/transformiix/source/xml/dom/mozImpl/MozillaDocument.cpp 2001/07/28 02:02:14
> @@ -26,6 +26,8 @@
> interface into a TransforMIIX Document interface.
> */
>
> +using namespace std;
> +
> #include "mozilladom.h"
> #include "nsLayoutCID.h"
> #include "nsIURL.h"
> Index: extensions/transformiix/source/xml/dom/mozImpl/MozillaDocumentFragment.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xml/dom/mozImpl/MozillaDocumentFragment.cpp,v
> retrieving revision 1.4
> diff -u -r1.4 MozillaDocumentFragment.cpp
> --- extensions/transformiix/source/xml/dom/mozImpl/MozillaDocumentFragment.cpp 2001/04/03 12:22:20 1.4
> +++ extensions/transformiix/source/xml/dom/mozImpl/MozillaDocumentFragment.cpp 2001/07/28 02:02:14
> @@ -27,6 +27,8 @@
> interface.
> */
>
> +using namespace std;
> +
> #include "mozilladom.h"
>
> /**
> Index: extensions/transformiix/source/xml/dom/mozImpl/MozillaDocumentType.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xml/dom/mozImpl/MozillaDocumentType.cpp,v
> retrieving revision 1.4
> diff -u -r1.4 MozillaDocumentType.cpp
> --- extensions/transformiix/source/xml/dom/mozImpl/MozillaDocumentType.cpp 2001/04/03 12:22:23 1.4
> +++ extensions/transformiix/source/xml/dom/mozImpl/MozillaDocumentType.cpp 2001/07/28 02:02:14
> @@ -26,6 +26,8 @@
> interface into a TransforMIIX DocumentType interface.
> */
>
> +using namespace std;
> +
> #include "mozilladom.h"
>
> /**
> Index: extensions/transformiix/source/xml/dom/mozImpl/MozillaElement.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xml/dom/mozImpl/MozillaElement.cpp,v
> retrieving revision 1.8
> diff -u -r1.8 MozillaElement.cpp
> --- extensions/transformiix/source/xml/dom/mozImpl/MozillaElement.cpp 2001/04/30 14:04:07 1.8
> +++ extensions/transformiix/source/xml/dom/mozImpl/MozillaElement.cpp 2001/07/28 02:02:14
> @@ -26,6 +26,8 @@
> interface into a TransforMIIX Element interface.
> */
>
> +using namespace std;
> +
> #include "mozilladom.h"
>
> /**
> Index: extensions/transformiix/source/xml/dom/mozImpl/MozillaEntity.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xml/dom/mozImpl/MozillaEntity.cpp,v
> retrieving revision 1.4
> diff -u -r1.4 MozillaEntity.cpp
> --- extensions/transformiix/source/xml/dom/mozImpl/MozillaEntity.cpp 2001/04/03 12:22:30 1.4
> +++ extensions/transformiix/source/xml/dom/mozImpl/MozillaEntity.cpp 2001/07/28 02:02:14
> @@ -26,6 +26,8 @@
> interface into a TransforMIIX Entity interface.
> */
>
> +using namespace std;
> +
> #include "mozilladom.h"
>
> /**
> Index: extensions/transformiix/source/xml/dom/mozImpl/MozillaEntityReference.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xml/dom/mozImpl/MozillaEntityReference.cpp,v
> retrieving revision 1.4
> diff -u -r1.4 MozillaEntityReference.cpp
> --- extensions/transformiix/source/xml/dom/mozImpl/MozillaEntityReference.cpp 2001/04/03 12:22:34 1.4
> +++ extensions/transformiix/source/xml/dom/mozImpl/MozillaEntityReference.cpp 2001/07/28 02:02:14
> @@ -27,6 +27,8 @@
> interface.
> */
>
> +using namespace std;
> +
> #include "mozilladom.h"
>
> /**
> Index: extensions/transformiix/source/xml/dom/mozImpl/MozillaNamedNodeMap.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xml/dom/mozImpl/MozillaNamedNodeMap.cpp,v
> retrieving revision 1.8
> diff -u -r1.8 MozillaNamedNodeMap.cpp
> --- extensions/transformiix/source/xml/dom/mozImpl/MozillaNamedNodeMap.cpp 2001/06/26 14:08:39 1.8
> +++ extensions/transformiix/source/xml/dom/mozImpl/MozillaNamedNodeMap.cpp 2001/07/28 02:02:14
> @@ -26,6 +26,8 @@
> nsIDOMNamedNodeMap interface into a TransforMIIX NamedNodeMap interface.
> */
>
> +using namespace std;
> +
> #include "mozilladom.h"
>
> /**
> Index: extensions/transformiix/source/xml/dom/mozImpl/MozillaNode.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xml/dom/mozImpl/MozillaNode.cpp,v
> retrieving revision 1.13
> diff -u -r1.13 MozillaNode.cpp
> --- extensions/transformiix/source/xml/dom/mozImpl/MozillaNode.cpp 2001/04/30 14:04:08 1.13
> +++ extensions/transformiix/source/xml/dom/mozImpl/MozillaNode.cpp 2001/07/28 02:02:14
> @@ -26,6 +26,8 @@
> interface into a TransforMIIX Node interface.
> */
>
> +using namespace std;
> +
> #include "mozilladom.h"
> #include "ArrayList.h"
> #include "URIUtils.h"
> Index: extensions/transformiix/source/xml/dom/mozImpl/MozillaNodeList.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xml/dom/mozImpl/MozillaNodeList.cpp,v
> retrieving revision 1.4
> diff -u -r1.4 MozillaNodeList.cpp
> --- extensions/transformiix/source/xml/dom/mozImpl/MozillaNodeList.cpp 2001/06/26 14:08:42 1.4
> +++ extensions/transformiix/source/xml/dom/mozImpl/MozillaNodeList.cpp 2001/07/28 02:02:14
> @@ -26,6 +26,8 @@
> interface into a TransforMIIX NodeList interface.
> */
>
> +using namespace std;
> +
> #include "mozilladom.h"
>
> /**
> Index: extensions/transformiix/source/xml/dom/mozImpl/MozillaNotation.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xml/dom/mozImpl/MozillaNotation.cpp,v
> retrieving revision 1.4
> diff -u -r1.4 MozillaNotation.cpp
> --- extensions/transformiix/source/xml/dom/mozImpl/MozillaNotation.cpp 2001/04/03 12:22:38 1.4
> +++ extensions/transformiix/source/xml/dom/mozImpl/MozillaNotation.cpp 2001/07/28 02:02:14
> @@ -26,6 +26,8 @@
> interface into a TransforMIIX Notation interface.
> */
>
> +using namespace std;
> +
> #include "mozilladom.h"
>
> /**
> Index: extensions/transformiix/source/xml/dom/mozImpl/MozillaObjectWrapper.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xml/dom/mozImpl/MozillaObjectWrapper.cpp,v
> retrieving revision 1.2
> diff -u -r1.2 MozillaObjectWrapper.cpp
> --- extensions/transformiix/source/xml/dom/mozImpl/MozillaObjectWrapper.cpp 2001/01/12 20:06:20 1.2
> +++ extensions/transformiix/source/xml/dom/mozImpl/MozillaObjectWrapper.cpp 2001/07/28 02:02:14
> @@ -27,6 +27,8 @@
> releasing the Mozilla objects.
> */
>
> +using namespace std;
> +
> #include "mozilladom.h"
>
> MOZ_DECL_CTOR_COUNTER(MozillaObjectWrapper)
> Index: extensions/transformiix/source/xml/dom/mozImpl/MozillaProcInstruction.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xml/dom/mozImpl/MozillaProcInstruction.cpp,v
> retrieving revision 1.4
> diff -u -r1.4 MozillaProcInstruction.cpp
> --- extensions/transformiix/source/xml/dom/mozImpl/MozillaProcInstruction.cpp 2001/04/03 12:22:41 1.4
> +++ extensions/transformiix/source/xml/dom/mozImpl/MozillaProcInstruction.cpp 2001/07/28 02:02:14
> @@ -27,6 +27,8 @@
> ProcessingInstruction interface.
> */
>
> +using namespace std;
> +
> #include "mozilladom.h"
>
> /**
> Index: extensions/transformiix/source/xml/dom/mozImpl/MozillaText.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xml/dom/mozImpl/MozillaText.cpp,v
> retrieving revision 1.4
> diff -u -r1.4 MozillaText.cpp
> --- extensions/transformiix/source/xml/dom/mozImpl/MozillaText.cpp 2001/06/26 14:08:51 1.4
> +++ extensions/transformiix/source/xml/dom/mozImpl/MozillaText.cpp 2001/07/28 02:02:14
> @@ -26,6 +26,8 @@
> interface into a TransforMIIX Text interface.
> */
>
> +using namespace std;
> +
> #include "mozilladom.h"
>
> /**
> Index: extensions/transformiix/source/xml/parser/XMLParser.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xml/parser/XMLParser.cpp,v
> retrieving revision 1.19
> diff -u -r1.19 XMLParser.cpp
> --- extensions/transformiix/source/xml/parser/XMLParser.cpp 2001/07/03 00:46:31 1.19
> +++ extensions/transformiix/source/xml/parser/XMLParser.cpp 2001/07/28 02:02:14
> @@ -36,6 +36,8 @@
> *
> */
>
> +using namespace std;
> +
> #include "XMLParser.h"
> #ifndef TX_EXE
> #include "nsSyncLoader.h"
> Index: extensions/transformiix/source/xml/util/DOMHelper.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xml/util/DOMHelper.cpp,v
> retrieving revision 1.15
> diff -u -r1.15 DOMHelper.cpp
> --- extensions/transformiix/source/xml/util/DOMHelper.cpp 2001/07/03 00:35:15 1.15
> +++ extensions/transformiix/source/xml/util/DOMHelper.cpp 2001/07/28 02:02:14
> @@ -25,6 +25,8 @@
> * A class used to overcome DOM 1.0 deficiencies
> **/
>
> +using namespace std;
> +
> #include "DOMHelper.h"
> #include "primitives.h"
>
> Index: extensions/transformiix/source/xpath/Expr.h
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xpath/Expr.h,v
> retrieving revision 1.16
> diff -u -r1.16 Expr.h
> --- extensions/transformiix/source/xpath/Expr.h 2001/07/03 00:36:19 1.16
> +++ extensions/transformiix/source/xpath/Expr.h 2001/07/28 02:02:14
> @@ -34,6 +34,7 @@
> #ifndef TRANSFRMX_EXPR_H
> #define TRANSFRMX_EXPR_H
>
> +using namespace std;
>
> #include "TxString.h"
> #include "ErrorObserver.h"
> Index: extensions/transformiix/source/xpath/ExprLexer.h
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xpath/ExprLexer.h,v
> retrieving revision 1.10
> diff -u -r1.10 ExprLexer.h
> --- extensions/transformiix/source/xpath/ExprLexer.h 2001/07/03 00:36:38 1.10
> +++ extensions/transformiix/source/xpath/ExprLexer.h 2001/07/28 02:02:14
> @@ -31,6 +31,8 @@
> #ifndef MITREXSL_EXPRLEXER_H
> #define MITREXSL_EXPRLEXER_H
>
> +using namespace std;
> +
> #include "TxString.h"
> #include "baseutils.h"
>
> Index: extensions/transformiix/source/xpath/ExprParser.h
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xpath/ExprParser.h,v
> retrieving revision 1.7
> diff -u -r1.7 ExprParser.h
> --- extensions/transformiix/source/xpath/ExprParser.h 2001/07/03 00:36:57 1.7
> +++ extensions/transformiix/source/xpath/ExprParser.h 2001/07/28 02:02:15
> @@ -23,6 +23,8 @@
> *
> */
>
> +using namespace std;
> +
> /**
> * ExprParser
> * This class is used to parse XSL Expressions
> Index: extensions/transformiix/source/xpath/ExprResult.h
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xpath/ExprResult.h,v
> retrieving revision 1.12
> diff -u -r1.12 ExprResult.h
> --- extensions/transformiix/source/xpath/ExprResult.h 2001/07/03 00:37:04 1.12
> +++ extensions/transformiix/source/xpath/ExprResult.h 2001/07/28 02:02:15
> @@ -28,6 +28,8 @@
> #ifndef TRANSFRMX_EXPRRESULT_H
> #define TRANSFRMX_EXPRRESULT_H
>
> +using namespace std;
> +
> #include "TxObject.h"
> #include "primitives.h"
>
> Index: extensions/transformiix/source/xpath/FunctionLib.h
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xpath/FunctionLib.h,v
> retrieving revision 1.12
> diff -u -r1.12 FunctionLib.h
> --- extensions/transformiix/source/xpath/FunctionLib.h 2001/07/03 00:37:34 1.12
> +++ extensions/transformiix/source/xpath/FunctionLib.h 2001/07/28 02:02:15
> @@ -32,6 +32,7 @@
> #ifndef TRANSFRMX_FUNCTIONLIB_H
> #define TRANSFRMX_FUNCTIONLIB_H
>
> +using namespace std;
>
> #include "TxString.h"
> #include "primitives.h"
> Index: extensions/transformiix/source/xpath/NodeSet.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xpath/NodeSet.cpp,v
> retrieving revision 1.11
> diff -u -r1.11 NodeSet.cpp
> --- extensions/transformiix/source/xpath/NodeSet.cpp 2001/07/03 00:39:41 1.11
> +++ extensions/transformiix/source/xpath/NodeSet.cpp 2001/07/28 02:02:15
> @@ -29,6 +29,8 @@
> *
> */
>
> +using namespace std;
> +
> #include "NodeSet.h"
> #include "XMLDOMUtils.h"
> #ifdef TX_EXE
> Index: extensions/transformiix/source/xpath/XPathProcessor.h
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xpath/XPathProcessor.h,v
> retrieving revision 1.2
> diff -u -r1.2 XPathProcessor.h
> --- extensions/transformiix/source/xpath/XPathProcessor.h 2001/05/15 20:34:45 1.2
> +++ extensions/transformiix/source/xpath/XPathProcessor.h 2001/07/28 02:02:15
> @@ -26,6 +26,8 @@
> #ifndef XPathProcessor_h__
> #define XPathProcessor_h__
>
> +using namespace std;
> +
> #include "nsIXPathNodeSelector.h"
>
> /* e4172588-1dd1-11b2-bf09-ec309437245a */
> Index: extensions/transformiix/source/xpath/nsNodeSet.h
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xpath/nsNodeSet.h,v
> retrieving revision 1.4
> diff -u -r1.4 nsNodeSet.h
> --- extensions/transformiix/source/xpath/nsNodeSet.h 2001/05/21 03:11:25 1.4
> +++ extensions/transformiix/source/xpath/nsNodeSet.h 2001/07/28 02:02:15
> @@ -26,6 +26,8 @@
> #ifndef TRANSFRMX_NS_NODESET_H
> #define TRANSFRMX_NS_NODESET_H
>
> +using namespace std;
> +
> #include "NodeSet.h"
> #include "nsIDOMNodeList.h"
> #include "nsSupportsArray.h"
> Index: extensions/transformiix/source/xslt/Names.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xslt/Names.cpp,v
> retrieving revision 1.12
> diff -u -r1.12 Names.cpp
> --- extensions/transformiix/source/xslt/Names.cpp 2001/07/03 00:39:21 1.12
> +++ extensions/transformiix/source/xslt/Names.cpp 2001/07/28 02:02:15
> @@ -34,6 +34,8 @@
> * XSL names used throughout the XSLProcessor.
> * Probably should be wrapped in a Namespace
> **/
> +using namespace std;
> +
> #include "Names.h"
>
> //-- Global Strings
> Index: extensions/transformiix/source/xslt/Numbering.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xslt/Numbering.cpp,v
> retrieving revision 1.4
> diff -u -r1.4 Numbering.cpp
> --- extensions/transformiix/source/xslt/Numbering.cpp 2001/07/03 00:41:34 1.4
> +++ extensions/transformiix/source/xslt/Numbering.cpp 2001/07/28 02:02:15
> @@ -27,6 +27,8 @@
> * Numbering methods
> **/
>
> +using namespace std;
> +
> #include "Numbering.h"
> #include "Names.h"
>
> Index: extensions/transformiix/source/xslt/OutputFormat.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xslt/OutputFormat.cpp,v
> retrieving revision 1.2
> diff -u -r1.2 OutputFormat.cpp
> --- extensions/transformiix/source/xslt/OutputFormat.cpp 2001/07/03 00:41:53 1.2
> +++ extensions/transformiix/source/xslt/OutputFormat.cpp 2001/07/28 02:02:15
> @@ -21,6 +21,7 @@
> *
> */
>
> +using namespace std;
>
> #include "OutputFormat.h"
>
> Index: extensions/transformiix/source/xslt/ProcessorState.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xslt/ProcessorState.cpp,v
> retrieving revision 1.35
> diff -u -r1.35 ProcessorState.cpp
> --- extensions/transformiix/source/xslt/ProcessorState.cpp 2001/07/03 00:42:38 1.35
> +++ extensions/transformiix/source/xslt/ProcessorState.cpp 2001/07/28 02:02:15
> @@ -32,6 +32,8 @@
> * Much of this code was ported from XSL:P
> **/
>
> +using namespace std;
> +
> #include "ProcessorState.h"
> #include "XSLTFunctions.h"
> #include "FunctionLib.h"
> Index: extensions/transformiix/source/xslt/VariableBinding.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xslt/VariableBinding.cpp,v
> retrieving revision 1.2
> diff -u -r1.2 VariableBinding.cpp
> --- extensions/transformiix/source/xslt/VariableBinding.cpp 2001/07/03 00:45:39 1.2
> +++ extensions/transformiix/source/xslt/VariableBinding.cpp 2001/07/28 02:02:15
> @@ -22,6 +22,7 @@
> * -- original author.
> *
> */
> +using namespace std;
>
> #include "VariableBinding.h"
>
> Index: extensions/transformiix/source/xslt/util/NodeSorter.h
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xslt/util/NodeSorter.h,v
> retrieving revision 1.4
> diff -u -r1.4 NodeSorter.h
> --- extensions/transformiix/source/xslt/util/NodeSorter.h 2001/07/03 00:41:01 1.4
> +++ extensions/transformiix/source/xslt/util/NodeSorter.h 2001/07/28 02:02:15
> @@ -26,6 +26,8 @@
> #ifndef TRANSFRMX_NODESORTER_H
> #define TRANSFRMX_NODESORTER_H
>
> +using namespace std;
> +
> #include "TxString.h"
> #include "dom.h"
> #include "NodeSet.h"
> Index: extensions/transformiix/source/xslt/util/NodeStack.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/extensions/transformiix/source/xslt/util/NodeStack.cpp,v
> retrieving revision 1.7
> diff -u -r1.7 NodeStack.cpp
> --- extensions/transformiix/source/xslt/util/NodeStack.cpp 2001/07/03 00:41:08 1.7
> +++ extensions/transformiix/source/xslt/util/NodeStack.cpp 2001/07/28 02:02:15
> @@ -26,6 +26,8 @@
> *
> */
>
> +using namespace std;
> +
> #include "NodeStack.h"
> #ifdef TX_EXE
> #include <iostream.h>
> Index: js/src/xpconnect/src/xpcstring.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/js/src/xpconnect/src/xpcstring.cpp,v
> retrieving revision 1.5
> diff -u -r1.5 xpcstring.cpp
> --- js/src/xpconnect/src/xpcstring.cpp 2001/05/08 17:31:19 1.5
> +++ js/src/xpconnect/src/xpcstring.cpp 2001/07/28 02:02:16
> @@ -238,7 +238,7 @@
> handle = readable.GetSharedBufferHandle();
>
> JSString *str;
> - if (!handle || NS_REINTERPRET_CAST(int, handle) == 1)
> + if (!handle || NS_REINTERPRET_CAST(PRUptrdiff, handle) == 1)
> {
> // blech, have to copy.
> PRUint32 length = readable.Length();
> Index: nsprpub/pr/include/md/_linux.cfg
> ===================================================================
> RCS file: /cvsroot/mozilla/nsprpub/pr/include/md/_linux.cfg,v
> retrieving revision 3.8.2.1
> diff -u -r3.8.2.1 _linux.cfg
> --- nsprpub/pr/include/md/_linux.cfg 2000/07/29 01:01:57 3.8.2.1
> +++ nsprpub/pr/include/md/_linux.cfg 2001/07/28 02:02:16
> @@ -120,6 +120,52 @@
> #define PR_BYTES_PER_WORD_LOG2 3
> #define PR_BYTES_PER_DWORD_LOG2 3
>
> +#elif defined(__ia64__)
> +
> +#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
> +
> #elif defined(__mc68000__)
>
> #undef IS_LITTLE_ENDIAN
> Index: nsprpub/pr/include/md/_linux.h
> ===================================================================
> RCS file: /cvsroot/mozilla/nsprpub/pr/include/md/_linux.h,v
> retrieving revision 3.24.2.2
> diff -u -r3.24.2.2 _linux.h
> --- nsprpub/pr/include/md/_linux.h 2000/05/02 01:47:17 3.24.2.2
> +++ nsprpub/pr/include/md/_linux.h 2001/07/28 02:02:16
> @@ -31,6 +31,8 @@
> #define _PR_SI_ARCHITECTURE "ppc"
> #elif defined(__alpha)
> #define _PR_SI_ARCHITECTURE "alpha"
> +#elif defined(__ia64__)
> +#define _PR_SI_ARCHITECTURE "ia64"
> #elif defined(__mc68000__)
> #define _PR_SI_ARCHITECTURE "m68k"
> #elif defined(__sparc__)
> @@ -78,7 +80,7 @@
> #endif
> #undef _PR_USE_POLL
> #define _PR_STAT_HAS_ONLY_ST_ATIME
> -#if defined(__alpha)
> +#if defined(__alpha) || defined(__ia64__)
> #define _PR_HAVE_LARGE_OFF_T
> #else
> #define _PR_NO_LARGE_FILES
> @@ -141,6 +143,16 @@
>
> /* XXX not sure if this is correct, or maybe it should be 17? */
> #define PR_NUM_GCREGS 9
> +
> +#elif defined(__ia64)
> +
> +#define _MD_GET_SP(_t) ((long *)((_t)->md.context[0].__jmpbuf)[0])
> +#define _MD_SET_FP(_t, val)
> +#define _MD_GET_SP_PTR(_t) &(_MD_GET_SP(_t))
> +#define _MD_GET_FP_PTR(_t) ((void *) 0)
> +#define _MD_SP_TYPE long int
> +
> +#define PR_NUM_GCREGS _JBLEN
>
> #elif defined(__mc68000__)
> /* m68k based Linux */
> Index: rdf/base/src/nsInMemoryDataSource.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/rdf/base/src/nsInMemoryDataSource.cpp,v
> retrieving revision 1.57
> diff -u -r1.57 nsInMemoryDataSource.cpp
> --- rdf/base/src/nsInMemoryDataSource.cpp 2001/04/04 04:59:35 1.57
> +++ rdf/base/src/nsInMemoryDataSource.cpp 2001/07/28 02:02:16
> @@ -192,7 +192,7 @@
> static inline PLHashNumber PR_CALLBACK
> rdf_HashPointer(const void* key)
> {
> - return NS_REINTERPRET_CAST(PLHashNumber, key) >> 2;
> + return NS_REINTERPRET_CAST(PRUptrdiff, key) >> 2;
> }
>
> ////////////////////////////////////////////////////////////////////////
> Index: security/coreconf/Linux.mk
> ===================================================================
> RCS file: /cvsroot/mozilla/security/coreconf/Linux.mk,v
> retrieving revision 1.6
> diff -u -r1.6 Linux.mk
> --- security/coreconf/Linux.mk 2001/01/10 00:04:37 1.6
> +++ security/coreconf/Linux.mk 2001/07/28 02:02:16
> @@ -50,6 +50,10 @@
>
> DEFAULT_COMPILER = gcc
>
> +ifeq ($(OS_TEST),ia64)
> + OS_REL_CFLAGS = -D_XOPEN_SOURCE
> + CPU_ARCH = ia64
> +else
> ifeq ($(OS_TEST),ppc)
> OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE
> CPU_ARCH = ppc
> @@ -68,6 +72,7 @@
> else
> OS_REL_CFLAGS = -DLINUX1_2 -Di386 -D_XOPEN_SOURCE
> CPU_ARCH = x86
> +endif
> endif
> endif
> endif
> Index: string/public/nsPromiseConcatenation.h
> ===================================================================
> RCS file: /cvsroot/mozilla/string/public/nsPromiseConcatenation.h,v
> retrieving revision 1.2
> diff -u -r1.2 nsPromiseConcatenation.h
> --- string/public/nsPromiseConcatenation.h 2001/04/02 19:31:48 1.2
> +++ string/public/nsPromiseConcatenation.h 2001/07/28 02:02:17
> @@ -65,20 +65,20 @@
> int
> GetCurrentStringFromFragment( const nsReadableFragment<char_type>& aFragment ) const
> {
> - return (NS_REINTERPRET_CAST(PRUint32, aFragment.mFragmentIdentifier) & mFragmentIdentifierMask) ? kRightString : kLeftString;
> + return (NS_REINTERPRET_CAST(PRUptrdiff, aFragment.mFragmentIdentifier) & mFragmentIdentifierMask) ? kRightString : kLeftString;
> }
>
> int
> SetLeftStringInFragment( nsReadableFragment<char_type>& aFragment ) const
> {
> - aFragment.mFragmentIdentifier = NS_REINTERPRET_CAST(void*, NS_REINTERPRET_CAST(PRUint32, aFragment.mFragmentIdentifier) & ~mFragmentIdentifierMask);
> + aFragment.mFragmentIdentifier = NS_REINTERPRET_CAST(void*, NS_REINTERPRET_CAST(PRUptrdiff, aFragment.mFragmentIdentifier) & ~mFragmentIdentifierMask);
> return kLeftString;
> }
>
> int
> SetRightStringInFragment( nsReadableFragment<char_type>& aFragment ) const
> {
> - aFragment.mFragmentIdentifier = NS_REINTERPRET_CAST(void*, NS_REINTERPRET_CAST(PRUint32, aFragment.mFragmentIdentifier) | mFragmentIdentifierMask);
> + aFragment.mFragmentIdentifier = NS_REINTERPRET_CAST(void*, NS_REINTERPRET_CAST(PRUptrdiff, aFragment.mFragmentIdentifier) | mFragmentIdentifierMask);
> return kRightString;
> }
>
> @@ -142,20 +142,20 @@
> int
> GetCurrentStringFromFragment( const nsReadableFragment<char_type>& aFragment ) const
> {
> - return (NS_REINTERPRET_CAST(PRUint32, aFragment.mFragmentIdentifier) & mFragmentIdentifierMask) ? kRightString : kLeftString;
> + return (NS_REINTERPRET_CAST(PRUptrdiff, aFragment.mFragmentIdentifier) & mFragmentIdentifierMask) ? kRightString : kLeftString;
> }
>
> int
> SetLeftStringInFragment( nsReadableFragment<char_type>& aFragment ) const
> {
> - aFragment.mFragmentIdentifier = NS_REINTERPRET_CAST(void*, NS_REINTERPRET_CAST(PRUint32, aFragment.mFragmentIdentifier) & ~mFragmentIdentifierMask);
> + aFragment.mFragmentIdentifier = NS_REINTERPRET_CAST(void*, NS_REINTERPRET_CAST(PRUptrdiff, aFragment.mFragmentIdentifier) & ~mFragmentIdentifierMask);
> return kLeftString;
> }
>
> int
> SetRightStringInFragment( nsReadableFragment<char_type>& aFragment ) const
> {
> - aFragment.mFragmentIdentifier = NS_REINTERPRET_CAST(void*, NS_REINTERPRET_CAST(PRUint32, aFragment.mFragmentIdentifier) | mFragmentIdentifierMask);
> + aFragment.mFragmentIdentifier = NS_REINTERPRET_CAST(void*, NS_REINTERPRET_CAST(PRUptrdiff, aFragment.mFragmentIdentifier) | mFragmentIdentifierMask);
> return kRightString;
> }
>
> Index: xpcom/build/Makefile.in
> ===================================================================
> RCS file: /cvsroot/mozilla/xpcom/build/Makefile.in,v
> retrieving revision 1.29
> diff -u -r1.29 Makefile.in
> --- xpcom/build/Makefile.in 2001/07/11 13:45:34 1.29
> +++ xpcom/build/Makefile.in 2001/07/28 02:02:17
> @@ -63,6 +63,8 @@
> -I$(srcdir)/../proxy/src \
> $(NULL)
>
> +EXTRA_DSO_LDOPTS += -lffi # XXX fix me
> +
> ifdef MOZ_DEMANGLE_SYMBOLS
> EXTRA_DSO_LDOPTS += -liberty
> endif
> Index: xpcom/ds/nsStatistics.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/xpcom/ds/nsStatistics.cpp,v
> retrieving revision 1.5
> diff -u -r1.5 nsStatistics.cpp
> --- xpcom/ds/nsStatistics.cpp 2001/06/19 22:34:32 1.5
> +++ xpcom/ds/nsStatistics.cpp 2001/07/28 02:02:17
> @@ -72,7 +72,7 @@
> NS_REINTERPRET_CAST(const void*, aValue));
>
> if (hep && *hep) {
> - PRInt32 count = NS_REINTERPRET_CAST(PRUint32, (*hep)->value);
> + PRInt32 count = NS_REINTERPRET_CAST(PRUptrdiff, (*hep)->value);
> (*hep)->value = NS_REINTERPRET_CAST(void*, ++count);
> }
> else {
> @@ -92,7 +92,7 @@
> mTopic, mCount, mMinimum, mMaximum, mean, stddev);
>
> for (PRInt32 i = mMinimum; i <= mMaximum; ++i) {
> - PRUint32 count = NS_REINTERPRET_CAST(PRUint32, PL_HashTableLookup(mDistribution, NS_REINTERPRET_CAST(const void*, i)));
> + PRUint32 count = NS_REINTERPRET_CAST(PRUptrdiff, PL_HashTableLookup(mDistribution, NS_REINTERPRET_CAST(const void*, i)));
> if (! count)
> continue;
>
> Index: xpcom/proxy/tests/nsITestProxy.idl
> ===================================================================
> RCS file: /cvsroot/mozilla/xpcom/proxy/tests/nsITestProxy.idl,v
> retrieving revision 1.1
> diff -u -r1.1 nsITestProxy.idl
> --- xpcom/proxy/tests/nsITestProxy.idl 1999/06/10 20:24:15 1.1
> +++ xpcom/proxy/tests/nsITestProxy.idl 2001/07/28 02:02:17
> @@ -6,7 +6,7 @@
> [uuid(1979e980-1cfd-11d3-915e-0000863011c4)]
> interface nsITestProxy : nsISupports
> {
> - long Test(in long p1, in long p2);
> + long Test(in long long p1, in long p2);
> void Test2();
> void Test3(in nsISupports p1, out nsISupports p2);
> };
> Index: xpcom/reflect/xptcall/src/md/unix/Makefile.in
> ===================================================================
> RCS file: /cvsroot/mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in,v
> retrieving revision 1.52
> diff -u -r1.52 Makefile.in
> --- xpcom/reflect/xptcall/src/md/unix/Makefile.in 2001/06/18 22:10:25 1.52
> +++ xpcom/reflect/xptcall/src/md/unix/Makefile.in 2001/07/28 02:02:17
> @@ -40,6 +40,15 @@
> include $(topsrcdir)/config/config.mk
>
> ######################################################################
> +# ffi-based implementations
> +######################################################################
> +#
> +# Linux/ia64
> +#
> +#ifeq (ia64,$(findstring ia64,$(OS_TEST)))
> +CPPSRCS := xptcinvoke_ffi.cpp xptcstubs_ffi.cpp
> +#endif
> +######################################################################
> # i386 and beyond
> ######################################################################
> #
> @@ -292,3 +301,7 @@
> @rm -f $$HOME/xptcstubsdef_asm.vms
> endif
>
> +xptcstubs_ffi.o: xptcstubs_ffi_mangled.h
> +
> +xptcstubs_ffi_mangled.h: dummy.o
> + ./mk-mangled.sh dummy.o > $@
> Index: xpinstall/src/nsSoftwareUpdate.cpp
> ===================================================================
> RCS file: /cvsroot/mozilla/xpinstall/src/nsSoftwareUpdate.cpp,v
> retrieving revision 1.82
> diff -u -r1.82 nsSoftwareUpdate.cpp
> --- xpinstall/src/nsSoftwareUpdate.cpp 2001/05/23 01:21:04 1.82
> +++ xpinstall/src/nsSoftwareUpdate.cpp 2001/07/28 02:02:17
> @@ -91,7 +91,11 @@
> static NS_DEFINE_CID(kIProcessCID, NS_PROCESS_CID);
>
> nsSoftwareUpdate* nsSoftwareUpdate::mInstance = nsnull;
> +#if __GNUC__ == 3
> +nsCOMPtr<nsIFile> nsSoftwareUpdate::mProgramDir;
> +#else
> nsCOMPtr<nsIFile> nsSoftwareUpdate::mProgramDir = nsnull;
> +#endif
> char* nsSoftwareUpdate::mLogName = nsnull;
> PRBool nsSoftwareUpdate::mNeedCleanup = PR_FALSE;
>
Content-Description: mozilla-newstuff.diff
> --- /dev/null Sat Mar 24 01:35:12 2001
> +++ nsprpub/pr/src/md/unix/os_Linux_ia64.s Fri May 11 20:05:57 2001
> @@ -0,0 +1,80 @@
> +// -*- Mode: C++; tab-width: 4; 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 the Netscape security libraries.
> +//
> +// The Initial Developer of the Original Code is Netscape
> +// Communications Corporation. Portions created by Netscape are
> +// Copyright (C) 2000 Netscape Communications Corporation. All
> +// Rights Reserved.
> +//
> +// Contributor(s):
> +//
> +// Alternatively, the contents of this file may be used under the
> +// terms of the GNU General Public License Version 2 or later (the
> +// "GPL"), in which case the provisions of the GPL are applicable
> +// instead of those above. If you wish to allow use of your
> +// version of this file only under the terms of the GPL and not to
> +// allow others to use your version of this file under the MPL,
> +// indicate your decision by deleting the provisions above and
> +// replace them with the notice and other provisions required by
> +// the GPL. If you do not delete the provisions above, a recipient
> +// may use your version of this file under either the MPL or the
> +// GPL.
> +//
> +
> +.text
> + .align 16
> + .global _PR_ia64_AtomicIncrement
> + .proc _PR_ia64_AtomicIncrement
> +_PR_ia64_AtomicIncrement:
> + fetchadd4.acq r8 = [r32], 1
> + ;;
> + adds r8 = 1, r8
> + br.ret.sptk.many b0
> + .endp _PR_ia64_AtomicIncrement
> +//
> + .align 16
> + .global _PR_ia64_AtomicDecrement
> + .proc _PR_ia64_AtomicDecrement
> +_PR_ia64_AtomicDecrement:
> + fetchadd4.rel r8 = [r32], -1
> + ;;
> + adds r8 = -1, r8
> + br.ret.sptk.many b0
> + .endp _PR_ia64_AtomicDecrement
> +//
> + .align 16
> + .global _PR_ia64_AtomicAdd
> + .proc _PR_ia64_AtomicAdd
> +_PR_ia64_AtomicAdd:
> + ld4 r15 = [r32]
> + ;;
> +.L3:
> + mov r14 = r15
> + mov ar.ccv = r15
> + add r8 = r15, r33
> + ;;
> + cmpxchg4.acq r15 = [r32], r8, ar.ccv
> + ;;
> + cmp4.ne p6, p7 = r15, r14
> + (p6) br.cond.dptk .L3
> + br.ret.sptk.many b0
> + .endp _PR_ia64_AtomicAdd
> +//
> + .align 16
> + .global _PR_ia64_AtomicSet
> + .proc _PR_ia64_AtomicSet
> +_PR_ia64_AtomicSet:
> + xchg4 r8 = [r32], r33
> + br.ret.sptk.many b0
> + .endp _PR_ia64_AtomicSet
> --- /dev/null Sat Mar 24 01:35:12 2001
> +++ xpcom/reflect/xptcall/src/md/unix/xptcstubs_ffi.cpp Thu Jun 7 23:21:18 2001
> @@ -0,0 +1,175 @@
> +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
> + *
> + * The contents of this file are subject to the Netscape Public
> + * License Version 1.1 (the "License"); you may not use this file
> + * except in compliance with the License. You may obtain a copy of
> + * the License at http://www.mozilla.org/NPL/
> + *
> + * Software distributed under the License is distributed on an "AS
> + * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
> + * implied. See the License for the specific language governing
> + * rights and limitations under the License.
> + *
> + * The Original Code is mozilla.org code.
> + *
> + * The Initial Developer of the Original Code is Netscape
> + * Communications Corporation. Portions created by Netscape are
> + * Copyright (C) 1999 Netscape Communications Corporation. All
> + * Rights Reserved.
> + *
> + * This file is Copyright (C) 2001 Hewlett-Packard Co. All Rights
> + * Reserved.
> + *
> + * Contributor(s):
> + */
> +
> +/* Implement shared vtbl methods. This implementation should be
> + completely portable except for the mangled name of the stub
> + routines. */
> +
> +/* contributed by David Mosberger <davidm@hpl.hp.com> */
> +
> +#include <alloca.h>
> +#include <ffi.h>
> +
> +#include "xptcprivate.h"
> +
> +#include "xptcstubs_ffi_mangled.h"
> +
> +#define MANGLED_STUB_NAME(n) MANGLED_STUB_NAME##n
> +
> +static ffi_type *stub_common_arg_types[1] = { &ffi_type_pointer };
> +static ffi_cif stub_common_cif;
> +
> +static void
> +get_incoming_args (PRUint32 n, void *raw_args, const nsXPTMethodInfo* info,
> + nsXPTCMiniVariant *p)
> +{
> + ffi_type **arg_types, *t = 0;
> + ffi_status status;
> + ffi_cif cif;
> + void **args;
> + PRUintn i;
> +
> + /* create the cif (could be cached): */
> + arg_types = (ffi_type **) alloca ((n + 1) * sizeof (arg_types[0]));
> + arg_types[0] = &ffi_type_pointer; /* implicit "this" argument */
> + for (i = 0; i < n; ++i) {
> + const nsXPTParamInfo& param = info->GetParam(i);
> + const nsXPTType& type = param.GetType();
> +
> + if (param.IsOut() || !type.IsArithmetic()) {
> + arg_types[i + 1] = &ffi_type_pointer;
> + continue;
> + }
> + switch (type) {
> + case nsXPTType::T_I8 : t = &ffi_type_sint8; break;
> + case nsXPTType::T_I16: t = &ffi_type_sint16; break;
> + case nsXPTType::T_I32: t = &ffi_type_sint32; break;
> + case nsXPTType::T_I64: t = &ffi_type_sint64; break;
> + case nsXPTType::T_U8 : t = &ffi_type_uint8; break;
> + case nsXPTType::T_U16: t = &ffi_type_uint16; break;
> + case nsXPTType::T_U32: t = &ffi_type_uint32; break;
> + case nsXPTType::T_U64: t = &ffi_type_uint64; break;
> + case nsXPTType::T_FLOAT: t = &ffi_type_float; break;
> + case nsXPTType::T_DOUBLE: t = &ffi_type_double; break;
> + case nsXPTType::T_BOOL: t = &ffi_type_sint32; break;
> + case nsXPTType::T_CHAR: t = &ffi_type_schar; break;
> + case nsXPTType::T_WCHAR: t = &ffi_type_uint32; break;
> +
> + default:
> + NS_ASSERTION(0, "bad type");
> + break;
> + }
> + arg_types[i + 1] = t;
> + }
> + status = ffi_prep_cif(&cif, FFI_DEFAULT_ABI, n + 1, &ffi_type_uint32,
> + arg_types);
> + NS_ASSERTION(status == FFI_OK, "status == FFI_OK");
> +
> + /* extract the arguments: */
> + args = (void **) alloca((n + 1) * sizeof (args[0]));
> + ffi_prep_incoming_args(&cif, raw_args, args);
> +
> + /* fill in the parameter vector: */
> +
> + for (i = 0; i < n; ++i) {
> +# define CVT(nst,field,type) \
> + case FFI_TYPE_##nst: p[i].val.field = *(type *) args[i + 1]; break;
> + switch (arg_types[i + 1]->type) {
> + CVT(SINT8, i8, PRInt8);
> + CVT(SINT16, i16, PRInt16);
> + CVT(SINT32, i32, PRInt32);
> + CVT(SINT64, i64, PRInt64);
> + CVT(UINT8, u8, PRUint8);
> + CVT(UINT16, u16, PRUint16);
> + CVT(UINT32, u32, PRUint32);
> + CVT(UINT64, u64, PRUint64);
> + CVT(FLOAT, u32, PRUint32);
> + CVT(DOUBLE, u64, PRUint64);
> + CVT(POINTER, p, void *);
> + default:
> + NS_ASSERTION(0, "unexpected ffi type");
> + break;
> + }
> + }
> +}
> +
> +static void xptc_dispatch (ffi_cif *, void *, void **, void *, void *)
> + __asm__("xptc_dispatch") __attribute__((unused));
> +
> +static void
> +xptc_dispatch (ffi_cif *common_cif, void *retp, void **common_args,
> + void *user_data, void *raw_args)
> +{
> + uint32 method_index = (long) user_data;
> + nsIInterfaceInfo* iface_info = NULL;
> + const nsXPTMethodInfo* info;
> + nsXPTCMiniVariant *params;
> + nsXPTCStubBase *self;
> + PRUint8 param_count;
> +
> + self = *(nsXPTCStubBase **) common_args[0];
> +
> + NS_ASSERTION(self, "no self");
> +
> + self->GetInterfaceInfo (&iface_info);
> + NS_ASSERTION(iface_info,"no interface info");
> +
> + iface_info->GetMethodInfo (PRUint16(method_index), &info);
> + NS_ASSERTION(info,"no interface info");
> +
> + param_count = info->GetParamCount ();
> + params = (nsXPTCMiniVariant *) alloca (param_count * sizeof (params[0]));
> + get_incoming_args (param_count, raw_args, info, params);
> +
> + *(nsresult *) retp = self->CallMethod ((PRUint16)method_index, info,
> + params);
> +
> + NS_RELEASE(iface_info);
> +}
> +
> +static class init {
> + public:
> + init (void) {
> + ffi_prep_cif(&stub_common_cif, FFI_DEFAULT_ABI, 1, &ffi_type_pointer,
> + stub_common_arg_types);
> + }
> +} initializer;
> +
> +#define _STUB(name,arg) \
> + FFI_STATIC_CLOSURE(name, stub_common_cif, xptc_dispatch, arg);
> +
> +/*
> + * nsresult nsXPTCStubBase::Stub##n()
> + */
> +#define STUB_ENTRY(n) _STUB(MANGLED_STUB_NAME(n), n)
> +
> +#define SENTINEL_ENTRY(n) \
> +nsresult nsXPTCStubBase::Sentinel##n() \
> +{ \
> + NS_ASSERTION(0,"nsXPTCStubBase::Sentinel called"); \
> + return NS_ERROR_NOT_IMPLEMENTED; \
> +}
> +
> +#include "xptcstubsdef.inc"
> --- /dev/null Sat Mar 24 01:35:12 2001
> +++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ffi.cpp Wed May 23 19:06:54 2001
> @@ -0,0 +1,107 @@
> +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
> + *
> + * The contents of this file are subject to the Netscape Public
> + * License Version 1.1 (the "License"); you may not use this file
> + * except in compliance with the License. You may obtain a copy of
> + * the License at http://www.mozilla.org/NPL/
> + *
> + * Software distributed under the License is distributed on an "AS
> + * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
> + * implied. See the License for the specific language governing
> + * rights and limitations under the License.
> + *
> + * The Original Code is mozilla.org code.
> + *
> + * The Initial Developer of the Original Code is Netscape
> + * Communications Corporation. Portions created by Netscape are
> + * Copyright (C) 1999 Netscape Communications Corporation. All
> + * Rights Reserved.
> + *
> + * This file is Copyright (C) 2001 Hewlett-Packard Co. All Rights
> + * Reserved.
> + *
> + * Contributor(s):
> + */
> +
> +/* Platform specific code to invoke XPCOM methods on native objects */
> +
> +/* contributed by David Mosberger <davidm@hpl.hp.com> */
> +
> +#include <alloca.h>
> +#include <ffi.h>
> +
> +#include "xptcprivate.h"
> +
> +static void
> +convert_args (PRUint32 n, nsXPTCVariant *params,
> + ffi_type **arg_types, void **args)
> +{
> + ffi_type *t;
> + PRUint64 i;
> + void *v;
> +# define CVT(nst,ffit,field) \
> + case nsXPTType::nst: \
> + t = &ffit; v = ¶ms[i].val.field; break;
> +
> + for (i = 0; i < n; ++i) {
> + if (params[i].IsPtrData()) {
> + arg_types[i] = &ffi_type_pointer;
> + args[i] = ¶ms[i].ptr;
> + continue;
> + }
> + switch (params[i].type) {
> + CVT(T_I8, ffi_type_sint8, i8);
> + CVT(T_I16, ffi_type_sint16, i16);
> + CVT(T_I32, ffi_type_sint32, i32);
> + CVT(T_I64, ffi_type_sint64, i64);
> + CVT(T_U8, ffi_type_uint8, u8);
> + CVT(T_U16, ffi_type_uint16, u16);
> + CVT(T_U32, ffi_type_uint32, u32);
> + CVT(T_U64, ffi_type_uint64, u64);
> + CVT(T_FLOAT, ffi_type_float, f);
> + CVT(T_DOUBLE, ffi_type_double, u64);
> + CVT(T_BOOL, ffi_type_sint32, b);
> + CVT(T_CHAR, ffi_type_schar, c);
> + CVT(T_WCHAR, ffi_type_uint32, wc);
> + default:
> + // all the others are plain pointer types
> + t = &ffi_type_pointer;
> + v = ¶ms[i].val.p;
> + break;
> + }
> + arg_types[i] = t;
> + args[i] = v;
> + }
> +}
> +
> +XPTC_PUBLIC_API(nsresult)
> +XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
> + PRUint32 paramCount, nsXPTCVariant* params)
> +{
> + struct vtable {
> +#if __GNUC__ < 3
> + long offset; /* offset to beginning of object */
> + unsigned long rtti; /* address of run-time type info */
> +#endif
> + void (*methods[1]) (); /* method table (variable length) */
> + } *vtable = *(struct vtable **) that;
> + ffi_type **arg_types;
> + void **args;
> + ffi_status status;
> + ffi_cif cif;
> + nsresult result;
> +
> + arg_types = (ffi_type **) alloca((paramCount + 1) * sizeof (arg_types[0]));
> + args = (void **) alloca((paramCount + 1) * sizeof (args[0]));
> +
> + arg_types[0] = &ffi_type_pointer;
> + args[0] = &that;
> + convert_args(paramCount, params, arg_types + 1, args + 1);
> + status = ffi_prep_cif(&cif, FFI_DEFAULT_ABI, paramCount + 1,
> + &ffi_type_uint32, arg_types);
> + if (status != FFI_OK)
> + return NS_ERROR_INVALID_ARG;
> +
> + ffi_call (&cif, vtable->methods[methodIndex], &result, args);
> + return result;
> +}
> --- /dev/null Sat Mar 24 01:35:12 2001
> +++ xpcom/reflect/xptcall/src/md/unix/mk-mangled.sh Sun May 27 12:07:25 2001
> @@ -0,0 +1,8 @@
> +#!/bin/sh
> +file=$1
> +nm $file | grep XPTCStubBase | grep 'Stub[0-9]' | rev | cut -f1 -d' ' | rev | (
> + while read name; do
> + n=`expr $name : '.*Stub\([0-9][0-9]*\)'`
> + echo "#define MANGLED_STUB_NAME${n} ${name}"
> + done
> +)
> --- /dev/null Sat Mar 24 01:35:12 2001
> +++ xpcom/reflect/xptcall/src/md/unix/dummy.cpp Wed May 23 16:25:48 2001
> @@ -0,0 +1,6 @@
> +#include "xptcprivate.h"
> +
> +#define STUB_ENTRY(n) nsresult nsXPTCStubBase::Stub##n() { return 0; }
> +#define SENTINEL_ENTRY(n)
> +
> +#include "xptcstubsdef.inc"
> --- /dev/null Sat Mar 24 01:35:12 2001
> +++ xpcom/reflect/xptcall/src/md/unix/xptcstubs_ffi_mangled.h Mon Jun 18 16:21:54 2001
> @@ -0,0 +1,247 @@
> +#define MANGLED_STUB_NAME3 _ZN14nsXPTCStubBase5Stub3Ev
> +#define MANGLED_STUB_NAME4 _ZN14nsXPTCStubBase5Stub4Ev
> +#define MANGLED_STUB_NAME5 _ZN14nsXPTCStubBase5Stub5Ev
> +#define MANGLED_STUB_NAME6 _ZN14nsXPTCStubBase5Stub6Ev
> +#define MANGLED_STUB_NAME7 _ZN14nsXPTCStubBase5Stub7Ev
> +#define MANGLED_STUB_NAME8 _ZN14nsXPTCStubBase5Stub8Ev
> +#define MANGLED_STUB_NAME9 _ZN14nsXPTCStubBase5Stub9Ev
> +#define MANGLED_STUB_NAME10 _ZN14nsXPTCStubBase6Stub10Ev
> +#define MANGLED_STUB_NAME11 _ZN14nsXPTCStubBase6Stub11Ev
> +#define MANGLED_STUB_NAME12 _ZN14nsXPTCStubBase6Stub12Ev
> +#define MANGLED_STUB_NAME13 _ZN14nsXPTCStubBase6Stub13Ev
> +#define MANGLED_STUB_NAME14 _ZN14nsXPTCStubBase6Stub14Ev
> +#define MANGLED_STUB_NAME15 _ZN14nsXPTCStubBase6Stub15Ev
> +#define MANGLED_STUB_NAME16 _ZN14nsXPTCStubBase6Stub16Ev
> +#define MANGLED_STUB_NAME17 _ZN14nsXPTCStubBase6Stub17Ev
> +#define MANGLED_STUB_NAME18 _ZN14nsXPTCStubBase6Stub18Ev
> +#define MANGLED_STUB_NAME19 _ZN14nsXPTCStubBase6Stub19Ev
> +#define MANGLED_STUB_NAME20 _ZN14nsXPTCStubBase6Stub20Ev
> +#define MANGLED_STUB_NAME21 _ZN14nsXPTCStubBase6Stub21Ev
> +#define MANGLED_STUB_NAME22 _ZN14nsXPTCStubBase6Stub22Ev
> +#define MANGLED_STUB_NAME23 _ZN14nsXPTCStubBase6Stub23Ev
> +#define MANGLED_STUB_NAME24 _ZN14nsXPTCStubBase6Stub24Ev
> +#define MANGLED_STUB_NAME25 _ZN14nsXPTCStubBase6Stub25Ev
> +#define MANGLED_STUB_NAME26 _ZN14nsXPTCStubBase6Stub26Ev
> +#define MANGLED_STUB_NAME27 _ZN14nsXPTCStubBase6Stub27Ev
> +#define MANGLED_STUB_NAME28 _ZN14nsXPTCStubBase6Stub28Ev
> +#define MANGLED_STUB_NAME29 _ZN14nsXPTCStubBase6Stub29Ev
> +#define MANGLED_STUB_NAME30 _ZN14nsXPTCStubBase6Stub30Ev
> +#define MANGLED_STUB_NAME31 _ZN14nsXPTCStubBase6Stub31Ev
> +#define MANGLED_STUB_NAME32 _ZN14nsXPTCStubBase6Stub32Ev
> +#define MANGLED_STUB_NAME33 _ZN14nsXPTCStubBase6Stub33Ev
> +#define MANGLED_STUB_NAME34 _ZN14nsXPTCStubBase6Stub34Ev
> +#define MANGLED_STUB_NAME35 _ZN14nsXPTCStubBase6Stub35Ev
> +#define MANGLED_STUB_NAME36 _ZN14nsXPTCStubBase6Stub36Ev
> +#define MANGLED_STUB_NAME37 _ZN14nsXPTCStubBase6Stub37Ev
> +#define MANGLED_STUB_NAME38 _ZN14nsXPTCStubBase6Stub38Ev
> +#define MANGLED_STUB_NAME39 _ZN14nsXPTCStubBase6Stub39Ev
> +#define MANGLED_STUB_NAME40 _ZN14nsXPTCStubBase6Stub40Ev
> +#define MANGLED_STUB_NAME41 _ZN14nsXPTCStubBase6Stub41Ev
> +#define MANGLED_STUB_NAME42 _ZN14nsXPTCStubBase6Stub42Ev
> +#define MANGLED_STUB_NAME43 _ZN14nsXPTCStubBase6Stub43Ev
> +#define MANGLED_STUB_NAME44 _ZN14nsXPTCStubBase6Stub44Ev
> +#define MANGLED_STUB_NAME45 _ZN14nsXPTCStubBase6Stub45Ev
> +#define MANGLED_STUB_NAME46 _ZN14nsXPTCStubBase6Stub46Ev
> +#define MANGLED_STUB_NAME47 _ZN14nsXPTCStubBase6Stub47Ev
> +#define MANGLED_STUB_NAME48 _ZN14nsXPTCStubBase6Stub48Ev
> +#define MANGLED_STUB_NAME49 _ZN14nsXPTCStubBase6Stub49Ev
> +#define MANGLED_STUB_NAME50 _ZN14nsXPTCStubBase6Stub50Ev
> +#define MANGLED_STUB_NAME51 _ZN14nsXPTCStubBase6Stub51Ev
> +#define MANGLED_STUB_NAME52 _ZN14nsXPTCStubBase6Stub52Ev
> +#define MANGLED_STUB_NAME53 _ZN14nsXPTCStubBase6Stub53Ev
> +#define MANGLED_STUB_NAME54 _ZN14nsXPTCStubBase6Stub54Ev
> +#define MANGLED_STUB_NAME55 _ZN14nsXPTCStubBase6Stub55Ev
> +#define MANGLED_STUB_NAME56 _ZN14nsXPTCStubBase6Stub56Ev
> +#define MANGLED_STUB_NAME57 _ZN14nsXPTCStubBase6Stub57Ev
> +#define MANGLED_STUB_NAME58 _ZN14nsXPTCStubBase6Stub58Ev
> +#define MANGLED_STUB_NAME59 _ZN14nsXPTCStubBase6Stub59Ev
> +#define MANGLED_STUB_NAME60 _ZN14nsXPTCStubBase6Stub60Ev
> +#define MANGLED_STUB_NAME61 _ZN14nsXPTCStubBase6Stub61Ev
> +#define MANGLED_STUB_NAME62 _ZN14nsXPTCStubBase6Stub62Ev
> +#define MANGLED_STUB_NAME63 _ZN14nsXPTCStubBase6Stub63Ev
> +#define MANGLED_STUB_NAME64 _ZN14nsXPTCStubBase6Stub64Ev
> +#define MANGLED_STUB_NAME65 _ZN14nsXPTCStubBase6Stub65Ev
> +#define MANGLED_STUB_NAME66 _ZN14nsXPTCStubBase6Stub66Ev
> +#define MANGLED_STUB_NAME67 _ZN14nsXPTCStubBase6Stub67Ev
> +#define MANGLED_STUB_NAME68 _ZN14nsXPTCStubBase6Stub68Ev
> +#define MANGLED_STUB_NAME69 _ZN14nsXPTCStubBase6Stub69Ev
> +#define MANGLED_STUB_NAME70 _ZN14nsXPTCStubBase6Stub70Ev
> +#define MANGLED_STUB_NAME71 _ZN14nsXPTCStubBase6Stub71Ev
> +#define MANGLED_STUB_NAME72 _ZN14nsXPTCStubBase6Stub72Ev
> +#define MANGLED_STUB_NAME73 _ZN14nsXPTCStubBase6Stub73Ev
> +#define MANGLED_STUB_NAME74 _ZN14nsXPTCStubBase6Stub74Ev
> +#define MANGLED_STUB_NAME75 _ZN14nsXPTCStubBase6Stub75Ev
> +#define MANGLED_STUB_NAME76 _ZN14nsXPTCStubBase6Stub76Ev
> +#define MANGLED_STUB_NAME77 _ZN14nsXPTCStubBase6Stub77Ev
> +#define MANGLED_STUB_NAME78 _ZN14nsXPTCStubBase6Stub78Ev
> +#define MANGLED_STUB_NAME79 _ZN14nsXPTCStubBase6Stub79Ev
> +#define MANGLED_STUB_NAME80 _ZN14nsXPTCStubBase6Stub80Ev
> +#define MANGLED_STUB_NAME81 _ZN14nsXPTCStubBase6Stub81Ev
> +#define MANGLED_STUB_NAME82 _ZN14nsXPTCStubBase6Stub82Ev
> +#define MANGLED_STUB_NAME83 _ZN14nsXPTCStubBase6Stub83Ev
> +#define MANGLED_STUB_NAME84 _ZN14nsXPTCStubBase6Stub84Ev
> +#define MANGLED_STUB_NAME85 _ZN14nsXPTCStubBase6Stub85Ev
> +#define MANGLED_STUB_NAME86 _ZN14nsXPTCStubBase6Stub86Ev
> +#define MANGLED_STUB_NAME87 _ZN14nsXPTCStubBase6Stub87Ev
> +#define MANGLED_STUB_NAME88 _ZN14nsXPTCStubBase6Stub88Ev
> +#define MANGLED_STUB_NAME89 _ZN14nsXPTCStubBase6Stub89Ev
> +#define MANGLED_STUB_NAME90 _ZN14nsXPTCStubBase6Stub90Ev
> +#define MANGLED_STUB_NAME91 _ZN14nsXPTCStubBase6Stub91Ev
> +#define MANGLED_STUB_NAME92 _ZN14nsXPTCStubBase6Stub92Ev
> +#define MANGLED_STUB_NAME93 _ZN14nsXPTCStubBase6Stub93Ev
> +#define MANGLED_STUB_NAME94 _ZN14nsXPTCStubBase6Stub94Ev
> +#define MANGLED_STUB_NAME95 _ZN14nsXPTCStubBase6Stub95Ev
> +#define MANGLED_STUB_NAME96 _ZN14nsXPTCStubBase6Stub96Ev
> +#define MANGLED_STUB_NAME97 _ZN14nsXPTCStubBase6Stub97Ev
> +#define MANGLED_STUB_NAME98 _ZN14nsXPTCStubBase6Stub98Ev
> +#define MANGLED_STUB_NAME99 _ZN14nsXPTCStubBase6Stub99Ev
> +#define MANGLED_STUB_NAME100 _ZN14nsXPTCStubBase7Stub100Ev
> +#define MANGLED_STUB_NAME101 _ZN14nsXPTCStubBase7Stub101Ev
> +#define MANGLED_STUB_NAME102 _ZN14nsXPTCStubBase7Stub102Ev
> +#define MANGLED_STUB_NAME103 _ZN14nsXPTCStubBase7Stub103Ev
> +#define MANGLED_STUB_NAME104 _ZN14nsXPTCStubBase7Stub104Ev
> +#define MANGLED_STUB_NAME105 _ZN14nsXPTCStubBase7Stub105Ev
> +#define MANGLED_STUB_NAME106 _ZN14nsXPTCStubBase7Stub106Ev
> +#define MANGLED_STUB_NAME107 _ZN14nsXPTCStubBase7Stub107Ev
> +#define MANGLED_STUB_NAME108 _ZN14nsXPTCStubBase7Stub108Ev
> +#define MANGLED_STUB_NAME109 _ZN14nsXPTCStubBase7Stub109Ev
> +#define MANGLED_STUB_NAME110 _ZN14nsXPTCStubBase7Stub110Ev
> +#define MANGLED_STUB_NAME111 _ZN14nsXPTCStubBase7Stub111Ev
> +#define MANGLED_STUB_NAME112 _ZN14nsXPTCStubBase7Stub112Ev
> +#define MANGLED_STUB_NAME113 _ZN14nsXPTCStubBase7Stub113Ev
> +#define MANGLED_STUB_NAME114 _ZN14nsXPTCStubBase7Stub114Ev
> +#define MANGLED_STUB_NAME115 _ZN14nsXPTCStubBase7Stub115Ev
> +#define MANGLED_STUB_NAME116 _ZN14nsXPTCStubBase7Stub116Ev
> +#define MANGLED_STUB_NAME117 _ZN14nsXPTCStubBase7Stub117Ev
> +#define MANGLED_STUB_NAME118 _ZN14nsXPTCStubBase7Stub118Ev
> +#define MANGLED_STUB_NAME119 _ZN14nsXPTCStubBase7Stub119Ev
> +#define MANGLED_STUB_NAME120 _ZN14nsXPTCStubBase7Stub120Ev
> +#define MANGLED_STUB_NAME121 _ZN14nsXPTCStubBase7Stub121Ev
> +#define MANGLED_STUB_NAME122 _ZN14nsXPTCStubBase7Stub122Ev
> +#define MANGLED_STUB_NAME123 _ZN14nsXPTCStubBase7Stub123Ev
> +#define MANGLED_STUB_NAME124 _ZN14nsXPTCStubBase7Stub124Ev
> +#define MANGLED_STUB_NAME125 _ZN14nsXPTCStubBase7Stub125Ev
> +#define MANGLED_STUB_NAME126 _ZN14nsXPTCStubBase7Stub126Ev
> +#define MANGLED_STUB_NAME127 _ZN14nsXPTCStubBase7Stub127Ev
> +#define MANGLED_STUB_NAME128 _ZN14nsXPTCStubBase7Stub128Ev
> +#define MANGLED_STUB_NAME129 _ZN14nsXPTCStubBase7Stub129Ev
> +#define MANGLED_STUB_NAME130 _ZN14nsXPTCStubBase7Stub130Ev
> +#define MANGLED_STUB_NAME131 _ZN14nsXPTCStubBase7Stub131Ev
> +#define MANGLED_STUB_NAME132 _ZN14nsXPTCStubBase7Stub132Ev
> +#define MANGLED_STUB_NAME133 _ZN14nsXPTCStubBase7Stub133Ev
> +#define MANGLED_STUB_NAME134 _ZN14nsXPTCStubBase7Stub134Ev
> +#define MANGLED_STUB_NAME135 _ZN14nsXPTCStubBase7Stub135Ev
> +#define MANGLED_STUB_NAME136 _ZN14nsXPTCStubBase7Stub136Ev
> +#define MANGLED_STUB_NAME137 _ZN14nsXPTCStubBase7Stub137Ev
> +#define MANGLED_STUB_NAME138 _ZN14nsXPTCStubBase7Stub138Ev
> +#define MANGLED_STUB_NAME139 _ZN14nsXPTCStubBase7Stub139Ev
> +#define MANGLED_STUB_NAME140 _ZN14nsXPTCStubBase7Stub140Ev
> +#define MANGLED_STUB_NAME141 _ZN14nsXPTCStubBase7Stub141Ev
> +#define MANGLED_STUB_NAME142 _ZN14nsXPTCStubBase7Stub142Ev
> +#define MANGLED_STUB_NAME143 _ZN14nsXPTCStubBase7Stub143Ev
> +#define MANGLED_STUB_NAME144 _ZN14nsXPTCStubBase7Stub144Ev
> +#define MANGLED_STUB_NAME145 _ZN14nsXPTCStubBase7Stub145Ev
> +#define MANGLED_STUB_NAME146 _ZN14nsXPTCStubBase7Stub146Ev
> +#define MANGLED_STUB_NAME147 _ZN14nsXPTCStubBase7Stub147Ev
> +#define MANGLED_STUB_NAME148 _ZN14nsXPTCStubBase7Stub148Ev
> +#define MANGLED_STUB_NAME149 _ZN14nsXPTCStubBase7Stub149Ev
> +#define MANGLED_STUB_NAME150 _ZN14nsXPTCStubBase7Stub150Ev
> +#define MANGLED_STUB_NAME151 _ZN14nsXPTCStubBase7Stub151Ev
> +#define MANGLED_STUB_NAME152 _ZN14nsXPTCStubBase7Stub152Ev
> +#define MANGLED_STUB_NAME153 _ZN14nsXPTCStubBase7Stub153Ev
> +#define MANGLED_STUB_NAME154 _ZN14nsXPTCStubBase7Stub154Ev
> +#define MANGLED_STUB_NAME155 _ZN14nsXPTCStubBase7Stub155Ev
> +#define MANGLED_STUB_NAME156 _ZN14nsXPTCStubBase7Stub156Ev
> +#define MANGLED_STUB_NAME157 _ZN14nsXPTCStubBase7Stub157Ev
> +#define MANGLED_STUB_NAME158 _ZN14nsXPTCStubBase7Stub158Ev
> +#define MANGLED_STUB_NAME159 _ZN14nsXPTCStubBase7Stub159Ev
> +#define MANGLED_STUB_NAME160 _ZN14nsXPTCStubBase7Stub160Ev
> +#define MANGLED_STUB_NAME161 _ZN14nsXPTCStubBase7Stub161Ev
> +#define MANGLED_STUB_NAME162 _ZN14nsXPTCStubBase7Stub162Ev
> +#define MANGLED_STUB_NAME163 _ZN14nsXPTCStubBase7Stub163Ev
> +#define MANGLED_STUB_NAME164 _ZN14nsXPTCStubBase7Stub164Ev
> +#define MANGLED_STUB_NAME165 _ZN14nsXPTCStubBase7Stub165Ev
> +#define MANGLED_STUB_NAME166 _ZN14nsXPTCStubBase7Stub166Ev
> +#define MANGLED_STUB_NAME167 _ZN14nsXPTCStubBase7Stub167Ev
> +#define MANGLED_STUB_NAME168 _ZN14nsXPTCStubBase7Stub168Ev
> +#define MANGLED_STUB_NAME169 _ZN14nsXPTCStubBase7Stub169Ev
> +#define MANGLED_STUB_NAME170 _ZN14nsXPTCStubBase7Stub170Ev
> +#define MANGLED_STUB_NAME171 _ZN14nsXPTCStubBase7Stub171Ev
> +#define MANGLED_STUB_NAME172 _ZN14nsXPTCStubBase7Stub172Ev
> +#define MANGLED_STUB_NAME173 _ZN14nsXPTCStubBase7Stub173Ev
> +#define MANGLED_STUB_NAME174 _ZN14nsXPTCStubBase7Stub174Ev
> +#define MANGLED_STUB_NAME175 _ZN14nsXPTCStubBase7Stub175Ev
> +#define MANGLED_STUB_NAME176 _ZN14nsXPTCStubBase7Stub176Ev
> +#define MANGLED_STUB_NAME177 _ZN14nsXPTCStubBase7Stub177Ev
> +#define MANGLED_STUB_NAME178 _ZN14nsXPTCStubBase7Stub178Ev
> +#define MANGLED_STUB_NAME179 _ZN14nsXPTCStubBase7Stub179Ev
> +#define MANGLED_STUB_NAME180 _ZN14nsXPTCStubBase7Stub180Ev
> +#define MANGLED_STUB_NAME181 _ZN14nsXPTCStubBase7Stub181Ev
> +#define MANGLED_STUB_NAME182 _ZN14nsXPTCStubBase7Stub182Ev
> +#define MANGLED_STUB_NAME183 _ZN14nsXPTCStubBase7Stub183Ev
> +#define MANGLED_STUB_NAME184 _ZN14nsXPTCStubBase7Stub184Ev
> +#define MANGLED_STUB_NAME185 _ZN14nsXPTCStubBase7Stub185Ev
> +#define MANGLED_STUB_NAME186 _ZN14nsXPTCStubBase7Stub186Ev
> +#define MANGLED_STUB_NAME187 _ZN14nsXPTCStubBase7Stub187Ev
> +#define MANGLED_STUB_NAME188 _ZN14nsXPTCStubBase7Stub188Ev
> +#define MANGLED_STUB_NAME189 _ZN14nsXPTCStubBase7Stub189Ev
> +#define MANGLED_STUB_NAME190 _ZN14nsXPTCStubBase7Stub190Ev
> +#define MANGLED_STUB_NAME191 _ZN14nsXPTCStubBase7Stub191Ev
> +#define MANGLED_STUB_NAME192 _ZN14nsXPTCStubBase7Stub192Ev
> +#define MANGLED_STUB_NAME193 _ZN14nsXPTCStubBase7Stub193Ev
> +#define MANGLED_STUB_NAME194 _ZN14nsXPTCStubBase7Stub194Ev
> +#define MANGLED_STUB_NAME195 _ZN14nsXPTCStubBase7Stub195Ev
> +#define MANGLED_STUB_NAME196 _ZN14nsXPTCStubBase7Stub196Ev
> +#define MANGLED_STUB_NAME197 _ZN14nsXPTCStubBase7Stub197Ev
> +#define MANGLED_STUB_NAME198 _ZN14nsXPTCStubBase7Stub198Ev
> +#define MANGLED_STUB_NAME199 _ZN14nsXPTCStubBase7Stub199Ev
> +#define MANGLED_STUB_NAME200 _ZN14nsXPTCStubBase7Stub200Ev
> +#define MANGLED_STUB_NAME201 _ZN14nsXPTCStubBase7Stub201Ev
> +#define MANGLED_STUB_NAME202 _ZN14nsXPTCStubBase7Stub202Ev
> +#define MANGLED_STUB_NAME203 _ZN14nsXPTCStubBase7Stub203Ev
> +#define MANGLED_STUB_NAME204 _ZN14nsXPTCStubBase7Stub204Ev
> +#define MANGLED_STUB_NAME205 _ZN14nsXPTCStubBase7Stub205Ev
> +#define MANGLED_STUB_NAME206 _ZN14nsXPTCStubBase7Stub206Ev
> +#define MANGLED_STUB_NAME207 _ZN14nsXPTCStubBase7Stub207Ev
> +#define MANGLED_STUB_NAME208 _ZN14nsXPTCStubBase7Stub208Ev
> +#define MANGLED_STUB_NAME209 _ZN14nsXPTCStubBase7Stub209Ev
> +#define MANGLED_STUB_NAME210 _ZN14nsXPTCStubBase7Stub210Ev
> +#define MANGLED_STUB_NAME211 _ZN14nsXPTCStubBase7Stub211Ev
> +#define MANGLED_STUB_NAME212 _ZN14nsXPTCStubBase7Stub212Ev
> +#define MANGLED_STUB_NAME213 _ZN14nsXPTCStubBase7Stub213Ev
> +#define MANGLED_STUB_NAME214 _ZN14nsXPTCStubBase7Stub214Ev
> +#define MANGLED_STUB_NAME215 _ZN14nsXPTCStubBase7Stub215Ev
> +#define MANGLED_STUB_NAME216 _ZN14nsXPTCStubBase7Stub216Ev
> +#define MANGLED_STUB_NAME217 _ZN14nsXPTCStubBase7Stub217Ev
> +#define MANGLED_STUB_NAME218 _ZN14nsXPTCStubBase7Stub218Ev
> +#define MANGLED_STUB_NAME219 _ZN14nsXPTCStubBase7Stub219Ev
> +#define MANGLED_STUB_NAME220 _ZN14nsXPTCStubBase7Stub220Ev
> +#define MANGLED_STUB_NAME221 _ZN14nsXPTCStubBase7Stub221Ev
> +#define MANGLED_STUB_NAME222 _ZN14nsXPTCStubBase7Stub222Ev
> +#define MANGLED_STUB_NAME223 _ZN14nsXPTCStubBase7Stub223Ev
> +#define MANGLED_STUB_NAME224 _ZN14nsXPTCStubBase7Stub224Ev
> +#define MANGLED_STUB_NAME225 _ZN14nsXPTCStubBase7Stub225Ev
> +#define MANGLED_STUB_NAME226 _ZN14nsXPTCStubBase7Stub226Ev
> +#define MANGLED_STUB_NAME227 _ZN14nsXPTCStubBase7Stub227Ev
> +#define MANGLED_STUB_NAME228 _ZN14nsXPTCStubBase7Stub228Ev
> +#define MANGLED_STUB_NAME229 _ZN14nsXPTCStubBase7Stub229Ev
> +#define MANGLED_STUB_NAME230 _ZN14nsXPTCStubBase7Stub230Ev
> +#define MANGLED_STUB_NAME231 _ZN14nsXPTCStubBase7Stub231Ev
> +#define MANGLED_STUB_NAME232 _ZN14nsXPTCStubBase7Stub232Ev
> +#define MANGLED_STUB_NAME233 _ZN14nsXPTCStubBase7Stub233Ev
> +#define MANGLED_STUB_NAME234 _ZN14nsXPTCStubBase7Stub234Ev
> +#define MANGLED_STUB_NAME235 _ZN14nsXPTCStubBase7Stub235Ev
> +#define MANGLED_STUB_NAME236 _ZN14nsXPTCStubBase7Stub236Ev
> +#define MANGLED_STUB_NAME237 _ZN14nsXPTCStubBase7Stub237Ev
> +#define MANGLED_STUB_NAME238 _ZN14nsXPTCStubBase7Stub238Ev
> +#define MANGLED_STUB_NAME239 _ZN14nsXPTCStubBase7Stub239Ev
> +#define MANGLED_STUB_NAME240 _ZN14nsXPTCStubBase7Stub240Ev
> +#define MANGLED_STUB_NAME241 _ZN14nsXPTCStubBase7Stub241Ev
> +#define MANGLED_STUB_NAME242 _ZN14nsXPTCStubBase7Stub242Ev
> +#define MANGLED_STUB_NAME243 _ZN14nsXPTCStubBase7Stub243Ev
> +#define MANGLED_STUB_NAME244 _ZN14nsXPTCStubBase7Stub244Ev
> +#define MANGLED_STUB_NAME245 _ZN14nsXPTCStubBase7Stub245Ev
> +#define MANGLED_STUB_NAME246 _ZN14nsXPTCStubBase7Stub246Ev
> +#define MANGLED_STUB_NAME247 _ZN14nsXPTCStubBase7Stub247Ev
> +#define MANGLED_STUB_NAME248 _ZN14nsXPTCStubBase7Stub248Ev
> +#define MANGLED_STUB_NAME249 _ZN14nsXPTCStubBase7Stub249Ev
--
Rick (rick@kuroyi.net)
http://dxr3.sourceforge.net
http://rsub.sourceforge.net
I think the slogan of the fansubbers puts
it best: "Cheaper than crack, and lots more fun."
Reply to: