#!/bin/sh

OUTDIR=$1-$$
KERNEL=/usr/src/linux-2.6/vmlinux

sudo opcontrol --reset; sudo opcontrol --start --vmlinux=$KERNEL; time ${1+"$@"}; sudo opcontrol --stop

mkdir -p $OUTDIR
sudo opreport -p /usr/src/linux > $OUTDIR/system.oprofile
sudo opreport -p /usr/src/linux --symbols > $OUTDIR/system.symbols
sudo opreport -p /usr/src/linux -c > $OUTDIR/system.callgraph
sudo opreport -p /usr/src/linux --symbols /home/cworth/opt/xorg/bin/X > $OUTDIR/X.oprofile
sudo opreport -p /usr/src/linux -c /home/cworth/opt/xorg/bin/X > $OUTDIR/X.callgraph
sudo opreport -p /usr/src/linux --symbols /home/cworth/opt/xorg/lib/libpixman.so > $OUTDIR/pixman.oprofi
le
sudo opreport -p /usr/src/linux -c /home/cworth/opt/xorg/lib/libpixman.so > $OUTDIR/pixman.callgraph
sudo opreport -p /usr/src/linux --symbols /home/cworth/opt/xorg/lib/xorg/modules/libexa.so > $OUTDIR/lib
exa.oprofile
sudo opreport -p /usr/src/linux -c /home/cworth/opt/xorg/lib/xorg/modules/libexa.so > $OUTDIR/libexa.cal
lgraph
sudo opreport -p /usr/src/linux --symbols /home/cworth/opt/xorg/lib/xorg/modules/drivers/intel_drv.so > 
$OUTDIR/intel_drv.oprofile
sudo opreport -p /usr/src/linux -c /home/cworth/opt/xorg/lib/xorg/modules/drivers/intel_drv.so > $OUTDIR
/intel_drv.callgraph
sudo opreport -p /usr/src/linux --symbols /lib/libc-2.5.so > $OUTDIR/libc.oprofile
sudo opreport -p /usr/src/linux -c /lib/libc-2.5.so > $OUTDIR/libc.callgraph

echo "Profile reports saved in $OUTDIR"
