diff options
author | Igor Venevtsev <igor.venevtsev@gmail.com> | 2016-03-31 12:12:00 +0300 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2016-04-04 16:32:07 +0200 |
commit | 5d3ad3b123b7c121d7a6eac27fb13016171e27bc (patch) | |
tree | 1addf58b9430f0d224f6775dc90dd36b6d1e62b8 /newlib/libc/stdlib | |
parent | 44b72b43d6e867408a1ce6bc7df6d60a5c968183 (diff) | |
download | newlib-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.c | 3 |
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 */ |