tools/elfutils: prevent invalid include of stack binary
authorMichael Pratt <mcpratt@pm.me>
Sat, 28 Sep 2024 11:06:59 +0000 (07:06 -0400)
committerRobert Marko <robimarko@gmail.com>
Mon, 30 Sep 2024 09:07:04 +0000 (11:07 +0200)
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@pm.me>
tools/elfutils/patches/100-portability.patch

index be97f95faaf530053a6119f7dfef2ddd79f6153d..2cc8a4c56ef5a73d0b86b0cb7b086825f6a699ee 100644 (file)
  
  /* 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