aboutsummaryrefslogtreecommitdiff
path: root/llvm/test/tools/llvm-objcopy/COFF/string-table.test
blob: aef710b6941278657ab28c396e62d85a6efe3a23 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
## Show that section names appear before symbol names in the COFF strtab.
## These names are only added to the strtab if they exceed 8 characters.

# RUN: yaml2obj %s -o %t
# RUN: touch %t.sec
# RUN: llvm-objcopy --add-section=.debug_str=%t.sec %t %t1
# RUN: llvm-readobj --string-table %t1 | FileCheck %s

# CHECK:      StringTable {
# CHECK-NEXT:   Length: 37
# CHECK-NEXT:   [     4] .debug_str
# CHECK-NEXT:   [     f] symbol_zzz
# CHECK-NEXT:   [    1a] symbol_aaa
# CHECK-NEXT: }

--- !COFF
header:
  Machine:         IMAGE_FILE_MACHINE_AMD64
sections:
  - Name:            .text
    Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
symbols:
  - Name:            symbol_aaa
    Value:           0
    SectionNumber:   1
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_FUNCTION
    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
  - Name:            symbol_zzz
    Value:           0
    SectionNumber:   1
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_FUNCTION
    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL