Таблица строк содержит последовательности символов, завершенные символами NUL, которые обычно называются строками. В этих строках обычно хранятся имена разделов и символов объектных файлов. Для идентификации строк применяется оглавление таблицы, в котором указаны смещения строк. Первый байт (смещение 0) содержит символ NUL. Последний байт таблицы также должен содержать символ NUL. Элемент оглавления со смещением 0 ссылается либо на строку без имени, либо на строку с пустым именем, в зависимости от ситуации. Оглавление может быть пустым; в этом случае в поле sh_size заголовка раздела должен быть указан 0. Пустая таблица строк может содержать непустое оглавление.
В поле sh_name заголовка раздела содержится оглавление (см. описание
поля e_shstrndx заголовка ELF). Ниже приведен пример таблицы строк
размером 25 байт.
| Смещение | +0 | +1 | +2 | +3 | +4 | +5 | +6 | +7 | +8 | +9 |
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \0 | n | a | m | e | . | \0 | V | a | r |
| 10 | i | a | b | l | e | \0 | a | b | l | e |
| 20 | \0 | \0 | x | x | \0 | |||||
Индексы строк
| Индекс | Строка |
|---|---|
| 0 | нет |
| 1 | name. |
| 7 | Variable |
| 11 | able |
| 16 | able |
| 24 | пустая строка |
Как показано в примере, оглавление таблицы строк может ссылаться на любой байт раздела. В таблице могут содержаться одинаковые строки; ссылки на подстроки не допускаются, однако может быть указано несколько ссылок на одну строку. Допускается и ситуация, когда на строку вообще нет ссылки.