[PATCH 0/9 v2] Fix thread-safety for elfutils
Aaron Merey
amerey@redhat.com
Wed Jul 17 22:33:59 GMT 2024
v1 can be found at
https://sourceware.org/pipermail/elfutils-devel/2023q3/006329.html
Heather McIntyre is the original author of v1 of these patches.
Heather and myself co-wrote v2.
Aaron Merey (9):
libelf: Fix deadlock in __libelf_readall
libelf: Fix deadlock in elf_cntl
lib: Add eu_tsearch, eu_tfind, eu_tdelete and eu_tdestroy
libdw: make dwarf_getalt thread-safe
libdwP.h: Add locking to __libdw_dieabbrev
libdw: Make libdw_find_split_unit thread-safe
libdw: Make libdw_findcu thread-safe
tests: Add eu-search tests
configure: No longer mark --enable-thread-safety as EXPERIMENTAL
configure.ac | 6 +-
lib/Makefile.am | 5 +-
lib/eu-config.h | 30 +---
lib/eu-search.c | 85 +++++++++++
lib/eu-search.h | 64 +++++++++
lib/locks.h | 62 ++++++++
libdw/cfi.h | 6 +-
libdw/cie.c | 10 +-
libdw/dwarf_begin_elf.c | 7 +-
libdw/dwarf_end.c | 17 +--
libdw/dwarf_formref_die.c | 2 +
libdw/dwarf_getalt.c | 18 ++-
libdw/dwarf_getcfi.c | 5 +-
libdw/dwarf_getlocation.c | 24 ++--
libdw/dwarf_getmacros.c | 6 +-
libdw/dwarf_getsrclines.c | 8 +-
libdw/dwarf_setalt.c | 4 +
libdw/fde.c | 6 +-
libdw/frame-cache.c | 8 +-
libdw/libdwP.h | 49 +++++--
libdw/libdw_find_split_unit.c | 18 ++-
libdw/libdw_findcu.c | 65 +++++----
libdwfl/cu.c | 8 +-
libdwfl/dwfl_module.c | 4 +-
libdwfl/libdwflP.h | 3 +-
libelf/common.h | 16 +--
libelf/elf_begin.c | 2 +
libelf/elf_cntl.c | 7 +-
libelf/elf_end.c | 13 +-
libelf/elf_getdata_rawchunk.c | 12 +-
libelf/elf_readall.c | 4 +-
libelf/libelfP.h | 10 +-
tests/.gitignore | 4 +
tests/Makefile.am | 19 ++-
tests/eu_search_cfi.c | 234 ++++++++++++++++++++++++++++++
tests/eu_search_die.c | 262 ++++++++++++++++++++++++++++++++++
tests/eu_search_lines.c | 228 +++++++++++++++++++++++++++++
tests/eu_search_macros.c | 216 ++++++++++++++++++++++++++++
tests/run-eu-search-tests.sh | 168 ++++++++++++++++++++++
39 files changed, 1553 insertions(+), 162 deletions(-)
create mode 100644 lib/eu-search.c
create mode 100644 lib/eu-search.h
create mode 100644 lib/locks.h
create mode 100644 tests/eu_search_cfi.c
create mode 100644 tests/eu_search_die.c
create mode 100644 tests/eu_search_lines.c
create mode 100644 tests/eu_search_macros.c
create mode 100755 tests/run-eu-search-tests.sh
--
2.45.2
More information about the Elfutils-devel
mailing list