diff options
author | Petr Machata <pmachata@redhat.com> | 2012-09-27 23:49:49 +0200 |
---|---|---|
committer | Petr Machata <pmachata@redhat.com> | 2012-10-01 14:18:54 +0200 |
commit | 4b4dff4c810ebaccb1e36e1b3e9d69cd793ebde1 (patch) | |
tree | a5116c5f08a4680087e4d061ab3f26d085febede /library.h | |
parent | 51e74aca71ff7e8be91c074afd4f2264f46294e9 (diff) | |
download | ltrace-4b4dff4c810ebaccb1e36e1b3e9d69cd793ebde1.tar.gz |
Add a list of exported names to libraries
Those don't need to be full symbols, so we keep them separately.
Diffstat (limited to 'library.h')
-rw-r--r-- | library.h | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -39,6 +39,13 @@ enum toplt { unsigned int target_address_hash(const void *key); int target_address_cmp(const void *key1, const void *key2); +/* For handling -l. */ +struct library_exported_name { + struct library_exported_name *next; + const char *name; + int own_name : 1; +}; + struct library_symbol { struct library_symbol *next; struct library *lib; @@ -134,6 +141,12 @@ struct library { * symbols that don't have a breakpoint attached (yet). */ struct library_symbol *symbols; + /* List of names that this library implements, and that match + * -l filter. Each time a new library is mapped, its list of + * exports is examined, and corresponding PLT slots are + * enabled. */ + struct library_exported_name *exported_names; + const char *soname; const char *pathname; |