sdk: use bundle-libraries.sh to ship kernel objtool tools
authorJo-Philipp Wich <jo@mein.io>
Fri, 30 Aug 2019 13:45:06 +0000 (15:45 +0200)
committerRISCi_ATOM <bob@bobcall.me>
Fri, 13 Sep 2019 20:19:28 +0000 (16:19 -0400)
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>
(cherry picked from commit efaaadb49e90b51ba3a6adc6fafc330c23b8f764)

target/sdk/Makefile

index d68148e20a347b2c94afdf4d1fca60e1bf8dda4b..0ca0a7cecc5b0eacb04f070ccb3870b0f599f3e1 100644 (file)
@@ -71,6 +71,7 @@ KERNEL_FILES_BASE := \
        .config \
        Makefile \
        scripts \
+       tools/objtool \
        include \
        Module.symvers \
        modules.builtin \
@@ -95,16 +96,9 @@ $(BIN_DIR)/$(SDK_NAME).tar.xz: clean
        $(TAR) -cf - -C $(TOPDIR) $(KDIR_BASE)/tools/usb/usbip/ | \
                $(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 \
                $(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))
 
        @-( \