i#2062 memtrace nonmod part 3: Kernel interruption PC #6001
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changes the kernel interruption PC for 64-bit from a modidx+modoffs scheme that was trying to avoid a 2nd record but which failed to handle a non-module PC to use the absolute PC (a recently added assert fires in this case; previously we could assert or crash or continue with a bogus value in raw2trace depending on the uninitialized value of modidx).
Bumps the raw offline version number. Updates raw2trace to handle both the old version as modix+modoffs plus the new absolute PC version. Adds new unit tests for both.
Adds a SIGILL to the burst_gencode trace which triggers the new tracer assert and passes with this fix.
To build the test, adds 0-valued entries to operand enums: DR_EXTEND_DEFAULT and DR_OPND_NONE, to avoid C++ compiler warnings in INSTR_CREATE_dc_ivac(). #6000 covers using those in all the AArch64 creation macros.
Issue: #2062