mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-10-17 21:03:55 +08:00
* objfiles.h (struct objfile): Add memebers data' and
num_data'.
(register_objfile_data, set_objfile_data, objfile_data): New prototypes. * objfiles.c (objfile_alloc_data, objfile_free_data): New prototypes. (allocate_objfile): Call objfile_alloc_data. (free_objfile): Call objfile_free_data. (struct objfile_data): New. (struct objfile_data_registration): New. (struct objfile_data_registry): New. (objfile_data_registry): New variable. (register_objfile_data): New function. (objfile_alloc_data, objfile_free_data): New functions. (set_objfile_data, objfile_data): New functions. * dwarf2-frame.c (dwarf2_frame_data): New variable. (dwarf2_frame_find_fde, add_fde): Use new per-objfile data mechanism. (_initialize_dwarf2_frame): New function and prototype.
This commit is contained in:
@ -379,6 +379,13 @@ struct objfile
|
||||
|
||||
void *obj_private;
|
||||
|
||||
/* Per objfile data-pointers required by other GDB modules. */
|
||||
/* FIXME: kettenis/20030711: This mechanism could replace
|
||||
sym_stab_info, sym_private and obj_private entirely. */
|
||||
|
||||
void **data;
|
||||
unsigned num_data;
|
||||
|
||||
/* Set of relocation offsets to apply to each section.
|
||||
Currently on the psymbol_obstack (which makes no sense, but I'm
|
||||
not sure it's harming anything).
|
||||
@ -565,6 +572,16 @@ extern int in_plt_section (CORE_ADDR, char *);
|
||||
|
||||
extern int is_in_import_list (char *, struct objfile *);
|
||||
|
||||
/* Keep a registry of per-objfile data-pointers required by other GDB
|
||||
modules. */
|
||||
|
||||
extern const struct objfile_data *register_objfile_data (void);
|
||||
extern void set_objfile_data (struct objfile *objfile,
|
||||
const struct objfile_data *data, void *value);
|
||||
extern void *objfile_data (struct objfile *objfile,
|
||||
const struct objfile_data *data);
|
||||
|
||||
|
||||
/* Traverse all object files. ALL_OBJFILES_SAFE works even if you delete
|
||||
the objfile during the traversal. */
|
||||
|
||||
|
Reference in New Issue
Block a user