Source: cirosantilli/elf-hello-world/stt-notype

= `STT_NOTYPE`

Then come the most important symbols:
``
Num:    Value          Size Type    Bind   Vis      Ndx Name
  4: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT    1 hello_world
  5: 000000000000000d     0 NOTYPE  LOCAL  DEFAULT  ABS hello_world_len
  6: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT    2 _start
``

`hello_world` string is in the `.data` section (index 1). It's value is 0: it points to the first byte of that section.

`_start` is marked with `GLOBAL` visibility since we wrote:
``
global _start
``

in NASM. This is necessary since it must be seen as the entry point. Unlike in C, by default NASM labels are local.