Use gcc to build and test x86_64 long double code.

Clang/llvm x86_64 configuration of long double is still
incompatible with gcc.
https://llvm.org/bugs/show_bug.cgi?id=23897

BUG: 21899249
Change-Id: I47fd6d0ce2daa84ae0035e7885a4d90e4c3056f7
diff --git a/libc/Android.mk b/libc/Android.mk
index 2c8f554..de0bb41 100644
--- a/libc/Android.mk
+++ b/libc/Android.mk
@@ -580,6 +580,13 @@
 endif
 
 use_clang := $(USE_CLANG_PLATFORM_BUILD)
+
+# Clang/llvm has incompatible long double (fp128) for x86_64.
+# https://llvm.org/bugs/show_bug.cgi?id=23897
+ifeq ($(TARGET_ARCH),x86_64)
+  use_clang := false
+endif
+
 ifeq ($(use_clang),)
   use_clang := false
 endif
diff --git a/libm/Android.mk b/libm/Android.mk
index bc4c86d..7a7e3b0 100644
--- a/libm/Android.mk
+++ b/libm/Android.mk
@@ -3,6 +3,12 @@
 
 bionic_coverage := false
 
+# Clang/llvm has incompatible long double (fp128) for x86_64.
+# https://llvm.org/bugs/show_bug.cgi?id=23897
+ifeq ($(TARGET_ARCH),x86_64)
+libm_clang := false
+endif
+
 # -----------------------------------------------------------------------------
 # libm.a
 # -----------------------------------------------------------------------------
@@ -473,7 +479,7 @@
 LOCAL_C_INCLUDES += $(LOCAL_PATH)/upstream-freebsd/lib/msun/src/
 LOCAL_C_INCLUDES_64 += $(LOCAL_PATH)/upstream-freebsd/lib/msun/ld128/
 
-LOCAL_CLANG := true
+LOCAL_CLANG := $(libm_clang)
 LOCAL_ARM_MODE := arm
 LOCAL_CFLAGS := \
     -DFLT_EVAL_METHOD=0 \
@@ -514,7 +520,7 @@
 LOCAL_LDFLAGS := -Wl,--version-script,$(LOCAL_PATH)/libm.map
 
 LOCAL_MODULE := libm
-LOCAL_CLANG := true
+LOCAL_CLANG := $(libm_clang)
 LOCAL_SYSTEM_SHARED_LIBRARIES := libc
 LOCAL_WHOLE_STATIC_LIBRARIES := libm
 
diff --git a/tests/Android.mk b/tests/Android.mk
index 84d3426..8aba70b 100644
--- a/tests/Android.mk
+++ b/tests/Android.mk
@@ -137,6 +137,11 @@
 libBionicStandardTests_ldlibs_host := \
     -lrt \
 
+# Clang/llvm has incompatible long double (fp128) for x86_64.
+# https://llvm.org/bugs/show_bug.cgi?id=23897
+# This affects most of math_test.cpp.
+libBionicStandardTests_clang_target := false
+
 module := libBionicStandardTests
 module_tag := optional
 build_type := target