|
From: Nicholas N. <nj...@ca...> - 2004-07-15 13:48:36
|
On Wed, 14 Jul 2004, Nicholas Nethercote wrote: > I tried the attached patch (against HEAD, not my patched version) to move the > stack to 0x8000000, below the main executable. Valgrind segfaults very > shortly after, within setup_client_stack, during the stack copying -- at the > first call to copy_str(). Ok, the attached patch fixes that problem -- I wasn't moving the trampoline page along with the stack. However, with this patch, running 'date' it seg faults after 473 basic blocks: ==12099== Process terminating with default action of signal 11 (SIGSEGV): dumping core ==12099== Access not within mapped region at address 0x7FFDFDC ==12099== at 0x1B8F50B9: __GI___fxstat64 (in /lib/ld-2.3.2.so) ==12099== by 0x1B8E9990: _dl_map_object_from_fd (in /lib/ld-2.3.2.so) ==12099== by 0x1B8E863A: _dl_map_object_internal (in /lib/ld-2.3.2.so) ==12099== by 0x1B8E6427: dl_main (in /lib/ld-2.3.2.so) I don't understand why but I guess it's something to do with the trampoline page. The address 0x7FFDFDC seems random, right in the middle of nowhere. I don't really understand what the trampoline page does so I'm a bit stuck. N |