On 05/16/2014 05:00 PM, Eric Blake wrote: > adding gnulib, as m4 merely borrows the content from gnulib. > > On 05/16/2014 09:52 AM, Santiago Vila wrote: >> Hello. >> >> I received the following report from the Debian bug system. >> [ Please keep the Cc: lines when replying. Thanks ]. >> >> ----- Forwarded message from Erwan Prioul <er...@linux.vnet.ibm.com> ----- >> >> Date: Fri, 16 May 2014 16:56:11 +0200 >> From: Erwan Prioul <er...@linux.vnet.ibm.com> >> To: Debian Bug Tracking System <sub...@bugs.debian.org> >> Subject: Bug#748361: m4: build tests are failing on ppc64el >> >> Package: m4 >> Version: 1.4.17-2 >> Severity: normal >> Tags: upstream patch >> >> Dear Maintainer, >> >> I've noticed build tests are failing on ppc64el. >> >> In Ubuntu, the attached patch was applied to fix the issue (Fix >> detection of floating point endianness). >> >> Thanks for considering the patch. >> >> Erwan Prioul. >> >> -- System Information: >> Debian Release: jessie/sid >> APT prefers unstable >> APT policy: (500, 'unstable') >> Architecture: ppc64el (ppc64le) >> >> Kernel: Linux 3.13-1-powerpc64le (SMP w/1 CPU core) >> Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) >> Shell: /bin/sh linked to /bin/dash >> >> -- no debconf information >> >> >> Description: Fix detection of floating point endianness >> See https://lists.gnu.org/archive/html/bug-gnulib/2013-12/msg00104.html >> Author: Alan Modra <amo...@gmail.com> >> Author: Colin Watson <cjwat...@ubuntu.com> >> Forwarded: no >> Last-Update: 2013-12-18 >> >> Index: b/tests/test-isnanl.h >> =================================================================== >> --- a/tests/test-isnanl.h >> +++ b/tests/test-isnanl.h >> @@ -24,6 +24,12 @@ >> #include "nan.h" >> #include "macros.h" >> >> +#ifdef __FLOAT_WORD_ORDER__ >> +# define FLOAT_BIG_ENDIAN (__FLOAT_WORD_ORDER__ != __ORDER_LITTLE_ENDIAN__) >> +#else >> +# define FLOAT_BIG_ENDIAN (LDBL_EXPBIT0_WORD < NWORDS / 2) >> +#endif >> + >> int >> main () >> { >> @@ -56,10 +62,10 @@ >> # if LDBL_EXPBIT0_BIT > 0 >> m.word[LDBL_EXPBIT0_WORD] ^= (unsigned int) 1 << (LDBL_EXPBIT0_BIT - 1); >> # else >> - m.word[LDBL_EXPBIT0_WORD + (LDBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)] >> + m.word[LDBL_EXPBIT0_WORD + (FLOAT_BIG_ENDIAN ? 1 : - 1)] >> ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1); >> # endif >> - m.word[LDBL_EXPBIT0_WORD + (LDBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)] >> + m.word[LDBL_EXPBIT0_WORD + (FLOAT_BIG_ENDIAN ? 1 : - 1)] >> |= (unsigned int) 1 << LDBL_EXPBIT0_BIT; >> ASSERT (isnanl (m.value)); >> } >> Index: b/tests/test-signbit.c >> =================================================================== >> --- a/tests/test-signbit.c >> +++ b/tests/test-signbit.c >> @@ -36,6 +36,12 @@ >> double zerod = 0.0; >> long double zerol = 0.0L; >> >> +#ifdef __FLOAT_WORD_ORDER__ >> +# define FLOAT_BIG_ENDIAN (__FLOAT_WORD_ORDER__ != __ORDER_LITTLE_ENDIAN__) >> +#else >> +# define FLOAT_BIG_ENDIAN (LDBL_EXPBIT0_WORD < NWORDS / 2) >> +#endif >> + >> static void >> test_signbitf () >> { >> @@ -156,10 +162,10 @@ >> # if LDBL_EXPBIT0_BIT > 0 >> m.word[LDBL_EXPBIT0_WORD] ^= (unsigned int) 1 << (LDBL_EXPBIT0_BIT - 1); >> # else >> - m.word[LDBL_EXPBIT0_WORD + (LDBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)] >> + m.word[LDBL_EXPBIT0_WORD + (FLOAT_BIG_ENDIAN ? 1 : - 1)] >> ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1); >> # endif >> - m.word[LDBL_EXPBIT0_WORD + (LDBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)] >> + m.word[LDBL_EXPBIT0_WORD + (FLOAT_BIG_ENDIAN ? 1 : - 1)] >> |= (unsigned int) 1 << LDBL_EXPBIT0_BIT; >> (void) signbit (m.value); >> #undef NWORDS >> >> >> >> ----- End forwarded message -----
A different patch from Ulrich Weigand was just merged to address this: http://git.sv.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=e962c07c0 thanks, Pádraig.