We don't even have a working AArch64 Linux build yet (see the external CI bot). Someone would need to put effort into making that a reality before we'd start offering it as a supported platform.
Yeah, variadics are the missing piece for AArch64 on Linux. I've been focused on finishing up the Windows port, which is pretty close, but I am certainly interested in Linux AArch64 support.
I think there are quite a few of us interested in Arm64 systems. The issue is getting it fully working with master and merged back up rather than needing to apply patches manually. Once that happens the community supported CI for Arm64 will be useful.
I imagine Apple and Swift in general will fully embrace other platforms as they have enough really community support. So for us that means supporting swift-arm.com and getting stuff working and merged back up. I just don’t know compilers well enough to really help them out much...
@compnerd@jrose Yes, variadics have been the main blocking issue for successful builds on Swift Community CI
A PR with the solution was submitted months ago - 15174.
Unfortunately this was never merged and now is outdated.
There is now a updated version of this PR for swift-4.2-branch - 20708
This PR along with 20709 (19462) will enable successful builds of Swift 4.2 on AArch64 Linux (Ubuntu 16.04).
With these PR's merged there is absolutely no reason why we can not see an "official" release of Swift 4.2 for AArch64 on Linux.
"Supported" means "one of the platforms that gets official builds from swift.org, where something major not working would block a release". There are plenty of platforms that Swift can be configured to compile for and run on, but those don't all count as "supported".
I don't think we have a process in place yet for getting new platforms to be "supported", though at least part of it would be making sure we have CI for them. At the very least it's something the project lead would have to be involved in. Personally, I think it'd be great to use AArch64 Ubuntu to work out this process, since as you say (and Lee, and Braden) there's a fair amount of interest!
There's one bot there, but it's building the "buildbot_linux,no_test" preset. If we compare that to the x86_64 Linux bots on the primary CI, we've got dedicated LLDB testing, long tests, protobuf testing, ASan testing, packaging testing, and pull request testing. (We should probably also have debug configuration testing there like we do for the Apple platform bots.)
If we get AArch64 to a working state, we want to make sure we don't break it in the future!
It sounds like Neil already has the project "in a working state". So how do we insert it into, and start conducting more tests on CI? Would you be able to suggest a suitable Project Lead to help with the project? I did see that @tkremenek is one of the nominated Project Leads here. Perhaps he might be able to suggest a suitable path.
Thanks for your time and interest by the way guys. Much appreciated.
Out of curiosity, would this let Swift run on the 64-bit Raspberry Pi 3? (Note: their hardware is 64-bit, but Raspbian, the "official" Linux distro for RPis, is not.)