# RUN: yaml2obj %s -o %t # RUN: llvm-objcopy --wildcard --localize-symbol="*" --skip-symbol _CommonSymbol %t %t.copy # RUN: llvm-readobj --symbols %t.copy | FileCheck %s # RUN: echo "*" > %t-star.txt # RUN: echo _CommonSymbol > %t-sym-list.txt # RUN: llvm-objcopy --wildcard --localize-symbols="%t-star.txt" --skip-symbols="%t-sym-list.txt" %t %t.copy # RUN: llvm-readobj --symbols %t.copy | FileCheck %s # CHECK: Symbols [ # CHECK-NEXT: Symbol { # CHECK-NEXT: Name: _PrivateSymbol # CHECK-NEXT: Type: Section (0xE) # CHECK-NEXT: Section: __text (0x1) # CHECK-NEXT: RefType: UndefinedNonLazy (0x0) # CHECK-NEXT: Flags [ (0x0) # CHECK-NEXT: ] # CHECK-NEXT: Value: 0x1 # CHECK-NEXT: } # CHECK-NEXT: Symbol { # CHECK-NEXT: Name: _PrivateExternalSymbol # CHECK-NEXT: PrivateExtern # CHECK-NEXT: Type: Section (0xE) # CHECK-NEXT: Section: __text (0x1) # CHECK-NEXT: RefType: UndefinedNonLazy (0x0) # CHECK-NEXT: Flags [ (0x0) # CHECK-NEXT: ] # CHECK-NEXT: Value: 0x2 # CHECK-NEXT: } # CHECK-NEXT: Symbol { # CHECK-NEXT: Name: _CommonSymbol2 # CHECK-NEXT: Type: Section (0xE) # CHECK-NEXT: Section: __text (0x1) # CHECK-NEXT: RefType: UndefinedNonLazy (0x0) # CHECK-NEXT: Flags [ (0x0) # CHECK-NEXT: ] # CHECK-NEXT: Value: 0x4 # CHECK-NEXT: } # CHECK-NEXT: Symbol { # CHECK-NEXT: Name: _CommonSymbol # CHECK-NEXT: Extern # CHECK-NEXT: Type: Section (0xE) # CHECK-NEXT: Section: __text (0x1) # CHECK-NEXT: RefType: UndefinedNonLazy (0x0) # CHECK-NEXT: Flags [ (0x0) # CHECK-NEXT: ] # CHECK-NEXT: Value: 0x3 # CHECK-NEXT: } # CHECK-NEXT: Symbol { # CHECK-NEXT: Name: _UndefinedExternalSymbol # CHECK-NEXT: Extern # CHECK-NEXT: Type: Undef (0x0) # CHECK-NEXT: Section: (0x0) # CHECK-NEXT: RefType: UndefinedNonLazy (0x0) # CHECK-NEXT: Flags [ (0x0) # CHECK-NEXT: ] # CHECK-NEXT: Value: 0x0 # CHECK-NEXT: } # CHECK-NEXT: ] --- !mach-o FileHeader: magic: 0xFEEDFACF cputype: 0x100000C cpusubtype: 0x0 filetype: 0x2 ncmds: 3 sizeofcmds: 328 flags: 0x200085 reserved: 0x0 LoadCommands: - cmd: LC_SEGMENT_64 cmdsize: 152 segname: __TEXT vmaddr: 4294967296 vmsize: 4096 fileoff: 0 filesize: 4096 maxprot: 5 initprot: 5 nsects: 1 flags: 0 Sections: - sectname: __text segname: __TEXT addr: 0x100000FF8 size: 8 offset: 0xFF8 align: 2 reloff: 0x0 nreloc: 0 flags: 0x80000400 reserved1: 0x0 reserved2: 0x0 reserved3: 0x0 content: 00008052C0035FD6 - cmd: LC_SEGMENT_64 cmdsize: 72 segname: __LINKEDIT vmaddr: 4294971392 vmsize: 4096 fileoff: 4096 filesize: 94 maxprot: 1 initprot: 1 nsects: 0 flags: 0 - cmd: LC_SYMTAB cmdsize: 24 symoff: 4096 nsyms: 5 stroff: 4176 strsize: 94 LinkEditData: NameList: - n_strx: 2 n_type: 0x0E n_sect: 1 n_desc: 0 n_value: 1 - n_strx: 17 n_type: 0x1E n_sect: 1 n_desc: 0 n_value: 2 - n_strx: 40 n_type: 0x0F n_sect: 1 n_desc: 0 n_value: 3 - n_strx: 54 n_type: 0x0F n_sect: 1 n_desc: 0 n_value: 4 - n_strx: 69 n_type: 0x01 n_sect: 0 n_desc: 0 n_value: 0 StringTable: - ' ' - _PrivateSymbol - _PrivateExternalSymbol - _CommonSymbol - _CommonSymbol2 - _UndefinedExternalSymbol ...