Browse Source

tools/elfutils: only build required components

Building all of the components results in strip being installed in
staging_dir/host/bin. This strip binary will take precedence over
binutils strip that is installed in the toolchain directory.

This will not work on host systems that do not have libdw installed, as
we do not set HOST_LDFLAGS to override rpath to staging_dir/host/lib.
However, rather than overriding rpath, we should just avoid using
elfutils strip entirely.

Override the SUBDIRS variable in the Makefile to only build and install
the libraries we require for dwarves and frr.

Fixes the following build failure in toolchain/gdb:
strip: error while loading shared libraries: libdw.so.1: cannot open shared object file: No such file or directory

Fixes: ad79b9271949 ("elfutils: move host build to tools")
Reported-by: Dominick Grift <[email protected]>
Reported-by: Lucian Cristian <[email protected]>
Signed-off-by: Stijn Tintel <[email protected]>
Stijn Tintel 3 years ago
parent
commit
f64bd4b6ce
1 changed files with 3 additions and 0 deletions
  1. 3 0
      tools/elfutils/Makefile

+ 3 - 0
tools/elfutils/Makefile

@@ -29,4 +29,7 @@ HOST_CONFIGURE_ARGS += \
 	--without-lzma \
 	--without-lzma \
 	--without-zstd
 	--without-zstd
 
 
+HOST_MAKE_FLAGS += \
+	SUBDIRS="lib libelf libcpu backends libebl libdwelf libdwfl libdw"
+
 $(eval $(call HostBuild))
 $(eval $(call HostBuild))