Curtis Hamilton пре 3 недеља
родитељ
комит
fc7704a992
3 измењених фајлова са 3 додато и 5 уклоњено
  1. 1 1
      compiler/comprsrc.pas
  2. 1 1
      compiler/ppcgen/cgppc.pas
  3. 1 3
      compiler/systems/t_bsd.pas

+ 1 - 1
compiler/comprsrc.pas

@@ -301,7 +301,7 @@ begin
           if (target_info.endian=endian_big) then
           if (target_info.endian=endian_big) then
             arch:=arch+'eb';
             arch:=arch+'eb';
         end;
         end;
-      if target_info.cpu=systems.cpu_powerpc64 then
+      if target_info.cpu=cpu_powerpc64 then
         begin
         begin
           { differentiate between ppc64 and ppc64le }
           { differentiate between ppc64 and ppc64le }
           if target_info.endian=endian_little then
           if target_info.endian=endian_little then

+ 1 - 1
compiler/ppcgen/cgppc.pas

@@ -740,7 +740,7 @@ unit cgppc;
      case target_info.abi of
      case target_info.abi of
        abi_powerpc_aix:
        abi_powerpc_aix:
          result:=LA_RTOC_AIX;
          result:=LA_RTOC_AIX;
-{$ifdef powerpc64}
+{$if defined(_CALL_ELF) and (_CALL_ELF = 1)}
        { no TOC on Linux/ppc32 }
        { no TOC on Linux/ppc32 }
        abi_powerpc_elfv1:
        abi_powerpc_elfv1:
          result:=LA_RTOC_SYSV;
          result:=LA_RTOC_SYSV;

+ 1 - 3
compiler/systems/t_bsd.pas

@@ -753,9 +753,7 @@ initialization
 {$endif powerpc}
 {$endif powerpc}
 {$ifdef powerpc64}
 {$ifdef powerpc64}
  {$ifdef freebsd}
  {$ifdef freebsd}
- 	{$ifdef powerpc64}
-   		system_powerpc64_freebsd_info.endian:=endian_big;
-	 {$else}
+ 	{$if arch = powerpc64le}
    		system_powerpc64_freebsd_info.endian:=endian_little;
    		system_powerpc64_freebsd_info.endian:=endian_little;
   	{$endif powerpc64le}
   	{$endif powerpc64le}
   system_powerpc64_freebsd_info.abi:=abi_powerpc_elfv2;
   system_powerpc64_freebsd_info.abi:=abi_powerpc_elfv2;