I compile a very simple one-line hi-world on a Debian 7 system on an x86_64 machine with gcc version 4.8.2 (Debian 4.8.2-21):
gcc test.c -static -o test
and I get an ELF executable that includes the following sections:
[17] .tdata PROGBITS 00000000006b4000 000b4000
0000000000000020 0000000000000000 WAT 0 0 8
[18] .tbss NOBITS 00000000006b4020 000b4020
0000000000000030 0000000000000000 WAT 0 0 8
[19] .init_array INIT_ARRAY 00000000006b4020 000b4020
0000000000000010 0000000000000000 WA 0 0 8
[20] .fini_array FINI_ARRAY 00000000006b4030 000b4030
0000000000000010 0000000000000000 WA 0 0 8
[21] .jcr PROGBITS 00000000006b4040 000b4040
0000000000000008 0000000000000000 WA 0 0 8
[22] .data.rel.ro PROGBITS 00000000006b4060 000b4060
00000000000000e4 0000000000000000 WA 0 0 32
Note that the section .tbssis allocated at 0x6b4020..0x6b4050 (0x30 bytes) and intersects it with the section .init_arrayin the 0x6b4020..0x6b4030 section (0x10 bytes), .fini_arrayat 0x6b4030..0x6b4040 (0x10 bytes) and with .jcrin the 0x6b4040..0x6b4848 section 8 bytes).
Please note that it does not overlap with the following sections, for example, .data.rel.robut, probably, because the alignment .data.rel.rois 32, and therefore it cannot be placed earlier than 0x6b4060.
, , . , glibc, .tbss - .bss (.. , ). .tbss , ? .init_array, .fini_array .jcr (, , , TLS), bss? - ?
, , 0x6b4020 ? .tbss .init_array ? ?