[openwrt/openwrt] kernel-build: fix STRIP_KERNEL_EXPORTS for 64-bit kernels

LEDE Commits lede-commits at lists.infradead.org
Fri Jan 1 14:41:59 EST 2021


hauke pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/f3bfff9d7f85ab5f2df2728a760ddeebdb185f4c

commit f3bfff9d7f85ab5f2df2728a760ddeebdb185f4c
Author: Rui Salvaterra <rsalvaterra at gmail.com>
AuthorDate: Wed Dec 30 20:04:42 2020 +0000

    kernel-build: fix STRIP_KERNEL_EXPORTS for 64-bit kernels
    
    While parsing the nm output, we need to account for the fact that 64-bit kernels
    have 64-bit wide addresses. While at it, replace the grep | sed combo with a
    single awk invocation and a stronger regex.
    
    Fixes: 2ef0acc5fcda557fa5aaad35d27cb8cf75be96d2 "kernel-build: fix
    STRIP_KERNEL_EXPORTS for recent kernels"
    
    Signed-off-by: Rui Salvaterra <rsalvaterra at gmail.com>
---
 include/kernel-build.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/kernel-build.mk b/include/kernel-build.mk
index 22f7c4c7c7..6123c9d456 100644
--- a/include/kernel-build.mk
+++ b/include/kernel-build.mk
@@ -105,7 +105,7 @@ define BuildKernel
 		xargs $(TARGET_CROSS)nm | \
 		awk '$$$$1 == "U" { print $$$$2 } ' | \
 		sort -u > $(KERNEL_BUILD_DIR)/mod_symtab.txt
-	$(TARGET_CROSS)nm -n $(LINUX_DIR)/vmlinux.o | grep ' [rR] __ksymtab' | sed -e 's,........ [rR] __ksymtab_,,' > $(KERNEL_BUILD_DIR)/kernel_symtab.txt
+	$(TARGET_CROSS)nm -n $(LINUX_DIR)/vmlinux.o | awk '/^[0-9a-f]+ [rR] __ksymtab_/ {print substr($$$$3,11)}' > $(KERNEL_BUILD_DIR)/kernel_symtab.txt
 	grep -Ff $(KERNEL_BUILD_DIR)/mod_symtab.txt $(KERNEL_BUILD_DIR)/kernel_symtab.txt > $(KERNEL_BUILD_DIR)/sym_include.txt
 	grep -Fvf $(KERNEL_BUILD_DIR)/mod_symtab.txt $(KERNEL_BUILD_DIR)/kernel_symtab.txt > $(KERNEL_BUILD_DIR)/sym_exclude.txt
 	( \



More information about the lede-commits mailing list