diff options
author | Thomas De Schampheleire <patrickdepinguin@gmail.com> | 2014-04-30 21:29:02 +0200 |
---|---|---|
committer | Peter Korsgaard <peter@korsgaard.com> | 2014-05-01 22:17:50 +0200 |
commit | 066359166fa9407382fd9ce40e002249dbdda9c7 (patch) | |
tree | 82ea371287bdfc7d9b67bf06d4a2e2aacffe16db | |
parent | 9c3eb1d33dda088fd6a599cb2c72a5407975b723 (diff) | |
download | buildroot-066359166fa9407382fd9ce40e002249dbdda9c7.tar.gz buildroot-066359166fa9407382fd9ce40e002249dbdda9c7.zip |
target-finalize: avoid stripping kernel modules with incorrect permissions
If a kernel module is installed with incorrect permissions (0755 iso 0644),
it would get stripped in a way that would render the kernel module broken.
While the incorrect permissions are a developer error, it is a minor change
to prevent this mistake from causing incorrectly stripped modules.
This was reported with bug #6992:
https://bugs.busybox.net/show_bug.cgi?id=6992
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
-rw-r--r-- | Makefile | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -507,7 +507,14 @@ ifneq (,$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS))) STRIP_FIND_CMD += \( $(call finddirclauses,$(TARGET_DIR),$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS))) \) -prune -o endif STRIP_FIND_CMD += -type f \( -perm /111 -o -name '*.so*' \) -STRIP_FIND_CMD += -not \( $(call findfileclauses,libpthread*.so* $(call qstrip,$(BR2_STRIP_EXCLUDE_FILES))) \) -print +# file exclusions: +# - libpthread.so: a non-stripped libpthread shared library is needed for +# proper debugging of pthread programs using gdb. +# - kernel modules (*.ko): do not function properly when stripped like normal +# applications and libraries. Normally kernel modules are already excluded +# by the executable permission check above, so the explicit exclusion is only +# done for kernel modules with incorrect permissions. +STRIP_FIND_CMD += -not \( $(call findfileclauses,libpthread*.so* *.ko $(call qstrip,$(BR2_STRIP_EXCLUDE_FILES))) \) -print $(TARGETS_ROOTFS): target-finalize |