summaryrefslogtreecommitdiff
path: root/compiler/systems/t_bsd.pas
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/systems/t_bsd.pas')
-rw-r--r--compiler/systems/t_bsd.pas9
1 files changed, 9 insertions, 0 deletions
diff --git a/compiler/systems/t_bsd.pas b/compiler/systems/t_bsd.pas
index 911fcd0e08..b35a78aecb 100644
--- a/compiler/systems/t_bsd.pas
+++ b/compiler/systems/t_bsd.pas
@@ -695,6 +695,12 @@ begin
else
DynLinKStr:=DynLinkStr+' -dynamic'; // one dash!
end;
+
+{ Use -nopie on OpenBSD }
+ if (target_info.system in systems_openbsd) and
+ (target_info.system <> system_x86_64_openbsd) then
+ Info.ExtraOptions:=Info.ExtraOptions+' -nopie';
+
{ Write used files and libraries }
WriteResponseFile(false);
@@ -912,6 +918,9 @@ end;
initialization
RegisterLinker(ld_bsd,TLinkerBSD);
{$ifdef x86_64}
+ RegisterImport(system_x86_64_dragonfly,timportlibbsd);
+ RegisterExport(system_x86_64_dragonfly,texportlibbsd);
+ RegisterTarget(system_x86_64_dragonfly_info);
RegisterImport(system_x86_64_freebsd,timportlibbsd);
RegisterExport(system_x86_64_freebsd,texportlibbsd);
RegisterTarget(system_x86_64_freebsd_info);