summaryrefslogtreecommitdiff
path: root/share/doc/stabs
diff options
context:
space:
mode:
Diffstat (limited to 'share/doc/stabs')
-rw-r--r--share/doc/stabs/Alternate-Entry-Points.html87
-rw-r--r--share/doc/stabs/Arrays.html159
-rw-r--r--share/doc/stabs/Assembly-Code.html133
-rw-r--r--share/doc/stabs/Based-Variables.html111
-rw-r--r--share/doc/stabs/Basic-Cplusplus-Types.html116
-rw-r--r--share/doc/stabs/Block-Structure.html105
-rw-r--r--share/doc/stabs/Builtin-Type-Descriptors.html166
-rw-r--r--share/doc/stabs/Builtin-Types.html98
-rw-r--r--share/doc/stabs/C-Example.html90
-rw-r--r--share/doc/stabs/Class-Instance.html98
-rw-r--r--share/doc/stabs/Class-Names.html103
-rw-r--r--share/doc/stabs/Common-Blocks.html102
-rw-r--r--share/doc/stabs/Conformant-Arrays.html85
-rw-r--r--share/doc/stabs/Constants.html151
-rw-r--r--share/doc/stabs/Cplusplus.html106
-rw-r--r--share/doc/stabs/Cross_002dReferences.html119
-rw-r--r--share/doc/stabs/ELF-Linker-Relocation.html133
-rw-r--r--share/doc/stabs/Enumerations.html129
-rw-r--r--share/doc/stabs/Expanded-Reference.html130
-rw-r--r--share/doc/stabs/Flow.html101
-rw-r--r--share/doc/stabs/Function-Types.html115
-rw-r--r--share/doc/stabs/GNU-Free-Documentation-License.html548
-rw-r--r--share/doc/stabs/Global-Variables.html109
-rw-r--r--share/doc/stabs/Gould.html104
-rw-r--r--share/doc/stabs/Include-Files.html132
-rw-r--r--share/doc/stabs/Inheritance.html179
-rw-r--r--share/doc/stabs/Line-Numbers.html103
-rw-r--r--share/doc/stabs/Local-Variable-Parameters.html143
-rw-r--r--share/doc/stabs/Macro-define-and-undefine.html134
-rw-r--r--share/doc/stabs/Main-Program.html84
-rw-r--r--share/doc/stabs/Member-Type-Descriptor.html98
-rw-r--r--share/doc/stabs/Method-Modifiers.html111
-rw-r--r--share/doc/stabs/Method-Type-Descriptor.html95
-rw-r--r--share/doc/stabs/Methods.html141
-rw-r--r--share/doc/stabs/Miscellaneous-Types.html129
-rw-r--r--share/doc/stabs/N_005fBROWS.html86
-rw-r--r--share/doc/stabs/N_005fCATCH.html87
-rw-r--r--share/doc/stabs/N_005fDEFD.html86
-rw-r--r--share/doc/stabs/N_005fEHDECL.html85
-rw-r--r--share/doc/stabs/N_005fLENG.html82
-rw-r--r--share/doc/stabs/N_005fM2C.html92
-rw-r--r--share/doc/stabs/N_005fMOD2.html83
-rw-r--r--share/doc/stabs/N_005fNOMAP.html86
-rw-r--r--share/doc/stabs/N_005fNSYMS.html85
-rw-r--r--share/doc/stabs/N_005fPC.html93
-rw-r--r--share/doc/stabs/N_005fSCOPE.html82
-rw-r--r--share/doc/stabs/N_005fSSYM.html85
-rw-r--r--share/doc/stabs/Negative-Type-Numbers.html304
-rw-r--r--share/doc/stabs/Nested-Procedures.html110
-rw-r--r--share/doc/stabs/Nested-Symbols.html88
-rw-r--r--share/doc/stabs/Non_002dStab-Symbol-Types.html164
-rw-r--r--share/doc/stabs/Overview.html109
-rw-r--r--share/doc/stabs/Parameters.html135
-rw-r--r--share/doc/stabs/Procedures.html187
-rw-r--r--share/doc/stabs/Program-Structure.html99
-rw-r--r--share/doc/stabs/Protections.html161
-rw-r--r--share/doc/stabs/Questions.html102
-rw-r--r--share/doc/stabs/Reference-Parameters.html83
-rw-r--r--share/doc/stabs/Register-Parameters.html125
-rw-r--r--share/doc/stabs/Register-Variables.html97
-rw-r--r--share/doc/stabs/Simple-Classes.html174
-rw-r--r--share/doc/stabs/Source-Files.html154
-rw-r--r--share/doc/stabs/Stab-Section-Basics.html156
-rw-r--r--share/doc/stabs/Stab-Section-Transformations.html115
-rw-r--r--share/doc/stabs/Stab-Sections.html88
-rw-r--r--share/doc/stabs/Stab-Symbol-Types.html276
-rw-r--r--share/doc/stabs/Stab-Types.html90
-rw-r--r--share/doc/stabs/Stabs-Format.html107
-rw-r--r--share/doc/stabs/Stack-Variables.html119
-rw-r--r--share/doc/stabs/Static-Members.html82
-rw-r--r--share/doc/stabs/Statics.html142
-rw-r--r--share/doc/stabs/String-Field.html198
-rw-r--r--share/doc/stabs/Strings.html103
-rw-r--r--share/doc/stabs/Structures.html139
-rw-r--r--share/doc/stabs/Subranges.html113
-rw-r--r--share/doc/stabs/Symbol-Descriptors.html219
-rw-r--r--share/doc/stabs/Symbol-Table-Format.html103
-rw-r--r--share/doc/stabs/Symbol-Tables.html86
-rw-r--r--share/doc/stabs/Symbol-Types-Index.html192
-rw-r--r--share/doc/stabs/Traditional-Builtin-Types.html86
-rw-r--r--share/doc/stabs/Traditional-Integer-Types.html131
-rw-r--r--share/doc/stabs/Traditional-Other-Types.html103
-rw-r--r--share/doc/stabs/Transformations-On-Global-Variables.html111
-rw-r--r--share/doc/stabs/Transformations-On-Static-Variables.html101
-rw-r--r--share/doc/stabs/Transformations-On-Symbol-Tables.html106
-rw-r--r--share/doc/stabs/Type-Descriptors.html253
-rw-r--r--share/doc/stabs/Typedefs.html104
-rw-r--r--share/doc/stabs/Types.html105
-rw-r--r--share/doc/stabs/Unions.html118
-rw-r--r--share/doc/stabs/Variables.html96
-rw-r--r--share/doc/stabs/Virtual-Base-Classes.html125
-rw-r--r--share/doc/stabs/Virtual-Methods.html163
-rw-r--r--share/doc/stabs/index.html266
93 files changed, 11867 insertions, 0 deletions
diff --git a/share/doc/stabs/Alternate-Entry-Points.html b/share/doc/stabs/Alternate-Entry-Points.html
new file mode 100644
index 0000000..954db83
--- /dev/null
+++ b/share/doc/stabs/Alternate-Entry-Points.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Alternate Entry Points</title>
+
+<meta name="description" content="STABS: Alternate Entry Points">
+<meta name="keywords" content="STABS: Alternate Entry Points">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Program-Structure.html#Program-Structure" rel="up" title="Program Structure">
+<link href="Constants.html#Constants" rel="next" title="Constants">
+<link href="Block-Structure.html#Block-Structure" rel="previous" title="Block Structure">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Alternate-Entry-Points"></a>
+<div class="header">
+<p>
+Previous: <a href="Block-Structure.html#Block-Structure" accesskey="p" rel="previous">Block Structure</a>, Up: <a href="Program-Structure.html#Program-Structure" accesskey="u" rel="up">Program Structure</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Alternate-Entry-Points-1"></a>
+<h3 class="section">2.8 Alternate Entry Points</h3>
+
+<a name="index-N_005fENTRY"></a>
+<a name="index-C_005fENTRY"></a>
+<p>Some languages, like Fortran, have the ability to enter procedures at
+some place other than the beginning. One can declare an alternate entry
+point. The <code>N_ENTRY</code> stab is for this; however, the Sun FORTRAN
+compiler doesn&rsquo;t use it. According to AIX documentation, only the name
+of a <code>C_ENTRY</code> stab is significant; the address of the alternate
+entry point comes from the corresponding external symbol. A previous
+revision of this document said that the value of an <code>N_ENTRY</code> stab
+was the address of the alternate entry point, but I don&rsquo;t know the
+source for that information.
+</p>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Arrays.html b/share/doc/stabs/Arrays.html
new file mode 100644
index 0000000..58ab68a
--- /dev/null
+++ b/share/doc/stabs/Arrays.html
@@ -0,0 +1,159 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Arrays</title>
+
+<meta name="description" content="STABS: Arrays">
+<meta name="keywords" content="STABS: Arrays">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Types.html#Types" rel="up" title="Types">
+<link href="Strings.html#Strings" rel="next" title="Strings">
+<link href="Subranges.html#Subranges" rel="previous" title="Subranges">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Arrays"></a>
+<div class="header">
+<p>
+Next: <a href="Strings.html#Strings" accesskey="n" rel="next">Strings</a>, Previous: <a href="Subranges.html#Subranges" accesskey="p" rel="previous">Subranges</a>, Up: <a href="Types.html#Types" accesskey="u" rel="up">Types</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Array-Types"></a>
+<h3 class="section">5.5 Array Types</h3>
+
+<p>Arrays use the &lsquo;<samp>a</samp>&rsquo; type descriptor. Following the type descriptor
+is the type of the index and the type of the array elements. If the
+index type is a range type, it ends in a semicolon; otherwise
+(for example, if it is a type reference), there does not
+appear to be any way to tell where the types are separated. In an
+effort to clean up this mess, IBM documents the two types as being
+separated by a semicolon, and a range type as not ending in a semicolon
+(but this is not right for range types which are not array indexes,
+see <a href="Subranges.html#Subranges">Subranges</a>). I think probably the best solution is to specify
+that a semicolon ends a range type, and that the index type and element
+type of an array are separated by a semicolon, but that if the index
+type is a range type, the extra semicolon can be omitted. GDB (at least
+through version 4.9) doesn&rsquo;t support any kind of index type other than a
+range anyway; I&rsquo;m not sure about dbx.
+</p>
+<p>It is well established, and widely used, that the type of the index,
+unlike most types found in the stabs, is merely a type definition, not
+type information (see <a href="String-Field.html#String-Field">String Field</a>) (that is, it need not start with
+&lsquo;<samp><var>type-number</var>=</samp>&rsquo; if it is defining a new type). According to a
+comment in GDB, this is also true of the type of the array elements; it
+gives &lsquo;<samp>ar1;1;10;ar1;1;10;4</samp>&rsquo; as a legitimate way to express a two
+dimensional array. According to AIX documentation, the element type
+must be type information. GDB accepts either.
+</p>
+<p>The type of the index is often a range type, expressed as the type
+descriptor &lsquo;<samp>r</samp>&rsquo; and some parameters. It defines the size of the
+array. In the example below, the range &lsquo;<samp>r1;0;2;</samp>&rsquo; defines an index
+type which is a subrange of type 1 (integer), with a lower bound of 0
+and an upper bound of 2. This defines the valid range of subscripts of
+a three-element C array.
+</p>
+<p>For example, the definition:
+</p>
+<div class="example">
+<pre class="example">char char_vec[3] = {'a','b','c'};
+</pre></div>
+
+<p>produces the output:
+</p>
+<div class="example">
+<pre class="example">.stabs &quot;char_vec:G19=ar1;0;2;2&quot;,32,0,0,0
+ .global _char_vec
+ .align 4
+_char_vec:
+ .byte 97
+ .byte 98
+ .byte 99
+</pre></div>
+
+<p>If an array is <em>packed</em>, the elements are spaced more
+closely than normal, saving memory at the expense of speed. For
+example, an array of 3-byte objects might, if unpacked, have each
+element aligned on a 4-byte boundary, but if packed, have no padding.
+One way to specify that something is packed is with type attributes
+(see <a href="String-Field.html#String-Field">String Field</a>). In the case of arrays, another is to use the
+&lsquo;<samp>P</samp>&rsquo; type descriptor instead of &lsquo;<samp>a</samp>&rsquo;. Other than specifying a
+packed array, &lsquo;<samp>P</samp>&rsquo; is identical to &lsquo;<samp>a</samp>&rsquo;.
+</p>
+<p>An open array is represented by the &lsquo;<samp>A</samp>&rsquo; type descriptor followed by
+type information specifying the type of the array elements.
+</p>
+<p>An N-dimensional dynamic array is represented by
+</p>
+<div class="example">
+<pre class="example">D <var>dimensions</var> ; <var>type-information</var>
+</pre></div>
+
+<p><var>dimensions</var> is the number of dimensions; <var>type-information</var>
+specifies the type of the array elements.
+</p>
+<p>A subarray of an N-dimensional array is represented by
+</p>
+<div class="example">
+<pre class="example">E <var>dimensions</var> ; <var>type-information</var>
+</pre></div>
+
+<p><var>dimensions</var> is the number of dimensions; <var>type-information</var>
+specifies the type of the array elements.
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Strings.html#Strings" accesskey="n" rel="next">Strings</a>, Previous: <a href="Subranges.html#Subranges" accesskey="p" rel="previous">Subranges</a>, Up: <a href="Types.html#Types" accesskey="u" rel="up">Types</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Assembly-Code.html b/share/doc/stabs/Assembly-Code.html
new file mode 100644
index 0000000..30d13b7
--- /dev/null
+++ b/share/doc/stabs/Assembly-Code.html
@@ -0,0 +1,133 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Assembly Code</title>
+
+<meta name="description" content="STABS: Assembly Code">
+<meta name="keywords" content="STABS: Assembly Code">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Overview.html#Overview" rel="up" title="Overview">
+<link href="Program-Structure.html#Program-Structure" rel="next" title="Program Structure">
+<link href="C-Example.html#C-Example" rel="previous" title="C Example">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Assembly-Code"></a>
+<div class="header">
+<p>
+Previous: <a href="C-Example.html#C-Example" accesskey="p" rel="previous">C Example</a>, Up: <a href="Overview.html#Overview" accesskey="u" rel="up">Overview</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="The-Simple-Example-at-the-Assembly-Level"></a>
+<h3 class="section">1.5 The Simple Example at the Assembly Level</h3>
+
+<p>This simple &ldquo;hello world&rdquo; example demonstrates several of the stab
+types used to describe C language source files.
+</p>
+<div class="example">
+<pre class="example">1 gcc2_compiled.:
+2 .stabs &quot;/cygint/s1/users/jcm/play/&quot;,100,0,0,Ltext0
+3 .stabs &quot;hello.c&quot;,100,0,0,Ltext0
+4 .text
+5 Ltext0:
+6 .stabs &quot;int:t1=r1;-2147483648;2147483647;&quot;,128,0,0,0
+7 .stabs &quot;char:t2=r2;0;127;&quot;,128,0,0,0
+8 .stabs &quot;long int:t3=r1;-2147483648;2147483647;&quot;,128,0,0,0
+9 .stabs &quot;unsigned int:t4=r1;0;-1;&quot;,128,0,0,0
+10 .stabs &quot;long unsigned int:t5=r1;0;-1;&quot;,128,0,0,0
+11 .stabs &quot;short int:t6=r1;-32768;32767;&quot;,128,0,0,0
+12 .stabs &quot;long long int:t7=r1;0;-1;&quot;,128,0,0,0
+13 .stabs &quot;short unsigned int:t8=r1;0;65535;&quot;,128,0,0,0
+14 .stabs &quot;long long unsigned int:t9=r1;0;-1;&quot;,128,0,0,0
+15 .stabs &quot;signed char:t10=r1;-128;127;&quot;,128,0,0,0
+16 .stabs &quot;unsigned char:t11=r1;0;255;&quot;,128,0,0,0
+17 .stabs &quot;float:t12=r1;4;0;&quot;,128,0,0,0
+18 .stabs &quot;double:t13=r1;8;0;&quot;,128,0,0,0
+19 .stabs &quot;long double:t14=r1;8;0;&quot;,128,0,0,0
+20 .stabs &quot;void:t15=15&quot;,128,0,0,0
+21 .align 4
+22 LC0:
+23 .ascii &quot;Hello, world!\12\0&quot;
+24 .align 4
+25 .global _main
+26 .proc 1
+27 _main:
+28 .stabn 68,0,4,LM1
+29 LM1:
+30 !#PROLOGUE# 0
+31 save %sp,-136,%sp
+32 !#PROLOGUE# 1
+33 call ___main,0
+34 nop
+35 .stabn 68,0,5,LM2
+36 LM2:
+37 LBB2:
+38 sethi %hi(LC0),%o1
+39 or %o1,%lo(LC0),%o0
+40 call _printf,0
+41 nop
+42 .stabn 68,0,6,LM3
+43 LM3:
+44 LBE2:
+45 .stabn 68,0,6,LM4
+46 LM4:
+47 L1:
+48 ret
+49 restore
+50 .stabs &quot;main:F1&quot;,36,0,0,_main
+51 .stabn 192,0,0,LBB2
+52 .stabn 224,0,0,LBE2
+</pre></div>
+
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Based-Variables.html b/share/doc/stabs/Based-Variables.html
new file mode 100644
index 0000000..0451c50
--- /dev/null
+++ b/share/doc/stabs/Based-Variables.html
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Based Variables</title>
+
+<meta name="description" content="STABS: Based Variables">
+<meta name="keywords" content="STABS: Based Variables">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Variables.html#Variables" rel="up" title="Variables">
+<link href="Parameters.html#Parameters" rel="next" title="Parameters">
+<link href="Statics.html#Statics" rel="previous" title="Statics">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Based-Variables"></a>
+<div class="header">
+<p>
+Next: <a href="Parameters.html#Parameters" accesskey="n" rel="next">Parameters</a>, Previous: <a href="Statics.html#Statics" accesskey="p" rel="previous">Statics</a>, Up: <a href="Variables.html#Variables" accesskey="u" rel="up">Variables</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Fortran-Based-Variables"></a>
+<h3 class="section">4.6 Fortran Based Variables</h3>
+
+<p>Fortran (at least, the Sun and SGI dialects of FORTRAN-77) has a feature
+which allows allocating arrays with <code>malloc</code>, but which avoids
+blurring the line between arrays and pointers the way that C does. In
+stabs such a variable uses the &lsquo;<samp>b</samp>&rsquo; symbol descriptor.
+</p>
+<p>For example, the Fortran declarations
+</p>
+<div class="example">
+<pre class="example">real foo, foo10(10), foo10_5(10,5)
+pointer (foop, foo)
+pointer (foo10p, foo10)
+pointer (foo105p, foo10_5)
+</pre></div>
+
+<p>produce the stabs
+</p>
+<div class="example">
+<pre class="example">foo:b6
+foo10:bar3;1;10;6
+foo10_5:bar3;1;5;ar3;1;10;6
+</pre></div>
+
+<p>In this example, <code>real</code> is type 6 and type 3 is an integral type
+which is the type of the subscripts of the array (probably
+<code>integer</code>).
+</p>
+<p>The &lsquo;<samp>b</samp>&rsquo; symbol descriptor is like &lsquo;<samp>V</samp>&rsquo; in that it denotes a
+statically allocated symbol whose scope is local to a function; see
+See <a href="Statics.html#Statics">Statics</a>. The value of the symbol, instead of being the address
+of the variable itself, is the address of a pointer to that variable.
+So in the above example, the value of the <code>foo</code> stab is the address
+of a pointer to a real, the value of the <code>foo10</code> stab is the
+address of a pointer to a 10-element array of reals, and the value of
+the <code>foo10_5</code> stab is the address of a pointer to a 5-element array
+of 10-element arrays of reals.
+</p>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Basic-Cplusplus-Types.html b/share/doc/stabs/Basic-Cplusplus-Types.html
new file mode 100644
index 0000000..5ca8cc3
--- /dev/null
+++ b/share/doc/stabs/Basic-Cplusplus-Types.html
@@ -0,0 +1,116 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Basic Cplusplus Types</title>
+
+<meta name="description" content="STABS: Basic Cplusplus Types">
+<meta name="keywords" content="STABS: Basic Cplusplus Types">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Cplusplus.html#Cplusplus" rel="up" title="Cplusplus">
+<link href="Simple-Classes.html#Simple-Classes" rel="next" title="Simple Classes">
+<link href="Nested-Symbols.html#Nested-Symbols" rel="previous" title="Nested Symbols">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Basic-Cplusplus-Types"></a>
+<div class="header">
+<p>
+Next: <a href="Simple-Classes.html#Simple-Classes" accesskey="n" rel="next">Simple Classes</a>, Previous: <a href="Nested-Symbols.html#Nested-Symbols" accesskey="p" rel="previous">Nested Symbols</a>, Up: <a href="Cplusplus.html#Cplusplus" accesskey="u" rel="up">Cplusplus</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Basic-Types-For-C_002b_002b"></a>
+<h3 class="section">8.3 Basic Types For C<tt>++</tt></h3>
+
+<p>&lt;&lt; the examples that follow are based on a01.C &gt;&gt;
+</p>
+
+<p>C<tt>++</tt> adds two more builtin types to the set defined for C. These are
+the unknown type and the vtable record type. The unknown type, type
+16, is defined in terms of itself like the void type.
+</p>
+<p>The vtable record type, type 17, is defined as a structure type and
+then as a structure tag. The structure has four fields: delta, index,
+pfn, and delta2. pfn is the function pointer.
+</p>
+<p>&lt;&lt; In boilerplate $vtbl_ptr_type, what are the fields delta,
+index, and delta2 used for? &gt;&gt;
+</p>
+<p>This basic type is present in all C<tt>++</tt> programs even if there are no
+virtual methods defined.
+</p>
+<div class="display">
+<pre class="display">.stabs &quot;struct_name:sym_desc(type)type_def(17)=type_desc(struct)struct_bytes(8)
+ elem_name(delta):type_ref(short int),bit_offset(0),field_bits(16);
+ elem_name(index):type_ref(short int),bit_offset(16),field_bits(16);
+ elem_name(pfn):type_def(18)=type_desc(ptr to)type_ref(void),
+ bit_offset(32),field_bits(32);
+ elem_name(delta2):type_def(short int);bit_offset(32),field_bits(16);;&quot;
+ N_LSYM, NIL, NIL
+</pre></div>
+
+<div class="smallexample">
+<pre class="smallexample">.stabs &quot;$vtbl_ptr_type:t17=s8
+ delta:6,0,16;index:6,16,16;pfn:18=*15,32,32;delta2:6,32,16;;&quot;
+ ,128,0,0,0
+</pre></div>
+
+<div class="display">
+<pre class="display">.stabs &quot;name:sym_dec(struct tag)type_ref($vtbl_ptr_type)&quot;,N_LSYM,NIL,NIL,NIL
+</pre></div>
+
+<div class="example">
+<pre class="example">.stabs &quot;$vtbl_ptr_type:T17&quot;,128,0,0,0
+</pre></div>
+
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Block-Structure.html b/share/doc/stabs/Block-Structure.html
new file mode 100644
index 0000000..6f31b61
--- /dev/null
+++ b/share/doc/stabs/Block-Structure.html
@@ -0,0 +1,105 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Block Structure</title>
+
+<meta name="description" content="STABS: Block Structure">
+<meta name="keywords" content="STABS: Block Structure">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Program-Structure.html#Program-Structure" rel="up" title="Program Structure">
+<link href="Alternate-Entry-Points.html#Alternate-Entry-Points" rel="next" title="Alternate Entry Points">
+<link href="Nested-Procedures.html#Nested-Procedures" rel="previous" title="Nested Procedures">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Block-Structure"></a>
+<div class="header">
+<p>
+Next: <a href="Alternate-Entry-Points.html#Alternate-Entry-Points" accesskey="n" rel="next">Alternate Entry Points</a>, Previous: <a href="Nested-Procedures.html#Nested-Procedures" accesskey="p" rel="previous">Nested Procedures</a>, Up: <a href="Program-Structure.html#Program-Structure" accesskey="u" rel="up">Program Structure</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Block-Structure-1"></a>
+<h3 class="section">2.7 Block Structure</h3>
+
+<a name="index-N_005fLBRAC"></a>
+<a name="index-N_005fRBRAC"></a>
+<p>The program&rsquo;s block structure is represented by the <code>N_LBRAC</code> (left
+brace) and the <code>N_RBRAC</code> (right brace) stab types. The variables
+defined inside a block precede the <code>N_LBRAC</code> symbol for most
+compilers, including GCC. Other compilers, such as the Convex, Acorn
+RISC machine, and Sun <code>acc</code> compilers, put the variables after the
+<code>N_LBRAC</code> symbol. The values of the <code>N_LBRAC</code> and
+<code>N_RBRAC</code> symbols are the start and end addresses of the code of
+the block, respectively. For most machines, they are relative to the
+starting address of this source file. For the Gould NP1, they are
+absolute. For stabs in sections (see <a href="Stab-Sections.html#Stab-Sections">Stab Sections</a>), they are
+relative to the function in which they occur.
+</p>
+<p>The <code>N_LBRAC</code> and <code>N_RBRAC</code> stabs that describe the block
+scope of a procedure are located after the <code>N_FUN</code> stab that
+represents the procedure itself.
+</p>
+<p>Sun documents the desc field of <code>N_LBRAC</code> and
+<code>N_RBRAC</code> symbols as containing the nesting level of the block.
+However, dbx seems to not care, and GCC always sets desc to
+zero.
+</p>
+<a name="index-_002ebb"></a>
+<a name="index-_002ebe"></a>
+<a name="index-C_005fBLOCK"></a>
+<p>For XCOFF, block scope is indicated with <code>C_BLOCK</code> symbols. If the
+name of the symbol is &lsquo;<samp>.bb</samp>&rsquo;, then it is the beginning of the block;
+if the name of the symbol is &lsquo;<samp>.be</samp>&rsquo;; it is the end of the block.
+</p>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Builtin-Type-Descriptors.html b/share/doc/stabs/Builtin-Type-Descriptors.html
new file mode 100644
index 0000000..e621bfb
--- /dev/null
+++ b/share/doc/stabs/Builtin-Type-Descriptors.html
@@ -0,0 +1,166 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Builtin Type Descriptors</title>
+
+<meta name="description" content="STABS: Builtin Type Descriptors">
+<meta name="keywords" content="STABS: Builtin Type Descriptors">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Builtin-Types.html#Builtin-Types" rel="up" title="Builtin Types">
+<link href="Negative-Type-Numbers.html#Negative-Type-Numbers" rel="next" title="Negative Type Numbers">
+<link href="Traditional-Other-Types.html#Traditional-Other-Types" rel="previous" title="Traditional Other Types">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Builtin-Type-Descriptors"></a>
+<div class="header">
+<p>
+Next: <a href="Negative-Type-Numbers.html#Negative-Type-Numbers" accesskey="n" rel="next">Negative Type Numbers</a>, Previous: <a href="Traditional-Builtin-Types.html#Traditional-Builtin-Types" accesskey="p" rel="previous">Traditional Builtin Types</a>, Up: <a href="Builtin-Types.html#Builtin-Types" accesskey="u" rel="up">Builtin Types</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Defining-Builtin-Types-Using-Builtin-Type-Descriptors"></a>
+<h4 class="subsection">5.1.2 Defining Builtin Types Using Builtin Type Descriptors</h4>
+
+<p>This is the method used by Sun&rsquo;s <code>acc</code> for defining builtin types.
+These are the type descriptors to define builtin types:
+</p>
+<dl compact="compact">
+<dt><code>b <var>signed</var> <var>char-flag</var> <var>width</var> ; <var>offset</var> ; <var>nbits</var> ;</code></dt>
+<dd><p>Define an integral type. <var>signed</var> is &lsquo;<samp>u</samp>&rsquo; for unsigned or
+&lsquo;<samp>s</samp>&rsquo; for signed. <var>char-flag</var> is &lsquo;<samp>c</samp>&rsquo; which indicates this
+is a character type, or is omitted. I assume this is to distinguish an
+integral type from a character type of the same size, for example it
+might make sense to set it for the C type <code>wchar_t</code> so the debugger
+can print such variables differently (Solaris does not do this). Sun
+sets it on the C types <code>signed char</code> and <code>unsigned char</code> which
+arguably is wrong. <var>width</var> and <var>offset</var> appear to be for small
+objects stored in larger ones, for example a <code>short</code> in an
+<code>int</code> register. <var>width</var> is normally the number of bytes in the
+type. <var>offset</var> seems to always be zero. <var>nbits</var> is the number
+of bits in the type.
+</p>
+<p>Note that type descriptor &lsquo;<samp>b</samp>&rsquo; used for builtin types conflicts with
+its use for Pascal space types (see <a href="Miscellaneous-Types.html#Miscellaneous-Types">Miscellaneous Types</a>); they can
+be distinguished because the character following the type descriptor
+will be a digit, &lsquo;<samp>(</samp>&rsquo;, or &lsquo;<samp>-</samp>&rsquo; for a Pascal space type, or
+&lsquo;<samp>u</samp>&rsquo; or &lsquo;<samp>s</samp>&rsquo; for a builtin type.
+</p>
+</dd>
+<dt><code>w</code></dt>
+<dd><p>Documented by AIX to define a wide character type, but their compiler
+actually uses negative type numbers (see <a href="Negative-Type-Numbers.html#Negative-Type-Numbers">Negative Type Numbers</a>).
+</p>
+</dd>
+<dt><code>R <var>fp-type</var> ; <var>bytes</var> ;</code></dt>
+<dd><p>Define a floating point type. <var>fp-type</var> has one of the following values:
+</p>
+<dl compact="compact">
+<dt><code>1 (NF_SINGLE)</code></dt>
+<dd><p>IEEE 32-bit (single precision) floating point format.
+</p>
+</dd>
+<dt><code>2 (NF_DOUBLE)</code></dt>
+<dd><p>IEEE 64-bit (double precision) floating point format.
+</p>
+</dd>
+<dt><code>3 (NF_COMPLEX)</code></dt>
+<dt><code>4 (NF_COMPLEX16)</code></dt>
+<dt><code>5 (NF_COMPLEX32)</code></dt>
+<dd><p>These are for complex numbers. A comment in the GDB source describes
+them as Fortran <code>complex</code>, <code>double complex</code>, and
+<code>complex*16</code>, respectively, but what does that mean? (i.e., Single
+precision? Double precision?).
+</p>
+</dd>
+<dt><code>6 (NF_LDOUBLE)</code></dt>
+<dd><p>Long double. This should probably only be used for Sun format
+<code>long double</code>, and new codes should be used for other floating
+point formats (<code>NF_DOUBLE</code> can be used if a <code>long double</code> is
+really just an IEEE double, of course).
+</p></dd>
+</dl>
+
+<p><var>bytes</var> is the number of bytes occupied by the type. This allows a
+debugger to perform some operations with the type even if it doesn&rsquo;t
+understand <var>fp-type</var>.
+</p>
+</dd>
+<dt><code>g <var>type-information</var> ; <var>nbits</var></code></dt>
+<dd><p>Documented by AIX to define a floating type, but their compiler actually
+uses negative type numbers (see <a href="Negative-Type-Numbers.html#Negative-Type-Numbers">Negative Type Numbers</a>).
+</p>
+</dd>
+<dt><code>c <var>type-information</var> ; <var>nbits</var></code></dt>
+<dd><p>Documented by AIX to define a complex type, but their compiler actually
+uses negative type numbers (see <a href="Negative-Type-Numbers.html#Negative-Type-Numbers">Negative Type Numbers</a>).
+</p></dd>
+</dl>
+
+<p>The C <code>void</code> type is defined as a signed integral type 0 bits long:
+</p><div class="example">
+<pre class="example">.stabs &quot;void:t19=bs0;0;0&quot;,128,0,0,0
+</pre></div>
+<p>The Solaris compiler seems to omit the trailing semicolon in this case.
+Getting sloppy in this way is not a swift move because if a type is
+embedded in a more complex expression it is necessary to be able to tell
+where it ends.
+</p>
+<p>I&rsquo;m not sure how a boolean type is represented.
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Negative-Type-Numbers.html#Negative-Type-Numbers" accesskey="n" rel="next">Negative Type Numbers</a>, Previous: <a href="Traditional-Builtin-Types.html#Traditional-Builtin-Types" accesskey="p" rel="previous">Traditional Builtin Types</a>, Up: <a href="Builtin-Types.html#Builtin-Types" accesskey="u" rel="up">Builtin Types</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Builtin-Types.html b/share/doc/stabs/Builtin-Types.html
new file mode 100644
index 0000000..74cdb54
--- /dev/null
+++ b/share/doc/stabs/Builtin-Types.html
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Builtin Types</title>
+
+<meta name="description" content="STABS: Builtin Types">
+<meta name="keywords" content="STABS: Builtin Types">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Types.html#Types" rel="up" title="Types">
+<link href="Traditional-Builtin-Types.html#Traditional-Builtin-Types" rel="next" title="Traditional Builtin Types">
+<link href="Types.html#Types" rel="previous" title="Types">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Builtin-Types"></a>
+<div class="header">
+<p>
+Next: <a href="Miscellaneous-Types.html#Miscellaneous-Types" accesskey="n" rel="next">Miscellaneous Types</a>, Up: <a href="Types.html#Types" accesskey="u" rel="up">Types</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Builtin-Types-1"></a>
+<h3 class="section">5.1 Builtin Types</h3>
+
+<p>Certain types are built in (<code>int</code>, <code>short</code>, <code>void</code>,
+<code>float</code>, etc.); the debugger recognizes these types and knows how
+to handle them. Thus, don&rsquo;t be surprised if some of the following ways
+of specifying builtin types do not specify everything that a debugger
+would need to know about the type&mdash;in some cases they merely specify
+enough information to distinguish the type from other types.
+</p>
+<p>The traditional way to define builtin types is convoluted, so new ways
+have been invented to describe them. Sun&rsquo;s <code>acc</code> uses special
+builtin type descriptors (&lsquo;<samp>b</samp>&rsquo; and &lsquo;<samp>R</samp>&rsquo;), and IBM uses negative
+type numbers. GDB accepts all three ways, as of version 4.8; dbx just
+accepts the traditional builtin types and perhaps one of the other two
+formats. The following sections describe each of these formats.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="Traditional-Builtin-Types.html#Traditional-Builtin-Types" accesskey="1">Traditional Builtin Types</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Put on your seat belts and prepare for kludgery
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Builtin-Type-Descriptors.html#Builtin-Type-Descriptors" accesskey="2">Builtin Type Descriptors</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Builtin types with special type descriptors
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Negative-Type-Numbers.html#Negative-Type-Numbers" accesskey="3">Negative Type Numbers</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Builtin types using negative type numbers
+</td></tr>
+</table>
+
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/C-Example.html b/share/doc/stabs/C-Example.html
new file mode 100644
index 0000000..1e48c52
--- /dev/null
+++ b/share/doc/stabs/C-Example.html
@@ -0,0 +1,90 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: C Example</title>
+
+<meta name="description" content="STABS: C Example">
+<meta name="keywords" content="STABS: C Example">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Overview.html#Overview" rel="up" title="Overview">
+<link href="Assembly-Code.html#Assembly-Code" rel="next" title="Assembly Code">
+<link href="String-Field.html#String-Field" rel="previous" title="String Field">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="C-Example"></a>
+<div class="header">
+<p>
+Next: <a href="Assembly-Code.html#Assembly-Code" accesskey="n" rel="next">Assembly Code</a>, Previous: <a href="String-Field.html#String-Field" accesskey="p" rel="previous">String Field</a>, Up: <a href="Overview.html#Overview" accesskey="u" rel="up">Overview</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="A-Simple-Example-in-C-Source"></a>
+<h3 class="section">1.4 A Simple Example in C Source</h3>
+
+<p>To get the flavor of how stabs describe source information for a C
+program, let&rsquo;s look at the simple program:
+</p>
+<div class="example">
+<pre class="example">main()
+{
+ printf(&quot;Hello world&quot;);
+}
+</pre></div>
+
+<p>When compiled with &lsquo;<samp>-g</samp>&rsquo;, the program above yields the following
+<samp>.s</samp> file. Line numbers have been added to make it easier to refer
+to parts of the <samp>.s</samp> file in the description of the stabs that
+follows.
+</p>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Class-Instance.html b/share/doc/stabs/Class-Instance.html
new file mode 100644
index 0000000..203417a
--- /dev/null
+++ b/share/doc/stabs/Class-Instance.html
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Class Instance</title>
+
+<meta name="description" content="STABS: Class Instance">
+<meta name="keywords" content="STABS: Class Instance">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Cplusplus.html#Cplusplus" rel="up" title="Cplusplus">
+<link href="Methods.html#Methods" rel="next" title="Methods">
+<link href="Simple-Classes.html#Simple-Classes" rel="previous" title="Simple Classes">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Class-Instance"></a>
+<div class="header">
+<p>
+Next: <a href="Methods.html#Methods" accesskey="n" rel="next">Methods</a>, Previous: <a href="Simple-Classes.html#Simple-Classes" accesskey="p" rel="previous">Simple Classes</a>, Up: <a href="Cplusplus.html#Cplusplus" accesskey="u" rel="up">Cplusplus</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Class-Instance-1"></a>
+<h3 class="section">8.5 Class Instance</h3>
+
+<p>As shown above, describing even a simple C<tt>++</tt> class definition is
+accomplished by massively extending the stab format used in C to
+describe structure types. However, once the class is defined, C stabs
+with no modifications can be used to describe class instances. The
+following source:
+</p>
+<div class="example">
+<pre class="example">main () {
+ baseA AbaseA;
+}
+</pre></div>
+
+<p>yields the following stab describing the class instance. It looks no
+different from a standard C stab describing a local variable.
+</p>
+<div class="display">
+<pre class="display">.stabs &quot;name:type_ref(baseA)&quot;, N_LSYM, NIL, NIL, frame_ptr_offset
+</pre></div>
+
+<div class="example">
+<pre class="example">.stabs &quot;AbaseA:20&quot;,128,0,0,-20
+</pre></div>
+
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Class-Names.html b/share/doc/stabs/Class-Names.html
new file mode 100644
index 0000000..4d21ede
--- /dev/null
+++ b/share/doc/stabs/Class-Names.html
@@ -0,0 +1,103 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Class Names</title>
+
+<meta name="description" content="STABS: Class Names">
+<meta name="keywords" content="STABS: Class Names">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Cplusplus.html#Cplusplus" rel="up" title="Cplusplus">
+<link href="Nested-Symbols.html#Nested-Symbols" rel="next" title="Nested Symbols">
+<link href="Cplusplus.html#Cplusplus" rel="previous" title="Cplusplus">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Class-Names"></a>
+<div class="header">
+<p>
+Next: <a href="Nested-Symbols.html#Nested-Symbols" accesskey="n" rel="next">Nested Symbols</a>, Up: <a href="Cplusplus.html#Cplusplus" accesskey="u" rel="up">Cplusplus</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="C_002b_002b-Class-Names"></a>
+<h3 class="section">8.1 C<tt>++</tt> Class Names</h3>
+
+<p>In C<tt>++</tt>, a class name which is declared with <code>class</code>, <code>struct</code>,
+or <code>union</code>, is not only a tag, as in C, but also a type name. Thus
+there should be stabs with both &lsquo;<samp>t</samp>&rsquo; and &lsquo;<samp>T</samp>&rsquo; symbol descriptors
+(see <a href="Typedefs.html#Typedefs">Typedefs</a>).
+</p>
+<p>To save space, there is a special abbreviation for this case. If the
+&lsquo;<samp>T</samp>&rsquo; symbol descriptor is followed by &lsquo;<samp>t</samp>&rsquo;, then the stab
+defines both a type name and a tag.
+</p>
+<p>For example, the C<tt>++</tt> code
+</p>
+<div class="example">
+<pre class="example">struct foo {int x;};
+</pre></div>
+
+<p>can be represented as either
+</p>
+<div class="example">
+<pre class="example">.stabs &quot;foo:T19=s4x:1,0,32;;&quot;,128,0,0,0 # <span class="roman">128 is N_LSYM</span>
+.stabs &quot;foo:t19&quot;,128,0,0,0
+</pre></div>
+
+<p>or
+</p>
+<div class="example">
+<pre class="example">.stabs &quot;foo:Tt19=s4x:1,0,32;;&quot;,128,0,0,0
+</pre></div>
+
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Common-Blocks.html b/share/doc/stabs/Common-Blocks.html
new file mode 100644
index 0000000..074842d
--- /dev/null
+++ b/share/doc/stabs/Common-Blocks.html
@@ -0,0 +1,102 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Common Blocks</title>
+
+<meta name="description" content="STABS: Common Blocks">
+<meta name="keywords" content="STABS: Common Blocks">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Variables.html#Variables" rel="up" title="Variables">
+<link href="Statics.html#Statics" rel="next" title="Statics">
+<link href="Register-Variables.html#Register-Variables" rel="previous" title="Register Variables">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Common-Blocks"></a>
+<div class="header">
+<p>
+Next: <a href="Statics.html#Statics" accesskey="n" rel="next">Statics</a>, Previous: <a href="Register-Variables.html#Register-Variables" accesskey="p" rel="previous">Register Variables</a>, Up: <a href="Variables.html#Variables" accesskey="u" rel="up">Variables</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Common-Blocks-1"></a>
+<h3 class="section">4.4 Common Blocks</h3>
+
+<p>A common block is a statically allocated section of memory which can be
+referred to by several source files. It may contain several variables.
+I believe Fortran is the only language with this feature.
+</p>
+<a name="index-N_005fBCOMM"></a>
+<a name="index-N_005fECOMM"></a>
+<a name="index-C_005fBCOMM"></a>
+<a name="index-C_005fECOMM"></a>
+<p>A <code>N_BCOMM</code> stab begins a common block and an <code>N_ECOMM</code> stab
+ends it. The only field that is significant in these two stabs is the
+string, which names a normal (non-debugging) symbol that gives the
+address of the common block. According to IBM documentation, only the
+<code>N_BCOMM</code> has the name of the common block (even though their
+compiler actually puts it both places).
+</p>
+<a name="index-N_005fECOML"></a>
+<a name="index-C_005fECOML"></a>
+<p>The stabs for the members of the common block are between the
+<code>N_BCOMM</code> and the <code>N_ECOMM</code>; the value of each stab is the
+offset within the common block of that variable. IBM uses the
+<code>C_ECOML</code> stab type, and there is a corresponding <code>N_ECOML</code>
+stab type, but Sun&rsquo;s Fortran compiler uses <code>N_GSYM</code> instead. The
+variables within a common block use the &lsquo;<samp>V</samp>&rsquo; symbol descriptor (I
+believe this is true of all Fortran variables). Other stabs (at least
+type declarations using <code>C_DECL</code>) can also be between the
+<code>N_BCOMM</code> and the <code>N_ECOMM</code>.
+</p>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Conformant-Arrays.html b/share/doc/stabs/Conformant-Arrays.html
new file mode 100644
index 0000000..59fbe71
--- /dev/null
+++ b/share/doc/stabs/Conformant-Arrays.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Conformant Arrays</title>
+
+<meta name="description" content="STABS: Conformant Arrays">
+<meta name="keywords" content="STABS: Conformant Arrays">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Parameters.html#Parameters" rel="up" title="Parameters">
+<link href="Types.html#Types" rel="next" title="Types">
+<link href="Reference-Parameters.html#Reference-Parameters" rel="previous" title="Reference Parameters">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Conformant-Arrays"></a>
+<div class="header">
+<p>
+Previous: <a href="Reference-Parameters.html#Reference-Parameters" accesskey="p" rel="previous">Reference Parameters</a>, Up: <a href="Parameters.html#Parameters" accesskey="u" rel="up">Parameters</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Passing-Conformant-Array-Parameters"></a>
+<h4 class="subsection">4.7.4 Passing Conformant Array Parameters</h4>
+
+<p>Conformant arrays are a feature of Modula-2, and perhaps other
+languages, in which the size of an array parameter is not known to the
+called function until run-time. Such parameters have two stabs: a
+&lsquo;<samp>x</samp>&rsquo; for the array itself, and a &lsquo;<samp>C</samp>&rsquo;, which represents the size
+of the array. The value of the &lsquo;<samp>x</samp>&rsquo; stab is the offset in the
+argument list where the address of the array is stored (it this right?
+it is a guess); the value of the &lsquo;<samp>C</samp>&rsquo; stab is the offset in the
+argument list where the size of the array (in elements? in bytes?) is
+stored.
+</p>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Constants.html b/share/doc/stabs/Constants.html
new file mode 100644
index 0000000..7cb6bdb
--- /dev/null
+++ b/share/doc/stabs/Constants.html
@@ -0,0 +1,151 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Constants</title>
+
+<meta name="description" content="STABS: Constants">
+<meta name="keywords" content="STABS: Constants">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Variables.html#Variables" rel="next" title="Variables">
+<link href="Alternate-Entry-Points.html#Alternate-Entry-Points" rel="previous" title="Alternate Entry Points">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Constants"></a>
+<div class="header">
+<p>
+Next: <a href="Variables.html#Variables" accesskey="n" rel="next">Variables</a>, Previous: <a href="Program-Structure.html#Program-Structure" accesskey="p" rel="previous">Program Structure</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Constants-1"></a>
+<h2 class="chapter">3 Constants</h2>
+
+<p>The &lsquo;<samp>c</samp>&rsquo; symbol descriptor indicates that this stab represents a
+constant. This symbol descriptor is an exception to the general rule
+that symbol descriptors are followed by type information. Instead, it
+is followed by &lsquo;<samp>=</samp>&rsquo; and one of the following:
+</p>
+<dl compact="compact">
+<dt><code>b <var>value</var></code></dt>
+<dd><p>Boolean constant. <var>value</var> is a numeric value; I assume it is 0 for
+false or 1 for true.
+</p>
+</dd>
+<dt><code>c <var>value</var></code></dt>
+<dd><p>Character constant. <var>value</var> is the numeric value of the constant.
+</p>
+</dd>
+<dt><code>e <var>type-information</var> , <var>value</var></code></dt>
+<dd><p>Constant whose value can be represented as integral.
+<var>type-information</var> is the type of the constant, as it would appear
+after a symbol descriptor (see <a href="String-Field.html#String-Field">String Field</a>). <var>value</var> is the
+numeric value of the constant. GDB 4.9 does not actually get the right
+value if <var>value</var> does not fit in a host <code>int</code>, but it does not
+do anything violent, and future debuggers could be extended to accept
+integers of any size (whether unsigned or not). This constant type is
+usually documented as being only for enumeration constants, but GDB has
+never imposed that restriction; I don&rsquo;t know about other debuggers.
+</p>
+</dd>
+<dt><code>i <var>value</var></code></dt>
+<dd><p>Integer constant. <var>value</var> is the numeric value. The type is some
+sort of generic integer type (for GDB, a host <code>int</code>); to specify
+the type explicitly, use &lsquo;<samp>e</samp>&rsquo; instead.
+</p>
+</dd>
+<dt><code>r <var>value</var></code></dt>
+<dd><p>Real constant. <var>value</var> is the real value, which can be &lsquo;<samp>INF</samp>&rsquo;
+(optionally preceded by a sign) for infinity, &lsquo;<samp>QNAN</samp>&rsquo; for a quiet
+NaN (not-a-number), or &lsquo;<samp>SNAN</samp>&rsquo; for a signalling NaN. If it is a
+normal number the format is that accepted by the C library function
+<code>atof</code>.
+</p>
+</dd>
+<dt><code>s <var>string</var></code></dt>
+<dd><p>String constant. <var>string</var> is a string enclosed in either &lsquo;<samp>'</samp>&rsquo;
+(in which case &lsquo;<samp>'</samp>&rsquo; characters within the string are represented as
+&lsquo;<samp>\'</samp>&rsquo; or &lsquo;<samp>&quot;</samp>&rsquo; (in which case &lsquo;<samp>&quot;</samp>&rsquo; characters within the
+string are represented as &lsquo;<samp>\&quot;</samp>&rsquo;).
+</p>
+</dd>
+<dt><code>S <var>type-information</var> , <var>elements</var> , <var>bits</var> , <var>pattern</var></code></dt>
+<dd><p>Set constant. <var>type-information</var> is the type of the constant, as it
+would appear after a symbol descriptor (see <a href="String-Field.html#String-Field">String Field</a>).
+<var>elements</var> is the number of elements in the set (does this means
+how many bits of <var>pattern</var> are actually used, which would be
+redundant with the type, or perhaps the number of bits set in
+<var>pattern</var>? I don&rsquo;t get it), <var>bits</var> is the number of bits in the
+constant (meaning it specifies the length of <var>pattern</var>, I think),
+and <var>pattern</var> is a hexadecimal representation of the set. AIX
+documentation refers to a limit of 32 bytes, but I see no reason why
+this limit should exist. This form could probably be used for arbitrary
+constants, not just sets; the only catch is that <var>pattern</var> should be
+understood to be target, not host, byte order and format.
+</p></dd>
+</dl>
+
+<p>The boolean, character, string, and set constants are not supported by
+GDB 4.9, but it ignores them. GDB 4.8 and earlier gave an error
+message and refused to read symbols from the file containing the
+constants.
+</p>
+<p>The above information is followed by &lsquo;<samp>;</samp>&rsquo;.
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Variables.html#Variables" accesskey="n" rel="next">Variables</a>, Previous: <a href="Program-Structure.html#Program-Structure" accesskey="p" rel="previous">Program Structure</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Cplusplus.html b/share/doc/stabs/Cplusplus.html
new file mode 100644
index 0000000..6361ff2
--- /dev/null
+++ b/share/doc/stabs/Cplusplus.html
@@ -0,0 +1,106 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Cplusplus</title>
+
+<meta name="description" content="STABS: Cplusplus">
+<meta name="keywords" content="STABS: Cplusplus">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Class-Names.html#Class-Names" rel="next" title="Class Names">
+<link href="Stab-Section-Transformations.html#Stab-Section-Transformations" rel="previous" title="Stab Section Transformations">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Cplusplus"></a>
+<div class="header">
+<p>
+Next: <a href="Stab-Types.html#Stab-Types" accesskey="n" rel="next">Stab Types</a>, Previous: <a href="Symbol-Tables.html#Symbol-Tables" accesskey="p" rel="previous">Symbol Tables</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="GNU-C_002b_002b-Stabs"></a>
+<h2 class="chapter">8 GNU C<tt>++</tt> Stabs</h2>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="Class-Names.html#Class-Names" accesskey="1">Class Names</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">C++ class names are both tags and typedefs.
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Nested-Symbols.html#Nested-Symbols" accesskey="2">Nested Symbols</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">C++ symbol names can be within other types.
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Basic-Cplusplus-Types.html#Basic-Cplusplus-Types" accesskey="3">Basic Cplusplus Types</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Simple-Classes.html#Simple-Classes" accesskey="4">Simple Classes</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Class-Instance.html#Class-Instance" accesskey="5">Class Instance</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Methods.html#Methods" accesskey="6">Methods</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Method definition
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Method-Type-Descriptor.html#Method-Type-Descriptor" accesskey="7">Method Type Descriptor</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">The &lsquo;<samp>#</samp>&rsquo; type descriptor
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Member-Type-Descriptor.html#Member-Type-Descriptor" accesskey="8">Member Type Descriptor</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">The &lsquo;<samp>@</samp>&rsquo; type descriptor
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Protections.html#Protections" accesskey="9">Protections</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Method-Modifiers.html#Method-Modifiers">Method Modifiers</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Virtual-Methods.html#Virtual-Methods">Virtual Methods</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Inheritance.html#Inheritance">Inheritance</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Virtual-Base-Classes.html#Virtual-Base-Classes">Virtual Base Classes</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Static-Members.html#Static-Members">Static Members</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Cross_002dReferences.html b/share/doc/stabs/Cross_002dReferences.html
new file mode 100644
index 0000000..6da60d1
--- /dev/null
+++ b/share/doc/stabs/Cross_002dReferences.html
@@ -0,0 +1,119 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Cross-References</title>
+
+<meta name="description" content="STABS: Cross-References">
+<meta name="keywords" content="STABS: Cross-References">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Types.html#Types" rel="up" title="Types">
+<link href="Subranges.html#Subranges" rel="next" title="Subranges">
+<link href="Miscellaneous-Types.html#Miscellaneous-Types" rel="previous" title="Miscellaneous Types">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Cross_002dReferences"></a>
+<div class="header">
+<p>
+Next: <a href="Subranges.html#Subranges" accesskey="n" rel="next">Subranges</a>, Previous: <a href="Miscellaneous-Types.html#Miscellaneous-Types" accesskey="p" rel="previous">Miscellaneous Types</a>, Up: <a href="Types.html#Types" accesskey="u" rel="up">Types</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Cross_002dReferences-to-Other-Types"></a>
+<h3 class="section">5.3 Cross-References to Other Types</h3>
+
+<p>A type can be used before it is defined; one common way to deal with
+that situation is just to use a type reference to a type which has not
+yet been defined.
+</p>
+<p>Another way is with the &lsquo;<samp>x</samp>&rsquo; type descriptor, which is followed by
+&lsquo;<samp>s</samp>&rsquo; for a structure tag, &lsquo;<samp>u</samp>&rsquo; for a union tag, or &lsquo;<samp>e</samp>&rsquo; for
+a enumerator tag, followed by the name of the tag, followed by &lsquo;<samp>:</samp>&rsquo;.
+If the name contains &lsquo;<samp>::</samp>&rsquo; between a &lsquo;<samp>&lt;</samp>&rsquo; and &lsquo;<samp>&gt;</samp>&rsquo; pair (for
+C<tt>++</tt> templates), such a &lsquo;<samp>::</samp>&rsquo; does not end the name&mdash;only a single
+&lsquo;<samp>:</samp>&rsquo; ends the name; see <a href="Nested-Symbols.html#Nested-Symbols">Nested Symbols</a>.
+</p>
+<p>For example, the following C declarations:
+</p>
+<div class="example">
+<pre class="example">struct foo;
+struct foo *bar;
+</pre></div>
+
+<p>produce:
+</p>
+<div class="example">
+<pre class="example">.stabs &quot;bar:G16=*17=xsfoo:&quot;,32,0,0,0
+</pre></div>
+
+<p>Not all debuggers support the &lsquo;<samp>x</samp>&rsquo; type descriptor, so on some
+machines GCC does not use it. I believe that for the above example it
+would just emit a reference to type 17 and never define it, but I
+haven&rsquo;t verified that.
+</p>
+<p>Modula-2 imported types, at least on AIX, use the &lsquo;<samp>i</samp>&rsquo; type
+descriptor, which is followed by the name of the module from which the
+type is imported, followed by &lsquo;<samp>:</samp>&rsquo;, followed by the name of the
+type. There is then optionally a comma followed by type information for
+the type. This differs from merely naming the type (see <a href="Typedefs.html#Typedefs">Typedefs</a>) in
+that it identifies the module; I don&rsquo;t understand whether the name of
+the type given here is always just the same as the name we are giving
+it, or whether this type descriptor is used with a nameless stab
+(see <a href="String-Field.html#String-Field">String Field</a>), or what. The symbol ends with &lsquo;<samp>;</samp>&rsquo;.
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Subranges.html#Subranges" accesskey="n" rel="next">Subranges</a>, Previous: <a href="Miscellaneous-Types.html#Miscellaneous-Types" accesskey="p" rel="previous">Miscellaneous Types</a>, Up: <a href="Types.html#Types" accesskey="u" rel="up">Types</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/ELF-Linker-Relocation.html b/share/doc/stabs/ELF-Linker-Relocation.html
new file mode 100644
index 0000000..7eb4cc7
--- /dev/null
+++ b/share/doc/stabs/ELF-Linker-Relocation.html
@@ -0,0 +1,133 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: ELF Linker Relocation</title>
+
+<meta name="description" content="STABS: ELF Linker Relocation">
+<meta name="keywords" content="STABS: ELF Linker Relocation">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Stab-Sections.html#Stab-Sections" rel="up" title="Stab Sections">
+<link href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License" rel="next" title="GNU Free Documentation License">
+<link href="Stab-Section-Basics.html#Stab-Section-Basics" rel="previous" title="Stab Section Basics">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="ELF-Linker-Relocation"></a>
+<div class="header">
+<p>
+Previous: <a href="Stab-Section-Basics.html#Stab-Section-Basics" accesskey="p" rel="previous">Stab Section Basics</a>, Up: <a href="Stab-Sections.html#Stab-Sections" accesskey="u" rel="up">Stab Sections</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Having-the-Linker-Relocate-Stabs-in-ELF"></a>
+<h3 class="appendixsec">F.2 Having the Linker Relocate Stabs in ELF</h3>
+
+<p>This section describes some Sun hacks for Stabs in ELF; it does not
+apply to COFF or SOM. While <small>GDB</small> no longer supports this hack
+for Sun Stabs in ELF, this section is kept to document the issue.
+</p>
+<p>To keep linking fast, you don&rsquo;t want the linker to have to relocate very
+many stabs. Making sure this is done for <code>N_SLINE</code>,
+<code>N_RBRAC</code>, and <code>N_LBRAC</code> stabs is the most important thing
+(see the descriptions of those stabs for more information). But Sun&rsquo;s
+stabs in ELF has taken this further, to make all addresses in the
+<code>n_value</code> field (functions and static variables) relative to the
+source file. For the <code>N_SO</code> symbol itself, Sun simply omits the
+address. To find the address of each section corresponding to a given
+source file, the compiler puts out symbols giving the address of each
+section for a given source file. Since these are ELF (not stab)
+symbols, the linker relocates them correctly without having to touch the
+stabs section. They are named <code>Bbss.bss</code> for the bss section,
+<code>Ddata.data</code> for the data section, and <code>Drodata.rodata</code> for
+the rodata section. For the text section, there is no such symbol (but
+there should be, see below). For an example of how these symbols work,
+See <a href="Stab-Section-Transformations.html#Stab-Section-Transformations">Stab Section Transformations</a>. GCC does not provide these symbols;
+it instead relies on the stabs getting relocated. Thus addresses which
+would normally be relative to <code>Bbss.bss</code>, etc., are already
+relocated. The Sun linker provided with Solaris 2.2 and earlier
+relocates stabs using normal ELF relocation information, as it would do
+for any section. Sun has been threatening to kludge their linker to not
+do this (to speed up linking), even though the correct way to avoid
+having the linker do these relocations is to have the compiler no longer
+output relocatable values. Last I heard they had been talked out of the
+linker kludge. See Sun point patch 101052-01 and Sun bug 1142109. With
+the Sun compiler this affects &lsquo;<samp>S</samp>&rsquo; symbol descriptor stabs
+(see <a href="Statics.html#Statics">Statics</a>) and functions (see <a href="Procedures.html#Procedures">Procedures</a>). In the latter
+case, to adopt the clean solution (making the value of the stab relative
+to the start of the compilation unit), it would be necessary to invent a
+<code>Ttext.text</code> symbol, analogous to the <code>Bbss.bss</code>, etc.,
+symbols. I recommend this rather than using a zero value and getting
+the address from the ELF symbols.
+</p>
+<p>Finding the correct <code>Bbss.bss</code>, etc., symbol is difficult, because
+the linker simply concatenates the <code>.stab</code> sections from each
+<samp>.o</samp> file without including any information about which part of a
+<code>.stab</code> section comes from which <samp>.o</samp> file. The way GDB use to
+do this is to look for an ELF <code>STT_FILE</code> symbol which has the same
+name as the last component of the file name from the <code>N_SO</code> symbol
+in the stabs (for example, if the file name is <samp>../../gdb/main.c</samp>,
+it looks for an ELF <code>STT_FILE</code> symbol named <code>main.c</code>). This
+loses if different files have the same name (they could be in different
+directories, a library could have been copied from one system to
+another, etc.). It would be much cleaner to have the <code>Bbss.bss</code>
+symbols in the stabs themselves. Having the linker relocate them there
+is no more work than having the linker relocate ELF symbols, and it
+solves the problem of having to associate the ELF and stab symbols.
+However, no one has yet designed or implemented such a scheme.
+</p>
+<hr>
+<div class="header">
+<p>
+Previous: <a href="Stab-Section-Basics.html#Stab-Section-Basics" accesskey="p" rel="previous">Stab Section Basics</a>, Up: <a href="Stab-Sections.html#Stab-Sections" accesskey="u" rel="up">Stab Sections</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Enumerations.html b/share/doc/stabs/Enumerations.html
new file mode 100644
index 0000000..2a256f6
--- /dev/null
+++ b/share/doc/stabs/Enumerations.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Enumerations</title>
+
+<meta name="description" content="STABS: Enumerations">
+<meta name="keywords" content="STABS: Enumerations">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Types.html#Types" rel="up" title="Types">
+<link href="Structures.html#Structures" rel="next" title="Structures">
+<link href="Strings.html#Strings" rel="previous" title="Strings">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Enumerations"></a>
+<div class="header">
+<p>
+Next: <a href="Structures.html#Structures" accesskey="n" rel="next">Structures</a>, Previous: <a href="Strings.html#Strings" accesskey="p" rel="previous">Strings</a>, Up: <a href="Types.html#Types" accesskey="u" rel="up">Types</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Enumerations-1"></a>
+<h3 class="section">5.7 Enumerations</h3>
+
+<p>Enumerations are defined with the &lsquo;<samp>e</samp>&rsquo; type descriptor.
+</p>
+<p>The source line below declares an enumeration type at file scope.
+The type definition is located after the <code>N_RBRAC</code> that marks the end of
+the previous procedure&rsquo;s block scope, and before the <code>N_FUN</code> that marks
+the beginning of the next procedure&rsquo;s block scope. Therefore it does not
+describe a block local symbol, but a file local one.
+</p>
+<p>The source line:
+</p>
+<div class="example">
+<pre class="example">enum e_places {first,second=3,last};
+</pre></div>
+
+<p>generates the following stab:
+</p>
+<div class="example">
+<pre class="example">.stabs &quot;e_places:T22=efirst:0,second:3,last:4,;&quot;,128,0,0,0
+</pre></div>
+
+<p>The symbol descriptor (&lsquo;<samp>T</samp>&rsquo;) says that the stab describes a
+structure, enumeration, or union tag. The type descriptor &lsquo;<samp>e</samp>&rsquo;,
+following the &lsquo;<samp>22=</samp>&rsquo; of the type definition narrows it down to an
+enumeration type. Following the &lsquo;<samp>e</samp>&rsquo; is a list of the elements of
+the enumeration. The format is &lsquo;<samp><var>name</var>:<var>value</var>,</samp>&rsquo;. The
+list of elements ends with &lsquo;<samp>;</samp>&rsquo;. The fact that <var>value</var> is
+specified as an integer can cause problems if the value is large. GCC
+2.5.2 tries to output it in octal in that case with a leading zero,
+which is probably a good thing, although GDB 4.11 supports octal only in
+cases where decimal is perfectly good. Negative decimal values are
+supported by both GDB and dbx.
+</p>
+<p>There is no standard way to specify the size of an enumeration type; it
+is determined by the architecture (normally all enumerations types are
+32 bits). Type attributes can be used to specify an enumeration type of
+another size for debuggers which support them; see <a href="String-Field.html#String-Field">String Field</a>.
+</p>
+<p>Enumeration types are unusual in that they define symbols for the
+enumeration values (<code>first</code>, <code>second</code>, and <code>third</code> in the
+above example), and even though these symbols are visible in the file as
+a whole (rather than being in a more local namespace like structure
+member names), they are defined in the type definition for the
+enumeration type rather than each having their own symbol. In order to
+be fast, GDB will only get symbols from such types (in its initial scan
+of the stabs) if the type is the first thing defined after a &lsquo;<samp>T</samp>&rsquo; or
+&lsquo;<samp>t</samp>&rsquo; symbol descriptor (the above example fulfills this
+requirement). If the type does not have a name, the compiler should
+emit it in a nameless stab (see <a href="String-Field.html#String-Field">String Field</a>); GCC does this.
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Structures.html#Structures" accesskey="n" rel="next">Structures</a>, Previous: <a href="Strings.html#Strings" accesskey="p" rel="previous">Strings</a>, Up: <a href="Types.html#Types" accesskey="u" rel="up">Types</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Expanded-Reference.html b/share/doc/stabs/Expanded-Reference.html
new file mode 100644
index 0000000..1d122a3
--- /dev/null
+++ b/share/doc/stabs/Expanded-Reference.html
@@ -0,0 +1,130 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Expanded Reference</title>
+
+<meta name="description" content="STABS: Expanded Reference">
+<meta name="keywords" content="STABS: Expanded Reference">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="N_005fPC.html#N_005fPC" rel="next" title="N_PC">
+<link href="Type-Descriptors.html#Type-Descriptors" rel="previous" title="Type Descriptors">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Expanded-Reference"></a>
+<div class="header">
+<p>
+Next: <a href="Questions.html#Questions" accesskey="n" rel="next">Questions</a>, Previous: <a href="Type-Descriptors.html#Type-Descriptors" accesskey="p" rel="previous">Type Descriptors</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Expanded-Reference-by-Stab-Type"></a>
+<h2 class="appendix">Appendix D Expanded Reference by Stab Type</h2>
+
+
+<p>For a full list of stab types, and cross-references to where they are
+described, see <a href="Stab-Types.html#Stab-Types">Stab Types</a>. This appendix just covers certain
+stabs which are not yet described in the main body of this document;
+eventually the information will all be in one place.
+</p>
+<p>Format of an entry:
+</p>
+<p>The first line is the symbol type (see <samp>include/aout/stab.def</samp>).
+</p>
+<p>The second line describes the language constructs the symbol type
+represents.
+</p>
+<p>The third line is the stab format with the significant stab fields
+named and the rest NIL.
+</p>
+<p>Subsequent lines expand upon the meaning and possible values for each
+significant stab field.
+</p>
+<p>Finally, any further information.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="N_005fPC.html#N_005fPC" accesskey="1">N_PC</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Pascal global symbol
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="N_005fNSYMS.html#N_005fNSYMS" accesskey="2">N_NSYMS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Number of symbols
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="N_005fNOMAP.html#N_005fNOMAP" accesskey="3">N_NOMAP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">No DST map
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="N_005fM2C.html#N_005fM2C" accesskey="4">N_M2C</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Modula-2 compilation unit
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="N_005fBROWS.html#N_005fBROWS" accesskey="5">N_BROWS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Path to .cb file for Sun source code browser
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="N_005fDEFD.html#N_005fDEFD" accesskey="6">N_DEFD</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">GNU Modula2 definition module dependency
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="N_005fEHDECL.html#N_005fEHDECL" accesskey="7">N_EHDECL</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">GNU C++ exception variable
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="N_005fMOD2.html#N_005fMOD2" accesskey="8">N_MOD2</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Modula2 information &quot;for imc&quot;
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="N_005fCATCH.html#N_005fCATCH" accesskey="9">N_CATCH</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">GNU C++ &quot;catch&quot; clause
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="N_005fSSYM.html#N_005fSSYM">N_SSYM</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Structure or union element
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="N_005fSCOPE.html#N_005fSCOPE">N_SCOPE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Modula2 scope information (Sun only)
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Gould.html#Gould">Gould</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">non-base register symbols used on Gould systems
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="N_005fLENG.html#N_005fLENG">N_LENG</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Length of preceding entry
+</td></tr>
+</table>
+
+<hr>
+<div class="header">
+<p>
+Next: <a href="Questions.html#Questions" accesskey="n" rel="next">Questions</a>, Previous: <a href="Type-Descriptors.html#Type-Descriptors" accesskey="p" rel="previous">Type Descriptors</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Flow.html b/share/doc/stabs/Flow.html
new file mode 100644
index 0000000..f133a51
--- /dev/null
+++ b/share/doc/stabs/Flow.html
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Flow</title>
+
+<meta name="description" content="STABS: Flow">
+<meta name="keywords" content="STABS: Flow">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Overview.html#Overview" rel="up" title="Overview">
+<link href="Stabs-Format.html#Stabs-Format" rel="next" title="Stabs Format">
+<link href="Overview.html#Overview" rel="previous" title="Overview">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Flow"></a>
+<div class="header">
+<p>
+Next: <a href="Stabs-Format.html#Stabs-Format" accesskey="n" rel="next">Stabs Format</a>, Up: <a href="Overview.html#Overview" accesskey="u" rel="up">Overview</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Overview-of-Debugging-Information-Flow"></a>
+<h3 class="section">1.1 Overview of Debugging Information Flow</h3>
+
+<p>The GNU C compiler compiles C source in a <samp>.c</samp> file into assembly
+language in a <samp>.s</samp> file, which the assembler translates into
+a <samp>.o</samp> file, which the linker combines with other <samp>.o</samp> files and
+libraries to produce an executable file.
+</p>
+<p>With the &lsquo;<samp>-g</samp>&rsquo; option, GCC puts in the <samp>.s</samp> file additional
+debugging information, which is slightly transformed by the assembler
+and linker, and carried through into the final executable. This
+debugging information describes features of the source file like line
+numbers, the types and scopes of variables, and function names,
+parameters, and scopes.
+</p>
+<p>For some object file formats, the debugging information is encapsulated
+in assembler directives known collectively as <em>stab</em> (symbol table)
+directives, which are interspersed with the generated code. Stabs are
+the native format for debugging information in the a.out and XCOFF
+object file formats. The GNU tools can also emit stabs in the COFF and
+ECOFF object file formats.
+</p>
+<p>The assembler adds the information from stabs to the symbol information
+it places by default in the symbol table and the string table of the
+<samp>.o</samp> file it is building. The linker consolidates the <samp>.o</samp>
+files into one executable file, with one symbol table and one string
+table. Debuggers use the symbol and string tables in the executable as
+a source of debugging information about the program.
+</p>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Function-Types.html b/share/doc/stabs/Function-Types.html
new file mode 100644
index 0000000..29a71c5
--- /dev/null
+++ b/share/doc/stabs/Function-Types.html
@@ -0,0 +1,115 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Function Types</title>
+
+<meta name="description" content="STABS: Function Types">
+<meta name="keywords" content="STABS: Function Types">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Types.html#Types" rel="up" title="Types">
+<link href="Macro-define-and-undefine.html#Macro-define-and-undefine" rel="next" title="Macro define and undefine">
+<link href="Unions.html#Unions" rel="previous" title="Unions">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Function-Types"></a>
+<div class="header">
+<p>
+Previous: <a href="Unions.html#Unions" accesskey="p" rel="previous">Unions</a>, Up: <a href="Types.html#Types" accesskey="u" rel="up">Types</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Function-Types-1"></a>
+<h3 class="section">5.11 Function Types</h3>
+
+<p>Various types can be defined for function variables. These types are
+not used in defining functions (see <a href="Procedures.html#Procedures">Procedures</a>); they are used for
+things like pointers to functions.
+</p>
+<p>The simple, traditional, type is type descriptor &lsquo;<samp>f</samp>&rsquo; is followed by
+type information for the return type of the function, followed by a
+semicolon.
+</p>
+<p>This does not deal with functions for which the number and types of the
+parameters are part of the type, as in Modula-2 or ANSI C. AIX provides
+extensions to specify these, using the &lsquo;<samp>f</samp>&rsquo;, &lsquo;<samp>F</samp>&rsquo;, &lsquo;<samp>p</samp>&rsquo;, and
+&lsquo;<samp>R</samp>&rsquo; type descriptors.
+</p>
+<p>First comes the type descriptor. If it is &lsquo;<samp>f</samp>&rsquo; or &lsquo;<samp>F</samp>&rsquo;, this
+type involves a function rather than a procedure, and the type
+information for the return type of the function follows, followed by a
+comma. Then comes the number of parameters to the function and a
+semicolon. Then, for each parameter, there is the name of the parameter
+followed by a colon (this is only present for type descriptors &lsquo;<samp>R</samp>&rsquo;
+and &lsquo;<samp>F</samp>&rsquo; which represent Pascal function or procedure parameters),
+type information for the parameter, a comma, 0 if passed by reference or
+1 if passed by value, and a semicolon. The type definition ends with a
+semicolon.
+</p>
+<p>For example, this variable definition:
+</p>
+<div class="example">
+<pre class="example">int (*g_pf)();
+</pre></div>
+
+<p>generates the following code:
+</p>
+<div class="example">
+<pre class="example">.stabs &quot;g_pf:G24=*25=f1&quot;,32,0,0,0
+ .common _g_pf,4,&quot;bss&quot;
+</pre></div>
+
+<p>The variable defines a new type, 24, which is a pointer to another new
+type, 25, which is a function returning <code>int</code>.
+</p>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/GNU-Free-Documentation-License.html b/share/doc/stabs/GNU-Free-Documentation-License.html
new file mode 100644
index 0000000..94f47bf
--- /dev/null
+++ b/share/doc/stabs/GNU-Free-Documentation-License.html
@@ -0,0 +1,548 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: GNU Free Documentation License</title>
+
+<meta name="description" content="STABS: GNU Free Documentation License">
+<meta name="keywords" content="STABS: GNU Free Documentation License">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="next" title="Symbol Types Index">
+<link href="ELF-Linker-Relocation.html#ELF-Linker-Relocation" rel="previous" title="ELF Linker Relocation">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="GNU-Free-Documentation-License"></a>
+<div class="header">
+<p>
+Next: <a href="Symbol-Types-Index.html#Symbol-Types-Index" accesskey="n" rel="next">Symbol Types Index</a>, Previous: <a href="Stab-Sections.html#Stab-Sections" accesskey="p" rel="previous">Stab Sections</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="GNU-Free-Documentation-License-1"></a>
+<h2 class="appendix">Appendix G GNU Free Documentation License</h2>
+<div align="center">Version 1.3, 3 November 2008
+</div>
+
+<div class="display">
+<pre class="display">Copyright &copy; 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
+<a href="http://fsf.org/">http://fsf.org/</a>
+
+Everyone is permitted to copy and distribute verbatim copies
+of this license document, but changing it is not allowed.
+</pre></div>
+
+<ol>
+<li> PREAMBLE
+
+<p>The purpose of this License is to make a manual, textbook, or other
+functional and useful document <em>free</em> in the sense of freedom: to
+assure everyone the effective freedom to copy and redistribute it,
+with or without modifying it, either commercially or noncommercially.
+Secondarily, this License preserves for the author and publisher a way
+to get credit for their work, while not being considered responsible
+for modifications made by others.
+</p>
+<p>This License is a kind of &ldquo;copyleft&rdquo;, which means that derivative
+works of the document must themselves be free in the same sense. It
+complements the GNU General Public License, which is a copyleft
+license designed for free software.
+</p>
+<p>We have designed this License in order to use it for manuals for free
+software, because free software needs free documentation: a free
+program should come with manuals providing the same freedoms that the
+software does. But this License is not limited to software manuals;
+it can be used for any textual work, regardless of subject matter or
+whether it is published as a printed book. We recommend this License
+principally for works whose purpose is instruction or reference.
+</p>
+</li><li> APPLICABILITY AND DEFINITIONS
+
+<p>This License applies to any manual or other work, in any medium, that
+contains a notice placed by the copyright holder saying it can be
+distributed under the terms of this License. Such a notice grants a
+world-wide, royalty-free license, unlimited in duration, to use that
+work under the conditions stated herein. The &ldquo;Document&rdquo;, below,
+refers to any such manual or work. Any member of the public is a
+licensee, and is addressed as &ldquo;you&rdquo;. You accept the license if you
+copy, modify or distribute the work in a way requiring permission
+under copyright law.
+</p>
+<p>A &ldquo;Modified Version&rdquo; of the Document means any work containing the
+Document or a portion of it, either copied verbatim, or with
+modifications and/or translated into another language.
+</p>
+<p>A &ldquo;Secondary Section&rdquo; is a named appendix or a front-matter section
+of the Document that deals exclusively with the relationship of the
+publishers or authors of the Document to the Document&rsquo;s overall
+subject (or to related matters) and contains nothing that could fall
+directly within that overall subject. (Thus, if the Document is in
+part a textbook of mathematics, a Secondary Section may not explain
+any mathematics.) The relationship could be a matter of historical
+connection with the subject or with related matters, or of legal,
+commercial, philosophical, ethical or political position regarding
+them.
+</p>
+<p>The &ldquo;Invariant Sections&rdquo; are certain Secondary Sections whose titles
+are designated, as being those of Invariant Sections, in the notice
+that says that the Document is released under this License. If a
+section does not fit the above definition of Secondary then it is not
+allowed to be designated as Invariant. The Document may contain zero
+Invariant Sections. If the Document does not identify any Invariant
+Sections then there are none.
+</p>
+<p>The &ldquo;Cover Texts&rdquo; are certain short passages of text that are listed,
+as Front-Cover Texts or Back-Cover Texts, in the notice that says that
+the Document is released under this License. A Front-Cover Text may
+be at most 5 words, and a Back-Cover Text may be at most 25 words.
+</p>
+<p>A &ldquo;Transparent&rdquo; copy of the Document means a machine-readable copy,
+represented in a format whose specification is available to the
+general public, that is suitable for revising the document
+straightforwardly with generic text editors or (for images composed of
+pixels) generic paint programs or (for drawings) some widely available
+drawing editor, and that is suitable for input to text formatters or
+for automatic translation to a variety of formats suitable for input
+to text formatters. A copy made in an otherwise Transparent file
+format whose markup, or absence of markup, has been arranged to thwart
+or discourage subsequent modification by readers is not Transparent.
+An image format is not Transparent if used for any substantial amount
+of text. A copy that is not &ldquo;Transparent&rdquo; is called &ldquo;Opaque&rdquo;.
+</p>
+<p>Examples of suitable formats for Transparent copies include plain
+<small>ASCII</small> without markup, Texinfo input format, LaTeX input
+format, <acronym>SGML</acronym> or <acronym>XML</acronym> using a publicly available
+<acronym>DTD</acronym>, and standard-conforming simple <acronym>HTML</acronym>,
+PostScript or <acronym>PDF</acronym> designed for human modification. Examples
+of transparent image formats include <acronym>PNG</acronym>, <acronym>XCF</acronym> and
+<acronym>JPG</acronym>. Opaque formats include proprietary formats that can be
+read and edited only by proprietary word processors, <acronym>SGML</acronym> or
+<acronym>XML</acronym> for which the <acronym>DTD</acronym> and/or processing tools are
+not generally available, and the machine-generated <acronym>HTML</acronym>,
+PostScript or <acronym>PDF</acronym> produced by some word processors for
+output purposes only.
+</p>
+<p>The &ldquo;Title Page&rdquo; means, for a printed book, the title page itself,
+plus such following pages as are needed to hold, legibly, the material
+this License requires to appear in the title page. For works in
+formats which do not have any title page as such, &ldquo;Title Page&rdquo; means
+the text near the most prominent appearance of the work&rsquo;s title,
+preceding the beginning of the body of the text.
+</p>
+<p>The &ldquo;publisher&rdquo; means any person or entity that distributes copies
+of the Document to the public.
+</p>
+<p>A section &ldquo;Entitled XYZ&rdquo; means a named subunit of the Document whose
+title either is precisely XYZ or contains XYZ in parentheses following
+text that translates XYZ in another language. (Here XYZ stands for a
+specific section name mentioned below, such as &ldquo;Acknowledgements&rdquo;,
+&ldquo;Dedications&rdquo;, &ldquo;Endorsements&rdquo;, or &ldquo;History&rdquo;.) To &ldquo;Preserve the Title&rdquo;
+of such a section when you modify the Document means that it remains a
+section &ldquo;Entitled XYZ&rdquo; according to this definition.
+</p>
+<p>The Document may include Warranty Disclaimers next to the notice which
+states that this License applies to the Document. These Warranty
+Disclaimers are considered to be included by reference in this
+License, but only as regards disclaiming warranties: any other
+implication that these Warranty Disclaimers may have is void and has
+no effect on the meaning of this License.
+</p>
+</li><li> VERBATIM COPYING
+
+<p>You may copy and distribute the Document in any medium, either
+commercially or noncommercially, provided that this License, the
+copyright notices, and the license notice saying this License applies
+to the Document are reproduced in all copies, and that you add no other
+conditions whatsoever to those of this License. You may not use
+technical measures to obstruct or control the reading or further
+copying of the copies you make or distribute. However, you may accept
+compensation in exchange for copies. If you distribute a large enough
+number of copies you must also follow the conditions in section 3.
+</p>
+<p>You may also lend copies, under the same conditions stated above, and
+you may publicly display copies.
+</p>
+</li><li> COPYING IN QUANTITY
+
+<p>If you publish printed copies (or copies in media that commonly have
+printed covers) of the Document, numbering more than 100, and the
+Document&rsquo;s license notice requires Cover Texts, you must enclose the
+copies in covers that carry, clearly and legibly, all these Cover
+Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
+the back cover. Both covers must also clearly and legibly identify
+you as the publisher of these copies. The front cover must present
+the full title with all words of the title equally prominent and
+visible. You may add other material on the covers in addition.
+Copying with changes limited to the covers, as long as they preserve
+the title of the Document and satisfy these conditions, can be treated
+as verbatim copying in other respects.
+</p>
+<p>If the required texts for either cover are too voluminous to fit
+legibly, you should put the first ones listed (as many as fit
+reasonably) on the actual cover, and continue the rest onto adjacent
+pages.
+</p>
+<p>If you publish or distribute Opaque copies of the Document numbering
+more than 100, you must either include a machine-readable Transparent
+copy along with each Opaque copy, or state in or with each Opaque copy
+a computer-network location from which the general network-using
+public has access to download using public-standard network protocols
+a complete Transparent copy of the Document, free of added material.
+If you use the latter option, you must take reasonably prudent steps,
+when you begin distribution of Opaque copies in quantity, to ensure
+that this Transparent copy will remain thus accessible at the stated
+location until at least one year after the last time you distribute an
+Opaque copy (directly or through your agents or retailers) of that
+edition to the public.
+</p>
+<p>It is requested, but not required, that you contact the authors of the
+Document well before redistributing any large number of copies, to give
+them a chance to provide you with an updated version of the Document.
+</p>
+</li><li> MODIFICATIONS
+
+<p>You may copy and distribute a Modified Version of the Document under
+the conditions of sections 2 and 3 above, provided that you release
+the Modified Version under precisely this License, with the Modified
+Version filling the role of the Document, thus licensing distribution
+and modification of the Modified Version to whoever possesses a copy
+of it. In addition, you must do these things in the Modified Version:
+</p>
+<ol>
+<li> Use in the Title Page (and on the covers, if any) a title distinct
+from that of the Document, and from those of previous versions
+(which should, if there were any, be listed in the History section
+of the Document). You may use the same title as a previous version
+if the original publisher of that version gives permission.
+
+</li><li> List on the Title Page, as authors, one or more persons or entities
+responsible for authorship of the modifications in the Modified
+Version, together with at least five of the principal authors of the
+Document (all of its principal authors, if it has fewer than five),
+unless they release you from this requirement.
+
+</li><li> State on the Title page the name of the publisher of the
+Modified Version, as the publisher.
+
+</li><li> Preserve all the copyright notices of the Document.
+
+</li><li> Add an appropriate copyright notice for your modifications
+adjacent to the other copyright notices.
+
+</li><li> Include, immediately after the copyright notices, a license notice
+giving the public permission to use the Modified Version under the
+terms of this License, in the form shown in the Addendum below.
+
+</li><li> Preserve in that license notice the full lists of Invariant Sections
+and required Cover Texts given in the Document&rsquo;s license notice.
+
+</li><li> Include an unaltered copy of this License.
+
+</li><li> Preserve the section Entitled &ldquo;History&rdquo;, Preserve its Title, and add
+to it an item stating at least the title, year, new authors, and
+publisher of the Modified Version as given on the Title Page. If
+there is no section Entitled &ldquo;History&rdquo; in the Document, create one
+stating the title, year, authors, and publisher of the Document as
+given on its Title Page, then add an item describing the Modified
+Version as stated in the previous sentence.
+
+</li><li> Preserve the network location, if any, given in the Document for
+public access to a Transparent copy of the Document, and likewise
+the network locations given in the Document for previous versions
+it was based on. These may be placed in the &ldquo;History&rdquo; section.
+You may omit a network location for a work that was published at
+least four years before the Document itself, or if the original
+publisher of the version it refers to gives permission.
+
+</li><li> For any section Entitled &ldquo;Acknowledgements&rdquo; or &ldquo;Dedications&rdquo;, Preserve
+the Title of the section, and preserve in the section all the
+substance and tone of each of the contributor acknowledgements and/or
+dedications given therein.
+
+</li><li> Preserve all the Invariant Sections of the Document,
+unaltered in their text and in their titles. Section numbers
+or the equivalent are not considered part of the section titles.
+
+</li><li> Delete any section Entitled &ldquo;Endorsements&rdquo;. Such a section
+may not be included in the Modified Version.
+
+</li><li> Do not retitle any existing section to be Entitled &ldquo;Endorsements&rdquo; or
+to conflict in title with any Invariant Section.
+
+</li><li> Preserve any Warranty Disclaimers.
+</li></ol>
+
+<p>If the Modified Version includes new front-matter sections or
+appendices that qualify as Secondary Sections and contain no material
+copied from the Document, you may at your option designate some or all
+of these sections as invariant. To do this, add their titles to the
+list of Invariant Sections in the Modified Version&rsquo;s license notice.
+These titles must be distinct from any other section titles.
+</p>
+<p>You may add a section Entitled &ldquo;Endorsements&rdquo;, provided it contains
+nothing but endorsements of your Modified Version by various
+parties&mdash;for example, statements of peer review or that the text has
+been approved by an organization as the authoritative definition of a
+standard.
+</p>
+<p>You may add a passage of up to five words as a Front-Cover Text, and a
+passage of up to 25 words as a Back-Cover Text, to the end of the list
+of Cover Texts in the Modified Version. Only one passage of
+Front-Cover Text and one of Back-Cover Text may be added by (or
+through arrangements made by) any one entity. If the Document already
+includes a cover text for the same cover, previously added by you or
+by arrangement made by the same entity you are acting on behalf of,
+you may not add another; but you may replace the old one, on explicit
+permission from the previous publisher that added the old one.
+</p>
+<p>The author(s) and publisher(s) of the Document do not by this License
+give permission to use their names for publicity for or to assert or
+imply endorsement of any Modified Version.
+</p>
+</li><li> COMBINING DOCUMENTS
+
+<p>You may combine the Document with other documents released under this
+License, under the terms defined in section 4 above for modified
+versions, provided that you include in the combination all of the
+Invariant Sections of all of the original documents, unmodified, and
+list them all as Invariant Sections of your combined work in its
+license notice, and that you preserve all their Warranty Disclaimers.
+</p>
+<p>The combined work need only contain one copy of this License, and
+multiple identical Invariant Sections may be replaced with a single
+copy. If there are multiple Invariant Sections with the same name but
+different contents, make the title of each such section unique by
+adding at the end of it, in parentheses, the name of the original
+author or publisher of that section if known, or else a unique number.
+Make the same adjustment to the section titles in the list of
+Invariant Sections in the license notice of the combined work.
+</p>
+<p>In the combination, you must combine any sections Entitled &ldquo;History&rdquo;
+in the various original documents, forming one section Entitled
+&ldquo;History&rdquo;; likewise combine any sections Entitled &ldquo;Acknowledgements&rdquo;,
+and any sections Entitled &ldquo;Dedications&rdquo;. You must delete all
+sections Entitled &ldquo;Endorsements.&rdquo;
+</p>
+</li><li> COLLECTIONS OF DOCUMENTS
+
+<p>You may make a collection consisting of the Document and other documents
+released under this License, and replace the individual copies of this
+License in the various documents with a single copy that is included in
+the collection, provided that you follow the rules of this License for
+verbatim copying of each of the documents in all other respects.
+</p>
+<p>You may extract a single document from such a collection, and distribute
+it individually under this License, provided you insert a copy of this
+License into the extracted document, and follow this License in all
+other respects regarding verbatim copying of that document.
+</p>
+</li><li> AGGREGATION WITH INDEPENDENT WORKS
+
+<p>A compilation of the Document or its derivatives with other separate
+and independent documents or works, in or on a volume of a storage or
+distribution medium, is called an &ldquo;aggregate&rdquo; if the copyright
+resulting from the compilation is not used to limit the legal rights
+of the compilation&rsquo;s users beyond what the individual works permit.
+When the Document is included in an aggregate, this License does not
+apply to the other works in the aggregate which are not themselves
+derivative works of the Document.
+</p>
+<p>If the Cover Text requirement of section 3 is applicable to these
+copies of the Document, then if the Document is less than one half of
+the entire aggregate, the Document&rsquo;s Cover Texts may be placed on
+covers that bracket the Document within the aggregate, or the
+electronic equivalent of covers if the Document is in electronic form.
+Otherwise they must appear on printed covers that bracket the whole
+aggregate.
+</p>
+</li><li> TRANSLATION
+
+<p>Translation is considered a kind of modification, so you may
+distribute translations of the Document under the terms of section 4.
+Replacing Invariant Sections with translations requires special
+permission from their copyright holders, but you may include
+translations of some or all Invariant Sections in addition to the
+original versions of these Invariant Sections. You may include a
+translation of this License, and all the license notices in the
+Document, and any Warranty Disclaimers, provided that you also include
+the original English version of this License and the original versions
+of those notices and disclaimers. In case of a disagreement between
+the translation and the original version of this License or a notice
+or disclaimer, the original version will prevail.
+</p>
+<p>If a section in the Document is Entitled &ldquo;Acknowledgements&rdquo;,
+&ldquo;Dedications&rdquo;, or &ldquo;History&rdquo;, the requirement (section 4) to Preserve
+its Title (section 1) will typically require changing the actual
+title.
+</p>
+</li><li> TERMINATION
+
+<p>You may not copy, modify, sublicense, or distribute the Document
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense, or distribute it is void, and
+will automatically terminate your rights under this License.
+</p>
+<p>However, if you cease all violation of this License, then your license
+from a particular copyright holder is reinstated (a) provisionally,
+unless and until the copyright holder explicitly and finally
+terminates your license, and (b) permanently, if the copyright holder
+fails to notify you of the violation by some reasonable means prior to
+60 days after the cessation.
+</p>
+<p>Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+</p>
+<p>Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, receipt of a copy of some or all of the same material does
+not give you any rights to use it.
+</p>
+</li><li> FUTURE REVISIONS OF THIS LICENSE
+
+<p>The Free Software Foundation may publish new, revised versions
+of the GNU Free Documentation License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns. See
+<a href="http://www.gnu.org/copyleft/">http://www.gnu.org/copyleft/</a>.
+</p>
+<p>Each version of the License is given a distinguishing version number.
+If the Document specifies that a particular numbered version of this
+License &ldquo;or any later version&rdquo; applies to it, you have the option of
+following the terms and conditions either of that specified version or
+of any later version that has been published (not as a draft) by the
+Free Software Foundation. If the Document does not specify a version
+number of this License, you may choose any version ever published (not
+as a draft) by the Free Software Foundation. If the Document
+specifies that a proxy can decide which future versions of this
+License can be used, that proxy&rsquo;s public statement of acceptance of a
+version permanently authorizes you to choose that version for the
+Document.
+</p>
+</li><li> RELICENSING
+
+<p>&ldquo;Massive Multiauthor Collaboration Site&rdquo; (or &ldquo;MMC Site&rdquo;) means any
+World Wide Web server that publishes copyrightable works and also
+provides prominent facilities for anybody to edit those works. A
+public wiki that anybody can edit is an example of such a server. A
+&ldquo;Massive Multiauthor Collaboration&rdquo; (or &ldquo;MMC&rdquo;) contained in the
+site means any set of copyrightable works thus published on the MMC
+site.
+</p>
+<p>&ldquo;CC-BY-SA&rdquo; means the Creative Commons Attribution-Share Alike 3.0
+license published by Creative Commons Corporation, a not-for-profit
+corporation with a principal place of business in San Francisco,
+California, as well as future copyleft versions of that license
+published by that same organization.
+</p>
+<p>&ldquo;Incorporate&rdquo; means to publish or republish a Document, in whole or
+in part, as part of another Document.
+</p>
+<p>An MMC is &ldquo;eligible for relicensing&rdquo; if it is licensed under this
+License, and if all works that were first published under this License
+somewhere other than this MMC, and subsequently incorporated in whole
+or in part into the MMC, (1) had no cover texts or invariant sections,
+and (2) were thus incorporated prior to November 1, 2008.
+</p>
+<p>The operator of an MMC Site may republish an MMC contained in the site
+under CC-BY-SA on the same site at any time before August 1, 2009,
+provided the MMC is eligible for relicensing.
+</p>
+</li></ol>
+
+<a name="ADDENDUM_003a-How-to-use-this-License-for-your-documents"></a>
+<h3 class="heading">ADDENDUM: How to use this License for your documents</h3>
+
+<p>To use this License in a document you have written, include a copy of
+the License in the document and put the following copyright and
+license notices just after the title page:
+</p>
+<div class="smallexample">
+<pre class="smallexample"> Copyright (C) <var>year</var> <var>your name</var>.
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.3
+ or any later version published by the Free Software Foundation;
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
+ Texts. A copy of the license is included in the section entitled ``GNU
+ Free Documentation License''.
+</pre></div>
+
+<p>If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
+replace the &ldquo;with&hellip;Texts.&rdquo; line with this:
+</p>
+<div class="smallexample">
+<pre class="smallexample"> with the Invariant Sections being <var>list their titles</var>, with
+ the Front-Cover Texts being <var>list</var>, and with the Back-Cover Texts
+ being <var>list</var>.
+</pre></div>
+
+<p>If you have Invariant Sections without Cover Texts, or some other
+combination of the three, merge those two alternatives to suit the
+situation.
+</p>
+<p>If your document contains nontrivial examples of program code, we
+recommend releasing these examples in parallel under your choice of
+free software license, such as the GNU General Public License,
+to permit their use in free software.
+</p>
+
+<hr>
+<div class="header">
+<p>
+Next: <a href="Symbol-Types-Index.html#Symbol-Types-Index" accesskey="n" rel="next">Symbol Types Index</a>, Previous: <a href="Stab-Sections.html#Stab-Sections" accesskey="p" rel="previous">Stab Sections</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Global-Variables.html b/share/doc/stabs/Global-Variables.html
new file mode 100644
index 0000000..7b567aa
--- /dev/null
+++ b/share/doc/stabs/Global-Variables.html
@@ -0,0 +1,109 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Global Variables</title>
+
+<meta name="description" content="STABS: Global Variables">
+<meta name="keywords" content="STABS: Global Variables">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Variables.html#Variables" rel="up" title="Variables">
+<link href="Register-Variables.html#Register-Variables" rel="next" title="Register Variables">
+<link href="Stack-Variables.html#Stack-Variables" rel="previous" title="Stack Variables">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Global-Variables"></a>
+<div class="header">
+<p>
+Next: <a href="Register-Variables.html#Register-Variables" accesskey="n" rel="next">Register Variables</a>, Previous: <a href="Stack-Variables.html#Stack-Variables" accesskey="p" rel="previous">Stack Variables</a>, Up: <a href="Variables.html#Variables" accesskey="u" rel="up">Variables</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Global-Variables-1"></a>
+<h3 class="section">4.2 Global Variables</h3>
+
+<a name="index-N_005fGSYM"></a>
+<a name="index-C_005fGSYM"></a>
+<p>A variable whose scope is not specific to just one source file is
+represented by the &lsquo;<samp>G</samp>&rsquo; symbol descriptor. These stabs use the
+<code>N_GSYM</code> stab type (C_GSYM for XCOFF). The type information for
+the stab (see <a href="String-Field.html#String-Field">String Field</a>) gives the type of the variable.
+</p>
+<p>For example, the following source code:
+</p>
+<div class="example">
+<pre class="example">char g_foo = 'c';
+</pre></div>
+
+<p>yields the following assembly code:
+</p>
+<div class="example">
+<pre class="example">.stabs &quot;g_foo:G2&quot;,32,0,0,0 # <span class="roman">32 is N_GSYM</span>
+ .global _g_foo
+ .data
+_g_foo:
+ .byte 99
+</pre></div>
+
+<p>The address of the variable represented by the <code>N_GSYM</code> is not
+contained in the <code>N_GSYM</code> stab. The debugger gets this information
+from the external symbol for the global variable. In the example above,
+the <code>.global _g_foo</code> and <code>_g_foo:</code> lines tell the assembler to
+produce an external symbol.
+</p>
+<p>Some compilers, like GCC, output <code>N_GSYM</code> stabs only once, where
+the variable is defined. Other compilers, like SunOS4 /bin/cc, output a
+<code>N_GSYM</code> stab for each compilation unit which references the
+variable.
+</p>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Gould.html b/share/doc/stabs/Gould.html
new file mode 100644
index 0000000..0ad650d
--- /dev/null
+++ b/share/doc/stabs/Gould.html
@@ -0,0 +1,104 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Gould</title>
+
+<meta name="description" content="STABS: Gould">
+<meta name="keywords" content="STABS: Gould">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Expanded-Reference.html#Expanded-Reference" rel="up" title="Expanded Reference">
+<link href="N_005fLENG.html#N_005fLENG" rel="next" title="N_LENG">
+<link href="N_005fSCOPE.html#N_005fSCOPE" rel="previous" title="N_SCOPE">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Gould"></a>
+<div class="header">
+<p>
+Next: <a href="N_005fLENG.html#N_005fLENG" accesskey="n" rel="next">N_LENG</a>, Previous: <a href="N_005fSCOPE.html#N_005fSCOPE" accesskey="p" rel="previous">N_SCOPE</a>, Up: <a href="Expanded-Reference.html#Expanded-Reference" accesskey="u" rel="up">Expanded Reference</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Non_002dbase-registers-on-Gould-systems"></a>
+<h3 class="section">D.12 Non-base registers on Gould systems</h3>
+
+<dl>
+<dt><a name="index-N_005fNBTEXT"></a><code>.stab?</code>: <strong>N_NBTEXT</strong></dt>
+<dt><a name="index-N_005fNBDATA"></a><code>.stab?</code>: <strong>N_NBDATA</strong></dt>
+<dt><a name="index-N_005fNBBSS"></a><code>.stab?</code>: <strong>N_NBBSS</strong></dt>
+<dt><a name="index-N_005fNBSTS"></a><code>.stab?</code>: <strong>N_NBSTS</strong></dt>
+<dt><a name="index-N_005fNBLCS"></a><code>.stab?</code>: <strong>N_NBLCS</strong></dt>
+<dd><a name="index-N_005fNBTEXT-1"></a>
+<a name="index-N_005fNBDATA-1"></a>
+<a name="index-N_005fNBBSS-1"></a>
+<a name="index-N_005fNBSTS-1"></a>
+<a name="index-N_005fNBLCS-1"></a>
+<p>These are used on Gould systems for non-base registers syms.
+</p>
+<p>However, the following values are not the values used by Gould; they are
+the values which GNU has been documenting for these values for a long
+time, without actually checking what Gould uses. I include these values
+only because perhaps some someone actually did something with the GNU
+information (I hope not, why GNU knowingly assigned wrong values to
+these in the header file is a complete mystery to me).
+</p>
+<div class="example">
+<pre class="example">240 0xf0 N_NBTEXT ??
+242 0xf2 N_NBDATA ??
+244 0xf4 N_NBBSS ??
+246 0xf6 N_NBSTS ??
+248 0xf8 N_NBLCS ??
+</pre></div>
+</dd></dl>
+
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Include-Files.html b/share/doc/stabs/Include-Files.html
new file mode 100644
index 0000000..c934cb5
--- /dev/null
+++ b/share/doc/stabs/Include-Files.html
@@ -0,0 +1,132 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Include Files</title>
+
+<meta name="description" content="STABS: Include Files">
+<meta name="keywords" content="STABS: Include Files">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Program-Structure.html#Program-Structure" rel="up" title="Program Structure">
+<link href="Line-Numbers.html#Line-Numbers" rel="next" title="Line Numbers">
+<link href="Source-Files.html#Source-Files" rel="previous" title="Source Files">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Include-Files"></a>
+<div class="header">
+<p>
+Next: <a href="Line-Numbers.html#Line-Numbers" accesskey="n" rel="next">Line Numbers</a>, Previous: <a href="Source-Files.html#Source-Files" accesskey="p" rel="previous">Source Files</a>, Up: <a href="Program-Structure.html#Program-Structure" accesskey="u" rel="up">Program Structure</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Names-of-Include-Files"></a>
+<h3 class="section">2.3 Names of Include Files</h3>
+
+<p>There are several schemes for dealing with include files: the
+traditional <code>N_SOL</code> approach, Sun&rsquo;s <code>N_BINCL</code> approach, and the
+XCOFF <code>C_BINCL</code> approach (which despite the similar name has little in
+common with <code>N_BINCL</code>).
+</p>
+<a name="index-N_005fSOL"></a>
+<p>An <code>N_SOL</code> symbol specifies which include file subsequent symbols
+refer to. The string field is the name of the file and the value is the
+text address corresponding to the end of the previous include file and
+the start of this one. To specify the main source file again, use an
+<code>N_SOL</code> symbol with the name of the main source file.
+</p>
+<a name="index-N_005fBINCL"></a>
+<a name="index-N_005fEINCL"></a>
+<a name="index-N_005fEXCL"></a>
+<p>The <code>N_BINCL</code> approach works as follows. An <code>N_BINCL</code> symbol
+specifies the start of an include file. In an object file, only the
+string is significant; the linker puts data into some of the other
+fields. The end of the include file is marked by an <code>N_EINCL</code>
+symbol (which has no string field). In an object file, there is no
+significant data in the <code>N_EINCL</code> symbol. <code>N_BINCL</code> and
+<code>N_EINCL</code> can be nested.
+</p>
+<p>If the linker detects that two source files have identical stabs between
+an <code>N_BINCL</code> and <code>N_EINCL</code> pair (as will generally be the case
+for a header file), then it only puts out the stabs once. Each
+additional occurrence is replaced by an <code>N_EXCL</code> symbol. I believe
+the GNU linker and the Sun (both SunOS4 and Solaris) linker are the only
+ones which supports this feature.
+</p>
+<p>A linker which supports this feature will set the value of a
+<code>N_BINCL</code> symbol to the total of all the characters in the stabs
+strings included in the header file, omitting any file numbers. The
+value of an <code>N_EXCL</code> symbol is the same as the value of the
+<code>N_BINCL</code> symbol it replaces. This information can be used to
+match up <code>N_EXCL</code> and <code>N_BINCL</code> symbols which have the same
+filename. The <code>N_EINCL</code> value, and the values of the other and
+description fields for all three, appear to always be zero.
+</p>
+<a name="index-C_005fBINCL"></a>
+<a name="index-C_005fEINCL"></a>
+<p>For the start of an include file in XCOFF, use the <samp>.bi</samp> assembler
+directive, which generates a <code>C_BINCL</code> symbol. A <samp>.ei</samp>
+directive, which generates a <code>C_EINCL</code> symbol, denotes the end of
+the include file. Both directives are followed by the name of the
+source file in quotes, which becomes the string for the symbol.
+The value of each symbol, produced automatically by the assembler
+and linker, is the offset into the executable of the beginning
+(inclusive, as you&rsquo;d expect) or end (inclusive, as you would not expect)
+of the portion of the COFF line table that corresponds to this include
+file. <code>C_BINCL</code> and <code>C_EINCL</code> do not nest.
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Line-Numbers.html#Line-Numbers" accesskey="n" rel="next">Line Numbers</a>, Previous: <a href="Source-Files.html#Source-Files" accesskey="p" rel="previous">Source Files</a>, Up: <a href="Program-Structure.html#Program-Structure" accesskey="u" rel="up">Program Structure</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Inheritance.html b/share/doc/stabs/Inheritance.html
new file mode 100644
index 0000000..ad2e79d
--- /dev/null
+++ b/share/doc/stabs/Inheritance.html
@@ -0,0 +1,179 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Inheritance</title>
+
+<meta name="description" content="STABS: Inheritance">
+<meta name="keywords" content="STABS: Inheritance">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Cplusplus.html#Cplusplus" rel="up" title="Cplusplus">
+<link href="Virtual-Base-Classes.html#Virtual-Base-Classes" rel="next" title="Virtual Base Classes">
+<link href="Virtual-Methods.html#Virtual-Methods" rel="previous" title="Virtual Methods">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Inheritance"></a>
+<div class="header">
+<p>
+Next: <a href="Virtual-Base-Classes.html#Virtual-Base-Classes" accesskey="n" rel="next">Virtual Base Classes</a>, Previous: <a href="Virtual-Methods.html#Virtual-Methods" accesskey="p" rel="previous">Virtual Methods</a>, Up: <a href="Cplusplus.html#Cplusplus" accesskey="u" rel="up">Cplusplus</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Inheritance-1"></a>
+<h3 class="section">8.12 Inheritance</h3>
+
+<p>Stabs describing C<tt>++</tt> derived classes include additional sections that
+describe the inheritance hierarchy of the class. A derived class stab
+also encodes the number of base classes. For each base class it tells
+if the base class is virtual or not, and if the inheritance is private
+or public. It also gives the offset into the object of the portion of
+the object corresponding to each base class.
+</p>
+<p>This additional information is embedded in the class stab following the
+number of bytes in the struct. First the number of base classes
+appears bracketed by an exclamation point and a comma.
+</p>
+<p>Then for each base type there repeats a series: a virtual character, a
+visibility character, a number, a comma, another number, and a
+semi-colon.
+</p>
+<p>The virtual character is &lsquo;<samp>1</samp>&rsquo; if the base class is virtual and
+&lsquo;<samp>0</samp>&rsquo; if not. The visibility character is &lsquo;<samp>2</samp>&rsquo; if the derivation
+is public, &lsquo;<samp>1</samp>&rsquo; if it is protected, and &lsquo;<samp>0</samp>&rsquo; if it is private.
+Debuggers should ignore virtual or visibility characters they do not
+recognize, and assume a reasonable default (such as public and
+non-virtual) (GDB 4.11 does not, but this should be fixed in the next
+GDB release).
+</p>
+<p>The number following the virtual and visibility characters is the offset
+from the start of the object to the part of the object pertaining to the
+base class.
+</p>
+<p>After the comma, the second number is a type_descriptor for the base
+type. Finally a semi-colon ends the series, which repeats for each
+base class.
+</p>
+<p>The source below defines three base classes <code>A</code>, <code>B</code>, and
+<code>C</code> and the derived class <code>D</code>.
+</p>
+
+<div class="example">
+<pre class="example">class A {
+public:
+ int Adat;
+ virtual int A_virt (int arg) { return arg; };
+};
+
+class B {
+public:
+ int B_dat;
+ virtual int B_virt (int arg) {return arg; };
+};
+
+class C {
+public:
+ int Cdat;
+ virtual int C_virt (int arg) {return arg; };
+};
+
+class D : A, virtual B, public C {
+public:
+ int Ddat;
+ virtual int A_virt (int arg ) { return arg+1; };
+ virtual int B_virt (int arg) { return arg+2; };
+ virtual int C_virt (int arg) { return arg+3; };
+ virtual int D_virt (int arg) { return arg; };
+};
+</pre></div>
+
+<p>Class stabs similar to the ones described earlier are generated for
+each base class.
+</p>
+<div class="smallexample">
+<pre class="smallexample">.stabs &quot;A:T20=s8Adat:1,0,32;$vf20:21=*22=ar1;0;1;17,32;
+ A_virt::23=##1;:i;2A*-2147483647;20;;;~%20;&quot;,128,0,0,0
+
+.stabs &quot;B:Tt25=s8Bdat:1,0,32;$vf25:21,32;B_virt::26=##1;
+ :i;2A*-2147483647;25;;;~%25;&quot;,128,0,0,0
+
+.stabs &quot;C:Tt28=s8Cdat:1,0,32;$vf28:21,32;C_virt::29=##1;
+ :i;2A*-2147483647;28;;;~%28;&quot;,128,0,0,0
+</pre></div>
+
+<p>In the stab describing derived class <code>D</code> below, the information about
+the derivation of this class is encoded as follows.
+</p>
+<div class="display">
+<pre class="display">.stabs &quot;derived_class_name:symbol_descriptors(struct tag&amp;type)=
+ type_descriptor(struct)struct_bytes(32)!num_bases(3),
+ base_virtual(no)inheritance_public(no)base_offset(0),
+ base_class_type_ref(A);
+ base_virtual(yes)inheritance_public(no)base_offset(NIL),
+ base_class_type_ref(B);
+ base_virtual(no)inheritance_public(yes)base_offset(64),
+ base_class_type_ref(C); &hellip;
+</pre></div>
+
+<div class="smallexample">
+<pre class="smallexample">.stabs &quot;D:Tt31=s32!3,000,20;100,25;0264,28;$vb25:24,128;Ddat:
+ 1,160,32;A_virt::32=##1;:i;2A*-2147483647;20;;B_virt:
+ :32:i;2A*-2147483647;25;;C_virt::32:i;2A*-2147483647;
+ 28;;D_virt::32:i;2A*-2147483646;31;;;~%20;&quot;,128,0,0,0
+</pre></div>
+
+<hr>
+<div class="header">
+<p>
+Next: <a href="Virtual-Base-Classes.html#Virtual-Base-Classes" accesskey="n" rel="next">Virtual Base Classes</a>, Previous: <a href="Virtual-Methods.html#Virtual-Methods" accesskey="p" rel="previous">Virtual Methods</a>, Up: <a href="Cplusplus.html#Cplusplus" accesskey="u" rel="up">Cplusplus</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Line-Numbers.html b/share/doc/stabs/Line-Numbers.html
new file mode 100644
index 0000000..ef3b09c
--- /dev/null
+++ b/share/doc/stabs/Line-Numbers.html
@@ -0,0 +1,103 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Line Numbers</title>
+
+<meta name="description" content="STABS: Line Numbers">
+<meta name="keywords" content="STABS: Line Numbers">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Program-Structure.html#Program-Structure" rel="up" title="Program Structure">
+<link href="Procedures.html#Procedures" rel="next" title="Procedures">
+<link href="Include-Files.html#Include-Files" rel="previous" title="Include Files">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Line-Numbers"></a>
+<div class="header">
+<p>
+Next: <a href="Procedures.html#Procedures" accesskey="n" rel="next">Procedures</a>, Previous: <a href="Include-Files.html#Include-Files" accesskey="p" rel="previous">Include Files</a>, Up: <a href="Program-Structure.html#Program-Structure" accesskey="u" rel="up">Program Structure</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Line-Numbers-1"></a>
+<h3 class="section">2.4 Line Numbers</h3>
+
+<a name="index-N_005fSLINE"></a>
+<p>An <code>N_SLINE</code> symbol represents the start of a source line. The
+desc field contains the line number and the value contains the code
+address for the start of that source line. On most machines the address
+is absolute; for stabs in sections (see <a href="Stab-Sections.html#Stab-Sections">Stab Sections</a>), it is
+relative to the function in which the <code>N_SLINE</code> symbol occurs.
+</p>
+<a name="index-N_005fDSLINE"></a>
+<a name="index-N_005fBSLINE"></a>
+<p>GNU documents <code>N_DSLINE</code> and <code>N_BSLINE</code> symbols for line
+numbers in the data or bss segments, respectively. They are identical
+to <code>N_SLINE</code> but are relocated differently by the linker. They
+were intended to be used to describe the source location of a variable
+declaration, but I believe that GCC2 actually puts the line number in
+the desc field of the stab for the variable itself. GDB has been
+ignoring these symbols (unless they contain a string field) since
+at least GDB 3.5.
+</p>
+<p>For single source lines that generate discontiguous code, such as flow
+of control statements, there may be more than one line number entry for
+the same source line. In this case there is a line number entry at the
+start of each code range, each with the same line number.
+</p>
+<p>XCOFF does not use stabs for line numbers. Instead, it uses COFF line
+numbers (which are outside the scope of this document). Standard COFF
+line numbers cannot deal with include files, but in XCOFF this is fixed
+with the <code>C_BINCL</code> method of marking include files (see <a href="Include-Files.html#Include-Files">Include Files</a>).
+</p>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Local-Variable-Parameters.html b/share/doc/stabs/Local-Variable-Parameters.html
new file mode 100644
index 0000000..7e26292
--- /dev/null
+++ b/share/doc/stabs/Local-Variable-Parameters.html
@@ -0,0 +1,143 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Local Variable Parameters</title>
+
+<meta name="description" content="STABS: Local Variable Parameters">
+<meta name="keywords" content="STABS: Local Variable Parameters">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Parameters.html#Parameters" rel="up" title="Parameters">
+<link href="Reference-Parameters.html#Reference-Parameters" rel="next" title="Reference Parameters">
+<link href="Register-Parameters.html#Register-Parameters" rel="previous" title="Register Parameters">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Local-Variable-Parameters"></a>
+<div class="header">
+<p>
+Next: <a href="Reference-Parameters.html#Reference-Parameters" accesskey="n" rel="next">Reference Parameters</a>, Previous: <a href="Register-Parameters.html#Register-Parameters" accesskey="p" rel="previous">Register Parameters</a>, Up: <a href="Parameters.html#Parameters" accesskey="u" rel="up">Parameters</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Storing-Parameters-as-Local-Variables"></a>
+<h4 class="subsection">4.7.2 Storing Parameters as Local Variables</h4>
+
+<p>There is a case similar to an argument in a register, which is an
+argument that is actually stored as a local variable. Sometimes this
+happens when the argument was passed in a register and then the compiler
+stores it as a local variable. If possible, the compiler should claim
+that it&rsquo;s in a register, but this isn&rsquo;t always done.
+</p>
+<p>If a parameter is passed as one type and converted to a smaller type by
+the prologue (for example, the parameter is declared as a <code>float</code>,
+but the calling conventions specify that it is passed as a
+<code>double</code>), then GCC2 (sometimes) uses a pair of symbols. The first
+symbol uses symbol descriptor &lsquo;<samp>p</samp>&rsquo; and the type which is passed.
+The second symbol has the type and location which the parameter actually
+has after the prologue. For example, suppose the following C code
+appears with no prototypes involved:
+</p>
+<div class="example">
+<pre class="example">void
+subr (f)
+ float f;
+{
+</pre></div>
+
+<p>if <code>f</code> is passed as a double at stack offset 8, and the prologue
+converts it to a float in register number 0, then the stabs look like:
+</p>
+<div class="example">
+<pre class="example">.stabs &quot;f:p13&quot;,160,0,3,8 # <span class="roman">160 is <code>N_PSYM</code>, here 13 is <code>double</code></span>
+.stabs &quot;f:r12&quot;,64,0,3,0 # <span class="roman">64 is <code>N_RSYM</code>, here 12 is <code>float</code></span>
+</pre></div>
+
+<p>In both stabs 3 is the line number where <code>f</code> is declared
+(see <a href="Line-Numbers.html#Line-Numbers">Line Numbers</a>).
+</p>
+<a name="index-N_005fLSYM_002c-for-parameter"></a>
+<p>GCC, at least on the 960, has another solution to the same problem. It
+uses a single &lsquo;<samp>p</samp>&rsquo; symbol descriptor for an argument which is stored
+as a local variable but uses <code>N_LSYM</code> instead of <code>N_PSYM</code>. In
+this case, the value of the symbol is an offset relative to the local
+variables for that function, not relative to the arguments; on some
+machines those are the same thing, but not on all.
+</p>
+<p>On the VAX or on other machines in which the calling convention includes
+the number of words of arguments actually passed, the debugger (GDB at
+least) uses the parameter symbols to keep track of whether it needs to
+print nameless arguments in addition to the formal parameters which it
+has printed because each one has a stab. For example, in
+</p>
+<div class="example">
+<pre class="example">extern int fprintf (FILE *stream, char *format, &hellip;);
+&hellip;
+fprintf (stdout, &quot;%d\n&quot;, x);
+</pre></div>
+
+<p>there are stabs for <code>stream</code> and <code>format</code>. On most machines,
+the debugger can only print those two arguments (because it has no way
+of knowing that additional arguments were passed), but on the VAX or
+other machines with a calling convention which indicates the number of
+words of arguments, the debugger can print all three arguments. To do
+so, the parameter symbol (symbol descriptor &lsquo;<samp>p</samp>&rsquo;) (not necessarily
+&lsquo;<samp>r</samp>&rsquo; or symbol descriptor omitted symbols) needs to contain the
+actual type as passed (for example, <code>double</code> not <code>float</code> if it
+is passed as a double and converted to a float).
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Reference-Parameters.html#Reference-Parameters" accesskey="n" rel="next">Reference Parameters</a>, Previous: <a href="Register-Parameters.html#Register-Parameters" accesskey="p" rel="previous">Register Parameters</a>, Up: <a href="Parameters.html#Parameters" accesskey="u" rel="up">Parameters</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Macro-define-and-undefine.html b/share/doc/stabs/Macro-define-and-undefine.html
new file mode 100644
index 0000000..7636cc7
--- /dev/null
+++ b/share/doc/stabs/Macro-define-and-undefine.html
@@ -0,0 +1,134 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Macro define and undefine</title>
+
+<meta name="description" content="STABS: Macro define and undefine">
+<meta name="keywords" content="STABS: Macro define and undefine">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Symbol-Tables.html#Symbol-Tables" rel="next" title="Symbol Tables">
+<link href="Function-Types.html#Function-Types" rel="previous" title="Function Types">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Macro-define-and-undefine"></a>
+<div class="header">
+<p>
+Next: <a href="Symbol-Tables.html#Symbol-Tables" accesskey="n" rel="next">Symbol Tables</a>, Previous: <a href="Types.html#Types" accesskey="p" rel="previous">Types</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Representation-of-_0023define-and-_0023undef"></a>
+<h2 class="chapter">6 Representation of #define and #undef</h2>
+
+<p>This section describes the stabs support for macro define and undefine
+information, supported on some systems. (e.g., with <samp>-g3</samp>
+<samp>-gstabs</samp> when using GCC).
+</p>
+<p>A <code>#define <var>macro-name</var> <var>macro-body</var></code> is represented with
+an <code>N_MAC_DEFINE</code> stab with a string field of
+<code><var>macro-name</var> <var>macro-body</var></code>.
+<a name="index-N_005fMAC_005fDEFINE"></a>
+</p>
+<p>An <code>#undef <var>macro-name</var></code> is represented with an
+<code>N_MAC_UNDEF</code> stabs with a string field of simply
+<code><var>macro-name</var></code>.
+<a name="index-N_005fMAC_005fUNDEF"></a>
+</p>
+<p>For both <code>N_MAC_DEFINE</code> and <code>N_MAC_UNDEF</code>, the desc field is
+the line number within the file where the corresponding <code>#define</code>
+or <code>#undef</code> occurred.
+</p>
+<p>For example, the following C code:
+</p>
+<div class="example">
+<pre class="example"> #define NONE 42
+ #define TWO(a, b) (a + (a) + 2 * b)
+ #define ONE(c) (c + 19)
+
+ main(int argc, char *argv[])
+ {
+ func(NONE, TWO(10, 11));
+ func(NONE, ONE(23));
+
+ #undef ONE
+ #define ONE(c) (c + 23)
+
+ func(NONE, ONE(-23));
+
+ return (0);
+ }
+
+ int global;
+
+ func(int arg1, int arg2)
+ {
+ global = arg1 + arg2;
+ }
+</pre></div>
+
+<p>produces the following stabs (as well as many others):
+</p>
+<div class="example">
+<pre class="example"> .stabs &quot;NONE 42&quot;,54,0,1,0
+ .stabs &quot;TWO(a,b) (a + (a) + 2 * b)&quot;,54,0,2,0
+ .stabs &quot;ONE(c) (c + 19)&quot;,54,0,3,0
+ .stabs &quot;ONE&quot;,58,0,10,0
+ .stabs &quot;ONE(c) (c + 23)&quot;,54,0,11,0
+</pre></div>
+
+<p>NOTE: In the above example, <code>54</code> is <code>N_MAC_DEFINE</code> and
+<code>58</code> is <code>N_MAC_UNDEF</code>.
+</p>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Main-Program.html b/share/doc/stabs/Main-Program.html
new file mode 100644
index 0000000..c671339
--- /dev/null
+++ b/share/doc/stabs/Main-Program.html
@@ -0,0 +1,84 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Main Program</title>
+
+<meta name="description" content="STABS: Main Program">
+<meta name="keywords" content="STABS: Main Program">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Program-Structure.html#Program-Structure" rel="up" title="Program Structure">
+<link href="Source-Files.html#Source-Files" rel="next" title="Source Files">
+<link href="Program-Structure.html#Program-Structure" rel="previous" title="Program Structure">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Main-Program"></a>
+<div class="header">
+<p>
+Next: <a href="Source-Files.html#Source-Files" accesskey="n" rel="next">Source Files</a>, Up: <a href="Program-Structure.html#Program-Structure" accesskey="u" rel="up">Program Structure</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Main-Program-1"></a>
+<h3 class="section">2.1 Main Program</h3>
+
+<a name="index-N_005fMAIN"></a>
+<p>Most languages allow the main program to have any name. The
+<code>N_MAIN</code> stab type tells the debugger the name that is used in this
+program. Only the string field is significant; it is the name of
+a function which is the main program. Most C compilers do not use this
+stab (they expect the debugger to assume that the name is <code>main</code>),
+but some C compilers emit an <code>N_MAIN</code> stab for the <code>main</code>
+function. I&rsquo;m not sure how XCOFF handles this.
+</p>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Member-Type-Descriptor.html b/share/doc/stabs/Member-Type-Descriptor.html
new file mode 100644
index 0000000..291e33e
--- /dev/null
+++ b/share/doc/stabs/Member-Type-Descriptor.html
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Member Type Descriptor</title>
+
+<meta name="description" content="STABS: Member Type Descriptor">
+<meta name="keywords" content="STABS: Member Type Descriptor">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Cplusplus.html#Cplusplus" rel="up" title="Cplusplus">
+<link href="Protections.html#Protections" rel="next" title="Protections">
+<link href="Method-Type-Descriptor.html#Method-Type-Descriptor" rel="previous" title="Method Type Descriptor">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Member-Type-Descriptor"></a>
+<div class="header">
+<p>
+Next: <a href="Protections.html#Protections" accesskey="n" rel="next">Protections</a>, Previous: <a href="Method-Type-Descriptor.html#Method-Type-Descriptor" accesskey="p" rel="previous">Method Type Descriptor</a>, Up: <a href="Cplusplus.html#Cplusplus" accesskey="u" rel="up">Cplusplus</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="The-_0040-Type-Descriptor"></a>
+<h3 class="section">8.8 The &lsquo;<samp>@</samp>&rsquo; Type Descriptor</h3>
+
+<p>The &lsquo;<samp>@</samp>&rsquo; type descriptor is used for a
+pointer-to-non-static-member-data type. It is followed
+by type information for the class (or union), a comma, and type
+information for the member data.
+</p>
+<p>The following C<tt>++</tt> source:
+</p>
+<div class="smallexample">
+<pre class="smallexample">typedef int A::*int_in_a;
+</pre></div>
+
+<p>generates the following stab:
+</p>
+<div class="smallexample">
+<pre class="smallexample">.stabs &quot;int_in_a:t20=21=@19,1&quot;,128,0,0,0
+</pre></div>
+
+<p>Note that there is a conflict between this and type attributes
+(see <a href="String-Field.html#String-Field">String Field</a>); both use type descriptor &lsquo;<samp>@</samp>&rsquo;.
+Fortunately, the &lsquo;<samp>@</samp>&rsquo; type descriptor used in this C<tt>++</tt> sense always
+will be followed by a digit, &lsquo;<samp>(</samp>&rsquo;, or &lsquo;<samp>-</samp>&rsquo;, and type attributes
+never start with those things.
+</p>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Method-Modifiers.html b/share/doc/stabs/Method-Modifiers.html
new file mode 100644
index 0000000..1beee9b
--- /dev/null
+++ b/share/doc/stabs/Method-Modifiers.html
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Method Modifiers</title>
+
+<meta name="description" content="STABS: Method Modifiers">
+<meta name="keywords" content="STABS: Method Modifiers">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Cplusplus.html#Cplusplus" rel="up" title="Cplusplus">
+<link href="Virtual-Methods.html#Virtual-Methods" rel="next" title="Virtual Methods">
+<link href="Protections.html#Protections" rel="previous" title="Protections">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Method-Modifiers"></a>
+<div class="header">
+<p>
+Next: <a href="Virtual-Methods.html#Virtual-Methods" accesskey="n" rel="next">Virtual Methods</a>, Previous: <a href="Protections.html#Protections" accesskey="p" rel="previous">Protections</a>, Up: <a href="Cplusplus.html#Cplusplus" accesskey="u" rel="up">Cplusplus</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Method-Modifiers-_0028const_002c-volatile_002c-const-volatile_0029"></a>
+<h3 class="section">8.10 Method Modifiers (<code>const</code>, <code>volatile</code>, <code>const volatile</code>)</h3>
+
+<p>&lt;&lt; based on a6.C &gt;&gt;
+</p>
+<p>In the class example described above all the methods have the normal
+modifier. This method modifier information is located just after the
+protection information for the method. This field has four possible
+character values. Normal methods use &lsquo;<samp>A</samp>&rsquo;, const methods use
+&lsquo;<samp>B</samp>&rsquo;, volatile methods use &lsquo;<samp>C</samp>&rsquo;, and const volatile methods use
+&lsquo;<samp>D</samp>&rsquo;. Consider the class definition below:
+</p>
+<div class="example">
+<pre class="example">class A {
+public:
+ int ConstMeth (int arg) const { return arg; };
+ char VolatileMeth (char arg) volatile { return arg; };
+ float ConstVolMeth (float arg) const volatile {return arg; };
+};
+</pre></div>
+
+<p>This class is described by the following stab:
+</p>
+<div class="display">
+<pre class="display">.stabs &quot;class(A):sym_desc(struct)type_def(20)=type_desc(struct)struct_bytes(1)
+ meth_name(ConstMeth)::type_def(21)sym_desc(method)
+ returning(int);:arg(int);protection(public)modifier(const)virtual(no);
+ meth_name(VolatileMeth)::type_def(22)=sym_desc(method)
+ returning(char);:arg(char);protection(public)modifier(volatile)virt(no)
+ meth_name(ConstVolMeth)::type_def(23)=sym_desc(method)
+ returning(float);:arg(float);protection(public)modifier(const volatile)
+ virtual(no);;&quot;, &hellip;
+</pre></div>
+
+<div class="example">
+<pre class="example">.stabs &quot;A:T20=s1ConstMeth::21=##1;:i;2B.;VolatileMeth::22=##2;:c;2C.;
+ ConstVolMeth::23=##12;:f;2D.;;&quot;,128,0,0,0
+</pre></div>
+
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Method-Type-Descriptor.html b/share/doc/stabs/Method-Type-Descriptor.html
new file mode 100644
index 0000000..c497f33
--- /dev/null
+++ b/share/doc/stabs/Method-Type-Descriptor.html
@@ -0,0 +1,95 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Method Type Descriptor</title>
+
+<meta name="description" content="STABS: Method Type Descriptor">
+<meta name="keywords" content="STABS: Method Type Descriptor">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Cplusplus.html#Cplusplus" rel="up" title="Cplusplus">
+<link href="Member-Type-Descriptor.html#Member-Type-Descriptor" rel="next" title="Member Type Descriptor">
+<link href="Methods.html#Methods" rel="previous" title="Methods">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Method-Type-Descriptor"></a>
+<div class="header">
+<p>
+Next: <a href="Member-Type-Descriptor.html#Member-Type-Descriptor" accesskey="n" rel="next">Member Type Descriptor</a>, Previous: <a href="Methods.html#Methods" accesskey="p" rel="previous">Methods</a>, Up: <a href="Cplusplus.html#Cplusplus" accesskey="u" rel="up">Cplusplus</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="The-_0023-Type-Descriptor"></a>
+<h3 class="section">8.7 The &lsquo;<samp>#</samp>&rsquo; Type Descriptor</h3>
+
+<p>This is used to describe a class method. This is a function which takes
+an extra argument as its first argument, for the <code>this</code> pointer.
+</p>
+<p>If the &lsquo;<samp>#</samp>&rsquo; is immediately followed by another &lsquo;<samp>#</samp>&rsquo;, the second
+one will be followed by the return type and a semicolon. The class and
+argument types are not specified, and must be determined by demangling
+the name of the method if it is available.
+</p>
+<p>Otherwise, the single &lsquo;<samp>#</samp>&rsquo; is followed by the class type, a comma,
+the return type, a comma, and zero or more parameter types separated by
+commas. The list of arguments is terminated by a semicolon. In the
+debugging output generated by gcc, a final argument type of <code>void</code>
+indicates a method which does not take a variable number of arguments.
+If the final argument type of <code>void</code> does not appear, the method
+was declared with an ellipsis.
+</p>
+<p>Note that although such a type will normally be used to describe fields
+in structures, unions, or classes, for at least some versions of the
+compiler it can also be used in other contexts.
+</p>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Methods.html b/share/doc/stabs/Methods.html
new file mode 100644
index 0000000..650038c
--- /dev/null
+++ b/share/doc/stabs/Methods.html
@@ -0,0 +1,141 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Methods</title>
+
+<meta name="description" content="STABS: Methods">
+<meta name="keywords" content="STABS: Methods">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Cplusplus.html#Cplusplus" rel="up" title="Cplusplus">
+<link href="Method-Type-Descriptor.html#Method-Type-Descriptor" rel="next" title="Method Type Descriptor">
+<link href="Class-Instance.html#Class-Instance" rel="previous" title="Class Instance">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Methods"></a>
+<div class="header">
+<p>
+Next: <a href="Method-Type-Descriptor.html#Method-Type-Descriptor" accesskey="n" rel="next">Method Type Descriptor</a>, Previous: <a href="Class-Instance.html#Class-Instance" accesskey="p" rel="previous">Class Instance</a>, Up: <a href="Cplusplus.html#Cplusplus" accesskey="u" rel="up">Cplusplus</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Method-Definition"></a>
+<h3 class="section">8.6 Method Definition</h3>
+
+<p>The class definition shown above declares Ameth. The C<tt>++</tt> source below
+defines Ameth:
+</p>
+<div class="example">
+<pre class="example">int
+baseA::Ameth(int in, char other)
+{
+ return in;
+};
+</pre></div>
+
+
+<p>This method definition yields three stabs following the code of the
+method. One stab describes the method itself and following two describe
+its parameters. Although there is only one formal argument all methods
+have an implicit argument which is the <code>this</code> pointer. The <code>this</code>
+pointer is a pointer to the object on which the method was called. Note
+that the method name is mangled to encode the class name and argument
+types. Name mangling is described in the <small>ARM</small> (<cite>The Annotated
+C++ Reference Manual</cite>, by Ellis and Stroustrup, <small>ISBN</small>
+0-201-51459-1); <samp>gpcompare.texi</samp> in Cygnus GCC distributions
+describes the differences between GNU mangling and <small>ARM</small>
+mangling.
+</p>
+<div class="example">
+<pre class="example">.stabs &quot;name:symbol_descriptor(global function)return_type(int)&quot;,
+ N_FUN, NIL, NIL, code_addr_of_method_start
+
+.stabs &quot;Ameth__5baseAic:F1&quot;,36,0,0,_Ameth__5baseAic
+</pre></div>
+
+<p>Here is the stab for the <code>this</code> pointer implicit argument. The
+name of the <code>this</code> pointer is always <code>this</code>. Type 19, the
+<code>this</code> pointer is defined as a pointer to type 20, <code>baseA</code>,
+but a stab defining <code>baseA</code> has not yet been emitted. Since the
+compiler knows it will be emitted shortly, here it just outputs a cross
+reference to the undefined symbol, by prefixing the symbol name with
+&lsquo;<samp>xs</samp>&rsquo;.
+</p>
+<div class="example">
+<pre class="example">.stabs &quot;name:sym_desc(register param)type_def(19)=
+ type_desc(ptr to)type_ref(baseA)=
+ type_desc(cross-reference to)baseA:&quot;,N_RSYM,NIL,NIL,register_number
+
+.stabs &quot;this:P19=*20=xsbaseA:&quot;,64,0,0,8
+</pre></div>
+
+<p>The stab for the explicit integer argument looks just like a parameter
+to a C function. The last field of the stab is the offset from the
+argument pointer, which in most systems is the same as the frame
+pointer.
+</p>
+<div class="example">
+<pre class="example">.stabs &quot;name:sym_desc(value parameter)type_ref(int)&quot;,
+ N_PSYM,NIL,NIL,offset_from_arg_ptr
+
+.stabs &quot;in:p1&quot;,160,0,0,72
+</pre></div>
+
+<p>&lt;&lt; The examples that follow are based on A1.C &gt;&gt;
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Method-Type-Descriptor.html#Method-Type-Descriptor" accesskey="n" rel="next">Method Type Descriptor</a>, Previous: <a href="Class-Instance.html#Class-Instance" accesskey="p" rel="previous">Class Instance</a>, Up: <a href="Cplusplus.html#Cplusplus" accesskey="u" rel="up">Cplusplus</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Miscellaneous-Types.html b/share/doc/stabs/Miscellaneous-Types.html
new file mode 100644
index 0000000..e543f49
--- /dev/null
+++ b/share/doc/stabs/Miscellaneous-Types.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Miscellaneous Types</title>
+
+<meta name="description" content="STABS: Miscellaneous Types">
+<meta name="keywords" content="STABS: Miscellaneous Types">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Types.html#Types" rel="up" title="Types">
+<link href="Cross_002dReferences.html#Cross_002dReferences" rel="next" title="Cross-References">
+<link href="Negative-Type-Numbers.html#Negative-Type-Numbers" rel="previous" title="Negative Type Numbers">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Miscellaneous-Types"></a>
+<div class="header">
+<p>
+Next: <a href="Cross_002dReferences.html#Cross_002dReferences" accesskey="n" rel="next">Cross-References</a>, Previous: <a href="Builtin-Types.html#Builtin-Types" accesskey="p" rel="previous">Builtin Types</a>, Up: <a href="Types.html#Types" accesskey="u" rel="up">Types</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Miscellaneous-Types-1"></a>
+<h3 class="section">5.2 Miscellaneous Types</h3>
+
+<dl compact="compact">
+<dt><code>b <var>type-information</var> ; <var>bytes</var></code></dt>
+<dd><p>Pascal space type. This is documented by IBM; what does it mean?
+</p>
+<p>This use of the &lsquo;<samp>b</samp>&rsquo; type descriptor can be distinguished
+from its use for builtin integral types (see <a href="Builtin-Type-Descriptors.html#Builtin-Type-Descriptors">Builtin Type Descriptors</a>) because the character following the type descriptor is
+always a digit, &lsquo;<samp>(</samp>&rsquo;, or &lsquo;<samp>-</samp>&rsquo;.
+</p>
+</dd>
+<dt><code>B <var>type-information</var></code></dt>
+<dd><p>A volatile-qualified version of <var>type-information</var>. This is
+a Sun extension. References and stores to a variable with a
+volatile-qualified type must not be optimized or cached; they
+must occur as the user specifies them.
+</p>
+</dd>
+<dt><code>d <var>type-information</var></code></dt>
+<dd><p>File of type <var>type-information</var>. As far as I know this is only used
+by Pascal.
+</p>
+</dd>
+<dt><code>k <var>type-information</var></code></dt>
+<dd><p>A const-qualified version of <var>type-information</var>. This is a Sun
+extension. A variable with a const-qualified type cannot be modified.
+</p>
+</dd>
+<dt><code>M <var>type-information</var> ; <var>length</var></code></dt>
+<dd><p>Multiple instance type. The type seems to composed of <var>length</var>
+repetitions of <var>type-information</var>, for example <code>character*3</code> is
+represented by &lsquo;<samp>M-2;3</samp>&rsquo;, where &lsquo;<samp>-2</samp>&rsquo; is a reference to a
+character type (see <a href="Negative-Type-Numbers.html#Negative-Type-Numbers">Negative Type Numbers</a>). I&rsquo;m not sure how this
+differs from an array. This appears to be a Fortran feature.
+<var>length</var> is a bound, like those in range types; see <a href="Subranges.html#Subranges">Subranges</a>.
+</p>
+</dd>
+<dt><code>S <var>type-information</var></code></dt>
+<dd><p>Pascal set type. <var>type-information</var> must be a small type such as an
+enumeration or a subrange, and the type is a bitmask whose length is
+specified by the number of elements in <var>type-information</var>.
+</p>
+<p>In CHILL, if it is a bitstring instead of a set, also use the &lsquo;<samp>S</samp>&rsquo;
+type attribute (see <a href="String-Field.html#String-Field">String Field</a>).
+</p>
+</dd>
+<dt><code>* <var>type-information</var></code></dt>
+<dd><p>Pointer to <var>type-information</var>.
+</p></dd>
+</dl>
+
+<hr>
+<div class="header">
+<p>
+Next: <a href="Cross_002dReferences.html#Cross_002dReferences" accesskey="n" rel="next">Cross-References</a>, Previous: <a href="Builtin-Types.html#Builtin-Types" accesskey="p" rel="previous">Builtin Types</a>, Up: <a href="Types.html#Types" accesskey="u" rel="up">Types</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/N_005fBROWS.html b/share/doc/stabs/N_005fBROWS.html
new file mode 100644
index 0000000..8afc8e3
--- /dev/null
+++ b/share/doc/stabs/N_005fBROWS.html
@@ -0,0 +1,86 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: N_BROWS</title>
+
+<meta name="description" content="STABS: N_BROWS">
+<meta name="keywords" content="STABS: N_BROWS">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Expanded-Reference.html#Expanded-Reference" rel="up" title="Expanded Reference">
+<link href="N_005fDEFD.html#N_005fDEFD" rel="next" title="N_DEFD">
+<link href="N_005fM2C.html#N_005fM2C" rel="previous" title="N_M2C">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="N_005fBROWS"></a>
+<div class="header">
+<p>
+Next: <a href="N_005fDEFD.html#N_005fDEFD" accesskey="n" rel="next">N_DEFD</a>, Previous: <a href="N_005fM2C.html#N_005fM2C" accesskey="p" rel="previous">N_M2C</a>, Up: <a href="Expanded-Reference.html#Expanded-Reference" accesskey="u" rel="up">Expanded Reference</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="N_005fBROWS-1"></a>
+<h3 class="section">D.5 N_BROWS</h3>
+
+<dl>
+<dt><a name="index-N_005fBROWS"></a><code>.stabs</code>: <strong>N_BROWS</strong></dt>
+<dd><a name="index-N_005fBROWS-1"></a>
+<p>Sun source code browser, path to <samp>.cb</samp> file
+</p>
+<p>&lt;&lt;?&gt;&gt;
+&quot;path to associated <samp>.cb</samp> file&quot;
+</p>
+<p>Note: N_BROWS has the same value as N_BSLINE.
+</p></dd></dl>
+
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/N_005fCATCH.html b/share/doc/stabs/N_005fCATCH.html
new file mode 100644
index 0000000..5bd5da5
--- /dev/null
+++ b/share/doc/stabs/N_005fCATCH.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: N_CATCH</title>
+
+<meta name="description" content="STABS: N_CATCH">
+<meta name="keywords" content="STABS: N_CATCH">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Expanded-Reference.html#Expanded-Reference" rel="up" title="Expanded Reference">
+<link href="N_005fSSYM.html#N_005fSSYM" rel="next" title="N_SSYM">
+<link href="N_005fMOD2.html#N_005fMOD2" rel="previous" title="N_MOD2">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="N_005fCATCH"></a>
+<div class="header">
+<p>
+Next: <a href="N_005fSSYM.html#N_005fSSYM" accesskey="n" rel="next">N_SSYM</a>, Previous: <a href="N_005fMOD2.html#N_005fMOD2" accesskey="p" rel="previous">N_MOD2</a>, Up: <a href="Expanded-Reference.html#Expanded-Reference" accesskey="u" rel="up">Expanded Reference</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="N_005fCATCH-1"></a>
+<h3 class="section">D.9 N_CATCH</h3>
+
+<dl>
+<dt><a name="index-N_005fCATCH"></a><code>.stabn</code>: <strong>N_CATCH</strong></dt>
+<dd><a name="index-N_005fCATCH-1"></a>
+<p>GNU C<tt>++</tt> <code>catch</code> clause
+</p>
+<p>GNU C<tt>++</tt> <code>catch</code> clause. The value is its address. The desc field
+is nonzero if this entry is immediately followed by a <code>CAUGHT</code> stab
+saying what exception was caught. Multiple <code>CAUGHT</code> stabs means
+that multiple exceptions can be caught here. If desc is 0, it means all
+exceptions are caught here.
+</p></dd></dl>
+
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/N_005fDEFD.html b/share/doc/stabs/N_005fDEFD.html
new file mode 100644
index 0000000..b824cb4
--- /dev/null
+++ b/share/doc/stabs/N_005fDEFD.html
@@ -0,0 +1,86 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: N_DEFD</title>
+
+<meta name="description" content="STABS: N_DEFD">
+<meta name="keywords" content="STABS: N_DEFD">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Expanded-Reference.html#Expanded-Reference" rel="up" title="Expanded Reference">
+<link href="N_005fEHDECL.html#N_005fEHDECL" rel="next" title="N_EHDECL">
+<link href="N_005fBROWS.html#N_005fBROWS" rel="previous" title="N_BROWS">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="N_005fDEFD"></a>
+<div class="header">
+<p>
+Next: <a href="N_005fEHDECL.html#N_005fEHDECL" accesskey="n" rel="next">N_EHDECL</a>, Previous: <a href="N_005fBROWS.html#N_005fBROWS" accesskey="p" rel="previous">N_BROWS</a>, Up: <a href="Expanded-Reference.html#Expanded-Reference" accesskey="u" rel="up">Expanded Reference</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="N_005fDEFD-1"></a>
+<h3 class="section">D.6 N_DEFD</h3>
+
+<dl>
+<dt><a name="index-N_005fDEFD"></a><code>.stabn</code>: <strong>N_DEFD</strong></dt>
+<dd><a name="index-N_005fDEFD-1"></a>
+<p>GNU Modula2 definition module dependency.
+</p>
+<p>GNU Modula-2 definition module dependency. The value is the
+modification time of the definition file. The other field is non-zero
+if it is imported with the GNU M2 keyword <code>%INITIALIZE</code>. Perhaps
+<code>N_M2C</code> can be used if there are enough empty fields?
+</p></dd></dl>
+
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/N_005fEHDECL.html b/share/doc/stabs/N_005fEHDECL.html
new file mode 100644
index 0000000..8fb34b1
--- /dev/null
+++ b/share/doc/stabs/N_005fEHDECL.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: N_EHDECL</title>
+
+<meta name="description" content="STABS: N_EHDECL">
+<meta name="keywords" content="STABS: N_EHDECL">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Expanded-Reference.html#Expanded-Reference" rel="up" title="Expanded Reference">
+<link href="N_005fMOD2.html#N_005fMOD2" rel="next" title="N_MOD2">
+<link href="N_005fDEFD.html#N_005fDEFD" rel="previous" title="N_DEFD">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="N_005fEHDECL"></a>
+<div class="header">
+<p>
+Next: <a href="N_005fMOD2.html#N_005fMOD2" accesskey="n" rel="next">N_MOD2</a>, Previous: <a href="N_005fDEFD.html#N_005fDEFD" accesskey="p" rel="previous">N_DEFD</a>, Up: <a href="Expanded-Reference.html#Expanded-Reference" accesskey="u" rel="up">Expanded Reference</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="N_005fEHDECL-1"></a>
+<h3 class="section">D.7 N_EHDECL</h3>
+
+<dl>
+<dt><a name="index-N_005fEHDECL"></a><code>.stabs</code>: <strong>N_EHDECL</strong></dt>
+<dd><a name="index-N_005fEHDECL-1"></a>
+<p>GNU C<tt>++</tt> exception variable &lt;&lt;?&gt;&gt;.
+</p>
+<p>&quot;<var>string</var> is variable name&quot;
+</p>
+<p>Note: conflicts with <code>N_MOD2</code>.
+</p></dd></dl>
+
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/N_005fLENG.html b/share/doc/stabs/N_005fLENG.html
new file mode 100644
index 0000000..1165714
--- /dev/null
+++ b/share/doc/stabs/N_005fLENG.html
@@ -0,0 +1,82 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: N_LENG</title>
+
+<meta name="description" content="STABS: N_LENG">
+<meta name="keywords" content="STABS: N_LENG">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Expanded-Reference.html#Expanded-Reference" rel="up" title="Expanded Reference">
+<link href="Questions.html#Questions" rel="next" title="Questions">
+<link href="Gould.html#Gould" rel="previous" title="Gould">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="N_005fLENG"></a>
+<div class="header">
+<p>
+Previous: <a href="Gould.html#Gould" accesskey="p" rel="previous">Gould</a>, Up: <a href="Expanded-Reference.html#Expanded-Reference" accesskey="u" rel="up">Expanded Reference</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="N_005fLENG-1"></a>
+<h3 class="section">D.13 N_LENG</h3>
+
+<dl>
+<dt><a name="index-N_005fLENG"></a><code>.stabn</code>: <strong>N_LENG</strong></dt>
+<dd><a name="index-N_005fLENG-1"></a>
+<p>Second symbol entry containing a length-value for the preceding entry.
+The value is the length.
+</p></dd></dl>
+
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/N_005fM2C.html b/share/doc/stabs/N_005fM2C.html
new file mode 100644
index 0000000..207f903
--- /dev/null
+++ b/share/doc/stabs/N_005fM2C.html
@@ -0,0 +1,92 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: N_M2C</title>
+
+<meta name="description" content="STABS: N_M2C">
+<meta name="keywords" content="STABS: N_M2C">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Expanded-Reference.html#Expanded-Reference" rel="up" title="Expanded Reference">
+<link href="N_005fBROWS.html#N_005fBROWS" rel="next" title="N_BROWS">
+<link href="N_005fNOMAP.html#N_005fNOMAP" rel="previous" title="N_NOMAP">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="N_005fM2C"></a>
+<div class="header">
+<p>
+Next: <a href="N_005fBROWS.html#N_005fBROWS" accesskey="n" rel="next">N_BROWS</a>, Previous: <a href="N_005fNOMAP.html#N_005fNOMAP" accesskey="p" rel="previous">N_NOMAP</a>, Up: <a href="Expanded-Reference.html#Expanded-Reference" accesskey="u" rel="up">Expanded Reference</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="N_005fM2C-1"></a>
+<h3 class="section">D.4 N_M2C</h3>
+
+<dl>
+<dt><a name="index-N_005fM2C"></a><code>.stabs</code>: <strong>N_M2C</strong></dt>
+<dd><a name="index-N_005fM2C-1"></a>
+<p>Modula-2 compilation unit.
+</p>
+<div class="example">
+<pre class="example">&quot;string&quot; -&gt; &quot;unit_name,unit_time_stamp[,code_time_stamp]&quot;
+desc -&gt; unit_number
+value -&gt; 0 (main unit)
+ 1 (any other unit)
+</pre></div>
+
+<p>See <cite>Dbx and Dbxtool Interfaces</cite>, 2nd edition, by Sun, 1988, for
+more information.
+</p>
+</dd></dl>
+
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/N_005fMOD2.html b/share/doc/stabs/N_005fMOD2.html
new file mode 100644
index 0000000..6dfbe2f
--- /dev/null
+++ b/share/doc/stabs/N_005fMOD2.html
@@ -0,0 +1,83 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: N_MOD2</title>
+
+<meta name="description" content="STABS: N_MOD2">
+<meta name="keywords" content="STABS: N_MOD2">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Expanded-Reference.html#Expanded-Reference" rel="up" title="Expanded Reference">
+<link href="N_005fCATCH.html#N_005fCATCH" rel="next" title="N_CATCH">
+<link href="N_005fEHDECL.html#N_005fEHDECL" rel="previous" title="N_EHDECL">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="N_005fMOD2"></a>
+<div class="header">
+<p>
+Next: <a href="N_005fCATCH.html#N_005fCATCH" accesskey="n" rel="next">N_CATCH</a>, Previous: <a href="N_005fEHDECL.html#N_005fEHDECL" accesskey="p" rel="previous">N_EHDECL</a>, Up: <a href="Expanded-Reference.html#Expanded-Reference" accesskey="u" rel="up">Expanded Reference</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="N_005fMOD2-1"></a>
+<h3 class="section">D.8 N_MOD2</h3>
+
+<dl>
+<dt><a name="index-N_005fMOD2"></a><code>.stab?</code>: <strong>N_MOD2</strong></dt>
+<dd><a name="index-N_005fMOD2-1"></a>
+<p>Modula2 info &quot;for imc&quot; (according to Ultrix V4.0)
+</p>
+<p>Note: conflicts with <code>N_EHDECL</code> &lt;&lt;?&gt;&gt;
+</p></dd></dl>
+
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/N_005fNOMAP.html b/share/doc/stabs/N_005fNOMAP.html
new file mode 100644
index 0000000..0f411a4
--- /dev/null
+++ b/share/doc/stabs/N_005fNOMAP.html
@@ -0,0 +1,86 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: N_NOMAP</title>
+
+<meta name="description" content="STABS: N_NOMAP">
+<meta name="keywords" content="STABS: N_NOMAP">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Expanded-Reference.html#Expanded-Reference" rel="up" title="Expanded Reference">
+<link href="N_005fM2C.html#N_005fM2C" rel="next" title="N_M2C">
+<link href="N_005fNSYMS.html#N_005fNSYMS" rel="previous" title="N_NSYMS">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="N_005fNOMAP"></a>
+<div class="header">
+<p>
+Next: <a href="N_005fM2C.html#N_005fM2C" accesskey="n" rel="next">N_M2C</a>, Previous: <a href="N_005fNSYMS.html#N_005fNSYMS" accesskey="p" rel="previous">N_NSYMS</a>, Up: <a href="Expanded-Reference.html#Expanded-Reference" accesskey="u" rel="up">Expanded Reference</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="N_005fNOMAP-1"></a>
+<h3 class="section">D.3 N_NOMAP</h3>
+
+<dl>
+<dt><a name="index-N_005fNOMAP"></a><code>.stabs</code>: <strong>N_NOMAP</strong></dt>
+<dd><a name="index-N_005fNOMAP-1"></a>
+<p>No DST map for symbol (according to Ultrix V4.0). I think this means a
+variable has been optimized out.
+</p>
+<div class="display">
+<pre class="display"> name, ,0,type,ignored (stab.def)
+</pre></div>
+</dd></dl>
+
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/N_005fNSYMS.html b/share/doc/stabs/N_005fNSYMS.html
new file mode 100644
index 0000000..78865d4
--- /dev/null
+++ b/share/doc/stabs/N_005fNSYMS.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: N_NSYMS</title>
+
+<meta name="description" content="STABS: N_NSYMS">
+<meta name="keywords" content="STABS: N_NSYMS">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Expanded-Reference.html#Expanded-Reference" rel="up" title="Expanded Reference">
+<link href="N_005fNOMAP.html#N_005fNOMAP" rel="next" title="N_NOMAP">
+<link href="N_005fPC.html#N_005fPC" rel="previous" title="N_PC">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="N_005fNSYMS"></a>
+<div class="header">
+<p>
+Next: <a href="N_005fNOMAP.html#N_005fNOMAP" accesskey="n" rel="next">N_NOMAP</a>, Previous: <a href="N_005fPC.html#N_005fPC" accesskey="p" rel="previous">N_PC</a>, Up: <a href="Expanded-Reference.html#Expanded-Reference" accesskey="u" rel="up">Expanded Reference</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="N_005fNSYMS-1"></a>
+<h3 class="section">D.2 N_NSYMS</h3>
+
+<dl>
+<dt><a name="index-N_005fNSYMS"></a><code>.stabn</code>: <strong>N_NSYMS</strong></dt>
+<dd><a name="index-N_005fNSYMS-1"></a>
+<p>Number of symbols (according to Ultrix V4.0).
+</p>
+<div class="display">
+<pre class="display"> 0, files,,funcs,lines (stab.def)
+</pre></div>
+</dd></dl>
+
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/N_005fPC.html b/share/doc/stabs/N_005fPC.html
new file mode 100644
index 0000000..690a9f3
--- /dev/null
+++ b/share/doc/stabs/N_005fPC.html
@@ -0,0 +1,93 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: N_PC</title>
+
+<meta name="description" content="STABS: N_PC">
+<meta name="keywords" content="STABS: N_PC">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Expanded-Reference.html#Expanded-Reference" rel="up" title="Expanded Reference">
+<link href="N_005fNSYMS.html#N_005fNSYMS" rel="next" title="N_NSYMS">
+<link href="Expanded-Reference.html#Expanded-Reference" rel="previous" title="Expanded Reference">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="N_005fPC"></a>
+<div class="header">
+<p>
+Next: <a href="N_005fNSYMS.html#N_005fNSYMS" accesskey="n" rel="next">N_NSYMS</a>, Up: <a href="Expanded-Reference.html#Expanded-Reference" accesskey="u" rel="up">Expanded Reference</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="N_005fPC-1"></a>
+<h3 class="section">D.1 N_PC</h3>
+
+<dl>
+<dt><a name="index-N_005fPC"></a><code>.stabs</code>: <strong>N_PC</strong></dt>
+<dd><a name="index-N_005fPC-1"></a>
+<p>Global symbol (for Pascal).
+</p>
+<div class="example">
+<pre class="example">&quot;name&quot; -&gt; &quot;symbol_name&quot; &lt;&lt;?&gt;&gt;
+value -&gt; supposedly the line number (stab.def is skeptical)
+</pre></div>
+
+<div class="display">
+<pre class="display"><samp>stabdump.c</samp> says:
+
+global pascal symbol: name,,0,subtype,line
+&lt;&lt; subtype? &gt;&gt;
+</pre></div>
+</dd></dl>
+
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/N_005fSCOPE.html b/share/doc/stabs/N_005fSCOPE.html
new file mode 100644
index 0000000..8bdcc31
--- /dev/null
+++ b/share/doc/stabs/N_005fSCOPE.html
@@ -0,0 +1,82 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: N_SCOPE</title>
+
+<meta name="description" content="STABS: N_SCOPE">
+<meta name="keywords" content="STABS: N_SCOPE">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Expanded-Reference.html#Expanded-Reference" rel="up" title="Expanded Reference">
+<link href="Gould.html#Gould" rel="next" title="Gould">
+<link href="N_005fSSYM.html#N_005fSSYM" rel="previous" title="N_SSYM">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="N_005fSCOPE"></a>
+<div class="header">
+<p>
+Next: <a href="Gould.html#Gould" accesskey="n" rel="next">Gould</a>, Previous: <a href="N_005fSSYM.html#N_005fSSYM" accesskey="p" rel="previous">N_SSYM</a>, Up: <a href="Expanded-Reference.html#Expanded-Reference" accesskey="u" rel="up">Expanded Reference</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="N_005fSCOPE-1"></a>
+<h3 class="section">D.11 N_SCOPE</h3>
+
+<dl>
+<dt><a name="index-N_005fSCOPE"></a><code>.stab?</code>: <strong>N_SCOPE</strong></dt>
+<dd><a name="index-N_005fSCOPE-1"></a>
+<p>Modula2 scope information (Sun linker)
+&lt;&lt;?&gt;&gt;
+</p></dd></dl>
+
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/N_005fSSYM.html b/share/doc/stabs/N_005fSSYM.html
new file mode 100644
index 0000000..2914f37
--- /dev/null
+++ b/share/doc/stabs/N_005fSSYM.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: N_SSYM</title>
+
+<meta name="description" content="STABS: N_SSYM">
+<meta name="keywords" content="STABS: N_SSYM">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Expanded-Reference.html#Expanded-Reference" rel="up" title="Expanded Reference">
+<link href="N_005fSCOPE.html#N_005fSCOPE" rel="next" title="N_SCOPE">
+<link href="N_005fCATCH.html#N_005fCATCH" rel="previous" title="N_CATCH">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="N_005fSSYM"></a>
+<div class="header">
+<p>
+Next: <a href="N_005fSCOPE.html#N_005fSCOPE" accesskey="n" rel="next">N_SCOPE</a>, Previous: <a href="N_005fCATCH.html#N_005fCATCH" accesskey="p" rel="previous">N_CATCH</a>, Up: <a href="Expanded-Reference.html#Expanded-Reference" accesskey="u" rel="up">Expanded Reference</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="N_005fSSYM-1"></a>
+<h3 class="section">D.10 N_SSYM</h3>
+
+<dl>
+<dt><a name="index-N_005fSSYM"></a><code>.stabn</code>: <strong>N_SSYM</strong></dt>
+<dd><a name="index-N_005fSSYM-1"></a>
+<p>Structure or union element.
+</p>
+<p>The value is the offset in the structure.
+</p>
+<p>&lt;&lt;?looking at structs and unions in C I didn&rsquo;t see these&gt;&gt;
+</p></dd></dl>
+
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Negative-Type-Numbers.html b/share/doc/stabs/Negative-Type-Numbers.html
new file mode 100644
index 0000000..69619eb
--- /dev/null
+++ b/share/doc/stabs/Negative-Type-Numbers.html
@@ -0,0 +1,304 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Negative Type Numbers</title>
+
+<meta name="description" content="STABS: Negative Type Numbers">
+<meta name="keywords" content="STABS: Negative Type Numbers">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Builtin-Types.html#Builtin-Types" rel="up" title="Builtin Types">
+<link href="Miscellaneous-Types.html#Miscellaneous-Types" rel="next" title="Miscellaneous Types">
+<link href="Builtin-Type-Descriptors.html#Builtin-Type-Descriptors" rel="previous" title="Builtin Type Descriptors">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Negative-Type-Numbers"></a>
+<div class="header">
+<p>
+Previous: <a href="Builtin-Type-Descriptors.html#Builtin-Type-Descriptors" accesskey="p" rel="previous">Builtin Type Descriptors</a>, Up: <a href="Builtin-Types.html#Builtin-Types" accesskey="u" rel="up">Builtin Types</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Negative-Type-Numbers-1"></a>
+<h4 class="subsection">5.1.3 Negative Type Numbers</h4>
+
+<p>This is the method used in XCOFF for defining builtin types.
+Since the debugger knows about the builtin types anyway, the idea of
+negative type numbers is simply to give a special type number which
+indicates the builtin type. There is no stab defining these types.
+</p>
+<p>There are several subtle issues with negative type numbers.
+</p>
+<p>One is the size of the type. A builtin type (for example the C types
+<code>int</code> or <code>long</code>) might have different sizes depending on
+compiler options, the target architecture, the ABI, etc. This issue
+doesn&rsquo;t come up for IBM tools since (so far) they just target the
+RS/6000; the sizes indicated below for each size are what the IBM
+RS/6000 tools use. To deal with differing sizes, either define separate
+negative type numbers for each size (which works but requires changing
+the debugger, and, unless you get both AIX dbx and GDB to accept the
+change, introduces an incompatibility), or use a type attribute
+(see <a href="String-Field.html#String-Field">String Field</a>) to define a new type with the appropriate size
+(which merely requires a debugger which understands type attributes,
+like AIX dbx or GDB). For example,
+</p>
+<div class="example">
+<pre class="example">.stabs &quot;boolean:t10=@s8;-16&quot;,128,0,0,0
+</pre></div>
+
+<p>defines an 8-bit boolean type, and
+</p>
+<div class="example">
+<pre class="example">.stabs &quot;boolean:t10=@s64;-16&quot;,128,0,0,0
+</pre></div>
+
+<p>defines a 64-bit boolean type.
+</p>
+<p>A similar issue is the format of the type. This comes up most often for
+floating-point types, which could have various formats (particularly
+extended doubles, which vary quite a bit even among IEEE systems).
+Again, it is best to define a new negative type number for each
+different format; changing the format based on the target system has
+various problems. One such problem is that the Alpha has both VAX and
+IEEE floating types. One can easily imagine one library using the VAX
+types and another library in the same executable using the IEEE types.
+Another example is that the interpretation of whether a boolean is true
+or false can be based on the least significant bit, most significant
+bit, whether it is zero, etc., and different compilers (or different
+options to the same compiler) might provide different kinds of boolean.
+</p>
+<p>The last major issue is the names of the types. The name of a given
+type depends <em>only</em> on the negative type number given; these do not
+vary depending on the language, the target system, or anything else.
+One can always define separate type numbers&mdash;in the following list you
+will see for example separate <code>int</code> and <code>integer*4</code> types
+which are identical except for the name. But compatibility can be
+maintained by not inventing new negative type numbers and instead just
+defining a new type with a new name. For example:
+</p>
+<div class="example">
+<pre class="example">.stabs &quot;CARDINAL:t10=-8&quot;,128,0,0,0
+</pre></div>
+
+<p>Here is the list of negative type numbers. The phrase <em>integral
+type</em> is used to mean twos-complement (I strongly suspect that all
+machines which use stabs use twos-complement; most machines use
+twos-complement these days).
+</p>
+<dl compact="compact">
+<dt><code>-1</code></dt>
+<dd><p><code>int</code>, 32 bit signed integral type.
+</p>
+</dd>
+<dt><code>-2</code></dt>
+<dd><p><code>char</code>, 8 bit type holding a character. Both GDB and dbx on AIX
+treat this as signed. GCC uses this type whether <code>char</code> is signed
+or not, which seems like a bad idea. The AIX compiler (<code>xlc</code>) seems to
+avoid this type; it uses -5 instead for <code>char</code>.
+</p>
+</dd>
+<dt><code>-3</code></dt>
+<dd><p><code>short</code>, 16 bit signed integral type.
+</p>
+</dd>
+<dt><code>-4</code></dt>
+<dd><p><code>long</code>, 32 bit signed integral type.
+</p>
+</dd>
+<dt><code>-5</code></dt>
+<dd><p><code>unsigned char</code>, 8 bit unsigned integral type.
+</p>
+</dd>
+<dt><code>-6</code></dt>
+<dd><p><code>signed char</code>, 8 bit signed integral type.
+</p>
+</dd>
+<dt><code>-7</code></dt>
+<dd><p><code>unsigned short</code>, 16 bit unsigned integral type.
+</p>
+</dd>
+<dt><code>-8</code></dt>
+<dd><p><code>unsigned int</code>, 32 bit unsigned integral type.
+</p>
+</dd>
+<dt><code>-9</code></dt>
+<dd><p><code>unsigned</code>, 32 bit unsigned integral type.
+</p>
+</dd>
+<dt><code>-10</code></dt>
+<dd><p><code>unsigned long</code>, 32 bit unsigned integral type.
+</p>
+</dd>
+<dt><code>-11</code></dt>
+<dd><p><code>void</code>, type indicating the lack of a value.
+</p>
+</dd>
+<dt><code>-12</code></dt>
+<dd><p><code>float</code>, IEEE single precision.
+</p>
+</dd>
+<dt><code>-13</code></dt>
+<dd><p><code>double</code>, IEEE double precision.
+</p>
+</dd>
+<dt><code>-14</code></dt>
+<dd><p><code>long double</code>, IEEE double precision. The compiler claims the size
+will increase in a future release, and for binary compatibility you have
+to avoid using <code>long double</code>. I hope when they increase it they
+use a new negative type number.
+</p>
+</dd>
+<dt><code>-15</code></dt>
+<dd><p><code>integer</code>. 32 bit signed integral type.
+</p>
+</dd>
+<dt><code>-16</code></dt>
+<dd><p><code>boolean</code>. 32 bit type. GDB and GCC assume that zero is false,
+one is true, and other values have unspecified meaning. I hope this
+agrees with how the IBM tools use the type.
+</p>
+</dd>
+<dt><code>-17</code></dt>
+<dd><p><code>short real</code>. IEEE single precision.
+</p>
+</dd>
+<dt><code>-18</code></dt>
+<dd><p><code>real</code>. IEEE double precision.
+</p>
+</dd>
+<dt><code>-19</code></dt>
+<dd><p><code>stringptr</code>. See <a href="Strings.html#Strings">Strings</a>.
+</p>
+</dd>
+<dt><code>-20</code></dt>
+<dd><p><code>character</code>, 8 bit unsigned character type.
+</p>
+</dd>
+<dt><code>-21</code></dt>
+<dd><p><code>logical*1</code>, 8 bit type. This Fortran type has a split
+personality in that it is used for boolean variables, but can also be
+used for unsigned integers. 0 is false, 1 is true, and other values are
+non-boolean.
+</p>
+</dd>
+<dt><code>-22</code></dt>
+<dd><p><code>logical*2</code>, 16 bit type. This Fortran type has a split
+personality in that it is used for boolean variables, but can also be
+used for unsigned integers. 0 is false, 1 is true, and other values are
+non-boolean.
+</p>
+</dd>
+<dt><code>-23</code></dt>
+<dd><p><code>logical*4</code>, 32 bit type. This Fortran type has a split
+personality in that it is used for boolean variables, but can also be
+used for unsigned integers. 0 is false, 1 is true, and other values are
+non-boolean.
+</p>
+</dd>
+<dt><code>-24</code></dt>
+<dd><p><code>logical</code>, 32 bit type. This Fortran type has a split
+personality in that it is used for boolean variables, but can also be
+used for unsigned integers. 0 is false, 1 is true, and other values are
+non-boolean.
+</p>
+</dd>
+<dt><code>-25</code></dt>
+<dd><p><code>complex</code>. A complex type consisting of two IEEE single-precision
+floating point values.
+</p>
+</dd>
+<dt><code>-26</code></dt>
+<dd><p><code>complex</code>. A complex type consisting of two IEEE double-precision
+floating point values.
+</p>
+</dd>
+<dt><code>-27</code></dt>
+<dd><p><code>integer*1</code>, 8 bit signed integral type.
+</p>
+</dd>
+<dt><code>-28</code></dt>
+<dd><p><code>integer*2</code>, 16 bit signed integral type.
+</p>
+</dd>
+<dt><code>-29</code></dt>
+<dd><p><code>integer*4</code>, 32 bit signed integral type.
+</p>
+</dd>
+<dt><code>-30</code></dt>
+<dd><p><code>wchar</code>. Wide character, 16 bits wide, unsigned (what format?
+Unicode?).
+</p>
+</dd>
+<dt><code>-31</code></dt>
+<dd><p><code>long long</code>, 64 bit signed integral type.
+</p>
+</dd>
+<dt><code>-32</code></dt>
+<dd><p><code>unsigned long long</code>, 64 bit unsigned integral type.
+</p>
+</dd>
+<dt><code>-33</code></dt>
+<dd><p><code>logical*8</code>, 64 bit unsigned integral type.
+</p>
+</dd>
+<dt><code>-34</code></dt>
+<dd><p><code>integer*8</code>, 64 bit signed integral type.
+</p></dd>
+</dl>
+
+<hr>
+<div class="header">
+<p>
+Previous: <a href="Builtin-Type-Descriptors.html#Builtin-Type-Descriptors" accesskey="p" rel="previous">Builtin Type Descriptors</a>, Up: <a href="Builtin-Types.html#Builtin-Types" accesskey="u" rel="up">Builtin Types</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Nested-Procedures.html b/share/doc/stabs/Nested-Procedures.html
new file mode 100644
index 0000000..2a0380c
--- /dev/null
+++ b/share/doc/stabs/Nested-Procedures.html
@@ -0,0 +1,110 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Nested Procedures</title>
+
+<meta name="description" content="STABS: Nested Procedures">
+<meta name="keywords" content="STABS: Nested Procedures">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Program-Structure.html#Program-Structure" rel="up" title="Program Structure">
+<link href="Block-Structure.html#Block-Structure" rel="next" title="Block Structure">
+<link href="Procedures.html#Procedures" rel="previous" title="Procedures">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Nested-Procedures"></a>
+<div class="header">
+<p>
+Next: <a href="Block-Structure.html#Block-Structure" accesskey="n" rel="next">Block Structure</a>, Previous: <a href="Procedures.html#Procedures" accesskey="p" rel="previous">Procedures</a>, Up: <a href="Program-Structure.html#Program-Structure" accesskey="u" rel="up">Program Structure</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Nested-Procedures-1"></a>
+<h3 class="section">2.6 Nested Procedures</h3>
+
+<p>For any of the symbol descriptors representing procedures, after the
+symbol descriptor and the type information is optionally a scope
+specifier. This consists of a comma, the name of the procedure, another
+comma, and the name of the enclosing procedure. The first name is local
+to the scope specified, and seems to be redundant with the name of the
+symbol (before the &lsquo;<samp>:</samp>&rsquo;). This feature is used by GCC, and
+presumably Pascal, Modula-2, etc., compilers, for nested functions.
+</p>
+<p>If procedures are nested more than one level deep, only the immediately
+containing scope is specified. For example, this code:
+</p>
+<div class="example">
+<pre class="example">int
+foo (int x)
+{
+ int bar (int y)
+ {
+ int baz (int z)
+ {
+ return x + y + z;
+ }
+ return baz (x + 2 * y);
+ }
+ return x + bar (3 * x);
+}
+</pre></div>
+
+<p>produces the stabs:
+</p>
+<div class="example">
+<pre class="example">.stabs &quot;baz:f1,baz,bar&quot;,36,0,0,_baz.15 # <span class="roman">36 is N_FUN</span>
+.stabs &quot;bar:f1,bar,foo&quot;,36,0,0,_bar.12
+.stabs &quot;foo:F1&quot;,36,0,0,_foo
+</pre></div>
+
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Nested-Symbols.html b/share/doc/stabs/Nested-Symbols.html
new file mode 100644
index 0000000..8663897
--- /dev/null
+++ b/share/doc/stabs/Nested-Symbols.html
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Nested Symbols</title>
+
+<meta name="description" content="STABS: Nested Symbols">
+<meta name="keywords" content="STABS: Nested Symbols">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Cplusplus.html#Cplusplus" rel="up" title="Cplusplus">
+<link href="Basic-Cplusplus-Types.html#Basic-Cplusplus-Types" rel="next" title="Basic Cplusplus Types">
+<link href="Class-Names.html#Class-Names" rel="previous" title="Class Names">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Nested-Symbols"></a>
+<div class="header">
+<p>
+Next: <a href="Basic-Cplusplus-Types.html#Basic-Cplusplus-Types" accesskey="n" rel="next">Basic Cplusplus Types</a>, Previous: <a href="Class-Names.html#Class-Names" accesskey="p" rel="previous">Class Names</a>, Up: <a href="Cplusplus.html#Cplusplus" accesskey="u" rel="up">Cplusplus</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Defining-a-Symbol-Within-Another-Type"></a>
+<h3 class="section">8.2 Defining a Symbol Within Another Type</h3>
+
+<p>In C<tt>++</tt>, a symbol (such as a type name) can be defined within another type.
+</p>
+<p>In stabs, this is sometimes represented by making the name of a symbol
+which contains &lsquo;<samp>::</samp>&rsquo;. Such a pair of colons does not end the name
+of the symbol, the way a single colon would (see <a href="String-Field.html#String-Field">String Field</a>). I&rsquo;m
+not sure how consistently used or well thought out this mechanism is.
+So that a pair of colons in this position always has this meaning,
+&lsquo;<samp>:</samp>&rsquo; cannot be used as a symbol descriptor.
+</p>
+<p>For example, if the string for a stab is &lsquo;<samp>foo::bar::baz:t5=*6</samp>&rsquo;,
+then <code>foo::bar::baz</code> is the name of the symbol, &lsquo;<samp>t</samp>&rsquo; is the
+symbol descriptor, and &lsquo;<samp>5=*6</samp>&rsquo; is the type information.
+</p>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Non_002dStab-Symbol-Types.html b/share/doc/stabs/Non_002dStab-Symbol-Types.html
new file mode 100644
index 0000000..99c8f9f
--- /dev/null
+++ b/share/doc/stabs/Non_002dStab-Symbol-Types.html
@@ -0,0 +1,164 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Non-Stab Symbol Types</title>
+
+<meta name="description" content="STABS: Non-Stab Symbol Types">
+<meta name="keywords" content="STABS: Non-Stab Symbol Types">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Stab-Types.html#Stab-Types" rel="up" title="Stab Types">
+<link href="Stab-Symbol-Types.html#Stab-Symbol-Types" rel="next" title="Stab Symbol Types">
+<link href="Stab-Types.html#Stab-Types" rel="previous" title="Stab Types">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Non_002dStab-Symbol-Types"></a>
+<div class="header">
+<p>
+Next: <a href="Stab-Symbol-Types.html#Stab-Symbol-Types" accesskey="n" rel="next">Stab Symbol Types</a>, Up: <a href="Stab-Types.html#Stab-Types" accesskey="u" rel="up">Stab Types</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Non_002dStab-Symbol-Types-1"></a>
+<h3 class="appendixsec">A.1 Non-Stab Symbol Types</h3>
+
+<p>The following types are used by the linker and assembler, not by stab
+directives. Since this document does not attempt to describe aspects of
+object file format other than the debugging format, no details are
+given.
+</p>
+
+<dl compact="compact">
+<dt><code>0x0 N_UNDF</code></dt>
+<dd><p>Undefined symbol
+</p>
+</dd>
+<dt><code>0x2 N_ABS</code></dt>
+<dd><p>File scope absolute symbol
+</p>
+</dd>
+<dt><code>0x3 N_ABS | N_EXT</code></dt>
+<dd><p>External absolute symbol
+</p>
+</dd>
+<dt><code>0x4 N_TEXT</code></dt>
+<dd><p>File scope text symbol
+</p>
+</dd>
+<dt><code>0x5 N_TEXT | N_EXT</code></dt>
+<dd><p>External text symbol
+</p>
+</dd>
+<dt><code>0x6 N_DATA</code></dt>
+<dd><p>File scope data symbol
+</p>
+</dd>
+<dt><code>0x7 N_DATA | N_EXT</code></dt>
+<dd><p>External data symbol
+</p>
+</dd>
+<dt><code>0x8 N_BSS</code></dt>
+<dd><p>File scope BSS symbol
+</p>
+</dd>
+<dt><code>0x9 N_BSS | N_EXT</code></dt>
+<dd><p>External BSS symbol
+</p>
+</dd>
+<dt><code>0x0c N_FN_SEQ</code></dt>
+<dd><p>Same as <code>N_FN</code>, for Sequent compilers
+</p>
+</dd>
+<dt><code>0x0a N_INDR</code></dt>
+<dd><p>Symbol is indirected to another symbol
+</p>
+</dd>
+<dt><code>0x12 N_COMM</code></dt>
+<dd><p>Common&mdash;visible after shared library dynamic link
+</p>
+</dd>
+<dt><code>0x14 N_SETA</code></dt>
+<dt><code>0x15 N_SETA | N_EXT</code></dt>
+<dd><p>Absolute set element
+</p>
+</dd>
+<dt><code>0x16 N_SETT</code></dt>
+<dt><code>0x17 N_SETT | N_EXT</code></dt>
+<dd><p>Text segment set element
+</p>
+</dd>
+<dt><code>0x18 N_SETD</code></dt>
+<dt><code>0x19 N_SETD | N_EXT</code></dt>
+<dd><p>Data segment set element
+</p>
+</dd>
+<dt><code>0x1a N_SETB</code></dt>
+<dt><code>0x1b N_SETB | N_EXT</code></dt>
+<dd><p>BSS segment set element
+</p>
+</dd>
+<dt><code>0x1c N_SETV</code></dt>
+<dt><code>0x1d N_SETV | N_EXT</code></dt>
+<dd><p>Pointer to set vector
+</p>
+</dd>
+<dt><code>0x1e N_WARNING</code></dt>
+<dd><p>Print a warning message during linking
+</p>
+</dd>
+<dt><code>0x1f N_FN</code></dt>
+<dd><p>File name of a <samp>.o</samp> file
+</p></dd>
+</dl>
+
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Overview.html b/share/doc/stabs/Overview.html
new file mode 100644
index 0000000..cc27976
--- /dev/null
+++ b/share/doc/stabs/Overview.html
@@ -0,0 +1,109 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Overview</title>
+
+<meta name="description" content="STABS: Overview">
+<meta name="keywords" content="STABS: Overview">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Flow.html#Flow" rel="next" title="Flow">
+<link href="index.html#Top" rel="previous" title="Top">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Overview"></a>
+<div class="header">
+<p>
+Next: <a href="Program-Structure.html#Program-Structure" accesskey="n" rel="next">Program Structure</a>, Previous: <a href="index.html#Top" accesskey="p" rel="previous">Top</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Overview-of-Stabs"></a>
+<h2 class="chapter">1 Overview of Stabs</h2>
+
+<p><em>Stabs</em> refers to a format for information that describes a program
+to a debugger. This format was apparently invented by
+Peter Kessler at
+the University of California at Berkeley, for the <code>pdx</code> Pascal
+debugger; the format has spread widely since then.
+</p>
+<p>This document is one of the few published sources of documentation on
+stabs. It is believed to be comprehensive for stabs used by C. The
+lists of symbol descriptors (see <a href="Symbol-Descriptors.html#Symbol-Descriptors">Symbol Descriptors</a>) and type
+descriptors (see <a href="Type-Descriptors.html#Type-Descriptors">Type Descriptors</a>) are believed to be completely
+comprehensive. Stabs for COBOL-specific features and for variant
+records (used by Pascal and Modula-2) are poorly documented here.
+</p>
+
+<p>Other sources of information on stabs are <cite>Dbx and Dbxtool
+Interfaces</cite>, 2nd edition, by Sun, 1988, and <cite>AIX Version 3.2 Files
+Reference</cite>, Fourth Edition, September 1992, &quot;dbx Stabstring Grammar&quot; in
+the a.out section, page 2-31. This document is believed to incorporate
+the information from those two sources except where it explicitly directs
+you to them for more information.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="Flow.html#Flow" accesskey="1">Flow</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Overview of debugging information flow
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Stabs-Format.html#Stabs-Format" accesskey="2">Stabs Format</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Overview of stab format
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="String-Field.html#String-Field" accesskey="3">String Field</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">The string field
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="C-Example.html#C-Example" accesskey="4">C Example</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">A simple example in C source
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Assembly-Code.html#Assembly-Code" accesskey="5">Assembly Code</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">The simple example at the assembly level
+</td></tr>
+</table>
+
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Parameters.html b/share/doc/stabs/Parameters.html
new file mode 100644
index 0000000..56ee66e
--- /dev/null
+++ b/share/doc/stabs/Parameters.html
@@ -0,0 +1,135 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Parameters</title>
+
+<meta name="description" content="STABS: Parameters">
+<meta name="keywords" content="STABS: Parameters">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Variables.html#Variables" rel="up" title="Variables">
+<link href="Register-Parameters.html#Register-Parameters" rel="next" title="Register Parameters">
+<link href="Based-Variables.html#Based-Variables" rel="previous" title="Based Variables">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Parameters"></a>
+<div class="header">
+<p>
+Previous: <a href="Based-Variables.html#Based-Variables" accesskey="p" rel="previous">Based Variables</a>, Up: <a href="Variables.html#Variables" accesskey="u" rel="up">Variables</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Parameters-1"></a>
+<h3 class="section">4.7 Parameters</h3>
+
+<p>Formal parameters to a function are represented by a stab (or sometimes
+two; see below) for each parameter. The stabs are in the order in which
+the debugger should print the parameters (i.e., the order in which the
+parameters are declared in the source file). The exact form of the stab
+depends on how the parameter is being passed.
+</p>
+<a name="index-N_005fPSYM"></a>
+<a name="index-C_005fPSYM"></a>
+<p>Parameters passed on the stack use the symbol descriptor &lsquo;<samp>p</samp>&rsquo; and
+the <code>N_PSYM</code> symbol type (or <code>C_PSYM</code> for XCOFF). The value
+of the symbol is an offset used to locate the parameter on the stack;
+its exact meaning is machine-dependent, but on most machines it is an
+offset from the frame pointer.
+</p>
+<p>As a simple example, the code:
+</p>
+<div class="example">
+<pre class="example">main (argc, argv)
+ int argc;
+ char **argv;
+</pre></div>
+
+<p>produces the stabs:
+</p>
+<div class="example">
+<pre class="example">.stabs &quot;main:F1&quot;,36,0,0,_main # <span class="roman">36 is N_FUN</span>
+.stabs &quot;argc:p1&quot;,160,0,0,68 # <span class="roman">160 is N_PSYM</span>
+.stabs &quot;argv:p20=*21=*2&quot;,160,0,0,72
+</pre></div>
+
+<p>The type definition of <code>argv</code> is interesting because it contains
+several type definitions. Type 21 is pointer to type 2 (char) and
+<code>argv</code> (type 20) is pointer to type 21.
+</p>
+<p>The following symbol descriptors are also said to go with <code>N_PSYM</code>.
+The value of the symbol is said to be an offset from the argument
+pointer (I&rsquo;m not sure whether this is true or not).
+</p>
+<div class="example">
+<pre class="example">pP (&lt;&lt;??&gt;&gt;)
+pF Fortran function parameter
+X (function result variable)
+</pre></div>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="Register-Parameters.html#Register-Parameters" accesskey="1">Register Parameters</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Local-Variable-Parameters.html#Local-Variable-Parameters" accesskey="2">Local Variable Parameters</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Reference-Parameters.html#Reference-Parameters" accesskey="3">Reference Parameters</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Conformant-Arrays.html#Conformant-Arrays" accesskey="4">Conformant Arrays</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<hr>
+<div class="header">
+<p>
+Previous: <a href="Based-Variables.html#Based-Variables" accesskey="p" rel="previous">Based Variables</a>, Up: <a href="Variables.html#Variables" accesskey="u" rel="up">Variables</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Procedures.html b/share/doc/stabs/Procedures.html
new file mode 100644
index 0000000..80f4983
--- /dev/null
+++ b/share/doc/stabs/Procedures.html
@@ -0,0 +1,187 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Procedures</title>
+
+<meta name="description" content="STABS: Procedures">
+<meta name="keywords" content="STABS: Procedures">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Program-Structure.html#Program-Structure" rel="up" title="Program Structure">
+<link href="Nested-Procedures.html#Nested-Procedures" rel="next" title="Nested Procedures">
+<link href="Line-Numbers.html#Line-Numbers" rel="previous" title="Line Numbers">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Procedures"></a>
+<div class="header">
+<p>
+Next: <a href="Nested-Procedures.html#Nested-Procedures" accesskey="n" rel="next">Nested Procedures</a>, Previous: <a href="Line-Numbers.html#Line-Numbers" accesskey="p" rel="previous">Line Numbers</a>, Up: <a href="Program-Structure.html#Program-Structure" accesskey="u" rel="up">Program Structure</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Procedures-1"></a>
+<h3 class="section">2.5 Procedures</h3>
+
+<a name="index-N_005fFUN_002c-for-functions"></a>
+<a name="index-N_005fFNAME"></a>
+<a name="index-N_005fSTSYM_002c-for-functions-_0028Sun-acc_0029"></a>
+<a name="index-N_005fGSYM_002c-for-functions-_0028Sun-acc_0029"></a>
+<p>All of the following stabs normally use the <code>N_FUN</code> symbol type.
+However, Sun&rsquo;s <code>acc</code> compiler on SunOS4 uses <code>N_GSYM</code> and
+<code>N_STSYM</code>, which means that the value of the stab for the function
+is useless and the debugger must get the address of the function from
+the non-stab symbols instead. On systems where non-stab symbols have
+leading underscores, the stabs will lack underscores and the debugger
+needs to know about the leading underscore to match up the stab and the
+non-stab symbol. BSD Fortran is said to use <code>N_FNAME</code> with the
+same restriction; the value of the symbol is not useful (I&rsquo;m not sure it
+really does use this, because GDB doesn&rsquo;t handle this and no one has
+complained).
+</p>
+<a name="index-C_005fFUN"></a>
+<p>A function is represented by an &lsquo;<samp>F</samp>&rsquo; symbol descriptor for a global
+(extern) function, and &lsquo;<samp>f</samp>&rsquo; for a static (local) function. For
+a.out, the value of the symbol is the address of the start of the
+function; it is already relocated. For stabs in ELF, the SunPRO
+compiler version 2.0.1 and GCC put out an address which gets relocated
+by the linker. In a future release SunPRO is planning to put out zero,
+in which case the address can be found from the ELF (non-stab) symbol.
+Because looking things up in the ELF symbols would probably be slow, I&rsquo;m
+not sure how to find which symbol of that name is the right one, and
+this doesn&rsquo;t provide any way to deal with nested functions, it would
+probably be better to make the value of the stab an address relative to
+the start of the file, or just absolute. See <a href="ELF-Linker-Relocation.html#ELF-Linker-Relocation">ELF Linker Relocation</a> for more information on linker relocation of stabs in ELF
+files. For XCOFF, the stab uses the <code>C_FUN</code> storage class and the
+value of the stab is meaningless; the address of the function can be
+found from the csect symbol (XTY_LD/XMC_PR).
+</p>
+<p>The type information of the stab represents the return type of the
+function; thus &lsquo;<samp>foo:f5</samp>&rsquo; means that foo is a function returning type
+5. There is no need to try to get the line number of the start of the
+function from the stab for the function; it is in the next
+<code>N_SLINE</code> symbol.
+</p>
+<p>Some compilers (such as Sun&rsquo;s Solaris compiler) support an extension for
+specifying the types of the arguments. I suspect this extension is not
+used for old (non-prototyped) function definitions in C. If the
+extension is in use, the type information of the stab for the function
+is followed by type information for each argument, with each argument
+preceded by &lsquo;<samp>;</samp>&rsquo;. An argument type of 0 means that additional
+arguments are being passed, whose types and number may vary (&lsquo;<samp>...</samp>&rsquo;
+in ANSI C). GDB has tolerated this extension (parsed the syntax, if not
+necessarily used the information) since at least version 4.8; I don&rsquo;t
+know whether all versions of dbx tolerate it. The argument types given
+here are not redundant with the symbols for the formal parameters
+(see <a href="Parameters.html#Parameters">Parameters</a>); they are the types of the arguments as they are
+passed, before any conversions might take place. For example, if a C
+function which is declared without a prototype takes a <code>float</code>
+argument, the value is passed as a <code>double</code> but then converted to a
+<code>float</code>. Debuggers need to use the types given in the arguments
+when printing values, but when calling the function they need to use the
+types given in the symbol defining the function.
+</p>
+<p>If the return type and types of arguments of a function which is defined
+in another source file are specified (i.e., a function prototype in ANSI
+C), traditionally compilers emit no stab; the only way for the debugger
+to find the information is if the source file where the function is
+defined was also compiled with debugging symbols. As an extension the
+Solaris compiler uses symbol descriptor &lsquo;<samp>P</samp>&rsquo; followed by the return
+type of the function, followed by the arguments, each preceded by
+&lsquo;<samp>;</samp>&rsquo;, as in a stab with symbol descriptor &lsquo;<samp>f</samp>&rsquo; or &lsquo;<samp>F</samp>&rsquo;.
+This use of symbol descriptor &lsquo;<samp>P</samp>&rsquo; can be distinguished from its use
+for register parameters (see <a href="Register-Parameters.html#Register-Parameters">Register Parameters</a>) by the fact that it has
+symbol type <code>N_FUN</code>.
+</p>
+<p>The AIX documentation also defines symbol descriptor &lsquo;<samp>J</samp>&rsquo; as an
+internal function. I assume this means a function nested within another
+function. It also says symbol descriptor &lsquo;<samp>m</samp>&rsquo; is a module in
+Modula-2 or extended Pascal.
+</p>
+<p>Procedures (functions which do not return values) are represented as
+functions returning the <code>void</code> type in C. I don&rsquo;t see why this couldn&rsquo;t
+be used for all languages (inventing a <code>void</code> type for this purpose if
+necessary), but the AIX documentation defines &lsquo;<samp>I</samp>&rsquo;, &lsquo;<samp>P</samp>&rsquo;, and
+&lsquo;<samp>Q</samp>&rsquo; for internal, global, and static procedures, respectively.
+These symbol descriptors are unusual in that they are not followed by
+type information.
+</p>
+<p>The following example shows a stab for a function <code>main</code> which
+returns type number <code>1</code>. The <code>_main</code> specified for the value
+is a reference to an assembler label which is used to fill in the start
+address of the function.
+</p>
+<div class="example">
+<pre class="example">.stabs &quot;main:F1&quot;,36,0,0,_main # <span class="roman">36 is N_FUN</span>
+</pre></div>
+
+<p>The stab representing a procedure is located immediately following the
+code of the procedure. This stab is in turn directly followed by a
+group of other stabs describing elements of the procedure. These other
+stabs describe the procedure&rsquo;s parameters, its block local variables, and
+its block structure.
+</p>
+<p>If functions can appear in different sections, then the debugger may not
+be able to find the end of a function. Recent versions of GCC will mark
+the end of a function with an <code>N_FUN</code> symbol with an empty string
+for the name. The value is the address of the end of the current
+function. Without such a symbol, there is no indication of the address
+of the end of a function, and you must assume that it ended at the
+starting address of the next function or at the end of the text section
+for the program.
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Nested-Procedures.html#Nested-Procedures" accesskey="n" rel="next">Nested Procedures</a>, Previous: <a href="Line-Numbers.html#Line-Numbers" accesskey="p" rel="previous">Line Numbers</a>, Up: <a href="Program-Structure.html#Program-Structure" accesskey="u" rel="up">Program Structure</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Program-Structure.html b/share/doc/stabs/Program-Structure.html
new file mode 100644
index 0000000..b9fe0df
--- /dev/null
+++ b/share/doc/stabs/Program-Structure.html
@@ -0,0 +1,99 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Program Structure</title>
+
+<meta name="description" content="STABS: Program Structure">
+<meta name="keywords" content="STABS: Program Structure">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Main-Program.html#Main-Program" rel="next" title="Main Program">
+<link href="Assembly-Code.html#Assembly-Code" rel="previous" title="Assembly Code">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Program-Structure"></a>
+<div class="header">
+<p>
+Next: <a href="Constants.html#Constants" accesskey="n" rel="next">Constants</a>, Previous: <a href="Overview.html#Overview" accesskey="p" rel="previous">Overview</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Encoding-the-Structure-of-the-Program"></a>
+<h2 class="chapter">2 Encoding the Structure of the Program</h2>
+
+<p>The elements of the program structure that stabs encode include the name
+of the main function, the names of the source and include files, the
+line numbers, procedure names and types, and the beginnings and ends of
+blocks of code.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="Main-Program.html#Main-Program" accesskey="1">Main Program</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Indicate what the main program is
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Source-Files.html#Source-Files" accesskey="2">Source Files</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">The path and name of the source file
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Include-Files.html#Include-Files" accesskey="3">Include Files</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Names of include files
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Line-Numbers.html#Line-Numbers" accesskey="4">Line Numbers</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Procedures.html#Procedures" accesskey="5">Procedures</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Nested-Procedures.html#Nested-Procedures" accesskey="6">Nested Procedures</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Block-Structure.html#Block-Structure" accesskey="7">Block Structure</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Alternate-Entry-Points.html#Alternate-Entry-Points" accesskey="8">Alternate Entry Points</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Entering procedures except at the beginning.
+</td></tr>
+</table>
+
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Protections.html b/share/doc/stabs/Protections.html
new file mode 100644
index 0000000..7e14163
--- /dev/null
+++ b/share/doc/stabs/Protections.html
@@ -0,0 +1,161 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Protections</title>
+
+<meta name="description" content="STABS: Protections">
+<meta name="keywords" content="STABS: Protections">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Cplusplus.html#Cplusplus" rel="up" title="Cplusplus">
+<link href="Method-Modifiers.html#Method-Modifiers" rel="next" title="Method Modifiers">
+<link href="Member-Type-Descriptor.html#Member-Type-Descriptor" rel="previous" title="Member Type Descriptor">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Protections"></a>
+<div class="header">
+<p>
+Next: <a href="Method-Modifiers.html#Method-Modifiers" accesskey="n" rel="next">Method Modifiers</a>, Previous: <a href="Member-Type-Descriptor.html#Member-Type-Descriptor" accesskey="p" rel="previous">Member Type Descriptor</a>, Up: <a href="Cplusplus.html#Cplusplus" accesskey="u" rel="up">Cplusplus</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Protections-1"></a>
+<h3 class="section">8.9 Protections</h3>
+
+<p>In the simple class definition shown above all member data and
+functions were publicly accessible. The example that follows
+contrasts public, protected and privately accessible fields and shows
+how these protections are encoded in C<tt>++</tt> stabs.
+</p>
+<p>If the character following the &lsquo;<samp><var>field-name</var>:</samp>&rsquo; part of the
+string is &lsquo;<samp>/</samp>&rsquo;, then the next character is the visibility. &lsquo;<samp>0</samp>&rsquo;
+means private, &lsquo;<samp>1</samp>&rsquo; means protected, and &lsquo;<samp>2</samp>&rsquo; means public.
+Debuggers should ignore visibility characters they do not recognize, and
+assume a reasonable default (such as public) (GDB 4.11 does not, but
+this should be fixed in the next GDB release). If no visibility is
+specified the field is public. The visibility &lsquo;<samp>9</samp>&rsquo; means that the
+field has been optimized out and is public (there is no way to specify
+an optimized out field with a private or protected visibility).
+Visibility &lsquo;<samp>9</samp>&rsquo; is not supported by GDB 4.11; this should be fixed
+in the next GDB release.
+</p>
+<p>The following C<tt>++</tt> source:
+</p>
+<div class="example">
+<pre class="example">class vis {
+private:
+ int priv;
+protected:
+ char prot;
+public:
+ float pub;
+};
+</pre></div>
+
+<p>generates the following stab:
+</p>
+<div class="example">
+<pre class="example"># <span class="roman">128 is N_LSYM</span>
+.stabs &quot;vis:T19=s12priv:/01,0,32;prot:/12,32,8;pub:12,64,32;;&quot;,128,0,0,0
+</pre></div>
+
+<p>&lsquo;<samp>vis:T19=s12</samp>&rsquo; indicates that type number 19 is a 12 byte structure
+named <code>vis</code> The <code>priv</code> field has public visibility
+(&lsquo;<samp>/0</samp>&rsquo;), type int (&lsquo;<samp>1</samp>&rsquo;), and offset and size &lsquo;<samp>,0,32;</samp>&rsquo;.
+The <code>prot</code> field has protected visibility (&lsquo;<samp>/1</samp>&rsquo;), type char
+(&lsquo;<samp>2</samp>&rsquo;) and offset and size &lsquo;<samp>,32,8;</samp>&rsquo;. The <code>pub</code> field has
+type float (&lsquo;<samp>12</samp>&rsquo;), and offset and size &lsquo;<samp>,64,32;</samp>&rsquo;.
+</p>
+<p>Protections for member functions are signified by one digit embedded in
+the field part of the stab describing the method. The digit is 0 if
+private, 1 if protected and 2 if public. Consider the C<tt>++</tt> class
+definition below:
+</p>
+<div class="example">
+<pre class="example">class all_methods {
+private:
+ int priv_meth(int in){return in;};
+protected:
+ char protMeth(char in){return in;};
+public:
+ float pubMeth(float in){return in;};
+};
+</pre></div>
+
+<p>It generates the following stab. The digit in question is to the left
+of an &lsquo;<samp>A</samp>&rsquo; in each case. Notice also that in this case two symbol
+descriptors apply to the class name struct tag and struct type.
+</p>
+<div class="display">
+<pre class="display">.stabs &quot;class_name:sym_desc(struct tag&amp;type)type_def(21)=
+ sym_desc(struct)struct_bytes(1)
+ meth_name::type_def(22)=sym_desc(method)returning(int);
+ :args(int);protection(private)modifier(normal)virtual(no);
+ meth_name::type_def(23)=sym_desc(method)returning(char);
+ :args(char);protection(protected)modifier(normal)virtual(no);
+ meth_name::type_def(24)=sym_desc(method)returning(float);
+ :args(float);protection(public)modifier(normal)virtual(no);;&quot;,
+ N_LSYM,NIL,NIL,NIL
+</pre></div>
+
+<div class="smallexample">
+<pre class="smallexample">.stabs &quot;all_methods:Tt21=s1priv_meth::22=##1;:i;0A.;protMeth::23=##2;:c;1A.;
+ pubMeth::24=##12;:f;2A.;;&quot;,128,0,0,0
+</pre></div>
+
+<hr>
+<div class="header">
+<p>
+Next: <a href="Method-Modifiers.html#Method-Modifiers" accesskey="n" rel="next">Method Modifiers</a>, Previous: <a href="Member-Type-Descriptor.html#Member-Type-Descriptor" accesskey="p" rel="previous">Member Type Descriptor</a>, Up: <a href="Cplusplus.html#Cplusplus" accesskey="u" rel="up">Cplusplus</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Questions.html b/share/doc/stabs/Questions.html
new file mode 100644
index 0000000..c2dc465
--- /dev/null
+++ b/share/doc/stabs/Questions.html
@@ -0,0 +1,102 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Questions</title>
+
+<meta name="description" content="STABS: Questions">
+<meta name="keywords" content="STABS: Questions">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Stab-Sections.html#Stab-Sections" rel="next" title="Stab Sections">
+<link href="N_005fLENG.html#N_005fLENG" rel="previous" title="N_LENG">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Questions"></a>
+<div class="header">
+<p>
+Next: <a href="Stab-Sections.html#Stab-Sections" accesskey="n" rel="next">Stab Sections</a>, Previous: <a href="Expanded-Reference.html#Expanded-Reference" accesskey="p" rel="previous">Expanded Reference</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Questions-and-Anomalies"></a>
+<h2 class="appendix">Appendix E Questions and Anomalies</h2>
+
+<ul>
+<li> For GNU C stabs defining local and global variables (<code>N_LSYM</code> and
+<code>N_GSYM</code>), the desc field is supposed to contain the source
+line number on which the variable is defined. In reality the desc
+field is always 0. (This behavior is defined in <samp>dbxout.c</samp> and
+putting a line number in desc is controlled by &lsquo;<samp>#ifdef
+WINNING_GDB</samp>&rsquo;, which defaults to false). GDB supposedly uses this
+information if you say &lsquo;<samp>list <var>var</var></samp>&rsquo;. In reality, <var>var</var> can
+be a variable defined in the program and GDB says &lsquo;<samp>function
+<var>var</var> not defined</samp>&rsquo;.
+
+</li><li> In GNU C stabs, there seems to be no way to differentiate tag types:
+structures, unions, and enums (symbol descriptor &lsquo;<samp>T</samp>&rsquo;) and typedefs
+(symbol descriptor &lsquo;<samp>t</samp>&rsquo;) defined at file scope from types defined locally
+to a procedure or other more local scope. They all use the <code>N_LSYM</code>
+stab type. Types defined at procedure scope are emitted after the
+<code>N_RBRAC</code> of the preceding function and before the code of the
+procedure in which they are defined. This is exactly the same as
+types defined in the source file between the two procedure bodies.
+GDB over-compensates by placing all types in block #1, the block for
+symbols of file scope. This is true for default, &lsquo;<samp>-ansi</samp>&rsquo; and
+&lsquo;<samp>-traditional</samp>&rsquo; compiler options. (Bugs gcc/1063, gdb/1066.)
+
+</li><li> What ends the procedure scope? Is it the proc block&rsquo;s <code>N_RBRAC</code> or the
+next <code>N_FUN</code>? (I believe its the first.)
+</li></ul>
+
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Reference-Parameters.html b/share/doc/stabs/Reference-Parameters.html
new file mode 100644
index 0000000..b444d99
--- /dev/null
+++ b/share/doc/stabs/Reference-Parameters.html
@@ -0,0 +1,83 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Reference Parameters</title>
+
+<meta name="description" content="STABS: Reference Parameters">
+<meta name="keywords" content="STABS: Reference Parameters">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Parameters.html#Parameters" rel="up" title="Parameters">
+<link href="Conformant-Arrays.html#Conformant-Arrays" rel="next" title="Conformant Arrays">
+<link href="Local-Variable-Parameters.html#Local-Variable-Parameters" rel="previous" title="Local Variable Parameters">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Reference-Parameters"></a>
+<div class="header">
+<p>
+Next: <a href="Conformant-Arrays.html#Conformant-Arrays" accesskey="n" rel="next">Conformant Arrays</a>, Previous: <a href="Local-Variable-Parameters.html#Local-Variable-Parameters" accesskey="p" rel="previous">Local Variable Parameters</a>, Up: <a href="Parameters.html#Parameters" accesskey="u" rel="up">Parameters</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Passing-Parameters-by-Reference"></a>
+<h4 class="subsection">4.7.3 Passing Parameters by Reference</h4>
+
+<p>If the parameter is passed by reference (e.g., Pascal <code>VAR</code>
+parameters), then the symbol descriptor is &lsquo;<samp>v</samp>&rsquo; if it is in the
+argument list, or &lsquo;<samp>a</samp>&rsquo; if it in a register. Other than the fact
+that these contain the address of the parameter rather than the
+parameter itself, they are identical to &lsquo;<samp>p</samp>&rsquo; and &lsquo;<samp>R</samp>&rsquo;,
+respectively. I believe &lsquo;<samp>a</samp>&rsquo; is an AIX invention; &lsquo;<samp>v</samp>&rsquo; is
+supported by all stabs-using systems as far as I know.
+</p>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Register-Parameters.html b/share/doc/stabs/Register-Parameters.html
new file mode 100644
index 0000000..92a74db
--- /dev/null
+++ b/share/doc/stabs/Register-Parameters.html
@@ -0,0 +1,125 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Register Parameters</title>
+
+<meta name="description" content="STABS: Register Parameters">
+<meta name="keywords" content="STABS: Register Parameters">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Parameters.html#Parameters" rel="up" title="Parameters">
+<link href="Local-Variable-Parameters.html#Local-Variable-Parameters" rel="next" title="Local Variable Parameters">
+<link href="Parameters.html#Parameters" rel="previous" title="Parameters">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Register-Parameters"></a>
+<div class="header">
+<p>
+Next: <a href="Local-Variable-Parameters.html#Local-Variable-Parameters" accesskey="n" rel="next">Local Variable Parameters</a>, Up: <a href="Parameters.html#Parameters" accesskey="u" rel="up">Parameters</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Passing-Parameters-in-Registers"></a>
+<h4 class="subsection">4.7.1 Passing Parameters in Registers</h4>
+
+<p>If the parameter is passed in a register, then traditionally there are
+two symbols for each argument:
+</p>
+<div class="example">
+<pre class="example">.stabs &quot;arg:p1&quot; . . . ; N_PSYM
+.stabs &quot;arg:r1&quot; . . . ; N_RSYM
+</pre></div>
+
+<p>Debuggers use the second one to find the value, and the first one to
+know that it is an argument.
+</p>
+<a name="index-C_005fRPSYM"></a>
+<a name="index-N_005fRSYM_002c-for-parameters"></a>
+<p>Because that approach is kind of ugly, some compilers use symbol
+descriptor &lsquo;<samp>P</samp>&rsquo; or &lsquo;<samp>R</samp>&rsquo; to indicate an argument which is in a
+register. Symbol type <code>C_RPSYM</code> is used in XCOFF and <code>N_RSYM</code>
+is used otherwise. The symbol&rsquo;s value is the register number. &lsquo;<samp>P</samp>&rsquo;
+and &lsquo;<samp>R</samp>&rsquo; mean the same thing; the difference is that &lsquo;<samp>P</samp>&rsquo; is a
+GNU invention and &lsquo;<samp>R</samp>&rsquo; is an IBM (XCOFF) invention. As of version
+4.9, GDB should handle either one.
+</p>
+<p>There is at least one case where GCC uses a &lsquo;<samp>p</samp>&rsquo; and &lsquo;<samp>r</samp>&rsquo; pair
+rather than &lsquo;<samp>P</samp>&rsquo;; this is where the argument is passed in the
+argument list and then loaded into a register.
+</p>
+<p>According to the AIX documentation, symbol descriptor &lsquo;<samp>D</samp>&rsquo; is for a
+parameter passed in a floating point register. This seems
+unnecessary&mdash;why not just use &lsquo;<samp>R</samp>&rsquo; with a register number which
+indicates that it&rsquo;s a floating point register? I haven&rsquo;t verified
+whether the system actually does what the documentation indicates.
+</p>
+<p>On the sparc and hppa, for a &lsquo;<samp>P</samp>&rsquo; symbol whose type is a structure
+or union, the register contains the address of the structure. On the
+sparc, this is also true of a &lsquo;<samp>p</samp>&rsquo; and &lsquo;<samp>r</samp>&rsquo; pair (using Sun
+<code>cc</code>) or a &lsquo;<samp>p</samp>&rsquo; symbol. However, if a (small) structure is
+really in a register, &lsquo;<samp>r</samp>&rsquo; is used. And, to top it all off, on the
+hppa it might be a structure which was passed on the stack and loaded
+into a register and for which there is a &lsquo;<samp>p</samp>&rsquo; and &lsquo;<samp>r</samp>&rsquo; pair! I
+believe that symbol descriptor &lsquo;<samp>i</samp>&rsquo; is supposed to deal with this
+case (it is said to mean &quot;value parameter by reference, indirect
+access&quot;; I don&rsquo;t know the source for this information), but I don&rsquo;t know
+details or what compilers or debuggers use it, if any (not GDB or GCC).
+It is not clear to me whether this case needs to be dealt with
+differently than parameters passed by reference (see <a href="Reference-Parameters.html#Reference-Parameters">Reference Parameters</a>).
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Local-Variable-Parameters.html#Local-Variable-Parameters" accesskey="n" rel="next">Local Variable Parameters</a>, Up: <a href="Parameters.html#Parameters" accesskey="u" rel="up">Parameters</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Register-Variables.html b/share/doc/stabs/Register-Variables.html
new file mode 100644
index 0000000..4c1ecfe
--- /dev/null
+++ b/share/doc/stabs/Register-Variables.html
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Register Variables</title>
+
+<meta name="description" content="STABS: Register Variables">
+<meta name="keywords" content="STABS: Register Variables">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Variables.html#Variables" rel="up" title="Variables">
+<link href="Common-Blocks.html#Common-Blocks" rel="next" title="Common Blocks">
+<link href="Global-Variables.html#Global-Variables" rel="previous" title="Global Variables">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Register-Variables"></a>
+<div class="header">
+<p>
+Next: <a href="Common-Blocks.html#Common-Blocks" accesskey="n" rel="next">Common Blocks</a>, Previous: <a href="Global-Variables.html#Global-Variables" accesskey="p" rel="previous">Global Variables</a>, Up: <a href="Variables.html#Variables" accesskey="u" rel="up">Variables</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Register-Variables-1"></a>
+<h3 class="section">4.3 Register Variables</h3>
+
+<a name="index-N_005fRSYM"></a>
+<a name="index-C_005fRSYM"></a>
+<p>Register variables have their own stab type, <code>N_RSYM</code>
+(<code>C_RSYM</code> for XCOFF), and their own symbol descriptor, &lsquo;<samp>r</samp>&rsquo;.
+The stab&rsquo;s value is the number of the register where the variable data
+will be stored.
+</p>
+<p>AIX defines a separate symbol descriptor &lsquo;<samp>d</samp>&rsquo; for floating point
+registers. This seems unnecessary; why not just just give floating
+point registers different register numbers? I have not verified whether
+the compiler actually uses &lsquo;<samp>d</samp>&rsquo;.
+</p>
+<p>If the register is explicitly allocated to a global variable, but not
+initialized, as in:
+</p>
+<div class="example">
+<pre class="example">register int g_bar asm (&quot;%g5&quot;);
+</pre></div>
+
+<p>then the stab may be emitted at the end of the object file, with
+the other bss symbols.
+</p>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Simple-Classes.html b/share/doc/stabs/Simple-Classes.html
new file mode 100644
index 0000000..816f4e9
--- /dev/null
+++ b/share/doc/stabs/Simple-Classes.html
@@ -0,0 +1,174 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Simple Classes</title>
+
+<meta name="description" content="STABS: Simple Classes">
+<meta name="keywords" content="STABS: Simple Classes">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Cplusplus.html#Cplusplus" rel="up" title="Cplusplus">
+<link href="Class-Instance.html#Class-Instance" rel="next" title="Class Instance">
+<link href="Basic-Cplusplus-Types.html#Basic-Cplusplus-Types" rel="previous" title="Basic Cplusplus Types">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Simple-Classes"></a>
+<div class="header">
+<p>
+Next: <a href="Class-Instance.html#Class-Instance" accesskey="n" rel="next">Class Instance</a>, Previous: <a href="Basic-Cplusplus-Types.html#Basic-Cplusplus-Types" accesskey="p" rel="previous">Basic Cplusplus Types</a>, Up: <a href="Cplusplus.html#Cplusplus" accesskey="u" rel="up">Cplusplus</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Simple-Class-Definition"></a>
+<h3 class="section">8.4 Simple Class Definition</h3>
+
+<p>The stabs describing C<tt>++</tt> language features are an extension of the
+stabs describing C. Stabs representing C<tt>++</tt> class types elaborate
+extensively on the stab format used to describe structure types in C.
+Stabs representing class type variables look just like stabs
+representing C language variables.
+</p>
+<p>Consider the following very simple class definition.
+</p>
+<div class="example">
+<pre class="example">class baseA {
+public:
+ int Adat;
+ int Ameth(int in, char other);
+};
+</pre></div>
+
+<p>The class <code>baseA</code> is represented by two stabs. The first stab describes
+the class as a structure type. The second stab describes a structure
+tag of the class type. Both stabs are of stab type <code>N_LSYM</code>. Since the
+stab is not located between an <code>N_FUN</code> and an <code>N_LBRAC</code> stab this indicates
+that the class is defined at file scope. If it were, then the <code>N_LSYM</code>
+would signify a local variable.
+</p>
+<p>A stab describing a C<tt>++</tt> class type is similar in format to a stab
+describing a C struct, with each class member shown as a field in the
+structure. The part of the struct format describing fields is
+expanded to include extra information relevant to C<tt>++</tt> class members.
+In addition, if the class has multiple base classes or virtual
+functions the struct format outside of the field parts is also
+augmented.
+</p>
+<p>In this simple example the field part of the C<tt>++</tt> class stab
+representing member data looks just like the field part of a C struct
+stab. The section on protections describes how its format is
+sometimes extended for member data.
+</p>
+<p>The field part of a C<tt>++</tt> class stab representing a member function
+differs substantially from the field part of a C struct stab. It
+still begins with &lsquo;<samp>name:</samp>&rsquo; but then goes on to define a new type number
+for the member function, describe its return type, its argument types,
+its protection level, any qualifiers applied to the method definition,
+and whether the method is virtual or not. If the method is virtual
+then the method description goes on to give the vtable index of the
+method, and the type number of the first base class defining the
+method.
+</p>
+<p>When the field name is a method name it is followed by two colons rather
+than one. This is followed by a new type definition for the method.
+This is a number followed by an equal sign and the type of the method.
+Normally this will be a type declared using the &lsquo;<samp>#</samp>&rsquo; type
+descriptor; see <a href="Method-Type-Descriptor.html#Method-Type-Descriptor">Method Type Descriptor</a>; static member functions
+are declared using the &lsquo;<samp>f</samp>&rsquo; type descriptor instead; see
+<a href="Function-Types.html#Function-Types">Function Types</a>.
+</p>
+<p>The format of an overloaded operator method name differs from that of
+other methods. It is &lsquo;<samp>op$::<var>operator-name</var>.</samp>&rsquo; where
+<var>operator-name</var> is the operator name such as &lsquo;<samp>+</samp>&rsquo; or &lsquo;<samp>+=</samp>&rsquo;.
+The name ends with a period, and any characters except the period can
+occur in the <var>operator-name</var> string.
+</p>
+<p>The next part of the method description represents the arguments to the
+method, preceded by a colon and ending with a semi-colon. The types of
+the arguments are expressed in the same way argument types are expressed
+in C<tt>++</tt> name mangling. In this example an <code>int</code> and a <code>char</code>
+map to &lsquo;<samp>ic</samp>&rsquo;.
+</p>
+<p>This is followed by a number, a letter, and an asterisk or period,
+followed by another semicolon. The number indicates the protections
+that apply to the member function. Here the 2 means public. The
+letter encodes any qualifier applied to the method definition. In
+this case, &lsquo;<samp>A</samp>&rsquo; means that it is a normal function definition. The dot
+shows that the method is not virtual. The sections that follow
+elaborate further on these fields and describe the additional
+information present for virtual methods.
+</p>
+
+<div class="display">
+<pre class="display">.stabs &quot;class_name:sym_desc(type)type_def(20)=type_desc(struct)struct_bytes(4)
+ field_name(Adat):type(int),bit_offset(0),field_bits(32);
+
+ method_name(Ameth)::type_def(21)=type_desc(method)return_type(int);
+ :arg_types(int char);
+ protection(public)qualifier(normal)virtual(no);;&quot;
+ N_LSYM,NIL,NIL,NIL
+</pre></div>
+
+<div class="smallexample">
+<pre class="smallexample">.stabs &quot;baseA:t20=s4Adat:1,0,32;Ameth::21=##1;:ic;2A.;;&quot;,128,0,0,0
+
+.stabs &quot;class_name:sym_desc(struct tag)&quot;,N_LSYM,NIL,NIL,NIL
+
+.stabs &quot;baseA:T20&quot;,128,0,0,0
+</pre></div>
+
+<hr>
+<div class="header">
+<p>
+Next: <a href="Class-Instance.html#Class-Instance" accesskey="n" rel="next">Class Instance</a>, Previous: <a href="Basic-Cplusplus-Types.html#Basic-Cplusplus-Types" accesskey="p" rel="previous">Basic Cplusplus Types</a>, Up: <a href="Cplusplus.html#Cplusplus" accesskey="u" rel="up">Cplusplus</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Source-Files.html b/share/doc/stabs/Source-Files.html
new file mode 100644
index 0000000..5eccd96
--- /dev/null
+++ b/share/doc/stabs/Source-Files.html
@@ -0,0 +1,154 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Source Files</title>
+
+<meta name="description" content="STABS: Source Files">
+<meta name="keywords" content="STABS: Source Files">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Program-Structure.html#Program-Structure" rel="up" title="Program Structure">
+<link href="Include-Files.html#Include-Files" rel="next" title="Include Files">
+<link href="Main-Program.html#Main-Program" rel="previous" title="Main Program">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Source-Files"></a>
+<div class="header">
+<p>
+Next: <a href="Include-Files.html#Include-Files" accesskey="n" rel="next">Include Files</a>, Previous: <a href="Main-Program.html#Main-Program" accesskey="p" rel="previous">Main Program</a>, Up: <a href="Program-Structure.html#Program-Structure" accesskey="u" rel="up">Program Structure</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Paths-and-Names-of-the-Source-Files"></a>
+<h3 class="section">2.2 Paths and Names of the Source Files</h3>
+
+<a name="index-N_005fSO"></a>
+<p>Before any other stabs occur, there must be a stab specifying the source
+file. This information is contained in a symbol of stab type
+<code>N_SO</code>; the string field contains the name of the file. The
+value of the symbol is the start address of the portion of the
+text section corresponding to that file.
+</p>
+<p>Some compilers use the desc field to indicate the language of the
+source file. Sun&rsquo;s compilers started this usage, and the first
+constants are derived from their documentation. Languages added
+by gcc/gdb start at 0x32 to avoid conflict with languages Sun may
+add in the future. A desc field with a value 0 indicates that no
+language has been specified via this mechanism.
+</p>
+<dl compact="compact">
+<dt><code>N_SO_AS</code> (0x1)</dt>
+<dd><p>Assembly language
+</p></dd>
+<dt><code>N_SO_C</code> (0x2)</dt>
+<dd><p>K&amp;R traditional C
+</p></dd>
+<dt><code>N_SO_ANSI_C</code> (0x3)</dt>
+<dd><p>ANSI C
+</p></dd>
+<dt><code>N_SO_CC</code> (0x4)</dt>
+<dd><p>C++
+</p></dd>
+<dt><code>N_SO_FORTRAN</code> (0x5)</dt>
+<dd><p>Fortran
+</p></dd>
+<dt><code>N_SO_PASCAL</code> (0x6)</dt>
+<dd><p>Pascal
+</p></dd>
+<dt><code>N_SO_FORTRAN90</code> (0x7)</dt>
+<dd><p>Fortran90
+</p></dd>
+<dt><code>N_SO_OBJC</code> (0x32)</dt>
+<dd><p>Objective-C
+</p></dd>
+<dt><code>N_SO_OBJCPLUS</code> (0x33)</dt>
+<dd><p>Objective-C++
+</p></dd>
+</dl>
+
+<p>Some compilers (for example, GCC2 and SunOS4 <samp>/bin/cc</samp>) also
+include the directory in which the source was compiled, in a second
+<code>N_SO</code> symbol preceding the one containing the file name. This
+symbol can be distinguished by the fact that it ends in a slash. Code
+from the <code>cfront</code> C<tt>++</tt> compiler can have additional <code>N_SO</code> symbols for
+nonexistent source files after the <code>N_SO</code> for the real source file;
+these are believed to contain no useful information.
+</p>
+<p>For example:
+</p>
+<div class="example">
+<pre class="example">.stabs &quot;/cygint/s1/users/jcm/play/&quot;,100,0,0,Ltext0 # <span class="roman">100 is N_SO</span>
+.stabs &quot;hello.c&quot;,100,0,0,Ltext0
+ .text
+Ltext0:
+</pre></div>
+
+<a name="index-C_005fFILE"></a>
+<p>Instead of <code>N_SO</code> symbols, XCOFF uses a <code>.file</code> assembler
+directive which assembles to a <code>C_FILE</code> symbol; explaining this in
+detail is outside the scope of this document.
+</p>
+<p>If it is useful to indicate the end of a source file, this is done with
+an <code>N_SO</code> symbol with an empty string for the name. The value is
+the address of the end of the text section for the file. For some
+systems, there is no indication of the end of a source file, and you
+just need to figure it ended when you see an <code>N_SO</code> for a different
+source file, or a symbol ending in <code>.o</code> (which at least some
+linkers insert to mark the start of a new <code>.o</code> file).
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Include-Files.html#Include-Files" accesskey="n" rel="next">Include Files</a>, Previous: <a href="Main-Program.html#Main-Program" accesskey="p" rel="previous">Main Program</a>, Up: <a href="Program-Structure.html#Program-Structure" accesskey="u" rel="up">Program Structure</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Stab-Section-Basics.html b/share/doc/stabs/Stab-Section-Basics.html
new file mode 100644
index 0000000..48a3512
--- /dev/null
+++ b/share/doc/stabs/Stab-Section-Basics.html
@@ -0,0 +1,156 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Stab Section Basics</title>
+
+<meta name="description" content="STABS: Stab Section Basics">
+<meta name="keywords" content="STABS: Stab Section Basics">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Stab-Sections.html#Stab-Sections" rel="up" title="Stab Sections">
+<link href="ELF-Linker-Relocation.html#ELF-Linker-Relocation" rel="next" title="ELF Linker Relocation">
+<link href="Stab-Sections.html#Stab-Sections" rel="previous" title="Stab Sections">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Stab-Section-Basics"></a>
+<div class="header">
+<p>
+Next: <a href="ELF-Linker-Relocation.html#ELF-Linker-Relocation" accesskey="n" rel="next">ELF Linker Relocation</a>, Up: <a href="Stab-Sections.html#Stab-Sections" accesskey="u" rel="up">Stab Sections</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="How-to-Embed-Stabs-in-Sections"></a>
+<h3 class="appendixsec">F.1 How to Embed Stabs in Sections</h3>
+
+<p>The assembler creates two custom sections, a section named <code>.stab</code>
+which contains an array of fixed length structures, one struct per stab,
+and a section named <code>.stabstr</code> containing all the variable length
+strings that are referenced by stabs in the <code>.stab</code> section. The
+byte order of the stabs binary data depends on the object file format.
+For ELF, it matches the byte order of the ELF file itself, as determined
+from the <code>EI_DATA</code> field in the <code>e_ident</code> member of the ELF
+header. For SOM, it is always big-endian (is this true??? FIXME). For
+COFF, it matches the byte order of the COFF headers. The meaning of the
+fields is the same as for a.out (see <a href="Symbol-Table-Format.html#Symbol-Table-Format">Symbol Table Format</a>), except
+that the <code>n_strx</code> field is relative to the strings for the current
+compilation unit (which can be found using the synthetic N_UNDF stab
+described below), rather than the entire string table.
+</p>
+<p>The first stab in the <code>.stab</code> section for each compilation unit is
+synthetic, generated entirely by the assembler, with no corresponding
+<code>.stab</code> directive as input to the assembler. This stab contains
+the following fields:
+</p>
+<dl compact="compact">
+<dt><code>n_strx</code></dt>
+<dd><p>Offset in the <code>.stabstr</code> section to the source filename.
+</p>
+</dd>
+<dt><code>n_type</code></dt>
+<dd><p><code>N_UNDF</code>.
+</p>
+</dd>
+<dt><code>n_other</code></dt>
+<dd><p>Unused field, always zero.
+This may eventually be used to hold overflows from the count in
+the <code>n_desc</code> field.
+</p>
+</dd>
+<dt><code>n_desc</code></dt>
+<dd><p>Count of upcoming symbols, i.e., the number of remaining stabs for this
+source file.
+</p>
+</dd>
+<dt><code>n_value</code></dt>
+<dd><p>Size of the string table fragment associated with this source file, in
+bytes.
+</p></dd>
+</dl>
+
+<p>The <code>.stabstr</code> section always starts with a null byte (so that string
+offsets of zero reference a null string), followed by random length strings,
+each of which is null byte terminated.
+</p>
+<p>The ELF section header for the <code>.stab</code> section has its
+<code>sh_link</code> member set to the section number of the <code>.stabstr</code>
+section, and the <code>.stabstr</code> section has its ELF section
+header <code>sh_type</code> member set to <code>SHT_STRTAB</code> to mark it as a
+string table. SOM and COFF have no way of linking the sections together
+or marking them as string tables.
+</p>
+<p>For COFF, the <code>.stab</code> and <code>.stabstr</code> sections may be simply
+concatenated by the linker. GDB then uses the <code>n_desc</code> fields to
+figure out the extent of the original sections. Similarly, the
+<code>n_value</code> fields of the header symbols are added together in order
+to get the actual position of the strings in a desired <code>.stabstr</code>
+section. Although this design obviates any need for the linker to
+relocate or otherwise manipulate <code>.stab</code> and <code>.stabstr</code>
+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</code> sections before concatenating, then the
+offsets to strings in the middle of the executable&rsquo;s <code>.stabstr</code>
+section would be wrong.
+</p>
+<p>The GNU linker is able to optimize stabs information by merging
+duplicate strings and removing duplicate header file information
+(see <a href="Include-Files.html#Include-Files">Include Files</a>). When some versions of the GNU linker optimize
+stabs in sections, they remove the leading <code>N_UNDF</code> symbol and
+arranges for all the <code>n_strx</code> fields to be relative to the start of
+the <code>.stabstr</code> section.
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="ELF-Linker-Relocation.html#ELF-Linker-Relocation" accesskey="n" rel="next">ELF Linker Relocation</a>, Up: <a href="Stab-Sections.html#Stab-Sections" accesskey="u" rel="up">Stab Sections</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Stab-Section-Transformations.html b/share/doc/stabs/Stab-Section-Transformations.html
new file mode 100644
index 0000000..64a775b
--- /dev/null
+++ b/share/doc/stabs/Stab-Section-Transformations.html
@@ -0,0 +1,115 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Stab Section Transformations</title>
+
+<meta name="description" content="STABS: Stab Section Transformations">
+<meta name="keywords" content="STABS: Stab Section Transformations">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Transformations-On-Symbol-Tables.html#Transformations-On-Symbol-Tables" rel="up" title="Transformations On Symbol Tables">
+<link href="Cplusplus.html#Cplusplus" rel="next" title="Cplusplus">
+<link href="Transformations-On-Global-Variables.html#Transformations-On-Global-Variables" rel="previous" title="Transformations On Global Variables">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Stab-Section-Transformations"></a>
+<div class="header">
+<p>
+Previous: <a href="Transformations-On-Global-Variables.html#Transformations-On-Global-Variables" accesskey="p" rel="previous">Transformations On Global Variables</a>, Up: <a href="Transformations-On-Symbol-Tables.html#Transformations-On-Symbol-Tables" accesskey="u" rel="up">Transformations On Symbol Tables</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Transformations-of-Stabs-in-separate-sections"></a>
+<h4 class="subsection">7.2.3 Transformations of Stabs in separate sections</h4>
+
+<p>For object file formats using stabs in separate sections (see <a href="Stab-Sections.html#Stab-Sections">Stab Sections</a>), use <code>objdump --stabs</code> instead of <code>nm</code> to show the
+stabs in an object or executable file. <code>objdump</code> is a GNU utility;
+Sun does not provide any equivalent.
+</p>
+<p>The following example is for a stab whose value is an address is
+relative to the compilation unit (see <a href="ELF-Linker-Relocation.html#ELF-Linker-Relocation">ELF Linker Relocation</a>). For
+example, if the source line
+</p>
+<div class="example">
+<pre class="example">static int ld = 5;
+</pre></div>
+
+<p>appears within a function, then the assembly language output from the
+compiler contains:
+</p>
+<div class="example">
+<pre class="example">.Ddata.data:
+&hellip;
+ .stabs &quot;ld:V(0,3)&quot;,0x26,0,4,.L18-Ddata.data # <span class="roman">0x26 is N_STSYM</span>
+&hellip;
+.L18:
+ .align 4
+ .word 0x5
+</pre></div>
+
+<p>Because the value is formed by subtracting one symbol from another, the
+value is absolute, not relocatable, and so the object file contains
+</p>
+<div class="example">
+<pre class="example">Symnum n_type n_othr n_desc n_value n_strx String
+31 STSYM 0 4 00000004 680 ld:V(0,3)
+</pre></div>
+
+<p>without any relocations, and the executable file also contains
+</p>
+<div class="example">
+<pre class="example">Symnum n_type n_othr n_desc n_value n_strx String
+31 STSYM 0 4 00000004 680 ld:V(0,3)
+</pre></div>
+
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Stab-Sections.html b/share/doc/stabs/Stab-Sections.html
new file mode 100644
index 0000000..939c78b
--- /dev/null
+++ b/share/doc/stabs/Stab-Sections.html
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Stab Sections</title>
+
+<meta name="description" content="STABS: Stab Sections">
+<meta name="keywords" content="STABS: Stab Sections">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Stab-Section-Basics.html#Stab-Section-Basics" rel="next" title="Stab Section Basics">
+<link href="Questions.html#Questions" rel="previous" title="Questions">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Stab-Sections"></a>
+<div class="header">
+<p>
+Next: <a href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License" accesskey="n" rel="next">GNU Free Documentation License</a>, Previous: <a href="Questions.html#Questions" accesskey="p" rel="previous">Questions</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Using-Stabs-in-Their-Own-Sections"></a>
+<h2 class="appendix">Appendix F Using Stabs in Their Own Sections</h2>
+
+<p>Many object file formats allow tools to create object files with custom
+sections containing any arbitrary data. For any such object file
+format, stabs can be embedded in special sections. This is how stabs
+are used with ELF and SOM, and aside from ECOFF and XCOFF, is how stabs
+are used with COFF.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="Stab-Section-Basics.html#Stab-Section-Basics" accesskey="1">Stab Section Basics</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">How to embed stabs in sections
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="ELF-Linker-Relocation.html#ELF-Linker-Relocation" accesskey="2">ELF Linker Relocation</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Sun ELF hacks
+</td></tr>
+</table>
+
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Stab-Symbol-Types.html b/share/doc/stabs/Stab-Symbol-Types.html
new file mode 100644
index 0000000..c531802
--- /dev/null
+++ b/share/doc/stabs/Stab-Symbol-Types.html
@@ -0,0 +1,276 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Stab Symbol Types</title>
+
+<meta name="description" content="STABS: Stab Symbol Types">
+<meta name="keywords" content="STABS: Stab Symbol Types">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Stab-Types.html#Stab-Types" rel="up" title="Stab Types">
+<link href="Symbol-Descriptors.html#Symbol-Descriptors" rel="next" title="Symbol Descriptors">
+<link href="Non_002dStab-Symbol-Types.html#Non_002dStab-Symbol-Types" rel="previous" title="Non-Stab Symbol Types">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Stab-Symbol-Types"></a>
+<div class="header">
+<p>
+Previous: <a href="Non_002dStab-Symbol-Types.html#Non_002dStab-Symbol-Types" accesskey="p" rel="previous">Non-Stab Symbol Types</a>, Up: <a href="Stab-Types.html#Stab-Types" accesskey="u" rel="up">Stab Types</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Stab-Symbol-Types-1"></a>
+<h3 class="appendixsec">A.2 Stab Symbol Types</h3>
+
+<p>The following symbol types indicate that this is a stab. This is the
+full list of stab numbers, including stab types that are used in
+languages other than C.
+</p>
+<dl compact="compact">
+<dt><code>0x20 N_GSYM</code></dt>
+<dd><p>Global symbol; see <a href="Global-Variables.html#Global-Variables">Global Variables</a>.
+</p>
+</dd>
+<dt><code>0x22 N_FNAME</code></dt>
+<dd><p>Function name (for BSD Fortran); see <a href="Procedures.html#Procedures">Procedures</a>.
+</p>
+</dd>
+<dt><code>0x24 N_FUN</code></dt>
+<dd><p>Function name (see <a href="Procedures.html#Procedures">Procedures</a>) or text segment variable
+(see <a href="Statics.html#Statics">Statics</a>).
+</p>
+</dd>
+<dt><code>0x26 N_STSYM</code></dt>
+<dd><p>Data segment file-scope variable; see <a href="Statics.html#Statics">Statics</a>.
+</p>
+</dd>
+<dt><code>0x28 N_LCSYM</code></dt>
+<dd><p>BSS segment file-scope variable; see <a href="Statics.html#Statics">Statics</a>.
+</p>
+</dd>
+<dt><code>0x2a N_MAIN</code></dt>
+<dd><p>Name of main routine; see <a href="Main-Program.html#Main-Program">Main Program</a>.
+</p>
+</dd>
+<dt><code>0x2c N_ROSYM</code></dt>
+<dd><p>Variable in <code>.rodata</code> section; see <a href="Statics.html#Statics">Statics</a>.
+</p>
+</dd>
+<dt><code>0x30 N_PC</code></dt>
+<dd><p>Global symbol (for Pascal); see <a href="N_005fPC.html#N_005fPC">N_PC</a>.
+</p>
+</dd>
+<dt><code>0x32 N_NSYMS</code></dt>
+<dd><p>Number of symbols (according to Ultrix V4.0); see <a href="N_005fNSYMS.html#N_005fNSYMS">N_NSYMS</a>.
+</p>
+</dd>
+<dt><code>0x34 N_NOMAP</code></dt>
+<dd><p>No DST map; see <a href="N_005fNOMAP.html#N_005fNOMAP">N_NOMAP</a>.
+</p>
+</dd>
+<dt><code>0x36 N_MAC_DEFINE</code></dt>
+<dd><p>Name and body of a <code>#define</code>d macro; see <a href="Macro-define-and-undefine.html#Macro-define-and-undefine">Macro define and undefine</a>.
+</p>
+</dd>
+<dt><code>0x38 N_OBJ</code></dt>
+<dd><p>Object file (Solaris2).
+</p>
+</dd>
+<dt><code>0x3a N_MAC_UNDEF</code></dt>
+<dd><p>Name of an <code>#undef</code>ed macro; see <a href="Macro-define-and-undefine.html#Macro-define-and-undefine">Macro define and undefine</a>.
+</p>
+</dd>
+<dt><code>0x3c N_OPT</code></dt>
+<dd><p>Debugger options (Solaris2).
+</p>
+</dd>
+<dt><code>0x40 N_RSYM</code></dt>
+<dd><p>Register variable; see <a href="Register-Variables.html#Register-Variables">Register Variables</a>.
+</p>
+</dd>
+<dt><code>0x42 N_M2C</code></dt>
+<dd><p>Modula-2 compilation unit; see <a href="N_005fM2C.html#N_005fM2C">N_M2C</a>.
+</p>
+</dd>
+<dt><code>0x44 N_SLINE</code></dt>
+<dd><p>Line number in text segment; see <a href="Line-Numbers.html#Line-Numbers">Line Numbers</a>.
+</p>
+</dd>
+<dt><code>0x46 N_DSLINE</code></dt>
+<dd><p>Line number in data segment; see <a href="Line-Numbers.html#Line-Numbers">Line Numbers</a>.
+</p>
+</dd>
+<dt><code>0x48 N_BSLINE</code></dt>
+<dd><p>Line number in bss segment; see <a href="Line-Numbers.html#Line-Numbers">Line Numbers</a>.
+</p>
+</dd>
+<dt><code>0x48 N_BROWS</code></dt>
+<dd><p>Sun source code browser, path to <samp>.cb</samp> file; see <a href="N_005fBROWS.html#N_005fBROWS">N_BROWS</a>.
+</p>
+</dd>
+<dt><code>0x4a N_DEFD</code></dt>
+<dd><p>GNU Modula2 definition module dependency; see <a href="N_005fDEFD.html#N_005fDEFD">N_DEFD</a>.
+</p>
+</dd>
+<dt><code>0x4c N_FLINE</code></dt>
+<dd><p>Function start/body/end line numbers (Solaris2).
+</p>
+</dd>
+<dt><code>0x50 N_EHDECL</code></dt>
+<dd><p>GNU C<tt>++</tt> exception variable; see <a href="N_005fEHDECL.html#N_005fEHDECL">N_EHDECL</a>.
+</p>
+</dd>
+<dt><code>0x50 N_MOD2</code></dt>
+<dd><p>Modula2 info &quot;for imc&quot; (according to Ultrix V4.0); see <a href="N_005fMOD2.html#N_005fMOD2">N_MOD2</a>.
+</p>
+</dd>
+<dt><code>0x54 N_CATCH</code></dt>
+<dd><p>GNU C<tt>++</tt> <code>catch</code> clause; see <a href="N_005fCATCH.html#N_005fCATCH">N_CATCH</a>.
+</p>
+</dd>
+<dt><code>0x60 N_SSYM</code></dt>
+<dd><p>Structure of union element; see <a href="N_005fSSYM.html#N_005fSSYM">N_SSYM</a>.
+</p>
+</dd>
+<dt><code>0x62 N_ENDM</code></dt>
+<dd><p>Last stab for module (Solaris2).
+</p>
+</dd>
+<dt><code>0x64 N_SO</code></dt>
+<dd><p>Path and name of source file; see <a href="Source-Files.html#Source-Files">Source Files</a>.
+</p>
+</dd>
+<dt><code>0x80 N_LSYM</code></dt>
+<dd><p>Stack variable (see <a href="Stack-Variables.html#Stack-Variables">Stack Variables</a>) or type (see <a href="Typedefs.html#Typedefs">Typedefs</a>).
+</p>
+</dd>
+<dt><code>0x82 N_BINCL</code></dt>
+<dd><p>Beginning of an include file (Sun only); see <a href="Include-Files.html#Include-Files">Include Files</a>.
+</p>
+</dd>
+<dt><code>0x84 N_SOL</code></dt>
+<dd><p>Name of include file; see <a href="Include-Files.html#Include-Files">Include Files</a>.
+</p>
+</dd>
+<dt><code>0xa0 N_PSYM</code></dt>
+<dd><p>Parameter variable; see <a href="Parameters.html#Parameters">Parameters</a>.
+</p>
+</dd>
+<dt><code>0xa2 N_EINCL</code></dt>
+<dd><p>End of an include file; see <a href="Include-Files.html#Include-Files">Include Files</a>.
+</p>
+</dd>
+<dt><code>0xa4 N_ENTRY</code></dt>
+<dd><p>Alternate entry point; see <a href="Alternate-Entry-Points.html#Alternate-Entry-Points">Alternate Entry Points</a>.
+</p>
+</dd>
+<dt><code>0xc0 N_LBRAC</code></dt>
+<dd><p>Beginning of a lexical block; see <a href="Block-Structure.html#Block-Structure">Block Structure</a>.
+</p>
+</dd>
+<dt><code>0xc2 N_EXCL</code></dt>
+<dd><p>Place holder for a deleted include file; see <a href="Include-Files.html#Include-Files">Include Files</a>.
+</p>
+</dd>
+<dt><code>0xc4 N_SCOPE</code></dt>
+<dd><p>Modula2 scope information (Sun linker); see <a href="N_005fSCOPE.html#N_005fSCOPE">N_SCOPE</a>.
+</p>
+</dd>
+<dt><code>0xe0 N_RBRAC</code></dt>
+<dd><p>End of a lexical block; see <a href="Block-Structure.html#Block-Structure">Block Structure</a>.
+</p>
+</dd>
+<dt><code>0xe2 N_BCOMM</code></dt>
+<dd><p>Begin named common block; see <a href="Common-Blocks.html#Common-Blocks">Common Blocks</a>.
+</p>
+</dd>
+<dt><code>0xe4 N_ECOMM</code></dt>
+<dd><p>End named common block; see <a href="Common-Blocks.html#Common-Blocks">Common Blocks</a>.
+</p>
+</dd>
+<dt><code>0xe8 N_ECOML</code></dt>
+<dd><p>Member of a common block; see <a href="Common-Blocks.html#Common-Blocks">Common Blocks</a>.
+</p>
+</dd>
+<dt><code>0xea N_WITH</code></dt>
+<dd><p>Pascal <code>with</code> statement: type,,0,0,offset (Solaris2).
+</p>
+</dd>
+<dt><code>0xf0 N_NBTEXT</code></dt>
+<dd><p>Gould non-base registers; see <a href="Gould.html#Gould">Gould</a>.
+</p>
+</dd>
+<dt><code>0xf2 N_NBDATA</code></dt>
+<dd><p>Gould non-base registers; see <a href="Gould.html#Gould">Gould</a>.
+</p>
+</dd>
+<dt><code>0xf4 N_NBBSS</code></dt>
+<dd><p>Gould non-base registers; see <a href="Gould.html#Gould">Gould</a>.
+</p>
+</dd>
+<dt><code>0xf6 N_NBSTS</code></dt>
+<dd><p>Gould non-base registers; see <a href="Gould.html#Gould">Gould</a>.
+</p>
+</dd>
+<dt><code>0xf8 N_NBLCS</code></dt>
+<dd><p>Gould non-base registers; see <a href="Gould.html#Gould">Gould</a>.
+</p></dd>
+</dl>
+
+
+<hr>
+<div class="header">
+<p>
+Previous: <a href="Non_002dStab-Symbol-Types.html#Non_002dStab-Symbol-Types" accesskey="p" rel="previous">Non-Stab Symbol Types</a>, Up: <a href="Stab-Types.html#Stab-Types" accesskey="u" rel="up">Stab Types</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Stab-Types.html b/share/doc/stabs/Stab-Types.html
new file mode 100644
index 0000000..b07968f
--- /dev/null
+++ b/share/doc/stabs/Stab-Types.html
@@ -0,0 +1,90 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Stab Types</title>
+
+<meta name="description" content="STABS: Stab Types">
+<meta name="keywords" content="STABS: Stab Types">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Non_002dStab-Symbol-Types.html#Non_002dStab-Symbol-Types" rel="next" title="Non-Stab Symbol Types">
+<link href="Static-Members.html#Static-Members" rel="previous" title="Static Members">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Stab-Types"></a>
+<div class="header">
+<p>
+Next: <a href="Symbol-Descriptors.html#Symbol-Descriptors" accesskey="n" rel="next">Symbol Descriptors</a>, Previous: <a href="Cplusplus.html#Cplusplus" accesskey="p" rel="previous">Cplusplus</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Table-of-Stab-Types"></a>
+<h2 class="appendix">Appendix A Table of Stab Types</h2>
+
+<p>The following are all the possible values for the stab type field, for
+a.out files, in numeric order. This does not apply to XCOFF, but
+it does apply to stabs in sections (see <a href="Stab-Sections.html#Stab-Sections">Stab Sections</a>). Stabs in
+ECOFF use these values but add 0x8f300 to distinguish them from non-stab
+symbols.
+</p>
+<p>The symbolic names are defined in the file <samp>include/aout/stabs.def</samp>.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="Non_002dStab-Symbol-Types.html#Non_002dStab-Symbol-Types" accesskey="1">Non-Stab Symbol Types</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Types from 0 to 0x1f
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Stab-Symbol-Types.html#Stab-Symbol-Types" accesskey="2">Stab Symbol Types</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Types from 0x20 to 0xff
+</td></tr>
+</table>
+
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Stabs-Format.html b/share/doc/stabs/Stabs-Format.html
new file mode 100644
index 0000000..db7b793
--- /dev/null
+++ b/share/doc/stabs/Stabs-Format.html
@@ -0,0 +1,107 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Stabs Format</title>
+
+<meta name="description" content="STABS: Stabs Format">
+<meta name="keywords" content="STABS: Stabs Format">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Overview.html#Overview" rel="up" title="Overview">
+<link href="String-Field.html#String-Field" rel="next" title="String Field">
+<link href="Flow.html#Flow" rel="previous" title="Flow">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Stabs-Format"></a>
+<div class="header">
+<p>
+Next: <a href="String-Field.html#String-Field" accesskey="n" rel="next">String Field</a>, Previous: <a href="Flow.html#Flow" accesskey="p" rel="previous">Flow</a>, Up: <a href="Overview.html#Overview" accesskey="u" rel="up">Overview</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Overview-of-Stab-Format"></a>
+<h3 class="section">1.2 Overview of Stab Format</h3>
+
+<p>There are three overall formats for stab assembler directives,
+differentiated by the first word of the stab. The name of the directive
+describes which combination of four possible data fields follows. It is
+either <code>.stabs</code> (string), <code>.stabn</code> (number), or <code>.stabd</code>
+(dot). IBM&rsquo;s XCOFF assembler uses <code>.stabx</code> (and some other
+directives such as <code>.file</code> and <code>.bi</code>) instead of
+<code>.stabs</code>, <code>.stabn</code> or <code>.stabd</code>.
+</p>
+<p>The overall format of each class of stab is:
+</p>
+<div class="example">
+<pre class="example">.stabs &quot;<var>string</var>&quot;,<var>type</var>,<var>other</var>,<var>desc</var>,<var>value</var>
+.stabn <var>type</var>,<var>other</var>,<var>desc</var>,<var>value</var>
+.stabd <var>type</var>,<var>other</var>,<var>desc</var>
+.stabx &quot;<var>string</var>&quot;,<var>value</var>,<var>type</var>,<var>sdb-type</var>
+</pre></div>
+
+<p>For <code>.stabn</code> and <code>.stabd</code>, there is no <var>string</var> (the
+<code>n_strx</code> field is zero; see <a href="Symbol-Tables.html#Symbol-Tables">Symbol Tables</a>). For
+<code>.stabd</code>, the <var>value</var> field is implicit and has the value of
+the current file location. For <code>.stabx</code>, the <var>sdb-type</var> field
+is unused for stabs and can always be set to zero. The <var>other</var>
+field is almost always unused and can be set to zero.
+</p>
+<p>The number in the <var>type</var> field gives some basic information about
+which type of stab this is (or whether it <em>is</em> a stab, as opposed
+to an ordinary symbol). Each valid type number defines a different stab
+type; further, the stab type defines the exact interpretation of, and
+possible values for, any remaining <var>string</var>, <var>desc</var>, or
+<var>value</var> fields present in the stab. See <a href="Stab-Types.html#Stab-Types">Stab Types</a>, for a list
+in numeric order of the valid <var>type</var> field values for stab directives.
+</p>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Stack-Variables.html b/share/doc/stabs/Stack-Variables.html
new file mode 100644
index 0000000..004dc7e
--- /dev/null
+++ b/share/doc/stabs/Stack-Variables.html
@@ -0,0 +1,119 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Stack Variables</title>
+
+<meta name="description" content="STABS: Stack Variables">
+<meta name="keywords" content="STABS: Stack Variables">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Variables.html#Variables" rel="up" title="Variables">
+<link href="Global-Variables.html#Global-Variables" rel="next" title="Global Variables">
+<link href="Variables.html#Variables" rel="previous" title="Variables">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Stack-Variables"></a>
+<div class="header">
+<p>
+Next: <a href="Global-Variables.html#Global-Variables" accesskey="n" rel="next">Global Variables</a>, Up: <a href="Variables.html#Variables" accesskey="u" rel="up">Variables</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Automatic-Variables-Allocated-on-the-Stack"></a>
+<h3 class="section">4.1 Automatic Variables Allocated on the Stack</h3>
+
+<p>If a variable&rsquo;s scope is local to a function and its lifetime is only as
+long as that function executes (C calls such variables
+<em>automatic</em>), it can be allocated in a register (see <a href="Register-Variables.html#Register-Variables">Register Variables</a>) or on the stack.
+</p>
+<a name="index-N_005fLSYM_002c-for-stack-variables"></a>
+<a name="index-C_005fLSYM"></a>
+<p>Each variable allocated on the stack has a stab with the symbol
+descriptor omitted. Since type information should begin with a digit,
+&lsquo;<samp>-</samp>&rsquo;, or &lsquo;<samp>(</samp>&rsquo;, only those characters precluded from being used
+for symbol descriptors. However, the Acorn RISC machine (ARM) is said
+to get this wrong: it puts out a mere type definition here, without the
+preceding &lsquo;<samp><var>type-number</var>=</samp>&rsquo;. This is a bad idea; there is no
+guarantee that type descriptors are distinct from symbol descriptors.
+Stabs for stack variables use the <code>N_LSYM</code> stab type, or
+<code>C_LSYM</code> for XCOFF.
+</p>
+<p>The value of the stab is the offset of the variable within the
+local variables. On most machines this is an offset from the frame
+pointer and is negative. The location of the stab specifies which block
+it is defined in; see <a href="Block-Structure.html#Block-Structure">Block Structure</a>.
+</p>
+<p>For example, the following C code:
+</p>
+<div class="example">
+<pre class="example">int
+main ()
+{
+ int x;
+}
+</pre></div>
+
+<p>produces the following stabs:
+</p>
+<div class="example">
+<pre class="example">.stabs &quot;main:F1&quot;,36,0,0,_main # <span class="roman">36 is N_FUN</span>
+.stabs &quot;x:1&quot;,128,0,0,-12 # <span class="roman">128 is N_LSYM</span>
+.stabn 192,0,0,LBB2 # <span class="roman">192 is N_LBRAC</span>
+.stabn 224,0,0,LBE2 # <span class="roman">224 is N_RBRAC</span>
+</pre></div>
+
+<p>See <a href="Procedures.html#Procedures">Procedures</a> for more information on the <code>N_FUN</code> stab, and
+<a href="Block-Structure.html#Block-Structure">Block Structure</a> for more information on the <code>N_LBRAC</code> and
+<code>N_RBRAC</code> stabs.
+</p>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Static-Members.html b/share/doc/stabs/Static-Members.html
new file mode 100644
index 0000000..7896353
--- /dev/null
+++ b/share/doc/stabs/Static-Members.html
@@ -0,0 +1,82 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Static Members</title>
+
+<meta name="description" content="STABS: Static Members">
+<meta name="keywords" content="STABS: Static Members">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Cplusplus.html#Cplusplus" rel="up" title="Cplusplus">
+<link href="Stab-Types.html#Stab-Types" rel="next" title="Stab Types">
+<link href="Virtual-Base-Classes.html#Virtual-Base-Classes" rel="previous" title="Virtual Base Classes">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Static-Members"></a>
+<div class="header">
+<p>
+Previous: <a href="Virtual-Base-Classes.html#Virtual-Base-Classes" accesskey="p" rel="previous">Virtual Base Classes</a>, Up: <a href="Cplusplus.html#Cplusplus" accesskey="u" rel="up">Cplusplus</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Static-Members-1"></a>
+<h3 class="section">8.14 Static Members</h3>
+
+<p>The data area for a class is a concatenation of the space used by the
+data members of the class. If the class has virtual methods, a vtable
+pointer follows the class data. The field offset part of each field
+description in the class stab shows this ordering.
+</p>
+<p>&lt;&lt; How is this reflected in stabs? See Cygnus bug #677 for some info. &gt;&gt;
+</p>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Statics.html b/share/doc/stabs/Statics.html
new file mode 100644
index 0000000..1e9f237
--- /dev/null
+++ b/share/doc/stabs/Statics.html
@@ -0,0 +1,142 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Statics</title>
+
+<meta name="description" content="STABS: Statics">
+<meta name="keywords" content="STABS: Statics">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Variables.html#Variables" rel="up" title="Variables">
+<link href="Based-Variables.html#Based-Variables" rel="next" title="Based Variables">
+<link href="Common-Blocks.html#Common-Blocks" rel="previous" title="Common Blocks">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Statics"></a>
+<div class="header">
+<p>
+Next: <a href="Based-Variables.html#Based-Variables" accesskey="n" rel="next">Based Variables</a>, Previous: <a href="Common-Blocks.html#Common-Blocks" accesskey="p" rel="previous">Common Blocks</a>, Up: <a href="Variables.html#Variables" accesskey="u" rel="up">Variables</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Static-Variables"></a>
+<h3 class="section">4.5 Static Variables</h3>
+
+<p>Initialized static variables are represented by the &lsquo;<samp>S</samp>&rsquo; and
+&lsquo;<samp>V</samp>&rsquo; symbol descriptors. &lsquo;<samp>S</samp>&rsquo; means file scope static, and
+&lsquo;<samp>V</samp>&rsquo; means procedure scope static. One exception: in XCOFF, IBM&rsquo;s
+xlc compiler always uses &lsquo;<samp>V</samp>&rsquo;, and whether it is file scope or not
+is distinguished by whether the stab is located within a function.
+</p>
+<a name="index-N_005fSTSYM"></a>
+<a name="index-N_005fLCSYM"></a>
+<a name="index-N_005fFUN_002c-for-variables"></a>
+<a name="index-N_005fROSYM"></a>
+<p>In a.out files, <code>N_STSYM</code> means the data section, <code>N_FUN</code>
+means the text section, and <code>N_LCSYM</code> means the bss section. For
+those systems with a read-only data section separate from the text
+section (Solaris), <code>N_ROSYM</code> means the read-only data section.
+</p>
+<p>For example, the source lines:
+</p>
+<div class="example">
+<pre class="example">static const int var_const = 5;
+static int var_init = 2;
+static int var_noinit;
+</pre></div>
+
+<p>yield the following stabs:
+</p>
+<div class="example">
+<pre class="example">.stabs &quot;var_const:S1&quot;,36,0,0,_var_const # <span class="roman">36 is N_FUN</span>
+&hellip;
+.stabs &quot;var_init:S1&quot;,38,0,0,_var_init # <span class="roman">38 is N_STSYM</span>
+&hellip;
+.stabs &quot;var_noinit:S1&quot;,40,0,0,_var_noinit # <span class="roman">40 is N_LCSYM</span>
+</pre></div>
+
+<a name="index-C_005fSTSYM"></a>
+<a name="index-C_005fBSTAT"></a>
+<a name="index-C_005fESTAT"></a>
+<p>In XCOFF files, the stab type need not indicate the section;
+<code>C_STSYM</code> can be used for all statics. Also, each static variable
+is enclosed in a static block. A <code>C_BSTAT</code> (emitted with a
+&lsquo;<samp>.bs</samp>&rsquo; assembler directive) symbol begins the static block; its
+value is the symbol number of the csect symbol whose value is the
+address of the static block, its section is the section of the variables
+in that static block, and its name is &lsquo;<samp>.bs</samp>&rsquo;. A <code>C_ESTAT</code>
+(emitted with a &lsquo;<samp>.es</samp>&rsquo; assembler directive) symbol ends the static
+block; its name is &lsquo;<samp>.es</samp>&rsquo; and its value and section are ignored.
+</p>
+<p>In ECOFF files, the storage class is used to specify the section, so the
+stab type need not indicate the section.
+</p>
+<p>In ELF files, for the SunPRO compiler version 2.0.1, symbol descriptor
+&lsquo;<samp>S</samp>&rsquo; means that the address is absolute (the linker relocates it)
+and symbol descriptor &lsquo;<samp>V</samp>&rsquo; means that the address is relative to the
+start of the relevant section for that compilation unit. SunPRO has
+plans to have the linker stop relocating stabs; I suspect that their the
+debugger gets the address from the corresponding ELF (not stab) symbol.
+I&rsquo;m not sure how to find which symbol of that name is the right one.
+The clean way to do all this would be to have the value of a symbol
+descriptor &lsquo;<samp>S</samp>&rsquo; symbol be an offset relative to the start of the
+file, just like everything else, but that introduces obvious
+compatibility problems. For more information on linker stab relocation,
+See <a href="ELF-Linker-Relocation.html#ELF-Linker-Relocation">ELF Linker Relocation</a>.
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Based-Variables.html#Based-Variables" accesskey="n" rel="next">Based Variables</a>, Previous: <a href="Common-Blocks.html#Common-Blocks" accesskey="p" rel="previous">Common Blocks</a>, Up: <a href="Variables.html#Variables" accesskey="u" rel="up">Variables</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/String-Field.html b/share/doc/stabs/String-Field.html
new file mode 100644
index 0000000..84bb476
--- /dev/null
+++ b/share/doc/stabs/String-Field.html
@@ -0,0 +1,198 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: String Field</title>
+
+<meta name="description" content="STABS: String Field">
+<meta name="keywords" content="STABS: String Field">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Overview.html#Overview" rel="up" title="Overview">
+<link href="C-Example.html#C-Example" rel="next" title="C Example">
+<link href="Stabs-Format.html#Stabs-Format" rel="previous" title="Stabs Format">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="String-Field"></a>
+<div class="header">
+<p>
+Next: <a href="C-Example.html#C-Example" accesskey="n" rel="next">C Example</a>, Previous: <a href="Stabs-Format.html#Stabs-Format" accesskey="p" rel="previous">Stabs Format</a>, Up: <a href="Overview.html#Overview" accesskey="u" rel="up">Overview</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="The-String-Field"></a>
+<h3 class="section">1.3 The String Field</h3>
+
+<p>For most stabs the string field holds the meat of the
+debugging information. The flexible nature of this field
+is what makes stabs extensible. For some stab types the string field
+contains only a name. For other stab types the contents can be a great
+deal more complex.
+</p>
+<p>The overall format of the string field for most stab types is:
+</p>
+<div class="example">
+<pre class="example">&quot;<var>name</var>:<var>symbol-descriptor</var> <var>type-information</var>&quot;
+</pre></div>
+
+<p><var>name</var> is the name of the symbol represented by the stab; it can
+contain a pair of colons (see <a href="Nested-Symbols.html#Nested-Symbols">Nested Symbols</a>). <var>name</var> can be
+omitted, which means the stab represents an unnamed object. For
+example, &lsquo;<samp>:t10=*2</samp>&rsquo; defines type 10 as a pointer to type 2, but does
+not give the type a name. Omitting the <var>name</var> field is supported by
+AIX dbx and GDB after about version 4.8, but not other debuggers. GCC
+sometimes uses a single space as the name instead of omitting the name
+altogether; apparently that is supported by most debuggers.
+</p>
+<p>The <var>symbol-descriptor</var> following the &lsquo;<samp>:</samp>&rsquo; is an alphabetic
+character that tells more specifically what kind of symbol the stab
+represents. If the <var>symbol-descriptor</var> is omitted, but type
+information follows, then the stab represents a local variable. For a
+list of symbol descriptors, see <a href="Symbol-Descriptors.html#Symbol-Descriptors">Symbol Descriptors</a>. The &lsquo;<samp>c</samp>&rsquo;
+symbol descriptor is an exception in that it is not followed by type
+information. See <a href="Constants.html#Constants">Constants</a>.
+</p>
+<p><var>type-information</var> is either a <var>type-number</var>, or
+&lsquo;<samp><var>type-number</var>=</samp>&rsquo;. A <var>type-number</var> alone is a type
+reference, referring directly to a type that has already been defined.
+</p>
+<p>The &lsquo;<samp><var>type-number</var>=</samp>&rsquo; form is a type definition, where the
+number represents a new type which is about to be defined. The type
+definition may refer to other types by number, and those type numbers
+may be followed by &lsquo;<samp>=</samp>&rsquo; and nested definitions. Also, the Lucid
+compiler will repeat &lsquo;<samp><var>type-number</var>=</samp>&rsquo; more than once if it
+wants to define several type numbers at once.
+</p>
+<p>In a type definition, if the character that follows the equals sign is
+non-numeric then it is a <var>type-descriptor</var>, and tells what kind of
+type is about to be defined. Any other values following the
+<var>type-descriptor</var> vary, depending on the <var>type-descriptor</var>.
+See <a href="Type-Descriptors.html#Type-Descriptors">Type Descriptors</a>, for a list of <var>type-descriptor</var> values. If
+a number follows the &lsquo;<samp>=</samp>&rsquo; then the number is a <var>type-reference</var>.
+For a full description of types, <a href="Types.html#Types">Types</a>.
+</p>
+<p>A <var>type-number</var> is often a single number. The GNU and Sun tools
+additionally permit a <var>type-number</var> to be a pair
+(<var>file-number</var>,<var>filetype-number</var>) (the parentheses appear in the
+string, and serve to distinguish the two cases). The <var>file-number</var>
+is 0 for the base source file, 1 for the first included file, 2 for the
+next, and so on. The <var>filetype-number</var> is a number starting with
+1 which is incremented for each new type defined in the file.
+(Separating the file number and the type number permits the
+<code>N_BINCL</code> optimization to succeed more often; see <a href="Include-Files.html#Include-Files">Include Files</a>).
+</p>
+<p>There is an AIX extension for type attributes. Following the &lsquo;<samp>=</samp>&rsquo;
+are any number of type attributes. Each one starts with &lsquo;<samp>@</samp>&rsquo; and
+ends with &lsquo;<samp>;</samp>&rsquo;. Debuggers, including AIX&rsquo;s dbx and GDB 4.10, skip
+any type attributes they do not recognize. GDB 4.9 and other versions
+of dbx may not do this. Because of a conflict with C<tt>++</tt>
+(see <a href="Cplusplus.html#Cplusplus">Cplusplus</a>), new attributes should not be defined which begin
+with a digit, &lsquo;<samp>(</samp>&rsquo;, or &lsquo;<samp>-</samp>&rsquo;; GDB may be unable to distinguish
+those from the C<tt>++</tt> type descriptor &lsquo;<samp>@</samp>&rsquo;. The attributes are:
+</p>
+<dl compact="compact">
+<dt><code>a<var>boundary</var></code></dt>
+<dd><p><var>boundary</var> is an integer specifying the alignment. I assume it
+applies to all variables of this type.
+</p>
+</dd>
+<dt><code>p<var>integer</var></code></dt>
+<dd><p>Pointer class (for checking). Not sure what this means, or how
+<var>integer</var> is interpreted.
+</p>
+</dd>
+<dt><code>P</code></dt>
+<dd><p>Indicate this is a packed type, meaning that structure fields or array
+elements are placed more closely in memory, to save memory at the
+expense of speed.
+</p>
+</dd>
+<dt><code>s<var>size</var></code></dt>
+<dd><p>Size in bits of a variable of this type. This is fully supported by GDB
+4.11 and later.
+</p>
+</dd>
+<dt><code>S</code></dt>
+<dd><p>Indicate that this type is a string instead of an array of characters,
+or a bitstring instead of a set. It doesn&rsquo;t change the layout of the
+data being represented, but does enable the debugger to know which type
+it is.
+</p>
+</dd>
+<dt><code>V</code></dt>
+<dd><p>Indicate that this type is a vector instead of an array. The only
+major difference between vectors and arrays is that vectors are
+passed by value instead of by reference (vector coprocessor extension).
+</p>
+</dd>
+</dl>
+
+<p>All of this can make the string field quite long. All versions of GDB,
+and some versions of dbx, can handle arbitrarily long strings. But many
+versions of dbx (or assemblers or linkers, I&rsquo;m not sure which)
+cretinously limit the strings to about 80 characters, so compilers which
+must work with such systems need to split the <code>.stabs</code> directive
+into several <code>.stabs</code> directives. Each stab duplicates every field
+except the string field. The string field of every stab except the last
+is marked as continued with a backslash at the end (in the assembly code
+this may be written as a double backslash, depending on the assembler).
+Removing the backslashes and concatenating the string fields of each
+stab produces the original, long string. Just to be incompatible (or so
+they don&rsquo;t have to worry about what the assembler does with
+backslashes), AIX can use &lsquo;<samp>?</samp>&rsquo; instead of backslash.
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="C-Example.html#C-Example" accesskey="n" rel="next">C Example</a>, Previous: <a href="Stabs-Format.html#Stabs-Format" accesskey="p" rel="previous">Stabs Format</a>, Up: <a href="Overview.html#Overview" accesskey="u" rel="up">Overview</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Strings.html b/share/doc/stabs/Strings.html
new file mode 100644
index 0000000..b533112
--- /dev/null
+++ b/share/doc/stabs/Strings.html
@@ -0,0 +1,103 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Strings</title>
+
+<meta name="description" content="STABS: Strings">
+<meta name="keywords" content="STABS: Strings">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Types.html#Types" rel="up" title="Types">
+<link href="Enumerations.html#Enumerations" rel="next" title="Enumerations">
+<link href="Arrays.html#Arrays" rel="previous" title="Arrays">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Strings"></a>
+<div class="header">
+<p>
+Next: <a href="Enumerations.html#Enumerations" accesskey="n" rel="next">Enumerations</a>, Previous: <a href="Arrays.html#Arrays" accesskey="p" rel="previous">Arrays</a>, Up: <a href="Types.html#Types" accesskey="u" rel="up">Types</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Strings-1"></a>
+<h3 class="section">5.6 Strings</h3>
+
+<p>Some languages, like C or the original Pascal, do not have string types,
+they just have related things like arrays of characters. But most
+Pascals and various other languages have string types, which are
+indicated as follows:
+</p>
+<dl compact="compact">
+<dt><code>n <var>type-information</var> ; <var>bytes</var></code></dt>
+<dd><p><var>bytes</var> is the maximum length. I&rsquo;m not sure what
+<var>type-information</var> is; I suspect that it means that this is a string
+of <var>type-information</var> (thus allowing a string of integers, a string
+of wide characters, etc., as well as a string of characters). Not sure
+what the format of this type is. This is an AIX feature.
+</p>
+</dd>
+<dt><code>z <var>type-information</var> ; <var>bytes</var></code></dt>
+<dd><p>Just like &lsquo;<samp>n</samp>&rsquo; except that this is a gstring, not an ordinary
+string. I don&rsquo;t know the difference.
+</p>
+</dd>
+<dt><code>N</code></dt>
+<dd><p>Pascal Stringptr. What is this? This is an AIX feature.
+</p></dd>
+</dl>
+
+<p>Languages, such as CHILL which have a string type which is basically
+just an array of characters use the &lsquo;<samp>S</samp>&rsquo; type attribute
+(see <a href="String-Field.html#String-Field">String Field</a>).
+</p>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Structures.html b/share/doc/stabs/Structures.html
new file mode 100644
index 0000000..efa3519
--- /dev/null
+++ b/share/doc/stabs/Structures.html
@@ -0,0 +1,139 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Structures</title>
+
+<meta name="description" content="STABS: Structures">
+<meta name="keywords" content="STABS: Structures">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Types.html#Types" rel="up" title="Types">
+<link href="Typedefs.html#Typedefs" rel="next" title="Typedefs">
+<link href="Enumerations.html#Enumerations" rel="previous" title="Enumerations">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Structures"></a>
+<div class="header">
+<p>
+Next: <a href="Typedefs.html#Typedefs" accesskey="n" rel="next">Typedefs</a>, Previous: <a href="Enumerations.html#Enumerations" accesskey="p" rel="previous">Enumerations</a>, Up: <a href="Types.html#Types" accesskey="u" rel="up">Types</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Structures-1"></a>
+<h3 class="section">5.8 Structures</h3>
+
+<p>The encoding of structures in stabs can be shown with an example.
+</p>
+<p>The following source code declares a structure tag and defines an
+instance of the structure in global scope. Then a <code>typedef</code> equates the
+structure tag with a new type. Separate stabs are generated for the
+structure tag, the structure <code>typedef</code>, and the structure instance. The
+stabs for the tag and the <code>typedef</code> are emitted when the definitions are
+encountered. Since the structure elements are not initialized, the
+stab and code for the structure variable itself is located at the end
+of the program in the bss section.
+</p>
+<div class="example">
+<pre class="example">struct s_tag {
+ int s_int;
+ float s_float;
+ char s_char_vec[8];
+ struct s_tag* s_next;
+} g_an_s;
+
+typedef struct s_tag s_typedef;
+</pre></div>
+
+<p>The structure tag has an <code>N_LSYM</code> stab type because, like the
+enumeration, the symbol has file scope. Like the enumeration, the
+symbol descriptor is &lsquo;<samp>T</samp>&rsquo;, for enumeration, structure, or tag type.
+The type descriptor &lsquo;<samp>s</samp>&rsquo; following the &lsquo;<samp>16=</samp>&rsquo; of the type
+definition narrows the symbol type to structure.
+</p>
+<p>Following the &lsquo;<samp>s</samp>&rsquo; type descriptor is the number of bytes the
+structure occupies, followed by a description of each structure element.
+The structure element descriptions are of the form
+&lsquo;<samp><var>name</var>:<var>type</var>, <var>bit offset from the start of the
+struct</var>, <var>number of bits in the element</var></samp>&rsquo;.
+</p>
+<div class="example">
+<pre class="example"># <span class="roman">128 is N_LSYM</span>
+.stabs &quot;s_tag:T16=s20s_int:1,0,32;s_float:12,32,32;
+ s_char_vec:17=ar1;0;7;2,64,64;s_next:18=*16,128,32;;&quot;,128,0,0,0
+</pre></div>
+
+<p>In this example, the first two structure elements are previously defined
+types. For these, the type following the &lsquo;<samp><var>name</var>:</samp>&rsquo; part of the
+element description is a simple type reference. The other two structure
+elements are new types. In this case there is a type definition
+embedded after the &lsquo;<samp><var>name</var>:</samp>&rsquo;. The type definition for the
+array element looks just like a type definition for a stand-alone array.
+The <code>s_next</code> field is a pointer to the same kind of structure that
+the field is an element of. So the definition of structure type 16
+contains a type definition for an element which is a pointer to type 16.
+</p>
+<p>If a field is a static member (this is a C<tt>++</tt> feature in which a single
+variable appears to be a field of every structure of a given type) it
+still starts out with the field name, a colon, and the type, but then
+instead of a comma, bit position, comma, and bit size, there is a colon
+followed by the name of the variable which each such field refers to.
+</p>
+<p>If the structure has methods (a C<tt>++</tt> feature), they follow the non-method
+fields; see <a href="Cplusplus.html#Cplusplus">Cplusplus</a>.
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Typedefs.html#Typedefs" accesskey="n" rel="next">Typedefs</a>, Previous: <a href="Enumerations.html#Enumerations" accesskey="p" rel="previous">Enumerations</a>, Up: <a href="Types.html#Types" accesskey="u" rel="up">Types</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Subranges.html b/share/doc/stabs/Subranges.html
new file mode 100644
index 0000000..27e7390
--- /dev/null
+++ b/share/doc/stabs/Subranges.html
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Subranges</title>
+
+<meta name="description" content="STABS: Subranges">
+<meta name="keywords" content="STABS: Subranges">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Types.html#Types" rel="up" title="Types">
+<link href="Arrays.html#Arrays" rel="next" title="Arrays">
+<link href="Cross_002dReferences.html#Cross_002dReferences" rel="previous" title="Cross-References">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Subranges"></a>
+<div class="header">
+<p>
+Next: <a href="Arrays.html#Arrays" accesskey="n" rel="next">Arrays</a>, Previous: <a href="Cross_002dReferences.html#Cross_002dReferences" accesskey="p" rel="previous">Cross-References</a>, Up: <a href="Types.html#Types" accesskey="u" rel="up">Types</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Subrange-Types"></a>
+<h3 class="section">5.4 Subrange Types</h3>
+
+<p>The &lsquo;<samp>r</samp>&rsquo; type descriptor defines a type as a subrange of another
+type. It is followed by type information for the type of which it is a
+subrange, a semicolon, an integral lower bound, a semicolon, an
+integral upper bound, and a semicolon. The AIX documentation does not
+specify the trailing semicolon, in an effort to specify array indexes
+more cleanly, but a subrange which is not an array index has always
+included a trailing semicolon (see <a href="Arrays.html#Arrays">Arrays</a>).
+</p>
+<p>Instead of an integer, either bound can be one of the following:
+</p>
+<dl compact="compact">
+<dt><code>A <var>offset</var></code></dt>
+<dd><p>The bound is passed by reference on the stack at offset <var>offset</var>
+from the argument list. See <a href="Parameters.html#Parameters">Parameters</a>, for more information on such
+offsets.
+</p>
+</dd>
+<dt><code>T <var>offset</var></code></dt>
+<dd><p>The bound is passed by value on the stack at offset <var>offset</var> from
+the argument list.
+</p>
+</dd>
+<dt><code>a <var>register-number</var></code></dt>
+<dd><p>The bound is passed by reference in register number
+<var>register-number</var>.
+</p>
+</dd>
+<dt><code>t <var>register-number</var></code></dt>
+<dd><p>The bound is passed by value in register number <var>register-number</var>.
+</p>
+</dd>
+<dt><code>J</code></dt>
+<dd><p>There is no bound.
+</p></dd>
+</dl>
+
+<p>Subranges are also used for builtin types; see <a href="Traditional-Builtin-Types.html#Traditional-Builtin-Types">Traditional Builtin Types</a>.
+</p>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Symbol-Descriptors.html b/share/doc/stabs/Symbol-Descriptors.html
new file mode 100644
index 0000000..7dca1b5
--- /dev/null
+++ b/share/doc/stabs/Symbol-Descriptors.html
@@ -0,0 +1,219 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Symbol Descriptors</title>
+
+<meta name="description" content="STABS: Symbol Descriptors">
+<meta name="keywords" content="STABS: Symbol Descriptors">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Type-Descriptors.html#Type-Descriptors" rel="next" title="Type Descriptors">
+<link href="Stab-Symbol-Types.html#Stab-Symbol-Types" rel="previous" title="Stab Symbol Types">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Symbol-Descriptors"></a>
+<div class="header">
+<p>
+Next: <a href="Type-Descriptors.html#Type-Descriptors" accesskey="n" rel="next">Type Descriptors</a>, Previous: <a href="Stab-Types.html#Stab-Types" accesskey="p" rel="previous">Stab Types</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Table-of-Symbol-Descriptors"></a>
+<h2 class="appendix">Appendix B Table of Symbol Descriptors</h2>
+
+<p>The symbol descriptor is the character which follows the colon in many
+stabs, and which tells what kind of stab it is. See <a href="String-Field.html#String-Field">String Field</a>,
+for more information about their use.
+</p>
+<dl compact="compact">
+<dt><code><var>digit</var></code></dt>
+<dt><code>(</code></dt>
+<dt><code>-</code></dt>
+<dd><p>Variable on the stack; see <a href="Stack-Variables.html#Stack-Variables">Stack Variables</a>.
+</p>
+</dd>
+<dt><code>:</code></dt>
+<dd><p>C<tt>++</tt> nested symbol; see See <a href="Nested-Symbols.html#Nested-Symbols">Nested Symbols</a>.
+</p>
+</dd>
+<dt><code>a</code></dt>
+<dd><p>Parameter passed by reference in register; see <a href="Reference-Parameters.html#Reference-Parameters">Reference Parameters</a>.
+</p>
+</dd>
+<dt><code>b</code></dt>
+<dd><p>Based variable; see <a href="Based-Variables.html#Based-Variables">Based Variables</a>.
+</p>
+</dd>
+<dt><code>c</code></dt>
+<dd><p>Constant; see <a href="Constants.html#Constants">Constants</a>.
+</p>
+</dd>
+<dt><code>C</code></dt>
+<dd><p>Conformant array bound (Pascal, maybe other languages); <a href="Conformant-Arrays.html#Conformant-Arrays">Conformant Arrays</a>. Name of a caught exception (GNU C<tt>++</tt>). These can be
+distinguished because the latter uses <code>N_CATCH</code> and the former uses
+another symbol type.
+</p>
+</dd>
+<dt><code>d</code></dt>
+<dd><p>Floating point register variable; see <a href="Register-Variables.html#Register-Variables">Register Variables</a>.
+</p>
+</dd>
+<dt><code>D</code></dt>
+<dd><p>Parameter in floating point register; see <a href="Register-Parameters.html#Register-Parameters">Register Parameters</a>.
+</p>
+</dd>
+<dt><code>f</code></dt>
+<dd><p>File scope function; see <a href="Procedures.html#Procedures">Procedures</a>.
+</p>
+</dd>
+<dt><code>F</code></dt>
+<dd><p>Global function; see <a href="Procedures.html#Procedures">Procedures</a>.
+</p>
+</dd>
+<dt><code>G</code></dt>
+<dd><p>Global variable; see <a href="Global-Variables.html#Global-Variables">Global Variables</a>.
+</p>
+</dd>
+<dt><code>i</code></dt>
+<dd><p>See <a href="Register-Parameters.html#Register-Parameters">Register Parameters</a>.
+</p>
+</dd>
+<dt><code>I</code></dt>
+<dd><p>Internal (nested) procedure; see <a href="Nested-Procedures.html#Nested-Procedures">Nested Procedures</a>.
+</p>
+</dd>
+<dt><code>J</code></dt>
+<dd><p>Internal (nested) function; see <a href="Nested-Procedures.html#Nested-Procedures">Nested Procedures</a>.
+</p>
+</dd>
+<dt><code>L</code></dt>
+<dd><p>Label name (documented by AIX, no further information known).
+</p>
+</dd>
+<dt><code>m</code></dt>
+<dd><p>Module; see <a href="Procedures.html#Procedures">Procedures</a>.
+</p>
+</dd>
+<dt><code>p</code></dt>
+<dd><p>Argument list parameter; see <a href="Parameters.html#Parameters">Parameters</a>.
+</p>
+</dd>
+<dt><code>pP</code></dt>
+<dd><p>See <a href="Parameters.html#Parameters">Parameters</a>.
+</p>
+</dd>
+<dt><code>pF</code></dt>
+<dd><p>Fortran Function parameter; see <a href="Parameters.html#Parameters">Parameters</a>.
+</p>
+</dd>
+<dt><code>P</code></dt>
+<dd><p>Unfortunately, three separate meanings have been independently invented
+for this symbol descriptor. At least the GNU and Sun uses can be
+distinguished by the symbol type. Global Procedure (AIX) (symbol type
+used unknown); see <a href="Procedures.html#Procedures">Procedures</a>. Register parameter (GNU) (symbol
+type <code>N_PSYM</code>); see <a href="Parameters.html#Parameters">Parameters</a>. Prototype of function
+referenced by this file (Sun <code>acc</code>) (symbol type <code>N_FUN</code>).
+</p>
+</dd>
+<dt><code>Q</code></dt>
+<dd><p>Static Procedure; see <a href="Procedures.html#Procedures">Procedures</a>.
+</p>
+</dd>
+<dt><code>R</code></dt>
+<dd><p>Register parameter; see <a href="Register-Parameters.html#Register-Parameters">Register Parameters</a>.
+</p>
+</dd>
+<dt><code>r</code></dt>
+<dd><p>Register variable; see <a href="Register-Variables.html#Register-Variables">Register Variables</a>.
+</p>
+</dd>
+<dt><code>S</code></dt>
+<dd><p>File scope variable; see <a href="Statics.html#Statics">Statics</a>.
+</p>
+</dd>
+<dt><code>s</code></dt>
+<dd><p>Local variable (OS9000).
+</p>
+</dd>
+<dt><code>t</code></dt>
+<dd><p>Type name; see <a href="Typedefs.html#Typedefs">Typedefs</a>.
+</p>
+</dd>
+<dt><code>T</code></dt>
+<dd><p>Enumeration, structure, or union tag; see <a href="Typedefs.html#Typedefs">Typedefs</a>.
+</p>
+</dd>
+<dt><code>v</code></dt>
+<dd><p>Parameter passed by reference; see <a href="Reference-Parameters.html#Reference-Parameters">Reference Parameters</a>.
+</p>
+</dd>
+<dt><code>V</code></dt>
+<dd><p>Procedure scope static variable; see <a href="Statics.html#Statics">Statics</a>.
+</p>
+</dd>
+<dt><code>x</code></dt>
+<dd><p>Conformant array; see <a href="Conformant-Arrays.html#Conformant-Arrays">Conformant Arrays</a>.
+</p>
+</dd>
+<dt><code>X</code></dt>
+<dd><p>Function return variable; see <a href="Parameters.html#Parameters">Parameters</a>.
+</p></dd>
+</dl>
+
+<hr>
+<div class="header">
+<p>
+Next: <a href="Type-Descriptors.html#Type-Descriptors" accesskey="n" rel="next">Type Descriptors</a>, Previous: <a href="Stab-Types.html#Stab-Types" accesskey="p" rel="previous">Stab Types</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Symbol-Table-Format.html b/share/doc/stabs/Symbol-Table-Format.html
new file mode 100644
index 0000000..1c321be
--- /dev/null
+++ b/share/doc/stabs/Symbol-Table-Format.html
@@ -0,0 +1,103 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Symbol Table Format</title>
+
+<meta name="description" content="STABS: Symbol Table Format">
+<meta name="keywords" content="STABS: Symbol Table Format">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Symbol-Tables.html#Symbol-Tables" rel="up" title="Symbol Tables">
+<link href="Transformations-On-Symbol-Tables.html#Transformations-On-Symbol-Tables" rel="next" title="Transformations On Symbol Tables">
+<link href="Symbol-Tables.html#Symbol-Tables" rel="previous" title="Symbol Tables">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Symbol-Table-Format"></a>
+<div class="header">
+<p>
+Next: <a href="Transformations-On-Symbol-Tables.html#Transformations-On-Symbol-Tables" accesskey="n" rel="next">Transformations On Symbol Tables</a>, Up: <a href="Symbol-Tables.html#Symbol-Tables" accesskey="u" rel="up">Symbol Tables</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Symbol-Table-Format-1"></a>
+<h3 class="section">7.1 Symbol Table Format</h3>
+
+<p>Each time the assembler encounters a stab directive, it puts
+each field of the stab into a corresponding field in a symbol table
+entry of its output file. If the stab contains a string field, the
+symbol table entry for that stab points to a string table entry
+containing the string data from the stab. Assembler labels become
+relocatable addresses. Symbol table entries in a.out have the format:
+</p>
+<div class="example">
+<pre class="example">struct internal_nlist {
+ unsigned long n_strx; /* index into string table of name */
+ unsigned char n_type; /* type of symbol */
+ unsigned char n_other; /* misc info (usually empty) */
+ unsigned short n_desc; /* description field */
+ bfd_vma n_value; /* value of symbol */
+};
+</pre></div>
+
+<p>If the stab has a string, the <code>n_strx</code> field holds the offset in
+bytes of the string within the string table. The string is terminated
+by a NUL character. If the stab lacks a string (for example, it was
+produced by a <code>.stabn</code> or <code>.stabd</code> directive), the
+<code>n_strx</code> field is zero.
+</p>
+<p>Symbol table entries with <code>n_type</code> field values greater than 0x1f
+originated as stabs generated by the compiler (with one random
+exception). The other entries were placed in the symbol table of the
+executable by the assembler or the linker.
+</p>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Symbol-Tables.html b/share/doc/stabs/Symbol-Tables.html
new file mode 100644
index 0000000..1b63efa
--- /dev/null
+++ b/share/doc/stabs/Symbol-Tables.html
@@ -0,0 +1,86 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Symbol Tables</title>
+
+<meta name="description" content="STABS: Symbol Tables">
+<meta name="keywords" content="STABS: Symbol Tables">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Symbol-Table-Format.html#Symbol-Table-Format" rel="next" title="Symbol Table Format">
+<link href="Macro-define-and-undefine.html#Macro-define-and-undefine" rel="previous" title="Macro define and undefine">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Symbol-Tables"></a>
+<div class="header">
+<p>
+Next: <a href="Cplusplus.html#Cplusplus" accesskey="n" rel="next">Cplusplus</a>, Previous: <a href="Macro-define-and-undefine.html#Macro-define-and-undefine" accesskey="p" rel="previous">Macro define and undefine</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Symbol-Information-in-Symbol-Tables"></a>
+<h2 class="chapter">7 Symbol Information in Symbol Tables</h2>
+
+<p>This chapter describes the format of symbol table entries
+and how stab assembler directives map to them. It also describes the
+transformations that the assembler and linker make on data from stabs.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="Symbol-Table-Format.html#Symbol-Table-Format" accesskey="1">Symbol Table Format</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Transformations-On-Symbol-Tables.html#Transformations-On-Symbol-Tables" accesskey="2">Transformations On Symbol Tables</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Symbol-Types-Index.html b/share/doc/stabs/Symbol-Types-Index.html
new file mode 100644
index 0000000..53b7a8f
--- /dev/null
+++ b/share/doc/stabs/Symbol-Types-Index.html
@@ -0,0 +1,192 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Symbol Types Index</title>
+
+<meta name="description" content="STABS: Symbol Types Index">
+<meta name="keywords" content="STABS: Symbol Types Index">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License" rel="previous" title="GNU Free Documentation License">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Symbol-Types-Index"></a>
+<div class="header">
+<p>
+Previous: <a href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License" accesskey="p" rel="previous">GNU Free Documentation License</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Symbol-Types-Index-1"></a>
+<h2 class="unnumbered">Symbol Types Index</h2>
+
+<table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" href="#Symbol-Types-Index_fn_symbol-1"><b>.</b></a>
+ &nbsp;
+<br>
+<a class="summary-letter" href="#Symbol-Types-Index_fn_letter-C"><b>C</b></a>
+ &nbsp;
+<a class="summary-letter" href="#Symbol-Types-Index_fn_letter-N"><b>N</b></a>
+ &nbsp;
+</td></tr></table>
+<table class="index-fn" border="0">
+<tr><td></td><th align="left">Index Entry</th><td>&nbsp;</td><th align="left"> Section</th></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="Symbol-Types-Index_fn_symbol-1">.</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="Block-Structure.html#index-_002ebb"><code>.bb</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Block-Structure.html#Block-Structure">Block Structure</a></td></tr>
+<tr><td></td><td valign="top"><a href="Block-Structure.html#index-_002ebe"><code>.be</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Block-Structure.html#Block-Structure">Block Structure</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="Symbol-Types-Index_fn_letter-C">C</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="Common-Blocks.html#index-C_005fBCOMM"><code>C_BCOMM</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Common-Blocks.html#Common-Blocks">Common Blocks</a></td></tr>
+<tr><td></td><td valign="top"><a href="Include-Files.html#index-C_005fBINCL"><code>C_BINCL</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Include-Files.html#Include-Files">Include Files</a></td></tr>
+<tr><td></td><td valign="top"><a href="Block-Structure.html#index-C_005fBLOCK"><code>C_BLOCK</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Block-Structure.html#Block-Structure">Block Structure</a></td></tr>
+<tr><td></td><td valign="top"><a href="Statics.html#index-C_005fBSTAT"><code>C_BSTAT</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Statics.html#Statics">Statics</a></td></tr>
+<tr><td></td><td valign="top"><a href="Typedefs.html#index-C_005fDECL_002c-for-types"><code>C_DECL, for types</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Typedefs.html#Typedefs">Typedefs</a></td></tr>
+<tr><td></td><td valign="top"><a href="Common-Blocks.html#index-C_005fECOML"><code>C_ECOML</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Common-Blocks.html#Common-Blocks">Common Blocks</a></td></tr>
+<tr><td></td><td valign="top"><a href="Common-Blocks.html#index-C_005fECOMM"><code>C_ECOMM</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Common-Blocks.html#Common-Blocks">Common Blocks</a></td></tr>
+<tr><td></td><td valign="top"><a href="Include-Files.html#index-C_005fEINCL"><code>C_EINCL</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Include-Files.html#Include-Files">Include Files</a></td></tr>
+<tr><td></td><td valign="top"><a href="Alternate-Entry-Points.html#index-C_005fENTRY"><code>C_ENTRY</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Alternate-Entry-Points.html#Alternate-Entry-Points">Alternate Entry Points</a></td></tr>
+<tr><td></td><td valign="top"><a href="Statics.html#index-C_005fESTAT"><code>C_ESTAT</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Statics.html#Statics">Statics</a></td></tr>
+<tr><td></td><td valign="top"><a href="Source-Files.html#index-C_005fFILE"><code>C_FILE</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Source-Files.html#Source-Files">Source Files</a></td></tr>
+<tr><td></td><td valign="top"><a href="Procedures.html#index-C_005fFUN"><code>C_FUN</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Procedures.html#Procedures">Procedures</a></td></tr>
+<tr><td></td><td valign="top"><a href="Global-Variables.html#index-C_005fGSYM"><code>C_GSYM</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Global-Variables.html#Global-Variables">Global Variables</a></td></tr>
+<tr><td></td><td valign="top"><a href="Stack-Variables.html#index-C_005fLSYM"><code>C_LSYM</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Stack-Variables.html#Stack-Variables">Stack Variables</a></td></tr>
+<tr><td></td><td valign="top"><a href="Parameters.html#index-C_005fPSYM"><code>C_PSYM</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Parameters.html#Parameters">Parameters</a></td></tr>
+<tr><td></td><td valign="top"><a href="Register-Parameters.html#index-C_005fRPSYM"><code>C_RPSYM</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Register-Parameters.html#Register-Parameters">Register Parameters</a></td></tr>
+<tr><td></td><td valign="top"><a href="Register-Variables.html#index-C_005fRSYM"><code>C_RSYM</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Register-Variables.html#Register-Variables">Register Variables</a></td></tr>
+<tr><td></td><td valign="top"><a href="Statics.html#index-C_005fSTSYM"><code>C_STSYM</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Statics.html#Statics">Statics</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="Symbol-Types-Index_fn_letter-N">N</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="Common-Blocks.html#index-N_005fBCOMM"><code>N_BCOMM</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Common-Blocks.html#Common-Blocks">Common Blocks</a></td></tr>
+<tr><td></td><td valign="top"><a href="Include-Files.html#index-N_005fBINCL"><code>N_BINCL</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Include-Files.html#Include-Files">Include Files</a></td></tr>
+<tr><td></td><td valign="top"><a href="N_005fBROWS.html#index-N_005fBROWS"><code>N_BROWS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="N_005fBROWS.html#N_005fBROWS">N_BROWS</a></td></tr>
+<tr><td></td><td valign="top"><a href="N_005fBROWS.html#index-N_005fBROWS-1"><code>N_BROWS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="N_005fBROWS.html#N_005fBROWS">N_BROWS</a></td></tr>
+<tr><td></td><td valign="top"><a href="Line-Numbers.html#index-N_005fBSLINE"><code>N_BSLINE</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Line-Numbers.html#Line-Numbers">Line Numbers</a></td></tr>
+<tr><td></td><td valign="top"><a href="N_005fCATCH.html#index-N_005fCATCH"><code>N_CATCH</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="N_005fCATCH.html#N_005fCATCH">N_CATCH</a></td></tr>
+<tr><td></td><td valign="top"><a href="N_005fCATCH.html#index-N_005fCATCH-1"><code>N_CATCH</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="N_005fCATCH.html#N_005fCATCH">N_CATCH</a></td></tr>
+<tr><td></td><td valign="top"><a href="N_005fDEFD.html#index-N_005fDEFD"><code>N_DEFD</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="N_005fDEFD.html#N_005fDEFD">N_DEFD</a></td></tr>
+<tr><td></td><td valign="top"><a href="N_005fDEFD.html#index-N_005fDEFD-1"><code>N_DEFD</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="N_005fDEFD.html#N_005fDEFD">N_DEFD</a></td></tr>
+<tr><td></td><td valign="top"><a href="Line-Numbers.html#index-N_005fDSLINE"><code>N_DSLINE</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Line-Numbers.html#Line-Numbers">Line Numbers</a></td></tr>
+<tr><td></td><td valign="top"><a href="Common-Blocks.html#index-N_005fECOML"><code>N_ECOML</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Common-Blocks.html#Common-Blocks">Common Blocks</a></td></tr>
+<tr><td></td><td valign="top"><a href="Common-Blocks.html#index-N_005fECOMM"><code>N_ECOMM</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Common-Blocks.html#Common-Blocks">Common Blocks</a></td></tr>
+<tr><td></td><td valign="top"><a href="N_005fEHDECL.html#index-N_005fEHDECL"><code>N_EHDECL</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="N_005fEHDECL.html#N_005fEHDECL">N_EHDECL</a></td></tr>
+<tr><td></td><td valign="top"><a href="N_005fEHDECL.html#index-N_005fEHDECL-1"><code>N_EHDECL</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="N_005fEHDECL.html#N_005fEHDECL">N_EHDECL</a></td></tr>
+<tr><td></td><td valign="top"><a href="Include-Files.html#index-N_005fEINCL"><code>N_EINCL</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Include-Files.html#Include-Files">Include Files</a></td></tr>
+<tr><td></td><td valign="top"><a href="Alternate-Entry-Points.html#index-N_005fENTRY"><code>N_ENTRY</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Alternate-Entry-Points.html#Alternate-Entry-Points">Alternate Entry Points</a></td></tr>
+<tr><td></td><td valign="top"><a href="Include-Files.html#index-N_005fEXCL"><code>N_EXCL</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Include-Files.html#Include-Files">Include Files</a></td></tr>
+<tr><td></td><td valign="top"><a href="Procedures.html#index-N_005fFNAME"><code>N_FNAME</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Procedures.html#Procedures">Procedures</a></td></tr>
+<tr><td></td><td valign="top"><a href="Procedures.html#index-N_005fFUN_002c-for-functions"><code>N_FUN, for functions</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Procedures.html#Procedures">Procedures</a></td></tr>
+<tr><td></td><td valign="top"><a href="Statics.html#index-N_005fFUN_002c-for-variables"><code>N_FUN, for variables</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Statics.html#Statics">Statics</a></td></tr>
+<tr><td></td><td valign="top"><a href="Global-Variables.html#index-N_005fGSYM"><code>N_GSYM</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Global-Variables.html#Global-Variables">Global Variables</a></td></tr>
+<tr><td></td><td valign="top"><a href="Procedures.html#index-N_005fGSYM_002c-for-functions-_0028Sun-acc_0029"><code>N_GSYM, for functions (Sun acc)</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Procedures.html#Procedures">Procedures</a></td></tr>
+<tr><td></td><td valign="top"><a href="Block-Structure.html#index-N_005fLBRAC"><code>N_LBRAC</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Block-Structure.html#Block-Structure">Block Structure</a></td></tr>
+<tr><td></td><td valign="top"><a href="Statics.html#index-N_005fLCSYM"><code>N_LCSYM</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Statics.html#Statics">Statics</a></td></tr>
+<tr><td></td><td valign="top"><a href="N_005fLENG.html#index-N_005fLENG"><code>N_LENG</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="N_005fLENG.html#N_005fLENG">N_LENG</a></td></tr>
+<tr><td></td><td valign="top"><a href="N_005fLENG.html#index-N_005fLENG-1"><code>N_LENG</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="N_005fLENG.html#N_005fLENG">N_LENG</a></td></tr>
+<tr><td></td><td valign="top"><a href="Local-Variable-Parameters.html#index-N_005fLSYM_002c-for-parameter"><code>N_LSYM, for parameter</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Local-Variable-Parameters.html#Local-Variable-Parameters">Local Variable Parameters</a></td></tr>
+<tr><td></td><td valign="top"><a href="Stack-Variables.html#index-N_005fLSYM_002c-for-stack-variables"><code>N_LSYM, for stack variables</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Stack-Variables.html#Stack-Variables">Stack Variables</a></td></tr>
+<tr><td></td><td valign="top"><a href="Typedefs.html#index-N_005fLSYM_002c-for-types"><code>N_LSYM, for types</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Typedefs.html#Typedefs">Typedefs</a></td></tr>
+<tr><td></td><td valign="top"><a href="N_005fM2C.html#index-N_005fM2C"><code>N_M2C</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="N_005fM2C.html#N_005fM2C">N_M2C</a></td></tr>
+<tr><td></td><td valign="top"><a href="N_005fM2C.html#index-N_005fM2C-1"><code>N_M2C</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="N_005fM2C.html#N_005fM2C">N_M2C</a></td></tr>
+<tr><td></td><td valign="top"><a href="Macro-define-and-undefine.html#index-N_005fMAC_005fDEFINE"><code>N_MAC_DEFINE</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Macro-define-and-undefine.html#Macro-define-and-undefine">Macro define and undefine</a></td></tr>
+<tr><td></td><td valign="top"><a href="Macro-define-and-undefine.html#index-N_005fMAC_005fUNDEF"><code>N_MAC_UNDEF</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Macro-define-and-undefine.html#Macro-define-and-undefine">Macro define and undefine</a></td></tr>
+<tr><td></td><td valign="top"><a href="Main-Program.html#index-N_005fMAIN"><code>N_MAIN</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Main-Program.html#Main-Program">Main Program</a></td></tr>
+<tr><td></td><td valign="top"><a href="N_005fMOD2.html#index-N_005fMOD2"><code>N_MOD2</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="N_005fMOD2.html#N_005fMOD2">N_MOD2</a></td></tr>
+<tr><td></td><td valign="top"><a href="N_005fMOD2.html#index-N_005fMOD2-1"><code>N_MOD2</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="N_005fMOD2.html#N_005fMOD2">N_MOD2</a></td></tr>
+<tr><td></td><td valign="top"><a href="Gould.html#index-N_005fNBBSS"><code>N_NBBSS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Gould.html#Gould">Gould</a></td></tr>
+<tr><td></td><td valign="top"><a href="Gould.html#index-N_005fNBBSS-1"><code>N_NBBSS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Gould.html#Gould">Gould</a></td></tr>
+<tr><td></td><td valign="top"><a href="Gould.html#index-N_005fNBDATA"><code>N_NBDATA</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Gould.html#Gould">Gould</a></td></tr>
+<tr><td></td><td valign="top"><a href="Gould.html#index-N_005fNBDATA-1"><code>N_NBDATA</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Gould.html#Gould">Gould</a></td></tr>
+<tr><td></td><td valign="top"><a href="Gould.html#index-N_005fNBLCS"><code>N_NBLCS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Gould.html#Gould">Gould</a></td></tr>
+<tr><td></td><td valign="top"><a href="Gould.html#index-N_005fNBLCS-1"><code>N_NBLCS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Gould.html#Gould">Gould</a></td></tr>
+<tr><td></td><td valign="top"><a href="Gould.html#index-N_005fNBSTS"><code>N_NBSTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Gould.html#Gould">Gould</a></td></tr>
+<tr><td></td><td valign="top"><a href="Gould.html#index-N_005fNBSTS-1"><code>N_NBSTS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Gould.html#Gould">Gould</a></td></tr>
+<tr><td></td><td valign="top"><a href="Gould.html#index-N_005fNBTEXT"><code>N_NBTEXT</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Gould.html#Gould">Gould</a></td></tr>
+<tr><td></td><td valign="top"><a href="Gould.html#index-N_005fNBTEXT-1"><code>N_NBTEXT</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Gould.html#Gould">Gould</a></td></tr>
+<tr><td></td><td valign="top"><a href="N_005fNOMAP.html#index-N_005fNOMAP"><code>N_NOMAP</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="N_005fNOMAP.html#N_005fNOMAP">N_NOMAP</a></td></tr>
+<tr><td></td><td valign="top"><a href="N_005fNOMAP.html#index-N_005fNOMAP-1"><code>N_NOMAP</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="N_005fNOMAP.html#N_005fNOMAP">N_NOMAP</a></td></tr>
+<tr><td></td><td valign="top"><a href="N_005fNSYMS.html#index-N_005fNSYMS"><code>N_NSYMS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="N_005fNSYMS.html#N_005fNSYMS">N_NSYMS</a></td></tr>
+<tr><td></td><td valign="top"><a href="N_005fNSYMS.html#index-N_005fNSYMS-1"><code>N_NSYMS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="N_005fNSYMS.html#N_005fNSYMS">N_NSYMS</a></td></tr>
+<tr><td></td><td valign="top"><a href="N_005fPC.html#index-N_005fPC"><code>N_PC</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="N_005fPC.html#N_005fPC">N_PC</a></td></tr>
+<tr><td></td><td valign="top"><a href="N_005fPC.html#index-N_005fPC-1"><code>N_PC</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="N_005fPC.html#N_005fPC">N_PC</a></td></tr>
+<tr><td></td><td valign="top"><a href="Parameters.html#index-N_005fPSYM"><code>N_PSYM</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Parameters.html#Parameters">Parameters</a></td></tr>
+<tr><td></td><td valign="top"><a href="Block-Structure.html#index-N_005fRBRAC"><code>N_RBRAC</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Block-Structure.html#Block-Structure">Block Structure</a></td></tr>
+<tr><td></td><td valign="top"><a href="Statics.html#index-N_005fROSYM"><code>N_ROSYM</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Statics.html#Statics">Statics</a></td></tr>
+<tr><td></td><td valign="top"><a href="Register-Variables.html#index-N_005fRSYM"><code>N_RSYM</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Register-Variables.html#Register-Variables">Register Variables</a></td></tr>
+<tr><td></td><td valign="top"><a href="Register-Parameters.html#index-N_005fRSYM_002c-for-parameters"><code>N_RSYM, for parameters</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Register-Parameters.html#Register-Parameters">Register Parameters</a></td></tr>
+<tr><td></td><td valign="top"><a href="N_005fSCOPE.html#index-N_005fSCOPE"><code>N_SCOPE</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="N_005fSCOPE.html#N_005fSCOPE">N_SCOPE</a></td></tr>
+<tr><td></td><td valign="top"><a href="N_005fSCOPE.html#index-N_005fSCOPE-1"><code>N_SCOPE</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="N_005fSCOPE.html#N_005fSCOPE">N_SCOPE</a></td></tr>
+<tr><td></td><td valign="top"><a href="Line-Numbers.html#index-N_005fSLINE"><code>N_SLINE</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Line-Numbers.html#Line-Numbers">Line Numbers</a></td></tr>
+<tr><td></td><td valign="top"><a href="Source-Files.html#index-N_005fSO"><code>N_SO</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Source-Files.html#Source-Files">Source Files</a></td></tr>
+<tr><td></td><td valign="top"><a href="Include-Files.html#index-N_005fSOL"><code>N_SOL</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Include-Files.html#Include-Files">Include Files</a></td></tr>
+<tr><td></td><td valign="top"><a href="N_005fSSYM.html#index-N_005fSSYM"><code>N_SSYM</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="N_005fSSYM.html#N_005fSSYM">N_SSYM</a></td></tr>
+<tr><td></td><td valign="top"><a href="N_005fSSYM.html#index-N_005fSSYM-1"><code>N_SSYM</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="N_005fSSYM.html#N_005fSSYM">N_SSYM</a></td></tr>
+<tr><td></td><td valign="top"><a href="Statics.html#index-N_005fSTSYM"><code>N_STSYM</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Statics.html#Statics">Statics</a></td></tr>
+<tr><td></td><td valign="top"><a href="Procedures.html#index-N_005fSTSYM_002c-for-functions-_0028Sun-acc_0029"><code>N_STSYM, for functions (Sun acc)</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Procedures.html#Procedures">Procedures</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+</table>
+<table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" href="#Symbol-Types-Index_fn_symbol-1"><b>.</b></a>
+ &nbsp;
+<br>
+<a class="summary-letter" href="#Symbol-Types-Index_fn_letter-C"><b>C</b></a>
+ &nbsp;
+<a class="summary-letter" href="#Symbol-Types-Index_fn_letter-N"><b>N</b></a>
+ &nbsp;
+</td></tr></table>
+
+<hr>
+<div class="header">
+<p>
+Previous: <a href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License" accesskey="p" rel="previous">GNU Free Documentation License</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Traditional-Builtin-Types.html b/share/doc/stabs/Traditional-Builtin-Types.html
new file mode 100644
index 0000000..64101c5
--- /dev/null
+++ b/share/doc/stabs/Traditional-Builtin-Types.html
@@ -0,0 +1,86 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Traditional Builtin Types</title>
+
+<meta name="description" content="STABS: Traditional Builtin Types">
+<meta name="keywords" content="STABS: Traditional Builtin Types">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Builtin-Types.html#Builtin-Types" rel="up" title="Builtin Types">
+<link href="Traditional-Integer-Types.html#Traditional-Integer-Types" rel="next" title="Traditional Integer Types">
+<link href="Builtin-Types.html#Builtin-Types" rel="previous" title="Builtin Types">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Traditional-Builtin-Types"></a>
+<div class="header">
+<p>
+Next: <a href="Builtin-Type-Descriptors.html#Builtin-Type-Descriptors" accesskey="n" rel="next">Builtin Type Descriptors</a>, Up: <a href="Builtin-Types.html#Builtin-Types" accesskey="u" rel="up">Builtin Types</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Traditional-Builtin-Types-1"></a>
+<h4 class="subsection">5.1.1 Traditional Builtin Types</h4>
+
+<p>This is the traditional, convoluted method for defining builtin types.
+There are several classes of such type definitions: integer, floating
+point, and <code>void</code>.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="Traditional-Integer-Types.html#Traditional-Integer-Types" accesskey="1">Traditional Integer Types</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Traditional-Other-Types.html#Traditional-Other-Types" accesskey="2">Traditional Other Types</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Traditional-Integer-Types.html b/share/doc/stabs/Traditional-Integer-Types.html
new file mode 100644
index 0000000..fb418b2
--- /dev/null
+++ b/share/doc/stabs/Traditional-Integer-Types.html
@@ -0,0 +1,131 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Traditional Integer Types</title>
+
+<meta name="description" content="STABS: Traditional Integer Types">
+<meta name="keywords" content="STABS: Traditional Integer Types">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Traditional-Builtin-Types.html#Traditional-Builtin-Types" rel="up" title="Traditional Builtin Types">
+<link href="Traditional-Other-Types.html#Traditional-Other-Types" rel="next" title="Traditional Other Types">
+<link href="Traditional-Builtin-Types.html#Traditional-Builtin-Types" rel="previous" title="Traditional Builtin Types">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Traditional-Integer-Types"></a>
+<div class="header">
+<p>
+Next: <a href="Traditional-Other-Types.html#Traditional-Other-Types" accesskey="n" rel="next">Traditional Other Types</a>, Up: <a href="Traditional-Builtin-Types.html#Traditional-Builtin-Types" accesskey="u" rel="up">Traditional Builtin Types</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Traditional-Integer-Types-1"></a>
+<h4 class="subsubsection">5.1.1.1 Traditional Integer Types</h4>
+
+<p>Often types are defined as subranges of themselves. If the bounding values
+fit within an <code>int</code>, then they are given normally. For example:
+</p>
+<div class="example">
+<pre class="example">.stabs &quot;int:t1=r1;-2147483648;2147483647;&quot;,128,0,0,0 # <span class="roman">128 is N_LSYM</span>
+.stabs &quot;char:t2=r2;0;127;&quot;,128,0,0,0
+</pre></div>
+
+<p>Builtin types can also be described as subranges of <code>int</code>:
+</p>
+<div class="example">
+<pre class="example">.stabs &quot;unsigned short:t6=r1;0;65535;&quot;,128,0,0,0
+</pre></div>
+
+<p>If the lower bound of a subrange is 0 and the upper bound is -1,
+the type is an unsigned integral type whose bounds are too
+big to describe in an <code>int</code>. Traditionally this is only used for
+<code>unsigned int</code> and <code>unsigned long</code>:
+</p>
+<div class="example">
+<pre class="example">.stabs &quot;unsigned int:t4=r1;0;-1;&quot;,128,0,0,0
+</pre></div>
+
+<p>For larger types, GCC 2.4.5 puts out bounds in octal, with one or more
+leading zeroes. In this case a negative bound consists of a number
+which is a 1 bit (for the sign bit) followed by a 0 bit for each bit in
+the number (except the sign bit), and a positive bound is one which is a
+1 bit for each bit in the number (except possibly the sign bit). All
+known versions of dbx and GDB version 4 accept this (at least in the
+sense of not refusing to process the file), but GDB 3.5 refuses to read
+the whole file containing such symbols. So GCC 2.3.3 did not output the
+proper size for these types. As an example of octal bounds, the string
+fields of the stabs for 64 bit integer types look like:
+</p>
+<div class="example">
+<pre class="example">long int:t3=r1;001000000000000000000000;000777777777777777777777;
+long unsigned int:t5=r1;000000000000000000000000;001777777777777777777777;
+</pre></div>
+
+<p>If the lower bound of a subrange is 0 and the upper bound is negative,
+the type is an unsigned integral type whose size in bytes is the
+absolute value of the upper bound. I believe this is a Convex
+convention for <code>unsigned long long</code>.
+</p>
+<p>If the lower bound of a subrange is negative and the upper bound is 0,
+the type is a signed integral type whose size in bytes is
+the absolute value of the lower bound. I believe this is a Convex
+convention for <code>long long</code>. To distinguish this from a legitimate
+subrange, the type should be a subrange of itself. I&rsquo;m not sure whether
+this is the case for Convex.
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Traditional-Other-Types.html#Traditional-Other-Types" accesskey="n" rel="next">Traditional Other Types</a>, Up: <a href="Traditional-Builtin-Types.html#Traditional-Builtin-Types" accesskey="u" rel="up">Traditional Builtin Types</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Traditional-Other-Types.html b/share/doc/stabs/Traditional-Other-Types.html
new file mode 100644
index 0000000..c12e850
--- /dev/null
+++ b/share/doc/stabs/Traditional-Other-Types.html
@@ -0,0 +1,103 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Traditional Other Types</title>
+
+<meta name="description" content="STABS: Traditional Other Types">
+<meta name="keywords" content="STABS: Traditional Other Types">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Traditional-Builtin-Types.html#Traditional-Builtin-Types" rel="up" title="Traditional Builtin Types">
+<link href="Builtin-Type-Descriptors.html#Builtin-Type-Descriptors" rel="next" title="Builtin Type Descriptors">
+<link href="Traditional-Integer-Types.html#Traditional-Integer-Types" rel="previous" title="Traditional Integer Types">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Traditional-Other-Types"></a>
+<div class="header">
+<p>
+Previous: <a href="Traditional-Integer-Types.html#Traditional-Integer-Types" accesskey="p" rel="previous">Traditional Integer Types</a>, Up: <a href="Traditional-Builtin-Types.html#Traditional-Builtin-Types" accesskey="u" rel="up">Traditional Builtin Types</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Traditional-Other-Types-1"></a>
+<h4 class="subsubsection">5.1.1.2 Traditional Other Types</h4>
+
+<p>If the upper bound of a subrange is 0 and the lower bound is positive,
+the type is a floating point type, and the lower bound of the subrange
+indicates the number of bytes in the type:
+</p>
+<div class="example">
+<pre class="example">.stabs &quot;float:t12=r1;4;0;&quot;,128,0,0,0
+.stabs &quot;double:t13=r1;8;0;&quot;,128,0,0,0
+</pre></div>
+
+<p>However, GCC writes <code>long double</code> the same way it writes
+<code>double</code>, so there is no way to distinguish.
+</p>
+<div class="example">
+<pre class="example">.stabs &quot;long double:t14=r1;8;0;&quot;,128,0,0,0
+</pre></div>
+
+<p>Complex types are defined the same way as floating-point types; there is
+no way to distinguish a single-precision complex from a double-precision
+floating-point type.
+</p>
+<p>The C <code>void</code> type is defined as itself:
+</p>
+<div class="example">
+<pre class="example">.stabs &quot;void:t15=15&quot;,128,0,0,0
+</pre></div>
+
+<p>I&rsquo;m not sure how a boolean type is represented.
+</p>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Transformations-On-Global-Variables.html b/share/doc/stabs/Transformations-On-Global-Variables.html
new file mode 100644
index 0000000..5856763
--- /dev/null
+++ b/share/doc/stabs/Transformations-On-Global-Variables.html
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Transformations On Global Variables</title>
+
+<meta name="description" content="STABS: Transformations On Global Variables">
+<meta name="keywords" content="STABS: Transformations On Global Variables">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Transformations-On-Symbol-Tables.html#Transformations-On-Symbol-Tables" rel="up" title="Transformations On Symbol Tables">
+<link href="Stab-Section-Transformations.html#Stab-Section-Transformations" rel="next" title="Stab Section Transformations">
+<link href="Transformations-On-Static-Variables.html#Transformations-On-Static-Variables" rel="previous" title="Transformations On Static Variables">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Transformations-On-Global-Variables"></a>
+<div class="header">
+<p>
+Next: <a href="Stab-Section-Transformations.html#Stab-Section-Transformations" accesskey="n" rel="next">Stab Section Transformations</a>, Previous: <a href="Transformations-On-Static-Variables.html#Transformations-On-Static-Variables" accesskey="p" rel="previous">Transformations On Static Variables</a>, Up: <a href="Transformations-On-Symbol-Tables.html#Transformations-On-Symbol-Tables" accesskey="u" rel="up">Transformations On Symbol Tables</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Transformations-on-Global-Variables"></a>
+<h4 class="subsection">7.2.2 Transformations on Global Variables</h4>
+
+<p>Stabs for global variables do not contain location information. In
+this case, the debugger finds location information in the assembler or
+linker symbol table entry describing the variable. The source line:
+</p>
+<div class="example">
+<pre class="example">char g_foo = 'c';
+</pre></div>
+
+<p>generates the stab:
+</p>
+<div class="example">
+<pre class="example">.stabs &quot;g_foo:G2&quot;,32,0,0,0
+</pre></div>
+
+<p>The variable is represented by two symbol table entries in the object
+file (see below). The first one originated as a stab. The second one
+is an external symbol. The upper case &lsquo;<samp>D</samp>&rsquo; signifies that the
+<code>n_type</code> field of the symbol table contains 7, <code>N_DATA</code> with
+local linkage. The stab&rsquo;s value is zero since the value is not used for
+<code>N_GSYM</code> stabs. The value of the linker symbol is the relocatable
+address corresponding to the variable.
+</p>
+<div class="example">
+<pre class="example">00000000 - 00 0000 GSYM g_foo:G2
+00000080 D _g_foo
+</pre></div>
+
+<p>These entries as transformed by the linker. The linker symbol table
+entry now holds an absolute address:
+</p>
+<div class="example">
+<pre class="example">00000000 - 00 0000 GSYM g_foo:G2
+&hellip;
+0000e008 D _g_foo
+</pre></div>
+
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Transformations-On-Static-Variables.html b/share/doc/stabs/Transformations-On-Static-Variables.html
new file mode 100644
index 0000000..ecfbea1
--- /dev/null
+++ b/share/doc/stabs/Transformations-On-Static-Variables.html
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Transformations On Static Variables</title>
+
+<meta name="description" content="STABS: Transformations On Static Variables">
+<meta name="keywords" content="STABS: Transformations On Static Variables">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Transformations-On-Symbol-Tables.html#Transformations-On-Symbol-Tables" rel="up" title="Transformations On Symbol Tables">
+<link href="Transformations-On-Global-Variables.html#Transformations-On-Global-Variables" rel="next" title="Transformations On Global Variables">
+<link href="Transformations-On-Symbol-Tables.html#Transformations-On-Symbol-Tables" rel="previous" title="Transformations On Symbol Tables">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Transformations-On-Static-Variables"></a>
+<div class="header">
+<p>
+Next: <a href="Transformations-On-Global-Variables.html#Transformations-On-Global-Variables" accesskey="n" rel="next">Transformations On Global Variables</a>, Up: <a href="Transformations-On-Symbol-Tables.html#Transformations-On-Symbol-Tables" accesskey="u" rel="up">Transformations On Symbol Tables</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Transformations-on-Static-Variables"></a>
+<h4 class="subsection">7.2.1 Transformations on Static Variables</h4>
+
+<p>This source line defines a static variable at file scope:
+</p>
+<div class="example">
+<pre class="example">static int s_g_repeat
+</pre></div>
+
+<p>The following stab describes the symbol:
+</p>
+<div class="example">
+<pre class="example">.stabs &quot;s_g_repeat:S1&quot;,38,0,0,_s_g_repeat
+</pre></div>
+
+<p>The assembler transforms the stab into this symbol table entry in the
+<samp>.o</samp> file. The location is expressed as a data segment offset.
+</p>
+<div class="example">
+<pre class="example">00000084 - 00 0000 STSYM s_g_repeat:S1
+</pre></div>
+
+<p>In the symbol table entry from the executable, the linker has made the
+relocatable address absolute.
+</p>
+<div class="example">
+<pre class="example">0000e00c - 00 0000 STSYM s_g_repeat:S1
+</pre></div>
+
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Transformations-On-Symbol-Tables.html b/share/doc/stabs/Transformations-On-Symbol-Tables.html
new file mode 100644
index 0000000..202a64c
--- /dev/null
+++ b/share/doc/stabs/Transformations-On-Symbol-Tables.html
@@ -0,0 +1,106 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Transformations On Symbol Tables</title>
+
+<meta name="description" content="STABS: Transformations On Symbol Tables">
+<meta name="keywords" content="STABS: Transformations On Symbol Tables">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Symbol-Tables.html#Symbol-Tables" rel="up" title="Symbol Tables">
+<link href="Transformations-On-Static-Variables.html#Transformations-On-Static-Variables" rel="next" title="Transformations On Static Variables">
+<link href="Symbol-Table-Format.html#Symbol-Table-Format" rel="previous" title="Symbol Table Format">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Transformations-On-Symbol-Tables"></a>
+<div class="header">
+<p>
+Previous: <a href="Symbol-Table-Format.html#Symbol-Table-Format" accesskey="p" rel="previous">Symbol Table Format</a>, Up: <a href="Symbol-Tables.html#Symbol-Tables" accesskey="u" rel="up">Symbol Tables</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Transformations-on-Symbol-Tables"></a>
+<h3 class="section">7.2 Transformations on Symbol Tables</h3>
+
+<p>The linker concatenates object files and does fixups of externally
+defined symbols.
+</p>
+<p>You can see the transformations made on stab data by the assembler and
+linker by examining the symbol table after each pass of the build. To
+do this, use &lsquo;<samp>nm -ap</samp>&rsquo;, which dumps the symbol table, including
+debugging information, unsorted. For stab entries the columns are:
+<var>value</var>, <var>other</var>, <var>desc</var>, <var>type</var>, <var>string</var>. For
+assembler and linker symbols, the columns are: <var>value</var>, <var>type</var>,
+<var>string</var>.
+</p>
+<p>The low 5 bits of the stab type tell the linker how to relocate the
+value of the stab. Thus for stab types like <code>N_RSYM</code> and
+<code>N_LSYM</code>, where the value is an offset or a register number, the
+low 5 bits are <code>N_ABS</code>, which tells the linker not to relocate the
+value.
+</p>
+<p>Where the value of a stab contains an assembly language label,
+it is transformed by each build step. The assembler turns it into a
+relocatable address and the linker turns it into an absolute address.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="Transformations-On-Static-Variables.html#Transformations-On-Static-Variables" accesskey="1">Transformations On Static Variables</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Transformations-On-Global-Variables.html#Transformations-On-Global-Variables" accesskey="2">Transformations On Global Variables</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Stab-Section-Transformations.html#Stab-Section-Transformations" accesskey="3">Stab Section Transformations</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">For some object file formats,
+ things are a bit different.
+</td></tr>
+</table>
+
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Type-Descriptors.html b/share/doc/stabs/Type-Descriptors.html
new file mode 100644
index 0000000..c68e761
--- /dev/null
+++ b/share/doc/stabs/Type-Descriptors.html
@@ -0,0 +1,253 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Type Descriptors</title>
+
+<meta name="description" content="STABS: Type Descriptors">
+<meta name="keywords" content="STABS: Type Descriptors">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Expanded-Reference.html#Expanded-Reference" rel="next" title="Expanded Reference">
+<link href="Symbol-Descriptors.html#Symbol-Descriptors" rel="previous" title="Symbol Descriptors">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Type-Descriptors"></a>
+<div class="header">
+<p>
+Next: <a href="Expanded-Reference.html#Expanded-Reference" accesskey="n" rel="next">Expanded Reference</a>, Previous: <a href="Symbol-Descriptors.html#Symbol-Descriptors" accesskey="p" rel="previous">Symbol Descriptors</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Table-of-Type-Descriptors"></a>
+<h2 class="appendix">Appendix C Table of Type Descriptors</h2>
+
+<p>The type descriptor is the character which follows the type number and
+an equals sign. It specifies what kind of type is being defined.
+See <a href="String-Field.html#String-Field">String Field</a>, for more information about their use.
+</p>
+<dl compact="compact">
+<dt><code><var>digit</var></code></dt>
+<dt><code>(</code></dt>
+<dd><p>Type reference; see <a href="String-Field.html#String-Field">String Field</a>.
+</p>
+</dd>
+<dt><code>-</code></dt>
+<dd><p>Reference to builtin type; see <a href="Negative-Type-Numbers.html#Negative-Type-Numbers">Negative Type Numbers</a>.
+</p>
+</dd>
+<dt><code>#</code></dt>
+<dd><p>Method (C<tt>++</tt>); see <a href="Method-Type-Descriptor.html#Method-Type-Descriptor">Method Type Descriptor</a>.
+</p>
+</dd>
+<dt><code>*</code></dt>
+<dd><p>Pointer; see <a href="Miscellaneous-Types.html#Miscellaneous-Types">Miscellaneous Types</a>.
+</p>
+</dd>
+<dt><code>&amp;</code></dt>
+<dd><p>Reference (C<tt>++</tt>).
+</p>
+</dd>
+<dt><code>@</code></dt>
+<dd><p>Type Attributes (AIX); see <a href="String-Field.html#String-Field">String Field</a>. Member (class and variable)
+type (GNU C<tt>++</tt>); see <a href="Member-Type-Descriptor.html#Member-Type-Descriptor">Member Type Descriptor</a>.
+</p>
+</dd>
+<dt><code>a</code></dt>
+<dd><p>Array; see <a href="Arrays.html#Arrays">Arrays</a>.
+</p>
+</dd>
+<dt><code>A</code></dt>
+<dd><p>Open array; see <a href="Arrays.html#Arrays">Arrays</a>.
+</p>
+</dd>
+<dt><code>b</code></dt>
+<dd><p>Pascal space type (AIX); see <a href="Miscellaneous-Types.html#Miscellaneous-Types">Miscellaneous Types</a>. Builtin integer
+type (Sun); see <a href="Builtin-Type-Descriptors.html#Builtin-Type-Descriptors">Builtin Type Descriptors</a>. Const and volatile
+qualified type (OS9000).
+</p>
+</dd>
+<dt><code>B</code></dt>
+<dd><p>Volatile-qualified type; see <a href="Miscellaneous-Types.html#Miscellaneous-Types">Miscellaneous Types</a>.
+</p>
+</dd>
+<dt><code>c</code></dt>
+<dd><p>Complex builtin type (AIX); see <a href="Builtin-Type-Descriptors.html#Builtin-Type-Descriptors">Builtin Type Descriptors</a>.
+Const-qualified type (OS9000).
+</p>
+</dd>
+<dt><code>C</code></dt>
+<dd><p>COBOL Picture type. See AIX documentation for details.
+</p>
+</dd>
+<dt><code>d</code></dt>
+<dd><p>File type; see <a href="Miscellaneous-Types.html#Miscellaneous-Types">Miscellaneous Types</a>.
+</p>
+</dd>
+<dt><code>D</code></dt>
+<dd><p>N-dimensional dynamic array; see <a href="Arrays.html#Arrays">Arrays</a>.
+</p>
+</dd>
+<dt><code>e</code></dt>
+<dd><p>Enumeration type; see <a href="Enumerations.html#Enumerations">Enumerations</a>.
+</p>
+</dd>
+<dt><code>E</code></dt>
+<dd><p>N-dimensional subarray; see <a href="Arrays.html#Arrays">Arrays</a>.
+</p>
+</dd>
+<dt><code>f</code></dt>
+<dd><p>Function type; see <a href="Function-Types.html#Function-Types">Function Types</a>.
+</p>
+</dd>
+<dt><code>F</code></dt>
+<dd><p>Pascal function parameter; see <a href="Function-Types.html#Function-Types">Function Types</a>
+</p>
+</dd>
+<dt><code>g</code></dt>
+<dd><p>Builtin floating point type; see <a href="Builtin-Type-Descriptors.html#Builtin-Type-Descriptors">Builtin Type Descriptors</a>.
+</p>
+</dd>
+<dt><code>G</code></dt>
+<dd><p>COBOL Group. See AIX documentation for details.
+</p>
+</dd>
+<dt><code>i</code></dt>
+<dd><p>Imported type (AIX); see <a href="Cross_002dReferences.html#Cross_002dReferences">Cross-References</a>. Volatile-qualified
+type (OS9000).
+</p>
+</dd>
+<dt><code>k</code></dt>
+<dd><p>Const-qualified type; see <a href="Miscellaneous-Types.html#Miscellaneous-Types">Miscellaneous Types</a>.
+</p>
+</dd>
+<dt><code>K</code></dt>
+<dd><p>COBOL File Descriptor. See AIX documentation for details.
+</p>
+</dd>
+<dt><code>M</code></dt>
+<dd><p>Multiple instance type; see <a href="Miscellaneous-Types.html#Miscellaneous-Types">Miscellaneous Types</a>.
+</p>
+</dd>
+<dt><code>n</code></dt>
+<dd><p>String type; see <a href="Strings.html#Strings">Strings</a>.
+</p>
+</dd>
+<dt><code>N</code></dt>
+<dd><p>Stringptr; see <a href="Strings.html#Strings">Strings</a>.
+</p>
+</dd>
+<dt><code>o</code></dt>
+<dd><p>Opaque type; see <a href="Typedefs.html#Typedefs">Typedefs</a>.
+</p>
+</dd>
+<dt><code>p</code></dt>
+<dd><p>Procedure; see <a href="Function-Types.html#Function-Types">Function Types</a>.
+</p>
+</dd>
+<dt><code>P</code></dt>
+<dd><p>Packed array; see <a href="Arrays.html#Arrays">Arrays</a>.
+</p>
+</dd>
+<dt><code>r</code></dt>
+<dd><p>Range type; see <a href="Subranges.html#Subranges">Subranges</a>.
+</p>
+</dd>
+<dt><code>R</code></dt>
+<dd><p>Builtin floating type; see <a href="Builtin-Type-Descriptors.html#Builtin-Type-Descriptors">Builtin Type Descriptors</a> (Sun). Pascal
+subroutine parameter; see <a href="Function-Types.html#Function-Types">Function Types</a> (AIX). Detecting this
+conflict is possible with careful parsing (hint: a Pascal subroutine
+parameter type will always contain a comma, and a builtin type
+descriptor never will).
+</p>
+</dd>
+<dt><code>s</code></dt>
+<dd><p>Structure type; see <a href="Structures.html#Structures">Structures</a>.
+</p>
+</dd>
+<dt><code>S</code></dt>
+<dd><p>Set type; see <a href="Miscellaneous-Types.html#Miscellaneous-Types">Miscellaneous Types</a>.
+</p>
+</dd>
+<dt><code>u</code></dt>
+<dd><p>Union; see <a href="Unions.html#Unions">Unions</a>.
+</p>
+</dd>
+<dt><code>v</code></dt>
+<dd><p>Variant record. This is a Pascal and Modula-2 feature which is like a
+union within a struct in C. See AIX documentation for details.
+</p>
+</dd>
+<dt><code>w</code></dt>
+<dd><p>Wide character; see <a href="Builtin-Type-Descriptors.html#Builtin-Type-Descriptors">Builtin Type Descriptors</a>.
+</p>
+</dd>
+<dt><code>x</code></dt>
+<dd><p>Cross-reference; see <a href="Cross_002dReferences.html#Cross_002dReferences">Cross-References</a>.
+</p>
+</dd>
+<dt><code>Y</code></dt>
+<dd><p>Used by IBM&rsquo;s xlC C<tt>++</tt> compiler (for structures, I think).
+</p>
+</dd>
+<dt><code>z</code></dt>
+<dd><p>gstring; see <a href="Strings.html#Strings">Strings</a>.
+</p></dd>
+</dl>
+
+<hr>
+<div class="header">
+<p>
+Next: <a href="Expanded-Reference.html#Expanded-Reference" accesskey="n" rel="next">Expanded Reference</a>, Previous: <a href="Symbol-Descriptors.html#Symbol-Descriptors" accesskey="p" rel="previous">Symbol Descriptors</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Typedefs.html b/share/doc/stabs/Typedefs.html
new file mode 100644
index 0000000..273d202
--- /dev/null
+++ b/share/doc/stabs/Typedefs.html
@@ -0,0 +1,104 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Typedefs</title>
+
+<meta name="description" content="STABS: Typedefs">
+<meta name="keywords" content="STABS: Typedefs">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Types.html#Types" rel="up" title="Types">
+<link href="Unions.html#Unions" rel="next" title="Unions">
+<link href="Structures.html#Structures" rel="previous" title="Structures">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Typedefs"></a>
+<div class="header">
+<p>
+Next: <a href="Unions.html#Unions" accesskey="n" rel="next">Unions</a>, Previous: <a href="Structures.html#Structures" accesskey="p" rel="previous">Structures</a>, Up: <a href="Types.html#Types" accesskey="u" rel="up">Types</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Giving-a-Type-a-Name"></a>
+<h3 class="section">5.9 Giving a Type a Name</h3>
+
+<a name="index-N_005fLSYM_002c-for-types"></a>
+<a name="index-C_005fDECL_002c-for-types"></a>
+<p>To give a type a name, use the &lsquo;<samp>t</samp>&rsquo; symbol descriptor. The type
+is specified by the type information (see <a href="String-Field.html#String-Field">String Field</a>) for the stab.
+For example,
+</p>
+<div class="example">
+<pre class="example">.stabs &quot;s_typedef:t16&quot;,128,0,0,0 # <span class="roman">128 is N_LSYM</span>
+</pre></div>
+
+<p>specifies that <code>s_typedef</code> refers to type number 16. Such stabs
+have symbol type <code>N_LSYM</code> (or <code>C_DECL</code> for XCOFF). (The Sun
+documentation mentions using <code>N_GSYM</code> in some cases).
+</p>
+<p>If you are specifying the tag name for a structure, union, or
+enumeration, use the &lsquo;<samp>T</samp>&rsquo; symbol descriptor instead. I believe C is
+the only language with this feature.
+</p>
+<p>If the type is an opaque type (I believe this is a Modula-2 feature),
+AIX provides a type descriptor to specify it. The type descriptor is
+&lsquo;<samp>o</samp>&rsquo; and is followed by a name. I don&rsquo;t know what the name
+means&mdash;is it always the same as the name of the type, or is this type
+descriptor used with a nameless stab (see <a href="String-Field.html#String-Field">String Field</a>)? There
+optionally follows a comma followed by type information which defines
+the type of this type. If omitted, a semicolon is used in place of the
+comma and the type information, and the type is much like a generic
+pointer type&mdash;it has a known size but little else about it is
+specified.
+</p>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Types.html b/share/doc/stabs/Types.html
new file mode 100644
index 0000000..bcd8bff
--- /dev/null
+++ b/share/doc/stabs/Types.html
@@ -0,0 +1,105 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Types</title>
+
+<meta name="description" content="STABS: Types">
+<meta name="keywords" content="STABS: Types">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Builtin-Types.html#Builtin-Types" rel="next" title="Builtin Types">
+<link href="Conformant-Arrays.html#Conformant-Arrays" rel="previous" title="Conformant Arrays">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Types"></a>
+<div class="header">
+<p>
+Next: <a href="Macro-define-and-undefine.html#Macro-define-and-undefine" accesskey="n" rel="next">Macro define and undefine</a>, Previous: <a href="Variables.html#Variables" accesskey="p" rel="previous">Variables</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Defining-Types"></a>
+<h2 class="chapter">5 Defining Types</h2>
+
+<p>The examples so far have described types as references to previously
+defined types, or defined in terms of subranges of or pointers to
+previously defined types. This chapter describes the other type
+descriptors that may follow the &lsquo;<samp>=</samp>&rsquo; in a type definition.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="Builtin-Types.html#Builtin-Types" accesskey="1">Builtin Types</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Integers, floating point, void, etc.
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Miscellaneous-Types.html#Miscellaneous-Types" accesskey="2">Miscellaneous Types</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Pointers, sets, files, etc.
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Cross_002dReferences.html#Cross_002dReferences" accesskey="3">Cross-References</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Referring to a type not yet defined.
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Subranges.html#Subranges" accesskey="4">Subranges</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">A type with a specific range.
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Arrays.html#Arrays" accesskey="5">Arrays</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">An aggregate type of same-typed elements.
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Strings.html#Strings" accesskey="6">Strings</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Like an array but also has a length.
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Enumerations.html#Enumerations" accesskey="7">Enumerations</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Like an integer but the values have names.
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Structures.html#Structures" accesskey="8">Structures</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">An aggregate type of different-typed elements.
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Typedefs.html#Typedefs" accesskey="9">Typedefs</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Giving a type a name.
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Unions.html#Unions">Unions</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Different types sharing storage.
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Function-Types.html#Function-Types">Function Types</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Unions.html b/share/doc/stabs/Unions.html
new file mode 100644
index 0000000..cf4563d
--- /dev/null
+++ b/share/doc/stabs/Unions.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Unions</title>
+
+<meta name="description" content="STABS: Unions">
+<meta name="keywords" content="STABS: Unions">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Types.html#Types" rel="up" title="Types">
+<link href="Function-Types.html#Function-Types" rel="next" title="Function Types">
+<link href="Typedefs.html#Typedefs" rel="previous" title="Typedefs">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Unions"></a>
+<div class="header">
+<p>
+Next: <a href="Function-Types.html#Function-Types" accesskey="n" rel="next">Function Types</a>, Previous: <a href="Typedefs.html#Typedefs" accesskey="p" rel="previous">Typedefs</a>, Up: <a href="Types.html#Types" accesskey="u" rel="up">Types</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Unions-1"></a>
+<h3 class="section">5.10 Unions</h3>
+
+<div class="example">
+<pre class="example">union u_tag {
+ int u_int;
+ float u_float;
+ char* u_char;
+} an_u;
+</pre></div>
+
+<p>This code generates a stab for a union tag and a stab for a union
+variable. Both use the <code>N_LSYM</code> stab type. If a union variable is
+scoped locally to the procedure in which it is defined, its stab is
+located immediately preceding the <code>N_LBRAC</code> for the procedure&rsquo;s block
+start.
+</p>
+<p>The stab for the union tag, however, is located preceding the code for
+the procedure in which it is defined. The stab type is <code>N_LSYM</code>. This
+would seem to imply that the union type is file scope, like the struct
+type <code>s_tag</code>. This is not true. The contents and position of the stab
+for <code>u_type</code> do not convey any information about its procedure local
+scope.
+</p>
+<div class="smallexample">
+<pre class="smallexample"># <span class="roman">128 is N_LSYM</span>
+.stabs &quot;u_tag:T23=u4u_int:1,0,32;u_float:12,0,32;u_char:21,0,32;;&quot;,
+ 128,0,0,0
+</pre></div>
+
+<p>The symbol descriptor &lsquo;<samp>T</samp>&rsquo;, following the &lsquo;<samp>name:</samp>&rsquo; means that
+the stab describes an enumeration, structure, or union tag. The type
+descriptor &lsquo;<samp>u</samp>&rsquo;, following the &lsquo;<samp>23=</samp>&rsquo; of the type definition,
+narrows it down to a union type definition. Following the &lsquo;<samp>u</samp>&rsquo; is
+the number of bytes in the union. After that is a list of union element
+descriptions. Their format is &lsquo;<samp><var>name</var>:<var>type</var>, <var>bit
+offset into the union</var>, <var>number of bytes for the element</var>;</samp>&rsquo;.
+</p>
+<p>The stab for the union variable is:
+</p>
+<div class="example">
+<pre class="example">.stabs &quot;an_u:23&quot;,128,0,0,-20 # <span class="roman">128 is N_LSYM</span>
+</pre></div>
+
+<p>&lsquo;<samp>-20</samp>&rsquo; specifies where the variable is stored (see <a href="Stack-Variables.html#Stack-Variables">Stack Variables</a>).
+</p>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Variables.html b/share/doc/stabs/Variables.html
new file mode 100644
index 0000000..1771bf1
--- /dev/null
+++ b/share/doc/stabs/Variables.html
@@ -0,0 +1,96 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Variables</title>
+
+<meta name="description" content="STABS: Variables">
+<meta name="keywords" content="STABS: Variables">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Stack-Variables.html#Stack-Variables" rel="next" title="Stack Variables">
+<link href="Constants.html#Constants" rel="previous" title="Constants">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Variables"></a>
+<div class="header">
+<p>
+Next: <a href="Types.html#Types" accesskey="n" rel="next">Types</a>, Previous: <a href="Constants.html#Constants" accesskey="p" rel="previous">Constants</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Variables-1"></a>
+<h2 class="chapter">4 Variables</h2>
+
+<p>Different types of stabs describe the various ways that variables can be
+allocated: on the stack, globally, in registers, in common blocks,
+statically, or as arguments to a function.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="Stack-Variables.html#Stack-Variables" accesskey="1">Stack Variables</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Variables allocated on the stack.
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Global-Variables.html#Global-Variables" accesskey="2">Global Variables</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Variables used by more than one source file.
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Register-Variables.html#Register-Variables" accesskey="3">Register Variables</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Variables in registers.
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Common-Blocks.html#Common-Blocks" accesskey="4">Common Blocks</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Variables statically allocated together.
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Statics.html#Statics" accesskey="5">Statics</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Variables local to one source file.
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Based-Variables.html#Based-Variables" accesskey="6">Based Variables</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Fortran pointer based variables.
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Parameters.html#Parameters" accesskey="7">Parameters</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Variables for arguments to functions.
+</td></tr>
+</table>
+
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Virtual-Base-Classes.html b/share/doc/stabs/Virtual-Base-Classes.html
new file mode 100644
index 0000000..5244ad4
--- /dev/null
+++ b/share/doc/stabs/Virtual-Base-Classes.html
@@ -0,0 +1,125 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Virtual Base Classes</title>
+
+<meta name="description" content="STABS: Virtual Base Classes">
+<meta name="keywords" content="STABS: Virtual Base Classes">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Cplusplus.html#Cplusplus" rel="up" title="Cplusplus">
+<link href="Static-Members.html#Static-Members" rel="next" title="Static Members">
+<link href="Inheritance.html#Inheritance" rel="previous" title="Inheritance">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Virtual-Base-Classes"></a>
+<div class="header">
+<p>
+Next: <a href="Static-Members.html#Static-Members" accesskey="n" rel="next">Static Members</a>, Previous: <a href="Inheritance.html#Inheritance" accesskey="p" rel="previous">Inheritance</a>, Up: <a href="Cplusplus.html#Cplusplus" accesskey="u" rel="up">Cplusplus</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Virtual-Base-Classes-1"></a>
+<h3 class="section">8.13 Virtual Base Classes</h3>
+
+<p>A derived class object consists of a concatenation in memory of the data
+areas defined by each base class, starting with the leftmost and ending
+with the rightmost in the list of base classes. The exception to this
+rule is for virtual inheritance. In the example above, class <code>D</code>
+inherits virtually from base class <code>B</code>. This means that an
+instance of a <code>D</code> object will not contain its own <code>B</code> part but
+merely a pointer to a <code>B</code> part, known as a virtual base pointer.
+</p>
+<p>In a derived class stab, the base offset part of the derivation
+information, described above, shows how the base class parts are
+ordered. The base offset for a virtual base class is always given as 0.
+Notice that the base offset for <code>B</code> is given as 0 even though
+<code>B</code> is not the first base class. The first base class <code>A</code>
+starts at offset 0.
+</p>
+<p>The field information part of the stab for class <code>D</code> describes the field
+which is the pointer to the virtual base class <code>B</code>. The vbase pointer
+name is &lsquo;<samp>$vb</samp>&rsquo; followed by a type reference to the virtual base class.
+Since the type id for <code>B</code> in this example is 25, the vbase pointer name
+is &lsquo;<samp>$vb25</samp>&rsquo;.
+</p>
+<div class="smallexample">
+<pre class="smallexample">.stabs &quot;D:Tt31=s32!3,000,20;100,25;0264,28;$vb25:24,128;Ddat:1,
+ 160,32;A_virt::32=##1;:i;2A*-2147483647;20;;B_virt::32:i;
+ 2A*-2147483647;25;;C_virt::32:i;2A*-2147483647;28;;D_virt:
+ :32:i;2A*-2147483646;31;;;~%20;&quot;,128,0,0,0
+</pre></div>
+
+<p>Following the name and a semicolon is a type reference describing the
+type of the virtual base class pointer, in this case 24. Type 24 was
+defined earlier as the type of the <code>B</code> class <code>this</code> pointer. The
+<code>this</code> pointer for a class is a pointer to the class type.
+</p>
+<div class="example">
+<pre class="example">.stabs &quot;this:P24=*25=xsB:&quot;,64,0,0,8
+</pre></div>
+
+<p>Finally the field offset part of the vbase pointer field description
+shows that the vbase pointer is the first field in the <code>D</code> object,
+before any data fields defined by the class. The layout of a <code>D</code>
+class object is a follows, <code>Adat</code> at 0, the vtable pointer for
+<code>A</code> at 32, <code>Cdat</code> at 64, the vtable pointer for C at 96, the
+virtual base pointer for <code>B</code> at 128, and <code>Ddat</code> at 160.
+</p>
+
+<hr>
+<div class="header">
+<p>
+Next: <a href="Static-Members.html#Static-Members" accesskey="n" rel="next">Static Members</a>, Previous: <a href="Inheritance.html#Inheritance" accesskey="p" rel="previous">Inheritance</a>, Up: <a href="Cplusplus.html#Cplusplus" accesskey="u" rel="up">Cplusplus</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/Virtual-Methods.html b/share/doc/stabs/Virtual-Methods.html
new file mode 100644
index 0000000..ea4b3ea
--- /dev/null
+++ b/share/doc/stabs/Virtual-Methods.html
@@ -0,0 +1,163 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Virtual Methods</title>
+
+<meta name="description" content="STABS: Virtual Methods">
+<meta name="keywords" content="STABS: Virtual Methods">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Cplusplus.html#Cplusplus" rel="up" title="Cplusplus">
+<link href="Inheritance.html#Inheritance" rel="next" title="Inheritance">
+<link href="Method-Modifiers.html#Method-Modifiers" rel="previous" title="Method Modifiers">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Virtual-Methods"></a>
+<div class="header">
+<p>
+Next: <a href="Inheritance.html#Inheritance" accesskey="n" rel="next">Inheritance</a>, Previous: <a href="Method-Modifiers.html#Method-Modifiers" accesskey="p" rel="previous">Method Modifiers</a>, Up: <a href="Cplusplus.html#Cplusplus" accesskey="u" rel="up">Cplusplus</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Virtual-Methods-1"></a>
+<h3 class="section">8.11 Virtual Methods</h3>
+
+<p>&lt;&lt; The following examples are based on a4.C &gt;&gt;
+</p>
+<p>The presence of virtual methods in a class definition adds additional
+data to the class description. The extra data is appended to the
+description of the virtual method and to the end of the class
+description. Consider the class definition below:
+</p>
+<div class="example">
+<pre class="example">class A {
+public:
+ int Adat;
+ virtual int A_virt (int arg) { return arg; };
+};
+</pre></div>
+
+<p>This results in the stab below describing class A. It defines a new
+type (20) which is an 8 byte structure. The first field of the class
+struct is &lsquo;<samp>Adat</samp>&rsquo;, an integer, starting at structure offset 0 and
+occupying 32 bits.
+</p>
+<p>The second field in the class struct is not explicitly defined by the
+C<tt>++</tt> class definition but is implied by the fact that the class
+contains a virtual method. This field is the vtable pointer. The
+name of the vtable pointer field starts with &lsquo;<samp>$vf</samp>&rsquo; and continues with a
+type reference to the class it is part of. In this example the type
+reference for class A is 20 so the name of its vtable pointer field is
+&lsquo;<samp>$vf20</samp>&rsquo;, followed by the usual colon.
+</p>
+<p>Next there is a type definition for the vtable pointer type (21).
+This is in turn defined as a pointer to another new type (22).
+</p>
+<p>Type 22 is the vtable itself, which is defined as an array, indexed by
+a range of integers between 0 and 1, and whose elements are of type
+17. Type 17 was the vtable record type defined by the boilerplate C<tt>++</tt>
+type definitions, as shown earlier.
+</p>
+<p>The bit offset of the vtable pointer field is 32. The number of bits
+in the field are not specified when the field is a vtable pointer.
+</p>
+<p>Next is the method definition for the virtual member function <code>A_virt</code>.
+Its description starts out using the same format as the non-virtual
+member functions described above, except instead of a dot after the
+&lsquo;<samp>A</samp>&rsquo; there is an asterisk, indicating that the function is virtual.
+Since is is virtual some addition information is appended to the end
+of the method description.
+</p>
+<p>The first number represents the vtable index of the method. This is a
+32 bit unsigned number with the high bit set, followed by a
+semi-colon.
+</p>
+<p>The second number is a type reference to the first base class in the
+inheritance hierarchy defining the virtual member function. In this
+case the class stab describes a base class so the virtual function is
+not overriding any other definition of the method. Therefore the
+reference is to the type number of the class that the stab is
+describing (20).
+</p>
+<p>This is followed by three semi-colons. One marks the end of the
+current sub-section, one marks the end of the method field, and the
+third marks the end of the struct definition.
+</p>
+<p>For classes containing virtual functions the very last section of the
+string part of the stab holds a type reference to the first base
+class. This is preceded by &lsquo;<samp>~%</samp>&rsquo; and followed by a final semi-colon.
+</p>
+<div class="display">
+<pre class="display">.stabs &quot;class_name(A):type_def(20)=sym_desc(struct)struct_bytes(8)
+ field_name(Adat):type_ref(int),bit_offset(0),field_bits(32);
+ field_name(A virt func ptr):type_def(21)=type_desc(ptr to)type_def(22)=
+ sym_desc(array)index_type_ref(range of int from 0 to 1);
+ elem_type_ref(vtbl elem type),
+ bit_offset(32);
+ meth_name(A_virt)::typedef(23)=sym_desc(method)returning(int);
+ :arg_type(int),protection(public)normal(yes)virtual(yes)
+ vtable_index(1);class_first_defining(A);;;~%first_base(A);&quot;,
+ N_LSYM,NIL,NIL,NIL
+</pre></div>
+
+<div class="example">
+<pre class="example">.stabs &quot;A:t20=s8Adat:1,0,32;$vf20:21=*22=ar1;0;1;17,32;
+ A_virt::23=##1;:i;2A*-2147483647;20;;;~%20;&quot;,128,0,0,0
+</pre></div>
+
+<hr>
+<div class="header">
+<p>
+Next: <a href="Inheritance.html#Inheritance" accesskey="n" rel="next">Inheritance</a>, Previous: <a href="Method-Modifiers.html#Method-Modifiers" accesskey="p" rel="previous">Method Modifiers</a>, Up: <a href="Cplusplus.html#Cplusplus" accesskey="u" rel="up">Cplusplus</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+
+
+
+</body>
+</html>
diff --git a/share/doc/stabs/index.html b/share/doc/stabs/index.html
new file mode 100644
index 0000000..083df09
--- /dev/null
+++ b/share/doc/stabs/index.html
@@ -0,0 +1,266 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1992-2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License". -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>STABS: Top</title>
+
+<meta name="description" content="STABS: Top">
+<meta name="keywords" content="STABS: Top">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="#Top" rel="start" title="Top">
+<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
+<link href="#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="../dir/index.html" rel="up" title="(dir)">
+<link href="Overview.html#Overview" rel="next" title="Overview">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<h1 class="settitle" align="center">STABS</h1>
+
+
+
+
+
+<p>This document describes the stabs debugging symbol tables.
+</p>
+<p>Copyright &copy; 1992&ndash;2023 Free Software Foundation, Inc.
+Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
+and David MacKenzie.
+</p>
+<p>Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled &ldquo;GNU
+Free Documentation License&rdquo;.
+</p>
+
+
+<a name="Top"></a>
+<div class="header">
+<p>
+Next: <a href="Overview.html#Overview" accesskey="n" rel="next">Overview</a>, Up: <a href="../dir/index.html" accesskey="u" rel="up">(dir)</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="The-_0022stabs_0022-representation-of-debugging-information"></a>
+<h1 class="top">The &quot;stabs&quot; representation of debugging information</h1>
+
+<p>This document describes the stabs debugging format.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="Overview.html#Overview" accesskey="1">Overview</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Overview of stabs
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Program-Structure.html#Program-Structure" accesskey="2">Program Structure</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Encoding of the structure of the program
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Constants.html#Constants" accesskey="3">Constants</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Constants
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Variables.html#Variables" accesskey="4">Variables</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Types.html#Types" accesskey="5">Types</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Type definitions
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Macro-define-and-undefine.html#Macro-define-and-undefine" accesskey="6">Macro define and undefine</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Representation of #define and #undef
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Symbol-Tables.html#Symbol-Tables" accesskey="7">Symbol Tables</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Symbol information in symbol tables
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Cplusplus.html#Cplusplus" accesskey="8">Cplusplus</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Stabs specific to C++
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Stab-Types.html#Stab-Types" accesskey="9">Stab Types</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Symbol types in a.out files
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Symbol-Descriptors.html#Symbol-Descriptors">Symbol Descriptors</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Table of symbol descriptors
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Type-Descriptors.html#Type-Descriptors">Type Descriptors</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Table of type descriptors
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Expanded-Reference.html#Expanded-Reference">Expanded Reference</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Reference information by stab type
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Questions.html#Questions">Questions</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Questions and anomalies
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Stab-Sections.html#Stab-Sections">Stab Sections</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">In some object file formats, stabs are
+ in sections.
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License">GNU Free Documentation License</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">The license for this documentation
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Symbol-Types-Index.html#Symbol-Types-Index">Symbol Types Index</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Index of symbolic stab symbol type names.
+</td></tr>
+</table>
+
+<a name="SEC_Contents"></a>
+<h2 class="contents-heading">Table of Contents</h2>
+
+<div class="contents">
+
+<ul class="no-bullet">
+ <li><a name="toc-Overview-of-Stabs" href="Overview.html#Overview">1 Overview of Stabs</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Overview-of-Debugging-Information-Flow" href="Flow.html#Flow">1.1 Overview of Debugging Information Flow</a></li>
+ <li><a name="toc-Overview-of-Stab-Format" href="Stabs-Format.html#Stabs-Format">1.2 Overview of Stab Format</a></li>
+ <li><a name="toc-The-String-Field" href="String-Field.html#String-Field">1.3 The String Field</a></li>
+ <li><a name="toc-A-Simple-Example-in-C-Source" href="C-Example.html#C-Example">1.4 A Simple Example in C Source</a></li>
+ <li><a name="toc-The-Simple-Example-at-the-Assembly-Level" href="Assembly-Code.html#Assembly-Code">1.5 The Simple Example at the Assembly Level</a></li>
+ </ul></li>
+ <li><a name="toc-Encoding-the-Structure-of-the-Program" href="Program-Structure.html#Program-Structure">2 Encoding the Structure of the Program</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Main-Program-1" href="Main-Program.html#Main-Program">2.1 Main Program</a></li>
+ <li><a name="toc-Paths-and-Names-of-the-Source-Files" href="Source-Files.html#Source-Files">2.2 Paths and Names of the Source Files</a></li>
+ <li><a name="toc-Names-of-Include-Files" href="Include-Files.html#Include-Files">2.3 Names of Include Files</a></li>
+ <li><a name="toc-Line-Numbers-1" href="Line-Numbers.html#Line-Numbers">2.4 Line Numbers</a></li>
+ <li><a name="toc-Procedures-1" href="Procedures.html#Procedures">2.5 Procedures</a></li>
+ <li><a name="toc-Nested-Procedures-1" href="Nested-Procedures.html#Nested-Procedures">2.6 Nested Procedures</a></li>
+ <li><a name="toc-Block-Structure-1" href="Block-Structure.html#Block-Structure">2.7 Block Structure</a></li>
+ <li><a name="toc-Alternate-Entry-Points-1" href="Alternate-Entry-Points.html#Alternate-Entry-Points">2.8 Alternate Entry Points</a></li>
+ </ul></li>
+ <li><a name="toc-Constants-1" href="Constants.html#Constants">3 Constants</a></li>
+ <li><a name="toc-Variables-1" href="Variables.html#Variables">4 Variables</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Automatic-Variables-Allocated-on-the-Stack" href="Stack-Variables.html#Stack-Variables">4.1 Automatic Variables Allocated on the Stack</a></li>
+ <li><a name="toc-Global-Variables-1" href="Global-Variables.html#Global-Variables">4.2 Global Variables</a></li>
+ <li><a name="toc-Register-Variables-1" href="Register-Variables.html#Register-Variables">4.3 Register Variables</a></li>
+ <li><a name="toc-Common-Blocks-1" href="Common-Blocks.html#Common-Blocks">4.4 Common Blocks</a></li>
+ <li><a name="toc-Static-Variables" href="Statics.html#Statics">4.5 Static Variables</a></li>
+ <li><a name="toc-Fortran-Based-Variables" href="Based-Variables.html#Based-Variables">4.6 Fortran Based Variables</a></li>
+ <li><a name="toc-Parameters-1" href="Parameters.html#Parameters">4.7 Parameters</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Passing-Parameters-in-Registers" href="Register-Parameters.html#Register-Parameters">4.7.1 Passing Parameters in Registers</a></li>
+ <li><a name="toc-Storing-Parameters-as-Local-Variables" href="Local-Variable-Parameters.html#Local-Variable-Parameters">4.7.2 Storing Parameters as Local Variables</a></li>
+ <li><a name="toc-Passing-Parameters-by-Reference" href="Reference-Parameters.html#Reference-Parameters">4.7.3 Passing Parameters by Reference</a></li>
+ <li><a name="toc-Passing-Conformant-Array-Parameters" href="Conformant-Arrays.html#Conformant-Arrays">4.7.4 Passing Conformant Array Parameters</a></li>
+ </ul></li>
+ </ul></li>
+ <li><a name="toc-Defining-Types" href="Types.html#Types">5 Defining Types</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Builtin-Types-1" href="Builtin-Types.html#Builtin-Types">5.1 Builtin Types</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Traditional-Builtin-Types-1" href="Traditional-Builtin-Types.html#Traditional-Builtin-Types">5.1.1 Traditional Builtin Types</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Traditional-Integer-Types-1" href="Traditional-Integer-Types.html#Traditional-Integer-Types">5.1.1.1 Traditional Integer Types</a></li>
+ <li><a name="toc-Traditional-Other-Types-1" href="Traditional-Other-Types.html#Traditional-Other-Types">5.1.1.2 Traditional Other Types</a></li>
+ </ul></li>
+ <li><a name="toc-Defining-Builtin-Types-Using-Builtin-Type-Descriptors" href="Builtin-Type-Descriptors.html#Builtin-Type-Descriptors">5.1.2 Defining Builtin Types Using Builtin Type Descriptors</a></li>
+ <li><a name="toc-Negative-Type-Numbers-1" href="Negative-Type-Numbers.html#Negative-Type-Numbers">5.1.3 Negative Type Numbers</a></li>
+ </ul></li>
+ <li><a name="toc-Miscellaneous-Types-1" href="Miscellaneous-Types.html#Miscellaneous-Types">5.2 Miscellaneous Types</a></li>
+ <li><a name="toc-Cross_002dReferences-to-Other-Types" href="Cross_002dReferences.html#Cross_002dReferences">5.3 Cross-References to Other Types</a></li>
+ <li><a name="toc-Subrange-Types" href="Subranges.html#Subranges">5.4 Subrange Types</a></li>
+ <li><a name="toc-Array-Types" href="Arrays.html#Arrays">5.5 Array Types</a></li>
+ <li><a name="toc-Strings-1" href="Strings.html#Strings">5.6 Strings</a></li>
+ <li><a name="toc-Enumerations-1" href="Enumerations.html#Enumerations">5.7 Enumerations</a></li>
+ <li><a name="toc-Structures-1" href="Structures.html#Structures">5.8 Structures</a></li>
+ <li><a name="toc-Giving-a-Type-a-Name" href="Typedefs.html#Typedefs">5.9 Giving a Type a Name</a></li>
+ <li><a name="toc-Unions-1" href="Unions.html#Unions">5.10 Unions</a></li>
+ <li><a name="toc-Function-Types-1" href="Function-Types.html#Function-Types">5.11 Function Types</a></li>
+ </ul></li>
+ <li><a name="toc-Representation-of-_0023define-and-_0023undef" href="Macro-define-and-undefine.html#Macro-define-and-undefine">6 Representation of #define and #undef</a></li>
+ <li><a name="toc-Symbol-Information-in-Symbol-Tables" href="Symbol-Tables.html#Symbol-Tables">7 Symbol Information in Symbol Tables</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Symbol-Table-Format-1" href="Symbol-Table-Format.html#Symbol-Table-Format">7.1 Symbol Table Format</a></li>
+ <li><a name="toc-Transformations-on-Symbol-Tables" href="Transformations-On-Symbol-Tables.html#Transformations-On-Symbol-Tables">7.2 Transformations on Symbol Tables</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Transformations-on-Static-Variables" href="Transformations-On-Static-Variables.html#Transformations-On-Static-Variables">7.2.1 Transformations on Static Variables</a></li>
+ <li><a name="toc-Transformations-on-Global-Variables" href="Transformations-On-Global-Variables.html#Transformations-On-Global-Variables">7.2.2 Transformations on Global Variables</a></li>
+ <li><a name="toc-Transformations-of-Stabs-in-separate-sections" href="Stab-Section-Transformations.html#Stab-Section-Transformations">7.2.3 Transformations of Stabs in separate sections</a></li>
+ </ul></li>
+ </ul></li>
+ <li><a name="toc-GNU-C_002b_002b-Stabs" href="Cplusplus.html#Cplusplus">8 GNU C<tt>++</tt> Stabs</a>
+ <ul class="no-bullet">
+ <li><a name="toc-C_002b_002b-Class-Names" href="Class-Names.html#Class-Names">8.1 C<tt>++</tt> Class Names</a></li>
+ <li><a name="toc-Defining-a-Symbol-Within-Another-Type" href="Nested-Symbols.html#Nested-Symbols">8.2 Defining a Symbol Within Another Type</a></li>
+ <li><a name="toc-Basic-Types-For-C_002b_002b" href="Basic-Cplusplus-Types.html#Basic-Cplusplus-Types">8.3 Basic Types For C<tt>++</tt></a></li>
+ <li><a name="toc-Simple-Class-Definition" href="Simple-Classes.html#Simple-Classes">8.4 Simple Class Definition</a></li>
+ <li><a name="toc-Class-Instance-1" href="Class-Instance.html#Class-Instance">8.5 Class Instance</a></li>
+ <li><a name="toc-Method-Definition" href="Methods.html#Methods">8.6 Method Definition</a></li>
+ <li><a name="toc-The-_0023-Type-Descriptor" href="Method-Type-Descriptor.html#Method-Type-Descriptor">8.7 The &lsquo;<samp>#</samp>&rsquo; Type Descriptor</a></li>
+ <li><a name="toc-The-_0040-Type-Descriptor" href="Member-Type-Descriptor.html#Member-Type-Descriptor">8.8 The &lsquo;<samp>@</samp>&rsquo; Type Descriptor</a></li>
+ <li><a name="toc-Protections-1" href="Protections.html#Protections">8.9 Protections</a></li>
+ <li><a name="toc-Method-Modifiers-_0028const_002c-volatile_002c-const-volatile_0029" href="Method-Modifiers.html#Method-Modifiers">8.10 Method Modifiers (<code>const</code>, <code>volatile</code>, <code>const volatile</code>)</a></li>
+ <li><a name="toc-Virtual-Methods-1" href="Virtual-Methods.html#Virtual-Methods">8.11 Virtual Methods</a></li>
+ <li><a name="toc-Inheritance-1" href="Inheritance.html#Inheritance">8.12 Inheritance</a></li>
+ <li><a name="toc-Virtual-Base-Classes-1" href="Virtual-Base-Classes.html#Virtual-Base-Classes">8.13 Virtual Base Classes</a></li>
+ <li><a name="toc-Static-Members-1" href="Static-Members.html#Static-Members">8.14 Static Members</a></li>
+ </ul></li>
+ <li><a name="toc-Table-of-Stab-Types" href="Stab-Types.html#Stab-Types">Appendix A Table of Stab Types</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Non_002dStab-Symbol-Types-1" href="Non_002dStab-Symbol-Types.html#Non_002dStab-Symbol-Types">A.1 Non-Stab Symbol Types</a></li>
+ <li><a name="toc-Stab-Symbol-Types-1" href="Stab-Symbol-Types.html#Stab-Symbol-Types">A.2 Stab Symbol Types</a></li>
+ </ul></li>
+ <li><a name="toc-Table-of-Symbol-Descriptors" href="Symbol-Descriptors.html#Symbol-Descriptors">Appendix B Table of Symbol Descriptors</a></li>
+ <li><a name="toc-Table-of-Type-Descriptors" href="Type-Descriptors.html#Type-Descriptors">Appendix C Table of Type Descriptors</a></li>
+ <li><a name="toc-Expanded-Reference-by-Stab-Type" href="Expanded-Reference.html#Expanded-Reference">Appendix D Expanded Reference by Stab Type</a>
+ <ul class="no-bullet">
+ <li><a name="toc-N_005fPC-1" href="N_005fPC.html#N_005fPC">D.1 N_PC</a></li>
+ <li><a name="toc-N_005fNSYMS-1" href="N_005fNSYMS.html#N_005fNSYMS">D.2 N_NSYMS</a></li>
+ <li><a name="toc-N_005fNOMAP-1" href="N_005fNOMAP.html#N_005fNOMAP">D.3 N_NOMAP</a></li>
+ <li><a name="toc-N_005fM2C-1" href="N_005fM2C.html#N_005fM2C">D.4 N_M2C</a></li>
+ <li><a name="toc-N_005fBROWS-1" href="N_005fBROWS.html#N_005fBROWS">D.5 N_BROWS</a></li>
+ <li><a name="toc-N_005fDEFD-1" href="N_005fDEFD.html#N_005fDEFD">D.6 N_DEFD</a></li>
+ <li><a name="toc-N_005fEHDECL-1" href="N_005fEHDECL.html#N_005fEHDECL">D.7 N_EHDECL</a></li>
+ <li><a name="toc-N_005fMOD2-1" href="N_005fMOD2.html#N_005fMOD2">D.8 N_MOD2</a></li>
+ <li><a name="toc-N_005fCATCH-1" href="N_005fCATCH.html#N_005fCATCH">D.9 N_CATCH</a></li>
+ <li><a name="toc-N_005fSSYM-1" href="N_005fSSYM.html#N_005fSSYM">D.10 N_SSYM</a></li>
+ <li><a name="toc-N_005fSCOPE-1" href="N_005fSCOPE.html#N_005fSCOPE">D.11 N_SCOPE</a></li>
+ <li><a name="toc-Non_002dbase-registers-on-Gould-systems" href="Gould.html#Gould">D.12 Non-base registers on Gould systems</a></li>
+ <li><a name="toc-N_005fLENG-1" href="N_005fLENG.html#N_005fLENG">D.13 N_LENG</a></li>
+ </ul></li>
+ <li><a name="toc-Questions-and-Anomalies" href="Questions.html#Questions">Appendix E Questions and Anomalies</a></li>
+ <li><a name="toc-Using-Stabs-in-Their-Own-Sections" href="Stab-Sections.html#Stab-Sections">Appendix F Using Stabs in Their Own Sections</a>
+ <ul class="no-bullet">
+ <li><a name="toc-How-to-Embed-Stabs-in-Sections" href="Stab-Section-Basics.html#Stab-Section-Basics">F.1 How to Embed Stabs in Sections</a></li>
+ <li><a name="toc-Having-the-Linker-Relocate-Stabs-in-ELF" href="ELF-Linker-Relocation.html#ELF-Linker-Relocation">F.2 Having the Linker Relocate Stabs in ELF</a></li>
+ </ul></li>
+ <li><a name="toc-GNU-Free-Documentation-License-1" href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License">Appendix G GNU Free Documentation License</a></li>
+ <li><a name="toc-Symbol-Types-Index-1" href="Symbol-Types-Index.html#Symbol-Types-Index">Symbol Types Index</a></li>
+</ul>
+</div>
+
+
+<hr>
+<div class="header">
+<p>
+Next: <a href="Overview.html#Overview" accesskey="n" rel="next">Overview</a>, Up: <a href="../dir/index.html" accesskey="u" rel="up">(dir)</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+
+
+
+</body>
+</html>