Hello,

This is (revived and rebased) version of the libdw memory manager that isn't affected by the PTHREAD_KEYS_MAX limit. There are some downsides, in particular if an application spawns many short-lived threads that all touch a Dwarf (enough to cause an allocation), there's about ~8N bytes of memory overhead.

The first patch is not required and adds some configure-time options for Valgrind annotation support (although, I'm not a serious autotools user, so it might need some work).

-Jonathon

----------------------------------------------------------------
Jonathon Anderson (2):
     Add configure options for Valgrind annotations.
     libdw: Rewrite the memory handler to be more robust.

ChangeLog               |  5 +++++
configure.ac            | 30 ++++++++++++++++++++++++++++++
lib/atomics.h           |  2 ++
libdw/ChangeLog         |  9 +++++++++
libdw/dwarf_begin_elf.c |  7 ++++---
libdw/dwarf_end.c       | 24 +++++++++++++-----------
libdw/libdwP.h | 67 ++++++++++++++++++++++++++++++++----------------------------------- libdw/libdw_alloc.c | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----
8 files changed, 160 insertions(+), 53 deletions(-)

Reply via email to