brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.1 KiB · c046a50 Raw
80 lines · plain
1// RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown %s -o %t2// RUN: llvm-objdump -d %t | FileCheck %s --check-prefix=NODISASM3 4// The exact rules of skipping the bytes you can find in the code.5// This test checks that we follow these rules and can force6// dissasembly of zero blocks with the -z and --disassemble-zeroes options.7 8// NODISASM:       0000000000000000 <main>:9// NODISASM-NEXT:   0:  00 00               addb %al, (%rax)10// NODISASM-NEXT:   2:  00 00               addb %al, (%rax)11// NODISASM-NEXT:   4:  00 00               addb %al, (%rax)12// NODISASM-NEXT:   6:  00 90 00 00 00 00   addb %dl, (%rax)13// NODISASM-NEXT:       ...14// NODISASM-NEXT:   20: 90                  nop15// NODISASM-NEXT:       ...16// NODISASM:      0000000000000031 <foo>:17// NODISASM-NEXT:   31: 00 00               addb %al, (%rax)18// NODISASM-NEXT:   33: 00 00               addb %al, (%rax)19// NODISASM:      0000000000000035 <bar>:20// NODISASM-NEXT:       ...21 22// Check that with -z we disassemble blocks of zeroes.23// RUN: llvm-objdump -d -z %t | FileCheck %s --check-prefix=DISASM24 25// DISASM:      0000000000000000 <main>:26// DISASM-NEXT:   0: 00 00              addb %al, (%rax)27// DISASM-NEXT:   2: 00 00              addb %al, (%rax)28// DISASM-NEXT:   4: 00 00              addb %al, (%rax)29// DISASM-NEXT:   6: 00 90 00 00 00 00  addb %dl, (%rax)30// DISASM-NEXT:   c: 00 00              addb %al, (%rax)31// DISASM-NEXT:   e: 00 00              addb %al, (%rax)32// DISASM-NEXT:  10: 00 00              addb %al, (%rax)33// DISASM-NEXT:  12: 00 00              addb %al, (%rax)34// DISASM-NEXT:  14: 00 00              addb %al, (%rax)35// DISASM-NEXT:  16: 00 00              addb %al, (%rax)36// DISASM-NEXT:  18: 00 00              addb %al, (%rax)37// DISASM-NEXT:  1a: 00 00              addb %al, (%rax)38// DISASM-NEXT:  1c: 00 00              addb %al, (%rax)39// DISASM-NEXT:  1e: 00 00              addb %al, (%rax)40// DISASM-NEXT:  20: 90                 nop41// DISASM-NEXT:  21: 00 00              addb %al, (%rax)42// DISASM-NEXT:  23: 00 00              addb %al, (%rax)43// DISASM-NEXT:  25: 00 00              addb %al, (%rax)44// DISASM-NEXT:  27: 00 00              addb %al, (%rax)45// DISASM-NEXT:  29: 00 00              addb %al, (%rax)46// DISASM-NEXT:  2b: 00 00              addb %al, (%rax)47// DISASM-NEXT:  2d: 00 00              addb %al, (%rax)48// DISASM-NEXT:  2f: 00 00              addb %al, (%rax)49// DISASM:      0000000000000031 <foo>:50// DISASM-NEXT:  31: 00 00              addb %al, (%rax)51// DISASM-NEXT:  33: 00 00              addb %al, (%rax)52// DISASM:      0000000000000035 <bar>:53// DISASM-NEXT:  35: 00 00              addb %al, (%rax)54// DISASM-NEXT:  37: 00 00              addb %al, (%rax)55// DISASM-NEXT:  39: 00 00              addb %al, (%rax)56// DISASM-NEXT:  3b: 00 00              addb %al, (%rax)57 58// Check that --disassemble-zeroes work as alias for -z.59// RUN: llvm-objdump -d --disassemble-zeroes %t | FileCheck %s --check-prefix=DISASM60 61.text62.globl main63.type main, @function64main:65 .long 066 .byte 067 .byte 068 .byte 069 nop70 .quad 071 .quad 072 .quad 073 nop74 .quad 075 .quad 076foo:77 .long 078bar:79 .quad 080