> Date: Mon, 7 Aug 2017 16:46:42 +0200 (CEST) > From: Mark Kettenis <mark.kette...@xs4all.nl> > > > Date: Sun, 6 Aug 2017 19:44:49 -0700 > > From: Max Parmer <m...@trystero.is> > > > > >Synopsis: X server segfaults in VESA driver as Linux KVM guest > > >Category: system > > >Environment: > > System : OpenBSD 6.1 > > Details : OpenBSD 6.1-current (GENERIC.MP) #45: Sat Aug 5 16:22:04 > > MDT 2017 > > > > dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP > > > > Architecture: OpenBSD.amd64 > > Machine : amd64 > > >Description: > > startx crashes with an illegal instruction leaving a jumble of > > colors on screen. > > > > After enabling suid coredumps I retrieved this backtrace: > > (gdb) bt > > #0 0x0000169016f7e620 in xf86SlowBcopy () from /usr/X11R6/bin/Xorg > > #1 0x00001692b393238a in VESASaveRestore () from > > /usr/X11R6/lib/modules/drivers/vesa_drv.so > > #2 0x00001692b39314ea in VESAScreenInit () from > > /usr/X11R6/lib/modules/drivers/vesa_drv.so > > #3 0x0000169016f147d3 in AddScreen () from /usr/X11R6/bin/Xorg > > #4 0x0000169016f5dcb2 in InitOutput () from /usr/X11R6/bin/Xorg > > #5 0x0000169016f18774 in dix_main () from /usr/X11R6/bin/Xorg > > #6 0x0000169016f01914 in _start () from /usr/X11R6/bin/Xorg > > #7 0x0000169016f018c0 in ?? () from /usr/X11R6/bin/Xorg > > #8 0x0000000000000000 in ?? () > > Looks like clang is uptimizing xf86SlowBcopy() to use SSE > instructions. I wouldn't be surprised that those are indeed > unsupported on memory mapped device memory. Since the whole purpose > of xf86SlowBcopy to do a bytewise unoptimized copy, we need to tell > the compiler not to optimize this code.
FreeBSD fixed this: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=202643