I am encountering some issues with using Valgrind 3.6.1 Callgrind on Centos Linux 5.5. I am using a simple test program using the Fibonnacci function(shown below). However, when I run:
 
/home/frankc/DQTTest/valgrind-3.6.1/coregrind/valgrind --tool=callgrind --dump-instr=yes --simulate-cache=yes --collect-jumps=yes
 
callgrind complains about std::ios_base::Init::Init() (in /usr/lib/libstdc++.so.6.0.8) and we obtain no profiling output. Is this issue specific to Centos Linux 5.5 or am I doing some wrong? I can send you my makefile if you wish. Is there a workaround to this problem? The Valgrind/Callgrind error messages are shown below. Thank you.
 
 
/home/frankc/DQTTest/valgrind-3.6.1/coregrind/valgrind --tool=callgrind --dump-instr=yes --simulate-cache=yes --collect-jumps=yes
./MatchUpAccurate.exe >& mary8.txt
==18130== Callgrind, a call-graph generating cache profiler
==18130== Copyright (C) 2002-2010, and GNU GPL'd, by Josef Weidendorfer et al.
==18130== Using Valgrind-3.6.1 and LibVEX; rerun with -h for copyright info
==18130== Command: ./MatchUpAccurate.exe
==18130==
--18130-- warning: Pentium 4 with 12 KB micro-op instruction trace cache
--18130-- Simulating a 16 KB I-cache with 32 B lines
==18130== For interactive control, run 'callgrind_control -h'.
std::ios_base::Init::Init()
BB# 215387
Callgrind: jumps.c:164 (new_jcc): Assertion '(0 <= jmp) && (jmp <= from->bb->cjmp_count)' failed.
==18130== at 0x3801E4C8: report_and_quit (m_libcassert.c:193)
==18130== by 0x3801E69C: vgPlain_assert_fail (m_libcassert.c:267)
==18130== by 0x3800FCD9: vgCallgrind_get_jcc (jumps.c:164)
==18130== by 0x38003534: vgCallgrind_push_call_stack (callstack.c:217)
==18130== by 0x38001FDB: vgCallgrind_setup_bbcc (bbcc.c:844)
==18130== by 0x6292A7E3: ???
sched status:
running_tid=1
Thread 1: status = VgTs_Runnable
==18130== at 0x3E30CB0: std::ios_base::Init::Init() (in /usr/lib/libstdc++.so.6.0.8)
==18130== by 0x3EA0125: ??? (in /usr/lib/libstdc++.so.6.0.8)
==18130== by 0x3E22BD0: ??? (in /usr/lib/libstdc++.so.6.0.8)
==18130== by 0xAE2162: call_init (in /lib/ld-2.5.so)
==18130== by 0xAE2272: _dl_init (in /lib/ld-2.5.so)
==18130== by 0xAD484E: ??? (in /lib/ld-2.5.so)
 
// MatchUpTest.cpp

int fibonacci(int n){
      if (n == 0)
         return 0;
      else if (n == 1)
         return 1;
      else
         return fibonacci(n - 1) + fibonacci(n-2);
}
int main(int Argc_,char *Argv_[]) {
 
 fibonacci(10);
 return 1;
}