This is the mail archive of the
libc-ports@sources.redhat.com
mailing list for the libc-ports project.
Wrap test-fpucw.c for ARM
- From: "Joseph S. Myers" <joseph at codesourcery dot com>
- To: <libc-ports at sourceware dot org>
- Date: Tue, 18 Jun 2013 00:31:49 +0000
- Subject: Wrap test-fpucw.c for ARM
I've applied this patch to stop math/test-fpucw failing for soft-float
ARM when testing on non-VFP hardware, using what seemed the least
fragile of the approaches discussed: adding an ARM version of
test-fpucw.c that defines _LIBC_TEST and using _LIBC_TEST in the
fpu_control.h condition that determines whether to use VFP definitions
even for soft-float.
2013-06-18 Joseph Myers <joseph@codesourcery.com>
* sysdeps/arm/fpu_control.h [!_LIBC && __SOFTFP__]: Change
condition to [!(_LIBC && !_LIBC_TEST) && __SOFTFP__].
* sysdeps/arm/test-fpucw.c: New file.
diff --git a/ports/sysdeps/arm/fpu_control.h b/ports/sysdeps/arm/fpu_control.h
index 2fee79f..3ceb58b 100644
--- a/ports/sysdeps/arm/fpu_control.h
+++ b/ports/sysdeps/arm/fpu_control.h
@@ -19,7 +19,7 @@
#ifndef _FPU_CONTROL_H
#define _FPU_CONTROL_H
-#if !defined(_LIBC) && defined(__SOFTFP__)
+#if !(defined(_LIBC) && !defined(_LIBC_TEST)) && defined(__SOFTFP__)
#define _FPU_RESERVED 0xffffffff
#define _FPU_DEFAULT 0x00000000
diff --git a/ports/sysdeps/arm/test-fpucw.c b/ports/sysdeps/arm/test-fpucw.c
new file mode 100644
index 0000000..9fc721c
--- /dev/null
+++ b/ports/sysdeps/arm/test-fpucw.c
@@ -0,0 +1,5 @@
+/* Defining _LIBC_TEST stops fpu_control.h from defining the
+ hard-float versions of macros (for use with dynamic VFP detection)
+ when compiling for soft-float. */
+#define _LIBC_TEST
+#include <math/test-fpucw.c>
--
Joseph S. Myers
joseph@codesourcery.com