diff options
author | Akihiko Odaki <akihiko.odaki@daynix.com> | 2023-06-11 12:34:34 +0900 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2023-07-31 11:20:30 +0100 |
commit | 548b8edc6d9a5d6e1aab932f0ffcf43235c33a67 (patch) | |
tree | d54605228b183b9b4e0ac1c245058fea7e1f9d67 /contrib | |
parent | 638511e99207290c83d87326187e41f88fb92301 (diff) |
elf2dmp: Don't abandon when Prcb is set to 0
Prcb may be set to 0 for some CPUs if the dump was taken before they
start. The dump may still contain valuable information for started CPUs
so don't abandon conversion in such a case.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Reviewed-by: Viktor Prutyanov <viktor.prutyanov@phystech.edu>
Message-id: 20230611033434.14659-1-akihiko.odaki@daynix.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/elf2dmp/main.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/contrib/elf2dmp/main.c b/contrib/elf2dmp/main.c index 89f0c69ab0..6d4d18501a 100644 --- a/contrib/elf2dmp/main.c +++ b/contrib/elf2dmp/main.c @@ -316,6 +316,11 @@ static int fill_context(KDDEBUGGER_DATA64 *kdbg, return 1; } + if (!Prcb) { + eprintf("Context for CPU #%d is missing\n", i); + continue; + } + if (va_space_rw(vs, Prcb + kdbg->OffsetPrcbContext, &Context, sizeof(Context), 0)) { eprintf("Failed to read CPU #%d ContextFrame location\n", i); |