<div dir="ltr">Hi folks,<div><br></div><div>Linaro Connect USA has just finished and I had a very productive week regarding the kernel and Android. Basically, we finally got a massive response for LLVM involvement in Android and Linux, from members and non-members alike, and I just got confirmation that we&#39;ll be spending a lot of quality time on it from now on.</div>
<div><br></div><div>What does it mean?</div><div><br></div><div>Well, we all know that we can compile the Android kernel with LLVM (right?), but the buildbots are mostly testing compilation, not boot, not execution, not performance. Linaro will work towards that. </div>
<div><br></div><div>The main idea is to clone your git repositories, fetch the latests green revision from the buildbot and flash an ARM board with it and check some basic stuff. We&#39;ll do that on our LAVA infrastructure that already does the same with our internal Android images.</div>
<div><br></div><div>On the other hand, Google is very interested in using Clang on Android for the user-land, too. So they will be moving components to Clang, one by one, and pushing these patches upstream to AOSP, so we would be able to build some, but not all, packages with Clang, and use GCC as a fallback. With time, all user-land should be Clang-ready.</div>
<div><br></div><div>Those images will be tested on the same LAVA infrastructure, and eventually, we aim to have a full Android release (kernel+user-land) compiled with Clang, tested and (hopefully benchmarked) on our release schedule.</div>
<div><br></div><div>The problems?</div><div><br></div><div>That whole process will obviously take several months and have several impediments which will prove hard to crack. We&#39;re all software engineers, we&#39;re used to crack hard nuts, so we&#39;ll prevail! But we&#39;ll need the help from as many people as we can get on board.</div>
<div><br></div><div>We&#39;ll need Android and kernel folks to work on the regressions, we&#39;ll need to have good cases to convince the kernel and the sub-projects to take our patches (the work you guys have been doing so well for the last months!), and we&#39;ll need A LOT of testing.</div>
<div><br></div><div>I have a few devices at home (Samsung Galaxy S, ODroid U2, ODroid XU) and I&#39;ll be using them in addition to LAVA build. But because the mobile industry is so heterogeneous, we&#39;ll need anyone with weird devices to try them, too!</div>
<div><br></div><div>The future!</div><div><br></div><div>Since the first time I got exposed to Android/LLVM this year, I immediately recognized the value that LLVM could have as the standard platform compiler for Android. It just makes sense! And now, with the support of LLVMLinux (you guys!) and the kernel folks (Linus et. all) and the Android folks (Linaro, Google et al.) I think we can actually make it happen!</div>
<div><br></div><div>FreeBSD made it happen, and I hear that FreeBSD 10 will have NO GCC by default! This is actually happening and we need to get into the bandwagon. Let&#39;s make LLVM a platform compiler for two full Unix systems and show that the growing up phase is past adolescence and reaching the young adult stage. I&#39;m sure the FreeBSD folks will be just as thrilled! ;)</div>
<div><br></div><div>I&#39;ll update you guys once we start to put the infrastructure in place, so we can discuss the exact engineering solutions to make it all work.</div><div><br></div><div>Thank you all very much for all the hard work, but I assure you, there is more ahead of us than behind!</div>
<div><br></div><div>cheers,</div><div>--renato</div></div>