rpms/gcc/devel gcc41-gomp-static.patch, NONE, 1.1 gcc41-pr22375.patch, NONE, 1.1 gcc41-pr24685.patch, NONE, 1.1 gcc41-rh183212.patch, NONE, 1.1 .cvsignore, 1.142, 1.143 gcc41.spec, 1.47, 1.48 sources, 1.144, 1.145 gcc41-pr27057.patch, 1.1, NONE

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Mon Apr 10 21:31:14 UTC 2006


Author: jakub

Update of /cvs/dist/rpms/gcc/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv14968

Modified Files:
	.cvsignore gcc41.spec sources 
Added Files:
	gcc41-gomp-static.patch gcc41-pr22375.patch 
	gcc41-pr24685.patch gcc41-rh183212.patch 
Removed Files:
	gcc41-pr27057.patch 
Log Message:
4.1.0-7


gcc41-gomp-static.patch:
 gcc.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

--- NEW FILE gcc41-gomp-static.patch ---
Hi!

As reported in http://www.openmp.org/pipermail/omp/2006/000435.html
-static -fopenmp doesn't work, as -lgomp -lrt (in Linux case) comes
before the user objects.  Say gcc -static -fopenmp -v -o a a.c results in:
/usr/libexec/gcc/x86_64-redhat-linux/4.1.0/collect2 -m elf_x86_64 -static \
-o a /usr/lib/gcc/x86_64-redhat-linux/4.1.0/../../../../lib64/crt1.o \
/usr/lib/gcc/x86_64-redhat-linux/4.1.0/../../../../lib64/crti.o \
/usr/lib/gcc/x86_64-redhat-linux/4.1.0/crtbeginT.o -lgomp -lrt \
-L/usr/lib/gcc/x86_64-redhat-linux/4.1.0 -L/usr/lib/gcc/x86_64-redhat-linux/4.1.0 \
-L/usr/lib/gcc/x86_64-redhat-linux/4.1.0/../../../../lib64 -L/lib/../lib64 \
-L/usr/lib/../lib64 /tmp/cckutU0e.o --start-group -lgcc -lgcc_eh -lpthread \
-lc --end-group /usr/lib/gcc/x86_64-redhat-linux/4.1.0/crtend.o \
/usr/lib/gcc/x86_64-redhat-linux/4.1.0/../../../../lib64/crtn.o
(that's on redhat/gcc-4_1-branch, but trunk behaves exactly the same).
The following patch moves %(link_gomp) later into LINK_COMMAND_SPEC,
so in the above example -lgomp -lrt comes in between /tmp/cckutU0e.o
and --start-group.  Ok for trunk?

2006-04-10  Jakub Jelinek  <jakub at redhat.com>

	* gcc.c (LINK_COMMAND_SPEC): Move link_gomp after %o.

--- gcc/gcc.c.jj	2006-01-31 13:52:32.000000000 +0100
+++ gcc/gcc.c	2006-04-10 13:36:15.000000000 +0200
@@ -698,8 +698,8 @@ proper position among the other output f
 %{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:\
     %(linker) %l " LINK_PIE_SPEC "%X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} %{r}\
     %{s} %{t} %{u*} %{x} %{z} %{Z} %{!A:%{!nostdlib:%{!nostartfiles:%S}}}\
-    %{static:} %{L*} %(mfwrap) %{fopenmp:%:include(libgomp.spec)%(link_gomp)}\
-    %(link_libgcc) %o %(mflib)\
+    %{static:} %{L*} %(mfwrap) %(link_libgcc) %o\
+    %{fopenmp:%:include(libgomp.spec)%(link_gomp)} %(mflib)\
     %{fprofile-arcs|fprofile-generate|coverage:-lgcov}\
     %{!nostdlib:%{!nodefaultlibs:%(link_ssp) %(link_gcc_c_sequence)}}\
     %{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} }}}}}}"

	Jakub

gcc41-pr22375.patch:
 0 files changed

--- NEW FILE gcc41-pr22375.patch ---
2006-03-30  Roger Sayle  <roger at eyesopen.com>

	PR middle-end/22375
	* trans.c (gfc_trans_runtime_check): Promote the arguments of
	__builtin_expect to the correct types, and the result back to
	boolean_type_node.

--- gcc/fortran/trans.c	(revision 112546)
+++ gcc/fortran/trans.c	(revision 112547)
@@ -375,9 +375,11 @@ gfc_trans_runtime_check (tree cond, tree
   else
     {
       /* Tell the compiler that this isn't likely.  */
+      cond = fold_convert (long_integer_type_node, cond);
       tmp = gfc_chainon_list (NULL_TREE, cond);
-      tmp = gfc_chainon_list (tmp, integer_zero_node);
+      tmp = gfc_chainon_list (tmp, build_int_cst (long_integer_type_node, 0));
       cond = gfc_build_function_call (built_in_decls[BUILT_IN_EXPECT], tmp);
+      cond = fold_convert (boolean_type_node, cond);
 
       tmp = build3_v (COND_EXPR, cond, body, build_empty_stmt ());
       gfc_add_expr_to_block (pblock, tmp);

gcc41-pr24685.patch:
 write.c |   38 ++++++++++++++++++++++++--------------
 1 files changed, 24 insertions(+), 14 deletions(-)

--- NEW FILE gcc41-pr24685.patch ---
2006-04-07  Jakub Jelinek  <jakub at redhat.com>

	PR libgfortran/24685
	* io/write.c (MIN_FIELD_WIDTH, STR, STR1): Define.
	(output_float): Increase buffer sizes for IEEE quad and IBM extended
	long double.
	(write_real): Output REAL(16) as 1PG43.34E4 rather than 1PG40.31E4.

--- libgfortran/io/write.c.jj	2006-02-14 10:55:02.000000000 -0500
+++ libgfortran/io/write.c	2006-04-07 09:12:46.000000000 -0400
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
    Contributed by Andy Vaught
    Namelist output contibuted by Paul Thomas
 
@@ -376,8 +376,15 @@ calculate_G_format (st_parameter_dt *dtp
 static void
 output_float (st_parameter_dt *dtp, const fnode *f, GFC_REAL_LARGEST value)
 {
+#if defined(HAVE_GFC_REAL_16) && __LDBL_DIG__ > 18
+# define MIN_FIELD_WIDTH 46
+#else
+# define MIN_FIELD_WIDTH 31
+#endif
+#define STR(x) STR1(x)
+#define STR1(x) #x
   /* This must be large enough to accurately hold any value.  */
-  char buffer[32];
+  char buffer[MIN_FIELD_WIDTH+1];
   char *out;
   char *digits;
   int e;
@@ -413,8 +420,8 @@ output_float (st_parameter_dt *dtp, cons
     internal_error (&dtp->common, "Unspecified precision");
 
   /* Use sprintf to print the number in the format +D.DDDDe+ddd
-     For an N digit exponent, this gives us (32-6)-N digits after the
-     decimal point, plus another one before the decimal point.  */
+     For an N digit exponent, this gives us (MIN_FIELD_WIDTH-5)-N digits
+     after the decimal point, plus another one before the decimal point.  */
   sign = calculate_sign (dtp, value < 0.0);
   if (value < 0)
     value = -value;
@@ -439,7 +446,7 @@ output_float (st_parameter_dt *dtp, cons
       || ((ft == FMT_D || ft == FMT_E) && dtp->u.p.scale_factor != 0))
     {
       /* Always convert at full precision to avoid double rounding.  */
-      ndigits = 27 - edigits;
+      ndigits = MIN_FIELD_WIDTH - 4 - edigits;
     }
   else
     {
@@ -449,8 +456,8 @@ output_float (st_parameter_dt *dtp, cons
 	ndigits = d + 1;
       else
 	ndigits = d;
-      if (ndigits > 27 - edigits)
-	ndigits = 27 - edigits;
+      if (ndigits > MIN_FIELD_WIDTH - 4 - edigits)
+	ndigits = MIN_FIELD_WIDTH - 4 - edigits;
     }
 
   /* #   The result will always contain a decimal point, even if no
@@ -460,7 +467,7 @@ output_float (st_parameter_dt *dtp, cons
    *
    * +   A sign (+ or -) always be placed before a number
    *
-   * 31  minimum field width
+   * MIN_FIELD_WIDTH  minimum field width
    *
    * *   (ndigits-1) is used as the precision
    *
@@ -469,8 +476,8 @@ output_float (st_parameter_dt *dtp, cons
    *   equal to the precision. The exponent always contains at least two
    *   digits; if the value is zero, the exponent is 00.
    */
-  sprintf (buffer, "%+-#31.*" GFC_REAL_LARGEST_FORMAT "e",
-           ndigits - 1, value);
+  sprintf (buffer, "%+-#" STR(MIN_FIELD_WIDTH) ".*"
+	   GFC_REAL_LARGEST_FORMAT "e", ndigits - 1, value);
 
   /* Check the resulting string has punctuation in the correct places.  */
   if (buffer[2] != '.' || buffer[ndigits + 2] != 'e')
@@ -777,7 +784,7 @@ output_float (st_parameter_dt *dtp, cons
 	  edigits--;
 	}
 #if HAVE_SNPRINTF
-      snprintf (buffer, 32, "%+0*d", edigits, e);
+      snprintf (buffer, sizeof (buffer), "%+0*d", edigits, e);
 #else
       sprintf (buffer, "%+0*d", edigits, e);
 #endif
@@ -790,6 +797,9 @@ output_float (st_parameter_dt *dtp, cons
       memset( out , ' ' , nblanks );
       dtp->u.p.no_leading_blank = 0;
     }
+#undef STR
+#undef STR1
+#undef MIN_FIELD_WIDTH
 }
 
 
@@ -1352,7 +1362,7 @@ write_character (st_parameter_dt *dtp, c
 
 /* Output a real number with default format.
    This is 1PG14.7E2 for REAL(4), 1PG23.15E3 for REAL(8),
-   1PG24.15E4 for REAL(10) and 1PG40.31E4 for REAL(16).  */
+   1PG28.19E4 for REAL(10) and 1PG43.34E4 for REAL(16).  */
 
 static void
 write_real (st_parameter_dt *dtp, const char *source, int length)
@@ -1379,8 +1389,8 @@ write_real (st_parameter_dt *dtp, const 
       f.u.real.e = 4;
       break;
     case 16:
-      f.u.real.w = 40;
-      f.u.real.d = 31;
+      f.u.real.w = 43;
+      f.u.real.d = 34;
       f.u.real.e = 4;
       break;
     default:

gcc41-rh183212.patch:
 StackTraceElement.java |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

--- NEW FILE gcc41-rh183212.patch ---
2006-04-08  Mark Wielaard  <mark at klomp.org>

	PR 27081
	* java/lang/StackTraceElement.java (toString): Don't add space
	between type and source indicator.

--- libjava/classpath/java/lang/StackTraceElement.java	26 Nov 2005 22:21:26 -0000	1.8
+++ libjava/classpath/java/lang/StackTraceElement.java	8 Apr 2006 11:02:12 -0000	1.9
@@ -211,7 +211,7 @@
       }
     if (methodName != null)
       sb.append(methodName);
-    sb.append(" (");
+    sb.append("(");
     if (fileName != null)
       sb.append(fileName);
     else


Index: .cvsignore
===================================================================
RCS file: /cvs/dist/rpms/gcc/devel/.cvsignore,v
retrieving revision 1.142
retrieving revision 1.143
diff -u -r1.142 -r1.143
--- .cvsignore	6 Apr 2006 16:56:54 -0000	1.142
+++ .cvsignore	10 Apr 2006 21:30:11 -0000	1.143
@@ -1 +1 @@
-gcc-4.1.0-20060406.tar.bz2
+gcc-4.1.0-20060410.tar.bz2


Index: gcc41.spec
===================================================================
RCS file: /cvs/dist/rpms/gcc/devel/gcc41.spec,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -r1.47 -r1.48
--- gcc41.spec	6 Apr 2006 16:56:54 -0000	1.47
+++ gcc41.spec	10 Apr 2006 21:30:22 -0000	1.48
@@ -1,6 +1,6 @@
-%define DATE 20060406
+%define DATE 20060410
 %define gcc_version 4.1.0
-%define gcc_release 6
+%define gcc_release 7
 %define _unpackaged_files_terminate_build 0
 %define multilib_64_archs sparc64 ppc64 s390x x86_64
 %ifarch %{ix86} x86_64 ia64
@@ -113,7 +113,10 @@
 Patch16: gcc41-pr20297-test.patch
 Patch17: gcc41-java-pr13212.patch
 Patch18: gcc41-objc-rh185398.patch
-Patch19: gcc41-pr27057.patch
+Patch19: gcc41-gomp-static.patch
+Patch20: gcc41-pr22375.patch
+Patch21: gcc41-pr24685.patch
+Patch22: gcc41-rh183212.patch
 
 %define _gnu %{nil}
 %ifarch sparc
@@ -411,7 +414,10 @@
 %patch16 -p0 -E -b .pr20297-test~
 %patch17 -p0 -b .java-pr13212~
 %patch18 -p0 -b .objc-rh185398~
-%patch19 -p0 -b .pr27057~
+%patch19 -p0 -b .gomp-static~
+%patch20 -p0 -b .pr22375~
+%patch21 -p0 -b .pr24685~
+%patch22 -p0 -b .rh183212~
 
 sed -i -e 's/4\.1\.1/4.1.0/' gcc/BASE-VER gcc/version.c
 sed -i -e 's/" (Red Hat[^)]*)"/" (Red Hat %{version}-%{gcc_release})"/' gcc/version.c
@@ -1429,13 +1435,24 @@
 %doc rpm.doc/changelogs/libmudflap/ChangeLog*
 
 %changelog
+* Mon Apr 10 2006 Jakub Jelinek <jakub at redhat.com> 4.1.0-7
+- update from gcc-4_1-branch (-r112727:112825)
+  - PRs fortran/19101, fortran/25031, fortran/26779, fortran/26891,
+	fortran/26976, target/26508, tree-optimization/26919
+- fix libgfortran printing of REAL*16 for IEEE quad and IBM extended formats
+  (PR libgfortran/24685)
+- fix Fortran -fbounds-check (Roger Sayle, #188409, PR middle-end/22375)
+- fix Java StackTraceElement.toString() (Mark Wielaard, #183212,
+  PR classpath/27081)
+- fix -fopenmp -static
+
 * Thu Apr  6 2006 Jakub Jelinek <jakub at redhat.com> 4.1.0-6
-- update from gcc-4_1-branch (-r)
+- update from gcc-4_1-branch (-r112706:112727)
   - PRs classpath/24752, classpath/27028, libgcj/26625, libgcj/27024,
 	tree-optimization/26996
 - reenable PR c++/19238, c++/21764 fixes, only PR c++/21581 is not
   applied
-- better fix for Java GC vs. pthread_create (Bryce McKinlay, #,
+- better fix for Java GC vs. pthread_create (Bryce McKinlay, #182263,
   PR libgcj/13212)
 - fix objc_push_parm (#185398)
 - fix ICE with -feliminate-dwarf2-dups and using namespace (#187787,


Index: sources
===================================================================
RCS file: /cvs/dist/rpms/gcc/devel/sources,v
retrieving revision 1.144
retrieving revision 1.145
diff -u -r1.144 -r1.145
--- sources	6 Apr 2006 16:56:54 -0000	1.144
+++ sources	10 Apr 2006 21:30:22 -0000	1.145
@@ -1 +1 @@
-4a823d2ae3352d0bf18d1f25880a6ec0  gcc-4.1.0-20060406.tar.bz2
+56f6a8fc0e1e97ff5f73df39ec08726b  gcc-4.1.0-20060410.tar.bz2


--- gcc41-pr27057.patch DELETED ---




More information about the fedora-cvs-commits mailing list