aboutsummaryrefslogtreecommitdiff
path: root/test/elf/ARM/thm-symbols.test
blob: c91505c98100df11d182f8f15e6d4ad8d6fc103a (plain) (blame)
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# Check that symbols formed from Thumb instructions are valid:
# 1. Symbol address.
# 2. Symbol content size.
# 3. Symbol content.

# RUN: yaml2obj -format=elf %s > %t-t.o
# RUN: lld -flavor gnu -target arm-linux-gnu \
# RUN: -Bstatic --noinhibit-exec %t-t.o -o %t-t
# RUN: llvm-readobj -symbols %t-t | FileCheck -check-prefix=SYM-ADDR %s
# RUN: llvm-readobj -symbols %t-t | FileCheck -check-prefix=SYM-SIZE %s
# RUN: llvm-objdump -s -t %t-t | FileCheck -check-prefix=SYM-CONTENT %s

# SYM-ADDR:   Name: main (1)
# SYM-ADDR-NEXT:   Value: 0x400075

# SYM-SIZE:   Name: main (1)
# SYM-SIZE-NEXT:   Value: 0x{{[0-9a-f]+}}
# SYM-SIZE-NEXT:   Size: 16

# SYM-CONTENT: Contents of section .text:
# SYM-CONTENT-NEXT: 400074 80b400af 00231846 bd465df8 047b7047  .....#.F.F]..{pG

---
FileHeader:
  Class:           ELFCLASS32
  Data:            ELFDATA2LSB
  Type:            ET_REL
  Machine:         EM_ARM
  Flags:           [ EF_ARM_EABI_VER5 ]
Sections:
  - Name:            .text
    Type:            SHT_PROGBITS
    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
    AddressAlign:    0x0000000000000004
    Content:         80B400AF00231846BD465DF8047B7047
  - Name:            .data
    Type:            SHT_PROGBITS
    Flags:           [ SHF_WRITE, SHF_ALLOC ]
    AddressAlign:    0x0000000000000001
    Content:         ''
  - Name:            .bss
    Type:            SHT_NOBITS
    Flags:           [ SHF_WRITE, SHF_ALLOC ]
    AddressAlign:    0x0000000000000001
    Content:         ''
Symbols:
  Global:
    - Name:            main
      Type:            STT_FUNC
      Section:         .text
      Value:           0x0000000000000001
...