📄 ksyms.sh
字号:
# 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -