]> sourceware.org Git - systemtap.git/commit - tapsets.cxx
PR10327: resolve symbol aliases to dwarf functions
authorJosh Stone <jistone@redhat.com>
Thu, 2 Jul 2009 01:59:41 +0000 (18:59 -0700)
committerJosh Stone <jistone@redhat.com>
Thu, 2 Jul 2009 01:59:41 +0000 (18:59 -0700)
commit1c6b77e564d4d849f1994d56d662ceb018a112d4
tree150a76702ed77d23237158130aa807a8fff2cf6f
parentbfbbea5a2c9690b82b7b75617befd5074149138a
PR10327: resolve symbol aliases to dwarf functions

This will first read in the symbol table for modules, and update the
dwarf cu_function_cache with aliased names too.  Then when iterating
in dwarf, all of the possible names are matched, instead of only the
canonical dwarf name.

* dwflpp.cxx (dwflpp::iterate_over_functions): call update_symtab,
  and track wildcard addresses in a set to avoid alias dupes
* dwflpp.h (symbol_table::Compare): removed
* tapsets.cxx (symbol_table::map_by_addr): replaces list_by_addr
  (symbol_table::sort): removed -- multimap doesn't need sorting
  (symbol_table::mark_dwarf_redundancies): removed, see update_symtab
  (symbol_table::purge_syscall_stubs): remove map elements inline
  (dwarf_query::handle_query_module): preload the symtable.
  (query_dwarf_func): don't compare the function a second time,
  especially since it may have been an alias that matched at first.
  (module_info::get_symtab): allow being called multiple times
  (module_info::update_symtab): copy dies from the cache to the symtab,
  and also add aliased names to the cache
dwflpp.cxx
dwflpp.h
tapsets.cxx
This page took 0.028381 seconds and 5 git commands to generate.