| ## Test that the copied object has the same yaml conversion as the original. |
| ## The copied object is not bit-identical to the yaml2obj-generated |
| ## one, as yaml2obj uses 5-byte LEBs for section sizes (unlike objcopy/clang). |
| # RUN: yaml2obj %s -o %t.o |
| # RUN: llvm-objcopy %t.o %t2.o |
| # RUN: obj2yaml %t.o > %t.yaml |
| # RUN: obj2yaml %t2.o > %t2.yaml |
| # RUN: diff %t.yaml %t2.yaml |
| |
| --- !WASM |
| FileHeader: |
| Version: 0x00000001 |
| Sections: |
| - Type: TYPE |
| Signatures: |
| - Index: 0 |
| ParamTypes: |
| - I32 |
| ReturnTypes: |
| - F32 |
| - Index: 1 |
| ParamTypes: |
| - I32 |
| - I64 |
| ReturnTypes: [] |
| - Type: FUNCTION |
| FunctionTypes: |
| - 0 |
| - 1 |
| - Type: CODE |
| Relocations: |
| - Type: R_WASM_TABLE_INDEX_SLEB |
| Index: 0 |
| Offset: 0x00000002 |
| - Type: R_WASM_FUNCTION_INDEX_LEB |
| Index: 1 |
| Offset: 0x0000002 |
| Functions: |
| - Index: 0 |
| Locals: |
| - Type: I32 |
| Count: 3 |
| Body: 010101010B |
| - Index: 1 |
| Locals: |
| - Type: I32 |
| Count: 1 |
| Body: 010101010B |
| - Type: CUSTOM |
| Name: linking |
| Version: 2 |
| SymbolTable: |
| - Index: 0 |
| Kind: FUNCTION |
| Name: func1 |
| Flags: [ ] |
| Function: 0 |
| - Index: 1 |
| Kind: FUNCTION |
| Name: func2 |
| Flags: [ ] |
| Function: 1 |
| ... |