From b292c259665df700442f47f430d0e4b4edd818cb Mon Sep 17 00:00:00 2001 From: Sam Clegg Date: Tue, 19 Sep 2017 23:00:57 +0000 Subject: [WebAssembly] Add support for naming wasm data segments Add adds support for naming data segments. This is useful useful linkers so that they can merge similar sections. Differential Revision: https://reviews.llvm.org/D37886 llvm-svn: 313692 --- llvm/tools/llvm-readobj/WasmDumper.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'llvm/tools/llvm-readobj') diff --git a/llvm/tools/llvm-readobj/WasmDumper.cpp b/llvm/tools/llvm-readobj/WasmDumper.cpp index 88fcbf61a6a..3be1f827f50 100644 --- a/llvm/tools/llvm-readobj/WasmDumper.cpp +++ b/llvm/tools/llvm-readobj/WasmDumper.cpp @@ -160,6 +160,18 @@ void WasmDumper::printSections() { W.printNumber("DataAlignment", LinkingData.DataAlignment); } break; + case wasm::WASM_SEC_DATA: { + ListScope Group(W, "Segments"); + for (const WasmSegment &Segment : Obj->dataSegments()) { + DictScope Group(W, "Segment"); + if (!Segment.Data.Name.empty()) + W.printString("Name", Segment.Data.Name); + W.printNumber("Size", Segment.Data.Content.size()); + if (Segment.Data.Offset.Opcode == wasm::WASM_OPCODE_I32_CONST) + W.printNumber("Offset", Segment.Data.Offset.Value.Int32); + } + break; + } case wasm::WASM_SEC_MEMORY: ListScope Group(W, "Memories"); for (const wasm::WasmLimits &Memory : Obj->memories()) { -- cgit v1.2.3