From: Qi.Chen@windriver.com
To: openembedded-core@lists.openembedded.org
Subject: [OE-core][PATCH] debugedit: fix build failure when enabling DEBUG_BUILD
Date: Sun, 19 Jan 2025 23:33:21 -0800 [thread overview]
Message-ID: <20250120073321.3859875-1-Qi.Chen@windriver.com> (raw)
From: Chen Qi <Qi.Chen@windriver.com>
When DEBUG_BUILD is enabled, we use "-Og -g" gcc options. In such
case, the xxhash functions are considered not inline, yet debugedit.c
defined XXH_INLINE_ALL to force inline, thus causing build failure.
This patch fixes this issue by not assuming those are always inline and
instead link the xxhash library.
The 0003-Makefile.am-do-not-update-manual.patch is moved from musl
specific patch to SRC_URI, because we now have a patch to modify debugedit.c
and this will cause manual to be generated again. This is unnecessary and
will report help2man missing.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
.../debugedit/debugedit_5.1.bb | 4 +-
...-not-assume-xxhash-can-always-inline.patch | 48 +++++++++++++++++++
2 files changed, 49 insertions(+), 3 deletions(-)
create mode 100644 meta/recipes-devtools/debugedit/files/0001-Do-not-assume-xxhash-can-always-inline.patch
diff --git a/meta/recipes-devtools/debugedit/debugedit_5.1.bb b/meta/recipes-devtools/debugedit/debugedit_5.1.bb
index 00c40473c4..02429afcda 100644
--- a/meta/recipes-devtools/debugedit/debugedit_5.1.bb
+++ b/meta/recipes-devtools/debugedit/debugedit_5.1.bb
@@ -10,9 +10,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
file://COPYING3;md5=d32239bcb673463ab874e80d47fae504"
SRC_URI = "https://sourceware.org/ftp/debugedit/${PV}/debugedit-${PV}.tar.xz \
- "
-
-SRC_URI:append:libc-musl = "\
+ file://0001-Do-not-assume-xxhash-can-always-inline.patch \
file://0003-Makefile.am-do-not-update-manual.patch \
"
diff --git a/meta/recipes-devtools/debugedit/files/0001-Do-not-assume-xxhash-can-always-inline.patch b/meta/recipes-devtools/debugedit/files/0001-Do-not-assume-xxhash-can-always-inline.patch
new file mode 100644
index 0000000000..8e9256ec01
--- /dev/null
+++ b/meta/recipes-devtools/debugedit/files/0001-Do-not-assume-xxhash-can-always-inline.patch
@@ -0,0 +1,48 @@
+From 76eb6ce69349a05d0ff069062182550ebd88f146 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Sun, 19 Jan 2025 22:56:36 -0800
+Subject: [PATCH] Do not assume xxhash can always inline
+
+When building with "-Og -g", we'll get errors like below:
+
+ include/xxhash.h:5210:1: error: inlining failed in call to
+ 'always_inline' 'XXH3_scrambleAcc_sse2': function not considered for inlining
+
+Upstream-Status: Submitted [https://sourceware.org/pipermail/debugedit/2025-January/000359.html]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ Makefile.am | 4 ++--
+ tools/debugedit.c | 1 -
+ 2 files changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index c590edf..35fd947 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -42,8 +42,8 @@ find-debuginfo: $(top_srcdir)/scripts/find-debuginfo.in Makefile
+
+ debugedit_SOURCES = tools/debugedit.c \
+ tools/hashtab.c
+-debugedit_CFLAGS = @LIBELF_CFLAGS@ @LIBDW_CFLAGS@ $(AM_CFLAGS)
+-debugedit_LDADD = @LIBELF_LIBS@ @LIBDW_LIBS@
++debugedit_CFLAGS = @LIBELF_CFLAGS@ @LIBDW_CFLAGS@ @XXHASH_CFLAGS@ $(AM_CFLAGS)
++debugedit_LDADD = @LIBELF_LIBS@ @LIBDW_LIBS@ @XXHASH_LIBS@
+
+ sepdebugcrcfix_SOURCES = tools/sepdebugcrcfix.c
+ sepdebugcrcfix_CFLAGS = @LIBELF_CFLAGS@ $(AM_CFLAGS)
+diff --git a/tools/debugedit.c b/tools/debugedit.c
+index beefd65..43f9cee 100644
+--- a/tools/debugedit.c
++++ b/tools/debugedit.c
+@@ -82,7 +82,6 @@ typedef struct Ebl_Strtab Strtab;
+
+ #include "tools/hashtab.h"
+
+-#define XXH_INLINE_ALL
+ #include "xxhash.h"
+
+ #define DW_TAG_partial_unit 0x3c
+--
+2.25.1
+
--
2.25.1
next reply other threads:[~2025-01-20 7:33 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-20 7:33 Qi.Chen [this message]
2025-01-29 19:06 ` [OE-core][PATCH] debugedit: fix build failure when enabling DEBUG_BUILD Randy MacLeod
2025-02-06 3:50 ` Chen, Qi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250120073321.3859875-1-Qi.Chen@windriver.com \
--to=qi.chen@windriver.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox