forked from Imagelibrary/binutils-gdb
* 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:
@@ -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>
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
25
gdb/hpread.c
25
gdb/hpread.c
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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':
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user