A string table is a section which contains null-terminated variable-length character sequences, or strings. The object file uses these strings to represent symbol names and file names. The strings are referenced by indices into the string table section. The first and last bytes of a string table must be the null character.
A string table index can refer to any byte in the section.
Empty string table sections are permitted if zero is the value of sh_size in the section header entry for the string table in the section header table.
A string can appear multiple times and can also be referenced multiple times. References to substrings can exist, and unreferenced strings are allowed.