rpms/kdelibs/devel kdelibs-4.2.0-kjs-gcc44-crash.patch, 1.4, 1.5 kdelibs.spec, 1.473, 1.474

Lukas Tinkl ltinkl at fedoraproject.org
Tue Apr 28 12:20:39 UTC 2009


Author: ltinkl

Update of /cvs/extras/rpms/kdelibs/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv21486/devel

Modified Files:
	kdelibs-4.2.0-kjs-gcc44-crash.patch kdelibs.spec 
Log Message:
/tmp/cvsXCJtVy

kdelibs-4.2.0-kjs-gcc44-crash.patch:

Index: kdelibs-4.2.0-kjs-gcc44-crash.patch
===================================================================
RCS file: /cvs/extras/rpms/kdelibs/devel/kdelibs-4.2.0-kjs-gcc44-crash.patch,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -p -r1.4 -r1.5
--- kdelibs-4.2.0-kjs-gcc44-crash.patch	3 Mar 2009 22:06:11 -0000	1.4
+++ kdelibs-4.2.0-kjs-gcc44-crash.patch	28 Apr 2009 12:20:38 -0000	1.5
@@ -1,12 +1,453 @@
-diff -ur kdelibs-4.2.0/kjs/CMakeLists.txt kdelibs-4.2.0-kjs-gcc44-crash/kjs/CMakeLists.txt
---- kdelibs-4.2.0/kjs/CMakeLists.txt	2008-11-19 11:20:10.000000000 +0100
-+++ kdelibs-4.2.0-kjs-gcc44-crash/kjs/CMakeLists.txt	2009-02-18 19:43:20.000000000 +0100
-@@ -183,6 +183,8 @@
-    CompileState.cpp
-    )
- 
-+set_source_files_properties(dtoa.cpp PROPERTIES COMPILE_FLAGS -fno-strict-aliasing)
-+
- if (NOT DEFINED QT_ONLY)
-    set(KJSLIBNAME kjs)
- else (NOT DEFINED QT_ONLY)
+--- kdelibs/kjs/dtoa.cpp	2009/04/28 10:20:35	960320
++++ kdelibs/kjs/dtoa.cpp	2009/04/28 10:28:50	960321
+@@ -203,11 +203,7 @@
+ #endif
+ 
+ #ifdef MALLOC
+-#ifdef KR_headers
+-extern char *MALLOC();
+-#else
+ extern void *MALLOC(size_t);
+-#endif
+ #else
+ #define MALLOC malloc
+ #endif
+@@ -277,12 +273,8 @@
+ #endif
+ 
+ #ifndef CONST
+-#ifdef KR_headers
+-#define CONST /* blank */
+-#else
+ #define CONST const
+ #endif
+-#endif
+ 
+ #if defined(IEEE_8087) + defined(IEEE_MC68k) + defined(VAX) + defined(IBM) != 1
+ Exactly one of IEEE_8087, IEEE_MC68k, VAX, or IBM should be defined.
+@@ -290,37 +282,19 @@
+ 
+ typedef union { double d; ULong L[2]; } U;
+ 
+-#ifdef YES_ALIAS
+-#define dval(x) x
++#define dval(x) (x).d
+ #ifdef IEEE_8087
+-#define word0(x) ((ULong *)&x)[1]
+-#define word1(x) ((ULong *)&x)[0]
++#define word0(x) (x).L[1]
++#define word1(x) (x).L[0]
+ #else
+-#define word0(x) ((ULong *)&x)[0]
+-#define word1(x) ((ULong *)&x)[1]
+-#endif
+-#else
+-#ifdef IEEE_8087
+-#define word0(x) ((U*)&x)->L[1]
+-#define word1(x) ((U*)&x)->L[0]
+-#else
+-#define word0(x) ((U*)&x)->L[0]
+-#define word1(x) ((U*)&x)->L[1]
+-#endif
+-#define dval(x) ((U*)&x)->d
++#define word0(x) (x).L[0]
++#define word1(x) (x).L[1]
+ #endif
+ 
+ /* The following definition of Storeinc is appropriate for MIPS processors.
+  * An alternative that might be better on some machines is
+- * #define Storeinc(a,b,c) (*a++ = b << 16 | c & 0xffff)
+  */
+-#if defined(IEEE_8087) + defined(VAX)
+-#define Storeinc(a,b,c) (((unsigned short *)a)[1] = (unsigned short)b, \
+-((unsigned short *)a)[0] = (unsigned short)c, a++)
+-#else
+-#define Storeinc(a,b,c) (((unsigned short *)a)[0] = (unsigned short)b, \
+-((unsigned short *)a)[1] = (unsigned short)c, a++)
+-#endif
++#define Storeinc(a,b,c) (*a++ = b << 16 | c & 0xffff)
+ 
+ /* #define P DBL_MANT_DIG */
+ /* Ten_pmax = floor(P*log(2)/log(5)) */
+@@ -444,11 +418,7 @@
+ #ifdef RND_PRODQUOT
+ #define rounded_product(a,b) a = rnd_prod(a, b)
+ #define rounded_quotient(a,b) a = rnd_quot(a, b)
+-#ifdef KR_headers
+-extern double rnd_prod(), rnd_quot();
+-#else
+ extern double rnd_prod(double, double), rnd_quot(double, double);
+-#endif
+ #else
+ #define rounded_product(a,b) a *= b
+ #define rounded_quotient(a,b) a /= b
+@@ -461,11 +431,7 @@
+ #define Pack_32
+ #endif
+ 
+-#ifdef KR_headers
+-#define FFFFFFFF ((((unsigned long)0xffff)<<16)|(unsigned long)0xffff)
+-#else
+ #define FFFFFFFF 0xffffffffUL
+-#endif
+ 
+ #ifdef NO_LONG_LONG
+ #undef ULLong
+@@ -506,11 +472,7 @@
+ 
+  static Bigint *
+ Balloc
+-#ifdef KR_headers
+-	(k) int k;
+-#else
+ 	(int k)
+-#endif
+ {
+ 	int x;
+ 	Bigint *rv;
+@@ -546,11 +508,7 @@
+ 
+  static void
+ Bfree
+-#ifdef KR_headers
+-	(v) Bigint *v;
+-#else
+ 	(Bigint *v)
+-#endif
+ {
+ 	if (v) {
+ 		ACQUIRE_DTOA_LOCK(0);
+@@ -565,11 +523,7 @@
+ 
+  static Bigint *
+ multadd
+-#ifdef KR_headers
+-	(b, m, a) Bigint *b; int m, a;
+-#else
+ 	(Bigint *b, int m, int a)	/* multiply by m and add a */
+-#endif
+ {
+ 	int i, wds;
+ #ifdef ULLong
+@@ -622,11 +576,7 @@
+ 
+  static Bigint *
+ s2b
+-#ifdef KR_headers
+-	(s, nd0, nd, y9) CONST char *s; int nd0, nd; ULong y9;
+-#else
+ 	(CONST char *s, int nd0, int nd, ULong y9)
+-#endif
+ {
+ 	Bigint *b;
+ 	int i, k;
+@@ -660,11 +610,7 @@
+ 
+  static int
+ hi0bits
+-#ifdef KR_headers
+-	(x) register ULong x;
+-#else
+ 	(register ULong x)
+-#endif
+ {
+ 	register int k = 0;
+ 
+@@ -694,11 +640,7 @@
+ 
+  static int
+ lo0bits
+-#ifdef KR_headers
+-	(y) ULong *y;
+-#else
+ 	(ULong *y)
+-#endif
+ {
+ 	register int k;
+ 	register ULong x = *y;
+@@ -742,11 +684,7 @@
+ 
+  static Bigint *
+ i2b
+-#ifdef KR_headers
+-	(i) int i;
+-#else
+ 	(int i)
+-#endif
+ {
+ 	Bigint *b;
+ 
+@@ -758,11 +696,7 @@
+ 
+  static Bigint *
+ mult
+-#ifdef KR_headers
+-	(a, b) Bigint *a, *b;
+-#else
+ 	(Bigint *a, Bigint *b)
+-#endif
+ {
+ 	Bigint *c;
+ 	int k, wa, wb, wc;
+@@ -870,11 +804,7 @@
+ 
+  static Bigint *
+ pow5mult
+-#ifdef KR_headers
+-	(b, k) Bigint *b; int k;
+-#else
+ 	(Bigint *b, int k)
+-#endif
+ {
+ 	Bigint *b1, *p5, *p51;
+ 	int i;
+@@ -927,11 +857,7 @@
+ 
+  static Bigint *
+ lshift
+-#ifdef KR_headers
+-	(b, k) Bigint *b; int k;
+-#else
+ 	(Bigint *b, int k)
+-#endif
+ {
+ 	int i, k1, n, n1;
+ 	Bigint *b1;
+@@ -987,11 +913,7 @@
+ 
+  static int
+ cmp
+-#ifdef KR_headers
+-	(a, b) Bigint *a, *b;
+-#else
+ 	(Bigint *a, Bigint *b)
+-#endif
+ {
+ 	ULong *xa, *xa0, *xb, *xb0;
+ 	int i, j;
+@@ -1021,11 +943,7 @@
+ 
+  static Bigint *
+ diff
+-#ifdef KR_headers
+-	(a, b) Bigint *a, *b;
+-#else
+ 	(Bigint *a, Bigint *b)
+-#endif
+ {
+ 	Bigint *c;
+ 	int i, wa, wb;
+@@ -1115,15 +1033,12 @@
+ 
+  static double
+ ulp
+-#ifdef KR_headers
+-	(x) double x;
+-#else
+-	(double x)
+-#endif
++	(double dx)
+ {
+ 	register Long L;
+-	double a;
++	U x, a;
+ 
++	dval(x) = dx;
+ 	L = (word0(x) & Exp_mask) - (P-1)*Exp_msk1;
+ #ifndef Avoid_Underflow
+ #ifndef Sudden_Underflow
+@@ -1157,15 +1072,11 @@
+ 
+  static double
+ b2d
+-#ifdef KR_headers
+-	(a, e) Bigint *a; int *e;
+-#else
+ 	(Bigint *a, int *e)
+-#endif
+ {
+ 	ULong *xa, *xa0, w, y, z;
+ 	int k;
+-	double d;
++	U d;
+ #ifdef VAX
+ 	ULong d0, d1;
+ #else
+@@ -1227,12 +1138,9 @@
+ 
+  static Bigint *
+ d2b
+-#ifdef KR_headers
+-	(d, e, bits) double d; int *e, *bits;
+-#else
+-	(double d, int *e, int *bits)
+-#endif
++	(double dd, int *e, int *bits)
+ {
++	U d;
+ 	Bigint *b;
+ 	int de, k;
+ 	ULong *x, y, z;
+@@ -1241,6 +1149,9 @@
+ #endif
+ #ifdef VAX
+ 	ULong d0, d1;
++#endif
++	dval(d) = dd;
++#ifdef VAX
+ 	d0 = word0(d) >> 16 | word0(d) << 16;
+ 	d1 = word1(d) >> 16 | word1(d) << 16;
+ #else
+@@ -1365,13 +1276,9 @@
+ 
+  static double
+ ratio
+-#ifdef KR_headers
+-	(a, b) Bigint *a, *b;
+-#else
+ 	(Bigint *a, Bigint *b)
+-#endif
+ {
+-	double da, db;
++	U da, db;
+ 	int k, ka, kb;
+ 
+ 	dval(da) = b2d(a, &ka);
+@@ -1457,11 +1364,7 @@
+ 
+  static int
+ match
+-#ifdef KR_headers
+-	(sp, t) char **sp, *t;
+-#else
+ 	(CONST char **sp, CONST char *t)
+-#endif
+ {
+ 	int c, d;
+ 	CONST char *s = *sp;
+@@ -1479,11 +1382,7 @@
+ #ifndef No_Hex_NaN
+  static void
+ hexnan
+-#ifdef KR_headers
+-	(rvp, sp) double *rvp; CONST char **sp;
+-#else
+-	(double *rvp, CONST char **sp)
+-#endif
++	(U *rvp, CONST char **sp)
+ {
+ 	ULong c, x[2];
+ 	CONST char *s;
+@@ -1533,11 +1432,7 @@
+ 
+  double
+ strtod
+-#ifdef KR_headers
+-	(s00, se) CONST char *s00; char **se;
+-#else
+ 	(CONST char *s00, char **se)
+-#endif
+ {
+ #ifdef Avoid_Underflow
+ 	int scale;
+@@ -1545,7 +1440,8 @@
+ 	int bb2, bb5, bbe, bd2, bd5, bbbits, bs2, c, dsign,
+ 		 e, e1, esign, i, j, k, nd, nd0, nf, nz, nz0, sign;
+ 	CONST char *s, *s0, *s1;
+-	double aadj, aadj1, adj, rv, rv0;
++	double aadj, aadj1, adj;
++	U aadj2, rv, rv0;
+ 	Long L;
+ 	ULong y, z;
+ 	Bigint *bb = NULL, *bb1 = NULL, *bd = NULL, *bd0 = NULL, *bs = NULL, *delta = NULL;
+@@ -2306,7 +2202,9 @@
+ 					aadj = z;
+ 					aadj1 = dsign ? aadj : -aadj;
+ 					}
+-				word0(aadj1) += (2*P+1)*Exp_msk1 - y;
++				dval(aadj2) = aadj1;
++				word0(aadj2) += (2*P+1)*Exp_msk1 - y;
++				aadj1 = dval(aadj2);
+ 				}
+ 			adj = aadj1 * ulp(dval(rv));
+ 			dval(rv) += adj;
+@@ -2423,11 +2321,7 @@
+ 
+  static int
+ quorem
+-#ifdef KR_headers
+-	(b, S) Bigint *b, *S;
+-#else
+ 	(Bigint *b, Bigint *S)
+-#endif
+ {
+ 	int n;
+ 	ULong *bx, *bxe, q, *sx, *sxe;
+@@ -2544,11 +2438,7 @@
+ #endif
+ 
+  static char *
+-#ifdef KR_headers
+-rv_alloc(i) int i;
+-#else
+ rv_alloc(int i)
+-#endif
+ {
+ 	int j, k, *r;
+ 
+@@ -2567,11 +2457,7 @@
+ 	}
+ 
+  static char *
+-#ifdef KR_headers
+-nrv_alloc(s, rve, n) char *s, **rve; int n;
+-#else
+ nrv_alloc(CONST char *s, char **rve, int n)
+-#endif
+ {
+ 	char *rv, *t;
+ 
+@@ -2589,11 +2475,7 @@
+  */
+ 
+  void
+-#ifdef KR_headers
+-freedtoa(s) char *s;
+-#else
+ freedtoa(char *s)
+-#endif
+ {
+ 	Bigint *b = (Bigint *)((int *)s - 1);
+ 	b->maxwds = 1 << (b->k = *(int*)b);
+@@ -2640,12 +2522,7 @@
+ 
+  char *
+ dtoa
+-#ifdef KR_headers
+-	(d, mode, ndigits, decpt, sign, rve)
+-	double d; int mode, ndigits, *decpt, *sign; char **rve;
+-#else
+-	(double d, int mode, int ndigits, int *decpt, int *sign, char **rve)
+-#endif
++	(double dd, int mode, int ndigits, int *decpt, int *sign, char **rve)
+ {
+  /*	Arguments ndigits, decpt, sign are similar to those
+ 	of ecvt and fcvt; trailing zeros are suppressed from
+@@ -2690,7 +2567,8 @@
+ 	ULong x;
+ #endif
+ 	Bigint *b, *b1, *delta, *mlo = NULL, *mhi, *S;
+-	double d2, ds, eps;
++	U d, d2, eps;
++	double ds;
+ 	char *s, *s0;
+ #ifdef Honor_FLT_ROUNDS
+ 	int rounding;
+@@ -2706,6 +2584,7 @@
+ 		}
+ #endif
+ 
++	dval(d) = dd;
+ 	if (word0(d) & Sign_bit) {
+ 		/* set sign for everything, including 0's and NaNs */
+ 		*sign = 1;


Index: kdelibs.spec
===================================================================
RCS file: /cvs/extras/rpms/kdelibs/devel/kdelibs.spec,v
retrieving revision 1.473
retrieving revision 1.474
diff -u -p -r1.473 -r1.474
--- kdelibs.spec	24 Apr 2009 01:45:15 -0000	1.473
+++ kdelibs.spec	28 Apr 2009 12:20:38 -0000	1.474
@@ -1,6 +1,6 @@
 Summary: K Desktop Environment 4 - Libraries
 Version: 4.2.2
-Release: 12%{?dist}
+Release: 13%{?dist}
 
 %if 0%{?fedora} > 8
 Name: kdelibs
@@ -422,6 +422,10 @@ rm -rf %{buildroot}
 
 
 %changelog
+* Tue Apr 28 2009 Lukáš Tinkl <ltinkl at redhat.com> - 4.2.2-13
+- upstream patch to fix GCC4.4 crashes in kjs
+  (kdebug:189809)
+
 * Fri Apr 24 2009 Kevin Kofler <Kevin at tigcc.ticalc.org> - 4.2.2-12
 - drop the PopupApplet configuration backports (#495998) for now, kconf_update
   does not work as expected for Plasma




More information about the fedora-extras-commits mailing list