diff options
author | Frank Ch. Eigler <fche@redhat.com> | 2000-06-20 21:12:33 +0000 |
---|---|---|
committer | Frank Ch. Eigler <fche@redhat.com> | 2000-06-20 21:12:33 +0000 |
commit | 2ea1b9f17a96d0d7c744f1beb8a0b926befc6c22 (patch) | |
tree | 4549035c6d350613613d6cf4d6afddb0e3b628a8 /sim/h8300 | |
parent | 874af7f00a14303c5a7de5c9803209926a7e7430 (diff) | |
download | gdb-2ea1b9f17a96d0d7c744f1beb8a0b926befc6c22.tar.gz |
* build fix
2000-06-20 Frank Ch. Eigler <fche@redhat.com>
* compile.c: Don't include "wait.h".
(sim_resume): Use local SIM_WIFEXITED and SIM_WIFSIGNALED macros
instead of WIF* from host.
Diffstat (limited to 'sim/h8300')
-rw-r--r-- | sim/h8300/ChangeLog | 6 | ||||
-rw-r--r-- | sim/h8300/compile.c | 26 |
2 files changed, 11 insertions, 21 deletions
diff --git a/sim/h8300/ChangeLog b/sim/h8300/ChangeLog index 4721e890dea..e3885dedb74 100644 --- a/sim/h8300/ChangeLog +++ b/sim/h8300/ChangeLog @@ -1,3 +1,9 @@ +2000-06-20 Frank Ch. Eigler <fche@redhat.com> + + * compile.c: Don't include "wait.h". + (sim_resume): Use local SIM_WIFEXITED and SIM_WIFSIGNALED macros + instead of WIF* from host. + 2000-06-13 Frank Ch. Eigler <fche@redhat.com> * compile.c, writecode.c: Correct typo. diff --git a/sim/h8300/compile.c b/sim/h8300/compile.c index 81aca5eb747..bbd28e50084 100644 --- a/sim/h8300/compile.c +++ b/sim/h8300/compile.c @@ -30,7 +30,6 @@ #ifdef HAVE_SYS_PARAM_H #include <sys/param.h> #endif -#include "wait.h" #include "ansidecl.h" #include "bfd.h" #include "callback.h" @@ -1355,32 +1354,17 @@ sim_resume (sd, step, siggnal) cpu.exception = SIGILL; goto end; case O (O_SLEEP, SN): - /* The format of r0 is defined by devo/include/wait.h. */ -#if 0 /* FIXME: Ugh. A breakpoint is the sleep insn. */ - if (WIFEXITED (cpu.regs[0])) - { - cpu.state = SIM_STATE_EXITED; - cpu.exception = WEXITSTATUS (cpu.regs[0]); - } - else if (WIFSTOPPED (cpu.regs[0])) - { - cpu.state = SIM_STATE_STOPPED; - cpu.exception = WSTOPSIG (cpu.regs[0]); - } - else - { - cpu.state = SIM_STATE_SIGNALLED; - cpu.exception = WTERMSIG (cpu.regs[0]); - } -#else /* FIXME: Doesn't this break for breakpoints when r0 contains just the right (er, wrong) value? */ cpu.state = SIM_STATE_STOPPED; - if (! WIFEXITED (cpu.regs[0]) && WIFSIGNALED (cpu.regs[0])) + /* The format of r0 is defined by target newlib. Expand + the macros here instead of looking for .../sys/wait.h. */ +#define SIM_WIFEXITED(v) (((v) & 0xff) == 0) +#define SIM_WIFSIGNALED(v) (((v) & 0x7f) > 0 && (((v) & 0x7f) < 0x7f)) + if (! SIM_WIFEXITED (cpu.regs[0]) && SIM_WIFSIGNALED (cpu.regs[0])) cpu.exception = SIGILL; else cpu.exception = SIGTRAP; -#endif goto end; case O (O_BPT, SN): cpu.state = SIM_STATE_STOPPED; |