History log of /external/ltrace/library.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
b8f0d8b5859a7d69f6aed4904a87ac6a423285f6 16-Oct-2013 Petr Machata <pmachata@redhat.com> Allow the prototype to be specified directly at the symbol
/external/ltrace/library.c
8fdd09b028426f92df614d6ebe5c56d99877febf 11-Oct-2013 Petr Machata <pmachata@redhat.com> Allow per-OS configuration hooks for structs library and library_symbol
/external/ltrace/library.c
7287166e8fd5949ffcf8eb1f3d378b5ea538915e 11-Oct-2013 Petr Machata <pmachata@redhat.com> arch_library_init and arch_library_clone should be able to signal failure

- This then trickles to library_init, which needs to return int
- Callers of library_init were updated to unroll their transactions
upon failure
- PPC and ARM backends were updated to match the updated interface
/external/ltrace/library.c
d19b91640b2d1bcfeef14d029891dd93217b9c24 07-Jan-2013 Petr Machata <pmachata@redhat.com> Properly handle partial success when cloning a library

The cloned library may have been allocated, but not initialized. It
is not correct to destroy such library, only the memory needs to be
released.
/external/ltrace/library.c
b1ab2aefa199ea8e14e29bac78ae71030c2d4863 07-Jan-2013 Petr Machata <pmachata@redhat.com> Consolidate two duplicate conditional strdup wrappers to strdup_if

- Convert callers in prototype.c and library.c
- Current placement in library.c is somewhat arbitrary. There
currently doesn't seem to be a more suitable place.
- The behavior subtly changed: in case of failure, RET is now
unaffected.
/external/ltrace/library.c
f70074cd77f82182cb234b673cad3e9618a52843 05-Dec-2012 Petr Machata <pmachata@redhat.com> Each struct library should have its own struct protolib

This is enough for handling -x symbols. For handling -e however, we will
need a per-process library that's incrementally built according to what's
mapped in.
/external/ltrace/library.c
d7e4ca82e1cf20bb2605befb1da74dd1688c706e 28-Nov-2012 Petr Machata <pmachata@redhat.com> Rewrite dict module to be more in line with vect

It's now a bit more strongly typed, can grow and shrink on demand, and has
a more complete interface.
It uses open addressing scheme to store hashes.
/external/ltrace/library.c
929bd57ca202fd2f2e8485ebf65d683e664f67b5 17-Dec-2012 Petr Machata <pmachata@redhat.com> struct Process becomes struct process

This is for consistency with other structures, and ultimately with
Linux coding style. The typedef ("Process") was dropped as well for
this reason.

This opportunity was used to fix coding style around the impacted
lines.
/external/ltrace/library.c
ab2dab55656a98068fac278b605c5cf780c4343b 07-Nov-2012 Petr Machata <pmachata@redhat.com> Add library_symbol_delayed_cb iteration predicate
/external/ltrace/library.c
fb8502c860af89ffeb4ee962bd98996672cde2aa 27-Oct-2012 Petr Machata <pmachata@redhat.com> Fixes in library_clone

We never set pathname of the clone and instead cloned pathname to soname.
Also, initialize ->next of the last symbol in chain as well.
/external/ltrace/library.c
23e2b593b7efe961e1305fdb510b3cd96147f25c 27-Oct-2012 Petr Machata <pmachata@redhat.com> Fix memory error in library_clone

The ->next at the end of chain of cloned names wasn't initialized.
/external/ltrace/library.c
819fdb7c7955e83ce1a96131f115aeeed7fdfcdf 27-Oct-2012 Petr Machata <pmachata@redhat.com> Release exported names

This plugs a leak.
/external/ltrace/library.c
4b4dff4c810ebaccb1e36e1b3e9d69cd793ebde1 27-Sep-2012 Petr Machata <pmachata@redhat.com> Add a list of exported names to libraries

Those don't need to be full symbols, so we keep them separately.
/external/ltrace/library.c
016811fc65dc5ecabd2e80bfb4afc771f5d953cf 27-Sep-2012 Petr Machata <pmachata@redhat.com> Add a callback that can be used for looking up symbols by name
/external/ltrace/library.c
ef2fd27a347bbb0e7cca7fdee97422f6ae4d4bda 28-Sep-2012 Petr Machata <pmachata@redhat.com> Support latent and delayed symbols

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.
/external/ltrace/library.c
a24021c5abfa8c2482e3224f14ac191cd0826a8f 25-Sep-2012 Petr Machata <pmachata@redhat.com> Extract enum callback_status to a separate module

Document the interface, refer to this documentation at declarations of
each_* functions.
/external/ltrace/library.c
bac2da505ee174b7fb984b975c5938f88f0dbab2 29-May-2012 Petr Machata <pmachata@redhat.com> Move target_address_t to arch.h, rename to arch_addr_t

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.
/external/ltrace/library.c
98d319eb9654ce903c751405535ebcd7077be887 04-May-2012 Petr Machata <pmachata@redhat.com> Fix includes in PPC back end
/external/ltrace/library.c
8ae3673880056b5da0bf9a5fbf9b37276adae56e 30-Apr-2012 Petr Machata <pmachata@redhat.com> Fix memory errors
/external/ltrace/library.c
0a0550a6b775720256f8f65717e5eaddc536410b 16-Aug-2012 Andrey Zonov <zont@FreeBSD.org> Prevent using of uninitialized value
/external/ltrace/library.c
994ad6d3da0bea9bed176ce600ec513bfca238c2 17-Apr-2012 Petr Machata <pmachata@redhat.com> Add ARCH_HAVE_LIBRARY_DATA customization point
/external/ltrace/library.c
d1f63ecc91772deca9d5043770898fda9d021c7b 17-Apr-2012 Petr Machata <pmachata@redhat.com> Hash should be computed from value, not ddress

D'oh.
/external/ltrace/library.c
24c6e9daa8d89e13c19fc3f9a475ba7913d7d9c8 15-Apr-2012 Petr Machata <pmachata@redhat.com> Add arch_library_symbol arch hooks, call properly
/external/ltrace/library.c
e8d9076a97f6617868466a99bd18e11e3f6389ac 15-Apr-2012 Petr Machata <pmachata@redhat.com> library_symbol_init may fail
/external/ltrace/library.c
ecb082f480f057dc166c9d62e8776c892caf5e11 05-Apr-2012 Petr Machata <pmachata@redhat.com> Address hashing and comparison functions need to work with target_address_t

- ... not int, which is narrower than target_address_t on 64-bit machines
/external/ltrace/library.c
157cc4d6ee93f35e3aa65edcf57f369ae4e4677c 04-Apr-2012 Petr Machata <pmachata@redhat.com> Handle symbol aliases
/external/ltrace/library.c
b5f80ac8982c40f79915ce1e1cb9bf8650ac5fe7 04-Apr-2012 Petr Machata <pmachata@redhat.com> Don't create PLT symbols that don't match filtering criteria

- instead of creating them, keeping them around, and then just not enabling
breakpoints for them
/external/ltrace/library.c
89ac0395a9e018f4d4dbda9d3e27159419a92da2 03-Apr-2012 Petr Machata <pmachata@redhat.com> Differentiate fresh libraries from old by "key", not by base address

- 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
/external/ltrace/library.c
0b55b5852b9fe2ed6cceada004db303fe6efe6ce 02-Apr-2012 Petr Machata <pmachata@redhat.com> Implement @MAIN, @/path/name -e selectors, make former default for now

- the default might become "*" in future, but keep things more or less
the same as they always were for now
/external/ltrace/library.c
ef7fa37f2d0b949b5afb1f326187e4f023d86c25 28-Mar-2012 Petr Machata <pmachata@redhat.com> Add CBS_FAIL to enum callback_status
/external/ltrace/library.c
8cce1193ebd35cb5a8b288bc7325cdda1b8ffe50 25-Mar-2012 Petr Machata <pmachata@redhat.com> Add arch_breakpoint_destroy as a counterpart to arch_breakpoint_init

- even though we don't destroy breakpoints at all right now
/external/ltrace/library.c
e6523e69b0230fef8dddbf628e0511a004203eb8 24-Mar-2012 Petr Machata <pmachata@redhat.com> Don't require target library as part of symbol init
/external/ltrace/library.c
be04d6b478ecc51902f34672e4c3c1516d502c23 24-Mar-2012 Petr Machata <pmachata@redhat.com> Drop library_symbol.is_weak
/external/ltrace/library.c
b931085e37224dd2932fb637eaba5da29c4c5eb7 21-Mar-2012 Petr Machata <pmachata@redhat.com> Drop library_symbol.needs_init
/external/ltrace/library.c
74132a447b18c588c698ecfb8cf4ad4b16360f2f 16-Mar-2012 Petr Machata <pmachata@redhat.com> Change iterators each_task, each_process, library_each_symbol

... 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.
/external/ltrace/library.c
522a6ca083c8b9e964548b0e79a4bdc8095d6e2e 16-Mar-2012 Petr Machata <pmachata@redhat.com> library_symbol_init takes target_address_t instead of GElf_Addr
/external/ltrace/library.c
29add4fdf852b10ddd22cac0d1390f6d01577bc2 18-Feb-2012 Petr Machata <pmachata@redhat.com> Support bias, display library name on breakpoint

- syscall support very hacky right now
/external/ltrace/library.c
2b46cfc1127d390eddd9593fe5ce5399c1f68130 18-Feb-2012 Petr Machata <pmachata@redhat.com> The first crude version of tracing across libraries

- the patch will be sliced later
/external/ltrace/library.c