116 lines
3.8 KiB
Plaintext
116 lines
3.8 KiB
Plaintext
# RUN: echo -n AAAB > %t.diff
|
|
# RUN: echo -n AAA > %t.smaller
|
|
# RUN: echo -n AAAAAAAAA > %t.larger
|
|
|
|
# RUN: yaml2obj --docnum=1 %s -o %t
|
|
|
|
# RUN: llvm-objcopy --update-section __TEXT,__text=%t.diff %t - | obj2yaml | FileCheck %s
|
|
# CHECK: content: '41414142'
|
|
|
|
# RUN: llvm-objcopy --update-section __TEXT,__text=%t.smaller %t - | obj2yaml | FileCheck %s --check-prefix=SMALLER
|
|
# SMALLER: content: '414141'
|
|
|
|
# RUN: not llvm-objcopy --update-section __TEXT,__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 __TEXT,__text=%t.noexist %t /dev/null
|
|
|
|
# RUN: not llvm-objcopy --update-section __NOEXIST,__text=%t.diff %t /dev/null 2>&1 | FileCheck %s --check-prefix=NO-SEGMENT
|
|
# NO-SEGMENT: error: {{.*}}could not find segment with name '__NOEXIST'
|
|
|
|
# RUN: not llvm-objcopy --update-section __TEXT,__noexist=%t.diff %t /dev/null 2>&1 | FileCheck %s --check-prefix=NO-SECTION
|
|
# NO-SECTION: error: {{.*}}could not find section with name '__noexist'
|
|
|
|
# RUN: yaml2obj --docnum=2 %s -o %t
|
|
|
|
# RUN: llvm-objcopy --update-section __TEXT,__text=%t.diff %t - | obj2yaml | FileCheck %s --check-prefix=FULL-SECNAME
|
|
# FULL-SECNAME: content: '41414142'
|
|
|
|
# RUN: not llvm-objcopy --update-section __text=%t.diff %t /dev/null 2>&1 | FileCheck %s --check-prefix=NON-CANONICAL-SECNAME
|
|
# NON-CANONICAL-SECNAME: error: {{.*}}invalid section name '__text' (should be formatted as '<segment name>,<section name>')
|
|
|
|
--- !mach-o
|
|
FileHeader:
|
|
magic: 0xFEEDFACF
|
|
cputype: 0x01000007
|
|
cpusubtype: 0x00000003
|
|
filetype: 0x00000001
|
|
ncmds: 1
|
|
sizeofcmds: 152
|
|
flags: 0x00002000
|
|
reserved: 0x00000000
|
|
LoadCommands:
|
|
- cmd: LC_SEGMENT_64
|
|
cmdsize: 152
|
|
segname: __TEXT
|
|
vmaddr: 0
|
|
vmsize: 4
|
|
fileoff: 184
|
|
filesize: 4
|
|
maxprot: 7
|
|
initprot: 7
|
|
nsects: 1
|
|
flags: 0
|
|
Sections:
|
|
- sectname: __text
|
|
segname: __TEXT
|
|
addr: 0x0000000000000000
|
|
content: '41414141'
|
|
size: 4
|
|
offset: 184
|
|
align: 0
|
|
reloff: 0x00000000
|
|
nreloc: 0
|
|
flags: 0x80000400
|
|
reserved1: 0x00000000
|
|
reserved2: 0x00000000
|
|
reserved3: 0x00000000
|
|
|
|
--- !mach-o
|
|
FileHeader:
|
|
magic: 0xFEEDFACF
|
|
cputype: 0x01000007
|
|
cpusubtype: 0x00000003
|
|
filetype: 0x00000001
|
|
ncmds: 1
|
|
sizeofcmds: 312
|
|
flags: 0x00002000
|
|
reserved: 0x00000000
|
|
LoadCommands:
|
|
- cmd: LC_SEGMENT_64
|
|
cmdsize: 312
|
|
segname: '__TEXT'
|
|
vmaddr: 0
|
|
vmsize: 12
|
|
fileoff: 344
|
|
filesize: 12
|
|
maxprot: 7
|
|
initprot: 7
|
|
nsects: 3
|
|
flags: 0
|
|
Sections:
|
|
- sectname: __text
|
|
segname: __TEXT
|
|
addr: 0x0000000000000000
|
|
content: 'AABBCCDD'
|
|
size: 4
|
|
offset: 344
|
|
align: 0
|
|
reloff: 0x00000000
|
|
nreloc: 0
|
|
flags: 0x80000400
|
|
reserved1: 0x00000000
|
|
reserved2: 0x00000000
|
|
- sectname: __text
|
|
segname: __TEXT2
|
|
addr: 0x0000000000000004
|
|
content: ''
|
|
size: 0
|
|
offset: 348
|
|
align: 0
|
|
reloff: 0x00000000
|
|
nreloc: 0
|
|
flags: 0x00000000
|
|
reserved1: 0x00000000
|
|
reserved2: 0x00000000
|