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

2025-01-23 Thread Aaron Merey
Hi Mark, > On Sun, Jan 19, 2025 at 10:20:30PM -0500, Aaron Merey wrote: > > res = __libdw_getsrcfiles (cu->dbg, debug_line_offset, > >__libdw_getcompdir (cudie), > > So is the lock to protect all paths through __libdw_getsrcfiles? This patch series cont

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

2025-01-23 Thread Aaron Merey
Hi Mark, On Wed, Jan 22, 2025 at 4:55 PM Mark Wielaard wrote: > > 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? One example

Re: [PATCH 01/15] Add eu_search_tree_init

2025-01-23 Thread Aaron Merey
Hi Mark, On Wed, Jan 22, 2025 at 10:23 AM Mark Wielaard wrote: > 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 > questio

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

2025-01-23 Thread Aaron Merey
Hi Mark, On Wed, Jan 22, 2025 at 5:10 PM Mark Wielaard wrote: > > 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

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

2025-01-23 Thread Aaron Merey
Hi Mark, On Wed, Jan 22, 2025 at 6:35 PM Mark Wielaard wrote: > > On Sun, Jan 19, 2025 at 10:20:31PM -0500, Aaron Merey wrote: > >else if (cu->lines == (void *) -1l) > > return -1; > > Aren't we still holding the lock here? You're right, will fix in v2. Aaron

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

2025-01-23 Thread Aaron Merey
Hi Mark, On Wed, Jan 22, 2025 at 7:06 PM Mark Wielaard wrote: > > 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. > > (st

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

2025-01-23 Thread Aaron Merey
Hi Mark, On Wed, Jan 22, 2025 at 7:08 PM Mark Wielaard wrote: > > 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

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

2025-01-23 Thread Aaron Merey
Hi Mark, On Wed, Jan 22, 2025 at 7:12 PM Mark Wielaard wrote: > > 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

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

2025-01-23 Thread Aaron Merey
Hi Mark, On Wed, Jan 22, 2025 at 7:15 PM Mark Wielaard wrote: > > 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