blob: 12cc8e57e0bd8b6dd6ab2244099851ee739a6631 [file] [log] [blame]
# RUN: llvm-mc %s -filetype=obj -triple=i386 -o %t.32.o
# RUN: llvm-mc %s -filetype=obj -triple=x86_64 -o %t.64.o
## Check we print the address of `foo` and `bar`.
# RUN: llvm-objdump -D %t.32.o | FileCheck --check-prefixes=ADDR32,ADDR %s --match-full-lines --strict-whitespace
# RUN: llvm-objdump -D %t.64.o | FileCheck --check-prefixes=ADDR64,ADDR %s --match-full-lines --strict-whitespace
# ADDR32:00000000 <foo>:
# ADDR64:0000000000000000 <foo>:
# ADDR-NEXT: 0: 90{{ +}} nop
# ADDR-NEXT: 1: 90{{ +}} nop
#ADDR-EMPTY:
# ADDR32:00000002 <bar>:
# ADDR64:0000000000000002 <bar>:
# ADDR-NEXT: 2: 90{{ +}} nop
# ADDR:Disassembly of section .data:
#ADDR-EMPTY:
# ADDR32:00000000 <.data>:
# ADDR64:0000000000000000 <.data>:
# ADDR-NEXT: 0: 01 00{{ +}} addl %eax, (%{{[er]}}ax)
#ADDR-EMPTY:
## Check we do not print the addresses with --no-leading-addr.
# RUN: llvm-objdump -d --no-leading-addr %t.32.o > %t.32.txt
# RUN: llvm-objdump -d --no-leading-addr %t.64.o > %t.64.txt
# RUN: FileCheck --input-file=%t.32.txt %s --check-prefix=NOADDR --match-full-lines --strict-whitespace
# RUN: FileCheck --input-file=%t.64.txt %s --check-prefix=NOADDR --match-full-lines --strict-whitespace
# RUN: llvm-objdump -d --no-addresses %t.32.o | diff %t.32.txt -
# RUN: llvm-objdump -d --no-addresses %t.64.o | diff %t.64.txt -
# NOADDR:<foo>:
# NOADDR-NEXT: 90{{ +}} nop
# NOADDR-NEXT: 90{{ +}} nop
#NOADDR-EMPTY:
# NOADDR:<bar>:
# NOADDR-NEXT: 90{{ +}} nop
.text
.globl foo
.type foo, @function
foo:
nop
nop
bar:
nop
.data
.word 1