rpms/firefox/FC-6 firefox-1.5-ppc64.patch, 1.1.2.5, 1.1.2.6 firefox.spec, 1.160.2.4, 1.160.2.5

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Wed Dec 6 18:30:35 UTC 2006


Author: dwmw2

Update of /cvs/dist/rpms/firefox/FC-6
In directory cvs.devel.redhat.com:/tmp/cvs-serv30610

Modified Files:
      Tag: private-firefox-1_5_0_8-multilib-fix-branch
	firefox-1.5-ppc64.patch firefox.spec 
Log Message:
Fix ABI violation


firefox-1.5-ppc64.patch:
 mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc64_linux.s |  154 ++++++
 mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc64_linux.s  |  102 ++++
 xpcom/reflect/xptcall/src/md/unix/Makefile.in                          |    5 
 xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ppc64_linux.cpp           |  127 +++++
 xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc64_linux.cpp            |  247 ++++++++++
 5 files changed, 635 insertions(+)

Index: firefox-1.5-ppc64.patch
===================================================================
RCS file: /cvs/dist/rpms/firefox/FC-6/Attic/firefox-1.5-ppc64.patch,v
retrieving revision 1.1.2.5
retrieving revision 1.1.2.6
diff -u -r1.1.2.5 -r1.1.2.6
--- firefox-1.5-ppc64.patch	23 Nov 2006 09:00:23 -0000	1.1.2.5
+++ firefox-1.5-ppc64.patch	6 Dec 2006 18:30:31 -0000	1.1.2.6
@@ -19,7 +19,7 @@
 diff -u mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc64_linux.s mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc64_linux.s
 --- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc64_linux.s	2006-11-21 14:01:45.000000000 +0000
 +++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc64_linux.s	2006-11-22 10:43:26.000000000 +0000
-@@ -0,0 +1,153 @@
+@@ -0,0 +1,154 @@
 +// -*- Mode: Asm -*-
 +//
 +// The contents of this file are subject to the Netscape Public
@@ -68,7 +68,7 @@
 +//
 +
 +	.section ".toc","aw"
-+        .section ".text"
++	.section ".text"
 +	.align 2
 +	.globl XPTC_InvokeByIndex
 +	.section ".opd","aw"
@@ -78,12 +78,12 @@
 +	.previous
 +	.type  XPTC_InvokeByIndex, at function
 +.XPTC_InvokeByIndex:
-+        mflr	0
++	mflr	0
 +	std	0,16(r1)
 +	
-+        std	r29,-24(r1)
++	std	r29,-24(r1)
 +	std	r30,-16(r1)
-+        std	r31,-8(r1)
++	std	r31,-8(r1)
 +
 +	mr	r29,r3			// Save 'that' in r29
 +	mr	r30,r4			// Save 'methodIndex' in r30
@@ -107,8 +107,8 @@
 +
 +	
 +	// Call invoke_copy_to_stack(PRUint64* gpregs, double* fpregs,
-+        //			     PRUint32 paramCount, nsXPTCVariant* s, 
-+        //			     PRUint64* d))
++	//			     PRUint32 paramCount, nsXPTCVariant* s, 
++	//			     PRUint64* d))
 +	
 +	// r5, r6 are passed through intact (paramCount, params)
 +	// r7 (d) has to be r1+112 -- where parameters are passed on the stack.
@@ -117,57 +117,58 @@
 +	subi	r3,r31,(23*8)		// r3 --> GPRS
 +	subi	r4,r31,(16*8)		// r4 --> FPRS
 +	addi	r7,r1,112		// r7 --> params
-+        bl	invoke_copy_to_stack
++	bl	invoke_copy_to_stack
++	nop
 +
 +	// Set up to invoke function
 +	
-+        ld	r9,0(r29)		// vtable (r29 is 'that')
-+        mr	r3,r29		// self is first arg, obviously
++	ld	r9,0(r29)		// vtable (r29 is 'that')
++	mr	r3,r29		// self is first arg, obviously
 +
 +	sldi	r30,r30,3	// Find function descriptor 
 +	add	r9,r9,r30
-+        ld	r9,0(r9)
++	ld	r9,0(r9)
 +	
-+        ld	r0,0(r9)	// Actual address from fd.
-+        std	r2,40(r1)	// Save r2 (TOC pointer)
++	ld	r0,0(r9)	// Actual address from fd.
++	std	r2,40(r1)	// Save r2 (TOC pointer)
 +
-+        mtctr	0
-+        ld	r11,16(r9)	// Environment pointer from fd.
-+        ld	r2,8(r9)	// TOC pointer from fd.
++	mtctr	0
++	ld	r11,16(r9)	// Environment pointer from fd.
++	ld	r2,8(r9)	// TOC pointer from fd.
 +
 +	// Load FP and GP registers as required
-+        ld	r4, -(23*8)(r31) 
-+        ld	r5, -(22*8)(r31) 
-+        ld	r6, -(21*8)(r31) 
-+        ld	r7, -(20*8)(r31) 
-+        ld	r8, -(19*8)(r31) 
-+        ld	r9, -(18*8)(r31) 
-+        ld	r10, -(17*8)(r31) 
-+
-+        lfd	f1, -(16*8)(r31)
-+        lfd	f2, -(15*8)(r31)
-+        lfd	f3, -(14*8)(r31)
-+        lfd	f4, -(13*8)(r31)
-+        lfd	f5, -(12*8)(r31)
-+        lfd	f6, -(11*8)(r31)
-+        lfd	f7, -(10*8)(r31)
-+        lfd	f8, -(9*8)(r31)
-+        lfd	f9, -(8*8)(r31)
-+        lfd	f10, -(7*8)(r31)
-+        lfd	f11, -(6*8)(r31)
-+        lfd	f12, -(5*8)(r31)
-+        lfd	f13, -(4*8)(r31)
-+
-+        bctrl			// Do it
-+
-+        ld	r2,40(r1)	// Load our own TOC pointer
-+        ld	r1,0(r1)	// Revert stack frame
-+        ld	0,16(r1)	// Reload lr
-+        ld	29,-24(r1)	// Restore NVGPRS
-+        ld	30,-16(r1)
-+        ld	31,-8(r1)
-+        mtlr	0
-+        blr
++	ld	r4, -(23*8)(r31) 
++	ld	r5, -(22*8)(r31) 
++	ld	r6, -(21*8)(r31) 
++	ld	r7, -(20*8)(r31) 
++	ld	r8, -(19*8)(r31) 
++	ld	r9, -(18*8)(r31) 
++	ld	r10, -(17*8)(r31) 
++
++	lfd	f1, -(16*8)(r31)
++	lfd	f2, -(15*8)(r31)
++	lfd	f3, -(14*8)(r31)
++	lfd	f4, -(13*8)(r31)
++	lfd	f5, -(12*8)(r31)
++	lfd	f6, -(11*8)(r31)
++	lfd	f7, -(10*8)(r31)
++	lfd	f8, -(9*8)(r31)
++	lfd	f9, -(8*8)(r31)
++	lfd	f10, -(7*8)(r31)
++	lfd	f11, -(6*8)(r31)
++	lfd	f12, -(5*8)(r31)
++	lfd	f13, -(4*8)(r31)
++
++	bctrl			// Do it
++
++	ld	r2,40(r1)	// Load our own TOC pointer
++	ld	r1,0(r1)	// Revert stack frame
++	ld	0,16(r1)	// Reload lr
++	ld	29,-24(r1)	// Restore NVGPRS
++	ld	30,-16(r1)
++	ld	31,-8(r1)
++	mtlr	0
++	blr
 +
 +	.size   XPTC_InvokeByIndex,.-.XPTC_InvokeByIndex
 +
@@ -306,7 +307,7 @@
 diff -u mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc64_linux.s mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc64_linux.s
 --- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc64_linux.s	2006-11-21 16:38:52.000000000 +0000
 +++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc64_linux.s	2006-11-22 10:51:14.000000000 +0000
-@@ -0,0 +1,101 @@
+@@ -0,0 +1,102 @@
 +// -*- Mode: Asm -*-
 +//
 +// The contents of this file are subject to the Netscape Public
@@ -348,15 +349,15 @@
 +.set f25,25; .set f26,26; .set f27,27; .set f28,28; .set f29,29
 +.set f30,30; .set f31,31
 +
-+        .section ".text"
-+        .align 2
++	.section ".text"
++	.align 2
 +	.globl SharedStub
-+        .section        ".opd","aw"
-+        .align 3
++	.section	".opd","aw"
++	.align 3
 +
 +SharedStub:
-+        .quad   .SharedStub,.TOC. at tocbase
-+        .previous
++	.quad   .SharedStub,.TOC. at tocbase
++	.previous
 +      	.type  SharedStub, at function
 +
 +.SharedStub:
@@ -397,6 +398,7 @@
 +				// via r11 in the nsXPTCStubBase::StubXX() call
 +	
 +	bl	PrepareAndDispatch
++	nop
 +
 +	ld	1,0(r1)				// restore stack
 +	ld	r0,16(r1)			// restore LR


Index: firefox.spec
===================================================================
RCS file: /cvs/dist/rpms/firefox/FC-6/firefox.spec,v
retrieving revision 1.160.2.4
retrieving revision 1.160.2.5
diff -u -r1.160.2.4 -r1.160.2.5
--- firefox.spec	23 Nov 2006 13:01:05 -0000	1.160.2.4
+++ firefox.spec	6 Dec 2006 18:30:31 -0000	1.160.2.5
@@ -11,7 +11,7 @@
 Summary:        Mozilla Firefox Web browser.
 Name:           firefox
 Version:        1.5.0.8
-Release:        1%{?dist}.dwmw2.4
+Release:        1%{?dist}.dwmw2.5
 URL:            http://www.mozilla.org/projects/firefox/
 License:        MPL/LGPL
 Group:          Applications/Internet
@@ -407,6 +407,9 @@
 #---------------------------------------------------------------------
 
 %changelog
+* Thu Nov 23 2006 David Woodhouse <dwmw2 at redhat.com> 1.5.0.8-1.dwmw2.5
+- Fix ABI violation pointed out by sjmunroe
+
 * Thu Nov 23 2006 David Woodhouse <dwmw2 at redhat.com> 1.5.0.8-1.dwmw2.4
 - Fix /usr/bin/firefox to fall back to secondary arch
 




More information about the fedora-cvs-commits mailing list