summaryrefslogtreecommitdiffstats
path: root/linux-user/sparc
diff options
context:
space:
mode:
authorPeter Maydell2018-11-13 12:45:16 +0100
committerPeter Maydell2018-11-13 12:45:16 +0100
commit186ac05f749c69e98030f037aa930ff2bc4ad7fb (patch)
tree9c9dcffb95d672d8a1cfb9aa72ff39b217d1f3d5 /linux-user/sparc
parentMerge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20181113'... (diff)
parentlinux-user: Add support for SO_REUSEPORT (diff)
downloadqemu-186ac05f749c69e98030f037aa930ff2bc4ad7fb.tar.gz
qemu-186ac05f749c69e98030f037aa930ff2bc4ad7fb.tar.xz
qemu-186ac05f749c69e98030f037aa930ff2bc4ad7fb.zip
Merge remote-tracking branch 'remotes/vivier2/tags/linux-user-for-3.1-pull-request' into staging
- gdb signal handling fix - add SO_REUSEPORT - remove dead-code # gpg: Signature made Mon 12 Nov 2018 20:48:23 GMT # gpg: using RSA key F30C38BD3F2FBE3C # gpg: Good signature from "Laurent Vivier <lvivier@redhat.com>" # gpg: aka "Laurent Vivier <laurent@vivier.eu>" # gpg: aka "Laurent Vivier (Red Hat) <lvivier@redhat.com>" # Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F 5173 F30C 38BD 3F2F BE3C * remotes/vivier2/tags/linux-user-for-3.1-pull-request: linux-user: Add support for SO_REUSEPORT linux-user: Clean up nios2 main loop signal handling linux-user: Don't call gdb_handlesig() before queue_signal() linux-user: Remove dead error-checking code Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'linux-user/sparc')
-rw-r--r--linux-user/sparc/cpu_loop.c16
-rw-r--r--linux-user/sparc/signal.c2
2 files changed, 4 insertions, 14 deletions
diff --git a/linux-user/sparc/cpu_loop.c b/linux-user/sparc/cpu_loop.c
index 91f714afc6..7d5b337b97 100644
--- a/linux-user/sparc/cpu_loop.c
+++ b/linux-user/sparc/cpu_loop.c
@@ -268,18 +268,10 @@ void cpu_loop (CPUSPARCState *env)
}
break;
case EXCP_DEBUG:
- {
- int sig;
-
- sig = gdb_handlesig(cs, TARGET_SIGTRAP);
- if (sig)
- {
- info.si_signo = sig;
- info.si_errno = 0;
- info.si_code = TARGET_TRAP_BRKPT;
- queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info);
- }
- }
+ info.si_signo = TARGET_SIGTRAP;
+ info.si_errno = 0;
+ info.si_code = TARGET_TRAP_BRKPT;
+ queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info);
break;
case EXCP_ATOMIC:
cpu_exec_step_atomic(cs);
diff --git a/linux-user/sparc/signal.c b/linux-user/sparc/signal.c
index e44e99993c..295e415b1e 100644
--- a/linux-user/sparc/signal.c
+++ b/linux-user/sparc/signal.c
@@ -256,8 +256,6 @@ void setup_frame(int sig, struct target_sigaction *ka,
/* t 0x10 */
val32 = 0x91d02010;
__put_user(val32, &sf->insns[1]);
- if (err)
- goto sigsegv;
}
unlock_user(sf, sf_addr, sizeof(struct target_signal_frame));
return;