aboutsummaryrefslogtreecommitdiff
path: root/prototype.h
AgeCommit message (Collapse)Author
2013-10-23Look up protolibs whose name partially matches the loaded DSOPetr Machata
- The intention here is to allow matches of libc.so.conf for libc.so.6. Typically different sonames imply different binary interfaces, but for libc, we know that most interfaces won't change.
2013-10-23System calls are now part of dedicated symbol libraryPetr Machata
- This symbol library is still special in that symbols are created on demand and never actually added. It just serves as a link to protolibrary with system call prototypes, and has a name (SYS). - Prototypes for system calls were moved to a dedicated prototype library called syscalls.conf. - Because it's undesirable to look up syscall prototypes in anything but the dedicated syscall protolib, prototype.c/.h now understand that some lookups shouldn't be done recursively (and so we never pick the definition from -F file that just happens to have the same name as a system call). The good thing is that now libraries can actually use symbols named SYS_something without clashing with system call prototypes. - One test case needed to be updated, because we now display system calls as something@SYS instead of SYS_something.
2013-03-18Fix exit before parsing optionsPetr Machata
- The function destroy_global_config was called from normal_exit even if init_global_config hadn't been called before, such as when ltrace was run with no command line arguments. This led to crashes. We avoided similar crashes due to exit from init_global_config by calling _Exit instead. - Instead, schedule execution of destroy_global_config only after it is known that init_global_config was successful. Replace the clumsy _Exit calls again by plain exit.
2013-03-08Fix memory errorsPetr Machata
With this, valgrind run of ltrace on x86_64 is clean.
2013-03-08Load $HOME/.ltrace.conf and @sysconfdir@/ltrace.conf if availablePetr Machata
When one of these is found, it becomes part of implicit import module.
2013-03-08Add ownership tracking to prototype modulePetr Machata
2013-03-08Start using per-library config filesPetr Machata
We have one global cache, initialized in init_global_config. output.c was adjusted to load per-library config files on demand from that cache.
2013-03-08Add code for protolib cachePetr Machata
This doesn't yet handle autoloading of /etc/ltrace.conf, but the algorithms are all in.
2013-03-08Port prototype module to new dictionaryPetr Machata
2013-03-08Implement more of prototype.{c,h}Petr Machata
2013-03-08Introduce a module for managing prototypes and prototype librariesPetr Machata
This is to be used, eventually, for keeping one prototype library per DSO. Right now we only have one prototype library, like before: g_prototypes. Typedef submodule is not yet used, only prototypes are stored in the protolib as of now. The change in Makefile.am is actually an inclusion of prototype.{c,h} followed by a rewrap of name lists.