#!/bin/sh
if [ $1 = "-e" ]; then shift 1; fi
b=`basename $1`
sed 's/^\([0-9a-fA-F]*\)$/info line *0x\1/' | /usr/bin/gdb $1 |
  sed -n -e 's/.*Line \([1-9][0-9]*\) of "\([^"]*\)".*/\2:\1/p'                \
         -e 's/.*No line number information.*<\([^+>]*\)[+0-9]*>.*/'${b}':\1/p'\
         -e 's/.*No line number information.*/'${b}':0/p'
