mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-22 02:29:52 +02:00
AROS: improved version of the previous commit, pass the stripping option to the linker instead, seems to work.
git-svn-id: trunk@28466 -
This commit is contained in:
parent
883e71f18e
commit
03a0f7b409
@ -93,8 +93,7 @@ begin
|
|||||||
{ properly when calling the underlying GNU LD. (FIXME?) }
|
{ properly when calling the underlying GNU LD. (FIXME?) }
|
||||||
{ This means paths with spaces in them are not supported for now on AROS. }
|
{ This means paths with spaces in them are not supported for now on AROS. }
|
||||||
{ So for example no Ram Disk: usage for anything which must be linked. (KB) }
|
{ So for example no Ram Disk: usage for anything which must be linked. (KB) }
|
||||||
ExeCmd[1]:='collect-aros $OPT -d -n -o $EXE $RES';
|
ExeCmd[1]:='collect-aros $OPT $STRIP -d -n -o $EXE $RES';
|
||||||
ExeCmd[2]:='strip --strip-unneeded $EXE';
|
|
||||||
//ExeCmd[1]:='ld $OPT -d -n -o $EXE $RES';
|
//ExeCmd[1]:='ld $OPT -d -n -o $EXE $RES';
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@ -223,35 +222,24 @@ end;
|
|||||||
|
|
||||||
function TLinkeraros.Makearos386Exe: boolean;
|
function TLinkeraros.Makearos386Exe: boolean;
|
||||||
var
|
var
|
||||||
success: boolean;
|
|
||||||
BinStr,
|
BinStr,
|
||||||
CmdStr : TCmdStr;
|
CmdStr : TCmdStr;
|
||||||
StripStr: string[40];
|
StripStr: string[40];
|
||||||
begin
|
begin
|
||||||
StripStr:='';
|
StripStr:='';
|
||||||
|
if (cs_link_strip in current_settings.globalswitches) then StripStr:='-s';
|
||||||
|
|
||||||
{ Call linker }
|
{ Call linker }
|
||||||
SplitBinCmd(Info.ExeCmd[1],BinStr,CmdStr);
|
SplitBinCmd(Info.ExeCmd[1],BinStr,CmdStr);
|
||||||
Replace(cmdstr,'$OPT',Info.ExtraOptions);
|
Replace(cmdstr,'$OPT',Info.ExtraOptions);
|
||||||
Replace(cmdstr,'$EXE',maybequoted(ScriptFixFileName(current_module.exefilename)));
|
Replace(cmdstr,'$EXE',maybequoted(ScriptFixFileName(current_module.exefilename)));
|
||||||
Replace(cmdstr,'$RES',maybequoted(ScriptFixFileName(outputexedir+Info.ResName)));
|
Replace(cmdstr,'$RES',maybequoted(ScriptFixFileName(outputexedir+Info.ResName)));
|
||||||
|
Replace(cmdstr,'$STRIP',StripStr);
|
||||||
|
|
||||||
{ Replace(cmdstr,'$EXE',Unix2AmigaPath(maybequoted(ScriptFixFileName(current_module.exefilename^))));
|
{ Replace(cmdstr,'$EXE',Unix2AmigaPath(maybequoted(ScriptFixFileName(current_module.exefilename^))));
|
||||||
Replace(cmdstr,'$RES',Unix2AmigaPath(maybequoted(ScriptFixFileName(outputexedir+Info.ResName))));
|
Replace(cmdstr,'$RES',Unix2AmigaPath(maybequoted(ScriptFixFileName(outputexedir+Info.ResName))));}
|
||||||
Replace(cmdstr,'$STRIP',StripStr); }
|
|
||||||
|
|
||||||
success:=DoExec(FindUtil(utilsprefix+BinStr),CmdStr,true,false);
|
Makearos386Exe:=DoExec(FindUtil(utilsprefix+BinStr),CmdStr,true,false);
|
||||||
|
|
||||||
{ AROS seems to need a separate strip command, it may be possible to do it
|
|
||||||
in the linking command, but this works so fine for now. (KB) }
|
|
||||||
if success and (cs_link_strip in current_settings.globalswitches) then
|
|
||||||
begin
|
|
||||||
SplitBinCmd(Info.ExeCmd[2],binstr,cmdstr);
|
|
||||||
Replace(cmdstr,'$EXE',maybequoted(current_module.exefilename));
|
|
||||||
success:=DoExec(FindUtil(utilsprefix+binstr),cmdstr,true,false);
|
|
||||||
end;
|
|
||||||
|
|
||||||
Makearos386Exe:=success;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user