summaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/makefile2
-rw-r--r--src/lib/math.C31
2 files changed, 32 insertions, 1 deletions
diff --git a/src/lib/makefile b/src/lib/makefile
index 5ad3dd0de..59a12b350 100644
--- a/src/lib/makefile
+++ b/src/lib/makefile
@@ -22,7 +22,7 @@
# IBM_PROLOG_END
ROOTPATH = ../..
-OBJS = string.o stdlib.o assert.o stdio.o
+OBJS = string.o stdlib.o assert.o stdio.o math.o
OBJS += syscall_stub.o syscall_task.o syscall_msg.o
OBJS += syscall_mmio.o syscall_time.o sync.o syscall_misc.o
OBJS += syscall_mm.o cxxtest_data.o
diff --git a/src/lib/math.C b/src/lib/math.C
new file mode 100644
index 000000000..8958eebf5
--- /dev/null
+++ b/src/lib/math.C
@@ -0,0 +1,31 @@
+// IBM_PROLOG_BEGIN_TAG
+// This is an automatically generated prolog.
+//
+// $Source: src/lib/math.C $
+//
+// IBM CONFIDENTIAL
+//
+// COPYRIGHT International Business Machines Corp. 2011
+//
+// p1
+//
+// Object Code Only (OCO) source materials
+// Licensed Internal Code Source Materials
+// IBM HostBoot Licensed Internal Code
+//
+// The source code for this program is not published or other-
+// wise divested of its trade secrets, irrespective of what has
+// been deposited with the U.S. Copyright Office.
+//
+// Origin: 30
+//
+// IBM_PROLOG_END
+#include <math.h>
+
+double sqrt(double x)
+{
+ register double _x = x;
+ asm volatile("fsqrt %0, %1" : "=f" (_x) : "f" (_x));
+ return _x;
+}
+
OpenPOWER on IntegriCloud