diff options
Diffstat (limited to 'libdw/dwarf_diecu.c')
| -rw-r--r-- | libdw/dwarf_diecu.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libdw/dwarf_diecu.c b/libdw/dwarf_diecu.c index a62b8222..544d1a32 100644 --- a/libdw/dwarf_diecu.c +++ b/libdw/dwarf_diecu.c @@ -69,6 +69,8 @@ dwarf_diecu (die, result, address_sizep, offset_sizep) determined any of the information. */ memset (result, '\0', sizeof (Dwarf_Die)); + rwlock_rdlock (die->cu->dbg->lock); + result->addr = ((char *) die->cu->dbg->sectiondata[IDX_debug_info]->d_buf + DIE_OFFSET_FROM_CU_OFFSET (die->cu->start, die->cu->offset_size)); @@ -79,5 +81,7 @@ dwarf_diecu (die, result, address_sizep, offset_sizep) if (offset_sizep != NULL) *offset_sizep = die->cu->offset_size; + rwlock_rdlock (die->cu->dbg->lock); + return result; } |
