diff options
author | Dam Sunwoo <dam.sunwoo@arm.com> | 2012-05-10 18:04:27 -0500 |
---|---|---|
committer | Dam Sunwoo <dam.sunwoo@arm.com> | 2012-05-10 18:04:27 -0500 |
commit | f2f7fa1a1c23da74c6ca8da8e6539f3330b06da4 (patch) | |
tree | 9ef84a5e87837d3602f53ed4a7953d9289271e18 /src/arch/arm/linux/system.cc | |
parent | 041b93242883dc604f193e912497350f55800ee3 (diff) | |
download | gem5-f2f7fa1a1c23da74c6ca8da8e6539f3330b06da4.tar.xz |
ARM: guard masked symbol tables by default
Symbol tables masked with the loadAddrMask create redundant entries
that could conflict with kernel function events that rely on the
original addresses. This patch guards the creation of those masked
symbol tables by default, with an option to enable them when needed
(for early-stage kernel debugging, etc.)
Diffstat (limited to 'src/arch/arm/linux/system.cc')
-rw-r--r-- | src/arch/arm/linux/system.cc | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/arch/arm/linux/system.cc b/src/arch/arm/linux/system.cc index 0d9e73a53..d537717ec 100644 --- a/src/arch/arm/linux/system.cc +++ b/src/arch/arm/linux/system.cc @@ -114,10 +114,12 @@ LinuxArmSystem::initState() ArmSystem::initState(); // Load symbols at physical address, we might not want - // to do this perminately, for but early bootup work - // it is helpfulp. - kernel->loadGlobalSymbols(kernelSymtab, loadAddrMask); - kernel->loadGlobalSymbols(debugSymbolTable, loadAddrMask); + // to do this permanently, for but early bootup work + // it is helpful. + if (params()->early_kernel_symbols) { + kernel->loadGlobalSymbols(kernelSymtab, loadAddrMask); + kernel->loadGlobalSymbols(debugSymbolTable, loadAddrMask); + } // Setup boot data structure AtagCore *ac = new AtagCore; |