gcc 4.2 profiling breaks argv

Kris Kennaway kris at obsecurity.org
Fri Aug 3 05:00:18 UTC 2007


On Fri, Aug 03, 2007 at 01:53:20PM +1000, Nick Frampton wrote:
> Hi all,
> 
> Programs segfault when attempting to access argv from main when compiled 
> under gcc 4.2.0 with the -pg profiling option.  The following program 
> illustrates this problem.
> 
> $ cat test.c
> #include <stdio.h>
> int main (int argc, char **argv) {
>   fprintf (stderr, "argv=%p\n", argv);
>   return 0;
> }
> $ cc -c -o test.o -pg  test.c  &&  cc -o test  -pg  test.o
> $ ./test
> Segmentation fault (core dumped)
> 
> $ cc -v
> Using built-in specs.
> Target: i386-undermydesk-freebsd
> Configured with: FreeBSD/i386 system compiler
> Thread model: posix
> gcc version 4.2.0 20070514 [FreeBSD]
> 
> $ uname -a
> FreeBSD test03.statseeker.com 7.0-CURRENT FreeBSD 7.0-CURRENT #1: Fri 
> Aug  3 11:07:03 EST 2007     
> root at test03.statseeker.com:/usr/obj/usr/src/sys/GENERIC  i386
> 
> This issue was reported on this list on 5th July 2007 by Garrett Cooper 
> but argv was not mentioned in that post.  I have not seen this problem 
> reported elsewhere (e.g. on the gcc mailing list).

So perhaps you should do so?

Or try checking with 4.2.1 in case it's fixed already.

Kris


More information about the freebsd-current mailing list