[newlib-cygwin] Enable HW interrupt setup on x86/x86_64 systems by default

Corinna Vinschen corinna@sourceware.org
Fri Feb 26 17:52:00 GMT 2016


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=b9217601f849b8f0a3f4a491e26b3692287ee89d

commit b9217601f849b8f0a3f4a491e26b3692287ee89d
Author: Corinna Vinschen <corinna@vinschen.de>
Date:   Fri Feb 26 18:52:46 2016 +0100

    Enable HW interrupt setup on x86/x86_64 systems by default
    
    	* configure.host: Define _I386MACH_DISABLE_HW_INTERRUPTS on rdos.
    	Remove setting _I386MACH_ALLOW_HW_INTERRUPTS anywhere else.
    	* libc/machine/i386/i386mach.h: Replace test for
    	_I386MACH_ALLOW_HW_INTERRUPTS with test for
    	!_I386MACH_DISABLE_HW_INTERRUPTS.
    	* libc/machine/x86_64/x86_64mach.h: Ditto.
    	* libc/sys/linux/machine/i386/i386mach.h: Ditto.
    	* libm/machine/i386/i386mach.h: Ditto.
    
    Signed-off-by: Corinna Vinschen <corinna@vinschen.de>

Diff:
---
 newlib/configure.host                         | 4 +---
 newlib/libc/machine/i386/i386mach.h           | 2 +-
 newlib/libc/machine/x86_64/x86_64mach.h       | 2 +-
 newlib/libc/sys/linux/machine/i386/i386mach.h | 2 +-
 newlib/libm/machine/i386/i386mach.h           | 2 +-
 5 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/newlib/configure.host b/newlib/configure.host
index f6abb5c..baaaa7e 100644
--- a/newlib/configure.host
+++ b/newlib/configure.host
@@ -451,6 +451,7 @@ case "${host}" in
   i[34567]86-*-rdos*)
 	sys_dir=rdos
 	newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES"
+	newlib_cflags="${newlib_cflags} -D_I386MACH_DISABLE_HW_INTERRUPTS"
 	;;
   i[34567]86-*-sco*)
 	sys_dir=sysvi386
@@ -469,7 +470,6 @@ case "${host}" in
 	default_newlib_io_pos_args="yes"
 	#newlib_cflags="${newlib_cflags} -Werror" # DEBUGGING ONLY;BREAKS BUILD
 	newlib_cflags="${newlib_cflags} -Wall"
-	newlib_cflags="${newlib_cflags} -D_I386MACH_ALLOW_HW_INTERRUPTS"
 	newlib_cflags="${newlib_cflags} -DHAVE_FCNTL"
 	newlib_cflags="${newlib_cflags} -DHAVE_GETOPT"
 	newlib_cflags="${newlib_cflags} -D_NO_POSIX_SPAWN"
@@ -592,8 +592,6 @@ 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.
diff --git a/newlib/libc/machine/i386/i386mach.h b/newlib/libc/machine/i386/i386mach.h
index 23c3219..403d24b 100644
--- a/newlib/libc/machine/i386/i386mach.h
+++ b/newlib/libc/machine/i386/i386mach.h
@@ -74,7 +74,7 @@
 #define SOTYPE_FUNCTION(sym)
 #endif
 
-#ifdef _I386MACH_ALLOW_HW_INTERRUPTS
+#ifndef _I386MACH_DISABLE_HW_INTERRUPTS
 #define        __CLI
 #define        __STI
 #else
diff --git a/newlib/libc/machine/x86_64/x86_64mach.h b/newlib/libc/machine/x86_64/x86_64mach.h
index 84cb2f8..05e6392 100644
--- a/newlib/libc/machine/x86_64/x86_64mach.h
+++ b/newlib/libc/machine/x86_64/x86_64mach.h
@@ -104,7 +104,7 @@
 #define SOTYPE_FUNCTION(sym)
 #endif
 
-#ifdef _I386MACH_ALLOW_HW_INTERRUPTS
+#ifndef _I386MACH_DISABLE_HW_INTERRUPTS
 #define        __CLI
 #define        __STI
 #else
diff --git a/newlib/libc/sys/linux/machine/i386/i386mach.h b/newlib/libc/sys/linux/machine/i386/i386mach.h
index 23c3219..403d24b 100644
--- a/newlib/libc/sys/linux/machine/i386/i386mach.h
+++ b/newlib/libc/sys/linux/machine/i386/i386mach.h
@@ -74,7 +74,7 @@
 #define SOTYPE_FUNCTION(sym)
 #endif
 
-#ifdef _I386MACH_ALLOW_HW_INTERRUPTS
+#ifndef _I386MACH_DISABLE_HW_INTERRUPTS
 #define        __CLI
 #define        __STI
 #else
diff --git a/newlib/libm/machine/i386/i386mach.h b/newlib/libm/machine/i386/i386mach.h
index 23c3219..403d24b 100644
--- a/newlib/libm/machine/i386/i386mach.h
+++ b/newlib/libm/machine/i386/i386mach.h
@@ -74,7 +74,7 @@
 #define SOTYPE_FUNCTION(sym)
 #endif
 
-#ifdef _I386MACH_ALLOW_HW_INTERRUPTS
+#ifndef _I386MACH_DISABLE_HW_INTERRUPTS
 #define        __CLI
 #define        __STI
 #else



More information about the Newlib-cvs mailing list