An issue was noted while running tests in windows debug mode on the latest development library.
As noted in the patch commit message, an initialisation issue for the output packet structure was highlighted by the windows debug memory initialisation (0xcdcdcdcd) which did not show up in linux tests (probably due to default 0 init).
This led to the discovery of an additional issue with the setting of the .isa field in the instruction range output packets. Prior to the patch this was defaulting AArch32 in linux and not always being set correctly in the ETMv4 and PTM decoders The default for PTM was probably OK in none-thumb cases but the AArch64 juno captures were consistently reporting AArch32 in the output packets which should have been AArch64.
The updated release has been tested against the opencsd-perf-4.7-rc4 build of the perf report/script tools.
As expected the output from perf report is unchanged.
However, the perf script, which runs the architecture based disassembly is also unchanged, suggesting that this code is not at present taking note of the ISA supplied by the trace output.
Running against both the unpatched library, with packets marked as AArch32, and the patched library, with packets marked as AArch64, resulted in the disassembly correctly being output as AArch64.
I assume that the disassembly routines are obtaining the current core arch from other information in the perf.data file. We should probably consider if this is the best way to go in this case.
Regards
Mike