summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools/llvm-objdump/disasm-zeroes-relocations.test
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/tools/llvm-objdump/disasm-zeroes-relocations.test')
-rw-r--r--llvm/test/tools/llvm-objdump/disasm-zeroes-relocations.test52
1 files changed, 52 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-objdump/disasm-zeroes-relocations.test b/llvm/test/tools/llvm-objdump/disasm-zeroes-relocations.test
new file mode 100644
index 00000000000..7bdc7fd7f34
--- /dev/null
+++ b/llvm/test/tools/llvm-objdump/disasm-zeroes-relocations.test
@@ -0,0 +1,52 @@
+# RUN: yaml2obj %s > %t
+
+## Check we do not skip zeroes blocks if have relocations pointed to these places.
+# RUN: llvm-objdump -D -reloc %t
+
+# CHECK: Disassembly of section .rodata:
+# CHECK-NEXT: 0000000000000000 .rodata:
+# CHECK-NEXT: 0: 00 00 addb %al, (%rax)
+# CHECK-NEXT: 0000000000000000: R_X86_64_64 *ABS*
+# 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 *ABS*
+# CHECK-NEXT: a: 00 00 addb %al, (%rax)
+# CHECK-NEXT: c: 00 00 addb %al, (%rax)
+# CHECK-NEXT: e: 00 00 addb %al, (%rax)
+
+## 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-NEXT: 0000000000000000 .rodata:
+# SKIP-NEXT: ...
+# SKIP-NEXT: Disassembly of section .rela.rodata:
+
+--- !ELF
+FileHeader:
+ Class: ELFCLASS64
+ Data: ELFDATA2LSB
+ Type: ET_REL
+ Machine: EM_X86_64
+Sections:
+ - Name: .rodata
+ Type: SHT_PROGBITS
+ Flags: [ SHF_ALLOC ]
+ AddressAlign: 0x0000000000000001
+ Content: '00000000000000000000000000000000'
+ - Name: .rela.rodata
+ Type: SHT_RELA
+ Flags: [ SHF_INFO_LINK ]
+ Link: .symtab
+ AddressAlign: 0x0000000000000008
+ EntSize: 0x0000000000000018
+ Info: .rodata
+ Relocations:
+ - Offset: 0x0000000000000000
+ Symbol: x
+ Type: R_X86_64_64
+ - Offset: 0x0000000000000008
+ Symbol: x
+ Type: R_X86_64_64
OpenPOWER on IntegriCloud