Changeset View
Changeset View
Standalone View
Standalone View
lang/fpc/files/patch-compiler_systems_i_bsd.pas
diff --git a/compiler/systems/i_bsd.pas b/compiler/systems/i_bsd.pas | |||||
index 9d182a1f..2aaf36d6 100644 | |||||
--- compiler/systems/i_bsd.pas | |||||
+++ compiler/systems/i_bsd.pas | |||||
@@ -54,6 +54,73 @@ unit i_bsd; | |||||
resflags : [res_external_file,res_arch_in_file_name]; | |||||
); | |||||
+ system_aarch64_freebsd_info : tsysteminfo = | |||||
+ ( | |||||
+ system : system_aarch64_freebsd; | |||||
+ name : 'FreeBSD for aarch64'; | |||||
+ shortname : 'FreeBSD'; | |||||
+ flags : [tf_needs_symbol_size,tf_needs_dwarf_cfi,tf_library_needs_pic,tf_needs_symbol_type, | |||||
+ tf_files_case_sensitive, | |||||
+ tf_dwarf_only_local_labels, | |||||
+ {tf_pic_uses_got,}tf_smartlink_sections,tf_has_winlike_resources]; | |||||
+ cpu : cpu_aarch64; | |||||
+ unit_env : 'BSDUNITS'; | |||||
+ extradefines : 'UNIX;HASUNIX;BSD'; | |||||
+ 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_bsd; | |||||
+ ar : ar_gnu_ar; | |||||
+ res : res_elf; | |||||
+ dbg : dbg_dwarf2; //dbg_stabs; | |||||
+ script : script_unix; | |||||
+ endian : endian_little; | |||||
+ alignment : | |||||
+ ( | |||||
+ procalign : 8; | |||||
+ loopalign : 4; | |||||
+ jumpalign : 0; | |||||
+ constalignmin : 0; | |||||
+ constalignmax : 16; | |||||
+ varalignmin : 0; | |||||
+ varalignmax : 16; | |||||
+ localalignmin : 4; | |||||
+ localalignmax : 16; | |||||
+ recordalignmin : 0; | |||||
+ recordalignmax : 16; | |||||
+ maxCrecordalign : 16 | |||||
+ ); | |||||
+ first_parm_offset : 16; | |||||
+ stacksize : 8*1024*1024; | |||||
+ stackalign : 16; | |||||
+ abi : abi_default; | |||||
+ llvmdatalayout : 'e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128' | |||||
+ ); | |||||
+ | |||||
+ | |||||
system_i386_freebsd_info : tsysteminfo = | |||||
( | |||||
system : system_i386_FreeBSD; | |||||
@@ -1287,6 +1354,9 @@ initialization | |||||
{$endif} | |||||
{$endif cpuarm} | |||||
{$ifdef cpuaarch64} | |||||
+ {$ifdef FreeBSD} | |||||
+ set_source_info(system_aarch64_freebsd_info); | |||||
+ {$endif FreeBSD} | |||||
{$ifdef Darwin} | |||||
set_source_info(system_aarch64_darwin_info); | |||||
{$endif Darwin} |