summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--c/src/lib/libbsp/m68k/gen68360/start/start.S11
-rw-r--r--c/src/lib/libbsp/m68k/gen68360/start360/start360.S11
2 files changed, 16 insertions, 6 deletions
diff --git a/c/src/lib/libbsp/m68k/gen68360/start/start.S b/c/src/lib/libbsp/m68k/gen68360/start/start.S
index 2c979e294f..65ca9a0b66 100644
--- a/c/src/lib/libbsp/m68k/gen68360/start/start.S
+++ b/c/src/lib/libbsp/m68k/gen68360/start/start.S
@@ -396,8 +396,8 @@ ZEROLOOPTEST:
bcs.s ZEROLOOP | No, skip
movel #stack_init,a7 | set master stack pointer
- movel d0,a7@- | environp
- movel d0,a7@- | argv
+ pea env | envp
+ pea arg | argv
movel d0,a7@- | argc
jsr SYM(boot_card) | Call C main
@@ -422,11 +422,16 @@ BEGIN_DATA_DCL
.align 2
PUBLIC (environ)
SYM (environ):
- .long 0
+ .long env
PUBLIC (_M68kSpuriousInterruptCount)
SYM (_M68kSpuriousInterruptCount):
.long 0
END_DATA_DCL
+BEGIN_BSS
+env: .long 0
+arg: .long 0
+END_BSS
+
END
diff --git a/c/src/lib/libbsp/m68k/gen68360/start360/start360.S b/c/src/lib/libbsp/m68k/gen68360/start360/start360.S
index 2c979e294f..65ca9a0b66 100644
--- a/c/src/lib/libbsp/m68k/gen68360/start360/start360.S
+++ b/c/src/lib/libbsp/m68k/gen68360/start360/start360.S
@@ -396,8 +396,8 @@ ZEROLOOPTEST:
bcs.s ZEROLOOP | No, skip
movel #stack_init,a7 | set master stack pointer
- movel d0,a7@- | environp
- movel d0,a7@- | argv
+ pea env | envp
+ pea arg | argv
movel d0,a7@- | argc
jsr SYM(boot_card) | Call C main
@@ -422,11 +422,16 @@ BEGIN_DATA_DCL
.align 2
PUBLIC (environ)
SYM (environ):
- .long 0
+ .long env
PUBLIC (_M68kSpuriousInterruptCount)
SYM (_M68kSpuriousInterruptCount):
.long 0
END_DATA_DCL
+BEGIN_BSS
+env: .long 0
+arg: .long 0
+END_BSS
+
END