summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog12
-rw-r--r--debian/patches/float-endian-detection.patch67
-rw-r--r--debian/patches/series1
3 files changed, 80 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index 90d51bf..fd158d9 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,15 @@
+libunistring (0.9.3-5.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Run dh-autoreconf to update config.{sub,guess} and
+ {libtool,aclocal}.m4, necessary for some new ports. Thanks Fernando
+ Seiti Furusato. (Closes: #755745)
+ * Add patch float-endian-detection.patch which fixes detection of
+ floating point endianness, gathered from Ubuntu, created by Colin
+ Watson.
+
+ -- Manuel A. Fernandez Montecelo <mafm@debian.org> Mon, 28 Jul 2014 22:47:32 +0100
+
libunistring (0.9.3-5) unstable; urgency=low
* Standards-Version 3.9.2 (no changes).
diff --git a/debian/patches/float-endian-detection.patch b/debian/patches/float-endian-detection.patch
new file mode 100644
index 0000000..66bed0d
--- /dev/null
+++ b/debian/patches/float-endian-detection.patch
@@ -0,0 +1,67 @@
+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
+
+Index: b/tests/test-isnanl.h
+===================================================================
+--- a/tests/test-isnanl.h
++++ b/tests/test-isnanl.h
+@@ -38,6 +38,12 @@
+ long double minus_zero = -0.0L;
+ #endif
+
++#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 ()
+ {
+@@ -70,10 +76,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
+@@ -56,6 +56,12 @@
+ long double minus_zerol = -0.0L;
+ #endif
+
++#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 ()
+ {
+@@ -176,10 +182,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/series b/debian/patches/series
new file mode 100644
index 0000000..c1d7c66
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+float-endian-detection.patch