aboutsummaryrefslogtreecommitdiff
path: root/sim/v850/simops.c
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/v850/simops.c
parent20868ec6471a8307f1c8650aa274437919136d6c (diff)
downloadfsf-binutils-gdb-6ec96a0265136f7077200a7d420031a0f2168964.zip
fsf-binutils-gdb-6ec96a0265136f7077200a7d420031a0f2168964.tar.gz
fsf-binutils-gdb-6ec96a0265136f7077200a7d420031a0f2168964.tar.bz2
Deal with kill encoding the signal via the exit status.
Diffstat (limited to 'sim/v850/simops.c')
-rw-r--r--sim/v850/simops.c9
1 files changed, 6 insertions, 3 deletions
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 */