/* Read hp debug symbols and convert to internal format, for GDB.
- Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
- Free Software Foundation, Inc.
+ Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+ 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of GDB.
/* Forward procedure declarations */
-static void set_namestring (union dnttentry *sym, char **namep,
- struct objfile *objfile);
-
+/* Used in somread.c. */
void hpread_symfile_init (struct objfile *);
void do_pxdb (bfd *);
void hpread_symfile_finish (struct objfile *);
+static void set_namestring (union dnttentry *sym, char **namep,
+ struct objfile *objfile);
+
static union dnttentry *hpread_get_gntt (int, struct objfile *);
static union dnttentry *hpread_get_lntt (int index, struct objfile *objfile);
static CORE_ADDR hpread_get_location (sltpointer, struct objfile *);
-int hpread_has_name (enum dntt_entry_type kind);
+static int hpread_has_name (enum dntt_entry_type kind);
static void hpread_psymtab_to_symtab_1 (struct partial_symtab *);
-void hpread_psymtab_to_symtab (struct partial_symtab *);
+static void hpread_psymtab_to_symtab (struct partial_symtab *);
static struct symtab *hpread_expand_symtab
(struct objfile *, int, int, CORE_ADDR, int,
#include "gdb_string.h"
/* check for the existence of a file, given its full pathname */
-int
+static int
file_exists (char *filename)
{
if (filename)
NOTE: uses system function and string functions directly.
Return value: 1 if ok, 0 if not */
-int
+static int
hpread_call_pxdb (const char *file_name)
{
char *p;
by PXDB, and we have thus called PXDB to do this processing
and the file therefore needs to be re-loaded. Otherwise
return 0. */
-int
+static int
hpread_pxdb_needed (bfd *sym_bfd)
{
asection *pinfo_section, *debug_section, *header_section;
a file can result in a compiled object which does not have a module
entry for it, so in such cases we create a psymtab for the file. */
-int
+static int
hpread_quick_traverse (struct objfile *objfile, char *gntt_bits,
char *vt_bits, PXDB_header_ptr pxdb_header_p)
{
/* Get appropriate header, based on pxdb type.
Return value: 1 if ok, 0 if not */
-int
+static int
hpread_get_header (struct objfile *objfile, PXDB_header_ptr pxdb_header_p)
{
asection *pinfo_section, *debug_section, *header_section;
/* Various small functions to get entries in the debug symbol sections. */
-union dnttentry *
+static union dnttentry *
hpread_get_lntt (int index, struct objfile *objfile)
{
return (union dnttentry *)
&(GNTT (objfile)[(index * sizeof (struct dntt_type_block))]);
}
-union sltentry *
+static union sltentry *
hpread_get_slt (int index, struct objfile *objfile)
{
return (union sltentry *) &(SLT (objfile)[index * sizeof (union sltentry)]);
* leave it here in case it proves useful later on. - RT).
*/
-int
+static int
hpread_has_name (enum dntt_entry_type kind)
{
switch (kind)
hpread_expand_symtab (pst->objfile, LDSYMOFF (pst), LDSYMLEN (pst),
pst->textlow, pst->texthigh - pst->textlow,
pst->section_offsets, pst->filename);
- sort_symtab_syms (pst->symtab);
do_cleanups (old_chain);
}
/* Read in all of the symbols for a given psymtab for real.
Be verbose about it if the user wants that. */
-void
+static void
hpread_psymtab_to_symtab (struct partial_symtab *pst)
{
/* Get out quick if given junk. */
fn_p = fn_list;
while (fn_p)
{
- if (STREQ (fn_p->field.name, method_name))
+ if (DEPRECATED_STREQ (fn_p->field.name, method_name))
break;
fn_p = fn_p->next;
}
list->field.name = VT (objfile) + fieldp->dfield.name;
- /* A FIELD by itself (without a GENFIELD) can also be a static member */
- FIELD_STATIC_KIND (list->field) = 0;
+ /* A FIELD by itself (without a GENFIELD) can also be a static
+ member. Mark it as static with a physname of NULL.
+ fix_static_member_physnames will assign the physname later. */
if (fieldp->dfield.staticmem)
{
- FIELD_BITPOS (list->field) = -1;
+ SET_FIELD_PHYSNAME (list->field, NULL);
+ FIELD_BITPOS (list->field) = 0;
FIELD_BITSIZE (list->field) = 0;
}
else
/* Non-static data member */
{
+ FIELD_STATIC_KIND (list->field) = 0;
FIELD_BITPOS (list->field) = fieldp->dfield.bitoffset;
if (fieldp->dfield.bitlength % 8)
FIELD_BITSIZE (list->field) = fieldp->dfield.bitlength;
* Called from hpread_process_one_debug_symbol()
* If "f" is not a member function, return NULL.
*/
-char *
+static char *
class_of (struct type *functype)
{
struct type *first_param_type;
hpread_get_scope_depth (union dnttentry *dn_bufp, struct objfile *objfile,
int report_nested)
{
- register int index;
- register union dnttentry *dn_tmp;
- register short depth = 0;
+ int index;
+ union dnttentry *dn_tmp;
+ short depth = 0;
/****************************/
return 0;
/****************************/
static void
hpread_adjust_bitoffsets (struct type *type, int bits)
{
- register int i;
+ int i;
/* This is done only for unions; caller had better check that
it is an anonymous one. */
struct objfile *objfile)
{
struct type *anon_type;
- register int i;
+ int i;
int bitoffset;
char *name;
/* Do we have another anonymous union? If so, adjust the bitoffsets
of its members and skip over its members. */
if ((TYPE_CODE (anon_type) == TYPE_CODE_UNION) &&
- (!name || STREQ (name, "")))
+ (!name || DEPRECATED_STREQ (name, "")))
{
hpread_adjust_bitoffsets (anon_type, bitoffset);
field = hpread_get_next_skip_over_anon_unions (TYPE_NFIELDS (anon_type), field, fieldp, objfile);