diff options
author | zeising <zeising@FreeBSD.org> | 2019-01-09 15:25:55 +0800 |
---|---|---|
committer | zeising <zeising@FreeBSD.org> | 2019-01-09 15:25:55 +0800 |
commit | f9b3b60b9f78402764fac715af83c9c43db62fd8 (patch) | |
tree | 2b8d1cc19480442750edd3bb5f4cde2b03190802 /x11-servers/xorg-server | |
parent | 89a579c316b78873c58bf40042a7e03aa0b6d58d (diff) | |
download | freebsd-ports-gnome-f9b3b60b9f78402764fac715af83c9c43db62fd8.tar.gz freebsd-ports-gnome-f9b3b60b9f78402764fac715af83c9c43db62fd8.tar.zst freebsd-ports-gnome-f9b3b60b9f78402764fac715af83c9c43db62fd8.zip |
Fix illegal instruction when running in kvm/qemu
Fix illegal instruction when running xserver in kvm or qemu (and possibly
others) virtualisation. This is solved by disabling sse instructions while
compiling the xf86SlowBcopy (don't ask) function.
This fix was originally committed by dim as r396167 in 2015, and then most
likely accidentally removed in r433863 in 2017.
Bump portrevision
Original commit message:
> Disable use of SSE instructions in Xorg's xf86SlowBcopy() function.
>
> 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.
PR: 202643
Reported by: nogcjx@fastmail.fm
Requested by: dim
Diagnose and fix by: dim
MFH: 2019Q1
Diffstat (limited to 'x11-servers/xorg-server')
-rw-r--r-- | x11-servers/xorg-server/Makefile | 2 | ||||
-rw-r--r-- | x11-servers/xorg-server/files/patch-Xserver-hw-xfree86-os-support-misc-Makefile.in | 12 |
2 files changed, 13 insertions, 1 deletions
diff --git a/x11-servers/xorg-server/Makefile b/x11-servers/xorg-server/Makefile index 06dfd7110a8c..8052600a8717 100644 --- a/x11-servers/xorg-server/Makefile +++ b/x11-servers/xorg-server/Makefile @@ -3,7 +3,7 @@ PORTNAME?= xorg-server PORTVERSION?= 1.18.4 -PORTREVISION?= 10 +PORTREVISION?= 11 PORTEPOCH?= 1 CATEGORIES= x11-servers MASTER_SITES= XORG/individual/xserver diff --git a/x11-servers/xorg-server/files/patch-Xserver-hw-xfree86-os-support-misc-Makefile.in b/x11-servers/xorg-server/files/patch-Xserver-hw-xfree86-os-support-misc-Makefile.in new file mode 100644 index 000000000000..8a05ae6b33cb --- /dev/null +++ b/x11-servers/xorg-server/files/patch-Xserver-hw-xfree86-os-support-misc-Makefile.in @@ -0,0 +1,12 @@ +--- hw/xfree86/os-support/misc/Makefile.in.orig 2015-09-23 10:21:18.470900000 +0200 ++++ hw/xfree86/os-support/misc/Makefile.in 2015-09-23 10:22:34.979974000 +0200 +@@ -530,7 +530,8 @@ + + #AM_LDFLAGS = -r + AM_CPPFLAGS = $(XORG_INCS) +-AM_CFLAGS = $(XORG_CFLAGS) $(DIX_CFLAGS) ++@I386_VIDEO_TRUE@I386_VIDEO_CFLAGS = -mno-sse ++AM_CFLAGS = $(I386_VIDEO_CFLAGS) $(XORG_CFLAGS) $(DIX_CFLAGS) + EXTRA_DIST = $(I386_SRCS) $(PORTIO_SRCS) + all: all-am + |