> ==30205== Unsupported clone() flags: 0x800111 > The flags are: CLONE_UNTRACED|SIGCHLD|CLONE_VM > Is this variation of clone() hard to implement?
Supporting more combinations of flags is easy as long as you don't care how they interact with valgrind. Some of the flags do interact with valgrind (CLONE_VM; CLONE_SIGHAND and perhaps CLONE_THREAD; CLONE_FILES if logging messages; CLONE_STOPPED) but most of them do not. The existing code takes the view that an unexplored combination of flags is unsupported. In this case the unknown is CLONE_UNTRACED, which linux/sched.h documents as "set if the tracing process can't force CLONE_PTRACE on this clone." In some ways Valgrind is a "super" ptrace, so how does this relate to the application and its intended purpose? Merely changing the valgrind code to ignore CLONE_UNTRACED is trivial, but the devil is in how the intended semantics work out. My patches for valgrind to support UserModeLinux implemented a CLONE_CHILD_LETGO flag meaning, "do not virtualize the child; let it run natively free." This happened to be a good idea for UML. -- John Reiser, [EMAIL PROTECTED] ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. 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