summaryrefslogtreecommitdiff
path: root/emulators/qemu-devel/files/extra-patch-bsd-user-trapsig
blob: d19de61578e3c890327054f476f515b9a05e633e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
From nox Mon Sep 17 00:00:00 2001
From: Juergen Lock <nox@jelal.kn-bremen.de>
Date: 06 Jul 2014 16:37:00 +0200
Subject: bsd-user: writing to readonly page can cause trap 0xc on FreeBSD too

Signed-off-by: Juergen Lock <nox@jelal.kn-bremen.de>

--- a/user-exec.c
+++ b/user-exec.c
@@ -230,7 +230,12 @@ int cpu_signal_handler(int host_signum, 
 
     pc = PC_sig(uc);
     return handle_cpu_signal(pc, (unsigned long)info->si_addr,
+#if defined(__FreeBSD__) || defined(__DragonFly__)
+                             (TRAP_sig(uc) == 0xe ||
+                              TRAP_sig(uc) == 0xc) ?
+#else
                              TRAP_sig(uc) == 0xe ?
+#endif
                              (ERROR_sig(uc) >> 1) & 1 : 0,
                              &MASK_sig(uc), puc);
 }