summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/llvm/BinaryFormat/Wasm.h1
-rw-r--r--test/ObjectYAML/wasm/linking_section.yaml60
-rw-r--r--tools/yaml2obj/yaml2wasm.cpp1
3 files changed, 60 insertions, 2 deletions
diff --git a/include/llvm/BinaryFormat/Wasm.h b/include/llvm/BinaryFormat/Wasm.h
index c1ea9a4f451..f35c0852991 100644
--- a/include/llvm/BinaryFormat/Wasm.h
+++ b/include/llvm/BinaryFormat/Wasm.h
@@ -184,7 +184,6 @@ enum class ValType {
enum : unsigned {
WASM_SYMBOL_INFO = 0x2,
WASM_DATA_SIZE = 0x3,
- WASM_DATA_ALIGNMENT = 0x4,
WASM_SEGMENT_INFO = 0x5,
};
diff --git a/test/ObjectYAML/wasm/linking_section.yaml b/test/ObjectYAML/wasm/linking_section.yaml
new file mode 100644
index 00000000000..534d0c33554
--- /dev/null
+++ b/test/ObjectYAML/wasm/linking_section.yaml
@@ -0,0 +1,60 @@
+# RUN: yaml2obj %s | obj2yaml | FileCheck %s
+--- !WASM
+FileHeader:
+ Version: 0x00000001
+Sections:
+ - Type: TYPE
+ Signatures:
+ - ReturnType: I32
+ ParamTypes:
+ - I32
+ - Type: IMPORT
+ Imports:
+ - Module: foo
+ Field: bar
+ Kind: FUNCTION
+ SigIndex: 0
+ - Type: DATA
+ Segments:
+ - MemoryIndex: 0
+ Offset:
+ Opcode: I32_CONST
+ Value: 4
+ Content: '10001000'
+ - MemoryIndex: 0
+ Offset:
+ Opcode: I32_CONST
+ Value: 8
+ Content: '11110000'
+ - Type: CUSTOM
+ Name: linking
+ DataSize: 999
+ SymbolInfo:
+ - Name: bar
+ Flags: 1
+ SegmentInfo:
+ - Index: 0
+ Alignment: 4
+ Flags: 0
+ Name: mydata
+ - Index: 1
+ Alignment: 2
+ Flags: 1
+ Name: moredata
+...
+# CHECK: - Type: CUSTOM
+# CHECK-NEXT: Name: linking
+# CHECK-NEXT: DataSize: 999
+# CHECK-NEXT: SymbolInfo:
+# CHECK-NEXT: - Name: bar
+# CHECK-NEXT: Flags: 1
+# CHECK-NEXT: SegmentInfo:
+# CHECK-NEXT: - Index: 0
+# CHECK-NEXT: Name: mydata
+# CHECK-NEXT: Alignment: 4
+# CHECK-NEXT: Flags: 0
+# CHECK-NEXT: - Index: 1
+# CHECK-NEXT: Name: moredata
+# CHECK-NEXT: Alignment: 2
+# CHECK-NEXT: Flags: 1
+# CHECK-NEXT: ...
diff --git a/tools/yaml2obj/yaml2wasm.cpp b/tools/yaml2obj/yaml2wasm.cpp
index b4c21d0f0e5..3eae8727b60 100644
--- a/tools/yaml2obj/yaml2wasm.cpp
+++ b/tools/yaml2obj/yaml2wasm.cpp
@@ -156,7 +156,6 @@ int WasmWriter::writeSectionContent(raw_ostream &OS, WasmYAML::LinkingSection &S
encodeULEB128(wasm::WASM_SEGMENT_INFO, OS);
encodeULEB128(Section.SegmentInfos.size(), SubSection.GetStream());
for (const WasmYAML::SegmentInfo &SegmentInfo : Section.SegmentInfos) {
- encodeULEB128(SegmentInfo.Index, SubSection.GetStream());
writeStringRef(SegmentInfo.Name, SubSection.GetStream());
encodeULEB128(SegmentInfo.Alignment, SubSection.GetStream());
encodeULEB128(SegmentInfo.Flags, SubSection.GetStream());