[PATCH] newlib/configure.host: Turn off sti/cli for i386 setjmp for i386-rtems*

Corinna Vinschen vinschen@redhat.com
Fri Feb 26 10:44:00 GMT 2016


On Feb 25 14:44, Joel Sherrill wrote:
> 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.

Patch is ok, please apply.

Would it make sense to enable _I386MACH_ALLOW_HW_INTERRUPTS by default
on x86/x86_64?


Thanks,
Corinna

-- 
Corinna Vinschen
Cygwin Maintainer
Red Hat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/newlib/attachments/20160226/1277dfb5/attachment.sig>


More information about the Newlib mailing list