envp corrupted in Interix gcc

Jerry Miller gmiller@cs.sunysb.edu
Wed Jun 13 12:51:00 GMT 2001


... or this one either - what gives?  Am I persona non grata?

----- Original Message ----- 
From: Jerry Miller <gmiller@cs.sunysb.edu>
To: <gcc-help@gcc.gnu.org>
Sent: Friday, June 08, 2001 1:11 PM
Subject: envp corrupted in Interix gcc


> #include <stdio.h>
> 
> main(int argc,char*argv[],char **envp)
> {
> printf("%p\n",envp);
> printf("%p\n",envp[0]);
> }
> 
> /* Pretty simple program, huh?  Well, on the Sparc, it yields,
>     as expected:
>         effffcf4
>         effffdad
>     On my website CGI server, it yields, also as expected:
>         0xbffffbc8
>         0xbffffc97
>     However, on my PC, compiled under the version of gcc,
>     supplied with Interix, it yields:
>         0x5
>         Memory fault
> 
>     All three compilers are gcc, and it's not the PC/NT environment,
>     because VC++ compiles the same code to yield:
>         00420290
>         00420340
> 
>     What is up with this compiler?  Did Interix (now owned by
>     Microsoft, but not when we purchased it) mangle the compiler
>     in some way??  BTW, getenv() and putenv() work despite
>     this - although, as I mentioned in a previous message, putenv()
>     for XKEYSYMDB is ineffective unless I specify the one that
>     resides on the "correct" path!  */
> 



More information about the Gcc-help mailing list