Package: libc6-prof Version: 2.7-18lenny4 Take the example program (example1) at
http://www.ibm.com/developerworks/library/l-gnuprof.html (source appended at end for ease of reference). e...@sagittarius:~/tmp$ gcc example.c -pg -o example -static-libgcc -lc_p example.c: In function ‘main’: example.c:27: warning: incompatible implicit declaration of built-in function ‘exit’ e...@sagittarius:~/tmp$ ./example Usage ./example <No of Iterations> e...@sagittarius:~/tmp$ ./example 100 No of iterations = 100 e...@sagittarius:~/tmp$ Now try linking any other library, e.g. zlib (4 places in link order shown): e...@sagittarius:~/tmp$ gcc example.c -pg -o example -static-libgcc -lc_p -lz example.c: In function ‘main’: example.c:27: warning: incompatible implicit declaration of built-in function ‘exit’ e...@sagittarius:~/tmp$ ./example 100 Floating point exception e...@sagittarius:~/tmp$ e...@sagittarius:~/tmp$ gcc example.c -pg -o example -lz -static-libgcc -lc_p example.c: In function ‘main’: example.c:27: warning: incompatible implicit declaration of built-in function ‘exit’ e...@sagittarius:~/tmp$ ./example 100 Floating point exception e...@sagittarius:~/tmp$ e...@sagittarius:~/tmp$ gcc example.c -pg -o example -static-libgcc -lz -lc_p example.c: In function ‘main’: example.c:27: warning: incompatible implicit declaration of built-in function ‘exit’ e...@sagittarius:~/tmp$ ./example 100 Floating point exception e...@sagittarius:~/tmp$ e...@sagittarius:~/tmp$ gcc example.c -lz -pg -o example -static-libgcc -lc_p example.c: In function ‘main’: example.c:27: warning: incompatible implicit declaration of built-in function ‘exit’ e...@sagittarius:~/tmp$ ./example 100 Floating point exception Now try specifying -static (e.g. there are many libraries in your program) e...@sagittarius:~/tmp$ gcc example.c -pg -o example -static -static-libgcc -lc_p example.c: In function ‘main’: example.c:27: warning: incompatible implicit declaration of built-in function ‘exit’ e...@sagittarius:~/tmp$ ./example 100 Segmentation fault e...@sagittarius:~/tmp$ gcc example.c -pg -o example -static-libgcc -lc_p -static example.c: In function ‘main’: example.c:27: warning: incompatible implicit declaration of built-in function ‘exit’ e...@sagittarius:~/tmp$ ./example 100 Segmentation fault Thus it appears with this version you can only use -lc_p to debug programs with no external dependencies, because you can't link other libraries, and if you could, you still couldn't link them statically to get proper gprof output. I can't find any other reference to this behaviour; if it's just a documentation problem, I'm happy to write the documentation if someone tells me what the actual correct behaviour is (or necessary limitations are). Example program: #include <stdio.h> int a(void) { int i=0,g=0; while(i++<100000) { g+=i; } return g; } int b(void) { int i=0,g=0; while(i++<400000) { g+=i; } return g; } int main(int argc, char** argv) { int iterations; if(argc != 2) { printf("Usage %s <No of Iterations>\n", argv[0]); exit(-1); } else iterations = atoi(argv[1]); printf("No of iterations = %d\n", iterations); while(iterations--) { a(); b(); } } -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org