Re: [PATCH 3/9 v4] libdwP.h: Add locking to str_offsets_base_off

2025-03-26 Thread Mark Wielaard
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

2025-03-26 Thread Mark Wielaard
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)

2025-03-26 Thread builder
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)

2025-03-26 Thread builder
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

2025-03-26 Thread Aaron Merey
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.

2025-03-26 Thread Aaron Merey
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

2025-03-26 Thread Aaron Merey
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

2025-03-26 Thread Mark Wielaard
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

2025-03-26 Thread Aaron Merey
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)

2025-03-26 Thread builder
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 [ ]

2025-03-26 Thread Mark Wielaard
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)

2025-03-26 Thread builder
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

2025-03-26 Thread Aaron Merey
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)

2025-03-26 Thread builder
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)

2025-03-26 Thread builder
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)

2025-03-26 Thread builder
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

2025-03-26 Thread Aaron Merey
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)

2025-03-26 Thread builder
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