After doing a binary search on debian/patches/series (on amd64), it looks like the culprit for this bug is pr33763.diff. And looking at that Bugzilla report, it certainly makes sense that this would affect s_isnan.i, which contains an always_inline definition of __isnan followed by a non-inline definition.
I've also created a reduced test case, attached. -- Daniel Schepler
typedef unsigned long long uint64_t; typedef long long int64_t; extern int __isnan (double __value) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern __typeof (__isnan) __isnan __asm__ ("" "__GI___isnan") __attribute__ ((visibility ("hidden"))); extern __inline __attribute__ ((__always_inline__)) int __isnan (double d) { uint64_t di; do { int64_t i_; asm ("movd" " %1, %0" : "=rm" (i_) : "x" ((double) (d))); (di) = i_; } while (0); return (di & 0x7fffffffffffffffull) > 0x7ff0000000000000ull; } int __isnan(double x) { int64_t hx; do { int64_t i_; asm ("movd" " %1, %0" : "=rm" (i_) : "x" ((double) (x))); (hx) = i_; } while (0); hx &= 0x7fffffffffffffffUL; hx = 0x7ff0000000000000UL - hx; return (int)(((uint64_t)hx)>>63); } extern __typeof (__isnan) __EI___isnan __asm__("" "__isnan"); extern __typeof (__isnan) __EI___isnan __attribute((alias ("" "__GI___isnan"))); extern __typeof (__isnan) isnan __attribute__ ((weak, alias ("__isnan")));