فهرست منبع

* fixed refaddr parsing for darwin/ppc64

git-svn-id: branches/fpc_2_3@6426 -
Jonas Maebe 18 سال پیش
والد
کامیت
82a05838a8
1فایلهای تغییر یافته به همراه12 افزوده شده و 0 حذف شده
  1. 12 0
      compiler/powerpc64/rappcgas.pas

+ 12 - 0
compiler/powerpc64/rappcgas.pas

@@ -116,6 +116,18 @@ begin
         oper.opr.ref.refaddr := addr_highest                
       else
         Message(asmr_e_invalid_reference_syntax);
+
+      { darwin/ppc64's relocation symbols are 32 bits }
+      if (target_info.system = system_powerpc64_darwin) then
+        case oper.opr.ref.refaddr of
+          addr_low:
+            oper.opr.ref.refaddr:=addr_lo;
+          addr_higha:
+            oper.opr.ref.refaddr:=addr_hi;
+          else if (oper.opr.ref.refaddr<>addr_no) then
+            Message(asmr_e_invalid_reference_syntax);
+        end;
+
       Consume(AS_ID);
     end
     else