浏览代码

* fixed bug in the code, generated for the RELOC_FUNCTION_INDEX_LEB
relocation

Nikolay Nikolov 3 年之前
父节点
当前提交
c881d05793
共有 1 个文件被更改,包括 4 次插入2 次删除
  1. 4 2
      compiler/ogwasm.pas

+ 4 - 2
compiler/ogwasm.pas

@@ -1040,7 +1040,7 @@ implementation
         imports_count, NextImportFunctionIndex, NextFunctionIndex: Integer;
         import_functions_count: Integer = 0;
         functions_count: Integer = 0;
-        objsym: TWasmObjSymbol;
+        objsym, ObjSymAlias: TWasmObjSymbol;
         cust_sec: TWasmCustomSectionType;
       begin
         FData:=TWasmObjData(Data);
@@ -1195,8 +1195,10 @@ implementation
                 WriteByte(FWasmSymbolTable,Ord(SYMTAB_FUNCTION));
                 if objsym.IsAlias then
                   begin
+                    ObjSymAlias:=TWasmObjSymbol(Data.ObjSymbolList.Find(objsym.AliasOf));
+                    ObjSym.FuncIndex:=ObjSymAlias.FuncIndex;
                     WriteUleb(FWasmSymbolTable,WASM_SYM_EXPLICIT_NAME or WASM_SYM_NO_STRIP);
-                    WriteUleb(FWasmSymbolTable,TWasmObjSymbol(Data.ObjSymbolList.Find(objsym.AliasOf)).FuncIndex);
+                    WriteUleb(FWasmSymbolTable,ObjSymAlias.FuncIndex);
                   end
                 else
                   begin