2009/11/6 Péter Szilágyi <span dir="ltr"><<a href="mailto:peterke@gmail.com">peterke@gmail.com</a>></span><br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
 I'm trying to explore what LLVM can and cannot be used for. One<br>
thing I was wondering, whether it would be possible to execute an LLVM<br>
code in a completely sandboxed environment? By sandboxed I mean that<br>
the executed code should not have direct access to any system<br>
resources (i.e. hard drive, networking, devices), only through some<br>
specific API that I would provide. The idea is to be able to execute a<br>
random LLVM code from the internet in a completely safe way (provided<br>
that the specific code adheres to my libs in the first place...<br>
otherwise it shouldn't even compile).<br></blockquote><div><br>It is not the goal of LLVM  to provide or enforce program safety.<br><br>Other projects do this, either on top of the LLVM representation (e.g., SAFECode which John already mentioned) or on native code directly (e.g., Native Client: <a href="http://code.google.com/p/nativeclient/">http://code.google.com/p/nativeclient/</a> ) -- so you'd have to compile LLVM to native code first.<br>
<br>Misha<br></div></div>