[LLVMdev] Building a stable bitcode format for PNaCl - based on LLVM IR

Dmitri Rubinstein dmitri.rubinstein at googlemail.com
Wed Jun 19 01:57:33 PDT 2013


 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
>




More information about the llvm-dev mailing list