aboutsummaryrefslogtreecommitdiff
path: root/library.c
AgeCommit message (Collapse)Author
2012-10-27Fixes in library_clonePetr Machata
We never set pathname of the clone and instead cloned pathname to soname. Also, initialize ->next of the last symbol in chain as well.
2012-10-27Fix memory error in library_clonePetr Machata
The ->next at the end of chain of cloned names wasn't initialized.
2012-10-27Release exported namesPetr Machata
This plugs a leak.
2012-10-01Add a list of exported names to librariesPetr Machata
Those don't need to be full symbols, so we keep them separately.
2012-10-01Add a callback that can be used for looking up symbols by namePetr Machata
2012-10-01Support latent and delayed symbolsPetr Machata
Neither latent, nor delayed symbols are given a breakpoint. The difference is in who's responsible for the state. Latent symbols are (will be) used by ltrace core. Delayed symbols are used by backends. Only when both of these flags are cleared is a breakpoint enabled for the symbol.
2012-09-25Extract enum callback_status to a separate modulePetr Machata
Document the interface, refer to this documentation at declarations of each_* functions.
2012-08-29Move target_address_t to arch.h, rename to arch_addr_tPetr Machata
Note that the placement under arch.h is currently conceptual only. Since no backend defines ARCH_HAVE_ADDRESS_TYPES, it's actually in sysdep.h in all cases.
2012-08-29Fix includes in PPC back endPetr Machata
2012-08-29Fix memory errorsPetr Machata
2012-08-29Prevent using of uninitialized valueAndrey Zonov
2012-04-19Add ARCH_HAVE_LIBRARY_DATA customization pointPetr Machata
2012-04-19Hash should be computed from value, not ddressPetr Machata
D'oh.
2012-04-19Add arch_library_symbol arch hooks, call properlyPetr Machata
2012-04-19library_symbol_init may failPetr Machata
2012-04-19Address hashing and comparison functions need to work with target_address_tPetr Machata
- ... not int, which is narrower than target_address_t on 64-bit machines
2012-04-19Handle symbol aliasesPetr Machata
2012-04-19Don't create PLT symbols that don't match filtering criteriaPetr Machata
- instead of creating them, keeping them around, and then just not enabling breakpoints for them
2012-04-19Differentiate fresh libraries from old by "key", not by base addressPetr Machata
- that because base is unknown at the time that library is mapped in, only bias is known. We'd have to read the elf file to determine whether this is the right library or not. Instead we assume that the dynamic linker keeps linked list, and use address of internal structure as the key
2012-04-19Implement @MAIN, @/path/name -e selectors, make former default for nowPetr Machata
- the default might become "*" in future, but keep things more or less the same as they always were for now
2012-04-19Add CBS_FAIL to enum callback_statusPetr Machata
2012-04-19Add arch_breakpoint_destroy as a counterpart to arch_breakpoint_initPetr Machata
- even though we don't destroy breakpoints at all right now
2012-04-19Don't require target library as part of symbol initPetr Machata
2012-04-19Drop library_symbol.is_weakPetr Machata
2012-04-19Drop library_symbol.needs_initPetr Machata
2012-04-19Change iterators each_task, each_process, library_each_symbolPetr Machata
... now the restarts are supported by start_after instead of start. Otherwise the restart scenario was something like: for (it *sym = NULL; (sym = next(sym)) != NULL; ) if ((sym = sym->next) == NULL) break; which just seems too convoluted.
2012-04-19library_symbol_init takes target_address_t instead of GElf_AddrPetr Machata
2012-04-19Support bias, display library name on breakpointPetr Machata
- syscall support very hacky right now
2012-04-19The first crude version of tracing across librariesPetr Machata
- the patch will be sliced later