mirror of
https://git.yoctoproject.org/poky
synced 2026-04-26 18:32:13 +02:00
The bridge helper program is invoked directly from QEMU when it needs to attach to a network bridge. As such, it is subject to the environment of QEMU itself. Specifically, if bridging is enabled with direct rendering acceleration, QEMU is run with an LD_PRELOAD that attempts to preload several uninative libraries; however /bin/sh doesn't use the uninative loader which means it can fail to start with an error like: /bin/sh: symbol lookup error: sysroots-uninative/x86_64-linux/lib/librt.so.1: undefined symbol: __libc_unwind_link_get, version GLIBC_PRIVATE Converting the helper program to a C program resolves this problem because it will now use the uninative loader so the preload doesn't cause errors. (From OE-Core rev: 428a0be91eafb961f0fe92d2abccde5352c54c54) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> (cherry picked from commit f698e98f2f09952b34488b8cf9e73e82bd7aea07) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
30 lines
719 B
BlitzBasic
30 lines
719 B
BlitzBasic
SUMMARY = "Helper utilities needed by the runqemu script"
|
|
LICENSE = "GPL-2.0-only"
|
|
RDEPENDS:${PN} = "qemu-system-native"
|
|
PR = "r1"
|
|
|
|
LIC_FILES_CHKSUM = "file://${WORKDIR}/tunctl.c;endline=4;md5=ff3a09996bc5fff6bc5d4e0b4c28f999"
|
|
|
|
SRC_URI = "\
|
|
file://tunctl.c \
|
|
file://qemu-oe-bridge-helper.c \
|
|
"
|
|
|
|
S = "${WORKDIR}"
|
|
|
|
inherit native
|
|
|
|
do_compile() {
|
|
${CC} ${CFLAGS} ${LDFLAGS} -Wall tunctl.c -o tunctl
|
|
${CC} ${CFLAGS} ${LDFLAGS} -Wall qemu-oe-bridge-helper.c -o qemu-oe-bridge-helper
|
|
}
|
|
|
|
do_install() {
|
|
install -d ${D}${bindir}
|
|
install tunctl ${D}${bindir}/
|
|
install qemu-oe-bridge-helper ${D}${bindir}/
|
|
}
|
|
|
|
DEPENDS += "qemu-system-native"
|
|
addtask addto_recipe_sysroot after do_populate_sysroot before do_build
|