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

A new commit has been pushed.

Repo   : rpms/gcc
Branch : rhel-f41-base
Commit : 8938366a48c1a4d68a77face9226a1cb00c061f2
Author : Jakub Jelinek <jakub@redhat.com>
Date   : 2013-05-07T13:12:58+02:00
Stats  : +45/-346 in 6 file(s)
URL    : https://src.fedoraproject.org/rpms/gcc/c/8938366a48c1a4d68a77face9226a1cb00c061f2?branch=rhel-f41-base

Log:
4.8.0-4

---
diff --git a/.gitignore b/.gitignore
index 03c6066..7dc56da 100644
--- a/.gitignore
+++ b/.gitignore
@@ -70,3 +70,4 @@
 /gcc-4.8.0-20130322.tar.bz2
 /gcc-4.8.0-20130412.tar.bz2
 /gcc-4.8.0-20130419.tar.bz2
+/gcc-4.8.0-20130507.tar.bz2

diff --git a/gcc.spec b/gcc.spec
index 8d091fc..44af22f 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -1,9 +1,9 @@
-%global DATE 20130419
-%global SVNREV 198097
+%global DATE 20130507
+%global SVNREV 198674
 %global gcc_version 4.8.0
 # 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 3
+%global gcc_release 4
 %global _unpackaged_files_terminate_build 0
 %global multilib_64_archs sparc64 ppc64 s390x x86_64
 %ifarch %{ix86} x86_64 ia64 ppc ppc64 alpha
@@ -41,7 +41,7 @@
 %else
 %global build_libatomic 0
 %endif
-%ifarch %{ix86} x86_64 %{arm} alpha ppc ppc64
+%ifarch %{ix86} x86_64 %{arm} alpha ppc ppc64 s390 s390x
 %global build_libitm 1
 %else
 %global build_libitm 0
@@ -193,8 +193,7 @@ Patch9: gcc48-cloog-dl2.patch
 Patch10: gcc48-pr38757.patch
 Patch11: gcc48-libstdc++-docs.patch
 Patch12: gcc48-no-add-needed.patch
-Patch13: gcc48-pr56999.patch
-Patch14: gcc48-pr57000.patch
+Patch13: gcc48-rh957778.patch
 
 Patch1000: fastjar-0.97-segfault.patch
 Patch1001: fastjar-0.97-len1.patch
@@ -748,8 +747,7 @@ package or when debugging this package.
 %patch11 -p0 -b .libstdc++-docs~
 %endif
 %patch12 -p0 -b .no-add-needed~
-%patch13 -p0 -b .pr56999~
-%patch14 -p0 -b .pr57000~
+%patch13 -p0 -b .rh957778~
 
 %if 0%{?_enable_debug_packages}
 cat > split-debuginfo.sh <<\EOF
@@ -2983,6 +2981,26 @@ fi
 %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/plugin
 
 %changelog
+* Tue May  7 2013 Jakub Jelinek <jakub@redhat.com> 4.8.0-4
+- update from the 4.8 branch
+  - PRs ada/56474, c++/50261, c++/56450, c++/56859, c++/56970, c++/57064,
+	c++/57092, c++/57183, debug/57184, fortran/51825, fortran/52512,
+	fortran/53685, fortran/56786, fortran/56814, fortran/56872,
+	fortran/56968, fortran/57022, libfortran/51825, libfortran/52512,
+	libfortran/56786, libstdc++/57010, middle-end/57103,
+	rtl-optimization/56605, rtl-optimization/56847,
+	rtl-optimization/57003, rtl-optimization/57130,
+	rtl-optimization/57131, rtl-optimizations/57046, sanitizer/56990,
+	target/44578, target/55445, target/56797, target/56866, target/57018,
+	target/57091, target/57097, target/57098, target/57106, target/57108,
+	target/57150, tree-optimization/57051, tree-optimization/57066,
+	tree-optimization/57083, tree-optimization/57104,
+	tree-optimization/57149, tree-optimization/57185
+  - fix gcj with -fsection-anchors (#952673, PR libgcj/57074)
+- enable libitm on s390{,x}
+- error when linking with both -fsanitize=address and -fsanitize=thread
+  (#957778)
+
 * Fri Apr 19 2013 Jakub Jelinek <jakub@redhat.com> 4.8.0-3
 - update from the 4.8 branch
   - PRs c++/56388, fortran/56816, fortran/56994, rtl-optimization/56992,

diff --git a/gcc48-pr56999.patch b/gcc48-pr56999.patch
deleted file mode 100644
index d8e15a6..0000000
--- a/gcc48-pr56999.patch
+++ /dev/null
@@ -1,306 +0,0 @@
-2013-04-18  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR rtl-optimization/56999
-	* lra-coalesce.c (coalescable_pseudo_p): Remove 2nd parameter and
-	related code.
-	(lra_coalesce): Remove split_origin_bitmap and related code.
-	* lra.c (lra): Coalesce after undoing inheritance.  Recreate live
-	ranges if necessary.
-
-2013-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/56999
-	* g++.dg/opt/pr56999.C: New test.
-
---- gcc/lra-coalesce.c	(revision 198081)
-+++ gcc/lra-coalesce.c	(revision 198083)
-@@ -201,24 +201,14 @@ update_live_info (bitmap lr_bitmap)
-     }
- }
- 
--/* Return true if pseudo REGNO can be potentially coalesced.  Use
--   SPLIT_PSEUDO_BITMAP to find pseudos whose live ranges were
--   split.  */
-+/* Return true if pseudo REGNO can be potentially coalesced.  */
- static bool
--coalescable_pseudo_p (int regno, bitmap split_origin_bitmap)
-+coalescable_pseudo_p (int regno)
- {
-   lra_assert (regno >= FIRST_PSEUDO_REGISTER);
--  /* Don't coalesce inheritance pseudos because spilled inheritance
--     pseudos will be removed in subsequent 'undo inheritance'
--     pass.  */
--  return (lra_reg_info[regno].restore_regno < 0
--	  /* We undo splits for spilled pseudos whose live ranges were
--	     split.  So don't coalesce them, it is not necessary and
--	     the undo transformations would be wrong.  */
--	  && ! bitmap_bit_p (split_origin_bitmap, regno)
--	  /* We don't want to coalesce regnos with equivalences, at
-+  return (/* We don't want to coalesce regnos with equivalences, at
- 	     least without updating this info.  */
--	  && ira_reg_equiv[regno].constant == NULL_RTX
-+	  ira_reg_equiv[regno].constant == NULL_RTX
- 	  && ira_reg_equiv[regno].memory == NULL_RTX
- 	  && ira_reg_equiv[regno].invariant == NULL_RTX);
- }
-@@ -230,12 +220,10 @@ lra_coalesce (void)
- {
-   basic_block bb;
-   rtx mv, set, insn, next, *sorted_moves;
--  int i, mv_num, sregno, dregno, restore_regno;
--  unsigned int regno;
-+  int i, mv_num, sregno, dregno;
-   int coalesced_moves;
-   int max_regno = max_reg_num ();
--  bitmap_head involved_insns_bitmap, split_origin_bitmap;
--  bitmap_iterator bi;
-+  bitmap_head involved_insns_bitmap;
- 
-   timevar_push (TV_LRA_COALESCE);
- 
-@@ -249,11 +237,6 @@ lra_coalesce (void)
-     first_coalesced_pseudo[i] = next_coalesced_pseudo[i] = i;
-   sorted_moves = XNEWVEC (rtx, get_max_uid ());
-   mv_num = 0;
--  /* Collect pseudos whose live ranges were split.  */
--  bitmap_initialize (&split_origin_bitmap, &reg_obstack);
--  EXECUTE_IF_SET_IN_BITMAP (&lra_split_regs, 0, regno, bi)
--    if ((restore_regno = lra_reg_info[regno].restore_regno) >= 0)
--      bitmap_set_bit (&split_origin_bitmap, restore_regno);
-   /* Collect moves.  */
-   coalesced_moves = 0;
-   FOR_EACH_BB (bb)
-@@ -265,15 +248,13 @@ lra_coalesce (void)
- 	    && (sregno = REGNO (SET_SRC (set))) >= FIRST_PSEUDO_REGISTER
- 	    && (dregno = REGNO (SET_DEST (set))) >= FIRST_PSEUDO_REGISTER
- 	    && mem_move_p (sregno, dregno)
--	    && coalescable_pseudo_p (sregno, &split_origin_bitmap)
--	    && coalescable_pseudo_p (dregno, &split_origin_bitmap)
-+	    && coalescable_pseudo_p (sregno) && coalescable_pseudo_p (dregno)
- 	    && ! side_effects_p (set)
- 	    && !(lra_intersected_live_ranges_p
- 		 (lra_reg_info[sregno].live_ranges,
- 		  lra_reg_info[dregno].live_ranges)))
- 	  sorted_moves[mv_num++] = insn;
-     }
--  bitmap_clear (&split_origin_bitmap);
-   qsort (sorted_moves, mv_num, sizeof (rtx), move_freq_compare_func);
-   /* Coalesced copies, most frequently executed first.	*/
-   bitmap_initialize (&coalesced_pseudos_bitmap, &reg_obstack);
---- gcc/lra.c	(revision 198081)
-+++ gcc/lra.c	(revision 198083)
-@@ -2295,11 +2295,20 @@ lra (FILE *f)
- 	    lra_assign ();
- 	  else
- 	    {
--	      /* Do coalescing only for regular algorithms.  */
--	      if (! lra_assign () && lra_coalesce ())
--		live_p = false;
-+	      bool spill_p = !lra_assign ();
-+
- 	      if (lra_undo_inheritance ())
- 		live_p = false;
-+	      if (spill_p)
-+		{
-+		  if (! live_p)
-+		    {
-+		      lra_create_live_ranges (true);
-+		      live_p = true;
-+		    }
-+		  if (lra_coalesce ())
-+		    live_p = false;
-+		}
- 	      if (! live_p)
- 		lra_clear_live_ranges ();
- 	    }
---- gcc/testsuite/g++.dg/opt/pr56999.C	(revision 0)
-+++ gcc/testsuite/g++.dg/opt/pr56999.C	(revision 198083)
-@@ -0,0 +1,188 @@
-+// PR rtl-optimization/56999
-+// { dg-do run }
-+// { dg-options "-O2" }
-+// { dg-additional-options "-fpic" { target fpic } }
-+// { dg-additional-options "-march=i686 -mtune=atom" { target ia32 } }
-+// { dg-require-visibility "" }
-+
-+extern "C" void abort (void);
-+extern "C" void exit (int);
-+volatile bool do_exit = true;
-+struct JSScript;
-+struct JITScript { int i; };
-+#pragma GCC visibility push(hidden)
-+typedef struct JSCompartment JSCompartment;
-+typedef struct JSContext JSContext;
-+namespace js
-+{
-+  struct ContextFriendFields
-+  {
-+    JSCompartment *compartment;
-+  };
-+  struct TempAllocPolicy
-+  {
-+  };
-+  template <class T>
-+  struct Vector
-+  {
-+    T *mBegin;
-+    T *begin () { return mBegin; }
-+    T & operator[] (unsigned i) { return begin ()[i]; }
-+    template <class U>
-+    __attribute__((noinline, noclone))
-+    bool append (U) { asm volatile ("" : : : "memory"); if (do_exit) abort (); return false; }
-+  };
-+  namespace types
-+  {
-+    struct TypeCompartment;
-+  }
-+  namespace mjit
-+  {
-+  }
-+  namespace ion
-+  {
-+    struct IonScript;
-+  }
-+  namespace types
-+  {
-+    struct CompilerOutput
-+    {
-+      enum Kind { MethodJIT, ParallelIon };
-+      JSScript *script;
-+      unsigned kindInt : 2;
-+      bool constructing : 1;
-+      bool barriers : 1;
-+      bool pendingRecompilation : 1;
-+      Kind kind () const { return static_cast <Kind> (kindInt); }
-+      bool isValid () const;
-+    };
-+    struct RecompileInfo
-+    {
-+      unsigned outputIndex;
-+      CompilerOutput *compilerOutput (TypeCompartment & types) const;
-+      CompilerOutput *compilerOutput (JSContext *cx) const;
-+    };
-+    struct TypeCompartment
-+    {
-+      Vector <CompilerOutput> *constrainedOutputs;
-+      Vector <RecompileInfo> *pendingRecompiles;
-+      void addPendingRecompile (JSContext *cx, const RecompileInfo & info);
-+    };
-+  }
-+}
-+struct JSScript
-+{
-+  struct JITScriptHandle
-+  {
-+    static volatile JITScript *UNJITTABLE __attribute__((visibility ("default")));
-+    JITScript *value;
-+    bool isValid () { return value != UNJITTABLE; }
-+    JITScript *getValid () { return value; }
-+  };
-+  struct JITScriptSet
-+  {
-+    JITScriptHandle jitHandleNormal, jitHandleNormalBarriered;
-+    JITScriptHandle jitHandleCtor, jitHandleCtorBarriered;
-+    JITScriptHandle jitNull1, jitNull2;
-+  };
-+  JITScriptSet *mJITInfo;
-+  void *ion;
-+  JITScriptHandle *jitHandle (bool constructing, bool barriers)
-+  {
-+    return constructing ? (barriers ? &mJITInfo->jitHandleCtorBarriered
-+				    : &mJITInfo->jitHandleCtor)
-+			: (barriers ? &mJITInfo->jitHandleNormalBarriered
-+				    : &mJITInfo->jitHandleNormal);
-+  }
-+  JITScript *getJIT (bool constructing, bool barriers)
-+  {
-+    JITScriptHandle *jith = jitHandle (constructing, barriers);
-+    return jith->isValid () ? jith->getValid () : __null;
-+  }
-+};
-+struct JSContext : js::ContextFriendFields
-+{
-+};
-+namespace js
-+{
-+  __attribute__((noinline, noclone))
-+  void CancelOffThreadIonCompile (JSCompartment *, JSScript *)
-+  {
-+    if (do_exit)
-+      exit (0);
-+  }
-+}
-+struct JSCompartment
-+{
-+  js::types::TypeCompartment types;
-+};
-+namespace js
-+{
-+  namespace types
-+  {
-+    inline bool CompilerOutput::isValid () const
-+    {
-+      if (!script)
-+	return false;
-+      switch (kind ())
-+	{
-+	case MethodJIT:
-+	  {
-+	    JITScript *jit = script->getJIT (constructing, barriers);
-+	    if (!jit)
-+	      return false;
-+	  }
-+	case ParallelIon:
-+	  return true;
-+	}
-+      return false;
-+    }
-+    inline CompilerOutput *RecompileInfo::compilerOutput (TypeCompartment & types) const
-+    {
-+      return &(*types.constrainedOutputs)[outputIndex];
-+    }
-+    inline CompilerOutput *RecompileInfo::compilerOutput (JSContext *cx) const
-+    {
-+      return compilerOutput (cx->compartment->types);
-+    }
-+  }
-+}
-+using namespace js::types;
-+__attribute__((noinline, noclone)) void
-+TypeCompartment::addPendingRecompile (JSContext *cx, const RecompileInfo & info)
-+{
-+  CompilerOutput *co = info.compilerOutput (cx);
-+  if (co->pendingRecompilation)
-+    if (co->isValid ())
-+      CancelOffThreadIonCompile (cx->compartment, co->script);
-+  if (co->isValid ())
-+    pendingRecompiles->append (info);
-+}
-+volatile JITScript *JSScript::JITScriptHandle::UNJITTABLE;
-+int
-+main ()
-+{
-+  JSContext cx;
-+  JSCompartment com;
-+  RecompileInfo info;
-+  cx.compartment = &com;
-+  info.outputIndex = 0;
-+  js::Vector<CompilerOutput> v;
-+  JITScript js;
-+  JSScript::JITScriptSet set;
-+  __builtin_memset (&set, 0, sizeof set);
-+  set.jitHandleCtor.value = &js;
-+  JSScript s;
-+  s.mJITInfo = &set;
-+  CompilerOutput co;
-+  co.kindInt = 0;
-+  co.constructing = true;
-+  co.barriers = false;
-+  co.pendingRecompilation = true;
-+  co.script = &s;
-+  v.mBegin = &co;
-+  com.types.constrainedOutputs = &v;
-+  com.types.pendingRecompiles = __null;
-+  com.types.addPendingRecompile (&cx, info);
-+  abort ();
-+}

diff --git a/gcc48-pr57000.patch b/gcc48-pr57000.patch
deleted file mode 100644
index 714e046..0000000
--- a/gcc48-pr57000.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-2013-04-19  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/57000
-	* tree-ssa-reassoc.c (pass_reassoc): Add TODO_update_ssa_only_virtuals.
-
-	* gcc.dg/tree-ssa/reassoc-27.c: New testcase.
-
---- gcc/tree-ssa-reassoc.c	(revision 198086)
-+++ gcc/tree-ssa-reassoc.c	(revision 198087)
-@@ -4293,6 +4293,7 @@ struct gimple_opt_pass pass_reassoc =
-   0,					/* properties_destroyed */
-   0,					/* todo_flags_start */
-   TODO_verify_ssa
-+    | TODO_update_ssa_only_virtuals
-     | TODO_verify_flow
-     | TODO_ggc_collect			/* todo_flags_finish */
-  }
---- gcc/testsuite/gcc.dg/tree-ssa/reassoc-27.c	(revision 0)
-+++ gcc/testsuite/gcc.dg/tree-ssa/reassoc-27.c	(revision 198087)
-@@ -0,0 +1,11 @@
-+/* { dg-do compile } */
-+/* { dg-options "-O -ffast-math -frounding-math -fdump-tree-optimized" } */
-+
-+double baz (double foo, double bar)
-+{
-+  return foo * foo * foo * foo * bar * bar * bar * bar;
-+}
-+
-+/* We should re-associate this as (foo * bar)**3.  */
-+/* { dg-final { scan-tree-dump-times " \\\* " 3 "optimized" } } */
-+/* { dg-final { cleanup-tree-dump "optimized" } } */

diff --git a/gcc48-rh957778.patch b/gcc48-rh957778.patch
new file mode 100644
index 0000000..45db0e5
--- /dev/null
+++ b/gcc48-rh957778.patch
@@ -0,0 +1,17 @@
+2013-05-06  Jakub Jelinek  <jakub@redhat.com>
+
+	* gcc.c (SANITIZER_SPEC): Reject -fsanitize=address -fsanitize=thread
+	linking.
+
+--- gcc/gcc.c.jj	2013-04-15 16:55:04.000000000 +0200
++++ gcc/gcc.c	2013-05-06 17:25:42.306455151 +0200
+@@ -716,7 +716,8 @@ proper position among the other output f
+ #ifndef SANITIZER_SPEC
+ #define SANITIZER_SPEC "\
+ %{!nostdlib:%{!nodefaultlibs:%{fsanitize=address:" LIBASAN_SPEC "\
+-    %{static:%ecannot specify -static with -fsanitize=address}}\
++    %{static:%ecannot specify -static with -fsanitize=address}\
++    %{fsanitize=thread:%e-fsanitize=address is incompatible with -fsanitize=thread}}\
+     %{fsanitize=thread:" LIBTSAN_SPEC "\
+     %{!pie:%{!shared:%e-fsanitize=thread linking must be done with -pie or -shared}}}}}"
+ #endif

diff --git a/sources b/sources
index 0c67df0..38f79c8 100644
--- a/sources
+++ b/sources
@@ -1,4 +1,4 @@
 be78a47bd82523250eb3e91646db5b3d  cloog-0.18.0.tar.gz
 2659f09c2e43ef8b7d4406321753f1b2  fastjar-0.97.tar.gz
-fc7593f5789278c5b6db56ab6f34fee3  gcc-4.8.0-20130419.tar.bz2
+01a69c8570aa3a0dcdef76a335d60076  gcc-4.8.0-20130507.tar.bz2
 bce1586384d8635a76d2f017fb067cd2  isl-0.11.1.tar.bz2

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

only message in thread, other threads:[~2026-06-29 12:25 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:25 [rpms/gcc] rhel-f41-base: 4.8.0-4 Jakub Jelinek

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