35 lines · plain
1## This test verifies that llvm-objdump correctly prints function starts data.2 3## Note: we read input from stdin instead of from a file, because llvm-objdump prints4## the filename in its output. If the filename contains the string "_main", then the5## check will incorrectly get triggered. 6 7RUN: llvm-objdump --macho --function-starts - < %p/Inputs/hello.exe.macho-i386 | FileCheck %s --check-prefix=32-BIT --implicit-check-not=_main8RUN: llvm-objdump --macho --function-starts=addrs - < %p/Inputs/hello.exe.macho-i386 | FileCheck %s --check-prefix=32-BIT --implicit-check-not=_main932-BIT: 00001f4010 11RUN: llvm-objdump --macho --function-starts=names - < %p/Inputs/hello.exe.macho-i386 | FileCheck %s --check-prefix=32-BIT-NAMES1232-BIT-NAMES: {{^}}_main13 14RUN: llvm-objdump --macho --function-starts=both - < %p/Inputs/hello.exe.macho-i386 | FileCheck %s --check-prefix=32-BIT-BOTH1532-BIT-BOTH: 00001f40 _main16 17RUN: llvm-objdump --macho --function-starts - < %p/Inputs/hello.exe.macho-x86_64 | FileCheck %s --check-prefix=64-BIT --implicit-check-not=_main18RUN: llvm-objdump --macho --function-starts=addrs - < %p/Inputs/hello.exe.macho-x86_64 | FileCheck %s --check-prefix=64-BIT --implicit-check-not=_main1964-BIT: 0000000100000f3020 21RUN: llvm-objdump --macho --function-starts=names - < %p/Inputs/hello.exe.macho-x86_64 | FileCheck %s --check-prefix=64-BIT-NAMES2264-BIT-NAMES: {{^}}_main23 24RUN: llvm-objdump --macho --function-starts=both - < %p/Inputs/hello.exe.macho-x86_64 | FileCheck %s --check-prefix=64-BIT-BOTH2564-BIT-BOTH: 0000000100000f30 _main26 27RUN: llvm-strip %p/Inputs/hello.exe.macho-x86_64 -o %t.stripped28RUN: llvm-objdump --macho --function-starts=both - < %t.stripped | FileCheck %s --check-prefix=BOTH-STRIPPED29BOTH-STRIPPED: 0000000100000f30 ?30 31RUN: llvm-strip %p/Inputs/hello.exe.macho-x86_64 -o %t.stripped32RUN: llvm-objdump --macho --function-starts=names - < %t.stripped | FileCheck %s --check-prefix=NAMES-STRIPPED33NAMES-STRIPPED: -:34NAMES-STRIPPED-EMPTY:35