|
@@ -2890,7 +2890,9 @@ var
|
|
|
GccExecutable: string;
|
|
|
begin
|
|
|
result := '';
|
|
|
- GccExecutable := ExeSearch(AddProgramExtension(CrossPrefix+'gcc', OS),Sysutils.GetEnvironmentVariable('PATH'));
|
|
|
+ GccExecutable := ExeSearch(AddProgramExtension(CrossPrefix+'gcc', OS),Sysutils.GetEnvironmentVariable('PATH'));
|
|
|
+ if not(FileExists(GccExecutable)) then
|
|
|
+ GccExecutable := ExeSearch(AddProgramExtension(CrossPrefix+'gnu-gcc', OS),Sysutils.GetEnvironmentVariable('PATH'));
|
|
|
if FileExists(GccExecutable) then
|
|
|
begin
|
|
|
{$ifdef HAS_UNIT_PROCESS}
|
|
@@ -2948,12 +2950,12 @@ begin
|
|
|
((CPU=riscv64) and (SourceCPU=riscv32)) or
|
|
|
((CPU=sparc64) and (SourceCPU=sparc))
|
|
|
) or (SourceOS=openbsd) then
|
|
|
- UseBinutilsPrefix:=true;
|
|
|
+ UseBinutilsPrefix:=true;
|
|
|
end;
|
|
|
- if not UseBinutilsPrefix then
|
|
|
- CrossPrefix:=''
|
|
|
- else if Sysutils.GetEnvironmentVariable('BINUTILSPREFIX')<>'' then
|
|
|
+ if Sysutils.GetEnvironmentVariable('BINUTILSPREFIX')<>'' then
|
|
|
CrossPrefix:=Sysutils.GetEnvironmentVariable('BINUTILSPREFIX')
|
|
|
+ else if not UseBinutilsPrefix then
|
|
|
+ CrossPrefix:=''
|
|
|
else
|
|
|
CrossPrefix:=CPUToString(CPU)+'-'+OSToString(OS)+'-';
|
|
|
if OS in [freebsd, openbsd, dragonfly] then
|
|
@@ -7215,9 +7217,9 @@ begin
|
|
|
ReadBarrier;
|
|
|
{$ifdef NO_THREADING}
|
|
|
Args.Add('-Fl'+FCachedlibcPath);
|
|
|
-{$ELSE}
|
|
|
+{$ELSE}
|
|
|
Args.Add('-Fl'+volatile(FCachedlibcPath));
|
|
|
-{$ENDIF}
|
|
|
+{$ENDIF}
|
|
|
end;
|
|
|
|
|
|
// Custom options which are added by dependencies
|
|
@@ -8677,7 +8679,7 @@ begin
|
|
|
// that a package finished it's task.
|
|
|
NotifyThreadWaiting := RTLEventCreate;
|
|
|
SetLength(Threads,Defaults.ThreadsAmount);
|
|
|
- try
|
|
|
+ try
|
|
|
// Create all worker-threads
|
|
|
try
|
|
|
for Thr:=0 to Defaults.ThreadsAmount-1 do
|