|
From: Todd J. <qua...@gm...> - 2010-08-24 06:19:46
|
Hello all, I'm working on my own tool for Valgrind and have a few questions on how it handles stack movement: Backround: I have test programs that contain instructions that shift the stack pointer between 4 and 6 MB down (eg. leal $-4243104(%esp), %esp) at the beginning of the program. This causes Valgrind to receive a signal 11, manipulate the stack, and then restart the instruction that caused the signal. Valgrind tells me that it thinks that the client has switched stacks and to use --max-stackframe=6291452. I have tried --main-stacksize and the given --max-stackframe option to suppress the signal to no avail. Valgrind runs fine - I just want to avoid this signal 11. From the comments in Valgrind it seems like the signal is caused by the program exceeding some kind of stack limit, but I'm not sure where. The test programs work find outside of Valgrind. Questions: Is there a better way of preventing this signal 11 from the command line? Where in Valgrind does it set the stack that the client program uses and the memory block that sets up the client's stack? Thanks! |