summaryrefslogtreecommitdiffstats
path: root/tester/covoar/ExecutableInfo.cc
diff options
context:
space:
mode:
authorAlex White <alex.white@oarcorp.com>2021-03-15 09:51:47 -0500
committerJoel Sherrill <joel@rtems.org>2021-03-30 13:15:58 -0500
commit7d14bb83e022801011c3af7578091917f4202fc5 (patch)
tree5f1294fef8987abdbeca5e6c3a48c8069994c27f /tester/covoar/ExecutableInfo.cc
parentcovoar: Fix DWARF reading (diff)
downloadrtems-tools-7d14bb83e022801011c3af7578091917f4202fc5.tar.bz2
covoar: Handle periods in symbols from objdump
Occasionally the compiler will generate symbols that look similar to symbols defined in RTEMS code except that they contain some suffix. These symbol suffixes are only found in the ELF symbol table; the symbols appear to be normal in the DWARF info. This appears to be happening on all architectures. For example, the function _Message_queue_Create from rtems appears as "_Message_queue_Create.part.0". Other suffixes include ".isra.0", ".constprop.0", and ".0". This looks to be related to compiler optimizations. Symbols with suffixes were being treated as unique. For our purposes, they should be mapped to the equivalent symbols in the DWARF info. This has been fixed.
Diffstat (limited to 'tester/covoar/ExecutableInfo.cc')
-rw-r--r--tester/covoar/ExecutableInfo.cc3
1 files changed, 1 insertions, 2 deletions
diff --git a/tester/covoar/ExecutableInfo.cc b/tester/covoar/ExecutableInfo.cc
index c996d75..1e14721 100644
--- a/tester/covoar/ExecutableInfo.cc
+++ b/tester/covoar/ExecutableInfo.cc
@@ -118,8 +118,7 @@ namespace Coverage {
// Obtain the coverage map containing the specified address.
itsSymbol = theSymbolTable.getSymbol( address );
if (itsSymbol != "") {
- it = coverageMaps.find( itsSymbol );
- aCoverageMap = (*it).second;
+ aCoverageMap = &findCoverageMap(itsSymbol);
}
return aCoverageMap;