diff options
author | Sam Clegg <sbc@chromium.org> | 2017-10-17 12:24:27 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-10-17 12:24:27 -0700 |
commit | 1c4d51e96077798bf6bd0dfa82f65259a07bd314 (patch) | |
tree | e237f1ae6c41aa7d52ed36bdf54bbb07cfd7b6f2 /src/binary-reader.cc | |
parent | 240cd232ab6afc6732cfc79eedcedfe669f14501 (diff) | |
download | wabt-1c4d51e96077798bf6bd0dfa82f65259a07bd314.tar.gz wabt-1c4d51e96077798bf6bd0dfa82f65259a07bd314.tar.bz2 wabt-1c4d51e96077798bf6bd0dfa82f65259a07bd314.zip |
wasm-objdump: Add support for data segment info (#656)
Diffstat (limited to 'src/binary-reader.cc')
-rw-r--r-- | src/binary-reader.cc | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/binary-reader.cc b/src/binary-reader.cc index 2ba930e1..06cf9bb4 100644 --- a/src/binary-reader.cc +++ b/src/binary-reader.cc @@ -1276,6 +1276,21 @@ Result BinaryReader::ReadLinkingSection(Offset section_size) { CALLBACK(OnDataAlignment, data_alignment); break; } + case LinkingEntryType::SegmentInfo: { + uint32_t info_count; + CHECK_RESULT(ReadU32Leb128(&info_count, "info count")); + CALLBACK(OnSegmentInfoCount, info_count); + for (Index i = 0; i < info_count; i++) { + string_view name; + uint32_t alignment; + uint32_t flags; + CHECK_RESULT(ReadStr(&name, "segment name")); + CHECK_RESULT(ReadU32Leb128(&alignment, "segment alignment")); + CHECK_RESULT(ReadU32Leb128(&flags, "segment flags")); + CALLBACK(OnSegmentInfo, i, name, alignment, flags); + } + break; + } default: // Unknown subsection, skip it. state_.offset = subsection_end; |