Browse Source

aros: enabled internal sysinit for i386-aros

git-svn-id: trunk@35238 -
Károly Balogh 8 years ago
parent
commit
ab5b9982ee
2 changed files with 13 additions and 3 deletions
  1. 1 1
      compiler/systems.pas
  2. 12 2
      compiler/systems/t_aros.pas

+ 1 - 1
compiler/systems.pas

@@ -327,7 +327,7 @@ interface
 
 
        systems_internal_sysinit = [system_i386_linux,system_i386_win32,system_x86_64_win64,
        systems_internal_sysinit = [system_i386_linux,system_i386_win32,system_x86_64_win64,
                                    system_powerpc64_linux,system_powerpc_morphos,system_m68k_amiga,
                                    system_powerpc64_linux,system_powerpc_morphos,system_m68k_amiga,
-                                   system_m68k_atari]+systems_darwin;
+                                   system_m68k_atari,system_i386_aros]+systems_darwin;
 
 
        { all systems that use garbage collection for reference-counted types }
        { all systems that use garbage collection for reference-counted types }
        systems_garbage_collected_managed_types = [
        systems_garbage_collected_managed_types = [

+ 12 - 2
compiler/systems/t_aros.pas

@@ -45,6 +45,7 @@ type
     public
     public
       constructor Create; override;
       constructor Create; override;
       procedure SetDefaultInfo; override;
       procedure SetDefaultInfo; override;
+      procedure InitSysInitUnitName; override;
       function  MakeExecutable: boolean; override;
       function  MakeExecutable: boolean; override;
   end;
   end;
 
 
@@ -97,6 +98,12 @@ begin
 end;
 end;
 
 
 
 
+Procedure TLinkeraros.InitSysInitUnitName;
+begin
+  sysinitunit:='si_prc';
+end;
+
+
 function TLinkeraros.WriteResponseFile(isdll: boolean): boolean;
 function TLinkeraros.WriteResponseFile(isdll: boolean): boolean;
 var
 var
   linkres  : TLinkRes;
   linkres  : TLinkRes;
@@ -132,8 +139,11 @@ begin
 
 
   LinkRes.Add('INPUT (');
   LinkRes.Add('INPUT (');
   { add objectfiles, start with prt0 always }
   { add objectfiles, start with prt0 always }
-  s:=FindObjectFile('prt0','',false);
-  LinkRes.AddFileName(s);
+  if not (target_info.system in systems_internal_sysinit) then
+    begin
+      s:=FindObjectFile('prt0','',false);
+      LinkRes.AddFileName(Unix2AmigaPath(maybequoted(s)));
+    end;
   while not ObjectFiles.Empty do
   while not ObjectFiles.Empty do
    begin
    begin
     s:=ObjectFiles.GetFirst;
     s:=ObjectFiles.GetFirst;