1 #!/bin/sh 1 #!/bin/sh 2 # SPDX-License-Identifier: GPL-2.0 2 # SPDX-License-Identifier: GPL-2.0 3 3 4 outfile="" 4 outfile="" 5 now=`date +%s` 5 now=`date +%s` 6 6 7 while [ $# -gt 0 ] 7 while [ $# -gt 0 ] 8 do 8 do 9 case "$1" in 9 case "$1" in 10 -o) 10 -o) 11 outfile="$2" 11 outfile="$2" 12 shift 2;; 12 shift 2;; 13 -h) 13 -h) 14 echo "usage: $0 [-o outfile] <make 14 echo "usage: $0 [-o outfile] <make options/args>" 15 exit 0;; 15 exit 0;; 16 *) break;; 16 *) break;; 17 esac 17 esac 18 done 18 done 19 19 20 if [ -z "$outfile" ] 20 if [ -z "$outfile" ] 21 then 21 then 22 outfile=`mktemp --tmpdir stackusage.$$.XXX 22 outfile=`mktemp --tmpdir stackusage.$$.XXXX` 23 fi 23 fi 24 24 25 KCFLAGS="${KCFLAGS} -fstack-usage" make "$@" 25 KCFLAGS="${KCFLAGS} -fstack-usage" make "$@" 26 26 27 # Prepend directory name to file names, remove 27 # Prepend directory name to file names, remove column information, 28 # make file:line/function/size/type properly t 28 # make file:line/function/size/type properly tab-separated. 29 find . -name '*.su' -newermt "@${now}" -print 29 find . -name '*.su' -newermt "@${now}" -print | \ 30 xargs perl -MFile::Basename -pe 30 xargs perl -MFile::Basename -pe \ 31 '$d = dirname($ARGV); s#([^:]+:[0-9]+) 31 '$d = dirname($ARGV); s#([^:]+:[0-9]+):[0-9]+:#$d/$1\t#;' | \ 32 sort -k3,3nr > "${outfile}" 32 sort -k3,3nr > "${outfile}" 33 33 34 echo "$0: output written to ${outfile}" 34 echo "$0: output written to ${outfile}"
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.