summaryrefslogtreecommitdiff
path: root/compiler/systems/i_bsd.pas
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/systems/i_bsd.pas')
-rw-r--r--compiler/systems/i_bsd.pas73
1 files changed, 71 insertions, 2 deletions
diff --git a/compiler/systems/i_bsd.pas b/compiler/systems/i_bsd.pas
index 90264afcf0..c9072cc4d8 100644
--- a/compiler/systems/i_bsd.pas
+++ b/compiler/systems/i_bsd.pas
@@ -188,6 +188,72 @@ unit i_bsd;
);
+ system_x86_64_dragonfly_info : tsysteminfo =
+ (
+ system : system_x86_64_dragonfly;
+ name : 'DragonFly for x86-64';
+ shortname : 'DragonFly';
+ flags : [tf_needs_symbol_size,tf_needs_dwarf_cfi,tf_library_needs_pic,tf_needs_symbol_type,
+ tf_files_case_sensitive,tf_smartlink_library,
+ tf_dwarf_only_local_labels,
+ {tf_pic_uses_got,}tf_smartlink_sections,tf_has_winlike_resources];
+ cpu : cpu_x86_64;
+ 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_x86_64_elf64;
+ 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 : 8;
+ varalignmin : 0;
+ varalignmax : 16;
+ localalignmin : 4;
+ localalignmax : 16;
+ recordalignmin : 0;
+ recordalignmax : 16;
+ maxCrecordalign : 16
+ );
+ first_parm_offset : 16;
+ stacksize : 256*1024;
+ stackalign : 16;
+ abi : abi_default;
+ );
+
+
system_i386_netbsd_info : tsysteminfo =
(
system : system_i386_NetBSD;
@@ -255,7 +321,7 @@ unit i_bsd;
system : system_i386_OpenBSD;
name : 'OpenBSD for i386';
shortname : 'OpenBSD';
- flags : [tf_pic_uses_got,tf_under_development,tf_files_case_sensitive,tf_smartlink_library,tf_has_winlike_resources];
+ flags : [tf_pic_uses_got,tf_under_development,tf_files_case_sensitive,tf_smartlink_library,tf_smartlink_sections,tf_has_winlike_resources];
cpu : cpu_i386;
unit_env : 'BSDUNITS';
extradefines : 'UNIX;BSD;HASUNIX';
@@ -319,7 +385,7 @@ unit i_bsd;
shortname : 'OpenBSD';
flags : [tf_needs_symbol_size,tf_needs_dwarf_cfi,tf_library_needs_pic,tf_needs_symbol_type,
tf_files_case_sensitive,tf_smartlink_library, tf_under_development,
- tf_dwarf_only_local_labels,
+ tf_dwarf_only_local_labels, tf_pic_default,
{ tf_pic_uses_got,}tf_smartlink_sections,tf_has_winlike_resources];
cpu : cpu_x86_64;
unit_env : 'BSDUNITS';
@@ -969,6 +1035,9 @@ initialization
{$ifdef FreeBSD}
set_source_info(system_x86_64_FreeBSD_info);
{$endif}
+ {$ifdef DragonFly}
+ set_source_info(system_x86_64_DragonFly_info);
+ {$endif}
{$ifdef OpenBSD}
set_source_info(system_x86_64_OpenBSD_info);
{$endif}