diff options
author | Dima Kogan <dima@secretsauce.net> | 2014-04-23 03:01:20 -0700 |
---|---|---|
committer | Chanho Park <chanho61.park@samsung.com> | 2014-08-22 20:38:25 +0900 |
commit | 572c4648c0d567bd4868ff442149cd7b5603e370 (patch) | |
tree | a0d25b79acf883becdb1fbef60d2371ba6fd2b01 /output.c | |
parent | 45492e9eb4681609f218f11e71523b6751303af6 (diff) | |
download | ltrace-572c4648c0d567bd4868ff442149cd7b5603e370.tar.gz ltrace-572c4648c0d567bd4868ff442149cd7b5603e370.tar.bz2 ltrace-572c4648c0d567bd4868ff442149cd7b5603e370.zip |
moved DWARF prototype reading to library_get_prototype()
Diffstat (limited to 'output.c')
-rw-r--r-- | output.c | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -49,6 +49,11 @@ #include "type.h" #include "value.h" #include "value_dict.h" +#include "filter.h" + +#if defined(HAVE_LIBDW) +#include "dwarf_prototypes.h" +#endif static struct process *current_proc = NULL; static size_t current_depth = 0; @@ -207,6 +212,14 @@ library_get_prototype(struct library *lib, const char *name) && lib->type == LT_LIBTYPE_DSO && snip_period(buf)); +#if defined(HAVE_LIBDW) + if (lib->protolib == NULL && lib->dwfl != NULL && + (filter_matches_library(options.plt_filter, lib ) || + filter_matches_library(options.static_filter, lib ) || + filter_matches_library(options.export_filter, lib ))) + import_DWARF_prototypes(lib->protolib, lib, lib->dwfl); +#endif + if (lib->protolib == NULL) lib->protolib = protolib_cache_default(&g_protocache, buf, 0); |