mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-02 23:50:24 +02:00
+ create relocation objects for R_WASM_MEMORY_ADDR_LEB relocations in the wasm object reader
This commit is contained in:
parent
118e093c97
commit
3e14d47b92
@ -3640,6 +3640,7 @@ implementation
|
||||
i, j, FirstDataSegmentIdx, SegI: Integer;
|
||||
CurrSec, ObjSec: TObjSection;
|
||||
BaseSectionOffset: UInt32;
|
||||
ObjReloc: TWasmObjRelocation;
|
||||
begin
|
||||
FReader:=AReader;
|
||||
InputFileName:=AReader.FileName;
|
||||
@ -3849,6 +3850,22 @@ implementation
|
||||
else
|
||||
Writeln('Warning! No object symbol created for ', SymbolTable[RelocIndex].SymName);
|
||||
end;
|
||||
R_WASM_MEMORY_ADDR_LEB:
|
||||
begin
|
||||
if RelocIndex>high(SymbolTable) then
|
||||
begin
|
||||
InputError('Symbol index in relocation too high');
|
||||
exit;
|
||||
end;
|
||||
if Assigned(SymbolTable[RelocIndex].ObjSym) then
|
||||
begin
|
||||
ObjReloc:=TWasmObjRelocation.CreateSymbol(RelocOffset-BaseSectionOffset,SymbolTable[RelocIndex].ObjSym,RELOC_MEMORY_ADDR_LEB);
|
||||
ObjReloc.Addend:=RelocAddend;
|
||||
ObjSec.ObjRelocations.Add(ObjReloc);
|
||||
end
|
||||
else
|
||||
Writeln('Warning! No object symbol created for ', SymbolTable[RelocIndex].SymName);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user