summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2025-07-16 15:40:29 -0700
committerKhem Raj <raj.khem@gmail.com>2025-07-16 15:42:59 -0700
commit459a98c170be844ae2b4e545afeabb2ae7480f5c (patch)
tree7bebaf0f6d1f87be11d22c041224e83662d5fb44
parentc7e2e1e3ecbe6c3aa56ae55cad9fd49690b2c438 (diff)
downloadmeta-openembedded-459a98c170be844ae2b4e545afeabb2ae7480f5c.tar.gz
uftrace: Fix build failure on x86
Do not inherit autotools bbclass, the configure script is hand-written and not a autoconf generated one. Backport a fix to build on 32bit x86 Fixes | i686-yoe-linux-ld.lld: error: undefined symbol: uftrace_arch_ops | >>> referenced by symbol.c:586 (utils/symbol.c:586) | >>> /mnt/b/yoe/master/build/tmp/work/core2-32-yoe-linux/uftrace/0.18/sources/uftrace-0.18/libmcount/symbol.op:(load_elf_dynsymtab) Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--meta-oe/recipes-devtools/uftrace/uftrace/0001-build-Fix-a-build-error-on-i386.patch26
-rw-r--r--meta-oe/recipes-devtools/uftrace/uftrace_0.18.bb23
2 files changed, 43 insertions, 6 deletions
diff --git a/meta-oe/recipes-devtools/uftrace/uftrace/0001-build-Fix-a-build-error-on-i386.patch b/meta-oe/recipes-devtools/uftrace/uftrace/0001-build-Fix-a-build-error-on-i386.patch
new file mode 100644
index 0000000000..c6bc8473b9
--- /dev/null
+++ b/meta-oe/recipes-devtools/uftrace/uftrace/0001-build-Fix-a-build-error-on-i386.patch
@@ -0,0 +1,26 @@
1From ea53a7f42c1c5da688ef79e53731dcc3810a1256 Mon Sep 17 00:00:00 2001
2From: Namhyung Kim <namhyung@gmail.com>
3Date: Sun, 6 Jul 2025 15:13:30 -0700
4Subject: [PATCH] build: Fix a build error on i386
5
6It happened to have common.S as well as common.c, so it picked the .S
7before .c for the uftrace-arch.a. And it caused undefined symbols.
8
9 /usr/bin/ld: libmcount/symbol.op: in function `load_dynsymtab':
10 utils/symbol.c:722:(.text+0x2b19): undefined reference to `uftrace_arch_ops'
11 libmcount/symbol.op: in function `load_elf_dynsymtab':
12 utils/symbol.c:586:(.text+0x184a): undefined reference to `uftrace_arch_ops'
13
14Fixed: #2010
15
16Upstream-Status: Backport [https://github.com/namhyung/uftrace/commit/ea53a7f42c1c5da688ef79e53731dcc3810a1256]
17Signed-off-by: Namhyung Kim <namhyung@gmail.com>
18---
19 arch/i386/{common.S => thunk.S} | 0
20 1 file changed, 0 insertions(+), 0 deletions(-)
21 rename arch/i386/{common.S => thunk.S} (100%)
22
23diff --git a/arch/i386/common.S b/arch/i386/thunk.S
24similarity index 100%
25rename from arch/i386/common.S
26rename to arch/i386/thunk.S
diff --git a/meta-oe/recipes-devtools/uftrace/uftrace_0.18.bb b/meta-oe/recipes-devtools/uftrace/uftrace_0.18.bb
index f82dc17071..7ba2dcadc9 100644
--- a/meta-oe/recipes-devtools/uftrace/uftrace_0.18.bb
+++ b/meta-oe/recipes-devtools/uftrace/uftrace_0.18.bb
@@ -8,11 +8,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
8DEPENDS = "elfutils" 8DEPENDS = "elfutils"
9DEPENDS:append:libc-musl = " argp-standalone" 9DEPENDS:append:libc-musl = " argp-standalone"
10 10
11inherit autotools
12
13SRCREV = "8ccd4f627569b0af122c8d1df98dc6813ab97a40" 11SRCREV = "8ccd4f627569b0af122c8d1df98dc6813ab97a40"
14SRC_URI = "git://github.com/namhyung/${BPN};branch=master;protocol=https;tag=v${PV} \ 12SRC_URI = "git://github.com/namhyung/${BPN};branch=master;protocol=https;tag=v${PV} \
15 file://0001-include-libgen.h-for-basename.patch" 13 file://0001-include-libgen.h-for-basename.patch \
14 file://0001-build-Fix-a-build-error-on-i386.patch \
15 "
16 16
17LDFLAGS:append:libc-musl = " -largp" 17LDFLAGS:append:libc-musl = " -largp"
18 18
@@ -26,11 +26,22 @@ def set_target_arch(d):
26 else: 26 else:
27 return arch 27 return arch
28 28
29EXTRA_UFTRACE_OECONF = "ARCH=${@set_target_arch(d)} \
30 with_elfutils=/use/libelf/from/sysroot"
31 29
32do_configure() { 30do_configure() {
33 ${S}/configure ${EXTRA_UFTRACE_OECONF} 31 ${S}/configure --prefix=${prefix} \
32 --objdir=${B} \
33 --cflags='${CFLAGS}' \
34 --ldflags='${LDFLAGS}' \
35 --arch='${@set_target_arch(d)}' \
36 --with-elfutils=${STAGING_EXECPREFIXDIR}
37}
38
39do_compile() {
40 oe_runmake V=1
41}
42
43do_install() {
44 oe_runmake DESTDIR=${D}
34} 45}
35 46
36FILES_SOLIBSDEV = "" 47FILES_SOLIBSDEV = ""