[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
This commit is contained in:
Sam Clegg
2017-09-19 23:00:57 +00:00
parent 15fccf0009
commit b292c25966
14 changed files with 128 additions and 8 deletions

View File

@@ -396,6 +396,15 @@ Error WasmObjectFile::parseLinkingSection(const uint8_t *Ptr,
case wasm::WASM_DATA_ALIGNMENT:
LinkingData.DataAlignment = readVaruint32(Ptr);
break;
case wasm::WASM_SEGMENT_NAMES: {
uint32_t Count = readVaruint32(Ptr);
if (Count > DataSegments.size())
return make_error<GenericBinaryError>("Too many segment names",
object_error::parse_failed);
for (uint32_t i = 0; i < Count; i++)
DataSegments[i].Data.Name = readString(Ptr);
break;
}
case wasm::WASM_STACK_POINTER:
default:
Ptr += Size;