1010fb3af1
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
56 lines
1.1 KiB
Bash
Executable File
56 lines
1.1 KiB
Bash
Executable File
set -xe
|
|
ulimit -c unlimited
|
|
|
|
if [ -z "$rootdir" ] || [ ! -d "$rootdir/../output" ]; then
|
|
output_dir=.
|
|
else
|
|
output_dir=$rootdir/../output
|
|
fi
|
|
|
|
function timing() {
|
|
direction="$1"
|
|
testname="$2"
|
|
|
|
now=$(date +%s)
|
|
|
|
if [ "$direction" = "enter" ]; then
|
|
export timing_stack="${timing_stack}/${now}"
|
|
export test_stack="${test_stack}/${testname}"
|
|
else
|
|
start_time=$(echo "$timing_stack" | sed -e 's@^.*/@@')
|
|
timing_stack=$(echo "$timing_stack" | sed -e 's@/[^/]*$@@')
|
|
|
|
elapsed=$((now - start_time))
|
|
echo "$elapsed $test_stack" >> $output_dir/timing.txt
|
|
|
|
test_stack=$(echo "$test_stack" | sed -e 's@/[^/]*$@@')
|
|
fi
|
|
}
|
|
|
|
function timing_enter() {
|
|
timing "enter" "$1"
|
|
}
|
|
|
|
function timing_exit() {
|
|
timing "exit" "$1"
|
|
}
|
|
|
|
function process_core() {
|
|
ret=0
|
|
for core in $(find . -type f -name 'core*'); do
|
|
exe=$(eu-readelf -n "$core" | grep psargs | awk '{ print $2 }')
|
|
echo "exe for $core is $exe"
|
|
if [[ ! -z "$exe" ]]; then
|
|
if hash gdb; then
|
|
gdb -batch -ex "bt" $exe $core
|
|
fi
|
|
cp $exe $output_dir
|
|
fi
|
|
mv $core $output_dir
|
|
chmod a+r $output_dir/$core
|
|
ret=1
|
|
done
|
|
return $ret
|
|
}
|
|
|