mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-15 04:09:06 +02:00
* call finalization routine of dynamic linker before exiting (forgot to
commit earlier) git-svn-id: trunk@10663 -
This commit is contained in:
parent
18e663240a
commit
7901625134
@ -40,6 +40,9 @@ procedure PASCALMAIN; external name 'PASCALMAIN';
|
|||||||
******************************************************************************}
|
******************************************************************************}
|
||||||
{$asmmode ATT}
|
{$asmmode ATT}
|
||||||
|
|
||||||
|
var
|
||||||
|
dlexitproc: pointer;
|
||||||
|
|
||||||
procedure _FPC_proc_start; assembler; nostackframe; public name '_start';
|
procedure _FPC_proc_start; assembler; nostackframe; public name '_start';
|
||||||
asm
|
asm
|
||||||
{ First locate the start of the environment variables }
|
{ First locate the start of the environment variables }
|
||||||
@ -52,6 +55,8 @@ asm
|
|||||||
movl %ecx,operatingsystem_parameter_argc
|
movl %ecx,operatingsystem_parameter_argc
|
||||||
movl %ebx,operatingsystem_parameter_argv
|
movl %ebx,operatingsystem_parameter_argv
|
||||||
|
|
||||||
|
movl %edx, dlexitproc
|
||||||
|
|
||||||
fninit { initialize fpu }
|
fninit { initialize fpu }
|
||||||
fwait
|
fwait
|
||||||
fldcw Default8087CW
|
fldcw Default8087CW
|
||||||
@ -70,6 +75,11 @@ end;
|
|||||||
procedure _FPC_proc_haltproc; assembler; nostackframe; public name '_haltproc';
|
procedure _FPC_proc_haltproc; assembler; nostackframe; public name '_haltproc';
|
||||||
asm
|
asm
|
||||||
.Lhaltproc:
|
.Lhaltproc:
|
||||||
|
movl dlexitproc,%eax
|
||||||
|
testl %eax,%eax
|
||||||
|
je .Lnodlexitproc
|
||||||
|
call *%eax
|
||||||
|
.Lnodlexitproc:
|
||||||
movl syscall_nr_exit_group,%eax
|
movl syscall_nr_exit_group,%eax
|
||||||
{$if sizeof(ExitCode)=2}
|
{$if sizeof(ExitCode)=2}
|
||||||
movzwl ExitCode,%ebx
|
movzwl ExitCode,%ebx
|
||||||
|
Loading…
Reference in New Issue
Block a user