Age | Commit message (Collapse) | Author |
|
- 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.
|
|
- 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.
|
|
- 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.
|
|
With this, valgrind run of ltrace on x86_64 is clean.
|
|
When one of these is found, it becomes part of implicit import module.
|
|
|
|
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.
|
|
This doesn't yet handle autoloading of /etc/ltrace.conf, but the algorithms
are all in.
|
|
|
|
|
|
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.
|