I compile coresight and perf on my dragonboard 410c.
I have disabled user address space randomization.
I run my application program under perf, and then run `perf script`.
The address perf+opencoresight prints for main is: aaaaaaaaa910 main+0x0 (nm on the application program says the address for main is 0x910).
Why does perf+coresight change the leading hexits in the printed address from 0 to 'a'?
Is there a way to disable this behavior?
Is this behavior documented anywhere?
Many thanks, Robert Henry
Hi Robert,
On Mon, 24 Aug 2020 at 22:12, Robert Henry robhenry@microsoft.com wrote:
I compile coresight and perf on my dragonboard 410c.
I have disabled user address space randomization.
I run my application program under perf, and then run `perf script`.
The address perf+opencoresight prints for main is: aaaaaaaaa910 main+0x0 (nm on the application program says the address for main is 0x910).
Why does perf+coresight change the leading hexits in the printed address from 0 to 'a'?
Not sure - but need to determine if this is an artefact of OpenCSD or perf script.
Try perf report --stdio --dump on your data. Somewhere in the output you will see something like:-
0 0 0x678 [0x30]: PERF_RECORD_AUXTRACE size: 0x2ea70 offset: 0 ref: 0xe28ceb72c9aea90 idx: 0 tid: 4613 cpu: 0
. ... CoreSight ETM Trace data: size 191088 bytes Idx:0; ID:10; I_ASYNC : Alignment Synchronisation. Idx:12; ID:10; I_TRACE_INFO : Trace Info.; INFO=0x0 { CC.0 } Idx:17; ID:10; I_ADDR_L_64IS0 : Address, Long, 64 bit, IS0.; Addr=0x0000000000000000; Idx:26; ID:10; I_TRACE_ON : Trace On. Idx:27; ID:10; I_ADDR_CTXT_L_64IS0 : Address & Context, Long, 64 bit, IS0.; Addr=0x0000FFFF8B1B5FC0; Ctxt: AArch64,EL0, NS; CID=0x00001205; Idx:42; ID:10; I_ATOM_F1 : Atom format 1.; E Idx:43; ID:10; I_TIMESTAMP : Timestamp.; Updated val = 0x2359b6ef Idx:54; ID:10; I_EXCEPT : Exception.; Data Fault; Ret Addr Follows; Idx:56; ID:10; I_ADDR_L_64IS0 : Address, Long, 64 bit, IS0.; Addr=0x0000FFFF8B1B9264; Idx:66; ID:10; I_ADDR_CTXT_L_64IS0 : Address & Context, Long, 64 bit, IS0.; Addr=0xFFFF800010001C00; Ctxt: AArch64,EL1, NS; Idx:76; ID:10; I_TIMESTAMP : Timestamp.; Updated val = 0x2359b73d Idx:80; ID:10; I_TRACE_ON : Trace On. Idx:81; ID:10; I_ADDR_CTXT_L_64IS0 : Address & Context, Long, 64 bit, IS0.; Addr=0x0000FFFF8B1B9264; Ctxt: AArch64,EL0, NS; CID=0x00001205; Idx:96; ID:10; I_ATOM_F1 : Atom format 1.; E
This is a dump of the raw trace packets. You can see the raw trace addresses in there.
Regards
Mike
Is there a way to disable this behavior?
Is this behavior documented anywhere?
Many thanks, Robert Henry _______________________________________________ CoreSight mailing list CoreSight@lists.linaro.org https://lists.linaro.org/mailman/listinfo/coresight