Thu May 5 20:23:36 1994 Stan Shebs (shebs@andros.cygnus.com)
* stabs.texinfo (Stab Section Basics): Add comment about alignment of stabs-in-coff sections.
This commit is contained in:
parent
db4a85f981
commit
87d62f677b
2 changed files with 19 additions and 0 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
Thu May 5 20:23:36 1994 Stan Shebs (shebs@andros.cygnus.com)
|
||||||
|
|
||||||
|
* stabs.texinfo (Stab Section Basics): Add comment about alignment
|
||||||
|
of stabs-in-coff sections.
|
||||||
|
|
||||||
Wed May 4 06:26:11 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
|
Wed May 4 06:26:11 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
|
||||||
|
|
||||||
* annotate.texi: Change edition to 0.5 and date to May 1994.
|
* annotate.texi: Change edition to 0.5 and date to May 1994.
|
||||||
|
|
|
@ -3936,6 +3936,8 @@ Offset in the @code{.stabstr} section to the source filename.
|
||||||
|
|
||||||
@item n_other
|
@item n_other
|
||||||
Unused field, always zero.
|
Unused field, always zero.
|
||||||
|
This may eventually be used to hold overflows from the count in
|
||||||
|
the @code{n_desc} field.
|
||||||
|
|
||||||
@item n_desc
|
@item n_desc
|
||||||
Count of upcoming symbols, i.e., the number of remaining stabs for this
|
Count of upcoming symbols, i.e., the number of remaining stabs for this
|
||||||
|
@ -3957,6 +3959,18 @@ header @code{sh_type} member set to @code{SHT_STRTAB} to mark it as a
|
||||||
string table. SOM and COFF have no way of linking the sections together
|
string table. SOM and COFF have no way of linking the sections together
|
||||||
or marking them as string tables.
|
or marking them as string tables.
|
||||||
|
|
||||||
|
For COFF, the @code{.stab} and @code{.stabstr} sections are simply
|
||||||
|
concatenated by the linker. GDB then uses the @code{n_desc} fields to
|
||||||
|
figure out the extent of the original sections. Similarly, the
|
||||||
|
@code{n_value} fields of the header symbols are added together in order
|
||||||
|
to get the actual position of the strings in a desired @code{.stabstr}
|
||||||
|
section. Although this design obviates any need for the linker to relocate
|
||||||
|
or otherwise manipulate @code{.stab} and @code{.stabstr} sections, it also
|
||||||
|
requires some care to ensure that the offsets are calculated correctly.
|
||||||
|
For instance, if the linker were to pad in between the @code{.stabstr}
|
||||||
|
sections before concatenating, then the offsets to strings in the middle
|
||||||
|
of the executable's @code{.stabstr} section would be wrong.
|
||||||
|
|
||||||
@node ELF Linker Relocation
|
@node ELF Linker Relocation
|
||||||
@appendixsec Having the Linker Relocate Stabs in ELF
|
@appendixsec Having the Linker Relocate Stabs in ELF
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue