gcc 4.2 profiling breaks argv

Niklas Sorensson nik at cs.chalmers.se
Sat Aug 4 18:22:59 UTC 2007


Hi,

following up on the thread started by Nick Frampton yesterday:

I can repeat the problem, although it looks slightly different. Instead of 
crashing when argv is accessed, both argc and argv are zero. This behavior is 
triggered by both gcc 4.2.0 and 4.2.1:

nik> cat test.c
#include <stdio.h>
int main (int argc, char **argv) {
    fprintf (stderr, "argc=%d, argv=%p\n", argc, argv);
    return 0;
}
nik> cc -c -o test.o -pg  test.c &&  cc -o test  -pg  test.o
nik> ./test
argc=0, argv=0x0

nik> gcc42 -c -o test.o -pg  test.c && gcc42 -o test  -pg  test.o
nik> ./test
argc=0, argv=0x0

nik> 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]

nik> gcc42 -v
Using built-in specs.
Target: i386-portbld-freebsd7.0
Configured with: ./..//gcc-4.2.1-RC-20070712/configure --disable-nls 
--with-system-zlib --with-libiconv-prefix=/usr/local --with-gmp=/usr/local 
--program-suffix=42 --libdir=/usr/local/lib/gcc-4.2.1 
--with-gxx-include-dir=/usr/local/lib/gcc-4.2.1/include/c++/ --disable-libgcj 
--prefix=/usr/local --mandir=/usr/local/man --infodir=/usr/local/info/gcc42 
i386-portbld-freebsd7.0
Thread model: posix
gcc version 4.2.1 20070712 (prerelease)

nik> uname -a
FreeBSD apa 7.0-CURRENT FreeBSD 7.0-CURRENT #0: Fri Aug  3 18:08:53 CEST 2007 
   root at apa:/usr/obj/usr/src/sys/APA  i386

Incidentally, I noticed that lang/gcc42 fails to build unless GNU awk is 
installed. There is at least one awk-script used during the build that produces 
the wrong result with the default awk. I think other gcc-based ports may be 
affected, since I observed the same problem with lang/llvm-gcc4.

Cheers,

/Niklas


More information about the freebsd-current mailing list