ksyms.sh

来自「linux1.1源代码」· Shell 代码 · 共 38 行

SH
38
字号
# This program will construct ksyms.s.  Ksyms.s contains a symbol table# for all the kernel symbols included in the file ksyms.lst.  The following# variables are defined in ksym.s:##	int symbol_table_size;		/* number of symbols */#	struct {#		void *value;		/* value of symbol */#		char *name;		/* name of symbol */#	} symbol_table[];##trap "rm -f ksyms.tmp ksyms.lst ; exit 1" 1 2 sed -e '/^#/d' -e '/^[	 ]*$/d' ksyms.lst | sort > ksyms.tmpecho '	.data	.globl	_symbol_table_size, _symbol_table_symbol_table_size:'echo "	.long" `wc -l < ksyms.tmp`echo '_symbol_table:'awk 'BEGIN {stringloc = 0}{print "	.long " $1; print "	.long strings+" stringloc; \        stringloc += length($1) + 1;}' ksyms.tmpecho 'strings:'awk '{print "	.ascii \"" $1 "\\0\""}' ksyms.tmprm -f ksyms.tmp## Alternativly, if the kernel is c++ compiled:# By using gsub() we can forse all function names to appear as extern "C".# This allows linkable drivers written in C or C++ - Jon# awk '{gsub(/__F.*/, "") ; print "	.ascii \"" $0 "\\0\""}' ksyms.tmp

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?