Re: [PATCH 3/9 v4] libdwP.h: Add locking to str_offsets_base_off
Hi Aaron, On Sun, 2025-03-16 at 21:51 -0400, Aaron Merey wrote: > * libdw/dwarf_end.c (cu_free): Free str_off_base_lock. > * libdw/libdwP.h (struct Dwarf_CU): Add str_off_base_lock member. > (str_offsets_base_off): Add locking. > * libdw/libdw_findcu.c (__libdw_intern_next_unit): Initialize > str_off_base_lock. > > Signed-off-by: Aaron Merey > --- > v3: > https://patchwork.sourceware.org/project/elfutils/patch/20250220043644.2058519-3-ame...@redhat.com/ > > v4: simplify unlocking in str_offsets_base_off. Thanks this looks good. I believe that means the whole series is finally fully reviewed and approved. So please do push it. Cheers, Mark
Re: [PATCH 2/9 v4] libdw: Add locking to dwarf_getsrcfiles, dwarf_getsrclines, dwarf_macro_getsrcfiles
Hi Aaron, On Sun, 2025-03-16 at 21:51 -0400, Aaron Merey wrote: > * libdw/dwarf_begin_elf.c (dwarf_begin_elf): Init macro_lock. > * libdw/dwarf_end.c (cu_free): Free src_lock. > (dwarf_end): Free macro_lock. > * libdw/dwarf_getsrcfiles.c (dwarf_getsrcfiles): Use src_lock. > * libdw/dwarf_getsrclines.c (dwarf_getsrclines): Ditto. > * libdw/dwarf_macro_getsrclines.c (dwarf_macro_getsrclines): Use > macro_lock. > * libdw/libdwP.h (struct Dwarf): Define macro_lock. > (struct Dwarf_CU): Define src_lock. > * libdw/libdw_findcu.c (__libdw_intern_next_unit): Init src_lock. Looks good. Just one comment about a comment below. > Signed-off-by: Aaron Merey > --- > v3: > https://patchwork.sourceware.org/project/elfutils/patch/20250220043644.2058519-3-ame...@redhat.com/ > > v4: Instead of using dwarf_lock, define a new lock for dwarf_getsrclines and > dwarf_getsrcfiles as well as dwarf_macro_getsrcfiles. > > libdw/dwarf_begin_elf.c | 1 + > libdw/dwarf_end.c | 2 ++ > libdw/dwarf_getsrcfiles.c | 11 +++ > libdw/dwarf_getsrclines.c | 25 +++-- > libdw/dwarf_macro_getsrcfiles.c | 10 +- > libdw/libdwP.h | 10 -- > libdw/libdw_findcu.c| 1 + > 7 files changed, 47 insertions(+), 13 deletions(-) > > diff --git a/libdw/dwarf_begin_elf.c b/libdw/dwarf_begin_elf.c > index 8a3a939b..58a309e9 100644 > --- a/libdw/dwarf_begin_elf.c > +++ b/libdw/dwarf_begin_elf.c > @@ -580,6 +580,7 @@ dwarf_begin_elf (Elf *elf, Dwarf_Cmd cmd, Elf_Scn *scngrp) >return NULL; > } >mutex_init (result->dwarf_lock); > + mutex_init (result->macro_lock); >eu_search_tree_init (&result->cu_tree); >eu_search_tree_init (&result->tu_tree); >eu_search_tree_init (&result->split_tree); > diff --git a/libdw/dwarf_end.c b/libdw/dwarf_end.c > index 92389c07..c12815e1 100644 > --- a/libdw/dwarf_end.c > +++ b/libdw/dwarf_end.c > @@ -70,6 +70,7 @@ cu_free (void *arg) >Dwarf_Abbrev_Hash_free (&p->abbrev_hash); >rwlock_fini (p->abbrev_lock); >rwlock_fini (p->split_lock); > + mutex_fini (p->src_lock); > >/* Free split dwarf one way (from skeleton to split). */ >if (p->unit_type == DW_UT_skeleton > @@ -130,6 +131,7 @@ dwarf_end (Dwarf *dwarf) > free (dwarf->mem_tails); >pthread_rwlock_destroy (&dwarf->mem_rwl); >mutex_fini (dwarf->dwarf_lock); > + mutex_fini (dwarf->macro_lock); > >/* Free the pubnames helper structure. */ >free (dwarf->pubnames_sets); > diff --git a/libdw/dwarf_getsrcfiles.c b/libdw/dwarf_getsrcfiles.c > index 24e4b7d2..9becd1d5 100644 > --- a/libdw/dwarf_getsrcfiles.c > +++ b/libdw/dwarf_getsrcfiles.c > @@ -47,9 +47,10 @@ dwarf_getsrcfiles (Dwarf_Die *cudie, Dwarf_Files **files, > size_t *nfiles) > } > >int res = -1; > + struct Dwarf_CU *const cu = cudie->cu; > + mutex_lock (cudie->cu->src_lock); > >/* Get the information if it is not already known. */ > - struct Dwarf_CU *const cu = cudie->cu; >if (cu->files == NULL) > { >/* For split units there might be a simple file table (without lines). > @@ -96,7 +97,10 @@ dwarf_getsrcfiles (Dwarf_Die *cudie, Dwarf_Files **files, > size_t *nfiles) > Dwarf_Off debug_line_offset; > if (__libdw_formptr (stmt_list, IDX_debug_line, DWARF_E_NO_DEBUG_LINE, > NULL, &debug_line_offset) == NULL) > - return -1; > + { > + mutex_unlock (cudie->cu->src_lock); > + return -1; > + } > > res = __libdw_getsrcfiles (cu->dbg, debug_line_offset, >__libdw_getcompdir (cudie), > @@ -115,8 +119,7 @@ dwarf_getsrcfiles (Dwarf_Die *cudie, Dwarf_Files **files, > size_t *nfiles) > *nfiles = cu->files->nfiles; > } > > - // XXX Eventually: unlocking here. > - > + mutex_unlock (cudie->cu->src_lock); >return res; > } > INTDEF (dwarf_getsrcfiles) > diff --git a/libdw/dwarf_getsrclines.c b/libdw/dwarf_getsrclines.c > index da78db67..be10cdee 100644 > --- a/libdw/dwarf_getsrclines.c > +++ b/libdw/dwarf_getsrclines.c > @@ -1442,8 +1442,10 @@ dwarf_getsrclines (Dwarf_Die *cudie, Dwarf_Lines > **lines, size_t *nlines) >return -1; > } > > - /* Get the information if it is not already known. */ >struct Dwarf_CU *const cu = cudie->cu; > + mutex_lock (cu->src_lock); > + > + /* Get the information if it is not already known. */ >if (cu->lines == NULL) > { >/* For split units always pick the lines from the skeleton. */ > @@ -1464,10 +1466,13 @@ dwarf_getsrclines (Dwarf_Die *cudie, Dwarf_Lines > **lines, size_t *nlines) > *lines = cu->lines; > *nlines = cu->lines->nlines; > } > + > + mutex_unlock (cu->src_lock); > return res; > } > > __li
☠ Buildbot (Sourceware): elfutils-snapshots-coverage - failed test (failure) (main)
A new failure has been detected on builder elfutils-snapshots-coverage while building elfutils. Full details are available at: https://builder.sourceware.org/buildbot/#/builders/250/builds/220 Build state: failed test (failure) Revision: 33d4a60d13e0f82fb89cff389abf9770121d160a Worker: snapshots Build Reason: (unknown) Blamelist: Aaron Merey , Heather S. McIntyre Steps: - 0: worker_preparation ( success ) - 1: git checkout ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/250/builds/220/steps/1/logs/stdio - 2: autoreconf ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/250/builds/220/steps/2/logs/stdio - 3: configure ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/250/builds/220/steps/3/logs/stdio - config.log: https://builder.sourceware.org/buildbot/#/builders/250/builds/220/steps/3/logs/config_log - 4: make ( warnings ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/250/builds/220/steps/4/logs/stdio - warnings (3): https://builder.sourceware.org/buildbot/#/builders/250/builds/220/steps/4/logs/warnings__3_ - 5: make check ( failure ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/250/builds/220/steps/5/logs/stdio - test-suite.log: https://builder.sourceware.org/buildbot/#/builders/250/builds/220/steps/5/logs/test-suite_log - 6: make coverage ( warnings ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/250/builds/220/steps/6/logs/stdio - warnings (3): https://builder.sourceware.org/buildbot/#/builders/250/builds/220/steps/6/logs/warnings__3_ - 7: Wait snapshots output ready ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/250/builds/220/steps/7/logs/stdio - 8: create output ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/250/builds/220/steps/8/logs/stdio - 9: create publish file ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/250/builds/220/steps/9/logs/stdio
☠ Buildbot (Sourceware): elfutils - failed test (failure) (main)
A new failure has been detected on builder elfutils-debian-i386 while building elfutils. Full details are available at: https://builder.sourceware.org/buildbot/#/builders/17/builds/465 Build state: failed test (failure) Revision: 5896c1e61b568ef357c68f69a6b193df1bbcafe8 Worker: debian-i386 Build Reason: (unknown) Blamelist: Aaron Merey , Heather S. McIntyre Steps: - 0: worker_preparation ( success ) - 1: set package name ( success ) - 2: git checkout ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/17/builds/465/steps/2/logs/stdio - 3: autoreconf ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/17/builds/465/steps/3/logs/stdio - 4: configure ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/17/builds/465/steps/4/logs/stdio - config.log: https://builder.sourceware.org/buildbot/#/builders/17/builds/465/steps/4/logs/config_log - 5: get version ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/17/builds/465/steps/5/logs/stdio - property changes: https://builder.sourceware.org/buildbot/#/builders/17/builds/465/steps/5/logs/property_changes - 6: make ( warnings ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/17/builds/465/steps/6/logs/stdio - warnings (3): https://builder.sourceware.org/buildbot/#/builders/17/builds/465/steps/6/logs/warnings__3_ - 7: make check ( failure ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/17/builds/465/steps/7/logs/stdio - test-suite.log: https://builder.sourceware.org/buildbot/#/builders/17/builds/465/steps/7/logs/test-suite_log - 8: prep ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/17/builds/465/steps/8/logs/stdio - 9: build bunsen.cpio.gz ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/17/builds/465/steps/9/logs/stdio - 10: fetch bunsen.cpio.gz ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/17/builds/465/steps/10/logs/stdio - 11: unpack bunsen.cpio.gz ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/17/builds/465/steps/11/logs/stdio - 12: pass .bunsen.source.* ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/17/builds/465/steps/12/logs/stdio - 13: upload to bunsen ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/17/builds/465/steps/13/logs/stdio - 14: clean up ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/17/builds/465/steps/14/logs/stdio - 15: make distclean ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/17/builds/465/steps/15/logs/stdio A new failure has been detected on builder elfutils-debian-amd64 while building elfutils. Full details are available at: https://builder.sourceware.org/buildbot/#/builders/52/builds/475 Build state: failed test (failure) Revision: 5896c1e61b568ef357c68f69a6b193df1bbcafe8 Worker: bb3 Build Reason: (unknown) Blamelist: Heather S. McIntyre Steps: - 0: worker_preparation ( success ) - 1: set package name ( success ) - 2: git checkout ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/52/builds/475/steps/2/logs/stdio - 3: autoreconf ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/52/builds/475/steps/3/logs/stdio - 4: configure ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/52/builds/475/steps/4/logs/stdio - config.log: https://builder.sourceware.org/buildbot/#/builders/52/builds/475/steps/4/logs/config_log - 5: get version ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/52/builds/475/steps/5/logs/stdio - property changes: https://builder.sourceware.org/buildbot/#/builders/52/builds/475/steps/5/logs/property_changes - 6: make ( warnings ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/52/builds/475/steps/6/logs/stdio - warnings (3): https://builder.sourceware.org/buildbot/#/builders/52/builds/475/steps/6/logs/warnings__3_ - 7: make check ( failure ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/52/builds/475/steps/7/logs/stdio - test-suite.log: https://builder.sourceware.org/buildbot/#/builders/52/builds/475/steps/7/logs/test-suite_log - 8: prep ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/52/builds/475/steps/8/logs/stdio - 9: build bunsen.cpio.gz ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/52/builds/475/steps/9/logs/stdio - 10: fetch bunsen.cpi
Re: [PATCH 4/4] readelf: Add support for printing DW_AT_language_name DW_LNAMEs
Hi Mark, On Tue, Mar 11, 2025 at 6:01 AM Mark Wielaard wrote: > > Add a testfile using GCC 15 (experimental). > > * libdw/dwarf.h: Add DW_LNAME_lo_user and DW_LNAME_hi_user. > * src/readelf.c (dwarf_lname_string): New function. > (dwarf_lname_name): Likewise. > (attr_callback): Handle DW_AT_language_name by calling > dwarf_lname_name. > > * run-readelf-lnames.sh: New test. > * testfile-lnames.bz2: New testfile. > * tests/Makefile.am (TESTS): Add run-readelf-lnames.sh. > (EXTRA_DIST): Add run-readelf-lnames.sh and > testfile-lnames.bz2. > > Signed-off-by: Mark Wielaard LGTM. Aaron
Re: [PATCH 2/4] libdw: Add dwarf_language and dwarf_language_lower_bound functions.
Hi Mark, On Tue, Mar 11, 2025 at 5:59 AM Mark Wielaard wrote: > > dwarf_language returns a DW_LNAME constant for a CU Die. If the CU Die > has a DW_AT_language_name attribute dwarf_language will return it and > the DW_AT_language_version attribute value. Otherwise dwarf_language > will lookup the (old style) DW_AT_language attribute and translate the > DW_LANG constant into a DW_LNAME constant and version using a new > static function srclang_to_language. > > The dwarf_language_lower_bound function works just like the > dwarf_default_lower_bound function, but takes a DW_LNAME constant > instead of a DW_LANG constant. > > Adds a new test to make sure dwarf_language_lower_bound handles all > known DW_LNAME constants. > > * NEWS: Add new functions. > * libdw/libdw.map (ELFUTILS_0.193): New section with new functions. > * libdw/libdw.h (dwarf_srclang): Add comment explaining this > returns DW_LANG constants. > (dwarf_language): New function. > (dwarf_default_lower_bound): Add comment explaining this works on > DW_LANG constants. > (dwarf_language_lower_bound): New function. > * libdw/libdwP.h: INTDECL dwarf_language and > dwarf_language_lower_bound. > * libdw/dwarf_srclang.c (srclang_to_language): New function. > (dwarf_language): Likewise. > * libdw/dwarf_default_lower_bound.c (dwarf_language_lower_bound): > New function. > * libdw/dwarf_getfuncs.c (dwarf_getfuncs): Use dwarf_language and > dwarf_language_lower_bound. > * libdw/dwarf_aggregate_size.c (array_size): Likewise. > * tests/dwarf_language_lower_bound.c: New test. > * tests/Makefile.am (check_PROGRAMS): Add dwarf_language_lower_bound. > (TESTS): Likewise. > (dwarf_language_lower_bound_LDADD): New variable. > > Signed-off-by: Mark Wielaard LGTM. Aaron
Re: [PATCH 1/4] dwarf.h: Add DWARF v6 langauge attributes and DW_LNAME constants
Hi Mark, On Tue, Mar 11, 2025 at 5:59 AM Mark Wielaard wrote: > > https://dwarfstd.org/languages-v6.html defines the DWARF v6 language > attributes, DW_AT_language_name, DW_AT_language_version and DW_LNAME > constants as usable by pre-DWARF v6 producers and consumers. > > Also add new DW_LANG_V and DW_LANG_Algol68 (DWARFv5) language constants. > > * config/known-dwarf.awk: Handle DW_LNAME. > * libdw/dwarf.h: Add DW_AT_language_name and DW_AT_language_version > plus all currently defined DW_LNAME constants. Add DW_LANG_V and > DW_LANG_Algol68. > * libdw/dwarf_default_lower_bound.c: Add DW_LANG_V and > DW_LANG_Algol68. > > Signed-off-by: Mark Wielaard LGTM. Aaron
Re: [PATCH 1/1] debuginfod: add --http-addr option
Hi Michael, On Thu, Mar 20, 2025 at 02:58:34PM +, Trapp, Michael wrote: > > Am 19.03.2025 um 13:35 schrieb Mark Wielaard : > > The code itself does look ok, although I think it could be simplified a > > little if we go for something like --listen-local only (assuming that > > makes sense). > > In summary, I would use the generic option, as you’ve suggested with, > '—-listen-address=_IPv4/IPv6_ADDRESS_’ because it covers all possible > addresses. > The more restrictive option for localhost addresses could be > '—-listen-local4’ to bind to 127.0.0.1 or '—-listen-local6’ for a bind to ::1. > What do you think about that? I think you thought this through a lot deeper than I did. So lets go with the generic --listen-address=_IPv4/IPv6_ADDRESS_ variant. Could you sent a version of the patch with just that name change from --http-addr to --listen-address? Thanks, Mark
Re: [PATCH 3/4] libdw: Make dwarf_srclang forward compatible with DW_AT_language_name
Hi Mark, On Tue, Mar 11, 2025 at 6:00 AM Mark Wielaard wrote: > > For programs which use dwarf_srclang it might be useful to translate a > DW_LNAME (plus version) into a DW_LANG constant if there is no > DW_AT_language constant, but there is a DW_AT_language_name (and > DW_AT_language_version). > > * libdw/dwarf_srclang.c (language_to_srclang): New function. > (dwarf_srclang): If there is no DW_AT_language, try > DW_AT_language_name and DW_AT_language_version, use > language_to_srclang. > > Signed-off-by: Mark Wielaard LGTM. Aaron
☠ Buildbot (Sourceware): elfutils - failed test (failure) (main)
A new failure has been detected on builder elfutils-debian-armhf while building elfutils. Full details are available at: https://builder.sourceware.org/buildbot/#/builders/6/builds/396 Build state: failed test (failure) Revision: f49baa1febcb36707cb5acf9974a4faf269a98d6 Worker: debian-armhf Build Reason: (unknown) Blamelist: Mark Wielaard Steps: - 0: worker_preparation ( success ) - 1: set package name ( success ) - 2: git checkout ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/396/steps/2/logs/stdio - 3: autoreconf ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/396/steps/3/logs/stdio - 4: configure ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/396/steps/4/logs/stdio - config.log: https://builder.sourceware.org/buildbot/#/builders/6/builds/396/steps/4/logs/config_log - 5: get version ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/396/steps/5/logs/stdio - property changes: https://builder.sourceware.org/buildbot/#/builders/6/builds/396/steps/5/logs/property_changes - 6: make ( warnings ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/396/steps/6/logs/stdio - warnings (3): https://builder.sourceware.org/buildbot/#/builders/6/builds/396/steps/6/logs/warnings__3_ - 7: make check ( failure ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/396/steps/7/logs/stdio - test-suite.log: https://builder.sourceware.org/buildbot/#/builders/6/builds/396/steps/7/logs/test-suite_log - 8: prep ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/396/steps/8/logs/stdio - 9: build bunsen.cpio.gz ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/396/steps/9/logs/stdio - 10: fetch bunsen.cpio.gz ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/396/steps/10/logs/stdio - 11: unpack bunsen.cpio.gz ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/396/steps/11/logs/stdio - 12: pass .bunsen.source.* ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/396/steps/12/logs/stdio - 13: upload to bunsen ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/396/steps/13/logs/stdio - 14: clean up ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/396/steps/14/logs/stdio - 15: make distclean ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/396/steps/15/logs/stdio
[COMMITTED] tests/thread-safety-subr.sh: Change if [[ ]] to if [ ]
Using [[ is a bashism. We can just use [ since this is a simple comparision. * tests/thread-safety-subr.sh: Use if [ instead of if [[. Signed-off-by: Mark Wielaard --- tests/thread-safety-subr.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/thread-safety-subr.sh b/tests/thread-safety-subr.sh index 1024df02d19e..90d9d9845b43 100644 --- a/tests/thread-safety-subr.sh +++ b/tests/thread-safety-subr.sh @@ -26,7 +26,7 @@ check_thread_safety_enabled() ${abs_builddir}/../config.h | awk '{print $3}') # Test will only be run if USE_LOCKS is defined. Otherwise, skip. - if [[ "$USE_LOCKS" != 1 ]]; then + if [ "$USE_LOCKS" != 1 ]; then echo "USE_LOCKS is not defined. Skipping test." exit 77 fi -- 2.49.0
☠ Buildbot (Sourceware): elfutils - failed test (failure) (main)
A new failure has been detected on builder elfutils-debian-armhf while building elfutils. Full details are available at: https://builder.sourceware.org/buildbot/#/builders/6/builds/398 Build state: failed test (failure) Revision: 33d4a60d13e0f82fb89cff389abf9770121d160a Worker: debian-armhf Build Reason: (unknown) Blamelist: Aaron Merey , Heather S. McIntyre Steps: - 0: worker_preparation ( success ) - 1: set package name ( success ) - 2: git checkout ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/398/steps/2/logs/stdio - 3: autoreconf ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/398/steps/3/logs/stdio - 4: configure ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/398/steps/4/logs/stdio - config.log: https://builder.sourceware.org/buildbot/#/builders/6/builds/398/steps/4/logs/config_log - 5: get version ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/398/steps/5/logs/stdio - property changes: https://builder.sourceware.org/buildbot/#/builders/6/builds/398/steps/5/logs/property_changes - 6: make ( warnings ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/398/steps/6/logs/stdio - warnings (3): https://builder.sourceware.org/buildbot/#/builders/6/builds/398/steps/6/logs/warnings__3_ - 7: make check ( failure ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/398/steps/7/logs/stdio - test-suite.log: https://builder.sourceware.org/buildbot/#/builders/6/builds/398/steps/7/logs/test-suite_log - 8: prep ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/398/steps/8/logs/stdio - 9: build bunsen.cpio.gz ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/398/steps/9/logs/stdio - 10: fetch bunsen.cpio.gz ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/398/steps/10/logs/stdio - 11: unpack bunsen.cpio.gz ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/398/steps/11/logs/stdio - 12: pass .bunsen.source.* ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/398/steps/12/logs/stdio - 13: upload to bunsen ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/398/steps/13/logs/stdio - 14: clean up ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/398/steps/14/logs/stdio - 15: make distclean ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/398/steps/15/logs/stdio A new failure has been detected on builder elfutils-ubuntu-riscv while building elfutils. Full details are available at: https://builder.sourceware.org/buildbot/#/builders/274/builds/166 Build state: failed test (failure) Revision: 33d4a60d13e0f82fb89cff389abf9770121d160a Worker: starfive-4 Build Reason: (unknown) Blamelist: Aaron Merey , Heather S. McIntyre Steps: - 0: worker_preparation ( success ) - 1: set package name ( success ) - 2: git checkout ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/274/builds/166/steps/2/logs/stdio - 3: autoreconf ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/274/builds/166/steps/3/logs/stdio - 4: configure ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/274/builds/166/steps/4/logs/stdio - config.log: https://builder.sourceware.org/buildbot/#/builders/274/builds/166/steps/4/logs/config_log - 5: get version ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/274/builds/166/steps/5/logs/stdio - property changes: https://builder.sourceware.org/buildbot/#/builders/274/builds/166/steps/5/logs/property_changes - 6: make ( warnings ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/274/builds/166/steps/6/logs/stdio - warnings (3): https://builder.sourceware.org/buildbot/#/builders/274/builds/166/steps/6/logs/warnings__3_ - 7: make check ( failure ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/274/builds/166/steps/7/logs/stdio - test-suite.log: https://builder.sourceware.org/buildbot/#/builders/274/builds/166/steps/7/logs/test-suite_log - 8: prep ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/274/builds/166/steps/8/logs/stdio - 9: build bunsen.cpio.gz ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/274/builds/166/steps/9/logs/stdio - 10:
[COMMITTED] libdw/libdw_findcu.c: Fix TOCTOU race condition in __libdw_findcu
Ensure that dwarf_lock is held before accessing next_tu_offset and next_cu_offset. This fixes a TOCTOU bug in __libdw_findcu that causes NULL to be incorrectly returned. Signed-off-by: Aaron Merey --- libdw/libdw_findcu.c | 9 ++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/libdw/libdw_findcu.c b/libdw/libdw_findcu.c index 8805af9b..0e4dcc37 100644 --- a/libdw/libdw_findcu.c +++ b/libdw/libdw_findcu.c @@ -240,6 +240,8 @@ struct Dwarf_CU * internal_function __libdw_findcu (Dwarf *dbg, Dwarf_Off start, bool v4_debug_types) { + mutex_lock (dbg->dwarf_lock); + search_tree *tree = v4_debug_types ? &dbg->tu_tree : &dbg->cu_tree; Dwarf_Off *next_offset = v4_debug_types ? &dbg->next_tu_offset : &dbg->next_cu_offset; @@ -249,9 +251,10 @@ __libdw_findcu (Dwarf *dbg, Dwarf_Off start, bool v4_debug_types) struct Dwarf_CU **found = eu_tfind (&fake, tree, findcu_cb); struct Dwarf_CU *result = NULL; if (found != NULL) -return *found; - - mutex_lock (dbg->dwarf_lock); +{ + mutex_unlock (dbg->dwarf_lock); + return *found; +} if (start < *next_offset) __libdw_seterrno (DWARF_E_INVALID_DWARF); -- 2.49.0
☺ Buildbot (Sourceware): elfutils - build successful (main)
A restored build has been detected on builder elfutils-debian-armhf while building elfutils. Full details are available at: https://builder.sourceware.org/buildbot/#/builders/6/builds/397 Build state: build successful Revision: 66ae4b7ed9fd8dfd95c1276e752b279fc1aad996 Worker: debian-armhf Build Reason: (unknown) Blamelist: Mark Wielaard Steps: - 0: worker_preparation ( success ) - 1: set package name ( success ) - 2: git checkout ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/397/steps/2/logs/stdio - 3: autoreconf ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/397/steps/3/logs/stdio - 4: configure ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/397/steps/4/logs/stdio - config.log: https://builder.sourceware.org/buildbot/#/builders/6/builds/397/steps/4/logs/config_log - 5: get version ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/397/steps/5/logs/stdio - property changes: https://builder.sourceware.org/buildbot/#/builders/6/builds/397/steps/5/logs/property_changes - 6: make ( warnings ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/397/steps/6/logs/stdio - warnings (3): https://builder.sourceware.org/buildbot/#/builders/6/builds/397/steps/6/logs/warnings__3_ - 7: make check ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/397/steps/7/logs/stdio - test-suite.log: https://builder.sourceware.org/buildbot/#/builders/6/builds/397/steps/7/logs/test-suite_log - 8: prep ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/397/steps/8/logs/stdio - 9: build bunsen.cpio.gz ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/397/steps/9/logs/stdio - 10: fetch bunsen.cpio.gz ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/397/steps/10/logs/stdio - 11: unpack bunsen.cpio.gz ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/397/steps/11/logs/stdio - 12: pass .bunsen.source.* ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/397/steps/12/logs/stdio - 13: upload to bunsen ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/397/steps/13/logs/stdio - 14: clean up ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/397/steps/14/logs/stdio - 15: make distclean ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/397/steps/15/logs/stdio
☺ Buildbot (Sourceware): elfutils - build successful (main)
A restored build has been detected on builder elfutils-debian-armhf while building elfutils. Full details are available at: https://builder.sourceware.org/buildbot/#/builders/6/builds/399 Build state: build successful Revision: 0bebc2e63918ce46a30a159491b9993d65c3b35a Worker: debian-armhf Build Reason: (unknown) Blamelist: Aaron Merey , Heather S. McIntyre , Mark Wielaard Steps: - 0: worker_preparation ( success ) - 1: set package name ( success ) - 2: git checkout ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/399/steps/2/logs/stdio - 3: autoreconf ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/399/steps/3/logs/stdio - 4: configure ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/399/steps/4/logs/stdio - config.log: https://builder.sourceware.org/buildbot/#/builders/6/builds/399/steps/4/logs/config_log - 5: get version ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/399/steps/5/logs/stdio - property changes: https://builder.sourceware.org/buildbot/#/builders/6/builds/399/steps/5/logs/property_changes - 6: make ( warnings ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/399/steps/6/logs/stdio - warnings (3): https://builder.sourceware.org/buildbot/#/builders/6/builds/399/steps/6/logs/warnings__3_ - 7: make check ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/399/steps/7/logs/stdio - test-suite.log: https://builder.sourceware.org/buildbot/#/builders/6/builds/399/steps/7/logs/test-suite_log - 8: prep ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/399/steps/8/logs/stdio - 9: build bunsen.cpio.gz ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/399/steps/9/logs/stdio - 10: fetch bunsen.cpio.gz ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/399/steps/10/logs/stdio - 11: unpack bunsen.cpio.gz ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/399/steps/11/logs/stdio - 12: pass .bunsen.source.* ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/399/steps/12/logs/stdio - 13: upload to bunsen ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/399/steps/13/logs/stdio - 14: clean up ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/399/steps/14/logs/stdio - 15: make distclean ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/6/builds/399/steps/15/logs/stdio A restored build has been detected on builder elfutils-debian-i386 while building elfutils. Full details are available at: https://builder.sourceware.org/buildbot/#/builders/17/builds/469 Build state: build successful Revision: 0bebc2e63918ce46a30a159491b9993d65c3b35a Worker: debian-i386-2 Build Reason: (unknown) Blamelist: Aaron Merey , Heather S. McIntyre , Mark Wielaard Steps: - 0: worker_preparation ( success ) - 1: set package name ( success ) - 2: git checkout ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/17/builds/469/steps/2/logs/stdio - 3: autoreconf ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/17/builds/469/steps/3/logs/stdio - 4: configure ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/17/builds/469/steps/4/logs/stdio - config.log: https://builder.sourceware.org/buildbot/#/builders/17/builds/469/steps/4/logs/config_log - 5: get version ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/17/builds/469/steps/5/logs/stdio - property changes: https://builder.sourceware.org/buildbot/#/builders/17/builds/469/steps/5/logs/property_changes - 6: make ( warnings ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/17/builds/469/steps/6/logs/stdio - warnings (3): https://builder.sourceware.org/buildbot/#/builders/17/builds/469/steps/6/logs/warnings__3_ - 7: make check ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/17/builds/469/steps/7/logs/stdio - test-suite.log: https://builder.sourceware.org/buildbot/#/builders/17/builds/469/steps/7/logs/test-suite_log - 8: prep ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/17/builds/469/steps/8/logs/stdio - 9: build bunsen.cpio.gz ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/17/builds/469/steps/
☝ Buildbot (Sourceware): elfutils - worker not pinged (main)
A retry build has been detected on builder elfutils-fedora-arm64 while building elfutils. Full details are available at: https://builder.sourceware.org/buildbot/#/builders/180/builds/432 Build state: worker not pinged Revision: (unknown) Worker: fedora-arm64 Build Reason: (unknown) Blamelist: Aaron Merey Steps: - 0: worker_preparation ( exception ) Logs: - err.text: https://builder.sourceware.org/buildbot/#/builders/180/builds/432/steps/0/logs/err_text - err.html: https://builder.sourceware.org/buildbot/#/builders/180/builds/432/steps/0/logs/err_html
[COMMITTED] tests/.gitignore: Add dwarf_language_lower_bound, test-manyfuncs
Signed-off-by: Aaron Merey --- tests/.gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/.gitignore b/tests/.gitignore index f8869b40..6ae12adb 100644 --- a/tests/.gitignore +++ b/tests/.gitignore @@ -41,6 +41,7 @@ /dwarf_default_lower_bound /dwarfcfi /dwelf_elf_e_machine_string +/dwarf_language_lower_bound /dwelfgnucompressed /dwfl-addr-sect /dwfl-bug-addr-overflow @@ -115,6 +116,7 @@ /system-elf-gelf-test /test-elf_cntl_gelf_getshdr /test-flag-nobits +/test-manyfuncs /test-nlist /typeiter /typeiter2 -- 2.49.0
☺ Buildbot (Sourceware): elfutils - build successful (main)
A restored build has been detected on builder elfutils-fedora-ppc64le while building elfutils. Full details are available at: https://builder.sourceware.org/buildbot/#/builders/55/builds/397 Build state: build successful Revision: 31883ca665354baca6efff5a8f4f95616acf05b3 Worker: fedora-ppc64le Build Reason: (unknown) Blamelist: Aaron Merey , Mark Wielaard Steps: - 0: worker_preparation ( success ) - 1: set package name ( success ) - 2: git checkout ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/55/builds/397/steps/2/logs/stdio - 3: autoreconf ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/55/builds/397/steps/3/logs/stdio - 4: configure ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/55/builds/397/steps/4/logs/stdio - config.log: https://builder.sourceware.org/buildbot/#/builders/55/builds/397/steps/4/logs/config_log - 5: get version ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/55/builds/397/steps/5/logs/stdio - property changes: https://builder.sourceware.org/buildbot/#/builders/55/builds/397/steps/5/logs/property_changes - 6: make ( warnings ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/55/builds/397/steps/6/logs/stdio - warnings (3): https://builder.sourceware.org/buildbot/#/builders/55/builds/397/steps/6/logs/warnings__3_ - 7: make check ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/55/builds/397/steps/7/logs/stdio - test-suite.log: https://builder.sourceware.org/buildbot/#/builders/55/builds/397/steps/7/logs/test-suite_log - 8: prep ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/55/builds/397/steps/8/logs/stdio - 9: build bunsen.cpio.gz ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/55/builds/397/steps/9/logs/stdio - 10: fetch bunsen.cpio.gz ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/55/builds/397/steps/10/logs/stdio - 11: unpack bunsen.cpio.gz ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/55/builds/397/steps/11/logs/stdio - 12: pass .bunsen.source.* ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/55/builds/397/steps/12/logs/stdio - 13: upload to bunsen ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/55/builds/397/steps/13/logs/stdio - 14: clean up ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/55/builds/397/steps/14/logs/stdio - 15: make distclean ( success ) Logs: - stdio: https://builder.sourceware.org/buildbot/#/builders/55/builds/397/steps/15/logs/stdio