get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/1.1/patches/2233330/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2233330,
    "url": "http://patchwork.ozlabs.org/api/1.1/patches/2233330/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/buildroot/patch/20260506083350.3959360-3-buildroot@bubu1.eu/",
    "project": {
        "id": 27,
        "url": "http://patchwork.ozlabs.org/api/1.1/projects/27/?format=api",
        "name": "Buildroot development",
        "link_name": "buildroot",
        "list_id": "buildroot.buildroot.org",
        "list_email": "buildroot@buildroot.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": ""
    },
    "msgid": "<20260506083350.3959360-3-buildroot@bubu1.eu>",
    "date": "2026-05-06T08:33:48",
    "name": "[3/3] package/gcc: fix gcc-13 build with host gcc 16",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "97c72ef201e0d60c632c1977812e23f143a71b35",
    "submitter": {
        "id": 87807,
        "url": "http://patchwork.ozlabs.org/api/1.1/people/87807/?format=api",
        "name": "Marcus Hoffmann",
        "email": "buildroot@bubu1.eu"
    },
    "delegate": {
        "id": 89618,
        "url": "http://patchwork.ozlabs.org/api/1.1/users/89618/?format=api",
        "username": "juju",
        "first_name": "Julien",
        "last_name": "Olivain",
        "email": "juju@cotds.org"
    },
    "mbox": "http://patchwork.ozlabs.org/project/buildroot/patch/20260506083350.3959360-3-buildroot@bubu1.eu/mbox/",
    "series": [
        {
            "id": 502938,
            "url": "http://patchwork.ozlabs.org/api/1.1/series/502938/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/buildroot/list/?series=502938",
            "date": "2026-05-06T08:33:46",
            "name": "[1/3] package/gcc: fix gcc-15 build with host gcc 16",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/502938/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2233330/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2233330/checks/",
    "tags": {},
    "headers": {
        "Return-Path": "<buildroot-bounces@buildroot.org>",
        "X-Original-To": [
            "incoming-buildroot@patchwork.ozlabs.org",
            "buildroot@buildroot.org"
        ],
        "Delivered-To": [
            "patchwork-incoming-buildroot@legolas.ozlabs.org",
            "buildroot@buildroot.org"
        ],
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=buildroot.org header.i=@buildroot.org\n header.a=rsa-sha256 header.s=default header.b=W0jRY3dZ;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=buildroot.org\n (client-ip=140.211.166.137; helo=smtp4.osuosl.org;\n envelope-from=buildroot-bounces@buildroot.org; receiver=patchwork.ozlabs.org)"
        ],
        "Received": [
            "from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g9TFR6PTMz1yKd\n\tfor <incoming-buildroot@patchwork.ozlabs.org>;\n Wed, 06 May 2026 18:34:19 +1000 (AEST)",
            "from localhost (localhost [127.0.0.1])\n\tby smtp4.osuosl.org (Postfix) with ESMTP id 6261B4050E;\n\tWed,  6 May 2026 08:34:16 +0000 (UTC)",
            "from smtp4.osuosl.org ([127.0.0.1])\n by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id QccJSmSCQc6A; Wed,  6 May 2026 08:34:14 +0000 (UTC)",
            "from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp4.osuosl.org (Postfix) with ESMTP id 73E9A403D3;\n\tWed,  6 May 2026 08:34:14 +0000 (UTC)",
            "from smtp2.osuosl.org (smtp2.osuosl.org [IPv6:2605:bc80:3010::133])\n by lists1.osuosl.org (Postfix) with ESMTP id 1FBEF2A8\n for <buildroot@buildroot.org>; Wed,  6 May 2026 08:34:12 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n by smtp2.osuosl.org (Postfix) with ESMTP id 116B140186\n for <buildroot@buildroot.org>; Wed,  6 May 2026 08:34:12 +0000 (UTC)",
            "from smtp2.osuosl.org ([127.0.0.1])\n by localhost (smtp2.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id 9U-LyS5tuBNN for <buildroot@buildroot.org>;\n Wed,  6 May 2026 08:34:10 +0000 (UTC)",
            "from smtp.bubu1.eu (smtp.bubu1.eu [176.9.145.28])\n by smtp2.osuosl.org (Postfix) with ESMTPS id 80C0A40578\n for <buildroot@buildroot.org>; Wed,  6 May 2026 08:34:10 +0000 (UTC)",
            "from bubutux.fritz.box (unknown [212.37.174.96])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519MLKEM768 server-signature RSA-PSS (4096 bits)\n server-digest\n SHA256) (No client certificate requested)\n by smtp.bubu1.eu (Postfix) with ESMTPSA id DDAB12C88F86;\n Wed, 06 May 2026 10:34:07 +0200 (CEST)"
        ],
        "X-Virus-Scanned": [
            "amavis at osuosl.org",
            "amavis at osuosl.org"
        ],
        "X-Comment": "SPF check N/A for local connections - client-ip=140.211.166.142;\n helo=lists1.osuosl.org; envelope-from=buildroot-bounces@buildroot.org;\n receiver=<UNKNOWN> ",
        "DKIM-Filter": [
            "OpenDKIM Filter v2.11.0 smtp4.osuosl.org 73E9A403D3",
            "OpenDKIM Filter v2.11.0 smtp2.osuosl.org 80C0A40578"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=buildroot.org;\n\ts=default; t=1778056454;\n\tbh=wB2sJQBldfQOEHzbjCdvlafbe+BSjmzTFfVI85hTG7M=;\n\th=To:Cc:Date:In-Reply-To:References:Subject:List-Id:\n\t List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe:\n\t From:Reply-To:From;\n\tb=W0jRY3dZVgYRvvD1Ottr+p1zitJrhiCWwjdVyKxed/Luuoso4kLpMd44qvhEBZhe/\n\t /86UwM7Z0UliivmsEQbk7MODArG8N5bRDYNc+iBeBc82exopVZuFS0QIHoAPN5Vigq\n\t 6PKtZXsRZWlL5GVsuSOtO/qlrZtlNml+rx54P1dHAGnT74m4lwbQmts/WrbZM5Vk3M\n\t s63J+YYkkK00cE/XDbWHCf2lN90zWbdJgCBn8p+WlGxtMrXNKlH1d3ePYyrT5EmF+S\n\t OfmFdm6wVkvwvMAvuwWc3sXzOvquAAKlPgWx1gYx3SDvHKNiPfyqOOPVIan5qtVUOE\n\t b6JHMavj/HFQg==",
        "Received-SPF": "Pass (mailfrom) identity=mailfrom; client-ip=176.9.145.28;\n helo=smtp.bubu1.eu; envelope-from=buildroot@bubu1.eu; receiver=<UNKNOWN>",
        "DMARC-Filter": "OpenDMARC Filter v1.4.2 smtp2.osuosl.org 80C0A40578",
        "To": "buildroot@buildroot.org",
        "Cc": "Giulio Benetti <giulio.benetti@benettiengineering.com>,\n Romain Naour <romain.naour@gmail.com>,\n Thomas Petazzoni <thomas.petazzoni@bootlin.com>",
        "Date": "Wed,  6 May 2026 10:33:48 +0200",
        "Message-ID": "<20260506083350.3959360-3-buildroot@bubu1.eu>",
        "X-Mailer": "git-send-email 2.54.0",
        "In-Reply-To": "<20260506083350.3959360-1-buildroot@bubu1.eu>",
        "References": "<20260506083350.3959360-1-buildroot@bubu1.eu>",
        "MIME-Version": "1.0",
        "X-Mailman-Original-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=bubu1.eu; s=bubu;\n t=1778056448; bh=SGM/J6u0rRBORijnC/Po7FOeoAFiKphz/ZrjOJu2/jc=;\n h=From:To:Cc:Subject:Date:In-Reply-To:References;\n b=oqy9RQF3lt0PFPB9Q5N1WP0PkbcqWJKMLPgazwX+VsAtf8U3aG9x/a4usHQ8GQHFC\n r9pXfKTQAd9F1IXJ7yETlkleE1kDBufoZDXGMY7VGXclqi1EiyWFbEAWddmBLWPwCq\n jtq7rTW7KJoN5Pse1x3ox8yldKEr8ybVtWLVmza3i62dG0NYcfQFMM3NWX+Vu5J9KJ\n HNBS7OB+uBDAIP2Sazuv8kIBtJOTjy0lH3X3kAzuaEbMIMlDaOZhJA4y9dFdOUeiIr\n +sFL9KzqkokGL2Q8L0WK5ZSJE/2yoGYDc0/YTXDmO7G2TfhuT2zpEx1AdjcB0Vdsw2\n SSBsIEfLtcp4w==",
        "X-Mailman-Original-Authentication-Results": [
            "smtp2.osuosl.org;\n dmarc=pass (p=reject dis=none)\n header.from=bubu1.eu",
            "smtp2.osuosl.org;\n dkim=pass (2048-bit key) header.d=bubu1.eu header.i=@bubu1.eu\n header.a=rsa-sha256 header.s=bubu header.b=oqy9RQF3"
        ],
        "Subject": "[Buildroot] [PATCH 3/3] package/gcc: fix gcc-13 build with host gcc\n 16",
        "X-BeenThere": "buildroot@buildroot.org",
        "X-Mailman-Version": "2.1.30",
        "Precedence": "list",
        "List-Id": "Discussion and development of buildroot <buildroot.buildroot.org>",
        "List-Unsubscribe": "<https://lists.buildroot.org/mailman/options/buildroot>,\n <mailto:buildroot-request@buildroot.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.buildroot.org/pipermail/buildroot/>",
        "List-Post": "<mailto:buildroot@buildroot.org>",
        "List-Help": "<mailto:buildroot-request@buildroot.org?subject=help>",
        "List-Subscribe": "<https://lists.buildroot.org/mailman/listinfo/buildroot>,\n <mailto:buildroot-request@buildroot.org?subject=subscribe>",
        "From": "Marcus Hoffmann via buildroot <buildroot@buildroot.org>",
        "Reply-To": "Marcus Hoffmann <buildroot@bubu1.eu>",
        "Content-Type": "text/plain; charset=\"us-ascii\"",
        "Content-Transfer-Encoding": "7bit",
        "Errors-To": "buildroot-bounces@buildroot.org",
        "Sender": "\"buildroot\" <buildroot-bounces@buildroot.org>"
    },
    "content": "Backport 2 patches from upstream maintenance branch. Same fixes as\nrequired for gcc-14.\n\nSigned-off-by: Marcus Hoffmann <buildroot@bubu1.eu>\n---\n ...dy-Make-it-buildable-by-C-11-to-C-26.patch | 261 ++++++++++++++++++\n ...am-and-memory-include-above-safe-cty.patch |  79 ++++++\n 2 files changed, 340 insertions(+)\n create mode 100644 package/gcc/13.4.0/0005-libcody-Make-it-buildable-by-C-11-to-C-26.patch\n create mode 100644 package/gcc/13.4.0/0006-build-Move-sstream-and-memory-include-above-safe-cty.patch",
    "diff": "diff --git a/package/gcc/13.4.0/0005-libcody-Make-it-buildable-by-C-11-to-C-26.patch b/package/gcc/13.4.0/0005-libcody-Make-it-buildable-by-C-11-to-C-26.patch\nnew file mode 100644\nindex 0000000000..e1d6b5eb32\n--- /dev/null\n+++ b/package/gcc/13.4.0/0005-libcody-Make-it-buildable-by-C-11-to-C-26.patch\n@@ -0,0 +1,261 @@\n+From 51b9a0f7dfd2441a30e0ebfd4b30f18f86b4ea54 Mon Sep 17 00:00:00 2001\n+From: Jakub Jelinek <jakub@redhat.com>\n+Date: Fri, 21 Nov 2025 16:25:58 +0100\n+Subject: [PATCH] libcody: Make it buildable by C++11 to C++26\n+\n+The following builds with -std=c++11 and c++14 and c++17 and c++20 and c++23\n+and c++26.\n+\n+I see the u8 string literals are mixed e.g. with strerror, so in\n+-fexec-charset=IBM1047 there will still be garbage, so am not 100% sure if\n+the u8 literals everywhere are worth it either.\n+\n+2025-11-21  Jakub Jelinek  <jakub@redhat.com>\n+\n+\t* cody.hh (S2C): For __cpp_char8_t >= 201811 use char8_t instead of\n+\tchar in argument type.\n+\t(MessageBuffer::Space): Revert 2025-11-15 change.\n+\t(MessageBuffer::Append): For __cpp_char8_t >= 201811 add overload\n+\twith char8_t const * type of first argument.\n+\t(Packet::Packet): Similarly for first argument.\n+\t* client.cc (CommunicationError, Client::ProcessResponse,\n+\tClient::Connect, ConnectResponse, PathnameResponse, OKResponse,\n+\tIncludeTranslateResponse): Cast u8 string literals to (const char *)\n+\twhere needed.\n+\t* server.cc (Server::ProcessRequests, ConnectRequest): Likewise.\n+\n+(cherry picked from commit 07a767c7a50d1daae8ef7d4aba73fe53ad40c0b7)\n+Signed-off-by: Marcus Hoffmann <buildroot@bubu1.eu>\n+Upstream: https://gcc.gnu.org/git?p=gcc.git;a=commit;h=51b9a0f7dfd2441a30e0ebfd4b30f18f86b4ea54\n+---\n+ libcody/client.cc | 36 +++++++++++++++++++-----------------\n+ libcody/cody.hh   | 22 ++++++++++++++++++++++\n+ libcody/server.cc | 28 ++++++++++++++--------------\n+ 3 files changed, 55 insertions(+), 31 deletions(-)\n+\n+diff --git a/libcody/client.cc b/libcody/client.cc\n+index ae69d190cb7..147fecdbe50 100644\n+--- a/libcody/client.cc\n++++ b/libcody/client.cc\n+@@ -97,7 +97,7 @@ int Client::CommunicateWithServer ()\n+ \n+ static Packet CommunicationError (int err)\n+ {\n+-  std::string e {u8\"communication error:\"};\n++  std::string e {(const char *) u8\"communication error:\"};\n+   e.append (strerror (err));\n+ \n+   return Packet (Client::PC_ERROR, std::move (e));\n+@@ -110,33 +110,34 @@ Packet Client::ProcessResponse (std::vector<std::string> &words,\n+     {\n+       if (e == EINVAL)\n+ \t{\n+-\t  std::string msg (u8\"malformed string '\");\n++\t  std::string msg ((const char *) u8\"malformed string '\");\n+ \t  msg.append (words[0]);\n+-\t  msg.append (u8\"'\");\n++\t  msg.append ((const char *) u8\"'\");\n+ \t  return Packet (Client::PC_ERROR, std::move (msg));\n+ \t}\n+       else\n+-\treturn Packet (Client::PC_ERROR, u8\"missing response\");\n++\treturn Packet (Client::PC_ERROR, (const char *) u8\"missing response\");\n+     }\n+ \n+   Assert (!words.empty ());\n+-  if (words[0] == u8\"ERROR\")\n++  if (words[0] == (const char *) u8\"ERROR\")\n+     return Packet (Client::PC_ERROR,\n+-\t\t   words.size () == 2 ? words[1]: u8\"malformed error response\");\n++\t\t   words.size () == 2 ? words[1]\n++\t\t   : (const char *) u8\"malformed error response\");\n+ \n+   if (isLast && !read.IsAtEnd ())\n+     return Packet (Client::PC_ERROR,\n+-\t\t   std::string (u8\"unexpected extra response\"));\n++\t\t   std::string ((const char *) u8\"unexpected extra response\"));\n+ \n+   Assert (code < Detail::RC_HWM);\n+   Packet result (responseTable[code] (words));\n+   result.SetRequest (code);\n+   if (result.GetCode () == Client::PC_ERROR && result.GetString ().empty ())\n+     {\n+-      std::string msg {u8\"malformed response '\"};\n++      std::string msg {(const char *) u8\"malformed response '\"};\n+ \n+       read.LexedLine (msg);\n+-      msg.append (u8\"'\");\n++      msg.append ((const char *) u8\"'\");\n+       result.GetString () = std::move (msg);\n+     }\n+   else if (result.GetCode () == Client::PC_CONNECT)\n+@@ -199,7 +200,7 @@ Packet Client::Connect (char const *agent, char const *ident,\n+ \t\t\t  size_t alen, size_t ilen)\n+ {\n+   write.BeginLine ();\n+-  write.AppendWord (u8\"HELLO\");\n++  write.AppendWord ((const char *) u8\"HELLO\");\n+   write.AppendInteger (Version);\n+   write.AppendWord (agent, true, alen);\n+   write.AppendWord (ident, true, ilen);\n+@@ -211,7 +212,8 @@ Packet Client::Connect (char const *agent, char const *ident,\n+ // HELLO $version $agent [$flags]\n+ Packet ConnectResponse (std::vector<std::string> &words)\n+ {\n+-  if (words[0] == u8\"HELLO\" && (words.size () == 3 || words.size () == 4))\n++  if (words[0] == (const char *) u8\"HELLO\"\n++      && (words.size () == 3 || words.size () == 4))\n+     {\n+       char *eptr;\n+       unsigned long val = strtoul (words[1].c_str (), &eptr, 10);\n+@@ -247,7 +249,7 @@ Packet Client::ModuleRepo ()\n+ // PATHNAME $dir | ERROR\n+ Packet PathnameResponse (std::vector<std::string> &words)\n+ {\n+-  if (words[0] == u8\"PATHNAME\" && words.size () == 2)\n++  if (words[0] == (const char *) u8\"PATHNAME\" && words.size () == 2)\n+     return Packet (Client::PC_PATHNAME, std::move (words[1]));\n+ \n+   return Packet (Client::PC_ERROR, u8\"\");\n+@@ -256,7 +258,7 @@ Packet PathnameResponse (std::vector<std::string> &words)\n+ // OK or ERROR\n+ Packet OKResponse (std::vector<std::string> &words)\n+ {\n+-  if (words[0] == u8\"OK\")\n++  if (words[0] == (const char *) u8\"OK\")\n+     return Packet (Client::PC_OK);\n+   else\n+     return Packet (Client::PC_ERROR,\n+@@ -319,11 +321,11 @@ Packet Client::IncludeTranslate (char const *include, Flags flags, size_t ilen)\n+ // PATHNAME $cmifile\n+ Packet IncludeTranslateResponse (std::vector<std::string> &words)\n+ {\n+-  if (words[0] == u8\"BOOL\" && words.size () == 2)\n++  if (words[0] == (const char *) u8\"BOOL\" && words.size () == 2)\n+     {\n+-      if (words[1] == u8\"FALSE\")\n+-\treturn Packet (Client::PC_BOOL, 0);\n+-      else if (words[1] == u8\"TRUE\")\n++      if (words[1] == (const char *) u8\"FALSE\")\n++\treturn Packet (Client::PC_BOOL);\n++      else if (words[1] == (const char *) u8\"TRUE\")\n+ \treturn Packet (Client::PC_BOOL, 1);\n+       else\n+ \treturn Packet (Client::PC_ERROR, u8\"\");\n+diff --git a/libcody/cody.hh b/libcody/cody.hh\n+index 789ce9e70b7..93bce93aa94 100644\n+--- a/libcody/cody.hh\n++++ b/libcody/cody.hh\n+@@ -47,12 +47,21 @@ namespace Detail  {\n+ \n+ // C++11 doesn't have utf8 character literals :(\n+ \n++#if __cpp_char8_t >= 201811\n++template<unsigned I>\n++constexpr char S2C (char8_t const (&s)[I])\n++{\n++  static_assert (I == 2, \"only single octet strings may be converted\");\n++  return s[0];\n++}\n++#else\n+ template<unsigned I>\n+ constexpr char S2C (char const (&s)[I])\n+ {\n+   static_assert (I == 2, \"only single octet strings may be converted\");\n+   return s[0];\n+ }\n++#endif\n+ \n+ /// Internal buffering class.  Used to concatenate outgoing messages\n+ /// and Lex incoming ones.\n+@@ -123,6 +132,13 @@ public:\n+       Space ();\n+     Append (str, maybe_quote, len);\n+   }\n++#if __cpp_char8_t >= 201811\n++  void AppendWord (char8_t const *str, bool maybe_quote = false,\n++\t\t   size_t len = ~size_t (0))\n++  {\n++    AppendWord ((const char *) str, maybe_quote, len);\n++  }\n++#endif\n+   /// Add a word as with AppendWord\n+   /// @param str the string to append\n+   /// @param maybe_quote string might need quoting, as for Append\n+@@ -264,6 +280,12 @@ public:\n+     : string (s), cat (STRING), code (c)\n+   {\n+   }\n++#if __cpp_char8_t >= 201811\n++  Packet (unsigned c, const char8_t *s)\n++    : string ((const char *) s), cat (STRING), code (c)\n++  {\n++  }\n++#endif\n+   Packet (unsigned c, std::vector<std::string> &&v)\n+     : vector (std::move (v)), cat (VECTOR), code (c)\n+   {\n+diff --git a/libcody/server.cc b/libcody/server.cc\n+index e2fa069bb93..c18469fae84 100644\n+--- a/libcody/server.cc\n++++ b/libcody/server.cc\n+@@ -36,12 +36,12 @@ static RequestPair\n+   const requestTable[Detail::RC_HWM] =\n+   {\n+     // Same order as enum RequestCode\n+-    RequestPair {u8\"HELLO\", nullptr},\n+-    RequestPair {u8\"MODULE-REPO\", ModuleRepoRequest},\n+-    RequestPair {u8\"MODULE-EXPORT\", ModuleExportRequest},\n+-    RequestPair {u8\"MODULE-IMPORT\", ModuleImportRequest},\n+-    RequestPair {u8\"MODULE-COMPILED\", ModuleCompiledRequest},\n+-    RequestPair {u8\"INCLUDE-TRANSLATE\", IncludeTranslateRequest},\n++    RequestPair {(const char *) u8\"HELLO\", nullptr},\n++    RequestPair {(const char *) u8\"MODULE-REPO\", ModuleRepoRequest},\n++    RequestPair {(const char *) u8\"MODULE-EXPORT\", ModuleExportRequest},\n++    RequestPair {(const char *) u8\"MODULE-IMPORT\", ModuleImportRequest},\n++    RequestPair {(const char *) u8\"MODULE-COMPILED\", ModuleCompiledRequest},\n++    RequestPair {(const char *) u8\"INCLUDE-TRANSLATE\", IncludeTranslateRequest},\n+   };\n+ }\n+ \n+@@ -135,21 +135,21 @@ void Server::ProcessRequests (void)\n+ \t  std::string msg;\n+ \n+ \t  if (err > 0)\n+-\t    msg = u8\"error processing '\";\n++\t    msg = (const char *) u8\"error processing '\";\n+ \t  else if (ix >= Detail::RC_HWM)\n+-\t    msg = u8\"unrecognized '\";\n++\t    msg = (const char *) u8\"unrecognized '\";\n+ \t  else if (IsConnected () && ix == Detail::RC_CONNECT)\n+-\t    msg = u8\"already connected '\";\n++\t    msg = (const char *) u8\"already connected '\";\n+ \t  else if (!IsConnected () && ix != Detail::RC_CONNECT)\n+-\t    msg = u8\"not connected '\";\n++\t    msg = (const char *) u8\"not connected '\";\n+ \t  else\n+-\t    msg = u8\"malformed '\";\n++\t    msg = (const char *) u8\"malformed '\";\n+ \n+ \t  read.LexedLine (msg);\n+-\t  msg.append (u8\"'\");\n++\t  msg.append ((const char *) u8\"'\");\n+ \t  if (err > 0)\n+ \t    {\n+-\t      msg.append (u8\" \");\n++\t      msg.append ((const char *) u8\" \");\n+ \t      msg.append (strerror (err));\n+ \t    }\n+ \t  resolver->ErrorResponse (this, std::move (msg));\n+@@ -176,7 +176,7 @@ Resolver *ConnectRequest (Server *s, Resolver *r,\n+     return nullptr;\n+ \n+   if (words.size () == 3)\n+-    words.emplace_back (u8\"\");\n++    words.emplace_back ((const char *) u8\"\");\n+   unsigned version = ParseUnsigned (words[1]);\n+   if (version == ~0u)\n+     return nullptr;\n+-- \n+2.54.0\n+\ndiff --git a/package/gcc/13.4.0/0006-build-Move-sstream-and-memory-include-above-safe-cty.patch b/package/gcc/13.4.0/0006-build-Move-sstream-and-memory-include-above-safe-cty.patch\nnew file mode 100644\nindex 0000000000..3b12747d68\n--- /dev/null\n+++ b/package/gcc/13.4.0/0006-build-Move-sstream-and-memory-include-above-safe-cty.patch\n@@ -0,0 +1,79 @@\n+From 9239757a9c6e3a6e8d94d56803329d556ec914d7 Mon Sep 17 00:00:00 2001\n+From: Andrew Pinski <quic_apinski@quicinc.com>\n+Date: Mon, 25 Nov 2024 14:03:27 -0800\n+Subject: [PATCH] build: Move sstream and memory include above safe-ctype.h\n+ [PR124830]\n+\n+This picks r15-5661-gf6e00226a4ca6 to older branches, also moving\n+the <memory> include to fix build issues with a C++20 host compiler.\n+\n+sstream in some versions of libstdc++ include locale which might not have been\n+included yet. safe-ctype.h defines the toupper, tolower, etc. as macros so the\n+c++ header files needed to be included before hand as comment in system.h says:\n+/* Include C++ standard headers before \"safe-ctype.h\" to avoid GCC\n+   poisoning the ctype macros through safe-ctype.h */\n+\n+I don't understand how it was working before when memory was included after\n+safe-ctype.h rather than before. But this makes sstream consistent with the\n+other C++ headers.\n+\n+gcc/ChangeLog:\n+\n+\tPR target/117771\n+\tPR c/124830\n+\t* system.h: Move the include of sstream and memory above safe-ctype.h.\n+\n+Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com>\n+(cherry picked from commit 046776dac7cc74bdbab36f450af80644a045858a)\n+Signed-off-by: Marcus Hoffmann <buildroot@bubu1.eu>\n+Upstream: https://gcc.gnu.org/git?p=gcc.git;a=commit;h=9239757a9c6e3a6e8d94d56803329d556ec914d7\n+---\n+ gcc/system.h | 21 +++++++++------------\n+ 1 file changed, 9 insertions(+), 12 deletions(-)\n+\n+diff --git a/gcc/system.h b/gcc/system.h\n+index 0354883ed3f..1f013d3ac7a 100644\n+--- a/gcc/system.h\n++++ b/gcc/system.h\n+@@ -222,6 +222,15 @@ extern int fprintf_unlocked (FILE *, const char *, ...);\n+ #ifdef INCLUDE_FUNCTIONAL\n+ # include <functional>\n+ #endif\n++#ifdef INCLUDE_SSTREAM\n++# include <sstream>\n++#endif\n++/* Some of the headers included by <memory> can use \"abort\" within a\n++   namespace, e.g. \"_VSTD::abort();\", which fails after we use the\n++   preprocessor to redefine \"abort\" as \"fancy_abort\" below.  */\n++#ifdef INCLUDE_MEMORY\n++# include <memory>\n++#endif\n+ # include <cstring>\n+ # include <initializer_list>\n+ # include <new>\n+@@ -736,22 +745,10 @@ extern int vsnprintf (char *, size_t, const char *, va_list);\n+ #define LIKELY(x) (__builtin_expect ((x), 1))\n+ #define UNLIKELY(x) (__builtin_expect ((x), 0))\n+ \n+-/* Some of the headers included by <memory> can use \"abort\" within a\n+-   namespace, e.g. \"_VSTD::abort();\", which fails after we use the\n+-   preprocessor to redefine \"abort\" as \"fancy_abort\" below.  */\n+-\n+-#ifdef INCLUDE_MEMORY\n+-# include <memory>\n+-#endif\n+-\n+ #ifdef INCLUDE_MUTEX\n+ # include <mutex>\n+ #endif\n+ \n+-#ifdef INCLUDE_SSTREAM\n+-# include <sstream>\n+-#endif\n+-\n+ #ifdef INCLUDE_MALLOC_H\n+ #if defined(HAVE_MALLINFO) || defined(HAVE_MALLINFO2)\n+ #include <malloc.h>\n+-- \n+2.54.0\n+\n",
    "prefixes": [
        "3/3"
    ]
}