Browse Source

* i386: disable InterlockedCompareExchange128 implementation if PIC is enabled

git-svn-id: trunk@47852 -
florian 4 years ago
parent
commit
98d3473a1a
1 changed files with 6 additions and 4 deletions
  1. 6 4
      rtl/i386/cpu.pp

+ 6 - 4
rtl/i386/cpu.pp

@@ -65,16 +65,16 @@ unit cpu;
       _RDRANDSupport,
       _RTMSupport: boolean;
 
+{$ASMMODE ATT}
 
     function InterlockedCompareExchange128(var Target: Int128Rec; NewValue: Int128Rec; Comperand: Int128Rec): Int128Rec;
-      label
-        Lretry;
       begin
+{$ifndef FPC_PIC}      
         if _RTMSupport then
           begin
             asm
-            Lretry:
-              xbegin Lretry
+            .Lretry:
+              xbegin .Lretry
             end;
             Result:=Target;
             if (Result.Lo=Comperand.Lo) and (Result.Hi=Comperand.Hi) then
@@ -84,9 +84,11 @@ unit cpu;
             end;
           end
         else
+{$endif FPC_PIC}        
           RunError(217);
       end;
 
+{$ASMMODE INTEL}
 
     function cpuid_support : boolean;assembler;
       {