Browse Source

------------------------------------------------------------------------
r40756 | karoly | 2019-01-04 03:00:03 +0000 (Fri, 04 Jan 2019) | 1 line

haiku: linker support code for internal sysinit and make the x86_64 port use it
------------------------------------------------------------------------
--- Merging r40756 into '.':
G compiler/systems/t_haiku.pas
U compiler/systems.pas
--- Recording mergeinfo for merge of r40756 into '.':
G .
------------------------------------------------------------------------
------------------------------------------------------------------------
r40791 | karoly | 2019-01-07 12:58:02 +0000 (Mon, 07 Jan 2019) | 1 line

haiku: move i386 also to internal sysinit
------------------------------------------------------------------------
U compiler/systems.pas
U rtl/haiku/system.pp
--- Recording mergeinfo for merge of r40791 into '.':
U .

git-svn-id: branches/fixes_3_2@42136 -

pierre 6 years ago
parent
commit
cae238ca98
3 changed files with 8 additions and 7 deletions
  1. 2 2
      compiler/systems.pas
  2. 3 2
      compiler/systems/i_haiku.pas
  3. 3 3
      rtl/haiku/system.pp

+ 2 - 2
compiler/systems.pas

@@ -339,8 +339,8 @@ interface
        systems_internal_sysinit = [system_i386_win32,system_x86_64_win64,
        systems_internal_sysinit = [system_i386_win32,system_x86_64_win64,
                                    system_i386_linux,system_powerpc64_linux,system_sparc64_linux,system_x86_64_linux,
                                    system_i386_linux,system_powerpc64_linux,system_sparc64_linux,system_x86_64_linux,
                                    system_m68k_atari,system_m68k_palmos,
                                    system_m68k_atari,system_m68k_palmos,
-                                   system_i386_openbsd,system_x86_64_openbsd
-
+                                   system_i386_openbsd,system_x86_64_openbsd,
+                                   system_i386_haiku,system_x86_64_haiku
                                   ]+systems_darwin+systems_amigalike;
                                   ]+systems_darwin+systems_amigalike;
 
 
        { all systems that use garbage collection for reference-counted types }
        { all systems that use garbage collection for reference-counted types }

+ 3 - 2
compiler/systems/i_haiku.pas

@@ -36,7 +36,8 @@ unit i_haiku;
             name         : 'Haiku for i386';
             name         : 'Haiku for i386';
             shortname    : 'Haiku';
             shortname    : 'Haiku';
             flags        : [tf_under_development,tf_needs_symbol_size,tf_files_case_sensitive,
             flags        : [tf_under_development,tf_needs_symbol_size,tf_files_case_sensitive,
-                            tf_smartlink_sections, tf_has_winlike_resources];
+                            tf_pic_default,tf_pic_uses_got,tf_library_needs_pic,
+                            tf_smartlink_sections,tf_has_winlike_resources];
             cpu          : cpu_i386;
             cpu          : cpu_i386;
             unit_env     : 'HAIKUUNITS';
             unit_env     : 'HAIKUUNITS';
             extradefines : 'BEOS;UNIX;HASUNIX';
             extradefines : 'BEOS;UNIX;HASUNIX';
@@ -96,7 +97,7 @@ unit i_haiku;
               Under R5, this value is even greater. listarea report a default 
               Under R5, this value is even greater. listarea report a default 
               size of 16 Mb for the user stack of the main thread.
               size of 16 Mb for the user stack of the main thread.
               People who still use BeOS nowadays should use R5 (or Haiku), 
               People who still use BeOS nowadays should use R5 (or Haiku), 
-              so i use this new value.  
+              so i use this new value.
             }
             }
             stacksize    : 16 * 1024 * 1024;
             stacksize    : 16 * 1024 * 1024;
             stackalign   : 4;
             stackalign   : 4;

+ 3 - 3
rtl/haiku/system.pp

@@ -38,7 +38,7 @@ function disable_debugger(state : integer): integer; cdecl; external 'root' name
 {*****************************************************************************
 {*****************************************************************************
                          System Dependent Exit code
                          System Dependent Exit code
 *****************************************************************************}
 *****************************************************************************}
-{$ifdef i386}
+{$ifdef legacy_startup}
 procedure prthaltproc;external name '_haltproc';
 procedure prthaltproc;external name '_haltproc';
 
 
 procedure system_exit;
 procedure system_exit;
@@ -47,14 +47,14 @@ begin
     jmp prthaltproc
     jmp prthaltproc
   end;
   end;
 End;
 End;
-{$else i386}
+{$else legacy_startup}
 procedure haltproc(exitcode: longint); cdecl; external name '_haltproc';
 procedure haltproc(exitcode: longint); cdecl; external name '_haltproc';
 
 
 procedure system_exit;
 procedure system_exit;
 begin
 begin
   haltproc(ExitCode);
   haltproc(ExitCode);
 end;
 end;
-{$endif i386}
+{$endif legacy_startup}
 
 
 
 
 { OS dependant parts  }
 { OS dependant parts  }