Created attachment 544040 [details] build.log libtasn1 fails to complete building with errors: 'undefined reference to __builtin_add_overflow_p' 'undefined reference to __builtin_nul_overflow_p' Discussion today on #gentoo-crypto with [Arfever] suggests that it's a problem with gcc-6.4.0 which doesn't manifest under gcc-7.3.0.
$ gcc-6.4.0 -x c - -o test <<< "int main(){__builtin_add_overflow_p; __builtin_mul_overflow_p;}" <stdin>: In function ‘main’: <stdin>:1:12: error: ‘__builtin_add_overflow_p’ undeclared (first use in this function) <stdin>:1:12: note: each undeclared identifier is reported only once for each function it appears in <stdin>:1:38: error: ‘__builtin_mul_overflow_p’ undeclared (first use in this function) $ gcc-7.3.0 -x c - -o test <<< "int main(){__builtin_add_overflow_p; __builtin_mul_overflow_p;}" $
This is probably related to gnulib, but these should exist in all recent compilers. adding arm to take a look. Please attach emerge --info.
Confirmed in https://gcc.gnu.org/gcc-7/changes.html: New __builtin_add_overflow_p, __builtin_sub_overflow_p, __builtin_mul_overflow_p built-in functions have been added. These work similarly to their siblings without the _p suffix, but do not actually store the result of the arithmetics anywhere, just return whether the operation would overflow. Calls to these built-ins with integer constant arguments evaluate to integer constants expressions.
Created attachment 544048 [details] emerge --info This is obviously somewhat shorted than normal, as it comes from a catalyst stage chroot.
Scratch that one folks - sorry! There was a clash between an id10t and the PEBKAC which resulted in the wrong distcc slave 'client' being invoked on the amd64 box that supports my ARM builders. Thanks to a tip from the cluster team, this amd64 box actually has three distcc daemons with different gcc slots running on different ports, and I had picked the wrong port for this particular build configuration. Thanks all for the pointers tracking this one down. The combination was the GCC features, with the emerge info confirming that gcc-7 was indeed 'correct' but finding the relevant catalyst spec file with the incorrect port number!!