106 lines · plain
1## This test verifies that llvm-objcopy and llvm-strip do not remove2## undefined symbols if --keep-undefined is specified.3 4# RUN: yaml2obj %s -o %t5# RUN: llvm-objcopy --strip-all --keep-undefined %t %t.stripped6# RUN: llvm-readobj --symbols %t.stripped | FileCheck %s7 8# RUN: llvm-strip --keep-undefined %t -o %t.stripped.29# RUN: cmp %t.stripped %t.stripped.210 11# CHECK: Symbols [12# CHECK-NEXT: Symbol {13# CHECK-NEXT: Name: _u (1)14# CHECK-NEXT: Extern15# CHECK-NEXT: Type: Undef (0x0)16# CHECK-NEXT: Section: (0x0)17# CHECK-NEXT: RefType: UndefinedNonLazy (0x0)18# CHECK-NEXT: Flags [ (0x220)19# CHECK-NEXT: AltEntry (0x200)20# CHECK-NEXT: NoDeadStrip (0x20)21# CHECK-NEXT: ]22# CHECK-NEXT: Value: 0x423# CHECK-NEXT: }24# CHECK-NEXT: ]25 26--- !mach-o27FileHeader:28 magic: 0xFEEDFACF29 cputype: 0x100000730 cpusubtype: 0x331 filetype: 0x132 ncmds: 333 sizeofcmds: 25634 flags: 0x200035 reserved: 0x036LoadCommands:37 - cmd: LC_SEGMENT_6438 cmdsize: 15239 segname: ''40 vmaddr: 041 vmsize: 042 fileoff: 28843 filesize: 044 maxprot: 745 initprot: 746 nsects: 147 flags: 048 Sections:49 - sectname: __text50 segname: __TEXT51 addr: 0x052 size: 053 offset: 0x12054 align: 055 reloff: 0x056 nreloc: 057 flags: 0x8000000058 reserved1: 0x059 reserved2: 0x060 reserved3: 0x061 content: ''62 - cmd: LC_SYMTAB63 cmdsize: 2464 symoff: 28865 nsyms: 266 stroff: 32067 strsize: 868 - cmd: LC_DYSYMTAB69 cmdsize: 8070 ilocalsym: 071 nlocalsym: 172 iextdefsym: 173 nextdefsym: 074 iundefsym: 175 nundefsym: 176 tocoff: 077 ntoc: 078 modtaboff: 079 nmodtab: 080 extrefsymoff: 081 nextrefsyms: 082 indirectsymoff: 083 nindirectsyms: 084 extreloff: 085 nextrel: 086 locreloff: 087 nlocrel: 088LinkEditData:89 NameList:90 - n_strx: 491 n_type: 0xE92 n_sect: 193 n_desc: 3294 n_value: 095 - n_strx: 196 n_type: 0x197 n_sect: 098 n_desc: 54499 n_value: 4100 StringTable:101 - ''102 - _u103 - _d104 - ''105...106