mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01:00
connman: avoid hiding implementation-reserved symbols in version scripts
This commit adds a patch to ConnMan that modifies the version scripts (src/connman.ver and vpn/vpn.ver) to avoid hiding implementation-reserved symbols (such as _IO_stdin_used). Previously, using 'local: *;' in the version script caused glibc's libio to misdetect the libc version, resulting in a crash when printing to stdout (e.g., running 'connmand --help') on PowerPC. The new patch changes 'local: *;' to 'local: [!_]*;', following the recommendation in glibc bug 17908 (https://sourceware.org/bugzilla/show_bug.cgi?id=17908). This ensures that symbols starting with an underscore are not hidden, allowing libio to correctly detect the libc version and preventing the crash. (From OE-Core rev: fb2e29fc6931dc03ec892908e8e22d869d992f76) Signed-off-by: Peter Tatrai <peter.tatrai.ext@siemens.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
069796b00e
commit
68b64fda69
@@ -0,0 +1,50 @@
|
||||
From eac489c872c775c88bbd85b4cec6c1d47ad9e6a6 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Tatrai <peter.tatrai.ext@siemens.com>
|
||||
Date: Sun, 7 Sep 2025 09:25:20 +0200
|
||||
Subject: [PATCH] connman, vpn: avoid hiding implementation-reserved symbols
|
||||
|
||||
When using 'local: *;' in the version script, all symbols, including those
|
||||
reserved for the implementation (such as _IO_stdin_used), are hidden. This
|
||||
causes glibc's libio to misdetect the libc version, leading to a crash when
|
||||
glibc prints to stdout (e.g., with connmand --help) on PowerPC.
|
||||
|
||||
Change 'local: *;' to 'local: [!_]*;' to avoid hiding symbols starting with an
|
||||
underscore, as recommended in glibc bug 17908
|
||||
(https://sourceware.org/bugzilla/show_bug.cgi?id=17908). This ensures libio can
|
||||
correctly detect the libc version and prevents the crash.
|
||||
|
||||
Reference: https://sourceware.org/bugzilla/show_bug.cgi?id=17908
|
||||
|
||||
Upstream-Status: Submitted [https://lore.kernel.org/connman/20250907081844.1558-1-peter.tatrai.ext@siemens.com/]
|
||||
|
||||
Signed-off-by: Peter Tatrai <peter.tatrai.ext@siemens.com>
|
||||
---
|
||||
src/connman.ver | 2 +-
|
||||
vpn/vpn.ver | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/connman.ver b/src/connman.ver
|
||||
index 03a0eec..b75e90d 100644
|
||||
--- a/src/connman.ver
|
||||
+++ b/src/connman.ver
|
||||
@@ -3,5 +3,5 @@
|
||||
connman_*;
|
||||
g_dbus_*;
|
||||
local:
|
||||
- *;
|
||||
+ [!_]*;
|
||||
};
|
||||
diff --git a/vpn/vpn.ver b/vpn/vpn.ver
|
||||
index b887706..5cad344 100644
|
||||
--- a/vpn/vpn.ver
|
||||
+++ b/vpn/vpn.ver
|
||||
@@ -4,5 +4,5 @@
|
||||
vpn_*;
|
||||
g_dbus_*;
|
||||
local:
|
||||
- *;
|
||||
+ [!_]*;
|
||||
};
|
||||
--
|
||||
2.47.2
|
||||
|
||||
@@ -21,6 +21,7 @@ DEPENDS = "dbus glib-2.0"
|
||||
SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
|
||||
file://connman \
|
||||
file://no-version-scripts.patch \
|
||||
file://0001-connman-vpn-avoid-hiding-implementation-reserved-sym.patch \
|
||||
file://0002-resolve-musl-does-not-implement-res_ninit.patch \
|
||||
"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user