Home | History | Annotate | Download | only in llvm-readobj
      1 // Check dumping of the resources stored in .res files.
      2 // The input was generated with the following commands, using the original Windows
      3 // rc.exe:
      4 // > rc /fo test_resource.res /nologo test_resource.rc
      5 
      6 // RUN: llvm-readobj %p/Inputs/resources/test_resource.res | FileCheck %s
      7 
      8 // CHECK:  Resource type (int): 9
      9 // CHECK-NEXT:  Resource name (string): MYACCELERATORS
     10 // CHECK-NEXT:  Data version: 0
     11 // CHECK-NEXT:  Memory flags: 0x30
     12 // CHECK-NEXT:  Language ID: 1033
     13 // CHECK-NEXT:  Version (major): 0
     14 // CHECK-NEXT:  Version (minor): 0
     15 // CHECK-NEXT:  Characteristics: 0
     16 // CHECK-NEXT:  Data size: 24
     17 // CHECK-NEXT:  Data: (
     18 // CHECK-NEXT:    0000: 11000300 E7030000 0D004400 4C040000  |..........D.L...|
     19 // CHECK-NEXT:    0010: 82001200 BC010000                    |........|
     20 // CHECK-NEXT:  )
     21 
     22 // CHECK-DAG:  Resource type (int): 2
     23 // CHECK-NEXT:  Resource name (string): CURSOR
     24 // CHECK-NEXT:  Data version: 0
     25 // CHECK-NEXT:  Memory flags: 0x30
     26 // CHECK-NEXT:  Language ID: 1033
     27 // CHECK-NEXT:  Version (major): 0
     28 // CHECK-NEXT:  Version (minor): 0
     29 // CHECK-NEXT:  Characteristics: 0
     30 // CHECK-NEXT:  Data size: 808
     31 // CHECK-NEXT:  Data: (
     32 // CHECK-NEXT:    0000: 28000000 10000000 10000000 01001800  |(...............|
     33 // CHECK-NEXT:    0010: 00000000 00030000 C40E0000 C40E0000  |................|
     34 // CHECK-NEXT:    0020: 00000000 00000000 FFFFFFFF FFFFFFFF  |................|
     35 // CHECK-NEXT:    0030: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF  |................|
     36 // CHECK-NEXT:    0040: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF  |................|
     37 // CHECK-NEXT:    0050: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF  |................|
     38 // CHECK-NEXT:    0060: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF  |................|
     39 // CHECK-NEXT:    0070: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF  |................|
     40 // CHECK-NEXT:    0080: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF  |................|
     41 // CHECK-NEXT:    0090: FFFFFFFF FFFFFFFF FFFFFFFF FF7F7F7F  |................|
     42 // CHECK-NEXT:    00A0: 7C7C7C78 78787575 75FFFFFF FFFFFFFF  ||||xxxuuu.......|
     43 // CHECK-NEXT:    00B0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF  |................|
     44 // CHECK-NEXT:    00C0: FFFFFFFF 979797FF FFFFFFFF FF838383  |................|
     45 // CHECK-NEXT:    00D0: AAAAAADB DBDB7979 79757575 FFFFFFFF  |......yyyuuu....|
     46 // CHECK-NEXT:    00E0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF  |................|
     47 // CHECK-NEXT:    00F0: FFFFFFFF 9C9C9C98 9898FFFF FF888888  |................|
     48 // CHECK-NEXT:    0100: DBDBDBB7 B7B77D7D 7DFFFFFF FFFFFFFF  |......}}}.......|
     49 // CHECK-NEXT:    0110: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF  |................|
     50 // CHECK-NEXT:    0120: FFFFFFFF A0A0A09C 9C9C9393 93ADADAD  |................|
     51 // CHECK-NEXT:    0130: F2F2F284 84848181 81FFFFFF FFFFFFFF  |................|
     52 // CHECK-NEXT:    0140: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF  |................|
     53 // CHECK-NEXT:    0150: FFFFFFFF A4A4A4D7 D7D79D9D 9DD0D0D0  |................|
     54 // CHECK-NEXT:    0160: EEEEEE91 91918D8D 8DFFFFFF FFFFFF81  |................|
     55 // CHECK-NEXT:    0170: 81817E7E 7EFFFFFF FFFFFFFF FFFFFFFF  |..~~~...........|
     56 // CHECK-NEXT:    0180: FFFFFFFF A9A9A9F2 F2F2E5E5 E5E2E2E2  |................|
     57 // CHECK-NEXT:    0190: 95959591 91918D8D 8D898989 868686FF  |................|
     58 // CHECK-NEXT:    01A0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF  |................|
     59 // CHECK-NEXT:    01B0: FFFFFFFF ADADADF2 F2F2E1E1 E1DFDFDF  |................|
     60 // CHECK-NEXT:    01C0: E7E7E7E4 E4E4BBBB BB8E8E8E FFFFFFFF  |................|
     61 // CHECK-NEXT:    01D0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF  |................|
     62 // CHECK-NEXT:    01E0: FFFFFFFF B5B5B5F2 F2F2E8E8 E8E7E7E7  |................|
     63 // CHECK-NEXT:    01F0: EAEAEAC6 C6C69E9E 9EFFFFFF FFFFFFFF  |................|
     64 // CHECK-NEXT:    0200: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF  |................|
     65 // CHECK-NEXT:    0210: FFFFFFFF B9B9B9F4 F4F4ECEC ECEDEDED  |................|
     66 // CHECK-NEXT:    0220: CBCBCBA7 A7A7FFFF FFFFFFFF FFFFFFFF  |................|
     67 // CHECK-NEXT:    0230: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF  |................|
     68 // CHECK-NEXT:    0240: FFFFFFFF BDBDBDF7 F7F7EFEF EFD0D0D0  |................|
     69 // CHECK-NEXT:    0250: AFAFAFFF FFFFFFFF FFFFFFFF FFFFFFFF  |................|
     70 // CHECK-NEXT:    0260: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF  |................|
     71 // CHECK-NEXT:    0270: FFFFFFFF C1C1C1F7 F7F7D5D5 D5B6B6B6  |................|
     72 // CHECK-NEXT:    0280: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF  |................|
     73 // CHECK-NEXT:    0290: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF  |................|
     74 // CHECK-NEXT:    02A0: FFFFFFFF C4C4C4D9 D9D9BEBE BEFFFFFF  |................|
     75 // CHECK-NEXT:    02B0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF  |................|
     76 // CHECK-NEXT:    02C0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF  |................|
     77 // CHECK-NEXT:    02D0: FFFFFFFF C8C8C8C5 C5C5FFFF FFFFFFFF  |................|
     78 // CHECK-NEXT:    02E0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF  |................|
     79 // CHECK-NEXT:    02F0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF  |................|
     80 // CHECK-NEXT:    0300: FFFFFFFF CBCBCBFF FFFFFFFF FFFFFFFF  |................|
     81 // CHECK-NEXT:    0310: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF  |................|
     82 // CHECK-NEXT:    0320: FFFFFFFF FFFFFFFF                    |........|
     83 // CHECK-NEXT:  )
     84 
     85 // CHECK-DAG:  Resource type (int): 2
     86 // CHECK-NEXT:  Resource name (string): OKAY
     87 // CHECK-NEXT:  Data version: 0
     88 // CHECK-NEXT:  Memory flags: 0x30
     89 // CHECK-NEXT:  Language ID: 1033
     90 // CHECK-NEXT:  Version (major): 0
     91 // CHECK-NEXT:  Version (minor): 0
     92 // CHECK-NEXT:  Characteristics: 0
     93 // CHECK-NEXT:  Data size: 808
     94 // CHECK-NEXT:  Data: (
     95 // CHECK-NEXT:    0000: 28000000 10000000 10000000 01001800  |(...............|
     96 // CHECK-NEXT:    0010: 00000000 00030000 C40E0000 C40E0000  |................|
     97 // (...)
     98 // CHECK-DAG:     0310: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF  |................|
     99 // CHECK-NEXT:    0320: FFFFFFFF FFFFFFFF                    |........|
    100 // CHECK-NEXT:  )
    101 
    102 // CHECK-DAG:  Resource type (int): 4
    103 // CHECK-NEXT:  Resource name (int): 14432
    104 // CHECK-NEXT:  Data version: 0
    105 // CHECK-NEXT:  Memory flags: 0x1030
    106 // CHECK-NEXT:  Language ID: 2052
    107 // CHECK-NEXT:  Version (major): 0
    108 // CHECK-NEXT:  Version (minor): 0
    109 // CHECK-NEXT:  Characteristics: 0
    110 // CHECK-NEXT:  Data size: 46
    111 // CHECK-NEXT:  Data: (
    112 // CHECK-NEXT:    0000: 00000000 00006400 79007500 00000000  |......d.y.u.....|
    113 // CHECK-NEXT:    0010: 65007300 68006100 6C006100 00008000  |e.s.h.a.l.a.....|
    114 // CHECK-NEXT:    0020: 66006B00 61006F00 79006100 0000      |f.k.a.o.y.a...|
    115 // CHECK-NEXT:  )
    116 
    117 // CHECK-DAG:  Resource type (int): 5
    118 // CHECK-NEXT:  Resource name (string): TESTDIALOG
    119 // CHECK-NEXT:  Data version: 0
    120 // CHECK-NEXT:  Memory flags: 0x1030
    121 // CHECK-NEXT:  Language ID: 1033
    122 // CHECK-NEXT:  Version (major): 0
    123 // CHECK-NEXT:  Version (minor): 0
    124 // CHECK-NEXT:  Characteristics: 0
    125 // CHECK-NEXT:  Data size: 108
    126 // CHECK-NEXT:  Data: (
    127 // CHECK-NEXT:    0000: 0000C080 00000000 02000A00 0A00C800  |................|
    128 // CHECK-NEXT:    0010: 2C010000 00005400 65007300 74000000  |,.....T.e.s.t...|
    129 // CHECK-NEXT:    0020: 01000250 00000000 0A000A00 E6000E00  |...P............|
    130 // CHECK-NEXT:    0030: 0100FFFF 82004300 6F006E00 74006900  |......C.o.n.t.i.|
    131 // CHECK-NEXT:    0040: 6E007500 65003A00 00000000 00000150  |n.u.e.:........P|
    132 // CHECK-NEXT:    0050: 00000000 42008600 A1000D00 0200FFFF  |....B...........|
    133 // CHECK-NEXT:    0060: 80002600 4F004B00 00000000           |..&.O.K.....|
    134 // CHECK-NEXT:  )
    135 
    136 // CHECK-DAG:  Resource type (int): 9
    137 // CHECK-NEXT:  Resource name (int): 12
    138 // CHECK-NEXT:  Data version: 0
    139 // CHECK-NEXT:  Memory flags: 0x30
    140 // CHECK-NEXT:  Language ID: 1033
    141 // CHECK-NEXT:  Version (major): 0
    142 // CHECK-NEXT:  Version (minor): 0
    143 // CHECK-NEXT:  Characteristics: 0
    144 // CHECK-NEXT:  Data size: 24
    145 // CHECK-NEXT:  Data: (
    146 // CHECK-NEXT:    0000: 11005800 A4000000 0D004800 2E160000  |..X.......H.....|
    147 // CHECK-NEXT:    0010: 82001200 BC010000                    |........|
    148 // CHECK-NEXT:  )
    149 
    150 // CHECK-DAG:  Resource type (int): 4
    151 // CHECK-NEXT:  Resource name (string): "EAT"
    152 // CHECK-NEXT:  Data version: 0
    153 // CHECK-NEXT:  Memory flags: 0x1030
    154 // CHECK-NEXT:  Language ID: 3081
    155 // CHECK-NEXT:  Version (major): 0
    156 // CHECK-NEXT:  Version (minor): 0
    157 // CHECK-NEXT:  Characteristics: 0
    158 // CHECK-NEXT:  Data size: 48
    159 // CHECK-NEXT:  Data: (
    160 // CHECK-NEXT:    0000: 00000000 00006400 66006900 73006800  |......d.f.i.s.h.|
    161 // CHECK-NEXT:    0010: 00000000 65007300 61006C00 61006400  |....e.s.a.l.a.d.|
    162 // CHECK-NEXT:    0020: 00008000 66006400 75006300 6B000000  |....f.d.u.c.k...|
    163 // CHECK-NEXT:  )
    164