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'.