Sec.SectionType = llvm::wasm::WASM_SEC_CUSTOM;
Sec.Name = NewSection.SectionName;
+ llvm::StringRef InputData =
+ llvm::StringRef(NewSection.SectionData->getBufferStart(),
+ NewSection.SectionData->getBufferSize());
std::unique_ptr<MemoryBuffer> BufferCopy = MemoryBuffer::getMemBufferCopy(
- NewSection.SectionData->getBufferStart(),
- NewSection.SectionData->getBufferIdentifier());
+ InputData, NewSection.SectionData->getBufferIdentifier());
Sec.Contents = makeArrayRef<uint8_t>(
reinterpret_cast<const uint8_t *>(BufferCopy->getBufferStart()),
BufferCopy->getBufferSize());
# REPLACE: Name: foo
# REPLACE: Payload: 3132330A
+# Check that raw data bytes can be imported and exported unchanged especially the ones containing empty bytes.
+# RUN: echo -en '\x02\x01\x00\x01\x02' > %t6
+# RUN: llvm-objcopy --add-section=bar=%t6 %t %t7
+# RUN: llvm-objcopy --dump-section=bar=%t8 %t7
+# RUN: diff %t8 %t6
+# RUN: obj2yaml %t7 | FileCheck %s --check-prefix=RAW-DATA
+
+# Check that raw data is well formated in the file as well.
+# RAW-DATA: Name: bar
+# RAW-DATA-NEXT: Payload: '0201000102'
+
--- !WASM
FileHeader:
Version: 0x00000001