¿Por qué el segmento BSS es "16" por defecto?

Según mi conocimiento, la segmentación para el programa c es:

        High address
|---------------------------|
|env/cmd line args vars     |
|---------------------------|
|      stack segment        |--> uninitialized auto vars
|---------------------------|
|---------------------------|
|---------------------------|
|      heap segment         |--> dynamic allocated memory
|---------------------------|
|      BSS segment          |--> uninitialized static/global vars
|---------------------------|
|      data segment         |--> initialized static/global vars
|---------------------------|
|      text segment         |--> initialized auto vars/exec instructions
|---------------------------|
        Low address

En mi máquina RHEL 5.4 de 64 bits, para el siguiente programa c

#include <stdio.h>
int main()
{
}

Cuando lo hago:

# size a.out
   text    data     bss     dec     hex filename
   1259     540      16    1815     717 a.out

No puedo entender por qué es

bss = 16

Como no estoy declarando / inicializando ninguna variable global / estática?

Respuestas a la pregunta(1)

Su respuesta a la pregunta