mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-13 09:59:08 +02:00
- Cleaned out more assembler hacks around ExitCode variable
git-svn-id: trunk@29560 -
This commit is contained in:
parent
d6f5bcee45
commit
2efa348b19
@ -116,10 +116,9 @@ asm
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure _FPC_proc_haltproc; assembler; nostackframe; public name '_haltproc';
|
procedure _FPC_proc_haltproc(e:longint); cdecl; assembler; public name '_haltproc';
|
||||||
asm
|
asm
|
||||||
addl $12, %esp { align stack back to 16 bytes }
|
//addl $12, %esp { align stack back to 16 bytes }
|
||||||
.Lhaltproc:
|
|
||||||
{$ifdef FPC_PIC}
|
{$ifdef FPC_PIC}
|
||||||
call fpc_geteipasebxlocal
|
call fpc_geteipasebxlocal
|
||||||
addl $_GLOBAL_OFFSET_TABLE_,%ebx
|
addl $_GLOBAL_OFFSET_TABLE_,%ebx
|
||||||
@ -134,44 +133,12 @@ asm
|
|||||||
.Lnodlexitproc:
|
.Lnodlexitproc:
|
||||||
movl syscall_nr_exit_group,%eax
|
movl syscall_nr_exit_group,%eax
|
||||||
|
|
||||||
{$ifdef FPC_PIC}
|
movl e,%ebx
|
||||||
call fpc_geteipasebxlocal
|
|
||||||
addl $_GLOBAL_OFFSET_TABLE_,%ebx
|
|
||||||
movl ExitCode@GOT(%ebx),%ebx
|
|
||||||
{$if sizeof(ExitCode)=2}
|
|
||||||
movzwl (%ebx),%ebx
|
|
||||||
{$else}
|
|
||||||
mov (%ebx),%ebx
|
|
||||||
{$endif}
|
|
||||||
{$else FPC_PIC}
|
|
||||||
{$if sizeof(ExitCode)=2}
|
|
||||||
movzwl ExitCode,%ebx
|
|
||||||
{$else}
|
|
||||||
mov ExitCode,%ebx
|
|
||||||
{$endif}
|
|
||||||
{$endif FPC_PIC}
|
|
||||||
|
|
||||||
int $0x80
|
int $0x80
|
||||||
movl syscall_nr_exit,%eax
|
movl syscall_nr_exit,%eax
|
||||||
|
|
||||||
{$ifdef FPC_PIC}
|
movl e,%ebx
|
||||||
call fpc_geteipasebxlocal
|
|
||||||
addl $_GLOBAL_OFFSET_TABLE_,%ebx
|
|
||||||
movl ExitCode@GOT(%ebx),%ebx
|
|
||||||
{$if sizeof(ExitCode)=2}
|
|
||||||
movzwl (%ebx),%ebx
|
|
||||||
{$else}
|
|
||||||
mov (%ebx),%ebx
|
|
||||||
{$endif}
|
|
||||||
{$else FPC_PIC}
|
|
||||||
{$if sizeof(ExitCode)=2}
|
|
||||||
movzwl ExitCode,%ebx
|
|
||||||
{$else}
|
|
||||||
mov ExitCode,%ebx
|
|
||||||
{$endif}
|
|
||||||
{$endif FPC_PIC}
|
|
||||||
|
|
||||||
int $0x80
|
int $0x80
|
||||||
jmp .Lhaltproc
|
jmp .Lnodlexitproc
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user