aboutsummaryrefslogtreecommitdiff
path: root/llvm/test/tools/llvm-objcopy/MachO/update-section-object.test
blob: 2462536e17dfc7584da0bed4630d449a004e6a5a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# REQUIRES: aarch64-registered-target

# RUN: llvm-mc -assemble -triple=arm64-apple-macos11 -filetype=obj %p/Inputs/macho_sections.s -o %t.o
# RUN: llvm-otool -l %t.o | FileCheck %s --check-prefix=ORIG


# RUN: llvm-objcopy %t.o --update-section __DATA,__storage=%p/Inputs/macho_sections.s %t.new.o
# RUN: llvm-otool -l %t.new.o | FileCheck %s --check-prefix=UPDATED

# ORIG:      cmd LC_SEGMENT_64
# ORIG-NEXT: cmdsize 232
# ORIG-NEXT: segname
# ORIG-NEXT: vmaddr 0x0000000000000000
# ORIG-NEXT: vmsize 0x00000000000000c0
# ORIG-NEXT: fileoff 392
# ORIG-NEXT: filesize 192
# ORIG-NEXT: maxprot 0x00000007
# ORIG-NEXT: initprot 0x00000007
# ORIG-NEXT: nsects 2
# ORIG-NEXT: flags 0x0

# ORIG:      Section
# ORIG:      sectname __storage
# ORIG-NEXT: segname __DATA
# ORIG-NEXT: addr 0x0000000000000040
# ORIG-NEXT: size 0x0000000000000080


### Make sure the file size and segment size have changed
# UPDATED:      cmd LC_SEGMENT_64
# UPDATED-NEXT: cmdsize 232
# UPDATED-NEXT: segname
# UPDATED-NEXT: vmaddr 0x0000000000000000
# UPDATED-NEXT: vmsize 0x0000000000000090
# UPDATED-NEXT: fileoff 392
# UPDATED-NEXT: filesize 144
# UPDATED-NEXT: maxprot 0x00000007
# UPDATED-NEXT: initprot 0x00000007
# UPDATED-NEXT: nsects 2
# UPDATED-NEXT: flags 0x0

# UPDATED:      Section
# UPDATED:      sectname __storage
# UPDATED-NEXT: segname __DATA
# UPDATED-NEXT: addr 0x0000000000000040
# UPDATED-NEXT: size 0x0000000000000050