summaryrefslogtreecommitdiff
path: root/tools/llvm-readobj
diff options
context:
space:
mode:
authorSam Clegg <sbc@chromium.org>2017-09-19 23:00:57 +0000
committerSam Clegg <sbc@chromium.org>2017-09-19 23:00:57 +0000
commite5c43345fbdf55530f769b8e84a52bbd71749c36 (patch)
treed7100cfc492dd3548d50ccc3b217bb9afa7651c2 /tools/llvm-readobj
parent093624c347baf30d43a40f8916f2c89145411e95 (diff)
[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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313692 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llvm-readobj')
-rw-r--r--tools/llvm-readobj/WasmDumper.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/tools/llvm-readobj/WasmDumper.cpp b/tools/llvm-readobj/WasmDumper.cpp
index 88fcbf61a6a..3be1f827f50 100644
--- a/tools/llvm-readobj/WasmDumper.cpp
+++ b/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()) {