Nikolay Nikolov
|
da8ccd64ef
|
+ also write the functype of imported functions in the linker map file
|
2023-12-31 21:50:18 +02:00 |
|
Nikolay Nikolov
|
4f4beb6225
|
+ store the functype in TWasmObjSymbolLinkingData
|
2023-12-31 21:40:34 +02:00 |
|
Nikolay Nikolov
|
880eb3658a
|
+ process the module imports and write them to the map file in TWasmExeOutput.AfterUnusedSectionRemoval
|
2023-12-31 21:27:21 +02:00 |
|
Nikolay Nikolov
|
541bd66a6c
|
+ implemented TWasmExeOutput.GenerateLibraryImports
|
2023-12-31 21:04:04 +02:00 |
|
Nikolay Nikolov
|
b88b8efbce
|
+ WebAssembly object reader: create symbols for imports that have the
WASM_SYM_EXPLICIT_NAME flag set. Save the import module and name info inside
a new field TWasmObjSymbol.LinkingData.
|
2023-12-31 20:39:01 +02:00 |
|
Nikolay Nikolov
|
f83223c8b2
|
* SymbolTable.ObjSym type changed from TObjSymbol to TWasmObjSymbol
|
2023-12-31 20:28:44 +02:00 |
|
Nikolay Nikolov
|
f30a41359d
|
+ added a TWasmFuncTypeTable instance to TWasmExeOutput
|
2023-12-31 16:50:00 +02:00 |
|
Nikolay Nikolov
|
e695edff98
|
+ initialize TWasmObjData.FFuncTypes in TWasmObjData's constructor
|
2023-12-31 15:54:52 +02:00 |
|
Nikolay Nikolov
|
0be3fe9ab4
|
- removed TWasmObjData.AddFuncType, instead call directly [F]FuncTypes.AddOrGetFuncType
|
2023-12-31 15:52:27 +02:00 |
|
Nikolay Nikolov
|
eb046b07d0
|
* TWasmFuncTypeTable.AddFuncType renamed .AddOrGetFuncType
|
2023-12-31 15:49:26 +02:00 |
|
Nikolay Nikolov
|
7266981c6c
|
+ Extracted the func list maintenance functionality from the WebAssembly object
writer to a new TWasmFuncTypeTable class. This will allow for it to be reused
in the WebAssembly exe writer as well.
|
2023-12-31 15:39:54 +02:00 |
|
Nikolay Nikolov
|
d6c3c74b46
|
+ create relocation objects for R_WASM_FUNCTION_OFFSET_I32 relocations in the wasm object reader
|
2023-12-28 21:26:12 +02:00 |
|
Nikolay Nikolov
|
73895d3cbc
|
+ create relocation objects for R_WASM_TYPE_INDEX_LEB relocations in the wasm object reader
|
2023-12-28 21:23:08 +02:00 |
|
Nikolay Nikolov
|
ae93f8de91
|
+ create relocation objects for R_WASM_MEMORY_ADDR_I32 relocations in the wasm object reader
|
2023-12-28 21:15:59 +02:00 |
|
Nikolay Nikolov
|
35f2fb1e8d
|
* fix warning
|
2023-12-28 21:11:26 +02:00 |
|
Nikolay Nikolov
|
bd606c6b77
|
+ create relocation objects for R_WASM_MEMORY_ADDR_SLEB relocations in the wasm object reader
|
2023-12-28 21:07:41 +02:00 |
|
Nikolay Nikolov
|
3e14d47b92
|
+ create relocation objects for R_WASM_MEMORY_ADDR_LEB relocations in the wasm object reader
|
2023-12-28 21:04:13 +02:00 |
|
Nikolay Nikolov
|
118e093c97
|
+ create relocation objects for R_WASM_TABLE_INDEX_I32 relocations in the wasm object reader
|
2023-12-28 20:59:32 +02:00 |
|
Nikolay Nikolov
|
c605da6ab3
|
+ create relocation objects for R_WASM_TABLE_INDEX_SLEB relocations in the wasm object reader
|
2023-12-28 20:57:04 +02:00 |
|
Nikolay Nikolov
|
aa296af787
|
+ create relocation objects for R_WASM_FUNCTION_INDEX_LEB relocations in the wasm object reader
|
2023-12-28 20:52:17 +02:00 |
|
Nikolay Nikolov
|
bc798695fe
|
+ find the code and data segment of each relocation
|
2023-12-28 20:07:24 +02:00 |
|
Nikolay Nikolov
|
268a148d3a
|
+ store the parsed relocation table in an array
|
2023-12-28 16:47:00 +02:00 |
|
Nikolay Nikolov
|
82c52ed127
|
* disallow (for now) relocations for sections other than the code and data sections
|
2023-12-28 16:37:58 +02:00 |
|
Nikolay Nikolov
|
649438efa6
|
+ keep track of section indexes. Save the code and data section indexes.
|
2023-12-28 16:35:11 +02:00 |
|
Nikolay Nikolov
|
a1bdf11d99
|
+ check for supported relocation types, report an error if an unsupported type is found
|
2023-12-28 16:09:03 +02:00 |
|
Nikolay Nikolov
|
881ca2c52f
|
+ implemented parsing of the relocation section
|
2023-12-28 16:02:27 +02:00 |
|
Nikolay Nikolov
|
7f30a87651
|
+ started implementing the reading of relocation sections in the wasm object reader
|
2023-12-28 15:53:45 +02:00 |
|
Nikolay Nikolov
|
026781b9a3
|
* set MaxMemPos in the wasm internal linker
|
2023-12-28 15:27:53 +02:00 |
|
Nikolay Nikolov
|
eeae32669e
|
+ add oso_keep flag to the code sections that contain an export
|
2023-12-28 14:54:06 +02:00 |
|
Nikolay Nikolov
|
24972d9861
|
+ parse the export table in the wasm internal object reader
|
2023-12-28 14:50:51 +02:00 |
|
Nikolay Nikolov
|
4b9e1ab30a
|
+ wasm object reader: create code sections and symbols
|
2023-12-28 14:29:59 +02:00 |
|
Nikolay Nikolov
|
4b179ce4fa
|
+ check the code entries count in the wasm object reader
|
2023-12-28 14:14:30 +02:00 |
|
Nikolay Nikolov
|
87a3bfe99d
|
+ fully implemented reading the code section
|
2023-12-28 13:25:44 +02:00 |
|
Nikolay Nikolov
|
3d5a100f79
|
+ wasm object reader: implemented parsing of the global section
|
2023-12-28 12:42:48 +02:00 |
|
Nikolay Nikolov
|
4ba064d894
|
+ include mod name in symbols
|
2023-12-27 15:15:54 +02:00 |
|
Nikolay Nikolov
|
c293d0b729
|
+ partially implemented the creation of symbols for SYMTAB_FUNCTION entries
|
2023-12-27 15:14:21 +02:00 |
|
Nikolay Nikolov
|
a6d4374f10
|
+ wasm object reader: range check the symbol indices of SYMTAB_FUNCTION entries
|
2023-12-27 14:52:37 +02:00 |
|
Nikolay Nikolov
|
efc4ab7928
|
+ store in the FuncTypes array the func types, parsed in the function section
|
2023-12-27 14:47:45 +02:00 |
|
Nikolay Nikolov
|
a0df7c27af
|
+ wasm obj reader: store the parsed import data from the import section in local arrays and structures
|
2023-12-27 14:42:01 +02:00 |
|
Nikolay Nikolov
|
ced7e40c43
|
+ support local binding when reading data symbols in the internal wasm object reader
|
2023-12-27 13:36:18 +02:00 |
|
Nikolay Nikolov
|
ee4d77b119
|
+ create data symbols in the wasm object reader
|
2023-12-27 13:14:27 +02:00 |
|
Nikolay Nikolov
|
e569863a1a
|
+ check bounds for SymIndex of SYMTAB_DATA symbols
|
2023-12-27 13:01:49 +02:00 |
|
Nikolay Nikolov
|
121e793c37
|
+ wasm object reader: store the symbol table in a dynamic array, so it can be processed later
|
2023-12-27 11:52:17 +02:00 |
|
Nikolay Nikolov
|
c6e054dbb9
|
+ implemented parsing of the symbol table in the wasm object reader
|
2023-12-27 10:59:02 +02:00 |
|
Nikolay Nikolov
|
272db1b872
|
+ symbol table subsection duplicate check
|
2023-12-27 10:31:24 +02:00 |
|
Nikolay Nikolov
|
b641687da2
|
* attempt to avoid warning, treated as error, causing CI failure
|
2023-12-26 20:46:25 +02:00 |
|
Nikolay Nikolov
|
fc7ed302e7
|
+ check and report an error if a passive data segment is encountered by the wasm object reader
|
2023-12-26 20:42:46 +02:00 |
|
Nikolay Nikolov
|
8606f13b24
|
+ check for memory index other than 0 in the wasm object reader and report an error, since that is not supported
|
2023-12-26 20:41:40 +02:00 |
|
Nikolay Nikolov
|
23fa8c80b6
|
+ read the section content in the wasm object reader
|
2023-12-26 20:38:58 +02:00 |
|
Nikolay Nikolov
|
56fe6cadc8
|
* fill the data in the DataSegments array when parsing the WASM_SEGMENT_INFO subsection
|
2023-12-26 20:24:52 +02:00 |
|