Re: [PATCH 09/15] dwarf_onesrcline.c: Add locking

2025-01-22 Thread Mark Wielaard
Hi Aaron, On Sun, Jan 19, 2025 at 10:20:35PM -0500, Aaron Merey wrote: > * libdw/dwarf_onesrcline.c (dwarf_onesrcline): Use dwarf_lock. Is this really necessary? When the user calls dwarf_onesrcline wouldn't they already have a fully setup Dwarf_Lines? Can it still change concurrently? > S

Re: [PATCH 08/15] dwarf_offdie.c: Add locking

2025-01-22 Thread Mark Wielaard
Hi Aaron, On Sun, Jan 19, 2025 at 10:20:34PM -0500, Aaron Merey wrote: > * libdw/dwarf_offdie.c (__libdw_offdie): Use dwarf_lock. What exactly is "protected" here? If it is just the __libdw_findcu call, then it seems the lock is too wide/early. It could just be taken just before that call,

Re: [PATCH 07/15] dwarf_lineaddr.c: Add locking

2025-01-22 Thread Mark Wielaard
Hi Aaron, On Sun, Jan 19, 2025 at 10:20:33PM -0500, Aaron Merey wrote: > * libdw/dwarf_lineaddr.c (dwarf_lineaddr): Use dwarf_lock. Why is this necessary? It seems this function can only be called with a known/setup Dwarf_Line. Can it be concurrently changes at this point? > Signed-off-by

Re: [PATCH 06/15] Add Dwarf member to Dwarf_Lines and Dwarf_Files

2025-01-22 Thread Mark Wielaard
Hi Aaron, On Sun, Jan 19, 2025 at 10:20:32PM -0500, Aaron Merey wrote: > * libdw/dwarf_getsrclines.c (read_srcfiles): Initialize dbg > member. > * libdw/libdwP.h (struct Dwarf_Files_s): Add Dwarf member. > (struct Dwarf_Lines_s): Ditto. Right, this is what you use in earli

Re: [PATCH 04/15] dwarf_getsrcfiles.c: Add locking

2025-01-22 Thread Mark Wielaard
Hi Aaron, On Sun, Jan 19, 2025 at 10:20:30PM -0500, Aaron Merey wrote: > * libdw/dwarf_getsrcfiles.c (dwarf_getsrcfiles): Use dwarf_lock. > > --- > libdw/dwarf_getsrcfiles.c | 11 +++ > 1 file changed, 7 insertions(+), 4 deletions(-) > > diff --git a/libdw/dwarf_getsrcfiles.c b/lib

Re: [PATCH 05/15] dwarf_getsrclines.c: Add locking

2025-01-22 Thread Mark Wielaard
On Sun, Jan 19, 2025 at 10:20:31PM -0500, Aaron Merey wrote: > * libdw/dwarf_getsrclines.c (dwarf_getsrclines): Use dwarf_lock. So same lock used for getting/setting Dwarf_Lines. It is a little unfortunate that lines and files table reading is so intertwined. I understand why you use the sa

Re: [PATCH 03/15] dwarf_filesrc.c: Add locking

2025-01-22 Thread Mark Wielaard
On Sun, Jan 19, 2025 at 10:20:29PM -0500, Aaron Merey wrote: > * libdw/dwarf_filesrc.c (dwarf_filesrc): Use dwarf_lock. I didn't got this patch till I saw 06/15 Add Dwarf member to Dwarf_Lines and Dwarf_Files. So this patch should at least come after that. In general I find it a little diff

Re: [PATCH 02/15] Change type of dwarf_lock from rwlock to mutex

2025-01-22 Thread Mark Wielaard
Hi Aaron, On Sun, Jan 19, 2025 at 10:20:28PM -0500, Aaron Merey wrote: > Change type of dwarf_lock to mutex in order to take advantage of > built-in support for recursive locking. When/where do we need recursive locking? > * lib/locks.h: Add macros for locking, unlocking, initializing >

Re: [PATCH 01/15] Add eu_search_tree_init

2025-01-22 Thread Mark Wielaard
Hi Aaron, On Sun, 2025-01-19 at 22:20 -0500, Aaron Merey wrote: > * libdw/dwarf_begin_elf.c (dwarf_begin_elf): Initialize > eu_search_trees. I see the same are already eu_search_tree_fini in dwarf_end. So my only question is how this worked before? Whatever the answer is though, this

[Bug libdw/32540] dwarf_errno() error codes are private

2025-01-22 Thread mark at klomp dot org
https://sourceware.org/bugzilla/show_bug.cgi?id=32540 --- Comment #4 from Mark Wielaard --- Hi Michael, (In reply to Michael Tremer from comment #2) > I did notice the string function, but how would I programmatically check > what kind of error was returned? String matching does not sound like a

Re: ☠ Buildbot (Sourceware): elfutils - failed test (failure) (main)

2025-01-22 Thread Mark Wielaard
Hi, On Tue, 2025-01-21 at 18:58 +, buil...@sourceware.org wrote: > A new failure has been detected on builder elfutils-fedora-ppc64le while > building elfutils. > > Full details are available at: > https://builder.sourceware.org/buildbot/#/builders/55/builds/378 > > Build state: failed