diff options
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/bloat-o-meter | 7 | ||||
| -rwxr-xr-x | scripts/checkpatch.pl | 2 | ||||
| -rwxr-xr-x | scripts/faddr2line | 21 | 
3 files changed, 20 insertions, 10 deletions
| diff --git a/scripts/bloat-o-meter b/scripts/bloat-o-meter index 6f099f915dcf..94b664817ad9 100755 --- a/scripts/bloat-o-meter +++ b/scripts/bloat-o-meter @@ -83,8 +83,11 @@ def print_result(symboltype, symbolformat, argc):      for d, n in delta:          if d: print("%-40s %7s %7s %+7d" % (n, old.get(n,"-"), new.get(n,"-"), d)) -    print("Total: Before=%d, After=%d, chg %+.2f%%" % \ -        (otot, ntot, (ntot - otot)*100.0/otot)) +    if otot: +        percent = (ntot - otot) * 100.0 / otot +    else: +        percent = 0 +    print("Total: Before=%d, After=%d, chg %+.2f%%" % (otot, ntot, percent))  if sys.argv[1] == "-c":      print_result("Function", "tT", 3) diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index 95cda3ecc66b..040aa79e1d9d 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -5753,7 +5753,7 @@ sub process {  		        for (my $count = $linenr; $count <= $lc; $count++) {  				my $fmt = get_quoted_string($lines[$count - 1], raw_line($count, 0));  				$fmt =~ s/%%//g; -				if ($fmt =~ /(\%[\*\d\.]*p(?![\WFfSsBKRraEhMmIiUDdgVCbGNO]).)/) { +				if ($fmt =~ /(\%[\*\d\.]*p(?![\WFfSsBKRraEhMmIiUDdgVCbGNOx]).)/) {  					$bad_extension = $1;  					last;  				} diff --git a/scripts/faddr2line b/scripts/faddr2line index 1f5ce959f596..39e07d8574dd 100755 --- a/scripts/faddr2line +++ b/scripts/faddr2line @@ -44,9 +44,16 @@  set -o errexit  set -o nounset +READELF="${CROSS_COMPILE}readelf" +ADDR2LINE="${CROSS_COMPILE}addr2line" +SIZE="${CROSS_COMPILE}size" +NM="${CROSS_COMPILE}nm" +  command -v awk >/dev/null 2>&1 || die "awk isn't installed" -command -v readelf >/dev/null 2>&1 || die "readelf isn't installed" -command -v addr2line >/dev/null 2>&1 || die "addr2line isn't installed" +command -v ${READELF} >/dev/null 2>&1 || die "readelf isn't installed" +command -v ${ADDR2LINE} >/dev/null 2>&1 || die "addr2line isn't installed" +command -v ${SIZE} >/dev/null 2>&1 || die "size isn't installed" +command -v ${NM} >/dev/null 2>&1 || die "nm isn't installed"  usage() {  	echo "usage: faddr2line <object file> <func+offset> <func+offset>..." >&2 @@ -69,10 +76,10 @@ die() {  find_dir_prefix() {  	local objfile=$1 -	local start_kernel_addr=$(readelf -sW $objfile | awk '$8 == "start_kernel" {printf "0x%s", $2}') +	local start_kernel_addr=$(${READELF} -sW $objfile | awk '$8 == "start_kernel" {printf "0x%s", $2}')  	[[ -z $start_kernel_addr ]] && return -	local file_line=$(addr2line -e $objfile $start_kernel_addr) +	local file_line=$(${ADDR2LINE} -e $objfile $start_kernel_addr)  	[[ -z $file_line ]] && return  	local prefix=${file_line%init/main.c:*} @@ -104,7 +111,7 @@ __faddr2line() {  	# Go through each of the object's symbols which match the func name.  	# In rare cases there might be duplicates. -	file_end=$(size -Ax $objfile | awk '$1 == ".text" {print $2}') +	file_end=$(${SIZE} -Ax $objfile | awk '$1 == ".text" {print $2}')  	while read symbol; do  		local fields=($symbol)  		local sym_base=0x${fields[0]} @@ -156,10 +163,10 @@ __faddr2line() {  		# pass real address to addr2line  		echo "$func+$offset/$sym_size:" -		addr2line -fpie $objfile $addr | sed "s; $dir_prefix\(\./\)*; ;" +		${ADDR2LINE} -fpie $objfile $addr | sed "s; $dir_prefix\(\./\)*; ;"  		DONE=1 -	done < <(nm -n $objfile | awk -v fn=$func -v end=$file_end '$3 == fn { found=1; line=$0; start=$1; next } found == 1 { found=0; print line, "0x"$1 } END {if (found == 1) print line, end; }') +	done < <(${NM} -n $objfile | awk -v fn=$func -v end=$file_end '$3 == fn { found=1; line=$0; start=$1; next } found == 1 { found=0; print line, "0x"$1 } END {if (found == 1) print line, end; }')  }  [[ $# -lt 2 ]] && usage | 

