72 lines
2.6 KiB
Text
72 lines
2.6 KiB
Text
# RUN: echo -n AAAB > %t.diff
|
|
# RUN: echo -n AAA > %t.smaller
|
|
# RUN: echo -n AAAAA > %t.larger
|
|
|
|
# RUN: yaml2obj %s -o %t
|
|
|
|
# RUN: llvm-objcopy --update-section=.text=%t.diff %t - | llvm-readobj -S -x .text - | FileCheck %s
|
|
# CHECK: Section {
|
|
# CHECK-NEXT: Number: 1
|
|
# CHECK-NEXT: Name: .text
|
|
# CHECK-NOT: }
|
|
# CHECK: RawDataSize: 4
|
|
# CHECK: Hex dump of section '.text':
|
|
# CHECK-NEXT: 0x00000000 41414142 AAAB
|
|
|
|
# RUN: llvm-objcopy --update-section=.text=%t.smaller %t - | llvm-readobj -S -x .text - | FileCheck %s --check-prefix=SMALLER
|
|
# SMALLER: Section {
|
|
# SMALLER-NEXT: Number: 1
|
|
# SMALLER-NEXT: Name: .text
|
|
# SMALLER-NOT: }
|
|
# SMALLER: RawDataSize: 3
|
|
# SMALLER: Hex dump of section '.text':
|
|
# SMALLER-NEXT: 0x00000000 414141 AAA
|
|
|
|
# RUN: llvm-objcopy --update-section=.text=%t.diff --update-section=.other=%t.diff %t - | \
|
|
# RUN: llvm-readobj -S -x .text -x .other - | FileCheck %s --check-prefix=MULTIPLE
|
|
# MULTIPLE: Section {
|
|
# MULTIPLE-NEXT: Number: 1
|
|
# MULTIPLE-NEXT: Name: .text
|
|
# MULTIPLE-NOT: }
|
|
# MULTIPLE: RawDataSize: 4
|
|
# MULTIPLE: Section {
|
|
# MULTIPLE-NEXT: Number: 2
|
|
# MULTIPLE-NEXT: Name: .other
|
|
# MULTIPLE-NOT: }
|
|
# MULTIPLE: RawDataSize: 4
|
|
# MULTIPLE: Hex dump of section '.text':
|
|
# MULTIPLE-NEXT: 0x00000000 41414142 AAAB
|
|
# MULTIPLE: Hex dump of section '.other':
|
|
# MULTIPLE-NEXT: 0x00000000 41414142 AAAB
|
|
|
|
# RUN: not llvm-objcopy --update-section=.text=%t.larger %t /dev/null 2>&1 | FileCheck %s --check-prefix=TOO-LARGE
|
|
# TOO-LARGE: error: {{.*}}new section cannot be larger than previous section
|
|
|
|
# RUN: not llvm-objcopy --update-section=.bss=%t.diff %t /dev/null 2>&1 | FileCheck %s --check-prefix=NO-CONTENTS
|
|
# NO-CONTENTS: error: {{.*}}section '.bss' cannot be updated because it does not have contents
|
|
|
|
# RUN: not llvm-objcopy --update-section=.text=%t.noexist %t /dev/null 2>&1 | \
|
|
# RUN: FileCheck %s --check-prefix=NOENT -DENOENT=%errc_ENOENT
|
|
# NOENT: error: {{.*}}: [[ENOENT]]
|
|
|
|
# RUN: not llvm-objcopy --update-section=.noexist=%t.diff %t /dev/null 2>&1 | FileCheck %s --check-prefix=NO-SECTION
|
|
# NO-SECTION: error: {{.*}}could not find section with name '.noexist'
|
|
|
|
--- !COFF
|
|
header:
|
|
Machine: IMAGE_FILE_MACHINE_AMD64
|
|
Characteristics: [ ]
|
|
sections:
|
|
- Name: .text
|
|
Characteristics: [ ]
|
|
Alignment: 4
|
|
SectionData: '41414141'
|
|
- Name: .other
|
|
Characteristics: [ ]
|
|
Alignment: 4
|
|
SectionData: '42424242'
|
|
- Name: .bss
|
|
Characteristics: [ IMAGE_SCN_CNT_UNINITIALIZED_DATA ]
|
|
SizeOfRawData: 0
|
|
symbols:
|
|
...
|