* symfile.c (INLINE_ADD_PSYMBOL): Remove ifdef.

(add_psymbol_to_list): Add an arg for passing CORE_ADDR values and
	use it, rather than calling add_psymbol_addr_to_list.
	(add_psymbol_addr_to_list): Delete.
	(add_psymbol_to_list): Make psymbol static to avoid random data in
	gaps due to alignment of structure members.
	* symfile.h (INLINE_ADD_PSYMBOL, ADD_PSYMBOL_TO_LIST,
 	ADD_PSYMBOL_ADDR_TO_LIST): Remove.  Real world tests show no
	performance improvements by inlining via complicated macros and
	they just make gdb larger and harder to maintain.
	* dwarfread.c (add_enum_psymbol): Replace ADD_PSYMBOL_TO_LIST
	and/or ADD_PSYMBOL_ADDR_TO_LIST macro(s) with call to
	add_psymbol_to_list with appropriate long or CORE_ADDR args.
	(add_partial_symbol): Ditto.
	* partial-stab.h: Ditto.
	* os9kread.c (read_os9k_psymtab): Ditto
	* mdebugread.c (parse_partial_symbols): Ditto.
	(handle_psymbol_enumerators): Ditto.
	(demangle.h): Include.
	* hpread.c (hpread_build_psymtabs): Ditto.
	(hpread_build_psymtabs): Ditto.
	(demangle.h): Include
This commit is contained in:
Fred Fish
1996-04-06 10:19:19 +00:00
parent e24146ec95
commit eae8aa302e
6 changed files with 152 additions and 125 deletions

View File

@@ -1,3 +1,28 @@
Sat Apr 6 00:46:26 1996 Fred Fish <fnf@cygnus.com>
* symfile.c (INLINE_ADD_PSYMBOL): Remove ifdef.
(add_psymbol_to_list): Add an arg for passing CORE_ADDR values and
use it, rather than calling add_psymbol_addr_to_list.
(add_psymbol_addr_to_list): Delete.
(add_psymbol_to_list): Make psymbol static to avoid random data in
gaps due to alignment of structure members.
* symfile.h (INLINE_ADD_PSYMBOL, ADD_PSYMBOL_TO_LIST,
ADD_PSYMBOL_ADDR_TO_LIST): Remove. Real world tests show no
performance improvements by inlining via complicated macros and
they just make gdb larger and harder to maintain.
* dwarfread.c (add_enum_psymbol): Replace ADD_PSYMBOL_TO_LIST
and/or ADD_PSYMBOL_ADDR_TO_LIST macro(s) with call to
add_psymbol_to_list with appropriate long or CORE_ADDR args.
(add_partial_symbol): Ditto.
* partial-stab.h: Ditto.
* os9kread.c (read_os9k_psymtab): Ditto
* mdebugread.c (parse_partial_symbols): Ditto.
(handle_psymbol_enumerators): Ditto.
(demangle.h): Include.
* hpread.c (hpread_build_psymtabs): Ditto.
(hpread_build_psymtabs): Ditto.
(demangle.h): Include
start-sanitize-gdbtk start-sanitize-gdbtk
Fri Apr 5 13:44:40 1996 Stan Shebs <shebs@andros.cygnus.com> Fri Apr 5 13:44:40 1996 Stan Shebs <shebs@andros.cygnus.com>

View File

@@ -2553,8 +2553,8 @@ add_enum_psymbol (dip, objfile)
while (scan < listend) while (scan < listend)
{ {
scan += TARGET_FT_LONG_SIZE (objfile); scan += TARGET_FT_LONG_SIZE (objfile);
ADD_PSYMBOL_TO_LIST (scan, strlen (scan), VAR_NAMESPACE, LOC_CONST, add_psymbol_to_list (scan, strlen (scan), VAR_NAMESPACE, LOC_CONST,
objfile -> static_psymbols, 0, cu_language, &objfile -> static_psymbols, 0, 0, cu_language,
objfile); objfile);
scan += strlen (scan) + 1; scan += strlen (scan) + 1;
} }
@@ -2586,34 +2586,34 @@ add_partial_symbol (dip, objfile)
switch (dip -> die_tag) switch (dip -> die_tag)
{ {
case TAG_global_subroutine: case TAG_global_subroutine:
ADD_PSYMBOL_ADDR_TO_LIST (dip -> at_name, strlen (dip -> at_name), add_psymbol_to_list (dip -> at_name, strlen (dip -> at_name),
VAR_NAMESPACE, LOC_BLOCK, VAR_NAMESPACE, LOC_BLOCK,
objfile -> global_psymbols, &objfile -> global_psymbols,
dip -> at_low_pc, cu_language, objfile); 0, dip -> at_low_pc, cu_language, objfile);
break; break;
case TAG_global_variable: case TAG_global_variable:
ADD_PSYMBOL_TO_LIST (dip -> at_name, strlen (dip -> at_name), add_psymbol_to_list (dip -> at_name, strlen (dip -> at_name),
VAR_NAMESPACE, LOC_STATIC, VAR_NAMESPACE, LOC_STATIC,
objfile -> global_psymbols, &objfile -> global_psymbols,
0, cu_language, objfile); 0, 0, cu_language, objfile);
break; break;
case TAG_subroutine: case TAG_subroutine:
ADD_PSYMBOL_ADDR_TO_LIST (dip -> at_name, strlen (dip -> at_name), add_psymbol_to_list (dip -> at_name, strlen (dip -> at_name),
VAR_NAMESPACE, LOC_BLOCK, VAR_NAMESPACE, LOC_BLOCK,
objfile -> static_psymbols, &objfile -> static_psymbols,
dip -> at_low_pc, cu_language, objfile); 0, dip -> at_low_pc, cu_language, objfile);
break; break;
case TAG_local_variable: case TAG_local_variable:
ADD_PSYMBOL_TO_LIST (dip -> at_name, strlen (dip -> at_name), add_psymbol_to_list (dip -> at_name, strlen (dip -> at_name),
VAR_NAMESPACE, LOC_STATIC, VAR_NAMESPACE, LOC_STATIC,
objfile -> static_psymbols, &objfile -> static_psymbols,
0, cu_language, objfile); 0, 0, cu_language, objfile);
break; break;
case TAG_typedef: case TAG_typedef:
ADD_PSYMBOL_TO_LIST (dip -> at_name, strlen (dip -> at_name), add_psymbol_to_list (dip -> at_name, strlen (dip -> at_name),
VAR_NAMESPACE, LOC_TYPEDEF, VAR_NAMESPACE, LOC_TYPEDEF,
objfile -> static_psymbols, &objfile -> static_psymbols,
0, cu_language, objfile); 0, 0, cu_language, objfile);
break; break;
case TAG_class_type: case TAG_class_type:
case TAG_structure_type: case TAG_structure_type:
@@ -2622,17 +2622,17 @@ add_partial_symbol (dip, objfile)
/* Do not add opaque aggregate definitions to the psymtab. */ /* Do not add opaque aggregate definitions to the psymtab. */
if (!dip -> has_at_byte_size) if (!dip -> has_at_byte_size)
break; break;
ADD_PSYMBOL_TO_LIST (dip -> at_name, strlen (dip -> at_name), add_psymbol_to_list (dip -> at_name, strlen (dip -> at_name),
STRUCT_NAMESPACE, LOC_TYPEDEF, STRUCT_NAMESPACE, LOC_TYPEDEF,
objfile -> static_psymbols, &objfile -> static_psymbols,
0, cu_language, objfile); 0, 0, cu_language, objfile);
if (cu_language == language_cplus) if (cu_language == language_cplus)
{ {
/* For C++, these implicitly act as typedefs as well. */ /* For C++, these implicitly act as typedefs as well. */
ADD_PSYMBOL_TO_LIST (dip -> at_name, strlen (dip -> at_name), add_psymbol_to_list (dip -> at_name, strlen (dip -> at_name),
VAR_NAMESPACE, LOC_TYPEDEF, VAR_NAMESPACE, LOC_TYPEDEF,
objfile -> static_psymbols, &objfile -> static_psymbols,
0, cu_language, objfile); 0, 0, cu_language, objfile);
} }
break; break;
} }

View File

@@ -32,6 +32,7 @@
#include "complaints.h" #include "complaints.h"
#include "gdb-stabs.h" #include "gdb-stabs.h"
#include "gdbtypes.h" #include "gdbtypes.h"
#include "demangle.h"
/* Private information attached to an objfile which we use to find /* Private information attached to an objfile which we use to find
and internalize the HP C debug symbols within that objfile. */ and internalize the HP C debug symbols within that objfile. */
@@ -506,10 +507,10 @@ hpread_build_psymtabs (objfile, section_offsets, mainline)
valu = dn_bufp->dfunc.lowaddr + valu = dn_bufp->dfunc.lowaddr +
ANOFFSET (section_offsets, SECT_OFF_TEXT); ANOFFSET (section_offsets, SECT_OFF_TEXT);
SET_NAMESTRING (dn_bufp, &namestring, objfile); SET_NAMESTRING (dn_bufp, &namestring, objfile);
ADD_PSYMBOL_TO_LIST (namestring, strlen (namestring), add_psymbol_to_list (namestring, strlen (namestring),
VAR_NAMESPACE, LOC_BLOCK, VAR_NAMESPACE, LOC_BLOCK,
objfile->static_psymbols, valu, &objfile->static_psymbols, valu,
language_unknown, objfile); 0, language_unknown, objfile);
within_function = 1; within_function = 1;
continue; continue;
case DNTT_TYPE_BEGIN: case DNTT_TYPE_BEGIN:
@@ -575,19 +576,19 @@ hpread_build_psymtabs (objfile, section_offsets, mainline)
} }
if (dn_bufp->dsvar.global) if (dn_bufp->dsvar.global)
{ {
ADD_PSYMBOL_TO_LIST (namestring, strlen (namestring), add_psymbol_to_list (namestring, strlen (namestring),
namespace, storage, namespace, storage,
objfile->global_psymbols, &objfile->global_psymbols,
dn_bufp->dsvar.location, dn_bufp->dsvar.location,
language_unknown, objfile); 0, language_unknown, objfile);
} }
else else
{ {
ADD_PSYMBOL_TO_LIST (namestring, strlen (namestring), add_psymbol_to_list (namestring, strlen (namestring),
namespace, storage, namespace, storage,
objfile->static_psymbols, &objfile->static_psymbols,
dn_bufp->dsvar.location, dn_bufp->dsvar.location,
language_unknown, objfile); 0, language_unknown, objfile);
} }
continue; continue;
} }
@@ -604,10 +605,10 @@ hpread_build_psymtabs (objfile, section_offsets, mainline)
objfile->global_psymbols.next, objfile->global_psymbols.next,
objfile->static_psymbols.next); objfile->static_psymbols.next);
} }
ADD_PSYMBOL_TO_LIST (namestring, strlen (namestring), add_psymbol_to_list (namestring, strlen (namestring),
VAR_NAMESPACE, LOC_CONST, VAR_NAMESPACE, LOC_CONST,
objfile->static_psymbols, 0, &objfile->static_psymbols, 0,
language_unknown, objfile); 0, language_unknown, objfile);
continue; continue;
default: default:
continue; continue;

View File

@@ -49,6 +49,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "buildsym.h" #include "buildsym.h"
#include "stabsread.h" #include "stabsread.h"
#include "complaints.h" #include "complaints.h"
#include "demangle.h"
/* These are needed if the tm.h file does not contain the necessary /* These are needed if the tm.h file does not contain the necessary
mips specific definitions. */ mips specific definitions. */
@@ -2696,15 +2697,15 @@ parse_partial_symbols (objfile, section_offsets)
symbol table, and the MAIN__ symbol via the minimal symbol table, and the MAIN__ symbol via the minimal
symbol table. */ symbol table. */
if (sh.st == stProc) if (sh.st == stProc)
ADD_PSYMBOL_TO_LIST (name, strlen (name), add_psymbol_to_list (name, strlen (name),
VAR_NAMESPACE, LOC_BLOCK, VAR_NAMESPACE, LOC_BLOCK,
objfile->global_psymbols, &objfile->global_psymbols,
sh.value, psymtab_language, objfile); sh.value, 0, psymtab_language, objfile);
else else
ADD_PSYMBOL_TO_LIST (name, strlen (name), add_psymbol_to_list (name, strlen (name),
VAR_NAMESPACE, LOC_BLOCK, VAR_NAMESPACE, LOC_BLOCK,
objfile->static_psymbols, &objfile->static_psymbols,
sh.value, psymtab_language, objfile); sh.value, 0, psymtab_language, objfile);
/* Skip over procedure to next one. */ /* Skip over procedure to next one. */
if (sh.index >= hdr->iauxMax) if (sh.index >= hdr->iauxMax)
@@ -2792,10 +2793,10 @@ parse_partial_symbols (objfile, section_offsets)
&& sh.iss != 0 && sh.iss != 0
&& sh.index != cur_sdx + 2) && sh.index != cur_sdx + 2)
{ {
ADD_PSYMBOL_TO_LIST (name, strlen (name), add_psymbol_to_list (name, strlen (name),
STRUCT_NAMESPACE, LOC_TYPEDEF, STRUCT_NAMESPACE, LOC_TYPEDEF,
objfile->static_psymbols, &objfile->static_psymbols,
sh.value, sh.value, 0,
psymtab_language, objfile); psymtab_language, objfile);
} }
handle_psymbol_enumerators (objfile, fh, sh.st, sh.value); handle_psymbol_enumerators (objfile, fh, sh.st, sh.value);
@@ -2831,10 +2832,10 @@ parse_partial_symbols (objfile, section_offsets)
continue; continue;
} }
/* Use this gdb symbol */ /* Use this gdb symbol */
ADD_PSYMBOL_TO_LIST (name, strlen (name), add_psymbol_to_list (name, strlen (name),
VAR_NAMESPACE, class, VAR_NAMESPACE, class,
objfile->static_psymbols, sh.value, &objfile->static_psymbols, sh.value,
psymtab_language, objfile); 0, psymtab_language, objfile);
skip: skip:
cur_sdx++; /* Go to next file symbol */ cur_sdx++; /* Go to next file symbol */
} }
@@ -2907,10 +2908,10 @@ parse_partial_symbols (objfile, section_offsets)
break; break;
} }
name = debug_info->ssext + psh->iss; name = debug_info->ssext + psh->iss;
ADD_PSYMBOL_ADDR_TO_LIST (name, strlen (name), add_psymbol_to_list (name, strlen (name),
VAR_NAMESPACE, class, VAR_NAMESPACE, class,
objfile->global_psymbols, &objfile->global_psymbols,
svalue, 0, svalue,
psymtab_language, objfile); psymtab_language, objfile);
} }
} }
@@ -3076,10 +3077,10 @@ handle_psymbol_enumerators (objfile, fh, stype, svalue)
/* Note that the value doesn't matter for enum constants /* Note that the value doesn't matter for enum constants
in psymtabs, just in symtabs. */ in psymtabs, just in symtabs. */
ADD_PSYMBOL_TO_LIST (name, strlen (name), add_psymbol_to_list (name, strlen (name),
VAR_NAMESPACE, LOC_CONST, VAR_NAMESPACE, LOC_CONST,
objfile->static_psymbols, 0, &objfile->static_psymbols, 0,
psymtab_language, objfile); 0, psymtab_language, objfile);
ext_sym += external_sym_size; ext_sym += external_sym_size;
} }
} }

View File

@@ -737,35 +737,35 @@ read_os9k_psymtab (section_offsets, objfile, text_addr, text_size)
} }
case 'v': case 'v':
ADD_PSYMBOL_ADDR_TO_LIST (namestring, p - namestring, add_psymbol_to_list (namestring, p - namestring,
VAR_NAMESPACE, LOC_STATIC, VAR_NAMESPACE, LOC_STATIC,
objfile->static_psymbols, &objfile->static_psymbols,
CUR_SYMBOL_VALUE, 0, CUR_SYMBOL_VALUE,
psymtab_language, objfile); psymtab_language, objfile);
continue; continue;
case 'V': case 'V':
ADD_PSYMBOL_ADDR_TO_LIST (namestring, p - namestring, add_psymbol_to_list (namestring, p - namestring,
VAR_NAMESPACE, LOC_STATIC, VAR_NAMESPACE, LOC_STATIC,
objfile->global_psymbols, &objfile->global_psymbols,
CUR_SYMBOL_VALUE, 0, CUR_SYMBOL_VALUE,
psymtab_language, objfile); psymtab_language, objfile);
continue; continue;
case 'T': case 'T':
if (p != namestring) /* a name is there, not just :T... */ if (p != namestring) /* a name is there, not just :T... */
{ {
ADD_PSYMBOL_TO_LIST (namestring, p - namestring, add_psymbol_to_list (namestring, p - namestring,
STRUCT_NAMESPACE, LOC_TYPEDEF, STRUCT_NAMESPACE, LOC_TYPEDEF,
objfile->static_psymbols, &objfile->static_psymbols,
CUR_SYMBOL_VALUE, CUR_SYMBOL_VALUE, 0,
psymtab_language, objfile); psymtab_language, objfile);
if (p[2] == 't') if (p[2] == 't')
{ {
/* Also a typedef with the same name. */ /* Also a typedef with the same name. */
ADD_PSYMBOL_TO_LIST (namestring, p - namestring, add_psymbol_to_list (namestring, p - namestring,
VAR_NAMESPACE, LOC_TYPEDEF, VAR_NAMESPACE, LOC_TYPEDEF,
objfile->static_psymbols, &objfile->static_psymbols,
CUR_SYMBOL_VALUE, psymtab_language, CUR_SYMBOL_VALUE, 0, psymtab_language,
objfile); objfile);
p += 1; p += 1;
} }
@@ -777,10 +777,10 @@ read_os9k_psymtab (section_offsets, objfile, text_addr, text_size)
else if (psymtab_language == language_cplus) else if (psymtab_language == language_cplus)
{ {
/* Also a typedef with the same name. */ /* Also a typedef with the same name. */
ADD_PSYMBOL_TO_LIST (namestring, p - namestring, add_psymbol_to_list (namestring, p - namestring,
VAR_NAMESPACE, LOC_TYPEDEF, VAR_NAMESPACE, LOC_TYPEDEF,
objfile->static_psymbols, &objfile->static_psymbols,
CUR_SYMBOL_VALUE, psymtab_language, CUR_SYMBOL_VALUE, 0, psymtab_language,
objfile); objfile);
} }
} }
@@ -788,10 +788,10 @@ read_os9k_psymtab (section_offsets, objfile, text_addr, text_size)
case 't': case 't':
if (p != namestring) /* a name is there, not just :T... */ if (p != namestring) /* a name is there, not just :T... */
{ {
ADD_PSYMBOL_TO_LIST (namestring, p - namestring, add_psymbol_to_list (namestring, p - namestring,
VAR_NAMESPACE, LOC_TYPEDEF, VAR_NAMESPACE, LOC_TYPEDEF,
objfile->static_psymbols, &objfile->static_psymbols,
CUR_SYMBOL_VALUE, CUR_SYMBOL_VALUE, 0,
psymtab_language, objfile); psymtab_language, objfile);
} }
check_enum: check_enum:
@@ -841,10 +841,10 @@ read_os9k_psymtab (section_offsets, objfile, text_addr, text_size)
; ;
/* Note that the value doesn't matter for /* Note that the value doesn't matter for
enum constants in psymtabs, just in symtabs. */ enum constants in psymtabs, just in symtabs. */
ADD_PSYMBOL_TO_LIST (p, q - p, add_psymbol_to_list (p, q - p,
VAR_NAMESPACE, LOC_CONST, VAR_NAMESPACE, LOC_CONST,
objfile->static_psymbols, 0, &objfile->static_psymbols, 0,
psymtab_language, objfile); 0, psymtab_language, objfile);
/* Point past the name. */ /* Point past the name. */
p = q; p = q;
/* Skip over the value. */ /* Skip over the value. */
@@ -858,10 +858,10 @@ read_os9k_psymtab (section_offsets, objfile, text_addr, text_size)
continue; continue;
case 'c': case 'c':
/* Constant, e.g. from "const" in Pascal. */ /* Constant, e.g. from "const" in Pascal. */
ADD_PSYMBOL_TO_LIST (namestring, p - namestring, add_psymbol_to_list (namestring, p - namestring,
VAR_NAMESPACE, LOC_CONST, VAR_NAMESPACE, LOC_CONST,
objfile->static_psymbols, CUR_SYMBOL_VALUE, &objfile->static_psymbols, CUR_SYMBOL_VALUE,
psymtab_language, objfile); 0, psymtab_language, objfile);
continue; continue;
case 'f': case 'f':
@@ -869,10 +869,10 @@ read_os9k_psymtab (section_offsets, objfile, text_addr, text_size)
if (pst && pst->textlow == 0) if (pst && pst->textlow == 0)
pst->textlow = CUR_SYMBOL_VALUE; pst->textlow = CUR_SYMBOL_VALUE;
ADD_PSYMBOL_TO_LIST (namestring, p - namestring, add_psymbol_to_list (namestring, p - namestring,
VAR_NAMESPACE, LOC_BLOCK, VAR_NAMESPACE, LOC_BLOCK,
objfile->static_psymbols, CUR_SYMBOL_VALUE, &objfile->static_psymbols, CUR_SYMBOL_VALUE,
psymtab_language, objfile); 0, psymtab_language, objfile);
continue; continue;
case 'F': case 'F':
@@ -880,10 +880,10 @@ read_os9k_psymtab (section_offsets, objfile, text_addr, text_size)
if (pst && pst->textlow == 0) if (pst && pst->textlow == 0)
pst->textlow = CUR_SYMBOL_VALUE; pst->textlow = CUR_SYMBOL_VALUE;
ADD_PSYMBOL_TO_LIST (namestring, p - namestring, add_psymbol_to_list (namestring, p - namestring,
VAR_NAMESPACE, LOC_BLOCK, VAR_NAMESPACE, LOC_BLOCK,
objfile->global_psymbols, CUR_SYMBOL_VALUE, &objfile->global_psymbols, CUR_SYMBOL_VALUE,
psymtab_language, objfile); 0, psymtab_language, objfile);
continue; continue;
case 'p': case 'p':

View File

@@ -404,39 +404,39 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifdef STATIC_TRANSFORM_NAME #ifdef STATIC_TRANSFORM_NAME
namestring = STATIC_TRANSFORM_NAME (namestring); namestring = STATIC_TRANSFORM_NAME (namestring);
#endif #endif
ADD_PSYMBOL_ADDR_TO_LIST (namestring, p - namestring, add_psymbol_to_list (namestring, p - namestring,
VAR_NAMESPACE, LOC_STATIC, VAR_NAMESPACE, LOC_STATIC,
objfile->static_psymbols, &objfile->static_psymbols,
CUR_SYMBOL_VALUE, 0, CUR_SYMBOL_VALUE,
psymtab_language, objfile); psymtab_language, objfile);
continue; continue;
case 'G': case 'G':
CUR_SYMBOL_VALUE += ANOFFSET (section_offsets, SECT_OFF_DATA); CUR_SYMBOL_VALUE += ANOFFSET (section_offsets, SECT_OFF_DATA);
/* The addresses in these entries are reported to be /* The addresses in these entries are reported to be
wrong. See the code that reads 'G's for symtabs. */ wrong. See the code that reads 'G's for symtabs. */
ADD_PSYMBOL_ADDR_TO_LIST (namestring, p - namestring, add_psymbol_to_list (namestring, p - namestring,
VAR_NAMESPACE, LOC_STATIC, VAR_NAMESPACE, LOC_STATIC,
objfile->global_psymbols, &objfile->global_psymbols,
CUR_SYMBOL_VALUE, 0, CUR_SYMBOL_VALUE,
psymtab_language, objfile); psymtab_language, objfile);
continue; continue;
case 'T': case 'T':
if (p != namestring) /* a name is there, not just :T... */ if (p != namestring) /* a name is there, not just :T... */
{ {
ADD_PSYMBOL_TO_LIST (namestring, p - namestring, add_psymbol_to_list (namestring, p - namestring,
STRUCT_NAMESPACE, LOC_TYPEDEF, STRUCT_NAMESPACE, LOC_TYPEDEF,
objfile->static_psymbols, &objfile->static_psymbols,
CUR_SYMBOL_VALUE, CUR_SYMBOL_VALUE, 0,
psymtab_language, objfile); psymtab_language, objfile);
if (p[2] == 't') if (p[2] == 't')
{ {
/* Also a typedef with the same name. */ /* Also a typedef with the same name. */
ADD_PSYMBOL_TO_LIST (namestring, p - namestring, add_psymbol_to_list (namestring, p - namestring,
VAR_NAMESPACE, LOC_TYPEDEF, VAR_NAMESPACE, LOC_TYPEDEF,
objfile->static_psymbols, &objfile->static_psymbols,
CUR_SYMBOL_VALUE, psymtab_language, CUR_SYMBOL_VALUE, 0,
objfile); psymtab_language, objfile);
p += 1; p += 1;
} }
/* The semantics of C++ state that "struct foo { ... }" /* The semantics of C++ state that "struct foo { ... }"
@@ -447,21 +447,21 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
else if (psymtab_language == language_cplus) else if (psymtab_language == language_cplus)
{ {
/* Also a typedef with the same name. */ /* Also a typedef with the same name. */
ADD_PSYMBOL_TO_LIST (namestring, p - namestring, add_psymbol_to_list (namestring, p - namestring,
VAR_NAMESPACE, LOC_TYPEDEF, VAR_NAMESPACE, LOC_TYPEDEF,
objfile->static_psymbols, &objfile->static_psymbols,
CUR_SYMBOL_VALUE, psymtab_language, CUR_SYMBOL_VALUE, 0,
objfile); psymtab_language, objfile);
} }
} }
goto check_enum; goto check_enum;
case 't': case 't':
if (p != namestring) /* a name is there, not just :T... */ if (p != namestring) /* a name is there, not just :T... */
{ {
ADD_PSYMBOL_TO_LIST (namestring, p - namestring, add_psymbol_to_list (namestring, p - namestring,
VAR_NAMESPACE, LOC_TYPEDEF, VAR_NAMESPACE, LOC_TYPEDEF,
objfile->static_psymbols, &objfile->static_psymbols,
CUR_SYMBOL_VALUE, CUR_SYMBOL_VALUE, 0,
psymtab_language, objfile); psymtab_language, objfile);
} }
check_enum: check_enum:
@@ -520,10 +520,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
; ;
/* Note that the value doesn't matter for /* Note that the value doesn't matter for
enum constants in psymtabs, just in symtabs. */ enum constants in psymtabs, just in symtabs. */
ADD_PSYMBOL_TO_LIST (p, q - p, add_psymbol_to_list (p, q - p,
VAR_NAMESPACE, LOC_CONST, VAR_NAMESPACE, LOC_CONST,
objfile->static_psymbols, 0, &objfile->static_psymbols, 0,
psymtab_language, objfile); 0, psymtab_language, objfile);
/* Point past the name. */ /* Point past the name. */
p = q; p = q;
/* Skip over the value. */ /* Skip over the value. */
@@ -537,10 +537,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
continue; continue;
case 'c': case 'c':
/* Constant, e.g. from "const" in Pascal. */ /* Constant, e.g. from "const" in Pascal. */
ADD_PSYMBOL_TO_LIST (namestring, p - namestring, add_psymbol_to_list (namestring, p - namestring,
VAR_NAMESPACE, LOC_CONST, VAR_NAMESPACE, LOC_CONST,
objfile->static_psymbols, CUR_SYMBOL_VALUE, &objfile->static_psymbols, CUR_SYMBOL_VALUE,
psymtab_language, objfile); 0, psymtab_language, objfile);
continue; continue;
case 'f': case 'f':
@@ -574,10 +574,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
!= ANOFFSET (section_offsets, SECT_OFF_TEXT))) != ANOFFSET (section_offsets, SECT_OFF_TEXT)))
pst->textlow = CUR_SYMBOL_VALUE; pst->textlow = CUR_SYMBOL_VALUE;
#endif /* DBXREAD_ONLY */ #endif /* DBXREAD_ONLY */
ADD_PSYMBOL_TO_LIST (namestring, p - namestring, add_psymbol_to_list (namestring, p - namestring,
VAR_NAMESPACE, LOC_BLOCK, VAR_NAMESPACE, LOC_BLOCK,
objfile->static_psymbols, CUR_SYMBOL_VALUE, &objfile->static_psymbols, CUR_SYMBOL_VALUE,
psymtab_language, objfile); 0, psymtab_language, objfile);
continue; continue;
/* Global functions were ignored here, but now they /* Global functions were ignored here, but now they
@@ -613,10 +613,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
!= ANOFFSET (section_offsets, SECT_OFF_TEXT))) != ANOFFSET (section_offsets, SECT_OFF_TEXT)))
pst->textlow = CUR_SYMBOL_VALUE; pst->textlow = CUR_SYMBOL_VALUE;
#endif /* DBXREAD_ONLY */ #endif /* DBXREAD_ONLY */
ADD_PSYMBOL_TO_LIST (namestring, p - namestring, add_psymbol_to_list (namestring, p - namestring,
VAR_NAMESPACE, LOC_BLOCK, VAR_NAMESPACE, LOC_BLOCK,
objfile->global_psymbols, CUR_SYMBOL_VALUE, &objfile->global_psymbols, CUR_SYMBOL_VALUE,
psymtab_language, objfile); 0, psymtab_language, objfile);
continue; continue;
/* Two things show up here (hopefully); static symbols of /* Two things show up here (hopefully); static symbols of