On 20/12/2007, Bart Van Assche <[EMAIL PROTECTED]> wrote: > There is a small inconsistency in the Valgrind core with regard to the > value of VG_(running_tid) concerning client memory accesses: this > variable contains a valid thread ID for all client memory accesses, > except for some accesses triggered from coregrind/m_main.c. The > attached patch fixes this and also contains some exp-drd > simplifications that became possible because of the fix in the core. > Can you please evaluate this patch and apply it if you consider it > acceptable ? Regression test results are unaffected by the patch -- > the results below are for the x86_64 platform.
I was just looking at committing this, but I've run into a bit of a problem, namely that drd segfaults on startup on my machine (with or without this patch) so it's a bit hard for me to test it before I commit it ;-) The segfault is while recording the execution context from sg_init, called as follows: VG_(get_StackTrace)() VG_(record_ExeContext)() sg_init() sg_new() thread_pre_create() drd_pre_thread_create() VG_(main)() [when creating the main thread] I think the problem is that the thread hasn't started executing yet so there is no context to unwind - the PC, FP and SP are all zero... Tom -- Tom Hughes ([EMAIL PROTECTED]) http://www.compton.nu/ ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Valgrind-developers mailing list Valgrind-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/valgrind-developers