|
@@ -515,6 +515,140 @@ unit i_embed;
|
|
|
llvmdatalayout : 'TODO';
|
|
|
);
|
|
|
|
|
|
+ system_riscv32_embedded_info : tsysteminfo =
|
|
|
+ (
|
|
|
+ system : system_riscv32_embedded;
|
|
|
+ name : 'Embedded';
|
|
|
+ shortname : 'embedded';
|
|
|
+ flags : [tf_needs_symbol_size,tf_files_case_sensitive,tf_requires_proper_alignment,
|
|
|
+ tf_smartlink_sections];
|
|
|
+ cpu : cpu_riscv32;
|
|
|
+ unit_env : '';
|
|
|
+ extradefines : '';
|
|
|
+ exeext : '';
|
|
|
+ defext : '.def';
|
|
|
+ scriptext : '.sh';
|
|
|
+ smartext : '.sl';
|
|
|
+ unitext : '.ppu';
|
|
|
+ unitlibext : '.ppl';
|
|
|
+ asmext : '.s';
|
|
|
+ objext : '.o';
|
|
|
+ resext : '.res';
|
|
|
+ resobjext : '.or';
|
|
|
+ sharedlibext : '.so';
|
|
|
+ staticlibext : '.a';
|
|
|
+ staticlibprefix : 'libp';
|
|
|
+ sharedlibprefix : 'lib';
|
|
|
+ sharedClibext : '.so';
|
|
|
+ staticClibext : '.a';
|
|
|
+ staticClibprefix : 'lib';
|
|
|
+ sharedClibprefix : 'lib';
|
|
|
+ importlibprefix : 'libimp';
|
|
|
+ importlibext : '.a';
|
|
|
+ Cprefix : '';
|
|
|
+ newline : #10;
|
|
|
+ dirsep : '/';
|
|
|
+ assem : as_gas;
|
|
|
+ assemextern : as_gas;
|
|
|
+ link : ld_none;
|
|
|
+ linkextern : ld_embedded;
|
|
|
+ ar : ar_gnu_ar;
|
|
|
+ res : res_none;
|
|
|
+ dbg : dbg_dwarf2;
|
|
|
+ script : script_unix;
|
|
|
+ endian : endian_little;
|
|
|
+ alignment :
|
|
|
+ (
|
|
|
+ procalign : 4;
|
|
|
+ loopalign : 4;
|
|
|
+ jumpalign : 0;
|
|
|
+ jumpalignskipmax : 0;
|
|
|
+ coalescealign : 0;
|
|
|
+ coalescealignskipmax: 0;
|
|
|
+ constalignmin : 0;
|
|
|
+ constalignmax : 4;
|
|
|
+ varalignmin : 0;
|
|
|
+ varalignmax : 4;
|
|
|
+ localalignmin : 4;
|
|
|
+ localalignmax : 4;
|
|
|
+ recordalignmin : 0;
|
|
|
+ recordalignmax : 4;
|
|
|
+ maxCrecordalign : 4
|
|
|
+ );
|
|
|
+ first_parm_offset : 8;
|
|
|
+ stacksize : 262144;
|
|
|
+ stackalign : 4;
|
|
|
+ abi : abi_default;
|
|
|
+ llvmdatalayout : 'e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:64:128-a0:0:64-n32-S32';
|
|
|
+ );
|
|
|
+
|
|
|
+ system_riscv64_embedded_info : tsysteminfo =
|
|
|
+ (
|
|
|
+ system : system_riscv64_embedded;
|
|
|
+ name : 'Embedded';
|
|
|
+ shortname : 'embedded';
|
|
|
+ flags : [tf_needs_symbol_size,tf_files_case_sensitive,tf_requires_proper_alignment,
|
|
|
+ tf_smartlink_sections];
|
|
|
+ cpu : cpu_riscv64;
|
|
|
+ unit_env : '';
|
|
|
+ extradefines : '';
|
|
|
+ exeext : '';
|
|
|
+ defext : '.def';
|
|
|
+ scriptext : '.sh';
|
|
|
+ smartext : '.sl';
|
|
|
+ unitext : '.ppu';
|
|
|
+ unitlibext : '.ppl';
|
|
|
+ asmext : '.s';
|
|
|
+ objext : '.o';
|
|
|
+ resext : '.res';
|
|
|
+ resobjext : '.or';
|
|
|
+ sharedlibext : '.so';
|
|
|
+ staticlibext : '.a';
|
|
|
+ staticlibprefix : 'libp';
|
|
|
+ sharedlibprefix : 'lib';
|
|
|
+ sharedClibext : '.so';
|
|
|
+ staticClibext : '.a';
|
|
|
+ staticClibprefix : 'lib';
|
|
|
+ sharedClibprefix : 'lib';
|
|
|
+ importlibprefix : 'libimp';
|
|
|
+ importlibext : '.a';
|
|
|
+ Cprefix : '';
|
|
|
+ newline : #10;
|
|
|
+ dirsep : '/';
|
|
|
+ assem : as_gas;
|
|
|
+ assemextern : as_gas;
|
|
|
+ link : ld_none;
|
|
|
+ linkextern : ld_embedded;
|
|
|
+ ar : ar_gnu_ar;
|
|
|
+ res : res_none;
|
|
|
+ dbg : dbg_dwarf2;
|
|
|
+ script : script_unix;
|
|
|
+ endian : endian_little;
|
|
|
+ alignment :
|
|
|
+ (
|
|
|
+ procalign : 4;
|
|
|
+ loopalign : 4;
|
|
|
+ jumpalign : 0;
|
|
|
+ jumpalignskipmax : 0;
|
|
|
+ coalescealign : 0;
|
|
|
+ coalescealignskipmax: 0;
|
|
|
+ constalignmin : 0;
|
|
|
+ constalignmax : 4;
|
|
|
+ varalignmin : 0;
|
|
|
+ varalignmax : 4;
|
|
|
+ localalignmin : 4;
|
|
|
+ localalignmax : 4;
|
|
|
+ recordalignmin : 0;
|
|
|
+ recordalignmax : 4;
|
|
|
+ maxCrecordalign : 4
|
|
|
+ );
|
|
|
+ first_parm_offset : 16;
|
|
|
+ stacksize : 262144;
|
|
|
+ stackalign : 8;
|
|
|
+ abi : abi_default;
|
|
|
+ llvmdatalayout : 'e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:64:128-a0:0:64-n32-S32';
|
|
|
+ );
|
|
|
+
|
|
|
implementation
|
|
|
|
|
|
initialization
|
|
@@ -553,4 +687,14 @@ initialization
|
|
|
set_source_info(system_m68k_embedded_info);
|
|
|
{$endif embedded}
|
|
|
{$endif cpum68k}
|
|
|
+{$ifdef cpuriscv32}
|
|
|
+ {$ifdef embedded}
|
|
|
+ set_source_info(system_riscv32_embedded_info);
|
|
|
+ {$endif embedded}
|
|
|
+{$endif cpuriscv32}
|
|
|
+{$ifdef cpuriscv64}
|
|
|
+ {$ifdef embedded}
|
|
|
+ set_source_info(system_riscv64_embedded_info);
|
|
|
+ {$endif embedded}
|
|
|
+{$endif cpuriscv64}
|
|
|
end.
|