brintos

brintos / llvm-project-archived public Read only

0
0
Text · 11.0 KiB · 2bfee49 Raw
382 lines · yaml
1## a) Test that obj2yaml is able to dump the __debug_str section.2 3# RUN: yaml2obj --docnum=1 %s | obj2yaml | FileCheck %s4 5--- !mach-o6FileHeader:      7  magic:           0xFEEDFACF8  cputype:         0x010000079  cpusubtype:      0x0000000310  filetype:        0x0000000A11  ncmds:           612  sizeofcmds:      137613  flags:           0x0000000014  reserved:        0x0000000015LoadCommands:    16  - cmd:             LC_UUID17    cmdsize:         2418    uuid:            9304404B-E522-3BBA-A861-AF593890872519  - cmd:             LC_SYMTAB20    cmdsize:         2421    symoff:          409622    nsyms:           223    stroff:          412824    strsize:         2825  - cmd:             LC_SEGMENT_6426    cmdsize:         7227    segname:         __PAGEZERO28    vmaddr:          029    vmsize:          429496729630    fileoff:         031    filesize:        032    maxprot:         033    initprot:        034    nsects:          035    flags:           036  - cmd:             LC_SEGMENT_6437    cmdsize:         23238    segname:         __TEXT39    vmaddr:          429496729640    vmsize:          409641    fileoff:         042    filesize:        043    maxprot:         744    initprot:        545    nsects:          246    flags:           047    Sections:        48      - sectname:        __text49        segname:         __TEXT50        addr:            0x0000000100000FA051        size:            2252        offset:          0x0000000053        align:           454        reloff:          0x0000000055        nreloc:          056        flags:           0x8000040057        reserved1:       0x0000000058        reserved2:       0x0000000059        reserved3:       0x0000000060      - sectname:        __unwind_info61        segname:         __TEXT62        addr:            0x0000000100000FB863        size:            7264        offset:          0x0000000065        align:           266        reloff:          0x0000000067        nreloc:          068        flags:           0x0000000069        reserved1:       0x0000000070        reserved2:       0x0000000071        reserved3:       0x0000000072  - cmd:             LC_SEGMENT_6473    cmdsize:         7274    segname:         __LINKEDIT75    vmaddr:          429497139276    vmsize:          409677    fileoff:         409678    filesize:        6079    maxprot:         780    initprot:        181    nsects:          082    flags:           083  - cmd:             LC_SEGMENT_6484    cmdsize:         95285    segname:         __DWARF86    vmaddr:          429497548887    vmsize:          409688    fileoff:         819289    filesize:        76590    maxprot:         791    initprot:        392    nsects:          1193    flags:           094    Sections:        95      - sectname:        __debug_line96        segname:         __DWARF97        addr:            0x000000010000200098        size:            7099        offset:          0x00002000100        align:           0101        reloff:          0x00000000102        nreloc:          0103        flags:           0x00000000104        reserved1:       0x00000000105        reserved2:       0x00000000106        reserved3:       0x00000000107      - sectname:        __debug_pubnames108        segname:         __DWARF109        addr:            0x0000000100002046110        size:            27111        offset:          0x00002046112        align:           0113        reloff:          0x00000000114        nreloc:          0115        flags:           0x00000000116        reserved1:       0x00000000117        reserved2:       0x00000000118        reserved3:       0x00000000119      - sectname:        __debug_pubtypes120        segname:         __DWARF121        addr:            0x0000000100002061122        size:            35123        offset:          0x00002061124        align:           0125        reloff:          0x00000000126        nreloc:          0127        flags:           0x00000000128        reserved1:       0x00000000129        reserved2:       0x00000000130        reserved3:       0x00000000131      - sectname:        __debug_info132        segname:         __DWARF133        addr:            0x00000001000020B4134        size:            121135        offset:          0x000020B4136        align:           0137        reloff:          0x00000000138        nreloc:          0139        flags:           0x00000000140        reserved1:       0x00000000141        reserved2:       0x00000000142        reserved3:       0x00000000143      - sectname:        __debug_abbrev144        segname:         __DWARF145        addr:            0x000000010000212D146        size:            76147        offset:          0x0000212D148        align:           0149        reloff:          0x00000000150        nreloc:          0151        flags:           0x00000000152        reserved1:       0x00000000153        reserved2:       0x00000000154        reserved3:       0x00000000155      - sectname:        __debug_str156        segname:         __DWARF157        addr:            0x0000000100002179158        size:            142159        offset:          0x00002179160        align:           0161        reloff:          0x00000000162        nreloc:          0163        flags:           0x00000000164        reserved1:       0x00000000165        reserved2:       0x00000000166        reserved3:       0x00000000167      - sectname:        __apple_names168        segname:         __DWARF169        addr:            0x0000000100002207170        size:            60171        offset:          0x00002207172        align:           0173        reloff:          0x00000000174        nreloc:          0175        flags:           0x00000000176        reserved1:       0x00000000177        reserved2:       0x00000000178        reserved3:       0x00000000179      - sectname:        __apple_namespac180        segname:         __DWARF181        addr:            0x0000000100002243182        size:            36183        offset:          0x00002243184        align:           0185        reloff:          0x00000000186        nreloc:          0187        flags:           0x00000000188        reserved1:       0x00000000189        reserved2:       0x00000000190        reserved3:       0x00000000191      - sectname:        __apple_types192        segname:         __DWARF193        addr:            0x0000000100002267194        size:            114195        offset:          0x00002267196        align:           0197        reloff:          0x00000000198        nreloc:          0199        flags:           0x00000000200        reserved1:       0x00000000201        reserved2:       0x00000000202        reserved3:       0x00000000203      - sectname:        __apple_objc204        segname:         __DWARF205        addr:            0x00000001000022D9206        size:            36207        offset:          0x000022D9208        align:           0209        reloff:          0x00000000210        nreloc:          0211        flags:           0x00000000212        reserved1:       0x00000000213        reserved2:       0x00000000214        reserved3:       0x00000000215LinkEditData:    216  NameList:        217    - n_strx:          2218      n_type:          0x0F219      n_sect:          1220      n_desc:          16221      n_value:         4294967296222    - n_strx:          22223      n_type:          0x0F224      n_sect:          1225      n_desc:          0226      n_value:         4294971296227  StringTable:     228    - ''229    - ''230    - __mh_execute_header231    - _main232DWARF:           233  debug_str:    234    - ''235    - 'clang version 4.0.0 (trunk 288677) (llvm/trunk 288676)'236    - hello_world.c237    - /Users/cbieneman/dev/open-source/llvm-build-rel238    - main239    - argc240    - argv241    - int242    - char243...244 245#CHECK: DWARF:           246#CHECK:   debug_str:    247#CHECK:     - ''248#CHECK:     - 'clang version 4.0.0 (trunk 288677) (llvm/trunk 288676)'249#CHECK:     - hello_world.c250#CHECK:     - '/Users/cbieneman/dev/open-source/llvm-build-rel'251#CHECK:     - main252#CHECK:     - argc253#CHECK:     - argv254#CHECK:     - int255#CHECK:     - char256 257## b) Test dumping an empty __debug_str section.258 259# RUN: yaml2obj --docnum=2 -DCONTENT='[]' %s | obj2yaml | FileCheck %s --check-prefix=EMPTY-CONTENT260 261#      EMPTY-CONTENT: Sections:262# EMPTY-CONTENT-NEXT:   - sectname:  __debug_str263# EMPTY-CONTENT-NEXT:     segname:   __DWARF264# EMPTY-CONTENT-NEXT:     addr:      0x0265# EMPTY-CONTENT-NEXT:     size:      0266# EMPTY-CONTENT-NEXT:     offset:    0x210267# EMPTY-CONTENT-NEXT:     align:     0268# EMPTY-CONTENT-NEXT:     reloff:    0x0269# EMPTY-CONTENT-NEXT:     nreloc:    0270# EMPTY-CONTENT-NEXT:     flags:     0x0271# EMPTY-CONTENT-NEXT:     reserved1: 0x0272# EMPTY-CONTENT-NEXT:     reserved2: 0x0273# EMPTY-CONTENT-NEXT:     reserved3: 0x0274# EMPTY-CONTENT-NEXT: DWARF:275# EMPTY-CONTENT-NEXT:   debug_str: []276 277--- !mach-o278FileHeader:279  magic:      0xFEEDFACF280  cputype:    0x01000007281  cpusubtype: 0x00000003282  filetype:   0x0000000A283  ncmds:      1284  sizeofcmds: 232285  flags:      0x00000000286  reserved:   0x00000000287LoadCommands:288  - cmd:      LC_SEGMENT_64289    cmdsize:  152290    segname:  __DWARF291    vmaddr:   0x00292    vmsize:   0x00293    fileoff:  0x00294    filesize: 0x00295    maxprot:  0296    initprot: 0297    nsects:   1298    flags:    0299    Sections:300      - sectname:  __debug_str301        segname:   __DWARF302        addr:      0x00303        size:      [[SIZE=0]]304        offset:    0x210305        align:     0306        reloff:    0x00000000307        nreloc:    0308        flags:     0x00000000309        reserved1: 0x00000000310        reserved2: 0x00000000311        reserved3: 0x00000000312DWARF:313  debug_str:314    [[CONTENT]]315 316## c) Test generating and dumping a __debug_str section who only has an empty string.317 318# RUN: yaml2obj --docnum=2 -DCONTENT='[ "" ]' -DSIZE=1 %s | obj2yaml | FileCheck %s --check-prefix=EMPTY-STRING319 320#      EMPTY-STRING: DWARF:321# EMPTY-STRING-NEXT:   debug_str:322# EMPTY-STRING-NEXT:     - ''323# EMPTY-STRING-NEXT: ...324 325## d) Test generating and dumping a __debug_str section which contains a string without a null terminator.326 327# RUN: yaml2obj --docnum=3 %s | obj2yaml | FileCheck %s --check-prefix=NO-TERMINATOR328 329#  NO-TERMINATOR-NOT: DWARF:330#      NO-TERMINATOR: Sections:331# NO-TERMINATOR-NEXT:   - sectname:  __debug_str332# NO-TERMINATOR-NEXT:     segname:   __DWARF333# NO-TERMINATOR-NEXT:     addr:      0x0334# NO-TERMINATOR-NEXT:     size:      7335# NO-TERMINATOR-NEXT:     offset:    0x210336# NO-TERMINATOR-NEXT:     align:     0337# NO-TERMINATOR-NEXT:     reloff:    0x0338# NO-TERMINATOR-NEXT:     nreloc:    0339# NO-TERMINATOR-NEXT:     flags:     0x0340# NO-TERMINATOR-NEXT:     reserved1: 0x0341# NO-TERMINATOR-NEXT:     reserved2: 0x0342# NO-TERMINATOR-NEXT:     reserved3: 0x0343# NO-TERMINATOR-NEXT:     content:   '61626300616263'344# NO-TERMINATOR-NEXT: ...345 346--- !mach-o347FileHeader:348  magic:      0xFEEDFACF349  cputype:    0x01000007350  cpusubtype: 0x00000003351  filetype:   0x0000000A352  ncmds:      1353  sizeofcmds: 232354  flags:      0x00000000355  reserved:   0x00000000356LoadCommands:357  - cmd:      LC_SEGMENT_64358    cmdsize:  152359    segname:  __DWARF360    vmaddr:   0x00361    vmsize:   0x00362    fileoff:  0x00363    filesize: 0x00364    maxprot:  0365    initprot: 0366    nsects:   1367    flags:    0368    Sections:369      - sectname:  __debug_str370        segname:   __DWARF371        addr:      0x00372        size:      7373        offset:    0x210374        align:     0375        reloff:    0x00000000376        nreloc:    0377        flags:     0x00000000378        reserved1: 0x00000000379        reserved2: 0x00000000380        reserved3: 0x00000000381        content:   '61626300616263' ## "abc\0abc"382