32-bit Architectures no longer tested by any buildbots causing bitrot

While using a raspberry pi 4 for a project, I've discovered 2 recent regressions caused by the assumption that the target would be 64-bit. In both cases, the developers noted that they missed the error because none of the buildbots had picked it up.

I was able to quickly confirm that both issues were related to the size of pointer types by spooling up a Debian i686 iso and building clang on it. Could we add either an i686 or armhf buildbot to avoid this class of bug creeping into the code base?

Thanks

-Luke

Buildbots are effectively crowdsourced - there’s no central pool of resources/machines for this at the moment. You can contribute buildbots by bringing up your own machine and having it added as a worker for a configuration of your choosing.

While using a raspberry pi 4 for a project, I’ve discovered 2 recent regressions caused by the assumption that the target would be 64-bit.

Is this an assumption that the target would be 64-bit, or an assumption that the host would be 64-bit?
For the first of those, there may be a different approach than adding a buildbot: Finding a way to remind developers to add LIT tests that use the 32-bit target.

Hello Luke!

While using a raspberry pi 4 for a project, I've discovered 2 recent regressions caused
by the assumption that the target would be 64-bit. In both cases, the developers noted
that they missed the error because none of the buildbots had picked it up.

I was able to quickly confirm that both issues were related to the size of pointer types
by spooling up a Debian i686 iso and building clang on it. Could we add either an i686
or armhf buildbot to avoid this class of bug creeping into the code base?

I'm working to set up a build bot for the upcoming M68k target which is 32 bits. And while
I'm at it, I can also set up build bots for 32-bit MIPS, 32-bit PowerPC and 32-bit ARM.

We need these targets in Debian and openSUSE, so I'm happy to help with this effort.

We also need the SPARC target and we have enough SPARC hardware idling and waiting for
work, so that would be a perfect application as well.

I need to become familiar with the build bot setup first as I have not done this before,
so if someone experienced with those bots is willing to assist me, that would be great.

Adrian

Hello everyone,

Just to save you some effort. There are a quite a few Arm buildbots including armhf running on http://lab.llvm.org:8011/#/builders maintained by Linaro. For example: clang-cmake-armv7-full . More bots are always welcome though particularly if they are checking a different configuration.

I think there has been some buildbot maintenance recently, and the interface has completely changed since I last looked. There is a possibility that they missed this particular issue, or it was ignored which can happen if the failure isn't reproducible locally on a non Arm machine. If the bots aren't running properly will be worth pinging the maintainer.

Peter

Hi!

Just to save you some effort. There are a quite a few Arm buildbots including armhf running on
http://lab.llvm.org:8011/#/builders maintained by Linaro. For example: clang-cmake-armv7-full .
More bots are always welcome though particularly if they are checking a different configuration.

There also regular LLVM snapshots being built in Debian unstable which run the testsuite, see:

https://buildd.debian.org/status/package.php?p=llvm-toolchain-snapshot&suite=experimental

Clicking any entry in the "Status" (Installed or Build-Attempted) column will show the full build log.

Adrian

Hi,

While using a raspberry pi 4 for a project, I've discovered 2 recent regressions caused by the assumption that the target would be 64-bit. In both cases, the developers noted that they missed the error because none of the buildbots had picked it up.

I was able to quickly confirm that both issues were related to the size of pointer types by spooling up a Debian i686 iso and building clang on it. Could we add either an i686 or armhf buildbot to avoid this class of bug creeping into the code base?

Is this building *just* clang, without any other subprojects? That
would be very strange, since at least the armv7 bots should have
caught the regressions (unless they were already red when the
regressions were introduced, and then nobody got pinged). If the
regressions were in mlir, then that is expected, since we do not build
mlir on armv7 (or any other 32-bit platform, IIUC). I have asked if
there is interest for this and nobody said anything [1].

Cheers,
Diana

[1] https://llvm.discourse.group/t/mlir-on-armv7/1596