History log of /external/ltrace/library.h
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.h
8fdd09b028426f92df614d6ebe5c56d99877febf 11-Oct-2013 Petr Machata <pmachata@redhat.com> Allow per-OS configuration hooks for structs library and library_symbol
/external/ltrace/library.h
82f748d1bc2b95d594327ad15f3a6908070dd5c3 23-Oct-2013 Petr Machata <pmachata@redhat.com> System calls are now part of dedicated symbol library

- 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.
/external/ltrace/library.h
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.h
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.h
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.h
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.h
ab2dab55656a98068fac278b605c5cf780c4343b 07-Nov-2012 Petr Machata <pmachata@redhat.com> Add library_symbol_delayed_cb iteration predicate
/external/ltrace/library.h
e99af270a60891e68d465c4cd97dbe29cd1a05e4 26-Oct-2012 Petr Machata <pmachata@redhat.com> Update copyright information and license headers
/external/ltrace/library.h
f97b187598192f4c1f0ea47369f4e1dd4c08c392 01-Oct-2012 Edgar E. Iglesias <edgar.iglesias@gmail.com> mipsel: Replace LS_TOPLT_GOTONLY with delayed syms

Signed-off-by: Edgar E. Iglesias <edgar@axis.com>
/external/ltrace/library.h
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.h
74e57dd396818b1a9414c44e397ac82f692f5582 27-Sep-2012 Petr Machata <pmachata@redhat.com> Fix a comment in struct library
/external/ltrace/library.h
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.h
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.h
6e1dcb554221321b5c551cc40f0ea164eaf12e67 27-Sep-2012 Edgar E. Iglesias <edgar@axis.com> Add LS_TOPLT_GOTONLY

to describe symbols with a GOT entry but without PLT
entry.

Signed-off-by: Edgar E. Iglesias <edgar@axis.com>
/external/ltrace/library.h
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.h
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.h
b1492dfaca6882fa0798b549e0557c7dec6b7e9c 30-Apr-2012 Petr Machata <pmachata@redhat.com> Split arch_translate_address into this and arch_translate_address_dyn

The former is called when ltelf is available. The latter in dynamic context
when ltelf is not necessary anymore (or if the data is necessary, it will
have been copied out to struct library).
/external/ltrace/library.h
994ad6d3da0bea9bed176ce600ec513bfca238c2 17-Apr-2012 Petr Machata <pmachata@redhat.com> Add ARCH_HAVE_LIBRARY_DATA customization point
/external/ltrace/library.h
e8d9076a97f6617868466a99bd18e11e3f6389ac 15-Apr-2012 Petr Machata <pmachata@redhat.com> library_symbol_init may fail
/external/ltrace/library.h
0fe76c64833e09b382d40ee26ba23f02c63d6eb5 14-Apr-2012 Petr Machata <pmachata@redhat.com> Commentary updates
/external/ltrace/library.h
18c801c3f29081d9de517815df89bc1bbf8e2188 07-Apr-2012 Petr Machata <pmachata@redhat.com> Drop the rest of LS_TOPLT_POINT support

If any other architecture needs it, we'll add it back in some form. But
now that we have callbacks on breakpoints, it might be possible to do it
differently, without explicit support.
/external/ltrace/library.h
0092820afcd45fe045ccc294b061bce8da00a1f2 07-Apr-2012 Petr Machata <pmachata@redhat.com> Drop process.fixed_libs, enable breakpoints right away

The theory behing fixed_libs was broken from the beginning, we can't tell
dlopened libraries from fixed ones when attaching. We also don't need to
wait for _start to enable breakpoints. We may need this on LS_TOPLT_POINT
architectures, but that was added for PPC, and PPC doesn't need it anymore.
/external/ltrace/library.h
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.h
157cc4d6ee93f35e3aa65edcf57f369ae4e4677c 04-Apr-2012 Petr Machata <pmachata@redhat.com> Handle symbol aliases
/external/ltrace/library.h
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.h
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.h
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.h
52dbfb161efeab85bddc880966db2f7af9b9cf9a 29-Mar-2012 Petr Machata <pmachata@redhat.com> Shuffle breakpoint functions around
/external/ltrace/library.h
e4e693bc8cd9f2df77a8f27d61a940087071b912 27-Mar-2012 Petr Machata <pmachata@redhat.com> Support per-arch data in library_symbol

- new configuration setting ARCH_HAVE_LIBRARY_SYMBOL_DATA
/external/ltrace/library.h
e6523e69b0230fef8dddbf628e0511a004203eb8 24-Mar-2012 Petr Machata <pmachata@redhat.com> Don't require target library as part of symbol init
/external/ltrace/library.h
be04d6b478ecc51902f34672e4c3c1516d502c23 24-Mar-2012 Petr Machata <pmachata@redhat.com> Drop library_symbol.is_weak
/external/ltrace/library.h
b931085e37224dd2932fb637eaba5da29c4c5eb7 21-Mar-2012 Petr Machata <pmachata@redhat.com> Drop library_symbol.needs_init
/external/ltrace/library.h
b88fd6e8e3b03e4341dae540378bc7740ec2d2e5 21-Mar-2012 Petr Machata <pmachata@redhat.com> Add arch_translate_address decl

- and drop opd2addr, which this function supersedes
/external/ltrace/library.h
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.h
522a6ca083c8b9e964548b0e79a4bdc8095d6e2e 16-Mar-2012 Petr Machata <pmachata@redhat.com> library_symbol_init takes target_address_t instead of GElf_Addr
/external/ltrace/library.h
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.h
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.h