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 -s %t | FileCheck --check-prefix=SECTIONS %s 3*9880d681SAndroid Build Coastguard Worker// RUN: llvm-readobj -t %t | FileCheck --check-prefix=SYMBOLS %s 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Worker// Test that we don't create a .symtab_shndx since we are one section short of 6*9880d681SAndroid Build Coastguard Worker// SHN_LORESERVE (0xFF00). 7*9880d681SAndroid Build Coastguard Worker 8*9880d681SAndroid Build Coastguard Worker// SECTIONS-NOT: Name: .symtab_shndx 9*9880d681SAndroid Build Coastguard Worker 10*9880d681SAndroid Build Coastguard Worker// Check the last referenced section. 11*9880d681SAndroid Build Coastguard Worker 12*9880d681SAndroid Build Coastguard Worker// SYMBOLS: Name: (0) 13*9880d681SAndroid Build Coastguard Worker// SYMBOLS: Value: 0x0 14*9880d681SAndroid Build Coastguard Worker// SYMBOLS: Size: 0 15*9880d681SAndroid Build Coastguard Worker// SYMBOLS: Binding: Local (0x0) 16*9880d681SAndroid Build Coastguard Worker// SYMBOLS: Type: Section (0x3) 17*9880d681SAndroid Build Coastguard Worker// SYMBOLS: Other: 0 18*9880d681SAndroid Build Coastguard Worker// SYMBOLS: Section: zed (0xFEFF) 19*9880d681SAndroid Build Coastguard Worker// SYMBOLS-NEXT: } 20*9880d681SAndroid Build Coastguard Worker// SYMBOLS-NEXT:] 21*9880d681SAndroid Build Coastguard Worker 22*9880d681SAndroid Build Coastguard Worker.macro gen_sections4 x 23*9880d681SAndroid Build Coastguard Worker .section a\x 24*9880d681SAndroid Build Coastguard Worker .section b\x 25*9880d681SAndroid Build Coastguard Worker .section c\x 26*9880d681SAndroid Build Coastguard Worker .section d\x 27*9880d681SAndroid Build Coastguard Worker.endm 28*9880d681SAndroid Build Coastguard Worker 29*9880d681SAndroid Build Coastguard Worker.macro gen_sections8 x 30*9880d681SAndroid Build Coastguard Worker gen_sections4 a\x 31*9880d681SAndroid Build Coastguard Worker gen_sections4 b\x 32*9880d681SAndroid Build Coastguard Worker.endm 33*9880d681SAndroid Build Coastguard Worker 34*9880d681SAndroid Build Coastguard Worker.macro gen_sections16 x 35*9880d681SAndroid Build Coastguard Worker gen_sections8 a\x 36*9880d681SAndroid Build Coastguard Worker gen_sections8 b\x 37*9880d681SAndroid Build Coastguard Worker.endm 38*9880d681SAndroid Build Coastguard Worker 39*9880d681SAndroid Build Coastguard Worker.macro gen_sections32 x 40*9880d681SAndroid Build Coastguard Worker gen_sections16 a\x 41*9880d681SAndroid Build Coastguard Worker gen_sections16 b\x 42*9880d681SAndroid Build Coastguard Worker.endm 43*9880d681SAndroid Build Coastguard Worker 44*9880d681SAndroid Build Coastguard Worker.macro gen_sections64 x 45*9880d681SAndroid Build Coastguard Worker gen_sections32 a\x 46*9880d681SAndroid Build Coastguard Worker gen_sections32 b\x 47*9880d681SAndroid Build Coastguard Worker.endm 48*9880d681SAndroid Build Coastguard Worker 49*9880d681SAndroid Build Coastguard Worker.macro gen_sections128 x 50*9880d681SAndroid Build Coastguard Worker gen_sections64 a\x 51*9880d681SAndroid Build Coastguard Worker gen_sections64 b\x 52*9880d681SAndroid Build Coastguard Worker.endm 53*9880d681SAndroid Build Coastguard Worker 54*9880d681SAndroid Build Coastguard Worker.macro gen_sections256 x 55*9880d681SAndroid Build Coastguard Worker gen_sections128 a\x 56*9880d681SAndroid Build Coastguard Worker gen_sections128 b\x 57*9880d681SAndroid Build Coastguard Worker.endm 58*9880d681SAndroid Build Coastguard Worker 59*9880d681SAndroid Build Coastguard Worker.macro gen_sections512 x 60*9880d681SAndroid Build Coastguard Worker gen_sections256 a\x 61*9880d681SAndroid Build Coastguard Worker gen_sections256 b\x 62*9880d681SAndroid Build Coastguard Worker.endm 63*9880d681SAndroid Build Coastguard Worker 64*9880d681SAndroid Build Coastguard Worker.macro gen_sections1024 x 65*9880d681SAndroid Build Coastguard Worker gen_sections512 a\x 66*9880d681SAndroid Build Coastguard Worker gen_sections512 b\x 67*9880d681SAndroid Build Coastguard Worker.endm 68*9880d681SAndroid Build Coastguard Worker 69*9880d681SAndroid Build Coastguard Worker.macro gen_sections2048 x 70*9880d681SAndroid Build Coastguard Worker gen_sections1024 a\x 71*9880d681SAndroid Build Coastguard Worker gen_sections1024 b\x 72*9880d681SAndroid Build Coastguard Worker.endm 73*9880d681SAndroid Build Coastguard Worker 74*9880d681SAndroid Build Coastguard Worker.macro gen_sections4096 x 75*9880d681SAndroid Build Coastguard Worker gen_sections2048 a\x 76*9880d681SAndroid Build Coastguard Worker gen_sections2048 b\x 77*9880d681SAndroid Build Coastguard Worker.endm 78*9880d681SAndroid Build Coastguard Worker 79*9880d681SAndroid Build Coastguard Worker.macro gen_sections8192 x 80*9880d681SAndroid Build Coastguard Worker gen_sections4096 a\x 81*9880d681SAndroid Build Coastguard Worker gen_sections4096 b\x 82*9880d681SAndroid Build Coastguard Worker.endm 83*9880d681SAndroid Build Coastguard Worker 84*9880d681SAndroid Build Coastguard Worker.macro gen_sections16384 x 85*9880d681SAndroid Build Coastguard Worker gen_sections8192 a\x 86*9880d681SAndroid Build Coastguard Worker gen_sections8192 b\x 87*9880d681SAndroid Build Coastguard Worker.endm 88*9880d681SAndroid Build Coastguard Worker 89*9880d681SAndroid Build Coastguard Worker.macro gen_sections32768 x 90*9880d681SAndroid Build Coastguard Worker gen_sections16384 a\x 91*9880d681SAndroid Build Coastguard Worker gen_sections16384 b\x 92*9880d681SAndroid Build Coastguard Worker.endm 93*9880d681SAndroid Build Coastguard Worker 94*9880d681SAndroid Build Coastguard Workergen_sections32768 a 95*9880d681SAndroid Build Coastguard Workergen_sections16384 b 96*9880d681SAndroid Build Coastguard Workergen_sections8192 c 97*9880d681SAndroid Build Coastguard Workergen_sections4096 d 98*9880d681SAndroid Build Coastguard Workergen_sections2048 e 99*9880d681SAndroid Build Coastguard Workergen_sections1024 f 100*9880d681SAndroid Build Coastguard Workergen_sections512 g 101*9880d681SAndroid Build Coastguard Workergen_sections128 h 102*9880d681SAndroid Build Coastguard Workergen_sections64 i 103*9880d681SAndroid Build Coastguard Workergen_sections32 j 104*9880d681SAndroid Build Coastguard Workergen_sections16 k 105*9880d681SAndroid Build Coastguard Workergen_sections8 l 106*9880d681SAndroid Build Coastguard Workergen_sections4 m 107*9880d681SAndroid Build Coastguard Worker .section zed 108*9880d681SAndroid Build Coastguard Worker.long zed 109