浏览代码

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

git-svn-id: trunk@31172 -
Károly Balogh 10 年之前
父节点
当前提交
f0ccbc87f2
共有 2 个文件被更改,包括 6 次插入8 次删除
  1. 5 7
      compiler/parser.pas
  2. 1 1
      compiler/x86_64/nx64cal.pas

+ 5 - 7
compiler/parser.pas

@@ -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:

+ 1 - 1
compiler/x86_64/nx64cal.pas

@@ -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);