(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. */
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 */