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

A new commit has been pushed.

Repo   : rpms/gcc
Branch : rhel-f41-base
Commit : 888bd7b767b0d415235d5146af74fd87d9074dde
Author : Jakub Jelinek <jakub@redhat.com>
Date   : 2020-09-16T13:35:23+02:00
Stats  : +0/-57 in 2 file(s)
URL    : https://src.fedoraproject.org/rpms/gcc/c/888bd7b767b0d415235d5146af74fd87d9074dde?branch=rhel-f41-base

Log:
10.2.1-4

---
diff --git a/gcc.spec b/gcc.spec
index 491b205..ef371b2 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -273,7 +273,6 @@ Patch13: gcc10-pr96939.patch
 Patch14: gcc10-pr96939-2.patch
 Patch15: gcc10-pr96939-3.patch
 Patch16: gcc10-pr97032.patch
-Patch17: gcc10-pr97060.patch
 
 # On ARM EABI systems, we do want -gnueabi to be part of the
 # target triple.
@@ -790,7 +789,6 @@ to NVidia PTX capable devices if available.
 %patch14 -p0 -b .pr96939-2~
 %patch15 -p0 -b .pr96939-3~
 %patch16 -p0 -b .pr97032~
-%patch17 -p0 -b .pr97060~
 find gcc/testsuite -name \*.pr96939~ | xargs rm -f
 
 echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE
@@ -3074,8 +3072,6 @@ end
 - fix up ARM target attribute/pragma handling (#1875814, PR target/96939)
 - don't ICE on sp clobbers with -mincoming-stack-boundary=2 on ia32
   (#1862029, PR target/97032)
-- emit DW_AT_declaration on DIEs for external FUNCTION_DECLs without body
-  (PR debug/97060)
 
 * Wed Aug 26 2020 Jakub Jelinek <jakub@redhat.com> 10.2.1-3
 - update from releases/gcc-10 branch

diff --git a/gcc10-pr97060.patch b/gcc10-pr97060.patch
deleted file mode 100644
index a38da60..0000000
--- a/gcc10-pr97060.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-2020-09-16  Jakub Jelinek  <jakub@redhat.com>
-
-	PR debug/97060
-	* dwarf2out.c (dwarf2out_early_global_decl): For FUNCTION_DECLs
-	and their abstract origins, if they don't have gimple body,
-	set current_function_decl to NULL rather than the decl or origin.
-
-	* gcc.dg/debug/dwarf2/pr97060.c: New test.
-
---- gcc/dwarf2out.c.jj	2020-09-07 13:17:58.383594248 +0200
-+++ gcc/dwarf2out.c	2020-09-16 11:14:57.763550862 +0200
-@@ -26547,7 +26547,11 @@ dwarf2out_early_global_decl (tree decl)
- 	      && ((origin_die = lookup_decl_die (origin)) == NULL
- 		  || is_declaration_die (origin_die)))
- 	    {
--	      current_function_decl = origin;
-+	      cgraph_node *cnode = cgraph_node::get (origin);
-+	      if (cnode && cnode->has_gimple_body_p ())
-+		current_function_decl = origin;
-+	      else
-+		current_function_decl = NULL_TREE;
- 	      dwarf2out_decl (origin);
- 	    }
- 
-@@ -26556,7 +26560,11 @@ dwarf2out_early_global_decl (tree decl)
- 	  if ((old_die = lookup_decl_die (decl)) == NULL
- 	      || is_declaration_die (old_die))
- 	    {
--	      current_function_decl = decl;
-+	      cgraph_node *cnode = cgraph_node::get (decl);
-+	      if (cnode && cnode->has_gimple_body_p ())
-+		current_function_decl = decl;
-+	      else
-+		current_function_decl = NULL_TREE;
- 	      dwarf2out_decl (decl);
- 	    }
- 
---- gcc/testsuite/gcc.dg/debug/dwarf2/pr97060.c.jj	2020-09-16 11:03:22.358420449 +0200
-+++ gcc/testsuite/gcc.dg/debug/dwarf2/pr97060.c	2020-09-16 11:03:17.717486318 +0200
-@@ -0,0 +1,13 @@
-+/* PR debug/97060 */
-+/* { dg-do compile } */
-+/* { dg-options "-g -dA" } */
-+/* { dg-final { scan-assembler-times "DW_AT_declaration" 2 } } */
-+
-+extern int foo (unsigned int, unsigned int);
-+
-+int
-+bar (void)
-+{
-+  foo (1, 2);
-+  return 0;
-+}

^ permalink raw reply related	[flat|nested] 4+ messages in thread
* [rpms/gcc] rhel-f41-base: 10.2.1-4
@ 2026-06-29 12:28 Jakub Jelinek
  0 siblings, 0 replies; 4+ messages in thread
From: Jakub Jelinek @ 2026-06-29 12:28 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/gcc
Branch : rhel-f41-base
Commit : 15fd636cd1160ca1346a267f5510b356fa8aacd0
Author : Jakub Jelinek <jakub@redhat.com>
Date   : 2020-09-16T12:13:04+02:00
Stats  : +10/-82 in 2 file(s)
URL    : https://src.fedoraproject.org/rpms/gcc/c/15fd636cd1160ca1346a267f5510b356fa8aacd0?branch=rhel-f41-base

Log:
10.2.1-4

---
diff --git a/gcc.spec b/gcc.spec
index 40d011c..491b205 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -269,12 +269,11 @@ Patch9: gcc10-Wno-format-security.patch
 Patch10: gcc10-rh1574936.patch
 Patch11: gcc10-d-shared-libphobos.patch
 Patch12: gcc10-pr96383.patch
-Patch13: gcc10-pr96690.patch
-Patch14: gcc10-pr96939.patch
-Patch15: gcc10-pr96939-2.patch
-Patch16: gcc10-pr96939-3.patch
-Patch17: gcc10-pr97032.patch
-Patch18: gcc10-pr97060.patch
+Patch13: gcc10-pr96939.patch
+Patch14: gcc10-pr96939-2.patch
+Patch15: gcc10-pr96939-3.patch
+Patch16: gcc10-pr97032.patch
+Patch17: gcc10-pr97060.patch
 
 # On ARM EABI systems, we do want -gnueabi to be part of the
 # target triple.
@@ -787,12 +786,11 @@ to NVidia PTX capable devices if available.
 %endif
 %patch11 -p0 -b .d-shared-libphobos~
 %patch12 -p0 -b .pr96383~
-%patch13 -p0 -b .pr96690~
-%patch14 -p0 -b .pr96939~
-%patch15 -p0 -b .pr96939-2~
-%patch16 -p0 -b .pr96939-3~
-%patch17 -p0 -b .pr97032~
-%patch18 -p0 -b .pr97060~
+%patch13 -p0 -b .pr96939~
+%patch14 -p0 -b .pr96939-2~
+%patch15 -p0 -b .pr96939-3~
+%patch16 -p0 -b .pr97032~
+%patch17 -p0 -b .pr97060~
 find gcc/testsuite -name \*.pr96939~ | xargs rm -f
 
 echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE

diff --git a/gcc10-pr96690.patch b/gcc10-pr96690.patch
deleted file mode 100644
index bab66d4..0000000
--- a/gcc10-pr96690.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-2020-08-25  Richard Biener  <rguenther@suse.de>
-
-	PR debug/96690
-	* dwarf2out.c (reference_to_unused): Make FUNCTION_DECL
-	processing more consistent with respect to
-	symtab->global_info_ready.
-	(tree_add_const_value_attribute): Unconditionally call
-	rtl_for_decl_init to do all mangling early but throw
-	away the result if early_dwarf.
-
-	* g++.dg/lto/pr96690_0.C: New testcase.
-
---- gcc/dwarf2out.c
-+++ gcc/dwarf2out.c
-@@ -19756,7 +19756,7 @@ reference_to_unused (tree * tp, int * walk_subtrees,
-   /* ???  The C++ FE emits debug information for using decls, so
-      putting gcc_unreachable here falls over.  See PR31899.  For now
-      be conservative.  */
--  else if (!symtab->global_info_ready && VAR_OR_FUNCTION_DECL_P (*tp))
-+  else if (!symtab->global_info_ready && VAR_P (*tp))
-     return *tp;
-   else if (VAR_P (*tp))
-     {
-@@ -19771,7 +19771,7 @@ reference_to_unused (tree * tp, int * walk_subtrees,
-          optimizing and gimplifying the CU by now.
- 	 So if *TP has no call graph node associated
- 	 to it, it means *TP will not be emitted.  */
--      if (!cgraph_node::get (*tp))
-+      if (!symtab->global_info_ready || !cgraph_node::get (*tp))
- 	return *tp;
-     }
-   else if (TREE_CODE (*tp) == STRING_CST && !TREE_ASM_WRITTEN (*tp))
-@@ -20295,12 +20295,11 @@ tree_add_const_value_attribute (dw_die_ref die, tree t)
- 	  return true;
- 	}
-     }
--  if (! early_dwarf)
--    {
--      rtl = rtl_for_decl_init (init, type);
--      if (rtl)
--	return add_const_value_attribute (die, rtl);
--    }
-+  /* Generate the RTL even if early_dwarf to force mangling of all refered to
-+     symbols.  */
-+  rtl = rtl_for_decl_init (init, type);
-+  if (rtl && !early_dwarf)
-+    return add_const_value_attribute (die, rtl);
-   /* If the host and target are sane, try harder.  */
-   if (CHAR_BIT == 8 && BITS_PER_UNIT == 8
-       && initializer_constant_valid_p (init, type))
---- gcc/testsuite/g++.dg/lto/pr96690_0.C
-+++ gcc/testsuite/g++.dg/lto/pr96690_0.C
-@@ -0,0 +1,17 @@
-+// { dg-lto-do assemble }
-+// { dg-lto-options { { -flto -ffat-lto-objects -g } } }
-+struct A { A (int); };
-+template <class T> class B { T f; };
-+unsigned char *foo (int *, bool *, const int &);
-+template <typename, unsigned char *F (int *, bool *, const int &)> struct C {};
-+struct D { B<C<unsigned char, foo> > d; };
-+struct E { D e; };
-+struct F {};
-+struct G { static int bar (A, F, E, int); };
-+
-+void
-+baz ()
-+{
-+  F f;
-+  G::bar (0, f, E (), 0);
-+}

^ permalink raw reply related	[flat|nested] 4+ messages in thread
* [rpms/gcc] rhel-f41-base: 10.2.1-4
@ 2026-06-29 12:28 Jakub Jelinek
  0 siblings, 0 replies; 4+ messages in thread
From: Jakub Jelinek @ 2026-06-29 12:28 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/gcc
Branch : rhel-f41-base
Commit : 6b90f867141f55a8bd001ee3d708098afb203fad
Author : Jakub Jelinek <jakub@redhat.com>
Date   : 2020-09-16T11:51:20+02:00
Stats  : +12/-36 in 2 file(s)
URL    : https://src.fedoraproject.org/rpms/gcc/c/6b90f867141f55a8bd001ee3d708098afb203fad?branch=rhel-f41-base

Log:
10.2.1-4

---
diff --git a/gcc.spec b/gcc.spec
index 22001c7..40d011c 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -269,13 +269,12 @@ Patch9: gcc10-Wno-format-security.patch
 Patch10: gcc10-rh1574936.patch
 Patch11: gcc10-d-shared-libphobos.patch
 Patch12: gcc10-pr96383.patch
-Patch13: gcc10-pr96385.patch
-Patch14: gcc10-pr96690.patch
-Patch15: gcc10-pr96939.patch
-Patch16: gcc10-pr96939-2.patch
-Patch17: gcc10-pr96939-3.patch
-Patch18: gcc10-pr97032.patch
-Patch19: gcc10-pr97060.patch
+Patch13: gcc10-pr96690.patch
+Patch14: gcc10-pr96939.patch
+Patch15: gcc10-pr96939-2.patch
+Patch16: gcc10-pr96939-3.patch
+Patch17: gcc10-pr97032.patch
+Patch18: gcc10-pr97060.patch
 
 # On ARM EABI systems, we do want -gnueabi to be part of the
 # target triple.
@@ -788,13 +787,12 @@ to NVidia PTX capable devices if available.
 %endif
 %patch11 -p0 -b .d-shared-libphobos~
 %patch12 -p0 -b .pr96383~
-%patch13 -p0 -b .pr96385~
-%patch14 -p0 -b .pr96690~
-%patch15 -p0 -b .pr96939~
-%patch16 -p0 -b .pr96939-2~
-%patch17 -p0 -b .pr96939-3~
-%patch18 -p0 -b .pr97032~
-%patch19 -p0 -b .pr97060~
+%patch13 -p0 -b .pr96690~
+%patch14 -p0 -b .pr96939~
+%patch15 -p0 -b .pr96939-2~
+%patch16 -p0 -b .pr96939-3~
+%patch17 -p0 -b .pr97032~
+%patch18 -p0 -b .pr97060~
 find gcc/testsuite -name \*.pr96939~ | xargs rm -f
 
 echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE

diff --git a/gcc10-pr96385.patch b/gcc10-pr96385.patch
deleted file mode 100644
index 22fe68e..0000000
--- a/gcc10-pr96385.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-2020-08-03  Richard Biener  <rguenther@suse.de>
-
-	PR lto/96385
-libiberty/
-	* simple-object-elf.c
-	(simple_object_elf_copy_lto_debug_sections): Localize global
-	UNDEFs and reuse the prevailing name.
-
---- libiberty/simple-object-elf.c
-+++ libiberty/simple-object-elf.c
-@@ -1467,6 +1467,11 @@ simple_object_elf_copy_lto_debug_sections (simple_object_read *sobj,
- 		       && st_shndx < shnum
- 		       && pfnret[st_shndx - 1] == -1)
- 		discard = 1;
-+	      /* We also need to remove global UNDEFs which can
-+		 cause link fails later.  */
-+	      else if (st_shndx == SHN_UNDEF
-+		       && ELF_ST_BIND (*st_info) == STB_GLOBAL)
-+		discard = 1;
- 
- 	      if (discard)
- 		{

^ permalink raw reply related	[flat|nested] 4+ messages in thread
* [rpms/gcc] rhel-f41-base: 10.2.1-4
@ 2026-06-29 12:28 Jakub Jelinek
  0 siblings, 0 replies; 4+ messages in thread
From: Jakub Jelinek @ 2026-06-29 12:28 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/gcc
Branch : rhel-f41-base
Commit : d10315732bb882596aee583fe93784c4557a1a2f
Author : Jakub Jelinek <jakub@redhat.com>
Date   : 2020-09-16T11:42:59+02:00
Stats  : +403/-4 in 8 file(s)
URL    : https://src.fedoraproject.org/rpms/gcc/c/d10315732bb882596aee583fe93784c4557a1a2f?branch=rhel-f41-base

Log:
10.2.1-4

---
diff --git a/.gitignore b/.gitignore
index 55534ee..6fa7600 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,3 +16,4 @@
 /gcc-10.2.1-20200723.tar.xz
 /gcc-10.2.1-20200804.tar.xz
 /gcc-10.2.1-20200826.tar.xz
+/gcc-10.2.1-20200916.tar.xz

diff --git a/gcc.spec b/gcc.spec
index 00598ca..22001c7 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -1,10 +1,10 @@
-%global DATE 20200826
-%global gitrev c59c8927f43fb78d6a72a0ff93a47b36e43282d5
+%global DATE 20200916
+%global gitrev c65817433fde22de2a18a00be00c2c3d83228453
 %global gcc_version 10.2.1
 %global gcc_major 10
 # 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 nvptx_tools_gitrev 5f6f343a302d620b0868edab376c00b15741e39e
 %global newlib_cygwin_gitrev 50e2a63b04bdd018484605fbb954fd1bd5147fa0
 %global _unpackaged_files_terminate_build 0
@@ -271,6 +271,11 @@ Patch11: gcc10-d-shared-libphobos.patch
 Patch12: gcc10-pr96383.patch
 Patch13: gcc10-pr96385.patch
 Patch14: gcc10-pr96690.patch
+Patch15: gcc10-pr96939.patch
+Patch16: gcc10-pr96939-2.patch
+Patch17: gcc10-pr96939-3.patch
+Patch18: gcc10-pr97032.patch
+Patch19: gcc10-pr97060.patch
 
 # On ARM EABI systems, we do want -gnueabi to be part of the
 # target triple.
@@ -785,6 +790,12 @@ to NVidia PTX capable devices if available.
 %patch12 -p0 -b .pr96383~
 %patch13 -p0 -b .pr96385~
 %patch14 -p0 -b .pr96690~
+%patch15 -p0 -b .pr96939~
+%patch16 -p0 -b .pr96939-2~
+%patch17 -p0 -b .pr96939-3~
+%patch18 -p0 -b .pr97032~
+%patch19 -p0 -b .pr97060~
+find gcc/testsuite -name \*.pr96939~ | xargs rm -f
 
 echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE
 
@@ -3051,6 +3062,25 @@ end
 %endif
 
 %changelog
+* Wed Sep 16 2020 Jakub Jelinek <jakub@redhat.com> 10.2.1-4
+- update from releases/gcc-10 branch
+  - PRs bootstrap/96203, c++/95164, c++/96862, c++/96901, d/96157, d/96924,
+	debug/93865, debug/94235, debug/96729, fortran/94690, fortran/95109,
+	fortran/95398, fortran/95882, fortran/96859, libstdc++/71960,
+	libstdc++/92978, libstdc++/96766, libstdc++/96851, lto/94311,
+	middle-end/87256, middle-end/96369, target/85830, target/94538,
+	target/96357, target/96551, target/96574, target/96744, target/96808,
+	target/97028, tree-optimization/88240, tree-optimization/96349,
+	tree-optimization/96370, tree-optimization/96514,
+	tree-optimization/96522, tree-optimization/96579,
+	tree-optimization/96597, tree-optimization/96820,
+	tree-optimization/96854, tree-optimization/97043
+- fix up ARM target attribute/pragma handling (#1875814, PR target/96939)
+- don't ICE on sp clobbers with -mincoming-stack-boundary=2 on ia32
+  (#1862029, PR target/97032)
+- emit DW_AT_declaration on DIEs for external FUNCTION_DECLs without body
+  (PR debug/97060)
+
 * Wed Aug 26 2020 Jakub Jelinek <jakub@redhat.com> 10.2.1-3
 - update from releases/gcc-10 branch
   - PRs c++/95428, c++/96082, c++/96106, c++/96164, c++/96199, c++/96497,

diff --git a/gcc10-pr96939-2.patch b/gcc10-pr96939-2.patch
new file mode 100644
index 0000000..e9e406f
--- /dev/null
+++ b/gcc10-pr96939-2.patch
@@ -0,0 +1,51 @@
+2020-09-09  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/arm/arm.c (arm_override_options_after_change_1): Add opts_set
+	argument, test opts_set->x_str_align_functions rather than
+	opts->x_str_align_functions.
+	(arm_override_options_after_change, arm_option_override_internal,
+	arm_set_current_function): Adjust callers.
+
+--- gcc/config/arm/arm.c.jj	2020-09-09 09:19:42.911419411 +0200
++++ gcc/config/arm/arm.c	2020-09-09 09:28:02.392897384 +0200
+@@ -3024,10 +3024,11 @@ static GTY(()) bool thumb_flipper;
+ static GTY(()) tree init_optimize;
+ 
+ static void
+-arm_override_options_after_change_1 (struct gcc_options *opts)
++arm_override_options_after_change_1 (struct gcc_options *opts,
++				     struct gcc_options *opts_set)
+ {
+   /* -falign-functions without argument: supply one.  */
+-  if (opts->x_flag_align_functions && !opts->x_str_align_functions)
++  if (opts->x_flag_align_functions && !opts_set->x_str_align_functions)
+     opts->x_str_align_functions = TARGET_THUMB_P (opts->x_target_flags)
+       && opts->x_optimize_size ? "2" : "4";
+ }
+@@ -3037,7 +3038,7 @@ arm_override_options_after_change_1 (str
+ static void
+ arm_override_options_after_change (void)
+ {
+-  arm_override_options_after_change_1 (&global_options);
++  arm_override_options_after_change_1 (&global_options, &global_options_set);
+ }
+ 
+ /* Implement TARGET_OPTION_SAVE.  */
+@@ -3065,7 +3066,7 @@ static void
+ arm_option_override_internal (struct gcc_options *opts,
+ 			      struct gcc_options *opts_set)
+ {
+-  arm_override_options_after_change_1 (opts);
++  arm_override_options_after_change_1 (opts, opts_set);
+ 
+   if (TARGET_INTERWORK && !bitmap_bit_p (arm_active_target.isa, isa_bit_thumb))
+     {
+@@ -32335,7 +32336,7 @@ arm_set_current_function (tree fndecl)
+ 
+   save_restore_target_globals (new_tree);
+ 
+-  arm_override_options_after_change_1 (&global_options);
++  arm_override_options_after_change_1 (&global_options, &global_options_set);
+ }
+ 
+ /* Implement TARGET_OPTION_PRINT.  */

diff --git a/gcc10-pr96939-3.patch b/gcc10-pr96939-3.patch
new file mode 100644
index 0000000..f133f8d
--- /dev/null
+++ b/gcc10-pr96939-3.patch
@@ -0,0 +1,111 @@
+2020-09-13  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/arm/arm.opt (arm_arch_specified, arm_cpu_specified,
+	arm_tune_specified): New TargetVariables.
+	* config/arm/arm.c (arm_configure_build_target): Comment out
+	opts_set argument name.  Use opts->x_arm_*_specified instead
+	of opts_set->x_arm_*_string.
+	* common/config/arm/arm-common.c (arm_handle_option): New function.
+	(TARGET_HANDLE_OPTION): Redefine.
+
+--- gcc/config/arm/arm.opt.jj	2020-09-12 13:36:27.619716335 +0200
++++ gcc/config/arm/arm.opt	2020-09-12 13:38:48.547661292 +0200
+@@ -30,6 +30,15 @@ const char *x_arm_cpu_string
+ TargetSave
+ const char *x_arm_tune_string
+ 
++TargetVariable
++unsigned char arm_arch_specified = 0
++
++TargetVariable
++unsigned char arm_cpu_specified = 0
++
++TargetVariable
++unsigned char arm_tune_specified = 0
++
+ Enum
+ Name(tls_type) Type(enum arm_tls_type)
+ TLS dialect to use:
+--- gcc/config/arm/arm.c.jj	2020-09-12 13:36:27.619716335 +0200
++++ gcc/config/arm/arm.c	2020-09-12 13:49:26.166363387 +0200
+@@ -3181,7 +3181,7 @@ static sbitmap isa_quirkbits;
+ void
+ arm_configure_build_target (struct arm_build_target *target,
+ 			    struct cl_target_option *opts,
+-			    struct gcc_options *opts_set,
++			    struct gcc_options */* opts_set */,
+ 			    bool warn_compatible)
+ {
+   const cpu_option *arm_selected_tune = NULL;
+@@ -3196,7 +3196,7 @@ arm_configure_build_target (struct arm_b
+   target->core_name = NULL;
+   target->arch_name = NULL;
+ 
+-  if (opts_set->x_arm_arch_string)
++  if (opts->x_arm_arch_specified)
+     {
+       arm_selected_arch = arm_parse_arch_option_name (all_architectures,
+ 						      "-march",
+@@ -3204,7 +3204,7 @@ arm_configure_build_target (struct arm_b
+       arch_opts = strchr (opts->x_arm_arch_string, '+');
+     }
+ 
+-  if (opts_set->x_arm_cpu_string)
++  if (opts->x_arm_cpu_specified)
+     {
+       arm_selected_cpu = arm_parse_cpu_option_name (all_cores, "-mcpu",
+ 						    opts->x_arm_cpu_string);
+@@ -3214,7 +3214,7 @@ arm_configure_build_target (struct arm_b
+ 	 options for tuning.  */
+     }
+ 
+-  if (opts_set->x_arm_tune_string)
++  if (opts->x_arm_tune_specified)
+     {
+       arm_selected_tune = arm_parse_cpu_option_name (all_cores, "-mtune",
+ 						     opts->x_arm_tune_string);
+--- gcc/common/config/arm/arm-common.c.jj	2020-07-28 15:39:09.705760394 +0200
++++ gcc/common/config/arm/arm-common.c	2020-09-12 13:50:09.021738456 +0200
+@@ -1021,6 +1021,34 @@ arm_asm_auto_mfpu (int argc, const char
+ 
+ #undef ARM_CPU_NAME_LENGTH
+ 
++bool
++arm_handle_option (struct gcc_options *opts,
++		   struct gcc_options *opts_set ATTRIBUTE_UNUSED,
++		   const struct cl_decoded_option *decoded,
++		   location_t loc ATTRIBUTE_UNUSED)
++{
++  size_t code = decoded->opt_index;
++  const char *arg = decoded->arg;
++  int val = decoded->value;
++
++  switch (code)
++    {
++    case OPT_march_:
++      opts->x_arm_arch_specified = true;
++      return true;
++
++    case OPT_mcpu_:
++      opts->x_arm_cpu_specified = true;
++      return true;
++
++    case OPT_mtune_:
++      opts->x_arm_tune_specified = true;
++      return true;
++
++    default:
++      return true;
++    }
++}
+ 
+ #undef  TARGET_DEFAULT_TARGET_FLAGS
+ #define TARGET_DEFAULT_TARGET_FLAGS (TARGET_DEFAULT | MASK_SCHED_PROLOG)
+@@ -1031,4 +1059,7 @@ arm_asm_auto_mfpu (int argc, const char
+ #undef TARGET_EXCEPT_UNWIND_INFO
+ #define TARGET_EXCEPT_UNWIND_INFO  arm_except_unwind_info
+ 
++#undef  TARGET_HANDLE_OPTION
++#define TARGET_HANDLE_OPTION arm_handle_option
++
+ struct gcc_targetm_common targetm_common = TARGETM_COMMON_INITIALIZER;

diff --git a/gcc10-pr96939.patch b/gcc10-pr96939.patch
new file mode 100644
index 0000000..4659c3f
--- /dev/null
+++ b/gcc10-pr96939.patch
@@ -0,0 +1,64 @@
+2020-09-07  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/96939
+	* config/arm/arm.c (arm_override_options_after_change): Don't call
+	arm_configure_build_target here.
+	(arm_set_current_function): Call arm_override_options_after_change_1
+	at the end.
+
+	* gcc.target/arm/lto/pr96939_0.c: New test.
+	* gcc.target/arm/lto/pr96939_1.c: New file.
+
+--- gcc/config/arm/arm.c.jj	2020-07-30 15:04:38.136293101 +0200
++++ gcc/config/arm/arm.c	2020-09-07 10:43:54.809561852 +0200
+@@ -3037,10 +3037,6 @@ arm_override_options_after_change_1 (str
+ static void
+ arm_override_options_after_change (void)
+ {
+-  arm_configure_build_target (&arm_active_target,
+-			      TREE_TARGET_OPTION (target_option_default_node),
+-			      &global_options_set, false);
+-
+   arm_override_options_after_change_1 (&global_options);
+ }
+ 
+@@ -32338,6 +32334,8 @@ arm_set_current_function (tree fndecl)
+   cl_target_option_restore (&global_options, TREE_TARGET_OPTION (new_tree));
+ 
+   save_restore_target_globals (new_tree);
++
++  arm_override_options_after_change_1 (&global_options);
+ }
+ 
+ /* Implement TARGET_OPTION_PRINT.  */
+--- gcc/testsuite/gcc.target/arm/lto/pr96939_0.c.jj	2020-09-07 11:26:45.909937609 +0200
++++ gcc/testsuite/gcc.target/arm/lto/pr96939_0.c	2020-09-07 11:29:18.722706535 +0200
+@@ -0,0 +1,15 @@
++/* PR target/96939 */
++/* { dg-lto-do link } */
++/* { dg-require-effective-target arm_arch_v8a_ok } */
++/* { dg-lto-options { { -flto -O2 } } } */
++
++extern unsigned crc (unsigned, const void *);
++typedef unsigned (*fnptr) (unsigned, const void *);
++volatile fnptr fn;
++
++int
++main ()
++{
++  fn = crc;
++  return 0;
++}
+--- gcc/testsuite/gcc.target/arm/lto/pr96939_1.c.jj	2020-09-07 11:26:49.365887153 +0200
++++ gcc/testsuite/gcc.target/arm/lto/pr96939_1.c	2020-09-07 11:25:13.885281180 +0200
+@@ -0,0 +1,10 @@
++/* PR target/96939 */
++/* { dg-options "-march=armv8-a+crc" } */
++
++#include <arm_acle.h>
++
++unsigned
++crc (unsigned x, const void *y)
++{
++  return __crc32cw (x, *(unsigned *) y);
++}

diff --git a/gcc10-pr97032.patch b/gcc10-pr97032.patch
new file mode 100644
index 0000000..109a90b
--- /dev/null
+++ b/gcc10-pr97032.patch
@@ -0,0 +1,89 @@
+2020-09-14  H.J. Lu  <hjl.tools@gmail.com>
+
+	PR target/97032
+	* cfgexpand.c (asm_clobber_reg_kind): Set sp_is_clobbered_by_asm
+	to true if the stack pointer is clobbered by asm statement.
+	* emit-rtl.h (rtl_data): Add sp_is_clobbered_by_asm.
+	* config/i386/i386.c (ix86_get_drap_rtx): Set need_drap to true
+	if the stack pointer is clobbered by asm statement.
+
+	* gcc.target/i386/pr97032.c: New test.
+
+--- gcc/cfgexpand.c
++++ gcc/cfgexpand.c
+@@ -2879,11 +2879,15 @@ asm_clobber_reg_is_valid (int regno, int nregs, const char *regname)
+      as it was before, so no asm can validly clobber the stack pointer in
+      the usual sense.  Adding the stack pointer to the clobber list has
+      traditionally had some undocumented and somewhat obscure side-effects.  */
+-  if (overlaps_hard_reg_set_p (regset, Pmode, STACK_POINTER_REGNUM)
+-      && warning (OPT_Wdeprecated, "listing the stack pointer register"
+-		  " %qs in a clobber list is deprecated", regname))
+-    inform (input_location, "the value of the stack pointer after an %<asm%>"
+-	    " statement must be the same as it was before the statement");
++  if (overlaps_hard_reg_set_p (regset, Pmode, STACK_POINTER_REGNUM))
++    {
++      crtl->sp_is_clobbered_by_asm = true;
++      if (warning (OPT_Wdeprecated, "listing the stack pointer register"
++		   " %qs in a clobber list is deprecated", regname))
++	inform (input_location, "the value of the stack pointer after"
++		" an %<asm%> statement must be the same as it was before"
++		" the statement");
++    }
+ 
+   return is_valid;
+ }
+--- gcc/config/i386/i386.c
++++ gcc/config/i386/i386.c
+@@ -12283,10 +12283,12 @@ ix86_update_stack_boundary (void)
+ static rtx
+ ix86_get_drap_rtx (void)
+ {
+-  /* We must use DRAP if there are outgoing arguments on stack and
++  /* We must use DRAP if there are outgoing arguments on stack or
++     the stack pointer register is clobbered by asm statment and
+      ACCUMULATE_OUTGOING_ARGS is false.  */
+   if (ix86_force_drap
+-      || (cfun->machine->outgoing_args_on_stack
++      || ((cfun->machine->outgoing_args_on_stack
++	   || crtl->sp_is_clobbered_by_asm)
+ 	  && !ACCUMULATE_OUTGOING_ARGS))
+     crtl->need_drap = true;
+ 
+--- gcc/emit-rtl.h
++++ gcc/emit-rtl.h
+@@ -266,6 +266,9 @@ struct GTY(()) rtl_data {
+      pass_stack_ptr_mod has run.  */
+   bool sp_is_unchanging;
+ 
++  /* True if the stack pointer is clobbered by asm statement.  */
++  bool sp_is_clobbered_by_asm;
++
+   /* Nonzero if function being compiled doesn't contain any calls
+      (ignoring the prologue and epilogue).  This is set prior to
+      register allocation in IRA and is valid for the remaining
+--- gcc/testsuite/gcc.target/i386/pr97032.c
++++ gcc/testsuite/gcc.target/i386/pr97032.c
+@@ -0,0 +1,23 @@
++/* { dg-do compile { target { ia32 && fstack_protector } } } */
++/* { dg-options "-O2 -mincoming-stack-boundary=2 -fstack-protector-all" } */
++
++#include <stdarg.h>
++
++extern int *__errno_location (void);
++
++long
++sys_socketcall (int op, ...)
++{
++  long int res;
++  va_list ap;
++  va_start (ap, op);
++  asm volatile ("push %%ebx; movl %2, %%ebx; int $0x80; pop %%ebx"
++  /* { dg-warning "listing the stack pointer register" "" { target *-*-* } .-1 } */
++		: "=a" (res) : "0" (102), "ri" (16), "c" (ap) : "memory", "esp");
++  if (__builtin_expect (res > 4294963200UL, 0))
++    *__errno_location () = -res;
++  va_end (ap);
++  return res;
++}
++
++/* { dg-final { scan-assembler "call\[ \t\]*_?__errno_location" } } */

diff --git a/gcc10-pr97060.patch b/gcc10-pr97060.patch
new file mode 100644
index 0000000..a38da60
--- /dev/null
+++ b/gcc10-pr97060.patch
@@ -0,0 +1,53 @@
+2020-09-16  Jakub Jelinek  <jakub@redhat.com>
+
+	PR debug/97060
+	* dwarf2out.c (dwarf2out_early_global_decl): For FUNCTION_DECLs
+	and their abstract origins, if they don't have gimple body,
+	set current_function_decl to NULL rather than the decl or origin.
+
+	* gcc.dg/debug/dwarf2/pr97060.c: New test.
+
+--- gcc/dwarf2out.c.jj	2020-09-07 13:17:58.383594248 +0200
++++ gcc/dwarf2out.c	2020-09-16 11:14:57.763550862 +0200
+@@ -26547,7 +26547,11 @@ dwarf2out_early_global_decl (tree decl)
+ 	      && ((origin_die = lookup_decl_die (origin)) == NULL
+ 		  || is_declaration_die (origin_die)))
+ 	    {
+-	      current_function_decl = origin;
++	      cgraph_node *cnode = cgraph_node::get (origin);
++	      if (cnode && cnode->has_gimple_body_p ())
++		current_function_decl = origin;
++	      else
++		current_function_decl = NULL_TREE;
+ 	      dwarf2out_decl (origin);
+ 	    }
+ 
+@@ -26556,7 +26560,11 @@ dwarf2out_early_global_decl (tree decl)
+ 	  if ((old_die = lookup_decl_die (decl)) == NULL
+ 	      || is_declaration_die (old_die))
+ 	    {
+-	      current_function_decl = decl;
++	      cgraph_node *cnode = cgraph_node::get (decl);
++	      if (cnode && cnode->has_gimple_body_p ())
++		current_function_decl = decl;
++	      else
++		current_function_decl = NULL_TREE;
+ 	      dwarf2out_decl (decl);
+ 	    }
+ 
+--- gcc/testsuite/gcc.dg/debug/dwarf2/pr97060.c.jj	2020-09-16 11:03:22.358420449 +0200
++++ gcc/testsuite/gcc.dg/debug/dwarf2/pr97060.c	2020-09-16 11:03:17.717486318 +0200
+@@ -0,0 +1,13 @@
++/* PR debug/97060 */
++/* { dg-do compile } */
++/* { dg-options "-g -dA" } */
++/* { dg-final { scan-assembler-times "DW_AT_declaration" 2 } } */
++
++extern int foo (unsigned int, unsigned int);
++
++int
++bar (void)
++{
++  foo (1, 2);
++  return 0;
++}

diff --git a/sources b/sources
index 5f420de..65d1391 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
-SHA512 (gcc-10.2.1-20200826.tar.xz) = b6949ea780618400dec06b8fc7b2728414d46e5972970ed70949ce16100547e4a9a6a5ce84ae1f47309a0610607b5454b0acc5fe5ecbb2889c84346bcdbdc8ab
+SHA512 (gcc-10.2.1-20200916.tar.xz) = 1dd5ef9b6eb785e8356751b198462f61ed6a06b460285f4ddf274a85ed79a452723fd71b6bf5eb3c68821bf798299a1a352481e265e61bd836976927187879e5
 SHA512 (newlib-cygwin-50e2a63b04bdd018484605fbb954fd1bd5147fa0.tar.xz) = 002a48a7b689a81abbf16161bcaec001a842e67dfbe372e9e109092703bfc666675f16198f60ca429370e8850d564547dc505df81bc3aaca4ce6defbc014ad6c
 SHA512 (nvptx-tools-5f6f343a302d620b0868edab376c00b15741e39e.tar.xz) = f6d10db94fa1570ae0f94df073fa3c73c8e5ee16d59070b53d94f7db0de8a031bc44d7f3f1852533da04b625ce758e022263855ed43cfc6867e0708d001e53c7

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-06-29 12:28 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-29 12:28 [rpms/gcc] rhel-f41-base: 10.2.1-4 Jakub Jelinek
  -- strict thread matches above, loose matches on Subject: below --
2026-06-29 12:28 Jakub Jelinek
2026-06-29 12:28 Jakub Jelinek
2026-06-29 12:28 Jakub Jelinek

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