File: disassemble-zeroes-relocations.test

package info (click to toggle)
llvm-toolchain-19 1%3A19.1.7-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,998,520 kB
  • sloc: cpp: 6,951,680; ansic: 1,486,157; asm: 913,598; python: 232,024; f90: 80,126; objc: 75,281; lisp: 37,276; pascal: 16,990; sh: 10,009; ml: 5,058; perl: 4,724; awk: 3,523; makefile: 3,167; javascript: 2,504; xml: 892; fortran: 664; cs: 573
file content (79 lines) | stat: -rw-r--r-- 2,964 bytes parent folder | download | duplicates (8)
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
# RUN: llvm-mc -filetype=obj -triple=x86_64 %s -o %t

## Check we do not skip zeroes blocks if have relocations pointed to these places.
# RUN: llvm-objdump -D --reloc -j .rodata %t | FileCheck %s
# RUN: llvm-objdump -D --reloc -j .rodata --disassemble-symbols=rodata3 %t | FileCheck %s --check-prefix=CHECK2

# CHECK:      0000000000000000 <rodata1>:
# CHECK-NEXT:        0:       00 00   addb    %al, (%rax)
# CHECK-NEXT:                 0000000000000000:  R_X86_64_64  x0
# CHECK-NEXT:        2:       00 00   addb    %al, (%rax)
# CHECK-NEXT:        4:       00 00   addb    %al, (%rax)
# CHECK-NEXT:        6:       00 00   addb    %al, (%rax)
# CHECK-NEXT:        8:       00 00   addb    %al, (%rax)
# CHECK-NEXT:                 0000000000000008:  R_X86_64_64  x1
# CHECK-NEXT:                 ...
# CHECK-NEXT:       16:       00 00   addb    %al, (%rax)
# CHECK-NEXT:       18:       00 00   addb    %al, (%rax)
# CHECK-NEXT:                 0000000000000018:  R_X86_64_64  x2
# CHECK-NEXT:       1a:       00 00   addb    %al, (%rax)
# CHECK-NEXT:       1c:       00 00   addb    %al, (%rax)
# CHECK-NEXT:       1e:       00 00   addb    %al, (%rax)
# CHECK-EMPTY:
# CHECK-NEXT: 000000000000001f <rodata2>:
# CHECK-NEXT:                 ...
# CHECK-EMPTY:
# CHECK-NEXT: 0000000000000037 <rodata3>:
# CHECK-NEXT:                 ...
# CHECK-NEXT:       3f:       00 00   addb    %al, (%rax)
# CHECK-NEXT:                 000000000000003f:  R_X86_64_64  x3
# CHECK-NEXT:       41:       00 00   addb    %al, (%rax)
# CHECK-NEXT:       43:       00 00   addb    %al, (%rax)
# CHECK-NEXT:       45:       00 00   addb    %al, (%rax)

# CHECK2:      Disassembly of section .rodata:
# CHECK2-EMPTY:
# CHECK2-NEXT: 0000000000000037 <rodata3>:
# CHECK2-NEXT:                 ...
# CHECK2-NEXT:      3f:       00 00   addb    %al, (%rax)
# CHECK2-NEXT:                000000000000003f:  R_X86_64_64  x3
# CHECK2-NEXT:      41:       00 00   addb    %al, (%rax)
# CHECK2-NEXT:      43:       00 00   addb    %al, (%rax)
# CHECK2-NEXT:      45:       00 00   addb    %al, (%rax)
# CHECK2-NOT:  {{.}}

## Check that without -reloc all zeroes would be omitted.
# RUN: llvm-objdump -D %t | FileCheck %s --check-prefix=SKIP

# SKIP:       Disassembly of section .rodata:
# SKIP-EMPTY:
# SKIP-NEXT:  0000000000000000 <rodata1>:
# SKIP-NEXT:                  ...
# SKIP-NEXT:        1c:       00 00   addb    %al, (%rax)
# SKIP-NEXT:        1e:       00 00   addb    %al, (%rax)
# SKIP-EMPTY:
# SKIP-NEXT:  000000000000001f <rodata2>:
# SKIP-NEXT:                  ...
# SKIP-EMPTY:
# SKIP-NEXT:  0000000000000037 <rodata3>:
# SKIP-NEXT:                  ...
# SKIP-EMPTY:
# SKIP-NEXT:  Disassembly of section .rela.rodata:

.rodata
.globl rodata1, rodata2
rodata1:
  .reloc ., BFD_RELOC_64, x0
  .space 8
  .reloc ., BFD_RELOC_64, x1
  .space 16
  .reloc ., BFD_RELOC_64, x2
  .space 7

rodata2:
  .space 24

rodata3:
  .space 8
  .reloc ., BFD_RELOC_64, x3
  .space 8