From 1b51c98091d52ccc890c36bb32ef74bf4c7b0f35 Mon Sep 17 00:00:00 2001 From: Stan Cox Date: Mon, 28 Sep 2009 22:40:33 -0400 Subject: * tapsets.cxx (sdt_query::record_semaphore): Adjust addr relative to relocation base. --- tapsets.cxx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tapsets.cxx b/tapsets.cxx index abd46aee..fdbddd9e 100644 --- a/tapsets.cxx +++ b/tapsets.cxx @@ -3708,8 +3708,12 @@ sdt_query::record_semaphore (vector & results, unsigned start) string semaphore = probe_name + "_semaphore"; Dwarf_Addr addr = lookup_symbol_address(dw.module, semaphore.c_str()); if (addr) - for (unsigned i = start; i < results.size(); ++i) - sess.sdt_semaphore_addr.insert(make_pair(results[i], addr)); + { + if (dwfl_module_relocations (dw.module) > 0) + dwfl_module_relocate_address (dw.module, &addr); + for (unsigned i = start; i < results.size(); ++i) + sess.sdt_semaphore_addr.insert(make_pair(results[i], addr)); + } } -- cgit