+ set IMAGEBASE in the Z80 internal linker script

git-svn-id: trunk@45568 -
This commit is contained in:
nickysn 2020-06-02 23:01:07 +00:00
parent b29257fd05
commit 4a5a2f5ba2

View File

@ -61,6 +61,8 @@ implementation
{ TInternalLinkerZXSpectrum } { TInternalLinkerZXSpectrum }
TInternalLinkerZXSpectrum=class(tinternallinker) TInternalLinkerZXSpectrum=class(tinternallinker)
private
FOrigin: Word;
protected protected
procedure DefaultLinkScript;override; procedure DefaultLinkScript;override;
function GetCodeSize(aExeOutput: TExeOutput): QWord;override; function GetCodeSize(aExeOutput: TExeOutput): QWord;override;
@ -360,6 +362,8 @@ procedure TInternalLinkerZXSpectrum.DefaultLinkScript;
end; end;
LinkScript.Concat('ENDGROUP'); LinkScript.Concat('ENDGROUP');
LinkScript.Concat('IMAGEBASE '+tostr(FOrigin));
LinkScript.Concat('EXESECTION .text'); LinkScript.Concat('EXESECTION .text');
LinkScript.Concat(' OBJSECTION _CODE'); LinkScript.Concat(' OBJSECTION _CODE');
LinkScript.Concat('ENDEXESECTION'); LinkScript.Concat('ENDEXESECTION');
@ -396,6 +400,7 @@ constructor TInternalLinkerZXSpectrum.create;
CArObjectReader:=TArObjectReader; CArObjectReader:=TArObjectReader;
CExeOutput:=TIntelHexExeOutput; CExeOutput:=TIntelHexExeOutput;
CObjInput:=TRelObjInput; CObjInput:=TRelObjInput;
FOrigin:={32768}23800;
end; end;
procedure TInternalLinkerZXSpectrum.InitSysInitUnitName; procedure TInternalLinkerZXSpectrum.InitSysInitUnitName;