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