|
@@ -100,6 +100,7 @@ interface
|
|
|
class function CodeSectionName(const aname:string): string;
|
|
|
public
|
|
|
constructor create(const n:string);override;
|
|
|
+ function sectiontype2options(atype:TAsmSectiontype):TObjSectionOptions;override;
|
|
|
function sectiontype2align(atype:TAsmSectiontype):shortint;override;
|
|
|
function sectiontype2class(atype:TAsmSectiontype):string;
|
|
|
function sectionname(atype:TAsmSectiontype;const aname:string;aorder:TAsmSectionOrder):string;override;
|
|
@@ -507,6 +508,15 @@ implementation
|
|
|
CObjSection:=TOmfObjSection;
|
|
|
end;
|
|
|
|
|
|
+ function TOmfObjData.sectiontype2options(atype: TAsmSectiontype): TObjSectionOptions;
|
|
|
+ begin
|
|
|
+ Result:=inherited sectiontype2options(atype);
|
|
|
+ { in the huge memory model, BSS data is actually written in the regular
|
|
|
+ FAR_DATA segment of the module }
|
|
|
+ if sectiontype2class(atype)='FAR_DATA' then
|
|
|
+ Result:=Result+[oso_data,oso_sparse_data];
|
|
|
+ end;
|
|
|
+
|
|
|
function TOmfObjData.sectiontype2align(atype: TAsmSectiontype): shortint;
|
|
|
begin
|
|
|
Result:=omf_sectiontype2align(atype);
|