This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
[PATCH] newlib/configure.host: Turn off sti/cli for i386 setjmp for i386-rtems*
- From: Joel Sherrill <joel at rtems dot org>
- To: newlib at sourceware dot org
- Cc: Joel Sherrill <joel at rtems dot org>
- Date: Thu, 25 Feb 2016 14:44:17 -0600
- Subject: [PATCH] newlib/configure.host: Turn off sti/cli for i386 setjmp for i386-rtems*
- Authentication-results: sourceware.org; auth=none
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 5fa37d4..f6abb5c 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.
--
1.8.3.1