public
/
FUZIX.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
6032ba2
)
crt0: Correct environment and argument parsing
author
Alan Cox
<alan@etchedpixels.co.uk>
Thu, 20 Nov 2014 23:34:26 +0000
(23:34 +0000)
committer
Alan Cox
<alan@etchedpixels.co.uk>
Thu, 20 Nov 2014 23:34:26 +0000
(23:34 +0000)
From: Will Sowerbutts
kernel sets up the stack differently: argc, argv, environ[]
Library/libs/crt0.s
patch
|
blob
|
history
diff --git
a/Library/libs/crt0.s
b/Library/libs/crt0.s
index
daf4f7f
..
74e61f4
100644
(file)
--- a/
Library/libs/crt0.s
+++ b/
Library/libs/crt0.s
@@
-55,14
+55,12
@@
start2: ld hl, #l__DATA - 1 ; work around linker limit
ld (hl), #0
ldir
call gsinit
- pop hl ; environ
+
+ ld hl, #4
+ add hl, sp
ld (_environ), hl
- pop de ; argv
- pop bc ; argc
ld hl, #_exit ; return vector
- ex (sp), hl ; swap it with the provided
- push bc ; return address
- push de ; re-stack arguments
+ push hl
jp _main ; go
.area _GSINIT