From 4db48d17ebac131585d036ccf11eec935e4cc126 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 25 Feb 2016 11:43:18 -0600 Subject: [PATCH] newlib/configure.host: Turn off sti/cli for i386 setjmp for i386-rtems* When running RTEMS paravirtualized in user space, the cli/sti instructions can't be used. But I can't see why they are needed in either user or supervisor state. Turning the use of them off for RTEMS. This code is unmodified since the beginning of the repository, so I have no insight into why it was done. I may even have been the one to add them. Absolutely no idea except they aren't necessary. --- newlib/configure.host | 2 ++ 1 file changed, 2 insertions(+) diff --git a/newlib/configure.host b/newlib/configure.host index baaaa7e34..8b0846e43 100644 --- a/newlib/configure.host +++ b/newlib/configure.host @@ -592,6 +592,8 @@ case "${host}" in newlib_cflags="${newlib_cflags} -DMALLOC_PROVIDED -DEXIT_PROVIDED -DSIGNAL_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_BLKSIZE -DHAVE_FCNTL -DHAVE_ASSERT_FUNC" # turn off unsupported items in posix directory newlib_cflags="${newlib_cflags} -D_NO_GETLOGIN -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS -D_NO_SIGSET -D_NO_WORDEXP -D_NO_POPEN -D_NO_POSIX_SPAWN" + # turn off using cli/sti in i386 setjmp/longjmp + newlib_cflags="${newlib_cflags} -D_I386MACH_ALLOW_HW_INTERRUPTS" ;; # VxWorks supplies its own version of malloc, and the newlib one # doesn't work because VxWorks does not have sbrk.