<div dir="ltr">Here is a module:<div><div><br></div><div>@vals = internal unnamed_addr global [20000000 x i32] undef, align 4</div></div><div><br></div><div>When I compile it into an .o file:</div><div><br></div><div><div>$ clang -c test.ll </div></div><div><div>$ objdump -t test.o</div><div><br></div><div>test.o:     file format elf64-x86-64</div><div><br></div><div>SYMBOL TABLE:</div><div>0000000000000000 l    df *ABS*<span class="gmail-Apple-tab-span" style="white-space:pre">        </span>0000000000000000 test.ll</div><div>0000000000000000 l     O .data<span class="gmail-Apple-tab-span" style="white-space:pre">       </span>0000000004c4b400 vals</div></div><div><br></div><div><br></div><div>LLVM puts the global in the .data section, and results in a 77MB .o file of mostly zeroes. Why does this variable not go in the .bss section?</div></div>