CORE_ADDR addr;
char *name;
- /* SECTINDEX must be valid for associated BFD if ADDR is not zero. */
+ /* SECTINDEX must be valid for associated BFD or set to -1. */
int sectindex;
} other[1];
};
doesn't make sense to implement both.) The arguments are as for
`lookup_symbol'. */
void (*pre_expand_symtabs_matching) (struct objfile *objfile,
- int kind, const char *name,
+ enum block_enum block_kind,
+ const char *name,
domain_enum domain);
/* Print statistics about any indices loaded for OBJFILE. The
FILE_MATCHER is called for each file in OBJFILE. The file name
and the DATA argument are passed to it. If it returns zero, this
- file is skipped.
+ file is skipped. If FILE_MATCHER is NULL such file is not skipped.
- Otherwise, if the file is not skipped, then NAME_MATCHER is
- called for each symbol defined in the file. The symbol's
- "natural" name and DATA are passed to NAME_MATCHER.
+ Otherwise, if KIND does not match this symbol is skipped.
+
+ If even KIND matches, then NAME_MATCHER is called for each symbol defined
+ in the file. The symbol's "natural" name and DATA are passed to
+ NAME_MATCHER.
If NAME_MATCHER returns zero, then this symbol is skipped.
- Otherwise, if this symbol is not skipped, and it matches KIND,
- then this symbol's symbol table is expanded.
-
+ Otherwise, this symbol's symbol table is expanded.
+
DATA is user data that is passed unmodified to the callback
functions. */
void (*expand_symtabs_matching) (struct objfile *objfile,
int (*file_matcher) (const char *, void *),
int (*name_matcher) (const char *, void *),
- domain_enum kind,
+ enum search_domain kind,
void *data);
/* Return the symbol table from OBJFILE that contains PC and
struct obj_section *section,
int warn_if_readin);
- /* Call a callback for every symbol defined in OBJFILE. FUN is the
- callback. It is passed the symbol's natural name, and the DATA
- passed to this function. */
- void (*map_symbol_names) (struct objfile *objfile,
- void (*fun) (const char *, void *),
- void *data);
-
/* Call a callback for every file defined in OBJFILE whose symtab is
not already read in. FUN is the callback. It is passed the file's name,
the file's full name, and the DATA passed to this function. */
void (*sym_read) (struct objfile *, int);
+ /* Read the partial symbols for an objfile. This may be NULL, in which case
+ gdb has to check other ways if this objfile has any symbols. This may
+ only be non-NULL if the objfile actually does have debuginfo available.
+ */
+
+ void (*sym_read_psymbols) (struct objfile *);
+
/* Called when we are finished with an objfile. Should do all
cleanup that is specific to the object file format for the
particular objfile. */
SYMFILE_MAINLINE = 1 << 2,
/* Do not call breakpoint_re_set when adding this symbol file. */
- SYMFILE_DEFER_BP_RESET = 1 << 3
+ SYMFILE_DEFER_BP_RESET = 1 << 3,
+
+ /* Do not immediately read symbols for this file. By default,
+ symbols are read when the objfile is created. */
+ SYMFILE_NO_READ = 1 << 4
};
extern void syms_from_objfile (struct objfile *,
extern struct objfile *symbol_file_add_from_bfd (bfd *, int,
struct section_addr_info *,
- int);
+ int, struct objfile *parent);
extern void symbol_file_add_separate (bfd *, int, struct objfile *);