- RTL, Linux/FreeBSD shared library startup: removed FPC_SHARED_LIB_EXIT label, it is a leftover from times when library startup code was erroneously halting owning process on exit.

git-svn-id: trunk@25737 -
This commit is contained in:
sergei 2013-10-10 13:14:56 +00:00
parent f2a4d1bbbc
commit a3364a4b80
8 changed files with 1 additions and 22 deletions

View File

@ -75,9 +75,6 @@ FPC_SHARED_LIB_START:
.type _haltproc,@function
_haltproc:
.globl FPC_SHARED_LIB_EXIT
.type FPC_SHARED_LIB_EXIT,@function
FPC_SHARED_LIB_EXIT:
call FPC_LIB_EXIT@PLT
mov $1,%eax
movzwl operatingsystem_result,%ebx

View File

@ -62,9 +62,6 @@ FPC_SHARED_LIB_START:
/* this routine is only called when the halt() routine of the RTL embedded in
the shared library is called */
_haltproc:
.globl FPC_SHARED_LIB_EXIT
.type FPC_SHARED_LIB_EXIT,@function
FPC_SHARED_LIB_EXIT:
call FPC_LIB_EXIT@PLT
movl $1,%eax /* exit syscall */
movq operatingsystem_result(%rip),%rbx

View File

@ -48,9 +48,6 @@ FPC_SHARED_LIB_START:
.type _haltproc,@function
_haltproc:
_haltproc2: # GAS <= 2.15 bug: generates larger jump if a label is exported
.globl FPC_SHARED_LIB_EXIT
.type FPC_SHARED_LIB_EXIT,@function
FPC_SHARED_LIB_EXIT:
subl $12, %esp /* align back to 16 bytes if it was before the call */
call lib_exit
xorl %eax,%eax

View File

@ -36,9 +36,6 @@ FPC_SHARED_LIB_START:
.globl _haltproc
.type _haltproc,@function
haltproc:
.globl FPC_SHARED_LIB_EXIT
.type FPC_SHARED_LIB_EXIT,@function
FPC_SHARED_LIB_EXIT:
moveq.l #1,%d0
move.w U_SYSLINUX_EXITCODE,%d1
trap #0

View File

@ -133,11 +133,8 @@ _start:
.size _start, .-_start
.globl _haltproc
.globl FPC_SHARED_LIB_EXIT
.ent _haltproc
.type _haltproc,@function
.type FPC_SHARED_LIB_EXIT,@function
FPC_SHARED_LIB_EXIT:
_haltproc:
/* TODO: need to check whether __dl_fini is non-zero and call the function pointer in case */
@ -156,3 +153,4 @@ _haltproc:
.comm operatingsystem_parameter_argc,4
.comm operatingsystem_parameter_argv,4
.section .note.GNU-stack,"",@progbits

View File

@ -48,10 +48,7 @@ FPC_SHARED_LIB_START:
blr
.globl _haltproc
.globl FPC_SHARED_LIB_EXIT
.type FPC_SHARED_LIB_EXIT,@function
.type _haltproc,@function
FPC_SHARED_LIB_EXIT:
_haltproc:
lis 11,operatingsystem_result@ha
lwz 3,operatingsystem_result@l(3)

View File

@ -359,7 +359,6 @@ FUNCTION_PROLOG FPC_SHARED_LIB_START
/* this routine is only called when the halt() routine of the RTL embedded in
the shared library is called */
FUNCTION_PROLOG _haltproc
FUNCTION_PROLOG FPC_SHARED_LIB_EXIT
/* exit_group call */
LOAD_64BIT_VAL 3, operatingsystem_result
lwz 3, 0(3)

View File

@ -68,9 +68,6 @@ _startlib:
.globl _haltproc
.type _haltproc,@function
_haltproc:
.globl FPC_SHARED_LIB_EXIT
.type FPC_SHARED_LIB_EXIT,@function
FPC_SHARED_LIB_EXIT:
movl $231,%eax /* exit_group call */
movq operatingsystem_result@GOTPCREL(%rip),%rbx
movzwl (%rbx),%edi