Current status of ARM backend (system-level support specifically) on LLVM?

Thanks, Eli. Also, I wonder specifically if the structure alignment and code padding in the system code works with ARM backend without any problem, so LLVM behaves the same as gcc.


Hello all,

We just started to look at how we could use LLVM to secure ARM-based mobile
system from malware like overriding pointers to system functions and causing
memory overflow. I’m wondering how the current ARM backend work on the
current LLVM release.

It’s stabe enough to be usable, as far as I know.

Does it have any support for ARM system-level
instructions to change the page tables or switching tasks?

You can use inline assembly for this sort of thing.


llvm-gcc should generally produce equivalent code to gcc; if you find
any cases where it doesn't, please file a bug. And if you're
generating IR yourself, LLVM should provide sufficient facilities to
generate correct code.