while I'm trying to run this project https://github.com/taviso/loadlibrary/ which is mainly for running windows defender under Linux
I run into an issue in the genmapsym.sh
which suppose to generate symbols from a .map
file.
The genmapsym.sh
contain the following code :
awk 'BEGIN { printf ".macro symbol name, address\n.set \\name, \\address\n.func \\name\n.endfunc\n.endm\n" }
/Publics by Value/,/Program entry point/ {
if (gsub(/^ ....:/,"'${1}'+0x")) {
gsub(/[\"/^}{\[\]$?:@()><`\'\''|~,=!+&*-]/, "_",$2);
printf "symbol %s,%s\n",$2,$1
}
}' | as -o ${2} -gstabs+ --32
whenever I try to run it to get the symbols right in gdb
I get this error
gdb> shell bash genmapsym.sh 0x5a100000+0x1000 symbols_3383.o < engine/mpengine.map
awk: line 6: regular expression compile failed (bad class -- [], [^] or [)
[\"
awk: line 6: missing ) near }
awk: 6: unexpected character '\'
awk: line 6: syntax error at or near [
awk: line 6: extra ')'
in the project repo there is this note which I couldn't make sense of it :
Note that genmapsym.sh assumes you're using GNU awk.
because I don't have any idea what I'm using in bash by default, or at least know how to figure out which is the default.
My environment is :
Linux ubuntu 5.4.0-65-generic #73~18.04.1-Ubuntu SMP 2021 x86_64 x86_64 x86_64 GNU/Linux
awk version: mawk 1.3.3
how could I fix this so that it will run correctly in my env.