2003-01-31 Michael Snyder <msnyder@redhat.com>
* libc/sys/h8300hms/_exit.c (_exit, __exit): Slip a magic cookie into registers r1 and r2, so that the simulator can distinguish this trap from a breakpoint trap. Copied from libgloss.
This commit is contained in:
parent
b85498d44c
commit
a74181ee01
|
@ -1,3 +1,9 @@
|
||||||
|
2003-01-31 Michael Snyder <msnyder@redhat.com>
|
||||||
|
|
||||||
|
* libc/sys/h8300hms/_exit.c (_exit, __exit): Slip a magic cookie
|
||||||
|
into registers r1 and r2, so that the simulator can distinguish
|
||||||
|
this trap from a breakpoint trap. Copied from libgloss.
|
||||||
|
|
||||||
2003-01-31 Michael Snyder <msnyder@redhat.com>
|
2003-01-31 Michael Snyder <msnyder@redhat.com>
|
||||||
|
|
||||||
* libc/sys/h8300hms/crt0.S (_start): Change local label
|
* libc/sys/h8300hms/crt0.S (_start): Change local label
|
||||||
|
|
|
@ -10,7 +10,13 @@ void
|
||||||
_DEFUN (_exit,(rc),
|
_DEFUN (_exit,(rc),
|
||||||
int rc)
|
int rc)
|
||||||
{
|
{
|
||||||
short rc2 = rc << 8;
|
short rc2;
|
||||||
|
|
||||||
|
rc2 = 0xdead;
|
||||||
|
asm("mov.w %0,r1" : : "r" (rc2) : "r1");
|
||||||
|
rc2 = 0xbeef;
|
||||||
|
asm("mov.w %0,r2" : : "r" (rc2) : "r2");
|
||||||
|
rc2 = rc << 8;
|
||||||
asm("mov.w %0,r0\n\tsleep" : : "r" (rc2) : "r0");
|
asm("mov.w %0,r0\n\tsleep" : : "r" (rc2) : "r0");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,6 +24,12 @@ void
|
||||||
_DEFUN (__exit,(rc),
|
_DEFUN (__exit,(rc),
|
||||||
int rc)
|
int rc)
|
||||||
{
|
{
|
||||||
short rc2 = rc << 8;
|
short rc2;
|
||||||
|
|
||||||
|
rc2 = 0xdead;
|
||||||
|
asm("mov.w %0,r1" : : "r" (rc2) : "r1");
|
||||||
|
rc2 = 0xbeef;
|
||||||
|
asm("mov.w %0,r2" : : "r" (rc2) : "r2");
|
||||||
|
rc2 = rc << 8;
|
||||||
asm("mov.w %0,r0\n\tsleep" : : "r" (rc2) : "r0");
|
asm("mov.w %0,r0\n\tsleep" : : "r" (rc2) : "r0");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue