mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-09 08:30:54 +02:00
* Made TElfExeOutput.CreatePLT method protected virtual, so CPU-specific handling can be provided by descendants.
* Handle SHT_GNU_ATTRIBUTES sections (ignore them for now). git-svn-id: trunk@23339 -
This commit is contained in:
parent
b197919953
commit
49d7448f44
@ -108,6 +108,9 @@ interface
|
||||
SHT_PREINIT_ARRAY = 16;
|
||||
SHT_GROUP = 17;
|
||||
SHT_SYMTAB_SHNDX = 18;
|
||||
SHT_GNU_ATTRIBUTES = $6ffffff5;
|
||||
SHT_GNU_HASH = $6ffffff6;
|
||||
SHT_GNU_LIBLIST = $6ffffff7;
|
||||
SHT_GNU_verdef = $6ffffffd;
|
||||
SHT_GNU_verneed = $6ffffffe;
|
||||
SHT_GNU_versym = $6fffffff;
|
||||
|
@ -229,7 +229,6 @@ interface
|
||||
|
||||
function AttachSection(objsec:TObjSection):TElfExeSection;
|
||||
function CreateSegment(atype,aflags,aalign:longword):TElfSegment;
|
||||
procedure CreatePLT;
|
||||
procedure WriteHeader;
|
||||
procedure WriteDynamicSymbolsHash;
|
||||
procedure WriteDynamicTags;
|
||||
@ -261,6 +260,7 @@ interface
|
||||
procedure CreateGOTSection;virtual;
|
||||
procedure make_dynamic_if_undefweak(exesym:TExeSymbol);
|
||||
procedure WriteDynRelocEntry(dataofs:aword;typ:byte;symidx:aword;addend:aword);
|
||||
procedure CreatePLT;virtual;
|
||||
procedure WriteFirstPLTEntry;virtual;abstract;
|
||||
procedure WritePLTEntry(exesym:TExeSymbol);virtual;
|
||||
procedure WriteIndirectPLTEntry(exesym:TExeSymbol);virtual;
|
||||
@ -1508,6 +1508,9 @@ implementation
|
||||
end
|
||||
else
|
||||
InternalError(2012110706);
|
||||
|
||||
SHT_GNU_ATTRIBUTES:
|
||||
{ TODO: must not be ignored };
|
||||
else
|
||||
if not (assigned(ElfTarget.loadsection) and
|
||||
ElfTarget.loadsection(self,objdata,shdr,index)) then
|
||||
|
Loading…
Reference in New Issue
Block a user