瀏覽代碼

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 年之前
父節點
當前提交
f64bd4b6ce
共有 1 個文件被更改,包括 3 次插入0 次删除
  1. 3 0
      tools/elfutils/Makefile

+ 3 - 0
tools/elfutils/Makefile

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