summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuy Martin <gmsoft@gentoo.org>2004-12-22 11:25:31 +0000
committerGuy Martin <gmsoft@gentoo.org>2004-12-22 11:25:31 +0000
commitd1d9e6aa706bb7a44667a9da8066f65e34f6b6a0 (patch)
treea721e3afa4ef8c927ff9c1350c6dbbe75d82e202 /net-www
parentAdded manual again. (Manifest recommit) (diff)
downloadgentoo-2-d1d9e6aa706bb7a44667a9da8066f65e34f6b6a0.tar.gz
gentoo-2-d1d9e6aa706bb7a44667a9da8066f65e34f6b6a0.tar.bz2
gentoo-2-d1d9e6aa706bb7a44667a9da8066f65e34f6b6a0.zip
Added hppa support.
Diffstat (limited to 'net-www')
-rw-r--r--net-www/mozilla-firefox/ChangeLog6
-rw-r--r--net-www/mozilla-firefox/files/mozilla-hppa.patch232
-rw-r--r--net-www/mozilla-firefox/mozilla-firefox-1.0-r3.ebuild16
3 files changed, 251 insertions, 3 deletions
diff --git a/net-www/mozilla-firefox/ChangeLog b/net-www/mozilla-firefox/ChangeLog
index 684d26dd4c50..6d127cffa6d8 100644
--- a/net-www/mozilla-firefox/ChangeLog
+++ b/net-www/mozilla-firefox/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for net-www/mozilla-firefox
# Copyright 2000-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-www/mozilla-firefox/ChangeLog,v 1.89 2004/12/21 11:54:01 kloeri Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-www/mozilla-firefox/ChangeLog,v 1.90 2004/12/22 11:25:31 gmsoft Exp $
+
+ 22 Dec 2004; Guy Martin <gmsoft@gentoo.org> +files/mozilla-hppa.patch,
+ mozilla-firefox-1.0-r3.ebuild:
+ Added hppa support.
21 Dec 2004; Bryan Østergaard <kloeri@gentoo.org>
mozilla-firefox-1.0.ebuild:
diff --git a/net-www/mozilla-firefox/files/mozilla-hppa.patch b/net-www/mozilla-firefox/files/mozilla-hppa.patch
new file mode 100644
index 000000000000..f6171cf77eb4
--- /dev/null
+++ b/net-www/mozilla-firefox/files/mozilla-hppa.patch
@@ -0,0 +1,232 @@
+diff -uNr mozilla.orig/xpcom/reflect/xptcall/src/md/unix/Makefile.in mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in
+--- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/Makefile.in 2004-12-21 13:37:00.503842544 +0000
++++ mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in 2004-12-21 13:41:49.439917584 +0000
+@@ -167,6 +167,19 @@
+ endif
+ endif
+
++#
++# Linux/HPPA/gcc
++#
++ifeq ($(OS_ARCH),Linux)
++ifneq (,$(filter parisc parisc64,$(OS_TEST)))
++ifeq ($(CC),gcc)
++CPPSRCS := xptcinvoke_pa32.cpp xptcstubs_pa32.cpp
++ASFILES := xptcstubs_asm_parisc_linux.s xptcinvoke_asm_parisc_linux.s
++endif
++endif
++endif
++
++
+ ######################################################################
+ # M68k
+ ######################################################################
+diff -uNr mozilla.orig/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_parisc_linux.s mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_parisc_linux.s
+--- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_parisc_linux.s 1970-01-01 00:00:00.000000000 +0000
++++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_parisc_linux.s 2004-12-21 13:39:03.390160984 +0000
+@@ -0,0 +1,128 @@
++
++ .LEVEL 1.1
++ .text
++ .align 4
++
++framesz:
++ .equ 128
++
++; XPTC_InvokeByIndex(nsISuppots* that, PRUint32 methodIndex,
++; PRUint32 paramCount, nsXPTCVariant* params);
++
++.globl XPTC_InvokeByIndex
++ .type XPTC_InvokeByIndex, @function
++
++
++XPTC_InvokeByIndex:
++ .PROC
++ .CALLINFO FRAME=72, CALLER,SAVE_RP, SAVE_SP, ENTRY_GR=3
++ .ENTRY
++
++ ; frame marker takes 48 bytes,
++ ; register spill area takes 8 bytes,
++ ; local stack area takes 72 bytes result in 128 bytes total
++
++ STW %rp,-20(%sp)
++ STW,MA %r3,128(%sp)
++
++ LDO -framesz(%r30),%r28
++ STW %r28,-4(%r30) ; save previous sp
++ STW %r19,-32(%r30)
++
++ STW %r26,-36-framesz(%r30) ; save argument registers in
++ STW %r25,-40-framesz(%r30) ; in PREVIOUS frame
++ STW %r24,-44-framesz(%r30) ;
++ STW %r23,-48-framesz(%r30) ;
++
++; B,L .+8,%r2
++; ADDIL L'invoke_count_bytes-$PIC_pcrel$1+4,%r2,%r1
++; ; LDO R'invoke_count_bytes-$PIC_pcrel$2+8(%r1),%r1
++;$PIC_pcrel$1
++; LDSID (%r1),%r31
++;$PIC_pcrel$2
++; MTSP %r31,%sr0
++
++ .CALL ARGW0=GR,ARGW1=GR,ARGW2=GR ;in=24,25,26;out=28
++ BL invoke_count_bytes,%r31
++ COPY %r31,%r2
++
++ CMPIB,>= 0,%r28, .+76
++ COPY %r30,%r3 ; copy stack ptr to saved stack ptr
++ ADD %r30,%r28,%r30 ; extend stack frame
++ LDW -4(%r3),%r28 ; move frame
++ STW %r28,-4(%r30)
++ LDW -8(%r3),%r28
++ STW %r28,-8(%r30)
++ LDW -12(%r3),%r28
++ STW %r28,-12(%r30)
++ LDW -16(%r3),%r28
++ STW %r28,-16(%r30)
++ LDW -20(%r3),%r28
++ STW %r28,-20(%r30)
++ LDW -24(%r3),%r28
++ STW %r28,-24(%r30)
++ LDW -28(%r3),%r28
++ STW %r28,-28(%r30)
++ LDW -32(%r3),%r28
++ STW %r28,-32(%r30)
++
++ LDO -40(%r30),%r26 ; load copy address
++ LDW -44-framesz(%r3),%r25 ; load rest of 2 arguments
++ LDW -48-framesz(%r3),%r24 ;
++
++ LDW -32(%r30),%r19 ; shared lib call destroys r19; reload
++; B,L .+8,%r2
++; ADDIL L'invoke_copy_to_stack-$PIC_pcrel$3+4,%r2,%r1
++; LDO R'invoke_copy_to_stack-$PIC_pcrel$4+8(%r1),%r1
++;$PIC_pcrel$3
++; LDSID (%r1),%r31
++;$PIC_pcrel$4
++; MTSP %r31,%sr0
++ .CALL ARGW0=GR,ARGW1=GR,ARGW2=GR ;in=24,25,26
++ BL invoke_copy_to_stack,%r31
++ COPY %r31,%r2
++
++ LDO -48(%r30),%r20
++ EXTRW,U,= %r28,31,1,%r22
++ FLDD 0(%r20),%fr7 ; load double arg 1
++ EXTRW,U,= %r28,30,1,%r22
++ FLDW 8(%r20),%fr5L ; load float arg 1
++ EXTRW,U,= %r28,29,1,%r22
++ FLDW 4(%r20),%fr6L ; load float arg 2
++ EXTRW,U,= %r28,28,1,%r22
++ FLDW 0(%r20),%fr7L ; load float arg 3
++
++ LDW -36-framesz(%r3),%r26 ; load ptr to 'that'
++ LDW -40(%r30),%r25 ; load the rest of dispatch argument registers
++ LDW -44(%r30),%r24
++ LDW -48(%r30),%r23
++
++ LDW -36-framesz(%r3),%r20 ; load vtable addr
++ LDW -40-framesz(%r3),%r28 ; load index
++ LDW 0(%r20),%r20 ; follow vtable
++; LDO 0(%r20),%r20 ; offset vtable by 16 bytes (g++: 8, aCC: 16)
++ SH2ADDL %r28,%r20,%r28 ; add 4*index to vtable entry
++ LDW 0(%r28),%r22 ; load vtable entry
++
++; B,L .+8,%r2
++; ADDIL L'$$dyncall_external-$PIC_pcrel$5+4,%r2,%r1
++; LDO R'$$dyncall_external-$PIC_pcrel$6+8(%r1),%r1
++;$PIC_pcrel$5
++; LDSID (%r1),%r31
++;$PIC_pcrel$6
++; MTSP %r31,%sr0
++ .CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR,RTNVAL=GR ;in=22-26;out=28;
++ BL $$dyncall,%r31
++ COPY %r31,%r2
++
++ LDW -32(%r30),%r19
++ COPY %r3,%r30 ; restore saved stack ptr
++
++ LDW -148(%sp),%rp
++ LDWM -128(%sp),%r3
++ BV,N (%rp)
++ NOP
++ .EXIT
++ .PROCEND ;in=23,24,25,26;
++ .SIZE XPTC_InvokeByIndex, .-XPTC_InvokeByIndex
++
+diff -uNr mozilla.orig/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_parisc_linux.s mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_parisc_linux.s
+--- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_parisc_linux.s 1970-01-01 00:00:00.000000000 +0000
++++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_parisc_linux.s 2004-12-21 13:39:03.392160680 +0000
+@@ -0,0 +1,73 @@
++ .LEVEL 1.1
++ .TEXT
++ .ALIGN 4
++
++curframesz:
++ .EQU 128
++
++
++; SharedStub has stack size of 128 bytes
++
++lastframesz:
++ .EQU 64
++
++; the StubN C++ function has a small stack size of 64 bytes
++
++
++.globl SharedStub
++ .type SharedStub, @function
++
++SharedStub:
++ .PROC
++ .CALLINFO CALLER,FRAME=80,SAVE_RP
++
++ .ENTRY
++ STW %rp,-20(%sp)
++ LDO 128(%sp),%sp
++
++ STW %r19,-32(%r30)
++ STW %r26,-36-curframesz(%r30) ; save arg0 in previous frame
++
++ LDO -80(%r30),%r28
++ FSTD,MA %fr5,8(%r28) ; save darg0
++ FSTD,MA %fr7,8(%r28) ; save darg1
++ FSTW,MA %fr4L,4(%r28) ; save farg0
++ FSTW,MA %fr5L,4(%r28) ; save farg1
++ FSTW,MA %fr6L,4(%r28) ; save farg2
++ FSTW,MA %fr7L,4(%r28) ; save farg3
++
++ ; Former value of register 26 is already properly saved by StubN,
++ ; but register 25-23 are not because of the arguments mismatch
++ STW %r25,-40-curframesz-lastframesz(%r30) ; save r25
++ STW %r24,-44-curframesz-lastframesz(%r30) ; save r24
++ STW %r23,-48-curframesz-lastframesz(%r30) ; save r23
++ COPY %r26,%r25 ; method index is arg1
++ LDW -36-curframesz-lastframesz(%r30),%r26 ; self is arg0
++ LDO -40-curframesz-lastframesz(%r30),%r24 ; normal args is arg2
++ LDO -80(%r30),%r23 ; floating args is arg3
++
++; BL .+8,%r2
++; ADDIL L'PrepareAndDispatch-$PIC_pcrel$0+4,%r2
++; LDO R'PrepareAndDispatch-$PIC_pcrel$1+8(%r1),%r1
++;$PIC_pcrel$0
++; LDSID (%r1),%r31
++;$PIC_pcrel$1
++; MTSP %r31,%sr0
++ .CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR,RTNVAL=GR ;in=23-26;out=28;
++ BL PrepareAndDispatch, %r31
++ COPY %r31,%r2
++
++ LDW -32(%r30),%r19
++
++ LDW -148(%sp),%rp
++ LDO -128(%sp),%sp
++
++
++ BV,N (%rp)
++ NOP
++ NOP
++
++ .EXIT
++ .PROCEND ;in=26;out=28;
++
++ .SIZE SharedStub, .-SharedStub
diff --git a/net-www/mozilla-firefox/mozilla-firefox-1.0-r3.ebuild b/net-www/mozilla-firefox/mozilla-firefox-1.0-r3.ebuild
index ce418f2670ce..2e10b0546dc0 100644
--- a/net-www/mozilla-firefox/mozilla-firefox-1.0-r3.ebuild
+++ b/net-www/mozilla-firefox/mozilla-firefox-1.0-r3.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-www/mozilla-firefox/mozilla-firefox-1.0-r3.ebuild,v 1.7 2004/12/03 17:10:37 agriffis Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-www/mozilla-firefox/mozilla-firefox-1.0-r3.ebuild,v 1.8 2004/12/22 11:25:31 gmsoft Exp $
inherit makeedit flag-o-matic gcc nsplugins eutils mozconfig mozilla-launcher
@@ -13,7 +13,7 @@ SRC_URI="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${MY_PV}/source
LICENSE="MPL-1.1 NPL-1.1"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~sparc ~x86"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~sparc ~x86 ~hppa"
IUSE="java mozsvg"
# xrender.pc appeared for the first time in xorg-x11-6.7.0-r2
@@ -41,6 +41,10 @@ src_unpack() {
# <taviso@gentoo.org> (26 Jun 2003)
use alpha && epatch ${FILESDIR}/mozilla-1.3-alpha-stubs.patch
+ # hppa patches from Ivar <orskaug@stud.ntnu.no>
+ # <gmsoft@gentoo.org> (22 Dec 2004)
+ use hppa && epatch ${FILESDIR}/mozilla-hppa.patch
+
# patch out ft caching code since the API changed between releases of
# freetype; this enables freetype-2.1.8+ compat.
# https://bugzilla.mozilla.org/show_bug.cgi?id=234035#c65
@@ -81,6 +85,14 @@ src_compile() {
has_hardened && append-flags -fno-stack-protector-all
replace-flags -fstack-protector-all -fstack-protector
+ # hppa have problems with high level of optimisation
+ # forcing -O0 <gmsoft@gentoo.org> (22 Dec 2004)
+ if use hppa
+ then
+ export CFLAGS="-O0 -pipe"
+ export CXXFLAGS="-O0 -pipe"
+ fi
+
####################################
#
# Configure and build Firefox