|
@@ -23,6 +23,7 @@ interface
|
|
|
type
|
|
|
TMachineType = (mtnone, mti386,mtx86_64,mtppc,mtppc64,mtarm,mtarmeb,mtm68k,
|
|
|
mtsparc,mtalpha,mtia64,mtmips,mtmipsel,mtaarch64,mtppc64le,
|
|
|
+ mtriscv32,mtriscv64,mtloongarch64,mtsparc64,
|
|
|
mtBigEndian,mtLittleEndian);
|
|
|
TMachineTypes = set of TMachineType;
|
|
|
|
|
@@ -35,6 +36,7 @@ type
|
|
|
(subarm: TSubMachineTypeArm);
|
|
|
mtnone, mti386,mtx86_64,mtppc,mtppc64,mtm68k,
|
|
|
mtsparc,mtalpha,mtia64,mtmips,mtmipsel,mtaarch64,mtppc64le,
|
|
|
+ mtriscv32,mtriscv64,mtloongarch64,mtsparc64,
|
|
|
mtBigEndian,mtLittleEndian:
|
|
|
(subgen: TSubMachineTypeGeneric);
|
|
|
end;
|
|
@@ -85,6 +87,10 @@ var
|
|
|
(name : 'mipsel'; formats : [ofElf]), //mtmipsel
|
|
|
(name : 'aarch64'; formats : [ofElf, ofCoff, ofMachO]), //mtaarch64
|
|
|
(name : 'powerpc64le'; formats : [ofElf]), //mtppc64le
|
|
|
+ (name : 'riscv32'; formats : [ofElf]), //mtriscv32
|
|
|
+ (name : 'riscv64'; formats : [ofElf]), //mtriscv64
|
|
|
+ (name : 'loongarch64'; formats : [ofElf]), //mtloongarch64
|
|
|
+ (name : 'sparc64'; formats : [ofElf]), //mtsparc64
|
|
|
(name : 'bigendian'; formats : [ofExt]), //mtBigEndian
|
|
|
(name : 'littleendian'; formats : [ofExt]) //mtLittleEndian
|
|
|
);
|
|
@@ -102,7 +108,9 @@ var
|
|
|
mtppc64,mtarm,mtarmeb,
|
|
|
mtm68k,mtsparc,mtalpha,
|
|
|
mtia64,mtmips,mtmipsel,
|
|
|
- mtppc64le,mtaarch64]),
|
|
|
+ mtppc64le,mtaarch64,
|
|
|
+ mtriscv32,mtriscv64,
|
|
|
+ mtloongarch64,mtsparc64]),
|
|
|
(name : 'coff'; ext : '.o'; machines : [mti386,mtx86_64,mtarm,
|
|
|
mtaarch64,mtppc,mtppc64]),
|
|
|
(name : 'xcoff'; ext : '.o'; machines : [mtppc{,mtppc64}]),
|
|
@@ -144,6 +152,9 @@ var
|
|
|
{$elseif defined(CPUSPARC)}
|
|
|
machine : mtsparc;
|
|
|
submachine : (subgen: smtgen_all);
|
|
|
+ {$elseif defined(CPUSPARC64)}
|
|
|
+ machine : mtsparc64;
|
|
|
+ submachine : (subgen: smtgen_all);
|
|
|
{$elseif defined(CPUALPHA)}
|
|
|
machine : mtalpha;
|
|
|
submachine : (subgen: smtgen_all);
|