[OpenWrt-Devel] [PATCH v3] kernel: revert bad module stripping patch

Daniel Santos daniel.santos at pobox.com
Mon Oct 29 18:54:38 EDT 2018


Never EVER do this!  Decades of computer science has taught us "best
practices" -- ways of doing things that provide an optimal outcome for
all parties involved.  While this type of hack is fine if you're working
alone, it is not a "best practice" and is completely unacceptable for a
large FOSS project.  This is especially insidious because it goes behind
the back of the programmer / user / hacker and makes a change without
their consent or direction -- this is the type of behaviour we've come
to expect from Google, m$, Apple and the like, not from FOSS.

Doing --strip-all is not appropriate default behaviour as this includes
relocation data and breaks things like kmemleak.  The presence of debug
information in modules is already controlled by CONFIG_DEBUG_INFO,
CONFIG_DEBUG_INFO_REDUCED, etc.  Force-stripping just makes life crappy
for anybody who needs to debug the a kernel built in OpenWRT.  (Some of
us do run gdb on the kernel.)

If --strip-all really is desired, it should probably be added to the
CONFIG_MODULE_STRIPPED patch, and should be done at install time
(probably via objcopy), not at link time.  This leaves the in-tree
modules useful for debugging, decompiling, diagnostics, profiling, etc.

Signed-off-by: Daniel Santos <daniel.santos at pobox.com>
---
 .../generic/hack-4.14/202-reduce_module_size.patch | 24 ----------------------
 .../generic/hack-4.9/202-reduce_module_size.patch  | 24 ----------------------
 2 files changed, 48 deletions(-)
 delete mode 100644 target/linux/generic/hack-4.14/202-reduce_module_size.patch
 delete mode 100644 target/linux/generic/hack-4.9/202-reduce_module_size.patch

diff --git a/target/linux/generic/hack-4.14/202-reduce_module_size.patch b/target/linux/generic/hack-4.14/202-reduce_module_size.patch
deleted file mode 100644
index 2cbb6add9a..0000000000
--- a/target/linux/generic/hack-4.14/202-reduce_module_size.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From fd66884da2f96d2a7ea73f58b1b86251b959a913 Mon Sep 17 00:00:00 2001
-From: Felix Fietkau <nbd at nbd.name>
-Date: Fri, 7 Jul 2017 16:56:19 +0200
-Subject: kernel: strip unnecessary symbol table information from kernel modules
-
-reduces default squashfs size on ar71xx by about 4k
-
-lede-commit: 058d331a39077f159ca8922f1f422a1346d6aa67
-Signed-off-by: Felix Fietkau <nbd at nbd.name>
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/Makefile
-+++ b/Makefile
-@@ -425,7 +425,7 @@ KBUILD_AFLAGS_KERNEL :=
- KBUILD_CFLAGS_KERNEL :=
- KBUILD_AFLAGS_MODULE  := -DMODULE
- KBUILD_CFLAGS_MODULE  := -DMODULE
--KBUILD_LDFLAGS_MODULE := -T $(srctree)/scripts/module-common.lds
-+KBUILD_LDFLAGS_MODULE = -T $(srctree)/scripts/module-common.lds $(if $(CONFIG_PROFILING),,-s)
- GCC_PLUGINS_CFLAGS :=
- 
- export ARCH SRCARCH SUBARCH CONFIG_SHELL HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD
diff --git a/target/linux/generic/hack-4.9/202-reduce_module_size.patch b/target/linux/generic/hack-4.9/202-reduce_module_size.patch
deleted file mode 100644
index f744b945fe..0000000000
--- a/target/linux/generic/hack-4.9/202-reduce_module_size.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From fd66884da2f96d2a7ea73f58b1b86251b959a913 Mon Sep 17 00:00:00 2001
-From: Felix Fietkau <nbd at nbd.name>
-Date: Fri, 7 Jul 2017 16:56:19 +0200
-Subject: kernel: strip unnecessary symbol table information from kernel modules
-
-reduces default squashfs size on ar71xx by about 4k
-
-lede-commit: 058d331a39077f159ca8922f1f422a1346d6aa67
-Signed-off-by: Felix Fietkau <nbd at nbd.name>
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/Makefile
-+++ b/Makefile
-@@ -403,7 +403,7 @@ KBUILD_AFLAGS_KERNEL :=
- KBUILD_CFLAGS_KERNEL :=
- KBUILD_AFLAGS_MODULE  := -DMODULE
- KBUILD_CFLAGS_MODULE  := -DMODULE
--KBUILD_LDFLAGS_MODULE := -T $(srctree)/scripts/module-common.lds
-+KBUILD_LDFLAGS_MODULE = -T $(srctree)/scripts/module-common.lds $(if $(CONFIG_PROFILING),,-s)
- GCC_PLUGINS_CFLAGS :=
- 
- # Read KERNELRELEASE from include/config/kernel.release (if it exists)
-- 
2.16.4


_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list