diff options
author | Bjoern Brauel <bjb@gentoo.org> | 2002-10-06 09:04:58 +0000 |
---|---|---|
committer | Bjoern Brauel <bjb@gentoo.org> | 2002-10-06 09:04:58 +0000 |
commit | 3be74d0c6c962dd66e8d2079201ce9e34b7ce32f (patch) | |
tree | a53e24987511e5eb3b9bdf093b1b8bf0ad38e7ad /net-www/mozilla | |
parent | Bump up to gnucash 1.6.8. Both 1.6.7 and this version failed to build for me (diff) | |
download | gentoo-2-3be74d0c6c962dd66e8d2079201ce9e34b7ce32f.tar.gz gentoo-2-3be74d0c6c962dd66e8d2079201ce9e34b7ce32f.tar.bz2 gentoo-2-3be74d0c6c962dd66e8d2079201ce9e34b7ce32f.zip |
gcc3 abi patch for alpha
Diffstat (limited to 'net-www/mozilla')
-rw-r--r-- | net-www/mozilla/files/mozilla-alpha-xpcom-subs-fix.patch | 139 | ||||
-rw-r--r-- | net-www/mozilla/mozilla-1.0.1-r1.ebuild | 9 |
2 files changed, 146 insertions, 2 deletions
diff --git a/net-www/mozilla/files/mozilla-alpha-xpcom-subs-fix.patch b/net-www/mozilla/files/mozilla-alpha-xpcom-subs-fix.patch new file mode 100644 index 000000000000..c7f95467438a --- /dev/null +++ b/net-www/mozilla/files/mozilla-alpha-xpcom-subs-fix.patch @@ -0,0 +1,139 @@ +--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_alpha.cpp 2002-04-10 05:37:38.000000000 +0200 ++++ mozilla-alpha/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_alpha.cpp 2002-10-06 10:44:59.000000000 +0200 +@@ -20,6 +20,7 @@ + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): ++ * Glen Nakamura <glen@imodulo.com> + * + * 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 +@@ -37,16 +38,14 @@ + + /* 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 ++void + invoke_copy_to_stack(PRUint64* d, PRUint32 paramCount, nsXPTCVariant* s) + __asm__("invoke_copy_to_stack") __attribute__((unused)); + +-static void ++void + invoke_copy_to_stack(PRUint64* d, PRUint32 paramCount, nsXPTCVariant* s) + { + const PRUint8 NUM_ARG_REGS = 6-1; // -1 for "this" pointer +@@ -163,7 +162,11 @@ + "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 defined(__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100 /* G++ V3 ABI */ ++ "s8addq $2,$31,$2\n\t" /* vtable index = "methodIndex" * 8 */ ++#else /* not G++ V3 ABI */ + "s8addq $2,16,$2\n\t" /* vtable index = "methodIndex" * 8 + 16 */ ++#endif /* G++ V3 ABI */ + "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 */ +@@ -176,4 +179,3 @@ + "ret $31,($26),1\n\t" + ".end XPTC_InvokeByIndex" + ); +- +--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_linux_alpha.cpp 2002-04-10 05:37:42.000000000 +0200 ++++ mozilla-alpha/xpcom/reflect/xptcall/src/md/unix/xptcstubs_linux_alpha.cpp 2002-10-06 10:45:10.000000000 +0200 +@@ -20,6 +20,7 @@ + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): ++ * Glen Nakamura <glen@imodulo.com> + * + * 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 +@@ -37,16 +38,14 @@ + + /* Implement shared vtbl methods. */ + +-/* contributed by Glen Nakamura <glen.nakamura@usa.net> */ +- + #include "xptcprivate.h" + + /* Prototype specifies unmangled function name and disables unused warning */ +-static nsresult ++nsresult + PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint64* args) + __asm__("PrepareAndDispatch") __attribute__((unused)); + +-static nsresult ++nsresult + PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint64* args) + { + const PRUint8 PARAM_BUFFER_COUNT = 16; +@@ -188,23 +187,45 @@ + * nsresult nsXPTCStubBase::Stub##n() + * Sets register $1 to "methodIndex" and jumps to SharedStub. + */ ++#define STUB_MANGLED_ENTRY(n, symbol) \ ++ "#### Stub"#n" ####" "\n\t" \ ++ ".text" "\n\t" \ ++ ".align 5" "\n\t" \ ++ ".globl " symbol "\n\t" \ ++ ".ent " symbol "\n" \ ++symbol ":" "\n\t" \ ++ ".frame $30,0,$26,0" "\n\t" \ ++ "ldgp $29,0($27)" "\n" \ ++"$" symbol "..ng:" "\n\t" \ ++ ".prologue 1" "\n\t" \ ++ "lda $1,"#n "\n\t" \ ++ "br $31,$SharedStub..ng" "\n\t" \ ++ ".end " symbol ++ ++#if defined(__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100 /* G++ V3 ABI */ ++ ++#define STUB_ENTRY(n) \ ++__asm__( \ ++ ".if "#n" < 10" "\n\t" \ ++ STUB_MANGLED_ENTRY(n, "_ZN14nsXPTCStubBase5Stub"#n"Ev") "\n\t" \ ++ ".elseif "#n" < 100" "\n\t" \ ++ STUB_MANGLED_ENTRY(n, "_ZN14nsXPTCStubBase6Stub"#n"Ev") "\n\t" \ ++ ".elseif "#n" < 1000" "\n\t" \ ++ STUB_MANGLED_ENTRY(n, "_ZN14nsXPTCStubBase7Stub"#n"Ev") "\n\t" \ ++ ".else" "\n\t" \ ++ ".err \"Stub"#n" >= 1000 not yet supported.\"" "\n\t" \ ++ ".endif" \ ++ ); ++ ++#else /* not G++ V3 ABI */ ++ + #define STUB_ENTRY(n) \ + __asm__( \ +- "#### Stub"#n" ####\n" \ +-".text\n\t" \ +- ".align 5\n\t" \ +- ".globl Stub"#n"__14nsXPTCStubBase\n\t" \ +- ".ent Stub"#n"__14nsXPTCStubBase\n" \ +-"Stub"#n"__14nsXPTCStubBase:\n\t" \ +- ".frame $30,0,$26,0\n\t" \ +- "ldgp $29,0($27)\n" \ +-"$Stub"#n"__14nsXPTCStubBase..ng:\n\t" \ +- ".prologue 1\n\t" \ +- "lda $1,"#n"\n\t" \ +- "br $31,$SharedStub..ng\n\t" \ +- ".end Stub"#n"__14nsXPTCStubBase" \ ++ STUB_MANGLED_ENTRY(n, "Stub"#n"__14nsXPTCStubBase") \ + ); + ++#endif /* G++ V3 ABI */ ++ + #define SENTINEL_ENTRY(n) \ + nsresult nsXPTCStubBase::Sentinel##n() \ + { \ +@@ -213,4 +234,3 @@ + } + + #include "xptcstubsdef.inc" +- diff --git a/net-www/mozilla/mozilla-1.0.1-r1.ebuild b/net-www/mozilla/mozilla-1.0.1-r1.ebuild index e0fdba131631..1ba5099705b7 100644 --- a/net-www/mozilla/mozilla-1.0.1-r1.ebuild +++ b/net-www/mozilla/mozilla-1.0.1-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2002 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-www/mozilla/mozilla-1.0.1-r1.ebuild,v 1.3 2002/10/05 05:39:24 drobbins Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-www/mozilla/mozilla-1.0.1-r1.ebuild,v 1.4 2002/10/06 09:04:58 bjb Exp $ IUSE="mozxmlterm moznomail java mozp3p crypt ipv6 gtk2 mozinterfaceinfo ssl ldap mozaccess mozctl gnome" @@ -23,7 +23,7 @@ SRC_URI="ftp://ftp.mozilla.org/pub/mozilla/releases/${PN}${MY_PV2}/src/${PN}-sou http://enigmail.mozdev.org/dload/src/ipc-${IPCVER}.tar.gz )" HOMEPAGE="http://www.mozilla.org" -KEYWORDS="x86 ppc sparc sparc64" +KEYWORDS="x86 ppc sparc sparc64 alpha" SLOT="0" LICENSE="MPL-1.1 | NPL-1.1" @@ -81,6 +81,11 @@ src_unpack() { if [ "${ARCH}" = "ppc" ] ; then patch -p0 < ${FILESDIR}/mozilla-1.0-abi-xpcom-ppc.patch || die fi + + # ABI Patch for alpha/xpcom for gcc-3.x + if [ "${ARCH}" = "alpha" ] ; then + patch -p1 < ${FILESDIR}/mozilla-alpha-xpcom-subs-fix.patch || die + fi fi # Apply the bytecode patch for freetype2 |