2
0
Эх сурвалжийг харах

Add possibility to use GNU assembler gas on naitve AIX

git-svn-id: trunk@27632 -
pierre 11 жил өмнө
parent
commit
19ba1b43a1

+ 22 - 0
compiler/ppcgen/agppcgas.pas

@@ -589,9 +589,31 @@ unit agppcgas;
          dollarsign : '.'
          dollarsign : '.'
        );
        );
 
 
+    as_ppc_gas_aix_powerpc_info : tasminfo =
+       (
+         id     : as_gas_powerpc_xcoff;
+
+         idtxt  : 'GAS';
+         asmbin : 'gas';
+         { -u: allow using symbols before they are defined (when using native
+               AIX assembler, ignore by GNU assembler)
+           -mpwr5: we actually support Power3 and higher, but the AIX assembler
+               has no parameter to select that one (only -mpwr3 and -mpwr5) }
+{$ifdef cpu64bitaddr}
+         asmcmd : '-a64 -u -o $OBJ $EXTRAOPT $ASM -mpwr5';
+{$else cpu64bitaddr}
+         asmcmd : '-a32 -u -o $OBJ $EXTRAOPT $ASM -mpwr5';
+{$endif cpu64bitaddr}
+         supported_targets : [system_powerpc_aix,system_powerpc64_aix];
+         flags : [af_needar,af_smartlink_sections,af_stabs_use_function_absolute_addresses];
+         labelprefix : 'L';
+         comment : '# ';
+         dollarsign : '.'
+       );
 
 
 begin
 begin
   RegisterAssembler(as_ppc_gas_info,TPPCGNUAssembler);
   RegisterAssembler(as_ppc_gas_info,TPPCGNUAssembler);
   RegisterAssembler(as_ppc_gas_darwin_powerpc_info,TPPCAppleGNUAssembler);
   RegisterAssembler(as_ppc_gas_darwin_powerpc_info,TPPCAppleGNUAssembler);
   RegisterAssembler(as_ppc_aix_powerpc_info,TPPCAIXAssembler);
   RegisterAssembler(as_ppc_aix_powerpc_info,TPPCAIXAssembler);
+  RegisterAssembler(as_ppc_gas_aix_powerpc_info,TPPCAIXAssembler);
 end.
 end.

+ 1 - 0
compiler/systems.inc

@@ -207,6 +207,7 @@
              ,as_x86_64_nasmdarwin
              ,as_x86_64_nasmdarwin
              ,as_i8086_nasm
              ,as_i8086_nasm
              ,as_i8086_nasmobj
              ,as_i8086_nasmobj
+             ,as_gas_powerpc_xcoff
        );
        );
 
 
        tlink = (ld_none,
        tlink = (ld_none,