Bläddra i källkod

Merged revisions 11150,11558 via svnmerge from
svn+ssh://[email protected]/FPC/svn/fpc/trunk

........
r11150 | florian | 2008-06-01 11:25:04 +0100 (Sun, 01 Jun 2008) | 2 lines

* use ld-linux.so.3 in armel mode

........
r11558 | florian | 2008-08-12 17:45:07 +0100 (Tue, 12 Aug 2008) | 2 lines

* fixed shared linker name for i386
* restored old shared linker search order as good as possible
........

git-svn-id: branches/fixes_2_2@11691 -

Jonas Maebe 17 år sedan
förälder
incheckning
38d28df431
1 ändrade filer med 16 tillägg och 9 borttagningar
  1. 16 9
      compiler/systems/t_linux.pas

+ 16 - 9
compiler/systems/t_linux.pas

@@ -161,7 +161,7 @@ begin
 {$endif m68k}
 
 {$ifdef i386}
-     defdynlinker:='/lib/ld-linux.so.1';
+     defdynlinker:='/lib/ld-linux.so.2';
 {$endif}
 
 {$ifdef x86_64}
@@ -181,7 +181,11 @@ begin
 {$endif powerpc64}
 
 {$ifdef arm}
+{$ifdef FPC_ARMEL}
+     defdynlinker:='/lib/ld-linux.so.3';
+{$else FPC_ARMEL}
      defdynlinker:='/lib/ld-linux.so.2';
+{$endif FPC_ARMEL}
 {$endif arm}
 
      {
@@ -191,24 +195,27 @@ begin
          glibc 2.0
        If none is found (e.g. when cross compiling) glibc21 is assumed
      }
-{$ifdef i386}
-     if FileExists(sysrootpath+'/lib/ld-linux.so.2',false) then
+     if fileexists(sysrootpath+defdynlinker,false) then
        begin
-         DynamicLinker:='/lib/ld-linux.so.2';
+         DynamicLinker:=defdynlinker;
+{$ifdef i386}
          libctype:=glibc21;
-       end
-     else
+{$else i386}
+         libctype:=glibc2;
 {$endif i386}
-     if fileexists(sysrootpath+'/lib/ld-uClibc.so.0',false) then
+       end
+     else if fileexists(sysrootpath+'/lib/ld-uClibc.so.0',false) then
        begin
          dynamiclinker:='/lib/ld-uClibc.so.0';
          libctype:=uclibc;
        end
-     else if fileexists(sysrootpath+defdynlinker,false) then
+{$ifdef i386}
+     else if FileExists(sysrootpath+'/lib/ld-linux.so.1',false) then
        begin
-         DynamicLinker:=defdynlinker;
+         DynamicLinker:='/lib/ld-linux.so.1';
          libctype:=glibc2;
        end
+{$endif i386}
      else
        begin
          { when no dyn. linker is found, we are probably