[LLVMdev] LLVM for plugins and more

Hans Henrik Happe hhhappe at gmail.com
Fri Jul 17 12:39:26 PDT 2009


Hi,

I've been looking into LLVM and I'm quite exited about the power it provides.

Now, I'm not into compiler/optimizer development, which I guess is the main 
focus of LLVM. However, I've looked at the publications about safety and I'm 
amazed that the overhead is so low (ref "Segment Protection for Embedded 
Systems Using Run-time Checks"). 

Most of this work targets embedded systems, but I'm wondering if it also would 
be usefull for hardware with memory protection. Safe injection of code into 
an address space or software-based process protection could have many uses. 
I.e.:

- Plugins
- Separating/protecting execution contexts. Like processes without the 
overhead of changing address space.
- Controlled injection of user-level code into a monolithic kernel.
- Provide safety in a Singularity-like kernel 
(http://en.wikipedia.org/wiki/Singularity_(operating_system)).

Now, my question is whether LLVM is suited for this type of use and, if so, 
are there any projects that work towards this goal? 

At the top of my head, I guess a transform that detects illegal memory 
references, a way to call external functions safely and some kind of tracking 
of external resources, would do the trick.

Thanks,
Hans Henrik Happe



More information about the llvm-dev mailing list