[openwrt/openwrt] tools/elfutils: prevent invalid include of stack binary

LEDE Commits lede-commits at lists.infradead.org
Mon Sep 30 02:07:15 PDT 2024


robimarko pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/484f71f4e6781587e613d4133a083db03685baaa

commit 484f71f4e6781587e613d4133a083db03685baaa
Author: Michael Pratt <mcpratt at pm.me>
AuthorDate: Sat Sep 28 07:06:59 2024 -0400

    tools/elfutils: prevent invalid include of stack binary
    
    In some versions of Xcode, some C++ header has an include
    of the standard C++ header "stack" while "." is in the include paths
    which can conflict with the binary "stack" built by elfutils.
    This leads to a decode error as the binary is interpreted as text.
    
    Add an arbitrary dependency between stack and the C++ program.
    
    Signed-off-by: Michael Pratt <mcpratt at pm.me>
---
 tools/elfutils/patches/100-portability.patch | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/tools/elfutils/patches/100-portability.patch b/tools/elfutils/patches/100-portability.patch
index be97f95faa..2cc8a4c56e 100644
--- a/tools/elfutils/patches/100-portability.patch
+++ b/tools/elfutils/patches/100-portability.patch
@@ -288,3 +288,13 @@
  
  /* Definitions of arguments for argp functions.  */
  static const struct argp_option options[] =
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -92,6 +92,7 @@ strings_LDADD = $(libelf) $(libeu) $(arg
+ ar_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD) $(obstack_LIBS)
+ unstrip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD)
+ stack_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) $(demanglelib)
++EXTRA_stack_DEPENDENCIES = $(if $(findstring srcfiles,$(bin_PROGRAMS)),$(srcfiles_OBJECTS))
+ elfcompress_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD)
+ elfclassify_LDADD = $(libelf) $(libdw) $(libeu) $(argp_LDADD)
+ srcfiles_SOURCES = srcfiles.cxx




More information about the lede-commits mailing list