summaryrefslogtreecommitdiff
path: root/src/base/loader
diff options
context:
space:
mode:
authorDeyuan Guo <guodeyuan@tsinghua.org.cn>2013-07-15 18:08:57 -0400
committerDeyuan Guo <guodeyuan@tsinghua.org.cn>2013-07-15 18:08:57 -0400
commitfb29dcf378374bf1e5c93afbe002e66e882ca21d (patch)
tree9f6b2a2e14a491a449cd6f3ca3a6d130e4fabc67 /src/base/loader
parent5ba9e7afe2006dc49dd8bf499059c1f239ee4cdc (diff)
downloadgem5-fb29dcf378374bf1e5c93afbe002e66e882ca21d.tar.xz
loader: Load weak symbols for function tracing
Diffstat (limited to 'src/base/loader')
-rw-r--r--src/base/loader/elf_object.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/base/loader/elf_object.cc b/src/base/loader/elf_object.cc
index b6253adbe..6d4c29776 100644
--- a/src/base/loader/elf_object.cc
+++ b/src/base/loader/elf_object.cc
@@ -411,7 +411,9 @@ ElfObject::loadGlobalSymbols(SymbolTable *symtab, Addr addrMask)
bool
ElfObject::loadLocalSymbols(SymbolTable *symtab, Addr addrMask)
{
- return loadSomeSymbols(symtab, STB_LOCAL, addrMask);
+ bool found_local = loadSomeSymbols(symtab, STB_LOCAL, addrMask);
+ bool found_weak = loadSomeSymbols(symtab, STB_WEAK, addrMask);
+ return found_local || found_weak;
}
bool