rpms/gcc/devel gcc41-libgomp-critical.patch, NONE, 1.1 gcc41-merge-all-constants.patch, NONE, 1.1 .cvsignore, 1.156, 1.157 gcc41.spec, 1.74, 1.75 sources, 1.158, 1.159 gcc41-fortran-merge-glitch.patch, 1.3, NONE gcc41-pr27959.patch, 1.1, NONE

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Mon Jun 19 21:02:42 UTC 2006


Author: jakub

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

Modified Files:
	.cvsignore gcc41.spec sources 
Added Files:
	gcc41-libgomp-critical.patch gcc41-merge-all-constants.patch 
Removed Files:
	gcc41-fortran-merge-glitch.patch gcc41-pr27959.patch 
Log Message:
4.1.1-4

gcc41-libgomp-critical.patch:
 critical.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

--- NEW FILE gcc41-libgomp-critical.patch ---
2006-06-19  Jakub Jelinek  <jakub at redhat.com>

	* critical.c (GOMP_critical_name_start): Fix *pptr initialization
	when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
	defined.

--- libgomp/critical.c.jj	2006-01-27 08:31:16.000000000 +0100
+++ libgomp/critical.c	2006-06-19 17:56:16.000000000 +0200
@@ -72,12 +72,14 @@ GOMP_critical_name_start (void **pptr)
 	  gomp_mutex_t *nlock = gomp_malloc (sizeof (gomp_mutex_t));
 	  gomp_mutex_init (nlock);
 
-	  plock = __sync_val_compare_and_swap (pptr, plock, nlock);
-	  if (plock != nlock)
+	  plock = __sync_val_compare_and_swap (pptr, NULL, nlock);
+	  if (plock != NULL)
 	    {
 	      gomp_mutex_destroy (nlock);
 	      free (nlock);
 	    }
+	  else
+	    plock = nlock;
 #else
 	  gomp_mutex_lock (&create_lock_lock);
 	  plock = *pptr;

gcc41-merge-all-constants.patch:
 testsuite/gcc.dg/merge-all-constants-1.c |    8 ++++++++
 varasm.c                                 |    9 ++++++---
 2 files changed, 14 insertions(+), 3 deletions(-)

--- NEW FILE gcc41-merge-all-constants.patch ---
2006-06-19  Jakub Jelinek  <jakub at redhat.com>

	* varasm.c (mergeable_string_section): Check for embedded NULs and
	NUL termination in the first int_size_in_bytes (TREE_TYPE (decl))
	rather than TREE_STRING_LENGTH bytes.

	* gcc.dg/merge-all-constants-1.c: New test.

--- gcc/varasm.c.jj	2006-06-19 12:49:52.000000000 +0200
+++ gcc/varasm.c	2006-06-19 12:50:13.000000000 +0200
@@ -655,16 +655,20 @@ mergeable_string_section (tree decl ATTR
 			  unsigned HOST_WIDE_INT align ATTRIBUTE_UNUSED,
 			  unsigned int flags ATTRIBUTE_UNUSED)
 {
+  HOST_WIDE_INT len;
+
   if (HAVE_GAS_SHF_MERGE && flag_merge_constants
       && TREE_CODE (decl) == STRING_CST
       && TREE_CODE (TREE_TYPE (decl)) == ARRAY_TYPE
       && align <= 256
-      && TREE_STRING_LENGTH (decl) >= int_size_in_bytes (TREE_TYPE (decl)))
+      && (len = int_size_in_bytes (TREE_TYPE (decl))) > 0
+      && TREE_STRING_LENGTH (decl) >= len)
     {
       enum machine_mode mode;
       unsigned int modesize;
       const char *str;
-      int i, j, len, unit;
+      HOST_WIDE_INT i;
+      int j, unit;
       char name[30];
 
       mode = TYPE_MODE (TREE_TYPE (TREE_TYPE (decl)));
@@ -676,7 +680,6 @@ mergeable_string_section (tree decl ATTR
 	    align = modesize;
 
 	  str = TREE_STRING_POINTER (decl);
-	  len = TREE_STRING_LENGTH (decl);
 	  unit = GET_MODE_SIZE (mode);
 
 	  /* Check for embedded NUL characters.  */
--- gcc/testsuite/gcc.dg/merge-all-constants-1.c.jj	2006-06-19 13:02:37.000000000 +0200
+++ gcc/testsuite/gcc.dg/merge-all-constants-1.c	2006-06-19 13:05:23.000000000 +0200
@@ -0,0 +1,8 @@
+/* { dg-do compile } */
+/* { dg-options "-w -O2 -fmerge-all-constants" } */
+
+const char str1[36] = "0123456789abcdefghijklmnopqrstuvwxyz";
+const char str2[38] = "0123456789abcdefghijklmnopqrstuvwxyz";
+const char str3[10] = "0123456789abcdefghijklmnopqrstuvwxyz";
+
+/* { dg-final { scan-assembler-not "\.rodata\.str" } } */


Index: .cvsignore
===================================================================
RCS file: /cvs/dist/rpms/gcc/devel/.cvsignore,v
retrieving revision 1.156
retrieving revision 1.157
diff -u -r1.156 -r1.157
--- .cvsignore	12 Jun 2006 12:29:39 -0000	1.156
+++ .cvsignore	19 Jun 2006 21:02:26 -0000	1.157
@@ -1 +1 @@
-gcc-4.1.1-20060612.tar.bz2
+gcc-4.1.1-20060619.tar.bz2


Index: gcc41.spec
===================================================================
RCS file: /cvs/dist/rpms/gcc/devel/gcc41.spec,v
retrieving revision 1.74
retrieving revision 1.75
diff -u -r1.74 -r1.75
--- gcc41.spec	13 Jun 2006 20:12:36 -0000	1.74
+++ gcc41.spec	19 Jun 2006 21:02:26 -0000	1.75
@@ -1,6 +1,6 @@
-%define DATE 20060612
+%define DATE 20060619
 %define gcc_version 4.1.1
-%define gcc_release 3
+%define gcc_release 4
 %define _unpackaged_files_terminate_build 0
 %define multilib_64_archs sparc64 ppc64 s390x x86_64
 %ifarch %{ix86} x86_64 ia64
@@ -123,8 +123,8 @@
 Patch22: gcc41-pr26881.patch
 Patch23: gcc41-pr27793.patch
 Patch24: gcc41-pr26885.patch
-Patch25: gcc41-fortran-merge-glitch.patch
-Patch26: gcc41-pr27959.patch
+Patch25: gcc41-libgomp-critical.patch
+Patch26: gcc41-merge-all-constants.patch
 %define _gnu %{nil}
 %ifarch sparc
 %define gcc_target_platform sparc64-%{_vendor}-%{_target_os}
@@ -427,8 +427,8 @@
 %patch22 -p0 -b .pr26881~
 %patch23 -p0 -b .pr27793~
 %patch24 -p0 -b .pr26885~
-%patch25 -p0 -b .fortran-merge-glitch~
-%patch26 -p0 -b .pr27959~
+%patch25 -p0 -b .libgomp-critical~
+%patch26 -p0 -b .merge-all-constants~
 
 sed -i -e 's/4\.1\.2/4.1.1/' gcc/BASE-VER gcc/version.c
 sed -i -e 's/" (Red Hat[^)]*)"/" (Red Hat %{version}-%{gcc_release})"/' gcc/version.c
@@ -1470,6 +1470,17 @@
 %doc rpm.doc/changelogs/libmudflap/ChangeLog*
 
 %changelog
+* Mon Jun 19 2006 Jakub Jelinek <jakub at redhat.com> 4.1.1-4
+- update from gcc-4_1-branch (-r114555:114766)
+  - PRs bootstrap/22541, c++/21210, c++/26559, c++/27227, c++/27648,
+	c++/27665, c++/27666, c++/27689, c++/27884, c++/27933, c++/27951,
+	fortran/27786, java/28024, middle-end/27733, middle-end/27802,
+	target/27858, tree-optimization/27830
+- merge gomp changes from the trunk (-r114642:114643)
+  - PR libgomp/28008
+- fix -fmerge-all-constants
+- fix #pragma omp critical handling if not --enable-linux-futex
+
 * Tue Jun 13 2006 Jakub Jelinek <jakub at redhat.com> 4.1.1-3
 - add BuildRequires for elfutils-devel on ia64
 - fix a reload bug visible on s390x (Andreas Krebbel, #193912,


Index: sources
===================================================================
RCS file: /cvs/dist/rpms/gcc/devel/sources,v
retrieving revision 1.158
retrieving revision 1.159
diff -u -r1.158 -r1.159
--- sources	12 Jun 2006 12:29:39 -0000	1.158
+++ sources	19 Jun 2006 21:02:26 -0000	1.159
@@ -1 +1 @@
-2c8d223d158721bcc926b014998d3f3f  gcc-4.1.1-20060612.tar.bz2
+2f40477c2c31cfe5832a96eb006a9f93  gcc-4.1.1-20060619.tar.bz2


--- gcc41-fortran-merge-glitch.patch DELETED ---


--- gcc41-pr27959.patch DELETED ---




More information about the fedora-cvs-commits mailing list