aboutsummaryrefslogtreecommitdiff
path: root/gdb/symfile.h
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2003-06-06 23:33:00 +0000
committerMark Mitchell <mark@codesourcery.com>2003-06-06 23:33:00 +0000
commita39a16c41b7a27c34abdf6f5c32c4a89b5ac35c6 (patch)
tree02417c41a9e7e49238d9178d45173cfd6ae8c6dc /gdb/symfile.h
parent539ee71a87838a10f843d7b1ef64975afba1b20e (diff)
downloadgdb-a39a16c41b7a27c34abdf6f5c32c4a89b5ac35c6.zip
gdb-a39a16c41b7a27c34abdf6f5c32c4a89b5ac35c6.tar.gz
gdb-a39a16c41b7a27c34abdf6f5c32c4a89b5ac35c6.tar.bz2
* elfread.c (elf_symtab_read): Avoid use of SECT_OFF_MAX.
(elfstab_offset_sections): Likewise. * gdb-stabs.h (stab_section_info): Likewise. * i386-interix-tdep.c (pei_adjust_objfile_offsets): Likewise. * objfiles.c (objfile_relocate): Likewise. * pa64solib.c (pa64_solib_add_solib_objfile): Likewise. * remote.c (get_offsets): Likewise. (remote_cisco_objfile_relocate): Likewise. * somread.c (som_symfile_offsets): Likewise. * symfile.c (alloc_section_addr_info): New function. (build_section_addr_info_from_section_tab): Use it. (free_section_addr_info): Adjust. (default_symfile_offsets): Avoid use of SECT_OFF_MAX. (syms_from_objfile): Allocate local_addr dynamically. (symbol_file_add_with_addrs_or_offsets): Allocate orig_addrs dynamically. (add_symbol_file_command): Allocate sect_opts dynamically. (reread_symbols): Avoid use of SECT_OFF_MAX. * symfile.h (section_addr_info): Do not use MAX_SECTIONS. (alloc_section_addr_info): Declare it. * symtab.h (SIZEOF_SECTION_OFFSETS): Remove. * win32-nat.c (solib_symbols_add): Allocate section_addrs dynamically. * xcoffread.c (xcoff_symfile_offsets): Avoid use of SECT_OFF_MAX.
Diffstat (limited to 'gdb/symfile.h')
-rw-r--r--gdb/symfile.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/gdb/symfile.h b/gdb/symfile.h
index 04b0d89..087c313 100644
--- a/gdb/symfile.h
+++ b/gdb/symfile.h
@@ -67,16 +67,18 @@ struct psymbol_allocation_list
solib.c to communicate the section addresses in shared objects to
symbol_file_add (). */
-#define MAX_SECTIONS 64
struct section_addr_info
{
+ /* The number of sections for which address information is
+ available. */
+ size_t num_sections;
/* Sections whose names are file format dependent. */
struct other_sections
{
CORE_ADDR addr;
char *name;
int sectindex;
- } other[MAX_SECTIONS];
+ } other[1];
};
/* Structure to keep track of symbol reading functions for various
@@ -185,6 +187,11 @@ extern void new_symfile_objfile (struct objfile *, int, int);
extern struct objfile *symbol_file_add (char *, int,
struct section_addr_info *, int, int);
+/* Create a new section_addr_info, with room for NUM_SECTIONS. */
+
+extern struct section_addr_info *
+alloc_section_addr_info (size_t num_sections);
+
/* Build (allocate and populate) a section_addr_info struct from
an existing section table. */