Mono and pNaCl

381 views
Skip to first unread message

Faldegast

unread,
Aug 2, 2013, 9:34:50 AM8/2/13
to native-cli...@googlegroups.com
I noticed that there seem to be no pnacl support in Mono yet, are this planned or will Mono apps continue to use platform-specific binaries?

Elijah Taylor

unread,
Aug 2, 2013, 11:22:17 AM8/2/13
to native-cli...@googlegroups.com

Hi,

For the foreseeable future mono will continue to use platform specific binaries.  There are problems with making mono support pnacl at the moment. Mono does have an llvm code generator but I don't know how compatible it is with pnacl bitcode.  Pnacl also lacks JIT support at the moment, so AOT would be the only option. It would be a significant effort IMO to port it.

In the meantime we do now have an ARM codegen port available.  I'm working to move the build of mono we have to the new 3.2 mono release so the builds coming through the nacl SDK are not all up to date right now.

-Elijah

On Aug 2, 2013 6:34 AM, "Faldegast" <fald...@gmail.com> wrote:
I noticed that there seem to be no pnacl support in Mono yet, are this planned or will Mono apps continue to use platform-specific binaries?

--
You received this message because you are subscribed to the Google Groups "Native-Client-Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to native-client-di...@googlegroups.com.
To post to this group, send email to native-cli...@googlegroups.com.
Visit this group at http://groups.google.com/group/native-client-discuss.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Faldegast

unread,
Aug 7, 2013, 11:15:29 AM8/7/13
to native-cli...@googlegroups.com
Hi,

What about AOT with pnacl as target, similar to how IKVM run Java on Mono. Also, will there be any decent documentation on how to use mono? I was thinking about writing a plugin that can run Java Applets using IKVM but im not really sure on how to tie everything together yet. However as I understand it Pepper security will sandbox the whole plugin so that it dosnt need any internal security model?


Den fredagen den 2:e augusti 2013 kl. 17:22:17 UTC+2 skrev Elijah Taylor:

Hi,

For the foreseeable future mono will continue to use platform specific binaries.  There are problems with making mono support pnacl at the moment. Mono does have an llvm code generator but I don't know how compatible it is with pnacl bitcode.  Pnacl also lacks JIT support at the moment, so AOT would be the only option. It would be a significant effort IMO to port it.

In the meantime we do now have an ARM codegen port available.  I'm working to move the build of mono we have to the new 3.2 mono release so the builds coming through the nacl SDK are not all up to date right now.

-Elijah

On Aug 2, 2013 6:34 AM, "Faldegast" <fald...@gmail.com> wrote:
I noticed that there seem to be no pnacl support in Mono yet, are this planned or will Mono apps continue to use platform-specific binaries?

--
You received this message because you are subscribed to the Google Groups "Native-Client-Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to native-client-discuss+unsub...@googlegroups.com.

Elijah Taylor

unread,
Aug 7, 2013, 3:27:36 PM8/7/13
to native-cli...@googlegroups.com
On Wed, Aug 7, 2013 at 8:15 AM, Faldegast <fald...@gmail.com> wrote:
Hi,

What about AOT with pnacl as target, similar to how IKVM run Java on Mono.

AOT support in NaCl has bitrotted as we haven't used it in as long as we've had the JIT support in NaCl.  I think it would be possible to AOT compile to PNaCl, but I would estimate it is a large amount of work.  First, I would guess there is no support for AOT+llvm in upstream Mono that outputs bitcode files.  Probably they use llvm only internally as a code generator and the final output is whatever target architecture's binary format you're using.  You would also have to PNaCl-ize whatever bitcode is being emitted by Mono (I'm not familiar enough with PNaCl's bitcode to estimate this work).

 
Also, will there be any decent documentation on how to use mono? I was thinking about writing a plugin that can run Java Applets using IKVM but im not really sure on how to tie everything together yet.

Aside from various posts on this list there is no detailed documentation on how to use Mono in NaCl.  You have to embed mono in your executable, and there is some documentation for doing just that, as well as some samples in the naclmono_samples bundle you can add in the SDK.  Also, interfacing with Pepper from managed code is not supported directly, you basically have to roll your own interface (either using DllImport or registering internal calls) to use Pepper on the C side.

 
However as I understand it Pepper security will sandbox the whole plugin so that it dosnt need any internal security model?

You will have both the NaCl and Chrome sandboxes to help contain malicious code from the user's computer.  But you do potentially open up anything *inside* your app/plugin if you embed the Mono runtime and allow execution of arbitrary code from the internet.
 
Reply all
Reply to author
Forward
0 new messages