summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/builtins/CMakeLists.txt2
-rw-r--r--lib/builtins/int_lib.h6
-rw-r--r--test/builtins/CMakeLists.txt5
-rw-r--r--test/builtins/Unit/comparedf2_test.c2
-rw-r--r--test/builtins/Unit/comparesf2_test.c2
-rw-r--r--test/builtins/Unit/eqdf2vfp_test.c2
-rw-r--r--test/builtins/Unit/eqsf2vfp_test.c2
-rw-r--r--test/builtins/Unit/fixdfsivfp_test.c2
-rw-r--r--test/builtins/Unit/fixsfsivfp_test.c2
-rw-r--r--test/builtins/Unit/fixunssfsivfp_test.c2
-rw-r--r--test/builtins/Unit/gedf2vfp_test.c2
-rw-r--r--test/builtins/Unit/gesf2vfp_test.c2
-rw-r--r--test/builtins/Unit/gtdf2vfp_test.c2
-rw-r--r--test/builtins/Unit/gtsf2vfp_test.c2
-rw-r--r--test/builtins/Unit/ledf2vfp_test.c2
-rw-r--r--test/builtins/Unit/lesf2vfp_test.c2
-rw-r--r--test/builtins/Unit/ltdf2vfp_test.c2
-rw-r--r--test/builtins/Unit/ltsf2vfp_test.c2
-rw-r--r--test/builtins/Unit/mulsc3_test.c2
-rw-r--r--test/builtins/Unit/nedf2vfp_test.c2
-rw-r--r--test/builtins/Unit/nesf2vfp_test.c2
-rw-r--r--test/builtins/Unit/truncdfhf2_test.c2
-rw-r--r--test/builtins/Unit/truncdfsf2_test.c2
-rw-r--r--test/builtins/Unit/truncsfhf2_test.c2
-rw-r--r--test/builtins/Unit/unorddf2vfp_test.c2
-rw-r--r--test/builtins/Unit/unordsf2vfp_test.c2
26 files changed, 13 insertions, 46 deletions
diff --git a/lib/builtins/CMakeLists.txt b/lib/builtins/CMakeLists.txt
index ad9059c33..3f648dcb3 100644
--- a/lib/builtins/CMakeLists.txt
+++ b/lib/builtins/CMakeLists.txt
@@ -499,7 +499,7 @@ else ()
# Needed for clear_cache on debug mode, due to r7's usage in inline asm.
# Release mode already sets it via -O2/3, Debug mode doesn't.
if (${arch} STREQUAL "armhf")
- list(APPEND BUILTIN_CFLAGS -fomit-frame-pointer)
+ list(APPEND BUILTIN_CFLAGS -fomit-frame-pointer -DCOMPILER_RT_ARMHF_TARGET)
endif()
add_compiler_rt_runtime(clang_rt.builtins
diff --git a/lib/builtins/int_lib.h b/lib/builtins/int_lib.h
index 39eee18d9..8a202dde7 100644
--- a/lib/builtins/int_lib.h
+++ b/lib/builtins/int_lib.h
@@ -32,7 +32,11 @@
#if __ARM_EABI__
# define ARM_EABI_FNALIAS(aeabi_name, name) \
void __aeabi_##aeabi_name() __attribute__((alias("__" #name)));
-# define COMPILER_RT_ABI __attribute__((pcs("aapcs")))
+# ifdef COMPILER_RT_ARMHF_TARGET
+# define COMPILER_RT_ABI
+# else
+# define COMPILER_RT_ABI __attribute__((pcs("aapcs")))
+# endif
#else
# define ARM_EABI_FNALIAS(aeabi_name, name)
# define COMPILER_RT_ABI
diff --git a/test/builtins/CMakeLists.txt b/test/builtins/CMakeLists.txt
index fa7a0f4ad..f37e46d3a 100644
--- a/test/builtins/CMakeLists.txt
+++ b/test/builtins/CMakeLists.txt
@@ -19,6 +19,11 @@ foreach(arch ${BUILTIN_SUPPORTED_ARCH})
set(BUILTINS_TEST_TARGET_ARCH ${arch})
string(TOLOWER "-${arch}-${OS_NAME}" BUILTINS_TEST_CONFIG_SUFFIX)
get_test_cc_for_arch(${arch} BUILTINS_TEST_TARGET_CC BUILTINS_TEST_TARGET_CFLAGS)
+ if (${arch} STREQUAL "armhf")
+ list(APPEND BUILTINS_TEST_TARGET_CFLAGS -fomit-frame-pointer -DCOMPILER_RT_ARMHF_TARGET)
+ string(REPLACE ";" " " BUILTINS_TEST_TARGET_CFLAGS "${BUILTINS_TEST_TARGET_CFLAGS}")
+ endif()
+
string(TOUPPER ${arch} ARCH_UPPER_CASE)
set(CONFIG_NAME ${ARCH_UPPER_CASE}${OS_NAME}Config)
configure_lit_site_cfg(
diff --git a/test/builtins/Unit/comparedf2_test.c b/test/builtins/Unit/comparedf2_test.c
index a7db7a433..844690197 100644
--- a/test/builtins/Unit/comparedf2_test.c
+++ b/test/builtins/Unit/comparedf2_test.c
@@ -1,6 +1,4 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- cmpdf2_test.c - Test __cmpdf2 -------------------------------------===//
//
diff --git a/test/builtins/Unit/comparesf2_test.c b/test/builtins/Unit/comparesf2_test.c
index 9f42d9784..1b5902f37 100644
--- a/test/builtins/Unit/comparesf2_test.c
+++ b/test/builtins/Unit/comparesf2_test.c
@@ -1,6 +1,4 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- cmpsf2_test.c - Test __cmpsf2 -------------------------------------===//
//
diff --git a/test/builtins/Unit/eqdf2vfp_test.c b/test/builtins/Unit/eqdf2vfp_test.c
index 549c37e1a..69dd37b8f 100644
--- a/test/builtins/Unit/eqdf2vfp_test.c
+++ b/test/builtins/Unit/eqdf2vfp_test.c
@@ -1,6 +1,4 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- eqdf2vfp_test.c - Test __eqdf2vfp ---------------------------------===//
//
diff --git a/test/builtins/Unit/eqsf2vfp_test.c b/test/builtins/Unit/eqsf2vfp_test.c
index 628b0fd75..9c8dc1659 100644
--- a/test/builtins/Unit/eqsf2vfp_test.c
+++ b/test/builtins/Unit/eqsf2vfp_test.c
@@ -1,6 +1,4 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- eqsf2vfp_test.c - Test __eqsf2vfp ---------------------------------===//
//
diff --git a/test/builtins/Unit/fixdfsivfp_test.c b/test/builtins/Unit/fixdfsivfp_test.c
index 3cd420aa6..33b4d2408 100644
--- a/test/builtins/Unit/fixdfsivfp_test.c
+++ b/test/builtins/Unit/fixdfsivfp_test.c
@@ -1,6 +1,4 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- fixdfsivfp_test.c - Test __fixdfsivfp -----------------------------===//
//
diff --git a/test/builtins/Unit/fixsfsivfp_test.c b/test/builtins/Unit/fixsfsivfp_test.c
index 0e233a5f8..ee33a1dc9 100644
--- a/test/builtins/Unit/fixsfsivfp_test.c
+++ b/test/builtins/Unit/fixsfsivfp_test.c
@@ -1,6 +1,4 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- fixsfsivfp_test.c - Test __fixsfsivfp -----------------------------===//
//
diff --git a/test/builtins/Unit/fixunssfsivfp_test.c b/test/builtins/Unit/fixunssfsivfp_test.c
index f745d6f55..c1d8ed77f 100644
--- a/test/builtins/Unit/fixunssfsivfp_test.c
+++ b/test/builtins/Unit/fixunssfsivfp_test.c
@@ -1,6 +1,4 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- fixunssfsivfp_test.c - Test __fixunssfsivfp -----------------------===//
//
diff --git a/test/builtins/Unit/gedf2vfp_test.c b/test/builtins/Unit/gedf2vfp_test.c
index 17cca9f22..ad72083b4 100644
--- a/test/builtins/Unit/gedf2vfp_test.c
+++ b/test/builtins/Unit/gedf2vfp_test.c
@@ -1,6 +1,4 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- gedf2vfp_test.c - Test __gedf2vfp ---------------------------------===//
//
diff --git a/test/builtins/Unit/gesf2vfp_test.c b/test/builtins/Unit/gesf2vfp_test.c
index 240880acb..8a855e12f 100644
--- a/test/builtins/Unit/gesf2vfp_test.c
+++ b/test/builtins/Unit/gesf2vfp_test.c
@@ -1,6 +1,4 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- gesf2vfp_test.c - Test __gesf2vfp ---------------------------------===//
//
diff --git a/test/builtins/Unit/gtdf2vfp_test.c b/test/builtins/Unit/gtdf2vfp_test.c
index 9180ec248..e6eb545db 100644
--- a/test/builtins/Unit/gtdf2vfp_test.c
+++ b/test/builtins/Unit/gtdf2vfp_test.c
@@ -1,6 +1,4 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- gtdf2vfp_test.c - Test __gtdf2vfp ---------------------------------===//
//
diff --git a/test/builtins/Unit/gtsf2vfp_test.c b/test/builtins/Unit/gtsf2vfp_test.c
index 52e77fee2..e0442c6cd 100644
--- a/test/builtins/Unit/gtsf2vfp_test.c
+++ b/test/builtins/Unit/gtsf2vfp_test.c
@@ -1,6 +1,4 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- gtsf2vfp_test.c - Test __gtsf2vfp ---------------------------------===//
//
diff --git a/test/builtins/Unit/ledf2vfp_test.c b/test/builtins/Unit/ledf2vfp_test.c
index b24832377..f0cd56eab 100644
--- a/test/builtins/Unit/ledf2vfp_test.c
+++ b/test/builtins/Unit/ledf2vfp_test.c
@@ -1,6 +1,4 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- ledf2vfp_test.c - Test __ledf2vfp ---------------------------------===//
//
diff --git a/test/builtins/Unit/lesf2vfp_test.c b/test/builtins/Unit/lesf2vfp_test.c
index c8ca59045..02ae182e6 100644
--- a/test/builtins/Unit/lesf2vfp_test.c
+++ b/test/builtins/Unit/lesf2vfp_test.c
@@ -1,6 +1,4 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- lesf2vfp_test.c - Test __lesf2vfp ---------------------------------===//
//
diff --git a/test/builtins/Unit/ltdf2vfp_test.c b/test/builtins/Unit/ltdf2vfp_test.c
index 238a6f07c..1edb319d4 100644
--- a/test/builtins/Unit/ltdf2vfp_test.c
+++ b/test/builtins/Unit/ltdf2vfp_test.c
@@ -1,6 +1,4 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- ltdf2vfp_test.c - Test __ltdf2vfp ---------------------------------===//
//
diff --git a/test/builtins/Unit/ltsf2vfp_test.c b/test/builtins/Unit/ltsf2vfp_test.c
index 837e0a800..2fc0c1127 100644
--- a/test/builtins/Unit/ltsf2vfp_test.c
+++ b/test/builtins/Unit/ltsf2vfp_test.c
@@ -1,6 +1,4 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- ltsf2vfp_test.c - Test __ltsf2vfp ---------------------------------===//
//
diff --git a/test/builtins/Unit/mulsc3_test.c b/test/builtins/Unit/mulsc3_test.c
index 4eac07e8d..6b38908fc 100644
--- a/test/builtins/Unit/mulsc3_test.c
+++ b/test/builtins/Unit/mulsc3_test.c
@@ -1,4 +1,6 @@
// RUN: %clang_builtins %s %librt -lm -o %t && %run %t
+// XFAIL: armhf-target-arch
+// See pr32261
//===-- mulsc3_test.c - Test __mulsc3 -------------------------------------===//
//
// The LLVM Compiler Infrastructure
diff --git a/test/builtins/Unit/nedf2vfp_test.c b/test/builtins/Unit/nedf2vfp_test.c
index 46bca5ae9..536917af3 100644
--- a/test/builtins/Unit/nedf2vfp_test.c
+++ b/test/builtins/Unit/nedf2vfp_test.c
@@ -1,6 +1,4 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- nedf2vfp_test.c - Test __nedf2vfp ---------------------------------===//
//
diff --git a/test/builtins/Unit/nesf2vfp_test.c b/test/builtins/Unit/nesf2vfp_test.c
index b6491700a..bb0149087 100644
--- a/test/builtins/Unit/nesf2vfp_test.c
+++ b/test/builtins/Unit/nesf2vfp_test.c
@@ -1,6 +1,4 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- nesf2vfp_test.c - Test __nesf2vfp ---------------------------------===//
//
diff --git a/test/builtins/Unit/truncdfhf2_test.c b/test/builtins/Unit/truncdfhf2_test.c
index 94595fc97..b172811a1 100644
--- a/test/builtins/Unit/truncdfhf2_test.c
+++ b/test/builtins/Unit/truncdfhf2_test.c
@@ -1,6 +1,4 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===--------------- truncdfhf2_test.c - Test __truncdfhf2 ----------------===//
//
diff --git a/test/builtins/Unit/truncdfsf2_test.c b/test/builtins/Unit/truncdfsf2_test.c
index a692edee8..04bebf4c6 100644
--- a/test/builtins/Unit/truncdfsf2_test.c
+++ b/test/builtins/Unit/truncdfsf2_test.c
@@ -1,6 +1,4 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===--------------- truncdfsf2_test.c - Test __truncdfsf2 ----------------===//
//
diff --git a/test/builtins/Unit/truncsfhf2_test.c b/test/builtins/Unit/truncsfhf2_test.c
index b83d8fd8a..2240c14a5 100644
--- a/test/builtins/Unit/truncsfhf2_test.c
+++ b/test/builtins/Unit/truncsfhf2_test.c
@@ -1,6 +1,4 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===--------------- truncsfhf2_test.c - Test __truncsfhf2 ----------------===//
//
diff --git a/test/builtins/Unit/unorddf2vfp_test.c b/test/builtins/Unit/unorddf2vfp_test.c
index 7fe3894bc..21938d044 100644
--- a/test/builtins/Unit/unorddf2vfp_test.c
+++ b/test/builtins/Unit/unorddf2vfp_test.c
@@ -1,6 +1,4 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- unorddf2vfp_test.c - Test __unorddf2vfp ---------------------------===//
//
diff --git a/test/builtins/Unit/unordsf2vfp_test.c b/test/builtins/Unit/unordsf2vfp_test.c
index 670d3351b..712665294 100644
--- a/test/builtins/Unit/unordsf2vfp_test.c
+++ b/test/builtins/Unit/unordsf2vfp_test.c
@@ -1,6 +1,4 @@
// RUN: %clang_builtins %s %librt -o %t && %run %t
-// XFAIL: armhf-target-arch
-// This test fails for armhf (see pr32261)
//===-- unordsf2vfp_test.c - Test __unordsf2vfp ---------------------------===//
//