[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 2/2] configure: Disable W^X on OpenBSD
From: |
Thomas Huth |
Subject: |
Re: [Qemu-devel] [PATCH v3 2/2] configure: Disable W^X on OpenBSD |
Date: |
Thu, 7 Mar 2019 15:57:09 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.0 |
On 07/03/2019 15.28, Philippe Mathieu-Daudé wrote:
> 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>
> ---
> configure | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/configure b/configure
> index cefeb8fcce..abfd60923a 100755
> --- a/configure
> +++ b/configure
> @@ -5835,6 +5835,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
You can use write_c_skeleton for this instead.
Thomas
- [Qemu-devel] [PATCH v3 0/2] OpenBSD: Let QEMU 4.0 be usable from OpenBSD 6.0 and onwards, Philippe Mathieu-Daudé, 2019/03/07
- [Qemu-devel] [PATCH v3 1/2] oslib-posix: Ignore fcntl("/dev/null", F_SETFL, O_NONBLOCK) failure, Philippe Mathieu-Daudé, 2019/03/07
- [Qemu-devel] [PATCH v3 2/2] configure: Disable W^X on OpenBSD, Philippe Mathieu-Daudé, 2019/03/07
- Re: [Qemu-devel] [PATCH v3 2/2] configure: Disable W^X on OpenBSD,
Thomas Huth <=
- Re: [Qemu-devel] [PATCH v3 0/2] OpenBSD: Let QEMU 4.0 be usable from OpenBSD 6.0 and onwards, Daniel P . Berrangé, 2019/03/07
- Re: [Qemu-devel] [PATCH v3 0/2] OpenBSD: Let QEMU 4.0 be usable from OpenBSD 6.0 and onwards, Paolo Bonzini, 2019/03/07