summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools/llvm-objdump/X86/adjust-vma.test
blob: 61eadaffa7e0c0612378641a66a01ae86d7883cf (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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# RUN: yaml2obj %s > %t
# RUN: llvm-objdump --all-headers -D -z %t | FileCheck %s --check-prefixes=COMMON,NOADJUST
# RUN: llvm-objdump --all-headers -D -z --adjust-vma=0x0 %t | FileCheck %s --check-prefixes=COMMON,NOADJUST
# RUN: llvm-objdump --all-headers -D -z --adjust-vma=0x123000 %t | FileCheck %s --check-prefixes=COMMON,ADJUST

# NOADJUST:      Sections:
# NOADJUST-NEXT: Idx Name           Size     VMA              Type
# NOADJUST-NEXT:  0                 00000000 0000000000000000
# NOADJUST-NEXT:  1 .text           00000002 0000000000000000 TEXT
# NOADJUST-NEXT:  2 .debug_str      00000004 0000000000000000
# NOADJUST-NEXT:  3 .rela.debug_str 00000018 0000000000000000
# NOADJUST-NEXT:  4 .data           00000004 0000000000000000 DATA
# NOADJUST-NEXT:  5 .rela.data      00000018 0000000000000000
# NOADJUST-NEXT:  6 .symtab         00000060 0000000000000000
# NOADJUST-NEXT:  7 .strtab         00000010 0000000000000000
# NOADJUST-NEXT:  8 .shstrtab       0000003c 0000000000000000

# ADJUST:        Sections:
# ADJUST-NEXT:   Idx Name           Size     VMA              Type
# ADJUST-NEXT:    0                 00000000 0000000000000000
# ADJUST-NEXT:    1 .text           00000002 0000000000123000 TEXT
# ADJUST-NEXT:    2 .debug_str      00000004 0000000000000000
# ADJUST-NEXT:    3 .rela.debug_str 00000018 0000000000000000
# ADJUST-NEXT:    4 .data           00000004 0000000000123000 DATA
# ADJUST-NEXT:    5 .rela.data      00000018 0000000000000000
# ADJUST-NEXT:    6 .symtab         00000060 0000000000000000
# ADJUST-NEXT:    7 .strtab         00000010 0000000000000000
# ADJUST-NEXT:    8 .shstrtab       0000003c 0000000000000000

# COMMON:      SYMBOL TABLE:
# COMMON-NEXT:  0000000000000001  l F .text 00000000 func
# COMMON-NEXT:  0000000000000000      .text 00000000 sym
# COMMON-NEXT:  0000000000000000  l d .text 00000000 .text

# NOADJUST:      0000000000000000 sym:
# NOADJUST-NEXT:   0: {{.*}}  nop
# NOADJUST:      0000000000000001 func:
# NOADJUST-NEXT:   1: {{.*}}  retq

# ADJUST:        0000000000123000 sym:
# ADJUST-NEXT:     123000: {{.*}} nop
# ADJUST:        0000000000123001 func:
# ADJUST-NEXT:     123001: {{.*}} retq

# NOADJUST:      0000000000000000 .debug_str:
# NOADJUST-NEXT:   0: {{.*}}  %al, (%rax)
# NOADJUST-NEXT:      0000000000000001:  R_X86_64_32  .text
# NOADJUST-NEXT:   2: {{.*}}  addb    %al, (%rax)

# ADJUST:        0000000000000000 .debug_str:
# ADJUST-NEXT:     0: {{.*}}  %al, (%rax)
# ADJUST-NEXT:        0000000000123001:  R_X86_64_32  .text
# ADJUST-NEXT:     2: {{.*}}  addb    %al, (%rax)

# COMMON:        0000000000000000    .rela.debug_str:
# COMMON-NEXT:     0: {{.*}}  addl %eax, (%rax)
## ... There are more lines here. We do not care.

# NOADJUST:      0000000000000000  .data:
# NOADJUST-NEXT:  0: {{.*}} addb    %al, (%rax)
# NOADJUST-NEXT: 0000000000000000: R_X86_64_32  .text
# NOADJUST-NEXT:  2: {{.*}} addb    %al, (%rax)

# ADJUST:        0000000000123000  .data:
# ADJUST-NEXT:    123000: {{.*}}  addb    %al, (%rax)
# ADJUST-NEXT:   0000000000123000: R_X86_64_32  .text
# ADJUST-NEXT:    123002: {{.*}}  addb    %al, (%rax)

# COMMON:        0000000000000000   .rela.data:
# COMMON-NEXT:    0: {{.*}} addb %al, (%rax)
## ... There are more lines here. We do not care.

--- !ELF
FileHeader:      
  Class:           ELFCLASS64
  Data:            ELFDATA2LSB
  Type:            ET_REL
  Machine:         EM_X86_64
Sections:        
  - Name:            .text
    Type:            SHT_PROGBITS
    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
    AddressAlign:    0x0000000000000004
    Content:         90C3
  - Name:            .debug_str
    Type:            SHT_PROGBITS
    Flags:           [ SHF_MERGE, SHF_STRINGS ]
    AddressAlign:    0x0000000000000001
    Content:         '00000000'
  - Name:            .rela.debug_str
    Type:            SHT_RELA
    Link:            .symtab
    AddressAlign:    0x0000000000000008
    Info:            .debug_str
    Relocations:     
      - Offset:          0x0000000000000001
        Symbol:          .text
        Type:            R_X86_64_32
  - Name:            .data
    Type:            SHT_PROGBITS
    Flags:           [ SHF_WRITE, SHF_ALLOC ]
    AddressAlign:    0x0000000000000001
    Content:         '00000000'
  - Name:            .rela.data
    Type:            SHT_RELA
    Link:            .symtab
    AddressAlign:    0x0000000000000008
    Info:            .data
    Relocations:     
      - Offset:      0x0000000000000000
        Symbol:      .text
        Type:        R_X86_64_32
Symbols:
  - Name:            func
    Type:            STT_FUNC
    Section:         .text
    Value:           0x0000000000000001
  - Name:            sym
    Section:         .text
  - Name:            .text
    Type:            STT_SECTION
    Section:         .text
OpenPOWER on IntegriCloud