1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o %t 2*9880d681SAndroid Build Coastguard Worker// RUN: llvm-readobj -t %t | FileCheck --check-prefix=SYMBOLS %s 3*9880d681SAndroid Build Coastguard Worker// RUN: llvm-nm %t | FileCheck --check-prefix=NM %s 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Worker// Test that symbol a has a section that could be confused with common (0xFFF2) 6*9880d681SAndroid Build Coastguard Worker// SYMBOLS: Name: a 7*9880d681SAndroid Build Coastguard Worker// SYMBOLS-NEXT: Value: 0x0 8*9880d681SAndroid Build Coastguard Worker// SYMBOLS-NEXT: Size: 0 9*9880d681SAndroid Build Coastguard Worker// SYMBOLS-NEXT: Binding: Local (0x0) 10*9880d681SAndroid Build Coastguard Worker// SYMBOLS-NEXT: Type: None (0x0) 11*9880d681SAndroid Build Coastguard Worker// SYMBOLS-NEXT: Other: 0 12*9880d681SAndroid Build Coastguard Worker// SYMBOLS-NEXT: Section: bar (0xFFF2) 13*9880d681SAndroid Build Coastguard Worker// SYMBOLS-NEXT: } 14*9880d681SAndroid Build Coastguard Worker 15*9880d681SAndroid Build Coastguard Worker// Test that we don't get confused 16*9880d681SAndroid Build Coastguard Worker// NM: 0000000000000000 r a 17*9880d681SAndroid Build Coastguard Worker 18*9880d681SAndroid Build Coastguard Worker.macro gen_sections4 x 19*9880d681SAndroid Build Coastguard Worker .section a\x 20*9880d681SAndroid Build Coastguard Worker .section b\x 21*9880d681SAndroid Build Coastguard Worker .section c\x 22*9880d681SAndroid Build Coastguard Worker .section d\x 23*9880d681SAndroid Build Coastguard Worker.endm 24*9880d681SAndroid Build Coastguard Worker 25*9880d681SAndroid Build Coastguard Worker.macro gen_sections8 x 26*9880d681SAndroid Build Coastguard Worker gen_sections4 a\x 27*9880d681SAndroid Build Coastguard Worker gen_sections4 b\x 28*9880d681SAndroid Build Coastguard Worker.endm 29*9880d681SAndroid Build Coastguard Worker 30*9880d681SAndroid Build Coastguard Worker.macro gen_sections16 x 31*9880d681SAndroid Build Coastguard Worker gen_sections8 a\x 32*9880d681SAndroid Build Coastguard Worker gen_sections8 b\x 33*9880d681SAndroid Build Coastguard Worker.endm 34*9880d681SAndroid Build Coastguard Worker 35*9880d681SAndroid Build Coastguard Worker.macro gen_sections32 x 36*9880d681SAndroid Build Coastguard Worker gen_sections16 a\x 37*9880d681SAndroid Build Coastguard Worker gen_sections16 b\x 38*9880d681SAndroid Build Coastguard Worker.endm 39*9880d681SAndroid Build Coastguard Worker 40*9880d681SAndroid Build Coastguard Worker.macro gen_sections64 x 41*9880d681SAndroid Build Coastguard Worker gen_sections32 a\x 42*9880d681SAndroid Build Coastguard Worker gen_sections32 b\x 43*9880d681SAndroid Build Coastguard Worker.endm 44*9880d681SAndroid Build Coastguard Worker 45*9880d681SAndroid Build Coastguard Worker.macro gen_sections128 x 46*9880d681SAndroid Build Coastguard Worker gen_sections64 a\x 47*9880d681SAndroid Build Coastguard Worker gen_sections64 b\x 48*9880d681SAndroid Build Coastguard Worker.endm 49*9880d681SAndroid Build Coastguard Worker 50*9880d681SAndroid Build Coastguard Worker.macro gen_sections256 x 51*9880d681SAndroid Build Coastguard Worker gen_sections128 a\x 52*9880d681SAndroid Build Coastguard Worker gen_sections128 b\x 53*9880d681SAndroid Build Coastguard Worker.endm 54*9880d681SAndroid Build Coastguard Worker 55*9880d681SAndroid Build Coastguard Worker.macro gen_sections512 x 56*9880d681SAndroid Build Coastguard Worker gen_sections256 a\x 57*9880d681SAndroid Build Coastguard Worker gen_sections256 b\x 58*9880d681SAndroid Build Coastguard Worker.endm 59*9880d681SAndroid Build Coastguard Worker 60*9880d681SAndroid Build Coastguard Worker.macro gen_sections1024 x 61*9880d681SAndroid Build Coastguard Worker gen_sections512 a\x 62*9880d681SAndroid Build Coastguard Worker gen_sections512 b\x 63*9880d681SAndroid Build Coastguard Worker.endm 64*9880d681SAndroid Build Coastguard Worker 65*9880d681SAndroid Build Coastguard Worker.macro gen_sections2048 x 66*9880d681SAndroid Build Coastguard Worker gen_sections1024 a\x 67*9880d681SAndroid Build Coastguard Worker gen_sections1024 b\x 68*9880d681SAndroid Build Coastguard Worker.endm 69*9880d681SAndroid Build Coastguard Worker 70*9880d681SAndroid Build Coastguard Worker.macro gen_sections4096 x 71*9880d681SAndroid Build Coastguard Worker gen_sections2048 a\x 72*9880d681SAndroid Build Coastguard Worker gen_sections2048 b\x 73*9880d681SAndroid Build Coastguard Worker.endm 74*9880d681SAndroid Build Coastguard Worker 75*9880d681SAndroid Build Coastguard Worker.macro gen_sections8192 x 76*9880d681SAndroid Build Coastguard Worker gen_sections4096 a\x 77*9880d681SAndroid Build Coastguard Worker gen_sections4096 b\x 78*9880d681SAndroid Build Coastguard Worker.endm 79*9880d681SAndroid Build Coastguard Worker 80*9880d681SAndroid Build Coastguard Worker.macro gen_sections16384 x 81*9880d681SAndroid Build Coastguard Worker gen_sections8192 a\x 82*9880d681SAndroid Build Coastguard Worker gen_sections8192 b\x 83*9880d681SAndroid Build Coastguard Worker.endm 84*9880d681SAndroid Build Coastguard Worker 85*9880d681SAndroid Build Coastguard Worker.macro gen_sections32768 x 86*9880d681SAndroid Build Coastguard Worker gen_sections16384 a\x 87*9880d681SAndroid Build Coastguard Worker gen_sections16384 b\x 88*9880d681SAndroid Build Coastguard Worker.endm 89*9880d681SAndroid Build Coastguard Worker 90*9880d681SAndroid Build Coastguard Workergen_sections32768 a 91*9880d681SAndroid Build Coastguard Workergen_sections16384 b 92*9880d681SAndroid Build Coastguard Workergen_sections8192 c 93*9880d681SAndroid Build Coastguard Workergen_sections4096 d 94*9880d681SAndroid Build Coastguard Workergen_sections2048 e 95*9880d681SAndroid Build Coastguard Workergen_sections1024 f 96*9880d681SAndroid Build Coastguard Workergen_sections512 g 97*9880d681SAndroid Build Coastguard Workergen_sections256 h 98*9880d681SAndroid Build Coastguard Workergen_sections128 i 99*9880d681SAndroid Build Coastguard Workergen_sections64 j 100*9880d681SAndroid Build Coastguard Workergen_sections32 k 101*9880d681SAndroid Build Coastguard Workergen_sections8 l 102*9880d681SAndroid Build Coastguard Workergen_sections4 m 103*9880d681SAndroid Build Coastguard Worker 104*9880d681SAndroid Build Coastguard Worker .section foo 105*9880d681SAndroid Build Coastguard Worker .section foo2 106*9880d681SAndroid Build Coastguard Worker .section foo3 107*9880d681SAndroid Build Coastguard Worker .section bar, "a" 108*9880d681SAndroid Build Coastguard Worker 109*9880d681SAndroid Build Coastguard Workera: 110