Hi Owen,

callgrind currently is somewhat broken on ARM, as the
tracking of entering/leaving functions is unreliable.

Callgrind heavily uses the stack pointer for that.
On x86, this works fine, as every call/return changes
the SP, but on ARM, this is not the case.

There are ideas and at some point, there were
patches promised by someone, but unfortunately nothing
useful up to now...

Josef


Am 12.05.2017 um 05:11 schrieb Wuweijia:
> Hi :
> 
> I ran the code through the callgrind on the x86-64, it is ok , no 
> recursive cycle existed.
> 
> But I ran the same the same code through the callgrind on the arm64, it 
> show me there is recursive cycle existed.
> 
>    Between two callgrind.out. file:
> 
>       In arm64:
> 
>          There is function name main’2. It meaning that there is 
> recursive cycle. And it annote the source failed.
> 
>       In x86_64:
> 
>       There is no  function name  main’2  only main., It mean that there 
> is no cycle.
> 
>       How can I resovle it?
> 
> The compile options : gcc –g –O0 ./main.cpp
> 
> The gcc version 4.9
> 
> Run options: valgrind --tool=callgrind ./a.out
> 
>    Callgrind_annote option callgrind_annote –auto=yes
> 
> BR
> 
> Owen
> 
> 
> 
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> 
> 
> 
> _______________________________________________
> Valgrind-users mailing list
> Valgrind-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/valgrind-users
> 


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to