AROS/x86_64: enable syscalls code in the parser, fix EAX->RAX reference base while calculating syscall offset

git-svn-id: trunk@31172 -
This commit is contained in:
Károly Balogh 2015-06-28 23:04:51 +00:00
parent b3abbf066f
commit f0ccbc87f2
2 changed files with 6 additions and 8 deletions

View File

@ -116,13 +116,11 @@ implementation
{ target specific stuff }
case target_info.system of
system_powerpc_amiga:
include(supported_calling_conventions,pocall_syscall);
system_powerpc_morphos:
include(supported_calling_conventions,pocall_syscall);
system_m68k_amiga:
include(supported_calling_conventions,pocall_syscall);
system_i386_aros:
system_powerpc_amiga,
system_powerpc_morphos,
system_m68k_amiga,
system_i386_aros,
system_x86_64_aros:
include(supported_calling_conventions,pocall_syscall);
{$ifdef i8086}
system_i8086_msdos:

View File

@ -73,7 +73,7 @@ implementation
tmpref.symbol:=current_asmdata.RefAsmSymbol(tstaticvarsym(tcpuprocdef(procdefinition).libsym).mangledname);
cg.getcpuregister(current_asmdata.CurrAsmList,NR_RAX);
cg.a_load_ref_reg(current_asmdata.CurrAsmList,OS_ADDR,OS_ADDR,tmpref,NR_RAX);
reference_reset_base(tmpref,NR_EAX,-tprocdef(procdefinition).extnumber,sizeof(pint));
reference_reset_base(tmpref,NR_RAX,-tprocdef(procdefinition).extnumber,sizeof(pint));
cg.a_load_ref_reg(current_asmdata.CurrAsmList,OS_ADDR,OS_ADDR,tmpref,NR_RAX);
cg.a_call_reg(current_asmdata.CurrAsmList,NR_RAX);
cg.ungetcpuregister(current_asmdata.CurrAsmList,NR_RAX);