[PATCH] xpcom/PowerPC lnx: add support for soft-float

Sebastian Andrzej Siewior bigeasy at linutronix.de
Fri Oct 2 21:50:34 UTC 2009


current implemention assumes hard float what means dedicated floating
point registers are used for floating point numbers. This does not work
on soft float toolchains where dedicated floating point registers and
opcodes are not used and/or available. On such toolchains the gcc
compiler provides a built-in define __NO_FPRS__ to signalize such a
behavior.

http://hg.mozilla.org/mozilla-central/rev/38b06fd30c16
https://bugzilla.mozilla.org/show_bug.cgi?id=492299
Target Milestone: mozilla1.9.3a1

Signed-off-by: Sebastian Andrzej Siewior <bigeasy at linutronix.de>

diff --git a/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc_linux.s b/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc_linux.s
index 9ffd7ed..1f1f6c3 100644
--- a/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc_linux.s
+++ b/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc_linux.s
@@ -19,16 +19,17 @@
 // Netscape Communications Corporation.
 // Portions created by the Initial Developer are Copyright (C) 1999
 // the Initial Developer. All Rights Reserved.
 //
 // Contributor(s):
 //   Franz.Sirl-kernel at lauterbach.com (Franz Sirl)
 //   beard at netscape.com (Patrick Beard)
 //   waterson at netscape.com (Chris Waterson)
+//   bigeasy at linutronix.de (Sebastian Andrzej Siewior)
 //
 // Alternatively, the contents of this file may be used under the terms of
 // either the GNU General Public License Version 2 or later (the "GPL"), or
 // the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
 // in which case the provisions of the GPL or the LGPL are applicable instead
 // of those above. If you wish to allow use of your version of this file only
 // under the terms of either the GPL or the LGPL, and not to allow others to
 // use your version of this file under the terms of the MPL, indicate your
@@ -81,29 +82,33 @@ NS_InvokeByIndex_P:
 	neg     r0,r0
 	stwux   r9,sp,r0			// reserve stack space and save SP backchain
 
 	addi    r3,sp,8				// r3 <= args
 	mr      r4,r5				// r4 <= paramCount
 	mr      r5,r6				// r5 <= params
 	add     r6,r3,r10			// r6 <= gpregs ( == args + r10 )
 	mr      r30,r6				// store in r30 for use later...
+#ifndef __NO_FPRS__
 	addi    r7,r6,32			// r7 <= fpregs ( == gpregs + 32 )
+#else
+	li	r7, 0
+#endif
 
 	bl      invoke_copy_to_stack at local	// (args, paramCount, params, gpregs, fpregs)
-
+#ifndef __NO_FPRS__
 	lfd     f1,32(r30)			// load FP registers with method parameters
 	lfd     f2,40(r30)   
 	lfd     f3,48(r30)  
 	lfd     f4,56(r30)  
 	lfd     f5,64(r30)  
 	lfd     f6,72(r30)  
 	lfd     f7,80(r30)  
 	lfd     f8,88(r30)
-
+#endif
 	lwz     r3,8(r31)			// r3 <= that
 	lwz     r4,12(r31)			// r4 <= methodIndex
 	lwz     r5,0(r3)			// r5 <= vtable ( == *that )
 #if !((__GNUC__ == 3 && __GNUC_MINOR__ < 2) || __GXX_ABI_VERSION  >= 100) // G++ pre-V3 ABI
 	addi	r4,r4,2				// skip first two vtable entries
 #endif
 	slwi    r4,r4,2				// convert to offset ( *= 4 )
 	lwzx    r0,r5,r4			// r0 <= methodpointer ( == vtable + offset )
diff --git a/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ppc_linux.cpp b/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ppc_linux.cpp
index 033bf4e..e7946b7 100644
--- a/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ppc_linux.cpp
+++ b/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ppc_linux.cpp
@@ -18,16 +18,17 @@
  * Netscape Communications Corporation.
  * Portions created by the Initial Developer are Copyright (C) 1998
  * the Initial Developer. All Rights Reserved.
  *
  * Contributor(s):
  *   Franz.Sirl-kernel at lauterbach.com (Franz Sirl)
  *   beard at netscape.com (Patrick Beard)
  *   waterson at netscape.com (Chris Waterson)
+ *   bigeasy at linutronix.de (Sebastian Andrzej Siewior)
  *
  * Alternatively, the contents of this file may be used under the terms of
  * either of the GNU General Public License Version 2 or later (the "GPL"),
  * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
  * in which case the provisions of the GPL or the LGPL are applicable instead
  * of those above. If you wish to allow use of your version of this file only
  * under the terms of either the GPL or the LGPL, and not to allow others to
  * use your version of this file under the terms of the MPL, indicate your
@@ -48,35 +49,39 @@
 // ABI this means that the first 8 integral and floating point
 // parameters are passed in registers.
 
 #include "xptcprivate.h"
 
 // 8 integral parameters are passed in registers
 #define GPR_COUNT     8
 
-// 8 floating point parameters are passed in registers, floats are
-// promoted to doubles when passed in registers
+// With hardfloat support 8 floating point parameters are passed in registers,
+// floats are promoted to doubles when passed in registers
+// In Softfloat mode, everything is handled via gprs
+#ifndef __NO_FPRS__
 #define FPR_COUNT     8
-
+#endif
 extern "C" PRUint32
 invoke_count_words(PRUint32 paramCount, nsXPTCVariant* s)
 {
   return PRUint32(((paramCount * 2) + 3) & ~3);
 }
 
 extern "C" void
 invoke_copy_to_stack(PRUint32* d,
                      PRUint32 paramCount,
                      nsXPTCVariant* s, 
                      PRUint32* gpregs,
                      double* fpregs)
 {
     PRUint32 gpr = 1; // skip one GP reg for 'that'
+#ifndef __NO_FPRS__
     PRUint32 fpr = 0;
+#endif
     PRUint32 tempu32;
     PRUint64 tempu64;
     
     for(uint32 i = 0; i < paramCount; i++, s++) {
         if(s->IsPtrData())
             tempu32 = (PRUint32) s->ptr;
         else {
             switch(s->type) {
@@ -93,27 +98,41 @@ invoke_copy_to_stack(PRUint32* d,
             case nsXPTType::T_BOOL:   tempu32 = s->val.b;             break;
             case nsXPTType::T_CHAR:   tempu32 = s->val.c;             break;
             case nsXPTType::T_WCHAR:  tempu32 = s->val.wc;            break;
             default:                  tempu32 = (PRUint32) s->val.p;  break;
             }
         }
 
         if (!s->IsPtrData() && s->type == nsXPTType::T_DOUBLE) {
+#ifndef __NO_FPRS__
             if (fpr < FPR_COUNT)
                 fpregs[fpr++]    = s->val.d;
+#else
+            if (gpr & 1)
+                gpr++;
+            if ((gpr + 1) < GPR_COUNT) {
+                *((double*) &gpregs[gpr]) = s->val.d;
+                gpr += 2;
+            }
+#endif
             else {
                 if ((PRUint32) d & 4) d++; // doubles are 8-byte aligned on stack
                 *((double*) d) = s->val.d;
                 d += 2;
             }
         }
         else if (!s->IsPtrData() && s->type == nsXPTType::T_FLOAT) {
+#ifndef __NO_FPRS__
             if (fpr < FPR_COUNT)
                 fpregs[fpr++]   = s->val.f; // if passed in registers, floats are promoted to doubles
+#else
+            if (gpr < GPR_COUNT)
+                *((float*) &gpregs[gpr++]) = s->val.f;
+#endif
             else
                 *((float*) d++) = s->val.f;
         }
         else if (!s->IsPtrData() && (s->type == nsXPTType::T_I64
                                      || s->type == nsXPTType::T_U64)) {
             if (gpr & 1) gpr++; // longlongs are aligned in odd/even register pairs, eg. r5/r6
             if ((gpr + 1) < GPR_COUNT) {
                 *((PRUint64*) &gpregs[gpr]) = tempu64;
diff --git a/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc_linux.s b/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc_linux.s
index d5834a1..6aff42c 100644
--- a/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc_linux.s
+++ b/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc_linux.s
@@ -19,16 +19,17 @@
 // Netscape Communications Corporation.
 // Portions created by the Initial Developer are Copyright (C) 1999
 // the Initial Developer. All Rights Reserved.
 //
 // Contributor(s):
 //   Franz.Sirl-kernel at lauterbach.com (Franz Sirl)
 //   beard at netscape.com (Patrick Beard)
 //   waterson at netscape.com (Chris Waterson)
+//   bigeasy at linutronix.de (Sebastian Andrzej Siewior)
 //
 // Alternatively, the contents of this file may be used under the terms of
 // either the GNU General Public License Version 2 or later (the "GPL"), or
 // the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
 // in which case the provisions of the GPL or the LGPL are applicable instead
 // of those above. If you wish to allow use of your version of this file only
 // under the terms of either the GPL or the LGPL, and not to allow others to
 // use your version of this file under the terms of the MPL, indicate your
@@ -70,36 +71,41 @@ SharedStub:
 
 	stw	r4,12(sp)			// save GP registers
 	stw	r5,16(sp)			// (n.b. that we don't save r3
 	stw	r6,20(sp)			// because PrepareAndDispatch() is savvy)
 	stw	r7,24(sp)
 	stw	r8,28(sp)
 	stw	r9,32(sp)
 	stw	r10,36(sp)
-
+#ifndef __NO_FPRS__
 	stfd	f1,40(sp)			// save FP registers
 	stfd	f2,48(sp)
 	stfd	f3,56(sp)
 	stfd	f4,64(sp)
 	stfd	f5,72(sp)
 	stfd	f6,80(sp)
 	stfd	f7,88(sp)
 	stfd	f8,96(sp)
+#endif
 
 						// r3 has the 'self' pointer already
 	
 	mr      r4,r11				// r4 <= methodIndex selector, passed
 						// via r11 in the nsXPTCStubBase::StubXX() call
 	
 	addi	r5,sp,120			// r5 <= pointer to callers args area,
 						// beyond r3-r10/f1-f8 mapped range
 	
 	addi	r6,sp,8				// r6 <= gprData
+#ifndef __NO_FPRS__
 	addi	r7,sp,40			// r7 <= fprData
+#else
+	li	r7, 0				// r7 should be unused
+#endif
       
 	bl	PrepareAndDispatch at local	// Go!
     
 	lwz	r0,116(sp)			// restore LR
 	mtlr	r0
 	la	sp,112(sp)			// clean up the stack
 	blr
 
diff --git a/xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc_linux.cpp b/xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc_linux.cpp
index 846583b..8a65994 100644
--- a/xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc_linux.cpp
+++ b/xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc_linux.cpp
@@ -18,16 +18,17 @@
  * Netscape Communications Corporation.
  * Portions created by the Initial Developer are Copyright (C) 1999
  * the Initial Developer. All Rights Reserved.
  *
  * Contributor(s):
  *   Franz.Sirl-kernel at lauterbach.com (Franz Sirl)
  *   beard at netscape.com (Patrick Beard)
  *   waterson at netscape.com (Chris Waterson)
+ *   bigeasy at linutronix.de (Sebastian Andrzej Siewior)
  *
  * Alternatively, the contents of this file may be used under the terms of
  * either of the GNU General Public License Version 2 or later (the "GPL"),
  * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
  * in which case the provisions of the GPL or the LGPL are applicable instead
  * of those above. If you wish to allow use of your version of this file only
  * under the terms of either the GPL or the LGPL, and not to allow others to
  * use your version of this file under the terms of the MPL, indicate your
@@ -44,21 +45,24 @@
 #include "xptiprivate.h"
 
 // The Linux/PPC ABI (aka PPC/SYSV ABI) passes the first 8 integral
 // parameters and the first 8 floating point parameters in registers
 // (r3-r10 and f1-f8), no stack space is allocated for these by the
 // caller.  The rest of the parameters are passed in the callers stack
 // area. The stack pointer has to retain 16-byte alignment, longlongs
 // and doubles are aligned on 8-byte boundaries.
-
+#ifndef __NO_FPRS__
 #define PARAM_BUFFER_COUNT     16
 #define GPR_COUNT               8
 #define FPR_COUNT               8
-
+#else
+#define PARAM_BUFFER_COUNT      8
+#define GPR_COUNT               8
+#endif
 // PrepareAndDispatch() is called by SharedStub() and calls the actual method.
 //
 // - 'args[]' contains the arguments passed on stack
 // - 'gprData[]' contains the arguments passed in integer registers
 // - 'fprData[]' contains the arguments passed in floating point registers
 // 
 // The parameters are mapped into an array of type 'nsXPTCMiniVariant'
 // and then the method gets called.
@@ -93,38 +97,54 @@ PrepareAndDispatch(nsXPTCStubBase* self,
         dispatchParams = paramBuffer;
 
     NS_ASSERTION(dispatchParams,"no place for params");
     if (! dispatchParams)
         return NS_ERROR_OUT_OF_MEMORY;
 
     PRUint32* ap = args;
     PRUint32 gpr = 1;    // skip one GPR register
+#ifndef __NO_FPRS__
     PRUint32 fpr = 0;
+#endif
     PRUint32 tempu32;
     PRUint64 tempu64;
 
     for(i = 0; i < paramCount; i++) {
         const nsXPTParamInfo& param = info->GetParam(i);
         const nsXPTType& type = param.GetType();
         nsXPTCMiniVariant* dp = &dispatchParams[i];
 	
         if (!param.IsOut() && type == nsXPTType::T_DOUBLE) {
+#ifndef __NO_FPRS__
             if (fpr < FPR_COUNT)
                 dp->val.d = fprData[fpr++];
+#else
+            if (gpr & 1)
+                gpr++;
+            if (gpr + 1 < GPR_COUNT) {
+                dp->val.d = *(double*) &gprData[gpr];
+                gpr += 2;
+            }
+#endif
             else {
                 if ((PRUint32) ap & 4) ap++; // doubles are 8-byte aligned on stack
                 dp->val.d = *(double*) ap;
                 ap += 2;
             }
             continue;
         }
         else if (!param.IsOut() && type == nsXPTType::T_FLOAT) {
+#ifndef __NO_FPRS__
             if (fpr < FPR_COUNT)
                 dp->val.f = (float) fprData[fpr++]; // in registers floats are passed as doubles
+#else
+            if (gpr  < GPR_COUNT)
+                dp->val.f = *(float*) &gprData[gpr++];
+#endif
             else
                 dp->val.f = *(float*) ap++;
             continue;
         }
         else if (!param.IsOut() && (type == nsXPTType::T_I64
                                     || type == nsXPTType::T_U64)) {
             if (gpr & 1) gpr++; // longlongs are aligned in odd/even register pairs, eg. r5/r6
             if ((gpr + 1) < GPR_COUNT) {
-- 
1.5.6.5


--k1lZvvs/B4yU6o8G--



------------=_1279672746-9772-0
Content-Type: message/rfc822
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

Received: (at 586072-close) by bugs.debian.org; 21 Jul 2010 00:37:23 +0000
X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02
	(2008-06-10) on busoni.debian.org
X-Spam-Level: 
X-Spam-Bayes: score:0.0000 Tokens: new, 11; hammy, 151; neutral, 387; spammy,
	0. spammytokens: hammytokens:0.000-+--HX-Debian:DAK,
	0.000-+--H*rp:D*ftp-master.debian.org, 0.000-+--HX-DAK:process-upload,
	0.000-+--HX-DAK:dak, 0.000-+--H*r:128.148.34
X-Spam-Status: No, score=-10.8 required=4.0 tests=AWL,BAYES_00,FOURLA,
	FROMDEVELOPER,FVGT_m_MULTI_ODD,HAS_BUG_NUMBER,IMPRONONCABLE_1,IMPRONONCABLE_2,
	MURPHY_WRONG_WORD1,MURPHY_WRONG_WORD2,PGPSIGNATURE,URIBL_CNKR autolearn=ham
	version=3.2.5-bugs.debian.org_2005_01_02
Return-path: <envelope at ftp-master.debian.org>
Received: from franck.debian.org ([128.148.34.3])
	from C=NA,ST=NA,L=Ankh Morpork,O=Debian SMTP,OU=Debian SMTP CA,CN=franck.debian.org,EMAIL=hostmaster at franck.debian.org (verified)
	by busoni.debian.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32)
	(Exim 4.69)
	(envelope-from <envelope at ftp-master.debian.org>)
	id 1ObNJL-0002Kd-GL
	for 586072-close at bugs.debian.org; Wed, 21 Jul 2010 00:37:23 +0000
Received: from dak by franck.debian.org with local (Exim 4.69)
	(envelope-from <envelope at ftp-master.debian.org>)
	id 1ObNJH-0001Bm-Ce; Wed, 21 Jul 2010 00:37:19 +0000
From: Mike Hommey <glandium at debian.org>
To: 586072-close at bugs.debian.org
X-DAK: dak process-upload
X-Debian: DAK
X-Debian-Package: xulrunner
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
Subject: Bug#586072: fixed in xulrunner 1.9.1.11-1
Message-Id: <E1ObNJH-0001Bm-Ce at franck.debian.org>
Sender: Archive Administrator <dak at franck.debian.org>
Date: Wed, 21 Jul 2010 00:37:19 +0000

Source: xulrunner
Source-Version: 1.9.1.11-1

We believe that the bug you reported is fixed in the latest version of
xulrunner, which is due to be installed in the Debian FTP archive:

libmozillainterfaces-java_1.9.1.11-1_all.deb
  to main/x/xulrunner/libmozillainterfaces-java_1.9.1.11-1_all.deb
libmozjs-dev_1.9.1.11-1_amd64.deb
  to main/x/xulrunner/libmozjs-dev_1.9.1.11-1_amd64.deb
libmozjs2d-dbg_1.9.1.11-1_amd64.deb
  to main/x/xulrunner/libmozjs2d-dbg_1.9.1.11-1_amd64.deb
libmozjs2d_1.9.1.11-1_amd64.deb
  to main/x/xulrunner/libmozjs2d_1.9.1.11-1_amd64.deb
python-xpcom_1.9.1.11-1_amd64.deb
  to main/x/xulrunner/python-xpcom_1.9.1.11-1_amd64.deb
spidermonkey-bin_1.9.1.11-1_amd64.deb
  to main/x/xulrunner/spidermonkey-bin_1.9.1.11-1_amd64.deb
xulrunner-1.9.1-dbg_1.9.1.11-1_amd64.deb
  to main/x/xulrunner/xulrunner-1.9.1-dbg_1.9.1.11-1_amd64.deb
xulrunner-1.9.1_1.9.1.11-1_amd64.deb
  to main/x/xulrunner/xulrunner-1.9.1_1.9.1.11-1_amd64.deb
xulrunner-dev_1.9.1.11-1_amd64.deb
  to main/x/xulrunner/xulrunner-dev_1.9.1.11-1_amd64.deb
xulrunner_1.9.1.11-1.debian.tar.gz
  to main/x/xulrunner/xulrunner_1.9.1.11-1.debian.tar.gz
xulrunner_1.9.1.11-1.dsc
  to main/x/xulrunner/xulrunner_1.9.1.11-1.dsc
xulrunner_1.9.1.11.orig.tar.bz2
  to main/x/xulrunner/xulrunner_1.9.1.11.orig.tar.bz2



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 586072 at bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Mike Hommey <glandium at debian.org> (supplier of updated xulrunner package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster at debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Tue, 20 Jul 2010 23:42:15 +0200
Source: xulrunner
Binary: xulrunner-1.9.1 libmozjs2d libmozjs-dev libmozjs2d-dbg spidermonkey-bin xulrunner-dev xulrunner-1.9.1-dbg libmozillainterfaces-java python-xpcom
Architecture: source amd64 all
Version: 1.9.1.11-1
Distribution: unstable
Urgency: high
Maintainer: Maintainers of Mozilla-related packages <pkg-mozilla-maintainers at lists.alioth.debian.org>
Changed-By: Mike Hommey <glandium at debian.org>
Description: 
 libmozillainterfaces-java - XPCOM bindings for Java
 libmozjs-dev - Development files for the Mozilla SpiderMonkey JavaScript library
 libmozjs2d - The Mozilla SpiderMonkey JavaScript library
 libmozjs2d-dbg - Development files for the Mozilla SpiderMonkey JavaScript library
 python-xpcom - XPCOM bindings for Python
 spidermonkey-bin - standalone JavaScript/ECMAScript (ECMA-262) interpreter
 xulrunner-1.9.1 - XUL + XPCOM application runner
 xulrunner-1.9.1-dbg - Debugging symbols for the Gecko engine library
 xulrunner-dev - Development files for the Gecko engine library
Closes: 582071 586072 587636 587637 587639
Changes: 
 xulrunner (1.9.1.11-1) unstable; urgency=high
 .
   * New upstream release.
   * Fixes mfsa-2010-{34-37,39-42,45-47}, also known as
     CVE-2010-1211, CVE-2010-1208, CVE-2010-1209, CVE-2010-1214,
     CVE-2010-2752, CVE-2010-2753, CVE-2010-1205, CVE-2010-1213,
     CVE-2010-2751, CVE-2010-0654, CVE-2010-2754.
 .
   * debian/control*:
     - Add build-depends on libglib2.0-dev (>= 2.18.0) for filemonitor.
       Closes: #587636.
     - Bump libnss build-depends to fit what configure is looking for.
       Closes: #587637.
     - Remove conflict/replace for very old packages.
     - Bump Standards-Version to 3.9.0.0.
     - Fit the Uploaders field to reality.
   * debian/mozconfig.in, debian/rules: Check if mozconfig system library
     options will properly set the right variables. Closes: #587639
   * debian/reftest-app/application.ini: Set a MaxVersion in our reftest-app
     application.ini.
   * debian/extra-stuff/Makefile.in: Use Preprocessor.py instead of
     preprocessor.pl in debian/extra-stuff.
   * debian/python-xpcom.postinst: Run update-python-modules -p after
     python-xpcom installation so that xulrunner trigger doesn't choke.
     Closes: #582071.
   * debian/rules: Only set -std=gnu++0x flag when using g++ 4.4+.
 .
   * xpcom/reflect/xptcall/src/md/unix/*ppc_linux*: Add support for powerpcspe.
     Closes: #586072.
Checksums-Sha1: 
 eb5cc493f83cafa6c08a8d4db6c95b7401c63c0e 2054 xulrunner_1.9.1.11-1.dsc
 a1bbffb1aaf3211d5270497ae4641fb89961bb69 41195805 xulrunner_1.9.1.11.orig.tar.bz2
 284a1b82db1c78a9d4edd7c85417c70e5ef92395 222523 xulrunner_1.9.1.11-1.debian.tar.gz
 08ed42702681f54e7f44c69ce881c61fbd5dbfaa 8407364 xulrunner-1.9.1_1.9.1.11-1_amd64.deb
 c261c10b9013d1f25cfc56e89bb291c2a0ea45c1 417094 libmozjs2d_1.9.1.11-1_amd64.deb
 d67e76b308ddd54bfbd85f3d91b1b99122c23893 260856 libmozjs-dev_1.9.1.11-1_amd64.deb
 519b21b70064a3ab6d765218ea77e1b880853183 1046396 libmozjs2d-dbg_1.9.1.11-1_amd64.deb
 fa4c2d800cacdde52ba81166b40b9d069e21b195 82102 spidermonkey-bin_1.9.1.11-1_amd64.deb
 cf02db58d456510db6bef7715b339416e8f3d8bb 3469486 xulrunner-dev_1.9.1.11-1_amd64.deb
 3f3069ad9c3f973945f00001fe23478dcff1b247 57007432 xulrunner-1.9.1-dbg_1.9.1.11-1_amd64.deb
 b3499ac84082cfc821482b72441fa1572ed084a0 1550564 libmozillainterfaces-java_1.9.1.11-1_all.deb
 d526da84f555f96bdc9abb5be693b57aff7727ea 161618 python-xpcom_1.9.1.11-1_amd64.deb
Checksums-Sha256: 
 71f763e8de0028b477322871a6b52f67545149c2b745d1970f980f891eba8ecf 2054 xulrunner_1.9.1.11-1.dsc
 314b0d0b9df7d389d3d746bf0de8c32d674adb81e717fa7d10f3e577b80d4a95 41195805 xulrunner_1.9.1.11.orig.tar.bz2
 32d514cfbba9b0d5a834c5b9394ac44c321db1974d83daecd13231499ddcd53e 222523 xulrunner_1.9.1.11-1.debian.tar.gz
 578a65ce33af51ef20766cc35ac18911814b8180465c1b77dfd084da6468a8d8 8407364 xulrunner-1.9.1_1.9.1.11-1_amd64.deb
 182ba913aedad8a8d38eabe4fd1e8e038e266ae05a52b27420dcdfe2c510e0e4 417094 libmozjs2d_1.9.1.11-1_amd64.deb
 65a63396a56dfeb0dd601bf64b93c4906174888800e420ecb70728a251f22b95 260856 libmozjs-dev_1.9.1.11-1_amd64.deb
 9c9318766fa9355fab8ba07c0cc66f4850d1ed4eed8f2bfb10575d5aebb5b892 1046396 libmozjs2d-dbg_1.9.1.11-1_amd64.deb
 4cf542f9ceff4b377fa121a83fde4deac7c8275ab766a6b0a93ec3267bddb75c 82102 spidermonkey-bin_1.9.1.11-1_amd64.deb
 0b981a3d8b916f74644ca40fbd0a339103632cd2f52f565b678bb0decd29128e 3469486 xulrunner-dev_1.9.1.11-1_amd64.deb
 01d3b10e5f4a1f822d2ea21b0efd845f988e38c621e98cfd4fb41ec68297a67d 57007432 xulrunner-1.9.1-dbg_1.9.1.11-1_amd64.deb
 64040000a454a48f1ad3e1bdb4561ab2d683aa1aa11e156be407aab78bb49646 1550564 libmozillainterfaces-java_1.9.1.11-1_all.deb
 a26a9934bd786cf579de89af7d0b1576b7ae1714d891effdfb049f2660c3fb60 161618 python-xpcom_1.9.1.11-1_amd64.deb
Files: 
 0cdcb771051c435e3525cf09522559cc 2054 devel optional xulrunner_1.9.1.11-1.dsc
 ef271cdbfa5146d30a8909282bd51e45 41195805 devel optional xulrunner_1.9.1.11.orig.tar.bz2
 2a397f1461357610c44fef62016e4cf9 222523 devel optional xulrunner_1.9.1.11-1.debian.tar.gz
 181e04517cdff842d878fcbccb4c2d40 8407364 libs optional xulrunner-1.9.1_1.9.1.11-1_amd64.deb
 325ce59764f1eca0c3e93f3b07457502 417094 libs optional libmozjs2d_1.9.1.11-1_amd64.deb
 ec6b02e56d7f2dc09ba2e14fb10f86f6 260856 libdevel optional libmozjs-dev_1.9.1.11-1_amd64.deb
 851a1feaef124901a2a03382e5b310f4 1046396 debug extra libmozjs2d-dbg_1.9.1.11-1_amd64.deb
 763d329ba867f99044c570fb8a5aef52 82102 interpreters optional spidermonkey-bin_1.9.1.11-1_amd64.deb
 2d62a5239361ad42a2bf62d9563a6e58 3469486 libdevel optional xulrunner-dev_1.9.1.11-1_amd64.deb
 a23adea7640fdec096246049c87272a8 57007432 debug extra xulrunner-1.9.1-dbg_1.9.1.11-1_amd64.deb
 4b105cd7b4a376da0ba55bfa910b5808 1550564 java extra libmozillainterfaces-java_1.9.1.11-1_all.deb
 29c898f7865c7bd467e1a98a0f2e8cfd 161618 python extra python-xpcom_1.9.1.11-1_amd64.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iD8DBQFMRjYs3kvaLFT9KlgRAtiLAJ9kq6cVm6UiWrjCRkLBdpIHSd3FzACgiekD
ojyrwcUfrWjgKJFz63RycrM=
=Pe6p
-----END PGP SIGNATURE-----



------------=_1279672746-9772-0--



More information about the pkg-mozilla-maintainers mailing list