96 lines
3.0 KiB
Plaintext
96 lines
3.0 KiB
Plaintext
# RUN: yaml2obj %s -o %t
|
|
|
|
## Show that llvm-objcopy copies relocation entries where r_extern = 0.
|
|
# RUN: llvm-objcopy %t %t2
|
|
# RUN: cmp %t %t2
|
|
|
|
## Show that llvm-objcopy updates section indices properly.
|
|
# RUN: llvm-objcopy --remove-section=__DATA,__foo %t %t3
|
|
# RUN: llvm-objdump --macho --reloc %t3 | FileCheck %s
|
|
|
|
# CHECK: Relocation information (__DATA,__bar) 2 entries
|
|
# CHECK-NEXT: address pcrel length extern type scattered symbolnum/value
|
|
# CHECK-NEXT: 00000000 False quad False SUB False 2 (__DATA,__bar)
|
|
# CHECK-NEXT: 00000000 False quad False UNSIGND False 1 (__TEXT,__text)
|
|
|
|
--- !mach-o
|
|
FileHeader:
|
|
magic: 0xFEEDFACF
|
|
cputype: 0x01000007
|
|
cpusubtype: 0x00000003
|
|
filetype: 0x00000001
|
|
ncmds: 1
|
|
sizeofcmds: 312
|
|
flags: 0x00000000
|
|
reserved: 0x00000000
|
|
LoadCommands:
|
|
- cmd: LC_SEGMENT_64
|
|
cmdsize: 312
|
|
segname: ''
|
|
vmaddr: 0
|
|
vmsize: 24
|
|
fileoff: 344
|
|
filesize: 24
|
|
maxprot: 7
|
|
initprot: 7
|
|
nsects: 3
|
|
flags: 0
|
|
Sections:
|
|
- sectname: __text
|
|
segname: __TEXT
|
|
addr: 0x0000000000000000
|
|
size: 8
|
|
offset: 0x00000158
|
|
align: 0
|
|
reloff: 0x00000000
|
|
nreloc: 0
|
|
flags: 0x80000000
|
|
reserved1: 0x00000000
|
|
reserved2: 0x00000000
|
|
reserved3: 0x00000000
|
|
content: '0000000000000000'
|
|
- sectname: __foo
|
|
segname: __DATA
|
|
addr: 0x0000000000000008
|
|
size: 8
|
|
offset: 0x00000160
|
|
align: 0
|
|
reloff: 0x00000000
|
|
nreloc: 0
|
|
flags: 0x00000000
|
|
reserved1: 0x00000000
|
|
reserved2: 0x00000000
|
|
reserved3: 0x00000000
|
|
content: '0000000000000000'
|
|
- sectname: __bar
|
|
segname: __DATA
|
|
addr: 0x0000000000000010
|
|
size: 8
|
|
offset: 0x00000168
|
|
align: 0
|
|
reloff: 0x00000170
|
|
nreloc: 2
|
|
flags: 0x00000000
|
|
reserved1: 0x00000000
|
|
reserved2: 0x00000000
|
|
reserved3: 0x00000000
|
|
content: F0FFFFFFFFFFFFFF
|
|
relocations:
|
|
- address: 0x00000000
|
|
symbolnum: 3
|
|
pcrel: false
|
|
length: 3
|
|
extern: false
|
|
type: 5
|
|
scattered: false
|
|
value: 0
|
|
- address: 0x00000000
|
|
symbolnum: 1
|
|
pcrel: false
|
|
length: 3
|
|
extern: false
|
|
type: 0
|
|
scattered: false
|
|
value: 0
|
|
...
|