GCC, '-pg' option and 'mcount' undefined

marco atzeri marco.atzeri@gmail.com
Tue Jan 3 17:52:00 GMT 2012


On 1/3/2012 6:45 PM, Angelo Graziosi wrote:
> For the sake of completeness, I want to flag the following issue I have
> found on Cygwin.
>
> I have an application that doesn't build on Cygwin (gcc-4.5.3) because
> undefined reference to `_mcount' etc... I have tried to reproduce it
> with this simple example:
>
> $ cat hello.c
> #include <stdio.h>
>
> int main()
> {
> printf("Hello World\n");
> }
>
> $ gcc -c -pg hello.c
> $ gcc hello.o -o hello
> hello.o:hello.c:(.text+0xa): undefined reference to `_mcount'
> hello.o:hello.c:(.text+0xf): undefined reference to `__monstartup'
> collect2: ld returned 1 exit status
>
> If I try the same above example (and the true application) on Mac OS X
> Lion with gcc-4.5.3 or on GNU Linux distributions like Fedora14 (gcc
> 4.5.1), Kubuntu (gcc-4.6.1), Ubuntu (i386, gcc-4.6.1), it works just fine,
>
> $ ./hello
> Hello World
>
> If I want to build the above example on Cygwin, I need to link using the
> same option '-pg',
>
> $ gcc -pg hello.o -o hello
> $ ./hello
> Hello World
>
> Yes, I can patch my true application to use '-pg' option when it needs,
> but I would know if you (Dave?) have other ideas here.
>
> Thanks,
> Angelo.

from man gcc

     -pg Generate extra code to write profile information suitable
         for the analysis program gprof.  You must use this option
         when compiling the source files you want data about,
         and you must also use it when linking.

so it is working as expected on cygwin

Regards
MArco

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list