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