* [OE-core][walnascar 00/12] Patch review
@ 2025-05-14 15:57 Steve Sakoman
2025-05-14 15:57 ` [OE-core][walnascar 01/12] ffmpeg: fix CVE-2025-22921 Steve Sakoman
` (11 more replies)
0 siblings, 12 replies; 16+ messages in thread
From: Steve Sakoman @ 2025-05-14 15:57 UTC (permalink / raw)
To: openembedded-core
Please review this set of changes for walnascar and have comments back by
end of day Friday, May 16
Passed a-full on autobuilder:
https://autobuilder.yoctoproject.org/valkyrie/#/builders/29/builds/1584
The following changes since commit 5e594b3d074900580fa83ca50f7d837937c17856:
gobject-introspection: Fix wrong PN used in MULTILIB_SCRIPTS (2025-05-08 13:19:12 -0700)
are available in the Git repository at:
https://git.openembedded.org/openembedded-core-contrib stable/walnascar-nut
https://git.openembedded.org/openembedded-core-contrib/log/?h=stable/walnascar-nut
Aleksandar Nikolic (1):
scripts/install-buildtools: Update to 5.2
Alon Bar-Lev (1):
module.bbclass: add KBUILD_EXTRA_SYMBOLS to install
Archana Polampalli (4):
ffmpeg: fix CVE-2025-22921
perlcross: 1.6 -> 1.6.2
perl: upgrade 5.40.0 -> 5.40.2
go: upgrade 1.24.1 -> 1.24.2
Changqing Li (2):
libsoup-2.4: fix CVE-2024-52532
icu: set ac_cv_path_install to ensure install tool reproducibility
Deepesh Varatharajan (1):
binutils: stable 2.44 branch updates
Peter Marko (1):
go: upgrade 1.24.2 -> 1.24.3
Yogita Urade (1):
webkitgtk: upgrade 2.48.0 -> 2.48.1
rajmohan r (1):
glibc-y2038-tests: remove glibc-y2038-tests_2.41.bb recipe
meta/classes-recipe/module.bbclass | 1 +
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 -
.../binutils/binutils-2.44.inc | 3 +-
.../binutils/0015-CVE-2025-1153.patch | 3355 -----------------
.../go/{go-1.24.1.inc => go-1.24.3.inc} | 2 +-
...e_1.24.1.bb => go-binary-native_1.24.3.bb} | 6 +-
..._1.24.1.bb => go-cross-canadian_1.24.3.bb} | 0
...{go-cross_1.24.1.bb => go-cross_1.24.3.bb} | 0
...osssdk_1.24.1.bb => go-crosssdk_1.24.3.bb} | 0
...runtime_1.24.1.bb => go-runtime_1.24.3.bb} | 0
.../go/{go_1.24.1.bb => go_1.24.3.bb} | 0
.../{perlcross_1.6.bb => perlcross_1.6.2.bb} | 2 +-
.../perl/{perl_5.40.0.bb => perl_5.40.2.bb} | 2 +-
.../ffmpeg/ffmpeg/CVE-2025-22921.patch | 34 +
.../recipes-multimedia/ffmpeg/ffmpeg_7.1.1.bb | 4 +-
...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 +-
meta/recipes-support/icu/icu_76-1.bb | 6 +-
.../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 +-
scripts/install-buildtools | 4 +-
28 files changed, 183 insertions(+), 3674 deletions(-)
delete mode 100644 meta/recipes-core/glibc/glibc-y2038-tests_2.41.bb
delete mode 100755 meta/recipes-core/glibc/glibc/run-ptest
delete mode 100644 meta/recipes-devtools/binutils/binutils/0015-CVE-2025-1153.patch
rename meta/recipes-devtools/go/{go-1.24.1.inc => go-1.24.3.inc} (91%)
rename meta/recipes-devtools/go/{go-binary-native_1.24.1.bb => go-binary-native_1.24.3.bb} (78%)
rename meta/recipes-devtools/go/{go-cross-canadian_1.24.1.bb => go-cross-canadian_1.24.3.bb} (100%)
rename meta/recipes-devtools/go/{go-cross_1.24.1.bb => go-cross_1.24.3.bb} (100%)
rename meta/recipes-devtools/go/{go-crosssdk_1.24.1.bb => go-crosssdk_1.24.3.bb} (100%)
rename meta/recipes-devtools/go/{go-runtime_1.24.1.bb => go-runtime_1.24.3.bb} (100%)
rename meta/recipes-devtools/go/{go_1.24.1.bb => go_1.24.3.bb} (100%)
rename meta/recipes-devtools/perl-cross/{perlcross_1.6.bb => perlcross_1.6.2.bb} (92%)
rename meta/recipes-devtools/perl/{perl_5.40.0.bb => perl_5.40.2.bb} (99%)
create mode 100644 meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2025-22921.patch
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%)
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
--
2.43.0
^ permalink raw reply [flat|nested] 16+ messages in thread
* [OE-core][walnascar 01/12] ffmpeg: fix CVE-2025-22921
2025-05-14 15:57 [OE-core][walnascar 00/12] Patch review Steve Sakoman
@ 2025-05-14 15:57 ` Steve Sakoman
2025-05-14 15:57 ` [OE-core][walnascar 02/12] libsoup-2.4: fix CVE-2024-52532 Steve Sakoman
` (10 subsequent siblings)
11 siblings, 0 replies; 16+ messages in thread
From: Steve Sakoman @ 2025-05-14 15:57 UTC (permalink / raw)
To: openembedded-core
From: Archana Polampalli <archana.polampalli@windriver.com>
FFmpeg git-master,N-113007-g8d24a28d06 was discovered to contain a segmentation
violation via the component /libavcodec/jpeg2000dec.c.
Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
.../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 <jamrial@gmail.com>
+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 <michael@niedermayer.cc>
+Signed-off-by: James Almer <jamrial@gmail.com>
+
+CVE: CVE-2025-22921
+
+Upstream-Status: Backport [https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/7f9c7f9849a2155224711f0ff57ecdac6e4bfb57]
+
+Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
+---
+ 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"
--
2.43.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [OE-core][walnascar 02/12] libsoup-2.4: fix CVE-2024-52532
2025-05-14 15:57 [OE-core][walnascar 00/12] Patch review Steve Sakoman
2025-05-14 15:57 ` [OE-core][walnascar 01/12] ffmpeg: fix CVE-2025-22921 Steve Sakoman
@ 2025-05-14 15:57 ` Steve Sakoman
2025-05-14 15:57 ` [OE-core][walnascar 03/12] scripts/install-buildtools: Update to 5.2 Steve Sakoman
` (9 subsequent siblings)
11 siblings, 0 replies; 16+ messages in thread
From: Steve Sakoman @ 2025-05-14 15:57 UTC (permalink / raw)
To: openembedded-core
From: Changqing Li <changqing.li@windriver.com>
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 <changqing.li@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
.../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 <qignacio@amazon.com>
+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 <changqing.li@windriver.com>
+---
+ 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 <qignacio@amazon.com>
+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 <changqing.li@windriver.com>
+---
+ 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 <smcv@debian.org>
+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 <smcv@debian.org>
+
+CVE: CVE-2024-52532
+Upstream-Status: Backport
+[https://gitlab.gnome.org/GNOME/libsoup/-/commit/4c9e75c6676a37b6485620c332e568e1a3f530ff]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ 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"
--
2.43.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [OE-core][walnascar 03/12] scripts/install-buildtools: Update to 5.2
2025-05-14 15:57 [OE-core][walnascar 00/12] Patch review Steve Sakoman
2025-05-14 15:57 ` [OE-core][walnascar 01/12] ffmpeg: fix CVE-2025-22921 Steve Sakoman
2025-05-14 15:57 ` [OE-core][walnascar 02/12] libsoup-2.4: fix CVE-2024-52532 Steve Sakoman
@ 2025-05-14 15:57 ` Steve Sakoman
2025-05-14 15:57 ` [OE-core][walnascar 04/12] webkitgtk: upgrade 2.48.0 -> 2.48.1 Steve Sakoman
` (8 subsequent siblings)
11 siblings, 0 replies; 16+ messages in thread
From: Steve Sakoman @ 2025-05-14 15:57 UTC (permalink / raw)
To: openembedded-core
From: Aleksandar Nikolic <aleksandar.nikolic@zeiss.com>
Update to the 5.2 release of the 5.2 series for buildtools
Signed-off-by: Aleksandar Nikolic <aleksandar.nikolic@zeiss.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
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
--
2.43.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [OE-core][walnascar 04/12] webkitgtk: upgrade 2.48.0 -> 2.48.1
2025-05-14 15:57 [OE-core][walnascar 00/12] Patch review Steve Sakoman
` (2 preceding siblings ...)
2025-05-14 15:57 ` [OE-core][walnascar 03/12] scripts/install-buildtools: Update to 5.2 Steve Sakoman
@ 2025-05-14 15:57 ` Steve Sakoman
2025-05-14 15:57 ` [OE-core][walnascar 05/12] perlcross: 1.6 -> 1.6.2 Steve Sakoman
` (7 subsequent siblings)
11 siblings, 0 replies; 16+ messages in thread
From: Steve Sakoman @ 2025-05-14 15:57 UTC (permalink / raw)
To: openembedded-core
From: Yogita Urade <yogita.urade@windriver.com>
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 <yogita.urade@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
...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 <aperez@igalia.com>
-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 <raj.khem@gmail.com>
----
- 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 <utility>
-+ #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 <utility>
-@@ -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 <Hironori.Fujii@sony.com>
-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<auto V> constexpr std::span<const char> enumName()
-
-The upstream Magic Enum C++ has a template variable `is_enum_constexpr_static_cast_valid<E, V>` to check a enum value is valid.
-<https://github.com/Neargye/magic_enum/blob/a413fcc9c46a020a746907136a384c227f3cd095/include/magic_enum/magic_enum.hpp#L624-L634>
-
-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 <raj.khem@gmail.com>
----
- 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 <typename E, auto V, typename = void>
-+inline constexpr bool isEnumConstexprStaticCastValid = false;
-+template <typename E, auto V>
-+inline constexpr bool isEnumConstexprStaticCastValid<E, V, std::void_t<std::integral_constant<E, static_cast<E>(V)>>> = true;
-+#else
-+template <typename, auto>
-+inline constexpr bool isEnumConstexprStaticCastValid = true;
-+#endif
-+
- template<typename E>
- constexpr std::span<const char> enumTypeNameImpl()
- {
-@@ -215,6 +225,15 @@ constexpr std::span<const char> enumName()
- return result;
- }
-
-+template<typename E, auto V>
-+constexpr std::span<const char> enumName()
-+{
-+ if constexpr (isEnumConstexprStaticCastValid<E, V>)
-+ return enumName<static_cast<E>(V)>();
-+ else
-+ return { };
-+}
-+
- template<typename E>
- constexpr std::underlying_type_t<E> enumNamesMin()
- {
-@@ -264,7 +283,7 @@ constexpr auto makeEnumNames(std::index_sequence<Is...>)
- {
- constexpr auto min = enumNamesMin<E>();
- return std::array<std::span<const char>, sizeof...(Is)> {
-- enumName<static_cast<E>(static_cast<std::underlying_type_t<E>>(Is) + min)>()...
-+ enumName<E, static_cast<std::underlying_type_t<E>>(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
--
2.43.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [OE-core][walnascar 05/12] perlcross: 1.6 -> 1.6.2
2025-05-14 15:57 [OE-core][walnascar 00/12] Patch review Steve Sakoman
` (3 preceding siblings ...)
2025-05-14 15:57 ` [OE-core][walnascar 04/12] webkitgtk: upgrade 2.48.0 -> 2.48.1 Steve Sakoman
@ 2025-05-14 15:57 ` Steve Sakoman
2025-05-14 15:57 ` [OE-core][walnascar 06/12] perl: upgrade 5.40.0 -> 5.40.2 Steve Sakoman
` (6 subsequent siblings)
11 siblings, 0 replies; 16+ messages in thread
From: Steve Sakoman @ 2025-05-14 15:57 UTC (permalink / raw)
To: openembedded-core
From: Archana Polampalli <archana.polampalli@windriver.com>
Provide support for Perl 5.40.2
https://github.com/arsv/perl-cross/releases/tag/1.6.2
Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
.../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}"
--
2.43.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [OE-core][walnascar 06/12] perl: upgrade 5.40.0 -> 5.40.2
2025-05-14 15:57 [OE-core][walnascar 00/12] Patch review Steve Sakoman
` (4 preceding siblings ...)
2025-05-14 15:57 ` [OE-core][walnascar 05/12] perlcross: 1.6 -> 1.6.2 Steve Sakoman
@ 2025-05-14 15:57 ` Steve Sakoman
2025-05-14 15:57 ` [OE-core][walnascar 07/12] go: upgrade 1.24.1 -> 1.24.2 Steve Sakoman
` (5 subsequent siblings)
11 siblings, 0 replies; 16+ messages in thread
From: Steve Sakoman @ 2025-05-14 15:57 UTC (permalink / raw)
To: openembedded-core
From: Archana Polampalli <archana.polampalli@windriver.com>
https://metacpan.org/pod/perldelta
This provides a fix for CVE-2024-56406
Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
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"
--
2.43.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [OE-core][walnascar 07/12] go: upgrade 1.24.1 -> 1.24.2
2025-05-14 15:57 [OE-core][walnascar 00/12] Patch review Steve Sakoman
` (5 preceding siblings ...)
2025-05-14 15:57 ` [OE-core][walnascar 06/12] perl: upgrade 5.40.0 -> 5.40.2 Steve Sakoman
@ 2025-05-14 15:57 ` Steve Sakoman
2025-05-14 15:57 ` [OE-core][walnascar 08/12] go: upgrade 1.24.2 -> 1.24.3 Steve Sakoman
` (4 subsequent siblings)
11 siblings, 0 replies; 16+ messages in thread
From: Steve Sakoman @ 2025-05-14 15:57 UTC (permalink / raw)
To: openembedded-core
From: Archana Polampalli <archana.polampalli@windriver.com>
Fixes CVE-2025-22871
https://github.com/golang/go/compare/go1.24.1...go1.24.2
Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
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<pver>\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
--
2.43.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [OE-core][walnascar 08/12] go: upgrade 1.24.2 -> 1.24.3
2025-05-14 15:57 [OE-core][walnascar 00/12] Patch review Steve Sakoman
` (6 preceding siblings ...)
2025-05-14 15:57 ` [OE-core][walnascar 07/12] go: upgrade 1.24.1 -> 1.24.2 Steve Sakoman
@ 2025-05-14 15:57 ` Steve Sakoman
2025-05-14 15:57 ` [OE-core][walnascar 09/12] binutils: stable 2.44 branch updates Steve Sakoman
` (3 subsequent siblings)
11 siblings, 0 replies; 16+ messages in thread
From: Steve Sakoman @ 2025-05-14 15:57 UTC (permalink / raw)
To: openembedded-core
From: Peter Marko <peter.marko@siemens.com>
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 <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
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<pver>\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
--
2.43.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [OE-core][walnascar 09/12] binutils: stable 2.44 branch updates
2025-05-14 15:57 [OE-core][walnascar 00/12] Patch review Steve Sakoman
` (7 preceding siblings ...)
2025-05-14 15:57 ` [OE-core][walnascar 08/12] go: upgrade 1.24.2 -> 1.24.3 Steve Sakoman
@ 2025-05-14 15:57 ` Steve Sakoman
2025-05-14 15:57 ` [OE-core][walnascar 10/12] module.bbclass: add KBUILD_EXTRA_SYMBOLS to install Steve Sakoman
` (2 subsequent siblings)
11 siblings, 0 replies; 16+ messages in thread
From: Steve Sakoman @ 2025-05-14 15:57 UTC (permalink / raw)
To: openembedded-core
From: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>
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 <Deepesh.Varatharajan@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
.../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<pver>\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 <amodra@gmail.com>
-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 <peter.marko@siemens.com>
----
- 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 <<EOF
- link_info.emit_gnu_hash = true;
- }
- else
-- einfo (_("%F%P: invalid hash style \`%s'\n"), optarg);
-+ fatal (_("%P: invalid hash style \`%s'\n"), optarg);
- break;
-
- EOF
-@@ -973,7 +973,7 @@ fragment <<EOF
- link_info.maxpagesize = strtoul (optarg + 14, &end, 0);
- if (*end
- || (link_info.maxpagesize & (link_info.maxpagesize - 1)) != 0)
-- einfo (_("%F%P: invalid maximum page size \`%s'\n"),
-+ fatal (_("%P: invalid maximum page size \`%s'\n"),
- optarg + 14);
- link_info.maxpagesize_is_set = true;
- }
-@@ -983,7 +983,7 @@ fragment <<EOF
- link_info.commonpagesize = strtoul (optarg + 17, &end, 0);
- if (*end
- || (link_info.commonpagesize & (link_info.commonpagesize - 1)) != 0)
-- einfo (_("%F%P: invalid common page size \`%s'\n"),
-+ fatal (_("%P: invalid common page size \`%s'\n"),
- optarg + 17);
- link_info.commonpagesize_is_set = true;
- }
-@@ -992,7 +992,7 @@ fragment <<EOF
- char *end;
- link_info.stacksize = strtoul (optarg + 11, &end, 0);
- if (*end || link_info.stacksize < 0)
-- einfo (_("%F%P: invalid stack size \`%s'\n"), optarg + 11);
-+ fatal (_("%P: invalid stack size \`%s'\n"), optarg + 11);
- if (!link_info.stacksize)
- /* Use -1 for explicit no-stack, because zero means
- 'default'. */
-@@ -1031,7 +1031,7 @@ fragment <<EOF
- else if (strcmp (optarg, "start-stop-visibility=protected") == 0)
- link_info.start_stop_visibility = STV_PROTECTED;
- else
-- einfo (_("%F%P: invalid visibility in \`-z %s'; "
-+ fatal (_("%P: invalid visibility in \`-z %s'; "
- "must be default, internal, hidden, or protected"),
- optarg);
- }
-diff --git a/ld/emultempl/hppaelf.em b/ld/emultempl/hppaelf.em
-index 512f7d9dd44..8dfa257b304 100644
---- a/ld/emultempl/hppaelf.em
-+++ b/ld/emultempl/hppaelf.em
-@@ -82,7 +82,7 @@ hppaelf_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;
- }
-
-@@ -346,7 +346,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/kvxelf.em b/ld/emultempl/kvxelf.em
-index cbfde0ed24c..186f1483037 100644
---- a/ld/emultempl/kvxelf.em
-+++ b/ld/emultempl/kvxelf.em
-@@ -35,9 +35,8 @@ elf${ELFSIZE}_kvx_before_allocation (void)
- EOF
- if test x"${EMULATION_NAME}" != x"elf64kvx_linux"; then
- fragment <<EOF
-- if (bfd_link_pie (&link_info)) {
-- einfo (_("%F:%P: -pie not supported\n"));
-- }
-+ if (bfd_link_pie (&link_info))
-+ fatal (_(":%P: -pie not supported\n"));
- EOF
- fi
- fragment <<EOF
-@@ -300,7 +299,7 @@ kvx_elf_create_output_section_statements (void)
- ldlang_add_file (stub_file);
-
- if (!kvx_elf${ELFSIZE}_init_stub_bfd (&link_info, stub_file->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=<size>\n"));
-+ fatal (_("%P: error: --lazy-stack must follow -zstack-size=<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 <size> 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 <something>=<somthing>... */
- 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
--
2.43.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [OE-core][walnascar 10/12] module.bbclass: add KBUILD_EXTRA_SYMBOLS to install
2025-05-14 15:57 [OE-core][walnascar 00/12] Patch review Steve Sakoman
` (8 preceding siblings ...)
2025-05-14 15:57 ` [OE-core][walnascar 09/12] binutils: stable 2.44 branch updates Steve Sakoman
@ 2025-05-14 15:57 ` Steve Sakoman
2025-05-14 15:57 ` [OE-core][walnascar 11/12] icu: set ac_cv_path_install to ensure install tool reproducibility Steve Sakoman
2025-05-14 15:58 ` [OE-core][walnascar 12/12] glibc-y2038-tests: remove glibc-y2038-tests_2.41.bb recipe Steve Sakoman
11 siblings, 0 replies; 16+ messages in thread
From: Steve Sakoman @ 2025-05-14 15:57 UTC (permalink / raw)
To: openembedded-core
From: Alon Bar-Lev <alon.barlev@gmail.com>
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 <alon.barlev@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 0ef80eeda967a9e04ff91c3583aabbc35c9868e8)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
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
--
2.43.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [OE-core][walnascar 11/12] icu: set ac_cv_path_install to ensure install tool reproducibility
2025-05-14 15:57 [OE-core][walnascar 00/12] Patch review Steve Sakoman
` (9 preceding siblings ...)
2025-05-14 15:57 ` [OE-core][walnascar 10/12] module.bbclass: add KBUILD_EXTRA_SYMBOLS to install Steve Sakoman
@ 2025-05-14 15:57 ` Steve Sakoman
2025-05-14 15:58 ` [OE-core][walnascar 12/12] glibc-y2038-tests: remove glibc-y2038-tests_2.41.bb recipe Steve Sakoman
11 siblings, 0 replies; 16+ messages in thread
From: Steve Sakoman @ 2025-05-14 15:57 UTC (permalink / raw)
To: openembedded-core
From: Changqing Li <changqing.li@windriver.com>
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 <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
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)}"
--
2.43.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [OE-core][walnascar 12/12] glibc-y2038-tests: remove glibc-y2038-tests_2.41.bb recipe
2025-05-14 15:57 [OE-core][walnascar 00/12] Patch review Steve Sakoman
` (10 preceding siblings ...)
2025-05-14 15:57 ` [OE-core][walnascar 11/12] icu: set ac_cv_path_install to ensure install tool reproducibility Steve Sakoman
@ 2025-05-14 15:58 ` Steve Sakoman
11 siblings, 0 replies; 16+ messages in thread
From: Steve Sakoman @ 2025-05-14 15:58 UTC (permalink / raw)
To: openembedded-core
From: rajmohan r <semc.2042@gmail.com>
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 <semc.2042@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit fbe3679ba3c12c52a502511f5dde91fb4de7a6b6)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
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 <raj.khem@gmail.com>"
RECIPE_MAINTAINER:pn-glibc-locale = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER:pn-glibc-mtrace = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER:pn-glibc-scripts = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER:pn-glibc-y2038-tests = "Lukasz Majewski <lukma@denx.de>"
RECIPE_MAINTAINER:pn-glibc-testsuite = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER:pn-gmp = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER:pn-glslang = "Jose Quaresma <quaresma.jose@gmail.com>"
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
--
2.43.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [OE-core][walnascar 00/12] Patch review
@ 2025-05-30 17:38 Steve Sakoman
0 siblings, 0 replies; 16+ messages in thread
From: Steve Sakoman @ 2025-05-30 17:38 UTC (permalink / raw)
To: openembedded-core
Please review this set of changes for walnascar and have comments back by
end of day Tuesday, June 3
Passed a-full on autobuilder:
https://autobuilder.yoctoproject.org/valkyrie/#/builders/29/builds/1692
The following changes since commit e3fa9ef3239e8bc113e211f5258f84d08284872a:
python3-pygobject: RDEPENDS on gobject-introspection (2025-05-27 09:58:23 -0700)
are available in the Git repository at:
https://git.openembedded.org/openembedded-core-contrib stable/walnascar-nut
https://git.openembedded.org/openembedded-core-contrib/log/?h=stable/walnascar-nut
Bruce Ashfield (9):
linux-yocto/6.12: update to v6.12.24
linux-yocto/6.12: update to v6.12.25
linux-yocto/6.12: bsp/genericarm64: modular configuration updates
linux-yocto/6.12: update to v6.12.27
linux-yoto/6.12: bsp/arm: fix CONFIG_CRYPTO_LIB_CHACHA
linux-yocto/6.12: update to v6.12.28
linux-yocto/6.12: update to v6.12.29
linux-yocto/6.12: riscv config sync
linux-yocto/6.12: update to v6.12.30
Harish Sadineni (1):
binutils: Fix CVE-2025-1182
NeilBrown (1):
nfs-utils: don't use signals to shut down nfs server.
Richard Purdie (1):
sstatetests: Switch to new CDN
meta/lib/oeqa/selftest/cases/sstatetests.py | 2 +-
.../nfs-utils/nfs-utils/nfsserver | 28 +++------------
.../binutils/binutils-2.44.inc | 1 +
.../binutils/binutils/CVE-2025-1182.patch | 36 +++++++++++++++++++
.../linux/linux-yocto-rt_6.12.bb | 6 ++--
.../linux/linux-yocto-tiny_6.12.bb | 6 ++--
meta/recipes-kernel/linux/linux-yocto_6.12.bb | 28 +++++++--------
7 files changed, 62 insertions(+), 45 deletions(-)
create mode 100644 meta/recipes-devtools/binutils/binutils/CVE-2025-1182.patch
--
2.43.0
^ permalink raw reply [flat|nested] 16+ messages in thread
* [OE-core][walnascar 00/12] Patch review
@ 2025-06-17 15:59 Steve Sakoman
0 siblings, 0 replies; 16+ messages in thread
From: Steve Sakoman @ 2025-06-17 15:59 UTC (permalink / raw)
To: openembedded-core
Please review this set of changes for walnascar and have comments back by
end of day Thursday, June 19.
Passed a-full on autobuilder:
https://autobuilder.yoctoproject.org/valkyrie/#/builders/29/builds/1821
The following changes since commit 55a9cd748531c75d46f5d6d53af692a38c6b6716:
python3: upgrade 3.13.3 -> 3.13.4 (2025-06-09 07:55:16 -0700)
are available in the Git repository at:
https://git.openembedded.org/openembedded-core-contrib stable/walnascar-nut
https://git.openembedded.org/openembedded-core-contrib/log/?h=stable/walnascar-nut
Aleksandar Nikolic (1):
scripts/install-buildtools: Update to 5.2.1
Deepesh Varatharajan (1):
gcc: Upgrade to GCC 14.3
Harish Sadineni (1):
binutils: Fix for CVE-2025-3198
Jiaying Song (1):
python3-requests: upgrade 2.32.3 -> 2.32.4
Peter Marko (4):
net-tools: patch CVE-2025-46836
go: upgrade 1.24.3 -> 1.24.4
systemd: upgrade 257.5 -> 257.6
testimage: get real os-release file
Sandeep Gundlupet Raju (1):
tune-cortexr52: Remove aarch64 for ARM Cortex-R52
Wang Mingyu (1):
systemd: upgrade 257.4 -> 257.5
Yi Zhao (1):
kea: upgrade 2.6.1 -> 2.6.3
Yongxin Liu (1):
util-linux: fix agetty segfault issue
meta/classes-recipe/testimage.bbclass | 4 +-
meta/conf/distro/include/maintainers.inc | 2 +-
.../include/arm/armv8r/tune-cortexr52.inc | 5 +-
.../0001-Avoid-assert-on-empty-packet.patch | 148 -----
...me-NameString-with-vector-of-uint8_t.patch | 90 ---
.../0001-Update-asiolink-for-boost-1.87.patch | 190 ------
...po-in-Name-Name-append-to-ndata_-not.patch | 36 --
.../kea/{kea_2.6.1.bb => kea_2.6.3.bb} | 8 +-
..._257.4.bb => systemd-boot-native_257.6.bb} | 0
...md-boot_257.4.bb => systemd-boot_257.6.bb} | 0
...4.bb => systemd-systemctl-native_257.6.bb} | 0
meta/recipes-core/systemd/systemd.inc | 4 +-
...k-parse_printf_format-implementation.patch | 2 +-
...-not-disable-buffer-in-writing-files.patch | 14 +-
.../systemd/0014-Handle-missing-gshadow.patch | 4 +-
...util-Make-STRERROR-portable-for-musl.patch | 7 +-
.../{systemd_257.4.bb => systemd_257.6.bb} | 0
meta/recipes-core/util-linux/util-linux.inc | 1 +
...tty-fix-stdin-conversion-to-tty-name.patch | 40 ++
.../binutils/binutils-2.44.inc | 1 +
.../binutils/0016-CVE-2025-3198.patch | 28 +
.../gcc/{gcc-14.2.inc => gcc-14.3.inc} | 11 +-
...ian_14.2.bb => gcc-cross-canadian_14.3.bb} | 0
.../{gcc-cross_14.2.bb => gcc-cross_14.3.bb} | 0
...-crosssdk_14.2.bb => gcc-crosssdk_14.3.bb} | 0
...cc-runtime_14.2.bb => gcc-runtime_14.3.bb} | 0
...itizers_14.2.bb => gcc-sanitizers_14.3.bb} | 0
...{gcc-source_14.2.bb => gcc-source_14.3.bb} | 0
...m-Fix-LDRD-register-overlap-PR117675.patch | 148 -----
...ix-c-tweak-for-Wrange-loop-construct.patch | 114 ----
...ch-to-fix-data-relocation-to-ENDBR-s.patch | 447 --------------
...-incorrect-preprocessor-line-numbers.patch | 475 ---------------
...4fffe3fc82a710bea66ad651720d71c938b8.patch | 549 ------------------
.../gcc/{gcc_14.2.bb => gcc_14.3.bb} | 0
...initial_14.2.bb => libgcc-initial_14.3.bb} | 0
.../gcc/{libgcc_14.2.bb => libgcc_14.3.bb} | 0
...ibgfortran_14.2.bb => libgfortran_14.3.bb} | 0
.../go/{go-1.24.3.inc => go-1.24.4.inc} | 2 +-
...e_1.24.3.bb => go-binary-native_1.24.4.bb} | 6 +-
..._1.24.3.bb => go-cross-canadian_1.24.4.bb} | 0
...{go-cross_1.24.3.bb => go-cross_1.24.4.bb} | 0
...osssdk_1.24.3.bb => go-crosssdk_1.24.4.bb} | 0
...runtime_1.24.3.bb => go-runtime_1.24.4.bb} | 0
.../go/{go_1.24.3.bb => go_1.24.4.bb} | 0
...s_2.32.3.bb => python3-requests_2.32.4.bb} | 2 +-
.../net-tools/CVE-2025-46836-01.patch | 91 +++
.../net-tools/CVE-2025-46836-02.patch | 31 +
.../net-tools/net-tools_2.10.bb | 2 +
scripts/install-buildtools | 4 +-
49 files changed, 227 insertions(+), 2239 deletions(-)
delete mode 100644 meta/recipes-connectivity/kea/files/0001-Avoid-assert-on-empty-packet.patch
delete mode 100644 meta/recipes-connectivity/kea/files/0001-Replace-Name-NameString-with-vector-of-uint8_t.patch
delete mode 100644 meta/recipes-connectivity/kea/files/0001-Update-asiolink-for-boost-1.87.patch
delete mode 100644 meta/recipes-connectivity/kea/files/0002-Fix-unittests-Typo-in-Name-Name-append-to-ndata_-not.patch
rename meta/recipes-connectivity/kea/{kea_2.6.1.bb => kea_2.6.3.bb} (87%)
rename meta/recipes-core/systemd/{systemd-boot-native_257.4.bb => systemd-boot-native_257.6.bb} (100%)
rename meta/recipes-core/systemd/{systemd-boot_257.4.bb => systemd-boot_257.6.bb} (100%)
rename meta/recipes-core/systemd/{systemd-systemctl-native_257.4.bb => systemd-systemctl-native_257.6.bb} (100%)
rename meta/recipes-core/systemd/{systemd_257.4.bb => systemd_257.6.bb} (100%)
create mode 100644 meta/recipes-core/util-linux/util-linux/0003-agetty-fix-stdin-conversion-to-tty-name.patch
create mode 100644 meta/recipes-devtools/binutils/binutils/0016-CVE-2025-3198.patch
rename meta/recipes-devtools/gcc/{gcc-14.2.inc => gcc-14.3.inc} (90%)
rename meta/recipes-devtools/gcc/{gcc-cross-canadian_14.2.bb => gcc-cross-canadian_14.3.bb} (100%)
rename meta/recipes-devtools/gcc/{gcc-cross_14.2.bb => gcc-cross_14.3.bb} (100%)
rename meta/recipes-devtools/gcc/{gcc-crosssdk_14.2.bb => gcc-crosssdk_14.3.bb} (100%)
rename meta/recipes-devtools/gcc/{gcc-runtime_14.2.bb => gcc-runtime_14.3.bb} (100%)
rename meta/recipes-devtools/gcc/{gcc-sanitizers_14.2.bb => gcc-sanitizers_14.3.bb} (100%)
rename meta/recipes-devtools/gcc/{gcc-source_14.2.bb => gcc-source_14.3.bb} (100%)
delete mode 100644 meta/recipes-devtools/gcc/gcc/0001-arm-Fix-LDRD-register-overlap-PR117675.patch
delete mode 100644 meta/recipes-devtools/gcc/gcc/0026-gcc-Fix-c-tweak-for-Wrange-loop-construct.patch
delete mode 100644 meta/recipes-devtools/gcc/gcc/0027-gcc-backport-patch-to-fix-data-relocation-to-ENDBR-s.patch
delete mode 100644 meta/recipes-devtools/gcc/gcc/0028-fix-incorrect-preprocessor-line-numbers.patch
delete mode 100644 meta/recipes-devtools/gcc/gcc/gcc.git-ab884fffe3fc82a710bea66ad651720d71c938b8.patch
rename meta/recipes-devtools/gcc/{gcc_14.2.bb => gcc_14.3.bb} (100%)
rename meta/recipes-devtools/gcc/{libgcc-initial_14.2.bb => libgcc-initial_14.3.bb} (100%)
rename meta/recipes-devtools/gcc/{libgcc_14.2.bb => libgcc_14.3.bb} (100%)
rename meta/recipes-devtools/gcc/{libgfortran_14.2.bb => libgfortran_14.3.bb} (100%)
rename meta/recipes-devtools/go/{go-1.24.3.inc => go-1.24.4.inc} (91%)
rename meta/recipes-devtools/go/{go-binary-native_1.24.3.bb => go-binary-native_1.24.4.bb} (78%)
rename meta/recipes-devtools/go/{go-cross-canadian_1.24.3.bb => go-cross-canadian_1.24.4.bb} (100%)
rename meta/recipes-devtools/go/{go-cross_1.24.3.bb => go-cross_1.24.4.bb} (100%)
rename meta/recipes-devtools/go/{go-crosssdk_1.24.3.bb => go-crosssdk_1.24.4.bb} (100%)
rename meta/recipes-devtools/go/{go-runtime_1.24.3.bb => go-runtime_1.24.4.bb} (100%)
rename meta/recipes-devtools/go/{go_1.24.3.bb => go_1.24.4.bb} (100%)
rename meta/recipes-devtools/python/{python3-requests_2.32.3.bb => python3-requests_2.32.4.bb} (91%)
create mode 100644 meta/recipes-extended/net-tools/net-tools/CVE-2025-46836-01.patch
create mode 100644 meta/recipes-extended/net-tools/net-tools/CVE-2025-46836-02.patch
--
2.43.0
^ permalink raw reply [flat|nested] 16+ messages in thread
* [OE-core][walnascar 00/12] Patch review
@ 2025-07-20 20:04 Steve Sakoman
0 siblings, 0 replies; 16+ messages in thread
From: Steve Sakoman @ 2025-07-20 20:04 UTC (permalink / raw)
To: openembedded-core
Please review this set of changes for walnascar and have comments bac=k by
end of day Tuesday, July 22
Passed a-full on autobuilder:
https://autobuilder.yoctoproject.org/valkyrie/?#/builders/29/builds/2046
The following changes since commit acbed746f321e1a42df9035d2b6f1029f5a6a6a2:
kea: set correct permissions for /var/run/kea (2025-07-16 08:21:58 -0700)
are available in the Git repository at:
https://git.openembedded.org/openembedded-core-contrib stable/walnascar-nut
https://git.openembedded.org/openembedded-core-contrib/log/?h=stable/walnascar-nut
Bruce Ashfield (8):
linux-yocto/6.12: update to v6.12.32
linux-yocto/6.12: yaffs2: silence warnings
linux-yocto/6.12: update to v6.12.33
linux-yocto/6.12: riscv tune fragments
linux-yocto/6.12: update to v6.12.34
linux-yocto/6.12: update to v6.12.36
linux-yocto/6.12: update to v6.12.38
linux-yocto/6.12: update CVE exclusions (6.12.38)
Deepesh Varatharajan (1):
glibc: stable 2.41 branch updates
Mark Hatle (1):
linux-yocto/6.12: riscv: Enable TUNE_FEATURES based KERNEL_FEATURES
Richard Purdie (1):
linux-yocto-6.12: Update CVE list for 6.12.36
Zhang Peng (1):
avahi: fix CVE-2024-52616
meta/recipes-connectivity/avahi/avahi_0.8.bb | 1 +
.../avahi/files/CVE-2024-52616.patch | 104 +
meta/recipes-core/glibc/glibc-version.inc | 2 +-
.../linux/cve-exclusion_6.12.inc | 10175 +++++++++-------
.../linux/linux-yocto-rt_6.12.bb | 6 +-
.../linux/linux-yocto-tiny_6.12.bb | 6 +-
meta/recipes-kernel/linux/linux-yocto.inc | 16 +
meta/recipes-kernel/linux/linux-yocto_6.12.bb | 28 +-
8 files changed, 5851 insertions(+), 4487 deletions(-)
create mode 100644 meta/recipes-connectivity/avahi/files/CVE-2024-52616.patch
--
2.43.0
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2025-07-20 20:05 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-14 15:57 [OE-core][walnascar 00/12] Patch review Steve Sakoman
2025-05-14 15:57 ` [OE-core][walnascar 01/12] ffmpeg: fix CVE-2025-22921 Steve Sakoman
2025-05-14 15:57 ` [OE-core][walnascar 02/12] libsoup-2.4: fix CVE-2024-52532 Steve Sakoman
2025-05-14 15:57 ` [OE-core][walnascar 03/12] scripts/install-buildtools: Update to 5.2 Steve Sakoman
2025-05-14 15:57 ` [OE-core][walnascar 04/12] webkitgtk: upgrade 2.48.0 -> 2.48.1 Steve Sakoman
2025-05-14 15:57 ` [OE-core][walnascar 05/12] perlcross: 1.6 -> 1.6.2 Steve Sakoman
2025-05-14 15:57 ` [OE-core][walnascar 06/12] perl: upgrade 5.40.0 -> 5.40.2 Steve Sakoman
2025-05-14 15:57 ` [OE-core][walnascar 07/12] go: upgrade 1.24.1 -> 1.24.2 Steve Sakoman
2025-05-14 15:57 ` [OE-core][walnascar 08/12] go: upgrade 1.24.2 -> 1.24.3 Steve Sakoman
2025-05-14 15:57 ` [OE-core][walnascar 09/12] binutils: stable 2.44 branch updates Steve Sakoman
2025-05-14 15:57 ` [OE-core][walnascar 10/12] module.bbclass: add KBUILD_EXTRA_SYMBOLS to install Steve Sakoman
2025-05-14 15:57 ` [OE-core][walnascar 11/12] icu: set ac_cv_path_install to ensure install tool reproducibility Steve Sakoman
2025-05-14 15:58 ` [OE-core][walnascar 12/12] glibc-y2038-tests: remove glibc-y2038-tests_2.41.bb recipe Steve Sakoman
-- strict thread matches above, loose matches on Subject: below --
2025-05-30 17:38 [OE-core][walnascar 00/12] Patch review Steve Sakoman
2025-06-17 15:59 Steve Sakoman
2025-07-20 20:04 Steve Sakoman
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox