diff options
| author | Sam Clegg <sbc@chromium.org> | 2018-04-25 18:24:08 +0000 |
|---|---|---|
| committer | Sam Clegg <sbc@chromium.org> | 2018-04-25 18:24:08 +0000 |
| commit | 9067b46e1b6d6331a90a1b9875bbf3fbd82a15ac (patch) | |
| tree | f35c6d0fff808bd72bae4be75102bb8de3bb316b | |
| parent | 4264a3891657400913b1b8b59cb37157d9412619 (diff) | |
| download | bcm5719-llvm-9067b46e1b6d6331a90a1b9875bbf3fbd82a15ac.tar.gz bcm5719-llvm-9067b46e1b6d6331a90a1b9875bbf3fbd82a15ac.zip | |
[WebAssebmly] Add Module name to WasmSymbol
Imports in a wasm module can have custom module name. This change
adds the module name to the WasmSymbol structure so that the linker
can preserve this module name.
This is needed to fix: https://bugs.llvm.org/show_bug.cgi?id=37168
Differential Revision: https://reviews.llvm.org/D45797
llvm-svn: 330854
| -rw-r--r-- | llvm/include/llvm/BinaryFormat/Wasm.h | 1 | ||||
| -rw-r--r-- | llvm/lib/Object/WasmObjectFile.cpp | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/llvm/include/llvm/BinaryFormat/Wasm.h b/llvm/include/llvm/BinaryFormat/Wasm.h index 700bcd8ca41..dc28a3ccbfb 100644 --- a/llvm/include/llvm/BinaryFormat/Wasm.h +++ b/llvm/include/llvm/BinaryFormat/Wasm.h @@ -145,6 +145,7 @@ struct WasmSymbolInfo { StringRef Name; uint8_t Kind; uint32_t Flags; + StringRef Module; // For undefined symbols the module name of the import union { // For function or global symbols, the index in function or global index // space. diff --git a/llvm/lib/Object/WasmObjectFile.cpp b/llvm/lib/Object/WasmObjectFile.cpp index 6eb0d05dfad..3e8f73dbd81 100644 --- a/llvm/lib/Object/WasmObjectFile.cpp +++ b/llvm/lib/Object/WasmObjectFile.cpp @@ -412,6 +412,7 @@ Error WasmObjectFile::parseLinkingSectionSymtab(const uint8_t *&Ptr, wasm::WasmImport &Import = *ImportedFunctions[Info.ElementIndex]; FunctionType = &Signatures[Import.SigIndex]; Info.Name = Import.Field; + Info.Module = Import.Module; } break; |

