mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-18 19:29:18 +02:00
Add clang as assembler for powerpc-darwin (powerpc64 is apparently not yet supported for MachO format)
git-svn-id: trunk@38161 -
This commit is contained in:
parent
948d12ea73
commit
ed695624ab
@ -719,10 +719,24 @@ unit agppcgas;
|
|||||||
dollarsign : '.'
|
dollarsign : '.'
|
||||||
);
|
);
|
||||||
|
|
||||||
|
as_ppc_clang_darwin_info : tasminfo =
|
||||||
|
(
|
||||||
|
id : as_clang;
|
||||||
|
idtxt : 'CLANG';
|
||||||
|
asmbin : 'clang';
|
||||||
|
asmcmd : '-c -o $OBJ $EXTRAOPT -arch $ARCH $DARWINVERSION -x assembler $ASM';
|
||||||
|
supported_targets : [system_powerpc_darwin, system_powerpc64_darwin];
|
||||||
|
flags : [af_needar,af_smartlink_sections,af_supports_dwarf];
|
||||||
|
labelprefix : 'L';
|
||||||
|
comment : '# ';
|
||||||
|
dollarsign: '$';
|
||||||
|
);
|
||||||
|
|
||||||
begin
|
begin
|
||||||
RegisterAssembler(as_ppc_gas_info,TPPCGNUAssembler);
|
RegisterAssembler(as_ppc_gas_info,TPPCGNUAssembler);
|
||||||
RegisterAssembler(as_ppc_gas_legacy_info,TPPCGNUAssembler);
|
RegisterAssembler(as_ppc_gas_legacy_info,TPPCGNUAssembler);
|
||||||
RegisterAssembler(as_ppc_gas_darwin_powerpc_info,TPPCAppleGNUAssembler);
|
RegisterAssembler(as_ppc_gas_darwin_powerpc_info,TPPCAppleGNUAssembler);
|
||||||
|
RegisterAssembler(as_ppc_clang_darwin_info,TPPCAppleGNUAssembler);
|
||||||
RegisterAssembler(as_ppc_aix_powerpc_info,TPPCAIXAssembler);
|
RegisterAssembler(as_ppc_aix_powerpc_info,TPPCAIXAssembler);
|
||||||
RegisterAssembler(as_ppc_gas_aix_powerpc_info,TPPCAIXAssembler);
|
RegisterAssembler(as_ppc_gas_aix_powerpc_info,TPPCAIXAssembler);
|
||||||
end.
|
end.
|
||||||
|
@ -326,7 +326,13 @@ implementation
|
|||||||
ltn,lten,gtn,gten,
|
ltn,lten,gtn,gten,
|
||||||
equaln,unequaln :
|
equaln,unequaln :
|
||||||
begin
|
begin
|
||||||
op:=A_FCMPO;
|
{ clang does not recognize fcmpo instruction,
|
||||||
|
so we need to fall back to fcmpu, which does not
|
||||||
|
generate the same exeception information }
|
||||||
|
if target_asm.id = as_clang then
|
||||||
|
op:=A_FCMPU
|
||||||
|
else
|
||||||
|
op:=A_FCMPO;
|
||||||
cmpop:=true;
|
cmpop:=true;
|
||||||
end;
|
end;
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user