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