aboutsummaryrefslogtreecommitdiff
path: root/sim
diff options
context:
space:
mode:
authorMichael Meissner <gnu@the-meissners.org>1996-12-31 23:18:55 +0000
committerMichael Meissner <gnu@the-meissners.org>1996-12-31 23:18:55 +0000
commit6ec96a0265136f7077200a7d420031a0f2168964 (patch)
tree986f77532d400f392e632931943a593aacf070ce /sim
parent20868ec6471a8307f1c8650aa274437919136d6c (diff)
downloadgdb-6ec96a0265136f7077200a7d420031a0f2168964.zip
gdb-6ec96a0265136f7077200a7d420031a0f2168964.tar.gz
gdb-6ec96a0265136f7077200a7d420031a0f2168964.tar.bz2
Deal with kill encoding the signal via the exit status.
Diffstat (limited to 'sim')
-rw-r--r--sim/v850/ChangeLog5
-rw-r--r--sim/v850/simops.c9
2 files changed, 11 insertions, 3 deletions
diff --git a/sim/v850/ChangeLog b/sim/v850/ChangeLog
index 3bf8dd8..b1545eb 100644
--- a/sim/v850/ChangeLog
+++ b/sim/v850/ChangeLog
@@ -1,3 +1,8 @@
+Tue Dec 31 18:11:13 1996 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * simops.c (OP_10007E0): Know that kill encodes the signal number
+ via: 0xdead0000 | signal and turn it back into a signal.
+
Fri Dec 27 14:44:06 1996 Michael Meissner <meissner@tiktok.cygnus.com>
* v850_sim.h (SIG_V850_EXIT): Define as -1.
diff --git a/sim/v850/simops.c b/sim/v850/simops.c
index 49fc6e5..e044c46 100644
--- a/sim/v850/simops.c
+++ b/sim/v850/simops.c
@@ -2053,9 +2053,12 @@ OP_10007E0 ()
RETVAL = v850_callback->open (v850_callback, MEMPTR (PARM1), PARM2);
break;
case SYS_exit:
- /* EXIT - caller can look in PARM1 to work out the
- reason */
- State.exception = SIG_V850_EXIT;
+ if ((PARM1 & 0xffff0000) == 0xdead0000 && (PARM1 & 0xffff) != 0)
+ State.exception = PARM1 & 0xffff; /* get signal encoded by kill */
+ else if (PARM1 == 0xdead)
+ State.exception = SIGABRT; /* old libraries */
+ else
+ State.exception = SIG_V850_EXIT; /* PARM1 has exit status encoded */
break;
case SYS_stat: /* added at hmsi */