soft-fp's quad.h does not work in the case where two unsigned long long words are being used but unsigned long is only 32 bits (as in MIPS64 N32). Patch: http://sourceware.org/ml/libc-alpha/2006-06/msg00011.html If you'd prefer a larger patch where all such bit-fields for all floating-point formats are changed to _FP_W_TYPE, please let me know.
Has anybody looked at this patch?
This patch looks correct.
Subject: Bug 2831 CVSROOT: /cvs/glibc Module name: libc Changes by: jakub@sourceware.org 2007-03-20 12:10:36 Modified files: . : ChangeLog soft-fp : double.h extended.h quad.h Log message: * soft-fp/double.h (_FP_UNION_D): Use _FP_W_TYPE for frac bit-fields. * soft-fp/extended.h (_FP_UNION_E): Likewise. [BZ #2831] * soft-fp/quad.h (_FP_UNION_Q): Use _FP_W_TYPE for frac bit-fields. Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/libc/ChangeLog.diff?cvsroot=glibc&r1=1.10562&r2=1.10563 http://sourceware.org/cgi-bin/cvsweb.cgi/libc/soft-fp/double.h.diff?cvsroot=glibc&r1=1.7&r2=1.8 http://sourceware.org/cgi-bin/cvsweb.cgi/libc/soft-fp/extended.h.diff?cvsroot=glibc&r1=1.7&r2=1.8 http://sourceware.org/cgi-bin/cvsweb.cgi/libc/soft-fp/quad.h.diff?cvsroot=glibc&r1=1.8&r2=1.9
Fixed.