62 lines · plain
1## Show that the --disassemble-symbols switch takes demangled names when2## --demangle is specified, otherwise the switch takes mangled names.3 4# RUN: yaml2obj %s -o %t.o5 6## --disassemble-symbols without --demangle.7# RUN: llvm-objdump --disassemble-symbols=_Z3foov %t.o | FileCheck %s --check-prefix=MANGLED8# RUN: llvm-objdump --disassemble-symbols='foo()' %t.o 2>&1 \9# RUN: | FileCheck %s --check-prefix=MANGLED-MISS10# RUN: llvm-objdump --disassemble-symbols=foo %t.o 2>&1 \11# RUN: | FileCheck %s --check-prefix=MANGLED-MISS12# RUN: llvm-objdump --disassemble-symbols='i,f' %t.o | FileCheck %s --check-prefix=NOMANGLE13 14## --disassemble-symbols with --demangle.15# RUN: llvm-objdump -C --disassemble-symbols='foo()' %t.o | FileCheck %s --check-prefix=DEMANGLED16# RUN: llvm-objdump -C --disassemble-symbols='_Z3foov' %t.o 2>&1 \17# RUN: | FileCheck %s --check-prefix=DEMANGLED-MISS18# RUN: llvm-objdump -C --disassemble-symbols='i,f' %t.o | FileCheck %s --check-prefix=NOMANGLE19# RUN: llvm-objdump -C --disassemble-symbols='std::allocator<wchar_t>::allocator()' %t.o 2>&1 \20# RUN: | FileCheck %s --check-prefix=DEMANGLED-MULTI21 22# MANGLED: <_Z3foov>:23# MANGLED-MISS: warning: '{{.*}}': failed to disassemble missing symbol foo24 25# DEMANGLED: <foo()>:26# DEMANGLED-MISS: warning: '{{.*}}': failed to disassemble missing symbol _Z3foov27 28# NOMANGLE: <i>:29# NOMANGLE: <f>:30 31# DEMANGLED-MULTI: <std::allocator<wchar_t>::allocator()>:32# DEMANGLED-MULTI: <std::allocator<wchar_t>::allocator()>:33 34--- !ELF35FileHeader:36 Class: ELFCLASS6437 Data: ELFDATA2LSB38 Type: ET_EXEC39 Machine: EM_X86_6440Sections:41 - Name: .text42 Type: SHT_PROGBITS43 Flags: [SHF_ALLOC, SHF_EXECINSTR]44 Address: 0x100045 Content: 909090909046Symbols:47 - Name: _Z3foov48 Value: 0x100049 Section: .text50 - Name: i51 Value: 0x100152 Section: .text53 - Name: f54 Value: 0x100255 Section: .text56 - Name: _ZNSaIwEC1Ev57 Value: 0x100358 Section: .text59 - Name: _ZNSaIwEC2Ev60 Value: 0x100461 Section: .text62