aboutsummaryrefslogtreecommitdiff
path: root/newlib/libc/stdlib
diff options
context:
space:
mode:
authorIgor Venevtsev <igor.venevtsev@gmail.com>2016-03-31 12:12:00 +0300
committerCorinna Vinschen <corinna@vinschen.de>2016-04-04 16:32:07 +0200
commit5d3ad3b123b7c121d7a6eac27fb13016171e27bc (patch)
tree1addf58b9430f0d224f6775dc90dd36b6d1e62b8 /newlib/libc/stdlib
parent44b72b43d6e867408a1ce6bc7df6d60a5c968183 (diff)
downloadnewlib-5d3ad3b123b7c121d7a6eac27fb13016171e27bc.zip
newlib-5d3ad3b123b7c121d7a6eac27fb13016171e27bc.tar.gz
newlib-5d3ad3b123b7c121d7a6eac27fb13016171e27bc.tar.bz2
Add Intel MCU target
Intel MCU System V ABI are incompartible with i386 System V ABI: o Minimum instruction set is Intel Pentium ISA minus x87 instructions o No x87 or vector registers o First three args are passed in %eax, %edx and %ecx o Full specification available here: https://github.com/hjl-tools/x86-psABI/wiki/iamcu-psABI-0.7.pdf newlib/ * configure.host: Add new ix86-*-elfiamcu target newlib/libc/include/ * setjmp.h: Change _JBLEN for Intel MCU target newlib/libc/machine/i386/ * memchr.S: (memchr) Target-specific size-optimized version * memcmp.S: (memcmp) Likewise * memcpy.S: (memcpy) Likewise * memmove.S: (memmove) Likewise * memset.S: (memset) Likewise * setjmp.S: (setjmp) Likewise * strchr.S: (strchr) Likewise * strlen.S: (strlen) Likewise newlib/libc/stdlib/ * srtold.c: (__flt_rounds) Disable for Intel MCU
Diffstat (limited to 'newlib/libc/stdlib')
-rw-r--r--newlib/libc/stdlib/strtold.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/newlib/libc/stdlib/strtold.c b/newlib/libc/stdlib/strtold.c
index a6d415d..1128b74 100644
--- a/newlib/libc/stdlib/strtold.c
+++ b/newlib/libc/stdlib/strtold.c
@@ -35,7 +35,8 @@ POSSIBILITY OF SUCH DAMAGE.
#ifdef _HAVE_LONG_DOUBLE
-#if defined (__x86_64__) || defined (__i386__)
+/* Intel MCU has no x87 floating point unit */
+#if (defined (__x86_64__) || defined (__i386__)) && !defined (__iamcu__)
static const int map[] = {
1, /* round to nearest */
3, /* round to zero */