<div dir="ltr">Could use some unittests for the triple changes. :)<br><br>-eric<br></div><br><div class="gmail_quote">On Fri, Mar 6, 2015 at 11:24 AM Ed Schouten <<a href="mailto:ed@nuxi.nl">ed@nuxi.nl</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
The last couple of months my company (Nuxi) has been working on a<br>
POSIX-like programming environment built on the concept of<br>
capability-based security called CloudABI. The intent behind CloudABI<br>
is that it can be used as a building block for large-scale<br>
cluster/cloud computing environments.<br>
<br>
Applications observe the operating system as a black box that only<br>
grants them access to just the small number of resources (read: file<br>
descriptors) that they require for execution. For example, a simple<br>
web server will only have access to its network connection and its web<br>
root directory. The idea behind this is that security flaws will only<br>
allow the single process to be compromised -- not the system the<br>
process is running on. (Live) migration of processes should also be<br>
simpler, as the resources they require can be derived easily.<br>
<br>
CloudABI uses BSD/MIT-licensed components as much as possible. I have<br>
released an initial version of the C library under a 2-clause BSD<br>
license:<br>
<br>
<a href="https://github.com/NuxiNL/cloudlibc" target="_blank">https://github.com/NuxiNL/<u></u>cloudlibc</a><br>
<br>
CloudABI uses a lot of LLVM components, namely LLVM itself, Clang,<br>
libc++, libc++abi and compiler-rt. For most of these components we had<br>
to write small patches to get them to work. My plan is to have them<br>
upstreamed.<br>
<br>
Attached are the changes we made to LLVM itself. The changes are trivial:<br>
<br>
1. Add support for "cloudabi" in target triples. Support for this has<br>
already been added to config.sub/config.guess:<br>
<br>
<a href="http://git.savannah.gnu.org/gitweb/?p=config.git;a=commit;h=37d9d9d48e410d718ddeced7ffb605111780ea91" target="_blank">http://git.savannah.gnu.org/<u></u>gitweb/?p=config.git;a=commit;<u></u>h=<u></u>37d9d9d48e410d718ddeced7ffb605<u></u>111780ea91</a><br>
<br>
2. Let CloudABI use its own ABI number: ELFOSABI_CLOUDABI (== 17).<br>
This number has been allocated properly and will be part of the<br>
upcoming ELF specification draft. If needed, I can provide the<br>
approval email I received from SCO/XinuOS.<br>
<br>
I'll push in this change in a couple of days from now. Once submitted,<br>
I will also send out patches for the other LLVM components.<br>
<br>
Thanks,<br>
--<br>
Ed Schouten <<a href="mailto:ed@nuxi.nl" target="_blank">ed@nuxi.nl</a>><br>
______________________________<u></u>_________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/<u></u>mailman/listinfo/llvm-commits</a><br>
</blockquote></div>