SH: ABORT_INSTRUCTION.

This commit is contained in:
Thomas Schwinge 2012-06-23 11:47:39 +02:00
parent a9def8c49d
commit 967705fee1
3 changed files with 11 additions and 3 deletions

View File

@ -1,5 +1,9 @@
2012-06-23 Thomas Schwinge <thomas@codesourcery.com>
* sysdeps/sh/abort-instr.h: New file.
* sysdeps/unix/sysv/linux/sh/makecontext.S (.Lexitcode): Terminate the
process in case exit returns.
* sysdeps/unix/sysv/linux/sh/makecontext.S (.Lexitcode): Always
initialize the GOT register before use.

3
sysdeps/sh/abort-instr.h Normal file
View File

@ -0,0 +1,3 @@
/* An instruction which should crash any program is `sleep'. */
#define ABORT_INSTRUCTION_ASM sleep
#define ABORT_INSTRUCTION asm ("sleep")

View File

@ -17,6 +17,7 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
#include <abort-instr.h>
#include "ucontext_i.h"
@ -124,9 +125,9 @@ ENTRY(__makecontext)
#endif
jsr @r1
mov r0, r4
0:
bra 0b
nop
/* The 'exit' call should never return. In case it does cause the
process to terminate. */
ABORT_INSTRUCTION_ASM
.align 2
#ifdef PIC