summaryrefslogtreecommitdiff
path: root/compiler/ogelf.pas
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/ogelf.pas')
-rw-r--r--compiler/ogelf.pas6
1 files changed, 4 insertions, 2 deletions
diff --git a/compiler/ogelf.pas b/compiler/ogelf.pas
index ddcfd8f482..cb2c4ea341 100644
--- a/compiler/ogelf.pas
+++ b/compiler/ogelf.pas
@@ -244,7 +244,7 @@ interface
dynreloclist: TFPObjectList;
tlsseg: TElfSegment;
relative_reloc_count: longint;
- procedure AllocGOTSlot(objsym: TObjSymbol);
+ function AllocGOTSlot(objsym: TObjSymbol):boolean;
procedure WriteDynRelocEntry(dataofs:aword;typ:byte;symidx:aword;addend:aword);
procedure WriteFirstPLTEntry;virtual;abstract;
procedure WritePLTEntry(exesym:TExeSymbol);virtual;
@@ -1994,10 +1994,11 @@ implementation
end;
- procedure TElfExeOutput.AllocGOTSlot(objsym:TObjSymbol);
+ function TElfExeOutput.AllocGOTSlot(objsym:TObjSymbol):boolean;
var
exesym: TExeSymbol;
begin
+ result:=false;
exesym:=objsym.exesymbol;
{ Although local symbols should not be accessed through GOT,
@@ -2019,6 +2020,7 @@ implementation
only the latter applies. }
if IsSharedLibrary or (exesym.dynindex>0) then
dynrelocsec.alloc(dynrelocsec.shentsize);
+ result:=true;
end;