|
|
String table sections hold null-terminated character
sequences, commonly called strings. The object file uses
these strings to represent symbol and section names. One
references a string as an index into the string table
section. The first byte, which is index zero, is defined
to hold a null character. Likewise, a string table's last
byte is defined to hold a null character, ensuring null
termination for all strings. A string whose index is zero
specifies either no name or a null name, depending on the
context. An empty string table section is permitted; its
section header's sh_size
member would contain zero.
Non-zero indexes are invalid for an empty string table.
A section header's sh_name
member holds an index
into the section header string table section, as designated
by the e_shstrndx
member of the ELF
header. The following figures show a string table with 25
bytes and the strings associated with various indexes.
Index | +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 |
String table
String table indexes
Index | String | |
---|---|---|
0 | none | |
1 | name. | |
7 | Variable | |
11 | able | |
16 | able | |
24 | null string |