summaryrefslogtreecommitdiff
path: root/compiler/ogbase.pas
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/ogbase.pas')
-rw-r--r--compiler/ogbase.pas11
1 files changed, 9 insertions, 2 deletions
diff --git a/compiler/ogbase.pas b/compiler/ogbase.pas
index ec3ed99dbf..c6cc207826 100644
--- a/compiler/ogbase.pas
+++ b/compiler/ogbase.pas
@@ -482,6 +482,7 @@ interface
procedure GenerateLibraryImports(ImportLibraryList:TFPHashObjectList);virtual;
procedure GenerateDebugLink(const dbgname:string;dbgcrc:cardinal);
function WriteExeFile(const fn:string):boolean;
+ procedure ParseScript (linkscript:TCmdStrList); virtual;
property Writer:TObjectWriter read FWriter;
property ExeSectionList:TFPHashObjectList read FExeSectionList;
property ObjDataList:TFPObjectList read FObjDataList;
@@ -544,7 +545,7 @@ implementation
procedure TObjSymbol.SetAddress(apass:byte;aobjsec:TObjSection;abind:TAsmsymbind;atyp:Tasmsymtype);
begin
- if not(abind in [AB_GLOBAL,AB_LOCAL,AB_COMMON]) then
+ if not(abind in [AB_GLOBAL,AB_LOCAL,AB_COMMON,AB_IMPORT]) then
internalerror(200603016);
if not assigned(aobjsec) then
internalerror(200603017);
@@ -823,7 +824,7 @@ implementation
function TObjData.sectionname(atype:TAsmSectiontype;const aname:string;aorder:TAsmSectionOrder):string;
const
- secnames : array[TAsmSectiontype] of string[length('__DATA, __datacoal_nt,coalesced')] = ('',
+ secnames : array[TAsmSectiontype] of string[length('__DATA, __datacoal_nt,coalesced')] = ('','',
'code',
'Data',
'Data',
@@ -902,6 +903,7 @@ implementation
function TObjData.sectiontype2options(atype:TAsmSectiontype):TObjSectionOptions;
const
secoptions : array[TAsmSectiontype] of TObjSectionOptions = ([],
+ {user} [oso_Data,oso_load,oso_write,oso_executable,oso_keep],
{code} [oso_Data,oso_load,oso_readonly,oso_executable,oso_keep],
{Data} [oso_Data,oso_load,oso_write,oso_keep],
{ TODO: Fix sec_rodata be read-only-with-relocs}
@@ -1549,6 +1551,11 @@ implementation
end;
+ procedure TExeOutput.ParseScript (linkscript:TCmdStrList);
+ begin
+ end;
+
+
function TExeOutput.FindExeSection(const aname:string):TExeSection;
begin
result:=TExeSection(ExeSectionList.Find(aname));