|
@@ -1,81 +0,0 @@
|
|
|
-From 820498e881401a6f4b1715dc6831da965f6e1d69 Mon Sep 17 00:00:00 2001
|
|
|
-From: Chen Qi <Qi.Chen@windriver.com>
|
|
|
-Date: Tue, 18 Feb 2025 18:50:46 -0800
|
|
|
-Subject: [PATCH] Add option to allow disabling inlined xxhash
|
|
|
-
|
|
|
-xxhash cannot always inline. For example, when using gcc14 and
|
|
|
-'-Og' option, xxhash cannot inline. See links below:
|
|
|
-https://github.com/Cyan4973/xxHash/commit/574aabad87b2ab9440403e92e1075ef48554eb87
|
|
|
-https://github.com/Cyan4973/xxHash/issues/943#issuecomment-2563205130
|
|
|
-
|
|
|
-To allow users successfully build debugedit with gcc14 and "-Og" option,
|
|
|
-add an option to allow disabling inlined xxhash.
|
|
|
-
|
|
|
-This patch refers to a similar patch for libabigail:
|
|
|
-https://sourceware.org/cgit/libabigail/commit/?id=50497911e2590c21270e0763d277457cf7752c3f
|
|
|
-
|
|
|
-Note that the default remains using inlined xxhash.
|
|
|
-
|
|
|
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
|
|
|
-
|
|
|
-Upstream-Status: Backport [https://sourceware.org/cgit/debugedit/commit/?id=820498e881401a6f4b1715dc6831da965f6e1d69]
|
|
|
-
|
|
|
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
|
|
|
----
|
|
|
- Makefile.am | 4 ++--
|
|
|
- configure.ac | 11 +++++++++++
|
|
|
- tools/debugedit.c | 1 -
|
|
|
- 3 files changed, 13 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/configure.ac b/configure.ac
|
|
|
-index a5a6e28..32dd27d 100644
|
|
|
---- a/configure.ac
|
|
|
-+++ b/configure.ac
|
|
|
-@@ -181,6 +181,17 @@ else
|
|
|
- fi
|
|
|
- AC_SUBST([READELF_VERSION_OK])
|
|
|
-
|
|
|
-+ENABLE_INLINED_XXHASH=yes
|
|
|
-+AC_ARG_ENABLE(inlined-xxhash,
|
|
|
-+ AS_HELP_STRING([--disable-inlined-xxhash], [disable the inlined-only version of xxhash library]),
|
|
|
-+ ENABLE_INLINED_XXHASH=$enableval,
|
|
|
-+ ENABLE_INLINED_XXHASH=yes)
|
|
|
-+
|
|
|
-+if test x$ENABLE_INLINED_XXHASH = xyes; then
|
|
|
-+ XXHASH_CFLAGS="$XXHASH_CFLAGS -DXXH_INLINE_ALL"
|
|
|
-+ XXHASH_LIBS=""
|
|
|
-+fi
|
|
|
-+
|
|
|
- # And generate the output files.
|
|
|
- AC_CONFIG_FILES([Makefile])
|
|
|
- AC_OUTPUT
|
|
|
-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
|
|
|
-
|