Dear list, Recently I acquired an arm64 SBC to replace my aging PC, installed Debian buster on it (had to use third-party kernel and u-boot, but that's beside the point), and started using the thing. And I can tell that you really start believing in progress then you see a box of the size and weight of two cigarette packs that can do the same as your old 10kg dusty metal box.
I'm a man of simple tastes, so most of the stuff I needed was at Debian main already, built the way I needed. But, there are some exceptions. Hence the need of building packages for arm64. I've tried the SBC itself, the results were as expected - suboptimal. I've tried Amazon AWS (you can rent arm64 there) - the results were mixed. So I poked around a bit, and got an access to an old 2 Intel CPU 96Gb RAM server, where they gave an LXC container with a Debian inside, and a root password to it. Most of the self-built packages that I tend to use are primitive C programs, so cross-compiling them with gcc-8-aarch64-linux-gnu was not that time-consuming. It even was not that hard, considering that I've learned the way to do it with armel and armhf. But, here's the problem, and the problem is called chromium, with a set of custom patches I've collected. Recently they've uploaded chromium version 80 to unstable (two different versions, in fact). Along with the other things, package maintainer switched from using gcc to build to the package to clang. To spare you the details - yes, it's needed, and yes, it's a Google who's responsible for this. The problem is - I can use gcc-8-aarch64-linux-gnu to cross-build chromium-79, and it takes about 1.5 hours. I can use QEMU user emulation and gcc-8 built for arm64, and it takes more than a day to build the same chromium-79. But I cannot use gcc-8-aarch64-linux-gnu for chromium-80, and running a clang toolchain in a QEMU user emulation is something I'd like to avoid. What I do not see in Debian main is a clang compiler suite that's built for cross-compilation. Is there such a thing? Reco