public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/gcc] rhel-f41-base: 7.0.1-0.8
@ 2026-06-29 12:27 Jakub Jelinek
  0 siblings, 0 replies; only message in thread
From: Jakub Jelinek @ 2026-06-29 12:27 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/gcc
Branch : rhel-f41-base
Commit : a15b5bd3a08805c8d4d1a4d785659ab92f9600e7
Author : Jakub Jelinek <jakub@redhat.com>
Date   : 2017-02-11T10:56:13+01:00
Stats  : +115/-139 in 6 file(s)
URL    : https://src.fedoraproject.org/rpms/gcc/c/a15b5bd3a08805c8d4d1a4d785659ab92f9600e7?branch=rhel-f41-base

Log:
7.0.1-0.8

---
diff --git a/.gitignore b/.gitignore
index ce2a86d..d0b1268 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,4 @@
 /gcc-7.0.1-20170201.tar.bz2
 /gcc-7.0.1-20170204.tar.bz2
 /gcc-7.0.1-20170209.tar.bz2
+/gcc-7.0.1-20170211.tar.bz2

diff --git a/gcc.spec b/gcc.spec
index 975d2e7..09e0712 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -1,10 +1,10 @@
-%global DATE 20170209
-%global SVNREV 245310
+%global DATE 20170211
+%global SVNREV 245356
 %global gcc_version 7.0.1
 %global gcc_major 7
 # Note, gcc_release must be integer, if you want to add suffixes to
 # %{release}, append them after %{gcc_release} on Release: line.
-%global gcc_release 0.7
+%global gcc_release 0.8
 %global nvptx_tools_gitrev c28050f60193b3b95a18866a96f03334e874e78f
 %global nvptx_newlib_gitrev aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24
 %global _unpackaged_files_terminate_build 0
@@ -234,7 +234,7 @@ Patch10: gcc7-foffload-default.patch
 Patch11: gcc7-pr79232.patch
 Patch12: gcc7-pr79288.patch
 Patch13: gcc7-pr79341.patch
-Patch14: gcc7-s390x-libsanitizer-CVE.patch
+Patch14: gcc7-pr79388.patch
 
 Patch1000: nvptx-tools-no-ptxas.patch
 Patch1001: nvptx-tools-build.patch
@@ -825,7 +825,7 @@ package or when debugging this package.
 %patch11 -p0 -b .pr79232~
 %patch12 -p0 -b .pr79288~
 %patch13 -p0 -b .pr79341~
-%patch14 -p0 -b .s390x-libsanitizer-CVE~
+%patch14 -p0 -b .pr79388~
 
 cd nvptx-tools-%{nvptx_tools_gitrev}
 %patch1000 -p1 -b .nvptx-tools-no-ptxas~
@@ -1758,18 +1758,14 @@ echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libatomic.so.1.* | sed 's,
 %if %{build_libasan}
 rm -f libasan.so
 echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libasan.so.4.* | sed 's,^.*liba,liba,'`' )' > libasan.so
-%ifnarch s390x
 echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libasan.so.4.* | sed 's,^.*liba,liba,'`' )' > 32/libasan.so
 mv ../../../../lib/libasan_preinit.o 32/libasan_preinit.o
 %endif
-%endif
 %if %{build_libubsan}
 rm -f libubsan.so
 echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libubsan.so.0.* | sed 's,^.*libu,libu,'`' )' > libubsan.so
-%ifnarch s390x
 echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libubsan.so.0.* | sed 's,^.*libu,libu,'`' )' > 32/libubsan.so
 %endif
-%endif
 %if %{build_libcilkrts}
 rm -f libcilkrts.so
 echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libcilkrts.so.5.* | sed 's,^.*libc,libc,'`' )' > libcilkrts.so
@@ -2500,7 +2496,6 @@ fi
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libatomic.a
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libatomic.so
 %endif
-%ifnarch s390x
 %if %{build_libasan}
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libasan.a
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libasan.so
@@ -2510,7 +2505,6 @@ fi
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libubsan.a
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libubsan.so
 %endif
-%endif
 %if %{build_libcilkrts}
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libcilkrts.a
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libcilkrts.so
@@ -3247,6 +3241,15 @@ fi
 %endif
 
 %changelog
+* Sat Feb 11 2017 Jakub Jelinek <jakub@redhat.com> 7.0.1-0.8
+- update from the trunk
+  - PRs c++/71285, c++/78897, c++/78908, c++/79143, c++/79184, c++/79316,
+	c++/79350, c++/79401, c++/79435, c++/79457, ipa/70795,
+	middle-end/79454, target/79295, tree-optimization/66612,
+	tree-optimization/79411
+- fix combiner get_last_value handling (PRs rtl-optimization/79388,
+  rtl-optimization/79450)
+
 * Thu Feb  9 2017 Jakub Jelinek <jakub@redhat.com> 7.0.1-0.7
 - update from the trunk
   - PRs c++/70448, c++/71193, c++/79360, c++/79372, c++/79377, c++/79379,

diff --git a/gcc7-pr79341.patch b/gcc7-pr79341.patch
index 7a4f485..0fd726d 100644
--- a/gcc7-pr79341.patch
+++ b/gcc7-pr79341.patch
@@ -1,84 +1,26 @@
-2017-02-08  Jakub Jelinek  <jakub@redhat.com>
+2017-02-10  Jakub Jelinek  <jakub@redhat.com>
 
 	PR sanitizer/79341
-	* sanitizer_common/sanitizer_common_interceptors.inc
-	(INIT_TLS_GET_ADDR): INTERCEPT_FUNCTION __tls_get_offset rather than
-	__tls_get_addr_internal.
-	(__tls_get_addr_internal): Call __tls_get_offset_wrapper with
-	REAL(__tls_get_offset) as another arugment instead of calling
-	REAL(__tls_get_addr_internal).
-	(__tls_get_offset): Call __tls_get_addr_hidden instead of
-	__interceptor___tls_get_addr_internal_protected.
-	(__tls_get_offset_wrapper): New function.
+	* c-c++-common/ubsan/float-cast-overflow-8.c (TEST): Make min and max
+	variables volatile.
 
---- libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc.jj	2017-02-07 11:08:15.000000000 -0500
-+++ libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc	2017-02-08 05:28:58.656850984 -0500
-@@ -4550,11 +4550,15 @@ void *__tls_get_addr_opt(void *arg);
- //   descriptor offset as an argument instead of a pointer.  GOT address
- //   is passed in r12, so it's necessary to write it in assembly.  This is
- //   the function used by the compiler.
--#define INIT_TLS_GET_ADDR COMMON_INTERCEPT_FUNCTION(__tls_get_addr_internal)
-+extern "C" uptr __tls_get_offset_wrapper (void *arg, uptr (*fn) (void *));
-+#define INIT_TLS_GET_ADDR COMMON_INTERCEPT_FUNCTION(__tls_get_offset)
-+DEFINE_REAL(uptr, __tls_get_offset, void *arg)
-+extern "C" uptr __tls_get_offset (void *arg);
-+extern "C" uptr __interceptor___tls_get_offset (void *arg);
- INTERCEPTOR(uptr, __tls_get_addr_internal, void *arg) {
-   void *ctx;
-   COMMON_INTERCEPTOR_ENTER(ctx, __tls_get_addr_internal, arg);
--  uptr res = REAL(__tls_get_addr_internal)(arg);
-+  uptr res = __tls_get_offset_wrapper(arg, REAL(__tls_get_offset));
-   uptr tp = reinterpret_cast<uptr>(__builtin_thread_pointer());
-   void *ptr = reinterpret_cast<void *>(res + tp);
-   uptr tls_begin, tls_end;
-@@ -4569,29 +4573,42 @@ INTERCEPTOR(uptr, __tls_get_addr_interna
- // We need a protected symbol aliasing the above, so that we can jump
- // directly to it from the assembly below.
- extern "C" __attribute__((alias("__interceptor___tls_get_addr_internal"),
--                          visibility("protected")))
--uptr __interceptor___tls_get_addr_internal_protected(void *arg);
-+                          visibility("hidden")))
-+uptr __tls_get_addr_hidden(void *arg);
- // Now carefully intercept __tls_get_offset.
- asm(
-   ".text\n"
--  ".global __tls_get_offset\n"
--  "__tls_get_offset:\n"
- // The __intercept_ version has to exist, so that gen_dynamic_list.py
- // exports our symbol.
-+  ".weak __tls_get_offset\n"
-+  ".type __tls_get_offset, @function\n"
-+  "__tls_get_offset:\n"
-   ".global __interceptor___tls_get_offset\n"
-+  ".type __interceptor___tls_get_offset, @function\n"
-   "__interceptor___tls_get_offset:\n"
- #ifdef __s390x__
-   "la %r2, 0(%r2,%r12)\n"
--  "jg __interceptor___tls_get_addr_internal_protected\n"
-+  "jg __tls_get_addr_hidden\n"
- #else
-   "basr %r3,0\n"
-   "0: la %r2,0(%r2,%r12)\n"
-   "l %r4,1f-0b(%r3)\n"
-   "b 0(%r4,%r3)\n"
--  "1: .long __interceptor___tls_get_addr_internal_protected - 0b\n"
-+  "1: .long __tls_get_addr_hidden - 0b\n"
- #endif
--  ".type __tls_get_offset, @function\n"
--  ".size __tls_get_offset, .-__tls_get_offset\n"
-+  ".size __interceptor___tls_get_offset, .-__interceptor___tls_get_offset\n"
-+// Assembly wrapper to call REAL(__tls_get_offset)(arg)
-+  ".type __tls_get_offset_wrapper, @function\n"
-+  "__tls_get_offset_wrapper:\n"
-+#ifdef __s390x__
-+  "sgr %r2,%r12\n"
-+  "lgr %r1,%r3\n"
-+#else
-+  "sr %r2,%r12\n"
-+  "lr %r1,%r3\n"
-+#endif
-+  "br %r1\n"
-+  ".size __tls_get_offset_wrapper, .-__tls_get_offset_wrapper\n"
- );
- #endif // SANITIZER_S390
- #else
+--- gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-8.c.jj	2015-10-29 09:14:30.000000000 +0100
++++ gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-8.c	2017-02-10 18:09:47.767251774 +0100
+@@ -8,7 +8,7 @@
+ #define TEST(type1, type2) \
+   if (type1##_MIN)						\
+     {								\
+-      type2 min = type1##_MIN;					\
++      volatile type2 min = type1##_MIN;				\
+       type2 add = -1.0;						\
+       while (1)							\
+ 	{							\
+@@ -28,7 +28,7 @@
+       volatile type1 tem3 = cvt_##type1##_##type2 (-1.0f);	\
+     }								\
+   {								\
+-    type2 max = type1##_MAX;					\
++    volatile type2 max = type1##_MAX;				\
+     type2 add = 1.0;						\
+     while (1)							\
+       {								\

diff --git a/gcc7-pr79388.patch b/gcc7-pr79388.patch
new file mode 100644
index 0000000..097e0eb
--- /dev/null
+++ b/gcc7-pr79388.patch
@@ -0,0 +1,76 @@
+2017-02-10  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/79388
+	PR rtl-optimization/79450
+	* combine.c (distribute_notes): When removing TEM_INSN for which
+	corresponding dest has last value recorded, invalidate that last
+	value.
+
+	* gcc.c-torture/execute/pr79388.c: New test.
+	* gcc.c-torture/execute/pr79450.c: New test.
+
+--- gcc/combine.c.jj	2017-01-30 09:31:48.000000000 +0100
++++ gcc/combine.c	2017-02-10 17:05:57.500482518 +0100
+@@ -14288,6 +14288,11 @@ distribute_notes (rtx notes, rtx_insn *f
+ 					    NULL_RTX, NULL_RTX, NULL_RTX);
+ 			  distribute_links (LOG_LINKS (tem_insn));
+ 
++			  unsigned int regno = REGNO (XEXP (note, 0));
++			  reg_stat_type *rsp = &reg_stat[regno];
++			  if (rsp->last_set == tem_insn)
++			    record_value_for_reg (XEXP (note, 0), NULL, NULL_RTX);
++
+ 			  SET_INSN_DELETED (tem_insn);
+ 			  if (tem_insn == i2)
+ 			    i2 = NULL;
+--- gcc/testsuite/gcc.c-torture/execute/pr79388.c.jj	2017-02-10 17:03:01.993814529 +0100
++++ gcc/testsuite/gcc.c-torture/execute/pr79388.c	2017-02-10 17:02:50.000000000 +0100
+@@ -0,0 +1,23 @@
++/* PR rtl-optimization/79388 */
++/* { dg-additional-options "-fno-tree-coalesce-vars" } */
++
++unsigned int a, c;
++
++__attribute__ ((noinline, noclone)) unsigned int
++foo (unsigned int p)
++{
++  p |= 1;
++  p &= 0xfffe;
++  p %= 0xffff;
++  c = p;
++  return a + p;
++}
++
++int
++main (void)
++{
++  int x = foo (6);
++  if (x != 6)
++    __builtin_abort();
++  return 0;
++}
+--- gcc/testsuite/gcc.c-torture/execute/pr79450.c.jj	2017-02-10 17:03:45.698233423 +0100
++++ gcc/testsuite/gcc.c-torture/execute/pr79450.c	2017-02-10 17:03:39.000000000 +0100
+@@ -0,0 +1,22 @@
++/* PR rtl-optimization/79450 */
++
++unsigned int
++foo (unsigned char x, unsigned long long y)
++{
++  do
++    {
++      x &= !y;
++      x %= 24;
++    }
++  while (x < y);
++  return x + y;
++}
++
++int
++main (void)
++{
++  unsigned int x = foo (1, 0);
++  if (x != 1)
++    __builtin_abort ();
++  return 0;
++}

diff --git a/gcc7-s390x-libsanitizer-CVE.patch b/gcc7-s390x-libsanitizer-CVE.patch
deleted file mode 100644
index bae9f9b..0000000
--- a/gcc7-s390x-libsanitizer-CVE.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-2017-02-08  Jakub Jelinek  <jakub@redhat.com>
-
-	PR sanitizer/79341
-	* sanitizer_common/sanitizer_linux_s390.cc (FixedCVE_2016_2143):
-	Whiltelist fixed RHEL6 and RHEL7 kernels.
-
---- libsanitizer/sanitizer_common/sanitizer_linux_s390.cc	2016-11-09 15:22:41.917353799 +0100
-+++ libsanitizer/sanitizer_common/sanitizer_linux_s390.cc	2017-02-08 15:36:44.335857387 +0100
-@@ -134,6 +134,18 @@ static bool FixedCVE_2016_2143() {
-   if (ptr[0] == '.')
-     patch = internal_simple_strtoll(ptr+1, &ptr, 10);
-   if (major < 3) {
-+    if (major == 2 && minor == 6 && patch == 32 && ptr[0] == '-'
-+	&& internal_strstr(ptr, ".el6")) {
-+      // Check RHEL6
-+      int r1 = internal_simple_strtoll(ptr+1, &ptr, 10);
-+      if (r1 >= 657) // 2.6.32-657.el6 or later
-+	return true;
-+      if (r1 == 642 && ptr[0] == '.') {
-+	int r2 = internal_simple_strtoll(ptr+1, &ptr, 10);
-+	if (r2 >= 9) // 2.6.32-642.9.1.el6 or later
-+	  return true;
-+      }
-+    }
-     // <3.0 is bad.
-     return false;
-   } else if (major == 3) {
-@@ -143,6 +155,18 @@ static bool FixedCVE_2016_2143() {
-     // 3.12.58+ is OK.
-     if (minor == 12 && patch >= 58)
-       return true;
-+    if (minor == 10 && patch == 0 && ptr[0] == '-'
-+	&& internal_strstr(ptr, ".el7")) {
-+      // Check RHEL7
-+      int r1 = internal_simple_strtoll(ptr+1, &ptr, 10);
-+      if (r1 >= 426) // 3.10.0-426.el7 or later
-+	return true;
-+      if (r1 == 327 && ptr[0] == '.') {
-+	int r2 = internal_simple_strtoll(ptr+1, &ptr, 10);
-+	if (r2 >= 27) // 3.10.0-327.27.1.el7 or later
-+	  return true;
-+      }
-+    }
-     // Otherwise, bad.
-     return false;
-   } else if (major == 4) {

diff --git a/sources b/sources
index 68def56..043ea9e 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
-SHA512 (gcc-7.0.1-20170209.tar.bz2) = 44841b8d87a8d34ec9bd944858a34a4a51f70290b76adabd01bddcf559f7f37dc187adb7d1b8e60d22bc08c363c2a048b8e84c61c4a6e51c022f654415c11940
+SHA512 (gcc-7.0.1-20170211.tar.bz2) = bcc672ca80bb0c6e8e396bcf2f3f7fb22d3a8688317181c193c9085bcd0379b945cc25d8d44b0eded94661b50079dbce4c26ff947ae51b42b7509eb9c384ec60
 SHA512 (nvptx-newlib-aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24.tar.bz2) = 38f97c9297ad108568352a4d28277455a3c01fd8b7864e798037e5006b6f757022e874bbf3f165775fe3b873781bc108137bbeb42dd5ed3c7d3e6747746fa918
 SHA512 (nvptx-tools-c28050f60193b3b95a18866a96f03334e874e78f.tar.bz2) = 95b577a06a93bb044dbc8033e550cb36bcf2ab2687da030a7318cdc90e7467ed49665e247dcafb5ff4a7e92cdc264291d19728bd17fab902fb64b22491269330

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-06-29 12:27 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-29 12:27 [rpms/gcc] rhel-f41-base: 7.0.1-0.8 Jakub Jelinek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox