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:
Stan Shebs 1994-05-06 03:31:15 +00:00
parent db4a85f981
commit 87d62f677b
2 changed files with 19 additions and 0 deletions

View File

@ -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)
* annotate.texi: Change edition to 0.5 and date to May 1994.

View File

@ -3936,6 +3936,8 @@ Offset in the @code{.stabstr} section to the source filename.
@item n_other
Unused field, always zero.
This may eventually be used to hold overflows from the count in
the @code{n_desc} field.
@item n_desc
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
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
@appendixsec Having the Linker Relocate Stabs in ELF