From patchwork Wed May 14 15:57: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: 62939 X-Patchwork-Delegate: steve@sakoman.com 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 3E781C54754 for ; Wed, 14 May 2025 15:58:11 +0000 (UTC) Received: from mail-pf1-f180.google.com (mail-pf1-f180.google.com [209.85.210.180]) by mx.groups.io with SMTP id smtpd.web11.106292.1747238289159160040 for ; Wed, 14 May 2025 08:58:09 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=J01r1G1c; spf=softfail (domain: sakoman.com, ip: 209.85.210.180, mailfrom: steve@sakoman.com) Received: by mail-pf1-f180.google.com with SMTP id d2e1a72fcca58-7423df563d6so43119b3a.0 for ; Wed, 14 May 2025 08:58:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1747238288; x=1747843088; 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=k1yiL/wtQOcIYJbOu7ePJK6JnDXMfmt4WGNFIJANGgs=; b=J01r1G1cOcCPjgXL72Fr+dPCg/dAaOsbxJ6nl7GX0BZAiBct0iyPz9gv2lg5U+orMc W3t+PLpWbzKB0N99ZAQTlVmkdUZQUy0lIEq8RIx4U2dvPF6fZENTWq6Zs09DmMSK0MGg e87lAhBvRwgbluA5DA+1AOdrLy6GWtcUWuf8MdDxLwXco7AtMqj0tXNMsPdccySGsqFd 9tGDquzCZ+DV0sq9vXAtDKsYeaz5byM0lqtQraoYwhLnxddlF5ofN5JulN69yjPEcYZl Uptz2LGWR0RgATNbgLuGijwWikCRlS4AxDPQbCXeNSYDfsCcgeebysZWNaSQJ7qQ6fv+ DLLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747238288; x=1747843088; 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=k1yiL/wtQOcIYJbOu7ePJK6JnDXMfmt4WGNFIJANGgs=; b=CXYWDsI9hQSA2OVyHNgQuE60x8URSYxcL/3B8c3iXfLmPEB7Bvlgk2G/REj2y8m1fQ FgeFHrKSLokYjnchkftjnJ21Q7hBB73CjVYjwnRszNFioHoO2StZoLz2OMi7kZlAmGiH FRxLy6vqDxXSCUsJa6nD3yztawicxQB8TofGkboM9M1vaD4x3f7FwAer6IKdPct2hpUx 2+S3lavDIlyy8sIc7fo15O3ox1FxyfBASIKhygAtfoWvJJk7EftTxPjixO/JGyXDIaZG KZorbZrvtJUe0cFP3ko5wUG+nWMBZX/83qKMk/NMjwznkEZ6Tp6vOAmtqtjl7Y8txyBs Meiw== X-Gm-Message-State: AOJu0Yxf/oZHHoWmoJhLt7s1mEwXmJKfQDF9c3NM8xCxrojcVCz8TyJP ViDHe+vD00+uNm2+/AZtmGOBrwELZpePFG6ID0KbUgacoPG/uUPUZRQ3eQMZQsLRqft6V4pniqr S X-Gm-Gg: ASbGncsz8M1S/OghsZuO3IXI9uhOdoXwyTiSShJyQE1c2e2E/4d0u4F05UZtmoKwBm6 c3xgqDEjggaST30f8ukkpGteLNAKPHBspYxOo/upE309KNNU8pztilnWbmiQpgKndqO8H2i2z0H dKQ1jDMsTF6ZvX+zu8nSx/l0dhBu4m3Si7aad/z/5xFVlYU9VvXBGbR23yb2IIR3UxoA/BmMN5i 1ZXQ7VY8WFvszVyd1lnzi1BQjafHYzeK2AKKT2gJNdxy9QtSKr2Fq56FQveWYnWDc3W7NchSH7I Xz2i4Pm9iRPVRfefJ7deE0CXn2GIFfPcZQPDNuMc X-Google-Smtp-Source: AGHT+IFFPjeem8y84budWEESeoF7mHNik2R2pk019IJA0/nZ0SCcuXXw6pZLw6CtWCxp7ntBCcJgHQ== X-Received: by 2002:a17:902:e552:b0:224:78e:4eb4 with SMTP id d9443c01a7336-231981453c7mr48457405ad.39.1747238288134; Wed, 14 May 2025 08:58:08 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:671:bf16:d45b:ad8]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22fc8271bcfsm101347385ad.125.2025.05.14.08.58.07 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 May 2025 08:58:07 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][walnascar 01/12] ffmpeg: fix CVE-2025-22921 Date: Wed, 14 May 2025 08:57:49 -0700 Message-ID: <0c6561cc7a5ca9e82ce3f17a9d0e68a7c1c88c84.1747238138.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 ; Wed, 14 May 2025 15:58:11 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/216505 From: Archana Polampalli FFmpeg git-master,N-113007-g8d24a28d06 was discovered to contain a segmentation violation via the component /libavcodec/jpeg2000dec.c. Signed-off-by: Archana Polampalli Signed-off-by: Steve Sakoman --- .../ffmpeg/ffmpeg/CVE-2025-22921.patch | 34 +++++++++++++++++++ .../recipes-multimedia/ffmpeg/ffmpeg_7.1.1.bb | 4 ++- 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2025-22921.patch diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2025-22921.patch b/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2025-22921.patch new file mode 100644 index 0000000000..20fac68d01 --- /dev/null +++ b/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2025-22921.patch @@ -0,0 +1,34 @@ +From 7f9c7f9849a2155224711f0ff57ecdac6e4bfb57 Mon Sep 17 00:00:00 2001 +From: James Almer +Date: Wed, 1 Jan 2025 23:58:39 -0300 +Subject: [PATCH] avcodec/jpeg2000dec: clear array length when freeing it + +Fixes NULL pointer dereferences. +Fixes ticket #11393. + +Reviewed-by: Michael Niedermayer +Signed-off-by: James Almer + +CVE: CVE-2025-22921 + +Upstream-Status: Backport [https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/7f9c7f9849a2155224711f0ff57ecdac6e4bfb57] + +Signed-off-by: Archana Polampalli +--- + libavcodec/jpeg2000dec.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libavcodec/jpeg2000dec.c b/libavcodec/jpeg2000dec.c +index 691cfbd..b56902c 100644 +--- a/libavcodec/jpeg2000dec.c ++++ b/libavcodec/jpeg2000dec.c +@@ -1223,6 +1223,7 @@ static int jpeg2000_decode_packet(Jpeg2000DecoderContext *s, Jpeg2000Tile *tile, + } + } + av_freep(&cblk->lengthinc); ++ cblk->nb_lengthinc = 0; + } + } + // Save state of stream +-- +2.40.0 diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg_7.1.1.bb b/meta/recipes-multimedia/ffmpeg/ffmpeg_7.1.1.bb index 4314ab9f31..d5252bfbdd 100644 --- a/meta/recipes-multimedia/ffmpeg/ffmpeg_7.1.1.bb +++ b/meta/recipes-multimedia/ffmpeg/ffmpeg_7.1.1.bb @@ -22,7 +22,9 @@ LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://COPYING.LGPLv2.1;md5=bd7a443320af8c812e4c18d1b79df004 \ file://COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02" -SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz" +SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz \ + file://CVE-2025-22921.patch \ + " SRC_URI[sha256sum] = "733984395e0dbbe5c046abda2dc49a5544e7e0e1e2366bba849222ae9e3a03b1" From patchwork Wed May 14 15:57: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: 62940 X-Patchwork-Delegate: steve@sakoman.com 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 3CDD5C3DA4A for ; Wed, 14 May 2025 15:58:11 +0000 (UTC) Received: from mail-pg1-f170.google.com (mail-pg1-f170.google.com [209.85.215.170]) by mx.groups.io with SMTP id smtpd.web11.106293.1747238290908582703 for ; Wed, 14 May 2025 08:58:10 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=sUzZ4/1s; spf=softfail (domain: sakoman.com, ip: 209.85.215.170, mailfrom: steve@sakoman.com) Received: by mail-pg1-f170.google.com with SMTP id 41be03b00d2f7-b170c99aa49so4756730a12.1 for ; Wed, 14 May 2025 08:58:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1747238290; x=1747843090; 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=0zCyqNUh/khDglWHJ0hvqfs0c+KBE2JdvPeahEkbOdw=; b=sUzZ4/1sYPl4g5f8+NaB2w8AI0PeRUfsV+2Oe9DhLej/YKqDK6hPOR4/JEVBLZ3A/6 ZmDWmuK7QWw0xvVeagDP8ygGaN1Go/9lGBIzxOl+cS90x9ESiYsbxgkkVaQZ2PYM0KeM L8O3+iky+OsGvnv1FXaUkF96OE5idYrfAkGSgfQqvYqBVewotT0aJBbzifJRTQG+DQD+ zQhHE+vPmSc05kgeUMmL6D0TTLX9fhavJqoWj54sn5wC7BKsvavNTs0rf81O6o26EQSU JUWG/yJifTha/Pbxf4g0qKymSBFmYlBl2N/6G9U+eZo30j6dGqwVB/Mq8pAsgAL2VjD8 eRVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747238290; x=1747843090; 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=0zCyqNUh/khDglWHJ0hvqfs0c+KBE2JdvPeahEkbOdw=; b=ooIwsNhPLZWUx9s0PBm1VZdC9hcR9tXxvZLAyGsHiGZxy04dtZX4hIAho35buKWAqm s+U17F+jsQvYzxLOIO/iB9JVAk3A1LW1SWQd7FBdGVhchZGGjXSCjT1CRArtf1LUd4uA vfx81ezhsJ5jKx7PjVZyVXdekS5Lv+JOHGcfxUWZagS911/v2DyMXS69Ox3Le3ksCKrr Cw24qosFYyeLmjbP4v19d6+iRqnDVE/dVV7Vt7Tb0rcHc+nBViPDr/URee12gZoNUbP5 wsgd4mu5DZvHf0jTIQZlRAFojSC095L8jzs6k5FjLH5QCzNBb0uGiOfyk1F45uUg7R5K 3oQA== X-Gm-Message-State: AOJu0YxmTazhJU9HZh+0jQA4TB+ob27WbjKpzMWj+ZukI+DF+PJ1VURg eTF627a+92pZvSvLhznopTqrOLbs4hvzGkGD1j820nUwT4L1u7VGNYUnaybapwqBdarDxc50Ah+ L X-Gm-Gg: ASbGnct2MekImLCzdfsCDEYTfeMgOaL1Sgcrz738/R0DnwWXlz2UGx87n202PZ0vmr+ z0r+csanZgW6cdv37X+DrHSFI27yPDVcP9ECq71e3OL51Y8yiaTYvD3zY6X4A4iylux5RR1PaRN yffuEPxwehvuZX54/JyHhiYABsemXfMQNYXmSWkDOS2xoG4gNQ1jAxkxEMCpNgzhnDSMPV7LnmS X+Plm/G4WmW46V9bJeYwZtsOGKUoadQrsIcQPXxupek1z5I7pIxpk8CN9znmsGaRUEoqB4SfZJD WjDIfxW/4Ae8ZXbzkTgnYcvfm+QN8Xr2gl41cZx0 X-Google-Smtp-Source: AGHT+IGFmo3Q3rleuPyYt9WN0tAD0pzmVU2BmwHHOYV34g2zfC3r3ONQCEXRqqF6FhjxAdkkPzqR5w== X-Received: by 2002:a17:902:f70a:b0:220:c63b:d93c with SMTP id d9443c01a7336-2319815c171mr70587065ad.44.1747238289841; Wed, 14 May 2025 08:58:09 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:671:bf16:d45b:ad8]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22fc8271bcfsm101347385ad.125.2025.05.14.08.58.09 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 May 2025 08:58:09 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][walnascar 02/12] libsoup-2.4: fix CVE-2024-52532 Date: Wed, 14 May 2025 08:57: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 ; Wed, 14 May 2025 15:58:11 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/216506 From: Changqing Li CVE-2024-52532: GNOME libsoup before 3.6.1 has an infinite loop, and memory consumption. during the reading of certain patterns of WebSocket data from clients. Refer: https://nvd.nist.gov/vuln/detail/CVE-2024-52532 Signed-off-by: Changqing Li Signed-off-by: Steve Sakoman --- .../libsoup-2.4/CVE-2024-52532-1.patch | 37 ++++++++++++++ .../libsoup-2.4/CVE-2024-52532-2.patch | 43 +++++++++++++++++ .../libsoup-2.4/CVE-2024-52532-3.patch | 48 +++++++++++++++++++ .../libsoup/libsoup-2.4_2.74.3.bb | 5 +- 4 files changed, 132 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-support/libsoup/libsoup-2.4/CVE-2024-52532-1.patch create mode 100644 meta/recipes-support/libsoup/libsoup-2.4/CVE-2024-52532-2.patch create mode 100644 meta/recipes-support/libsoup/libsoup-2.4/CVE-2024-52532-3.patch diff --git a/meta/recipes-support/libsoup/libsoup-2.4/CVE-2024-52532-1.patch b/meta/recipes-support/libsoup/libsoup-2.4/CVE-2024-52532-1.patch new file mode 100644 index 0000000000..cb1f096110 --- /dev/null +++ b/meta/recipes-support/libsoup/libsoup-2.4/CVE-2024-52532-1.patch @@ -0,0 +1,37 @@ +From a693d49bff058fc20a448dc4e7d324ff0dc6597e Mon Sep 17 00:00:00 2001 +From: Ignacio Casal Quinteiro +Date: Wed, 11 Sep 2024 11:52:11 +0200 +Subject: [PATCH 1/3] websocket: process the frame as soon as we read data + +Otherwise we can enter in a read loop because we were not +validating the data until the all the data was read. + +Fixes #391 + +CVE: CVE-2024-52532 +Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libsoup/-/commit/6adc0e3eb74c257ed4e2a23eb4b2774fdb0d67be#f1d67ca0386b145ea201cf88d27f72724d7c6715] + +Signed-off-by: Changqing Li +--- + libsoup/soup-websocket-connection.c | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/libsoup/soup-websocket-connection.c b/libsoup/soup-websocket-connection.c +index a4095e1..65c1492 100644 +--- a/libsoup/soup-websocket-connection.c ++++ b/libsoup/soup-websocket-connection.c +@@ -1140,9 +1140,8 @@ soup_websocket_connection_read (SoupWebsocketConnection *self) + } + + pv->incoming->len = len + count; +- } while (count > 0); +- +- process_incoming (self); ++ process_incoming (self); ++ } while (count > 0 && !pv->close_sent && !pv->io_closing); + + if (end) { + if (!pv->close_sent || !pv->close_received) { +-- +2.34.1 + diff --git a/meta/recipes-support/libsoup/libsoup-2.4/CVE-2024-52532-2.patch b/meta/recipes-support/libsoup/libsoup-2.4/CVE-2024-52532-2.patch new file mode 100644 index 0000000000..dcadafe944 --- /dev/null +++ b/meta/recipes-support/libsoup/libsoup-2.4/CVE-2024-52532-2.patch @@ -0,0 +1,43 @@ +From f5b76410de1318f49844dacf6e68692522b6c856 Mon Sep 17 00:00:00 2001 +From: Ignacio Casal Quinteiro +Date: Wed, 2 Oct 2024 11:17:19 +0200 +Subject: [PATCH] websocket-test: disconnect error copy after the test ends + +Otherwise the server will have already sent a few more wrong +bytes and the client will continue getting errors to copy +but the error is already != NULL and it will assert + +CVE: CVE-2024-52532 +Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libsoup/-/commit/29b96fab2512666d7241e46c98cc45b60b795c0c] + +Signed-off-by: Changqing Li +--- + tests/websocket-test.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/tests/websocket-test.c b/tests/websocket-test.c +index 5e40cf3..1ec9ff6 100644 +--- a/tests/websocket-test.c ++++ b/tests/websocket-test.c +@@ -1331,8 +1331,9 @@ test_receive_invalid_encode_length_64 (Test *test, + GError *error = NULL; + InvalidEncodeLengthTest context = { test, NULL }; + guint i; ++ guint error_id; + +- g_signal_connect (test->client, "error", G_CALLBACK (on_error_copy), &error); ++ error_id = g_signal_connect (test->client, "error", G_CALLBACK (on_error_copy), &error); + g_signal_connect (test->client, "message", G_CALLBACK (on_binary_message), &received); + + /* We use 127(\x7f) as payload length with 65535 extended length */ +@@ -1345,6 +1346,7 @@ test_receive_invalid_encode_length_64 (Test *test, + WAIT_UNTIL (error != NULL || received != NULL); + g_assert_error (error, SOUP_WEBSOCKET_ERROR, SOUP_WEBSOCKET_CLOSE_PROTOCOL_ERROR); + g_clear_error (&error); ++ g_signal_handler_disconnect (test->client, error_id); + g_assert_null (received); + + g_thread_join (thread); +-- +2.34.1 + diff --git a/meta/recipes-support/libsoup/libsoup-2.4/CVE-2024-52532-3.patch b/meta/recipes-support/libsoup/libsoup-2.4/CVE-2024-52532-3.patch new file mode 100644 index 0000000000..ab6af72291 --- /dev/null +++ b/meta/recipes-support/libsoup/libsoup-2.4/CVE-2024-52532-3.patch @@ -0,0 +1,48 @@ +From d97bb2e340f5a6d7e56a7738403f9d18bc406b70 Mon Sep 17 00:00:00 2001 +From: Simon McVittie +Date: Wed, 13 Nov 2024 14:14:23 +0000 +Subject: [PATCH 3/3] websocket-test: Disconnect error signal in another place + +This is the same change as commit 29b96fab "websocket-test: disconnect +error copy after the test ends", and is done for the same reason, but +replicating it into a different function. + +Fixes: 6adc0e3e "websocket: process the frame as soon as we read data" +Resolves: https://gitlab.gnome.org/GNOME/libsoup/-/issues/399 +Signed-off-by: Simon McVittie + +CVE: CVE-2024-52532 +Upstream-Status: Backport +[https://gitlab.gnome.org/GNOME/libsoup/-/commit/4c9e75c6676a37b6485620c332e568e1a3f530ff] + +Signed-off-by: Changqing Li +--- + tests/websocket-test.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/tests/websocket-test.c b/tests/websocket-test.c +index 2b19a7b..0699a06 100644 +--- a/tests/websocket-test.c ++++ b/tests/websocket-test.c +@@ -1300,8 +1300,9 @@ test_receive_invalid_encode_length_16 (Test *test, + GError *error = NULL; + InvalidEncodeLengthTest context = { test, NULL }; + guint i; ++ guint error_id; + +- g_signal_connect (test->client, "error", G_CALLBACK (on_error_copy), &error); ++ error_id = g_signal_connect (test->client, "error", G_CALLBACK (on_error_copy), &error); + g_signal_connect (test->client, "message", G_CALLBACK (on_binary_message), &received); + + /* We use 126(~) as payload length with 125 extended length */ +@@ -1314,6 +1315,7 @@ test_receive_invalid_encode_length_16 (Test *test, + WAIT_UNTIL (error != NULL || received != NULL); + g_assert_error (error, SOUP_WEBSOCKET_ERROR, SOUP_WEBSOCKET_CLOSE_PROTOCOL_ERROR); + g_clear_error (&error); ++ g_signal_handler_disconnect (test->client, error_id); + g_assert_null (received); + + g_thread_join (thread); +-- +2.34.1 + diff --git a/meta/recipes-support/libsoup/libsoup-2.4_2.74.3.bb b/meta/recipes-support/libsoup/libsoup-2.4_2.74.3.bb index 25e0d7dcbc..22cbbdb1b8 100644 --- a/meta/recipes-support/libsoup/libsoup-2.4_2.74.3.bb +++ b/meta/recipes-support/libsoup/libsoup-2.4_2.74.3.bb @@ -13,7 +13,10 @@ SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" SRC_URI = "${GNOME_MIRROR}/libsoup/${SHRT_VER}/libsoup-${PV}.tar.xz \ file://0001-Fix-build-with-libxml2-2.12.0-and-clang-17.patch \ - file://0001-CVE-2025-32911.patch" + file://0001-CVE-2025-32911.patch \ + file://CVE-2024-52532-1.patch \ + file://CVE-2024-52532-2.patch \ + file://CVE-2024-52532-3.patch" SRC_URI[sha256sum] = "e4b77c41cfc4c8c5a035fcdc320c7bc6cfb75ef7c5a034153df1413fa1d92f13" CVE_PRODUCT = "libsoup" From patchwork Wed May 14 15:57: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: 62942 X-Patchwork-Delegate: steve@sakoman.com 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 1D6CEC3ABDD for ; Wed, 14 May 2025 15:58:21 +0000 (UTC) Received: from mail-pg1-f178.google.com (mail-pg1-f178.google.com [209.85.215.178]) by mx.groups.io with SMTP id smtpd.web10.105639.1747238292284296800 for ; Wed, 14 May 2025 08:58:12 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=QM4RskZC; spf=softfail (domain: sakoman.com, ip: 209.85.215.178, mailfrom: steve@sakoman.com) Received: by mail-pg1-f178.google.com with SMTP id 41be03b00d2f7-afc857702d1so5885932a12.3 for ; Wed, 14 May 2025 08:58:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1747238291; x=1747843091; 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=+ZXLbJuWO8yH8IMbFDBZRxCRnEkeWZoPIwdPoZgqzmg=; b=QM4RskZChsJQml6tl91ToQ8saBF4MQ0OZC1xT0x1QfkB/9nxI4j63sKzbjEdFJvkJu S7IuTbiS22qvUetjIm/4WnHFG9EKO4nBuzt/w89sK2oZzkdMWhh4fr10eeRTbtPzOz2l PFTnBLtl5+qx4xsl6Nc0nHBA7GWuI0CyIvOoKKIY1IBsJIaBk68aOY7aIhg/3pmx+/gv 7p5E+7E9EPgDS82RD+PIP2za6dQ4D3O8vGPCaIWdlR6+jpZLxEXuPpAzeZNCvAD+rXPt X9eXU/6nNWjsHtS9bFM111XIRCMqPnGa2Bi311Oarv6XunrlFbOFCulOgig9ULK1GXWD P8fQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747238291; x=1747843091; 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=+ZXLbJuWO8yH8IMbFDBZRxCRnEkeWZoPIwdPoZgqzmg=; b=F5TIR3VX5uD/4z2dV0i8zyo66PIRjAm2tAjnLCbo+ECbm/m66MwXFbmHDAXgyiPYLZ d2FxQnm1Y+069YNRAVDMTAj3SN2Zd0mQnbLG4WKKv5HGZhMBX/UQjYQTzMhWvQ4gxrSC 8qx/Pu9b1iZpL78UdGaJF7N7AXhci7LVVl9hEOPKqhPtY6zXcsYxD64k05jJVYoV8i0B 2Hl4+B01e9V8KFbO3xL6OC2VfH9EP5oNOI4QoMHM12L3EcFyIAa3F6HBjqKpQyeNBN8F OZblbyEer7TkTo0zwiPb3HjNs+3FPZwhDuxG7dSLDINorr6BUhZAxu1HzsWXwWFfC3sn Ag9w== X-Gm-Message-State: AOJu0YzyINf7miwLHfm6MaUys91bTupbTLZLTRVSIUJRWZHCDz3ZIlNW kwRAfNCO1lnLsiy+v5z97s4NVsPtrFVrnyC8085crPonT+dp7bZki/Zw91dNHB6pXPIETokRTaK X X-Gm-Gg: ASbGncv7IhgrUsMBADJgyqWYSecSPbdr4LEfMsM8/byR/VlHAkAVinaDu/OsHs+y6lj 7CJ5Khs2HNsoTdPjlU75U/ejukYL2dJHwbr+oqauMCkXmVM/HSgvGN1wNvVa6CMCXcGpR8UynxA ySuvnzgWX3uJ1Q3Bz564I/3UstjU7g9jUMqcAhnzuxSBjKB7OVVG8A4/s0VOQcST1SxWSHf63Pt uZZHvqiwK9JzA64hRSHQYUvbRP3oKiYVpYDOi6VamxDNcEgvpdWFupHVbxdrXEKQppgM6QA4/Df nZtoqcj4AJ3ocP/z9PqYwZzYVRtVCITaKY66PFYE X-Google-Smtp-Source: AGHT+IGUwFbamoegqlYkIxoc6kH336iJYzKBkZUnKRBaJpJiX0iBTKhKXBWIgthr4fwOO4lKza5Rig== X-Received: by 2002:a17:902:e5c5:b0:223:f408:c3dc with SMTP id d9443c01a7336-231980bbf7bmr51557875ad.9.1747238291580; Wed, 14 May 2025 08:58:11 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:671:bf16:d45b:ad8]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22fc8271bcfsm101347385ad.125.2025.05.14.08.58.10 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 May 2025 08:58:11 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][walnascar 03/12] scripts/install-buildtools: Update to 5.2 Date: Wed, 14 May 2025 08:57:51 -0700 Message-ID: <23d9713bd16a042fdb4c15ff1dfaf7a0637da95e.1747238138.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 ; Wed, 14 May 2025 15:58:21 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/216507 From: Aleksandar Nikolic Update to the 5.2 release of the 5.2 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 952da888ba..6750ffcbcc 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.1.2' -DEFAULT_INSTALLER_VERSION = '5.1.2' +DEFAULT_RELEASE = 'yocto-5.2' +DEFAULT_INSTALLER_VERSION = '5.2' DEFAULT_BUILDDATE = '202110XX' # Python version sanity check From patchwork Wed May 14 15:57: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: 62946 X-Patchwork-Delegate: steve@sakoman.com 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 31E18C3ABD8 for ; Wed, 14 May 2025 15:58:21 +0000 (UTC) Received: from mail-pg1-f178.google.com (mail-pg1-f178.google.com [209.85.215.178]) by mx.groups.io with SMTP id smtpd.web10.105640.1747238294250518864 for ; Wed, 14 May 2025 08:58:14 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=EyINeAO1; spf=softfail (domain: sakoman.com, ip: 209.85.215.178, mailfrom: steve@sakoman.com) Received: by mail-pg1-f178.google.com with SMTP id 41be03b00d2f7-b239763eeddso4968448a12.1 for ; Wed, 14 May 2025 08:58:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1747238293; x=1747843093; 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=h5a4GgQc18D2NPYipRPufd6A8enVcAacVrJMuYwiFhQ=; b=EyINeAO1RhyGXbfefehRhLDoqU+aEdDYwPwZ5J9OkALsaovHdpXe09CiKk/jlF/eK4 ADcVN80oqAEckrhbRwSmfYeR6InJ5ffSFjFsvgffggz+PvL4Wy+PfNVYEcud658epKgF U1NPDjjHp/8Q+0c5NQYTqKOBVQAf4/s7KqROQvgJ6Kh7+I32ku62VN6rivRIziNgJ3/E 6QaHewKFw5mWj9aq6oogEzJ3xuK60S+LwlDYBCXTHvufPx5n7hLmenWdQw3NW2iuuE+V wqKEGqp/I34FlW2SpjAxlRMPxCH+PLKk+ssGvyyMt+3DeZqSAyTqUyr3zfWD3bUFkha8 p7Ow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747238293; x=1747843093; 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=h5a4GgQc18D2NPYipRPufd6A8enVcAacVrJMuYwiFhQ=; b=IudKOIoE25Jp5LkKqQ3d4/vLMoj4baR956LQ0CWx897ev4P0+MZpc42VI/NvA/PKyf hyC4PfcB0Phh9nDcaPYm1zUqy7LxQLCQv25zqzbuDAOexutupi+7LyHUVZOAuF905utD oH9w3g/3nQ9/eoxpr4q/8dUxASLqPtIUf7F2mzHrrxtMSd8JxIKIGvLaj10mX1U0A3lp 153Gc2lL62qHd32DFTWrvcI79G7ZmHrMhNzS8mF7ahT9z9VIV1wZFC7UeMCS1zlmhHz9 LZXVft88L7Ev0bNpRxpTgJcGnivVjZG8eeIHQ+rRuupgltT5xRLmyllcbHZaPZ0ezDN2 QLVA== X-Gm-Message-State: AOJu0YyE4LDUrPWWqiQhFgJKmaPxhekGw2VAB6KMfRVZNB0n8shSbXNw TcFzqKiDpi5SGPxDWkbqXv2NWPyNR+4S7uel4DmGh4MZy63r5j9kCG/eQEUbo08FxKXppzNouo/ 9 X-Gm-Gg: ASbGnctoE7nSfm7ZyWUX6a9DTiUN+GkofQ49t9aSFXTx0iEaIhq5humA5Tm8Rmrb6F0 U8HLD/gs3BCnbeogs8DnGisD65pvXUSpyJ9jDPkqJCAag3jtGA13oS0R/5H04yMA6ueCNtA07lb 4IJ7cvvoUf19wQwkWLXMmeIMVtbEBa65O1tkpebgAiYfGzA/ormwiAGg8jZxZyHoj7CBYKG0eK5 lyc1xX8lEqUNS1rAjrFoODzixFL4Mn2+mHFnEaFQrGQ3+QGZ2gaku4J2yrwOgL+C4FqB79hgYLC EGQOjj3gT5/3ZRnLxQelBLoxRULpB+AiKIrM6134 X-Google-Smtp-Source: AGHT+IHZ0YSyqzhVMVDk4ryAnZFSmOncmFXwxnbr2q77x3uykFA1gyrfGV4UyxIQpktxCFpqduLOqg== X-Received: by 2002:a17:903:187:b0:225:adf8:8634 with SMTP id d9443c01a7336-23198402b69mr48077305ad.51.1747238293351; Wed, 14 May 2025 08:58:13 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:671:bf16:d45b:ad8]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22fc8271bcfsm101347385ad.125.2025.05.14.08.58.12 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 May 2025 08:58:13 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][walnascar 04/12] webkitgtk: upgrade 2.48.0 -> 2.48.1 Date: Wed, 14 May 2025 08:57:52 -0700 Message-ID: <2a1fd538e42a8721b4f49135e14771cc1d646588.1747238138.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 ; Wed, 14 May 2025 15:58:21 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/216508 From: Yogita Urade Includes fix for CVE-2024-54551, CVE-2025-24208, CVE-2025-24209, CVE-2025-24213, CVE-2025-24216, CVE-2025-24264 and CVE-2025-30427 Changelog: ========= - Limit the data stored in session state. - Remove the empty area below the title bar in Web Inspector when not docked. - Fix the build with GST_DISABLE_GST_DEBUG. - Fix the build with GStreamer < 1.20. - Fix the build with video disabled. - Fix the build with clang 20. Drop 0001-EnumTraits.h-error-no-matching-function-for-call-to-.patch and 0001-Cherry-pick-292304-main-7ffc29624258-.-https-bugs.we.patch which are part of upgrade. Signed-off-by: Yogita Urade Signed-off-by: Steve Sakoman --- ...04-main-7ffc29624258-.-https-bugs.we.patch | 75 ------------------ ...or-no-matching-function-for-call-to-.patch | 77 ------------------- ...ebkitgtk_2.48.0.bb => webkitgtk_2.48.1.bb} | 4 +- 3 files changed, 1 insertion(+), 155 deletions(-) delete mode 100644 meta/recipes-sato/webkit/webkitgtk/0001-Cherry-pick-292304-main-7ffc29624258-.-https-bugs.we.patch delete mode 100644 meta/recipes-sato/webkit/webkitgtk/0001-EnumTraits.h-error-no-matching-function-for-call-to-.patch rename meta/recipes-sato/webkit/{webkitgtk_2.48.0.bb => webkitgtk_2.48.1.bb} (96%) diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-Cherry-pick-292304-main-7ffc29624258-.-https-bugs.we.patch b/meta/recipes-sato/webkit/webkitgtk/0001-Cherry-pick-292304-main-7ffc29624258-.-https-bugs.we.patch deleted file mode 100644 index 5cbb1035b2..0000000000 --- a/meta/recipes-sato/webkit/webkitgtk/0001-Cherry-pick-292304-main-7ffc29624258-.-https-bugs.we.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 83093455d02d73a327cea502d974aac82b59ad17 Mon Sep 17 00:00:00 2001 -From: Adrian Perez de Castro -Date: Tue, 18 Mar 2025 07:39:01 -0700 -Subject: [PATCH] Cherry-pick 292304@main (7ffc29624258). - https://bugs.webkit.org/show_bug.cgi?id=289953 - - [GTK][WPE] Use _LIBCPP_HARDENING_MODE with newer libc++ versions - https://bugs.webkit.org/show_bug.cgi?id=289953 - - Reviewed by Alicia Boya Garcia. - - * Source/cmake/OptionsCommon.cmake: Add a new check for the libc++ - version, if it is 19 or newer, use the new _LIBCPP_HARDENING_MODE - macro, otherwise for older versions keep _LIBCPP_ENABLE_ASSERTIONS. - - Canonical link: https://commits.webkit.org/292304@main - -Upstream-Status: Backport [https://github.com/WebKit/WebKit/commit/2c105443d41e5ce3de3a4cac2ed8a07ebd134459] - -Canonical link: https://commits.webkit.org/290945.71@webkitglib/2.48 - -Signed-off-by: Khem Raj ---- - Source/cmake/OptionsCommon.cmake | 24 +++++++++++++++++++----- - 1 file changed, 19 insertions(+), 5 deletions(-) - -diff --git a/Source/cmake/OptionsCommon.cmake b/Source/cmake/OptionsCommon.cmake -index f6cf5ee..3178674 100644 ---- a/Source/cmake/OptionsCommon.cmake -+++ b/Source/cmake/OptionsCommon.cmake -@@ -229,8 +229,22 @@ set(CXX_STDLIB_TEST_SOURCE " - ") - check_cxx_source_compiles("${CXX_STDLIB_TEST_SOURCE}" CXX_STDLIB_IS_LIBCPP) - if (CXX_STDLIB_IS_LIBCPP) -- set(CXX_STDLIB_VARIANT "LIBCPP") -- set(CXX_STDLIB_ASSERTIONS_MACRO _LIBCPP_ENABLE_ASSERTIONS) -+ set(CXX_STDLIB_TEST_SOURCE " -+ #include -+ #if _LIBCPP_VERSION >= 190000 -+ int main() { } -+ #else -+ #error libc++ is older than 19.x -+ #endif -+ ") -+ check_cxx_source_compiles("${CXX_STDLIB_TEST_SOURCE}" CXX_STDLIB_IS_LIBCPP_19_OR_NEWER) -+ if (CXX_STDLIB_IS_LIBCPP_19_OR_NEWER) -+ set(CXX_STDLIB_VARIANT "LIBCPP 19+") -+ set(CXX_STDLIB_ASSERTIONS_MACRO _LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE) -+ else () -+ set(CXX_STDLIB_VARIANT "LIBCPP <19") -+ set(CXX_STDLIB_ASSERTIONS_MACRO _LIBCPP_ENABLE_ASSERTIONS=1) -+ endif () - else () - set(CXX_STDLIB_TEST_SOURCE " - #include -@@ -239,7 +253,7 @@ else () - check_cxx_source_compiles("${CXX_STDLIB_TEST_SOURCE}" CXX_STDLIB_IS_GLIBCXX) - if (CXX_STDLIB_IS_GLIBCXX) - set(CXX_STDLIB_VARIANT "GLIBCXX") -- set(CXX_STDLIB_ASSERTIONS_MACRO _GLIBCXX_ASSERTIONS) -+ set(CXX_STDLIB_ASSERTIONS_MACRO _GLIBCXX_ASSERTIONS=1) - endif () - endif () - message(STATUS "C++ standard library in use: ${CXX_STDLIB_VARIANT}") -@@ -255,8 +269,8 @@ option(USE_CXX_STDLIB_ASSERTIONS - - if (USE_CXX_STDLIB_ASSERTIONS) - if (CXX_STDLIB_ASSERTIONS_MACRO) -- message(STATUS " Assertions enabled, ${CXX_STDLIB_ASSERTIONS_MACRO}=1") -- add_compile_definitions("${CXX_STDLIB_ASSERTIONS_MACRO}=1") -+ message(STATUS " Assertions enabled, ${CXX_STDLIB_ASSERTIONS_MACRO}") -+ add_compile_definitions("${CXX_STDLIB_ASSERTIONS_MACRO}") - else () - message(STATUS " Assertions disabled, CXX_STDLIB_ASSERTIONS_MACRO undefined") - endif () diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-EnumTraits.h-error-no-matching-function-for-call-to-.patch b/meta/recipes-sato/webkit/webkitgtk/0001-EnumTraits.h-error-no-matching-function-for-call-to-.patch deleted file mode 100644 index 5b83d9e7eb..0000000000 --- a/meta/recipes-sato/webkit/webkitgtk/0001-EnumTraits.h-error-no-matching-function-for-call-to-.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 7d159a631ae55c10a0b7a92cf031200a11629736 Mon Sep 17 00:00:00 2001 -From: Fujii Hironori -Date: Tue, 18 Mar 2025 10:25:47 +0900 -Subject: [PATCH] EnumTraits.h: error: no matching function for call to - 'enumName' with Clang 20 https://bugs.webkit.org/show_bug.cgi?id=289669 - -Reviewed by NOBODY (OOPS!). - -Clang 20 couldn't compile EnumTraits.h. - -> wtf/EnumTraits.h:212:33: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'V' - -An invalid enum value can't be specifed to the template parameter `V`. - -> template constexpr std::span enumName() - -The upstream Magic Enum C++ has a template variable `is_enum_constexpr_static_cast_valid` to check a enum value is valid. - - -Imported the template variable. - -* Source/WTF/wtf/EnumTraits.h: -(WTF::enumName): -(WTF::makeEnumNames): - -Upstream-Status: Submitted [https://github.com/WebKit/WebKit/pull/42597] -Signed-off-by: Khem Raj ---- - Source/WTF/wtf/EnumTraits.h | 21 ++++++++++++++++++++- - 1 file changed, 20 insertions(+), 1 deletion(-) - -diff --git a/Source/WTF/wtf/EnumTraits.h b/Source/WTF/wtf/EnumTraits.h -index 0d33e39a..95e6318b 100644 ---- a/Source/WTF/wtf/EnumTraits.h -+++ b/Source/WTF/wtf/EnumTraits.h -@@ -152,6 +152,16 @@ constexpr bool isZeroBasedContiguousEnum() - #pragma clang diagnostic ignored "-Wenum-constexpr-conversion" - #endif - -+#if COMPILER(CLANG) && __clang_major__ >= 16 -+template -+inline constexpr bool isEnumConstexprStaticCastValid = false; -+template -+inline constexpr bool isEnumConstexprStaticCastValid(V)>>> = true; -+#else -+template -+inline constexpr bool isEnumConstexprStaticCastValid = true; -+#endif -+ - template - constexpr std::span enumTypeNameImpl() - { -@@ -215,6 +225,15 @@ constexpr std::span enumName() - return result; - } - -+template -+constexpr std::span enumName() -+{ -+ if constexpr (isEnumConstexprStaticCastValid) -+ return enumName(V)>(); -+ else -+ return { }; -+} -+ - template - constexpr std::underlying_type_t enumNamesMin() - { -@@ -264,7 +283,7 @@ constexpr auto makeEnumNames(std::index_sequence) - { - constexpr auto min = enumNamesMin(); - return std::array, sizeof...(Is)> { -- enumName(static_cast>(Is) + min)>()... -+ enumName>(Is) + min>()... - }; - } - diff --git a/meta/recipes-sato/webkit/webkitgtk_2.48.0.bb b/meta/recipes-sato/webkit/webkitgtk_2.48.1.bb similarity index 96% rename from meta/recipes-sato/webkit/webkitgtk_2.48.0.bb rename to meta/recipes-sato/webkit/webkitgtk_2.48.1.bb index 58b78b5f28..58d0a11202 100644 --- a/meta/recipes-sato/webkit/webkitgtk_2.48.0.bb +++ b/meta/recipes-sato/webkit/webkitgtk_2.48.1.bb @@ -16,12 +16,10 @@ SRC_URI = "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \ file://no-musttail-arm.patch \ file://t6-not-declared.patch \ file://sys_futex.patch \ - file://0001-EnumTraits.h-error-no-matching-function-for-call-to-.patch \ - file://0001-Cherry-pick-292304-main-7ffc29624258-.-https-bugs.we.patch \ file://0001-Fix-build-errors-on-RISCV-https-bugs.webkit.org-show.patch \ file://fix-ftbfs-riscv64.patch \ " -SRC_URI[sha256sum] = "94904a55cf12d44a4e36ceadafff02d46da73d76be9b4769f34cbfdf0eebf88e" +SRC_URI[sha256sum] = "98efdf21c4cdca0fe0b73ab5a8cb52093b5aa52d9b1b016a93f71dbfa1eb258f" inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen From patchwork Wed May 14 15:57:53 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 62944 X-Patchwork-Delegate: steve@sakoman.com 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 3BC4EC54755 for ; Wed, 14 May 2025 15:58:21 +0000 (UTC) Received: from mail-pl1-f181.google.com (mail-pl1-f181.google.com [209.85.214.181]) by mx.groups.io with SMTP id smtpd.web10.105643.1747238295578087650 for ; Wed, 14 May 2025 08:58:15 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=l3oLJHuJ; spf=softfail (domain: sakoman.com, ip: 209.85.214.181, mailfrom: steve@sakoman.com) Received: by mail-pl1-f181.google.com with SMTP id d9443c01a7336-22e4d235811so99708665ad.2 for ; Wed, 14 May 2025 08:58:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1747238295; x=1747843095; 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=mRCBM/yj8GS4J4YGIt3cHcpvYQUzOSCRhP8h6A076EQ=; b=l3oLJHuJldYvkyfANWteRQcu7flpeiVq9fxMD/F1NKnBO0M+gEVZ7QEdpO0F3N5a+X yQFd9UpGGKhGI7np3Tvl6JIvIH8zrAwQs375NZl1uJxxZsxbd3F73tYBTKhEjMhHjmg6 4iXlvSCJVpY8xhrwsYCAbX5PP66ASpA10Ed7NXoOHg3R9u+iMgMd5GXOSp9a85D+KqML F1DWvLt/T3d1KJGGesky9VYjSmzzPE7HxU/j/KbJJ015SfiptRb1AO7KSe1CzCnmu+ie fpQ0Xs8R1t+BWdLzBCPsWPlF0Rp7D+RpA634Nmiomnp9syhv157GHJx3jBI2q8gOgq+3 1Jqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747238295; x=1747843095; 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=mRCBM/yj8GS4J4YGIt3cHcpvYQUzOSCRhP8h6A076EQ=; b=FXoeq/Qg0IIgjvRnXznNmpExv98MozUTTtmVO3jZOiw2FOLwsGgUDO6u72FTHJAU3O DZa9nUo1ONf+h9iUQfF+KQlZJMUfZ87MKnqMnx+hosWF90wYBgcyXwhFzYhLAxfn9bgb ydEnehVfBCZmp1+mS/1ZZmXUTvZprZX9vxmaY8BhcmXDi+bM4misVNpG1SQKA0BEcWLC 6jxW62abl+9uQ7enMa1OGvcOOEi/f4j4xMkPXVfyVj9UQO+e+ekgR9JtN5AkhSsM99r5 Gg9xfZj8cnb2/MMPXnNPEloUPx/MxOoikRcSzKpk4aU5TEaD3GsBghHg7sbuxkv2B8MK XGyg== X-Gm-Message-State: AOJu0YyFB4Vy97xF8AO7opwSXOQNY0amflAIFi6MFtA8hBTKvZDJVIX7 LB+QGWZEqUsPc2mixEAcJYYHXFYO+/LZJi1423dbDeAy6A7xyFCKE6hjrY9kb4relkRnluenz7l K X-Gm-Gg: ASbGnctO0NBF8nm6XHSRUNFbzVXJxifJyVAetiNXyqqf73X4Kwz3vguKXFZrP53DaYB 3l+NLxe1W8MiXERnZ2jYNbePFsh3zfSsKD4m90JfLxEBUR/bP8K28weGksd70PTVzp9S4LUY0ip TLylb3k2JthAHGf7Y6IOwmhwYonIL/SptiQkkcdE+AwQHOp18Hl1j9cPUrVOppL5pP5GAM9yZA3 +RTJtTpMW5Tsmyx3CaycWdBYXbiVlOsarSZ0jzRDooPUMjex3FdReKSzGb7Th1ASeh+ZtaKRmle Ka3Ud35axaw46pYpTzCXbn1dltCviZEP0VZNK0tq/iv+ZIg9wGI= X-Google-Smtp-Source: AGHT+IGOFgKeQpOa+BImC8k5F5vJ502hrVQYC3R3HiX6bd36i74WteiBvmyEvy0km6N7nuKdlgEfgA== X-Received: by 2002:a17:902:ef45:b0:22f:f747:8fbe with SMTP id d9443c01a7336-231983de15bmr67654295ad.53.1747238294855; Wed, 14 May 2025 08:58:14 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:671:bf16:d45b:ad8]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22fc8271bcfsm101347385ad.125.2025.05.14.08.58.14 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 May 2025 08:58:14 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][walnascar 05/12] perlcross: 1.6 -> 1.6.2 Date: Wed, 14 May 2025 08:57:53 -0700 Message-ID: <9fde5d3657a5842dcdac20eea140077b1e8ae06b.1747238138.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 ; Wed, 14 May 2025 15:58:21 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/216509 From: Archana Polampalli Provide support for Perl 5.40.2 https://github.com/arsv/perl-cross/releases/tag/1.6.2 Signed-off-by: Archana Polampalli Signed-off-by: Steve Sakoman --- .../perl-cross/{perlcross_1.6.bb => perlcross_1.6.2.bb} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename meta/recipes-devtools/perl-cross/{perlcross_1.6.bb => perlcross_1.6.2.bb} (92%) diff --git a/meta/recipes-devtools/perl-cross/perlcross_1.6.bb b/meta/recipes-devtools/perl-cross/perlcross_1.6.2.bb similarity index 92% rename from meta/recipes-devtools/perl-cross/perlcross_1.6.bb rename to meta/recipes-devtools/perl-cross/perlcross_1.6.2.bb index 34d9236cab..42ba15a572 100644 --- a/meta/recipes-devtools/perl-cross/perlcross_1.6.bb +++ b/meta/recipes-devtools/perl-cross/perlcross_1.6.2.bb @@ -18,7 +18,7 @@ SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/perl-cross-${PV}.tar.gz;name=perl-c " GITHUB_BASE_URI = "https://github.com/arsv/perl-cross/releases/" -SRC_URI[perl-cross.sha256sum] = "5abf198ee50ce9e69eb68fede68c87f65241caa744e4203e97490fa59b45ed69" +SRC_URI[perl-cross.sha256sum] = "131f7496152ee32067dbac2bc9b44b2f582fc778140e545701b3b2faee782f1d" S = "${WORKDIR}/perl-cross-${PV}" From patchwork Wed May 14 15:57:54 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 62943 X-Patchwork-Delegate: steve@sakoman.com 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 29CDBC3DA4A for ; Wed, 14 May 2025 15:58:21 +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.web10.105644.1747238297696270446 for ; Wed, 14 May 2025 08:58:17 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=MJRQDfYy; 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-22e331215dbso7998255ad.1 for ; Wed, 14 May 2025 08:58:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1747238297; x=1747843097; 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=4zJBICUPcbEDUD/BjdmjR4GUV62950taMoWRwyqZb5U=; b=MJRQDfYyLL5AGaZq14RdWvr8Vw36UCmooSndR15k/CzGOWEHlLWcS83meJKOy/Ei9T JXWMZurNBR8jgSr4y8AZ6JX6sxZ0JmvSxAaOw/3NpMFU3xkCL6Baojhn2HlvuKl7SdWJ WA8tkIEssm208bTXDRDEPm2kYKcfYXQv3B22Pex3+flF6bctX0XWHKLA8tRWPH+Njpkp dJfapc3qNw0glkTfa3SCATizCmoNrhJ5Jo3Pu+LXT3LKsasF9dppvFNUOzbDq/ZdgWxI 9ua2b1056JepNnBPo3yKZK0QnrQaSxSslhXFVmwgkgMjlIFy37f1Y9Z3KoFeJCM936qy d/IA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747238297; x=1747843097; 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=4zJBICUPcbEDUD/BjdmjR4GUV62950taMoWRwyqZb5U=; b=D5M1A3Swjg1XwF0RFKwzToNYOgr9OXXqlUqEGaKCjEKuuUNEmMszpG+r4P/aLj3t8m KTzukf3eXbonDwgBwhMGL4fbNFJHTBt6j89SGF9/8SwdhSfVCOnsJhw1bRku8G3EuIIf RMX+Rj1+3aTIOk8SqrsxzEM2B1F1CU56dIYF2K1dqs3o68b7AwGdcmNBpW/qr9L/X4e0 14mgNMztGEzeVrWb5JzTxiYdGL+gXgljzhWqANIwb2tpk7cX3GKDrdA05m+KSgcoSX/l dXGBp9ZuUdECBNyToxJbowgb4U3JIYli3Z2Sert9bFn8Ni1vTiLfwEgei/sUwdjacErr FzWA== X-Gm-Message-State: AOJu0YycOhXLX/nnK+ZmgEEMyyWyWV5+Mr9eDxSRXFvmP7+1yaBq90WU pS6wlziNcOrhxFMbkmHPYMtglPGaD7ARfwdHV3jPyib53MsrAw9TCu/aAValn6Xcf5uoyyBDH86 JkA1x X-Gm-Gg: ASbGnctwjNWJrpxlUpPG1DTNioqhmc5tTLLCiGcgFDUEDFonEruqYrceWH0KViQSsqW +dvT3guaq3G5D9V9X01l5/KXxX1TpIYbPNrQubLio99luh5HqUW8kI9qkqgqofKKk4L/DlfvCD5 0Fh/C7dyx8tlj8DHe5bCSfarakPTCneOC0T9gvDm4LAda5HiqambS7fxmbrHyYQyEaR6E/gsZ4h KX2ahrW0GD9pugJqMx8jwwI2DQkFBZPNKCssprhA39Et/QoPI7M8CF88Q81UXoGmgW5g5sJHCVr 8A3ltsg7fSEqb2iuPA/sJ2doMUQ04D9hp9FCLciT X-Google-Smtp-Source: AGHT+IH3r41qca/b07U6iFFTtbMcCSM+4BRDGJYU+UQ8CoXuwsMWko356YbDPRwaPxOvfxqHZSrhwA== X-Received: by 2002:a17:902:d2c1:b0:21f:6f33:f96 with SMTP id d9443c01a7336-231b3959f60mr1109685ad.6.1747238296932; Wed, 14 May 2025 08:58:16 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:671:bf16:d45b:ad8]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22fc8271bcfsm101347385ad.125.2025.05.14.08.58.16 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 May 2025 08:58:16 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][walnascar 06/12] perl: upgrade 5.40.0 -> 5.40.2 Date: Wed, 14 May 2025 08:57:54 -0700 Message-ID: <8e91cd8293a13d21eb1df5b9b750d9b498bb3530.1747238138.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 ; Wed, 14 May 2025 15:58:21 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/216510 From: Archana Polampalli https://metacpan.org/pod/perldelta This provides a fix for CVE-2024-56406 Signed-off-by: Archana Polampalli Signed-off-by: Steve Sakoman --- meta/recipes-devtools/perl/{perl_5.40.0.bb => perl_5.40.2.bb} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename meta/recipes-devtools/perl/{perl_5.40.0.bb => perl_5.40.2.bb} (99%) diff --git a/meta/recipes-devtools/perl/perl_5.40.0.bb b/meta/recipes-devtools/perl/perl_5.40.2.bb similarity index 99% rename from meta/recipes-devtools/perl/perl_5.40.0.bb rename to meta/recipes-devtools/perl/perl_5.40.2.bb index 0d4338f29f..95c230060d 100644 --- a/meta/recipes-devtools/perl/perl_5.40.0.bb +++ b/meta/recipes-devtools/perl/perl_5.40.2.bb @@ -25,7 +25,7 @@ SRC_URI:append:class-target = " \ file://encodefix.patch \ " -SRC_URI[perl.sha256sum] = "c740348f357396327a9795d3e8323bafd0fe8a5c7835fc1cbaba0cc8dfe7161f" +SRC_URI[perl.sha256sum] = "10d4647cfbb543a7f9ae3e5f6851ec49305232ea7621aed24c7cfbb0bef4b70d" B = "${WORKDIR}/perl-${PV}-build" From patchwork Wed May 14 15:57:55 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 62945 X-Patchwork-Delegate: steve@sakoman.com 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 33691C54756 for ; Wed, 14 May 2025 15:58:21 +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.105647.1747238299464445364 for ; Wed, 14 May 2025 08:58:19 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=JD66/2PO; 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-22e4db05fe8so66254525ad.0 for ; Wed, 14 May 2025 08:58:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1747238299; x=1747843099; 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=BsO106W0iLCrrHlNRuP1afeg0yNUBT05qoIKq5bdQvw=; b=JD66/2POxL6ogB+U63iSdFmBLW3fuuJ0D6XYB3DbuL4WLycVJCgeBMfTZ4QK44mmLx 8H6oTFlLE4esRisl1/zG2faStNd9dr+UKL9Hje4VclMmylFbRHSHxq8XiBg2HnzWAYLN Ij4En464BuMQz3tQ0UNMg5GDC0kRIslZ2HUSW/R/9TXsearm3JEp4eh+zZWXqm1u3Osg LbJhuW/65B8UsDyflRSpOefoo93JTlD7G/YNHWuMY9n5tbBYG7Rtd/mSKTmbpPip4rCU /Q0MYK/VpZn13mjsH9qTS36RFJIxUg0AyqEpxgYk4ftCB1pdA9XCM66+WT4NTysgYKX2 h1Tw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747238299; x=1747843099; 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=BsO106W0iLCrrHlNRuP1afeg0yNUBT05qoIKq5bdQvw=; b=LGI8ZesAbV3pAI9hl6UV1t7JMVayjkmI7aSY0PZ9wHHlNCdpBzr92eqYX9QtlPgj/R sdINkVwws6ATmV69InEbvUgVYT1uIAIw0UnWI9VebLx+1J1HA1xK7j/VmhiGDeoDWA4t nPdzR4AzLDqKNOD9PPYxR2JWNkk53VnqDFFQNlF3Ilu+0ZpVJneQtMkJkqlJoWqleG5k YSyCwfb79eYphMrgw6pRrHexuS0mpv+VmfRxBD1Lj+XzjuTJaSY7MeSjQAE8JqgwVymu BQ6/5AjZqHe5D35ZijRZhPV8HLfDhGMQyn0ibRmhfxyAFNMotsHx+Cixo27FivewcTZE gTvA== X-Gm-Message-State: AOJu0YxV7MVcC+K7pyfkrsJ1+rhdRo/96sYmM9k/bACFN0aFnbsFZflF TwyxnwvugnmM9hdAY6lxNj6/Rhi1eTixEeDXYzQVg/FIoC4taN43GILsPA43NiqyX1xoCt9nB5G D X-Gm-Gg: ASbGnctLKGatz8Qh0q2grVDyxmKQvdlHKSg8UTxgZDhLZOlZeCFHVWqffNclRD+LU44 AaPwBv8t8Eyfl93ym5FL096wZdIZmBQ0ASH82WuVUr69ocepwO39ysTjLuhHy5UhQqtpjVxr+fO hWGwcxehrbY+R3sujPgw4R/eWRdSFA0aKcAOO+imS7wsBKp/OPR0cAi9P8TXxGekEsGjXbsUHSz 6oSrfWORHT/MHyZTe0j3z6WApgtpk5+t3UFnnMoE633BEYWvsq9vQ4Wlv7K0risfI052mkWVfHK e5hjf752ezighdWjCjdFxWCEJL0FC68lFBhfgWDs X-Google-Smtp-Source: AGHT+IFsi9l+TYP+SSkOOAnLIWlbxP+GHnxN4lf6YkfNayuQXia4fbYqoSozAO2PZiE1y0Zszm/6sQ== X-Received: by 2002:a17:903:41c7:b0:22e:59cc:a44e with SMTP id d9443c01a7336-231981b736cmr66290715ad.44.1747238298622; Wed, 14 May 2025 08:58:18 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:671:bf16:d45b:ad8]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22fc8271bcfsm101347385ad.125.2025.05.14.08.58.17 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 May 2025 08:58:18 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][walnascar 07/12] go: upgrade 1.24.1 -> 1.24.2 Date: Wed, 14 May 2025 08:57:55 -0700 Message-ID: <0507f4709fb379e369f0abd5c37b9cee8de1fcb1.1747238138.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 ; Wed, 14 May 2025 15:58:21 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/216511 From: Archana Polampalli Fixes CVE-2025-22871 https://github.com/golang/go/compare/go1.24.1...go1.24.2 Signed-off-by: Archana Polampalli Signed-off-by: Steve Sakoman --- meta/recipes-devtools/go/{go-1.24.1.inc => go-1.24.2.inc} | 2 +- ...o-binary-native_1.24.1.bb => go-binary-native_1.24.2.bb} | 6 +++--- ...cross-canadian_1.24.1.bb => go-cross-canadian_1.24.2.bb} | 0 .../go/{go-cross_1.24.1.bb => go-cross_1.24.2.bb} | 0 .../go/{go-crosssdk_1.24.1.bb => go-crosssdk_1.24.2.bb} | 0 .../go/{go-runtime_1.24.1.bb => go-runtime_1.24.2.bb} | 0 meta/recipes-devtools/go/{go_1.24.1.bb => go_1.24.2.bb} | 0 7 files changed, 4 insertions(+), 4 deletions(-) rename meta/recipes-devtools/go/{go-1.24.1.inc => go-1.24.2.inc} (91%) rename meta/recipes-devtools/go/{go-binary-native_1.24.1.bb => go-binary-native_1.24.2.bb} (78%) rename meta/recipes-devtools/go/{go-cross-canadian_1.24.1.bb => go-cross-canadian_1.24.2.bb} (100%) rename meta/recipes-devtools/go/{go-cross_1.24.1.bb => go-cross_1.24.2.bb} (100%) rename meta/recipes-devtools/go/{go-crosssdk_1.24.1.bb => go-crosssdk_1.24.2.bb} (100%) rename meta/recipes-devtools/go/{go-runtime_1.24.1.bb => go-runtime_1.24.2.bb} (100%) rename meta/recipes-devtools/go/{go_1.24.1.bb => go_1.24.2.bb} (100%) diff --git a/meta/recipes-devtools/go/go-1.24.1.inc b/meta/recipes-devtools/go/go-1.24.2.inc similarity index 91% rename from meta/recipes-devtools/go/go-1.24.1.inc rename to meta/recipes-devtools/go/go-1.24.2.inc index 4cf66e705a..cb4ae9ef80 100644 --- a/meta/recipes-devtools/go/go-1.24.1.inc +++ b/meta/recipes-devtools/go/go-1.24.2.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] = "8244ebf46c65607db10222b5806aeb31c1fcf8979c1b6b12f60c677e9a3c0656" +SRC_URI[main.sha256sum] = "9dc77ffadc16d837a1bf32d99c624cb4df0647cee7b119edd9e7b1bcc05f2e00" diff --git a/meta/recipes-devtools/go/go-binary-native_1.24.1.bb b/meta/recipes-devtools/go/go-binary-native_1.24.2.bb similarity index 78% rename from meta/recipes-devtools/go/go-binary-native_1.24.1.bb rename to meta/recipes-devtools/go/go-binary-native_1.24.2.bb index ffe3d50b7b..65ef93e2e0 100644 --- a/meta/recipes-devtools/go/go-binary-native_1.24.1.bb +++ b/meta/recipes-devtools/go/go-binary-native_1.24.2.bb @@ -9,10 +9,10 @@ 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] = "cb2396bae64183cdccf81a9a6df0aea3bce9511fc21469fb89a0c00470088073" -SRC_URI[go_linux_arm64.sha256sum] = "8df5750ffc0281017fb6070fba450f5d22b600a02081dceef47966ffaf36a3af" -SRC_URI[go_linux_ppc64le.sha256sum] = "0fb522efcefabae6e37e69bdc444094e75bfe824ea6d4cc3cbc70c7ae1b16858" +SRC_URI[go_linux_amd64.sha256sum] = "68097bd680839cbc9d464a0edce4f7c333975e27a90246890e9f1078c7e702ad" +SRC_URI[go_linux_arm64.sha256sum] = "756274ea4b68fa5535eb9fe2559889287d725a8da63c6aae4d5f23778c229f4b" +SRC_URI[go_linux_ppc64le.sha256sum] = "5fff857791d541c71d8ea0171c73f6f99770d15ff7e2ad979104856d01f36563" 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.1.bb b/meta/recipes-devtools/go/go-cross-canadian_1.24.2.bb similarity index 100% rename from meta/recipes-devtools/go/go-cross-canadian_1.24.1.bb rename to meta/recipes-devtools/go/go-cross-canadian_1.24.2.bb diff --git a/meta/recipes-devtools/go/go-cross_1.24.1.bb b/meta/recipes-devtools/go/go-cross_1.24.2.bb similarity index 100% rename from meta/recipes-devtools/go/go-cross_1.24.1.bb rename to meta/recipes-devtools/go/go-cross_1.24.2.bb diff --git a/meta/recipes-devtools/go/go-crosssdk_1.24.1.bb b/meta/recipes-devtools/go/go-crosssdk_1.24.2.bb similarity index 100% rename from meta/recipes-devtools/go/go-crosssdk_1.24.1.bb rename to meta/recipes-devtools/go/go-crosssdk_1.24.2.bb diff --git a/meta/recipes-devtools/go/go-runtime_1.24.1.bb b/meta/recipes-devtools/go/go-runtime_1.24.2.bb similarity index 100% rename from meta/recipes-devtools/go/go-runtime_1.24.1.bb rename to meta/recipes-devtools/go/go-runtime_1.24.2.bb diff --git a/meta/recipes-devtools/go/go_1.24.1.bb b/meta/recipes-devtools/go/go_1.24.2.bb similarity index 100% rename from meta/recipes-devtools/go/go_1.24.1.bb rename to meta/recipes-devtools/go/go_1.24.2.bb From patchwork Wed May 14 15:57:56 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 62948 X-Patchwork-Delegate: steve@sakoman.com 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 3B18CC3DA4A for ; Wed, 14 May 2025 15:58:31 +0000 (UTC) Received: from mail-pg1-f178.google.com (mail-pg1-f178.google.com [209.85.215.178]) by mx.groups.io with SMTP id smtpd.web11.106296.1747238301568760253 for ; Wed, 14 May 2025 08:58:21 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=XEHO5Gmc; spf=softfail (domain: sakoman.com, ip: 209.85.215.178, mailfrom: steve@sakoman.com) Received: by mail-pg1-f178.google.com with SMTP id 41be03b00d2f7-af6a315b491so6124117a12.1 for ; Wed, 14 May 2025 08:58:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1747238301; x=1747843101; 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=5Es/e7GDEu5OW49ARjDrNVt8p0YTeTR/WPliFT432p0=; b=XEHO5GmcNmDKbJgi12JbKgUOM5qRboP1EWnl1L43+NTyS6vPeyMqTKgODFZLBchwWe 08pazCs5oZESqXjoNUQjB1sa2eYz3PeSJQqQQZzA+V1qn9AtE/6FIB/WZYyOi3lak1hJ Oda8Ky1k/ZZ0fmkR5usB7//5oERCEq7dSyv/xXvO/uryO0Az8i2MHQX+l4yZRhLVNWoZ rAbhf5kly3Fn4Jq3/a7yVSoQJ10832sFzU8dE8bS5q9VMU/VKQ4FlyyKuHp10WtAN7e9 XL4iUdK+dmLnDavbUU087DEFnIK24SYbZiJcu+XD7uFCsp+RlNEcf6sU7/GhXgYYcNwJ l+qA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747238301; x=1747843101; 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=5Es/e7GDEu5OW49ARjDrNVt8p0YTeTR/WPliFT432p0=; b=d5fneCIo2/oaBlRZSHPjUJU7G2U7rrHqTWdOoROcMYkSe08jY5aCq4kMqaEOk2HSS9 nQRHGID0/7NCA5Q2BUVUaHuxnmvCHj22qDBEebkWIm5YrtgVKd7Z47bxxyAEOWHaV/dD 8BaRBpy4f5TZrUUvhMCp0xA/0v4FsHYz8Ry3mCeLdrMBlBgqjOo4Mk+KTT7rJ1+8WIaM +zVSBMt7kZeRun4qzdoslXpVceESQwRyp9CxMl0hD6O/twGr26ys8INrYCkegIbfjPoH kGEkuE0JOCVMGHHqcFrmj4DHWIA3j/489ITa9GKDtk22zlM3w/2cMxDkfwIt+mAqL17r AUAA== X-Gm-Message-State: AOJu0YxBJOJW3WSjiQif/mw/BR1/ArrKOIYwqbYGzqXK1kU3I9RziJGK WK52Kyf5EB4HnAl3fOOQuWg6+/hDR8WVuER09v27h2gVKYDDCHME0e0rCYRBSp+5EHjx42wyxIG O X-Gm-Gg: ASbGncuzU/UPoItAxzWwYasb6cxLIlC9QjN/24UpMN/bgCWb3AC/JwPuiFTxZRc0GUt 9Ztdj/3Gs+d4vzNuVMiOwBSilFyF6kVfDIaubWh1BMS8VidcRiePa9fplWkW4l1XdqLBPCZa5RL wYrjMCM223cNX1RRE3W6JHS03+pN+3EFbol8szin6G+WmUn1tKa+hF4YeZNFb6fh6Si7+3X7cJL LvTh8nZcBApUeyv2Zzd+mCRUs9KTXL00Bj+HV0WXJDJiFhSZzSMDQEul1lUL/mzk+4Sqmv7Lt+F nv9x3SiyymQU1VILf9f1rsfCPvPfXWOhWWi7C8xn X-Google-Smtp-Source: AGHT+IF64yCpxWNWR8ASE0mtpPoe3sT6ZCdENcJq99kueNk+gj9zQR4xCwornfBcLZyHXokdFrUbUA== X-Received: by 2002:a17:903:944:b0:22e:4b74:5f67 with SMTP id d9443c01a7336-2319815e33dmr57937485ad.31.1747238300681; Wed, 14 May 2025 08:58:20 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:671:bf16:d45b:ad8]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22fc8271bcfsm101347385ad.125.2025.05.14.08.58.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 May 2025 08:58:20 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][walnascar 08/12] go: upgrade 1.24.2 -> 1.24.3 Date: Wed, 14 May 2025 08:57:56 -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 ; Wed, 14 May 2025 15:58:31 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/216512 From: Peter Marko Upgrade to latest 1.24.x release [1]: $ git --no-pager log --oneline go1.24.2..go1.24.3 34c8b14ca9 (release-branch.go1.24) [release-branch.go1.24] go1.24.3 8947f3395e [release-branch.go1.24] os: avoid escape from Root via paths ending in ../ 06fd2f115b [release-branch.go1.24] cmd/compile: remove no-longer-necessary recursive inlining checks f66ab6521c [release-branch.go1.24] cmd/internal/obj/wasm: use i64 for large return addr c1f9c2c7b0 [release-branch.go1.24] cmd/go/internal/load: join incompatible and dirty build specifiers with . 0ab64e2caa [release-branch.go1.24] runtime: cleanup M vgetrandom state before dropping P 56eb99859d [release-branch.go1.24] internal/runtime/maps: pass proper func PC to race.WritePC/race.ReadPC 43130aff52 [release-branch.go1.24] runtime: fix 9-arg syscall on darwin/amd64 b2c005e7b2 [release-branch.go1.24] crypto/tls: fix ECH compatibility a9d9b55709 [release-branch.go1.24] cmd/link: choose one with larger size for duplicated BSS symbols fa7217f74d [release-branch.go1.24] os: avoid panic in Root when symlink references the root Fixes CVE-2025-22873 [1] https://github.com/golang/go/compare/go1.24.2...go1.24.3 Signed-off-by: Peter Marko Signed-off-by: Steve Sakoman --- meta/recipes-devtools/go/{go-1.24.2.inc => go-1.24.3.inc} | 2 +- ...o-binary-native_1.24.2.bb => go-binary-native_1.24.3.bb} | 6 +++--- ...cross-canadian_1.24.2.bb => go-cross-canadian_1.24.3.bb} | 0 .../go/{go-cross_1.24.2.bb => go-cross_1.24.3.bb} | 0 .../go/{go-crosssdk_1.24.2.bb => go-crosssdk_1.24.3.bb} | 0 .../go/{go-runtime_1.24.2.bb => go-runtime_1.24.3.bb} | 0 meta/recipes-devtools/go/{go_1.24.2.bb => go_1.24.3.bb} | 0 7 files changed, 4 insertions(+), 4 deletions(-) rename meta/recipes-devtools/go/{go-1.24.2.inc => go-1.24.3.inc} (91%) rename meta/recipes-devtools/go/{go-binary-native_1.24.2.bb => go-binary-native_1.24.3.bb} (78%) rename meta/recipes-devtools/go/{go-cross-canadian_1.24.2.bb => go-cross-canadian_1.24.3.bb} (100%) rename meta/recipes-devtools/go/{go-cross_1.24.2.bb => go-cross_1.24.3.bb} (100%) rename meta/recipes-devtools/go/{go-crosssdk_1.24.2.bb => go-crosssdk_1.24.3.bb} (100%) rename meta/recipes-devtools/go/{go-runtime_1.24.2.bb => go-runtime_1.24.3.bb} (100%) rename meta/recipes-devtools/go/{go_1.24.2.bb => go_1.24.3.bb} (100%) diff --git a/meta/recipes-devtools/go/go-1.24.2.inc b/meta/recipes-devtools/go/go-1.24.3.inc similarity index 91% rename from meta/recipes-devtools/go/go-1.24.2.inc rename to meta/recipes-devtools/go/go-1.24.3.inc index cb4ae9ef80..78e26146b5 100644 --- a/meta/recipes-devtools/go/go-1.24.2.inc +++ b/meta/recipes-devtools/go/go-1.24.3.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] = "9dc77ffadc16d837a1bf32d99c624cb4df0647cee7b119edd9e7b1bcc05f2e00" +SRC_URI[main.sha256sum] = "229c08b600b1446798109fae1f569228102c8473caba8104b6418cb5bc032878" diff --git a/meta/recipes-devtools/go/go-binary-native_1.24.2.bb b/meta/recipes-devtools/go/go-binary-native_1.24.3.bb similarity index 78% rename from meta/recipes-devtools/go/go-binary-native_1.24.2.bb rename to meta/recipes-devtools/go/go-binary-native_1.24.3.bb index 65ef93e2e0..af56dc9111 100644 --- a/meta/recipes-devtools/go/go-binary-native_1.24.2.bb +++ b/meta/recipes-devtools/go/go-binary-native_1.24.3.bb @@ -9,10 +9,10 @@ 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] = "68097bd680839cbc9d464a0edce4f7c333975e27a90246890e9f1078c7e702ad" -SRC_URI[go_linux_arm64.sha256sum] = "756274ea4b68fa5535eb9fe2559889287d725a8da63c6aae4d5f23778c229f4b" -SRC_URI[go_linux_ppc64le.sha256sum] = "5fff857791d541c71d8ea0171c73f6f99770d15ff7e2ad979104856d01f36563" 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.2.bb b/meta/recipes-devtools/go/go-cross-canadian_1.24.3.bb similarity index 100% rename from meta/recipes-devtools/go/go-cross-canadian_1.24.2.bb rename to meta/recipes-devtools/go/go-cross-canadian_1.24.3.bb diff --git a/meta/recipes-devtools/go/go-cross_1.24.2.bb b/meta/recipes-devtools/go/go-cross_1.24.3.bb similarity index 100% rename from meta/recipes-devtools/go/go-cross_1.24.2.bb rename to meta/recipes-devtools/go/go-cross_1.24.3.bb diff --git a/meta/recipes-devtools/go/go-crosssdk_1.24.2.bb b/meta/recipes-devtools/go/go-crosssdk_1.24.3.bb similarity index 100% rename from meta/recipes-devtools/go/go-crosssdk_1.24.2.bb rename to meta/recipes-devtools/go/go-crosssdk_1.24.3.bb diff --git a/meta/recipes-devtools/go/go-runtime_1.24.2.bb b/meta/recipes-devtools/go/go-runtime_1.24.3.bb similarity index 100% rename from meta/recipes-devtools/go/go-runtime_1.24.2.bb rename to meta/recipes-devtools/go/go-runtime_1.24.3.bb diff --git a/meta/recipes-devtools/go/go_1.24.2.bb b/meta/recipes-devtools/go/go_1.24.3.bb similarity index 100% rename from meta/recipes-devtools/go/go_1.24.2.bb rename to meta/recipes-devtools/go/go_1.24.3.bb From patchwork Wed May 14 15:57:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 62951 X-Patchwork-Delegate: steve@sakoman.com 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 5B488C54756 for ; Wed, 14 May 2025 15:58:31 +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.105652.1747238305425578021 for ; Wed, 14 May 2025 08:58:25 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=SeGrpsLd; 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-22d95f0dda4so81130355ad.2 for ; Wed, 14 May 2025 08:58:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1747238305; x=1747843105; 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=B7tKSZwdLZzBZ9rnJlS2Esza0rQ6X4VNwMXpMQIjKrU=; b=SeGrpsLdMUFOy+92bZP/j110YVoa/SKEJpmYDrP/wW4hIdsiErRSwjkhx/88RuIzXJ tHEyr2iHC2LOW9lWObs5EpB0FzKyIj9fXA3hKamPRhKg2u7tIJvaqLG65ypZxc0XMYML ISEU6jOY/zLlrxWxK/PPhnHtdoW5oy9vDUY5nb0dfs76bwPNbE+Vi66q2mk/4o18ocbB Pnby5jCeJCWbpBToIeY49ZN/belKHDfKqcC35AKeuKFY0w73lJ6RCdmbHVx/1FNyeG9C 70LyWFvoWJ1vJQ1Qb/urCmCd6xcQoBlUv5j/zDRvY95Orw6K14qQiTN9ENb6OsnThmp3 YZjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747238305; x=1747843105; 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=B7tKSZwdLZzBZ9rnJlS2Esza0rQ6X4VNwMXpMQIjKrU=; b=IwVtlfhC+A3HeUL9MvxcfkxTJO4wa30NuJbTYmrleeIRqkgXJl40Ha3Th+x1frxN7A b4GW4aLHXFJI8okSti+EqLsCMeqMpeH3R8tjtuk4EpQBDZuRbaGjKueD/A3Zpt7npqdc toE5/uCbKW8N4BdolM0OMxm4XpL4RVmO7eRkpunNdAnCnfjyV9GTOk4G0fgoEsDDNtVI ZMbdYgZygzMFLse/UuJienadOPkiw1/vFYyXvBdfAhHzyDR3FvPSThgv3+7vRV8QYFve BGQOEhWqKsFXD7nLUwAHnFP30N248JiwVIRKGcKs1bDFObhlLMLNTWcBJ0vcEPFRLM9l 835Q== X-Gm-Message-State: AOJu0Yx4Wvo6tOnoeMpeMtGBtCg7+OailEiAKlc6SN6x4xqs2gtUivwS +KBRT+9xAitVkYv/uaReG7G9AlzcE07V49rf5ZxC36OWfz8rN0Rsqa+VTXz7CoErFoDEMZn/AMi b X-Gm-Gg: ASbGncusig1xmCaPqQuVDWM7pniXfckl9weNU/ZVTAllcf7nUPYyJ/ElmvsCJvkd5Vg a8MBakWHKbSXWjGdpTGIIv6qd6014yW7Y+upA29wcwykogmrrukOQqSU+RgovTFI98OkFpdk/f3 GSf1zlP8TU4jlB29bCBnVcceuDhG0UnOhfSG04u6mo3UCRFDRSBKaJvveF071v4RjljHnTYNaNy zDL0uETSr8KeF/XtL4e64/BTO0hE1yOJdA2fJYoq40Xpedq5F/Wldjd+6UuBiwbUSCrJv/N1QZr BTAlwkXRXx34H6REkpp4YNyBkagk26zwnZ0MJTy+ X-Google-Smtp-Source: AGHT+IGGsxErPk3Y4dXFlPq1xMJ3JfjMj0oADVICQx+XvGxRIoXUhkf2As/bjqKFY8L2TufhThkX3g== X-Received: by 2002:a17:903:249:b0:22f:b6cc:421e with SMTP id d9443c01a7336-231980e9ee0mr49430315ad.26.1747238302781; Wed, 14 May 2025 08:58:22 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:671:bf16:d45b:ad8]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22fc8271bcfsm101347385ad.125.2025.05.14.08.58.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 May 2025 08:58:22 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][walnascar 09/12] binutils: stable 2.44 branch updates Date: Wed, 14 May 2025 08:57:57 -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 ; Wed, 14 May 2025 15:58:31 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/216514 From: Deepesh Varatharajan Below commits on binutils-2.44 stable branch are updated. 33578177adc dwarf: Dump .debug_loclists only for DWARF-5 fe459e33c67 PR 32603, revert message changes in 0b7f992b78fe and 31e9e2e8d109 37d12dd25d8 gdb/compile: add missing entry in bfd_link_callbacks array 31e9e2e8d10 PR 32603, more ld -w misbehaviour 0b7f992b78f PR 32603, ld -w misbehaviour 8cb98edf123 s390: Add support for z17 as CPU name ed70d86b491 x86: Remove AVX10.2 256 bit rounding support e1af7e590a5 elf: Clear the SEC_ALLOC bit for NOLOAD note sections 35db8c6dd2f ld: Pass -Wl,-z,lazy to compiler for i386 lazy binding tests cc7ec316a45 Updated translations for bfd and gold bf088ee09a7 PR 32731 ub sanitizer accessing filenames_reversed 78082591ec7 score-elf gas SEGV d4c7ee9fbc1 gas: fix rs_fill_nop listing a68d096a0ab Open the 2.44 branch for further development Dropped: 0015-CVE-2025-1153.patch Testing was done and there were no regressions found Signed-off-by: Deepesh Varatharajan Signed-off-by: Steve Sakoman --- .../binutils/binutils-2.44.inc | 3 +- .../binutils/0015-CVE-2025-1153.patch | 3355 ----------------- 2 files changed, 1 insertion(+), 3357 deletions(-) delete mode 100644 meta/recipes-devtools/binutils/binutils/0015-CVE-2025-1153.patch diff --git a/meta/recipes-devtools/binutils/binutils-2.44.inc b/meta/recipes-devtools/binutils/binutils-2.44.inc index 1aafbd5285..7a19aa31d5 100644 --- a/meta/recipes-devtools/binutils/binutils-2.44.inc +++ b/meta/recipes-devtools/binutils/binutils-2.44.inc @@ -20,7 +20,7 @@ UPSTREAM_CHECK_GITTAGREGEX = "binutils-(?P\d+_(\d_?)*)" CVE_STATUS[CVE-2023-25584] = "cpe-incorrect: Applies only for version 2.40 and earlier" -SRCREV ?= "815d9a14cbbb3b81843f7566222c87fb22e7255d" +SRCREV ?= "819d713b6340ed3657e00ad0bc8d5f2b73094a0f" BINUTILS_GIT_URI ?= "git://sourceware.org/git/binutils-gdb.git;branch=${SRCBRANCH};protocol=https" SRC_URI = "\ ${BINUTILS_GIT_URI} \ @@ -35,6 +35,5 @@ SRC_URI = "\ file://0012-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch \ file://0013-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch \ file://0014-Remove-duplicate-pe-dll.o-entry-deom-targ_extra_ofil.patch \ - file://0015-CVE-2025-1153.patch \ " S = "${WORKDIR}/git" diff --git a/meta/recipes-devtools/binutils/binutils/0015-CVE-2025-1153.patch b/meta/recipes-devtools/binutils/binutils/0015-CVE-2025-1153.patch deleted file mode 100644 index e75df08fd4..0000000000 --- a/meta/recipes-devtools/binutils/binutils/0015-CVE-2025-1153.patch +++ /dev/null @@ -1,3355 +0,0 @@ -From 8d97c1a53f3dc9fd8e1ccdb039b8a33d50133150 Mon Sep 17 00:00:00 2001 -From: Alan Modra -Date: Thu, 6 Feb 2025 21:46:22 +1030 -Subject: [PATCH] PR 32603, ld -w misbehaviour - -ld -w currently causes segmentation faults and other misbehaviour -since it changes einfo with %F in the format string (fatal error) to -not exit. This patch fixes that by introducing a new variant of einfo -called "fatal" that always exits, and replaces all einfo calls using -%F with a call to fatal without the %F. I considered modifying einfo -to inspect the first 2 or 4 chars in the format string, looking for -%F, but decided that was probably a bad idea given that translators -might have moved the %F. It's also a little nicer to inform the -compiler of a function that doesn't return. - -The patch also fixes some formatting nits, and makes use of %pA -to print section names in a couple of places in aix.em. - -CVE: CVE-2025-1153 -Upstream-Status: Backport [https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=8d97c1a53f3dc9fd8e1ccdb039b8a33d50133150] -Signed-off-by: Peter Marko ---- - ld/emulparams/call_nop.sh | 6 +- - ld/emulparams/cet.sh | 2 +- - ld/emulparams/elf32mcore.sh | 2 +- - ld/emulparams/x86-64-lam.sh | 6 +- - ld/emulparams/x86-64-level-report.sh | 2 +- - ld/emulparams/x86-64-level.sh | 2 +- - ld/emultempl/aarch64elf.em | 6 +- - ld/emultempl/aix.em | 41 +++++---- - ld/emultempl/armelf.em | 10 +-- - ld/emultempl/avrelf.em | 2 +- - ld/emultempl/beos.em | 24 ++--- - ld/emultempl/cr16elf.em | 4 +- - ld/emultempl/cskyelf.em | 4 +- - ld/emultempl/elf.em | 16 ++-- - ld/emultempl/hppaelf.em | 4 +- - ld/emultempl/kvxelf.em | 7 +- - ld/emultempl/loongarchelf.em | 4 +- - ld/emultempl/m68hc1xelf.em | 2 +- - ld/emultempl/m68kelf.em | 4 +- - ld/emultempl/metagelf.em | 4 +- - ld/emultempl/mipself.em | 2 +- - ld/emultempl/mmix-elfnmmo.em | 5 +- - ld/emultempl/nds32elf.em | 6 +- - ld/emultempl/nto.em | 28 +++--- - ld/emultempl/pe.em | 20 ++--- - ld/emultempl/pep.em | 16 ++-- - ld/emultempl/ppc32elf.em | 4 +- - ld/emultempl/ppc64elf.em | 10 +-- - ld/emultempl/riscvelf.em | 2 +- - ld/emultempl/s390.em | 2 +- - ld/emultempl/scoreelf.em | 2 +- - ld/emultempl/spuelf.em | 20 ++--- - ld/emultempl/tic6xdsbt.em | 10 +-- - ld/emultempl/ticoff.em | 4 +- - ld/emultempl/v850elf.em | 2 +- - ld/emultempl/vms.em | 2 +- - ld/emultempl/xtensaelf.em | 12 +-- - ld/emultempl/z80.em | 2 +- - ld/ldcref.c | 8 +- - ld/ldelf.c | 34 ++++---- - ld/ldelfgen.c | 17 ++-- - ld/ldemul.c | 2 +- - ld/ldexp.c | 42 ++++----- - ld/ldfile.c | 14 +-- - ld/ldgram.y | 6 +- - ld/ldlang.c | 126 +++++++++++++-------------- - ld/ldlex.l | 14 ++- - ld/ldmain.c | 44 +++++----- - ld/ldmisc.c | 28 ++++-- - ld/ldmisc.h | 1 + - ld/ldwrite.c | 22 +++-- - ld/lexsup.c | 72 ++++++++------- - ld/mri.c | 2 +- - ld/pe-dll.c | 12 +-- - ld/plugin.c | 27 +++--- - 55 files changed, 379 insertions(+), 393 deletions(-) - -diff --git a/ld/emulparams/call_nop.sh b/ld/emulparams/call_nop.sh -index 2c3c305f0e8..7dd6dfb130c 100644 ---- a/ld/emulparams/call_nop.sh -+++ b/ld/emulparams/call_nop.sh -@@ -20,7 +20,7 @@ PARSE_AND_LIST_ARGS_CASE_Z_CALL_NOP=' - char *end; - params.call_nop_byte = strtoul (optarg + 16 , &end, 0); - if (*end) -- einfo (_("%F%P: invalid number for -z call-nop=prefix-: %s\n"), -+ fatal (_("%P: invalid number for -z call-nop=prefix-: %s\n"), - optarg + 16); - params.call_nop_as_suffix = false; - } -@@ -29,12 +29,12 @@ PARSE_AND_LIST_ARGS_CASE_Z_CALL_NOP=' - char *end; - params.call_nop_byte = strtoul (optarg + 16, &end, 0); - if (*end) -- einfo (_("%F%P: invalid number for -z call-nop=suffix-: %s\n"), -+ fatal (_("%P: invalid number for -z call-nop=suffix-: %s\n"), - optarg + 16); - params.call_nop_as_suffix = true; - } - else -- einfo (_("%F%P: unsupported option: -z %s\n"), optarg); -+ fatal (_("%P: unsupported option: -z %s\n"), optarg); - } - ' - -diff --git a/ld/emulparams/cet.sh b/ld/emulparams/cet.sh -index 2c627994501..e463441d176 100644 ---- a/ld/emulparams/cet.sh -+++ b/ld/emulparams/cet.sh -@@ -29,7 +29,7 @@ PARSE_AND_LIST_ARGS_CASE_Z_CET=' - | prop_report_ibt - | prop_report_shstk); - else -- einfo (_("%F%P: invalid option for -z cet-report=: %s\n"), -+ fatal (_("%P: invalid option for -z cet-report=: %s\n"), - optarg + 11); - } - ' -diff --git a/ld/emulparams/elf32mcore.sh b/ld/emulparams/elf32mcore.sh -index 7d433fc0f2d..dc0f5d042e7 100644 ---- a/ld/emulparams/elf32mcore.sh -+++ b/ld/emulparams/elf32mcore.sh -@@ -42,6 +42,6 @@ PARSE_AND_LIST_ARGS_CASES=' - case OPTION_BASE_FILE: - link_info.base_file = fopen (optarg, FOPEN_WB); - if (link_info.base_file == NULL) -- einfo (_("%F%P: cannot open base file %s\n"), optarg); -+ fatal (_("%P: cannot open base file %s\n"), optarg); - break; - ' -diff --git a/ld/emulparams/x86-64-lam.sh b/ld/emulparams/x86-64-lam.sh -index fab42ff1df2..6e629ebbac8 100644 ---- a/ld/emulparams/x86-64-lam.sh -+++ b/ld/emulparams/x86-64-lam.sh -@@ -25,7 +25,7 @@ PARSE_AND_LIST_ARGS_CASE_Z_LAM=' - else if (strcmp (optarg + 15, "error") == 0) - params.lam_u48_report = prop_report_error; - else -- einfo (_("%F%P: invalid option for -z lam-u48-report=: %s\n"), -+ fatal (_("%P: invalid option for -z lam-u48-report=: %s\n"), - optarg + 15); - } - else if (strcmp (optarg, "lam-u57") == 0) -@@ -39,7 +39,7 @@ PARSE_AND_LIST_ARGS_CASE_Z_LAM=' - else if (strcmp (optarg + 15, "error") == 0) - params.lam_u57_report = prop_report_error; - else -- einfo (_("%F%P: invalid option for -z lam-u57-report=: %s\n"), -+ fatal (_("%P: invalid option for -z lam-u57-report=: %s\n"), - optarg + 15); - } - else if (strncmp (optarg, "lam-report=", 11) == 0) -@@ -60,7 +60,7 @@ PARSE_AND_LIST_ARGS_CASE_Z_LAM=' - params.lam_u57_report = prop_report_error; - } - else -- einfo (_("%F%P: invalid option for -z lam-report=: %s\n"), -+ fatal (_("%P: invalid option for -z lam-report=: %s\n"), - optarg + 11); - } - ' -diff --git a/ld/emulparams/x86-64-level-report.sh b/ld/emulparams/x86-64-level-report.sh -index 518527767a4..0463ad95269 100644 ---- a/ld/emulparams/x86-64-level-report.sh -+++ b/ld/emulparams/x86-64-level-report.sh -@@ -16,7 +16,7 @@ PARSE_AND_LIST_ARGS_CASE_Z_X86_64_LEVEL_REPORT=' - else if (strcmp (optarg + 17, "used") == 0) - params.isa_level_report = isa_level_report_used; - else -- einfo (_("%F%P: invalid option for -z isa-level-report=: %s\n"), -+ fatal (_("%P: invalid option for -z isa-level-report=: %s\n"), - optarg + 17); - } - ' -diff --git a/ld/emulparams/x86-64-level.sh b/ld/emulparams/x86-64-level.sh -index c46aacf3aff..7e27cf1ea45 100644 ---- a/ld/emulparams/x86-64-level.sh -+++ b/ld/emulparams/x86-64-level.sh -@@ -10,7 +10,7 @@ PARSE_AND_LIST_ARGS_CASE_Z_X86_64_LEVEL=' - char *end; - unsigned int level = strtoul (optarg + 8 , &end, 10); - if (*end != '\0' || level < 2 || level > 4) -- einfo (_("%F%P: invalid x86-64 ISA level: %s\n"), optarg); -+ fatal (_("%P: invalid x86-64 ISA level: %s\n"), optarg); - params.isa_level = level; - } - ' -diff --git a/ld/emultempl/aarch64elf.em b/ld/emultempl/aarch64elf.em -index 7791aabf16d..afa91afb608 100644 ---- a/ld/emultempl/aarch64elf.em -+++ b/ld/emultempl/aarch64elf.em -@@ -324,7 +324,7 @@ aarch64_elf_create_output_section_statements (void) - These will only be created if the output format is an AArch64 format, - hence we do not support linking and changing output formats at the - same time. Use a link followed by objcopy to change output formats. */ -- einfo (_("%F%P: error: cannot change output format " -+ fatal (_("%P: error: cannot change output format " - "whilst linking %s binaries\n"), "AArch64"); - return; - } -@@ -346,7 +346,7 @@ aarch64_elf_create_output_section_statements (void) - bfd_get_arch (link_info.output_bfd), - bfd_get_mach (link_info.output_bfd))) - { -- einfo (_("%F%P: can not create BFD: %E\n")); -+ fatal (_("%P: can not create BFD: %E\n")); - return; - } - -@@ -583,7 +583,7 @@ PARSE_AND_LIST_ARGS_CASES=' - - group_size = bfd_scan_vma (optarg, &end, 0); - if (*end) -- einfo (_("%F%P: invalid number `%s'\''\n"), optarg); -+ fatal (_("%P: invalid number `%s'\''\n"), optarg); - } - break; - ' -diff --git a/ld/emultempl/aix.em b/ld/emultempl/aix.em -index d69e13cfa91..7754c1607b3 100644 ---- a/ld/emultempl/aix.em -+++ b/ld/emultempl/aix.em -@@ -307,7 +307,7 @@ read_file_list (const char *filename) - f = fopen (filename, FOPEN_RT); - if (f == NULL) - { -- einfo (_("%F%P: cannot open %s\n"), filename); -+ fatal (_("%P: cannot open %s\n"), filename); - return; - } - if (fseek (f, 0L, SEEK_END) == -1) -@@ -354,8 +354,8 @@ read_file_list (const char *filename) - return; - - error: -- einfo (_("%F%P: cannot read %s\n"), optarg); - fclose (f); -+ fatal (_("%P: cannot read %s\n"), optarg); - } - - static bool -@@ -706,7 +706,7 @@ gld${EMULATION_NAME}_after_open (void) - size = (p->count + 2) * 4; - if (!bfd_xcoff_link_record_set (link_info.output_bfd, &link_info, - p->h, size)) -- einfo (_("%F%P: bfd_xcoff_link_record_set failed: %E\n")); -+ fatal (_("%P: bfd_xcoff_link_record_set failed: %E\n")); - } - } - -@@ -736,9 +736,9 @@ gld${EMULATION_NAME}_before_allocation (void) - - h = bfd_link_hash_lookup (link_info.hash, el->name, false, false, false); - if (h == NULL) -- einfo (_("%F%P: bfd_link_hash_lookup of export symbol failed: %E\n")); -+ fatal (_("%P: bfd_link_hash_lookup of export symbol failed: %E\n")); - if (!bfd_xcoff_export_symbol (link_info.output_bfd, &link_info, h)) -- einfo (_("%F%P: bfd_xcoff_export_symbol failed: %E\n")); -+ fatal (_("%P: bfd_xcoff_export_symbol failed: %E\n")); - } - - /* Track down all relocations called for by the linker script (these -@@ -821,7 +821,7 @@ gld${EMULATION_NAME}_before_allocation (void) - (link_info.output_bfd, &link_info, libpath, entry_symbol.name, - file_align, maxstack, maxdata, gc && !unix_ld, - modtype, textro, flags, special_sections, rtld)) -- einfo (_("%F%P: failed to set dynamic section sizes: %E\n")); -+ fatal (_("%P: failed to set dynamic section sizes: %E\n")); - - /* Look through the special sections, and put them in the right - place in the link ordering. This is especially magic. */ -@@ -843,8 +843,8 @@ gld${EMULATION_NAME}_before_allocation (void) - is = NULL; - os = lang_output_section_get (sec->output_section); - if (os == NULL) -- einfo (_("%F%P: can't find output section %s\n"), -- sec->output_section->name); -+ fatal (_("%P: can't find output section %pA\n"), -+ sec->output_section); - - for (pls = &os->children.head; *pls != NULL; pls = &(*pls)->header.next) - { -@@ -880,8 +880,7 @@ gld${EMULATION_NAME}_before_allocation (void) - - if (is == NULL) - { -- einfo (_("%F%P: can't find %s in output section\n"), -- bfd_section_name (sec)); -+ fatal (_("%P: can't find %pA in output section\n"), sec); - } - - /* Now figure out where the section should go. */ -@@ -1134,7 +1133,7 @@ gld${EMULATION_NAME}_after_allocation (void) - - /* Now that everything is in place, finalize the dynamic sections. */ - if (!bfd_xcoff_build_dynamic_sections (link_info.output_bfd, &link_info)) -- einfo (_("%F%P: failed to layout dynamic sections: %E\n")); -+ fatal (_("%P: failed to layout dynamic sections: %E\n")); - - if (!bfd_link_relocatable (&link_info)) - { -@@ -1285,7 +1284,7 @@ gld${EMULATION_NAME}_read_file (const char *filename, bool import) - if (f == NULL) - { - bfd_set_error (bfd_error_system_call); -- einfo ("%F%P: %s: %E\n", filename); -+ fatal ("%P: %s: %E\n", filename); - return; - } - -@@ -1347,7 +1346,7 @@ gld${EMULATION_NAME}_read_file (const char *filename, bool import) - obstack_free (o, obstack_base (o)); - } - else if (*s == '(') -- einfo (_("%F%P:%s:%d: #! ([member]) is not supported " -+ fatal (_("%P:%s:%d: #! ([member]) is not supported " - "in import files\n"), - filename, linenumber); - else -@@ -1364,7 +1363,7 @@ gld${EMULATION_NAME}_read_file (const char *filename, bool import) - *s = '\0'; - if (!bfd_xcoff_split_import_path (link_info.output_bfd, - start, &imppath, &impfile)) -- einfo (_("%F%P: could not parse import path: %E\n")); -+ fatal (_("%P: could not parse import path: %E\n")); - while (ISSPACE (cs)) - { - ++s; -@@ -1519,10 +1518,10 @@ gld${EMULATION_NAME}_find_relocs (lang_statement_union_type *s) - - rs = &s->reloc_statement; - if (rs->name == NULL) -- einfo (_("%F%P: only relocations against symbols are permitted\n")); -+ fatal (_("%P: only relocations against symbols are permitted\n")); - if (!bfd_xcoff_link_count_reloc (link_info.output_bfd, &link_info, - rs->name)) -- einfo (_("%F%P: bfd_xcoff_link_count_reloc failed: %E\n")); -+ fatal (_("%P: bfd_xcoff_link_count_reloc failed: %E\n")); - } - - if (s->header.type == lang_assignment_statement_enum) -@@ -1551,7 +1550,7 @@ gld${EMULATION_NAME}_find_exp_assignment (etree_type *exp) - if (!bfd_xcoff_record_link_assignment (link_info.output_bfd, - &link_info, - exp->assign.dst)) -- einfo (_("%F%P: failed to record assignment to %s: %E\n"), -+ fatal (_("%P: failed to record assignment to %s: %E\n"), - exp->assign.dst); - } - gld${EMULATION_NAME}_find_exp_assignment (exp->assign.src); -@@ -1646,7 +1645,7 @@ gld${EMULATION_NAME}_create_output_section_statements (void) - bfd_get_arch (link_info.output_bfd), - bfd_get_mach (link_info.output_bfd))) - { -- einfo (_("%F%P: can not create stub BFD: %E\n")); -+ fatal (_("%P: can not create stub BFD: %E\n")); - return; - } - -@@ -1656,7 +1655,7 @@ gld${EMULATION_NAME}_create_output_section_statements (void) - - /* Pass linker params to the back-end. */ - if (!bfd_xcoff_link_init (&link_info, ¶ms)) -- einfo (_("%F%P: can not init BFD: %E\n")); -+ fatal (_("%P: can not init BFD: %E\n")); - - /* __rtinit */ - if (link_info.init_function != NULL -@@ -1673,7 +1672,7 @@ gld${EMULATION_NAME}_create_output_section_statements (void) - bfd_get_arch (link_info.output_bfd), - bfd_get_mach (link_info.output_bfd))) - { -- einfo (_("%F%P: can not create BFD: %E\n")); -+ fatal (_("%P: can not create BFD: %E\n")); - return; - } - -@@ -1683,7 +1682,7 @@ gld${EMULATION_NAME}_create_output_section_statements (void) - link_info.fini_function, - rtld)) - { -- einfo (_("%F%P: can not create BFD: %E\n")); -+ fatal (_("%P: can not create BFD: %E\n")); - return; - } - -diff --git a/ld/emultempl/armelf.em b/ld/emultempl/armelf.em -index 02a97e7c1ff..6f652c59a3c 100644 ---- a/ld/emultempl/armelf.em -+++ b/ld/emultempl/armelf.em -@@ -521,7 +521,7 @@ arm_elf_create_output_section_statements (void) - These will only be created if the output format is an arm format, - hence we do not support linking and changing output formats at the - same time. Use a link followed by objcopy to change output formats. */ -- einfo (_("%F%P: error: cannot change output format " -+ fatal (_("%P: error: cannot change output format " - "whilst linking %s binaries\n"), "ARM"); - return; - } -@@ -532,10 +532,10 @@ arm_elf_create_output_section_statements (void) - bfd_get_target (link_info.output_bfd)); - - if (params.in_implib_bfd == NULL) -- einfo (_("%F%P: %s: can't open: %E\n"), in_implib_filename); -+ fatal (_("%P: %s: can't open: %E\n"), in_implib_filename); - - if (!bfd_check_format (params.in_implib_bfd, bfd_object)) -- einfo (_("%F%P: %s: not a relocatable file: %E\n"), in_implib_filename); -+ fatal (_("%P: %s: not a relocatable file: %E\n"), in_implib_filename); - } - - bfd_elf32_arm_set_target_params (link_info.output_bfd, &link_info, ¶ms); -@@ -549,7 +549,7 @@ arm_elf_create_output_section_statements (void) - bfd_get_arch (link_info.output_bfd), - bfd_get_mach (link_info.output_bfd))) - { -- einfo (_("%F%P: can not create BFD: %E\n")); -+ fatal (_("%P: can not create BFD: %E\n")); - return; - } - -@@ -709,7 +709,7 @@ PARSE_AND_LIST_ARGS_CASES=' - - group_size = bfd_scan_vma (optarg, &end, 0); - if (*end) -- einfo (_("%F%P: invalid number `%s'\''\n"), optarg); -+ fatal (_("%P: invalid number `%s'\''\n"), optarg); - } - break; - -diff --git a/ld/emultempl/avrelf.em b/ld/emultempl/avrelf.em -index 0945702bfb6..ad2de99feee 100644 ---- a/ld/emultempl/avrelf.em -+++ b/ld/emultempl/avrelf.em -@@ -116,7 +116,7 @@ avr_elf_create_output_section_statements (void) - - if (bfd_get_flavour (link_info.output_bfd) != bfd_target_elf_flavour) - { -- einfo (_("%F%P: error: cannot change output format " -+ fatal (_("%P: error: cannot change output format " - "whilst linking %s binaries\n"), "AVR"); - return; - } -diff --git a/ld/emultempl/beos.em b/ld/emultempl/beos.em -index 52e615b8b1f..4082449f461 100644 ---- a/ld/emultempl/beos.em -+++ b/ld/emultempl/beos.em -@@ -210,7 +210,7 @@ set_pe_subsystem (void) - return; - } - } -- einfo (_("%F%P: invalid subsystem type %s\n"), optarg); -+ fatal (_("%P: invalid subsystem type %s\n"), optarg); - } - - -@@ -220,9 +220,7 @@ set_pe_value (char *name) - char *end; - set_pe_name (name, strtoul (optarg, &end, 0)); - if (end == optarg) -- { -- einfo (_("%F%P: invalid hex number for PE parameter '%s'\n"), optarg); -- } -+ fatal (_("%P: invalid hex number for PE parameter '%s'\n"), optarg); - - optarg = end; - } -@@ -237,9 +235,7 @@ set_pe_stack_heap (char *resname, char *comname) - set_pe_value (comname); - } - else if (*optarg) -- { -- einfo (_("%F%P: strange hex info for PE parameter '%s'\n"), optarg); -- } -+ fatal (_("%P: strange hex info for PE parameter '%s'\n"), optarg); - } - - -@@ -254,7 +250,7 @@ gld${EMULATION_NAME}_handle_option (int optc) - case OPTION_BASE_FILE: - link_info.base_file = fopen (optarg, FOPEN_WB); - if (link_info.base_file == NULL) -- einfo (_("%F%P: cannot open base file %s\n"), optarg); -+ fatal (_("%P: cannot open base file %s\n"), optarg); - break; - - /* PE options */ -@@ -363,9 +359,7 @@ gld${EMULATION_NAME}_after_open (void) - FIXME: This should be done via a function, rather than by - including an internal BFD header. */ - if (!obj_pe (link_info.output_bfd)) -- { -- einfo (_("%F%P: PE operations on non PE file\n")); -- } -+ fatal (_("%P: PE operations on non PE file\n")); - - pe_data(link_info.output_bfd)->pe_opthdr = pe; - pe_data(link_info.output_bfd)->dll = init[DLLOFF].value; -@@ -414,12 +408,12 @@ sort_by_file_name (const void *a, const void *b) - - if (!bfd_get_section_contents (sa->owner, sa, &a_sec, (file_ptr) 0, - (bfd_size_type) sizeof (a_sec))) -- einfo (_("%F%P: %pB: can't read contents of section .idata: %E\n"), -+ fatal (_("%P: %pB: can't read contents of section .idata: %E\n"), - sa->owner); - - if (!bfd_get_section_contents (sb->owner, sb, &b_sec, (file_ptr) 0, - (bfd_size_type) sizeof (b_sec))) -- einfo (_("%F%P: %pB: can't read contents of section .idata: %E\n"), -+ fatal (_("%P: %pB: can't read contents of section .idata: %E\n"), - sb->owner); - - i = a_sec < b_sec ? -1 : 0; -@@ -651,7 +645,7 @@ gld${EMULATION_NAME}_place_orphan (asection *s, - /* Everything from the '\$' on gets deleted so don't allow '\$' as the - first character. */ - if (*secname == '\$') -- einfo (_("%F%P: section %s has '\$' as first character\n"), secname); -+ fatal (_("%P: section %s has '\$' as first character\n"), secname); - if (strchr (secname + 1, '\$') == NULL) - return NULL; - -@@ -681,7 +675,7 @@ gld${EMULATION_NAME}_place_orphan (asection *s, - } - ps[0] = 0; - if (l == NULL) -- einfo (_("%F%P: *(%s\$) missing from linker script\n"), output_secname); -+ fatal (_("%P: *(%s\$) missing from linker script\n"), output_secname); - - /* Link the input section in and we're done for now. - The sections still have to be sorted, but that has to wait until -diff --git a/ld/emultempl/cr16elf.em b/ld/emultempl/cr16elf.em -index 27e616a823f..69ad393f124 100644 ---- a/ld/emultempl/cr16elf.em -+++ b/ld/emultempl/cr16elf.em -@@ -58,7 +58,7 @@ cr16_elf_after_open (void) - COFF and ELF. */ - if (bfd_get_flavour (abfd) != bfd_target_coff_flavour - && bfd_get_flavour (abfd) != bfd_target_elf_flavour) -- einfo (_("%F%P: %pB: all input objects must be COFF or ELF " -+ fatal (_("%P: %pB: all input objects must be COFF or ELF " - "for --embedded-relocs\n")); - - datasec = bfd_get_section_by_name (abfd, ".data.rel"); -@@ -82,7 +82,7 @@ cr16_elf_after_open (void) - | SEC_IN_MEMORY)) - || !bfd_set_section_alignment (relsec, 2) - || !bfd_set_section_size (relsec, datasec->reloc_count * 8)) -- einfo (_("%F%P: %pB: can not create .emreloc section: %E\n")); -+ fatal (_("%P: %pB: can not create .emreloc section: %E\n")); - } - - /* Double check that all other data sections are empty, as is -diff --git a/ld/emultempl/cskyelf.em b/ld/emultempl/cskyelf.em -index ab7f9656889..525e99b68fe 100644 ---- a/ld/emultempl/cskyelf.em -+++ b/ld/emultempl/cskyelf.em -@@ -151,7 +151,7 @@ csky_elf_create_output_section_statements (void) - bfd_get_arch (link_info.output_bfd), - bfd_get_mach (link_info.output_bfd))) - { -- einfo (_("%F%P: can not create BFD: %E\n")); -+ fatal (_("%P: can not create BFD: %E\n")); - return; - } - -@@ -318,7 +318,7 @@ PARSE_AND_LIST_ARGS_CASES=' - - group_size = bfd_scan_vma (optarg, &end, 0); - if (*end) -- einfo (_("%F%P: invalid number `%s'\''\n"), optarg); -+ fatal (_("%P: invalid number `%s'\''\n"), optarg); - } - break; - ' -diff --git a/ld/emultempl/elf.em b/ld/emultempl/elf.em -index 9dcb52e7514..431205fe644 100644 ---- a/ld/emultempl/elf.em -+++ b/ld/emultempl/elf.em -@@ -886,12 +886,12 @@ gld${EMULATION_NAME}_handle_option (int optc) - { - #ifndef HAVE_ZSTD - if (config.compress_debug == COMPRESS_DEBUG_ZSTD) -- einfo (_ ("%F%P: --compress-debug-sections=zstd: ld is not built " -- "with zstd support\n")); -+ fatal (_("%P: --compress-debug-sections=zstd: ld is not built " -+ "with zstd support\n")); - #endif - } - if (config.compress_debug == COMPRESS_UNKNOWN) -- einfo (_("%F%P: invalid --compress-debug-sections option: \`%s'\n"), -+ fatal (_("%P: invalid --compress-debug-sections option: \`%s'\n"), - optarg); - break; - -@@ -953,7 +953,7 @@ fragment <the_bfd)) -- einfo ("%F%P: can not init BFD: %E\n"); -+ einfo ("%P: can not init BFD: %E\n"); - } - - -diff --git a/ld/emultempl/loongarchelf.em b/ld/emultempl/loongarchelf.em -index de64b1d30de..928fd83ab15 100644 ---- a/ld/emultempl/loongarchelf.em -+++ b/ld/emultempl/loongarchelf.em -@@ -83,11 +83,11 @@ gld${EMULATION_NAME}_after_allocation (void) - && !bfd_link_relocatable (&link_info)) - { - if (lang_phdr_list == NULL) -- elf_seg_map (link_info.output_bfd) = NULL; -+ elf_seg_map (link_info.output_bfd) = NULL; - if (!_bfd_elf_map_sections_to_segments (link_info.output_bfd, - &link_info, - NULL)) -- einfo (_("%F%P: map sections to segments failed: %E\n")); -+ fatal (_("%P: map sections to segments failed: %E\n")); - } - - /* Adjust program header size and .eh_frame_hdr size before -diff --git a/ld/emultempl/m68hc1xelf.em b/ld/emultempl/m68hc1xelf.em -index a7c3a3eec48..155b95349ab 100644 ---- a/ld/emultempl/m68hc1xelf.em -+++ b/ld/emultempl/m68hc1xelf.em -@@ -159,7 +159,7 @@ m68hc11elf_create_output_section_statements (void) - bfd_get_arch (link_info.output_bfd), - bfd_get_mach (link_info.output_bfd))) - { -- einfo (_("%F%P: can not create BFD: %E\n")); -+ fatal (_("%P: can not create BFD: %E\n")); - return; - } - -diff --git a/ld/emultempl/m68kelf.em b/ld/emultempl/m68kelf.em -index c195812b85a..91fb3f8502a 100644 ---- a/ld/emultempl/m68kelf.em -+++ b/ld/emultempl/m68kelf.em -@@ -82,7 +82,7 @@ m68k_elf_after_open (void) - asection *datasec; - - if (bfd_get_flavour (abfd) != bfd_target_elf_flavour) -- einfo (_("%F%P: %pB: all input objects must be ELF " -+ fatal (_("%P: %pB: all input objects must be ELF " - "for --embedded-relocs\n")); - - datasec = bfd_get_section_by_name (abfd, ".data"); -@@ -106,7 +106,7 @@ m68k_elf_after_open (void) - if (relsec == NULL - || !bfd_set_section_alignment (relsec, 2) - || !bfd_set_section_size (relsec, datasec->reloc_count * 12)) -- einfo (_("%F%P: %pB: can not create .emreloc section: %E\n")); -+ fatal (_("%P: %pB: can not create .emreloc section: %E\n")); - } - - /* Double check that all other data sections are empty, as is -diff --git a/ld/emultempl/metagelf.em b/ld/emultempl/metagelf.em -index 85b8d379435..b6e59273dda 100644 ---- a/ld/emultempl/metagelf.em -+++ b/ld/emultempl/metagelf.em -@@ -59,7 +59,7 @@ metagelf_create_output_section_statements (void) - bfd_get_arch (link_info.output_bfd), - bfd_get_mach (link_info.output_bfd))) - { -- einfo (_("%F%P: can not create BFD: %E\n")); -+ fatal (_("%P: can not create BFD: %E\n")); - return; - } - -@@ -305,7 +305,7 @@ PARSE_AND_LIST_ARGS_CASES=' - const char *end; - group_size = bfd_scan_vma (optarg, &end, 0); - if (*end) -- einfo (_("%F%P: invalid number `%s'\''\n"), optarg); -+ fatal (_("%P: invalid number `%s'\''\n"), optarg); - } - break; - ' -diff --git a/ld/emultempl/mipself.em b/ld/emultempl/mipself.em -index 89e7a8945be..9aa15bda6e9 100644 ---- a/ld/emultempl/mipself.em -+++ b/ld/emultempl/mipself.em -@@ -152,7 +152,7 @@ mips_add_stub_section (const char *stub_sec_name, asection *input_section, - bfd_get_arch (link_info.output_bfd), - bfd_get_mach (link_info.output_bfd))) - { -- einfo (_("%F%P: can not create BFD: %E\n")); -+ fatal (_("%P: can not create BFD: %E\n")); - return NULL; - } - stub_bfd->flags |= BFD_LINKER_CREATED; -diff --git a/ld/emultempl/mmix-elfnmmo.em b/ld/emultempl/mmix-elfnmmo.em -index 8c62bf8274d..72589416ef0 100644 ---- a/ld/emultempl/mmix-elfnmmo.em -+++ b/ld/emultempl/mmix-elfnmmo.em -@@ -113,10 +113,7 @@ mmix_after_allocation (void) - bfd_set_section_vma (sec, 0); - - if (!_bfd_mmix_after_linker_allocation (link_info.output_bfd, &link_info)) -- { -- /* This is a fatal error; make einfo call not return. */ -- einfo (_("%F%P: can't finalize linker-allocated global registers\n")); -- } -+ fatal (_("%P: can't finalize linker-allocated global registers\n")); - } - EOF - -diff --git a/ld/emultempl/nds32elf.em b/ld/emultempl/nds32elf.em -index 9d596838078..e8c72d934f8 100644 ---- a/ld/emultempl/nds32elf.em -+++ b/ld/emultempl/nds32elf.em -@@ -44,7 +44,7 @@ nds32_elf_create_output_section_statements (void) - if (strstr (bfd_get_target (link_info.output_bfd), "nds32") == NULL) - { - /* Check the output target is nds32. */ -- einfo (_("%F%P: error: cannot change output format whilst " -+ fatal (_("%P: error: cannot change output format whilst " - "linking %s binaries\n"), "NDS32"); - return; - } -@@ -96,7 +96,7 @@ nds32_elf_after_open (void) - && abi_ver != (elf_elfheader (abfd)->e_flags & EF_NDS_ABI)) - { - /* Incompatible objects. */ -- einfo (_("%F%P: %pB: ABI version of object files mismatched\n"), -+ fatal (_("%P: %pB: ABI version of object files mismatched\n"), - abfd); - } - } -@@ -183,7 +183,7 @@ PARSE_AND_LIST_ARGS_CASES=' - { - sym_ld_script = fopen (optarg, FOPEN_WT); - if(sym_ld_script == NULL) -- einfo (_("%F%P: cannot open map file %s: %E\n"), optarg); -+ fatal (_("%P: cannot open map file %s: %E\n"), optarg); - } - break; - case OPTION_HYPER_RELAX: -diff --git a/ld/emultempl/nto.em b/ld/emultempl/nto.em -index 873b943c45d..ee00c79c3cd 100644 ---- a/ld/emultempl/nto.em -+++ b/ld/emultempl/nto.em -@@ -51,7 +51,7 @@ nto_create_QNX_note_section(int type) - is called before this function, stub_file should already be defined. */ - if (!stub_file) - { -- einfo (_("%F%P: cannot create .note section in stub BFD.\n")); -+ fatal (_("%P: cannot create .note section in stub BFD.\n")); - return NULL; - } - -@@ -60,7 +60,7 @@ nto_create_QNX_note_section(int type) - note_sec = bfd_make_section_anyway_with_flags (stub_file->the_bfd, ".note", flags); - if (! note_sec) - { -- einfo (_("%F%P: failed to create .note section\n")); -+ fatal (_("%P: failed to create .note section\n")); - return NULL; - } - -@@ -101,7 +101,7 @@ nto_lookup_QNX_note_section(int type) - sec->contents = xmalloc(sec->size); - if (!bfd_get_section_contents (sec->owner, sec, sec->contents, (file_ptr) 0, - sec->size)) -- einfo (_("%F%P: %pB: can't read contents of section .note: %E\n"), -+ fatal (_("%P: %pB: can't read contents of section .note: %E\n"), - sec->owner); - - e_note = (Elf_External_Note *) sec->contents; -@@ -144,7 +144,7 @@ nto_add_note_section (void) { - - if (nto_lazy_stack && !link_info.stacksize) - { -- einfo (_("%F%P: error: --lazy-stack must follow -zstack-size=\n")); -+ fatal (_("%P: error: --lazy-stack must follow -zstack-size=\n")); - return; - } - -@@ -198,22 +198,22 @@ PARSE_AND_LIST_LONGOPTS=${PARSE_AND_LIST_LONGOPTS}' - PARSE_AND_LIST_OPTIONS=${PARSE_AND_LIST_OPTIONS}' - fprintf (file, _("\ - --stack Set size of the initial stack\n\ -- --lazy-stack Set lazy allocation of stack\n\ -+ --lazy-stack Set lazy allocation of stack\n\ - ")); - ' - - PARSE_AND_LIST_ARGS_CASES=${PARSE_AND_LIST_ARGS_CASES}' - case OPTION_STACK: - { -- char *end; -- link_info.stacksize = strtoul (optarg, &end, 0); -- if (*end || link_info.stacksize < 0) -- einfo (_("%F%P: invalid stack size `%s'\''\n"), optarg + 11); -- if (!link_info.stacksize) -- /* Use -1 for explicit no-stack, because zero means -- 'default'. */ -- link_info.stacksize = -1; -- break; -+ char *end; -+ link_info.stacksize = strtoul (optarg, &end, 0); -+ if (*end || link_info.stacksize < 0) -+ fatal (_("%P: invalid stack size `%s'\''\n"), optarg + 11); -+ if (!link_info.stacksize) -+ /* Use -1 for explicit no-stack, because zero means -+ 'default'. */ -+ link_info.stacksize = -1; -+ break; - } - case OPTION_LAZY_STACK: - nto_lazy_stack = true; -diff --git a/ld/emultempl/pe.em b/ld/emultempl/pe.em -index 5fb14c9a4a6..9a2b576a6ac 100644 ---- a/ld/emultempl/pe.em -+++ b/ld/emultempl/pe.em -@@ -648,7 +648,7 @@ set_pe_subsystem (void) - - if (v[i].name == NULL) - { -- einfo (_("%F%P: invalid subsystem type %s\n"), optarg); -+ fatal (_("%P: invalid subsystem type %s\n"), optarg); - return; - } - -@@ -669,7 +669,7 @@ set_pe_value (char *name) - set_pe_name (name, strtoul (optarg, &end, 0)); - - if (end == optarg) -- einfo (_("%F%P: invalid hex number for PE parameter '%s'\n"), optarg); -+ fatal (_("%P: invalid hex number for PE parameter '%s'\n"), optarg); - - optarg = end; - } -@@ -686,7 +686,7 @@ set_pe_stack_heap (char *resname, char *comname) - set_pe_value (comname); - } - else if (*optarg) -- einfo (_("%F%P: strange hex info for PE parameter '%s'\n"), optarg); -+ fatal (_("%P: strange hex info for PE parameter '%s'\n"), optarg); - } - - #define DEFAULT_BUILD_ID_STYLE "md5" -@@ -702,7 +702,7 @@ gld${EMULATION_NAME}_handle_option (int optc) - case OPTION_BASE_FILE: - link_info.base_file = fopen (optarg, FOPEN_WB); - if (link_info.base_file == NULL) -- einfo (_("%F%P: cannot open base file %s\n"), optarg); -+ fatal (_("%P: cannot open base file %s\n"), optarg); - break; - - /* PE options. */ -@@ -1231,7 +1231,7 @@ make_runtime_ref (void) - = bfd_wrapped_link_hash_lookup (link_info.output_bfd, &link_info, - rr, true, false, true); - if (!h) -- einfo (_("%F%P: bfd_link_hash_lookup failed: %E\n")); -+ fatal (_("%P: bfd_link_hash_lookup failed: %E\n")); - else - { - if (h->type == bfd_link_hash_new) -@@ -1529,7 +1529,7 @@ gld${EMULATION_NAME}_after_open (void) - if (bfd_get_flavour (link_info.output_bfd) != bfd_target_coff_flavour - || coff_data (link_info.output_bfd) == NULL - || !obj_pe (link_info.output_bfd)) -- einfo (_("%F%P: cannot perform PE operations on non PE output file '%pB'\n"), -+ fatal (_("%P: cannot perform PE operations on non PE output file '%pB'\n"), - link_info.output_bfd); - - pe_data (link_info.output_bfd)->pe_opthdr = pe; -@@ -1602,7 +1602,7 @@ gld${EMULATION_NAME}_after_open (void) - These will only be created if the output format is an arm format, - hence we do not support linking and changing output formats at the - same time. Use a link followed by objcopy to change output formats. */ -- einfo (_("%F%P: error: cannot change output format " -+ fatal (_("%P: error: cannot change output format " - "whilst linking %s binaries\n"), "ARM"); - return; - } -@@ -1662,7 +1662,7 @@ gld${EMULATION_NAME}_after_open (void) - - if (!bfd_generic_link_read_symbols (is->the_bfd)) - { -- einfo (_("%F%P: %pB: could not read symbols: %E\n"), -+ fatal (_("%P: %pB: could not read symbols: %E\n"), - is->the_bfd); - return; - } -@@ -1849,7 +1849,7 @@ gld${EMULATION_NAME}_after_open (void) - - if (!bfd_generic_link_read_symbols (is->the_bfd)) - { -- einfo (_("%F%P: %pB: could not read symbols: %E\n"), -+ fatal (_("%P: %pB: could not read symbols: %E\n"), - is->the_bfd); - return; - } -@@ -1960,7 +1960,7 @@ gld${EMULATION_NAME}_unrecognized_file (lang_input_statement_type *entry ATTRIBU - - h = bfd_link_hash_lookup (link_info.hash, buf, true, true, true); - if (h == (struct bfd_link_hash_entry *) NULL) -- einfo (_("%F%P: bfd_link_hash_lookup failed: %E\n")); -+ fatal (_("%P: bfd_link_hash_lookup failed: %E\n")); - if (h->type == bfd_link_hash_new) - { - h->type = bfd_link_hash_undefined; -diff --git a/ld/emultempl/pep.em b/ld/emultempl/pep.em -index df74352e4df..440c0bf5fc4 100644 ---- a/ld/emultempl/pep.em -+++ b/ld/emultempl/pep.em -@@ -625,7 +625,7 @@ set_pep_subsystem (void) - - if (v[i].name == NULL) - { -- einfo (_("%F%P: invalid subsystem type %s\n"), optarg); -+ fatal (_("%P: invalid subsystem type %s\n"), optarg); - return; - } - -@@ -646,7 +646,7 @@ set_pep_value (char *name) - set_pep_name (name, (bfd_vma) strtoull (optarg, &end, 0)); - - if (end == optarg) -- einfo (_("%F%P: invalid hex number for PE parameter '%s'\n"), optarg); -+ fatal (_("%P: invalid hex number for PE parameter '%s'\n"), optarg); - - optarg = end; - } -@@ -663,7 +663,7 @@ set_pep_stack_heap (char *resname, char *comname) - set_pep_value (comname); - } - else if (*optarg) -- einfo (_("%F%P: strange hex info for PE parameter '%s'\n"), optarg); -+ fatal (_("%P: strange hex info for PE parameter '%s'\n"), optarg); - } - - #define DEFAULT_BUILD_ID_STYLE "md5" -@@ -680,7 +680,7 @@ gld${EMULATION_NAME}_handle_option (int optc) - case OPTION_BASE_FILE: - link_info.base_file = fopen (optarg, FOPEN_WB); - if (link_info.base_file == NULL) -- einfo (_("%F%P: cannot open base file %s\n"), optarg); -+ fatal (_("%P: cannot open base file %s\n"), optarg); - break; - - /* PE options. */ -@@ -1233,7 +1233,7 @@ make_runtime_ref (void) - = bfd_wrapped_link_hash_lookup (link_info.output_bfd, &link_info, - rr, true, false, true); - if (!h) -- einfo (_("%F%P: bfd_link_hash_lookup failed: %E\n")); -+ fatal (_("%P: bfd_link_hash_lookup failed: %E\n")); - else - { - if (h->type == bfd_link_hash_new) -@@ -1533,7 +1533,7 @@ gld${EMULATION_NAME}_after_open (void) - if (bfd_get_flavour (link_info.output_bfd) != bfd_target_coff_flavour - || coff_data (link_info.output_bfd) == NULL - || !obj_pe (link_info.output_bfd)) -- einfo (_("%F%P: cannot perform PE operations on non PE output file '%pB'\n"), -+ fatal (_("%P: cannot perform PE operations on non PE output file '%pB'\n"), - link_info.output_bfd); - - pe_data (link_info.output_bfd)->pe_opthdr = pep; -@@ -1645,7 +1645,7 @@ gld${EMULATION_NAME}_after_open (void) - - if (!bfd_generic_link_read_symbols (is->the_bfd)) - { -- einfo (_("%F%P: %pB: could not read symbols: %E\n"), -+ fatal (_("%P: %pB: could not read symbols: %E\n"), - is->the_bfd); - return; - } -@@ -1849,7 +1849,7 @@ gld${EMULATION_NAME}_unrecognized_file (lang_input_statement_type *entry ATTRIBU - - h = bfd_link_hash_lookup (link_info.hash, buf, true, true, true); - if (h == (struct bfd_link_hash_entry *) NULL) -- einfo (_("%F%P: bfd_link_hash_lookup failed: %E\n")); -+ fatal (_("%P: bfd_link_hash_lookup failed: %E\n")); - if (h->type == bfd_link_hash_new) - { - h->type = bfd_link_hash_undefined; -diff --git a/ld/emultempl/ppc32elf.em b/ld/emultempl/ppc32elf.em -index 529a5920920..ae11bc9a072 100644 ---- a/ld/emultempl/ppc32elf.em -+++ b/ld/emultempl/ppc32elf.em -@@ -366,7 +366,7 @@ PARSE_AND_LIST_ARGS_CASES=${PARSE_AND_LIST_ARGS_CASES}' - char *end; - unsigned long val = strtoul (optarg, &end, 0); - if (*end || val > 5) -- einfo (_("%F%P: invalid --plt-align `%s'\''\n"), optarg); -+ fatal (_("%P: invalid --plt-align `%s'\''\n"), optarg); - params.plt_stub_align = val; - } - else -@@ -399,7 +399,7 @@ PARSE_AND_LIST_ARGS_CASES=${PARSE_AND_LIST_ARGS_CASES}' - if (*end - || (params.pagesize < 4096 && params.pagesize != 0) - || params.pagesize != (params.pagesize & -params.pagesize)) -- einfo (_("%F%P: invalid pagesize `%s'\''\n"), optarg); -+ fatal (_("%P: invalid pagesize `%s'\''\n"), optarg); - } - break; - -diff --git a/ld/emultempl/ppc64elf.em b/ld/emultempl/ppc64elf.em -index 1e6ae7af738..f7a8f1eb259 100644 ---- a/ld/emultempl/ppc64elf.em -+++ b/ld/emultempl/ppc64elf.em -@@ -91,7 +91,7 @@ ppc_create_output_section_statements (void) - bfd_get_arch (link_info.output_bfd), - bfd_get_mach (link_info.output_bfd))) - { -- einfo (_("%F%P: can not create BFD: %E\n")); -+ fatal (_("%P: can not create BFD: %E\n")); - return; - } - -@@ -101,7 +101,7 @@ ppc_create_output_section_statements (void) - if (params.save_restore_funcs < 0) - params.save_restore_funcs = !bfd_link_relocatable (&link_info); - if (!ppc64_elf_init_stub_bfd (&link_info, ¶ms)) -- einfo (_("%F%P: can not init BFD: %E\n")); -+ fatal (_("%P: can not init BFD: %E\n")); - } - - /* Called after opening files but before mapping sections. */ -@@ -825,7 +825,7 @@ PARSE_AND_LIST_ARGS_CASES=${PARSE_AND_LIST_ARGS_CASES}' - const char *end; - params.group_size = bfd_scan_vma (optarg, &end, 0); - if (*end) -- einfo (_("%F%P: invalid number `%s'\''\n"), optarg); -+ fatal (_("%P: invalid number `%s'\''\n"), optarg); - } - break; - -@@ -851,7 +851,7 @@ PARSE_AND_LIST_ARGS_CASES=${PARSE_AND_LIST_ARGS_CASES}' - char *end; - long val = strtol (optarg, &end, 0); - if (*end || (unsigned long) val + 8 > 16) -- einfo (_("%F%P: invalid --plt-align `%s'\''\n"), optarg); -+ fatal (_("%P: invalid --plt-align `%s'\''\n"), optarg); - params.plt_stub_align = val; - } - else -@@ -880,7 +880,7 @@ PARSE_AND_LIST_ARGS_CASES=${PARSE_AND_LIST_ARGS_CASES}' - else if (strcasecmp (optarg, "no") == 0) - params.power10_stubs = 0; - else -- einfo (_("%F%P: invalid --power10-stubs argument `%s'\''\n"), -+ fatal (_("%P: invalid --power10-stubs argument `%s'\''\n"), - optarg); - } - else -diff --git a/ld/emultempl/riscvelf.em b/ld/emultempl/riscvelf.em -index 6b67c7faa72..78e1fcde68e 100644 ---- a/ld/emultempl/riscvelf.em -+++ b/ld/emultempl/riscvelf.em -@@ -131,7 +131,7 @@ riscv_create_output_section_statements (void) - These will only be created if the output format is a RISC-V format, - hence we do not support linking and changing output formats at the - same time. Use a link followed by objcopy to change output formats. */ -- einfo (_("%F%P: error: cannot change output format" -+ fatal (_("%P: error: cannot change output format" - " whilst linking %s binaries\n"), "RISC-V"); - return; - } -diff --git a/ld/emultempl/s390.em b/ld/emultempl/s390.em -index 8548768cc5f..a2296627bad 100644 ---- a/ld/emultempl/s390.em -+++ b/ld/emultempl/s390.em -@@ -34,7 +34,7 @@ static void - s390_elf_create_output_section_statements (void) - { - if (!bfd_elf_s390_set_options (&link_info, ¶ms)) -- einfo (_("%F%P: can not init BFD: %E\n")); -+ fatal (_("%P: can not init BFD: %E\n")); - } - - EOF -diff --git a/ld/emultempl/scoreelf.em b/ld/emultempl/scoreelf.em -index d3a2205115b..fd67d5ceb94 100644 ---- a/ld/emultempl/scoreelf.em -+++ b/ld/emultempl/scoreelf.em -@@ -62,7 +62,7 @@ score_elf_after_open (void) - These will only be created if the output format is an score format, - hence we do not support linking and changing output formats at the - same time. Use a link followed by objcopy to change output formats. */ -- einfo (_("%F%P: error: cannot change output format " -+ fatal (_("%P: error: cannot change output format " - "whilst linking %s binaries\n"), "S+core"); - return; - } -diff --git a/ld/emultempl/spuelf.em b/ld/emultempl/spuelf.em -index 76776ba2555..cda9a06ac08 100644 ---- a/ld/emultempl/spuelf.em -+++ b/ld/emultempl/spuelf.em -@@ -202,7 +202,7 @@ spu_elf_load_ovl_mgr (void) - /* User supplied __ovly_load. */ - } - else if (mgr_stream->start == mgr_stream->end) -- einfo (_("%F%P: no built-in overlay manager\n")); -+ fatal (_("%P: no built-in overlay manager\n")); - else - { - lang_input_statement_type *ovl_is; -@@ -379,7 +379,7 @@ spu_elf_open_overlay_script (void) - if (script == NULL) - { - file_err: -- einfo (_("%F%P: can not open script: %E\n")); -+ fatal (_("%P: can not open script: %E\n")); - } - return script; - } -@@ -695,7 +695,7 @@ PARSE_AND_LIST_ARGS_CASES=' - if (*end == 0) - break; - } -- einfo (_("%F%P: invalid --local-store address range `%s'\''\n"), optarg); -+ fatal (_("%P: invalid --local-store address range `%s'\''\n"), optarg); - } - break; - -@@ -731,12 +731,12 @@ PARSE_AND_LIST_ARGS_CASES=' - if (!num_lines_set) - params.num_lines = 32; - else if ((params.num_lines & -params.num_lines) != params.num_lines) -- einfo (_("%F%P: invalid --num-lines/--num-regions `%u'\''\n"), -+ fatal (_("%P: invalid --num-lines/--num-regions `%u'\''\n"), - params.num_lines); - if (!line_size_set) - params.line_size = 1024; - else if ((params.line_size & -params.line_size) != params.line_size) -- einfo (_("%F%P: invalid --line-size/--region-size `%u'\''\n"), -+ fatal (_("%P: invalid --line-size/--region-size `%u'\''\n"), - params.line_size); - break; - -@@ -757,7 +757,7 @@ PARSE_AND_LIST_ARGS_CASES=' - && (params.ovly_flavour != ovly_soft_icache - || (params.num_lines & -params.num_lines) == params.num_lines)) - break; -- einfo (_("%F%P: invalid --num-lines/--num-regions `%s'\''\n"), optarg); -+ fatal (_("%P: invalid --num-lines/--num-regions `%s'\''\n"), optarg); - } - break; - -@@ -770,7 +770,7 @@ PARSE_AND_LIST_ARGS_CASES=' - && (params.ovly_flavour != ovly_soft_icache - || (params.line_size & -params.line_size) == params.line_size)) - break; -- einfo (_("%F%P: invalid --line-size/--region-size `%s'\''\n"), optarg); -+ fatal (_("%P: invalid --line-size/--region-size `%s'\''\n"), optarg); - } - break; - -@@ -779,7 +779,7 @@ PARSE_AND_LIST_ARGS_CASES=' - char *end; - params.auto_overlay_fixed = strtoul (optarg, &end, 0); - if (*end != 0) -- einfo (_("%F%P: invalid --fixed-space value `%s'\''\n"), optarg); -+ fatal (_("%P: invalid --fixed-space value `%s'\''\n"), optarg); - } - break; - -@@ -788,7 +788,7 @@ PARSE_AND_LIST_ARGS_CASES=' - char *end; - params.auto_overlay_reserved = strtoul (optarg, &end, 0); - if (*end != 0) -- einfo (_("%F%P: invalid --reserved-space value `%s'\''\n"), optarg); -+ fatal (_("%P: invalid --reserved-space value `%s'\''\n"), optarg); - } - break; - -@@ -797,7 +797,7 @@ PARSE_AND_LIST_ARGS_CASES=' - char *end; - params.extra_stack_space = strtol (optarg, &end, 0); - if (*end != 0) -- einfo (_("%F%P: invalid --extra-stack-space value `%s'\''\n"), optarg); -+ fatal (_("%P: invalid --extra-stack-space value `%s'\''\n"), optarg); - } - break; - -diff --git a/ld/emultempl/tic6xdsbt.em b/ld/emultempl/tic6xdsbt.em -index 0680bc81112..4aec9aebe6f 100644 ---- a/ld/emultempl/tic6xdsbt.em -+++ b/ld/emultempl/tic6xdsbt.em -@@ -59,10 +59,8 @@ tic6x_after_open (void) - if (is_tic6x_target ()) - { - if (params.dsbt_index >= params.dsbt_size) -- { -- einfo (_("%F%P: invalid --dsbt-index %d, outside DSBT size\n"), -- params.dsbt_index); -- } -+ fatal (_("%P: invalid --dsbt-index %d, outside DSBT size\n"), -+ params.dsbt_index); - elf32_tic6x_setup (&link_info, ¶ms); - } - -@@ -186,7 +184,7 @@ PARSE_AND_LIST_ARGS_CASES=' - if (*end == 0 - && params.dsbt_index >= 0 && params.dsbt_index < 0x7fff) - break; -- einfo (_("%F%P: invalid --dsbt-index %s\n"), optarg); -+ fatal (_("%P: invalid --dsbt-index %s\n"), optarg); - } - break; - case OPTION_DSBT_SIZE: -@@ -196,7 +194,7 @@ PARSE_AND_LIST_ARGS_CASES=' - if (*end == 0 - && params.dsbt_size >= 0 && params.dsbt_size < 0x7fff) - break; -- einfo (_("%F%P: invalid --dsbt-size %s\n"), optarg); -+ fatal (_("%P: invalid --dsbt-size %s\n"), optarg); - } - break; - case OPTION_NO_MERGE_EXIDX_ENTRIES: -diff --git a/ld/emultempl/ticoff.em b/ld/emultempl/ticoff.em -index d4ef91f7af2..2e6a4a0ae6f 100644 ---- a/ld/emultempl/ticoff.em -+++ b/ld/emultempl/ticoff.em -@@ -88,9 +88,7 @@ gld${EMULATION_NAME}_handle_option (int optc) - lang_add_output_format (buf, NULL, NULL, 0); - } - else -- { -- einfo (_("%F%P: invalid COFF format version %s\n"), optarg); -- } -+ fatal (_("%P: invalid COFF format version %s\n"), optarg); - break; - } - return false; -diff --git a/ld/emultempl/v850elf.em b/ld/emultempl/v850elf.em -index 84cd589a057..92a1ac4d784 100644 ---- a/ld/emultempl/v850elf.em -+++ b/ld/emultempl/v850elf.em -@@ -63,7 +63,7 @@ v850_create_output_section_statements (void) - These will only be created if the output format is an arm format, - hence we do not support linking and changing output formats at the - same time. Use a link followed by objcopy to change output formats. */ -- einfo (_("%F%P: error: cannot change output format" -+ fatal (_("%P: error: cannot change output format" - " whilst linking %s binaries\n"), "V850"); - return; - } -diff --git a/ld/emultempl/vms.em b/ld/emultempl/vms.em -index 1b68b0db64f..5bb6ae2a430 100644 ---- a/ld/emultempl/vms.em -+++ b/ld/emultempl/vms.em -@@ -200,7 +200,7 @@ gld${EMULATION_NAME}_before_allocation (void) - if (bed->elf_backend_late_size_sections - && !bed->elf_backend_late_size_sections (link_info.output_bfd, - &link_info)) -- einfo (_("%F%P: failed to set dynamic section sizes: %E\n")); -+ fatal (_("%P: failed to set dynamic section sizes: %E\n")); - - before_allocation_default (); - } -diff --git a/ld/emultempl/xtensaelf.em b/ld/emultempl/xtensaelf.em -index e3a9b2e6cf8..027b7732d2d 100644 ---- a/ld/emultempl/xtensaelf.em -+++ b/ld/emultempl/xtensaelf.em -@@ -390,7 +390,7 @@ check_xtensa_info (bfd *abfd, asection *info_sec) - - data = xmalloc (info_sec->size); - if (! bfd_get_section_contents (abfd, info_sec, data, 0, info_sec->size)) -- einfo (_("%F%P: %pB: cannot read contents of section %pA\n"), abfd, info_sec); -+ fatal (_("%P: %pB: cannot read contents of section %pA\n"), abfd, info_sec); - - if (info_sec->size > 24 - && info_sec->size >= 24 + bfd_get_32 (abfd, data + 4) -@@ -431,13 +431,13 @@ elf_xtensa_before_allocation (void) - if (is_big_endian - && link_info.output_bfd->xvec->byteorder == BFD_ENDIAN_LITTLE) - { -- einfo (_("%F%P: little endian output does not match " -+ fatal (_("%P: little endian output does not match " - "Xtensa configuration\n")); - } - if (!is_big_endian - && link_info.output_bfd->xvec->byteorder == BFD_ENDIAN_BIG) - { -- einfo (_("%F%P: big endian output does not match " -+ fatal (_("%P: big endian output does not match " - "Xtensa configuration\n")); - } - -@@ -456,7 +456,7 @@ elf_xtensa_before_allocation (void) - cannot go any further if there are any mismatches. */ - if ((is_big_endian && f->the_bfd->xvec->byteorder == BFD_ENDIAN_LITTLE) - || (!is_big_endian && f->the_bfd->xvec->byteorder == BFD_ENDIAN_BIG)) -- einfo (_("%F%P: cross-endian linking for %pB not supported\n"), -+ fatal (_("%P: cross-endian linking for %pB not supported\n"), - f->the_bfd); - - if (! first_bfd) -@@ -487,7 +487,7 @@ elf_xtensa_before_allocation (void) - info_sec = bfd_make_section_with_flags (first_bfd, ".xtensa.info", - SEC_HAS_CONTENTS | SEC_READONLY); - if (! info_sec) -- einfo (_("%F%P: failed to create .xtensa.info section\n")); -+ fatal (_("%P: failed to create .xtensa.info section\n")); - } - if (info_sec) - { -@@ -1226,7 +1226,7 @@ ld_build_required_section_dependence (lang_statement_union_type *s) - lang_statement_union_type *l = iter_stack_current (&stack); - - if (l == NULL && link_info.non_contiguous_regions) -- einfo (_("%F%P: Relaxation not supported with " -+ fatal (_("%P: Relaxation not supported with " - "--enable-non-contiguous-regions.\n")); - - if (l->header.type == lang_input_section_enum) -diff --git a/ld/emultempl/z80.em b/ld/emultempl/z80.em -index a2a7f28aa89..d566b9ac398 100644 ---- a/ld/emultempl/z80.em -+++ b/ld/emultempl/z80.em -@@ -48,7 +48,7 @@ z80_after_open (void) - const bfd_arch_info_type *info; - info = bfd_arch_get_compatible (link_info.output_bfd, abfd, false); - if (info == NULL) -- einfo (_("%F%P: %pB: Instruction sets of object files incompatible\n"), -+ fatal (_("%P: %pB: Instruction sets of object files incompatible\n"), - abfd); - else - bfd_set_arch_info (link_info.output_bfd, info); -diff --git a/ld/ldcref.c b/ld/ldcref.c -index 226d4e67adf..5d7891f6321 100644 ---- a/ld/ldcref.c -+++ b/ld/ldcref.c -@@ -514,7 +514,7 @@ check_local_sym_xref (lang_input_statement_type *statement) - return; - - if (!bfd_generic_link_read_symbols (abfd)) -- einfo (_("%F%P: %pB: could not read symbols: %E\n"), abfd); -+ fatal (_("%P: %pB: could not read symbols: %E\n"), abfd); - - for (syms = bfd_get_outsymbols (abfd); *syms; ++syms) - { -@@ -625,7 +625,7 @@ check_refs (const char *name, - BFD might contain a prohibited cross reference. */ - - if (!bfd_generic_link_read_symbols (abfd)) -- einfo (_("%F%P: %pB: could not read symbols: %E\n"), abfd); -+ fatal (_("%P: %pB: could not read symbols: %E\n"), abfd); - - info.sym_name = name; - info.global = global; -@@ -687,14 +687,14 @@ check_reloc_refs (bfd *abfd, asection *sec, void *iarg) - - relsize = bfd_get_reloc_upper_bound (abfd, sec); - if (relsize < 0) -- einfo (_("%F%P: %pB: could not read relocs: %E\n"), abfd); -+ fatal (_("%P: %pB: could not read relocs: %E\n"), abfd); - if (relsize == 0) - return; - - relpp = (arelent **) xmalloc (relsize); - relcount = bfd_canonicalize_reloc (abfd, sec, relpp, info->asymbols); - if (relcount < 0) -- einfo (_("%F%P: %pB: could not read relocs: %E\n"), abfd); -+ fatal (_("%P: %pB: could not read relocs: %E\n"), abfd); - - p = relpp; - pend = p + relcount; -diff --git a/ld/ldelf.c b/ld/ldelf.c -index efa654c843c..f4f27fc3873 100644 ---- a/ld/ldelf.c -+++ b/ld/ldelf.c -@@ -95,7 +95,7 @@ ldelf_after_parse (void) - else if (!link_info.maxpagesize_is_set) - link_info.maxpagesize = link_info.commonpagesize; - else -- einfo (_("%F%P: common page size (0x%v) > maximum page size (0x%v)\n"), -+ fatal (_("%P: common page size (0x%v) > maximum page size (0x%v)\n"), - link_info.commonpagesize, link_info.maxpagesize); - } - } -@@ -121,7 +121,7 @@ ldelf_load_symbols (lang_input_statement_type *entry) - - if (entry->flags.just_syms - && (bfd_get_file_flags (entry->the_bfd) & DYNAMIC) != 0) -- einfo (_("%F%P: %pB: --just-symbols may not be used on DSO\n"), -+ fatal (_("%P: %pB: --just-symbols may not be used on DSO\n"), - entry->the_bfd); - - if (link_class == 0 -@@ -321,7 +321,7 @@ ldelf_try_needed (struct dt_needed *needed, int force, int is_linux) - struct bfd_link_needed_list *needs; - - if (! bfd_elf_get_bfd_needed_list (abfd, &needs)) -- einfo (_("%F%P: %pB: bfd_elf_get_bfd_needed_list failed: %E\n"), abfd); -+ fatal (_("%P: %pB: bfd_elf_get_bfd_needed_list failed: %E\n"), abfd); - - if (needs != NULL) - { -@@ -369,7 +369,7 @@ ldelf_try_needed (struct dt_needed *needed, int force, int is_linux) - can only check that using stat. */ - - if (bfd_stat (abfd, &global_stat) != 0) -- einfo (_("%F%P: %pB: bfd_stat failed: %E\n"), abfd); -+ fatal (_("%P: %pB: bfd_stat failed: %E\n"), abfd); - - /* First strip off everything before the last '/'. */ - soname = lbasename (bfd_get_filename (abfd)); -@@ -408,7 +408,7 @@ ldelf_try_needed (struct dt_needed *needed, int force, int is_linux) - - /* Add this file into the symbol table. */ - if (! bfd_link_add_symbols (abfd, &link_info)) -- einfo (_("%F%P: %pB: error adding symbols: %E\n"), abfd); -+ fatal (_("%P: %pB: error adding symbols: %E\n"), abfd); - - return true; - } -@@ -1209,7 +1209,7 @@ ldelf_handle_dt_needed (struct elf_link_hash_table *htab, - && elf_dt_name (abfd) != NULL) - { - if (bfd_elf_add_dt_needed_tag (abfd, &link_info) < 0) -- einfo (_("%F%P: failed to add DT_NEEDED dynamic tag\n")); -+ fatal (_("%P: failed to add DT_NEEDED dynamic tag\n")); - } - - link_info.input_bfds_tail = save_input_bfd_tail; -@@ -1260,10 +1260,8 @@ ldelf_after_open (int use_libpath, int native, int is_linux, int is_freebsd, - bfd_get_target (link_info.output_bfd)); - - if (link_info.out_implib_bfd == NULL) -- { -- einfo (_("%F%P: %s: can't open for writing: %E\n"), -- command_line.out_implib_filename); -- } -+ fatal (_("%P: %s: can't open for writing: %E\n"), -+ command_line.out_implib_filename); - } - - if (ldelf_emit_note_gnu_build_id != NULL -@@ -1317,7 +1315,7 @@ ldelf_after_open (int use_libpath, int native, int is_linux, int is_freebsd, - && (elf_tdata (abfd)->elf_header->e_type == ET_EXEC - || (elf_tdata (abfd)->elf_header->e_type == ET_DYN - && elf_tdata (abfd)->is_pie))) -- einfo (_("%F%P: cannot use executable file '%pB' as input to a link\n"), -+ fatal (_("%P: cannot use executable file '%pB' as input to a link\n"), - abfd); - } - -@@ -1371,7 +1369,7 @@ ldelf_after_open (int use_libpath, int native, int is_linux, int is_freebsd, - } - else if (seen_type != type) - { -- einfo (_("%F%P: compact frame descriptions incompatible with" -+ fatal (_("%P: compact frame descriptions incompatible with" - " DWARF2 .eh_frame from %pB\n"), - type == DWARF2_EH_HDR ? abfd : elfbfd); - break; -@@ -1413,7 +1411,7 @@ ldelf_after_open (int use_libpath, int native, int is_linux, int is_freebsd, - - if (link_info.eh_frame_hdr_type == COMPACT_EH_HDR) - if (!bfd_elf_parse_eh_frame_entries (NULL, &link_info)) -- einfo (_("%F%P: failed to parse EH frame entries\n")); -+ fatal (_("%P: failed to parse EH frame entries\n")); - - ldelf_handle_dt_needed (htab, use_libpath, native, is_linux, - is_freebsd, elfsize, prefix); -@@ -1672,7 +1670,7 @@ ldelf_find_exp_assignment (etree_type *exp) - &link_info, - exp->assign.dst, provide, - exp->assign.hidden)) -- einfo (_("%F%P: failed to record assignment to %s: %E\n"), -+ fatal (_("%P: failed to record assignment to %s: %E\n"), - exp->assign.dst); - } - ldelf_find_exp_assignment (exp->assign.src); -@@ -1852,7 +1850,7 @@ ldelf_before_allocation (char *audit, char *depaudit, - command_line.filter_shlib, audit, depaudit, - (const char * const *) command_line.auxiliary_filters, - &link_info, &sinterp))) -- einfo (_("%F%P: failed to set dynamic section sizes: %E\n")); -+ fatal (_("%P: failed to set dynamic section sizes: %E\n")); - - if (sinterp != NULL) - { -@@ -1889,8 +1887,8 @@ ldelf_before_allocation (char *audit, char *depaudit, - msg = (char *) xmalloc ((size_t) (sz + 1)); - if (! bfd_get_section_contents (is->the_bfd, s, msg, - (file_ptr) 0, sz)) -- einfo (_("%F%P: %pB: can't read contents of section .gnu.warning: %E\n"), -- is->the_bfd); -+ fatal (_("%P: %pB: can't read contents of section %pA: %E\n"), -+ is->the_bfd, s); - msg[sz] = '\0'; - (*link_info.callbacks->warning) (&link_info, msg, - (const char *) NULL, is->the_bfd, -@@ -1917,7 +1915,7 @@ ldelf_before_allocation (char *audit, char *depaudit, - before_allocation_default (); - - if (!bfd_elf_size_dynsym_hash_dynstr (link_info.output_bfd, &link_info)) -- einfo (_("%F%P: failed to set dynamic section sizes: %E\n")); -+ fatal (_("%P: failed to set dynamic section sizes: %E\n")); - - if (ehdr_start != NULL) - { -diff --git a/ld/ldelfgen.c b/ld/ldelfgen.c -index c649768634c..8e84b7a5b3f 100644 ---- a/ld/ldelfgen.c -+++ b/ld/ldelfgen.c -@@ -282,7 +282,7 @@ ldelf_map_segments (bool need_layout) - if (os_info->ordered != os_info->count - && bfd_link_relocatable (&link_info)) - { -- einfo (_("%F%P: " -+ fatal (_("%P: " - "%pA has both ordered and unordered sections\n"), - os->bfd_section); - return; -@@ -307,7 +307,7 @@ ldelf_map_segments (bool need_layout) - if (!_bfd_elf_map_sections_to_segments (link_info.output_bfd, - &link_info, - &need_layout)) -- einfo (_("%F%P: map sections to segments failed: %E\n")); -+ fatal (_("%P: map sections to segments failed: %E\n")); - - if (phdr_size != elf_program_header_size (link_info.output_bfd)) - { -@@ -327,7 +327,7 @@ ldelf_map_segments (bool need_layout) - while (need_layout && --tries); - - if (tries == 0) -- einfo (_("%F%P: looping in map_segments\n")); -+ fatal (_("%P: looping in map_segments\n")); - - if (bfd_get_flavour (link_info.output_bfd) == bfd_target_elf_flavour - && lang_phdr_list == NULL) -@@ -337,9 +337,8 @@ ldelf_map_segments (bool need_layout) - const struct elf_backend_data *bed - = get_elf_backend_data (link_info.output_bfd); - if (bed->elf_backend_strip_zero_sized_dynamic_sections -- && !bed->elf_backend_strip_zero_sized_dynamic_sections -- (&link_info)) -- einfo (_("%F%P: failed to strip zero-sized dynamic sections\n")); -+ && !bed->elf_backend_strip_zero_sized_dynamic_sections (&link_info)) -+ fatal (_("%P: failed to strip zero-sized dynamic sections\n")); - } - } - -@@ -417,7 +416,7 @@ ldelf_acquire_strings_for_ctf - { - if (ctf_link_add_strtab (ctf_output, ldelf_ctf_strtab_iter_cb, - &args) < 0) -- einfo (_("%F%P: warning: CTF strtab association failed; strings will " -+ fatal (_("%P: warning: CTF strtab association failed; strings will " - "not be shared: %s\n"), - ctf_errmsg (ctf_errno (ctf_output))); - } -@@ -444,7 +443,7 @@ ldelf_new_dynsym_for_ctf (struct ctf_dict *ctf_output, int symidx, - lsym.st_value = sym->st_value; - if (ctf_link_add_linker_symbol (ctf_output, &lsym) < 0) - { -- einfo (_("%F%P: warning: CTF symbol addition failed; CTF will " -+ fatal (_("%P: warning: CTF symbol addition failed; CTF will " - "not be tied to symbols: %s\n"), - ctf_errmsg (ctf_errno (ctf_output))); - } -@@ -454,7 +453,7 @@ ldelf_new_dynsym_for_ctf (struct ctf_dict *ctf_output, int symidx, - /* Shuffle all the symbols. */ - - if (ctf_link_shuffle_syms (ctf_output) < 0) -- einfo (_("%F%P: warning: CTF symbol shuffling failed; CTF will " -+ fatal (_("%P: warning: CTF symbol shuffling failed; CTF will " - "not be tied to symbols: %s\n"), - ctf_errmsg (ctf_errno (ctf_output))); - } -diff --git a/ld/ldemul.c b/ld/ldemul.c -index 0f3cb1a0125..dce0d385fe0 100644 ---- a/ld/ldemul.c -+++ b/ld/ldemul.c -@@ -349,7 +349,7 @@ ldemul_choose_mode (char *target) - einfo (_("%P: unrecognised emulation mode: %s\n"), target); - einfo (_("Supported emulations: ")); - ldemul_list_emulations (stderr); -- einfo ("%F\n"); -+ fatal ("\n"); - } - - void -diff --git a/ld/ldexp.c b/ld/ldexp.c -index 87d882e5066..fd741ec7e42 100644 ---- a/ld/ldexp.c -+++ b/ld/ldexp.c -@@ -282,7 +282,7 @@ definedness_newfunc (struct bfd_hash_entry *entry, - bfd_hash_allocate (table, sizeof (struct definedness_hash_entry)); - - if (ret == NULL) -- einfo (_("%F%P: bfd_hash_allocate failed creating symbol %s\n"), name); -+ fatal (_("%P: bfd_hash_allocate failed creating symbol %s\n"), name); - - ret->by_object = 0; - ret->iteration = 0; -@@ -313,7 +313,7 @@ update_definedness (const char *name, struct bfd_link_hash_entry *h) - bfd_hash_lookup (&definedness_table, name, true, false); - - if (defentry == NULL) -- einfo (_("%F%P: bfd_hash_lookup failed creating symbol %s\n"), name); -+ fatal (_("%P: bfd_hash_lookup failed creating symbol %s\n"), name); - - /* If the symbol was already defined, and not by a script, then it - must be defined by an object file or by the linker target code. */ -@@ -638,7 +638,7 @@ fold_binary (etree_type *tree) - expld.result.value = ((bfd_signed_vma) lhs.value - % (bfd_signed_vma) expld.result.value); - else if (expld.phase != lang_mark_phase_enum) -- einfo (_("%F%P:%pS %% by zero\n"), tree->binary.rhs); -+ fatal (_("%P:%pS %% by zero\n"), tree->binary.rhs); - arith_result_section (&lhs); - break; - -@@ -647,7 +647,7 @@ fold_binary (etree_type *tree) - expld.result.value = ((bfd_signed_vma) lhs.value - / (bfd_signed_vma) expld.result.value); - else if (expld.phase != lang_mark_phase_enum) -- einfo (_("%F%P:%pS / by zero\n"), tree->binary.rhs); -+ fatal (_("%P:%pS / by zero\n"), tree->binary.rhs); - arith_result_section (&lhs); - break; - -@@ -761,7 +761,7 @@ fold_name (etree_type *tree) - if (!h) - { - if (expld.phase != lang_first_phase_enum) -- einfo (_("%F%P: bfd_link_hash_lookup failed: %E\n")); -+ fatal (_("%P: bfd_link_hash_lookup failed: %E\n")); - } - else if (h->type == bfd_link_hash_defined - || h->type == bfd_link_hash_defweak) -@@ -789,7 +789,7 @@ fold_name (etree_type *tree) - else if (expld.phase == lang_final_phase_enum - || (expld.phase != lang_mark_phase_enum - && expld.assigning_to_dot)) -- einfo (_("%F%P:%pS: undefined symbol `%s'" -+ fatal (_("%P:%pS: undefined symbol `%s'" - " referenced in expression\n"), - tree, tree->name.name); - else if (h->type == bfd_link_hash_new) -@@ -827,7 +827,7 @@ fold_name (etree_type *tree) - if (os == NULL) - { - if (expld.phase == lang_final_phase_enum) -- einfo (_("%F%P:%pS: undefined section `%s'" -+ fatal (_("%P:%pS: undefined section `%s'" - " referenced in expression\n"), - tree, tree->name.name); - } -@@ -845,7 +845,7 @@ fold_name (etree_type *tree) - if (os == NULL) - { - if (expld.phase == lang_final_phase_enum) -- einfo (_("%F%P:%pS: undefined section `%s'" -+ fatal (_("%P:%pS: undefined section `%s'" - " referenced in expression\n"), - tree, tree->name.name); - } -@@ -873,7 +873,7 @@ fold_name (etree_type *tree) - if (os == NULL) - { - if (expld.phase == lang_final_phase_enum) -- einfo (_("%F%P:%pS: undefined section `%s'" -+ fatal (_("%P:%pS: undefined section `%s'" - " referenced in expression\n"), - tree, tree->name.name); - new_number (0); -@@ -912,7 +912,7 @@ fold_name (etree_type *tree) - if (mem != NULL) - new_number (mem->length); - else -- einfo (_("%F%P:%pS: undefined MEMORY region `%s'" -+ fatal (_("%P:%pS: undefined MEMORY region `%s'" - " referenced in expression\n"), - tree, tree->name.name); - } -@@ -926,7 +926,7 @@ fold_name (etree_type *tree) - if (mem != NULL) - new_rel_from_abs (mem->origin); - else -- einfo (_("%F%P:%pS: undefined MEMORY region `%s'" -+ fatal (_("%P:%pS: undefined MEMORY region `%s'" - " referenced in expression\n"), - tree, tree->name.name); - } -@@ -938,7 +938,7 @@ fold_name (etree_type *tree) - else if (strcmp (tree->name.name, "COMMONPAGESIZE") == 0) - new_number (link_info.commonpagesize); - else -- einfo (_("%F%P:%pS: unknown constant `%s' referenced in expression\n"), -+ fatal (_("%P:%pS: unknown constant `%s' referenced in expression\n"), - tree, tree->name.name); - break; - -@@ -1086,7 +1086,7 @@ exp_fold_tree_1 (etree_type *tree) - if (tree->assign.dst[0] == '.' && tree->assign.dst[1] == 0) - { - if (tree->type.node_class != etree_assign) -- einfo (_("%F%P:%pS can not PROVIDE assignment to" -+ fatal (_("%P:%pS can not PROVIDE assignment to" - " location counter\n"), tree); - if (expld.phase != lang_first_phase_enum) - { -@@ -1119,11 +1119,11 @@ exp_fold_tree_1 (etree_type *tree) - || expld.section == bfd_und_section_ptr) - { - if (expld.phase != lang_mark_phase_enum) -- einfo (_("%F%P:%pS invalid assignment to" -+ fatal (_("%P:%pS invalid assignment to" - " location counter\n"), tree); - } - else if (expld.dotp == NULL) -- einfo (_("%F%P:%pS assignment to location counter" -+ fatal (_("%P:%pS assignment to location counter" - " invalid outside of SECTIONS\n"), tree); - - /* After allocation, assignment to dot should not be -@@ -1142,7 +1142,7 @@ exp_fold_tree_1 (etree_type *tree) - nextdot += expld.section->vma; - if (nextdot < expld.dot - && expld.section != bfd_abs_section_ptr) -- einfo (_("%F%P:%pS cannot move location counter backwards" -+ fatal (_("%P:%pS cannot move location counter backwards" - " (from %V to %V)\n"), - tree, expld.dot, nextdot); - else -@@ -1202,7 +1202,7 @@ exp_fold_tree_1 (etree_type *tree) - h = bfd_link_hash_lookup (link_info.hash, tree->assign.dst, - true, false, true); - if (h == NULL) -- einfo (_("%F%P:%s: hash creation failed\n"), -+ fatal (_("%P:%s: hash creation failed\n"), - tree->assign.dst); - } - -@@ -1578,7 +1578,7 @@ exp_get_vma (etree_type *tree, lang_output_section_statement_type *os, - if (expld.result.valid_p) - return expld.result.value; - else if (name != NULL && expld.phase != lang_mark_phase_enum) -- einfo (_("%F%P:%pS: nonconstant expression for %s\n"), -+ fatal (_("%P:%pS: nonconstant expression for %s\n"), - tree, name); - } - return def; -@@ -1621,7 +1621,7 @@ exp_get_fill (etree_type *tree, fill_type *def, char *name) - if (!expld.result.valid_p) - { - if (name != NULL && expld.phase != lang_mark_phase_enum) -- einfo (_("%F%P:%pS: nonconstant expression for %s\n"), -+ fatal (_("%P:%pS: nonconstant expression for %s\n"), - tree, name); - return def; - } -@@ -1681,7 +1681,7 @@ exp_get_abs_int (etree_type *tree, int def, char *name) - } - else if (name != NULL && expld.phase != lang_mark_phase_enum) - { -- einfo (_("%F%P:%pS: nonconstant expression for %s\n"), -+ fatal (_("%P:%pS: nonconstant expression for %s\n"), - tree, name); - } - } -@@ -1708,7 +1708,7 @@ ldexp_init (bool object_only) - definedness_newfunc, - sizeof (struct definedness_hash_entry), - 13)) -- einfo (_("%F%P: can not create hash table: %E\n")); -+ fatal (_("%P: can not create hash table: %E\n")); - } - - /* Convert absolute symbols defined by a script from "dot" (also -diff --git a/ld/ldfile.c b/ld/ldfile.c -index 404af5fba14..75fd360d5e3 100644 ---- a/ld/ldfile.c -+++ b/ld/ldfile.c -@@ -184,7 +184,7 @@ ldfile_add_remap_file (const char * file) - - if (*p == '\0') - { -- einfo ("%F%P: malformed remap file entry: %s\n", line); -+ fatal ("%P: malformed remap file entry: %s\n", line); - continue; - } - -@@ -196,7 +196,7 @@ ldfile_add_remap_file (const char * file) - - if (*p == '\0') - { -- einfo ("%F%P: malformed remap file entry: %s\n", line); -+ fatal ("%P: malformed remap file entry: %s\n", line); - continue; - } - -@@ -378,7 +378,7 @@ ldfile_try_open_bfd (const char *attempt, - if (entry->the_bfd == NULL) - { - if (bfd_get_error () == bfd_error_invalid_target) -- einfo (_("%F%P: invalid BFD target `%s'\n"), entry->target); -+ fatal (_("%P: invalid BFD target `%s'\n"), entry->target); - return false; - } - -@@ -521,7 +521,7 @@ ldfile_try_open_bfd (const char *attempt, - - if (!entry->flags.dynamic && (entry->the_bfd->flags & DYNAMIC) != 0) - { -- einfo (_("%F%P: attempted static link of dynamic object `%s'\n"), -+ fatal (_("%P: attempted static link of dynamic object `%s'\n"), - attempt); - bfd_close (entry->the_bfd); - entry->the_bfd = NULL; -@@ -927,7 +927,7 @@ ldfile_open_command_file_1 (const char *name, enum script_open_style open_how) - if ((open_how != script_nonT || script->open_how != script_nonT) - && strcmp (name, script->name) == 0) - { -- einfo (_("%F%P: error: linker script file '%s'" -+ fatal (_("%P: error: linker script file '%s'" - " appears multiple times\n"), name); - return; - } -@@ -946,7 +946,7 @@ ldfile_open_command_file_1 (const char *name, enum script_open_style open_how) - if (ldlex_input_stack == NULL) - { - bfd_set_error (bfd_error_system_call); -- einfo (_("%F%P: cannot open linker script file %s: %E\n"), name); -+ fatal (_("%P: cannot open linker script file %s: %E\n"), name); - return; - } - -@@ -1040,7 +1040,7 @@ ldfile_set_output_arch (const char *string, enum bfd_architecture defarch) - else if (defarch != bfd_arch_unknown) - ldfile_output_architecture = defarch; - else -- einfo (_("%F%P: cannot represent machine `%s'\n"), string); -+ fatal (_("%P: cannot represent machine `%s'\n"), string); - } - - /* Tidy up memory. */ -diff --git a/ld/ldgram.y b/ld/ldgram.y -index 9bb98de2f0a..6635e598562 100644 ---- a/ld/ldgram.y -+++ b/ld/ldgram.y -@@ -210,7 +210,7 @@ mri_script_command: - CHIP exp - | CHIP exp ',' exp - | NAME { -- einfo(_("%F%P: unrecognised keyword in MRI style script '%s'\n"),$1); -+ fatal (_("%P: unrecognised keyword in MRI style script '%s'\n"), $1); - } - | LIST { - config.map_filename = "-"; -@@ -1581,7 +1581,7 @@ yyerror (const char *arg) - einfo (_("%P:%s: file format not recognized; treating as linker script\n"), - ldlex_filename ()); - if (error_index > 0 && error_index < ERROR_NAME_MAX) -- einfo (_("%F%P:%pS: %s in %s\n"), NULL, arg, error_names[error_index - 1]); -+ fatal (_("%P:%pS: %s in %s\n"), NULL, arg, error_names[error_index - 1]); - else -- einfo ("%F%P:%pS: %s\n", NULL, arg); -+ fatal ("%P:%pS: %s\n", NULL, arg); - } -diff --git a/ld/ldlang.c b/ld/ldlang.c -index 4a4acaa5493..d2c9b96bfa0 100644 ---- a/ld/ldlang.c -+++ b/ld/ldlang.c -@@ -1352,7 +1352,7 @@ output_section_statement_table_init (void) - output_section_statement_newfunc, - sizeof (struct out_section_hash_entry), - 61)) -- einfo (_("%F%P: can not create hash table: %E\n")); -+ fatal (_("%P: can not create hash table: %E\n")); - } - - static void -@@ -1485,7 +1485,7 @@ lang_memory_region_alias (const char *alias, const char *region_name) - the default memory region. */ - if (strcmp (region_name, DEFAULT_MEMORY_REGION) == 0 - || strcmp (alias, DEFAULT_MEMORY_REGION) == 0) -- einfo (_("%F%P:%pS: error: alias for default memory region\n"), NULL); -+ fatal (_("%P:%pS: error: alias for default memory region\n"), NULL); - - /* Look for the target region and check if the alias is not already - in use. */ -@@ -1496,14 +1496,14 @@ lang_memory_region_alias (const char *alias, const char *region_name) - if (region == NULL && strcmp (n->name, region_name) == 0) - region = r; - if (strcmp (n->name, alias) == 0) -- einfo (_("%F%P:%pS: error: redefinition of memory region " -+ fatal (_("%P:%pS: error: redefinition of memory region " - "alias `%s'\n"), - NULL, alias); - } - - /* Check if the target region exists. */ - if (region == NULL) -- einfo (_("%F%P:%pS: error: memory region `%s' " -+ fatal (_("%P:%pS: error: memory region `%s' " - "for alias `%s' does not exist\n"), - NULL, region_name, alias); - -@@ -1564,7 +1564,7 @@ lang_output_section_statement_lookup (const char *name, - if (entry == NULL) - { - if (create) -- einfo (_("%F%P: failed creating section `%s': %E\n"), name); -+ fatal (_("%P: failed creating section `%s': %E\n"), name); - return NULL; - } - -@@ -1607,7 +1607,7 @@ lang_output_section_statement_lookup (const char *name, - name); - if (entry == NULL) - { -- einfo (_("%F%P: failed creating section `%s': %E\n"), name); -+ fatal (_("%P: failed creating section `%s': %E\n"), name); - return NULL; - } - entry->root = last_ent->root; -@@ -2479,7 +2479,7 @@ static void - init_os (lang_output_section_statement_type *s, flagword flags) - { - if (strcmp (s->name, DISCARD_SECTION_NAME) == 0) -- einfo (_("%F%P: illegal use of `%s' section\n"), DISCARD_SECTION_NAME); -+ fatal (_("%P: illegal use of `%s' section\n"), DISCARD_SECTION_NAME); - - if (!s->dup_output) - s->bfd_section = bfd_get_section_by_name (link_info.output_bfd, s->name); -@@ -2488,7 +2488,7 @@ init_os (lang_output_section_statement_type *s, flagword flags) - s->name, flags); - if (s->bfd_section == NULL) - { -- einfo (_("%F%P: output format %s cannot represent section" -+ fatal (_("%P: output format %s cannot represent section" - " called %s: %E\n"), - link_info.output_bfd->xvec->name, s->name); - } -@@ -3076,11 +3076,11 @@ load_symbols (lang_input_statement_type *entry, - for (p = matching; *p != NULL; p++) - einfo (" %s", *p); - free (matching); -- einfo ("%F\n"); -+ fatal ("\n"); - } - else if (err != bfd_error_file_not_recognized - || place == NULL) -- einfo (_("%F%P: %pB: file not recognized: %E\n"), entry->the_bfd); -+ fatal (_("%P: %pB: file not recognized: %E\n"), entry->the_bfd); - - bfd_close (entry->the_bfd); - entry->the_bfd = NULL; -@@ -3153,7 +3153,7 @@ load_symbols (lang_input_statement_type *entry, - - if (!bfd_check_format (member, bfd_object)) - { -- einfo (_("%F%P: %pB: member %pB in archive is not an object\n"), -+ fatal (_("%P: %pB: member %pB in archive is not an object\n"), - entry->the_bfd, member); - loaded = false; - } -@@ -3174,7 +3174,7 @@ load_symbols (lang_input_statement_type *entry, - substitute BFD for us. */ - if (!bfd_link_add_symbols (subsbfd, &link_info)) - { -- einfo (_("%F%P: %pB: error adding symbols: %E\n"), member); -+ fatal (_("%P: %pB: error adding symbols: %E\n"), member); - loaded = false; - } - } -@@ -3188,7 +3188,7 @@ load_symbols (lang_input_statement_type *entry, - if (bfd_link_add_symbols (entry->the_bfd, &link_info)) - entry->flags.loaded = true; - else -- einfo (_("%F%P: %pB: error adding symbols: %E\n"), entry->the_bfd); -+ fatal (_("%P: %pB: error adding symbols: %E\n"), entry->the_bfd); - - return entry->flags.loaded; - } -@@ -3429,7 +3429,7 @@ open_output (const char *name) - { - char *in = lrealpath (f->local_sym_name); - if (filename_cmp (in, out) == 0) -- einfo (_("%F%P: input file '%s' is the same as output file\n"), -+ fatal (_("%P: input file '%s' is the same as output file\n"), - f->filename); - free (in); - } -@@ -3491,23 +3491,23 @@ open_output (const char *name) - if (link_info.output_bfd == NULL) - { - if (bfd_get_error () == bfd_error_invalid_target) -- einfo (_("%F%P: target %s not found\n"), output_target); -+ fatal (_("%P: target %s not found\n"), output_target); - -- einfo (_("%F%P: cannot open output file %s: %E\n"), name); -+ fatal (_("%P: cannot open output file %s: %E\n"), name); - } - - delete_output_file_on_failure = true; - - if (!bfd_set_format (link_info.output_bfd, bfd_object)) -- einfo (_("%F%P: %s: can not make object file: %E\n"), name); -+ fatal (_("%P: %s: can not make object file: %E\n"), name); - if (!bfd_set_arch_mach (link_info.output_bfd, -- ldfile_output_architecture, -- ldfile_output_machine)) -- einfo (_("%F%P: %s: can not set architecture: %E\n"), name); -+ ldfile_output_architecture, -+ ldfile_output_machine)) -+ fatal (_("%P: %s: can not set architecture: %E\n"), name); - - link_info.hash = bfd_link_hash_table_create (link_info.output_bfd); - if (link_info.hash == NULL) -- einfo (_("%F%P: can not create hash table: %E\n")); -+ fatal (_("%P: can not create hash table: %E\n")); - - bfd_set_gp_size (link_info.output_bfd, g_switch_value); - } -@@ -3721,7 +3721,7 @@ open_input_bfds (lang_statement_union_type *s, - - /* Exit if any of the files were missing. */ - if (input_flags.missing_file) -- einfo ("%F"); -+ fatal (""); - } - - #ifdef ENABLE_LIBCTF -@@ -4032,7 +4032,7 @@ insert_undefined (const char *name) - - h = bfd_link_hash_lookup (link_info.hash, name, true, false, true); - if (h == NULL) -- einfo (_("%F%P: bfd_link_hash_lookup failed: %E\n")); -+ fatal (_("%P: bfd_link_hash_lookup failed: %E\n")); - if (h->type == bfd_link_hash_new) - { - h->type = bfd_link_hash_undefined; -@@ -4318,7 +4318,7 @@ map_input_to_output_sections - else if (strcmp (name, "SHT_PREINIT_ARRAY") == 0) - type = SHT_PREINIT_ARRAY; - else -- einfo (_ ("%F%P: invalid type for output section `%s'\n"), -+ fatal (_ ("%P: invalid type for output section `%s'\n"), - os->name); - } - else -@@ -4327,7 +4327,7 @@ map_input_to_output_sections - if (expld.result.valid_p) - type = expld.result.value; - else -- einfo (_ ("%F%P: invalid type for output section `%s'\n"), -+ fatal (_ ("%P: invalid type for output section `%s'\n"), - os->name); - } - break; -@@ -4476,7 +4476,7 @@ process_insert_statements (lang_statement_union_type **start) - } - if (where == NULL) - { -- einfo (_("%F%P: %s not found for insert\n"), i->where); -+ fatal (_("%P: %s not found for insert\n"), i->where); - return; - } - -@@ -5558,12 +5558,12 @@ size_input_section - if (dot + TO_ADDR (i->size) > end) - { - if (i->flags & SEC_LINKER_CREATED) -- einfo (_("%F%P: Output section `%pA' not large enough for " -+ fatal (_("%P: Output section `%pA' not large enough for " - "the linker-created stubs section `%pA'.\n"), - i->output_section, i); - - if (i->rawsize && i->rawsize != i->size) -- einfo (_("%F%P: Relaxation not supported with " -+ fatal (_("%P: Relaxation not supported with " - "--enable-non-contiguous-regions (section `%pA' " - "would overflow `%pA' after it changed size).\n"), - i, i->output_section); -@@ -5919,7 +5919,7 @@ lang_size_sections_1 - dot += expld.result.section->vma; - } - else if (expld.phase != lang_mark_phase_enum) -- einfo (_("%F%P:%pS: non constant or forward reference" -+ fatal (_("%P:%pS: non constant or forward reference" - " address expression for section %s\n"), - os->addr_tree, os->name); - } -@@ -6002,7 +6002,7 @@ lang_size_sections_1 - overridden by the using the --no-check-sections - switch. */ - if (command_line.check_section_addresses) -- einfo (_("%F%P: error: no memory region specified" -+ fatal (_("%P: error: no memory region specified" - " for loadable section `%s'\n"), - bfd_section_name (os->bfd_section)); - else -@@ -6309,7 +6309,7 @@ lang_size_sections_1 - bool again; - - if (!bfd_relax_section (i->owner, i, &link_info, &again)) -- einfo (_("%F%P: can't relax section: %E\n")); -+ fatal (_("%P: can't relax section: %E\n")); - if (again) - *relax = true; - } -@@ -6718,7 +6718,7 @@ lang_do_assignments_1 (lang_statement_union_type *s, - s->data_statement.value += expld.result.section->vma; - } - else if (expld.phase == lang_final_phase_enum) -- einfo (_("%F%P: invalid data statement\n")); -+ fatal (_("%P: invalid data statement\n")); - { - unsigned int size; - switch (s->data_statement.type) -@@ -6751,7 +6751,7 @@ lang_do_assignments_1 (lang_statement_union_type *s, - if (expld.result.valid_p) - s->reloc_statement.addend_value = expld.result.value; - else if (expld.phase == lang_final_phase_enum) -- einfo (_("%F%P: invalid reloc statement\n")); -+ fatal (_("%P: invalid reloc statement\n")); - dot += TO_ADDR (bfd_get_reloc_size (s->reloc_statement.howto)); - break; - -@@ -7169,7 +7169,7 @@ lang_end (void) - break; - } - if (!sym) -- einfo (_("%F%P: --gc-sections requires a defined symbol root " -+ fatal (_("%P: --gc-sections requires a defined symbol root " - "specified by -e or -u\n")); - } - -@@ -7194,7 +7194,7 @@ lang_end (void) - + bfd_section_vma (h->u.def.section->output_section) - + h->u.def.section->output_offset); - if (!bfd_set_start_address (link_info.output_bfd, val)) -- einfo (_("%F%P: %s: can't set start address\n"), entry_symbol.name); -+ fatal (_("%P: %s: can't set start address\n"), entry_symbol.name); - } - else - { -@@ -7207,7 +7207,7 @@ lang_end (void) - if (*send == '\0') - { - if (!bfd_set_start_address (link_info.output_bfd, val)) -- einfo (_("%F%P: can't set start address\n")); -+ fatal (_("%P: can't set start address\n")); - } - /* BZ 2004952: Only use the start of the entry section for executables. */ - else if bfd_link_executable (&link_info) -@@ -7226,7 +7226,7 @@ lang_end (void) - bfd_section_vma (ts)); - if (!bfd_set_start_address (link_info.output_bfd, - bfd_section_vma (ts))) -- einfo (_("%F%P: can't set start address\n")); -+ fatal (_("%P: can't set start address\n")); - } - else - { -@@ -7295,11 +7295,10 @@ lang_check (void) - != bfd_get_flavour (link_info.output_bfd))) - && (bfd_get_file_flags (input_bfd) & HAS_RELOC) != 0) - { -- einfo (_("%F%P: relocatable linking with relocations from" -+ fatal (_("%P: relocatable linking with relocations from" - " format %s (%pB) to format %s (%pB) is not supported\n"), - bfd_get_target (input_bfd), input_bfd, - bfd_get_target (link_info.output_bfd), link_info.output_bfd); -- /* einfo with %F exits. */ - } - - if (compatible == NULL) -@@ -7400,7 +7399,7 @@ lang_one_common (struct bfd_link_hash_entry *h, void *info) - - section = h->u.c.p->section; - if (!bfd_define_common_symbol (link_info.output_bfd, &link_info, h)) -- einfo (_("%F%P: could not define common symbol `%pT': %E\n"), -+ fatal (_("%P: could not define common symbol `%pT': %E\n"), - h->root.string); - - if (config.map_file != NULL) -@@ -7578,7 +7577,7 @@ lang_set_flags (lang_memory_region_type *ptr, const char *flags, int invert) - break; - - default: -- einfo (_("%F%P: invalid character %c (%d) in flags\n"), -+ fatal (_("%P: invalid character %c (%d) in flags\n"), - *flags, *flags); - break; - } -@@ -7672,7 +7671,7 @@ lang_enter_output_section_statement (const char *output_section_statement_name, - constraint, - in_section_ordering ? 0 : 2); - if (os == NULL) /* && in_section_ordering */ -- einfo (_("%F%P:%pS: error: output section '%s' must already exist\n"), -+ fatal (_("%P:%pS: error: output section '%s' must already exist\n"), - NULL, output_section_statement_name); - current_section = os; - -@@ -7696,7 +7695,7 @@ lang_enter_output_section_statement (const char *output_section_statement_name, - - os->align_lma_with_input = align_with_input == ALIGN_WITH_INPUT; - if (os->align_lma_with_input && align != NULL) -- einfo (_("%F%P:%pS: error: align with input and explicit align specified\n"), -+ fatal (_("%P:%pS: error: align with input and explicit align specified\n"), - NULL); - - os->subsection_alignment = subalign; -@@ -8233,7 +8232,7 @@ lang_process (void) - lang_place_undefineds (); - - if (!bfd_section_already_linked_table_init ()) -- einfo (_("%F%P: can not create hash table: %E\n")); -+ fatal (_("%P: can not create hash table: %E\n")); - - /* A first pass through the memory regions ensures that if any region - references a symbol for its origin or length then this symbol will be -@@ -8271,7 +8270,7 @@ lang_process (void) - files = file_chain; - inputfiles = input_file_chain; - if (plugin_call_all_symbols_read ()) -- einfo (_("%F%P: %s: plugin reported error after all symbols read\n"), -+ fatal (_("%P: %s: plugin reported error after all symbols read\n"), - plugin_error_plugin ()); - link_info.lto_all_symbols_read = true; - /* Open any newly added files, updating the file chains. */ -@@ -8508,7 +8507,7 @@ lang_process (void) - assigning dynamic symbols, since removing whole input sections - is hard then. */ - if (!bfd_merge_sections (link_info.output_bfd, &link_info)) -- einfo (_("%F%P: bfd_merge_sections failed: %E\n")); -+ fatal (_("%P: bfd_merge_sections failed: %E\n")); - - /* Look for a text section and set the readonly attribute in it. */ - found = bfd_get_section_by_name (link_info.output_bfd, ".text"); -@@ -8884,9 +8883,7 @@ void - lang_startup (const char *name) - { - if (first_file->filename != NULL) -- { -- einfo (_("%F%P: multiple STARTUP files\n")); -- } -+ fatal (_("%P: multiple STARTUP files\n")); - first_file->filename = name; - first_file->local_sym_name = name; - first_file->flags.real = true; -@@ -9113,7 +9110,7 @@ lang_record_phdrs (void) - break; - } - if (last == NULL) -- einfo (_("%F%P: no sections assigned to phdrs\n")); -+ fatal (_("%P: no sections assigned to phdrs\n")); - } - pl = last; - } -@@ -9151,7 +9148,7 @@ lang_record_phdrs (void) - if (!bfd_record_phdr (link_info.output_bfd, l->type, - l->flags != NULL, flags, l->at != NULL, - at, l->filehdr, l->phdrs, c, secs)) -- einfo (_("%F%P: bfd_record_phdr failed: %E\n")); -+ fatal (_("%P: bfd_record_phdr failed: %E\n")); - } - - free (secs); -@@ -10441,7 +10438,7 @@ setup_section (bfd *ibfd, sec_ptr isection, void *p) - - loser: - arg->status = 1; -- einfo (_("%P%F: setup_section: %s: %s\n"), err, name); -+ fatal (_("%P: setup_section: %s: %s\n"), err, name); - } - - /* Copy the data of input section ISECTION of IBFD -@@ -10536,7 +10533,7 @@ copy_section (bfd *ibfd, sec_ptr isection, void *p) - return; - - loser: -- einfo (_("%P%F: copy_section: %s: %s\n"), err, isection->name); -+ fatal (_("%P: copy_section: %s: %s\n"), err, isection->name); - } - /* Open the temporary bfd created in the same directory as PATH. */ - -@@ -10773,7 +10770,7 @@ cmdline_add_object_only_section (bfd_byte *contents, size_t size) - if (!bfd_close (obfd)) - { - unlink (ofilename); -- einfo (_("%P%F: failed to finish output with object-only section\n")); -+ fatal (_("%P: failed to finish output with object-only section\n")); - } - - /* Must be freed after bfd_close (). */ -@@ -10783,7 +10780,7 @@ cmdline_add_object_only_section (bfd_byte *contents, size_t size) - if (rename (ofilename, output_filename)) - { - unlink (ofilename); -- einfo (_("%P%F: failed to rename output with object-only section\n")); -+ fatal (_("%P: failed to rename output with object-only section\n")); - } - - free (ofilename); -@@ -10799,7 +10796,7 @@ loser: - unlink (ofilename); - free (ofilename); - } -- einfo (_("%P%F: failed to add object-only section: %s\n"), err); -+ fatal (_("%P: failed to add object-only section: %s\n"), err); - } - - /* Emit the final output with object-only section. */ -@@ -10832,7 +10829,7 @@ cmdline_emit_object_only_section (void) - ldemul_create_output_section_statements (); - - if (!bfd_section_already_linked_table_init ()) -- einfo (_("%P%F: Failed to create hash table\n")); -+ fatal (_("%P: Failed to create hash table\n")); - - /* Call cmdline_on_object_only_archive_list_p to check which member - should be loaded. */ -@@ -10896,8 +10893,8 @@ cmdline_emit_object_only_section (void) - lang_finish (); - - if (! bfd_close (link_info.output_bfd)) -- einfo (_("%P%F:%s: final close failed on object-only output: %E\n"), -- output_filename); -+ fatal (_("%P:%s: final close failed on object-only output: %E\n"), -+ output_filename); - - link_info.output_bfd = NULL; - -@@ -10906,7 +10903,7 @@ cmdline_emit_object_only_section (void) - if (fd < 0) - { - bfd_set_error (bfd_error_system_call); -- einfo (_("%P%F:%s: cannot open object-only output: %E\n"), -+ fatal (_("%P:%s: cannot open object-only output: %E\n"), - output_filename); - } - -@@ -10914,7 +10911,7 @@ cmdline_emit_object_only_section (void) - if (fstat (fd, &st) != 0) - { - bfd_set_error (bfd_error_system_call); -- einfo (_("%P%F:%s: cannot stat object-only output: %E\n"), -+ fatal (_("%P:%s: cannot stat object-only output: %E\n"), - output_filename); - } - -@@ -10929,7 +10926,7 @@ cmdline_emit_object_only_section (void) - if (got < 0) - { - bfd_set_error (bfd_error_system_call); -- einfo (_("%P%F:%s: read failed on object-only output: %E\n"), -+ fatal (_("%P:%s: read failed on object-only output: %E\n"), - output_filename); - } - -@@ -10956,8 +10953,7 @@ cmdline_extract_object_only_section (bfd *abfd) - const char *name = bfd_extract_object_only_section (abfd); - - if (name == NULL) -- einfo (_("%P%F: cannot extract object-only section from %B: %E\n"), -- abfd); -+ fatal (_("%P: cannot extract object-only section from %B: %E\n"), abfd); - - /* It should be removed after it is done. */ - cmdline_list_append (&cmdline_temp_object_only_list, -@@ -10991,7 +10987,7 @@ cmdline_load_object_only_section (const char *name) - if (bfd_link_add_symbols (entry->the_bfd, &link_info)) - entry->flags.loaded = true; - else -- einfo (_("%F%P: %pB: error adding symbols: %E\n"), entry->the_bfd); -+ fatal (_("%P: %pB: error adding symbols: %E\n"), entry->the_bfd); - } - - /* Check and handle the object-only section. */ -diff --git a/ld/ldlex.l b/ld/ldlex.l -index 58eca1b2fe7..a7bf4917642 100644 ---- a/ld/ldlex.l -+++ b/ld/ldlex.l -@@ -506,9 +506,7 @@ void - lex_push_file (FILE *file, const char *name, unsigned int sysrooted) - { - if (include_stack_ptr >= MAX_INCLUDE_DEPTH) -- { -- einfo (_("%F:includes nested too deeply\n")); -- } -+ fatal (_("%P: includes nested too deeply\n")); - file_name_stack[include_stack_ptr] = name; - lineno_stack[include_stack_ptr] = lineno; - sysrooted_stack[include_stack_ptr] = input_flags.sysrooted; -@@ -570,9 +568,7 @@ lex_redirect (const char *string, const char *fake_filename, unsigned int count) - - yy_init = 0; - if (include_stack_ptr >= MAX_INCLUDE_DEPTH) -- { -- einfo (_("%F: macros nested too deeply\n")); -- } -+ fatal (_("%P: macros nested too deeply\n")); - file_name_stack[include_stack_ptr] = fake_filename; - lineno_stack[include_stack_ptr] = lineno; - include_stack[include_stack_ptr] = YY_CURRENT_BUFFER; -@@ -676,7 +672,7 @@ yy_input (char *buf, int max_size) - { - result = fread (buf, 1, max_size, yyin); - if (result < max_size && ferror (yyin)) -- einfo (_("%F%P: read in flex scanner failed\n")); -+ fatal (_("%P: read in flex scanner failed\n")); - } - } - return result; -@@ -713,7 +709,7 @@ comment (void) - - if (c == 0) - { -- einfo (_("%F%P: EOF in comment\n")); -+ fatal (_("%P: EOF in comment\n")); - break; - } - } -@@ -734,7 +730,7 @@ lex_warn_invalid (char *where, char *what) - if (ldfile_assumed_script) - { - bfd_set_error (bfd_error_file_not_recognized); -- einfo (_("%F%s: file not recognized: %E\n"), ldlex_filename ()); -+ fatal (_("%s: file not recognized: %E\n"), ldlex_filename ()); - } - - if (! ISPRINT (*what)) -diff --git a/ld/ldmain.c b/ld/ldmain.c -index f1c5f7035c5..cb5e58d8f36 100644 ---- a/ld/ldmain.c -+++ b/ld/ldmain.c -@@ -195,7 +195,7 @@ write_dependency_file (void) - if (out == NULL) - { - bfd_set_error (bfd_error_system_call); -- einfo (_("%F%P: cannot open dependency file %s: %E\n"), -+ fatal (_("%P: cannot open dependency file %s: %E\n"), - config.dependency_file); - } - -@@ -288,7 +288,7 @@ main (int argc, char **argv) - expandargv (&argc, &argv); - - if (bfd_init () != BFD_INIT_MAGIC) -- einfo (_("%F%P: fatal error: libbfd ABI mismatch\n")); -+ fatal (_("%P: fatal error: libbfd ABI mismatch\n")); - - bfd_set_error_program_name (program_name); - -@@ -496,14 +496,14 @@ main (int argc, char **argv) - xexit (0); - - if (link_info.inhibit_common_definition && !bfd_link_dll (&link_info)) -- einfo (_("%F%P: --no-define-common may not be used without -shared\n")); -+ fatal (_("%P: --no-define-common may not be used without -shared\n")); - - if (!lang_has_input_file) - { - if (version_printed || command_line.print_output_format) - xexit (0); - output_unknown_cmdline_warnings (); -- einfo (_("%F%P: no input files\n")); -+ fatal (_("%P: no input files\n")); - } - - if (verbose) -@@ -525,7 +525,7 @@ main (int argc, char **argv) - if (config.map_file == (FILE *) NULL) - { - bfd_set_error (bfd_error_system_call); -- einfo (_("%F%P: cannot open map file %s: %E\n"), -+ einfo (_("%P: cannot open map file %s: %E\n"), - config.map_filename); - } - } -@@ -600,7 +600,7 @@ main (int argc, char **argv) - bfd *obfd = link_info.output_bfd; - link_info.output_bfd = NULL; - if (!bfd_close (obfd)) -- einfo (_("%F%P: %s: final close failed: %E\n"), output_filename); -+ fatal (_("%P: %s: final close failed: %E\n"), output_filename); - - link_info.output_bfd = NULL; - -@@ -629,10 +629,10 @@ main (int argc, char **argv) - dst = fopen (dst_name, FOPEN_WB); - - if (!src) -- einfo (_("%F%P: unable to open for source of copy `%s'\n"), -+ fatal (_("%P: unable to open for source of copy `%s'\n"), - output_filename); - if (!dst) -- einfo (_("%F%P: unable to open for destination of copy `%s'\n"), -+ fatal (_("%P: unable to open for destination of copy `%s'\n"), - dst_name); - while ((l = fread (buf, 1, bsize, src)) > 0) - { -@@ -746,7 +746,7 @@ get_emulation (int argc, char **argv) - i++; - } - else -- einfo (_("%F%P: missing argument to -m\n")); -+ fatal (_("%P: missing argument to -m\n")); - } - else if (strcmp (argv[i], "-mips1") == 0 - || strcmp (argv[i], "-mips2") == 0 -@@ -800,11 +800,11 @@ add_ysym (const char *name) - bfd_hash_newfunc, - sizeof (struct bfd_hash_entry), - 61)) -- einfo (_("%F%P: bfd_hash_table_init failed: %E\n")); -+ fatal (_("%P: bfd_hash_table_init failed: %E\n")); - } - - if (bfd_hash_lookup (link_info.notice_hash, name, true, true) == NULL) -- einfo (_("%F%P: bfd_hash_lookup failed: %E\n")); -+ fatal (_("%P: bfd_hash_lookup failed: %E\n")); - } - - void -@@ -817,11 +817,11 @@ add_ignoresym (struct bfd_link_info *info, const char *name) - bfd_hash_newfunc, - sizeof (struct bfd_hash_entry), - 61)) -- einfo (_("%F%P: bfd_hash_table_init failed: %E\n")); -+ fatal (_("%P: bfd_hash_table_init failed: %E\n")); - } - - if (bfd_hash_lookup (info->ignore_hash, name, true, true) == NULL) -- einfo (_("%F%P: bfd_hash_lookup failed: %E\n")); -+ fatal (_("%P: bfd_hash_lookup failed: %E\n")); - } - - /* Record a symbol to be wrapped, from the --wrap option. */ -@@ -837,11 +837,11 @@ add_wrap (const char *name) - bfd_hash_newfunc, - sizeof (struct bfd_hash_entry), - 61)) -- einfo (_("%F%P: bfd_hash_table_init failed: %E\n")); -+ fatal (_("%P: bfd_hash_table_init failed: %E\n")); - } - - if (bfd_hash_lookup (link_info.wrap_hash, name, true, true) == NULL) -- einfo (_("%F%P: bfd_hash_lookup failed: %E\n")); -+ fatal (_("%P: bfd_hash_lookup failed: %E\n")); - } - - /* Handle the -retain-symbols-file option. */ -@@ -869,7 +869,7 @@ add_keepsyms_file (const char *filename) - xmalloc (sizeof (struct bfd_hash_table)); - if (!bfd_hash_table_init (link_info.keep_hash, bfd_hash_newfunc, - sizeof (struct bfd_hash_entry))) -- einfo (_("%F%P: bfd_hash_table_init failed: %E\n")); -+ fatal (_("%P: bfd_hash_table_init failed: %E\n")); - - bufsize = 100; - buf = (char *) xmalloc (bufsize); -@@ -899,7 +899,7 @@ add_keepsyms_file (const char *filename) - buf[len] = '\0'; - - if (bfd_hash_lookup (link_info.keep_hash, buf, true, true) == NULL) -- einfo (_("%F%P: bfd_hash_lookup for insertion failed: %E\n")); -+ fatal (_("%P: bfd_hash_lookup for insertion failed: %E\n")); - } - } - -@@ -1311,7 +1311,7 @@ constructor_callback (struct bfd_link_info *info, - if (bfd_reloc_type_lookup (info->output_bfd, BFD_RELOC_CTOR) == NULL - && (bfd_link_relocatable (info) - || bfd_reloc_type_lookup (abfd, BFD_RELOC_CTOR) == NULL)) -- einfo (_("%F%P: BFD backend error: BFD_RELOC_CTOR unsupported\n")); -+ fatal (_("%P: BFD backend error: BFD_RELOC_CTOR unsupported\n")); - - s = set_name; - if (bfd_get_symbol_leading_char (abfd) != '\0') -@@ -1323,7 +1323,7 @@ constructor_callback (struct bfd_link_info *info, - - h = bfd_link_hash_lookup (info->hash, set_name, true, true, true); - if (h == (struct bfd_link_hash_entry *) NULL) -- einfo (_("%F%P: bfd_link_hash_lookup failed: %E\n")); -+ fatal (_("%P: bfd_link_hash_lookup failed: %E\n")); - if (h->type == bfd_link_hash_new) - { - h->type = bfd_link_hash_undefined; -@@ -1356,7 +1356,7 @@ symbol_warning (const char *warning, const char *symbol, bfd *abfd) - struct warning_callback_info cinfo; - - if (!bfd_generic_link_read_symbols (abfd)) -- einfo (_("%F%P: %pB: could not read symbols: %E\n"), abfd); -+ fatal (_("%P: %pB: could not read symbols: %E\n"), abfd); - - cinfo.found = false; - cinfo.warning = warning; -@@ -1418,14 +1418,14 @@ warning_find_reloc (bfd *abfd, asection *sec, void *iarg) - - relsize = bfd_get_reloc_upper_bound (abfd, sec); - if (relsize < 0) -- einfo (_("%F%P: %pB: could not read relocs: %E\n"), abfd); -+ fatal (_("%P: %pB: could not read relocs: %E\n"), abfd); - if (relsize == 0) - return; - - relpp = (arelent **) xmalloc (relsize); - relcount = bfd_canonicalize_reloc (abfd, sec, relpp, info->asymbols); - if (relcount < 0) -- einfo (_("%F%P: %pB: could not read relocs: %E\n"), abfd); -+ fatal (_("%P: %pB: could not read relocs: %E\n"), abfd); - - p = relpp; - pend = p + relcount; -diff --git a/ld/ldmisc.c b/ld/ldmisc.c -index f18a6b5c3c6..9ee0781b4de 100644 ---- a/ld/ldmisc.c -+++ b/ld/ldmisc.c -@@ -70,7 +70,7 @@ - void - vfinfo (FILE *fp, const char *fmt, va_list ap, bool is_warning) - { -- bool fatal = false; -+ bool isfatal = false; - const char *scan; - int arg_type; - unsigned int arg_count = 0; -@@ -282,7 +282,7 @@ vfinfo (FILE *fp, const char *fmt, va_list ap, bool is_warning) - - case 'F': - /* Error is fatal. */ -- fatal = true; -+ isfatal = true; - break; - - case 'P': -@@ -324,7 +324,7 @@ vfinfo (FILE *fp, const char *fmt, va_list ap, bool is_warning) - if (abfd != NULL) - { - if (!bfd_generic_link_read_symbols (abfd)) -- einfo (_("%F%P: %pB: could not read symbols: %E\n"), abfd); -+ fatal (_("%P: %pB: could not read symbols: %E\n"), abfd); - - asymbols = bfd_get_outsymbols (abfd); - } -@@ -587,7 +587,7 @@ vfinfo (FILE *fp, const char *fmt, va_list ap, bool is_warning) - if (is_warning && config.fatal_warnings) - config.make_executable = false; - -- if (fatal) -+ if (isfatal) - xexit (1); - } - -@@ -620,6 +620,21 @@ einfo (const char *fmt, ...) - fflush (stderr); - } - -+/* Fatal error. */ -+ -+void -+fatal (const char *fmt, ...) -+{ -+ va_list arg; -+ -+ fflush (stdout); -+ va_start (arg, fmt); -+ vfinfo (stderr, fmt, arg, true); -+ va_end (arg); -+ fflush (stderr); -+ xexit (1); -+} -+ - /* The buffer size for each command-line option warning. */ - #define CMDLINE_WARNING_SIZE 256 - -@@ -698,7 +713,7 @@ output_unknown_cmdline_warnings (void) - void - info_assert (const char *file, unsigned int line) - { -- einfo (_("%F%P: internal error %s %d\n"), file, line); -+ fatal (_("%P: internal error %s %d\n"), file, line); - } - - /* ('m' for map) Format info message and print on map. */ -@@ -767,8 +782,7 @@ ld_abort (const char *file, int line, const char *fn) - else - einfo (_("%P: internal error: aborting at %s:%d\n"), - file, line); -- einfo (_("%F%P: please report this bug\n")); -- xexit (1); -+ fatal (_("%P: please report this bug\n")); - } - - /* Decode a hexadecimal character. Return -1 on error. */ -diff --git a/ld/ldmisc.h b/ld/ldmisc.h -index cac36f01114..7103b537108 100644 ---- a/ld/ldmisc.h -+++ b/ld/ldmisc.h -@@ -23,6 +23,7 @@ - - extern void vfinfo (FILE *fp, const char *fmt, va_list arg, bool is_warning); - extern void einfo (const char *, ...); -+extern void fatal (const char *, ...) ATTRIBUTE_NORETURN; - extern void minfo (const char *, ...); - extern void info_msg (const char *, ...); - extern void lfinfo (FILE *, const char *, ...); -diff --git a/ld/ldwrite.c b/ld/ldwrite.c -index b8b9ff176a4..7613def6767 100644 ---- a/ld/ldwrite.c -+++ b/ld/ldwrite.c -@@ -57,14 +57,14 @@ build_link_order (lang_statement_union_type *statement) - - link_order = bfd_new_link_order (link_info.output_bfd, output_section); - if (link_order == NULL) -- einfo (_("%F%P: bfd_new_link_order failed: %E\n")); -+ fatal (_("%P: bfd_new_link_order failed: %E\n")); - - link_order->type = bfd_data_link_order; - link_order->offset = statement->data_statement.output_offset; - link_order->u.data.contents = bfd_alloc (link_info.output_bfd, - QUAD_SIZE); - if (link_order->u.data.contents == NULL) -- einfo (_("%F%P: bfd_new_link_order failed: %E\n")); -+ fatal (_("%P: bfd_new_link_order failed: %E\n")); - - value = statement->data_statement.value; - -@@ -170,7 +170,7 @@ build_link_order (lang_statement_union_type *statement) - - link_order = bfd_new_link_order (link_info.output_bfd, output_section); - if (link_order == NULL) -- einfo (_("%F%P: bfd_new_link_order failed: %E\n")); -+ fatal (_("%P: bfd_new_link_order failed: %E\n")); - - link_order->offset = rs->output_offset; - link_order->size = bfd_get_reloc_size (rs->howto); -@@ -178,7 +178,7 @@ build_link_order (lang_statement_union_type *statement) - link_order->u.reloc.p = (struct bfd_link_order_reloc *) - bfd_alloc (link_info.output_bfd, sizeof (struct bfd_link_order_reloc)); - if (link_order->u.reloc.p == NULL) -- einfo (_("%F%P: bfd_new_link_order failed: %E\n")); -+ fatal (_("%P: bfd_new_link_order failed: %E\n")); - - link_order->u.reloc.p->reloc = rs->reloc; - link_order->u.reloc.p->addend = rs->addend_value; -@@ -224,7 +224,7 @@ build_link_order (lang_statement_union_type *statement) - link_order = bfd_new_link_order (link_info.output_bfd, - output_section); - if (link_order == NULL) -- einfo (_("%F%P: bfd_new_link_order failed: %E\n")); -+ fatal (_("%P: bfd_new_link_order failed: %E\n")); - - if ((i->flags & SEC_NEVER_LOAD) != 0 - && (i->flags & SEC_DEBUGGING) == 0) -@@ -265,7 +265,7 @@ build_link_order (lang_statement_union_type *statement) - link_order = bfd_new_link_order (link_info.output_bfd, - output_section); - if (link_order == NULL) -- einfo (_("%F%P: bfd_new_link_order failed: %E\n")); -+ fatal (_("%P: bfd_new_link_order failed: %E\n")); - link_order->type = bfd_data_link_order; - link_order->size = statement->padding_statement.size; - link_order->offset = statement->padding_statement.output_offset; -@@ -334,8 +334,7 @@ clone_section (bfd *abfd, asection *s, const char *name, int *count) - if (startswith (name, ".stab") - || strcmp (name, "$GDB_SYMBOLS$") == 0) - { -- einfo (_ ("%F%P: cannot create split section name for %s\n"), name); -- /* Silence gcc warnings. einfo exits, so we never reach here. */ -+ fatal (_ ("%P: cannot create split section name for %s\n"), name); - return NULL; - } - tname[5] = 0; -@@ -346,8 +345,7 @@ clone_section (bfd *abfd, asection *s, const char *name, int *count) - || (h = bfd_link_hash_lookup (link_info.hash, - sname, true, true, false)) == NULL) - { -- einfo (_("%F%P: clone section failed: %E\n")); -- /* Silence gcc warnings. einfo exits, so we never reach here. */ -+ fatal (_("%P: clone section failed: %E\n")); - return NULL; - } - free (tname); -@@ -550,8 +548,8 @@ ldwrite (void) - if (!bfd_final_link (link_info.output_bfd, &link_info)) - { - if (bfd_get_error () != bfd_error_no_error) -- einfo (_("%F%P: final link failed: %E\n")); -+ fatal (_("%P: final link failed: %E\n")); - else -- einfo (_("%F%P: final link failed\n")); -+ fatal (_("%P: final link failed\n")); - } - } -diff --git a/ld/lexsup.c b/ld/lexsup.c -index 58b9bdd4974..7de6e257ad0 100644 ---- a/ld/lexsup.c -+++ b/ld/lexsup.c -@@ -818,7 +818,8 @@ parse_args (unsigned argc, char **argv) - && optc != argv[last_optind][1]) - { - if (optarg) -- einfo (_("%F%P: Error: unable to disambiguate: %s (did you mean -%s ?)\n"), -+ fatal (_("%P: Error: unable to disambiguate: " -+ "%s (did you mean -%s ?)\n"), - argv[last_optind], argv[last_optind]); - else - einfo (_("%P: Warning: grouped short command line options are deprecated: %s\n"), argv[last_optind]); -@@ -858,7 +859,7 @@ parse_args (unsigned argc, char **argv) - /* Fall through. */ - - default: -- einfo (_("%F%P: use the --help option for usage information\n")); -+ fatal (_("%P: use the --help option for usage information\n")); - break; - - case 1: /* File name. */ -@@ -877,7 +878,7 @@ parse_args (unsigned argc, char **argv) - || strcmp (optarg, "default") == 0) - input_flags.dynamic = true; - else -- einfo (_("%F%P: unrecognized -a option `%s'\n"), optarg); -+ fatal (_("%P: unrecognized -a option `%s'\n"), optarg); - break; - case OPTION_ASSERT: - /* FIXME: We just ignore these, but we should handle them. */ -@@ -890,7 +891,7 @@ parse_args (unsigned argc, char **argv) - else if (strcmp (optarg, "pure-text") == 0) - ; - else -- einfo (_("%F%P: unrecognized -assert option `%s'\n"), optarg); -+ fatal (_("%P: unrecognized -assert option `%s'\n"), optarg); - break; - case 'A': - ldfile_add_arch (optarg); -@@ -934,8 +935,7 @@ parse_args (unsigned argc, char **argv) - - style = cplus_demangle_name_to_style (optarg); - if (style == unknown_demangling) -- einfo (_("%F%P: unknown demangling style `%s'\n"), -- optarg); -+ fatal (_("%P: unknown demangling style `%s'\n"), optarg); - - cplus_demangle_set_style (style); - } -@@ -1042,7 +1042,7 @@ parse_args (unsigned argc, char **argv) - char *end; - g_switch_value = strtoul (optarg, &end, 0); - if (*end) -- einfo (_("%F%P: invalid number `%s'\n"), optarg); -+ fatal (_("%P: invalid number `%s'\n"), optarg); - } - break; - case 'g': -@@ -1138,7 +1138,7 @@ parse_args (unsigned argc, char **argv) - link_info.unresolved_syms_in_shared_libs = RM_IGNORE; - } - else -- einfo (_("%F%P: bad --unresolved-symbols option: %s\n"), optarg); -+ fatal (_("%P: bad --unresolved-symbols option: %s\n"), optarg); - break; - case OPTION_WARN_UNRESOLVED_SYMBOLS: - link_info.warn_unresolved_syms = true; -@@ -1225,7 +1225,7 @@ parse_args (unsigned argc, char **argv) - break; - case OPTION_PLUGIN_OPT: - if (plugin_opt_plugin_arg (optarg)) -- einfo (_("%F%P: bad -plugin-opt option\n")); -+ fatal (_("%P: bad -plugin-opt option\n")); - break; - case OPTION_PLUGIN_SAVE_TEMPS: - config.plugin_save_temps = true; -@@ -1245,11 +1245,11 @@ parse_args (unsigned argc, char **argv) - an error message here. We cannot just make this a warning, - increment optind, and continue because getopt is too confused - and will seg-fault the next time around. */ -- einfo(_("%F%P: unrecognised option: %s\n"), argv[optind]); -+ fatal(_("%P: unrecognised option: %s\n"), argv[optind]); - - if (bfd_link_pic (&link_info)) -- einfo (_("%F%P: -r and %s may not be used together\n"), -- bfd_link_dll (&link_info) ? "-shared" : "-pie"); -+ fatal (_("%P: -r and %s may not be used together\n"), -+ bfd_link_dll (&link_info) ? "-shared" : "-pie"); - - link_info.type = type_relocatable; - config.build_constructors = false; -@@ -1358,7 +1358,7 @@ parse_args (unsigned argc, char **argv) - if (config.has_shared) - { - if (bfd_link_relocatable (&link_info)) -- einfo (_("%F%P: -r and %s may not be used together\n"), -+ fatal (_("%P: -r and %s may not be used together\n"), - "-shared"); - - link_info.type = type_dll; -@@ -1370,7 +1370,7 @@ parse_args (unsigned argc, char **argv) - link_info.unresolved_syms_in_shared_libs = RM_IGNORE; - } - else -- einfo (_("%F%P: -shared not supported\n")); -+ fatal (_("%P: -shared not supported\n")); - break; - case OPTION_NO_PIE: - link_info.type = type_pde; -@@ -1379,12 +1379,12 @@ parse_args (unsigned argc, char **argv) - if (config.has_shared) - { - if (bfd_link_relocatable (&link_info)) -- einfo (_("%F%P: -r and %s may not be used together\n"), "-pie"); -+ fatal (_("%P: -r and %s may not be used together\n"), "-pie"); - - link_info.type = type_pie; - } - else -- einfo (_("%F%P: -pie not supported\n")); -+ fatal (_("%P: -pie not supported\n")); - break; - case 'h': /* Used on Solaris. */ - case OPTION_SONAME: -@@ -1401,7 +1401,7 @@ parse_args (unsigned argc, char **argv) - else if (strcmp (optarg, N_("ascending")) == 0) - config.sort_common = sort_ascending; - else -- einfo (_("%F%P: invalid common section sorting option: %s\n"), -+ fatal (_("%P: invalid common section sorting option: %s\n"), - optarg); - break; - case OPTION_SORT_SECTION: -@@ -1410,8 +1410,7 @@ parse_args (unsigned argc, char **argv) - else if (strcmp (optarg, N_("alignment")) == 0) - sort_section = by_alignment; - else -- einfo (_("%F%P: invalid section sorting option: %s\n"), -- optarg); -+ fatal (_("%P: invalid section sorting option: %s\n"), optarg); - break; - case OPTION_SECTION_ORDERING_FILE: - if (command_line.section_ordering_file != NULL -@@ -1453,14 +1452,14 @@ parse_args (unsigned argc, char **argv) - /* Check for =... */ - optarg2 = strchr (optarg, '='); - if (optarg2 == NULL) -- einfo (_("%F%P: invalid argument to option" -+ fatal (_("%P: invalid argument to option" - " \"--section-start\"\n")); - - optarg2++; - - /* So far so good. Are all the args present? */ - if ((*optarg == '\0') || (*optarg2 == '\0')) -- einfo (_("%F%P: missing argument(s) to option" -+ fatal (_("%P: missing argument(s) to option" - " \"--section-start\"\n")); - - /* We must copy the section name as set_section_start -@@ -1507,8 +1506,8 @@ parse_args (unsigned argc, char **argv) - /* Fall through. */ - case OPTION_UR: - if (bfd_link_pic (&link_info)) -- einfo (_("%F%P: -r and %s may not be used together\n"), -- bfd_link_dll (&link_info) ? "-shared" : "-pie"); -+ fatal (_("%P: -r and %s may not be used together\n"), -+ bfd_link_dll (&link_info) ? "-shared" : "-pie"); - - link_info.type = type_relocatable; - config.build_constructors = true; -@@ -1538,7 +1537,7 @@ parse_args (unsigned argc, char **argv) - char *end; - int level ATTRIBUTE_UNUSED = strtoul (optarg, &end, 0); - if (*end) -- einfo (_("%F%P: invalid number `%s'\n"), optarg); -+ fatal (_("%P: invalid number `%s'\n"), optarg); - #if BFD_SUPPORTS_PLUGINS - report_plugin_symbols = level > 1; - #endif /* BFD_SUPPORTS_PLUGINS */ -@@ -1733,7 +1732,7 @@ parse_args (unsigned argc, char **argv) - break; - case ')': - if (! ingroup) -- einfo (_("%F%P: group ended before it began (--help for usage)\n")); -+ fatal (_("%P: group ended before it began (--help for usage)\n")); - - lang_leave_group (); - ingroup--; -@@ -1749,7 +1748,7 @@ parse_args (unsigned argc, char **argv) - - case OPTION_REMAP_INPUTS_FILE: - if (! ldfile_add_remap_file (optarg)) -- einfo (_("%F%P: failed to add remap file %s\n"), optarg); -+ fatal (_("%P: failed to add remap file %s\n"), optarg); - break; - - case OPTION_REMAP_INPUTS: -@@ -1758,7 +1757,7 @@ parse_args (unsigned argc, char **argv) - if (optarg2 == NULL) - /* FIXME: Should we allow --remap-inputs=@myfile as a synonym - for --remap-inputs-file=myfile ? */ -- einfo (_("%F%P: invalid argument to option --remap-inputs\n")); -+ fatal (_("%P: invalid argument to option --remap-inputs\n")); - size_t len = optarg2 - optarg; - char * pattern = xmalloc (len + 1); - memcpy (pattern, optarg, len); -@@ -1779,8 +1778,7 @@ parse_args (unsigned argc, char **argv) - char *end; - bfd_size_type cache_size = strtoul (optarg, &end, 0); - if (*end != '\0') -- einfo (_("%F%P: invalid cache memory size: %s\n"), -- optarg); -+ fatal (_("%P: invalid cache memory size: %s\n"), optarg); - link_info.max_cache_size = cache_size; - } - break; -@@ -1805,7 +1803,7 @@ parse_args (unsigned argc, char **argv) - - case OPTION_POP_STATE: - if (input_flags.pushed == NULL) -- einfo (_("%F%P: no state pushed before popping\n")); -+ fatal (_("%P: no state pushed before popping\n")); - else - { - struct lang_input_statement_flags *oldp = input_flags.pushed; -@@ -1828,7 +1826,7 @@ parse_args (unsigned argc, char **argv) - else if (strcasecmp (optarg, "discard") == 0) - config.orphan_handling = orphan_handling_discard; - else -- einfo (_("%F%P: invalid argument to option" -+ fatal (_("%P: invalid argument to option" - " \"--orphan-handling\"\n")); - break; - -@@ -1873,7 +1871,7 @@ parse_args (unsigned argc, char **argv) - else if (strcmp (optarg, "share-duplicated") == 0) - config.ctf_share_duplicated = true; - else -- einfo (_("%F%P: bad --ctf-share-types option: %s\n"), optarg); -+ fatal (_("%P: bad --ctf-share-types option: %s\n"), optarg); - break; - } - } -@@ -2059,7 +2057,7 @@ parse_args (unsigned argc, char **argv) - if (config.no_section_header) - { - if (bfd_link_relocatable (&link_info)) -- einfo (_("%F%P: -r and -z nosectionheader may not be used together\n")); -+ fatal (_("%P: -r and -z nosectionheader may not be used together\n")); - - link_info.strip = strip_all; - } -@@ -2067,9 +2065,9 @@ parse_args (unsigned argc, char **argv) - if (!bfd_link_dll (&link_info)) - { - if (command_line.filter_shlib) -- einfo (_("%F%P: -F may not be used without -shared\n")); -+ fatal (_("%P: -F may not be used without -shared\n")); - if (command_line.auxiliary_filters) -- einfo (_("%F%P: -f may not be used without -shared\n")); -+ fatal (_("%P: -f may not be used without -shared\n")); - } - - /* Treat ld -r -s as ld -r -S -x (i.e., strip all local symbols). I -@@ -2110,7 +2108,7 @@ set_section_start (char *sect, char *valstr) - const char *end; - bfd_vma val = bfd_scan_vma (valstr, &end, 16); - if (*end) -- einfo (_("%F%P: invalid hex number `%s'\n"), valstr); -+ fatal (_("%P: invalid hex number `%s'\n"), valstr); - lang_section_start (sect, exp_intop (val), NULL); - } - -@@ -2123,7 +2121,7 @@ set_segment_start (const char *section, char *valstr) - - bfd_vma val = bfd_scan_vma (valstr, &end, 16); - if (*end) -- einfo (_("%F%P: invalid hex number `%s'\n"), valstr); -+ fatal (_("%P: invalid hex number `%s'\n"), valstr); - /* If we already have an entry for this segment, update the existing - value. */ - name = section + 1; -diff --git a/ld/mri.c b/ld/mri.c -index 68c024a83e4..586d23d2743 100644 ---- a/ld/mri.c -+++ b/ld/mri.c -@@ -288,7 +288,7 @@ mri_format (const char *name) - lang_add_output_format ("srec", NULL, NULL, 1); - - else -- einfo (_("%F%P: unknown format type %s\n"), name); -+ fatal (_("%P: unknown format type %s\n"), name); - } - - void -diff --git a/ld/pe-dll.c b/ld/pe-dll.c -index f24b8716ae2..4e72f1b8d8d 100644 ---- a/ld/pe-dll.c -+++ b/ld/pe-dll.c -@@ -777,7 +777,7 @@ process_def_file_and_drectve (bfd *abfd ATTRIBUTE_UNUSED, struct bfd_link_info * - - if (!bfd_generic_link_read_symbols (b)) - { -- einfo (_("%F%P: %pB: could not read symbols: %E\n"), b); -+ fatal (_("%P: %pB: could not read symbols: %E\n"), b); - return; - } - -@@ -1069,7 +1069,7 @@ build_filler_bfd (bool include_edata) - bfd_get_arch (link_info.output_bfd), - bfd_get_mach (link_info.output_bfd))) - { -- einfo (_("%F%P: can not create BFD: %E\n")); -+ fatal (_("%P: can not create BFD: %E\n")); - return; - } - -@@ -1347,7 +1347,7 @@ pe_walk_relocs (struct bfd_link_info *info, - - if (!bfd_generic_link_read_symbols (b)) - { -- einfo (_("%F%P: %pB: could not read symbols: %E\n"), b); -+ fatal (_("%P: %pB: could not read symbols: %E\n"), b); - return; - } - -@@ -1428,7 +1428,7 @@ pe_find_data_imports (const char *symhead, - if (!bfd_hash_table_init (import_hash, - bfd_hash_newfunc, - sizeof (struct bfd_hash_entry))) -- einfo (_("%F%P: bfd_hash_table_init failed: %E\n")); -+ fatal (_("%P: bfd_hash_table_init failed: %E\n")); - } - else - import_hash = NULL; -@@ -1468,7 +1468,7 @@ pe_find_data_imports (const char *symhead, - - if (!bfd_generic_link_read_symbols (b)) - { -- einfo (_("%F%P: %pB: could not read symbols: %E\n"), b); -+ fatal (_("%P: %pB: could not read symbols: %E\n"), b); - return; - } - -@@ -1570,7 +1570,7 @@ generate_reloc (bfd *abfd, struct bfd_link_info *info) - - if (!bfd_generic_link_read_symbols (b)) - { -- einfo (_("%F%P: %pB: could not read symbols: %E\n"), b); -+ fatal (_("%P: %pB: could not read symbols: %E\n"), b); - return; - } - -diff --git a/ld/plugin.c b/ld/plugin.c -index 8aec84852c0..dedd1a08b30 100644 ---- a/ld/plugin.c -+++ b/ld/plugin.c -@@ -252,7 +252,7 @@ plugin_opt_plugin (const char *plugin) - newplug->name = plugin; - newplug->dlhandle = dlopen (plugin, RTLD_NOW); - if (!newplug->dlhandle) -- einfo (_("%F%P: %s: error loading plugin: %s\n"), plugin, dlerror ()); -+ fatal (_("%P: %s: error loading plugin: %s\n"), plugin, dlerror ()); - - /* Check if plugin has been loaded already. */ - while (curplug) -@@ -343,7 +343,7 @@ plugin_get_ir_dummy_bfd (const char *name, bfd *srctemplate) - } - } - report_error: -- einfo (_("%F%P: could not create dummy IR bfd: %E\n")); -+ fatal (_("%P: could not create dummy IR bfd: %E\n")); - return NULL; - } - -@@ -424,7 +424,7 @@ asymbol_from_plugin_symbol (bfd *abfd, asymbol *asym, - unsigned char visibility; - - if (!elfsym) -- einfo (_("%F%P: %s: non-ELF symbol in ELF BFD!\n"), asym->name); -+ fatal (_("%P: %s: non-ELF symbol in ELF BFD!\n"), asym->name); - - if (ldsym->def == LDPK_COMMON) - { -@@ -435,7 +435,7 @@ asymbol_from_plugin_symbol (bfd *abfd, asymbol *asym, - switch (ldsym->visibility) - { - default: -- einfo (_("%F%P: unknown ELF symbol visibility: %d!\n"), -+ fatal (_("%P: unknown ELF symbol visibility: %d!\n"), - ldsym->visibility); - return LDPS_ERR; - -@@ -557,7 +557,7 @@ get_view (const void *handle, const void **viewp) - - /* FIXME: einfo should support %lld. */ - if ((off_t) size != input->filesize) -- einfo (_("%F%P: unsupported input file size: %s (%ld bytes)\n"), -+ fatal (_("%P: unsupported input file size: %s (%ld bytes)\n"), - input->name, (long) input->filesize); - - /* Check the cached view buffer. */ -@@ -833,7 +833,7 @@ get_symbols (const void *handle, int nsyms, struct ld_plugin_symbol *syms, - && blhe->type != bfd_link_hash_common) - { - /* We should not have a new, indirect or warning symbol here. */ -- einfo (_("%F%P: %s: plugin symbol table corrupt (sym type %d)\n"), -+ fatal (_("%P: %s: plugin symbol table corrupt (sym type %d)\n"), - called_plugin->name, blhe->type); - } - -@@ -985,13 +985,14 @@ message (int level, const char *format, ...) - case LDPL_ERROR: - default: - { -- char *newfmt = concat (level == LDPL_FATAL ? "%F" : "%X", -- _("%P: error: "), format, "\n", -+ char *newfmt = concat (_("%X%P: error: "), format, "\n", - (const char *) NULL); - fflush (stdout); - vfinfo (stderr, newfmt, args, true); - fflush (stderr); - free (newfmt); -+ if (level == LDPL_FATAL) -+ fatal (""); - } - break; - } -@@ -1134,14 +1135,14 @@ plugin_load_plugins (void) - if (!onloadfn) - onloadfn = (ld_plugin_onload) dlsym (curplug->dlhandle, "_onload"); - if (!onloadfn) -- einfo (_("%F%P: %s: error loading plugin: %s\n"), -+ fatal (_("%P: %s: error loading plugin: %s\n"), - curplug->name, dlerror ()); - set_tv_plugin_args (curplug, &my_tv[tv_header_size]); - called_plugin = curplug; - rv = (*onloadfn) (my_tv); - called_plugin = NULL; - if (rv != LDPS_OK) -- einfo (_("%F%P: %s: plugin error: %d\n"), curplug->name, rv); -+ fatal (_("%P: %s: plugin error: %d\n"), curplug->name, rv); - curplug = curplug->next; - } - -@@ -1205,7 +1206,7 @@ plugin_strdup (bfd *abfd, const char *str) - strlength = strlen (str) + 1; - copy = bfd_alloc (abfd, strlength); - if (copy == NULL) -- einfo (_("%F%P: plugin_strdup failed to allocate memory: %s\n"), -+ fatal (_("%P: plugin_strdup failed to allocate memory: %s\n"), - bfd_get_error ()); - memcpy (copy, str, strlength); - return copy; -@@ -1247,7 +1248,7 @@ plugin_object_p (bfd *ibfd, bool known_used) - - input = bfd_alloc (abfd, sizeof (*input)); - if (input == NULL) -- einfo (_("%F%P: plugin failed to allocate memory for input: %s\n"), -+ fatal (_("%P: plugin failed to allocate memory for input: %s\n"), - bfd_get_error ()); - - if (!bfd_plugin_open_input (ibfd, &file)) -@@ -1276,7 +1277,7 @@ plugin_object_p (bfd *ibfd, bool known_used) - - if (plugin_call_claim_file (&file, &claimed, &claim_file_handler_v2, - known_used)) -- einfo (_("%F%P: %s: plugin reported error claiming file\n"), -+ fatal (_("%P: %s: plugin reported error claiming file\n"), - plugin_error_plugin ()); - - if (input->fd != -1 From patchwork Wed May 14 15:57:58 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 62949 X-Patchwork-Delegate: steve@sakoman.com 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 49765C54755 for ; Wed, 14 May 2025 15:58:31 +0000 (UTC) Received: from mail-pl1-f175.google.com (mail-pl1-f175.google.com [209.85.214.175]) by mx.groups.io with SMTP id smtpd.web10.105651.1747238305269936059 for ; Wed, 14 May 2025 08:58:25 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=dTEE24b4; spf=softfail (domain: sakoman.com, ip: 209.85.214.175, mailfrom: steve@sakoman.com) Received: by mail-pl1-f175.google.com with SMTP id d9443c01a7336-22fac0694aaso53881365ad.1 for ; Wed, 14 May 2025 08:58:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1747238304; x=1747843104; 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=kTx5+ZFRXM8VJHkPO2D5I9OE2V59M6tAfeNRwQ7bg/4=; b=dTEE24b4ujwssus/DIvBGR7IDwr9gMv4SIT/jIMyhI69QOelNvCYOWnHMjPob3tQDR qHg/tFRy9DoXEPCtxI1delwlb13pUSyepCRptYsYHLf/Uqf9oz+cuBJEVT47Y+3n2eUB QrHuR/ooG2UrfCqh/hTmp7oRNrzlMFvee3FoJpcHmuKQfQ9nz4+xaIE166ZBSc4oVwvT raP6p4NnNnm3UVbyqdliy0jdF2PnMiWH2Wmgm4zrgYM8hTvWfGuOFzaXD3Dld4P2IelC eUXXiHhFBySP9I5SbY+gJ6ctO7xqwFZYMB43xZ7d+VkX42U3MBjli8gDmbk9EDRQoNNP lkIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747238304; x=1747843104; 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=kTx5+ZFRXM8VJHkPO2D5I9OE2V59M6tAfeNRwQ7bg/4=; b=xGMfK8m+P6OnTphMzXavdGGnU9EPAk83RkphyFQcxaxHOnL/aVS4hPZfzgmO0vLnkw JDlx45Qliqxo3WszceQLJ9GZ60gFE4G/HFDx+s0VHYzxIwmHR/LqN0H3AJ4P5T0NAC8w qPY+MfEDPquioSymVGa03FDyMoonbSNaTf0IqN9ehPSOEYfUmL/6+owCuiXkKsL2dPiu /siJjK35mD7HivF3/9FeaIul8utH6nFKUDMqNWfoaioMmFW7jb6TyHiVJ2h8r0H0zr1b A8sNeb0YyFTz6hPo24lHYp7B3JGEBTMduViEj1mTzN83ob1mo7+PJJ0MtsmUVVLAxIyW Q3fg== X-Gm-Message-State: AOJu0YyGe9ZhqJy35ee9b8efCZAs9gerRz98rvqPkP3UYw4zzOITHwT5 KXS7RG1rrSPo8eVMRKXJDSUUAzP3WE+8QOq+VcLpOhLjFhmr40TsNg8c1k4Y5JtLK3Kw+fxBFDz i X-Gm-Gg: ASbGncszSNgH2ipng3p5MtfJC2xC8okSMJBIx//x2V2XsHCItyPQ57K41Q4Q/8j2OjM fwPqL2od4BhyLIexQVQ/YSz0IDgAm8VLube52wZMRco1BfMRuDxbJTbPbF4IfntTgM2fNjzlZu4 opBm6q+OsPD5YyCOpWEHl4GpoUcwqTLy5FV91RU4Qfi4uU7H0rByrxU954oqzCN7KLQa/nvugU8 JczjMJax/m2j9Ew0RoSicDQ1nY2P/qiaTZ/QsCxIP9xBBufge2MciO5DnkXhx8uPfoEH4eJNmRm 7Qj8D1o1PQxcx1pfB8ppnaR22fFeW2g3frcf3UGk X-Google-Smtp-Source: AGHT+IHPQVX3T+JhmyJPHWBdBZZj8bR0pmI8CFFrjDDMS0KrbHZ5n6Ms+bJRuMK3hjbB7qO4jM95Eg== X-Received: by 2002:a17:903:1b44:b0:220:e924:99dd with SMTP id d9443c01a7336-231981962demr57334375ad.34.1747238304523; Wed, 14 May 2025 08:58:24 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:671:bf16:d45b:ad8]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22fc8271bcfsm101347385ad.125.2025.05.14.08.58.23 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 May 2025 08:58:24 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][walnascar 10/12] module.bbclass: add KBUILD_EXTRA_SYMBOLS to install Date: Wed, 14 May 2025 08:57:58 -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 ; Wed, 14 May 2025 15:58:31 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/216513 From: Alon Bar-Lev Symbols are used during install as well, adding KBUILD_EXTRA_SYMBOLS enables successful installation. | DEBUG: Executing shell function do_install | NOTE: make -j 22 KERNEL_SRC=xxx/kernel-source -C xxx/drivers KDIR=xxx/kernel-source DEPMOD=echo MODLIB=xxx/image/lib/modules/6.6.75-yocto-standard-00189-g530c419bc9db INSTALL_FW_PATH=xxx/image/lib/firmware CC=aarch64-poky-linux-gcc -fuse-ld=bfd -fcanon-prefix-map LD=aarch64-poky-linux-ld.bfd OBJCOPY=aarch64-poky-linux-objcopy STRIP=aarch64-poky-linux-strip O=xxx/kernel-build-artifacts modules_install | make: Entering directory 'xxx/drivers' | make -C xxx/kernel-source M=xxx/drivers modules | make[1]: Entering directory 'xxx/kernel-source' | make[2]: Entering directory 'xxx/kernel-build-artifacts' | MODPOST xxx/drivers/Module.symvers | ERROR: modpost: "xxx" [xxx/xxx.ko] undefined! Signed-off-by: Alon Bar-Lev Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie (cherry picked from commit 0ef80eeda967a9e04ff91c3583aabbc35c9868e8) Signed-off-by: Steve Sakoman --- meta/classes-recipe/module.bbclass | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/classes-recipe/module.bbclass b/meta/classes-recipe/module.bbclass index f2f0b25a2d..4948e995c5 100644 --- a/meta/classes-recipe/module.bbclass +++ b/meta/classes-recipe/module.bbclass @@ -65,6 +65,7 @@ module_do_install() { CC="${KERNEL_CC}" LD="${KERNEL_LD}" OBJCOPY="${KERNEL_OBJCOPY}" \ STRIP="${KERNEL_STRIP}" \ O=${STAGING_KERNEL_BUILDDIR} \ + KBUILD_EXTRA_SYMBOLS="${KBUILD_EXTRA_SYMBOLS}" \ ${MODULES_INSTALL_TARGET} if [ ! -e "${B}/${MODULES_MODULE_SYMVERS_LOCATION}/Module.symvers" ] ; then From patchwork Wed May 14 15:57:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 62947 X-Patchwork-Delegate: steve@sakoman.com 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 3B156C3ABDD for ; Wed, 14 May 2025 15:58:31 +0000 (UTC) Received: from mail-pl1-f179.google.com (mail-pl1-f179.google.com [209.85.214.179]) by mx.groups.io with SMTP id smtpd.web11.106297.1747238306888207620 for ; Wed, 14 May 2025 08:58:26 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=HrSm4TvL; spf=softfail (domain: sakoman.com, ip: 209.85.214.179, mailfrom: steve@sakoman.com) Received: by mail-pl1-f179.google.com with SMTP id d9443c01a7336-22e4d235811so99710675ad.2 for ; Wed, 14 May 2025 08:58:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1747238306; x=1747843106; 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=3P6XzwZoidiax8VzjB8empEDdM2jQntdDmXF9RJOTPA=; b=HrSm4TvLc9gDV4rcMeT9SWVepFSK/p+b7CkYf2icVw8Lf1RprWD2nzxS3Lz1yZsIHC nYj9JaIH/VvbqvldGxxZdg3HNw1WFyStwG8NrEkbSfDHFie9AtbRSHyQ40UN7iUVGflC rzLsksKWia9txiEp3FTCVQxAR6y2qoIXAZH/gEDYRZJabXWV+uyPikYK6LnrS3KCQCmc 0J4lRAvWUB+2tM/RrTFF9UER3i5otrmq2+y2alxz+R11x3j963ZlNFnZHDHPQtqkmms5 GyNCQ0cjlzrQkhqSgwUwbvB3KTZaztbvggf+QFzwIxSvRf0paRZp1iByF8F3hTKz/CBJ en0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747238306; x=1747843106; 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=3P6XzwZoidiax8VzjB8empEDdM2jQntdDmXF9RJOTPA=; b=SICW6OGiEghhgyIZJxNaPHR4mm91b6jRrBgr612zz+L+B08hZhcdq2B6azDJJaaiAe tsB/nVip4hctS9MMS/aj7kv3hDcpsFGHYS5Rd6ZTFDnKo2HZNqLbgVQvwsGG+86TKLLW xaQwByoTEJfvItwFOvU3YMqTURMmOgf6/K7x8MIYuExde2omtkEb1ANZMIYoC2e7ivcG 9jQgaBFM70q9IlOlXkg6B03VU2j6lOTEQknX3wOjl4B8jSD4xnFNFcZlUr8D4IFiVCCD LWCumHI/B+3hTPhfTdEwWNKnXBCPaWeIegh9FmJC/QdzMv/0ifAt3WhBBxz+lnnQRyjD 5afg== X-Gm-Message-State: AOJu0Yyfl9rlPKtEnDWWqAODCN5KierWZ9GfEjKhyGLB7lcRy/VC27YD +WgRB1MMyKlfPvntPTUbyhOjkdVmxUkx8hVq7p3CfZJDkmec7aSAGZ1WX64XxGzM2CHaEx8y0se o X-Gm-Gg: ASbGncvOBTIV4Cay5j5u68/CSRBM10jSLWhYq8SYHHW5lWrObxVTaB1decicH+OhFJ2 YvpiewleFNfaxVnDSD8f2zvrPYi5tm5hH3fSVogO4o60JV3yy7+pTXrsAWukFJujEHCkKvF6z+d 6m8e6rjaiaYbWXiUJwPKdFYEsDVod2Cnzm/KHSUwJwStNUed5ZlZpe1dOVugV1wDD0oiGvkRyO1 NV4tsNG806WvZ9gY1Co7ePHivxPstRDlh2LjsAfkJx78HO71zqzOCO23LEQ0EwFkXgRN2VG3GCO 337BvCTF+gMS2Ge6N0S7RJxTRSP8VgCAavFscS53 X-Google-Smtp-Source: AGHT+IEyDkfI92xVLc8iM0Fi0jzOuCpzxPevYFsnpzroQ1rJ2/vsEK06PWe8wajA931p0LOEB7PmUw== X-Received: by 2002:a17:903:1b26:b0:224:1074:63a2 with SMTP id d9443c01a7336-231981befb6mr65917865ad.43.1747238306068; Wed, 14 May 2025 08:58:26 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:671:bf16:d45b:ad8]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22fc8271bcfsm101347385ad.125.2025.05.14.08.58.25 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 May 2025 08:58:25 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][walnascar 11/12] icu: set ac_cv_path_install to ensure install tool reproducibility Date: Wed, 14 May 2025 08:57:59 -0700 Message-ID: <60a38959a5b740b16044bf8644046b3ed4816ae7.1747238138.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 ; Wed, 14 May 2025 15:58:31 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/216515 From: Changqing Li icu will check program install path during do_configure, eg: checking for a BSD-compatible install... /path/to/install -c And this path will be writen into pkgdata.inc: INSTALL_CMD=$(INSTALL-L) Decided by if install is installed into recipe-sysroot-native during do_configure stage, the INSTALL_CMD could be /build/tmp/work/corei7-64-wrs-linux/icu/76-1/recipe-sysroot-native/usr/bin/install or /build/tmp/hosttools/install if the build is rerun after the sysroot was extended. set ac_cv_path_install to install under hosttools to make a deterministic result of INSTALL_CMD, avoid vary caused by the execute sequence of another task which DEPENDS on coreutils-native and independent with do_configure [RP: Removed paths from ac_cv_path_install to simplify and avoid QA error too] (From OE-Core rev: 208143e060cda6e22ae1e8c618e033fa9144b323) Signed-off-by: Changqing Li Signed-off-by: Richard Purdie Signed-off-by: Steve Sakoman --- meta/recipes-support/icu/icu_76-1.bb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta/recipes-support/icu/icu_76-1.bb b/meta/recipes-support/icu/icu_76-1.bb index f0890fc890..f11e72d356 100644 --- a/meta/recipes-support/icu/icu_76-1.bb +++ b/meta/recipes-support/icu/icu_76-1.bb @@ -20,9 +20,9 @@ inherit autotools pkgconfig github-releases # ICU needs the native build directory as an argument to its --with-cross-build option when # cross-compiling. Taken the situation that different builds may share a common sstate-cache # into consideration, the native build directory needs to be staged. -EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE} --disable-icu-config" -EXTRA_OECONF:class-native = "--disable-icu-config" -EXTRA_OECONF:class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE} --disable-icu-config" +EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE} --disable-icu-config ac_cv_path_install='install -c'" +EXTRA_OECONF:class-native = "--disable-icu-config ac_cv_path_install='install -c'" +EXTRA_OECONF:class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE} --disable-icu-config ac_cv_path_install='install -c'" EXTRA_OECONF:append:class-target = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' --with-data-packaging=archive', '', d)}" TARGET_CXXFLAGS:append = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' -DICU_DATA_DIR=\\""${datadir}/${BPN}/${@icu_install_folder(d)}\\""', '', d)}" From patchwork Wed May 14 15:58:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 62950 X-Patchwork-Delegate: steve@sakoman.com 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 40E6AC3ABD8 for ; Wed, 14 May 2025 15:58:31 +0000 (UTC) Received: from mail-pg1-f169.google.com (mail-pg1-f169.google.com [209.85.215.169]) by mx.groups.io with SMTP id smtpd.web11.106299.1747238308694342415 for ; Wed, 14 May 2025 08:58:28 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20230601.gappssmtp.com header.s=20230601 header.b=qKWhNUh9; spf=softfail (domain: sakoman.com, ip: 209.85.215.169, mailfrom: steve@sakoman.com) Received: by mail-pg1-f169.google.com with SMTP id 41be03b00d2f7-b1f7357b5b6so4527918a12.0 for ; Wed, 14 May 2025 08:58:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20230601.gappssmtp.com; s=20230601; t=1747238308; x=1747843108; 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=AMkCMpvu1i24OTAPowq87NMQtiK95HyK43FPzx/MLh4=; b=qKWhNUh91D34ZFilZx+vz7gr8vGbVbnTkwSBxPw23QW32oqNMBY4Ko4Au+5BNVCN1I 9VWg7WKnUOKY0Jzui7qx3UsXrF0pXnpD5502ZToCVH2jWDwLwagUL0JdjRMtYfVPirWc KQBrKRRvGJ20vizDy1gJKwLZCKYH1/SXWa4oachxgL1cMJIHUe643BC6/PlMbfx1YUu9 4Jr/tysfdKsFY2kXFOFq4/84pBAmODfxkxcGzNZGAqVhu8QvJFmverchvRGRD79gK5Zj l8XPFkXPj+nfJJHHSrr+QQzHQecGmlUrVe4BX9C26hS9ArIrtlq/NHJzocBaDH7hhpLt fqZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747238308; x=1747843108; 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=AMkCMpvu1i24OTAPowq87NMQtiK95HyK43FPzx/MLh4=; b=Yk+xAX6mYn298g5aasVapeez+ePY5Yg3EdaT4bA0sX7DlpXqvMZaAZ+SUMPshCbSsI tkv2v4CnZrVFmsWMzOEfpEbt6/z1tKl1LPWflTT5XXh6i7H13jWMFInRxjpNb+fImZfN c1hYHGIurPsbzCvE3NwTkGfIUnmjWzX3BraOfY7O8P5Ou866zs9KAzG/DdqTlzhHlbkJ 3OoY0t5IrZsSwlRKDzai58WzI0BbBdlD0mLOcAybshxIyVBTi1OtPbokM9R6rFQMbaYs ByNCpHWtLrK0WpoGDjCwaWm9rKWW6RQjFK3xG9iyTXSrsUT6rLdBaYtVU4vCCBRriBZV ha3A== X-Gm-Message-State: AOJu0YzLiasd0L2Z9forNm8+LDZEjuvB8tknVsj2TiSEn8BSjM7OLJAp NkA9T50X3H9HfQ5WxnuRn6UNfU2OLRV8lTextLl5y9BHpwzMOgA+7jeLfQ9cabAB3Xgw8AEo7bj G X-Gm-Gg: ASbGncveYb5GF+g97bfCWgpDMpNQnLua5sjDkbbnKdrLa0VCzFdElfANMXkpZiImuK3 e4hLJ2CmYRIxWX8M9hvaSUpj3LcW510RRHfO6lO8YrsNz43NbNVxRgU25yX+Tw9SiTsYEewHHYf GZ8CURDZ5JC3vAojM0b9XLlSAT2jRVZ9ttoK4k3lKaqCZRk7O/kRctWIeTYISDlivv2suYLcJUz w2kHxlMxysecSdPvsT8cdp2DhOUpFYT/E+12+BPRt1p3yQCPU0vrzJ+szIuSoRAY9dDnpCr4YbD 0lGi8YG+k2aY0/f2oG9AmN6l040macF/xllT1wsE X-Google-Smtp-Source: AGHT+IF7hbLXcWgVX7XJQcu1fPmWRmYAXkILJgOgG4J3KcVKv5M/h8OJDZAu5MnUgVebmJwW5tqQ1w== X-Received: by 2002:a17:903:1984:b0:225:abd2:5e39 with SMTP id d9443c01a7336-2319812558dmr49611095ad.30.1747238307763; Wed, 14 May 2025 08:58:27 -0700 (PDT) Received: from hexa.. ([2602:feb4:3b:2100:671:bf16:d45b:ad8]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22fc8271bcfsm101347385ad.125.2025.05.14.08.58.26 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 May 2025 08:58:27 -0700 (PDT) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][walnascar 12/12] glibc-y2038-tests: remove glibc-y2038-tests_2.41.bb recipe Date: Wed, 14 May 2025 08:58:00 -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 ; Wed, 14 May 2025 15:58:31 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/216516 From: rajmohan r This recipe takes longer time >20min when bitbake for package write stage. When cross-verified for longer time duration, found that do_check() stage taking 20min while other stages completes before 6min. This recipe gives only below two test binaries in the packages to test (ptest: glibc-y2038-tests): io/ftwtest io/ftwtest-time64 The above test binaries are already included for testing in recipe glibc-testsuite_2.41.bb. It is by now well established that glibc itself works as it should, that all affected 32 bit targets are configured to use 64 bit time_t, and that any lingering y2038 issues are in components other than the c library, and usually come from C programming mistakes (e.g. storing timestamps in long). Maybe we can simply remove the recipe? Review comments for fixing above longer time duration ended up in removing this recipe as a proposal is below https://lists.openembedded.org/g/openembedded-core/topic/112188476#msg214636 Removed lines having reference to glibc-y2038-tests in the files. Signed-off-by: rajmohan r Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie (cherry picked from commit fbe3679ba3c12c52a502511f5dde91fb4de7a6b6) Signed-off-by: Steve Sakoman --- meta/conf/distro/include/maintainers.inc | 1 - .../distro/include/ptest-packagelists.inc | 2 - meta/conf/distro/include/time64.inc | 2 - .../glibc/glibc-y2038-tests_2.41.bb | 107 ------------------ meta/recipes-core/glibc/glibc/run-ptest | 37 ------ 5 files changed, 149 deletions(-) delete mode 100644 meta/recipes-core/glibc/glibc-y2038-tests_2.41.bb delete mode 100755 meta/recipes-core/glibc/glibc/run-ptest diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc index 2b47d3103c..f1bff80586 100644 --- a/meta/conf/distro/include/maintainers.inc +++ b/meta/conf/distro/include/maintainers.inc @@ -215,7 +215,6 @@ RECIPE_MAINTAINER:pn-glibc = "Khem Raj " RECIPE_MAINTAINER:pn-glibc-locale = "Khem Raj " RECIPE_MAINTAINER:pn-glibc-mtrace = "Khem Raj " RECIPE_MAINTAINER:pn-glibc-scripts = "Khem Raj " -RECIPE_MAINTAINER:pn-glibc-y2038-tests = "Lukasz Majewski " RECIPE_MAINTAINER:pn-glibc-testsuite = "Khem Raj " RECIPE_MAINTAINER:pn-gmp = "Khem Raj " RECIPE_MAINTAINER:pn-glslang = "Jose Quaresma " diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc index f3fdededf6..9fb3332384 100644 --- a/meta/conf/distro/include/ptest-packagelists.inc +++ b/meta/conf/distro/include/ptest-packagelists.inc @@ -86,8 +86,6 @@ PTESTS_FAST = "\ xz \ zlib \ " -PTESTS_FAST:append:libc-glibc = " glibc-y2038-tests" -PTESTS_PROBLEMS:remove:libc-glibc = "glibc-y2038-tests" PTESTS_FAST:remove:mips64 = "qemu" PTESTS_PROBLEMS:append:mips64 = " qemu" PTESTS_FAST:remove:riscv32 = "qemu" diff --git a/meta/conf/distro/include/time64.inc b/meta/conf/distro/include/time64.inc index 5122e2a122..24a81c83f1 100644 --- a/meta/conf/distro/include/time64.inc +++ b/meta/conf/distro/include/time64.inc @@ -20,7 +20,6 @@ TARGET_CC_ARCH:append:powerpc = "${@bb.utils.contains('TUNE_FEATURES', 'm32', '$ TARGET_CC_ARCH:append:x86 = "${@bb.utils.contains('TUNE_FEATURES', 'm32', '${GLIBC_64BIT_TIME_FLAGS}', '', d)}" GLIBC_64BIT_TIME_FLAGS:pn-glibc = "" -GLIBC_64BIT_TIME_FLAGS:pn-glibc-y2038-tests = "" GLIBC_64BIT_TIME_FLAGS:pn-glibc-testsuite = "" # pipewire-v4l2 explicitly sets _FILE_OFFSET_BITS=32 to get access to # both 32 and 64 bit file APIs. But it does not handle the time side? @@ -33,7 +32,6 @@ GLIBC_64BIT_TIME_FLAGS:pn-gcc-sanitizers = "" # Caused by the flags exceptions above INSANE_SKIP:append:pn-gcc-sanitizers = " 32bit-time" INSANE_SKIP:append:pn-glibc = " 32bit-time" -INSANE_SKIP:append:pn-glibc-y2038-tests = " 32bit-time" # Strace has tests that call 32 bit API directly, which is fair enough, e.g. # /usr/lib/strace/ptest/tests/ioctl_termios uses 32-bit api 'ioctl' diff --git a/meta/recipes-core/glibc/glibc-y2038-tests_2.41.bb b/meta/recipes-core/glibc/glibc-y2038-tests_2.41.bb deleted file mode 100644 index 9ea09a4e12..0000000000 --- a/meta/recipes-core/glibc/glibc-y2038-tests_2.41.bb +++ /dev/null @@ -1,107 +0,0 @@ -require glibc_${PV}.bb -require glibc-tests.inc - -inherit ptest features_check -REQUIRED_DISTRO_FEATURES = "ptest" - -SRC_URI += "\ - file://run-ptest \ -" - -SUMMARY = "glibc tests using time32/time64 interfaces to be run with ptest for the purpose of checking y2038 compatiblity" - -# Erase some variables already set by glibc_${PV} -python __anonymous() { - # Remove packages provided by glibc build, we only need a subset of them - d.setVar("PACKAGES", "${PN} ${PN}-dbg ${PN}-ptest") - - d.setVar("PROVIDES", "${PN} ${PN}-ptest") - - bbclassextend = d.getVar("BBCLASSEXTEND").replace("nativesdk", "").strip() - d.setVar("BBCLASSEXTEND", bbclassextend) - d.setVar("RRECOMMENDS", "") - d.setVar("SYSTEMD_SERVICE:nscd", "") - d.setVar("SYSTEMD_PACKAGES", "") -} - -# Remove any leftovers from original glibc recipe -RPROVIDES:${PN} = "${PN}" -RRECOMMENDS:${PN} = "" -RDEPENDS:${PN} = "glibc libgcc sed bash" -RDEPENDS:${PN}-ptest = "${PN}" -DEPENDS += "sed" - -export oe_srcdir = "${exec_prefix}/src/debug/glibc/${PV}/" - -# Just build tests for target - do not run them -do_check:append () { - oe_runmake -i check run-built-tests=no -} -addtask do_check after do_compile before do_install_ptest_base - -glibc_strip_build_directory () { - # Delete all non executable files from build directory - find ${B} ! -executable -type f -delete - - # Remove build dynamic libraries and links to them as - # those are already installed in the target device - find ${B} -type f -name "*.so" -delete - find ${B} -type l -name "*.so*" -delete - - # Remove headers (installed with glibc) - find ${B} -type f -name "*.h" -delete - - find ${B} -type f -name "isomac" -delete - find ${B} -type f -name "annexc" -delete -} - -do_install_ptest_base () { - glibc_strip_build_directory - - ls -r ${B}/*/*-time64 > ${B}/tst_time64 - - # Remove '-time64' suffix - those tests are also time related - sed -e "s/-time64$//" ${B}/tst_time64 > ${B}/tst_time_tmp - tst_time=$(cat ${B}/tst_time_tmp ${B}/tst_time64) - - rm ${B}/tst_time_tmp ${B}/tst_time64 - echo "${tst_time}" - - # Install build test programs to the image - install -d ${D}${PTEST_PATH}/tests/glibc-ptest/ - - for f in "${tst_time}" - do - cp -r ${f} ${D}${PTEST_PATH}/tests/glibc-ptest/ - done - - install -d ${D}${PTEST_PATH} - cp ${UNPACKDIR}/run-ptest ${D}${PTEST_PATH}/ - -} - -# The datadir directory is required to allow core (and reused) -# glibc cleanup function to finish correctly, as this directory -# is not created for ptests -stash_locale_package_cleanup:prepend () { - mkdir -p ${PKGD}${datadir} -} - -stash_locale_sysroot_cleanup:prepend () { - mkdir -p ${SYSROOT_DESTDIR}${datadir} -} - -# Prevent the do_package() task to set 'libc6' prefix -# for glibc tests related packages -python populate_packages:prepend () { - if d.getVar('DEBIAN_NAMES'): - d.setVar('DEBIAN_NAMES', '') -} - -FILES:${PN} = "${PTEST_PATH}/* /usr/src/debug/${PN}/*" - -EXCLUDE_FROM_SHLIBS = "1" - -deltask do_stash_locale -do_install[noexec] = "1" -do_populate_sysroot[noexec] = "1" diff --git a/meta/recipes-core/glibc/glibc/run-ptest b/meta/recipes-core/glibc/glibc/run-ptest deleted file mode 100755 index cb71c75682..0000000000 --- a/meta/recipes-core/glibc/glibc/run-ptest +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash -# ptest script for glibc - to run time related tests to -# facilitate Y2038 validation -# Run with 'ptest-runner glibc-tests' - -output() { - retcode=$? - if [ $retcode -eq 0 ] - then echo "PASS: $i" - elif [ $retcode -eq 77 ] - then echo "SKIP: $i" - else echo "FAIL: $i" - fi -} - -# Allow altering time on the target -export GLIBC_TEST_ALLOW_TIME_SETTING="1" - -tst_time64=$(ls -r ${PWD}/tests/glibc-ptest/*-time64) - -# Remove '-time64' suffix - those tests are also time -# related -tst_time_tmp=$(sed -e "s/-time64$//" <<< ${tst_time64}) - -# Do not run tests supporting only 32 bit time -#for i in ${tst_time_tmp} -#do -# $i >/dev/null 2>&1 -# output -#done - -# Run tests supporting only 64 bit time -for i in ${tst_time64} -do - $i >/dev/null 2>&1 - output -done