* gprof.texi (Compiling): Mention the need for using
        -static-libgcc on shared library systems.
This commit is contained in:
Nick Clifton 2009-01-03 10:00:58 +00:00
parent 4d78a12089
commit c8d1c0af80
2 changed files with 20 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2009-01-03 Nick Clifton <nickc@redhat.com>
PR 7099
* gprof.texi (Compiling): Mention the need for using
-static-libgcc on shared library systems.
2009-01-02 Nick Clifton <nickc@redhat.com>
* po/id.po: Updated Indonesian translation.

View File

@ -325,6 +325,20 @@ example:
ld -o myprog /lib/gcrt0.o myprog.o utils.o -lc_p
@end example
If you are running the program on a system which supports shared
libraries you may run into problems with the profiling support code in
a shared library being called before that library has been fully
initialised. This is usually detected by the program encountering a
segmentation fault as soon as it is run. The solution is to link
against a static version of the library containing the profiling
support code, which for @code{gcc} users can be done via the
@samp{-static} or @samp{-static-libgcc} command line option. For
example:
@example
gcc -g -pg -static-libgcc myprog.c utils.c -o myprog
@end example
If you compile only some of the modules of the program with @samp{-pg}, you
can still profile the program, but you won't get complete information about
the modules that were compiled without @samp{-pg}. The only information