Hello, Looks like 'gdb' is missing debug information about the function 'cos' , and the debugger implicitly assumes all the functions return an 'int' , if the function is not compiled in debug mode.
I derive my explanation from the following test case. 1. Create a function 'double test_cos(double)' and compile it in optimized mode with -O3 using gcc "$gcc -c -O3 test1.c" 2. Complie the file containing the 'main' function in debug mode "$gcc -g test.c test1.o -lm" ============[gdb a.out]==================== (gdb) list 0 1 #include <math.h> 2 #include "test1.h" 3 double (*fcn)(double); 4 main() 5 { 6 double t; 7 fcn = cos; 8 t=cos(.2); 9 t=cos(-.2); 10 test_cos(.2); (gdb) call fcn(0.2) $4 = 0.98006657784124163 (gdb) call cos(0.2) $5 = -1073792992 (gdb) call test_cos(0.2) $6 = -1073792992 ===================================== ============[test1.h]================= #ifndef _test_1_h #define _test_1_h double test_cos(double); #endif ==================================== ============[test1.c]================== #include<math.h> #include "test1.h" double test_cos(double a){ return cos(a); } ==================================== ============[test.c]================== #include <math.h> #include "test1.h" double (*fcn)(double); main() { double t; fcn = cos; t=cos(.2); t=cos(-.2); test_cos(.2); } =================================== May be the developers of gdb can you more details. also ======================================= (gdb) call cos $6 = {<text variable, no debug info>} 0xc325d0 <cos> ======================================= Thank you, Vamsi Kundeti On Wed, Dec 23, 2009 at 8:17 PM, pilgrim2 <p...@mail.jpl.nasa.gov> wrote: > > Hi, > > I was wondering how come the call to "call cos(.2)" returns the wrong > answer in: > > #include <math.h> > double (*fcn)(double); > main() > { > double t; > fcn = cos; > t=cos(.2); > t=cos(-.2); > } > > (gdb) call cos(.2) > $16 = 104 > (gdb) call fcn(.2) > $17 = 0.98006657784124163 > > Thanks, > > Linh > -- > View this message in context: > http://old.nabble.com/Why-%22call-cos%28.2%29%22-returns-garbage--tp26909516p26909516.html > Sent from the Gnu - gdb - General mailing list archive at Nabble.com. > > > > -- Sincerely, Vamsi