On Fri, 15 Jun 2018 15:38:27 -0600 Mathieu Poirier mathieu.poirier@linaro.org wrote:
On Fri, 15 Jun 2018 at 13:39, Kim Phillips kim.phillips@arm.com wrote:
On Thu, 14 Jun 2018 14:26:55 -0600 Mathieu Poirier mathieu.poirier@linaro.org wrote:
decoder->instr_count += elem->num_instr_range;
so.. using your branch, this line doesn't build, native, gcc 6.3, with O= set:
util/cs-etm-decoder/cs-etm-decoder.c: In function ‘cs_etm_decoder__buffer_range’: util/cs-etm-decoder/cs-etm-decoder.c:351:30: error: ‘ocsd_generic_trace_elem {aka const struct _ocsd_generic_trace_elem}’ has no member named ‘num_instr_range’ decoder->instr_count += elem->num_instr_range; ^~ mv: cannot stat '/nfsroot/linux/tools/arm64-perf/util/cs-etm-decoder/.cs-etm-decoder.o.tmp': No such file or directory linux/tools/build/Makefile.build:96: recipe for target 'linux/tools/arm64-perf/util/cs-etm-decoder/cs-etm-decoder.o' failed
Did the line adding num_instr_range get somehow lost on its way into the patch?
That is not the case nor is it a compiler version problem. I completely forgot to highlight this set need to be compiled with the latest version of the openCSD library where the decoder counts the amount of instruction present in a range.
The code ought to be able to handle, and remain backwards compatible with an older version of the library.
Thanks,
Kim