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:
		| @@ -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"); | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user