diff options
Diffstat (limited to 'debian/patches')
-rw-r--r-- | debian/patches/0100-float-endian-detection.patch | 63 | ||||
-rw-r--r-- | debian/patches/0700-multiarch-libc.patch | 54 | ||||
-rw-r--r-- | debian/patches/series | 2 |
3 files changed, 119 insertions, 0 deletions
diff --git a/debian/patches/0100-float-endian-detection.patch b/debian/patches/0100-float-endian-detection.patch new file mode 100644 index 0000000..d094516 --- /dev/null +++ b/debian/patches/0100-float-endian-detection.patch @@ -0,0 +1,63 @@ +Description: Fix detection of floating point endianness + See https://lists.gnu.org/archive/html/bug-gnulib/2013-12/msg00104.html +Author: Alan Modra <amodra@gmail.com> +Author: Colin Watson <cjwatson@ubuntu.com> +Forwarded: no +Last-Update: 2013-12-18 + +--- 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 () + { +@@ -65,10 +71,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)); + } +--- 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 () + { +@@ -166,10 +172,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 diff --git a/debian/patches/0700-multiarch-libc.patch b/debian/patches/0700-multiarch-libc.patch new file mode 100644 index 0000000..1686bcb --- /dev/null +++ b/debian/patches/0700-multiarch-libc.patch @@ -0,0 +1,54 @@ +From: Helmut Grohne <helmut@subdivi.de> +Subject: fix @HAVE_STDINT_H@ once stdint.h moves to /usr/include/<triplet> + +Index: trunk/lib/Makefile.am +=================================================================== +--- trunk.orig/lib/Makefile.am ++++ trunk/lib/Makefile.am +@@ -101,30 +101,15 @@ unistring/stdint.h : $(STDINT_H) stdint. + echo '#if __GLIBC__ >= 2'; \ + echo '#include <stdint.h>'; \ + echo '#else'; \ +- if test -f /usr/include/stdint.h; then \ +- HAVE_STDINT_H='1'; \ +- else \ +- HAVE_STDINT_H='defined __MINGW32__ || defined __HAIKU__ || ((__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)) && !defined __NetBSD__)'; \ +- fi; \ +- if test -f /usr/include/inttypes.h; then \ +- HAVE_INTTYPES_H='1'; \ +- else \ +- HAVE_INTTYPES_H='defined __MINGW32__ || defined __HAIKU__'; \ +- fi; \ +- if test -f /usr/include/sys/inttypes.h; then \ +- HAVE_SYS_INTTYPES_H='1'; \ +- else \ +- HAVE_SYS_INTTYPES_H='0'; \ +- fi; \ + sed_escape_ampersands='s/&/\\&/g'; \ + HAVE_STDINT_H=`echo "$$HAVE_STDINT_H" | sed -e "$$sed_escape_ampersands"`; \ +- sed -e 's/@''HAVE_STDINT_H''@/'"$$HAVE_STDINT_H"'/g' \ ++ sed -e 's/@''HAVE_STDINT_H''@/$(or @HAVE_STDINT_H@,0)/g' \ + -e 's|@''INCLUDE_NEXT''@|include|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@||g' \ + -e 's|@''NEXT_STDINT_H''@|<stdint.h>|g' \ + -e 's/@''HAVE_SYS_TYPES_H''@/1/g' \ +- -e 's/@''HAVE_INTTYPES_H''@/'"$$HAVE_INTTYPES_H"'/g' \ +- -e 's/@''HAVE_SYS_INTTYPES_H''@/'"$$HAVE_SYS_INTTYPES_H"'/g' \ ++ -e 's/@''HAVE_INTTYPES_H''@/$(or @HAVE_INTTYPES_H@,0)/g' \ ++ -e 's/@''HAVE_SYS_INTTYPES_H''@/$(or @HAVE_SYS_INTTYPES_H@,0)/g' \ + -e 's/@''HAVE_SYS_BITYPES_H''@/0/g' \ + < $(srcdir)/stdint.mini.h; \ + echo '#endif'; \ +Index: trunk/configure.ac +=================================================================== +--- trunk.orig/configure.ac ++++ trunk/configure.ac +@@ -142,6 +142,8 @@ version_subminor=`echo "${VERSION}" | se + HEXVERSION=0x`$AWK 'BEGIN { printf("%02X%02X%02X"',"$version_major","$version_minor","$version_subminor"') }'` + AC_SUBST([HEXVERSION]) + ++AC_CHECK_HEADERS_ONCE(stdint.h inttypes.h sys/inttypes.h) ++ + dnl Check for tools needed for formatting the documentation. + ac_aux_dir_abs=`cd $ac_aux_dir && pwd` + AC_PATH_PROG([TEXI2DVI], [texi2dvi], [$ac_aux_dir_abs/missing texi2dvi]) diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..f107ca4 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,2 @@ +0100-float-endian-detection.patch +0700-multiarch-libc.patch |