From 6af3332a4cbd1ffbc81f74759ef7c5e1a87d2e10 Mon Sep 17 00:00:00 2001 From: Vincent Ren-Wei Chen Date: Tue, 17 Jan 2017 07:31:24 +0100 Subject: nds32: add NPTL/TLS, *context function, libm changes and code cleanup This commit includes following features. 1. Support NPTL/TLS 2. Add libm function which is used to handle FP rounding and excpetions (ex: fclrexcpt,fedisblxcpti,feenablxcpt... ) 3. Add *context function for operating user context (ex: setcontext,getcontext,makecontext... ) 4. Change the return flow from signal handler 5. Cleanup of old code The testsuite only has 2 errors, tst-cpuclock1 and tst-cputimer1, which are related to timing accuracy. (math and locale tests are disabled) Signed-off-by: Vincent Ren-Wei Chen --- libc/sysdeps/linux/nds32/bits/setjmp.h | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'libc/sysdeps/linux/nds32/bits/setjmp.h') diff --git a/libc/sysdeps/linux/nds32/bits/setjmp.h b/libc/sysdeps/linux/nds32/bits/setjmp.h index 92d89003a..e287c2481 100644 --- a/libc/sysdeps/linux/nds32/bits/setjmp.h +++ b/libc/sysdeps/linux/nds32/bits/setjmp.h @@ -24,19 +24,25 @@ #ifndef _BITS_SETJMP_H #define _BITS_SETJMP_H 1 -#ifndef _SETJMP_H +#if !defined _SETJMP_H && !defined _PTHREAD_H # error "Never include directly; use instead." #endif #ifndef _ASM typedef struct { - /* Callee-saved registers r6 - r14, r16 - r19 and r28 - r31. */ - int __regs[31]; + /* Callee-saved registers: r6 - r14, + * * fp, gp, lp, sp: r28 - r31. */ + int __regs[13]; + + /* Floating-Point Configuration Register. */ + int __fpcfg; + + /* Callee-saved fp registers pointer. */ + int __fpregs[32]; + + } __jmp_buf[1] __attribute__((__aligned__ (8))); - /* Program counter. */ - void * __pc; - } __jmp_buf[1]; #endif #endif /* bits/setjmp.h */ -- cgit v1.2.3