sdk: use bundle-libraries.sh to ship kernel objtool tools

Ensure that the kernel objtool utilities are processed by the library
bundler in order to ensure that they're usable on foreign systems with
different libc versions.

Fixes: a9f6fceb42 ("sdk: fix building external modules when CONFIG_STACK_VALIDATION=y")
Acked-by: Yousong Zhou <yszhou4tech@gmail.com>
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
Jo-Philipp Wich 2019-08-30 15:45:06 +02:00
parent fe43969336
commit efaaadb49e
1 changed files with 2 additions and 8 deletions

View File

@ -71,6 +71,7 @@ KERNEL_FILES_BASE := \
.config \ .config \
Makefile \ Makefile \
scripts \ scripts \
tools/objtool \
include \ include \
Module.symvers \ Module.symvers \
modules.builtin \ modules.builtin \
@ -95,16 +96,9 @@ $(BIN_DIR)/$(SDK_NAME).tar.xz: clean
$(TAR) -cf - -C $(TOPDIR) $(KDIR_BASE)/tools/usb/usbip/ | \ $(TAR) -cf - -C $(TOPDIR) $(KDIR_BASE)/tools/usb/usbip/ | \
$(TAR) -xf - -C $(SDK_BUILD_DIR) $(TAR) -xf - -C $(SDK_BUILD_DIR)
# Copy objtool executables. They are required for building external
# modules if "Compile-time stack metadata validation" is enabled.
if grep -q '^CONFIG_STACK_VALIDATION=y' $(LINUX_DIR)/.config; then \
$(TAR) -cf - -C $(TOPDIR) \
`cd $(TOPDIR); find $(KDIR_BASE)/tools/objtool -type f -executable` | \
$(TAR) -xf - -C $(SDK_BUILD_DIR); \
fi
(cd $(SDK_BUILD_DIR); find $(STAGING_SUBDIR_HOST)/bin $(STAGING_SUBDIR_HOST)/usr/bin \ (cd $(SDK_BUILD_DIR); find $(STAGING_SUBDIR_HOST)/bin $(STAGING_SUBDIR_HOST)/usr/bin \
$(STAGING_SUBDIR_TOOLCHAIN)/bin $(STAGING_SUBDIR_TOOLCHAIN)/*/bin $(STAGING_SUBDIR_TOOLCHAIN)/libexec \ $(STAGING_SUBDIR_TOOLCHAIN)/bin $(STAGING_SUBDIR_TOOLCHAIN)/*/bin $(STAGING_SUBDIR_TOOLCHAIN)/libexec \
$(KDIR_BASE) \
-type f | $(XARGS) $(SCRIPT_DIR)/bundle-libraries.sh $(SDK_BUILD_DIR)/$(STAGING_SUBDIR_HOST)) -type f | $(XARGS) $(SCRIPT_DIR)/bundle-libraries.sh $(SDK_BUILD_DIR)/$(STAGING_SUBDIR_HOST))
@-( \ @-( \