llvm-dev Digest, Vol 136, Issue 22


As John said, a simpler, more robust version of APA may be sufficient for your needs, in particular, one that uses global pool handles instead of passing them around as parameters (for context sensitive pools). But to answer that better, can you clarify what it is you want, in more detail? You said:

We really want the all singing all dancing safecode framework with APA
as detailed in the 2005 TECS SafeCode paper (Memory Safety Without
Garbage Collection for Embedded Applications). We are trying to build a
C based embedded system that is type safe

Do you really want “type safety”? Or just array bounds safety, but not the rest of type safety? Or just isolation of components, as you would get with SFI? Do you care about other memory safety errors, e.g., uninitialized pointer uses, use-after-free, free-after-free, etc.?

at the lowest possible run
time cost. So I am also going to modify the uninitialized pointer MMU
based stuff to work with the ARM Cortex M3 MPU. I don't think there are
any shortcuts here (I'd be happy to be proved wrong though) - we need APA.


// Vikram S. Adve
// Professor, Department of Computer Science
// University of Illinois at Urbana-Champaign
// vadve@illinois.edu
// http://llvm.org/>
// "A ‘No’ uttered from the deepest conviction is better than
// a ‘Yes’ merely uttered to please, or worse, to avoid trouble."
// --Mahatma Gandhi