https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95620
H.J. Lu <hjl.tools at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |hjl.tools at gmail dot com --- Comment #3 from H.J. Lu <hjl.tools at gmail dot com> --- (In reply to Martin Liška from comment #2) > So it's really problem as with LTO we don't put the large array into .lbss > section: > > LTO: > .file "<artificial>" > .text > .local a > .comm a,2830270464,32 ^^^^ This should be .largecomm. [hjl@gnu-cfl-2 tmp]$ cat x.s .local a .largecomm a,2830270464,32 [hjl@gnu-cfl-2 tmp]$ gcc -c x.s [hjl@gnu-cfl-2 tmp]$ readelf -SsW x.o There are 9 section headers, starting at offset 0x160: Section Headers: [Nr] Name Type Address Off Size ES Flg Lk Inf Al [ 0] NULL 0000000000000000 000000 000000 00 0 0 0 [ 1] .text PROGBITS 0000000000000000 000040 000000 00 AX 0 0 1 [ 2] .data PROGBITS 0000000000000000 000040 000000 00 WA 0 0 1 [ 3] .bss NOBITS 0000000000000000 000040 000000 00 WA 0 0 1 [ 4] .lbss NOBITS 0000000000000000 000040 a8b28000 00 WAl 0 0 32 [ 5] .note.gnu.property NOTE 0000000000000000 000040 000030 00 A 0 0 8 [ 6] .symtab SYMTAB 0000000000000000 000070 0000a8 18 7 7 8 [ 7] .strtab STRTAB 0000000000000000 000118 000003 00 0 0 1 [ 8] .shstrtab STRTAB 0000000000000000 00011b 000045 00 0 0 1 Key to Flags: W (write), A (alloc), X (execute), M (merge), S (strings), I (info), L (link order), O (extra OS processing required), G (group), T (TLS), C (compressed), x (unknown), o (OS specific), E (exclude), l (large), p (processor specific) Symbol table '.symtab' contains 7 entries: Num: Value Size Type Bind Vis Ndx Name 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND 1: 0000000000000000 0 SECTION LOCAL DEFAULT 1 2: 0000000000000000 0 SECTION LOCAL DEFAULT 2 3: 0000000000000000 0 SECTION LOCAL DEFAULT 3 4: 0000000000000000 0xa8b28000 OBJECT LOCAL DEFAULT 4 a 5: 0000000000000000 0 SECTION LOCAL DEFAULT 4 6: 0000000000000000 0 SECTION LOCAL DEFAULT 5 [hjl@gnu-cfl-2 tmp]$