summaryrefslogtreecommitdiffstats
path: root/libgloss/m68k/cf-crt0.S
diff options
context:
space:
mode:
Diffstat (limited to 'libgloss/m68k/cf-crt0.S')
-rw-r--r--libgloss/m68k/cf-crt0.S13
1 files changed, 5 insertions, 8 deletions
diff --git a/libgloss/m68k/cf-crt0.S b/libgloss/m68k/cf-crt0.S
index 9a73ce19c..51a6aa700 100644
--- a/libgloss/m68k/cf-crt0.S
+++ b/libgloss/m68k/cf-crt0.S
@@ -29,17 +29,14 @@ __start:
#if HOSTED
/* INIT_SIM syscall. Allows changing sp & d1. */
move.l IMM(1),d0
- .align 4
- /* The halt sequence must be 'nop; halt' and aligned to a 4 byte
- boundary. */
+ /* The semihosting sequence is 'nop; halt;sentinel' aligned to
+ a 4 byte boundary. The sentinel is an ill formed instruction
+ (movec %sp,0). The debugger will adjust the pc, so it is never
+ executed. */
+ .balignw 4,0x4e71
nop
halt
-
- /* This sentinel instruction value must be immediately after
- the halt instruction. The debugger will adjust the pc, so
- that it is never executed. This instruction is
- 'movec %sp,0'. */
.long 0x4e7bf000
#endif
move.l d1,sp@-