#!/bin/sh -a
PATH="`dirname $0`:${PATH}"

fmt="$1"
shift

case "$fmt" in
  sort)   pct-sort 1 | pct-fold | c++filt | sort -n ;;

  gdb)    pct-pr -tgdb-xl,@          "$@" | pct sort ;;
  line)   pct-pr -taddr2line,-e,@    "$@" | pct sort ;;
  sym)    pct-pr -taddr2nm,@         "$@" | pct sort ;;
  func)   pct-pr -taddr2line,-f,-e,@ "$@" | pct sort ;;

  ofile)  pct sym   "$@" | sed -e 's/:.*//' | pct sort ;;
  sfile)  pct line  "$@" | sed -e 's/:.*//' \
                               -e 's/	[0-9a-f]*$/	unknown/' | pct sort ;;

  gdb%)   pct gdb   "$@" | pct-% ;;
  line%)  pct line  "$@" | pct-% ;;
  sym%)   pct sym   "$@" | pct-% ;;
  func%)  pct func  "$@" | pct-% ;;
  ofile%) pct ofile "$@" | pct-% ;;
  sfile%) pct sfile "$@" | pct-% ;;

  src)    pct line  "$@" | pct-sort 2 | pct-src ;;
  src%)   pct line  "$@" | pct-% | pct-sort 2 | pct-src ;;

  asm)    pct-asm   "$@" ;;
  asm%)   pct-asm   "$@" ;;	# XXX Hmm.....

  *) echo "$0 (gdb|line|sym|func|file|src|asm)[%] <pct_file...>" ;;
esac
