|
@@ -233,6 +233,9 @@ interface
|
|
ExeSection : TExeSection;
|
|
ExeSection : TExeSection;
|
|
USed : Boolean;
|
|
USed : Boolean;
|
|
VTRefList : TFPObjectList;
|
|
VTRefList : TFPObjectList;
|
|
|
|
+{$ifdef ARM}
|
|
|
|
+ ThumbFunc : boolean;
|
|
|
|
+{$endif ARM}
|
|
constructor create(AList:TFPHashObjectList;const Aname:string;Aalign:shortint;Aoptions:TObjSectionOptions);virtual;
|
|
constructor create(AList:TFPHashObjectList;const Aname:string;Aalign:shortint;Aoptions:TObjSectionOptions);virtual;
|
|
destructor destroy;override;
|
|
destructor destroy;override;
|
|
function write(const d;l:aword):aword;
|
|
function write(const d;l:aword):aword;
|
|
@@ -289,6 +292,9 @@ interface
|
|
public
|
|
public
|
|
CurrPass : byte;
|
|
CurrPass : byte;
|
|
ExecStack : boolean;
|
|
ExecStack : boolean;
|
|
|
|
+{$ifdef ARM}
|
|
|
|
+ ThumbFunc : boolean;
|
|
|
|
+{$endif ARM}
|
|
constructor create(const n:string);virtual;
|
|
constructor create(const n:string);virtual;
|
|
destructor destroy;override;
|
|
destructor destroy;override;
|
|
{ Sections }
|
|
{ Sections }
|
|
@@ -984,6 +990,9 @@ implementation
|
|
FCachedAsmSymbolList:=TFPObjectList.Create(false);
|
|
FCachedAsmSymbolList:=TFPObjectList.Create(false);
|
|
{ section class type for creating of new sections }
|
|
{ section class type for creating of new sections }
|
|
FCObjSection:=TObjSection;
|
|
FCObjSection:=TObjSection;
|
|
|
|
+{$ifdef ARM}
|
|
|
|
+ ThumbFunc:=false;
|
|
|
|
+{$endif ARM}
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
@@ -1131,6 +1140,10 @@ implementation
|
|
begin
|
|
begin
|
|
result:=CObjSection.create(FObjSectionList,aname,aalign,aoptions);
|
|
result:=CObjSection.create(FObjSectionList,aname,aalign,aoptions);
|
|
result.ObjData:=self;
|
|
result.ObjData:=self;
|
|
|
|
+{$ifdef ARM}
|
|
|
|
+ result.ThumbFunc:=ThumbFunc;
|
|
|
|
+ ThumbFunc:=false;
|
|
|
|
+{$endif ARM}
|
|
end;
|
|
end;
|
|
FCurrObjSec:=result;
|
|
FCurrObjSec:=result;
|
|
end;
|
|
end;
|