mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-19 20:39:25 +02:00
* minor changes to the startup code: use exit_group syscall to exit, minor cleanup
* add _haltproc symbol to shared library startup code git-svn-id: trunk@16258 -
This commit is contained in:
parent
ef8837cfa8
commit
5f3aaf1e60
@ -401,7 +401,7 @@ FUNCTION_PROLOG main_stub
|
||||
LOAD_64BIT_VAL 8, ___fpc_ret
|
||||
std 1,0(8)
|
||||
|
||||
bl .PASCALMAIN
|
||||
bl PASCALMAIN
|
||||
nop
|
||||
|
||||
b ._haltproc
|
||||
@ -414,10 +414,6 @@ FUNCTION_PROLOG _haltproc
|
||||
mtlr 0
|
||||
blr
|
||||
|
||||
# li 0,1 /* exit call */
|
||||
# sc
|
||||
# b ._haltproc
|
||||
|
||||
/* Define a symbol for the first piece of initialized data. */
|
||||
.section ".data"
|
||||
.globl __data_start
|
||||
|
@ -347,7 +347,7 @@ FUNCTION_PROLOG FPC_SHARED_LIB_START
|
||||
LOAD_64BIT_VAL 8, __stkptr
|
||||
std 1,0(8)
|
||||
|
||||
bl .PASCALMAIN
|
||||
bl PASCALMAIN
|
||||
nop
|
||||
|
||||
/* return to the caller */
|
||||
@ -356,11 +356,19 @@ FUNCTION_PROLOG FPC_SHARED_LIB_START
|
||||
mtlr 0
|
||||
blr
|
||||
|
||||
FUNCTION_PROLOG _haltproc
|
||||
FUNCTION_PROLOG FPC_SHARED_LIB_EXIT
|
||||
/* exit call */
|
||||
li 0, 1
|
||||
bl FPC_LIB_EXIT
|
||||
nop
|
||||
/* exit_group call */
|
||||
LOAD_64BIT_VAL 3, operatingsystem_result
|
||||
lwz 3, 0(3)
|
||||
li 0, 234
|
||||
sc
|
||||
/* exit call */
|
||||
LOAD_64BIT_VAL 3, operatingsystem_result
|
||||
lwz 3, 0(3)
|
||||
li 0, 1
|
||||
sc
|
||||
b .FPC_SHARED_LIB_EXIT
|
||||
|
||||
|
@ -351,14 +351,21 @@ FUNCTION_PROLOG _start
|
||||
LOAD_64BIT_VAL 8, __stkptr
|
||||
std 1,0(8)
|
||||
|
||||
bl .PASCALMAIN
|
||||
bl PASCALMAIN
|
||||
nop
|
||||
|
||||
/* directly jump to exit procedure, not via the function pointer */
|
||||
b ._haltproc
|
||||
|
||||
FUNCTION_PROLOG _haltproc
|
||||
/* exit group call */
|
||||
LOAD_64BIT_VAL 3, operatingsystem_result
|
||||
lwz 3, 0(3)
|
||||
li 0, 234
|
||||
sc
|
||||
/* exit call */
|
||||
LOAD_64BIT_VAL 3, operatingsystem_result
|
||||
lwz 3, 0(3)
|
||||
li 0, 1
|
||||
sc
|
||||
b ._haltproc
|
||||
|
Loading…
Reference in New Issue
Block a user