# 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: ...