1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00
llvm-mirror/test/tools/llvm-cvtres/object.test
Martin Storsjo 5e8195f9a7 [COFF] Add a ResourceSectionRef method for getting resource contents
This allows llvm-readobj to print the contents of each resource
when printing resources from an object file or executable, like it
already does for plain .res files.

This requires providing the whole COFFObjectFile to ResourceSectionRef.

This supports both object files and executables. For executables,
the DataRVA field is used as is to look up the right section.

For object files, ideally we would need to complete linking of them
and fix up all relocations to know what the DataRVA field would end up
being. In practice, the only thing that makes sense for an RVA field
is an ADDR32NB relocation. Thus, find a relocation pointing at this
field, verify that it has the expected type, locate the symbol it
points at, look up the section the symbol points at, and read from the
right offset in that section.

This works both for GNU windres object files (which use one single
.rsrc section, with all relocations against the base of the .rsrc
section, with the original value of the DataRVA field being the
offset of the data from the beginning of the .rsrc section) and
cvtres object files (with two separate .rsrc$01 and .rsrc$02 sections,
and one symbol per data entry, with the original pre-relocated DataRVA
field being set to zero).

Differential Revision: https://reviews.llvm.org/D66820

llvm-svn: 370433
2019-08-30 06:55:49 +00:00

325 lines
16 KiB
Plaintext

// Check COFF emission of cvtres
// The input was generated with the following command, using the original Windows
// rc.exe:
// > rc /fo test_resource.res /nologo test_resource.rc
// The object file we are comparing against was generated with this command using
// the original Windows cvtres.exe.
// > cvtres /machine:X86 /readonly /nologo /out:test_resource.obj.coff \
// test_resource.res
RUN: llvm-cvtres /verbose /out:%t %p/Inputs/test_resource.res
RUN: llvm-readobj --coff-resources --section-data %t | FileCheck %s
CHECK: Resources [
CHECK-NEXT: Total Number of Resources: 8
CHECK-DAG: Number of String Entries: 1
CHECK-NEXT: Number of ID Entries: 4
CHECK-NEXT: Type: STRINGARRAY [
CHECK-NEXT: Table Offset: 0x38
CHECK-NEXT: Number of String Entries: 1
CHECK-NEXT: Number of ID Entries: 0
CHECK-NEXT: Name: MYRESOURCE [
CHECK-NEXT: Table Offset: 0xC8
CHECK-NEXT: Number of String Entries: 0
CHECK-NEXT: Number of ID Entries: 1
CHECK-NEXT: Language: (ID 1033) [
CHECK-NEXT: Entry Offset: 0x188
CHECK-NEXT: Time/Date Stamp: 1970-01-01 00:00:00 (0x0)
CHECK-NEXT: Major Version: 0
CHECK-NEXT: Minor Version: 0
CHECK-NEXT: Characteristics: 0
CHECK-NEXT: Data [
CHECK-NEXT: DataRVA: 0x0
CHECK-NEXT: DataSize: 57
CHECK-NEXT: Codepage: 0
CHECK-NEXT: Reserved: 0
CHECK-NEXT: Data (
CHECK: )
CHECK-NEXT: ]
CHECK-NEXT: ]
CHECK-NEXT: ]
CHECK-NEXT: ]
CHECK-NEXT: Type: BITMAP (ID 2) [
CHECK-NEXT: Table Offset: 0x50
CHECK-NEXT: Number of String Entries: 2
CHECK-NEXT: Number of ID Entries: 0
CHECK-NEXT: Name: CURSOR [
CHECK-NEXT: Table Offset: 0xE0
CHECK-NEXT: Number of String Entries: 0
CHECK-NEXT: Number of ID Entries: 1
CHECK-NEXT: Language: (ID 1033) [
CHECK-NEXT: Entry Offset: 0x198
CHECK-NEXT: Time/Date Stamp: 1970-01-01 00:00:00 (0x0)
CHECK-NEXT: Major Version: 0
CHECK-NEXT: Minor Version: 0
CHECK-NEXT: Characteristics: 0
CHECK-NEXT: Data [
CHECK-NEXT: DataRVA: 0x0
CHECK-NEXT: DataSize: 808
CHECK-NEXT: Codepage: 0
CHECK-NEXT: Reserved: 0
CHECK-NEXT: Data (
CHECK: )
CHECK-NEXT: ]
CHECK-NEXT: ]
CHECK-NEXT: ]
CHECK-NEXT: Name: OKAY [
CHECK-NEXT: Table Offset: 0xF8
CHECK-NEXT: Number of String Entries: 0
CHECK-NEXT: Number of ID Entries: 1
CHECK-NEXT: Language: (ID 1033) [
CHECK-NEXT: Entry Offset: 0x1A8
CHECK-NEXT: Time/Date Stamp: 1970-01-01 00:00:00 (0x0)
CHECK-NEXT: Major Version: 0
CHECK-NEXT: Minor Version: 0
CHECK-NEXT: Characteristics: 0
CHECK-NEXT: Data [
CHECK-NEXT: DataRVA: 0x0
CHECK-NEXT: DataSize: 808
CHECK-NEXT: Codepage: 0
CHECK-NEXT: Reserved: 0
CHECK-NEXT: Data (
CHECK: )
CHECK-NEXT: ]
CHECK-NEXT: ]
CHECK-NEXT: ]
CHECK-NEXT: ]
CHECK-NEXT: Type: MENU (ID 4) [
CHECK-NEXT: Table Offset: 0x70
CHECK-NEXT: Number of String Entries: 1
CHECK-NEXT: Number of ID Entries: 1
CHECK-NEXT: Name: "EAT" [
CHECK-NEXT: Table Offset: 0x110
CHECK-NEXT: Number of String Entries: 0
CHECK-NEXT: Number of ID Entries: 1
CHECK-NEXT: Language: (ID 3081) [
CHECK-NEXT: Entry Offset: 0x1B8
CHECK-NEXT: Time/Date Stamp: 1970-01-01 00:00:00 (0x0)
CHECK-NEXT: Major Version: 0
CHECK-NEXT: Minor Version: 0
CHECK-NEXT: Characteristics: 0
CHECK-NEXT: Data [
CHECK-NEXT: DataRVA: 0x0
CHECK-NEXT: DataSize: 48
CHECK-NEXT: Codepage: 0
CHECK-NEXT: Reserved: 0
CHECK-NEXT: Data (
CHECK: )
CHECK-NEXT: ]
CHECK-NEXT: ]
CHECK-NEXT: ]
CHECK-NEXT: Name: (ID 14432) [
CHECK-NEXT: Table Offset: 0x128
CHECK-NEXT: Number of String Entries: 0
CHECK-NEXT: Number of ID Entries: 1
CHECK-NEXT: Language: (ID 2052) [
CHECK-NEXT: Entry Offset: 0x1C8
CHECK-NEXT: Time/Date Stamp: 1970-01-01 00:00:00 (0x0)
CHECK-NEXT: Major Version: 0
CHECK-NEXT: Minor Version: 0
CHECK-NEXT: Characteristics: 0
CHECK-NEXT: Data [
CHECK-NEXT: DataRVA: 0x0
CHECK-NEXT: DataSize: 46
CHECK-NEXT: Codepage: 0
CHECK-NEXT: Reserved: 0
CHECK-NEXT: Data (
CHECK: )
CHECK-NEXT: ]
CHECK-NEXT: ]
CHECK-NEXT: ]
CHECK-NEXT: ]
CHECK-NEXT: Type: DIALOG (ID 5) [
CHECK-NEXT: Table Offset: 0x90
CHECK-NEXT: Number of String Entries: 1
CHECK-NEXT: Number of ID Entries: 0
CHECK-NEXT: Name: TESTDIALOG [
CHECK-NEXT: Table Offset: 0x140
CHECK-NEXT: Number of String Entries: 0
CHECK-NEXT: Number of ID Entries: 1
CHECK-NEXT: Language: (ID 1033) [
CHECK-NEXT: Entry Offset: 0x1D8
CHECK-NEXT: Time/Date Stamp: 1970-01-01 00:00:00 (0x0)
CHECK-NEXT: Major Version: 0
CHECK-NEXT: Minor Version: 0
CHECK-NEXT: Characteristics: 0
CHECK-NEXT: Data [
CHECK-NEXT: DataRVA: 0x0
CHECK-NEXT: DataSize: 108
CHECK-NEXT: Codepage: 0
CHECK-NEXT: Reserved: 0
CHECK-NEXT: Data (
CHECK: )
CHECK-NEXT: ]
CHECK-NEXT: ]
CHECK-NEXT: ]
CHECK-NEXT: ]
CHECK-NEXT: Type: ACCELERATOR (ID 9) [
CHECK-NEXT: Table Offset: 0xA8
CHECK-NEXT: Number of String Entries: 1
CHECK-NEXT: Number of ID Entries: 1
CHECK-NEXT: Name: MYACCELERATORS [
CHECK-NEXT: Table Offset: 0x158
CHECK-NEXT: Number of String Entries: 0
CHECK-NEXT: Number of ID Entries: 1
CHECK-NEXT: Language: (ID 1033) [
CHECK-NEXT: Entry Offset: 0x1E8
CHECK-NEXT: Time/Date Stamp: 1970-01-01 00:00:00 (0x0)
CHECK-NEXT: Major Version: 0
CHECK-NEXT: Minor Version: 0
CHECK-NEXT: Characteristics: 0
CHECK-NEXT: Data [
CHECK-NEXT: DataRVA: 0x0
CHECK-NEXT: DataSize: 24
CHECK-NEXT: Codepage: 0
CHECK-NEXT: Reserved: 0
CHECK-NEXT: Data (
CHECK: )
CHECK-NEXT: ]
CHECK-NEXT: ]
CHECK-NEXT: ]
CHECK-NEXT: Name: (ID 12) [
CHECK-NEXT: Table Offset: 0x170
CHECK-NEXT: Number of String Entries: 0
CHECK-NEXT: Number of ID Entries: 1
CHECK-NEXT: Language: (ID 1033) [
CHECK-NEXT: Entry Offset: 0x1F8
CHECK-NEXT: Time/Date Stamp: 1970-01-01 00:00:00 (0x0)
CHECK-NEXT: Major Version: 0
CHECK-NEXT: Minor Version: 0
CHECK-NEXT: Characteristics: 0
CHECK-NEXT: Data [
CHECK-NEXT: DataRVA: 0x0
CHECK-NEXT: DataSize: 24
CHECK-NEXT: Codepage: 0
CHECK-NEXT: Reserved: 0
CHECK-NEXT: Data (
CHECK: )
CHECK-NEXT: ]
CHECK-NEXT: ]
CHECK-NEXT: ]
CHECK-NEXT: ]
CHECK-DAG: .rsrc$02 Data (
CHECK-NEXT: 0000: 11000300 E7030000 0D004400 4C040000 |..........D.L...|
CHECK-NEXT: 0010: 82001200 BC010000 28000000 10000000 |........(.......|
CHECK-NEXT: 0020: 10000000 01001800 00000000 00030000 |................|
CHECK-NEXT: 0030: C40E0000 C40E0000 00000000 00000000 |................|
CHECK-NEXT: 0040: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 0050: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 0060: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 0070: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 0080: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 0090: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 00A0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 00B0: FFFFFFFF FF7F7F7F 7C7C7C78 78787575 |........|||xxxuu|
CHECK-NEXT: 00C0: 75FFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |u...............|
CHECK-NEXT: 00D0: FFFFFFFF FFFFFFFF FFFFFFFF 979797FF |................|
CHECK-NEXT: 00E0: FFFFFFFF FF838383 AAAAAADB DBDB7979 |..............yy|
CHECK-NEXT: 00F0: 79757575 FFFFFFFF FFFFFFFF FFFFFFFF |yuuu............|
CHECK-NEXT: 0100: FFFFFFFF FFFFFFFF FFFFFFFF 9C9C9C98 |................|
CHECK-NEXT: 0110: 9898FFFF FF888888 DBDBDBB7 B7B77D7D |..............}}|
CHECK-NEXT: 0120: 7DFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |}...............|
CHECK-NEXT: 0130: FFFFFFFF FFFFFFFF FFFFFFFF A0A0A09C |................|
CHECK-NEXT: 0140: 9C9C9393 93ADADAD F2F2F284 84848181 |................|
CHECK-NEXT: 0150: 81FFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 0160: FFFFFFFF FFFFFFFF FFFFFFFF A4A4A4D7 |................|
CHECK-NEXT: 0170: D7D79D9D 9DD0D0D0 EEEEEE91 91918D8D |................|
CHECK-NEXT: 0180: 8DFFFFFF FFFFFF81 81817E7E 7EFFFFFF |..........~~~...|
CHECK-NEXT: 0190: FFFFFFFF FFFFFFFF FFFFFFFF A9A9A9F2 |................|
CHECK-NEXT: 01A0: F2F2E5E5 E5E2E2E2 95959591 91918D8D |................|
CHECK-NEXT: 01B0: 8D898989 868686FF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 01C0: FFFFFFFF FFFFFFFF FFFFFFFF ADADADF2 |................|
CHECK-NEXT: 01D0: F2F2E1E1 E1DFDFDF E7E7E7E4 E4E4BBBB |................|
CHECK-NEXT: 01E0: BB8E8E8E FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 01F0: FFFFFFFF FFFFFFFF FFFFFFFF B5B5B5F2 |................|
CHECK-NEXT: 0200: F2F2E8E8 E8E7E7E7 EAEAEAC6 C6C69E9E |................|
CHECK-NEXT: 0210: 9EFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 0220: FFFFFFFF FFFFFFFF FFFFFFFF B9B9B9F4 |................|
CHECK-NEXT: 0230: F4F4ECEC ECEDEDED CBCBCBA7 A7A7FFFF |................|
CHECK-NEXT: 0240: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 0250: FFFFFFFF FFFFFFFF FFFFFFFF BDBDBDF7 |................|
CHECK-NEXT: 0260: F7F7EFEF EFD0D0D0 AFAFAFFF FFFFFFFF |................|
CHECK-NEXT: 0270: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 0280: FFFFFFFF FFFFFFFF FFFFFFFF C1C1C1F7 |................|
CHECK-NEXT: 0290: F7F7D5D5 D5B6B6B6 FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 02A0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 02B0: FFFFFFFF FFFFFFFF FFFFFFFF C4C4C4D9 |................|
CHECK-NEXT: 02C0: D9D9BEBE BEFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 02D0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 02E0: FFFFFFFF FFFFFFFF FFFFFFFF C8C8C8C5 |................|
CHECK-NEXT: 02F0: C5C5FFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 0300: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 0310: FFFFFFFF FFFFFFFF FFFFFFFF CBCBCBFF |................|
CHECK-NEXT: 0320: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 0330: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 0340: 28000000 10000000 10000000 01001800 |(...............|
CHECK-NEXT: 0350: 00000000 00030000 C40E0000 C40E0000 |................|
CHECK-NEXT: 0360: 00000000 00000000 FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 0370: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 0380: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 0390: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 03A0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 03B0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 03C0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 03D0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 03E0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 03F0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 0400: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 0410: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 0420: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 0430: FFFFFFFF A0E3A901 B31801B3 1801B318 |................|
CHECK-NEXT: 0440: 01B31801 B31801B3 1861D06F FFFFFFFF |.........a.o....|
CHECK-NEXT: 0450: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 0460: FFFFFFFF 01B31800 D7331CDB 49DBF9E2 |.........3..I...|
CHECK-NEXT: 0470: 9BEFAF00 D73300D7 3301B318 FFFFFFFF |.....3..3.......|
CHECK-NEXT: 0480: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 0490: FFFFFFFF 01B31800 DE55F6FE F9DBFAE7 |.........U......|
CHECK-NEXT: 04A0: FEFFFE86 EFAE00DE 5501B318 FFFFFFFF |........U.......|
CHECK-NEXT: 04B0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 04C0: FFFFFFFF 01B31800 E676DBFB EC00E676 |.........v.....v|
CHECK-NEXT: 04D0: 57EFA5FB FFFD55EE A401B318 FFFFFFFF |W.....U.........|
CHECK-NEXT: 04E0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 04F0: FFFFFFFF 01B31800 ED9800ED 9800ED98 |................|
CHECK-NEXT: 0500: 00ED9887 F7CFFEFF FF01B318 FFFFFFFF |................|
CHECK-NEXT: 0510: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 0520: FFFFFFFF 01B31800 F4BA00F4 BA00F4BA |................|
CHECK-NEXT: 0530: 00F4BA00 F4BA9CFB E401B318 FFFFFFFF |................|
CHECK-NEXT: 0540: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 0550: FFFFFFFF 01B31800 FBDB00FB DB00FBDB |................|
CHECK-NEXT: 0560: 00FBDB00 FBDB00FB DB01B318 FFFFFFFF |................|
CHECK-NEXT: 0570: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 0580: FFFFFFFF 9FE2A801 B31801B3 1801B318 |................|
CHECK-NEXT: 0590: 01B31801 B31801B3 1861D06F FFFFFFFF |.........a.o....|
CHECK-NEXT: 05A0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 05B0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 05C0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 05D0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 05E0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 05F0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 0600: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 0610: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 0620: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 0630: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 0640: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 0650: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
CHECK-NEXT: 0660: FFFFFFFF FFFFFFFF 00000000 00006400 |..............d.|
CHECK-NEXT: 0670: 79007500 00000000 65007300 68006100 |y.u.....e.s.h.a.|
CHECK-NEXT: 0680: 6C006100 00008000 66006B00 61006F00 |l.a.....f.k.a.o.|
CHECK-NEXT: 0690: 79006100 00000000 0000C080 00000000 |y.a.............|
CHECK-NEXT: 06A0: 02000A00 0A00C800 2C010000 00005400 |........,.....T.|
CHECK-NEXT: 06B0: 65007300 74000000 01000250 00000000 |e.s.t......P....|
CHECK-NEXT: 06C0: 0A000A00 E6000E00 0100FFFF 82004300 |..............C.|
CHECK-NEXT: 06D0: 6F006E00 74006900 6E007500 65003A00 |o.n.t.i.n.u.e.:.|
CHECK-NEXT: 06E0: 00000000 00000150 00000000 42008600 |.......P....B...|
CHECK-NEXT: 06F0: A1000D00 0200FFFF 80002600 4F004B00 |..........&.O.K.|
CHECK-NEXT: 0700: 00000000 00000000 11005800 A4000000 |..........X.....|
CHECK-NEXT: 0710: 0D004800 2E160000 82001200 BC010000 |..H.............|
CHECK-NEXT: 0720: 00000000 00006400 66006900 73006800 |......d.f.i.s.h.|
CHECK-NEXT: 0730: 00000000 65007300 61006C00 61006400 |....e.s.a.l.a.d.|
CHECK-NEXT: 0740: 00008000 66006400 75006300 6B000000 |....f.d.u.c.k...|
CHECK-NEXT: 0750: 74686973 20697320 61207573 65722064 |this is a user d|
CHECK-NEXT: 0760: 6566696E 65642072 65736F75 72636500 |efined resource.|
CHECK-NEXT: 0770: 69742063 6F6E7461 696E7320 6D616E79 |it contains many|
CHECK-NEXT: 0780: 20737472 696E6773 00000000 00000000 | strings........|
CHECK-NEXT: )