Gentoo Archives: gentoo-soc

From: Gunwant Jain <therealgunwant@×××××.com>
To: gentoo-soc@l.g.o
Subject: [gentoo-soc] Weekly Report: Portage Powered Android
Date: Thu, 30 Jul 2020 15:01:06
Message-Id: 20200730150058.g62acf25nrhe4gmk@tardis.localdomain
1 Hello everyone,
2
3 I am sending my weekly report this late because I figured that I had
4 already discussed my findings this week on the mailing list. But my
5 mentor asked me to write it nevertheless.
6
7 My task was to build AOSP's LLVM toolchain, but for AArch64 host.
8 Patching the build scripts for that was the easy part. But running the
9 script over and over became tedious at some point. Many times, my sshfs
10 caused problems with the CMakeCache, essentially forcing me to clean
11 build. Other times, the OOM killer got me.
12
13 Nevertheless I can report that llvm's stage1 builds for the AArch64 host
14 and CMake is accepting the stage1 compilers to build the final llvm
15 stage2. I have yet to fully build llvm stage2, but I am sure that my
16 Mentor's kind offering of an arm64 server would check off that task.
17
18 I have already explained llvm stage1 and stage2, in some depth, in the
19 previous weekly report's reply chain. I'll put a brief explanation here
20 anyways.
21 Bascially, AOSP packages its own LLVM distribution. The idiomatic way to
22 build LLVM in this case would be to build a "stage 1" compiler with your
23 host toolchain and then build the "stage 2" compiler using the "stage 1"
24 compiler. In AOSP's case, that stage2 compiler is used :
25 - in the AOSP tree as the prebuilt toolchain, used to build AOSP.
26 - as the stage1 compiler to build a version bumped LLVM toolchain
27 (later used as the prebuilt toolchain in the AOSP tree).
28
29 Therefore my next task would be to use that llvm toolchain (built for
30 AArch64 host) in the AOSP tree and build Android on arm64 unlike the
31 conventional cross-compiling method.
32
33 Regards,
34 Gunwant

Attachments

File name MIME type
signature.asc application/pgp-signature