public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Jakub Jelinek <jakub@redhat.com>
To: git-commits@fedoraproject.org
Subject: [rpms/gcc] rhel-f41-base: 10.2.1-4
Date: Mon, 29 Jun 2026 12:28:53 GMT	[thread overview]
Message-ID: <178273613323.1.10118416873723467558.rpms-gcc-d10315732bb8@fedoraproject.org> (raw)

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

             reply	other threads:[~2026-06-29 12:28 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-29 12:28 Jakub Jelinek [this message]
2026-06-29 12:28 [rpms/gcc] rhel-f41-base: 10.2.1-4 Jakub Jelinek
2026-06-29 12:28 Jakub Jelinek
2026-06-29 12:28 Jakub Jelinek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178273613323.1.10118416873723467558.rpms-gcc-d10315732bb8@fedoraproject.org \
    --to=jakub@redhat.com \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox