Ver código fonte

--- Merging r20292 into '.':
U compiler/systems/i_bsd.pas
--- Merging r20293 into '.':
U compiler/systems/t_bsd.pas
--- Merging r20353 into '.':
G compiler/systems/i_bsd.pas

# revisions: 20292,20293,20353
------------------------------------------------------------------------
r20292 | pierre | 2012-02-09 18:37:40 +0100 (Thu, 09 Feb 2012) | 1 line
Changed paths:
M /trunk/compiler/systems/i_bsd.pas

Modern i386 NetBSD has no underscore prefix, but since when?
------------------------------------------------------------------------
------------------------------------------------------------------------
r20293 | pierre | 2012-02-09 18:38:10 +0100 (Thu, 09 Feb 2012) | 1 line
Changed paths:
M /trunk/compiler/systems/t_bsd.pas

NetBSD also needs explicit DynamicLinker
------------------------------------------------------------------------
------------------------------------------------------------------------
r20353 | pierre | 2012-02-15 14:08:49 +0100 (Wed, 15 Feb 2012) | 1 line
Changed paths:
M /trunk/compiler/systems/i_bsd.pas

i386 NetBSD uses GOT for position independent code
------------------------------------------------------------------------

git-svn-id: branches/fixes_2_6@20371 -

marco 13 anos atrás
pai
commit
df8a8667bf
2 arquivos alterados com 5 adições e 3 exclusões
  1. 2 2
      compiler/systems/i_bsd.pas
  2. 3 1
      compiler/systems/t_bsd.pas

+ 2 - 2
compiler/systems/i_bsd.pas

@@ -191,7 +191,7 @@ unit i_bsd;
             system       : system_i386_NetBSD;
             name         : 'NetBSD for i386';
             shortname    : 'NetBSD';
-            flags        : [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_has_winlike_resources];
             cpu          : cpu_i386;
             unit_env     : 'BSDUNITS';
             extradefines : 'UNIX;BSD;HASUNIX';
@@ -215,7 +215,7 @@ unit i_bsd;
             sharedClibprefix : 'lib';
             importlibprefix : 'libimp';
             importlibext : '.a';
-            Cprefix      : '_';
+            Cprefix      : '';
             newline      : #10;
             dirsep       : '/';
             assem        : as_gas;

+ 3 - 1
compiler/systems/t_bsd.pas

@@ -189,8 +189,10 @@ begin
      { OpenBSD seems to use a wrong dynamic linker by default }
      if target_info.system = system_i386_openbsd then
       DynamicLinker:='/usr/libexec/ld.so'
+     else if target_info.system = system_i386_netbsd then
+      DynamicLinker:='/usr/libexec/ld.elf_so'
      else
-      DynamicLinker:='';
+       DynamicLinker:='';
    end;
 end;