From patchwork Tue Jun 17 15:59:41 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 65136 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id A60B4C7115B for ; Tue, 17 Jun 2025 16:00:12 +0000 (UTC) Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) by mx.groups.io with SMTP id smtpd.web11.23098.1750176002725277615 for ; Tue, 17 Jun 2025 09:00:02 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=rMHNG1L2; spf=softfail (domain: sakoman.com, ip: 209.85.214.182, mailfrom: steve@sakoman.com) Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-22c33677183so51441845ad.2 for ; Tue, 17 Jun 2025 09:00:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1750176002; x=1750780802; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=bo7uram/F8Og38FQpgpW5iL6LKoBUGlpZ92xGQYAHyM=; b=rMHNG1L22xBbqi/OHOojhf/k7tfNCEfUkI8spZ2+7WIBaYJbYCX32/Ibu7o8LwtAVJ dAyWgPOMGgUc0bmeE8zBxAvRjs9/3AJ46g3g4+GCWS+QkmjvHMbcSy6F+pbVj5LVXt9Y 1gO9WzxncfkszjlDOZ3F82J/Yf64varJN0jCb7XB4QL2x//I2tMRIkSmjdbQPqSqo4qw yKKQIHonlBxsMT1fBU90Z9RwDO111rKx3NDbra+74WoerZn6qDGjNA+588kjKsphsbsH 0B/FxLMB6+ICeQmLGF174jDwfw6iKO2hfCEc3e7syk/WZVaspIc1W/DIwRZNU0ABMuAV XF3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750176002; x=1750780802; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=bo7uram/F8Og38FQpgpW5iL6LKoBUGlpZ92xGQYAHyM=; b=gMJ4wucXRbtg1z6oxJGSc8qPolMPNU8bIsBYSfKqcKq6kUd718tZ6RiKmUlULBRFfW LrAeT27mirmQ2urW3dF9SxqboVFXtKc6keVSFKQyJfLh60jW9laIXMQOm5Y+1NBRZLJ3 D5MgBMHu6F7DV9vl5icagxvaKPawHh/fGqJG4y8SMUVbKgmFTXLz5oQZ8TzdyU9Wq5gP L+FI1PPm7UanfFv6YEabJ6eyOyFw10lxNvM8fHcQ8dV9z+oK9flscotlfQndIahN8BpC 6uxrT0fLstoO2IQx3iuRFbIe9zxkScU8yNIklXM6/bD21/c6feIZTb3Dk5OfIUrximjQ GdTw== X-Gm-Message-State: AOJu0Yyedk09s52usSxPJ1ktYgjztYWvf17CsSAoJi2PxwrJM0OmK9hN 9n9Qf1KA7ufU2uRFSvcH4VOl+LbKnVuHN+hDhAz0D76LyElf00NYmAksOYfDKexOFHl0z8QYX7b YSxA2 X-Gm-Gg: ASbGncsOpFLbLzJtDnGKqHb1JGEmyP8f102+Pa6nhnpAmI6Q0iOe5rDOWLRBZM2c+mz mHCGzVVxm3UpUnE4Fu0FgU+baQCkrk2+awGmJgNVxMHv6a7kP0l1UcBzJHmnapCvsT3BMsu736W +U6uhT0+TdhpF90bRV9yh4BjdCmH9xUfA/kTG0kPYFo2DBBWXG4TBSQoduzBzIsvFEG+BLoix7M pXU/kDaJ4Ry3SJxJmmRaQQV4sFTjYIWo1u2SUqO8qhnS1ACDMXsOCJ9F6VNaFOicevDNIb7thwX dbTY90j+3kkMFsnxKkFvyULCXYCJXNKE9yostaXOss9Sw0ILJupDtQ== X-Google-Smtp-Source: AGHT+IF5B304XCLLKzgUEnGYFiPLU5mMX4kEncfYZ9XYA8JrXf4t40TONsPTToAKLgUoDzv+ZPSPaQ== X-Received: by 2002:a17:903:228b:b0:235:655:11aa with SMTP id d9443c01a7336-2366b17b16bmr204096695ad.39.1750176001924; Tue, 17 Jun 2025 09:00:01 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:7ce4:2bd1:2434:c118]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2365dea7d82sm81475515ad.146.2025.06.17.09.00.01 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Jun 2025 09:00:01 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][walnascar 01/12] binutils: Fix for CVE-2025-3198 Date: Tue, 17 Jun 2025 08:59:41 -0700 Message-ID: <3516188a077bd27e1de3bb42bd5630dba0b3b07f.1750175857.git.steve@sakoman.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 17 Jun 2025 16:00:12 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/218889 From: Harish Sadineni Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=ba6ad3a18cb26b79e0e3b84c39f707535bbc344d] CVE: CVE-2025-3198 Signed-off-by: Harish Sadineni Signed-off-by: Steve Sakoman --- .../binutils/binutils-2.44.inc | 1 + .../binutils/0016-CVE-2025-3198.patch | 28 +++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 meta/recipes-devtools/binutils/binutils/0016-CVE-2025-3198.patch diff --git a/meta/recipes-devtools/binutils/binutils-2.44.inc b/meta/recipes-devtools/binutils/binutils-2.44.inc index 0b8a298be0..e5df62b14e 100644 --- a/meta/recipes-devtools/binutils/binutils-2.44.inc +++ b/meta/recipes-devtools/binutils/binutils-2.44.inc @@ -41,5 +41,6 @@ SRC_URI = "\ file://0016-CVE-2025-1181-1.patch \ file://0017-CVE-2025-1181-2.patch \ file://0016-CVE-2025-5244.patch \ + file://0016-CVE-2025-3198.patch \ " S = "${WORKDIR}/git" diff --git a/meta/recipes-devtools/binutils/binutils/0016-CVE-2025-3198.patch b/meta/recipes-devtools/binutils/binutils/0016-CVE-2025-3198.patch new file mode 100644 index 0000000000..49d7c94b9f --- /dev/null +++ b/meta/recipes-devtools/binutils/binutils/0016-CVE-2025-3198.patch @@ -0,0 +1,28 @@ +From ba6ad3a18cb26b79e0e3b84c39f707535bbc344d Mon Sep 17 00:00:00 2001 +From: Alan Modra +Date: Wed, 19 Feb 2025 07:58:54 +1030 +Subject: [PATCH] PR32716, objdump -i memory leak + + PR binutils/32716 + * bucomm.c (display_info): Free arg.info. + +Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=ba6ad3a18cb26b79e0e3b84c39f707535bbc344d] +CVE: CVE-2025-3198 + +Signed-off-by: Harish Sadineni +--- + binutils/bucomm.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/binutils/bucomm.c b/binutils/bucomm.c +index ccf54099154..d4554737db1 100644 +--- a/binutils/bucomm.c ++++ b/binutils/bucomm.c +@@ -435,6 +435,7 @@ display_info (void) + if (!arg.error) + display_target_tables (&arg); + ++ free (arg.info); + return arg.error; + } + From patchwork Tue Jun 17 15:59:42 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 65138 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id CD28BC71136 for ; Tue, 17 Jun 2025 16:00:12 +0000 (UTC) Received: from mail-pj1-f47.google.com (mail-pj1-f47.google.com [209.85.216.47]) by mx.groups.io with SMTP id smtpd.web10.23005.1750176004758316578 for ; Tue, 17 Jun 2025 09:00:04 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=D49PE/Vr; spf=softfail (domain: sakoman.com, ip: 209.85.216.47, mailfrom: steve@sakoman.com) Received: by mail-pj1-f47.google.com with SMTP id 98e67ed59e1d1-313f928718eso2684597a91.0 for ; Tue, 17 Jun 2025 09:00:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1750176004; x=1750780804; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=nBvA8gaIIAnsWtOoQTpxnpLNRcKsr/M6LDE2vKBiqKs=; b=D49PE/VrBPS0IK+InF9O0gAb5cKiap+v/a63I6G6vQeMS8eLCkhqIBf1YP83xbon80 wxaXIfE7AtzLVJGvEuWUtOeD3MiWFGJ3uGhojK+OSKjboKUimmZ4sWGFN0umlhIgWYKv XmdmcxBiJXIS+1MvSqAF9YMitUBnj+svWbSF3DTgoxphg8f7shaAjLyP5bU/9xS75/u+ gNC2NR3RFQHB8wGZ/1XYx+JejZhAasnGZxSEY0Xbks0ZKo7gZCXhUKz2+6qNHxy3vepa PkRjIcFTiqfRpaqmjhQwDEyvKh2sUFnHiD9lPvBOX5X4YhaJQANam4ubRZzfFLghVLFB uIzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750176004; x=1750780804; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=nBvA8gaIIAnsWtOoQTpxnpLNRcKsr/M6LDE2vKBiqKs=; b=s9DG+x62aDs0Z+gXBNcnWWVVg1dJQ8MepF25NxGcYsSb3O6y75Tc00D+unD884PwiP ZXd7bcYDhpvbWZhelHUyXF9YRvA6PeVapNbhT/JN/+pCzMbCCq3WUeTsuxaP1Luv0Iuh vXci2CmWbknbUTqGAiDL0p/Oou+Ccri+cTkcz2LnJHrj7Idyau2LuK71zYBkBV8U+0Bh 0eNH6lVrxeLvwWLifN9it8phIzm4MRkLzLsFmm1jcBVTo1bdw101Yi0SzNTKUynZYeeW h+qtuWMqTTydz9Lv/6xFv5C4iwuqCCpmyKlzK60U7MJRtLaLbAq4eVUD6QFKx5B/LH4u mWdw== X-Gm-Message-State: AOJu0Yy3VAlOwVFIkek6tYL0u9kAyX0QoOpN5k/KO55KG6LdptDkbiRp 35Yo0gKoCcZEjPQyNfCAfXEym4TUnv3SYxZNd6o++Fj66QDChDAc2VMD4DEUlPbtDQKF7iJx9gw esqCY X-Gm-Gg: ASbGnctoOBGvKvThNv3Tbo9Cto6GTxeioOrXNtm6b4mexyIh/+WBS2meOq6nQ5A55S5 0Al5rbE4o3ZE1IwiVpE7K8qdrcMHAHxdnGSEgwRRxtJAer7kUCMA7nY0Ptu09CuhUZ21OeoZhHs J6XmjlB+u5eLxJBQPe0QnsmqovEmhxG49MZ0Vat5k5qO9Ga/aHfXTMEujIMCBfLuewJ5vK7T9L2 6Y7rkgIojUCXyZXZm8553BpSnhe+/aVrbvW33L0dZxFxj6cmmxEm5zHNW5wC4xW0BYB31vTgvEM 4miKBgxEsGbGdICcWIkPH05YxdbOZlO2A1LChfF+l7BJwKzNKegdww== X-Google-Smtp-Source: AGHT+IGrKAmaAIdOLait/uA1FmK34AARvG2R9SGLknHEgID5DhFwG+o+YbQwUMN5MKewsQdFVcndIQ== X-Received: by 2002:a17:90b:278d:b0:311:c970:c9bc with SMTP id 98e67ed59e1d1-313f1d0734dmr20645071a91.30.1750176003805; Tue, 17 Jun 2025 09:00:03 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:7ce4:2bd1:2434:c118]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2365dea7d82sm81475515ad.146.2025.06.17.09.00.02 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Jun 2025 09:00:03 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][walnascar 02/12] net-tools: patch CVE-2025-46836 Date: Tue, 17 Jun 2025 08:59:42 -0700 Message-ID: <0d880cdb51e47f78387b63063727fe6df1b009e6.1750175857.git.steve@sakoman.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 17 Jun 2025 16:00:12 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/218890 From: Peter Marko Backport patch for this CVE and also patch for its regression. Signed-off-by: Peter Marko Signed-off-by: Steve Sakoman --- .../net-tools/CVE-2025-46836-01.patch | 91 +++++++++++++++++++ .../net-tools/CVE-2025-46836-02.patch | 31 +++++++ .../net-tools/net-tools_2.10.bb | 2 + 3 files changed, 124 insertions(+) create mode 100644 meta/recipes-extended/net-tools/net-tools/CVE-2025-46836-01.patch create mode 100644 meta/recipes-extended/net-tools/net-tools/CVE-2025-46836-02.patch diff --git a/meta/recipes-extended/net-tools/net-tools/CVE-2025-46836-01.patch b/meta/recipes-extended/net-tools/net-tools/CVE-2025-46836-01.patch new file mode 100644 index 0000000000..0d55512497 --- /dev/null +++ b/meta/recipes-extended/net-tools/net-tools/CVE-2025-46836-01.patch @@ -0,0 +1,91 @@ +From 7a8f42fb20013a1493d8cae1c43436f85e656f2d Mon Sep 17 00:00:00 2001 +From: Zephkeks +Date: Tue, 13 May 2025 11:04:17 +0200 +Subject: [PATCH] CVE-2025-46836: interface.c: Stack-based Buffer Overflow in + get_name() + +Coordinated as GHSA-pfwf-h6m3-63wf + +CVE: CVE-2025-46836 +Upstream-Status: Backport [https://sourceforge.net/p/net-tools/code/ci/7a8f42fb20013a1493d8cae1c43436f85e656f2d/] +Signed-off-by: Peter Marko +--- + lib/interface.c | 63 ++++++++++++++++++++++++++++++------------------- + 1 file changed, 39 insertions(+), 24 deletions(-) + +diff --git a/lib/interface.c b/lib/interface.c +index 71d4163..a054f12 100644 +--- a/lib/interface.c ++++ b/lib/interface.c +@@ -211,32 +211,47 @@ out: + } + + static const char *get_name(char *name, const char *p) ++/* Safe version — guarantees at most IFNAMSIZ‑1 bytes are copied ++ and the destination buffer is always NUL‑terminated. */ + { +- while (isspace(*p)) +- p++; +- while (*p) { +- if (isspace(*p)) +- break; +- if (*p == ':') { /* could be an alias */ +- const char *dot = p++; +- while (*p && isdigit(*p)) p++; +- if (*p == ':') { +- /* Yes it is, backup and copy it. */ +- p = dot; +- *name++ = *p++; +- while (*p && isdigit(*p)) { +- *name++ = *p++; +- } +- } else { +- /* No, it isn't */ +- p = dot; +- } +- p++; +- break; +- } +- *name++ = *p++; ++ char *dst = name; /* current write ptr */ ++ const char *end = name + IFNAMSIZ - 1; /* last byte we may write */ ++ ++ /* Skip leading white‑space. */ ++ while (isspace((unsigned char)*p)) ++ ++p; ++ ++ /* Copy until white‑space, end of string, or buffer full. */ ++ while (*p && !isspace((unsigned char)*p) && dst < end) { ++ if (*p == ':') { /* possible alias veth0:123: */ ++ const char *dot = p; /* remember the colon */ ++ ++p; ++ while (*p && isdigit((unsigned char)*p)) ++ ++p; ++ ++ if (*p == ':') { /* confirmed alias */ ++ p = dot; /* rewind and copy it all */ ++ ++ /* copy the colon */ ++ if (dst < end) ++ *dst++ = *p++; ++ ++ /* copy the digits */ ++ while (*p && isdigit((unsigned char)*p) && dst < end) ++ *dst++ = *p++; ++ ++ if (*p == ':') /* consume trailing colon */ ++ ++p; ++ } else { /* if so treat as normal */ ++ p = dot; ++ } ++ break; /* interface name ends here */ ++ } ++ ++ *dst++ = *p++; /* ordinary character copy */ + } +- *name++ = '\0'; ++ ++ *dst = '\0'; /* always NUL‑terminate */ + return p; + } + diff --git a/meta/recipes-extended/net-tools/net-tools/CVE-2025-46836-02.patch b/meta/recipes-extended/net-tools/net-tools/CVE-2025-46836-02.patch new file mode 100644 index 0000000000..d2c3673a24 --- /dev/null +++ b/meta/recipes-extended/net-tools/net-tools/CVE-2025-46836-02.patch @@ -0,0 +1,31 @@ +From ddb0e375fb9ca95bb69335540b85bbdaa2714348 Mon Sep 17 00:00:00 2001 +From: Bernd Eckenfels +Date: Sat, 17 May 2025 21:53:23 +0200 +Subject: [PATCH] Interface statistic regression after 7a8f42fb2 + +CVE: CVE-2025-46836 +Upstream-Status: Backport [https://sourceforge.net/p/net-tools/code/ci/ddb0e375fb9ca95bb69335540b85bbdaa2714348/] +Signed-off-by: Peter Marko +--- + lib/interface.c | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/lib/interface.c b/lib/interface.c +index a054f12..ca4adf1 100644 +--- a/lib/interface.c ++++ b/lib/interface.c +@@ -239,12 +239,11 @@ static const char *get_name(char *name, const char *p) + /* copy the digits */ + while (*p && isdigit((unsigned char)*p) && dst < end) + *dst++ = *p++; +- +- if (*p == ':') /* consume trailing colon */ +- ++p; + } else { /* if so treat as normal */ + p = dot; + } ++ if (*p == ':') /* consume trailing colon */ ++ ++p; + break; /* interface name ends here */ + } + diff --git a/meta/recipes-extended/net-tools/net-tools_2.10.bb b/meta/recipes-extended/net-tools/net-tools_2.10.bb index 7facc0cc8d..547079f4cf 100644 --- a/meta/recipes-extended/net-tools/net-tools_2.10.bb +++ b/meta/recipes-extended/net-tools/net-tools_2.10.bb @@ -11,6 +11,8 @@ SRC_URI = "git://git.code.sf.net/p/net-tools/code;protocol=https;branch=master \ file://net-tools-config.h \ file://net-tools-config.make \ file://Add_missing_headers.patch \ + file://CVE-2025-46836-01.patch \ + file://CVE-2025-46836-02.patch \ " S = "${WORKDIR}/git" From patchwork Tue Jun 17 15:59:43 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 65137 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id A6066C71157 for ; Tue, 17 Jun 2025 16:00:12 +0000 (UTC) Received: from mail-pj1-f53.google.com (mail-pj1-f53.google.com [209.85.216.53]) by mx.groups.io with SMTP id smtpd.web10.23009.1750176006733169949 for ; Tue, 17 Jun 2025 09:00:06 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=Kk6dIxNM; spf=softfail (domain: sakoman.com, ip: 209.85.216.53, mailfrom: steve@sakoman.com) Received: by mail-pj1-f53.google.com with SMTP id 98e67ed59e1d1-311d5fdf1f0so5572425a91.1 for ; Tue, 17 Jun 2025 09:00:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1750176006; x=1750780806; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=91/Ofv8OT0QYh7qtczoGKUhQm/A69/aPyHlH6LuaMqo=; b=Kk6dIxNM57U4eOO/xsmEJ4XTRWYi3fARJj99tM9pw4N5VdLNUix5XY37zLHbAK0wJC Miap5uxYic8HhkYiDDPWV+6vGYuABYdNJASj/2b+h9mBjk8YZMlbFO8+h6b0Hi/jxRFL BMudksZmBYZWSQwLOFHV9cuKXlodj7cvbnlUZqImMo3FoU/a7+p3k2Si8z6vqLDQkBkj y3aH7wpLjL6OySM4vMmiYG+iqwAN6EApIAzt7h0T8hS/seCpsg7lSv7a6iBLCFMSTZrt lL72NlHeIroAkowkDED8zawvaLVno9IuwcP2QxlslVxWzbYAsxeF/STNTov9QNPHr92v BLrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750176006; x=1750780806; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=91/Ofv8OT0QYh7qtczoGKUhQm/A69/aPyHlH6LuaMqo=; b=UpM9PHcFKse7TnMoJdMjPBANyw7OAm6X225KfjpxaY2xAToIQkL4+ryWrzyQAaUFOD eg6gsJPqWreaZ16DnuQpshSf1xt2I7eHFNv/+TRiQLLGOj5JZMeyZtojHEAlYDM0Ullq xF4ZHDgYKPphnfFXv0u6TyKBliEprS5QYnFaT6FVpqFCmDrl61baqbgFZL9i2kqV0QQl KoUyo9j3TkpN+l/cj7vLO41a6sfYa3rNgfo5y/XGCz/Rxtn06q8/KgBHewsrZAKo85pX GEdS4ETYEUgFdffAQxK+6fbZ5omagDL9Kvju1BxOlX0xsCy1iaRBLeDYaXCqvgLYIrO/ QAjw== X-Gm-Message-State: AOJu0YySIBv7wG44HmVi2sNLbXp7piLODtFbEigRzqimb9y0ptzayUwS rlHp77O6wcbLoKnsX7kt4veDz2MEiBnzgmFCLDHiKgKZtaef6qRhhHZvwhtYsY+x12iOgK4SaGE mat9e X-Gm-Gg: ASbGncv0ts8icI3TL9Pr+oyJxkn9EUA+fMdi3fl1NaQl0BS9F837LI42YyY0fpb5nTs 6vMZNXIc6V492sL4yHCF0z2eUvR8rpR7z33d1LmjLv/gNl43wUlJtuQhwLr5DeG9kaD42H031S3 s8XeQiF7fePLfg2etvMUmvF1e3AR2iFupuEMP0Zw0zpKAtliiQFVsVboP0CJr5glazJ2Nh29/+t tMSSS42uvY9nDnRCYXPLkutOa7nDUgWNolhuAEdqo6ByCeStnH2VsP9L3nh6a87qj1XDXMlZphs P7Aa+JHuZtzm8sZi9Nl9S8DYVBG6RNfyFJKnvO/ABHMoTe4IbcMrOQ== X-Google-Smtp-Source: AGHT+IEjZdD3UcQmf7EXk8ZmMGiifH7EAxCE0BnoOqRXgB4MD2/EKAE5EdQo1J6SfrGh5Q5FBVSdgw== X-Received: by 2002:a17:90b:4ed0:b0:313:17ec:80ec with SMTP id 98e67ed59e1d1-313f1dee7d8mr16643370a91.26.1750176005560; Tue, 17 Jun 2025 09:00:05 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:7ce4:2bd1:2434:c118]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2365dea7d82sm81475515ad.146.2025.06.17.09.00.04 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Jun 2025 09:00:05 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][walnascar 03/12] go: upgrade 1.24.3 -> 1.24.4 Date: Tue, 17 Jun 2025 08:59:43 -0700 Message-ID: <50fe0b3832f741bc7f9ea0b996a7e99c5696c0ba.1750175857.git.steve@sakoman.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 17 Jun 2025 16:00:12 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/218891 From: Peter Marko Upgrade to latest 1.24.x release [1]: $ git --no-pager log --oneline go1.24.3..go1.24.4 6796ebb2cb [release-branch.go1.24] go1.24.4 85897ca220 [release-branch.go1.24] net/http: strip sensitive proxy headers from redirect requests 9f9cf28f8f [release-branch.go1.24] os: don't follow symlinks on Windows when O_CREATE|O_EXCL a31c931adf [release-branch.go1.24] cmd/link: allow linkname reference to a TEXT symbol regardless of size 03811ab1b3 [release-branch.go1.24] crypto/x509: decouple key usage and policy validation 04a9473847 [release-branch.go1.24] lib/fips140: set inprocess.txt to v1.0.0 db8f1dc948 [release-branch.go1.24] hash/maphash: hash channels in purego version of maphash.Comparable 664cf832ec [release-branch.go1.24] runtime/debug: document DefaultGODEBUG as a BuildSetting 431f75a0b9 [release-branch.go1.24] os: fix Root.Mkdir permission bits on OpenBSD Fixes CVE-2025-4673, CVE-2025-0913 and CVE-2025-22874 [2]. [1] https://github.com/golang/go/compare/go1.24.3...go1.24.4 [2] https://groups.google.com/g/golang-announce/c/ufZ8WpEsA3A Signed-off-by: Peter Marko Signed-off-by: Steve Sakoman --- meta/recipes-devtools/go/{go-1.24.3.inc => go-1.24.4.inc} | 2 +- ...o-binary-native_1.24.3.bb => go-binary-native_1.24.4.bb} | 6 +++--- ...cross-canadian_1.24.3.bb => go-cross-canadian_1.24.4.bb} | 0 .../go/{go-cross_1.24.3.bb => go-cross_1.24.4.bb} | 0 .../go/{go-crosssdk_1.24.3.bb => go-crosssdk_1.24.4.bb} | 0 .../go/{go-runtime_1.24.3.bb => go-runtime_1.24.4.bb} | 0 meta/recipes-devtools/go/{go_1.24.3.bb => go_1.24.4.bb} | 0 7 files changed, 4 insertions(+), 4 deletions(-) rename meta/recipes-devtools/go/{go-1.24.3.inc => go-1.24.4.inc} (91%) rename meta/recipes-devtools/go/{go-binary-native_1.24.3.bb => go-binary-native_1.24.4.bb} (78%) rename meta/recipes-devtools/go/{go-cross-canadian_1.24.3.bb => go-cross-canadian_1.24.4.bb} (100%) rename meta/recipes-devtools/go/{go-cross_1.24.3.bb => go-cross_1.24.4.bb} (100%) rename meta/recipes-devtools/go/{go-crosssdk_1.24.3.bb => go-crosssdk_1.24.4.bb} (100%) rename meta/recipes-devtools/go/{go-runtime_1.24.3.bb => go-runtime_1.24.4.bb} (100%) rename meta/recipes-devtools/go/{go_1.24.3.bb => go_1.24.4.bb} (100%) diff --git a/meta/recipes-devtools/go/go-1.24.3.inc b/meta/recipes-devtools/go/go-1.24.4.inc similarity index 91% rename from meta/recipes-devtools/go/go-1.24.3.inc rename to meta/recipes-devtools/go/go-1.24.4.inc index 78e26146b5..eff3f2f605 100644 --- a/meta/recipes-devtools/go/go-1.24.3.inc +++ b/meta/recipes-devtools/go/go-1.24.4.inc @@ -17,4 +17,4 @@ SRC_URI += "\ file://0010-cmd-go-clear-GOROOT-for-func-ldShared-when-trimpath-.patch \ file://6d265b008e3d106b2706645e5a88cd8e2fb98953.patch \ " -SRC_URI[main.sha256sum] = "229c08b600b1446798109fae1f569228102c8473caba8104b6418cb5bc032878" +SRC_URI[main.sha256sum] = "5a86a83a31f9fa81490b8c5420ac384fd3d95a3e71fba665c7b3f95d1dfef2b4" diff --git a/meta/recipes-devtools/go/go-binary-native_1.24.3.bb b/meta/recipes-devtools/go/go-binary-native_1.24.4.bb similarity index 78% rename from meta/recipes-devtools/go/go-binary-native_1.24.3.bb rename to meta/recipes-devtools/go/go-binary-native_1.24.4.bb index af56dc9111..9f788536c4 100644 --- a/meta/recipes-devtools/go/go-binary-native_1.24.3.bb +++ b/meta/recipes-devtools/go/go-binary-native_1.24.4.bb @@ -9,9 +9,9 @@ PROVIDES = "go-native" # Checksums available at https://go.dev/dl/ SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}" -SRC_URI[go_linux_amd64.sha256sum] = "3333f6ea53afa971e9078895eaa4ac7204a8c6b5c68c10e6bc9a33e8e391bdd8" -SRC_URI[go_linux_arm64.sha256sum] = "a463cb59382bd7ae7d8f4c68846e73c4d589f223c589ac76871b66811ded7836" -SRC_URI[go_linux_ppc64le.sha256sum] = "341a749d168f47b1d4dad25e32cae70849b7ceed7c290823b853c9e6b0df0856" +SRC_URI[go_linux_amd64.sha256sum] = "77e5da33bb72aeaef1ba4418b6fe511bc4d041873cbf82e5aa6318740df98717" +SRC_URI[go_linux_arm64.sha256sum] = "d5501ee5aca0f258d5fe9bfaed401958445014495dc115f202d43d5210b45241" +SRC_URI[go_linux_ppc64le.sha256sum] = "9ca4afef813a2578c23843b640ae0290aa54b2e3c950a6cc4c99e16a57dec2ec" UPSTREAM_CHECK_URI = "https://golang.org/dl/" UPSTREAM_CHECK_REGEX = "go(?P\d+(\.\d+)+)\.linux" diff --git a/meta/recipes-devtools/go/go-cross-canadian_1.24.3.bb b/meta/recipes-devtools/go/go-cross-canadian_1.24.4.bb similarity index 100% rename from meta/recipes-devtools/go/go-cross-canadian_1.24.3.bb rename to meta/recipes-devtools/go/go-cross-canadian_1.24.4.bb diff --git a/meta/recipes-devtools/go/go-cross_1.24.3.bb b/meta/recipes-devtools/go/go-cross_1.24.4.bb similarity index 100% rename from meta/recipes-devtools/go/go-cross_1.24.3.bb rename to meta/recipes-devtools/go/go-cross_1.24.4.bb diff --git a/meta/recipes-devtools/go/go-crosssdk_1.24.3.bb b/meta/recipes-devtools/go/go-crosssdk_1.24.4.bb similarity index 100% rename from meta/recipes-devtools/go/go-crosssdk_1.24.3.bb rename to meta/recipes-devtools/go/go-crosssdk_1.24.4.bb diff --git a/meta/recipes-devtools/go/go-runtime_1.24.3.bb b/meta/recipes-devtools/go/go-runtime_1.24.4.bb similarity index 100% rename from meta/recipes-devtools/go/go-runtime_1.24.3.bb rename to meta/recipes-devtools/go/go-runtime_1.24.4.bb diff --git a/meta/recipes-devtools/go/go_1.24.3.bb b/meta/recipes-devtools/go/go_1.24.4.bb similarity index 100% rename from meta/recipes-devtools/go/go_1.24.3.bb rename to meta/recipes-devtools/go/go_1.24.4.bb From patchwork Tue Jun 17 15:59:44 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 65140 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id B489AC7115F for ; Tue, 17 Jun 2025 16:00:12 +0000 (UTC) Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) by mx.groups.io with SMTP id smtpd.web10.23013.1750176011167441893 for ; Tue, 17 Jun 2025 09:00:11 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=ka18H6Lw; spf=softfail (domain: sakoman.com, ip: 209.85.214.173, mailfrom: steve@sakoman.com) Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-235ea292956so54411715ad.1 for ; Tue, 17 Jun 2025 09:00:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1750176010; x=1750780810; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=u8sSn6UtSTvYrlKyZ/uXMx+hf5FEWRpiHltkaYR1i3I=; b=ka18H6LwwWdNpd8S1V+a+/Etwbb+NXOgjr0VHvK+MmOFXzVf+Yer8en1NgkDXoCPaC hWnuJvcsik1QSFAukGkJJnCSghrETZ02qldhzhVxrNqN8UTH3MLa9cmBuGEez1nLLNo2 N/JI5Wf+S3DbsaUJnSgHdgmPPXW3C+NSUPzIdAMJQWpHZxBxKdyiHQSvnDrH5r6LMbMA 0yx7WS5d+pJ6vNy+NwbR+0TH0jaDzJydVB4+e2B4C06V4DobxoevrtAf8Fl9kmyEwm/s Hqs4omhpucZV69lWF42RSoTtHmH919l8mG2pXXNpwbjAtG1+taSwDAySe13PhQU0tquE m4og== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750176010; x=1750780810; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=u8sSn6UtSTvYrlKyZ/uXMx+hf5FEWRpiHltkaYR1i3I=; b=u/DayRY2l5MUMpP2oJo1S4ECUfSuqrzGFtdcf9A4pGkhqSM14ZmAL9Cx1aQ+OV0wLw W87+uGVIVrH/mB8hGGsO+8WO0jPRFhUP2dk8AzIB2c8yp14ypcAjYgZJVnqs3l8Vr7L3 m58UD0AwvovKvlKWIEA8qgsH0v8QDn3OVXQ8loZeEeseaaTtFEZdeAcvxcwCRLmpHbZs GaY7/4Xp62oPScnQRwkhlVo1i7zimRGbPhyX55lklzuuB7FnK5MPV0c5h1risoDakMpn j44ttyUzYgeQIG78GCuxcKN/rHcAY6XQF2FI075XycHFSRAmXTraagNQSRDeYjdxYxDb dnQw== X-Gm-Message-State: AOJu0Yz8/QmT5kqMw8QZAUZMfztdrL0B8JnS3WKMB4ip4CIhhPmdufsP XWZBMMr1iMpCWqMlUBZtKK7aBXyQ/VlT7zp3njsHcOilafKyMLZB9FnooTWRoEaYClYWRbMOYbW v9Br7 X-Gm-Gg: ASbGncugRxvLJDpSqSnuGwqcxLc2Py2xkzEf+spzvq7cCKJsTM08LGJvjoNwVn+yMre lCwTi+WjXUBk4cPsq+QQC9Ct+9bpKUhf4ySYbdoL5lGcMLNq9xI1vh+0NnsKe4D5BgeBDYtwI04 SzYctxO/wJWYjTCoEzgNrRHi4Iib/+YIkciic3V09bywyMIXO/rfvsVTZQj0IsDX3xJdFI3F32F I2CgGVeEbaQ57unB0Kw+V3E8IruXwa6sTRxIA5KV03ej3lPF/64XqKRujLc9jdCObnhuwyO9gua r8yEXlP0q/9iuMOPCvxt69BinlN7T8M5301nVki0bwBJHRH1u6VDFg== X-Google-Smtp-Source: AGHT+IFrLjFdYGrC5UWNhIlcotsEHcm9f/lzOc47rj+gAeCIOyLsiFxHNDhm5QZK8PEiIUgOPQgXgQ== X-Received: by 2002:a17:903:94c:b0:235:f70:fd37 with SMTP id d9443c01a7336-2366b006110mr207367725ad.19.1750176007703; Tue, 17 Jun 2025 09:00:07 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:7ce4:2bd1:2434:c118]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2365dea7d82sm81475515ad.146.2025.06.17.09.00.06 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Jun 2025 09:00:06 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][walnascar 04/12] gcc: Upgrade to GCC 14.3 Date: Tue, 17 Jun 2025 08:59:44 -0700 Message-ID: X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 17 Jun 2025 16:00:12 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/218892 From: Deepesh Varatharajan GCC 14.3 is a bug-fix release from the GCC 14 branch containing important fixes for regressions and serious bugs in GCC 14.2 with more than 211 bugs fixed since the previous release. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=14.3 Dropped the below patches: 0026-gcc-Fix-c-tweak-for-Wrange-loop-construct.patch https://github.com/gcc-mirror/gcc/commit/a9f88741a99ba09b29cc0021499c63ca445393f0 0027-gcc-backport-patch-to-fix-data-relocation-to-ENDBR-s.patch https://github.com/gcc-mirror/gcc/commit/aa4cd614456de65ee3417acb83c6cff0640144e9 0028-fix-incorrect-preprocessor-line-numbers.patch https://github.com/gcc-mirror/gcc/commit/8cbe033a8a88fe6437cc5d343ae0ddf8dd3455c8 0001-arm-Fix-LDRD-register-overlap-PR117675.patch https://github.com/gcc-mirror/gcc/commit/9366c328518766d896155388726055624716c0af gcc.git-ab884fffe3fc82a710bea66ad651720d71c938b8.patch https://github.com/gcc-mirror/gcc/commit/ab884fffe3fc82a710bea66ad651720d71c938b8 Signed-off-by: Deepesh Varatharajan Signed-off-by: Steve Sakoman --- meta/conf/distro/include/maintainers.inc | 2 +- .../gcc/{gcc-14.2.inc => gcc-14.3.inc} | 11 +- ...ian_14.2.bb => gcc-cross-canadian_14.3.bb} | 0 .../{gcc-cross_14.2.bb => gcc-cross_14.3.bb} | 0 ...-crosssdk_14.2.bb => gcc-crosssdk_14.3.bb} | 0 ...cc-runtime_14.2.bb => gcc-runtime_14.3.bb} | 0 ...itizers_14.2.bb => gcc-sanitizers_14.3.bb} | 0 ...{gcc-source_14.2.bb => gcc-source_14.3.bb} | 0 ...m-Fix-LDRD-register-overlap-PR117675.patch | 148 ----- ...ix-c-tweak-for-Wrange-loop-construct.patch | 114 ---- ...ch-to-fix-data-relocation-to-ENDBR-s.patch | 447 -------------- ...-incorrect-preprocessor-line-numbers.patch | 475 --------------- ...4fffe3fc82a710bea66ad651720d71c938b8.patch | 549 ------------------ .../gcc/{gcc_14.2.bb => gcc_14.3.bb} | 0 ...initial_14.2.bb => libgcc-initial_14.3.bb} | 0 .../gcc/{libgcc_14.2.bb => libgcc_14.3.bb} | 0 ...ibgfortran_14.2.bb => libgfortran_14.3.bb} | 0 17 files changed, 4 insertions(+), 1742 deletions(-) rename meta/recipes-devtools/gcc/{gcc-14.2.inc => gcc-14.3.inc} (90%) rename meta/recipes-devtools/gcc/{gcc-cross-canadian_14.2.bb => gcc-cross-canadian_14.3.bb} (100%) rename meta/recipes-devtools/gcc/{gcc-cross_14.2.bb => gcc-cross_14.3.bb} (100%) rename meta/recipes-devtools/gcc/{gcc-crosssdk_14.2.bb => gcc-crosssdk_14.3.bb} (100%) rename meta/recipes-devtools/gcc/{gcc-runtime_14.2.bb => gcc-runtime_14.3.bb} (100%) rename meta/recipes-devtools/gcc/{gcc-sanitizers_14.2.bb => gcc-sanitizers_14.3.bb} (100%) rename meta/recipes-devtools/gcc/{gcc-source_14.2.bb => gcc-source_14.3.bb} (100%) delete mode 100644 meta/recipes-devtools/gcc/gcc/0001-arm-Fix-LDRD-register-overlap-PR117675.patch delete mode 100644 meta/recipes-devtools/gcc/gcc/0026-gcc-Fix-c-tweak-for-Wrange-loop-construct.patch delete mode 100644 meta/recipes-devtools/gcc/gcc/0027-gcc-backport-patch-to-fix-data-relocation-to-ENDBR-s.patch delete mode 100644 meta/recipes-devtools/gcc/gcc/0028-fix-incorrect-preprocessor-line-numbers.patch delete mode 100644 meta/recipes-devtools/gcc/gcc/gcc.git-ab884fffe3fc82a710bea66ad651720d71c938b8.patch rename meta/recipes-devtools/gcc/{gcc_14.2.bb => gcc_14.3.bb} (100%) rename meta/recipes-devtools/gcc/{libgcc-initial_14.2.bb => libgcc-initial_14.3.bb} (100%) rename meta/recipes-devtools/gcc/{libgcc_14.2.bb => libgcc_14.3.bb} (100%) rename meta/recipes-devtools/gcc/{libgfortran_14.2.bb => libgfortran_14.3.bb} (100%) diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc index f1bff80586..9fe11282d9 100644 --- a/meta/conf/distro/include/maintainers.inc +++ b/meta/conf/distro/include/maintainers.inc @@ -194,7 +194,7 @@ RECIPE_MAINTAINER:pn-gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Khem Raj -Date: Tue, 10 Dec 2024 14:22:48 +0000 -Subject: [PATCH] arm: Fix LDRD register overlap [PR117675] - -The register indexed variants of LDRD have complex register overlap constraints -which makes them hard to use without using output_move_double (which can't be -used for atomics as it doesn't guarantee to emit atomic LDRD/STRD when required). -Add a new predicate and constraint for plain LDRD/STRD with base or base+imm. -This blocks register indexing and fixes PR117675. - -gcc: - PR target/117675 - * config/arm/arm.cc (arm_ldrd_legitimate_address): New function. - * config/arm/arm-protos.h (arm_ldrd_legitimate_address): New prototype. - * config/arm/constraints.md: Add new Uo constraint. - * config/arm/predicates.md (arm_ldrd_memory_operand): Add new predicate. - * config/arm/sync.md (arm_atomic_loaddi2_ldrd): Use - arm_ldrd_memory_operand and Uo. - -gcc/testsuite: - PR target/117675 - * gcc.target/arm/pr117675.c: Add new test. - -(cherry picked from commit 21fbfae2e55e1a153820acc6fbd922e66f67e65b) - -Upstream-Status: Backport [https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117675] ---- - gcc/config/arm/arm-protos.h | 1 + - gcc/config/arm/arm.cc | 24 ++++++++++++++++++++++++ - gcc/config/arm/constraints.md | 8 +++++++- - gcc/config/arm/predicates.md | 4 ++++ - gcc/config/arm/sync.md | 2 +- - gcc/testsuite/gcc.target/arm/pr117675.c | 17 +++++++++++++++++ - 6 files changed, 54 insertions(+), 2 deletions(-) - create mode 100644 gcc/testsuite/gcc.target/arm/pr117675.c - ---- a/gcc/config/arm/arm-protos.h -+++ b/gcc/config/arm/arm-protos.h -@@ -202,6 +202,7 @@ extern rtx arm_load_tp (rtx); - extern bool arm_coproc_builtin_available (enum unspecv); - extern bool arm_coproc_ldc_stc_legitimate_address (rtx); - extern rtx arm_stack_protect_tls_canary_mem (bool); -+extern bool arm_ldrd_legitimate_address (rtx); - - - #if defined TREE_CODE ---- a/gcc/config/arm/arm.cc -+++ b/gcc/config/arm/arm.cc -@@ -34523,6 +34523,30 @@ arm_coproc_ldc_stc_legitimate_address (r - return false; - } - -+/* Return true if OP is a valid memory operand for LDRD/STRD without any -+ register overlap restrictions. Allow [base] and [base, imm] for now. */ -+bool -+arm_ldrd_legitimate_address (rtx op) -+{ -+ if (!MEM_P (op)) -+ return false; -+ -+ op = XEXP (op, 0); -+ if (REG_P (op)) -+ return true; -+ -+ if (GET_CODE (op) != PLUS) -+ return false; -+ if (!REG_P (XEXP (op, 0)) || !CONST_INT_P (XEXP (op, 1))) -+ return false; -+ -+ HOST_WIDE_INT val = INTVAL (XEXP (op, 1)); -+ -+ if (TARGET_ARM) -+ return IN_RANGE (val, -255, 255); -+ return IN_RANGE (val, -1020, 1020) && (val & 3) == 0; -+} -+ - /* Return the diagnostic message string if conversion from FROMTYPE to - TOTYPE is not allowed, NULL otherwise. */ - ---- a/gcc/config/arm/constraints.md -+++ b/gcc/config/arm/constraints.md -@@ -39,7 +39,7 @@ - ;; in all states: Pg - - ;; The following memory constraints have been used: --;; in ARM/Thumb-2 state: Uh, Ut, Uv, Uy, Un, Um, Us, Up, Uf, Ux, Ul -+;; in ARM/Thumb-2 state: Uh, Ut, Uv, Uy, Un, Um, Us, Uo, Up, Uf, Ux, Ul, Uz - ;; in ARM state: Uq - ;; in Thumb state: Uu, Uw - ;; in all states: Q -@@ -585,6 +585,12 @@ - (and (match_code "mem") - (match_test "arm_coproc_ldc_stc_legitimate_address (op)"))) - -+(define_memory_constraint "Uo" -+ "@internal -+ A memory operand for Arm/Thumb-2 LDRD/STRD" -+ (and (match_code "mem") -+ (match_test "arm_ldrd_legitimate_address (op)"))) -+ - ;; We used to have constraint letters for S and R in ARM state, but - ;; all uses of these now appear to have been removed. - ---- a/gcc/config/arm/predicates.md -+++ b/gcc/config/arm/predicates.md -@@ -849,6 +849,10 @@ - (and (match_operand 0 "memory_operand") - (match_code "reg" "0"))) - -+;; True if the operand is memory reference suitable for a ldrd/strd. -+(define_predicate "arm_ldrd_memory_operand" -+ (match_test "arm_ldrd_legitimate_address (op)")) -+ - ;; Predicates for parallel expanders based on mode. - (define_special_predicate "vect_par_constant_high" - (match_code "parallel") ---- a/gcc/config/arm/sync.md -+++ b/gcc/config/arm/sync.md -@@ -161,7 +161,7 @@ - (define_insn "arm_atomic_loaddi2_ldrd" - [(set (match_operand:DI 0 "register_operand" "=r") - (unspec_volatile:DI -- [(match_operand:DI 1 "memory_operand" "m")] -+ [(match_operand:DI 1 "arm_ldrd_memory_operand" "Uo")] - VUNSPEC_LDRD_ATOMIC))] - "ARM_DOUBLEWORD_ALIGN && TARGET_HAVE_LPAE" - "ldrd\t%0, %H0, %1" ---- /dev/null -+++ b/gcc/testsuite/gcc.target/arm/pr117675.c -@@ -0,0 +1,17 @@ -+/* { dg-do compile } */ -+/* { dg-options "-O2 -marm" } */ -+/* { dg-require-effective-target arm_arch_v7ve_neon_ok } */ -+/* { dg-add-options arm_arch_v7ve_neon } */ -+/* { dg-final { check-function-bodies "**" "" "" } } */ -+ -+/* -+** f1: -+** add r0, r0, r1 -+** ldrd r0, r1, \[r0\] -+** bx lr -+*/ -+long long f1 (char *p, int i) -+{ -+ return __atomic_load_n ((long long *)(p + i), __ATOMIC_RELAXED); -+} -+ diff --git a/meta/recipes-devtools/gcc/gcc/0026-gcc-Fix-c-tweak-for-Wrange-loop-construct.patch b/meta/recipes-devtools/gcc/gcc/0026-gcc-Fix-c-tweak-for-Wrange-loop-construct.patch deleted file mode 100644 index c9bc863eea..0000000000 --- a/meta/recipes-devtools/gcc/gcc/0026-gcc-Fix-c-tweak-for-Wrange-loop-construct.patch +++ /dev/null @@ -1,114 +0,0 @@ -From 05106fea707f010779369c5d6e89787953d2976f Mon Sep 17 00:00:00 2001 -From: Sunil Dora -Date: Wed, 11 Dec 2024 10:04:56 -0800 -Subject: [PATCH] gcc: Fix c++: tweak for Wrange-loop-construct - -This commit updates the warning to use a check for "trivially constructible" instead of -"trivially copyable." The original check was incorrect, as "trivially copyable" only applies -to types that can be copied trivially, whereas "trivially constructible" is the correct check -for types that can be trivially default-constructed. - -This change ensures the warning is more accurate and aligns with the proper type traits. - -LLVM accepted a similar fix: -https://github.com/llvm/llvm-project/issues/47355 - -PR c++/116731 [https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116731] - -Upstream-Status: Backport [https://gcc.gnu.org/g:6ac4e2f4b2ca9980670e7d3815a9140730df1005] - -Signed-off-by: Marek Polacek -Signed-off-by: Sunil Dora ---- - gcc/cp/parser.cc | 8 ++- - .../g++.dg/warn/Wrange-loop-construct3.C | 57 +++++++++++++++++++ - 2 files changed, 62 insertions(+), 3 deletions(-) - create mode 100644 gcc/testsuite/g++.dg/warn/Wrange-loop-construct3.C - -diff --git a/gcc/cp/parser.cc b/gcc/cp/parser.cc -index 7e81c1010..8206489a2 100644 ---- a/gcc/cp/parser.cc -+++ b/gcc/cp/parser.cc -@@ -14301,11 +14301,13 @@ warn_for_range_copy (tree decl, tree expr) - else if (!CP_TYPE_CONST_P (type)) - return; - -- /* Since small trivially copyable types are cheap to copy, we suppress the -- warning for them. 64B is a common size of a cache line. */ -+ /* Since small trivially constructible types are cheap to construct, we -+ suppress the warning for them. 64B is a common size of a cache line. */ -+ tree vec = make_tree_vec (1); -+ TREE_VEC_ELT (vec, 0) = TREE_TYPE (expr); - if (TREE_CODE (TYPE_SIZE_UNIT (type)) != INTEGER_CST - || (tree_to_uhwi (TYPE_SIZE_UNIT (type)) <= 64 -- && trivially_copyable_p (type))) -+ && is_trivially_xible (INIT_EXPR, type, vec))) - return; - - /* If we can initialize a reference directly, suggest that to avoid the -diff --git a/gcc/testsuite/g++.dg/warn/Wrange-loop-construct3.C b/gcc/testsuite/g++.dg/warn/Wrange-loop-construct3.C -new file mode 100644 -index 000000000..3d9d0c908 ---- /dev/null -+++ b/gcc/testsuite/g++.dg/warn/Wrange-loop-construct3.C -@@ -0,0 +1,57 @@ -+// PR c++/116731 -+// { dg-do compile { target c++11 } } -+// { dg-options "-Wrange-loop-construct" } -+ -+void -+f0 () -+{ -+ struct S { -+ char a[64]; -+ S& operator=(const S&) { return *this; }; -+ }; -+ -+ S arr[8]; -+ for (const auto r : arr) -+ (void) r; -+} -+ -+void -+f1 () -+{ -+ struct S { -+ char a[65]; -+ S& operator=(const S&) { return *this; }; -+ }; -+ -+ S arr[8]; -+ for (const auto r : arr) // { dg-warning "creates a copy" } -+ (void) r; -+} -+ -+void -+f2 () -+{ -+ struct S { -+ char a[64]; -+ S& operator=(const S&) { return *this; }; -+ ~S() { } -+ }; -+ -+ S arr[8]; -+ for (const auto r : arr) // { dg-warning "creates a copy" } -+ (void) r; -+} -+ -+void -+f3 () -+{ -+ struct S { -+ char a[65]; -+ S& operator=(const S&) { return *this; }; -+ ~S() { } -+ }; -+ -+ S arr[8]; -+ for (const auto r : arr) // { dg-warning "creates a copy" } -+ (void) r; -+} --- -2.43.0 - diff --git a/meta/recipes-devtools/gcc/gcc/0027-gcc-backport-patch-to-fix-data-relocation-to-ENDBR-s.patch b/meta/recipes-devtools/gcc/gcc/0027-gcc-backport-patch-to-fix-data-relocation-to-ENDBR-s.patch deleted file mode 100644 index 5bede60816..0000000000 --- a/meta/recipes-devtools/gcc/gcc/0027-gcc-backport-patch-to-fix-data-relocation-to-ENDBR-s.patch +++ /dev/null @@ -1,447 +0,0 @@ -From 4e7735a8d87559bbddfe3a985786996e22241f8d Mon Sep 17 00:00:00 2001 -From: liuhongt -Date: Mon, 12 Aug 2024 14:35:31 +0800 -Subject: [PATCH] Move ix86_align_loops into a separate pass and insert the - pass after pass_endbr_and_patchable_area. - -gcc/ChangeLog: - - PR target/116174 - * config/i386/i386.cc (ix86_align_loops): Move this to .. - * config/i386/i386-features.cc (ix86_align_loops): .. here. - (class pass_align_tight_loops): New class. - (make_pass_align_tight_loops): New function. - * config/i386/i386-passes.def: Insert pass_align_tight_loops - after pass_insert_endbr_and_patchable_area. - * config/i386/i386-protos.h (make_pass_align_tight_loops): New - declare. - -gcc/testsuite/ChangeLog: - - * gcc.target/i386/pr116174.c: New test. - -(cherry picked from commit c3c83d22d212a35cb1bfb8727477819463f0dcd8) - -Upstream-Status: Backport [https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=4e7735a8d87559bbddfe3a985786996e22241f8d] - -Signed-off-by: Bin Lan ---- - gcc/config/i386/i386-features.cc | 191 +++++++++++++++++++++++ - gcc/config/i386/i386-passes.def | 3 + - gcc/config/i386/i386-protos.h | 1 + - gcc/config/i386/i386.cc | 146 ----------------- - gcc/testsuite/gcc.target/i386/pr116174.c | 12 ++ - 5 files changed, 207 insertions(+), 146 deletions(-) - create mode 100644 gcc/testsuite/gcc.target/i386/pr116174.c - -diff --git a/gcc/config/i386/i386-features.cc b/gcc/config/i386/i386-features.cc -index e3e004d55267..7de19d423637 100644 ---- a/gcc/config/i386/i386-features.cc -+++ b/gcc/config/i386/i386-features.cc -@@ -3253,6 +3253,197 @@ make_pass_remove_partial_avx_dependency (gcc::context *ctxt) - return new pass_remove_partial_avx_dependency (ctxt); - } - -+/* When a hot loop can be fit into one cacheline, -+ force align the loop without considering the max skip. */ -+static void -+ix86_align_loops () -+{ -+ basic_block bb; -+ -+ /* Don't do this when we don't know cache line size. */ -+ if (ix86_cost->prefetch_block == 0) -+ return; -+ -+ loop_optimizer_init (AVOID_CFG_MODIFICATIONS); -+ profile_count count_threshold = cfun->cfg->count_max / param_align_threshold; -+ FOR_EACH_BB_FN (bb, cfun) -+ { -+ rtx_insn *label = BB_HEAD (bb); -+ bool has_fallthru = 0; -+ edge e; -+ edge_iterator ei; -+ -+ if (!LABEL_P (label)) -+ continue; -+ -+ profile_count fallthru_count = profile_count::zero (); -+ profile_count branch_count = profile_count::zero (); -+ -+ FOR_EACH_EDGE (e, ei, bb->preds) -+ { -+ if (e->flags & EDGE_FALLTHRU) -+ has_fallthru = 1, fallthru_count += e->count (); -+ else -+ branch_count += e->count (); -+ } -+ -+ if (!fallthru_count.initialized_p () || !branch_count.initialized_p ()) -+ continue; -+ -+ if (bb->loop_father -+ && bb->loop_father->latch != EXIT_BLOCK_PTR_FOR_FN (cfun) -+ && (has_fallthru -+ ? (!(single_succ_p (bb) -+ && single_succ (bb) == EXIT_BLOCK_PTR_FOR_FN (cfun)) -+ && optimize_bb_for_speed_p (bb) -+ && branch_count + fallthru_count > count_threshold -+ && (branch_count > fallthru_count * param_align_loop_iterations)) -+ /* In case there'no fallthru for the loop. -+ Nops inserted won't be executed. */ -+ : (branch_count > count_threshold -+ || (bb->count > bb->prev_bb->count * 10 -+ && (bb->prev_bb->count -+ <= ENTRY_BLOCK_PTR_FOR_FN (cfun)->count / 2))))) -+ { -+ rtx_insn* insn, *end_insn; -+ HOST_WIDE_INT size = 0; -+ bool padding_p = true; -+ basic_block tbb = bb; -+ unsigned cond_branch_num = 0; -+ bool detect_tight_loop_p = false; -+ -+ for (unsigned int i = 0; i != bb->loop_father->num_nodes; -+ i++, tbb = tbb->next_bb) -+ { -+ /* Only handle continuous cfg layout. */ -+ if (bb->loop_father != tbb->loop_father) -+ { -+ padding_p = false; -+ break; -+ } -+ -+ FOR_BB_INSNS (tbb, insn) -+ { -+ if (!NONDEBUG_INSN_P (insn)) -+ continue; -+ size += ix86_min_insn_size (insn); -+ -+ /* We don't know size of inline asm. -+ Don't align loop for call. */ -+ if (asm_noperands (PATTERN (insn)) >= 0 -+ || CALL_P (insn)) -+ { -+ size = -1; -+ break; -+ } -+ } -+ -+ if (size == -1 || size > ix86_cost->prefetch_block) -+ { -+ padding_p = false; -+ break; -+ } -+ -+ FOR_EACH_EDGE (e, ei, tbb->succs) -+ { -+ /* It could be part of the loop. */ -+ if (e->dest == bb) -+ { -+ detect_tight_loop_p = true; -+ break; -+ } -+ } -+ -+ if (detect_tight_loop_p) -+ break; -+ -+ end_insn = BB_END (tbb); -+ if (JUMP_P (end_insn)) -+ { -+ /* For decoded icache: -+ 1. Up to two branches are allowed per Way. -+ 2. A non-conditional branch is the last micro-op in a Way. -+ */ -+ if (onlyjump_p (end_insn) -+ && (any_uncondjump_p (end_insn) -+ || single_succ_p (tbb))) -+ { -+ padding_p = false; -+ break; -+ } -+ else if (++cond_branch_num >= 2) -+ { -+ padding_p = false; -+ break; -+ } -+ } -+ -+ } -+ -+ if (padding_p && detect_tight_loop_p) -+ { -+ emit_insn_before (gen_max_skip_align (GEN_INT (ceil_log2 (size)), -+ GEN_INT (0)), label); -+ /* End of function. */ -+ if (!tbb || tbb == EXIT_BLOCK_PTR_FOR_FN (cfun)) -+ break; -+ /* Skip bb which already fits into one cacheline. */ -+ bb = tbb; -+ } -+ } -+ } -+ -+ loop_optimizer_finalize (); -+ free_dominance_info (CDI_DOMINATORS); -+} -+ -+namespace { -+ -+const pass_data pass_data_align_tight_loops = -+{ -+ RTL_PASS, /* type */ -+ "align_tight_loops", /* name */ -+ OPTGROUP_NONE, /* optinfo_flags */ -+ TV_MACH_DEP, /* tv_id */ -+ 0, /* properties_required */ -+ 0, /* properties_provided */ -+ 0, /* properties_destroyed */ -+ 0, /* todo_flags_start */ -+ 0, /* todo_flags_finish */ -+}; -+ -+class pass_align_tight_loops : public rtl_opt_pass -+{ -+public: -+ pass_align_tight_loops (gcc::context *ctxt) -+ : rtl_opt_pass (pass_data_align_tight_loops, ctxt) -+ {} -+ -+ /* opt_pass methods: */ -+ bool gate (function *) final override -+ { -+ return optimize && optimize_function_for_speed_p (cfun); -+ } -+ -+ unsigned int execute (function *) final override -+ { -+ timevar_push (TV_MACH_DEP); -+#ifdef ASM_OUTPUT_MAX_SKIP_ALIGN -+ ix86_align_loops (); -+#endif -+ timevar_pop (TV_MACH_DEP); -+ return 0; -+ } -+}; // class pass_align_tight_loops -+ -+} // anon namespace -+ -+rtl_opt_pass * -+make_pass_align_tight_loops (gcc::context *ctxt) -+{ -+ return new pass_align_tight_loops (ctxt); -+} -+ - /* This compares the priority of target features in function DECL1 - and DECL2. It returns positive value if DECL1 is higher priority, - negative value if DECL2 is higher priority and 0 if they are the -diff --git a/gcc/config/i386/i386-passes.def b/gcc/config/i386/i386-passes.def -index 7d96766f7b96..e500f15c9971 100644 ---- a/gcc/config/i386/i386-passes.def -+++ b/gcc/config/i386/i386-passes.def -@@ -31,5 +31,8 @@ along with GCC; see the file COPYING3. If not see - INSERT_PASS_BEFORE (pass_cse2, 1, pass_stv, true /* timode_p */); - - INSERT_PASS_BEFORE (pass_shorten_branches, 1, pass_insert_endbr_and_patchable_area); -+ /* pass_align_tight_loops must be after pass_insert_endbr_and_patchable_area. -+ PR116174. */ -+ INSERT_PASS_BEFORE (pass_shorten_branches, 1, pass_align_tight_loops); - - INSERT_PASS_AFTER (pass_combine, 1, pass_remove_partial_avx_dependency); -diff --git a/gcc/config/i386/i386-protos.h b/gcc/config/i386/i386-protos.h -index 46214a63974d..36c7b1aed42b 100644 ---- a/gcc/config/i386/i386-protos.h -+++ b/gcc/config/i386/i386-protos.h -@@ -419,6 +419,7 @@ extern rtl_opt_pass *make_pass_insert_endbr_and_patchable_area - (gcc::context *); - extern rtl_opt_pass *make_pass_remove_partial_avx_dependency - (gcc::context *); -+extern rtl_opt_pass *make_pass_align_tight_loops (gcc::context *); - - extern bool ix86_has_no_direct_extern_access; - -diff --git a/gcc/config/i386/i386.cc b/gcc/config/i386/i386.cc -index 6f89891d3cb5..288c69467d62 100644 ---- a/gcc/config/i386/i386.cc -+++ b/gcc/config/i386/i386.cc -@@ -23444,150 +23444,6 @@ ix86_split_stlf_stall_load () - } - } - --/* When a hot loop can be fit into one cacheline, -- force align the loop without considering the max skip. */ --static void --ix86_align_loops () --{ -- basic_block bb; -- -- /* Don't do this when we don't know cache line size. */ -- if (ix86_cost->prefetch_block == 0) -- return; -- -- loop_optimizer_init (AVOID_CFG_MODIFICATIONS); -- profile_count count_threshold = cfun->cfg->count_max / param_align_threshold; -- FOR_EACH_BB_FN (bb, cfun) -- { -- rtx_insn *label = BB_HEAD (bb); -- bool has_fallthru = 0; -- edge e; -- edge_iterator ei; -- -- if (!LABEL_P (label)) -- continue; -- -- profile_count fallthru_count = profile_count::zero (); -- profile_count branch_count = profile_count::zero (); -- -- FOR_EACH_EDGE (e, ei, bb->preds) -- { -- if (e->flags & EDGE_FALLTHRU) -- has_fallthru = 1, fallthru_count += e->count (); -- else -- branch_count += e->count (); -- } -- -- if (!fallthru_count.initialized_p () || !branch_count.initialized_p ()) -- continue; -- -- if (bb->loop_father -- && bb->loop_father->latch != EXIT_BLOCK_PTR_FOR_FN (cfun) -- && (has_fallthru -- ? (!(single_succ_p (bb) -- && single_succ (bb) == EXIT_BLOCK_PTR_FOR_FN (cfun)) -- && optimize_bb_for_speed_p (bb) -- && branch_count + fallthru_count > count_threshold -- && (branch_count > fallthru_count * param_align_loop_iterations)) -- /* In case there'no fallthru for the loop. -- Nops inserted won't be executed. */ -- : (branch_count > count_threshold -- || (bb->count > bb->prev_bb->count * 10 -- && (bb->prev_bb->count -- <= ENTRY_BLOCK_PTR_FOR_FN (cfun)->count / 2))))) -- { -- rtx_insn* insn, *end_insn; -- HOST_WIDE_INT size = 0; -- bool padding_p = true; -- basic_block tbb = bb; -- unsigned cond_branch_num = 0; -- bool detect_tight_loop_p = false; -- -- for (unsigned int i = 0; i != bb->loop_father->num_nodes; -- i++, tbb = tbb->next_bb) -- { -- /* Only handle continuous cfg layout. */ -- if (bb->loop_father != tbb->loop_father) -- { -- padding_p = false; -- break; -- } -- -- FOR_BB_INSNS (tbb, insn) -- { -- if (!NONDEBUG_INSN_P (insn)) -- continue; -- size += ix86_min_insn_size (insn); -- -- /* We don't know size of inline asm. -- Don't align loop for call. */ -- if (asm_noperands (PATTERN (insn)) >= 0 -- || CALL_P (insn)) -- { -- size = -1; -- break; -- } -- } -- -- if (size == -1 || size > ix86_cost->prefetch_block) -- { -- padding_p = false; -- break; -- } -- -- FOR_EACH_EDGE (e, ei, tbb->succs) -- { -- /* It could be part of the loop. */ -- if (e->dest == bb) -- { -- detect_tight_loop_p = true; -- break; -- } -- } -- -- if (detect_tight_loop_p) -- break; -- -- end_insn = BB_END (tbb); -- if (JUMP_P (end_insn)) -- { -- /* For decoded icache: -- 1. Up to two branches are allowed per Way. -- 2. A non-conditional branch is the last micro-op in a Way. -- */ -- if (onlyjump_p (end_insn) -- && (any_uncondjump_p (end_insn) -- || single_succ_p (tbb))) -- { -- padding_p = false; -- break; -- } -- else if (++cond_branch_num >= 2) -- { -- padding_p = false; -- break; -- } -- } -- -- } -- -- if (padding_p && detect_tight_loop_p) -- { -- emit_insn_before (gen_max_skip_align (GEN_INT (ceil_log2 (size)), -- GEN_INT (0)), label); -- /* End of function. */ -- if (!tbb || tbb == EXIT_BLOCK_PTR_FOR_FN (cfun)) -- break; -- /* Skip bb which already fits into one cacheline. */ -- bb = tbb; -- } -- } -- } -- -- loop_optimizer_finalize (); -- free_dominance_info (CDI_DOMINATORS); --} -- - /* Implement machine specific optimizations. We implement padding of returns - for K8 CPUs and pass to avoid 4 jumps in the single 16 byte window. */ - static void -@@ -23611,8 +23467,6 @@ ix86_reorg (void) - #ifdef ASM_OUTPUT_MAX_SKIP_ALIGN - if (TARGET_FOUR_JUMP_LIMIT) - ix86_avoid_jump_mispredicts (); -- -- ix86_align_loops (); - #endif - } - } -diff --git a/gcc/testsuite/gcc.target/i386/pr116174.c b/gcc/testsuite/gcc.target/i386/pr116174.c -new file mode 100644 -index 000000000000..8877d0b51af1 ---- /dev/null -+++ b/gcc/testsuite/gcc.target/i386/pr116174.c -@@ -0,0 +1,12 @@ -+/* { dg-do compile { target *-*-linux* } } */ -+/* { dg-options "-O2 -fcf-protection=branch" } */ -+ -+char * -+foo (char *dest, const char *src) -+{ -+ while ((*dest++ = *src++) != '\0') -+ /* nothing */; -+ return --dest; -+} -+ -+/* { dg-final { scan-assembler "\t\.cfi_startproc\n\tendbr(32|64)\n" } } */ --- -2.43.5 diff --git a/meta/recipes-devtools/gcc/gcc/0028-fix-incorrect-preprocessor-line-numbers.patch b/meta/recipes-devtools/gcc/gcc/0028-fix-incorrect-preprocessor-line-numbers.patch deleted file mode 100644 index 5185236a3d..0000000000 --- a/meta/recipes-devtools/gcc/gcc/0028-fix-incorrect-preprocessor-line-numbers.patch +++ /dev/null @@ -1,475 +0,0 @@ -From 8cbe033a8a88fe6437cc5d343ae0ddf8dd3455c8 Mon Sep 17 00:00:00 2001 -From: Jakub Jelinek -Date: Thu, 8 May 2025 11:14:24 +0200 -Subject: libcpp: Further fixes for incorrect line numbers in large files - [PR120061] -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The backport of the PR108900 fix to 14 branch broke building chromium -because static_assert (__LINE__ == expected_line_number, ""); now triggers -as the __LINE__ values are off by one. -This isn't the case on the trunk and 15 branch because we've switched -to 64-bit location_t and so one actually needs far longer header files -to trigger it. -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120061#c11 -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120061#c12 -contain (large) testcases in patch form which show on the 14 branch -that the first one used to fail before the PR108900 backport and now -works correctly, while the second one attempts to match the chromium -behavior and it used to pass before the PR108900 backport and now it -FAILs. -The two testcases show rare problematic cases, because -do_include_common -> parse_include -> check_eol -> check_eol_1 -> -cpp_get_token_1 -> _cpp_lex_token -> _cpp_lex_direct -> linemap_line_start -triggers there - /* Allocate the new line_map. However, if the current map only has a - single line we can sometimes just increase its column_bits instead. */ - if (line_delta < 0 - || last_line != ORDINARY_MAP_STARTING_LINE_NUMBER (map) - || SOURCE_COLUMN (map, highest) >= (1U << (column_bits - range_bits)) - || ( /* We can't reuse the map if the line offset is sufficiently - large to cause overflow when computing location_t values. */ - (to_line - ORDINARY_MAP_STARTING_LINE_NUMBER (map)) - >= (((uint64_t) 1) - << (CHAR_BIT * sizeof (linenum_type) - column_bits))) - || range_bits < map->m_range_bits) - map = linemap_check_ordinary - (const_cast - (linemap_add (set, LC_RENAME, - ORDINARY_MAP_IN_SYSTEM_HEADER_P (map), - ORDINARY_MAP_FILE_NAME (map), - to_line))); -and so creates a new ordinary map on the line right after the -(problematic) #include line. -Now, in the spot that r14-11679-g8a884140c2bcb7 patched, -pfile->line_table->highest_location in all 3 tests (also -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120061#c13 -) is before the decrement the start of the line after the #include line and so -the decrement is really desirable in that case to put highest_location -[jakub@tucnak gcc-15]$ git log -1 --format=%B r15-9638-gbfcb5da69a41f7a5e41faab39b763d9d7c8bd2ea | cat -libcpp: Further fixes for incorrect line numbers in large files [PR120061] - -The backport of the PR108900 fix to 14 branch broke building chromium -because static_assert (__LINE__ == expected_line_number, ""); now triggers -as the __LINE__ values are off by one. -This isn't the case on the trunk and 15 branch because we've switched -to 64-bit location_t and so one actually needs far longer header files -to trigger it. -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120061#c11 -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120061#c12 -contain (large) testcases in patch form which show on the 14 branch -that the first one used to fail before the PR108900 backport and now -works correctly, while the second one attempts to match the chromium -behavior and it used to pass before the PR108900 backport and now it -FAILs. -The two testcases show rare problematic cases, because -do_include_common -> parse_include -> check_eol -> check_eol_1 -> -cpp_get_token_1 -> _cpp_lex_token -> _cpp_lex_direct -> linemap_line_start -triggers there - /* Allocate the new line_map. However, if the current map only has a - single line we can sometimes just increase its column_bits instead. */ - if (line_delta < 0 - || last_line != ORDINARY_MAP_STARTING_LINE_NUMBER (map) - || SOURCE_COLUMN (map, highest) >= (1U << (column_bits - range_bits)) - || ( /* We can't reuse the map if the line offset is sufficiently - large to cause overflow when computing location_t values. */ - (to_line - ORDINARY_MAP_STARTING_LINE_NUMBER (map)) - >= (((uint64_t) 1) - << (CHAR_BIT * sizeof (linenum_type) - column_bits))) - || range_bits < map->m_range_bits) - map = linemap_check_ordinary - (const_cast - (linemap_add (set, LC_RENAME, - ORDINARY_MAP_IN_SYSTEM_HEADER_P (map), - ORDINARY_MAP_FILE_NAME (map), - to_line))); -and so creates a new ordinary map on the line right after the -(problematic) #include line. -Now, in the spot that r14-11679-g8a884140c2bcb7 patched, -pfile->line_table->highest_location in all 3 tests (also -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120061#c13 -) is before the decrement the start of the line after the #include line and so -the decrement is really desirable in that case to put highest_location -somewhere on the line where the #include actually is. -But at the same time it is also undesirable, because if we do decrement it, -then linemap_add LC_ENTER called from _cpp_do_file_change will then - /* Generate a start_location above the current highest_location. - If possible, make the low range bits be zero. */ - location_t start_location = set->highest_location + 1; - unsigned range_bits = 0; - if (start_location < LINE_MAP_MAX_LOCATION_WITH_COLS) - range_bits = set->default_range_bits; - start_location += (1 << range_bits) - 1; - start_location &= ~((1 << range_bits) - 1); - - linemap_assert (!LINEMAPS_ORDINARY_USED (set) - || (start_location - >= MAP_START_LOCATION (LINEMAPS_LAST_ORDINARY_MAP (set)))); -and we can end up with the new LC_ENTER ordinary map having the same -start_location as the preceding LC_RENAME one. -Next thing that happens is computation of included_from: - if (reason == LC_ENTER) - { - if (set->depth == 0) - map->included_from = 0; - else - /* The location of the end of the just-closed map. */ - map->included_from - = (((map[0].start_location - 1 - map[-1].start_location) - & ~((1 << map[-1].m_column_and_range_bits) - 1)) - + map[-1].start_location); -The normal case (e.g. with the testcase included at the start of this comment) is -that map[-1] starts somewhere earlier and so map->included_from computation above -nicely computes location_t which expands to the start of the #include line. -With r14-11679 reverted, for #c11 as well as #c12 -map[0].start_location == map[-1].start_location above, and so it is -((location_t) -1 & ~((1 << map[-1].m_column_and_range_bits) - 1))) -+ map[-1].start_location, -which happens to be start of the #include line. -For #c11 map[0].start_location is 0x500003a0 and map[-1] has -m_column_and_range_bits 7 and map[-2] has m_column_and_range_bits 12 and -map[0].included_from is set to 0x50000320. -For #c12 map[0].start_location is 0x606c0402 and map[-2].start_location is -0x606c0400 and m_column_and_range_bits is 0 for all 3 maps. -map[0].included_from is set to 0x606c0401. -The last important part is again in linemap_add when doing LC_LEAVE: - /* (MAP - 1) points to the map we are leaving. The - map from which (MAP - 1) got included should be the map - that comes right before MAP in the same file. */ - from = linemap_included_from_linemap (set, map - 1); - - /* A TO_FILE of NULL is special - we use the natural values. */ - if (to_file == NULL) - { - to_file = ORDINARY_MAP_FILE_NAME (from); - to_line = SOURCE_LINE (from, from[1].start_location); - sysp = ORDINARY_MAP_IN_SYSTEM_HEADER_P (from); - } -Here it wants to compute the right to_line which ought to be the line after -the #include directive. -On the #c11 testcase that doesn't work correctly though, because -map[-1].included_from is 0x50000320, from[0] for that is LC_ENTER with -start_location 0x4080 and m_column_and_range_bits 12 but note that we've -earlier computed map[-1].start_location + (-1 & 0xffffff80) and so only -decreased by 7 bits, so to_line is still on the line with #include and not -after it. In the #c12 that doesn't happen, all the ordinary maps involved -there had 0 m_column_and_range_bits and so this computes correct line. - -Below is a fix for the trunk including testcases using the -location_overflow_plugin hack to simulate the bugs without needing huge -files (in the 14 case it is just 330KB and almost 10MB, but in the 15 -case it would need to be far bigger). -The pre- r15-9018 trunk has -FAIL: gcc.dg/plugin/location-overflow-test-pr116047.c -fplugin=./location_overflow_plugin.so scan-file static_assert[^\n\r]*6[^\n\r]*== 6 -and current trunk -FAIL: gcc.dg/plugin/location-overflow-test-pr116047.c -fplugin=./location_overflow_plugin.so scan-file static_assert[^\n\r]*6[^\n\r]*== 6 -FAIL: gcc.dg/plugin/location-overflow-test-pr120061.c -fplugin=./location_overflow_plugin.so scan-file static_assert[^\n\r]*5[^\n\r]*== 5 -and with the patch everything PASSes. - -The patch reverts the r14-11679 change, because it is incorrect, -we really need to decrement it even when crossing ordinary map -boundaries, so that the location is not on the line after the #include -line but somewhere on the #include line. It also patches two spots -in linemap_add mentioned above to make sure we get correct locations -both in the included_from location_t when doing LC_ENTER (second -line-map.cc hunk) and when doing LC_LEAVE to compute the right to_line -(first line-map.cc hunk), both in presence of an added LC_RENAME -with the same start_location as the following LC_ENTER (i.e. the -problematic cases). -The LC_ENTER hunk is mostly to ensure included_form location_t is -at the start of the #include line (column 0), without it we can -decrease include_from not enough and end up at some random column -in the middle of the line, because it is masking away -map[-1].m_column_and_range_bits bits even when in the end the resulting -include_from location_t will be found in map[-2] map with perhaps -different m_column_and_range_bits. That alone doesn't fix the bug -though. -The more important is the LC_LEAVE hunk and the problem there is -caused by linemap_line_start not actually doing - r = set->highest_line + (line_delta << map->m_column_and_range_bits); -when adding a new map (the LC_RENAME one because we need to switch to -different number of directly encoded ranges, or columns, etc.). -So, in the original PR108900 case that - to_line = SOURCE_LINE (from, from[1].start_location); -doesn't do the right thing, from there is the last < 0x50000000 map -with m_column_and_range_bits 12, from[1] is the first one above it -and map[-1].included_from is the correct location of column 0 on -the #include line, but as the new LC_RENAME map has been created without -actually increasing highest_location to be on the new line (we've just -set to_line of the new LC_RENAME map to the correct line), - to_line = SOURCE_LINE (from, from[1].start_location); -stays on the same source line. I've tried to just replace that with - to_line = SOURCE_LINE (from, linemap_included_from (map - 1)) + 1; -i.e. just find out the #include line from map[-1].included_from and -add 1 to it, unfortunately that breaks the -c-c++-common/cpp/line-4.c -test where we expect to stay on the same 0 line for LC_LEAVE from - and gcc.dg/cpp/trad/Wunused.c, gcc.dg/cpp/trad/builtins.c -and c-c++-common/analyzer/named-constants-via-macros-traditional.c tests -all with -traditional-cpp preprocessing where to_line is also off-by-one -from the expected one. -So, this patch instead conditionalizes it, uses the - to_line = SOURCE_LINE (from, linemap_included_from (map - 1)) + 1; -way only if from[1] is a LC_RENAME map (rather than the usual -LC_ENTER one), that should limit it to the problematic cases of when -parse_include peeked after EOL and had to create LC_RENAME map with -the same start_location as the LC_ENTER after it. - -Some further justification for the LC_ENTER hunk, using the -https://gcc.gnu.org/pipermail/gcc-patches/2025-May/682774.html testcase -(old is 14 before r14-11679, vanilla current 14 and new with the 14 patch) -I get -$ /usr/src/gcc-14/obj/gcc/cc1.old -quiet -std=c23 pr116047.c -nostdinc -In file included from pr116047-1.h:327677:21, - from pr116047.c:4: -pr116047-2.h:1:1: error: unknown type name ‘a’ - 1 | a b c; - | ^ -pr116047-2.h:1:5: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘c’ - 1 | a b c; - | ^ -pr116047-1.h:327677:1: error: static assertion failed: "" -327677 | #include "pr116047-2.h" - | ^~~~~~~~~~~~~ -$ /usr/src/gcc-14/obj/gcc/cc1.vanilla -quiet -std=c23 pr116047.c -nostdinc -In file included from pr116047-1.h:327678, - from pr116047.c:4: -pr116047-2.h:1:1: error: unknown type name ‘a’ - 1 | a b c; - | ^ -pr116047-2.h:1:5: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘c’ - 1 | a b c; - | ^ -$ /usr/src/gcc-14/obj/gcc/cc1.new -quiet -std=c23 pr116047.c -nostdinc -In file included from pr116047-1.h:327677, - from pr116047.c:4: -pr116047-2.h:1:1: error: unknown type name ‘a’ - 1 | a b c; - | ^ -pr116047-2.h:1:5: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘c’ - 1 | a b c; - | ^ - -pr116047-1.h has on lines 327677+327678: - #include "pr116047-2.h" - static_assert (__LINE__ == 327678, ""); -so the static_assert failure is something that was dealt mainly in the -LC_LEAVE hunk and files.cc reversion, but please have a look at the -In file included from lines. -14.2 emits correct line (#include "pr116047-2.h" is indeed on line -327677) but some random column in there (which is not normally printed -for smaller headers; 21 is the . before extension in the filename). -Current trunk emits incorrect line (327678 instead of 327677, clearly -it didn't decrement). -And the patched compiler emits the right line with no column, as would -be printed if I remove e.g. 300000 newlines from the file. - -2025-05-08 Jakub Jelinek - - PR preprocessor/108900 - PR preprocessor/116047 - PR preprocessor/120061 - * files.cc (_cpp_stack_file): Revert 2025-03-28 change. - * line-map.cc (linemap_add): Use - SOURCE_LINE (from, linemap_included_from (map - 1)) + 1; instead of - SOURCE_LINE (from, from[1].start_location); to compute to_line - for LC_LEAVE if from[1].reason is LC_RENAME. For LC_ENTER - included_from computation, look at map[-2] or even lower if map[-1] - has the same start_location as map[0]. - - * gcc.dg/plugin/plugin.exp: Add location-overflow-test-pr116047.c - and location-overflow-test-pr120061.c. - * gcc.dg/plugin/location_overflow_plugin.c (plugin_init): Don't error - on unknown values, instead just break. - * gcc.dg/plugin/location-overflow-test-pr116047.c: New test. - * gcc.dg/plugin/location-overflow-test-pr116047-1.h: New test. - * gcc.dg/plugin/location-overflow-test-pr116047-2.h: New test. - * gcc.dg/plugin/location-overflow-test-pr120061.c: New test. - * gcc.dg/plugin/location-overflow-test-pr120061-1.h: New test. - * gcc.dg/plugin/location-overflow-test-pr120061-2.h: New test. - -Upstream-Status: Backport [https://gcc.gnu.org/cgit/gcc/commit/?id=edf745dc519ddbfef127e2789bf11bfbacd300b7] -Signed-off-by: Yash Shinde ---- - .../plugin/location-overflow-test-pr116047-1.h | 6 +++ - .../plugin/location-overflow-test-pr116047-2.h | 1 + - .../plugin/location-overflow-test-pr116047.c | 5 +++ - .../plugin/location-overflow-test-pr120061-1.h | 6 +++ - .../plugin/location-overflow-test-pr120061-2.h | 1 + - .../plugin/location-overflow-test-pr120061.c | 6 +++ - .../gcc.dg/plugin/location_overflow_plugin.c | 2 +- - gcc/testsuite/gcc.dg/plugin/plugin.exp | 4 +- - libcpp/line-map.cc | 48 ++++++++++++++++++---- - 10 files changed, 69 insertions(+), 18 deletions(-) - create mode 100644 gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047-1.h - create mode 100644 gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047-2.h - create mode 100644 gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047.c - create mode 100644 gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061-1.h - create mode 100644 gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061-2.h - create mode 100644 gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061.c - -diff --git a/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047-1.h b/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047-1.h -new file mode 100644 -index 000000000000..3dd6434a938b ---- /dev/null -+++ b/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047-1.h -@@ -0,0 +1,6 @@ -+ -+ -+ -+ -+#include "location-overflow-test-pr116047-2.h" -+static_assert (__LINE__ == 6, ""); -diff --git a/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047-2.h b/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047-2.h -new file mode 100644 -index 000000000000..048f715b4656 ---- /dev/null -+++ b/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047-2.h -@@ -0,0 +1 @@ -+int i; -diff --git a/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047.c b/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047.c -new file mode 100644 -index 000000000000..33f2c4ce8def ---- /dev/null -+++ b/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047.c -@@ -0,0 +1,5 @@ -+/* PR preprocessor/116047 */ -+/* { dg-do preprocess } */ -+/* { dg-options "-nostdinc -std=c23 -fplugin-arg-location_overflow_plugin-value=0x4fff8080" } */ -+#include "location-overflow-test-pr116047-1.h" -+/* { dg-final { scan-file location-overflow-test-pr116047.i "static_assert\[^\n\r]\*6\[^\n\r]\*== 6" } } */ -diff --git a/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061-1.h b/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061-1.h -new file mode 100644 -index 000000000000..ebf7704f568e ---- /dev/null -+++ b/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061-1.h -@@ -0,0 +1,6 @@ -+ -+ -+ -+ -+#include "location-overflow-test-pr120061-2.h" -+ -diff --git a/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061-2.h b/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061-2.h -new file mode 100644 -index 000000000000..048f715b4656 ---- /dev/null -+++ b/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061-2.h -@@ -0,0 +1 @@ -+int i; -diff --git a/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061.c b/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061.c -new file mode 100644 -index 000000000000..e8e803898da3 ---- /dev/null -+++ b/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061.c -@@ -0,0 +1,6 @@ -+/* PR preprocessor/120061 */ -+/* { dg-do preprocess } */ -+/* { dg-options "-nostdinc -std=c23 -fplugin-arg-location_overflow_plugin-value=0x61000000" } */ -+#include "location-overflow-test-pr120061-1.h" -+static_assert (__LINE__ == 5, ""); -+/* { dg-final { scan-file location-overflow-test-pr120061.i "static_assert\[^\n\r]\*5\[^\n\r]\*== 5" } } */ -diff --git a/gcc/testsuite/gcc.dg/plugin/location_overflow_plugin.c b/gcc/testsuite/gcc.dg/plugin/location_overflow_plugin.c -index d0a6b0755648..6f4497a1cb16 100644 ---- a/gcc/testsuite/gcc.dg/plugin/location_overflow_plugin.c -+++ b/gcc/testsuite/gcc.dg/plugin/location_overflow_plugin.c -@@ -101,7 +101,7 @@ plugin_init (struct plugin_name_args *plugin_info, - break; - - default: -- error_at (UNKNOWN_LOCATION, "unrecognized value for plugin argument"); -+ break; - } - - return 0; -diff --git a/gcc/testsuite/gcc.dg/plugin/plugin.exp b/gcc/testsuite/gcc.dg/plugin/plugin.exp -index 933f9a5850bc..438c6d87aad9 100644 ---- a/gcc/testsuite/gcc.dg/plugin/plugin.exp -+++ b/gcc/testsuite/gcc.dg/plugin/plugin.exp -@@ -126,7 +126,9 @@ set plugin_test_list [list \ - { location_overflow_plugin.c \ - location-overflow-test-1.c \ - location-overflow-test-2.c \ -- location-overflow-test-pr83173.c } \ -+ location-overflow-test-pr83173.c \ -+ location-overflow-test-pr116047.c \ -+ location-overflow-test-pr120061.c } \ - { must_tail_call_plugin.c \ - must-tail-call-1.c \ - must-tail-call-2.c } \ -diff --git a/libcpp/line-map.cc b/libcpp/line-map.cc -index d5200b317eee..1e659638d9f7 100644 ---- a/libcpp/line-map.cc -+++ b/libcpp/line-map.cc -@@ -618,8 +618,8 @@ linemap_add (line_maps *set, enum lc_reason reason, - #include "included", inside the same "includer" file. */ - - linemap_assert (!MAIN_FILE_P (map - 1)); -- /* (MAP - 1) points to the map we are leaving. The -- map from which (MAP - 1) got included should be the map -+ /* (MAP - 1) points to the map we are leaving. The -+ map from which (MAP - 1) got included should be usually the map - that comes right before MAP in the same file. */ - from = linemap_included_from_linemap (set, map - 1); - -@@ -627,7 +627,24 @@ linemap_add (line_maps *set, enum lc_reason reason, - if (to_file == NULL) - { - to_file = ORDINARY_MAP_FILE_NAME (from); -- to_line = SOURCE_LINE (from, from[1].start_location); -+ /* Compute the line on which the map resumes, for #include this -+ should be the line after the #include line. Usually FROM is -+ the map right before LC_ENTER map - the first map of the included -+ file, and in that case SOURCE_LINE (from, from[1].start_location); -+ computes the right line (and does handle even some special cases -+ (e.g. where for returning from we still want to -+ be at line 0 or some -traditional-cpp cases). In rare cases -+ FROM can be followed by LC_RENAME created by linemap_line_start -+ for line right after #include line. If that happens, -+ start_location of the FROM[1] map will be the same as -+ start_location of FROM[2] LC_ENTER, but FROM[1] start_location -+ might not have advance enough for moving to a full next line. -+ In that case compute the line of #include line and add 1 to it -+ to advance to the next line. See PR120061. */ -+ if (from[1].reason == LC_RENAME) -+ to_line = SOURCE_LINE (from, linemap_included_from (map - 1)) + 1; -+ else -+ to_line = SOURCE_LINE (from, from[1].start_location); - sysp = ORDINARY_MAP_IN_SYSTEM_HEADER_P (from); - } - else -@@ -657,11 +674,26 @@ linemap_add (line_maps *set, enum lc_reason reason, - if (set->depth == 0) - map->included_from = 0; - else -- /* The location of the end of the just-closed map. */ -- map->included_from -- = (((map[0].start_location - 1 - map[-1].start_location) -- & ~((1 << map[-1].m_column_and_range_bits) - 1)) -- + map[-1].start_location); -+ { -+ /* Compute location from whence this line map was included. -+ For #include this should be preferrably column 0 of the -+ line on which #include directive appears. -+ map[-1] is the just closed map and usually included_from -+ falls within that map. In rare cases linemap_line_start -+ can insert a new LC_RENAME map for the line immediately -+ after #include line, in that case map[-1] will have the -+ same start_location as the new one and so included_from -+ would not be from map[-1] but likely map[-2]. If that -+ happens, mask off map[-2] m_column_and_range_bits bits -+ instead of map[-1]. See PR120061. */ -+ int i = -1; -+ while (map[i].start_location == map[0].start_location) -+ --i; -+ map->included_from -+ = (((map[0].start_location - 1 - map[i].start_location) -+ & ~((1 << map[i].m_column_and_range_bits) - 1)) -+ + map[i].start_location); -+ } - set->depth++; - if (set->trace_includes) - trace_include (set, map); --- diff --git a/meta/recipes-devtools/gcc/gcc/gcc.git-ab884fffe3fc82a710bea66ad651720d71c938b8.patch b/meta/recipes-devtools/gcc/gcc/gcc.git-ab884fffe3fc82a710bea66ad651720d71c938b8.patch deleted file mode 100644 index e5abdcc703..0000000000 --- a/meta/recipes-devtools/gcc/gcc/gcc.git-ab884fffe3fc82a710bea66ad651720d71c938b8.patch +++ /dev/null @@ -1,549 +0,0 @@ -From ab884fffe3fc82a710bea66ad651720d71c938b8 Mon Sep 17 00:00:00 2001 -From: Jonathan Wakely -Date: Tue, 30 Apr 2024 09:52:13 +0100 -Subject: [PATCH] libstdc++: Fix std::chrono::tzdb to work with vanguard format - -I found some issues in the std::chrono::tzdb parser by testing the -tzdata "vanguard" format, which uses new features that aren't enabled in -the "main" and "rearguard" data formats. - -Since 2024a the keyword "minimum" is no longer valid for the FROM and TO -fields in a Rule line, which means that "m" is now a valid abbreviation -for "maximum". Previously we expected either "mi" or "ma". For backwards -compatibility, a FROM field beginning with "mi" is still supported and -is treated as 1900. The "maximum" keyword is only allowed in TO now, -because it makes no sense in FROM. To support these changes the -minmax_year and minmax_year2 classes for parsing FROM and TO are -replaced with a single years_from_to class that reads both fields. - -The vanguard format makes use of %z in Zone FORMAT fields, which caused -an exception to be thrown from ZoneInfo::set_abbrev because no % or / -characters were expected when a Zone doesn't use a named Rule. The -ZoneInfo::to(sys_info&) function now uses format_abbrev_str to replace -any %z with the current offset. Although format_abbrev_str also checks -for %s and STD/DST formats, those only make sense when a named Rule is -in effect, so won't occur when ZoneInfo::to(sys_info&) is used. - -Since making this change on trunk, the tzdata-2024b release started -using %z in the main format, not just vanguard. This makes a backport to -release branches necessary (see PR 116657). - -This change also implements a feature that has always been missing from -time_zone::_M_get_sys_info: finding the Rule that is active before the -specified time point, so that we can correctly handle %s in the FORMAT -for the first new sys_info that gets created. This requires implementing -a poorly documented feature of zic, to get the LETTERS field from a -later transition, as described at -https://mm.icann.org/pipermail/tz/2024-April/058891.html -In order for this to work we need to be able to distinguish an empty -letters field (as used by CE%sT where the variable part is either empty -or "S") from "the letters field is not known for this transition". The -tzdata file uses "-" for an empty letters field, which libstdc++ was -previously replacing with "" when the Rule was parsed. Instead, we now -preserve the "-" in the Rule object, so that "" can be used for the case -where we don't know the letters (and so need to decide it). - -(cherry picked from commit 0ca8d56f2085715f27ee536c6c344bc47af49cdd) - -Upstream-Status: Backport [https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=5ceea2ac106d6dd1aa8175670b15a801316cf1c9] - -Signed-off-by: Markus Volk ---- - libstdc++-v3/src/c++20/tzdb.cc | 265 +++++++++++------- - .../std/time/time_zone/sys_info_abbrev.cc | 106 +++++++ - libstdc++-v3/testsuite/std/time/tzdb/1.cc | 6 +- - 3 files changed, 274 insertions(+), 103 deletions(-) - create mode 100644 libstdc++-v3/testsuite/std/time/time_zone/sys_info_abbrev.cc - -diff --git a/libstdc++-v3/src/c++20/tzdb.cc b/libstdc++-v3/src/c++20/tzdb.cc -index c7c7cc9deee6..7e8cce7ce8cf 100644 ---- a/libstdc++-v3/src/c++20/tzdb.cc -+++ b/libstdc++-v3/src/c++20/tzdb.cc -@@ -342,51 +342,103 @@ namespace std::chrono - friend istream& operator>>(istream&, on_day&); - }; - -- // Wrapper for chrono::year that reads a year, or one of the keywords -- // "minimum" or "maximum", or an unambiguous prefix of a keyword. -- struct minmax_year -+ // Wrapper for two chrono::year values, which reads the FROM and TO -+ // fields of a Rule line. The FROM field is a year and TO is a year or -+ // one of the keywords "maximum" or "only" (or an abbreviation of those). -+ // For backwards compatibility, the keyword "minimum" is recognized -+ // for FROM and interpreted as 1900. -+ struct years_from_to - { -- year& y; -+ year& from; -+ year& to; - -- friend istream& operator>>(istream& in, minmax_year&& y) -+ friend istream& operator>>(istream& in, years_from_to&& yy) - { -- if (ws(in).peek() == 'm') // keywords "minimum" or "maximum" -+ string s; -+ auto c = ws(in).peek(); -+ if (c == 'm') [[unlikely]] // keyword "minimum" - { -- string s; -- in >> s; // extract the rest of the word, but only look at s[1] -- if (s[1] == 'a') -- y.y = year::max(); -- else if (s[1] == 'i') -- y.y = year::min(); -- else -- in.setstate(ios::failbit); -+ in >> s; // extract the rest of the word -+ yy.from = year(1900); -+ } -+ else if (int num = 0; in >> num) [[likely]] -+ yy.from = year{num}; -+ -+ c = ws(in).peek(); -+ if (c == 'm') // keyword "maximum" -+ { -+ in >> s; // extract the rest of the word -+ yy.to = year::max(); -+ } -+ else if (c == 'o') // keyword "only" -+ { -+ in >> s; // extract the rest of the word -+ yy.to = yy.from; - } - else if (int num = 0; in >> num) -- y.y = year{num}; -+ yy.to = year{num}; -+ - return in; - } - }; - -- // As above for minmax_year, but also supports the keyword "only", -- // meaning that the TO year is the same as the FROM year. -- struct minmax_year2 -+ bool -+ select_std_or_dst_abbrev(string& abbrev, minutes save) - { -- minmax_year to; -- year from; -+ if (size_t pos = abbrev.find('/'); pos != string::npos) -+ { -+ // Select one of "STD/DST" for standard or daylight. -+ if (save == 0min) -+ abbrev.erase(pos); -+ else -+ abbrev.erase(0, pos + 1); -+ return true; -+ } -+ return false; -+ } - -- friend istream& operator>>(istream& in, minmax_year2&& y) -- { -- if (ws(in).peek() == 'o') // keyword "only" -- { -- string s; -- in >> s; // extract the whole keyword -- y.to.y = y.from; -- } -- else -- in >> std::move(y.to); -- return in; -- } -- }; -+ // Set the sys_info::abbrev string by expanding any placeholders. -+ void -+ format_abbrev_str(sys_info& info, string_view letters = {}) -+ { -+ if (size_t pos = info.abbrev.find('%'); pos != string::npos) -+ { -+ if (info.abbrev[pos + 1] == 's') -+ { -+ // Expand "%s" to the variable part, given by Rule::letters. -+ if (letters == "-") -+ info.abbrev.erase(pos, 2); -+ else -+ info.abbrev.replace(pos, 2, letters); -+ } -+ else if (info.abbrev[pos + 1] == 'z') -+ { -+ // Expand "%z" to the UT offset as +/-hh, +/-hhmm, or +/-hhmmss. -+ hh_mm_ss t(info.offset); -+ string z(1, "+-"[t.is_negative()]); -+ long val = t.hours().count(); -+ int digits = 2; -+ if (int m = t.minutes().count()) -+ { -+ digits = 4; -+ val *= 100; -+ val += m; -+ if (int s = t.seconds().count()) -+ { -+ digits = 6; -+ val *= 100; -+ val += s; -+ } -+ } -+ auto sval = std::to_string(val); -+ z += string(digits - sval.size(), '0'); -+ z += sval; -+ info.abbrev.replace(pos, 2, z); -+ } -+ } -+ else -+ select_std_or_dst_abbrev(info.abbrev, info.save); -+ } - - // A time zone information record. - // Zone NAME STDOFF RULES FORMAT [UNTIL] -@@ -462,6 +514,7 @@ namespace std::chrono - info.offset = offset(); - info.save = minutes(m_save); - info.abbrev = format(); -+ format_abbrev_str(info); // expand %z - return true; - } - -@@ -469,12 +522,9 @@ namespace std::chrono - friend class time_zone; - - void -- set_abbrev(const string& abbrev) -+ set_abbrev(string abbrev) - { -- // In practice, the FORMAT field never needs expanding here. -- if (abbrev.find_first_of("/%") != abbrev.npos) -- __throw_runtime_error("std::chrono::time_zone: invalid data"); -- m_buf = abbrev; -+ m_buf = std::move(abbrev); - m_pos = 0; - m_expanded = true; - } -@@ -544,9 +594,7 @@ namespace std::chrono - - // Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S - -- in >> quoted(rule.name) -- >> minmax_year{rule.from} -- >> minmax_year2{rule.to, rule.from}; -+ in >> quoted(rule.name) >> years_from_to{rule.from, rule.to}; - - if (char type; in >> type && type != '-') - in.setstate(ios::failbit); -@@ -557,7 +605,7 @@ namespace std::chrono - if (save_time.indicator != at_time::Wall) - { - // We don't actually store the save_time.indicator, because we -- // assume that it's always deducable from the actual offset value. -+ // assume that it's always deducible from the offset value. - auto expected = save_time.time == 0s - ? at_time::Standard - : at_time::Daylight; -@@ -567,8 +615,6 @@ namespace std::chrono - rule.save = save_time.time; - - in >> rule.letters; -- if (rule.letters == "-") -- rule.letters.clear(); - return in; - } - -@@ -719,58 +765,6 @@ namespace std::chrono - #endif // TZDB_DISABLED - }; - --#ifndef TZDB_DISABLED -- namespace -- { -- bool -- select_std_or_dst_abbrev(string& abbrev, minutes save) -- { -- if (size_t pos = abbrev.find('/'); pos != string::npos) -- { -- // Select one of "STD/DST" for standard or daylight. -- if (save == 0min) -- abbrev.erase(pos); -- else -- abbrev.erase(0, pos + 1); -- return true; -- } -- return false; -- } -- -- // Set the sys_info::abbrev string by expanding any placeholders. -- void -- format_abbrev_str(sys_info& info, string_view letters = {}) -- { -- if (size_t pos = info.abbrev.find("%s"); pos != string::npos) -- { -- // Expand "%s" to the variable part, given by Rule::letters. -- info.abbrev.replace(pos, 2, letters); -- } -- else if (size_t pos = info.abbrev.find("%z"); pos != string::npos) -- { -- // Expand "%z" to the UT offset as +/-hh, +/-hhmm, or +/-hhmmss. -- hh_mm_ss t(info.offset); -- string z(1, "+-"[t.is_negative()]); -- long val = t.hours().count(); -- if (minutes m = t.minutes(); m != m.zero()) -- { -- val *= 100; -- val += m.count(); -- if (seconds s = t.seconds(); s != s.zero()) -- { -- val *= 100; -- val += s.count(); -- } -- } -- z += std::to_string(val); -- info.abbrev.replace(pos, 2, z); -- } -- else -- select_std_or_dst_abbrev(info.abbrev, info.save); -- } -- } --#endif // TZDB_DISABLED -- - // Implementation of std::chrono::time_zone::get_info(const sys_time&) - sys_info - time_zone::_M_get_sys_info(sys_seconds tp) const -@@ -839,12 +833,72 @@ namespace std::chrono - info.abbrev = ri.format(); - - string_view letters; -- if (i != infos.begin()) -+ if (i != infos.begin() && i[-1].expanded()) -+ letters = i[-1].next_letters(); -+ -+ if (letters.empty()) - { -- if (i[-1].expanded()) -- letters = i[-1].next_letters(); -- // XXX else need to find Rule active before this time and use it -- // to know the initial offset, save, and letters. -+ sys_seconds t = info.begin - seconds(1); -+ const year_month_day date(chrono::floor(t)); -+ -+ // Try to find a Rule active before this time, to get initial -+ // SAVE and LETTERS values. There may not be a Rule for the period -+ // before the first DST transition, so find the earliest DST->STD -+ // transition and use the LETTERS from that. -+ const Rule* active_rule = nullptr; -+ sys_seconds active_rule_start = sys_seconds::min(); -+ const Rule* first_std = nullptr; -+ for (const auto& rule : rules) -+ { -+ if (rule.save == minutes(0)) -+ { -+ if (!first_std) -+ first_std = &rule; -+ else if (rule.from < first_std->from) -+ first_std = &rule; -+ else if (rule.from == first_std->from) -+ { -+ if (rule.start_time(rule.from, {}) -+ < first_std->start_time(first_std->from, {})) -+ first_std = &rule; -+ } -+ } -+ -+ year y = date.year(); -+ -+ if (y > rule.to) // rule no longer applies at time t -+ continue; -+ if (y < rule.from) // rule doesn't apply yet at time t -+ continue; -+ -+ sys_seconds rule_start; -+ -+ seconds offset{}; // appropriate for at_time::Universal -+ if (rule.when.indicator == at_time::Wall) -+ offset = info.offset; -+ else if (rule.when.indicator == at_time::Standard) -+ offset = ri.offset(); -+ -+ // Time the rule takes effect this year: -+ rule_start = rule.start_time(y, offset); -+ -+ if (rule_start >= t && rule.from < y) -+ { -+ // Try this rule in the previous year. -+ rule_start = rule.start_time(--y, offset); -+ } -+ -+ if (active_rule_start < rule_start && rule_start < t) -+ { -+ active_rule_start = rule_start; -+ active_rule = &rule; -+ } -+ } -+ -+ if (active_rule) -+ letters = active_rule->letters; -+ else if (first_std) -+ letters = first_std->letters; - } - - const Rule* curr_rule = nullptr; -@@ -2069,9 +2123,11 @@ namespace std::chrono - istringstream in2(std::move(rules)); - in2 >> rules_time; - inf.m_save = duration_cast(rules_time.time); -+ // If the FORMAT is "STD/DST" then we can choose the right one -+ // now, so that we store a shorter string. - select_std_or_dst_abbrev(fmt, inf.m_save); - } -- inf.set_abbrev(fmt); -+ inf.set_abbrev(std::move(fmt)); - } - - // YEAR [MONTH [DAY [TIME]]] -@@ -2082,7 +2138,12 @@ namespace std::chrono - abbrev_month m{January}; - int d = 1; - at_time t{}; -+ // XXX DAY should support ON format, e.g. lastSun or Sun>=8 - in >> m >> d >> t; -+ // XXX UNTIL field should be interpreted -+ // "using the rules in effect just before the transition" -+ // so might need to store as year_month_day and hh_mm_ss and only -+ // convert to a sys_time once we know the offset in effect. - inf.m_until = sys_days(year(y)/m.m/day(d)) + seconds(t.time); - } - else -diff --git a/libstdc++-v3/testsuite/std/time/time_zone/sys_info_abbrev.cc b/libstdc++-v3/testsuite/std/time/time_zone/sys_info_abbrev.cc -new file mode 100644 -index 000000000000..f1a8fff02f58 ---- /dev/null -+++ b/libstdc++-v3/testsuite/std/time/time_zone/sys_info_abbrev.cc -@@ -0,0 +1,106 @@ -+// { dg-do run { target c++20 } } -+// { dg-require-effective-target tzdb } -+// { dg-require-effective-target cxx11_abi } -+// { dg-xfail-run-if "no weak override on AIX" { powerpc-ibm-aix* } } -+ -+#include -+#include -+#include -+ -+static bool override_used = false; -+ -+namespace __gnu_cxx -+{ -+ const char* zoneinfo_dir_override() { -+ override_used = true; -+ return "./"; -+ } -+} -+ -+using namespace std::chrono; -+ -+void -+test_format() -+{ -+ std::ofstream("tzdata.zi") << R"(# version test_1 -+Zone Africa/Bissau -1:2:20 - LMT 1912 Ja 1 1u -+ -1 - %z 1975 -+ 0 - GMT -+Zon Some/Zone 1:2:3 - %z 1900 -+ 1:23:45 - %z 1950 -+Zo Another/Zone 1:2:3 - AZ0 1901 -+ 1 Roolz A%sZ 2000 -+ 1 Roolz SAZ/DAZ 2005 -+ 1 Roolz %z -+Rule Roolz 1950 max - April 1 2 1 D -+Rul Roolz 1950 max - Oct 1 1 0 S -+Z Strange/Zone 1 - X%sX 1980 -+ 1 - FOO/BAR 1990 -+ 2:00 - %zzz 1995 -+ 0:9 - %zzz 1996 -+ 0:8:7 - %zzz 1997 -+ 0:6:5.5 - %zzz 1998 -+)"; -+ -+ const auto& db = reload_tzdb(); -+ VERIFY( override_used ); // If this fails then XFAIL for the target. -+ VERIFY( db.version == "test_1" ); -+ -+ // Test formatting %z as -+ auto tz = locate_zone("Africa/Bissau"); -+ auto inf = tz->get_info(sys_days(1974y/1/1)); -+ VERIFY( inf.abbrev == "-01" ); -+ -+ tz = locate_zone("Some/Zone"); -+ inf = tz->get_info(sys_days(1899y/1/1)); -+ VERIFY( inf.abbrev == "+010203" ); -+ inf = tz->get_info(sys_days(1955y/1/1)); -+ VERIFY( inf.abbrev == "+012345" ); -+ -+ tz = locate_zone("Another/Zone"); -+ // Test formatting %s as the LETTER/S field from the active Rule. -+ inf = tz->get_info(sys_days(1910y/January/1)); -+ VERIFY( inf.abbrev == "ASZ" ); -+ inf = tz->get_info(sys_days(1950y/January/1)); -+ VERIFY( inf.abbrev == "ASZ" ); -+ inf = tz->get_info(sys_days(1950y/June/1)); -+ VERIFY( inf.abbrev == "ADZ" ); -+ inf = tz->get_info(sys_days(1999y/January/1)); -+ VERIFY( inf.abbrev == "ASZ" ); -+ inf = tz->get_info(sys_days(1999y/July/1)); -+ VERIFY( inf.abbrev == "ADZ" ); -+ // Test formatting STD/DST according to the active Rule. -+ inf = tz->get_info(sys_days(2000y/January/2)); -+ VERIFY( inf.abbrev == "SAZ" ); -+ inf = tz->get_info(sys_days(2001y/January/1)); -+ VERIFY( inf.abbrev == "SAZ" ); -+ inf = tz->get_info(sys_days(2001y/July/1)); -+ VERIFY( inf.abbrev == "DAZ" ); -+ // Test formatting %z as the offset determined by the active Rule. -+ inf = tz->get_info(sys_days(2005y/January/2)); -+ VERIFY( inf.abbrev == "+01" ); -+ inf = tz->get_info(sys_days(2006y/January/1)); -+ VERIFY( inf.abbrev == "+01" ); -+ inf = tz->get_info(sys_days(2006y/July/1)); -+ VERIFY( inf.abbrev == "+02" ); -+ -+ // Test formatting %z, %s and S/D for a Zone with no associated Rules. -+ tz = locate_zone("Strange/Zone"); -+ inf = tz->get_info(sys_days(1979y/January/1)); -+ VERIFY( inf.abbrev == "XX" ); // No Rule means nothing to use for %s. -+ inf = tz->get_info(sys_days(1981y/July/1)); -+ VERIFY( inf.abbrev == "FOO" ); // Always standard time means first string. -+ inf = tz->get_info(sys_days(1994y/July/1)); -+ VERIFY( inf.abbrev == "+02zz" ); -+ inf = tz->get_info(sys_days(1995y/July/1)); -+ VERIFY( inf.abbrev == "+0009zz" ); -+ inf = tz->get_info(sys_days(1996y/July/1)); -+ VERIFY( inf.abbrev == "+000807zz" ); -+ inf = tz->get_info(sys_days(1997y/July/1)); -+ VERIFY( inf.abbrev == "+000606zz" ); -+} -+ -+int main() -+{ -+ test_format(); -+} -diff --git a/libstdc++-v3/testsuite/std/time/tzdb/1.cc b/libstdc++-v3/testsuite/std/time/tzdb/1.cc -index 796f3a8b4256..7a31c1c20ba7 100644 ---- a/libstdc++-v3/testsuite/std/time/tzdb/1.cc -+++ b/libstdc++-v3/testsuite/std/time/tzdb/1.cc -@@ -39,11 +39,15 @@ test_locate() - const tzdb& db = get_tzdb(); - const time_zone* tz = db.locate_zone("GMT"); - VERIFY( tz != nullptr ); -- VERIFY( tz->name() == "Etc/GMT" ); - VERIFY( tz == std::chrono::locate_zone("GMT") ); - VERIFY( tz == db.locate_zone("Etc/GMT") ); - VERIFY( tz == db.locate_zone("Etc/GMT+0") ); - -+ // Since 2022f GMT is now a Zone and Etc/GMT a link instead of vice versa, -+ // but only when using the vanguard format. As of 2024a, the main and -+ // rearguard formats still have Etc/GMT as a Zone and GMT as a link. -+ VERIFY( tz->name() == "GMT" || tz->name() == "Etc/GMT" ); -+ - VERIFY( db.locate_zone(db.current_zone()->name()) == db.current_zone() ); - } - --- -2.43.5 - diff --git a/meta/recipes-devtools/gcc/gcc_14.2.bb b/meta/recipes-devtools/gcc/gcc_14.3.bb similarity index 100% rename from meta/recipes-devtools/gcc/gcc_14.2.bb rename to meta/recipes-devtools/gcc/gcc_14.3.bb diff --git a/meta/recipes-devtools/gcc/libgcc-initial_14.2.bb b/meta/recipes-devtools/gcc/libgcc-initial_14.3.bb similarity index 100% rename from meta/recipes-devtools/gcc/libgcc-initial_14.2.bb rename to meta/recipes-devtools/gcc/libgcc-initial_14.3.bb diff --git a/meta/recipes-devtools/gcc/libgcc_14.2.bb b/meta/recipes-devtools/gcc/libgcc_14.3.bb similarity index 100% rename from meta/recipes-devtools/gcc/libgcc_14.2.bb rename to meta/recipes-devtools/gcc/libgcc_14.3.bb diff --git a/meta/recipes-devtools/gcc/libgfortran_14.2.bb b/meta/recipes-devtools/gcc/libgfortran_14.3.bb similarity index 100% rename from meta/recipes-devtools/gcc/libgfortran_14.2.bb rename to meta/recipes-devtools/gcc/libgfortran_14.3.bb From patchwork Tue Jun 17 15:59:45 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 65139 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id B485BC7115E for ; Tue, 17 Jun 2025 16:00:12 +0000 (UTC) Received: from mail-pj1-f52.google.com (mail-pj1-f52.google.com [209.85.216.52]) by mx.groups.io with SMTP id smtpd.web10.23014.1750176012084381297 for ; Tue, 17 Jun 2025 09:00:12 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=NdxcsiRc; spf=softfail (domain: sakoman.com, ip: 209.85.216.52, mailfrom: steve@sakoman.com) Received: by mail-pj1-f52.google.com with SMTP id 98e67ed59e1d1-311c95ddfb5so4867484a91.2 for ; Tue, 17 Jun 2025 09:00:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1750176011; x=1750780811; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=rZEUPV95q6vGcuN8DRzlEV469h6ocmGDM5L6+pFuBrg=; b=NdxcsiRcD8PQYKHbs5TSRIecPlT3cqzdYqfUB2qVsLbUYpcjjSvEqU0c5vpQOy9ffM bljEYONMAuAAA5eNnAB5inE/4lVUHnF/G9fJRj5vrNOwA66atgNYwy3Wr9cXon/HEtEg P4ft4pwc7dGk3+BYIeSyPi3x7JUWrpYkrS4icGEbhFZ1TrqAAHiwIjbEWruUfcIE1ZbM 23+ZKHs8rE1MVwkUnLgbnqPgl5EXCa5Q5pfQ8rBM7Uondku1AAMzdYOUxzqIP+xfGcoc oCFBjPtoGINkrpx+uo49otvMbo+OceplL3b4/YzHH/tXZfuk0SXZXffzoggyqGjAAgha Xr1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750176011; x=1750780811; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rZEUPV95q6vGcuN8DRzlEV469h6ocmGDM5L6+pFuBrg=; b=sD/LsIuFd7Uq1vODEarTIoPSqFs/IYEcV5yxM36zeKuWiqbUj59YRzLzSE2LQc3AAU cvOsLP4ea3wYxuC38TCnxwrQ55jRi4HDFtbLBdsIwP/2JVLcm4AR4RTE1tCzsAXPRx34 tx0ZfcGN/V6s8TofmTvRAkJp10/8I5wqDI1Qh/UIrVRcay/tS4JPUax0JjPBaRcNIvjY 0ZpUvZjYISmAdXz6PFZpc7DI0quvNrtv2ERgasrt2/fMHfNhrmrgqXNAMhyb/RxoA1ct ZhYu4LPIQVpKR14x7nsNDSBlIpkglRF/updN7QQXN1WYqG7Uc4wAfhAb18F4w3X5Bk+A Fl5g== X-Gm-Message-State: AOJu0Ywi2t+1A85oSIDMTpn+7zkmXBdfMi4a3silXCL+A1skXpG2bYhh SmVbj0KzoczJrkvi3QZzYxT4SOPuefWMbKlFxec92cWVaF+uG/QDwg5vIok8IPmQ6oiO5/P1X8f 26vVc X-Gm-Gg: ASbGncutzZNJYoAIGDOmbQ5eDds3SteYNPKMDNV9DtRw7mwdh2aw/xGQFNvQr9Qkxj6 WOxdwvQVXioVgvNcF2C48fhQVv5G2y/rXtr7AF+SC+S9hesA7NDvrt8Ey4qTYiTm2XywljabIFv 0RAClPP/v+6jzkJLZiomYbODMasH4KWdoYIqVXQV5pgV8PnshUgGn9r2W75/QlS/ZoWV+cgl7El l6Z8zAJZ0OEnHFlmPa1rjR+37fD/YhOUNBjHGdoxImmYc56KpIrWh2phYsG+iE32lRPmPet2DNA zxu7d5X1rrGsz7Ywo2YDABDtn/JJAGSUYHeXpTcPAPjf2Il7eVz/9w== X-Google-Smtp-Source: AGHT+IE/HOoTDE2Ov/iw7MCs4U3FNb31FwKH0poEGJKAGN4RNlN8XVVLSzGFy4LV/teKPTtdCxFx8g== X-Received: by 2002:a17:90b:1a86:b0:313:271a:af56 with SMTP id 98e67ed59e1d1-313f1def22bmr20055903a91.30.1750176010320; Tue, 17 Jun 2025 09:00:10 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:7ce4:2bd1:2434:c118]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2365dea7d82sm81475515ad.146.2025.06.17.09.00.08 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Jun 2025 09:00:09 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][walnascar 05/12] kea: upgrade 2.6.1 -> 2.6.3 Date: Tue, 17 Jun 2025 08:59:45 -0700 Message-ID: <76caa09552d5f7baab40d5259ac1a3eaee37e6bd.1750175857.git.steve@sakoman.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 17 Jun 2025 16:00:12 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/218893 From: Yi Zhao ReleaseNotes: https://downloads.isc.org/isc/kea/2.6.2/Kea-2.6.2-ReleaseNotes.txt https://downloads.isc.org/isc/kea/2.6.3/Kea-2.6.3-ReleaseNotes.txt Security fixes: CVE-2025-32801 CVE-2025-32802 CVE-2025-32803 License-Update: Update copyright years * Drop backport patches. Signed-off-by: Yi Zhao Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie Signed-off-by: Yi Zhao Signed-off-by: Steve Sakoman --- .../0001-Avoid-assert-on-empty-packet.patch | 148 -------------- ...me-NameString-with-vector-of-uint8_t.patch | 90 --------- .../0001-Update-asiolink-for-boost-1.87.patch | 190 ------------------ ...po-in-Name-Name-append-to-ndata_-not.patch | 36 ---- .../kea/{kea_2.6.1.bb => kea_2.6.3.bb} | 8 +- 5 files changed, 2 insertions(+), 470 deletions(-) delete mode 100644 meta/recipes-connectivity/kea/files/0001-Avoid-assert-on-empty-packet.patch delete mode 100644 meta/recipes-connectivity/kea/files/0001-Replace-Name-NameString-with-vector-of-uint8_t.patch delete mode 100644 meta/recipes-connectivity/kea/files/0001-Update-asiolink-for-boost-1.87.patch delete mode 100644 meta/recipes-connectivity/kea/files/0002-Fix-unittests-Typo-in-Name-Name-append-to-ndata_-not.patch rename meta/recipes-connectivity/kea/{kea_2.6.1.bb => kea_2.6.3.bb} (87%) diff --git a/meta/recipes-connectivity/kea/files/0001-Avoid-assert-on-empty-packet.patch b/meta/recipes-connectivity/kea/files/0001-Avoid-assert-on-empty-packet.patch deleted file mode 100644 index 14f3424570..0000000000 --- a/meta/recipes-connectivity/kea/files/0001-Avoid-assert-on-empty-packet.patch +++ /dev/null @@ -1,148 +0,0 @@ -From 9cf3b6e8d705957927c2fbc9928318f4eda265c8 Mon Sep 17 00:00:00 2001 -From: Thomas Markwalder -Date: Tue, 11 Feb 2025 18:52:41 +0000 -Subject: [PATCH 1/2] Avoid assert on empty packet - -/src/lib/dhcp/pkt_filter_lpf.cc - PktFilterLPF::receive() - throw if packet has no data - -/src/lib/util/buffer.h - InputBuffer::readVecotr() - avoid peek if read request length is 0 - -/src/lib/util/tests/buffer_unittest.cc - Updated test - -Upstream-Status: Backport -[https://gitlab.isc.org/isc-projects/kea/-/commit/0b98eae16d9b6ecdf57005624712b9b26fa05bc0] -[https://gitlab.isc.org/isc-projects/kea/-/commit/16306026e37b32a2ce4b16fb5b78561ae153d570] - -Signed-off-by: Yi Zhao ---- - src/lib/dhcp/pkt_filter_lpf.cc | 10 +++++++--- - src/lib/util/buffer.h | 9 ++++++--- - src/lib/util/tests/buffer_unittest.cc | 8 +++++++- - 3 files changed, 20 insertions(+), 7 deletions(-) - -diff --git a/src/lib/dhcp/pkt_filter_lpf.cc b/src/lib/dhcp/pkt_filter_lpf.cc -index 69bdecc0e1..b0c8f108d3 100644 ---- a/src/lib/dhcp/pkt_filter_lpf.cc -+++ b/src/lib/dhcp/pkt_filter_lpf.cc -@@ -318,9 +318,14 @@ PktFilterLPF::receive(Iface& iface, const SocketInfo& socket_info) { - decodeEthernetHeader(buf, dummy_pkt); - decodeIpUdpHeader(buf, dummy_pkt); - -+ auto v4_len = buf.getLength() - buf.getPosition(); -+ if (v4_len <= 0) { -+ isc_throw(SocketReadError, "Pkt4FilterLpf:: packet has no DHCPv4 data"); -+ } -+ - // Read the DHCP data. - std::vector dhcp_buf; -- buf.readVector(dhcp_buf, buf.getLength() - buf.getPosition()); -+ buf.readVector(dhcp_buf, v4_len); - - // Decode DHCP data into the Pkt4 object. - Pkt4Ptr pkt = Pkt4Ptr(new Pkt4(&dhcp_buf[0], dhcp_buf.size())); -@@ -344,8 +349,7 @@ PktFilterLPF::receive(Iface& iface, const SocketInfo& socket_info) { - - struct timeval cmsg_time; - memcpy(&cmsg_time, CMSG_DATA(cmsg), sizeof(cmsg_time)); -- pkt->addPktEvent(PktEvent::SOCKET_RECEIVED, cmsg_time); -- break; -+ pkt->addPktEvent(PktEvent::SOCKET_RECEIVED, cmsg_time); break; - } - - cmsg = CMSG_NXTHDR(&m, cmsg); -diff --git a/src/lib/util/buffer.h b/src/lib/util/buffer.h -index 41ecdf3375..c426a14495 100644 ---- a/src/lib/util/buffer.h -+++ b/src/lib/util/buffer.h -@@ -1,4 +1,4 @@ --// Copyright (C) 2009-2024 Internet Systems Consortium, Inc. ("ISC") -+// Copyright (C) 2009-2025 Internet Systems Consortium, Inc. ("ISC") - // - // This Source Code Form is subject to the terms of the Mozilla Public - // License, v. 2.0. If a copy of the MPL was not distributed with this -@@ -233,7 +233,8 @@ public: - /// @details If specified buffer is too short, it will be expanded using - /// vector::resize() method. If the remaining length of the buffer - /// is smaller than the specified length, an exception of class -- /// @c isc::OutOfRange will be thrown. -+ /// @c isc::OutOfRange will be thrown. Read length zero results -+ /// in an empty vector. - /// - /// @param data Reference to a buffer (data will be stored there). - /// @param len Size specified number of bytes to read in a vector. -@@ -244,7 +245,9 @@ public: - } - - data.resize(len); -- peekData(&data[0], len); -+ if (len) { -+ peekData(&data[0], len); -+ } - } - - /// @brief Read specified number of bytes as a vector. -diff --git a/src/lib/util/tests/buffer_unittest.cc b/src/lib/util/tests/buffer_unittest.cc -index 66c43e8f21..bae051dd16 100644 ---- a/src/lib/util/tests/buffer_unittest.cc -+++ b/src/lib/util/tests/buffer_unittest.cc -@@ -1,4 +1,4 @@ --// Copyright (C) 2009-2024 Internet Systems Consortium, Inc. ("ISC") -+// Copyright (C) 2009-2025 Internet Systems Consortium, Inc. ("ISC") - // - // This Source Code Form is subject to the terms of the Mozilla Public - // License, v. 2.0. If a copy of the MPL was not distributed with this -@@ -197,6 +197,12 @@ TEST_F(BufferTest, inputBufferRead) { - ASSERT_EQ(sizeof(vdata), datav.size()); - ASSERT_EQ(0, memcmp(&vdata[0], testdata, sizeof(testdata))); - ASSERT_EQ(sizeof(vdata), ibuffer.getPosition()); -+ -+ // Verify that read len of zero results in an empty -+ // vector without throwing. -+ datav.resize(8); -+ ASSERT_NO_THROW(ibuffer.readVector(datav, 0)); -+ ASSERT_EQ(datav.size(), 0); - } - - TEST_F(BufferTest, outputBufferReadAt) { --- -2.25.1 - -From 614a6c136fc20ee428b1c880889ef61253657499 Mon Sep 17 00:00:00 2001 -From: Thomas Markwalder -Date: Tue, 18 Feb 2025 15:03:12 +0000 -Subject: [PATCH 2/2] Addressed review comments - -Couple of typos fixed. ---- - src/lib/dhcp/pkt_filter_lpf.cc | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/src/lib/dhcp/pkt_filter_lpf.cc b/src/lib/dhcp/pkt_filter_lpf.cc -index b0c8f108d3..3642915cc1 100644 ---- a/src/lib/dhcp/pkt_filter_lpf.cc -+++ b/src/lib/dhcp/pkt_filter_lpf.cc -@@ -320,7 +320,7 @@ PktFilterLPF::receive(Iface& iface, const SocketInfo& socket_info) { - - auto v4_len = buf.getLength() - buf.getPosition(); - if (v4_len <= 0) { -- isc_throw(SocketReadError, "Pkt4FilterLpf:: packet has no DHCPv4 data"); -+ isc_throw(SocketReadError, "Pkt4FilterLpf packet has no DHCPv4 data"); - } - - // Read the DHCP data. -@@ -349,7 +349,8 @@ PktFilterLPF::receive(Iface& iface, const SocketInfo& socket_info) { - - struct timeval cmsg_time; - memcpy(&cmsg_time, CMSG_DATA(cmsg), sizeof(cmsg_time)); -- pkt->addPktEvent(PktEvent::SOCKET_RECEIVED, cmsg_time); break; -+ pkt->addPktEvent(PktEvent::SOCKET_RECEIVED, cmsg_time); -+ break; - } - - cmsg = CMSG_NXTHDR(&m, cmsg); --- -2.25.1 - diff --git a/meta/recipes-connectivity/kea/files/0001-Replace-Name-NameString-with-vector-of-uint8_t.patch b/meta/recipes-connectivity/kea/files/0001-Replace-Name-NameString-with-vector-of-uint8_t.patch deleted file mode 100644 index a7deeca243..0000000000 --- a/meta/recipes-connectivity/kea/files/0001-Replace-Name-NameString-with-vector-of-uint8_t.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 6b9fb56e3573aa65923df9a08201dd5321a1b1f1 Mon Sep 17 00:00:00 2001 -From: Dimitry Andric -Date: Sat, 3 Aug 2024 14:37:52 +0200 -Subject: [PATCH 1/2] Replace Name::NameString with vector of uint8_t - -As noted in the libc++ 19 release notes, it now only provides -std::char_traits<> for types char, char8_t, char16_t, char32_t and -wchar_t, and any instantiation for other types will fail. - -Name::NameString is defined as a std::basic_string, so that -will no longer work. Redefine it as a std::vector instead. - -Upstream-Status: Submitted [https://gitlab.isc.org/isc-projects/kea/-/merge_requests/2410] -Signed-off-by: Khem Raj ---- - src/lib/dns/name.cc | 12 ++++++------ - src/lib/dns/name.h | 2 +- - 2 files changed, 7 insertions(+), 7 deletions(-) - -diff --git a/src/lib/dns/name.cc b/src/lib/dns/name.cc -index ac48205..085229b 100644 ---- a/src/lib/dns/name.cc -+++ b/src/lib/dns/name.cc -@@ -303,7 +303,7 @@ Name::Name(const std::string &namestring, bool downcase) { - // And get the output - labelcount_ = offsets.size(); - isc_throw_assert(labelcount_ > 0 && labelcount_ <= Name::MAX_LABELS); -- ndata_.assign(ndata.data(), ndata.size()); -+ ndata_.assign(ndata.data(), ndata.data() + ndata.size()); - length_ = ndata_.size(); - offsets_.assign(offsets.begin(), offsets.end()); - } -@@ -336,7 +336,7 @@ Name::Name(const char* namedata, size_t data_len, const Name* origin, - // Get the output - labelcount_ = offsets.size(); - isc_throw_assert(labelcount_ > 0 && labelcount_ <= Name::MAX_LABELS); -- ndata_.assign(ndata.data(), ndata.size()); -+ ndata_.assign(ndata.data(), ndata.data() + ndata.size()); - length_ = ndata_.size(); - offsets_.assign(offsets.begin(), offsets.end()); - -@@ -347,7 +347,7 @@ Name::Name(const char* namedata, size_t data_len, const Name* origin, - // Drop the last character of the data (the \0) and append a copy of - // the origin's data - ndata_.erase(ndata_.end() - 1); -- ndata_.append(origin->ndata_); -+ ndata_.insert(ndata.end(), origin->ndata_.begin(), origin->ndata_.end()); - - // Do a similar thing with offsets. However, we need to move them - // so they point after the prefix we parsed before. -@@ -582,7 +582,7 @@ Name::concatenate(const Name& suffix) const { - - Name retname; - retname.ndata_.reserve(length); -- retname.ndata_.assign(ndata_, 0, length_ - 1); -+ retname.ndata_.assign(ndata_.data(), ndata_.data() + length_ - 1); - retname.ndata_.insert(retname.ndata_.end(), - suffix.ndata_.begin(), suffix.ndata_.end()); - isc_throw_assert(retname.ndata_.size() == length); -@@ -622,7 +622,7 @@ Name::reverse() const { - NameString::const_iterator n0 = ndata_.begin(); - retname.offsets_.push_back(0); - while (rit1 != offsets_.rend()) { -- retname.ndata_.append(n0 + *rit1, n0 + *rit0); -+ retname.ndata_.insert(retname.ndata_.end(), n0 + *rit1, n0 + *rit0); - retname.offsets_.push_back(retname.ndata_.size()); - ++rit0; - ++rit1; -@@ -662,7 +662,7 @@ Name::split(const unsigned int first, const unsigned int n) const { - // original name, and append the trailing dot explicitly. - // - retname.ndata_.reserve(retname.offsets_.back() + 1); -- retname.ndata_.assign(ndata_, offsets_[first], retname.offsets_.back()); -+ retname.ndata_.assign(ndata_.data() + offsets_[first], ndata_.data() + retname.offsets_.back()); - retname.ndata_.push_back(0); - - retname.length_ = retname.ndata_.size(); -diff --git a/src/lib/dns/name.h b/src/lib/dns/name.h -index 37723e8..fac0036 100644 ---- a/src/lib/dns/name.h -+++ b/src/lib/dns/name.h -@@ -228,7 +228,7 @@ class Name { - //@{ - private: - /// \brief Name data string -- typedef std::basic_string NameString; -+ typedef std::vector NameString; - /// \brief Name offsets type - typedef std::vector NameOffsets; - diff --git a/meta/recipes-connectivity/kea/files/0001-Update-asiolink-for-boost-1.87.patch b/meta/recipes-connectivity/kea/files/0001-Update-asiolink-for-boost-1.87.patch deleted file mode 100644 index 794726f1f1..0000000000 --- a/meta/recipes-connectivity/kea/files/0001-Update-asiolink-for-boost-1.87.patch +++ /dev/null @@ -1,190 +0,0 @@ -From dab0f3daafb760ace0d4091f74ff90edb225ca02 Mon Sep 17 00:00:00 2001 -From: q66 -Date: Sun, 15 Dec 2024 03:04:53 +0100 -Subject: [PATCH] Update asiolink for boost 1.87 - -Upstream-Status: Submitted [https://gitlab.isc.org/isc-projects/kea/-/merge_requests/2523] -Signed-off-by: Alexander Kanavin ---- - src/lib/asiolink/io_address.cc | 4 ++-- - src/lib/asiolink/io_service.cc | 8 ++++---- - src/lib/asiolink/tcp_endpoint.h | 2 +- - src/lib/asiolink/udp_endpoint.h | 2 +- - src/lib/asiolink/unix_domain_socket.cc | 16 ++++++++-------- - src/lib/dhcp/iface_mgr.cc | 2 +- - 6 files changed, 17 insertions(+), 17 deletions(-) - -diff --git a/src/lib/asiolink/io_address.cc b/src/lib/asiolink/io_address.cc -index 43459bf..06b7d3d 100644 ---- a/src/lib/asiolink/io_address.cc -+++ b/src/lib/asiolink/io_address.cc -@@ -37,7 +37,7 @@ IOAddress::Hash::operator()(const IOAddress &io_address) const { - // because we'd like to throw our own exception on failure. - IOAddress::IOAddress(const std::string& address_str) { - boost::system::error_code err; -- asio_address_ = ip::address::from_string(address_str, err); -+ asio_address_ = ip::make_address(address_str, err); - if (err) { - isc_throw(IOError, "Failed to convert string to address '" - << address_str << "': " << err.message()); -@@ -116,7 +116,7 @@ IOAddress::isV6Multicast() const { - uint32_t - IOAddress::toUint32() const { - if (asio_address_.is_v4()) { -- return (asio_address_.to_v4().to_ulong()); -+ return (asio_address_.to_v4().to_uint()); - } else { - isc_throw(BadValue, "Can't convert " << toText() - << " address to IPv4."); -diff --git a/src/lib/asiolink/io_service.cc b/src/lib/asiolink/io_service.cc -index 411de64..cc28d24 100644 ---- a/src/lib/asiolink/io_service.cc -+++ b/src/lib/asiolink/io_service.cc -@@ -30,7 +30,7 @@ public: - /// @brief The constructor. - IOServiceImpl() : - io_service_(), -- work_(new boost::asio::io_service::work(io_service_)) { -+ work_(boost::asio::make_work_guard(io_service_)) { - }; - - /// @brief The destructor. -@@ -92,7 +92,7 @@ public: - - /// @brief Restarts the IOService in preparation for a subsequent @ref run() invocation. - void restart() { -- io_service_.reset(); -+ io_service_.restart(); - } - - /// @brief Removes IO service work object to let it finish running -@@ -115,12 +115,12 @@ public: - /// - /// @param callback The callback to be run on the IO service. - void post(const std::function& callback) { -- io_service_.post(callback); -+ boost::asio::post(io_service_, callback); - } - - private: - boost::asio::io_service io_service_; -- boost::shared_ptr work_; -+ boost::asio::executor_work_guard work_; - }; - - IOService::IOService() : io_impl_(new IOServiceImpl()) { -diff --git a/src/lib/asiolink/tcp_endpoint.h b/src/lib/asiolink/tcp_endpoint.h -index 8ebd575..7c8cb35 100644 ---- a/src/lib/asiolink/tcp_endpoint.h -+++ b/src/lib/asiolink/tcp_endpoint.h -@@ -42,7 +42,7 @@ public: - /// \param port The TCP port number of the endpoint. - TCPEndpoint(const IOAddress& address, const unsigned short port) : - asio_endpoint_placeholder_( -- new boost::asio::ip::tcp::endpoint(boost::asio::ip::address::from_string(address.toText()), -+ new boost::asio::ip::tcp::endpoint(boost::asio::ip::make_address(address.toText()), - port)), - asio_endpoint_(*asio_endpoint_placeholder_) - {} -diff --git a/src/lib/asiolink/udp_endpoint.h b/src/lib/asiolink/udp_endpoint.h -index f960bf3..2a3da9f 100644 ---- a/src/lib/asiolink/udp_endpoint.h -+++ b/src/lib/asiolink/udp_endpoint.h -@@ -42,7 +42,7 @@ public: - /// \param port The UDP port number of the endpoint. - UDPEndpoint(const IOAddress& address, const unsigned short port) : - asio_endpoint_placeholder_( -- new boost::asio::ip::udp::endpoint(boost::asio::ip::address::from_string(address.toText()), -+ new boost::asio::ip::udp::endpoint(boost::asio::ip::make_address(address.toText()), - port)), - asio_endpoint_(*asio_endpoint_placeholder_) - {} -diff --git a/src/lib/asiolink/unix_domain_socket.cc b/src/lib/asiolink/unix_domain_socket.cc -index f43e1c9..43ff3c8 100644 ---- a/src/lib/asiolink/unix_domain_socket.cc -+++ b/src/lib/asiolink/unix_domain_socket.cc -@@ -83,7 +83,7 @@ public: - /// @param buffer Buffers holding the data to be sent. - /// @param handler User supplied callback to be invoked when data have - /// been sent or sending error is signalled. -- void doSend(const boost::asio::const_buffers_1& buffer, -+ void doSend(const boost::asio::const_buffer& buffer, - const UnixDomainSocket::Handler& handler); - - -@@ -103,7 +103,7 @@ public: - /// @param ec Error code returned as a result of sending the data. - /// @param length Length of the data sent. - void sendHandler(const UnixDomainSocket::Handler& remote_handler, -- const boost::asio::const_buffers_1& buffer, -+ const boost::asio::const_buffer& buffer, - const boost::system::error_code& ec, - size_t length); - -@@ -127,7 +127,7 @@ public: - /// @param buffer A buffer into which the data should be received. - /// @param handler User supplied callback invoked when data have been - /// received on an error is signalled. -- void doReceive(const boost::asio::mutable_buffers_1& buffer, -+ void doReceive(const boost::asio::mutable_buffer& buffer, - const UnixDomainSocket::Handler& handler); - - /// @brief Local handler invoked as a result of asynchronous receive. -@@ -146,7 +146,7 @@ public: - /// @param ec Error code returned as a result of asynchronous receive. - /// @param length Size of the received data. - void receiveHandler(const UnixDomainSocket::Handler& remote_handler, -- const boost::asio::mutable_buffers_1& buffer, -+ const boost::asio::mutable_buffer& buffer, - const boost::system::error_code& ec, - size_t length); - -@@ -197,7 +197,7 @@ UnixDomainSocketImpl::asyncSend(const void* data, const size_t length, - } - - void --UnixDomainSocketImpl::doSend(const boost::asio::const_buffers_1& buffer, -+UnixDomainSocketImpl::doSend(const boost::asio::const_buffer& buffer, - const UnixDomainSocket::Handler& handler) { - auto local_handler = std::bind(&UnixDomainSocketImpl::sendHandler, - shared_from_this(), -@@ -207,7 +207,7 @@ UnixDomainSocketImpl::doSend(const boost::asio::const_buffers_1& buffer, - - void - UnixDomainSocketImpl::sendHandler(const UnixDomainSocket::Handler& remote_handler, -- const boost::asio::const_buffers_1& buffer, -+ const boost::asio::const_buffer& buffer, - const boost::system::error_code& ec, - size_t length) { - // The asynchronous send may return EWOULDBLOCK or EAGAIN on some -@@ -230,7 +230,7 @@ UnixDomainSocketImpl::asyncReceive(void* data, const size_t length, - } - - void --UnixDomainSocketImpl::doReceive(const boost::asio::mutable_buffers_1& buffer, -+UnixDomainSocketImpl::doReceive(const boost::asio::mutable_buffer& buffer, - const UnixDomainSocket::Handler& handler) { - auto local_handler = std::bind(&UnixDomainSocketImpl::receiveHandler, - shared_from_this(), -@@ -240,7 +240,7 @@ UnixDomainSocketImpl::doReceive(const boost::asio::mutable_buffers_1& buffer, - - void - UnixDomainSocketImpl::receiveHandler(const UnixDomainSocket::Handler& remote_handler, -- const boost::asio::mutable_buffers_1& buffer, -+ const boost::asio::mutable_buffer& buffer, - const boost::system::error_code& ec, - size_t length) { - // The asynchronous receive may return EWOULDBLOCK or EAGAIN on some -diff --git a/src/lib/dhcp/iface_mgr.cc b/src/lib/dhcp/iface_mgr.cc -index 01a1d63..419268b 100644 ---- a/src/lib/dhcp/iface_mgr.cc -+++ b/src/lib/dhcp/iface_mgr.cc -@@ -1034,7 +1034,7 @@ IfaceMgr::getLocalAddress(const IOAddress& remote_addr, const uint16_t port) { - } - - // Create socket that will be used to connect to remote endpoint. -- boost::asio::io_service io_service; -+ boost::asio::io_context io_service; - boost::asio::ip::udp::socket sock(io_service); - - boost::system::error_code err_code; diff --git a/meta/recipes-connectivity/kea/files/0002-Fix-unittests-Typo-in-Name-Name-append-to-ndata_-not.patch b/meta/recipes-connectivity/kea/files/0002-Fix-unittests-Typo-in-Name-Name-append-to-ndata_-not.patch deleted file mode 100644 index a24a25f1c9..0000000000 --- a/meta/recipes-connectivity/kea/files/0002-Fix-unittests-Typo-in-Name-Name-append-to-ndata_-not.patch +++ /dev/null @@ -1,36 +0,0 @@ -From b5f6cc6b3a2b2c35c9b9bb856861c502771079cc Mon Sep 17 00:00:00 2001 -From: Dimitry Andric -Date: Wed, 28 Aug 2024 22:32:44 +0200 -Subject: [PATCH 2/2] Fix unittests: * Typo in `Name::Name`: append to - `ndata_`, not `ndata` * In `Name::split`, use the correct iterators for - assigning - -Upstream-Status: Submitted [https://gitlab.isc.org/isc-projects/kea/-/merge_requests/2410] -Signed-off-by: Khem Raj ---- - src/lib/dns/name.cc | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/src/lib/dns/name.cc b/src/lib/dns/name.cc -index 085229b..47d9b8f 100644 ---- a/src/lib/dns/name.cc -+++ b/src/lib/dns/name.cc -@@ -347,7 +347,7 @@ Name::Name(const char* namedata, size_t data_len, const Name* origin, - // Drop the last character of the data (the \0) and append a copy of - // the origin's data - ndata_.erase(ndata_.end() - 1); -- ndata_.insert(ndata.end(), origin->ndata_.begin(), origin->ndata_.end()); -+ ndata_.insert(ndata_.end(), origin->ndata_.begin(), origin->ndata_.end()); - - // Do a similar thing with offsets. However, we need to move them - // so they point after the prefix we parsed before. -@@ -662,7 +662,8 @@ Name::split(const unsigned int first, const unsigned int n) const { - // original name, and append the trailing dot explicitly. - // - retname.ndata_.reserve(retname.offsets_.back() + 1); -- retname.ndata_.assign(ndata_.data() + offsets_[first], ndata_.data() + retname.offsets_.back()); -+ auto it = ndata_.data() + offsets_[first]; -+ retname.ndata_.assign(it, it + retname.offsets_.back()); - retname.ndata_.push_back(0); - - retname.length_ = retname.ndata_.size(); diff --git a/meta/recipes-connectivity/kea/kea_2.6.1.bb b/meta/recipes-connectivity/kea/kea_2.6.3.bb similarity index 87% rename from meta/recipes-connectivity/kea/kea_2.6.1.bb rename to meta/recipes-connectivity/kea/kea_2.6.3.bb index ff7fb51fe0..45e98e516f 100644 --- a/meta/recipes-connectivity/kea/kea_2.6.1.bb +++ b/meta/recipes-connectivity/kea/kea_2.6.3.bb @@ -3,7 +3,7 @@ DESCRIPTION = "Kea is the next generation of DHCP software developed by ISC. It HOMEPAGE = "http://kea.isc.org" SECTION = "connectivity" LICENSE = "MPL-2.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=618093ea9de92c70a115268c1d53421f" +LIC_FILES_CHKSUM = "file://COPYING;md5=ee16e7280a6cf2a1487717faf33190dc" DEPENDS = "boost log4cplus openssl" @@ -17,13 +17,9 @@ SRC_URI = "http://ftp.isc.org/isc/kea/${PV}/${BP}.tar.gz \ file://fix-multilib-conflict.patch \ file://fix_pid_keactrl.patch \ file://0001-src-lib-log-logger_unittest_support.cc-do-not-write-.patch \ - file://0001-Replace-Name-NameString-with-vector-of-uint8_t.patch \ - file://0002-Fix-unittests-Typo-in-Name-Name-append-to-ndata_-not.patch \ - file://0001-Update-asiolink-for-boost-1.87.patch \ file://0001-make-kea-environment-available-to-lfc.patch \ - file://0001-Avoid-assert-on-empty-packet.patch \ " -SRC_URI[sha256sum] = "d2ce14a91c2e248ad2876e29152d647bcc5e433bc68dafad0ee96ec166fcfad1" +SRC_URI[sha256sum] = "00241a5955ffd3d215a2c098c4527f9d7f4b203188b276f9a36250dd3d9dd612" inherit autotools systemd update-rc.d upstream-version-is-even From patchwork Tue Jun 17 15:59:46 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 65141 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id C2409C71136 for ; Tue, 17 Jun 2025 16:00:22 +0000 (UTC) Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) by mx.groups.io with SMTP id smtpd.web11.23107.1750176013402663022 for ; Tue, 17 Jun 2025 09:00:13 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=eQKkt8mB; spf=softfail (domain: sakoman.com, ip: 209.85.214.170, mailfrom: steve@sakoman.com) Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-2363616a1a6so46821485ad.3 for ; Tue, 17 Jun 2025 09:00:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1750176013; x=1750780813; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=d5JzkmT/icoLHbI8z/OEvUm+NPeYXHVTyF/UdxoZxMo=; b=eQKkt8mB6xntzDf4LRSqsADoIIvjpIJp1H7AZWykOerpb6B6IdqOIAdsPS7eu369WQ sBi9tuiTH4Yea5kXynfq/9aMknF54qgyUwSLqoGT3AxJYyqGaxc6azing2gImZOrsGl4 5DII8dQGOkHO05qJDm7ofvXZHcgIcvR2/LUCHQDCb0f3hCx96qm1N4QeJGyI+iMKV772 rvigpzGsJEbxESHZNJ1sKWjfo77OW+5islepkvHX4H/4I4HoQQh3YviaGdprat1x+up1 VT3RwBozhRRT5zUlYjuRKsVvulOUYEJa/zlnuqw7P07+QrGZ5ImdryVyPdG00RuED1hU gHfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750176013; x=1750780813; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=d5JzkmT/icoLHbI8z/OEvUm+NPeYXHVTyF/UdxoZxMo=; b=gGPdUezLDW2ovXJMK61IKtUuFmJ3EKBZN3j73M6/r/0BtCFzr1PJ+zc4KvnzoO5o7S E8+60kAyhgNns2s6bCE7UzLBFgVAsZc9yY8JqhBKyLHjjBxj5ITVXZZTsax63D/XTaYp iUBC4L0FBNoXujybUtEOxs7QEFVOvIMC3RBTO/wOMI07Bfw5gyQbH8zIdOwGe91p+k59 EFIZYweHQZ81T+1neb7Y39sE8FSCSiiyvZHs1k1s4MNhiSYUP65+sMGLRwaZicsaWc3o kjCcx7p/uMXgSVKUf9RxlVZ7kTLxa2GPaz8GzgfPEyZ0p2eomitWyo5lEiYvKR5Ar1wp Wf8A== X-Gm-Message-State: AOJu0YwMrBk4V4fo4ddTIVhc0CVONkZtKCNMi8gnLOyVAVzpytv5hmgM HlgMu7SQolKJd6QCP0uVJqO/D8dBAMxuQeMQSC2/aB5qoQlvy25YCvvDMOSIXsHd1KjgiT1xOmx MvbTr X-Gm-Gg: ASbGncu98W7EX/nW5Byu5mKYtRJYFl5rzYm3adaRkdVCaUhBOE5suzAqDhx0YYfswud PVZv468n/YFj8xosjhCnxF5FImslEH/ENzl98GWvO2xnRTwHJQE0ncVXkam+gvIEi8kR5UwuOlK 0F6uNwWKMBE2kiuS+tqUfcRO9R3kdssnKgDnSGJvLPJ9aB98VkDBowyV5smmISTMKXlWWikff7l duAty5dU1RscU0u9mPDtZjO1UFjRk+RUCubF+jiOLT8TNi0vENtlno578y1Gr/Cw0kMFAJ/QYsR GoHVEhlrFWfnnDgxem3OY9vYcbtAqFGFFZPBKCM7PJNCw0+6qzJ+AA== X-Google-Smtp-Source: AGHT+IE7cxi+J8E+QsvXIebF6pIw4i8Ksn4bJYoAmKdWV4vdYrr888lbv/DDCUnLKUy7KdCQujh+Og== X-Received: by 2002:a17:902:da81:b0:234:a139:1207 with SMTP id d9443c01a7336-2366b13c9e7mr198762225ad.30.1750176012204; Tue, 17 Jun 2025 09:00:12 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:7ce4:2bd1:2434:c118]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2365dea7d82sm81475515ad.146.2025.06.17.09.00.11 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Jun 2025 09:00:11 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][walnascar 06/12] python3-requests: upgrade 2.32.3 -> 2.32.4 Date: Tue, 17 Jun 2025 08:59:46 -0700 Message-ID: <27a860d7b34250326daede0ade382db47e22c114.1750175857.git.steve@sakoman.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 17 Jun 2025 16:00:22 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/218894 From: Jiaying Song Changelog: https://requests.readthedocs.io/en/latest/community/updates/#release-history Signed-off-by: Jiaying Song Signed-off-by: Steve Sakoman --- .../{python3-requests_2.32.3.bb => python3-requests_2.32.4.bb} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename meta/recipes-devtools/python/{python3-requests_2.32.3.bb => python3-requests_2.32.4.bb} (91%) diff --git a/meta/recipes-devtools/python/python3-requests_2.32.3.bb b/meta/recipes-devtools/python/python3-requests_2.32.4.bb similarity index 91% rename from meta/recipes-devtools/python/python3-requests_2.32.3.bb rename to meta/recipes-devtools/python/python3-requests_2.32.4.bb index bc9b2289f6..49d44298f6 100644 --- a/meta/recipes-devtools/python/python3-requests_2.32.3.bb +++ b/meta/recipes-devtools/python/python3-requests_2.32.4.bb @@ -7,7 +7,7 @@ SRC_URI:append:class-nativesdk = " \ file://environment.d-python3-requests.sh \ " -SRC_URI[sha256sum] = "55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760" +SRC_URI[sha256sum] = "27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422" inherit pypi python_setuptools_build_meta From patchwork Tue Jun 17 15:59:47 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 65146 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 093A8C7115F for ; Tue, 17 Jun 2025 16:00:23 +0000 (UTC) Received: from mail-pj1-f48.google.com (mail-pj1-f48.google.com [209.85.216.48]) by mx.groups.io with SMTP id smtpd.web10.23017.1750176014732664612 for ; Tue, 17 Jun 2025 09:00:14 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=2caD8YuF; spf=softfail (domain: sakoman.com, ip: 209.85.216.48, mailfrom: steve@sakoman.com) Received: by mail-pj1-f48.google.com with SMTP id 98e67ed59e1d1-311e2cc157bso4884538a91.2 for ; Tue, 17 Jun 2025 09:00:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1750176014; x=1750780814; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=DaKSPc5rwrEMV/HncWsoVuydRt6O4ociiDTDbLy/cXE=; b=2caD8YuFKUL43V4IirAka1GxQXpkuAkXBGyL/mTt/uG1TtfBqwQ8SKbo58j4qhiriO ifyGqh6edf3QcyfWtZ/slCYcNclOfeNwRKyqk5eugytdqiFXKQfvMmQijt/pCtYKcS0H ftnU8GNlPRxByjitot7fkbqnY4HrFfl/W5ofqRyscyAkWNCdL6zlSFk9K2Lxba9XG3d5 2Q790ov8a8ADXuMXF4QPjXz8pXHbkw6E27XluAvsBr/3JzJp4tkBo0C/kdEltLEceXQV AwL862Xcvu4qXUEAFBpL3V8j70S8SJxWoZ27LlvcDHPxWoE8buOsmX3vqokdMVAe155l 8gEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750176014; x=1750780814; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DaKSPc5rwrEMV/HncWsoVuydRt6O4ociiDTDbLy/cXE=; b=YXx2kpTLuRJ6EalJPha9nuLqKoBR/aOCNLvxHOZnYReRm79aDIVsA+ghu4yUKK6EOC suXXkcBeB04fnvVk9ejTJV0iYv0kYkz9AWA/8d8nhVZHocoJ3hQm2XEphzQYMDU9lCJ/ nzc1Dr8k97YOrulXgi4wUsHBQCyW+iBRbx4Q0JVvKIi6Ui+PfsiyM2eU6m+rdW90pfuV OK+lh1MUaD49ad9lah9hyf8KuhwCrPyTi4lB8Ph7H4y81ebi1MNyfMJsTYR4s5Yy5V/6 zu7o8lFTMJVGoiJkwPB6plaMQ/67DpkB/xE/QRZ4MSXn0VidCeONTt69bQfWBESYXWdR zpzw== X-Gm-Message-State: AOJu0YzqZlBVk20GBsLxRImzS+0TILYkYBrINwE2tTeOXSkLiLXEtGq4 YgGMWnvUcekukYMJcZRowmx6b+Qne3cRC6JwsCu6CYrEXLaYIHeN66PAyw7SXKGun0tgWrSsus7 /EyWZ X-Gm-Gg: ASbGncuMoZ2qHjE/crr4vsRINJ1r8vd649uNiiA2z8wnIw53mEv/hqtOpG/rcI+MfA+ oawXB/IcfAbS/w2uafbttoaeagO7ks4gwItus1kR5CsndUTxEUm6oaWBMKxd9jwSgohKYUmva+b AVcqnXieWPRQc/PnjLniotfxglHits2BJeVJ94QaBDQW2d3LLitqCXIgDA3F2nTvhZFn+vkRuh5 qa3plD2ZI7cDn4ek24gkVIrKKtWLcoBBYYqTWmwLQrPL+Ae1cfvYHAPj05oXypesa83oiQxvHel 0WrK7ZM4nU7nIRxVWrUvV/Voi7DejrM9CzF+wwywi6QBgLPdmAfQ4Q== X-Google-Smtp-Source: AGHT+IFD3eedk3y4NVgItO4THFxjibCxdCsDxpIEzczqhETxG0buJhxsF/M5xNvhPAjRcgxoaE2mVw== X-Received: by 2002:a17:90b:1c81:b0:311:ffe8:20ee with SMTP id 98e67ed59e1d1-313f1c0168cmr22333828a91.11.1750176013789; Tue, 17 Jun 2025 09:00:13 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:7ce4:2bd1:2434:c118]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2365dea7d82sm81475515ad.146.2025.06.17.09.00.13 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Jun 2025 09:00:13 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][walnascar 07/12] scripts/install-buildtools: Update to 5.2.1 Date: Tue, 17 Jun 2025 08:59:47 -0700 Message-ID: <91d430e7a68a0cc819398bd05d020f850364fdf1.1750175857.git.steve@sakoman.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 17 Jun 2025 16:00:23 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/218895 From: Aleksandar Nikolic Update to the 5.2.1 release of the 5.2.1 series for buildtools Signed-off-by: Aleksandar Nikolic Signed-off-by: Steve Sakoman --- scripts/install-buildtools | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/install-buildtools b/scripts/install-buildtools index 6750ffcbcc..aa23942858 100755 --- a/scripts/install-buildtools +++ b/scripts/install-buildtools @@ -57,8 +57,8 @@ logger = scriptutils.logger_create(PROGNAME, stream=sys.stdout) DEFAULT_INSTALL_DIR = os.path.join(os.path.split(scripts_path)[0],'buildtools') DEFAULT_BASE_URL = 'https://downloads.yoctoproject.org/releases/yocto' -DEFAULT_RELEASE = 'yocto-5.2' -DEFAULT_INSTALLER_VERSION = '5.2' +DEFAULT_RELEASE = 'yocto-5.2.1' +DEFAULT_INSTALLER_VERSION = '5.2.1' DEFAULT_BUILDDATE = '202110XX' # Python version sanity check From patchwork Tue Jun 17 15:59:48 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 65144 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id D432FC7115E for ; Tue, 17 Jun 2025 16:00:22 +0000 (UTC) Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) by mx.groups.io with SMTP id smtpd.web10.23022.1750176021427103043 for ; Tue, 17 Jun 2025 09:00:21 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=h3e/IJwn; spf=softfail (domain: sakoman.com, ip: 209.85.214.177, mailfrom: steve@sakoman.com) Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-23633a6ac50so85588885ad.2 for ; Tue, 17 Jun 2025 09:00:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1750176021; x=1750780821; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=2HguWpBE3IXNeie+nOE817QyJ2Pobn1wC9jdmo0plUE=; b=h3e/IJwnGufv2eRO1EIZQ/dReRpOB7Ecjlsh6WV2Wcua0ZeqnIZ+SFs+IQRItynMmN 0sjYTNIZV2jsrPm9yZqz5fx7JfPPWhw5kxqwQxH0OoczmUNALl++vzOqCLWCr1M3fM3H al9lspFuN1VaqqVUL+552kmrqar+/THDXDGr/OYMHvHSyYiOM8o9sfun6dcGMg1J4sob MFL1aGnekngFPafWQXxSojFn4iwj15FtNjSbwsKW8/P6T8I/58DTpc0ksl0EjL0BWDED cmboYGRMy3s1WAWKQmDSUnfY1VD+y5i4Dm/+eELTGLYLxLglGFyRcvp3eHJsbLuvrRfq cE6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750176021; x=1750780821; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=2HguWpBE3IXNeie+nOE817QyJ2Pobn1wC9jdmo0plUE=; b=swnTHKwDrWPLADrL0Lzuzxol5aTv6s0Nrw2k1EW5LxBXA/NcieWa24SGPcBV7n6KAs FGsfk+KWLhWP8DynZxd6/voX5qtgvksc4uKzm+PzSPrkcp5g9FrA8sU3LWeHOtzs97XB 2R3I3YH8y/7Atm9w2VRAPW/VB8B4TZDHZ/JT73A32PWsJeY0iMFIiYAxaOzx3rDXqqxY 4PozGOQDed2txJv79dcyU3h9UxKpWRFWt7nZJVzkN291gNEWaSvEztIJR/sdpyD063UA FzEcLmpmoGYTncwT/aW2S1T+VvXv2pwZcjpRMtiODKFVE5dUmYWcqUbF5tlKKjF5jjQ9 gXyw== X-Gm-Message-State: AOJu0YwB09+jPqozWP74vz41wWLqJb9A2GhTR8zL3Ig9WbS47bS3vfGK RTE78Wing8SmeFqKxWoafnRCwN0WvQJAhsJb1KCGALtZ6R7adDD5j3Nk9gwnbm+KZTuFinUx9fl Kk9Zz X-Gm-Gg: ASbGncsqooeaoRPpg2j4WJsNTirFBJrr+Iw7wl5lpGAdhkZ0Ulwj6f0SEWbmpQQucca VPKCOlhaYyN/ygDTJoHihYN3klRXmS5U/lD0XLU/TbfTEABwPhPaG9Y44JYFTHuaxAL2dbRItdW xpVfZCWYrRRaFZuK0KprYU+WOuF4SsPE36H/4qP1gyZDnWhtKXQENzcd+toaXaUs8D7YgiXD818 ZCFg2pXX3X7lkfN7/J6nRhcsWLaHhnSdL760iebhoiOM89AhJKmh0BeMxRWB8lDBP06Hr96jN42 SztDutzKTGxudJDDJL3YyjUefLUZdxuDSe2jwZvH1+t3XWRF+wO4yGKZLai4xIOn X-Google-Smtp-Source: AGHT+IEognlv0/M06+RmK872O3T+XRJzfxhZuMGqFGoy7VDj0fqGS6p4uf3OVBF+3h7Xef5nZxYEcg== X-Received: by 2002:a17:902:ccc8:b0:234:a992:96d8 with SMTP id d9443c01a7336-2366b34e98fmr242272275ad.19.1750176015560; Tue, 17 Jun 2025 09:00:15 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:7ce4:2bd1:2434:c118]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2365dea7d82sm81475515ad.146.2025.06.17.09.00.14 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Jun 2025 09:00:15 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][walnascar 08/12] systemd: upgrade 257.4 -> 257.5 Date: Tue, 17 Jun 2025 08:59:48 -0700 Message-ID: <16f12e6fa89eb3598b56bec63cb5c55c6a8efc35.1750175857.git.steve@sakoman.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 17 Jun 2025 16:00:22 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/218898 From: Wang Mingyu (From OE-Core rev: 05618ac2c6f69e0f41fb95e517382bf1177f0735) Signed-off-by: Wang Mingyu Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie Signed-off-by: Peter Marko Signed-off-by: Steve Sakoman --- ...temd-boot-native_257.4.bb => systemd-boot-native_257.5.bb} | 0 .../systemd/{systemd-boot_257.4.bb => systemd-boot_257.5.bb} | 0 ...mctl-native_257.4.bb => systemd-systemctl-native_257.5.bb} | 0 meta/recipes-core/systemd/systemd.inc | 4 ++-- .../systemd/{systemd_257.4.bb => systemd_257.5.bb} | 0 5 files changed, 2 insertions(+), 2 deletions(-) rename meta/recipes-core/systemd/{systemd-boot-native_257.4.bb => systemd-boot-native_257.5.bb} (100%) rename meta/recipes-core/systemd/{systemd-boot_257.4.bb => systemd-boot_257.5.bb} (100%) rename meta/recipes-core/systemd/{systemd-systemctl-native_257.4.bb => systemd-systemctl-native_257.5.bb} (100%) rename meta/recipes-core/systemd/{systemd_257.4.bb => systemd_257.5.bb} (100%) diff --git a/meta/recipes-core/systemd/systemd-boot-native_257.4.bb b/meta/recipes-core/systemd/systemd-boot-native_257.5.bb similarity index 100% rename from meta/recipes-core/systemd/systemd-boot-native_257.4.bb rename to meta/recipes-core/systemd/systemd-boot-native_257.5.bb diff --git a/meta/recipes-core/systemd/systemd-boot_257.4.bb b/meta/recipes-core/systemd/systemd-boot_257.5.bb similarity index 100% rename from meta/recipes-core/systemd/systemd-boot_257.4.bb rename to meta/recipes-core/systemd/systemd-boot_257.5.bb diff --git a/meta/recipes-core/systemd/systemd-systemctl-native_257.4.bb b/meta/recipes-core/systemd/systemd-systemctl-native_257.5.bb similarity index 100% rename from meta/recipes-core/systemd/systemd-systemctl-native_257.4.bb rename to meta/recipes-core/systemd/systemd-systemctl-native_257.5.bb diff --git a/meta/recipes-core/systemd/systemd.inc b/meta/recipes-core/systemd/systemd.inc index 55389f1050..243053a8c7 100644 --- a/meta/recipes-core/systemd/systemd.inc +++ b/meta/recipes-core/systemd/systemd.inc @@ -15,9 +15,9 @@ LICENSE:libsystemd = "LGPL-2.1-or-later" LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \ file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c" -SRCREV = "5ce1c02abc0cc386332384497b5939108314d80d" +SRCREV = "1c93ed4c72a4513d9cefcd1f89d11a9dc828d06c" SRCBRANCH = "v257-stable" -SRC_URI = "git://github.com/systemd/systemd.git;protocol=https;branch=${SRCBRANCH}" +SRC_URI = "git://github.com/systemd/systemd.git;protocol=https;branch=${SRCBRANCH};tag=v${PV}" S = "${WORKDIR}/git" diff --git a/meta/recipes-core/systemd/systemd_257.4.bb b/meta/recipes-core/systemd/systemd_257.5.bb similarity index 100% rename from meta/recipes-core/systemd/systemd_257.4.bb rename to meta/recipes-core/systemd/systemd_257.5.bb From patchwork Tue Jun 17 15:59:49 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 65142 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id C2444C7115B for ; Tue, 17 Jun 2025 16:00:22 +0000 (UTC) Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174]) by mx.groups.io with SMTP id smtpd.web10.23019.1750176018695143120 for ; Tue, 17 Jun 2025 09:00:18 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=ytYQjtrm; spf=softfail (domain: sakoman.com, ip: 209.85.214.174, mailfrom: steve@sakoman.com) Received: by mail-pl1-f174.google.com with SMTP id d9443c01a7336-23508d30142so69166625ad.0 for ; Tue, 17 Jun 2025 09:00:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1750176018; x=1750780818; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=Z64I615mjWajNuyUrXHz0qxIwvT/ba1pz8YjZ+8H12Y=; b=ytYQjtrmhtKzDO+px1JmSzyulcE/e3HEBIPPzl8WHZO6YknNq40cCkJ2yfLf5WEY5D DDu/OmsxhEd4BNVbsohVhPW1DjyYjkchxiiBlT3p9E3D3TLeCPBdwI2RDew7s4YN6LeH yuqgQAms61Kj068aHd9CGk7KSVTkU4vBQH7aWyPGZ7bWeyZsMhQvPKKLq3o8OXMiRl95 ZJB8XlawqEhjGufWTj58411JOPoxd8GbuWRdjat+NRADAtyNU/Qnd1trHifxYdoFncyV LZxc9EyQQuc0KfGVBDQxrnmSqVgofjQ2wlhNX7U0eSBvqvLTZPxUUVNacgryGEMiKm3Z oS1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750176018; x=1750780818; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Z64I615mjWajNuyUrXHz0qxIwvT/ba1pz8YjZ+8H12Y=; b=QO4bZuEbOa08T50dkWzSTZ3Oy3YHJ0Cc8T5kDjSTsEom8/NpiHsGgAnnTbmpAy3did Z1983T9eR+Pch6vCeD2G650ySChs8E5fgNG+2BALnDYY2FhKWb/AFUO0KJjdGwsFRwNO 5qkBB8sx8DmBHKbkOjKO0GN6d9gyKqUF5QIOlI0M/Yfy6a4f+SR9DN0C5gvBVxsFpLB9 viNrmLRFB0yfjVi0Z89Dbhxl9sv30GeSQUhEH8xMEO5ZefpQLwDJBr5MABNxtEWStsQX D+w8Ggirq2UxAXXUJ+jw1+xr0D6CCexp7QFcrYxeDD/Du4uwYymHPLhHHcT5IsTkkRC3 dP1g== X-Gm-Message-State: AOJu0Yy8s3n+ovLa5jMNyyXWjAAaOSpYrhJJptvJOe48Orczyv2Izzw9 GUltWHAjOY0BUYDw9xDeP/2gzWDHl5GibRIiQ2epz7ZX+TB5vSDoQkSV+McLIfv3hHxTgZ6NiDZ GUPwJ X-Gm-Gg: ASbGncvQXjJw1yFvHGWwudSPiuDGAswVeyhMXaftH1o30dQwnuT/ZIj19eAPz5O7psf 9yLDKtGP6lV5yrJPJAZY3UaPzze6nOw3g3EaUaGyKwHSW03eJPZbSDNmdFT0U/7DI3RFyMkH4xQ 2iqTwBQkibLnH5FR7Oa0L5lhwUHGGj8zD/XLAyoqkjXnr0oCX1C3doKz2x5kF2hyopOFLLoAXAX MR9ncEEi66kLYgQZ0RwJXfKYcumHIUA1f8sgSQUfxRFQrhDqnd+MH6kafDOVru3aJDTIQasTEV2 X0Fn3vOBm2SmBJ0DxDP9Iulokcpi8qZGLC0uijXYxz1qJEtYuqPvKg== X-Google-Smtp-Source: AGHT+IFH4nU/C4bNy4jSeeJoPfoRie2GyiJCRgrGvvmMeu4MNsvoTVFeBOWyea4HSWJhXL+6NNo3Og== X-Received: by 2002:a17:902:fc87:b0:234:d679:72e9 with SMTP id d9443c01a7336-2366aff8c49mr244799125ad.12.1750176017379; Tue, 17 Jun 2025 09:00:17 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:7ce4:2bd1:2434:c118]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2365dea7d82sm81475515ad.146.2025.06.17.09.00.16 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Jun 2025 09:00:16 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][walnascar 09/12] systemd: upgrade 257.5 -> 257.6 Date: Tue, 17 Jun 2025 08:59:49 -0700 Message-ID: <11d583e4ffb8726c66da8f764d985a37a14b2699.1750175857.git.steve@sakoman.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 17 Jun 2025 16:00:22 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/218896 From: Peter Marko Handles CVE-2025-4598 Rebase patches Signed-off-by: Peter Marko Signed-off-by: Steve Sakoman --- ...ative_257.5.bb => systemd-boot-native_257.6.bb} | 0 ...systemd-boot_257.5.bb => systemd-boot_257.6.bb} | 0 ..._257.5.bb => systemd-systemctl-native_257.6.bb} | 0 meta/recipes-core/systemd/systemd.inc | 2 +- ...llback-parse_printf_format-implementation.patch | 2 +- ...12-do-not-disable-buffer-in-writing-files.patch | 14 +++++++------- .../systemd/0014-Handle-missing-gshadow.patch | 4 ++-- ...rrno-util-Make-STRERROR-portable-for-musl.patch | 7 +++---- .../systemd/{systemd_257.5.bb => systemd_257.6.bb} | 0 9 files changed, 14 insertions(+), 15 deletions(-) rename meta/recipes-core/systemd/{systemd-boot-native_257.5.bb => systemd-boot-native_257.6.bb} (100%) rename meta/recipes-core/systemd/{systemd-boot_257.5.bb => systemd-boot_257.6.bb} (100%) rename meta/recipes-core/systemd/{systemd-systemctl-native_257.5.bb => systemd-systemctl-native_257.6.bb} (100%) rename meta/recipes-core/systemd/{systemd_257.5.bb => systemd_257.6.bb} (100%) diff --git a/meta/recipes-core/systemd/systemd-boot-native_257.5.bb b/meta/recipes-core/systemd/systemd-boot-native_257.6.bb similarity index 100% rename from meta/recipes-core/systemd/systemd-boot-native_257.5.bb rename to meta/recipes-core/systemd/systemd-boot-native_257.6.bb diff --git a/meta/recipes-core/systemd/systemd-boot_257.5.bb b/meta/recipes-core/systemd/systemd-boot_257.6.bb similarity index 100% rename from meta/recipes-core/systemd/systemd-boot_257.5.bb rename to meta/recipes-core/systemd/systemd-boot_257.6.bb diff --git a/meta/recipes-core/systemd/systemd-systemctl-native_257.5.bb b/meta/recipes-core/systemd/systemd-systemctl-native_257.6.bb similarity index 100% rename from meta/recipes-core/systemd/systemd-systemctl-native_257.5.bb rename to meta/recipes-core/systemd/systemd-systemctl-native_257.6.bb diff --git a/meta/recipes-core/systemd/systemd.inc b/meta/recipes-core/systemd/systemd.inc index 243053a8c7..5ed84757f3 100644 --- a/meta/recipes-core/systemd/systemd.inc +++ b/meta/recipes-core/systemd/systemd.inc @@ -15,7 +15,7 @@ LICENSE:libsystemd = "LGPL-2.1-or-later" LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \ file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c" -SRCREV = "1c93ed4c72a4513d9cefcd1f89d11a9dc828d06c" +SRCREV = "00a12c234e2506f5cab683460199575f13c454db" SRCBRANCH = "v257-stable" SRC_URI = "git://github.com/systemd/systemd.git;protocol=https;branch=${SRCBRANCH};tag=v${PV}" diff --git a/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch b/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch index f9a45bb40b..47b8583e7a 100644 --- a/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch +++ b/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch @@ -25,7 +25,7 @@ diff --git a/meson.build b/meson.build index bffda86845..4146f4beef 100644 --- a/meson.build +++ b/meson.build -@@ -773,6 +773,7 @@ foreach header : ['crypt.h', +@@ -770,6 +770,7 @@ foreach header : ['crypt.h', 'linux/ioprio.h', 'linux/memfd.h', 'linux/time_types.h', diff --git a/meta/recipes-core/systemd/systemd/0012-do-not-disable-buffer-in-writing-files.patch b/meta/recipes-core/systemd/systemd/0012-do-not-disable-buffer-in-writing-files.patch index 00b4b777f4..0bbc6bbac7 100644 --- a/meta/recipes-core/systemd/systemd/0012-do-not-disable-buffer-in-writing-files.patch +++ b/meta/recipes-core/systemd/systemd/0012-do-not-disable-buffer-in-writing-files.patch @@ -71,7 +71,7 @@ diff --git a/src/basic/namespace-util.c b/src/basic/namespace-util.c index 332e8cdfd5..804498127d 100644 --- a/src/basic/namespace-util.c +++ b/src/basic/namespace-util.c -@@ -354,12 +354,12 @@ int userns_acquire(const char *uid_map, const char *gid_map) { +@@ -359,12 +359,12 @@ int userns_acquire(const char *uid_map, const char *gid_map) { freeze(); xsprintf(path, "/proc/" PID_FMT "/uid_map", pid); @@ -154,7 +154,7 @@ diff --git a/src/core/cgroup.c b/src/core/cgroup.c index 6933aae54d..ab6fccc0e4 100644 --- a/src/core/cgroup.c +++ b/src/core/cgroup.c -@@ -5167,7 +5167,7 @@ int unit_cgroup_freezer_action(Unit *u, FreezerAction action) { +@@ -5175,7 +5175,7 @@ int unit_cgroup_freezer_action(Unit *u, FreezerAction action) { if (r < 0) return r; @@ -180,7 +180,7 @@ diff --git a/src/core/main.c b/src/core/main.c index 172742c769..e68ce2a6d8 100644 --- a/src/core/main.c +++ b/src/core/main.c -@@ -1812,7 +1812,7 @@ static void initialize_core_pattern(bool skip_setup) { +@@ -1826,7 +1826,7 @@ static void initialize_core_pattern(bool skip_setup) { if (getpid_cached() != 1) return; @@ -231,7 +231,7 @@ diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd- index 01fa90b1ff..83ab655bf4 100644 --- a/src/libsystemd/sd-device/sd-device.c +++ b/src/libsystemd/sd-device/sd-device.c -@@ -2563,7 +2563,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr, +@@ -2564,7 +2564,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr, if (!value) return -ENOMEM; @@ -359,7 +359,7 @@ diff --git a/src/shared/coredump-util.c b/src/shared/coredump-util.c index 805503f366..3234a1d76e 100644 --- a/src/shared/coredump-util.c +++ b/src/shared/coredump-util.c -@@ -173,7 +173,7 @@ void disable_coredumps(void) { +@@ -180,7 +180,7 @@ void disable_coredumps(void) { if (detect_container() > 0) return; @@ -372,7 +372,7 @@ diff --git a/src/shared/hibernate-util.c b/src/shared/hibernate-util.c index 1213fdc2c7..4c26e6a4ee 100644 --- a/src/shared/hibernate-util.c +++ b/src/shared/hibernate-util.c -@@ -495,7 +495,7 @@ int write_resume_config(dev_t devno, uint64_t offset, const char *device) { +@@ -498,7 +498,7 @@ int write_resume_config(dev_t devno, uint64_t offset, const char *device) { /* We write the offset first since it's safer. Note that this file is only available in 4.17+, so * fail gracefully if it doesn't exist and we're only overwriting it with 0. */ @@ -381,7 +381,7 @@ index 1213fdc2c7..4c26e6a4ee 100644 if (r == -ENOENT) { if (offset != 0) return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), -@@ -511,7 +511,7 @@ int write_resume_config(dev_t devno, uint64_t offset, const char *device) { +@@ -514,7 +514,7 @@ int write_resume_config(dev_t devno, uint64_t offset, const char *device) { log_debug("Wrote resume_offset=%s for device '%s' to /sys/power/resume_offset.", offset_str, device); diff --git a/meta/recipes-core/systemd/systemd/0014-Handle-missing-gshadow.patch b/meta/recipes-core/systemd/systemd/0014-Handle-missing-gshadow.patch index 08d4e384ff..0aabae6d82 100644 --- a/meta/recipes-core/systemd/systemd/0014-Handle-missing-gshadow.patch +++ b/meta/recipes-core/systemd/systemd/0014-Handle-missing-gshadow.patch @@ -140,7 +140,7 @@ diff --git a/src/shared/userdb.c b/src/shared/userdb.c index ff83d4bf90..54d36cc706 100644 --- a/src/shared/userdb.c +++ b/src/shared/userdb.c -@@ -1041,13 +1041,15 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) { +@@ -1042,13 +1042,15 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) { if (gr) { _cleanup_free_ char *buffer = NULL; bool incomplete = false; @@ -157,7 +157,7 @@ index ff83d4bf90..54d36cc706 100644 if (!FLAGS_SET(iterator->flags, USERDB_SUPPRESS_SHADOW)) { r = nss_sgrp_for_group(gr, &sgrp, &buffer); if (r < 0) { -@@ -1060,6 +1062,9 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) { +@@ -1061,6 +1063,9 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) { } r = nss_group_to_group_record(gr, r >= 0 ? &sgrp : NULL, ret); diff --git a/meta/recipes-core/systemd/systemd/0019-errno-util-Make-STRERROR-portable-for-musl.patch b/meta/recipes-core/systemd/systemd/0019-errno-util-Make-STRERROR-portable-for-musl.patch index 791079a19f..56083cc7b3 100644 --- a/meta/recipes-core/systemd/systemd/0019-errno-util-Make-STRERROR-portable-for-musl.patch +++ b/meta/recipes-core/systemd/systemd/0019-errno-util-Make-STRERROR-portable-for-musl.patch @@ -11,8 +11,8 @@ Upstream-Status: Inappropriate [musl specific] Signed-off-by: Khem Raj --- - src/basic/errno-util.h | 12 ++++++++++-- - 1 file changed, 10 insertions(+), 2 deletions(-) + src/basic/errno-util.h | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/basic/errno-util.h b/src/basic/errno-util.h index 48b76e4bf7..6e7653e2d9 100644 @@ -23,9 +23,8 @@ index 48b76e4bf7..6e7653e2d9 100644 * * Note that we use the GNU variant of strerror_r() here. */ -#define STRERROR(errnum) strerror_r(abs(errnum), (char[ERRNO_BUF_LEN]){}, ERRNO_BUF_LEN) -- +static inline const char * STRERROR(int errnum); -+ + +static inline const char * STRERROR(int errnum) { +#ifdef __GLIBC__ + return strerror_r(abs(errnum), (char[ERRNO_BUF_LEN]){}, ERRNO_BUF_LEN); diff --git a/meta/recipes-core/systemd/systemd_257.5.bb b/meta/recipes-core/systemd/systemd_257.6.bb similarity index 100% rename from meta/recipes-core/systemd/systemd_257.5.bb rename to meta/recipes-core/systemd/systemd_257.6.bb From patchwork Tue Jun 17 15:59:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 65145 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id C96B9C71157 for ; Tue, 17 Jun 2025 16:00:22 +0000 (UTC) Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) by mx.groups.io with SMTP id smtpd.web11.23112.1750176021059855018 for ; Tue, 17 Jun 2025 09:00:21 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=o+2/7Vq1; spf=softfail (domain: sakoman.com, ip: 209.85.214.171, mailfrom: steve@sakoman.com) Received: by mail-pl1-f171.google.com with SMTP id d9443c01a7336-235ea292956so54415135ad.1 for ; Tue, 17 Jun 2025 09:00:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1750176020; x=1750780820; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=8MtXEg1UdNJIMk4RnmEBAE5kO5viPf2g7JpTxP0URhg=; b=o+2/7Vq1L3UpONIpWmz6MrvhbKjXNN4Z9/+p7p/sZMwURYL0u2V7J04k+bFs57lSo4 BY6QJL5upugVCfZUSXZIGdqXIECHTyGL8oqM1MwElcUNfi3ZmgCd+9XfOEqySsAd+q5S 5bG0gvatCMmxDPQffIwvumikrEdbFtv7OaGGa9/HgSxCPzSPEk502RopXjfVtIe258O8 FUeut+7mMJue6ZZpGRZpQAaxMwTJx+Uu0pA0g0bhHPGzhID7tuJWnQctaUovx07dpz0/ +rdrhNUlwyWrimDaDyQrc314D/LHlcS3nXMazfnJ1BTpneHl3MlMAoLtOwaRJmbbsWS4 OI1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750176020; x=1750780820; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8MtXEg1UdNJIMk4RnmEBAE5kO5viPf2g7JpTxP0URhg=; b=wH3H4PkGd2f6TKzvNgZq/VNoDYUX/qydqKwGSH20jyTcButKKT1kIYMDlPMtKT7R/z gOWe1+WVBDAtb4/PEs7CZgiNLYxOFJ0tf5jiqFC52uKuiNIEDV6uOu54eyvCB6YU2DI5 6gmr8mGW0lenS4PvCKYu1XZNBqAjjUc617Q3oaD6FrTpmBHp8itSDbonGrcFWBOumu8E XdLqtPXIsUhWXdD0dGdUly46jnB31SrKiqccdA+aLj+eqpyo9HJ4lOg6+G/RO1dQJQZ1 IziIpOWYINrqzfKvzMbgs8wMfazDH7ba9wnskrJqsacgFKE1UZNorfiz4NheUAwOJFoZ RtiQ== X-Gm-Message-State: AOJu0YwIQ9D0k3/U4Evjokx2BcerctO+GAZLCnNXCANiEfh/37s6i2uw +7tiBq7Iu2LMDa/UvudC4pujUghTDm1bE1FQD8tJy/1e2VlYddyZpYHaqHHHIMiza43OAx+/5yb SDhbr X-Gm-Gg: ASbGncuEfDOfSpscDu39wH0fZZG/PNXWwPBUqLO1Qq3ayhpfmpVV7GSpCjiBGKjevu0 1uZLXkSQVnKNgswr/73570OSMXbz/lDJxHlSQPe6EF+qam/FiR4kyUCTC6gGgnTNvngSrvL5JpN ZCgufKgG0gHTPH5Ydg7wYp5+dUnah4w3PoC/vq7LDZpJzmXQaVAuGN1C8HtK4G6FnL7MVuSvcEx 3dl0lA141HyCoIcxdHAOSzkd8xoYIehHYxjyvLlaAdvHmnaLBW06vwHbxC01nVoWAftTXJ1dBib icetbghkCC3ar592hZhp8yL51GBuHXep7/R/DVgHyGoXx5t/5yC60g== X-Google-Smtp-Source: AGHT+IHiKO428YosNxV3B/FQTvDUJ/jDRzyQos+2Rs4tB0ZF4M+TyfvkFbCZbJqHeGww+vU/V6FuXQ== X-Received: by 2002:a17:903:120f:b0:234:8eeb:d834 with SMTP id d9443c01a7336-2366b006032mr203302885ad.16.1750176018938; Tue, 17 Jun 2025 09:00:18 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:7ce4:2bd1:2434:c118]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2365dea7d82sm81475515ad.146.2025.06.17.09.00.18 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Jun 2025 09:00:18 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][walnascar 10/12] util-linux: fix agetty segfault issue Date: Tue, 17 Jun 2025 08:59:50 -0700 Message-ID: X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 17 Jun 2025 16:00:22 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/218897 From: Yongxin Liu Backport a commit from util-linux upstream to fix the following error. agetty: segfault at 0 ip 00007fc65600295c sp 00007fffa8dd67e8 error 4 in libc.so.6 Signed-off-by: Yongxin Liu Signed-off-by: Steve Sakoman --- meta/recipes-core/util-linux/util-linux.inc | 1 + ...tty-fix-stdin-conversion-to-tty-name.patch | 40 +++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 meta/recipes-core/util-linux/util-linux/0003-agetty-fix-stdin-conversion-to-tty-name.patch diff --git a/meta/recipes-core/util-linux/util-linux.inc b/meta/recipes-core/util-linux/util-linux.inc index 4e8701ffdf..cbf148073b 100644 --- a/meta/recipes-core/util-linux/util-linux.inc +++ b/meta/recipes-core/util-linux/util-linux.inc @@ -40,6 +40,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/util-linux/v${MAJOR_VERSION}/util-lin file://fcntl-lock.c \ file://0001-cfdisk-add-sector-size-commanand-line-option.patch \ file://0002-sfdisk-add-sector-size-commanand-line-option.patch \ + file://0003-agetty-fix-stdin-conversion-to-tty-name.patch \ " SRC_URI[sha256sum] = "5c1daf733b04e9859afdc3bd87cc481180ee0f88b5c0946b16fdec931975fb79" diff --git a/meta/recipes-core/util-linux/util-linux/0003-agetty-fix-stdin-conversion-to-tty-name.patch b/meta/recipes-core/util-linux/util-linux/0003-agetty-fix-stdin-conversion-to-tty-name.patch new file mode 100644 index 0000000000..2766ee2c0d --- /dev/null +++ b/meta/recipes-core/util-linux/util-linux/0003-agetty-fix-stdin-conversion-to-tty-name.patch @@ -0,0 +1,40 @@ +From bd6c104f931329ce6fbc5a1250c8c80a1d8223ee Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Mon, 24 Feb 2025 13:37:04 +0100 +Subject: [PATCH] agetty: fix stdin conversion to tty name + +Addresses: https://github.com/util-linux/util-linux/issues/3304 + +Upstream-Status: Backport +[https://github.com/util-linux/util-linux/commit/bd6c104f931329ce6fbc5a1250c8c80a1d8223ee] +Signed-off-by: Yongxin Liu +--- + term-utils/agetty.c | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +diff --git a/term-utils/agetty.c b/term-utils/agetty.c +index aa859c27b..0dfe52c90 100644 +--- a/term-utils/agetty.c ++++ b/term-utils/agetty.c +@@ -928,11 +928,15 @@ static void parse_args(int argc, char **argv, struct options *op) + + /* resolve the tty path in case it was provided as stdin */ + if (strcmp(op->tty, "-") == 0) { ++ int fd; ++ const char *name = op->tty; ++ + op->tty_is_stdin = 1; +- int fd = get_terminal_name(NULL, &op->tty, NULL); +- if (fd < 0) { ++ fd = get_terminal_name(NULL, &name, NULL); ++ if (fd >= 0) ++ op->tty = name; /* set real device name */ ++ else + log_warn(_("could not get terminal name: %d"), fd); +- } + } + + /* On virtual console remember the line which is used for */ +-- +2.46.2 + From patchwork Tue Jun 17 15:59:51 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 65143 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id DF4BEC73C66 for ; Tue, 17 Jun 2025 16:00:22 +0000 (UTC) Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.169]) by mx.groups.io with SMTP id smtpd.web11.23113.1750176021807026235 for ; Tue, 17 Jun 2025 09:00:21 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=btmxEtGI; spf=softfail (domain: sakoman.com, ip: 209.85.214.169, mailfrom: steve@sakoman.com) Received: by mail-pl1-f169.google.com with SMTP id d9443c01a7336-234f17910d8so54781375ad.3 for ; Tue, 17 Jun 2025 09:00:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1750176021; x=1750780821; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=3mosbVl+94m9g8JPEeEHyWowHxJVKiES9YXqMEfvVQI=; b=btmxEtGIqa+X2ItpG7d9WBuJb74gILIsmhEEjmgZKJuSgtjEbz6FzjCWPfD++7Hop9 aoCCLGLL+yQ9Jk6TaYr9nIMXetreegLaZO1XKlnFh7EdVclUpCrlkoe6XqlA31Z/MHrb TRD/P0yFb2LhfxHlSPOpBQDA6WRNP4ufSs+ByeJfcYnbYC9e+CTliWGs4c8QNgPNcPUK auruzQiLeupan0QoGLTkydPh7NfQKXdtJli+QNDyeXdshR3r6MnNoxuYlDrP0DUeFzTm v1YEhBXg68Uz09nEJDCQ7R0YApQapXHNpw8T/m44crBkCX3ES5cniRuaYQwqqezThnqK lo4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750176021; x=1750780821; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=3mosbVl+94m9g8JPEeEHyWowHxJVKiES9YXqMEfvVQI=; b=tkuLTm71YvZFb46mbF8MssG+lxn/eRDcgQbc06c9gf4hHPbIfB4OV5uLC/pnDPTd9f ykXIXqz4yp23of/p+Zfu+w7/aS3WGZWkxd0xOTi47EHOdl8pb8INvcURmDCVApDv9ran EiYjG4FhS8VwyhDb715nW8E210KiN5f4/DqOJwT60VMPaFuSXIHD4OPk/aUnxjT0jnAX gA45I/J+mqfH7MEXqVZNQLWYZgQbqTUC75WxwssNqqSOq8mATtSFwQahJqNRJuCAF0sx AMdTCsZCAeOnD9j8N9sH1YE+KC02N4zM9SzVCwt83U2NuQtVtdsSFOMHl3ta0YpHnQHh NwpQ== X-Gm-Message-State: AOJu0Yx41LGcVXPnh5tayBt4ZcR3Ynd+OCpGq7PAk6oAJiUcN6KmBDiC EKoZl4m3l3iPSJ4utPpyCikjlJozVCOY/6FfI+I3OtFVBlpiqxo2VZvi7+o4rnEZYB9x0mOOnUF /yzmg X-Gm-Gg: ASbGncvxGCxcuDQI+yq3TAgtYGF1UvGfCO1a8ZbTeHFIvfvu/fOP14AbvO4xv6gW5+T t/FqwfFyY/DLdFVYnv1+hLWTekGBKk29lQGZ4NsyeGOj/KDOSvG3DabRxuvZkxMmVJp3kvbQ8LD SjKoZ+ZdCp2uOrnIjk0jN9xtDQ8D0dJZUA54wVglxrU/QywTYXD25uISYXRSLQEzuPoAqkPtZYe 14w3/naCiwU0g/EQ0gcTvoXhofYLbbD0G7Nmv+n18hBdxL+c+2iL7RZm3A//IPIde1efwoCwohz QPT0lYCVnQkGOye3kbMsC2AjFMwq7X6CIKoCk9LypVFeFck8HD463A== X-Google-Smtp-Source: AGHT+IFBTS0lt3Uc84ZzlsNMW73AXuyalBlasBQ8Fw2QJs0aBz1nV7QVBteBV6X/Lta6SP2GQuqgPw== X-Received: by 2002:a17:903:32c5:b0:235:2799:61d with SMTP id d9443c01a7336-2366b14d3e7mr198451605ad.33.1750176020677; Tue, 17 Jun 2025 09:00:20 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:7ce4:2bd1:2434:c118]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2365dea7d82sm81475515ad.146.2025.06.17.09.00.19 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Jun 2025 09:00:20 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][walnascar 11/12] testimage: get real os-release file Date: Tue, 17 Jun 2025 08:59:51 -0700 Message-ID: <93efeca19f53132fce84d914b7ebf21070370127.1750175857.git.steve@sakoman.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 17 Jun 2025 16:00:22 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/218899 From: Peter Marko /etc/os-release is a symlink to /usr/lib. Symlink is retrieved as a dead link which points to nowhere if also the original file is not accompanying it. Fetch the real file in addition to this link. Alternative could be to use "tar -h" (supported also by busybox tar), however that could lose some important information if links are relevant for failure analysis. (From OE-Core rev: ed43f9ccb3c08845259e24440912631afd780d12) Signed-off-by: Peter Marko Signed-off-by: Richard Purdie Signed-off-by: Steve Sakoman --- meta/classes-recipe/testimage.bbclass | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/meta/classes-recipe/testimage.bbclass b/meta/classes-recipe/testimage.bbclass index e090b1ef4b..847a6f18a8 100644 --- a/meta/classes-recipe/testimage.bbclass +++ b/meta/classes-recipe/testimage.bbclass @@ -26,7 +26,9 @@ TESTIMAGE_FAILED_QA_ARTIFACTS = "\ ${localstatedir}/log \ ${localstatedir}/volatile/log \ ${sysconfdir}/version \ - ${sysconfdir}/os-release" + ${sysconfdir}/os-release \ + ${nonarch_libdir}/os-release \ +" # If some ptests are run and fail, retrieve corresponding directories TESTIMAGE_FAILED_QA_ARTIFACTS += "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', '${libdir}/*/ptest', '', d)}" From patchwork Tue Jun 17 15:59:52 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 65147 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id E3700C71136 for ; Tue, 17 Jun 2025 16:00:32 +0000 (UTC) Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) by mx.groups.io with SMTP id smtpd.web11.23119.1750176028508139244 for ; Tue, 17 Jun 2025 09:00:28 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=Vt09OSXn; spf=softfail (domain: sakoman.com, ip: 209.85.214.173, mailfrom: steve@sakoman.com) Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-235f9ea8d08so58393505ad.1 for ; Tue, 17 Jun 2025 09:00:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1750176028; x=1750780828; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=oyDdgCVpjdDmRPMoR5Z/qsZrLax2U9xVqctrw999I7Q=; b=Vt09OSXnt+Na2Cu7SvkYg6vxYcgnyKOQ68OniItIDMjuxdLu41wYfWdiw9qYKdvQBf bnivekojBCXqB6LqT/sCqaN2zPKgTNygAxRlNaC5uKGaopEWkS2kF2BqryPUzJTYd94Q kTJb1DKuvCNQLxOVVuzKObODjSp5Tix4eW+cvcIyXg2CIsbes/n2G8VopEmcqc7sSpCB MwYxEgFqVwCaXfRIFX0xg84hdZY+WI6XORKiEqcKtYrcBhMeeudpqrpGmCfz3ZJjxVNe 3I05dJLzho/XTSfZ20ZxmdHl++AnU/Lhsz0ClPMFsj4T4OGqLhUY5bFvbs3Qb6gNwouu s9Sg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750176028; x=1750780828; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=oyDdgCVpjdDmRPMoR5Z/qsZrLax2U9xVqctrw999I7Q=; b=quVUhruii3z/A9cOJtXSaX9QMu2m89AZWagRaUsBkkZ5cXskJb7x809aAMOlnTuQq4 Bk+GdYp7gB4jep/eZjcHedEmSmhgxdtIJanurvl5ytJPbQDn2D1cWiRmk4DZsk+5jkk0 nJ5ATLURKalCIFMo50Vt4Wi233ZAtJT6wYIYCo7uL4s3dnCUyG1UT0CTrNCOMTPtejS/ 3/0yn7fj80CGqtC0AQhEXIlUlTjPTJiFIibUI8Dbz74A2F2YyiWVJzOSIZjp41svV8UO QwtwKvGE405SmSQbrqTy426c2lDJjphR/YR3i1Qf0j8/7+arGKaYLzf0jtK5eNQ+hYGZ HnYA== X-Gm-Message-State: AOJu0Yy6pHicAKyGu0v9g0Xh6Vpzrn0+DqSzxRzbjztAw6xibGT9uCjY Qi4RVjvqrpSrvyZe5H+NNmMSJDMYh/VNmDGkLGwTJmHhm4GGaN+KigFqpeDUbCDpc3rigyHrpkw MJaXg X-Gm-Gg: ASbGnct8/0abv7rkVee0jnGSnHYoBHXTSdpja5st4Zd3tCZzLtVNQwjzZc0xbU2gpo2 JEtXMd0OrLD3Ashq5JLOtapTO6x71jgGSctuqTLOGcB/EFg1P7zpTbvfIv9vCCjKDCpWFR93eX/ OE2Zn9zpy20FaSVEkU6ezANUl4ePwrntT8sq7kE2hisCkTQNEPUjaVeyncrNYOk2IVx5M5yyeLm 01lpaRsiWBfsgZKbUgip0MZTZUuP9Ybsl8zpE8pkR6lj4/ziKa9EXswEYzYfC4W4UsREpekhIk8 XfBxHkfjX39/pUqxQbHC5jvz8iYBEoyxxXVQry5ZCKl/uZ9Vs0yQ3Q== X-Google-Smtp-Source: AGHT+IFbZQ7+YrdxOEdRtrrbvSEC8pbUWa2j3c9EyppWrzHzTGQC7HUo9S9HhW7arBRwj/3SVp7Jkw== X-Received: by 2002:a17:902:f551:b0:220:c4e8:3b9f with SMTP id d9443c01a7336-2366aeea034mr216524685ad.0.1750176022549; Tue, 17 Jun 2025 09:00:22 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:7ce4:2bd1:2434:c118]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2365dea7d82sm81475515ad.146.2025.06.17.09.00.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Jun 2025 09:00:22 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][walnascar 12/12] tune-cortexr52: Remove aarch64 for ARM Cortex-R52 Date: Tue, 17 Jun 2025 08:59:52 -0700 Message-ID: X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 17 Jun 2025 16:00:32 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/218900 From: Sandeep Gundlupet Raju Remove aarch64 for ARM Cortex-R52 processor as it supports only 32-bit ISA but not 64-bit ISA. Also update ARMPKGARCH for cortexr52hf. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Steve Sakoman --- meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc b/meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc index 89f0e09450..e8667bc16b 100644 --- a/meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc +++ b/meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc @@ -10,11 +10,10 @@ require conf/machine/include/arm/arch-armv8r.inc AVAILTUNES += "cortexr52" ARMPKGARCH:tune-cortexr52 = "cortexr52" -# We do not want -march since -mcpu is added above to cover for it -TUNE_FEATURES:tune-cortexr52 = "aarch64 crc simd cortexr52" +TUNE_FEATURES:tune-cortexr52 = "${TUNE_FEATURES:tune-armv8r-crc-simd} cortexr52" PACKAGE_EXTRA_ARCHS:tune-cortexr52 = "${PACKAGE_EXTRA_ARCHS:tune-armv8r-crc-simd} cortexr52" AVAILTUNES += "cortexr52hf" -ARMPKGARCH:tune-cortexr52hf = "cortexr52" +ARMPKGARCH:tune-cortexr52hf = "cortexr52hf" TUNE_FEATURES:tune-cortexr52hf = "${TUNE_FEATURES:tune-cortexr52} callconvention-hard" PACKAGE_EXTRA_ARCHS:tune-cortexr52hf = "cortexr52hf"