public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/toolchain/binutils-patches:master commit in: 9999/
Date: Wed, 06 Aug 2025 13:19:54 +0000 (UTC)	[thread overview]
Message-ID: <1754486385.d7e8dae1a4f7e3e1492b1ce05b8d20a14d40648e.sam@gentoo> (raw)

commit:     d7e8dae1a4f7e3e1492b1ce05b8d20a14d40648e
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Aug  6 13:19:45 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Aug  6 13:19:45 2025 +0000
URL:        https://gitweb.gentoo.org/proj/toolchain/binutils-patches.git/commit/?id=d7e8dae1

9999: drop patch merged upstream

Signed-off-by: Sam James <sam <AT> gentoo.org>

 ...n-t-treat-fat-IR-objects-as-plugin-object.patch | 474 ---------------------
 1 file changed, 474 deletions(-)

diff --git a/9999/0006-strip-Don-t-treat-fat-IR-objects-as-plugin-object.patch b/9999/0006-strip-Don-t-treat-fat-IR-objects-as-plugin-object.patch
deleted file mode 100644
index ca9a282..0000000
--- a/9999/0006-strip-Don-t-treat-fat-IR-objects-as-plugin-object.patch
+++ /dev/null
@@ -1,474 +0,0 @@
-https://inbox.sourceware.org/binutils/20250806040426.3697458-1-hjl.tools@gmail.com/T/#u
-
-From 2d6b40ce9b89f5e6b2497071910baab839d8e60b Mon Sep 17 00:00:00 2001
-Message-ID: <2d6b40ce9b89f5e6b2497071910baab839d8e60b.1754453238.git.sam@gentoo.org>
-From: "H.J. Lu" <hjl.tools@gmail.com>
-Date: Tue, 5 Aug 2025 21:04:26 -0700
-Subject: [PATCH] strip: Don't treat fat IR objects as plugin object
-
-Fat IR objects contains both regular sections and IR sections.  After
-
-commit 717a38e9a02109fcbcb18bb2ec3aa251e2ad0a0d
-Author: H.J. Lu <hjl.tools@gmail.com>
-Date:   Sun May 4 05:12:46 2025 +0800
-
-    strip: Add GCC LTO IR support
-
-"strip --strip-debug" no longer strips debug sections in fat IR objects
-since fat IR objects are recognized as plugin object and copied as unknown
-objects.  Add a is_strip_input field to bfd to indicate called from strip.
-Update bfd_check_format_matches not to treat archive member nor standalone
-fat IR object as IR object so that strip can remove debug and IR sections
-in fat IR object.  For archive member, it is copied as an unknown object
-if the plugin target is in use or it is a slim IR object.  For standalone
-fat IR object, it is copied as non-IR object.
-
-bfd/
-
-	PR binutils/33246
-	* archive.c: Include "plugin-api.h" and "plugin.h" if plugin is
-	enabled.
-	(_bfd_compute_and_write_armap): Don't complain plugin is needed
-	when the plugin target is in use.
-	* bfd-in2.h: Regenerated.
-	* bfd.c (bfd): Add is_strip_input.
-	* format.c (bfd_set_lto_type): If there is .llvm.lto section,
-	set LTO type to lto_fat_ir_object.
-	(bfd_check_format_matches): Don't set LTO type when setting
-	format.  When called from strip, don't treat archive member nor
-	standalone fat IR object as an IR object.
-	* plugin.c (bfd_plugin_get_symbols_in_object_only): Copy LTO
-	type derived from input sections.
-
-nm/
-
-	PR binutils/33246
-	* nm.c (filter_symbols): Don't complain plugin is needed when
-	the plugin target is in use.
-	(display_rel_file): Likewise.
-	* objcopy.c (copy_archive): Set the BFD is_strip_input field of
-	archive member to 1 to indicate called from strip.  Also copy
-	slim IR archive member as unknown object.
-	(copy_file): Set the BFD is_strip_input field of input bfd to
-	1 to indicate called from strip.
-	(strip_main): Keep .gnu.debuglto_* sections unless all GCC LTO
-	sections will be removed.
-
-ld/
-
-	PR binutils/33246
-	* testsuite/ld-plugin/lto-binutils.exp (run_pr33246_test): New.
-	Run binutils/33246 tests with GCC and Clang.
-	* testsuite/ld-plugin/pr33246.c: New file.
-
-Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
----
- bfd/archive.c                           |  10 ++
- bfd/bfd-in2.h                           |   3 +
- bfd/bfd.c                               |   3 +
- bfd/format.c                            |  25 +++-
- bfd/plugin.c                            |   3 +
- binutils/nm.c                           |   9 +-
- binutils/objcopy.c                      |  13 +-
- ld/testsuite/ld-plugin/lto-binutils.exp | 175 ++++++++++++++++++++++++
- ld/testsuite/ld-plugin/pr33246.c        |   4 +
- 9 files changed, 238 insertions(+), 7 deletions(-)
- create mode 100644 ld/testsuite/ld-plugin/pr33246.c
-
-diff --git a/bfd/archive.c b/bfd/archive.c
-index c61d4b12658..697b2ed23f2 100644
---- a/bfd/archive.c
-+++ b/bfd/archive.c
-@@ -141,6 +141,10 @@ SUBSECTION
- #include "hashtab.h"
- #include "filenames.h"
- #include "bfdlink.h"
-+#if BFD_SUPPORTS_PLUGINS
-+#include "plugin-api.h"
-+#include "plugin.h"
-+#endif
- 
- #ifndef errno
- extern int errno;
-@@ -2343,6 +2347,9 @@ _bfd_compute_and_write_armap (bfd *arch, unsigned int elength)
- 	  long src_count;
- 
- 	  if (bfd_get_lto_type (current) == lto_slim_ir_object
-+#if BFD_SUPPORTS_PLUGINS
-+	      && !bfd_plugin_target_p (current->xvec)
-+#endif
- 	      && report_plugin_err)
- 	    {
- 	      report_plugin_err = false;
-@@ -2400,6 +2407,9 @@ _bfd_compute_and_write_armap (bfd *arch, unsigned int elength)
- 
- 		      if (bfd_lto_slim_symbol_p (current,
- 						 syms[src_count]->name)
-+#if BFD_SUPPORTS_PLUGINS
-+			  && !bfd_plugin_target_p (current->xvec)
-+#endif
- 			  && report_plugin_err)
- 			{
- 			  report_plugin_err = false;
-diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
-index b013ef954da..12512a3962c 100644
---- a/bfd/bfd-in2.h
-+++ b/bfd/bfd-in2.h
-@@ -2131,6 +2131,9 @@ struct bfd
-   /* Set if this is the linker input BFD.  */
-   unsigned int is_linker_input : 1;
- 
-+  /* Set if this is the strip input BFD.  */
-+  unsigned int is_strip_input : 1;
-+
-   /* If this is an input for a compiler plug-in library.  */
-   ENUM_BITFIELD (bfd_plugin_format) plugin_format : 2;
- 
-diff --git a/bfd/bfd.c b/bfd/bfd.c
-index 858ab5ce017..4aded6809bb 100644
---- a/bfd/bfd.c
-+++ b/bfd/bfd.c
-@@ -296,6 +296,9 @@ CODE_FRAGMENT
- .  {* Set if this is the linker input BFD.  *}
- .  unsigned int is_linker_input : 1;
- .
-+.  {* Set if this is the strip input BFD.  *}
-+.  unsigned int is_strip_input : 1;
-+.
- .  {* If this is an input for a compiler plug-in library.  *}
- .  ENUM_BITFIELD (bfd_plugin_format) plugin_format : 2;
- .
-diff --git a/bfd/format.c b/bfd/format.c
-index d2bc318977c..bd9fa8d6c33 100644
---- a/bfd/format.c
-+++ b/bfd/format.c
-@@ -389,6 +389,11 @@ bfd_set_lto_type (bfd *abfd ATTRIBUTE_UNUSED)
- 	    abfd->object_only_section = sec;
- 	    break;
- 	  }
-+	else if (strcmp (sec->name, ".llvm.lto") == 0)
-+	  {
-+	    type = lto_fat_ir_object;
-+	    break;
-+	  }
- 	else if (lsection.major_version == 0
- 		 && startswith (sec->name, ".gnu.lto_.lto.")
- 		 && bfd_get_section_contents (abfd, sec, &lsection, 0,
-@@ -453,10 +458,7 @@ bfd_check_format_matches (bfd *abfd, bfd_format format, char ***matching)
-     }
- 
-   if (abfd->format != bfd_unknown)
--    {
--      bfd_set_lto_type (abfd);
--      return abfd->format == format;
--    }
-+    return abfd->format == format;
- 
-   if (matching != NULL || *bfd_associated_vector != NULL)
-     {
-@@ -510,7 +512,20 @@ bfd_check_format_matches (bfd *abfd, bfd_format format, char ***matching)
- 
-       cleanup = BFD_SEND_FMT (abfd, _bfd_check_format, (abfd));
- 
--      if (cleanup)
-+      /* When called from strip, don't treat archive member nor
-+	 standalone fat IR object as an IR object.  For archive
-+	 member, it will be copied as an unknown object if the
-+	 plugin target is in use or it is a slim IR object.  For
-+	 standalone fat IR object, it will be copied as non-IR
-+	 object.  */
-+      if (cleanup
-+#if BFD_SUPPORTS_PLUGINS
-+	  && (!abfd->is_strip_input
-+	      || !bfd_plugin_target_p (abfd->xvec)
-+	      || (abfd->lto_type != lto_fat_ir_object
-+		  && abfd->my_archive == NULL))
-+#endif
-+	  )
- 	goto ok_ret;
- 
-       /* For a long time the code has dropped through to check all
-diff --git a/bfd/plugin.c b/bfd/plugin.c
-index ebdf2505cbc..43ca444e7a1 100644
---- a/bfd/plugin.c
-+++ b/bfd/plugin.c
-@@ -206,6 +206,9 @@ bfd_plugin_get_symbols_in_object_only (bfd *abfd)
- 	  bfd_close (nbfd);
- 	  return;
- 	}
-+
-+      /* Copy LTO type derived from input sections.  */
-+      abfd->lto_type = nbfd->lto_type;
-     }
-   else
-     {
-diff --git a/binutils/nm.c b/binutils/nm.c
-index a5d56311dde..d44083dcc94 100644
---- a/binutils/nm.c
-+++ b/binutils/nm.c
-@@ -802,6 +802,9 @@ filter_symbols (bfd *abfd, bool is_dynamic, void *minisyms,
- 	continue;
- 
-       if (bfd_lto_slim_symbol_p (abfd, sym->name)
-+#if BFD_SUPPORTS_PLUGINS
-+	  && !bfd_plugin_target_p (abfd->xvec)
-+#endif
- 	  && report_plugin_err)
- 	{
- 	  report_plugin_err = false;
-@@ -1484,7 +1487,11 @@ display_rel_file (bfd *abfd, bfd *archive_bfd)
- 
-   /* lto_type is set to lto_non_ir_object when a bfd is loaded with a
-      compiler LTO plugin.  */
--  if (bfd_get_lto_type (abfd) == lto_slim_ir_object)
-+  if (bfd_get_lto_type (abfd) == lto_slim_ir_object
-+#if BFD_SUPPORTS_PLUGINS
-+      && !bfd_plugin_target_p (abfd->xvec)
-+#endif
-+     )
-     {
-       report_plugin_err = false;
-       non_fatal (_("%s: plugin needed to handle lto object"),
-diff --git a/binutils/objcopy.c b/binutils/objcopy.c
-index 8bd523aba13..3404bec1d08 100644
---- a/binutils/objcopy.c
-+++ b/binutils/objcopy.c
-@@ -3689,6 +3689,8 @@ copy_archive (bfd *ibfd, bfd *obfd, const char *output_target,
-       bool ok_object;
-       const char *element_name;
- 
-+      this_element->is_strip_input = 1;
-+
-       element_name = bfd_get_filename (this_element);
-       /* PR binutils/17533: Do not allow directory traversal
- 	 outside of the current directory tree by archive members.  */
-@@ -3769,7 +3771,9 @@ copy_archive (bfd *ibfd, bfd *obfd, const char *output_target,
- 
- #if BFD_SUPPORTS_PLUGINS
-       /* Copy LTO IR file as unknown object.  */
--      if (bfd_plugin_target_p (this_element->xvec))
-+      if ((!lto_sections_removed
-+	   && this_element->lto_type == lto_slim_ir_object)
-+	  || bfd_plugin_target_p (this_element->xvec))
- 	ok_object = false;
-       else
- #endif
-@@ -3966,6 +3970,8 @@ copy_file (const char *input_filename, const char *output_filename, int ofd,
-       break;
-     }
- 
-+  ibfd->is_strip_input = 1;
-+
-   if (bfd_check_format (ibfd, bfd_archive))
-     {
-       bool force_output_target;
-@@ -5072,6 +5078,11 @@ strip_main (int argc, char *argv[])
- 					       SECTION_CONTEXT_REMOVE)
- 			  || !!find_section_list (".llvm.lto", false,
- 					       SECTION_CONTEXT_REMOVE));
-+  /* NB: Must keep .gnu.debuglto_* sections unless all GCC LTO sections
-+     will be removed to avoid undefined references to symbols in GCC LTO
-+     debug sections.  */
-+  if (!lto_sections_removed)
-+    find_section_list (".gnu.debuglto_*", true, SECTION_CONTEXT_KEEP);
- #endif
- 
-   i = optind;
-diff --git a/ld/testsuite/ld-plugin/lto-binutils.exp b/ld/testsuite/ld-plugin/lto-binutils.exp
-index 88d35171045..de017f0b946 100644
---- a/ld/testsuite/ld-plugin/lto-binutils.exp
-+++ b/ld/testsuite/ld-plugin/lto-binutils.exp
-@@ -355,3 +355,178 @@ run_cc_link_tests [list \
- 	"tmpdir/libstrip-1b-fat-s.a" \
-     ] \
- ]
-+
-+proc run_pr33246_test { llvm fat } {
-+    global srcdir
-+    global subdir
-+    global plug_opt
-+    global llvm_plug_opt
-+    global ar
-+    global CLANG_FOR_TARGET
-+    global CC_FOR_TARGET
-+    global NM
-+    global READELF
-+    global strip
-+
-+    set strip_flags "--strip-debug --enable-deterministic-archives"
-+
-+    set test pr33246
-+    set testname "${test}${llvm}${fat} with $strip_flags"
-+
-+    if { "$llvm" == "-llvm" } {
-+	# Skip native x32 and i?86 targets since system LLVMgold.so may
-+	# not be compatible with native x32 and i?86 targets binutils.
-+	if { [istarget "x86_64-*-linux*-gnux32"]
-+	     || [istarget "i?86-*-*"]
-+	     || ![info exists CLANG_FOR_TARGET]
-+	     || [string match "" $llvm_plug_opt] } then {
-+	    untested $testname
-+	    return
-+	}
-+	set CC $CLANG_FOR_TARGET
-+	set binutils_plug_opt "$llvm_plug_opt"
-+    } else {
-+	if { ![info exists CC_FOR_TARGET]
-+	     || [string match "" $plug_opt] } then {
-+	    untested $testname
-+	    return
-+	}
-+	set CC $CC_FOR_TARGET
-+	set binutils_plug_opt "$plug_opt"
-+    }
-+
-+    append strip_flags " $binutils_plug_opt"
-+
-+    set src $srcdir/$subdir/${test}.c
-+    set obj tmpdir/${test}${llvm}${fat}.o
-+    set archive tmpdir/${test}${llvm}${fat}.a
-+    set CFLAGS "-c -g -O2 -flto"
-+    if { "$fat" == "-fat" } {
-+	append CFLAGS " -ffat-lto-objects"
-+    } else {
-+	append CFLAGS " -fno-fat-lto-objects"
-+    }
-+
-+    set cmd "$CC $CFLAGS -o $obj $src"
-+    send_log "$cmd\n"
-+    verbose "$cmd" 1
-+    catch "exec $cmd" got
-+    if ![string match "" $got] then {
-+	send_log "$got\n"
-+	verbose "$got" 1
-+	fail "$testname ($obj)"
-+	return
-+    }
-+
-+    set cmd "$strip $strip_flags $obj -o ${obj}.strip"
-+    send_log "$cmd\n"
-+    verbose "$cmd" 1
-+    catch "exec $cmd" got
-+    if ![string match "" $got] then {
-+	send_log "$got\n"
-+	verbose "$got" 1
-+	fail "$testname (strip $obj)"
-+	return
-+    }
-+
-+    set cmd "$NM $binutils_plug_opt ${obj}.strip"
-+    send_log "$cmd\n"
-+    verbose "$cmd" 1
-+    catch "exec $cmd" got
-+    if ![regexp "0+ T foo" $got] then {
-+	send_log "$got\n"
-+	verbose "$got" 1
-+	fail "$testname (strip $obj)"
-+	return
-+    }
-+
-+    if { "$fat" == "-fat" } {
-+	set cmd "$READELF -SW ${obj}.strip"
-+	send_log "$cmd\n"
-+	verbose "$cmd" 1
-+	catch "exec $cmd" got
-+	if [regexp " \.debug_" $got] then {
-+	    send_log "$got\n"
-+	    verbose "$got" 1
-+	    fail "$testname (strip $obj)"
-+	    return
-+	}
-+    } else {
-+	set cmd "cmp $obj ${obj}.strip"
-+	send_log "$cmd\n"
-+	verbose "$cmd" 1
-+	catch "exec $cmd" got
-+	if ![string match "" $got] then {
-+	    send_log "$got\n"
-+	    verbose "$got" 1
-+	    fail "$testname (strip $obj)"
-+	    return
-+	}
-+    }
-+
-+    pass "$testname (strip $obj)"
-+
-+    set cmd "$ar $binutils_plug_opt -D -s -r -c $archive $obj"
-+    send_log "$cmd\n"
-+    verbose "$cmd" 1
-+    catch "exec $cmd" got
-+    if ![string match "" $got] then {
-+	send_log "$got\n"
-+	verbose "$got" 1
-+	fail "$testname ($archive)"
-+	return
-+    }
-+
-+    set cmd "$strip $strip_flags $archive -o ${archive}.strip"
-+    send_log "$cmd\n"
-+    verbose "$cmd" 1
-+    catch "exec $cmd" got
-+    if ![string match "" $got] then {
-+	send_log "$got\n"
-+	verbose "$got" 1
-+	fail "$testname (strip $archive)"
-+	return
-+    }
-+
-+    set cmd "$NM $binutils_plug_opt ${archive}.strip"
-+    send_log "$cmd\n"
-+    verbose "$cmd" 1
-+    catch "exec $cmd" got
-+    if ![regexp "0+ T foo" $got] then {
-+	send_log "$got\n"
-+	verbose "$got" 1
-+	fail "$testname (strip $archive)"
-+	return
-+    }
-+
-+    if { "$fat" == "-fat" } {
-+	set cmd "$READELF -SW ${archive}.strip"
-+	send_log "$cmd\n"
-+	verbose "$cmd" 1
-+	catch "exec $cmd" got
-+	if [regexp " \.debug_" $got] then {
-+	    send_log "$got\n"
-+	    verbose "$got" 1
-+	    fail "$testname (strip $archive)"
-+	    return
-+	}
-+    } else {
-+	set cmd "cmp $archive ${archive}.strip"
-+	send_log "$cmd\n"
-+	verbose "$cmd" 1
-+	catch "exec $cmd" got
-+	if ![string match "" $got] then {
-+	    send_log "$got\n"
-+	    verbose "$got" 1
-+	    fail "$testname (strip $archive)"
-+	    return
-+	}
-+    }
-+
-+    pass "$testname (strip $archive)"
-+}
-+
-+run_pr33246_test "" ""
-+run_pr33246_test "" "-fat"
-+run_pr33246_test "-llvm" ""
-+run_pr33246_test "-llvm" "-fat"
-diff --git a/ld/testsuite/ld-plugin/pr33246.c b/ld/testsuite/ld-plugin/pr33246.c
-new file mode 100644
-index 00000000000..cd0130cacdf
---- /dev/null
-+++ b/ld/testsuite/ld-plugin/pr33246.c
-@@ -0,0 +1,4 @@
-+void
-+foo (void)
-+{
-+}
-
-base-commit: d6e93eedfb9e75846c3083f49f9015eda1a2be33
--- 
-2.50.1
-


             reply	other threads:[~2025-08-06 13:19 UTC|newest]

Thread overview: 99+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-06 13:19 Sam James [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-10-10  5:41 [gentoo-commits] proj/toolchain/binutils-patches:master commit in: 9999/ Sam James
2025-10-10  5:28 Sam James
2025-10-10  5:28 Sam James
2025-10-10  5:25 Sam James
2025-10-10  4:57 Sam James
2025-08-29 13:40 Sam James
2025-08-28 20:21 Sam James
2025-08-28 13:51 Sam James
2025-08-28  5:32 Sam James
2025-08-27 16:26 Sam James
2025-08-27  4:05 Sam James
2025-08-27  2:49 Sam James
2025-08-25  2:49 Sam James
2025-08-20 23:30 Sam James
2025-08-20 22:17 Sam James
2025-08-20 22:17 Sam James
2025-08-20 20:44 Sam James
2025-08-20  4:39 Sam James
2025-08-19 20:54 Sam James
2025-08-19 17:11 Sam James
2025-08-19 16:28 Sam James
2025-08-19 10:51 Sam James
2025-08-19  3:48 Sam James
2025-08-18 20:21 Sam James
2025-08-18 20:21 Sam James
2025-08-18 20:19 Sam James
2025-08-18 15:39 Sam James
2025-08-17 20:58 Sam James
2025-08-17 19:45 Sam James
2025-08-06  4:07 Sam James
2025-08-06  1:08 Sam James
2025-08-05 20:21 Sam James
2025-08-04 21:43 Sam James
2025-08-04 21:05 Sam James
2025-08-04 15:32 Sam James
2025-08-04 11:06 Sam James
2025-08-03 23:43 Sam James
2025-08-01 11:28 Sam James
2025-08-01  8:17 Sam James
2025-07-31 11:39 Sam James
2025-07-28 12:24 Andreas K. Hüttel
2025-07-24 17:25 Sam James
2025-07-24  4:03 Sam James
2025-07-24  3:46 Sam James
2025-07-23 22:37 Sam James
2025-06-14 21:52 Sam James
2025-06-13  8:00 Sam James
2025-05-14  7:14 Sam James
2025-05-14  3:59 Sam James
2025-05-05  9:46 Sam James
2025-05-05  3:06 Sam James
2025-05-04 10:15 Sam James
2025-04-10 17:35 Sam James
2025-04-09  2:24 Sam James
2025-04-08  0:36 Sam James
2025-03-29 14:18 Sam James
2025-03-12 20:21 Sam James
2025-03-06 12:54 Sam James
2025-03-06  4:54 Sam James
2025-02-03 18:02 Andreas K. Hüttel
2025-01-14  2:09 Sam James
2025-01-13  6:11 Sam James
2025-01-02 13:48 Sam James
2025-01-01 14:05 Sam James
2024-12-26  1:21 Sam James
2024-12-24  6:27 Sam James
2024-12-21  0:09 Sam James
2024-08-03 22:43 Andreas K. Hüttel
2024-06-29 17:05 Andreas K. Hüttel
2024-06-29 16:32 Andreas K. Hüttel
2024-06-29 16:32 Andreas K. Hüttel
2024-06-28 21:48 Andreas K. Hüttel
2023-10-27  0:44 Sam James
2023-10-27  0:44 Sam James
2023-07-30 14:49 Andreas K. Hüttel
2023-07-28 16:23 Andreas K. Hüttel
2023-06-30  9:21 WANG Xuerui
2023-04-02 11:44 Andreas K. Hüttel
2023-01-05 16:22 Andreas K. Hüttel
2023-01-05 16:21 Andreas K. Hüttel
2023-01-03 23:03 Andreas K. Hüttel
2023-01-02 23:50 Andreas K. Hüttel
2022-10-08 12:15 WANG Xuerui
2022-07-29  7:55 WANG Xuerui
2022-01-15 22:27 Andreas K. Hüttel
2021-08-17 20:07 Andreas K. Hüttel
2021-07-30 23:25 Andreas K. Hüttel
2021-07-24 20:57 Andreas K. Hüttel
2021-07-20 19:53 Andreas K. Hüttel
2021-07-20 19:50 Andreas K. Hüttel
2021-07-06  7:04 Sergei Trofimovich
2021-07-06  7:04 Sergei Trofimovich
2021-07-06  7:04 Sergei Trofimovich
2020-07-25 17:27 Andreas K. Hüttel
2020-07-25 12:26 Andreas K. Hüttel
2020-07-25 12:23 Andreas K. Hüttel
2020-07-25 12:20 Andreas K. Hüttel
2020-05-19 21:12 Andreas K. Hüttel

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=1754486385.d7e8dae1a4f7e3e1492b1ce05b8d20a14d40648e.sam@gentoo \
    --to=sam@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.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