1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -triple x86_64-pc-win32 -filetype=obj %s | llvm-readobj -sections -section-symbols | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker .text 4*9880d681SAndroid Build Coastguard Worker .def weak_func; 5*9880d681SAndroid Build Coastguard Worker .scl 2; 6*9880d681SAndroid Build Coastguard Worker .type 32; 7*9880d681SAndroid Build Coastguard Worker .endef 8*9880d681SAndroid Build Coastguard Worker .section .text,"xr",discard,weak_func 9*9880d681SAndroid Build Coastguard Worker .globl weak_func 10*9880d681SAndroid Build Coastguard Worker .align 16, 0x90 11*9880d681SAndroid Build Coastguard Workerweak_func: # @weak_func 12*9880d681SAndroid Build Coastguard Worker.Ltmp0: 13*9880d681SAndroid Build Coastguard Worker.seh_proc weak_func 14*9880d681SAndroid Build Coastguard Worker# BB#0: # %entry 15*9880d681SAndroid Build Coastguard Worker pushq %rbp 16*9880d681SAndroid Build Coastguard Worker.Ltmp1: 17*9880d681SAndroid Build Coastguard Worker .seh_pushreg 5 18*9880d681SAndroid Build Coastguard Worker movq %rsp, %rbp 19*9880d681SAndroid Build Coastguard Worker.Ltmp2: 20*9880d681SAndroid Build Coastguard Worker .seh_setframe 5, 0 21*9880d681SAndroid Build Coastguard Worker.Ltmp3: 22*9880d681SAndroid Build Coastguard Worker .seh_endprologue 23*9880d681SAndroid Build Coastguard Worker xorl %eax, %eax 24*9880d681SAndroid Build Coastguard Worker popq %rbp 25*9880d681SAndroid Build Coastguard Worker retq 26*9880d681SAndroid Build Coastguard Worker.Leh_func_end0: 27*9880d681SAndroid Build Coastguard Worker.Ltmp4: 28*9880d681SAndroid Build Coastguard Worker .seh_endproc 29*9880d681SAndroid Build Coastguard Worker 30*9880d681SAndroid Build Coastguard Worker// CHECK: Sections [ 31*9880d681SAndroid Build Coastguard Worker// CHECK: Section { 32*9880d681SAndroid Build Coastguard Worker// CHECK: Name: .text 33*9880d681SAndroid Build Coastguard Worker// CHECK: } 34*9880d681SAndroid Build Coastguard Worker// CHECK: Section { 35*9880d681SAndroid Build Coastguard Worker// CHECK: Name: .data 36*9880d681SAndroid Build Coastguard Worker// CHECK: } 37*9880d681SAndroid Build Coastguard Worker// CHECK: Section { 38*9880d681SAndroid Build Coastguard Worker// CHECK: Name: .bss 39*9880d681SAndroid Build Coastguard Worker// CHECK: } 40*9880d681SAndroid Build Coastguard Worker// CHECK: Section { 41*9880d681SAndroid Build Coastguard Worker// CHECK: Number: [[TEXT_SECNUM:[0-9]+]] 42*9880d681SAndroid Build Coastguard Worker// CHECK: Name: .text 43*9880d681SAndroid Build Coastguard Worker// CHECK: Characteristics [ 44*9880d681SAndroid Build Coastguard Worker// CHECK: IMAGE_SCN_LNK_COMDAT 45*9880d681SAndroid Build Coastguard Worker// CHECK: ] 46*9880d681SAndroid Build Coastguard Worker// CHECK: } 47*9880d681SAndroid Build Coastguard Worker// CHECK: Section { 48*9880d681SAndroid Build Coastguard Worker// CHECK: Number: [[XDATA_SECNUM:[0-9]+]] 49*9880d681SAndroid Build Coastguard Worker// CHECK: Name: .xdata 50*9880d681SAndroid Build Coastguard Worker// CHECK: Characteristics [ 51*9880d681SAndroid Build Coastguard Worker// CHECK: IMAGE_SCN_LNK_COMDAT 52*9880d681SAndroid Build Coastguard Worker// CHECK: ] 53*9880d681SAndroid Build Coastguard Worker// CHECK: Symbols [ 54*9880d681SAndroid Build Coastguard Worker// CHECK: Symbol { 55*9880d681SAndroid Build Coastguard Worker// CHECK: Name: .xdata 56*9880d681SAndroid Build Coastguard Worker// CHECK: Section: .xdata ([[XDATA_SECNUM]]) 57*9880d681SAndroid Build Coastguard Worker// CHECK: StorageClass: Static (0x3) 58*9880d681SAndroid Build Coastguard Worker// CHECK: AuxSymbolCount: 1 59*9880d681SAndroid Build Coastguard Worker// CHECK: AuxSectionDef { 60*9880d681SAndroid Build Coastguard Worker// CHECK: Selection: Associative (0x5) 61*9880d681SAndroid Build Coastguard Worker// CHECK: AssocSection: .text ([[TEXT_SECNUM]]) 62*9880d681SAndroid Build Coastguard Worker// CHECK: } 63*9880d681SAndroid Build Coastguard Worker// CHECK: } 64*9880d681SAndroid Build Coastguard Worker// CHECK: ] 65*9880d681SAndroid Build Coastguard Worker// CHECK: } 66*9880d681SAndroid Build Coastguard Worker// CHECK: Section { 67*9880d681SAndroid Build Coastguard Worker// CHECK: Number: [[PDATA_SECNUM:[0-9]+]] 68*9880d681SAndroid Build Coastguard Worker// CHECK: Name: .pdata 69*9880d681SAndroid Build Coastguard Worker// CHECK: Characteristics [ 70*9880d681SAndroid Build Coastguard Worker// CHECK: IMAGE_SCN_LNK_COMDAT 71*9880d681SAndroid Build Coastguard Worker// CHECK: ] 72*9880d681SAndroid Build Coastguard Worker// CHECK: Symbols [ 73*9880d681SAndroid Build Coastguard Worker// CHECK: Symbol { 74*9880d681SAndroid Build Coastguard Worker// CHECK: Name: .pdata 75*9880d681SAndroid Build Coastguard Worker// CHECK: Section: .pdata ([[PDATA_SECNUM]]) 76*9880d681SAndroid Build Coastguard Worker// CHECK: StorageClass: Static (0x3) 77*9880d681SAndroid Build Coastguard Worker// CHECK: AuxSymbolCount: 1 78*9880d681SAndroid Build Coastguard Worker// CHECK: AuxSectionDef { 79*9880d681SAndroid Build Coastguard Worker// CHECK: Selection: Associative (0x5) 80*9880d681SAndroid Build Coastguard Worker// CHECK: AssocSection: .text ([[TEXT_SECNUM]]) 81*9880d681SAndroid Build Coastguard Worker// CHECK: } 82*9880d681SAndroid Build Coastguard Worker// CHECK: } 83*9880d681SAndroid Build Coastguard Worker// CHECK: ] 84*9880d681SAndroid Build Coastguard Worker// CHECK: } 85*9880d681SAndroid Build Coastguard Worker// CHECK: ] 86