On Fri, Apr 7, 2023 at 11:59 AM Nick Desaulniers <ndesaulniers@xxxxxxxxxx> wrote: > > On Wed, Mar 8, 2023 at 3:53 AM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote: > > > > Move comments close to the code. > > Consider adding to the commit message why you switch from grep to sed; > that's currently unclear. > Reviewed-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx> Also, perhaps scripts/mksysmap could just be replaced with a sed input-file? Then scripts/link-vmlinux.sh would invoke nm and pipe it into that sed script? > > Orthogonal to this patch, don't .L prefixed local symbols not have > entries in the symbol table? If they're not printed with nm, why > filter them out (since they're impossible). > > > > > Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx> > > --- > > > > scripts/mksysmap | 61 +++++++++++++++++++++++++++++------------------- > > 1 file changed, 37 insertions(+), 24 deletions(-) > > > > diff --git a/scripts/mksysmap b/scripts/mksysmap > > index 697fc6653953..8ea1955e03c6 100755 > > --- a/scripts/mksysmap > > +++ b/scripts/mksysmap > > @@ -10,32 +10,45 @@ > > ##### > > # Generate System.map (actual filename passed as second argument) > > > > -# For System.map filter away: > > -# a - local absolute symbols > > -# U - undefined global symbols > > -# N - debugging symbols > > -# w - local weak symbols > > - > > # readprofile starts reading symbols when _stext is found, and > > # continue until it finds a symbol which is not either of 'T', 't', > > # 'W' or 'w'. > > # > > -# Ignored prefixes: > > -# $ - local symbols for ARM, MIPS, etc. > > -# .L - local labels, .LBB,.Ltmpxxx,.L__unnamed_xx,.LASANPC, etc. > > -# __crc_ - modversions > > -# __kstrtab_ - EXPORT_SYMBOL (symbol name) > > -# __kstrtabns_ - EXPORT_SYMBOL (namespace) > > + > > +${NM} -n ${1} | sed >${2} -e " > > +# --------------------------------------------------------------------------- > > +# Ignored symbol types > > # > > -# Ignored symbols: > > -# L0 - for LoongArch? > > - > > -$NM -n $1 | grep -v \ > > - -e ' [aNUw] ' \ > > - -e ' \$' \ > > - -e ' \.L' \ > > - -e ' __crc_' \ > > - -e ' __kstrtab_' \ > > - -e ' __kstrtabns_' \ > > - -e ' L0$' \ > > -> $2 > > + > > +# a: local absolute symbols > > +# N: debugging symbols > > +# U: undefined global symbols > > +# w: local weak symbols > > +/ [aNUw] /d > > + > > +# --------------------------------------------------------------------------- > > +# Ignored prefixes > > +# (do not forget a space before each pattern) > > + > > +# local symbols for ARM, MIPS, etc. > > +/ \$/d > > + > > +# local labels, .LBB, .Ltmpxxx, .L__unnamed_xx, .LASANPC, etc. > > +/ \.L/d > > + > > +# CRC from modversions > > +/ __crc_/d > > + > > +# EXPORT_SYMBOL (symbol name) > > +/ __kstrtab_/d > > + > > +# EXPORT_SYMBOL (namespace) > > +/ __kstrtabns_/d > > + > > +# --------------------------------------------------------------------------- > > +# Ignored symbols (exact match) > > +# (do not forget a space before and '$' after each pattern) > > + > > +# for LoongArch? > > +/ L0$/d > > +" > > -- > > 2.34.1 > > > > > -- > Thanks, > ~Nick Desaulniers -- Thanks, ~Nick Desaulniers