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) 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.

View File

@ -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