__JMP_BUF_SP is the index of a stack pointer slot in the __jmp_buf. According to ARM __sigsetjmp code it does not depend on configuration parameter __UCLIBC_HAS_FPU__. Make its definition unconditional.
__JMP_BUF_SP is used in the unwind_stop through the _JMPBUF_CFA_UNWINDS_ADJ macro, this change fixes cleanup routines call on thread cancellation in configurations with hard FP.
Signed-off-by: Max Filippov jcmvbkbc@gmail.com --- libc/sysdeps/linux/arm/jmpbuf-offsets.h | 4 ---- 1 file changed, 4 deletions(-)
diff --git a/libc/sysdeps/linux/arm/jmpbuf-offsets.h b/libc/sysdeps/linux/arm/jmpbuf-offsets.h index f0e587f..93b50af 100644 --- a/libc/sysdeps/linux/arm/jmpbuf-offsets.h +++ b/libc/sysdeps/linux/arm/jmpbuf-offsets.h @@ -16,8 +16,4 @@ License along with the GNU C Library; if not, see http://www.gnu.org/licenses/. */
-#ifdef __UCLIBC_HAS_FPU__ -#define __JMP_BUF_SP 20 -#else #define __JMP_BUF_SP 8 -#endif
Hi Waldemar,
On Tue, Mar 1, 2016 at 10:57 PM, Waldemar Brodkorb wbx@uclibc-ng.org wrote:
with this patch now ARMv6 and ARMv7 are down to ZERO testsuite failures! Xtensa was the first one ;)
Cool (:
You wanna fix more? :)
Yeah, one thing at a time works for me. I'm still about to get back to nommu stuff.
Hi Max, Max Filippov wrote,
Right, we jumped over it. I tried to compile without UCLIBC_BROKEN_MUNMAP, but the problem still exist. If you just execute the malloc test, everything is fine. If you execute the complete suite, malloc test stalls. I think we have a OOM error. So other tests consuming to much RAM which is not freed.
I thought the broken munmap was some old Linux noMMU bug. But I haven't found any details about it. Is it still thee in 4.1.x? Is it architecture dependent?
best regards Waldemar