Browse Source

* patch by Alfred to use new linker names for Android NDK >=22, resolves #38987

git-svn-id: trunk@49498 -
florian 4 years ago
parent
commit
9d2e71ff69
1 changed files with 8 additions and 6 deletions
  1. 8 6
      compiler/systems/t_android.pas

+ 8 - 6
compiler/systems/t_android.pas

@@ -436,14 +436,16 @@ begin
   if IsSharedLib then
     Replace(cmdstr,'$SONAME',ExtractFileName(outname));
 
-  binstr:=FindUtil(utilsprefix+BinStr);
   { We should use BFD version of LD, since GOLD version does not support INSERT command in linker scripts }
-  if binstr <> '' then begin
-    { Checking if ld.bfd exists }
-    s:=ChangeFileExt(binstr, '.bfd' + source_info.exeext);
+  s:=utilsprefix+binstr+'.bfd';
+  if (source_info.exeext<>'') then
+    s:=s+source_info.exeext;
+  s:=FindUtil(s);
     if FileExists(s, True) then
-      binstr:=s;
-  end;
+    binstr:=s
+  else
+    // fallback to ld for very old or custom binutils
+    binstr:=FindUtil(utilsprefix+BinStr);
 
   success:=DoExec(binstr,CmdStr,true,false);