[ltsmaster] AArch64: Backport Shippable CI and va_list fix#2811
[ltsmaster] AArch64: Backport Shippable CI and va_list fix#2811kinke merged 4 commits intoldc-developers:ltsmasterfrom
Conversation
3571730 to
7535fc8
Compare
91155be to
a274448
Compare
|
This also includes a partial The Shippable script performs the full testsuite and ignores any test failures for now. |
ee7d4a2 to
9aceb9f
Compare
|
These Shippable/Partner machines are quite interesting. Single-core performance is relatively low, but we can apparently use more than 16 cores (reported: 96; memory varies between ~32-128 GB) with still measurable gains. I limited it to 16 concurrent jobs where D is involved, to prevent out-of-memory kills in case we get a 32GB machine (mostly relevant for unittest compilations). I backported the |
|
Heh, nice work: why don't you pull in my commit from dlang/druntime#2257 too, to get all the druntime tests to pass? |
|
Tried this out, breaks this function's mangling when trying to build ldc master on Android/AArch64: May want to build master from Shippable on this branch too, to catch such bootstrap issues early. |
|
Thx for testing. Not sure how to best fix this properly. We could define our own |
|
Tried this latest I've kicked off an ldc build on Kai's linux/AArch64 VPS to see if it makes building ldc master work on there too. I think we'll soon see a lot more green on @redstar's AArch64 buildbot. 😄 |
|
Ldc master for linux, ie Glibc/AArch64, now works well too, when built with ltsmaster with this patch. Pretty much all the expected tests pass, except I had to disable some test blocks in I tried building ldc master with ldc master natively on Android/AArch64, hits the same Anyway, other than the link error with master, none of these is likely related to this pull, just reporting that most everything's working well. 🕺 |
|
I excluded the |
C++ va_list is mangled as `std::__va_list` struct. According to clang IR, it's special in the sense of not ever being passed by value. Let's do the same and pass a pointer while at the same time mangling the function as taking the arg by value.
Run the full testsuite but ignore any test failures for now.
|
[Ready from my side.] @joakim-noah: Do you happen to know whether dlang/druntime#2257 is required to get master incl. stdlibs to build with ltsmaster? |
|
Pretty sure it isn't required- I only apply it so the druntime test runner builds- but haven't tried without it. I simply suggested it because you're running the druntime tests on Shippable, and I figure that commit will be merged unchanged eventually anyway. |
|
I don't know varargs or compiler magic well enough to approve this pull, but I can confirm this latest iteration still gets LDC master to work on linux and Android/AArch64. |
Yeah, in case it was required I'd have opted for cherry-picking it early, but if it can wait, I'd wait. Merging eagerly in order to improve things for master. |
No description provided.