aboutsummaryrefslogtreecommitdiff
path: root/debug/programs
diff options
context:
space:
mode:
Diffstat (limited to 'debug/programs')
-rwxr-xr-xdebug/programs/entry.S7
-rw-r--r--debug/programs/start.S12
2 files changed, 7 insertions, 12 deletions
diff --git a/debug/programs/entry.S b/debug/programs/entry.S
index ff8ae30..c3be611 100755
--- a/debug/programs/entry.S
+++ b/debug/programs/entry.S
@@ -157,9 +157,16 @@ trap_entry:
addi sp, sp, 32*REGBYTES
mret
+loop_forever:
+ j loop_forever
+
// Fill the stack with data so we can see if it was overrun.
.align 4
stack_bottom:
.fill STACK_SIZE/4, 4, 0x22446688
stack_top:
+ // Prevent stack_top from being identical to next symbol, which may cause gdb
+ // to report we're halted at stack_top which happens to be the same address
+ // as main.
+ .word 0
#endif
diff --git a/debug/programs/start.S b/debug/programs/start.S
deleted file mode 100644
index 76c37bb..0000000
--- a/debug/programs/start.S
+++ /dev/null
@@ -1,12 +0,0 @@
- .global _start
-
-_start:
- la sp, stack_end
- jal main
-done:
- j done
-
- .data
-stack:
- .fill 4096, 1, 0
-stack_end: