summaryrefslogtreecommitdiffstats
path: root/lib/libc/arch/arm/gen/infinity.c
diff options
context:
space:
mode:
authordrahn <drahn@openbsd.org>2004-02-01 05:30:40 +0000
committerdrahn <drahn@openbsd.org>2004-02-01 05:30:40 +0000
commitd987040f0ee1d2fd1af421f1c0b499fb90b097aa (patch)
treef7aea1ef74ded8cfa6d7dc13e688a5b1f6328f0d /lib/libc/arch/arm/gen/infinity.c
parentstartup files for arm. Partially borrowed from NetBSD. (diff)
downloadwireguard-openbsd-d987040f0ee1d2fd1af421f1c0b499fb90b097aa.tar.xz
wireguard-openbsd-d987040f0ee1d2fd1af421f1c0b499fb90b097aa.zip
arm libc support. From NetBSD. currently supports softfloat.
Diffstat (limited to 'lib/libc/arch/arm/gen/infinity.c')
-rw-r--r--lib/libc/arch/arm/gen/infinity.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/libc/arch/arm/gen/infinity.c b/lib/libc/arch/arm/gen/infinity.c
new file mode 100644
index 00000000000..08f45bc2ee5
--- /dev/null
+++ b/lib/libc/arch/arm/gen/infinity.c
@@ -0,0 +1,20 @@
+/* $NetBSD: infinity.c,v 1.3 2002/02/19 20:08:19 bjh21 Exp $ */
+
+/*
+ * IEEE-compatible infinity.c -- public domain.
+ */
+
+#include <sys/types.h>
+#include <math.h>
+#include <machine/endian.h>
+
+char __infinity[] __attribute__((__aligned__(sizeof(double)))) =
+#if BYTE_ORDER == BIG_ENDIAN
+ { { 0x7f, 0xf0, 0, 0, 0, 0, 0, 0} };
+#else
+#ifdef __VFP_FP__
+ { { 0, 0, 0, 0, 0, 0, 0xf0, 0x7f} };
+#else
+ { { 0, 0, 0xf0, 0x7f, 0, 0, 0, 0} };
+#endif
+#endif