You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

102 line
4.7KB

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <!-- Copyright (C) 1992-2020 Free Software Foundation, Inc.
  4. Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
  5. and David MacKenzie.
  6. Permission is granted to copy, distribute and/or modify this document
  7. under the terms of the GNU Free Documentation License, Version 1.3 or
  8. any later version published by the Free Software Foundation; with no
  9. Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
  10. Texts. A copy of the license is included in the section entitled "GNU
  11. Free Documentation License". -->
  12. <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
  13. <head>
  14. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  15. <title>Questions (STABS)</title>
  16. <meta name="description" content="Questions (STABS)">
  17. <meta name="keywords" content="Questions (STABS)">
  18. <meta name="resource-type" content="document">
  19. <meta name="distribution" content="global">
  20. <meta name="Generator" content="makeinfo">
  21. <link href="index.html#Top" rel="start" title="Top">
  22. <link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
  23. <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
  24. <link href="index.html#Top" rel="up" title="Top">
  25. <link href="Stab-Sections.html#Stab-Sections" rel="next" title="Stab Sections">
  26. <link href="N_005fLENG.html#N_005fLENG" rel="prev" title="N_LENG">
  27. <style type="text/css">
  28. <!--
  29. a.summary-letter {text-decoration: none}
  30. blockquote.indentedblock {margin-right: 0em}
  31. blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
  32. blockquote.smallquotation {font-size: smaller}
  33. div.display {margin-left: 3.2em}
  34. div.example {margin-left: 3.2em}
  35. div.lisp {margin-left: 3.2em}
  36. div.smalldisplay {margin-left: 3.2em}
  37. div.smallexample {margin-left: 3.2em}
  38. div.smalllisp {margin-left: 3.2em}
  39. kbd {font-style: oblique}
  40. pre.display {font-family: inherit}
  41. pre.format {font-family: inherit}
  42. pre.menu-comment {font-family: serif}
  43. pre.menu-preformatted {font-family: serif}
  44. pre.smalldisplay {font-family: inherit; font-size: smaller}
  45. pre.smallexample {font-size: smaller}
  46. pre.smallformat {font-family: inherit; font-size: smaller}
  47. pre.smalllisp {font-size: smaller}
  48. span.nolinebreak {white-space: nowrap}
  49. span.roman {font-family: initial; font-weight: normal}
  50. span.sansserif {font-family: sans-serif; font-weight: normal}
  51. ul.no-bullet {list-style: none}
  52. -->
  53. </style>
  54. </head>
  55. <body lang="en">
  56. <a name="Questions"></a>
  57. <div class="header">
  58. <p>
  59. 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="prev">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>
  60. </div>
  61. <hr>
  62. <a name="Questions-and-Anomalies"></a>
  63. <h2 class="appendix">Appendix E Questions and Anomalies</h2>
  64. <ul>
  65. <li> For GNU C stabs defining local and global variables (<code>N_LSYM</code> and
  66. <code>N_GSYM</code>), the desc field is supposed to contain the source
  67. line number on which the variable is defined. In reality the desc
  68. field is always 0. (This behavior is defined in <samp>dbxout.c</samp> and
  69. putting a line number in desc is controlled by &lsquo;<samp>#ifdef
  70. WINNING_GDB</samp>&rsquo;, which defaults to false). GDB supposedly uses this
  71. information if you say &lsquo;<samp>list <var>var</var></samp>&rsquo;. In reality, <var>var</var> can
  72. be a variable defined in the program and GDB says &lsquo;<samp>function
  73. <var>var</var> not defined</samp>&rsquo;.
  74. </li><li> In GNU C stabs, there seems to be no way to differentiate tag types:
  75. structures, unions, and enums (symbol descriptor &lsquo;<samp>T</samp>&rsquo;) and typedefs
  76. (symbol descriptor &lsquo;<samp>t</samp>&rsquo;) defined at file scope from types defined locally
  77. to a procedure or other more local scope. They all use the <code>N_LSYM</code>
  78. stab type. Types defined at procedure scope are emitted after the
  79. <code>N_RBRAC</code> of the preceding function and before the code of the
  80. procedure in which they are defined. This is exactly the same as
  81. types defined in the source file between the two procedure bodies.
  82. GDB over-compensates by placing all types in block #1, the block for
  83. symbols of file scope. This is true for default, &lsquo;<samp>-ansi</samp>&rsquo; and
  84. &lsquo;<samp>-traditional</samp>&rsquo; compiler options. (Bugs gcc/1063, gdb/1066.)
  85. </li><li> What ends the procedure scope? Is it the proc block&rsquo;s <code>N_RBRAC</code> or the
  86. next <code>N_FUN</code>? (I believe its the first.)
  87. </li></ul>
  88. </body>
  89. </html>