aboutsummaryrefslogtreecommitdiff
path: root/12.2.0
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-12-25 16:57:30 +0000
committerSam James <sam@gentoo.org>2022-12-25 16:57:30 +0000
commitd182e15bbb3333f34afd4a6396108c1e581e4872 (patch)
tree18358992aa02d88cfcde4cb03b7254ffc8340d8f /12.2.0
parent10.5.0/11.4.0/12.2.0/13.1.0: update libarchive/bsdtar patch (diff)
downloadgcc-patches-d182e15bbb3333f34afd4a6396108c1e581e4872.tar.gz
gcc-patches-d182e15bbb3333f34afd4a6396108c1e581e4872.tar.bz2
gcc-patches-d182e15bbb3333f34afd4a6396108c1e581e4872.zip
12.2.0: drop upstreamed make 4.4 patches
Bug: https://bugs.gentoo.org/884633 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to '12.2.0')
-rw-r--r--12.2.0/gentoo/78_all_Factor-out-jobserver_active_p.patch284
-rw-r--r--12.2.0/gentoo/79_all_lto-support-jobserver-style-fifo-for-recent-GNU-make.patch64
-rw-r--r--12.2.0/gentoo/80_all_lto-respect-jobserver-in-parallel-WPA-streaming.patch225
-rw-r--r--12.2.0/gentoo/81_all_jobserver-fix-fifo-mode-by-opening-pipe-in-proper-mo.patch31
-rw-r--r--12.2.0/gentoo/README.history6
5 files changed, 6 insertions, 604 deletions
diff --git a/12.2.0/gentoo/78_all_Factor-out-jobserver_active_p.patch b/12.2.0/gentoo/78_all_Factor-out-jobserver_active_p.patch
deleted file mode 100644
index a4ae458..0000000
--- a/12.2.0/gentoo/78_all_Factor-out-jobserver_active_p.patch
+++ /dev/null
@@ -1,284 +0,0 @@
-https://bugs.gentoo.org/884633
-
-https://build.opensuse.org/package/view_file/devel:gcc/gcc12/gcc12-fifo-jobserver-support.patch
-https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=1270ccda70ca09f7d4fe76b5156dca8992bd77a6
-
-From 5037b72e71bac3bf15b16597e149601930094d4f Mon Sep 17 00:00:00 2001
-From: Martin Liska <mliska@suse.cz>
-Date: Tue, 9 Aug 2022 13:59:32 +0200
-Subject: [PATCH 1/4] Factor out jobserver_active_p.
-
-gcc/ChangeLog:
-
- * gcc.cc (driver::detect_jobserver): Remove and move to
- jobserver.h.
- * lto-wrapper.cc (jobserver_active_p): Likewise.
- (run_gcc): Likewise.
- * opts-jobserver.h: New file.
- * opts-common.cc (jobserver_info::jobserver_info): New function.
---- a/gcc/gcc.cc
-+++ b/gcc/gcc.cc
-@@ -27,6 +27,7 @@ CC recognizes how to compile each input file by suffixes in the file names.
- Once it knows which kind of compilation to perform, the procedure for
- compilation is specified by a string called a "spec". */
-
-+#define INCLUDE_STRING
- #include "config.h"
- #include "system.h"
- #include "coretypes.h"
-@@ -42,7 +43,7 @@ compilation is specified by a string called a "spec". */
- #include "flags.h"
- #include "opts.h"
- #include "filenames.h"
--#include "spellcheck.h"
-+#include "opts-jobserver.h"
-
-
-
-@@ -9178,38 +9179,9 @@ driver::final_actions () const
- void
- driver::detect_jobserver () const
- {
-- /* Detect jobserver and drop it if it's not working. */
-- const char *makeflags = env.get ("MAKEFLAGS");
-- if (makeflags != NULL)
-- {
-- const char *needle = "--jobserver-auth=";
-- const char *n = strstr (makeflags, needle);
-- if (n != NULL)
-- {
-- int rfd = -1;
-- int wfd = -1;
--
-- bool jobserver
-- = (sscanf (n + strlen (needle), "%d,%d", &rfd, &wfd) == 2
-- && rfd > 0
-- && wfd > 0
-- && is_valid_fd (rfd)
-- && is_valid_fd (wfd));
--
-- /* Drop the jobserver if it's not working now. */
-- if (!jobserver)
-- {
-- unsigned offset = n - makeflags;
-- char *dup = xstrdup (makeflags);
-- dup[offset] = '\0';
--
-- const char *space = strchr (makeflags + offset, ' ');
-- if (space != NULL)
-- strcpy (dup + offset, space);
-- xputenv (concat ("MAKEFLAGS=", dup, NULL));
-- }
-- }
-- }
-+ jobserver_info jinfo;
-+ if (!jinfo.is_active && !jinfo.skipped_makeflags.empty ())
-+ xputenv (jinfo.skipped_makeflags.c_str ());
- }
-
- /* Determine what the exit code of the driver should be. */
---- a/gcc/lto-wrapper.cc
-+++ b/gcc/lto-wrapper.cc
-@@ -37,6 +37,7 @@ along with GCC; see the file COPYING3. If not see
- ./ccCJuXGv.lto.ltrans.o
- */
-
-+#define INCLUDE_STRING
- #include "config.h"
- #include "system.h"
- #include "coretypes.h"
-@@ -49,6 +50,8 @@ along with GCC; see the file COPYING3. If not see
- #include "lto-section-names.h"
- #include "collect-utils.h"
- #include "opts-diagnostic.h"
-+#include "opt-suggestions.h"
-+#include "opts-jobserver.h"
-
- /* Environment variable, used for passing the names of offload targets from GCC
- driver to lto-wrapper. */
-@@ -1336,35 +1339,6 @@ init_num_threads (void)
- #endif
- }
-
--/* Test and return reason why a jobserver cannot be detected. */
--
--static const char *
--jobserver_active_p (void)
--{
-- #define JS_PREFIX "jobserver is not available: "
-- #define JS_NEEDLE "--jobserver-auth="
--
-- const char *makeflags = getenv ("MAKEFLAGS");
-- if (makeflags == NULL)
-- return JS_PREFIX "%<MAKEFLAGS%> environment variable is unset";
--
-- const char *n = strstr (makeflags, JS_NEEDLE);
-- if (n == NULL)
-- return JS_PREFIX "%<" JS_NEEDLE "%> is not present in %<MAKEFLAGS%>";
--
-- int rfd = -1;
-- int wfd = -1;
--
-- if (sscanf (n + strlen (JS_NEEDLE), "%d,%d", &rfd, &wfd) == 2
-- && rfd > 0
-- && wfd > 0
-- && is_valid_fd (rfd)
-- && is_valid_fd (wfd))
-- return NULL;
-- else
-- return JS_PREFIX "cannot access %<" JS_NEEDLE "%> file descriptors";
--}
--
- /* Print link to -flto documentation with a hint message. */
-
- void
-@@ -1422,7 +1396,6 @@ run_gcc (unsigned argc, char *argv[])
- bool jobserver_requested = false;
- int auto_parallel = 0;
- bool no_partition = false;
-- const char *jobserver_error = NULL;
- bool fdecoded_options_first = true;
- vec<cl_decoded_option> fdecoded_options;
- fdecoded_options.create (16);
-@@ -1654,14 +1627,14 @@ run_gcc (unsigned argc, char *argv[])
- }
- else
- {
-- jobserver_error = jobserver_active_p ();
-- if (jobserver && jobserver_error != NULL)
-+ jobserver_info jinfo;
-+ if (jobserver && !jinfo.is_active)
- {
- /* Fall back to auto parallelism. */
- jobserver = 0;
- auto_parallel = 1;
- }
-- else if (!jobserver && jobserver_error == NULL)
-+ else if (!jobserver && jinfo.is_active)
- {
- parallel = 1;
- jobserver = 1;
-@@ -1976,9 +1949,10 @@ cont:
-
- if (nr > 1)
- {
-- if (jobserver_requested && jobserver_error != NULL)
-+ jobserver_info jinfo;
-+ if (jobserver_requested && !jinfo.is_active)
- {
-- warning (0, jobserver_error);
-+ warning (0, jinfo.error_msg.c_str ());
- print_lto_docs_link ();
- }
- else if (parallel == 0)
---- a/gcc/opts-common.cc
-+++ b/gcc/opts-common.cc
-@@ -17,6 +17,7 @@ You should have received a copy of the GNU General Public License
- along with GCC; see the file COPYING3. If not see
- <http://www.gnu.org/licenses/>. */
-
-+#define INCLUDE_STRING
- #include "config.h"
- #include "system.h"
- #include "intl.h"
-@@ -25,6 +26,7 @@ along with GCC; see the file COPYING3. If not see
- #include "options.h"
- #include "diagnostic.h"
- #include "spellcheck.h"
-+#include "opts-jobserver.h"
-
- static void prune_options (struct cl_decoded_option **, unsigned int *);
-
-@@ -2003,3 +2005,42 @@ void prepend_xassembler_to_collect_as_options (const char *collect_as_options,
- obstack_1grow (o, '\'');
- }
- }
-+
-+jobserver_info::jobserver_info ()
-+{
-+ /* Detect jobserver and drop it if it's not working. */
-+ string js_needle = "--jobserver-auth=";
-+
-+ const char *envval = getenv ("MAKEFLAGS");
-+ if (envval != NULL)
-+ {
-+ string makeflags = envval;
-+ size_t n = makeflags.rfind (js_needle);
-+ if (n != string::npos)
-+ {
-+ if (sscanf (makeflags.c_str () + n + js_needle.size (),
-+ "%d,%d", &rfd, &wfd) == 2
-+ && rfd > 0
-+ && wfd > 0
-+ && is_valid_fd (rfd)
-+ && is_valid_fd (wfd))
-+ is_active = true;
-+ else
-+ {
-+ string dup = makeflags.substr (0, n);
-+ size_t pos = makeflags.find (' ', n);
-+ if (pos != string::npos)
-+ dup += makeflags.substr (pos);
-+ skipped_makeflags = "MAKEFLAGS=" + dup;
-+ error_msg
-+ = "cannot access %<" + js_needle + "%> file descriptors";
-+ }
-+ }
-+ error_msg = "%<" + js_needle + "%> is not present in %<MAKEFLAGS%>";
-+ }
-+ else
-+ error_msg = "%<MAKEFLAGS%> environment variable is unset";
-+
-+ if (!error_msg.empty ())
-+ error_msg = "jobserver is not available: " + error_msg;
-+}
---- /dev/null
-+++ b/gcc/opts-jobserver.h
-@@ -0,0 +1,44 @@
-+/* GNU make's jobserver related functionality.
-+ Copyright (C) 2022 Free Software Foundation, Inc.
-+
-+This file is part of GCC.
-+
-+GCC is free software; you can redistribute it and/or modify it under
-+the terms of the GNU General Public License as published by the Free
-+Software Foundation; either version 3, or (at your option) any later
-+version.
-+
-+GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-+WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-+for more details.
-+
-+You should have received a copy of the GNU General Public License
-+along with GCC; see the file COPYING3. If not see
-+<http://www.gnu.org/licenses/>.
-+
-+See dbgcnt.def for usage information. */
-+
-+#ifndef GCC_JOBSERVER_H
-+#define GCC_JOBSERVER_H
-+
-+using namespace std;
-+
-+struct jobserver_info
-+{
-+ /* Default constructor. */
-+ jobserver_info ();
-+
-+ /* Error message if there is a problem. */
-+ string error_msg = "";
-+ /* Skipped MAKEFLAGS where --jobserver-auth is skipped. */
-+ string skipped_makeflags = "";
-+ /* File descriptor for reading used for jobserver communication. */
-+ int rfd = -1;
-+ /* File descriptor for writing used for jobserver communication. */
-+ int wfd = -1;
-+ /* Return true if jobserver is active. */
-+ bool is_active = false;
-+};
-+
-+#endif /* GCC_JOBSERVER_H */
---
-2.38.1
-
diff --git a/12.2.0/gentoo/79_all_lto-support-jobserver-style-fifo-for-recent-GNU-make.patch b/12.2.0/gentoo/79_all_lto-support-jobserver-style-fifo-for-recent-GNU-make.patch
deleted file mode 100644
index aa76db7..0000000
--- a/12.2.0/gentoo/79_all_lto-support-jobserver-style-fifo-for-recent-GNU-make.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-https://bugs.gentoo.org/884633
-
-https://build.opensuse.org/package/view_file/devel:gcc/gcc12/gcc12-fifo-jobserver-support.patch
-https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=53e3b2bf16a486c15c20991c6095f7be09012b55
-
-From 3e8b90a00ddfe9cbf5416842b19b84b1ab561e08 Mon Sep 17 00:00:00 2001
-From: Martin Liska <mliska@suse.cz>
-Date: Tue, 9 Aug 2022 13:59:36 +0200
-Subject: [PATCH 2/4] lto: support --jobserver-style=fifo for recent GNU make
-
-gcc/ChangeLog:
-
- * opts-jobserver.h: Add one member.
- * opts-common.cc (jobserver_info::jobserver_info): Parse FIFO
- format of --jobserver-auth.
---- a/gcc/opts-common.cc
-+++ b/gcc/opts-common.cc
-@@ -2008,8 +2008,14 @@ void prepend_xassembler_to_collect_as_options (const char *collect_as_options,
-
- jobserver_info::jobserver_info ()
- {
-+ /* Traditionally, GNU make uses opened pipes for jobserver-auth,
-+ e.g. --jobserver-auth=3,4.
-+ Starting with GNU make 4.4, one can use --jobserver-style=fifo
-+ and then named pipe is used: --jobserver-auth=fifo:/tmp/hcsparta. */
-+
- /* Detect jobserver and drop it if it's not working. */
- string js_needle = "--jobserver-auth=";
-+ string fifo_prefix = "fifo:";
-
- const char *envval = getenv ("MAKEFLAGS");
- if (envval != NULL)
-@@ -2018,8 +2024,15 @@ jobserver_info::jobserver_info ()
- size_t n = makeflags.rfind (js_needle);
- if (n != string::npos)
- {
-- if (sscanf (makeflags.c_str () + n + js_needle.size (),
-- "%d,%d", &rfd, &wfd) == 2
-+ string ending = makeflags.substr (n + js_needle.size ());
-+ if (ending.find (fifo_prefix) == 0)
-+ {
-+ ending = ending.substr (fifo_prefix.size ());
-+ pipe_path = ending.substr (0, ending.find (' '));
-+ is_active = true;
-+ }
-+ else if (sscanf (makeflags.c_str () + n + js_needle.size (),
-+ "%d,%d", &rfd, &wfd) == 2
- && rfd > 0
- && wfd > 0
- && is_valid_fd (rfd)
---- a/gcc/opts-jobserver.h
-+++ b/gcc/opts-jobserver.h
-@@ -37,6 +37,8 @@ struct jobserver_info
- int rfd = -1;
- /* File descriptor for writing used for jobserver communication. */
- int wfd = -1;
-+ /* Named pipe path. */
-+ string pipe_path = "";
- /* Return true if jobserver is active. */
- bool is_active = false;
- };
---
-2.38.1
-
diff --git a/12.2.0/gentoo/80_all_lto-respect-jobserver-in-parallel-WPA-streaming.patch b/12.2.0/gentoo/80_all_lto-respect-jobserver-in-parallel-WPA-streaming.patch
deleted file mode 100644
index 587d9f8..0000000
--- a/12.2.0/gentoo/80_all_lto-respect-jobserver-in-parallel-WPA-streaming.patch
+++ /dev/null
@@ -1,225 +0,0 @@
-https://bugs.gentoo.org/884633
-
-https://build.opensuse.org/package/view_file/devel:gcc/gcc12/gcc12-fifo-jobserver-support.patch
-https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=fed766af32ed6cd371016cc24e931131e19b4eb1
-
-From e8b2576a98e7c8ce374c179cd650f1f9422ec1ca Mon Sep 17 00:00:00 2001
-From: Martin Liska <mliska@suse.cz>
-Date: Tue, 9 Aug 2022 13:59:39 +0200
-Subject: [PATCH 3/4] lto: respect jobserver in parallel WPA streaming
-
- PR lto/106328
-
-gcc/ChangeLog:
-
- * opts-jobserver.h (struct jobserver_info): Add pipefd.
- (jobserver_info::connect): New.
- (jobserver_info::disconnect): Likewise.
- (jobserver_info::get_token): Likewise.
- (jobserver_info::return_token): Likewise.
- * opts-common.cc: Implement the new functions.
-
-gcc/lto/ChangeLog:
-
- * lto.cc (wait_for_child): Decrement nruns once a process
- finishes.
- (stream_out_partitions): Use job server if active.
- (do_whole_program_analysis): Likewise.
---- a/gcc/lto/lto.cc
-+++ b/gcc/lto/lto.cc
-@@ -18,6 +18,7 @@ You should have received a copy of the GNU General Public License
- along with GCC; see the file COPYING3. If not see
- <http://www.gnu.org/licenses/>. */
-
-+#define INCLUDE_STRING
- #include "config.h"
- #include "system.h"
- #include "coretypes.h"
-@@ -54,11 +55,17 @@ along with GCC; see the file COPYING3. If not see
- #include "attribs.h"
- #include "builtins.h"
- #include "lto-common.h"
-+#include "opts-jobserver.h"
-
--
--/* Number of parallel tasks to run, -1 if we want to use GNU Make jobserver. */
-+/* Number of parallel tasks to run. */
- static int lto_parallelism;
-
-+/* Number of active WPA streaming processes. */
-+static int nruns = 0;
-+
-+/* GNU make's jobserver info. */
-+static jobserver_info *jinfo = NULL;
-+
- /* Return true when NODE has a clone that is analyzed (i.e. we need
- to load its body even if the node itself is not needed). */
-
-@@ -205,6 +212,12 @@ wait_for_child ()
- "streaming subprocess was killed by signal");
- }
- while (!WIFEXITED (status) && !WIFSIGNALED (status));
-+
-+ --nruns;
-+
-+ /* Return token to the jobserver if active. */
-+ if (jinfo != NULL && jinfo->is_active)
-+ jinfo->return_token ();
- }
- #endif
-
-@@ -228,25 +241,35 @@ stream_out_partitions (char *temp_filename, int blen, int min, int max,
- bool ARG_UNUSED (last))
- {
- #ifdef HAVE_WORKING_FORK
-- static int nruns;
--
- if (lto_parallelism <= 1)
- {
- stream_out_partitions_1 (temp_filename, blen, min, max);
- return;
- }
-
-- /* Do not run more than LTO_PARALLELISM streamings
-- FIXME: we ignore limits on jobserver. */
- if (lto_parallelism > 0 && nruns >= lto_parallelism)
-- {
-- wait_for_child ();
-- nruns --;
-- }
-+ wait_for_child ();
-+
- /* If this is not the last parallel partition, execute new
- streaming process. */
- if (!last)
- {
-+ if (jinfo != NULL && jinfo->is_active)
-+ while (true)
-+ {
-+ if (jinfo->get_token ())
-+ break;
-+ if (nruns > 0)
-+ wait_for_child ();
-+ else
-+ {
-+ /* There are no free tokens, lets do the job outselves. */
-+ stream_out_partitions_1 (temp_filename, blen, min, max);
-+ asm_nodes_output = true;
-+ return;
-+ }
-+ }
-+
- pid_t cpid = fork ();
-
- if (!cpid)
-@@ -264,10 +287,12 @@ stream_out_partitions (char *temp_filename, int blen, int min, int max,
- /* Last partition; stream it and wait for all children to die. */
- else
- {
-- int i;
- stream_out_partitions_1 (temp_filename, blen, min, max);
-- for (i = 0; i < nruns; i++)
-+ while (nruns > 0)
- wait_for_child ();
-+
-+ if (jinfo != NULL && jinfo->is_active)
-+ jinfo->disconnect ();
- }
- asm_nodes_output = true;
- #else
-@@ -460,9 +485,14 @@ do_whole_program_analysis (void)
-
- lto_parallelism = 1;
-
-- /* TODO: jobserver communication is not supported, yet. */
- if (!strcmp (flag_wpa, "jobserver"))
-- lto_parallelism = param_max_lto_streaming_parallelism;
-+ {
-+ jinfo = new jobserver_info ();
-+ if (jinfo->is_active)
-+ jinfo->connect ();
-+
-+ lto_parallelism = param_max_lto_streaming_parallelism;
-+ }
- else
- {
- lto_parallelism = atoi (flag_wpa);
---- a/gcc/opts-common.cc
-+++ b/gcc/opts-common.cc
-@@ -2057,3 +2057,43 @@ jobserver_info::jobserver_info ()
- if (!error_msg.empty ())
- error_msg = "jobserver is not available: " + error_msg;
- }
-+
-+void
-+jobserver_info::connect ()
-+{
-+ if (!pipe_path.empty ())
-+ pipefd = open (pipe_path.c_str (), O_RDWR);
-+}
-+
-+void
-+jobserver_info::disconnect ()
-+{
-+ if (!pipe_path.empty ())
-+ {
-+ gcc_assert (close (pipefd) == 0);
-+ pipefd = -1;
-+ }
-+}
-+
-+bool
-+jobserver_info::get_token ()
-+{
-+ int fd = pipe_path.empty () ? rfd : pipefd;
-+ char c;
-+ unsigned n = read (fd, &c, 1);
-+ if (n != 1)
-+ {
-+ gcc_assert (errno == EAGAIN);
-+ return false;
-+ }
-+ else
-+ return true;
-+}
-+
-+void
-+jobserver_info::return_token ()
-+{
-+ int fd = pipe_path.empty () ? wfd : pipefd;
-+ char c = 'G';
-+ gcc_assert (write (fd, &c, 1) == 1);
-+}
---- a/gcc/opts-jobserver.h
-+++ b/gcc/opts-jobserver.h
-@@ -29,6 +29,18 @@ struct jobserver_info
- /* Default constructor. */
- jobserver_info ();
-
-+ /* Connect to the server. */
-+ void connect ();
-+
-+ /* Disconnect from the server. */
-+ void disconnect ();
-+
-+ /* Get token from the server. */
-+ bool get_token ();
-+
-+ /* Return token to the server. */
-+ void return_token ();
-+
- /* Error message if there is a problem. */
- string error_msg = "";
- /* Skipped MAKEFLAGS where --jobserver-auth is skipped. */
-@@ -39,6 +51,8 @@ struct jobserver_info
- int wfd = -1;
- /* Named pipe path. */
- string pipe_path = "";
-+ /* Pipe file descriptor. */
-+ int pipefd = -1;
- /* Return true if jobserver is active. */
- bool is_active = false;
- };
---
-2.38.1
-
diff --git a/12.2.0/gentoo/81_all_jobserver-fix-fifo-mode-by-opening-pipe-in-proper-mo.patch b/12.2.0/gentoo/81_all_jobserver-fix-fifo-mode-by-opening-pipe-in-proper-mo.patch
deleted file mode 100644
index de5626f..0000000
--- a/12.2.0/gentoo/81_all_jobserver-fix-fifo-mode-by-opening-pipe-in-proper-mo.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-https://bugs.gentoo.org/884633
-
-https://build.opensuse.org/package/view_file/devel:gcc/gcc12/gcc12-fifo-jobserver-support.patch
-https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=3f1c2f89f6b8b8d23a9072f8549b0a2c1de06b03
-
-From 9474892bb967747637d7f4e45320a93e726824c3 Mon Sep 17 00:00:00 2001
-From: Martin Liska <mliska@suse.cz>
-Date: Tue, 16 Aug 2022 08:22:29 +0200
-Subject: [PATCH 4/4] jobserver: fix fifo mode by opening pipe in proper mode
-
-The current jobserver_info relies on non-blocking FDs,
-thus one the pipe in such mode.
-
-gcc/ChangeLog:
-
- * opts-common.cc (jobserver_info::connect): Open fifo
- in non-blocking mode.
---- a/gcc/opts-common.cc
-+++ b/gcc/opts-common.cc
-@@ -2062,7 +2062,7 @@ void
- jobserver_info::connect ()
- {
- if (!pipe_path.empty ())
-- pipefd = open (pipe_path.c_str (), O_RDWR);
-+ pipefd = open (pipe_path.c_str (), O_RDWR | O_NONBLOCK);
- }
-
- void
---
-2.38.1
-
diff --git a/12.2.0/gentoo/README.history b/12.2.0/gentoo/README.history
index 9d111f5..29fd78e 100644
--- a/12.2.0/gentoo/README.history
+++ b/12.2.0/gentoo/README.history
@@ -1,3 +1,9 @@
+7 25 Dec 2022
+ - 78_all_Factor-out-jobserver_active_p.patch
+ - 79_all_lto-support-jobserver-style-fifo-for-recent-GNU-make.patch
+ - 80_all_lto-respect-jobserver-in-parallel-WPA-streaming.patch
+ - 81_all_jobserver-fix-fifo-mode-by-opening-pipe-in-proper-mo.patch
+
6 17 Dec 2022
U 30_all_tar_libstdc++-link.patch