+ added class type property CObjSymbol to TExeOutput as well

git-svn-id: trunk@31426 -
This commit is contained in:
nickysn 2015-08-25 16:07:59 +00:00
parent 19aab3fd31
commit 919cc8377a
3 changed files with 5 additions and 1 deletions

View File

@ -502,7 +502,7 @@ implementation
if (tmp>=numpages) then if (tmp>=numpages) then
InternalError(2013030402); InternalError(2013030402);
{ replace relocation symbol with one pointing to GOT slot } { replace relocation symbol with one pointing to GOT slot }
objsym:=TObjSymbol.Create(local_got_slots,hexstr(addr,8)); objsym:=CObjSymbol.Create(local_got_slots,hexstr(addr,8));
objsym.offset:=(got_local_area_start+tmp+1)*sizeof(pint); objsym.offset:=(got_local_area_start+tmp+1)*sizeof(pint);
objsym.bind:=AB_LOCAL; objsym.bind:=AB_LOCAL;
if (source_info.endian=target_info.endian) then if (source_info.endian=target_info.endian) then

View File

@ -521,6 +521,7 @@ interface
TExeOutput = class TExeOutput = class
private private
{ ExeSectionList } { ExeSectionList }
FCObjSymbol : TObjSymbolClass;
FCObjData : TObjDataClass; FCObjData : TObjDataClass;
FCExeSection : TExeSectionClass; FCExeSection : TExeSectionClass;
FCurrExeSec : TExeSection; FCurrExeSec : TExeSection;
@ -557,6 +558,7 @@ interface
function writeData:boolean;virtual;abstract; function writeData:boolean;virtual;abstract;
property CExeSection:TExeSectionClass read FCExeSection write FCExeSection; property CExeSection:TExeSectionClass read FCExeSection write FCExeSection;
property CObjData:TObjDataClass read FCObjData write FCObjData; property CObjData:TObjDataClass read FCObjData write FCObjData;
property CObjSymbol:TObjSymbolClass read FCObjSymbol write FCObjSymbol;
procedure Order_ObjSectionList(ObjSectionList : TFPObjectList; const aPattern:string);virtual; procedure Order_ObjSectionList(ObjSectionList : TFPObjectList; const aPattern:string);virtual;
procedure WriteExeSectionContent; procedure WriteExeSectionContent;
procedure DoRelocationFixup(objsec:TObjSection);virtual;abstract; procedure DoRelocationFixup(objsec:TObjSection);virtual;abstract;
@ -1788,6 +1790,7 @@ implementation
FixedSectionAlign:=True; FixedSectionAlign:=True;
FCExeSection:=TExeSection; FCExeSection:=TExeSection;
FCObjData:=TObjData; FCObjData:=TObjData;
FCObjSymbol:=TObjSymbol;
end; end;

View File

@ -2545,6 +2545,7 @@ implementation
inherited create; inherited create;
CExeSection:=TMZExeSection; CExeSection:=TMZExeSection;
CObjData:=TOmfObjData; CObjData:=TOmfObjData;
CObjSymbol:=TOmfObjSymbol;
{ "640K ought to be enough for anybody" :) } { "640K ought to be enough for anybody" :) }
MaxMemPos:=$9FFFF; MaxMemPos:=$9FFFF;
FExeUnifiedLogicalSegments:=TFPHashObjectList.Create; FExeUnifiedLogicalSegments:=TFPHashObjectList.Create;