summaryrefslogtreecommitdiff
path: root/rtl/linux
diff options
context:
space:
mode:
authorpierre <pierre@3ad0048d-3df7-0310-abae-a5850022a9f2>2021-01-19 22:28:37 +0000
committerpierre <pierre@3ad0048d-3df7-0310-abae-a5850022a9f2>2021-01-19 22:28:37 +0000
commit1007816525453e91883ca423beae1da24f14d14b (patch)
tree8ad4d828b441303c191e8bab13539db2d5ab9e59 /rtl/linux
parent98c2c7cf2613f7cabfe8d6644785303e32f6769f (diff)
downloadfpc-1007816525453e91883ca423beae1da24f14d14b.tar.gz
Also set __stkptr inside cprt0.as startup assembly source
git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@48222 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'rtl/linux')
-rw-r--r--rtl/linux/mips/cprt0.as5
-rw-r--r--rtl/linux/mips/prt0.as1
2 files changed, 6 insertions, 0 deletions
diff --git a/rtl/linux/mips/cprt0.as b/rtl/linux/mips/cprt0.as
index 327adf1dcf..7cf2816df9 100644
--- a/rtl/linux/mips/cprt0.as
+++ b/rtl/linux/mips/cprt0.as
@@ -128,6 +128,11 @@ _start:
.globl main_stub
.type main_stub,@function
main_stub:
+ /* load fp */
+ move $s8,$sp
+ /* set __stkptr value to $s8 */
+ lui $v0,%hi(__stkptr)
+ sw $s8,%lo(__stkptr)($v0)
lui $v0,%hi(__fpc_ret_sp)
sw $sp,%lo(__fpc_ret_sp)($v0)
lui $v0,%hi(__fpc_ret_ra)
diff --git a/rtl/linux/mips/prt0.as b/rtl/linux/mips/prt0.as
index 17d57ef326..0b624a86a6 100644
--- a/rtl/linux/mips/prt0.as
+++ b/rtl/linux/mips/prt0.as
@@ -52,6 +52,7 @@ _dynamic_start:
_start:
/* load fp */
move $s8,$sp
+ /* set __stkptr value to $s8 */
lui $at,%hi(__stkptr)
sw $s8,%lo(__stkptr)($at)