= `SHT_STRTAB`
Sections with `sh_type == SHT_STRTAB` are called string tables.
They hold a null separated array of strings.
Such sections are used by other sections when string names are to be used. The using section says:
* which string table they are using
* what is the index on the target string table where the string starts
So for example, we could have a string table containing:
``
Data: \0 a b c \0 d e f \0
Index: 0 1 2 3 4 5 6 7 8
``
The first byte must be a 0. TODO rationale?
And if another section wants to use the string `d e f`, they have to point to index `5` of this section (letter `d`).
Notable string table sections:
* `.shstrtab`
* `.strtab`
Back to article page