|  | # RUN: yaml2obj %s -o %t | 
|  | # RUN: cp %t %t1 | 
|  | # RUN: llvm-objcopy --discard-all %t %t2 | 
|  | ## Verify that llvm-objcopy has not modified the input. | 
|  | # RUN: cmp %t %t1 | 
|  | # RUN: llvm-readobj --symbols %t2 | FileCheck %s | 
|  |  | 
|  | # RUN: llvm-objcopy -x %t %t3 | 
|  | ## Verify that llvm-objcopy has not modified the input. | 
|  | # RUN: cmp %t %t1 | 
|  | # RUN: cmp %t2 %t3 | 
|  |  | 
|  | ## Verify that llvm-strip modifies the symbol table the same way. | 
|  | # RUN: cp %t %t4 | 
|  | # RUN: llvm-strip --discard-all %t4 | 
|  | # RUN: cmp %t2 %t4 | 
|  | # RUN: llvm-strip -x %t | 
|  | # RUN: cmp %t2 %t | 
|  |  | 
|  | # CHECK:       Symbols [ | 
|  | # CHECK-NEXT:    Symbol { | 
|  | # CHECK-NEXT:      Name: _b (1) | 
|  | # CHECK-NEXT:      Extern | 
|  | # CHECK-NEXT:      Type: Undef (0x0) | 
|  | # CHECK-NEXT:      Section:  (0x0) | 
|  | # CHECK-NEXT:      RefType: UndefinedNonLazy (0x0) | 
|  | # CHECK-NEXT:      Flags [ (0x220) | 
|  | # CHECK-NEXT:        AltEntry (0x200) | 
|  | # CHECK-NEXT:        NoDeadStrip (0x20) | 
|  | # CHECK-NEXT:      ] | 
|  | # CHECK-NEXT:      Value: 0x4 | 
|  | # CHECK-NEXT:    } | 
|  | # CHECK-NEXT:  ] | 
|  |  | 
|  | --- !mach-o | 
|  | FileHeader: | 
|  | magic:           0xFEEDFACF | 
|  | cputype:         0x01000007 | 
|  | cpusubtype:      0x00000003 | 
|  | filetype:        0x00000001 | 
|  | ncmds:           4 | 
|  | sizeofcmds:      360 | 
|  | flags:           0x00002000 | 
|  | reserved:        0x00000000 | 
|  | LoadCommands: | 
|  | - cmd:             LC_SEGMENT_64 | 
|  | cmdsize:         232 | 
|  | segname:         '' | 
|  | vmaddr:          0 | 
|  | vmsize:          4 | 
|  | fileoff:         392 | 
|  | filesize:        0 | 
|  | maxprot:         7 | 
|  | initprot:        7 | 
|  | nsects:          2 | 
|  | flags:           0 | 
|  | Sections: | 
|  | - sectname:        __text | 
|  | segname:         __TEXT | 
|  | addr:            0x0000000000000000 | 
|  | size:            0 | 
|  | offset:          0x00000188 | 
|  | align:           0 | 
|  | reloff:          0x00000000 | 
|  | nreloc:          0 | 
|  | flags:           0x80000000 | 
|  | reserved1:       0x00000000 | 
|  | reserved2:       0x00000000 | 
|  | reserved3:       0x00000000 | 
|  | content:         '' | 
|  | - sectname:        __bss | 
|  | segname:         __DATA | 
|  | addr:            0x0000000000000000 | 
|  | size:            4 | 
|  | offset:          0x00000000 | 
|  | align:           2 | 
|  | reloff:          0x00000000 | 
|  | nreloc:          0 | 
|  | flags:           0x00000001 | 
|  | reserved1:       0x00000000 | 
|  | reserved2:       0x00000000 | 
|  | reserved3:       0x00000000 | 
|  | - cmd:             LC_BUILD_VERSION | 
|  | cmdsize:         24 | 
|  | platform:        1 | 
|  | minos:           658944 | 
|  | sdk:             658944 | 
|  | ntools:          0 | 
|  | - cmd:             LC_SYMTAB | 
|  | cmdsize:         24 | 
|  | symoff:          392 | 
|  | nsyms:           2 | 
|  | stroff:          424 | 
|  | strsize:         8 | 
|  | - cmd:             LC_DYSYMTAB | 
|  | cmdsize:         80 | 
|  | ilocalsym:       0 | 
|  | nlocalsym:       1 | 
|  | iextdefsym:      1 | 
|  | nextdefsym:      0 | 
|  | iundefsym:       1 | 
|  | nundefsym:       1 | 
|  | tocoff:          0 | 
|  | ntoc:            0 | 
|  | modtaboff:       0 | 
|  | nmodtab:         0 | 
|  | extrefsymoff:    0 | 
|  | nextrefsyms:     0 | 
|  | indirectsymoff:  0 | 
|  | nindirectsyms:   0 | 
|  | extreloff:       0 | 
|  | nextrel:         0 | 
|  | locreloff:       0 | 
|  | nlocrel:         0 | 
|  | LinkEditData: | 
|  | NameList: | 
|  | - n_strx:          4 | 
|  | n_type:          0x0E | 
|  | n_sect:          2 | 
|  | n_desc:          32 | 
|  | n_value:         0 | 
|  | - n_strx:          1 | 
|  | n_type:          0x01 | 
|  | n_sect:          0 | 
|  | n_desc:          544 | 
|  | n_value:         4 | 
|  | StringTable: | 
|  | - '' | 
|  | - _b | 
|  | - _a | 
|  | - '' | 
|  | ... |