Parcourir la source

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>
(cherry picked from commit efaaadb49e90b51ba3a6adc6fafc330c23b8f764)
Jo-Philipp Wich il y a 4 ans
Parent
commit
4cfd20d55e
1 fichiers modifiés avec 2 ajouts et 8 suppressions
  1. 2 8
      target/sdk/Makefile

+ 2 - 8
target/sdk/Makefile

@@ -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))
 
 	@-( \