diff options
Diffstat (limited to 'riscv/trunk/compiler/systems/i_embed.pas')
-rw-r--r-- | riscv/trunk/compiler/systems/i_embed.pas | 71 |
1 files changed, 70 insertions, 1 deletions
diff --git a/riscv/trunk/compiler/systems/i_embed.pas b/riscv/trunk/compiler/systems/i_embed.pas index 246cc3a581..5f8d567514 100644 --- a/riscv/trunk/compiler/systems/i_embed.pas +++ b/riscv/trunk/compiler/systems/i_embed.pas @@ -346,7 +346,71 @@ unit i_embed; stackalign : 16; abi : abi_default; llvmdatalayout : 'e-p:64:64:64-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:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128'; - ); + ); + + system_riscv32_embedded_info : tsysteminfo = + ( + system : system_riscv32_embedded; + name : 'Embedded'; + shortname : 'embedded'; + flags : [tf_needs_symbol_size,tf_needs_symbol_type,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; + constalignmin : 4; + constalignmax : 4; + varalignmin : 4; + varalignmax : 4; + localalignmin : 4; + localalignmax : 4; + recordalignmin : 0; + recordalignmax : 4; + maxCrecordalign : 4 + ); + first_parm_offset : 0; + 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:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32-S32'; + ); system_riscv64_embedded_info : tsysteminfo = ( @@ -440,6 +504,11 @@ initialization set_source_info(system_x86_64_embedded_info); {$endif embedded} {$endif CPUX86_64} +{$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); |