dis-symname.test 1.12 KB
# RUN: llvm-objdump --macho -d %p/Inputs/exeThread.macho-x86_64 --dis-symname start --no-show-raw-insn --full-leading-addr --print-imm-hex | FileCheck %s

# CHECK: (__TEXT,__text) section
# CHECK: start:
# CHECK: 0000000100000d00	pushq	$0x0
# CHECK: 0000000100000d02	movq	%rsp, %rbp
# CHECK: 0000000100000d05	andq	$-0x10, %rsp
# CHECK: 0000000100000d09	movq	0x8(%rbp), %rdi
# CHECK: 0000000100000d0d	leaq	0x10(%rbp), %rsi
# CHECK: 0000000100000d11	movl	%edi, %edx
# CHECK: 0000000100000d13	addl	$0x1, %edx
# CHECK: 0000000100000d16	shll	$0x3, %edx
# CHECK: 0000000100000d19	addq	%rsi, %rdx
# CHECK: 0000000100000d1c	callq	__start
# CHECK: 0000000100000d21	hlt

# CHECK-NOT: __start:
# CHECK-NOT: 0000000100000d22
# CHECK-NOT: _main:

# not RUN: llvm-objdump --macho -d %p/Inputs/exeThread.macho-x86_64 --dis-symname _environ 2>&1 | FileCheck --check-prefix BAD-SYMAME-1 %s
BAD-SYMAME-1: -dis-symname: _environ not in the section

# not RUN: llvm-objdump --macho -d %p/Inputs/exeThread.macho-x86_64 --dis-symname __mh_execute_header 2>&1 | FileCheck --check-prefix BAD-SYMAME-2 %s
BAD-SYMAME-2: -dis-symname: __mh_execute_header not in any section