[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL v2 20/31] configure: Disable W^X on OpenBSD
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PULL v2 20/31] configure: Disable W^X on OpenBSD |
Date: |
Mon, 11 Mar 2019 17:55:24 +0100 |
From: Philippe Mathieu-Daudé <address@hidden>
Since OpenBSD 6.0 [1], W^X is enforced by default [2].
TCG requires WX access. Disable W^X if it is available.
This fixes:
# lm32-softmmu/qemu-system-lm32
Could not allocate dynamic translator buffer
# sysctl kern.wxabort=1
kern.wxabort: 0 -> 1
# lm32-softmmu/qemu-system-lm32
mmap: Not supported
Abort trap (core dumped)
# gdb -q lm32-softmmu/qemu-system-lm32 qemu-system-lm32.core
(gdb) bt
#0 0x000017e3c156c50a in _thread_sys___syscall () at {standard input}:5
#1 0x000017e3c15e5d7a in *_libc_mmap (addr=Variable "addr" is not
available.) at /usr/src/lib/libc/sys/mmap.c:47
#2 0x000017e17d9abc8b in alloc_code_gen_buffer () at
/usr/src/qemu/accel/tcg/translate-all.c:1064
#3 0x000017e17d9abd04 in code_gen_alloc (tb_size=0) at
/usr/src/qemu/accel/tcg/translate-all.c:1112
#4 0x000017e17d9abe81 in tcg_exec_init (tb_size=0) at
/usr/src/qemu/accel/tcg/translate-all.c:1149
#5 0x000017e17d9897e9 in tcg_init (ms=0x17e45e456800) at
/usr/src/qemu/accel/tcg/tcg-all.c:66
#6 0x000017e17d9891b8 in accel_init_machine (acc=0x17e3c3f50800,
ms=0x17e45e456800) at /usr/src/qemu/accel/accel.c:63
#7 0x000017e17d989312 in configure_accelerator (ms=0x17e45e456800,
progname=0x7f7fffff07b0 "lm32-softmmu/qemu-system-lm32") at
/usr/src/qemu/accel/accel.c:111
#8 0x000017e17d9d8616 in main (argc=1, argv=0x7f7fffff06b8,
envp=0x7f7fffff06c8) at vl.c:4325
[1] https://www.openbsd.org/faq/upgrade60.html
[2] https://undeadly.org/cgi?action=article&sid=20160527203200
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
---
configure | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/configure b/configure
index fa83e21..cab830a 100755
--- a/configure
+++ b/configure
@@ -5903,6 +5903,17 @@ if test "$mingw32" = "yes" ; then
done
fi
+# Disable OpenBSD W^X if available
+if test "$tcg" = "yes" && test "$targetos" = "OpenBSD"; then
+ cat > $TMPC <<EOF
+ int main(void) { return 0; }
+EOF
+ wx_ldflags="-Wl,-z,wxneeded"
+ if compile_prog "" "$wx_ldflags"; then
+ QEMU_LDFLAGS="$QEMU_LDFLAGS $wx_ldflags"
+ fi
+fi
+
qemu_confdir=$sysconfdir$confsuffix
qemu_moddir=$libdir$confsuffix
qemu_datadir=$datadir$confsuffix
--
1.8.3.1
- [Qemu-devel] [PULL v2 09/31] target-i386: add kvm stubs to user-mode emulators, (continued)
- [Qemu-devel] [PULL v2 09/31] target-i386: add kvm stubs to user-mode emulators, Paolo Bonzini, 2019/03/11
- [Qemu-devel] [PULL v2 13/31] lsi: check if SIGP bit is already set in Wait reselect, Paolo Bonzini, 2019/03/11
- [Qemu-devel] [PULL v2 14/31] update copyright notice, Paolo Bonzini, 2019/03/11
- [Qemu-devel] [PULL v2 16/31] build: remove unnecessary assignments from Makefile.target, Paolo Bonzini, 2019/03/11
- [Qemu-devel] [PULL v2 17/31] build: clean trace/generated-helpers.c, Paolo Bonzini, 2019/03/11
- [Qemu-devel] [PULL v2 19/31] oslib-posix: Ignore fcntl("/dev/null", F_SETFL, O_NONBLOCK) failure, Paolo Bonzini, 2019/03/11
- [Qemu-devel] [PULL v2 18/31] accel: Allow to build QEMU without TCG or KVM support, Paolo Bonzini, 2019/03/11
- [Qemu-devel] [PULL v2 21/31] scsi-disk: Fix crash if request is invaild or disk is no medium, Paolo Bonzini, 2019/03/11
- [Qemu-devel] [PULL v2 22/31] lsi: use ldn_le_p()/stn_le_p(), Paolo Bonzini, 2019/03/11
- [Qemu-devel] [PULL v2 25/31] lsi: use SCSI phase names instead of numbers in trace, Paolo Bonzini, 2019/03/11
- [Qemu-devel] [PULL v2 20/31] configure: Disable W^X on OpenBSD,
Paolo Bonzini <=
- [Qemu-devel] [PULL v2 23/31] lsi: use enum type for s->waiting, Paolo Bonzini, 2019/03/11
- [Qemu-devel] [PULL v2 24/31] lsi: use enum type for s->msg_action, Paolo Bonzini, 2019/03/11
- [Qemu-devel] [PULL v2 26/31] lsi: return dfifo value, Paolo Bonzini, 2019/03/11
- [Qemu-devel] [PULL v2 28/31] exec.c: refactor function flatview_add_to_dispatch(), Paolo Bonzini, 2019/03/11
- [Qemu-devel] [PULL v2 31/31] qemugdb: fix licensing, Paolo Bonzini, 2019/03/11
- [Qemu-devel] [PULL v2 27/31] lsi: 810/895A are always little endian, Paolo Bonzini, 2019/03/11
- [Qemu-devel] [PULL v2 30/31] chardev: add support for authorization for TLS clients, Paolo Bonzini, 2019/03/11
- [Qemu-devel] [PULL v2 29/31] qom: cpu: destroy work_mutex in cpu_common_finalize, Paolo Bonzini, 2019/03/11
- Re: [Qemu-devel] [PULL v2 00/31] Misc patches for 2019-03-09, Peter Maydell, 2019/03/11