summaryrefslogtreecommitdiffstats
path: root/llvm/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
commitb292c259665df700442f47f430d0e4b4edd818cb (patch)
tree9f1cdf736c1460806311eca8b11e7bd436192b4a /llvm/tools/llvm-readobj
parent15fccf00097dd5b07710539fb4e3ff68c50f44de (diff)
downloadbcm5719-llvm-b292c259665df700442f47f430d0e4b4edd818cb.tar.gz
bcm5719-llvm-b292c259665df700442f47f430d0e4b4edd818cb.zip
[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
Diffstat (limited to 'llvm/tools/llvm-readobj')
-rw-r--r--llvm/tools/llvm-readobj/WasmDumper.cpp12
1 files changed, 12 insertions, 0 deletions
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()) {
OpenPOWER on IntegriCloud