[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#678589: Cause of glibc git FTBFS bug



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")));

Reply to: