.text: contain executable code.
.data: contain global initialized data and static initialized data.
.rodata: string literal or const variable.
.bss:
global uninitialized data and static uninitialized data.
doesn't occupy any size in ELF, but will allocate space when ELF file is loaded.
section name prefixed by dot is reserved name.
section name created by user should not start by dot.