xref: /llvm-project/llvm/test/tools/llvm-objdump/X86/disassemble-zeroes-relocations.test (revision 644e6d7d8be29b170d3fabe8e388ae5478b4adcf)
1# RUN: llvm-mc -filetype=obj -triple=x86_64 %s -o %t
2
3## Check we do not skip zeroes blocks if have relocations pointed to these places.
4# RUN: llvm-objdump -D --reloc -j .rodata %t | FileCheck %s
5# RUN: llvm-objdump -D --reloc -j .rodata --disassemble-symbols=rodata3 %t | FileCheck %s --check-prefix=CHECK2
6
7# CHECK:      0000000000000000 <rodata1>:
8# CHECK-NEXT:        0:       00 00   addb    %al, (%rax)
9# CHECK-NEXT:                 0000000000000000:  R_X86_64_64  x0
10# CHECK-NEXT:        2:       00 00   addb    %al, (%rax)
11# CHECK-NEXT:        4:       00 00   addb    %al, (%rax)
12# CHECK-NEXT:        6:       00 00   addb    %al, (%rax)
13# CHECK-NEXT:        8:       00 00   addb    %al, (%rax)
14# CHECK-NEXT:                 0000000000000008:  R_X86_64_64  x1
15# CHECK-NEXT:                 ...
16# CHECK-NEXT:       16:       00 00   addb    %al, (%rax)
17# CHECK-NEXT:       18:       00 00   addb    %al, (%rax)
18# CHECK-NEXT:                 0000000000000018:  R_X86_64_64  x2
19# CHECK-NEXT:       1a:       00 00   addb    %al, (%rax)
20# CHECK-NEXT:       1c:       00 00   addb    %al, (%rax)
21# CHECK-NEXT:       1e:       00 00   addb    %al, (%rax)
22# CHECK-EMPTY:
23# CHECK-NEXT: 000000000000001f <rodata2>:
24# CHECK-NEXT:                 ...
25# CHECK-EMPTY:
26# CHECK-NEXT: 0000000000000037 <rodata3>:
27# CHECK-NEXT:                 ...
28# CHECK-NEXT:       3f:       00 00   addb    %al, (%rax)
29# CHECK-NEXT:                 000000000000003f:  R_X86_64_64  x3
30# CHECK-NEXT:       41:       00 00   addb    %al, (%rax)
31# CHECK-NEXT:       43:       00 00   addb    %al, (%rax)
32# CHECK-NEXT:       45:       00 00   addb    %al, (%rax)
33
34# CHECK2:      Disassembly of section .rodata:
35# CHECK2-EMPTY:
36# CHECK2-NEXT: 0000000000000037 <rodata3>:
37# CHECK2-NEXT:                 ...
38# CHECK2-NEXT:      3f:       00 00   addb    %al, (%rax)
39# CHECK2-NEXT:                000000000000003f:  R_X86_64_64  x3
40# CHECK2-NEXT:      41:       00 00   addb    %al, (%rax)
41# CHECK2-NEXT:      43:       00 00   addb    %al, (%rax)
42# CHECK2-NEXT:      45:       00 00   addb    %al, (%rax)
43# CHECK2-NOT:  {{.}}
44
45## Check that without -reloc all zeroes would be omitted.
46# RUN: llvm-objdump -D %t | FileCheck %s --check-prefix=SKIP
47
48# SKIP:       Disassembly of section .rodata:
49# SKIP-EMPTY:
50# SKIP-NEXT:  0000000000000000 <rodata1>:
51# SKIP-NEXT:                  ...
52# SKIP-NEXT:        1c:       00 00   addb    %al, (%rax)
53# SKIP-NEXT:        1e:       00 00   addb    %al, (%rax)
54# SKIP-EMPTY:
55# SKIP-NEXT:  000000000000001f <rodata2>:
56# SKIP-NEXT:                  ...
57# SKIP-EMPTY:
58# SKIP-NEXT:  0000000000000037 <rodata3>:
59# SKIP-NEXT:                  ...
60# SKIP-EMPTY:
61# SKIP-NEXT:  Disassembly of section .rela.rodata:
62
63.rodata
64.globl rodata1, rodata2
65rodata1:
66  .reloc ., BFD_RELOC_64, x0
67  .space 8
68  .reloc ., BFD_RELOC_64, x1
69  .space 16
70  .reloc ., BFD_RELOC_64, x2
71  .space 7
72
73rodata2:
74  .space 24
75
76rodata3:
77  .space 8
78  .reloc ., BFD_RELOC_64, x3
79  .space 8
80