Home | History | Annotate | Download | only in ELF
      1 // RUN: llvm-mc -filetype=obj -triple x86_64-pc-windows-elf %s -o - | llvm-readobj -r -t | FileCheck %s
      2 
      3 // Verify that MSVC C++ mangled symbols are not affected by the ELF
      4 // GNU-style symbol versioning. The ELF format is used on Windows by
      5 // 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 0x0
     16 // CHECK-NEXT:      0x4 R_X86_64_32 @??_R0?AVinvalid_argument@std@@@8 0x0
     17 // CHECK-NEXT:      0x8 R_X86_64_32 __imp_??_R0?AVlogic_error@std@@@8 0x0
     18 // CHECK-NEXT:      0xC R_X86_64_32 __imp_@??_R0PAVexception@std@@@8 0x0
     19 // CHECK-NEXT:    }
     20 // CHECK-NEXT:  ]
     21 
     22 // CHECK:       Symbols [
     23 // CHECK:         Symbol {
     24 // CHECK:           Name: ??_R0?AVexception@std@@@8
     25 // CHECK-NEXT:      Value: 0x0
     26 // CHECK-NEXT:      Size: 0
     27 // CHECK-NEXT:      Binding: Global (0x1)
     28 // CHECK-NEXT:      Type: None (0x0)
     29 // CHECK-NEXT:      Other: 0
     30 // CHECK-NEXT:      Section: Undefined (0x0)
     31 // CHECK-NEXT:    }
     32 // CHECK-NEXT:    Symbol {
     33 // CHECK-NEXT:      Name: @??_R0?AVinvalid_argument@std@@@8
     34 // CHECK-NEXT:      Value: 0x0
     35 // CHECK-NEXT:      Size: 0
     36 // CHECK-NEXT:      Binding: Global (0x1)
     37 // CHECK-NEXT:      Type: None (0x0)
     38 // CHECK-NEXT:      Other: 0
     39 // CHECK-NEXT:      Section: Undefined (0x0)
     40 // CHECK-NEXT:    }
     41 // CHECK-NEXT:    Symbol {
     42 // CHECK-NEXT:      Name: __imp_??_R0?AVlogic_error@std@@@8
     43 // CHECK-NEXT:      Value: 0x0
     44 // CHECK-NEXT:      Size: 0
     45 // CHECK-NEXT:      Binding: Global (0x1)
     46 // CHECK-NEXT:      Type: None (0x0)
     47 // CHECK-NEXT:      Other: 0
     48 // CHECK-NEXT:      Section: Undefined (0x0)
     49 // CHECK-NEXT:    }
     50 // CHECK-NEXT:    Symbol {
     51 // CHECK-NEXT:      Name: __imp_@??_R0PAVexception@std@@@8
     52 // CHECK-NEXT:      Value: 0x0
     53 // CHECK-NEXT:      Size: 0
     54 // CHECK-NEXT:      Binding: Global (0x1)
     55 // CHECK-NEXT:      Type: None (0x0)
     56 // CHECK-NEXT:      Other: 0
     57 // CHECK-NEXT:      Section: Undefined (0x0)
     58 // CHECK-NEXT:    }
     59 // CHECK-NEXT:  ]
     60