> ==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

Reply via email to