mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-28 21:00:28 +02:00
* pushf/push cs on all platforms when directly calling an interrupt procedure, with the
recent changes needed for 16 byte stack alignment it should work now git-svn-id: trunk@43508 -
This commit is contained in:
parent
0b888bb4ce
commit
2d3ef8b4bc
@ -86,19 +86,18 @@ implementation
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
procedure ti386callnode.gen_syscall_para(para: tcallparanode);
|
||||
begin
|
||||
{ lib parameter has no special type but proccalloptions must be a syscall }
|
||||
para.left:=cloadnode.create(tcpuprocdef(procdefinition).libsym,tcpuprocdef(procdefinition).libsym.owner);
|
||||
end;
|
||||
|
||||
|
||||
procedure ti386callnode.extra_interrupt_code;
|
||||
begin
|
||||
if not(target_info.system in [system_i386_darwin,system_i386_iphonesim,system_i386_android]) then
|
||||
begin
|
||||
emit_none(A_PUSHF,S_L);
|
||||
emit_reg(A_PUSH,S_L,NR_CS);
|
||||
end;
|
||||
emit_none(A_PUSHF,S_L);
|
||||
emit_reg(A_PUSH,S_L,NR_CS);
|
||||
end;
|
||||
|
||||
|
||||
@ -168,5 +167,5 @@ implementation
|
||||
|
||||
|
||||
begin
|
||||
ccallnode:=ti386callnode;
|
||||
ccallnode:=ti386callnode;
|
||||
end.
|
||||
|
Loading…
Reference in New Issue
Block a user