brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.4 KiB · b2e977e Raw
222 lines · plain
1## Verify that -T removes Swift symbols.2# RUN: yaml2obj -D FLAGS=0x00200085 -D SEGMENT_NAME=__DATA \3# RUN:  -D SECTION_NAME=__objc_imageinfo -D SECTION_SIZE=8 \4# RUN:  -D SECTION_CONTENT=0000000040070105 %s -o %t15# RUN: llvm-strip -x -T %t16# RUN: llvm-readobj -s %t1 | FileCheck --check-prefix=NO-SWIFT-SYMBOLS %s7 8# RUN: yaml2obj -D FLAGS=0x00200085 -D SEGMENT_NAME=__DATA_CONST \9# RUN:  -D SECTION_NAME=__objc_imageinfo -D SECTION_SIZE=8 \10# RUN:  -D SECTION_CONTENT=0000000040070105 %s -o %t211# RUN: llvm-strip -x -T %t212# RUN: llvm-readobj -s %t2 | FileCheck --check-prefix=NO-SWIFT-SYMBOLS %s13 14# RUN: yaml2obj -D FLAGS=0x00200085 -D SEGMENT_NAME=__DATA_DIRTY \15# RUN:  -D SECTION_NAME=__objc_imageinfo -D SECTION_SIZE=8 \16# RUN:  -D SECTION_CONTENT=0000000040070105 %s -o %t317# RUN: llvm-strip -x -T %t318# RUN: llvm-readobj -s %t3 | FileCheck --check-prefix=NO-SWIFT-SYMBOLS %s19 20# NO-SWIFT-SYMBOLS:      Symbols [21# NO-SWIFT-SYMBOLS-NEXT:  Symbol {22# NO-SWIFT-SYMBOLS-NEXT:    Name: _main (2)23# NO-SWIFT-SYMBOLS-NEXT:    Extern24# NO-SWIFT-SYMBOLS-NEXT:    Type: Section (0xE)25# NO-SWIFT-SYMBOLS-NEXT:    Section: __text (0x1)26# NO-SWIFT-SYMBOLS-NEXT:    RefType: UndefinedNonLazy (0x0)27# NO-SWIFT-SYMBOLS-NEXT:    Flags [ (0x0)28# NO-SWIFT-SYMBOLS-NEXT:    ]29# NO-SWIFT-SYMBOLS-NEXT:    Value: 0x100000B7030# NO-SWIFT-SYMBOLS-NEXT:  }31# NO-SWIFT-SYMBOLS-NEXT: ]32 33## Verify that -T does not remove (public) Swift symbols when the binary34## does not contain __objc_imageinfo in one of the expected segments.35 36# RUN: yaml2obj -D FLAGS=0x00200085 -D SEGMENT_NAME=__DATA \37# RUN:  -D SECTION_NAME=__not_objc_imageinfo -D SECTION_SIZE=8 \38# RUN:  -D SECTION_CONTENT=0000000040070105 %s -o %t439# RUN: llvm-strip -x -T %t440# RUN: llvm-readobj -s %t4 | FileCheck --check-prefix=SWIFT-SYMBOLS %s41 42# RUN: yaml2obj -D FLAGS=0x00200085 -D SEGMENT_NAME=__NOT_DATA \43# RUN:  -D SECTION_NAME=__objc_imageinfo -D SECTION_SIZE=8 \44# RUN:  -D SECTION_CONTENT=0000000040070105 %s -o %t545# RUN: llvm-strip -x -T %t546# RUN: llvm-readobj -s %t5 | FileCheck --check-prefix=SWIFT-SYMBOLS %s47 48## Verify that -T does not remove (public) Swift symbols when swift_version is zero.49 50# RUN: yaml2obj -D FLAGS=0x00200085 -D SEGMENT_NAME=__DATA \51# RUN:  -D SECTION_NAME=__objc_imageinfo -D SECTION_SIZE=8 \52# RUN:  -D SECTION_CONTENT=0000000000000000 %s -o %t653# RUN: llvm-strip -x -T %t654# RUN: llvm-readobj -s %t6 | FileCheck --check-prefix=SWIFT-SYMBOLS %s55 56## Verify that -T does not remove (public) Swift symbols when the binary57## contains invalid (too small) __objc_imageinfo.58 59# RUN: yaml2obj -D FLAGS=0x00200085 -D SEGMENT_NAME=__DATA \60# RUN:  -D SECTION_NAME=__objc_imageinfo -D SECTION_SIZE=4 \61# RUN:  -D SECTION_CONTENT=00000000 %s -o %t762# RUN: llvm-strip -x -T %t763# RUN: llvm-readobj -s %t7 | FileCheck --check-prefix=SWIFT-SYMBOLS %s64 65## Verify that -T does not remove (public) Swift symbols66## when the flag MH_DYLDLINK is not set.67 68# RUN: yaml2obj -D FLAGS=0x00200000 -D SEGMENT_NAME=__DATA \69# RUN:  -D SECTION_NAME=__objc_imageinfo -D SECTION_SIZE=8 \70# RUN:  -D SECTION_CONTENT=0000000040070105 %s -o %t871# RUN: llvm-strip -x -T %t872# RUN: llvm-readobj -s %t8 | FileCheck --check-prefix=SWIFT-SYMBOLS %s73 74# SWIFT-SYMBOLS:      Symbols [75# SWIFT-SYMBOLS-NEXT:  Symbol {76# SWIFT-SYMBOLS-NEXT:    Name: _$S1a13PublicSymbol1Sivp (27)77# SWIFT-SYMBOLS-NEXT:    Extern78# SWIFT-SYMBOLS-NEXT:    Type: Section (0xE)79# SWIFT-SYMBOLS-NEXT:    Section: __text (0x1)80# SWIFT-SYMBOLS-NEXT:    RefType: UndefinedNonLazy (0x0)81# SWIFT-SYMBOLS-NEXT:    Flags [ (0x0)82# SWIFT-SYMBOLS-NEXT:    ]83# SWIFT-SYMBOLS-NEXT:    Value: 0x10000116084# SWIFT-SYMBOLS-NEXT:  }85# SWIFT-SYMBOLS-NEXT:  Symbol {86# SWIFT-SYMBOLS-NEXT:    Name: _$s1a13PublicSymbol2Sivp (2)87# SWIFT-SYMBOLS-NEXT:    Extern88# SWIFT-SYMBOLS-NEXT:    Type: Section (0xE)89# SWIFT-SYMBOLS-NEXT:    Section: __text (0x1)90# SWIFT-SYMBOLS-NEXT:    RefType: UndefinedNonLazy (0x0)91# SWIFT-SYMBOLS-NEXT:    Flags [ (0x0)92# SWIFT-SYMBOLS-NEXT:    ]93# SWIFT-SYMBOLS-NEXT:    Value: 0x10000116894# SWIFT-SYMBOLS-NEXT:  }95# SWIFT-SYMBOLS-NEXT:  Symbol {96# SWIFT-SYMBOLS-NEXT:    Name: _main (52)97# SWIFT-SYMBOLS-NEXT:    Extern98# SWIFT-SYMBOLS-NEXT:    Type: Section (0xE)99# SWIFT-SYMBOLS-NEXT:    Section: __text (0x1)100# SWIFT-SYMBOLS-NEXT:    RefType: UndefinedNonLazy (0x0)101# SWIFT-SYMBOLS-NEXT:    Flags [ (0x0)102# SWIFT-SYMBOLS-NEXT:    ]103# SWIFT-SYMBOLS-NEXT:    Value: 0x100000B70104# SWIFT-SYMBOLS-NEXT:  }105# SWIFT-SYMBOLS-NEXT: ]106 107--- !mach-o108FileHeader:109  magic:           0xFEEDFACF110  cputype:         0x01000007111  cpusubtype:      0x80000003112  filetype:        0x00000002113  ncmds:           4114  sizeofcmds:      400115  flags:           [[FLAGS]]116  reserved:        0x00000000117LoadCommands:118  - cmd:             LC_SEGMENT_64119    cmdsize:         152120    segname:         __TEXT121    vmaddr:          4294967296122    vmsize:          4096123    fileoff:         0124    filesize:        4096125    maxprot:         5126    initprot:        5127    nsects:          1128    flags:           0129    Sections:130      - sectname:        __text131        segname:         __TEXT132        addr:            0x0000000100000B70133        size:            845134        offset:          0x00000B70135        align:           4136        reloff:          0x00000000137        nreloc:          0138        flags:           0x80000400139        reserved1:       0x00000000140        reserved2:       0x00000000141        reserved3:       0x00000000142  - cmd:             LC_SEGMENT_64143    cmdsize:         152144    segname:         [[SEGMENT_NAME]]145    vmaddr:          4294971392146    vmsize:          4096147    fileoff:         4096148    filesize:        4096149    maxprot:         3150    initprot:        3151    nsects:          1152    flags:           0153    Sections:154      - sectname:        [[SECTION_NAME]]155        segname:         [[SEGMENT_NAME]]156        addr:            0x0000000100001090157        size:            [[SECTION_SIZE]]158        offset:          0x00001090159        align:           2160        reloff:          0x00000000161        nreloc:          0162        flags:           0x00000000163        reserved1:       0x00000000164        reserved2:       0x00000000165        reserved3:       0x00000000166        content:         "[[SECTION_CONTENT]]"167  - cmd:             LC_SEGMENT_64168    cmdsize:         72169    segname:         __LINKEDIT170    vmaddr:          4294975488171    vmsize:          4096172    fileoff:         8192173    filesize:        188174    maxprot:         1175    initprot:        1176    nsects:          0177    flags:           0178  - cmd:             LC_SYMTAB179    cmdsize:         24180    symoff:          8192181    nsyms:           5182    stroff:          8272183    strsize:         108184LinkEditData:185  NameList:186    - n_strx:          50187      n_type:          0x1E188      n_sect:          1189      n_desc:          0190      n_value:         4294971760191    - n_strx:          1192      n_type:          0x1E193      n_sect:          1194      n_desc:          0195      n_value:         4294971768196    - n_strx:          74197      n_type:          0x0F198      n_sect:          1199      n_desc:          0200      n_value:         4294971744201    - n_strx:          25202      n_type:          0x0F203      n_sect:          1204      n_desc:          0205      n_value:         4294971752206    - n_strx:          99207      n_type:          0x0F208      n_sect:          1209      n_desc:          0210      n_value:         4294970224211  StringTable:212    - ''213    - '_$s1a12LocalSymbol2Sivp'214    - '_$s1a13PublicSymbol2Sivp'215    - '_$S1a12LocalSymbol1Sivp'216    - '_$S1a13PublicSymbol1Sivp'217    - _main218    - ''219    - ''220    - ''221...222