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