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