diff options
author | florian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2021-04-26 20:52:02 +0000 |
---|---|---|
committer | florian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2021-04-26 20:52:02 +0000 |
commit | 777a40cb89ae38ff1e747b4fac54cc736808eaad (patch) | |
tree | 27b0b2698eb3fb4030163e11bd03f7d5b79a22ea | |
parent | 25893d4612247064685c7f615f30ac14a88ab9b8 (diff) | |
download | fpc-777a40cb89ae38ff1e747b4fac54cc736808eaad.tar.gz |
* patch by Christo Crause to fix #38789: writing of linker commands should not depent in -s
git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@49267 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r-- | compiler/systems/t_freertos.pas | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/compiler/systems/t_freertos.pas b/compiler/systems/t_freertos.pas index 027d29f15c..2c815cfbed 100644 --- a/compiler/systems/t_freertos.pas +++ b/compiler/systems/t_freertos.pas @@ -955,6 +955,8 @@ var t: Text; hp: TCmdStrListItem; filepath: TCmdStr; + i,j: integer; + lib: AnsiString; {$endif XTENSA} begin {$ifdef XTENSA} @@ -1139,6 +1141,20 @@ begin if ioresult<>0 then exit; + { extract libraries from linker options and add to static libraries list } + Info.ExtraOptions:=trim(Info.ExtraOptions); + i := pos('-l', Info.ExtraOptions); + while i > 0 do + begin + j:=pos(' ',Info.ExtraOptions); + if j=0 then + j:=length(Info.ExtraOptions)+1; + lib:=copy(Info.ExtraOptions,i+2,j-i-2); + AddStaticCLibrary(lib); + delete(Info.ExtraOptions,i,j); + trim(Info.ExtraOptions); + i := pos('-l', Info.ExtraOptions); + end; hp:=TCmdStrListItem(StaticLibFiles.First); while assigned(hp) do begin @@ -1256,8 +1272,7 @@ begin Replace(cmdstr,'$GCSECTIONS',GCSectionsStr); Replace(cmdstr,'$DYNLINK',DynLinkStr); end; - if success and not(cs_link_nolink in current_settings.globalswitches) then - success:=DoExec(FindUtil(utilsprefix+BinStr),cmdstr,true,false); + success:=DoExec(FindUtil(utilsprefix+BinStr),cmdstr,true,false); { Remove ReponseFile } if success and not(cs_link_nolink in current_settings.globalswitches) then |