Home | History | Annotate | Download | only in sanstats
      1 # RUN: yaml2obj %s > %t1.o
      2 # RUN: yaml2obj %s > %t2.o
      3 
      4 # RUN: echo -ne "\x04" > %t.stats
      5 
      6 # RUN: echo -n "%t1.o" >> %t.stats
      7 # RUN: echo -ne "\x00" >> %t.stats
      8 # RUN: echo -ne "\x01\x00\x00\x00\x01\x00\x00\x00" >> %t.stats
      9 # RUN: echo -ne "\x11\x00\x00\x00\x02\x00\x00\x20" >> %t.stats
     10 # RUN: echo -ne "\x21\x00\x00\x00\x03\x00\x00\x40" >> %t.stats
     11 # RUN: echo -ne "\x01\x00\x00\x00\x04\x00\x00\x60" >> %t.stats
     12 # RUN: echo -ne "\x11\x00\x00\x00\x05\x00\x00\x80" >> %t.stats
     13 # RUN: echo -ne "\x21\x00\x00\x00\x06\x00\x00\xa0" >> %t.stats
     14 # RUN: echo -ne "\x00\x00\x00\x00\x00\x00\x00\x00" >> %t.stats
     15 
     16 # RUN: echo -n "%t2.o" >> %t.stats
     17 # RUN: echo -ne "\x00" >> %t.stats
     18 # RUN: echo -ne "\x21\x00\x00\x00\x07\x00\x00\x00" >> %t.stats
     19 # RUN: echo -ne "\x11\x00\x00\x00\x08\x00\x00\x20" >> %t.stats
     20 # RUN: echo -ne "\x01\x00\x00\x00\x09\x00\x00\x40" >> %t.stats
     21 # RUN: echo -ne "\x21\x00\x00\x00\x0b\x00\x00\x60" >> %t.stats
     22 # RUN: echo -ne "\x11\x00\x00\x00\x0c\x00\x00\x80" >> %t.stats
     23 # RUN: echo -ne "\x01\x00\x00\x00\x0e\x00\x00\xa0" >> %t.stats
     24 # RUN: echo -ne "\x00\x00\x00\x00\x00\x00\x00\x00" >> %t.stats
     25 
     26 # RUN: sanstats %t.stats | FileCheck %s
     27 
     28 # CHECK: /tmp{{[/\\]}}f.c:1 f1 cfi-vcall 1
     29 # CHECK: /tmp{{[/\\]}}f.c:2 f2 cfi-nvcall 2
     30 # CHECK: /tmp{{[/\\]}}f.c:3 f3 cfi-derived-cast 3
     31 # CHECK: /tmp{{[/\\]}}f.c:1 f1 cfi-unrelated-cast 4
     32 # CHECK: /tmp{{[/\\]}}f.c:2 f2 cfi-icall 5
     33 # CHECK: /tmp{{[/\\]}}f.c:3 f3 <unknown> 6
     34 
     35 # CHECK: /tmp{{[/\\]}}f.c:3 f3 cfi-vcall 7
     36 # CHECK: /tmp{{[/\\]}}f.c:2 f2 cfi-nvcall 8
     37 # CHECK: /tmp{{[/\\]}}f.c:1 f1 cfi-derived-cast 9
     38 # CHECK: /tmp{{[/\\]}}f.c:3 f3 cfi-unrelated-cast 11
     39 # CHECK: /tmp{{[/\\]}}f.c:2 f2 cfi-icall 12
     40 # CHECK: /tmp{{[/\\]}}f.c:1 f1 <unknown> 14
     41 
     42 --- !ELF
     43 FileHeader:      
     44   Class:           ELFCLASS64
     45   Data:            ELFDATA2LSB
     46   Type:            ET_REL
     47   Machine:         EM_X86_64
     48 Sections:        
     49   - Name:            .text
     50     Type:            SHT_PROGBITS
     51     Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
     52     AddressAlign:    0x0000000000000010
     53     Content:         554889E55DC3662E0F1F840000000000554889E55DC3662E0F1F840000000000554889E55DC3
     54   - Name:            .debug_str
     55     Type:            SHT_PROGBITS
     56     Flags:           [ SHF_MERGE, SHF_STRINGS ]
     57     AddressAlign:    0x0000000000000001
     58     Content:         636C616E672076657273696F6E20332E382E3020287472756E6B203235353339332920286C6C766D2F7472756E6B203235353734352900662E63002F746D7000663100663200663300
     59   - Name:            .debug_loc
     60     Type:            SHT_PROGBITS
     61     AddressAlign:    0x0000000000000001
     62     Content:         ''
     63   - Name:            .debug_abbrev
     64     Type:            SHT_PROGBITS
     65     AddressAlign:    0x0000000000000001
     66     Content:         011101250E1305030E10171B0E110112060000022E00110112064018030E3A0B3B0B3F19000000
     67   - Name:            .debug_info
     68     Type:            SHT_PROGBITS
     69     AddressAlign:    0x0000000000000001
     70     Content:         660000000400000000000801000000000C0000000000000000000000000000000000000000002600000002000000000000000006000000015600000000010102000000000000000006000000015600000000010202000000000000000006000000015600000000010300
     71   - Name:            .rela.debug_info
     72     Type:            SHT_RELA
     73     Link:            .symtab
     74     AddressAlign:    0x0000000000000008
     75     Info:            .debug_info
     76     Relocations:     
     77       - Offset:          0x0000000000000006
     78         Symbol:          ''
     79         Type:            R_X86_64_32
     80       - Offset:          0x000000000000000C
     81         Symbol:          ''
     82         Type:            R_X86_64_32
     83       - Offset:          0x0000000000000012
     84         Symbol:          ''
     85         Type:            R_X86_64_32
     86         Addend:          55
     87       - Offset:          0x0000000000000016
     88         Symbol:          ''
     89         Type:            R_X86_64_32
     90       - Offset:          0x000000000000001A
     91         Symbol:          ''
     92         Type:            R_X86_64_32
     93         Addend:          59
     94       - Offset:          0x000000000000001E
     95         Symbol:          ''
     96         Type:            R_X86_64_64
     97       - Offset:          0x000000000000002B
     98         Symbol:          ''
     99         Type:            R_X86_64_64
    100       - Offset:          0x0000000000000039
    101         Symbol:          ''
    102         Type:            R_X86_64_32
    103         Addend:          64
    104       - Offset:          0x0000000000000040
    105         Symbol:          ''
    106         Type:            R_X86_64_64
    107         Addend:          16
    108       - Offset:          0x000000000000004E
    109         Symbol:          ''
    110         Type:            R_X86_64_32
    111         Addend:          67
    112       - Offset:          0x0000000000000055
    113         Symbol:          ''
    114         Type:            R_X86_64_64
    115         Addend:          32
    116       - Offset:          0x0000000000000063
    117         Symbol:          ''
    118         Type:            R_X86_64_32
    119         Addend:          70
    120   - Name:            .debug_ranges
    121     Type:            SHT_PROGBITS
    122     AddressAlign:    0x0000000000000001
    123     Content:         ''
    124   - Name:            .debug_pubnames
    125     Type:            SHT_PROGBITS
    126     AddressAlign:    0x0000000000000001
    127     Content:         230000000200000000006A0000002A0000006631003F0000006632005400000066330000000000
    128   - Name:            .rela.debug_pubnames
    129     Type:            SHT_RELA
    130     Link:            .symtab
    131     AddressAlign:    0x0000000000000008
    132     Info:            .debug_pubnames
    133     Relocations:     
    134       - Offset:          0x0000000000000006
    135         Symbol:          ''
    136         Type:            R_X86_64_32
    137   - Name:            .comment
    138     Type:            SHT_PROGBITS
    139     Flags:           [ SHF_MERGE, SHF_STRINGS ]
    140     AddressAlign:    0x0000000000000001
    141     Content:         00636C616E672076657273696F6E20332E382E3020287472756E6B203235353339332920286C6C766D2F7472756E6B203235353734352900
    142   - Name:            .note.GNU-stack
    143     Type:            SHT_PROGBITS
    144     AddressAlign:    0x0000000000000001
    145     Content:         ''
    146   - Name:            .eh_frame
    147     Type:            SHT_X86_64_UNWIND
    148     Flags:           [ SHF_ALLOC ]
    149     AddressAlign:    0x0000000000000008
    150     Content:         1400000000000000017A5200017810011B0C070890010000180000001C000000000000000600000000410E108602430D060000001800000038000000000000000600000000410E108602430D060000001C00000054000000000000000600000000410E108602430D0600000000000000
    151   - Name:            .rela.eh_frame
    152     Type:            SHT_RELA
    153     Link:            .symtab
    154     AddressAlign:    0x0000000000000008
    155     Info:            .eh_frame
    156     Relocations:     
    157       - Offset:          0x0000000000000020
    158         Symbol:          ''
    159         Type:            R_X86_64_PC32
    160       - Offset:          0x000000000000003C
    161         Symbol:          ''
    162         Type:            R_X86_64_PC32
    163         Addend:          16
    164       - Offset:          0x0000000000000058
    165         Symbol:          ''
    166         Type:            R_X86_64_PC32
    167         Addend:          32
    168   - Name:            .debug_line
    169     Type:            SHT_PROGBITS
    170     AddressAlign:    0x0000000000000001
    171     Content:         4300000002001A0000000101FB0E0D00010101010000000100000100662E630000000000000902000000000000000001050C0A4A0500BB050C0A4A0500BB050C0A4A0202000101
    172   - Name:            .rela.debug_line
    173     Type:            SHT_RELA
    174     Link:            .symtab
    175     AddressAlign:    0x0000000000000008
    176     Info:            .debug_line
    177     Relocations:     
    178       - Offset:          0x0000000000000027
    179         Symbol:          ''
    180         Type:            R_X86_64_64
    181 Symbols:         
    182   Local:           
    183     - Name:            f.c
    184       Type:            STT_FILE
    185     - Type:            STT_SECTION
    186       Section:         .text
    187     - Type:            STT_SECTION
    188       Section:         .debug_str
    189     - Type:            STT_SECTION
    190       Section:         .debug_abbrev
    191     - Type:            STT_SECTION
    192       Section:         .debug_info
    193     - Type:            STT_SECTION
    194       Section:         .debug_line
    195   Global:          
    196     - Name:            f1
    197       Type:            STT_FUNC
    198       Section:         .text
    199       Size:            0x0000000000000006
    200     - Name:            f2
    201       Type:            STT_FUNC
    202       Section:         .text
    203       Value:           0x0000000000000010
    204       Size:            0x0000000000000006
    205     - Name:            f3
    206       Type:            STT_FUNC
    207       Section:         .text
    208       Value:           0x0000000000000020
    209       Size:            0x0000000000000006
    210 ...
    211