[fpc-devel] Linking not working anymore on latest trunk for target arm-freertos (plus fix)
    Michael Ring 
    mail at michael-ring.org
       
    Sat Jul  4 09:33:06 CEST 2020
    
    
  
Hi, Linking on arm-freertos target did not work after the merge of some 
of Christo's fixes for esp32-freertos.
Here's the fix for the issue (also attached as diff), Florian, can you 
please check & apply this patch?
Thank you,
Michael
diff --git a/compiler/systems/t_freertos.pas 
b/compiler/systems/t_freertos.pas
index e8f5f8507d..742c71d4c5 100644
--- a/compiler/systems/t_freertos.pas
+++ b/compiler/systems/t_freertos.pas
@@ -82,9 +82,9 @@ begin
           '-L $IDF_PATH/components/esp_rom/esp32/ld '+
           '-T esp32.rom.ld -T esp32.rom.libgcc.ld -T 
esp32.rom.newlib-data.ld -T esp32.rom.syscalls.ld -T 
esp32.rom.newlib-funcs.ld '+
           '-L . -T esp32_out.ld -T esp32.project.ld '+
-         '-L $IDF_PATH/components/esp32/ld -T esp32.peripherals.ld'
-     else
-       ExeCmd[1]:='ld -g '+platform_select+' $OPT $DYNLINK $STATIC 
$GCSECTIONS $STRIP $MAP -L. -o $EXE -T $RES';
+         '-L $IDF_PATH/components/esp32/ld -T esp32.peripherals.ld';
+{$else}
+     ExeCmd[1]:='ld -g '+platform_select+' $OPT $DYNLINK $STATIC 
$GCSECTIONS $STRIP $MAP -L. -o $EXE -T $RES';
  {$endif xtensa}
     end;
  end;
@@ -1160,7 +1160,8 @@ begin
          success:=DoExec(binstr,cmdstr,true,false);
      end;
- 
Replace(Info.ExeCmd[1],'$'+IDF_PATH,maybequoted(GetEnvironmentVariable(IDF_PATH)));
+  if IDF_PATH <> '' then
+ 
Replace(Info.ExeCmd[1],'$'+IDF_PATH,maybequoted(GetEnvironmentVariable(IDF_PATH)));
FixedExeFileName:=maybequoted(ScriptFixFileName(ChangeFileExt(current_module.exefilename,'.elf')));
    GCSectionsStr:='--gc-sections';
-------------- next part --------------
diff --git a/compiler/systems/t_freertos.pas b/compiler/systems/t_freertos.pas
index e8f5f8507d..742c71d4c5 100644
--- a/compiler/systems/t_freertos.pas
+++ b/compiler/systems/t_freertos.pas
@@ -82,9 +82,9 @@ begin
          '-L $IDF_PATH/components/esp_rom/esp32/ld '+
          '-T esp32.rom.ld -T esp32.rom.libgcc.ld -T esp32.rom.newlib-data.ld -T esp32.rom.syscalls.ld -T esp32.rom.newlib-funcs.ld '+
          '-L . -T esp32_out.ld -T esp32.project.ld '+
-         '-L $IDF_PATH/components/esp32/ld -T esp32.peripherals.ld'
-     else
-       ExeCmd[1]:='ld -g '+platform_select+' $OPT $DYNLINK $STATIC $GCSECTIONS $STRIP $MAP -L. -o $EXE -T $RES';
+         '-L $IDF_PATH/components/esp32/ld -T esp32.peripherals.ld';
+{$else}
+     ExeCmd[1]:='ld -g '+platform_select+' $OPT $DYNLINK $STATIC $GCSECTIONS $STRIP $MAP -L. -o $EXE -T $RES';
 {$endif xtensa}
    end;
 end;
@@ -1160,7 +1160,8 @@ begin
         success:=DoExec(binstr,cmdstr,true,false);
     end;
-  Replace(Info.ExeCmd[1],'$'+IDF_PATH,maybequoted(GetEnvironmentVariable(IDF_PATH)));
+  if IDF_PATH <> '' then
+    Replace(Info.ExeCmd[1],'$'+IDF_PATH,maybequoted(GetEnvironmentVariable(IDF_PATH)));
   FixedExeFileName:=maybequoted(ScriptFixFileName(ChangeFileExt(current_module.exefilename,'.elf')));
   GCSectionsStr:='--gc-sections';
    
    
More information about the fpc-devel
mailing list