#!/bin/bash if [ "$#" -ne 2 ]; then echo "Usage: ${0} /path/to/pdf /path/to/libhammer.so" echo "WARNING: For now, parameters are passed unchecked to perf probe" exit 1 fi PDFPATH=$1 HAMMERPATH=$2 perf probe -x $HAMMERPATH --del probe_libhammer:h_arena_malloc_raw perf probe -x $HAMMERPATH --del probe_libhammer:h_do_parse perf probe -x $HAMMERPATH --del probe_libhammer:perform_lowlevel_parse #perf probe -x $HAMMERPATH --del probe_libhammer:recall perf probe -x $HAMMERPATH --del probe_libhammer:h_packrat_parse perf probe -x $HAMMERPATH --del probe_libhammer:parse_action perf probe -x $HAMMERPATH --del probe_libhammer:parse_choice perf probe -x $HAMMERPATH --del probe_libhammer:parse_sequence perf probe -x $HAMMERPATH --del probe_libhammer:parse_difference perf probe -x $HAMMERPATH --del probe_libhammer:parse_many perf probe -x $HAMMERPATH --del probe_libhammer:parse_and perf probe -x $HAMMERPATH --del probe_libhammer:parse_attr_bool perf probe -x $HAMMERPATH --del probe_libhammer:parse_bind perf probe -x $HAMMERPATH --del probe_libhammer:parse_bits perf probe -x $HAMMERPATH --del probe_libhammer:parse_butnot perf probe -x $HAMMERPATH --del probe_libhammer:parse_charset perf probe -x $HAMMERPATH --del probe_libhammer:parse_ch perf probe -x $HAMMERPATH --del probe_libhammer:parse_end perf probe -x $HAMMERPATH --del probe_libhammer:parse_endianness perf probe -x $HAMMERPATH --del probe_libhammer:parse_epsilon perf probe -x $HAMMERPATH --del probe_libhammer:parse_ignore perf probe -x $HAMMERPATH --del probe_libhammer:parse_ignoreseq perf probe -x $HAMMERPATH --del probe_libhammer:parse_indirect perf probe -x $HAMMERPATH --del probe_libhammer:parse_int_range perf probe -x $HAMMERPATH --del probe_libhammer:parse_not perf probe -x $HAMMERPATH --del probe_libhammer:parse_nothing perf probe -x $HAMMERPATH --del probe_libhammer:parse_optional perf probe -x $HAMMERPATH --del probe_libhammer:parse_permutation perf probe -x $HAMMERPATH --del probe_libhammer:parse_skip perf probe -x $HAMMERPATH --del probe_libhammer:parse_seek perf probe -x $HAMMERPATH --del probe_libhammer:parse_tell perf probe -x $HAMMERPATH --del probe_libhammer:parse_token perf probe -x $HAMMERPATH --del probe_libhammer:parse_unimplemented perf probe -x $HAMMERPATH --del probe_libhammer:parse_put perf probe -x $HAMMERPATH --del probe_libhammer:parse_get perf probe -x $HAMMERPATH --del probe_libhammer:parse_whitespace perf probe -x $HAMMERPATH --del probe_libhammer:parse_xor #perf probe -x $HAMMERPATH --del probe_libhammer:parse_action__return #perf probe -x $HAMMERPATH --del probe_libhammer:parse_choice__return #perf probe -x $HAMMERPATH --del probe_libhammer:parse_sequence__return #perf probe -x $HAMMERPATH --del probe_libhammer:parse_difference__return #perf probe -x $HAMMERPATH --del probe_libhammer:parse_many__return #perf probe -x $HAMMERPATH --del probe_libhammer:parse_and__return #perf probe -x $HAMMERPATH --del probe_libhammer:parse_attr_bool__return #perf probe -x $HAMMERPATH --del probe_libhammer:parse_bind__return #perf probe -x $HAMMERPATH --del probe_libhammer:parse_bits__return #perf probe -x $HAMMERPATH --del probe_libhammer:parse_butnot__return #perf probe -x $HAMMERPATH --del probe_libhammer:parse_charset__return #perf probe -x $HAMMERPATH --del probe_libhammer:parse_ch__return #perf probe -x $HAMMERPATH --del probe_libhammer:parse_end__return #perf probe -x $HAMMERPATH --del probe_libhammer:parse_endianness__return #perf probe -x $HAMMERPATH --del probe_libhammer:parse_epsilon__return #perf probe -x $HAMMERPATH --del probe_libhammer:parse_ignore__return #perf probe -x $HAMMERPATH --del probe_libhammer:parse_ignoreseq__return #perf probe -x $HAMMERPATH --del probe_libhammer:parse_indirect__return #perf probe -x $HAMMERPATH --del probe_libhammer:parse_int_range__return #perf probe -x $HAMMERPATH --del probe_libhammer:parse_not__return #perf probe -x $HAMMERPATH --del probe_libhammer:parse_nothing__return #perf probe -x $HAMMERPATH --del probe_libhammer:parse_optional__return #perf probe -x $HAMMERPATH --del probe_libhammer:parse_permutation__return #perf probe -x $HAMMERPATH --del probe_libhammer:parse_skip__return #perf probe -x $HAMMERPATH --del probe_libhammer:parse_seek__return #perf probe -x $HAMMERPATH --del probe_libhammer:parse_tell__return #perf probe -x $HAMMERPATH --del probe_libhammer:parse_token__return #perf probe -x $HAMMERPATH --del probe_libhammer:parse_unimplemented__return #perf probe -x $HAMMERPATH --del probe_libhammer:parse_put__return #perf probe -x $HAMMERPATH --del probe_libhammer:parse_get__return #perf probe -x $HAMMERPATH --del probe_libhammer:parse_whitespace__return #perf probe -x $HAMMERPATH --del probe_libhammer:parse_xor__return perf probe -x $PDFPATH --del probe_pdf:ASCII85Decode perf probe -x $PDFPATH --del probe_pdf:ASCIIHexDecode perf probe -x $PDFPATH --del probe_pdf:FlateDecode perf probe -x $PDFPATH --del probe_pdf:LZWDecode perf probe -x $PDFPATH --del probe_pdf:RunLengthDecode perf probe -x $PDFPATH --del probe_pdf:init_parser perf probe -x $PDFPATH --del probe_pdf:init_runlengthdecode_parser perf probe -x $PDFPATH --del probe_pdf:kstream perf probe -x $PDFPATH --del probe_pdf:kxstream #perf probe -x $HAMMERPATH --del probe_libhammer:h_do_parse__return perf probe -x $HAMMERPATH --del probe_libhammer:perform_lowlevel_parse__return #perf probe -x $HAMMERPATH --del probe_libhammer:recall__return perf probe -x $HAMMERPATH --del probe_libhammer:h_packrat_parse__return