Mark Seaborn
2013-Jun-18 23:36 UTC
[LLVMdev] Building a stable bitcode format for PNaCl - based on LLVM IR
On 18 June 2013 15:27, Dmitri Rubinstein <dmitri.rubinstein at googlemail.com>wrote:> Is it possible to use PNaCl infrastructure (i.e. translation and execution > in a sandbox) without a Chrome ? > > I mean a something like a standalone VM like Java or Mono/C#. >Yes. The NaCl tool 'sel_ldr' will run a program inside a sandbox outside of the web browser. We do a lot of the testing of PNaCl this way. Cheers, Mark -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130618/83bee129/attachment.html>
Dmitri Rubinstein
2013-Jun-19 08:57 UTC
[LLVMdev] Building a stable bitcode format for PNaCl - based on LLVM IR
From the provided documentation I understood that in memory data structures of a PNaCl program are incompatible to the host program because ABIs are different (e.g. PNaCl pointers are always 32-bit even when running on x86_64 platform). So PNaCl program can't access any data structures of the host program directly. The only communication way is by using syscalls, but the document does not specify syscalls in detail. How the syscalls are represented in LLVM IR ? What kind of data structures can be passed ? Best, Dmitri Am 19.06.2013 01:36, schrieb Mark Seaborn:> On 18 June 2013 15:27, Dmitri Rubinstein > <dmitri.rubinstein at googlemail.com > <mailto:dmitri.rubinstein at googlemail.com>> wrote: > > Is it possible to use PNaCl infrastructure (i.e. translation and > execution in a sandbox) without a Chrome ? > > I mean a something like a standalone VM like Java or Mono/C#. > > > Yes. The NaCl tool 'sel_ldr' will run a program inside a sandbox > outside of the web browser. We do a lot of the testing of PNaCl this way. > > Cheers, > Mark >
JF Bastien
2013-Jun-19 16:01 UTC
[LLVMdev] Building a stable bitcode format for PNaCl - based on LLVM IR
> From the provided documentation I understood that in memory data > structures of a PNaCl program are incompatible to the host program because > ABIs are different (e.g. PNaCl pointers are always 32-bit even when running > on x86_64 platform). > So PNaCl program can't access any data structures of the host program > directly. The only communication way is by using syscalls, but the document > does not specify syscalls in detail. >We should probably clarify in the final documentation, but the goal of PNaCl is to not only be portable and fast but also be safe for the user, and the way this is achieved is through NaCl's SFI. Specifically for syscalls: http://www.chromium.org/nativeclient/reference/anatomy-of-a-sys In a way the syscalls offered are defined by the embedding sandbox: NaCl through Chrome and sel_ldr have documented interfaces, and the NaCl SDK offers POSIX-like interfaces built on top of these. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130619/5d983678/attachment.html>
Seemingly Similar Threads
- [LLVMdev] Building a stable bitcode format for PNaCl - based on LLVM IR
- [LLVMdev] Building a stable bitcode format for PNaCl - based on LLVM IR
- [LLVMdev] Building a stable bitcode format for PNaCl - based on LLVM IR
- [LLVMdev] Building a stable bitcode format for PNaCl - based on LLVM IR
- [LLVMdev] Building a stable bitcode format for PNaCl - based on LLVM IR