diff options
author | Jeff Johnston <jjohnstn@redhat.com> | 2013-05-06 18:23:09 +0000 |
---|---|---|
committer | Jeff Johnston <jjohnstn@redhat.com> | 2013-05-06 18:23:09 +0000 |
commit | c16862d85b48cb1e00d3b68e8781a6822716a82f (patch) | |
tree | 3f5d1ef55ef97e9f089acdf0c30b62aa99670cd0 /newlib/libc/include | |
parent | d81e052096a745bbe60e20a225377665abd2efdf (diff) | |
download | cygnal-c16862d85b48cb1e00d3b68e8781a6822716a82f.tar.gz cygnal-c16862d85b48cb1e00d3b68e8781a6822716a82f.tar.bz2 cygnal-c16862d85b48cb1e00d3b68e8781a6822716a82f.zip |
2013-05-06 Sandra Loosemore <sandra@codesourcery.com>
* configure.host (machine_dir, sys_dir, syscall_dir, newlib_cflags):
Add settings for nios2*.
* libc/include/machine/ieeefp.h (IEEE_BIG_ENDIAN, IEEE_LITTLE_ENDIAN):
Likewise.
* libc/include/machine/setjmp.h (JBLEN, JBTYPE): Likewise.
* libc/machine/configure.in: Add nios2 subdir.
* libc/machine/configure: Regenerated.
* libc/machine/nios2/Makefile.am: New.
* libc/machine/nios2/Makefile.in: New (autogenerated).
* libc/machine/nios2/aclocal.m4: New (copied from mips version).
* libc/machine/nios2/configure.in: New.
* libc/machine/nios2/configure: New (autogenerated).
* libc/machine/nios2/setjmp.s: New.
Diffstat (limited to 'newlib/libc/include')
-rw-r--r-- | newlib/libc/include/machine/ieeefp.h | 8 | ||||
-rw-r--r-- | newlib/libc/include/machine/setjmp.h | 18 |
2 files changed, 26 insertions, 0 deletions
diff --git a/newlib/libc/include/machine/ieeefp.h b/newlib/libc/include/machine/ieeefp.h index f8795c072..bf6060c53 100644 --- a/newlib/libc/include/machine/ieeefp.h +++ b/newlib/libc/include/machine/ieeefp.h @@ -388,6 +388,14 @@ #define __SMALL_BITFIELDS /* 16 Bit INT */ #endif +#ifdef __NIOS2__ +# ifdef __nios2_big_endian__ +# define __IEEE_BIG_ENDIAN +# else +# define __IEEE_LITTLE_ENDIAN +# endif +#endif + #ifndef __IEEE_BIG_ENDIAN #ifndef __IEEE_LITTLE_ENDIAN #error Endianess not declared!! diff --git a/newlib/libc/include/machine/setjmp.h b/newlib/libc/include/machine/setjmp.h index 97749c0cb..1c68ce45c 100644 --- a/newlib/libc/include/machine/setjmp.h +++ b/newlib/libc/include/machine/setjmp.h @@ -287,6 +287,24 @@ _BEGIN_STD_C #define _JBTYPE unsigned char #endif +/* + * There are two versions of setjmp()/longjmp(): + * 1) Compiler (gcc) built-in versions. + * 2) Function-call versions. + * + * The built-in versions are used most of the time. When used, gcc replaces + * calls to setjmp()/longjmp() with inline assembly code. The built-in + * versions save/restore a variable number of registers. + + * _JBLEN is set to 40 to be ultra-safe with the built-in versions. + * It only needs to be 12 for the function-call versions + * but this data structure is used by both versions. + */ +#ifdef __NIOS2__ +#define _JBLEN 40 +#define _JBTYPE unsigned long +#endif + #ifdef __RX__ #define _JBLEN 0x44 #endif |