60 lines · plain
1// RUN: llvm-mc -filetype=obj -triple x86_64-pc-windows-elf %s -o - | llvm-readobj -r --symbols - | FileCheck %s2 3// Verify that MSVC C++ mangled symbols are not affected by the ELF4// GNU-style symbol versioning. The ELF format is used on Windows by5// the MCJIT execution engine.6 7 .long "??_R0?AVexception@std@@@8"8 .long "@??_R0?AVinvalid_argument@std@@@8"9 .long "__imp_??_R0?AVlogic_error@std@@@8"10 .long "__imp_@??_R0PAVexception@std@@@8"11 12 13// CHECK: Relocations [14// CHECK-NEXT: Section {{.*}} .rela.text {15// CHECK-NEXT: 0x0 R_X86_64_32 ??_R0?AVexception@std@@@8 0x016// CHECK-NEXT: 0x4 R_X86_64_32 @??_R0?AVinvalid_argument@std@@@8 0x017// CHECK-NEXT: 0x8 R_X86_64_32 __imp_??_R0?AVlogic_error@std@@@8 0x018// CHECK-NEXT: 0xC R_X86_64_32 __imp_@??_R0PAVexception@std@@@8 0x019// CHECK-NEXT: }20// CHECK-NEXT: ]21 22// CHECK: Symbols [23// CHECK: Symbol {24// CHECK: Name: ??_R0?AVexception@std@@@825// CHECK-NEXT: Value: 0x026// CHECK-NEXT: Size: 027// CHECK-NEXT: Binding: Global (0x1)28// CHECK-NEXT: Type: None (0x0)29// CHECK-NEXT: Other: 030// CHECK-NEXT: Section: Undefined (0x0)31// CHECK-NEXT: }32// CHECK-NEXT: Symbol {33// CHECK-NEXT: Name: @??_R0?AVinvalid_argument@std@@@834// CHECK-NEXT: Value: 0x035// CHECK-NEXT: Size: 036// CHECK-NEXT: Binding: Global (0x1)37// CHECK-NEXT: Type: None (0x0)38// CHECK-NEXT: Other: 039// CHECK-NEXT: Section: Undefined (0x0)40// CHECK-NEXT: }41// CHECK-NEXT: Symbol {42// CHECK-NEXT: Name: __imp_??_R0?AVlogic_error@std@@@843// CHECK-NEXT: Value: 0x044// CHECK-NEXT: Size: 045// CHECK-NEXT: Binding: Global (0x1)46// CHECK-NEXT: Type: None (0x0)47// CHECK-NEXT: Other: 048// CHECK-NEXT: Section: Undefined (0x0)49// CHECK-NEXT: }50// CHECK-NEXT: Symbol {51// CHECK-NEXT: Name: __imp_@??_R0PAVexception@std@@@852// CHECK-NEXT: Value: 0x053// CHECK-NEXT: Size: 054// CHECK-NEXT: Binding: Global (0x1)55// CHECK-NEXT: Type: None (0x0)56// CHECK-NEXT: Other: 057// CHECK-NEXT: Section: Undefined (0x0)58// CHECK-NEXT: }59// CHECK-NEXT: ]60