diff --git a/src/arch/arm/faults.cc b/src/arch/arm/faults.cc index 10097382b7..76320f666d 100644 --- a/src/arch/arm/faults.cc +++ b/src/arch/arm/faults.cc @@ -734,7 +734,7 @@ ArmFault::vectorCatch(ThreadContext *tc, const StaticInstPtr &inst) { SelfDebug *sd = ArmISA::ISA::getSelfDebug(tc); VectorCatch* vc = sd->getVectorCatch(tc); - if (!vc->isVCMatch()) { + if (vc && !vc->isVCMatch()) { Fault fault = sd->testVectorCatch(tc, 0x0, this); if (fault != NoFault) fault->invoke(tc, inst); diff --git a/src/arch/arm/self_debug.hh b/src/arch/arm/self_debug.hh index 5ced11c57c..5ad0d0991f 100644 --- a/src/arch/arm/self_debug.hh +++ b/src/arch/arm/self_debug.hh @@ -294,7 +294,7 @@ class SelfDebug public: SelfDebug() - : enableTdeTge(false), + : softStep(nullptr), vcExcpt(nullptr), enableTdeTge(false), mde(false), sdd(false), kde(false), oslk(false) { softStep = new SoftwareStep(this);