build: speed up kernel symbol export stripping
GNU grep has a high per-expression setup overhead when compiling regular expressions. Use -F to force it to interpret the input as fixed strings, which is much faster (fraction of a second instead of multiple minutes). Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 39049
This commit is contained in:
		@@ -76,9 +76,9 @@ define BuildKernel
 | 
				
			|||||||
		xargs $(TARGET_CROSS)nm | \
 | 
							xargs $(TARGET_CROSS)nm | \
 | 
				
			||||||
		awk '$$$$1 == "U" { print $$$$2 } ' | \
 | 
							awk '$$$$1 == "U" { print $$$$2 } ' | \
 | 
				
			||||||
		sort -u > $(KERNEL_BUILD_DIR)/mod_symtab.txt
 | 
							sort -u > $(KERNEL_BUILD_DIR)/mod_symtab.txt
 | 
				
			||||||
	$(TARGET_CROSS)nm -n $(LINUX_DIR)/vmlinux.o | grep ' r __ksymtab' | sed -e 's,........ r __ksymtab_,,' > $(KERNEL_BUILD_DIR)/kernel_symtab.txt
 | 
						$(TARGET_CROSS)nm -n $(LINUX_DIR)/vmlinux.o | grep -F ' r __ksymtab' | sed -e 's,........ r __ksymtab_,,' > $(KERNEL_BUILD_DIR)/kernel_symtab.txt
 | 
				
			||||||
	grep -f $(KERNEL_BUILD_DIR)/mod_symtab.txt $(KERNEL_BUILD_DIR)/kernel_symtab.txt > $(KERNEL_BUILD_DIR)/sym_include.txt
 | 
						grep -Ff $(KERNEL_BUILD_DIR)/mod_symtab.txt $(KERNEL_BUILD_DIR)/kernel_symtab.txt > $(KERNEL_BUILD_DIR)/sym_include.txt
 | 
				
			||||||
	grep -vf $(KERNEL_BUILD_DIR)/mod_symtab.txt $(KERNEL_BUILD_DIR)/kernel_symtab.txt > $(KERNEL_BUILD_DIR)/sym_exclude.txt
 | 
						grep -Fvf $(KERNEL_BUILD_DIR)/mod_symtab.txt $(KERNEL_BUILD_DIR)/kernel_symtab.txt > $(KERNEL_BUILD_DIR)/sym_exclude.txt
 | 
				
			||||||
	( \
 | 
						( \
 | 
				
			||||||
		echo '#define SYMTAB_KEEP \'; \
 | 
							echo '#define SYMTAB_KEEP \'; \
 | 
				
			||||||
		cat $(KERNEL_BUILD_DIR)/sym_include.txt | \
 | 
							cat $(KERNEL_BUILD_DIR)/sym_include.txt | \
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user