diff options
Diffstat (limited to 'gdb/symtab.h')
-rw-r--r-- | gdb/symtab.h | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/gdb/symtab.h b/gdb/symtab.h index d651209..3fb21fc 100644 --- a/gdb/symtab.h +++ b/gdb/symtab.h @@ -826,6 +826,26 @@ struct section_offsets (sizeof (struct section_offsets) \ + sizeof (((struct section_offsets *) 0)->offsets) * (SECT_OFF_MAX-1)) +/* Define an array of addresses to accommodate non-contiguous dynamic + loading of modules. This is for use when entering commands, so we + can keep track of the section names until we read the file and + can map them to bfd sections. */ + +#define MAX_SECTIONS 12 +struct section_addr_info +{ + /* Sections whose names are always known to gdb. */ + CORE_ADDR text_addr; + CORE_ADDR data_addr; + CORE_ADDR bss_addr; + /* Sections whose names are file format dependant. */ + struct other_sections + { + CORE_ADDR addr; + char *name; + int sectindex; + } other[MAX_SECTIONS]; +}; /* Each source file or header is represented by a struct symtab. These objects are chained through the `next' field. */ @@ -1399,7 +1419,7 @@ extern void clear_solib PARAMS ((void)); extern struct objfile * - symbol_file_add PARAMS ((char *, int, CORE_ADDR, int, int, int, int, int)); + symbol_file_add PARAMS ((char *, int, struct section_addr_info *, int, int, int, int)); /* source.c */ |