http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51784

--- Comment #15 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-01-13 
23:35:13 UTC ---
(In reply to comment #14)
> (gdb) stepi
> 0x000029bd    29      y (a);
> (gdb) p/x _NSGetEnviron()
> $3 = 0x50a8
> (gdb) p/x *_NSGetEnviron()
> $4 = 0xbfffd9b4
> (gdb) p/x **_NSGetEnviron()
> Cannot access memory at address 0xbfffd9b4
> (gdb) x/x 0x000029bd
> 0x29bd <x+162>:    0x89084189
> (gdb) stepi
> 0x000029c0    29      y (a);
> (gdb) p/x _NSGetEnviron()
> $5 = 0x50a8
> (gdb) p/x *_NSGetEnviron()
> $6 = 0xc000d9b4         <----- address changed from 0xbfffd9b4 to 0xc000d9b4

disas x

would be interesting here to find out what insn is at 0x29c0 and what is around
that.

> If I am not mistaken, findenv crashes because the address for environ has 
> been 
> changed from 0xbfffd9b4 to 0xc000d9b4 at the end of the proc 'x'.

Reply via email to