Hi Bruno,

I see the following test failure on Android 16 after building a testdir
of all modules:

    $ cat gltests/test-snan-1.log 
    test-snan-1.c:99: assertion 'fetestexcept (FE_INVALID)' failed
    Aborted
    FAIL test-snan-1 (exit status: 134)

Here is what I ran ./configure with:

    $ ./configure CC='clang -target aarch64-unknown-linux-android28'
    $ make check

My understanding is that Bionic imports all it's math functions from the
BSDs. Based on the symbols this case looks like same as why
FreeBSD/arm64 fails:

    $ nm ./gltests/test-snan-1 | grep -F __addtf
    0000000000008d0c T __addtf3

Okay to disable this test with the attached patch?

Collin

>From f9e2752faf18fc11b933a95f971bdf53622b1e2f Mon Sep 17 00:00:00 2001
Message-ID: <f9e2752faf18fc11b933a95f971bdf53622b1e2f.1761015036.git.collin.fu...@gmail.com>
From: Collin Funk <[email protected]>
Date: Mon, 20 Oct 2025 19:49:45 -0700
Subject: [PATCH] snan tests: Avoid test failure on Android.

* tests/test-snan-1.c (main): Disable test that is known to fail.
---
 ChangeLog           | 5 +++++
 tests/test-snan-1.c | 6 +++---
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 959300b1ca..87fc8281c5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2025-10-20  Collin Funk  <[email protected]>
+
+	snan tests: Avoid test failure on Android.
+	* tests/test-snan-1.c (main): Disable test that is known to fail.
+
 2025-10-20  Bruno Haible  <[email protected]>
 
 	glob: Add support for Android.
diff --git a/tests/test-snan-1.c b/tests/test-snan-1.c
index a958e9af0b..75359a3813 100644
--- a/tests/test-snan-1.c
+++ b/tests/test-snan-1.c
@@ -83,14 +83,14 @@ main ()
   #endif
   /* This test does not work on eglibc 2.13/mips64
      (bug in libc function __addtf3).
-     This test does not work on FreeBSD/arm64 and OpenBSD/mips64
-     (bug in libc function __addtf3).
+     This test does not work on FreeBSD/arm64, Android/arm64,
+     and OpenBSD/mips64 (bug in libc function __addtf3).
      This test does not work on FreeBSD/sparc64 and NetBSD/sparc64
      (bug in libc function _Qp_add).
      This test does not work on MSVC/i386, because of the general IA-32
      problem (see above) and 'long double' == 'double'.  */
   #if !((((__GLIBC__ == 2 && __GLIBC_MINOR__ < 19 && defined __mips64) \
-          || ((defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__) && (defined __aarch64__ || defined __mips64__ || defined __sparc))) \
+          || ((defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__ || defined __ANDROID__) && (defined __aarch64__ || defined __mips64__ || defined __sparc))) \
          && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE) \
         || ((defined __i386 || defined _M_IX86) && HAVE_SAME_LONG_DOUBLE_AS_DOUBLE))
   {
-- 
2.51.0

Reply via email to