84 lines
2.0 KiB
Plaintext
84 lines
2.0 KiB
Plaintext
## Test --add-section. This test dumps and removes the section first and checks
|
|
## that adding it back doesn't change the result.
|
|
# RUN: yaml2obj %s -o %t
|
|
# RUN: llvm-objcopy --dump-section=producers=%t.sec --remove-section=producers %t %t2
|
|
# RUN: llvm-objcopy --add-section=producers=%t.sec %t2 %t3
|
|
# RUN: obj2yaml %t3 | FileCheck %s
|
|
|
|
## Check that the producers section has been added back unchanged.
|
|
# CHECK: Name: producers
|
|
# CHECK-NEXT: Tools:
|
|
# CHECK-NEXT: - Name: clang
|
|
# CHECK-NEXT: Version: 9.0.0
|
|
|
|
# Check that the section is replaced with new content in one invocation.
|
|
# RUN: echo "123" > %t4
|
|
# RUN: llvm-objcopy --remove-section=foo --add-section=foo=%t4 %t %t5
|
|
# RUN: obj2yaml %t5 | FileCheck %s --check-prefix=REPLACE
|
|
|
|
# REPLACE: - Type: CUSTOM
|
|
# REPLACE: Name: foo
|
|
# REPLACE: Payload: 3132330A
|
|
|
|
--- !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: 0x00000000
|
|
- Type: R_WASM_FUNCTION_INDEX_LEB
|
|
Index: 1
|
|
Offset: 0x0000000
|
|
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
|
|
- Type: CUSTOM
|
|
Name: producers
|
|
Tools:
|
|
- Name: clang
|
|
Version: 9.0.0
|
|
- Type: CUSTOM
|
|
Name: foo
|
|
Payload: ABC123
|