clang -m32 -ftrapv seems buggy with 64-bit signed integer multiply
If you try building with clang -m32 -ftrapv, you get a bunch of these warnings:
12:39:59 /home/jenkins/workspace/tor-ci-linux-master-clang/ARCHITECTURE/i386/SUITE/sid/src/or/dirvote.c:828: undefined reference to `__mulodi4'
12:39:59 /home/jenkins/workspace/tor-ci-linux-master-clang/ARCHITECTURE/i386/SUITE/sid/src/or/dirvote.c:828: undefined reference to `__mulodi4'
12:39:59 /home/jenkins/workspace/tor-ci-linux-master-clang/ARCHITECTURE/i386/SUITE/sid/src/or/dirvote.c:855: undefined reference to `__mulodi4'
12:39:59 /home/jenkins/workspace/tor-ci-linux-master-clang/ARCHITECTURE/i386/SUITE/sid/src/or/dirvote.c:930: undefined reference to `__mulodi4'
12:39:59 /home/jenkins/workspace/tor-ci-linux-master-clang/ARCHITECTURE/i386/SUITE/sid/src/or/dirvote.c:930: undefined reference to `__mulodi4'
12:39:59 src/or/libtor-testing.a(src_or_libtor_testing_a-dirvote.o):/home/jenkins/workspace/tor-ci-linux-master-clang/ARCHITECTURE/i386/SUITE/sid/src/or/dirvote.c:834: more undefined references to `__mulodi4' follow
Since -ftrapv is now on by default, that's a problem!
Others have seen errors like this before; for example see: https://bugs.chromium.org/p/chromium/issues/detail?id=503229 and https://llvm.org/bugs/show_bug.cgi?id=14469
I'm calling this must-fix-for-029, since otherwise we just broke 32-bit clang.