Disable SSE optimizations on i386/amd64 for SlowBcopy.
It is supposed to be slow, and when such instructions are used to copy data from/to mapped video memory, some hypervisors (e.g. KVM, Microsoft Hyper-V) can generate SIGILL or SIGBUS exceptions, causing Xorg to crash. Bug report to OpenBSD by Max Parmer, fix from FreeBSD (Dimitry Andric) via kettenis@ ok kettenis@
This commit is contained in:
parent
38475bb3b2
commit
b8da768ee9
@ -7,6 +7,11 @@ libmisc_la_SOURCES = SlowBcopy.c
|
||||
|
||||
AM_CPPFLAGS = $(XORG_INCS)
|
||||
|
||||
AM_CFLAGS = $(XORG_CFLAGS) $(DIX_CFLAGS)
|
||||
if I386_VIDEO
|
||||
NOSSE_CFLAGS = -mno-sse
|
||||
endif
|
||||
|
||||
AM_CFLAGS = $(XORG_CFLAGS) $(DIX_CFLAGS) $(NOSSE_CFLAGS)
|
||||
|
||||
|
||||
EXTRA_DIST = $(I386_SRCS) $(PORTIO_SRCS)
|
||||
|
@ -475,7 +475,8 @@ libmisc_la_SOURCES = SlowBcopy.c
|
||||
|
||||
#AM_LDFLAGS = -r
|
||||
AM_CPPFLAGS = $(XORG_INCS)
|
||||
AM_CFLAGS = $(XORG_CFLAGS) $(DIX_CFLAGS)
|
||||
@I386_VIDEO_TRUE@NOSSE_CFLAGS = -mno-sse
|
||||
AM_CFLAGS = $(XORG_CFLAGS) $(DIX_CFLAGS) $(NOSSE_CFLAGS)
|
||||
EXTRA_DIST = $(I386_SRCS) $(PORTIO_SRCS)
|
||||
all: all-am
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user