unsigned long section_size,
unsigned long total_sent,
unsigned long total_size);
-void (*pre_add_symbol_hook) PARAMS ((char *));
-void (*post_add_symbol_hook) PARAMS ((void));
-void (*target_new_objfile_hook) PARAMS ((struct objfile *));
+void (*pre_add_symbol_hook) (char *);
+void (*post_add_symbol_hook) (void);
+void (*target_new_objfile_hook) (struct objfile *);
+
+static void clear_symtab_users_cleanup (void *ignore);
/* Global variables owned by this file */
int readnow_symbol_files; /* Read full symbols immediately */
extern int info_verbose;
-extern void report_transfer_performance PARAMS ((unsigned long,
- time_t, time_t));
+extern void report_transfer_performance (unsigned long, time_t, time_t);
/* Functions this file defines */
#if 0
-static int simple_read_overlay_region_table PARAMS ((void));
-static void simple_free_overlay_region_table PARAMS ((void));
+static int simple_read_overlay_region_table (void);
+static void simple_free_overlay_region_table (void);
#endif
-static void set_initial_language PARAMS ((void));
+static void set_initial_language (void);
-static void load_command PARAMS ((char *, int));
+static void load_command (char *, int);
-static void add_symbol_file_command PARAMS ((char *, int));
+static void add_symbol_file_command (char *, int);
-static void add_shared_symbol_files_command PARAMS ((char *, int));
+static void add_shared_symbol_files_command (char *, int);
-static void cashier_psymtab PARAMS ((struct partial_symtab *));
+static void cashier_psymtab (struct partial_symtab *);
-static int compare_psymbols PARAMS ((const void *, const void *));
+static int compare_psymbols (const void *, const void *);
-static int compare_symbols PARAMS ((const void *, const void *));
+static int compare_symbols (const void *, const void *);
-bfd *symfile_bfd_open PARAMS ((char *));
+bfd *symfile_bfd_open (char *);
-static void find_sym_fns PARAMS ((struct objfile *));
+static void find_sym_fns (struct objfile *);
-static void decrement_reading_symtab PARAMS ((void *));
+static void decrement_reading_symtab (void *);
-static void overlay_invalidate_all PARAMS ((void));
+static void overlay_invalidate_all (void);
-static int overlay_is_mapped PARAMS ((struct obj_section *));
+static int overlay_is_mapped (struct obj_section *);
-void list_overlays_command PARAMS ((char *, int));
+void list_overlays_command (char *, int);
-void map_overlay_command PARAMS ((char *, int));
+void map_overlay_command (char *, int);
-void unmap_overlay_command PARAMS ((char *, int));
+void unmap_overlay_command (char *, int);
-static void overlay_auto_command PARAMS ((char *, int));
+static void overlay_auto_command (char *, int);
-static void overlay_manual_command PARAMS ((char *, int));
+static void overlay_manual_command (char *, int);
-static void overlay_off_command PARAMS ((char *, int));
+static void overlay_off_command (char *, int);
-static void overlay_load_command PARAMS ((char *, int));
+static void overlay_load_command (char *, int);
-static void overlay_command PARAMS ((char *, int));
+static void overlay_command (char *, int);
-static void simple_free_overlay_table PARAMS ((void));
+static void simple_free_overlay_table (void);
-static void read_target_long_array PARAMS ((CORE_ADDR, unsigned int *, int));
+static void read_target_long_array (CORE_ADDR, unsigned int *, int);
-static int simple_read_overlay_table PARAMS ((void));
+static int simple_read_overlay_table (void);
-static int simple_overlay_update_1 PARAMS ((struct obj_section *));
+static int simple_overlay_update_1 (struct obj_section *);
-static void add_filename_language PARAMS ((char *ext, enum language lang));
+static void add_filename_language (char *ext, enum language lang);
-static void set_ext_lang_command PARAMS ((char *args, int from_tty));
+static void set_ext_lang_command (char *args, int from_tty);
-static void info_ext_lang_command PARAMS ((char *args, int from_tty));
+static void info_ext_lang_command (char *args, int from_tty);
-static void init_filename_language_table PARAMS ((void));
+static void init_filename_language_table (void);
-void _initialize_symfile PARAMS ((void));
+void _initialize_symfile (void);
/* List of all available sym_fns. On gdb startup, each object file reader
calls add_symtab_fns() to register information on each format it is
comparison function takes two "void *" pointers. */
static int
-compare_symbols (s1p, s2p)
- const PTR s1p;
- const PTR s2p;
+compare_symbols (const PTR s1p, const PTR s2p)
{
register struct symbol **s1, **s2;
s1 = (struct symbol **) s1p;
s2 = (struct symbol **) s2p;
-
- return (STRCMP (SYMBOL_NAME (*s1), SYMBOL_NAME (*s2)));
+ return (STRCMP (SYMBOL_SOURCE_NAME (*s1), SYMBOL_SOURCE_NAME (*s2)));
}
/*
*/
static int
-compare_psymbols (s1p, s2p)
- const PTR s1p;
- const PTR s2p;
+compare_psymbols (const PTR s1p, const PTR s2p)
{
- register char *st1 = SYMBOL_NAME (*(struct partial_symbol **) s1p);
- register char *st2 = SYMBOL_NAME (*(struct partial_symbol **) s2p);
+ register struct partial_symbol **s1, **s2;
+ register char *st1, *st2;
+
+ s1 = (struct partial_symbol **) s1p;
+ s2 = (struct partial_symbol **) s2p;
+ st1 = SYMBOL_SOURCE_NAME (*s1);
+ st2 = SYMBOL_SOURCE_NAME (*s2);
+
if ((st1[0] - st2[0]) || !st1[0])
{
}
void
-sort_pst_symbols (pst)
- struct partial_symtab *pst;
+sort_pst_symbols (struct partial_symtab *pst)
{
/* Sort the global list; don't sort the static list */
/* Call sort_block_syms to sort alphabetically the symbols of one block. */
void
-sort_block_syms (b)
- register struct block *b;
+sort_block_syms (register struct block *b)
{
qsort (&BLOCK_SYM (b, 0), BLOCK_NSYMS (b),
sizeof (struct symbol *), compare_symbols);
the symbols of each block of one symtab. */
void
-sort_symtab_syms (s)
- register struct symtab *s;
+sort_symtab_syms (register struct symtab *s)
{
register struct blockvector *bv;
int nbl;
may be part of a larger string and we are only saving a substring. */
char *
-obsavestring (ptr, size, obstackp)
- char *ptr;
- int size;
- struct obstack *obstackp;
+obsavestring (char *ptr, int size, struct obstack *obstackp)
{
register char *p = (char *) obstack_alloc (obstackp, size + 1);
/* Open-coded memcpy--saves function call time. These strings are usually
in the obstack pointed to by OBSTACKP. */
char *
-obconcat (obstackp, s1, s2, s3)
- struct obstack *obstackp;
- const char *s1, *s2, *s3;
+obconcat (struct obstack *obstackp, const char *s1, const char *s2,
+ const char *s3)
{
register int len = strlen (s1) + strlen (s2) + strlen (s3) + 1;
register char *val = (char *) obstack_alloc (obstackp, len);
int currently_reading_symtab = 0;
static void
-decrement_reading_symtab (dummy)
- void *dummy;
+decrement_reading_symtab (void *dummy)
{
currently_reading_symtab--;
}
case inline. */
struct symtab *
-psymtab_to_symtab (pst)
- register struct partial_symtab *pst;
+psymtab_to_symtab (register struct partial_symtab *pst)
{
/* If it's been looked up before, return it. */
if (pst->symtab)
/* Initialize entry point information for this objfile. */
void
-init_entry_point_info (objfile)
- struct objfile *objfile;
+init_entry_point_info (struct objfile *objfile)
{
/* Save startup file's range of PC addresses to help blockframe.c
decide where the bottom of the stack is. */
/* Get current entry point address. */
CORE_ADDR
-entry_point_address ()
+entry_point_address (void)
{
return symfile_objfile ? symfile_objfile->ei.entry_point : 0;
}
lowest-addressed loadable section. */
void
-find_lowest_section (abfd, sect, obj)
- bfd *abfd;
- asection *sect;
- PTR obj;
+find_lowest_section (bfd *abfd, asection *sect, PTR obj)
{
asection **lowest = (asection **) obj;
for (stp = start, oidx = 0; stp != end; stp++)
{
- if (strcmp (stp->the_bfd_section->name, ".text") == 0)
- sap->text_addr = stp->addr;
- else if (strcmp (stp->the_bfd_section->name, ".data") == 0)
- sap->data_addr = stp->addr;
- else if (strcmp (stp->the_bfd_section->name, ".bss") == 0)
- sap->bss_addr = stp->addr;
-
if (stp->the_bfd_section->flags & (SEC_ALLOC | SEC_LOAD)
&& oidx < MAX_SECTIONS)
{
for the objectfile OBJFILE and stuffs ADDR into all of the offsets. */
void
-default_symfile_offsets (objfile, addrs)
- struct objfile *objfile;
- struct section_addr_info *addrs;
+default_symfile_offsets (struct objfile *objfile,
+ struct section_addr_info *addrs)
{
int i;
+ asection *sect = NULL;
objfile->num_sections = SECT_OFF_MAX;
objfile->section_offsets = (struct section_offsets *)
obstack_alloc (&objfile->psymbol_obstack, SIZEOF_SECTION_OFFSETS);
memset (objfile->section_offsets, 0, SIZEOF_SECTION_OFFSETS);
- /* If user explicitly specified values for data and bss, set them here. */
-
- if (addrs->text_addr)
- ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT) = addrs->text_addr;
- if (addrs->data_addr)
- ANOFFSET (objfile->section_offsets, SECT_OFF_DATA) = addrs->data_addr;
- if (addrs->bss_addr)
- ANOFFSET (objfile->section_offsets, SECT_OFF_BSS) = addrs->bss_addr;
-
- /* Now calculate offsets for other sections. */
+ /* Now calculate offsets for section that were specified by the
+ caller. */
for (i = 0; i < MAX_SECTIONS && addrs->other[i].name; i++)
{
struct other_sections *osp ;
osp = &addrs->other[i] ;
- if (addrs->other[i].addr == 0)
+ if (osp->addr == 0)
continue;
-#if 0
- if (strcmp (".text", osp->name) == 0)
- SECT_OFF_TEXT = osp->sectindex ;
- else if (strcmp (".data", osp->name) == 0)
- SECT_OFF_DATA = osp->sectindex ;
- else if (strcmp (".bss", osp->name) == 0)
- SECT_OFF_BSS = osp->sectindex ;
-#endif
+
/* Record all sections in offsets */
- ANOFFSET (objfile->section_offsets, osp->sectindex) = osp->addr;
+ /* The section_offsets in the objfile are here filled in using
+ the BFD index. */
+ (objfile->section_offsets)->offsets[osp->sectindex] = osp->addr;
}
-}
+ /* Remember the bfd indexes for the .text, .data, .bss and
+ .rodata sections. */
+
+ sect = bfd_get_section_by_name (objfile->obfd, ".text");
+ if (sect)
+ objfile->sect_index_text = sect->index;
+
+ sect = bfd_get_section_by_name (objfile->obfd, ".data");
+ if (sect)
+ objfile->sect_index_data = sect->index;
+
+ sect = bfd_get_section_by_name (objfile->obfd, ".bss");
+ if (sect)
+ objfile->sect_index_bss = sect->index;
+
+ sect = bfd_get_section_by_name (objfile->obfd, ".rodata");
+ if (sect)
+ objfile->sect_index_rodata = sect->index;
+
+}
/* Process a symbol file, as either the main file or as a dynamically
loaded file.
the symbol reading (and complaints can be more terse about it). */
void
-syms_from_objfile (objfile, addrs, mainline, verbo)
- struct objfile *objfile;
- struct section_addr_info *addrs;
- int mainline;
- int verbo;
+syms_from_objfile (struct objfile *objfile, struct section_addr_info *addrs,
+ int mainline, int verbo)
{
asection *lower_sect;
asection *sect;
/* Make sure that partially constructed symbol tables will be cleaned up
if an error occurs during symbol reading. */
- old_chain = make_cleanup ((make_cleanup_func) free_objfile, objfile);
+ old_chain = make_cleanup_free_objfile (objfile);
if (mainline)
{
/* We will modify the main symbol table, make sure that all its users
will be cleaned up if an error occurs during symbol reading. */
- make_cleanup ((make_cleanup_func) clear_symtab_users, 0);
+ make_cleanup (clear_symtab_users_cleanup, 0 /*ignore*/);
/* Since no error yet, throw away the old symbol table. */
We no longer warn if the lowest section is not a text segment (as
happens for the PA64 port. */
- if (mainline)
- {
- /* No offset from objfile addresses. */
- addrs -> text_addr = 0;
- addrs -> data_addr = 0;
- addrs -> bss_addr = 0;
- }
- else
+ if (!mainline)
{
/* Find lowest loadable section to be used as starting point for
continguous sections. FIXME!! won't work without call to find
if (lower_sect == NULL)
warning ("no loadable sections found in added symbol-file %s",
objfile->name);
- else if ((bfd_get_section_flags (objfile->obfd, lower_sect) & SEC_CODE)
- == 0)
- warning ("Lowest section in %s is %s at %s",
- objfile->name,
- bfd_section_name (objfile->obfd, lower_sect),
- paddr (bfd_section_vma (objfile->obfd, lower_sect)));
+ else
+ if ((bfd_get_section_flags (objfile->obfd, lower_sect) & SEC_CODE) == 0)
+ warning ("Lowest section in %s is %s at %s",
+ objfile->name,
+ bfd_section_name (objfile->obfd, lower_sect),
+ paddr (bfd_section_vma (objfile->obfd, lower_sect)));
if (lower_sect != NULL)
lower_offset = bfd_section_vma (objfile->obfd, lower_sect);
else
(the loadable section directly below it in memory).
this_offset = lower_offset = lower_addr - lower_orig_addr */
- /* FIXME: These sections will not need special treatment because ALL
- sections are in the other sections table */
-
- if (addrs->text_addr != 0)
- {
- sect = bfd_get_section_by_name (objfile->obfd, ".text");
- if (sect)
- {
- addrs->text_addr -= bfd_section_vma (objfile->obfd, sect);
- lower_offset = addrs->text_addr;
- }
- }
- else
- /* ??? who's below me? */
- addrs->text_addr = lower_offset;
-
- if (addrs->data_addr != 0)
- {
- sect = bfd_get_section_by_name (objfile->obfd, ".data");
- if (sect)
- {
- addrs->data_addr -= bfd_section_vma (objfile->obfd, sect);
- lower_offset = addrs->data_addr;
- }
- }
- else
- addrs->data_addr = lower_offset;
-
- if (addrs->bss_addr != 0)
- {
- sect = bfd_get_section_by_name (objfile->obfd, ".bss");
- if (sect)
- {
- addrs->bss_addr -= bfd_section_vma (objfile->obfd, sect);
- lower_offset = addrs->bss_addr;
- }
- }
- else
- addrs->bss_addr = lower_offset;
-
- /* Now calculate offsets for other sections. */
+ /* Calculate offsets for sections. */
for (i=0 ; i < MAX_SECTIONS && addrs->other[i].name; i++)
{
-
- if (addrs->other[i].addr != 0)
+ if (addrs->other[i].addr != 0)
{
- sect=bfd_get_section_by_name(objfile->obfd, addrs->other[i].name);
+ sect = bfd_get_section_by_name (objfile->obfd, addrs->other[i].name);
if (sect)
{
addrs->other[i].addr -= bfd_section_vma (objfile->obfd, sect);
lower_offset = addrs->other[i].addr;
+ /* This is the index used by BFD. */
addrs->other[i].sectindex = sect->index ;
}
else
CORE_ADDR s_addr = 0;
int i;
- if (strcmp (s->the_bfd_section->name, ".text") == 0)
- s_addr = addrs->text_addr;
- else if (strcmp (s->the_bfd_section->name, ".data") == 0)
- s_addr = addrs->data_addr;
- else if (strcmp (s->the_bfd_section->name, ".bss") == 0)
- s_addr = addrs->bss_addr;
- else
for (i = 0;
!s_addr && i < MAX_SECTIONS && addrs->other[i].name;
i++)
discard_cleanups (old_chain);
/* Call this after reading in a new symbol table to give target
- dependant code a crack at the new symbols. For instance, this
+ dependent code a crack at the new symbols. For instance, this
could be used to update the values of target-specific symbols GDB
needs to keep track of (such as _sigtramp, or whatever). */
objfile. */
void
-new_symfile_objfile (objfile, mainline, verbo)
- struct objfile *objfile;
- int mainline;
- int verbo;
+new_symfile_objfile (struct objfile *objfile, int mainline, int verbo)
{
/* If this is the main symbol file we have to clean up all users of the
Upon failure, jumps back to command level (never returns). */
struct objfile *
-symbol_file_add (name, from_tty, addrs, mainline, flags)
- char *name;
- int from_tty;
- struct section_addr_info *addrs;
- int mainline;
- int flags;
+symbol_file_add (char *name, int from_tty, struct section_addr_info *addrs,
+ int mainline, int flags)
{
struct objfile *objfile;
struct partial_symtab *psymtab;
and pass that to symbol_file_add(). This is no longer supported. */
void
-symbol_file_command (args, from_tty)
- char *args;
- int from_tty;
+symbol_file_command (char *args, int from_tty)
{
char **argv;
char *name = NULL;
FIXME. */
static void
-set_initial_language ()
+set_initial_language (void)
{
struct partial_symtab *pst;
enum language lang = language_unknown;
In case of trouble, error() is called. */
bfd *
-symfile_bfd_open (name)
- char *name;
+symfile_bfd_open (char *name)
{
bfd *sym_bfd;
int desc;
to handle. */
void
-add_symtab_fns (sf)
- struct sym_fns *sf;
+add_symtab_fns (struct sym_fns *sf)
{
sf->next = symtab_fns;
symtab_fns = sf;
symbol file. */
static void
-find_sym_fns (objfile)
- struct objfile *objfile;
+find_sym_fns (struct objfile *objfile)
{
struct sym_fns *sf;
enum bfd_flavour our_flavour = bfd_get_flavour (objfile->obfd);
char *our_target = bfd_get_target (objfile->obfd);
- /* Special kludge for RS/6000 and PowerMac. See xcoffread.c. */
- if (STREQ (our_target, "aixcoff-rs6000") ||
- STREQ (our_target, "xcoff-powermac"))
- our_flavour = (enum bfd_flavour) -1;
-
/* Special kludge for apollo. See dstread.c. */
if (STREQN (our_target, "apollo", 6))
our_flavour = (enum bfd_flavour) -2;
/* This function runs the load command of our current target. */
static void
-load_command (arg, from_tty)
- char *arg;
- int from_tty;
+load_command (char *arg, int from_tty)
{
if (arg == NULL)
arg = get_exec_file (1);
/* FIXME: should be checking for errors from bfd_close (for one thing,
on error it does not free all the storage associated with the
bfd). */
- make_cleanup ((make_cleanup_func) bfd_close, loadfile_bfd);
+ make_cleanup_bfd_close (loadfile_bfd);
if (!bfd_check_format (loadfile_bfd, bfd_object))
{
function signature). */
void
-report_transfer_performance (data_count, start_time, end_time)
- unsigned long data_count;
- time_t start_time, end_time;
+report_transfer_performance (unsigned long data_count, time_t start_time,
+ time_t end_time)
{
print_transfer_performance (gdb_stdout, data_count, end_time - start_time, 0);
}
/* ARGSUSED */
static void
-add_symbol_file_command (args, from_tty)
- char *args;
- int from_tty;
+add_symbol_file_command (char *args, int from_tty)
{
char *filename = NULL;
int flags = OBJF_USERLOADED;
else
addr = strtoul (val, NULL, 10);
- if (strcmp (sec, ".text") == 0)
- section_addrs.text_addr = addr;
- else if (strcmp (sec, ".data") == 0)
- section_addrs.data_addr = addr;
- else if (strcmp (sec, ".bss") == 0)
- section_addrs.bss_addr = addr;
-
/* Here we store the section offsets in the order they were
entered on the command line. */
section_addrs.other[sec_num].name = sec;
}
\f
static void
-add_shared_symbol_files_command (args, from_tty)
- char *args;
- int from_tty;
+add_shared_symbol_files_command (char *args, int from_tty)
{
#ifdef ADD_SHARED_SYMBOL_FILES
ADD_SHARED_SYMBOL_FILES (args, from_tty);
\f
/* Re-read symbols if a symbol-file has changed. */
void
-reread_symbols ()
+reread_symbols (void)
{
struct objfile *objfile;
long new_modtime;
/* If we get an error, blow away this objfile (not sure if
that is the correct response for things like shared
libraries). */
- old_cleanups = make_cleanup ((make_cleanup_func) free_objfile,
- objfile);
+ old_cleanups = make_cleanup_free_objfile (objfile);
/* We need to do this whenever any symbols go away. */
- make_cleanup ((make_cleanup_func) clear_symtab_users, 0);
+ make_cleanup (clear_symtab_users_cleanup, 0 /*ignore*/);
/* Clean up any state BFD has sitting around. We don't need
to close the descriptor but BFD lacks a way of closing the
reread_one = 1;
/* Call this after reading in a new symbol table to give target
- dependant code a crack at the new symbols. For instance, this
+ dependent code a crack at the new symbols. For instance, this
could be used to update the values of target-specific symbols GDB
needs to keep track of (such as _sigtramp, or whatever). */
static int fl_table_size, fl_table_next;
static void
-add_filename_language (ext, lang)
- char *ext;
- enum language lang;
+add_filename_language (char *ext, enum language lang)
{
if (fl_table_next >= fl_table_size)
{
static char *ext_args;
static void
-set_ext_lang_command (args, from_tty)
- char *args;
- int from_tty;
+set_ext_lang_command (char *args, int from_tty)
{
int i;
char *cp = ext_args;
}
static void
-info_ext_lang_command (args, from_tty)
- char *args;
- int from_tty;
+info_ext_lang_command (char *args, int from_tty)
{
int i;
}
static void
-init_filename_language_table ()
+init_filename_language_table (void)
{
if (fl_table_size == 0) /* protect against repetition */
{
add_filename_language (".F", language_fortran);
add_filename_language (".s", language_asm);
add_filename_language (".S", language_asm);
+ add_filename_language (".pas", language_pascal);
+ add_filename_language (".p", language_pascal);
+ add_filename_language (".pp", language_pascal);
}
}
enum language
-deduce_language_from_filename (filename)
- char *filename;
+deduce_language_from_filename (char *filename)
{
int i;
char *cp;
*/
struct symtab *
-allocate_symtab (filename, objfile)
- char *filename;
- struct objfile *objfile;
+allocate_symtab (char *filename, struct objfile *objfile)
{
register struct symtab *symtab;
}
struct partial_symtab *
-allocate_psymtab (filename, objfile)
- char *filename;
- struct objfile *objfile;
+allocate_psymtab (char *filename, struct objfile *objfile)
{
struct partial_symtab *psymtab;
}
void
-discard_psymtab (pst)
- struct partial_symtab *pst;
+discard_psymtab (struct partial_symtab *pst)
{
struct partial_symtab **prev_pst;
table data. */
void
-clear_symtab_users ()
+clear_symtab_users (void)
{
/* Someday, we should do better than this, by only blowing away
the things that really need to be blown. */
target_new_objfile_hook (NULL);
}
+static void
+clear_symtab_users_cleanup (void *ignore)
+{
+ clear_symtab_users ();
+}
+
/* clear_symtab_users_once:
This function is run after symbol reading, or from a cleanup.
#if 0
/* FIXME: As free_named_symtabs is currently a big noop this function
is no longer needed. */
-static void
-clear_symtab_users_once PARAMS ((void));
+static void clear_symtab_users_once (void);
static int clear_symtab_users_queued;
static int clear_symtab_users_done;
static void
-clear_symtab_users_once ()
+clear_symtab_users_once (void)
{
/* Enforce once-per-`do_cleanups'-semantics */
if (clear_symtab_users_queued <= clear_symtab_users_done)
/* Delete the specified psymtab, and any others that reference it. */
static void
-cashier_psymtab (pst)
- struct partial_symtab *pst;
+cashier_psymtab (struct partial_symtab *pst)
{
struct partial_symtab *ps, *pprev = NULL;
int i;
it is not called for subsidiary files such as .h files.
Return value is 1 if we blew away the environment, 0 if not.
- FIXME. The return valu appears to never be used.
+ FIXME. The return value appears to never be used.
FIXME. I think this is not the best way to do this. We should
work on being gentler to the environment while still cleaning up
all stray pointers into the freed symtab. */
int
-free_named_symtabs (name)
- char *name;
+free_named_symtabs (char *name)
{
#if 0
/* FIXME: With the new method of each objfile having it's own
FILENAME is the name of the symbol-file we are reading from. */
struct partial_symtab *
-start_psymtab_common (objfile, section_offsets,
- filename, textlow, global_syms, static_syms)
- struct objfile *objfile;
- struct section_offsets *section_offsets;
- char *filename;
- CORE_ADDR textlow;
- struct partial_symbol **global_syms;
- struct partial_symbol **static_syms;
+start_psymtab_common (struct objfile *objfile,
+ struct section_offsets *section_offsets, char *filename,
+ CORE_ADDR textlow, struct partial_symbol **global_syms,
+ struct partial_symbol **static_syms)
{
struct partial_symtab *psymtab;
Since one arg is a struct, we pass in a ptr and deref it (sigh). */
void
-add_psymbol_to_list (name, namelength, namespace, class, list, val, coreaddr,
- language, objfile)
- char *name;
- int namelength;
- namespace_enum namespace;
- enum address_class class;
- struct psymbol_allocation_list *list;
- long val; /* Value as a long */
- CORE_ADDR coreaddr; /* Value as a CORE_ADDR */
- enum language language;
- struct objfile *objfile;
+add_psymbol_to_list (char *name, int namelength, namespace_enum namespace,
+ enum address_class class,
+ struct psymbol_allocation_list *list, long val, /* Value as a long */
+ CORE_ADDR coreaddr, /* Value as a CORE_ADDR */
+ enum language language, struct objfile *objfile)
{
register struct partial_symbol *psym;
char *buf = alloca (namelength + 1);
* name. */
void
-add_psymbol_with_dem_name_to_list (name, namelength, dem_name, dem_namelength,
- namespace, class, list, val, coreaddr, language, objfile)
- char *name;
- int namelength;
- char *dem_name;
- int dem_namelength;
- namespace_enum namespace;
- enum address_class class;
- struct psymbol_allocation_list *list;
- long val; /* Value as a long */
- CORE_ADDR coreaddr; /* Value as a CORE_ADDR */
- enum language language;
- struct objfile *objfile;
+add_psymbol_with_dem_name_to_list (char *name, int namelength, char *dem_name,
+ int dem_namelength, namespace_enum namespace,
+ enum address_class class,
+ struct psymbol_allocation_list *list, long val, /* Value as a long */
+ CORE_ADDR coreaddr, /* Value as a CORE_ADDR */
+ enum language language,
+ struct objfile *objfile)
{
register struct partial_symbol *psym;
char *buf = alloca (namelength + 1);
/* Initialize storage for partial symbols. */
void
-init_psymbol_list (objfile, total_symbols)
- struct objfile *objfile;
- int total_symbols;
+init_psymbol_list (struct objfile *objfile, int total_symbols)
{
/* Free any previously allocated psymbol lists. */
int overlay_cache_invalid = 0; /* True if need to refresh mapped state */
/* Target vector for refreshing overlay mapped state */
-static void simple_overlay_update PARAMS ((struct obj_section *));
-void (*target_overlay_update) PARAMS ((struct obj_section *))
-= simple_overlay_update;
+static void simple_overlay_update (struct obj_section *);
+void (*target_overlay_update) (struct obj_section *) = simple_overlay_update;
/* Function: section_is_overlay (SECTION)
Returns true if SECTION has VMA not equal to LMA, ie.
SECTION is loaded at an address different from where it will "run". */
int
-section_is_overlay (section)
- asection *section;
+section_is_overlay (asection *section)
{
if (overlay_debugging)
if (section && section->lma != 0 &&
Invalidate the mapped state of all overlay sections (mark it as stale). */
static void
-overlay_invalidate_all ()
+overlay_invalidate_all (void)
{
struct objfile *objfile;
struct obj_section *sect;
section is stale, then call TARGET_OVERLAY_UPDATE to refresh it. */
static int
-overlay_is_mapped (osect)
- struct obj_section *osect;
+overlay_is_mapped (struct obj_section *osect)
{
if (osect == 0 || !section_is_overlay (osect->the_bfd_section))
return 0;
Returns true if section is an overlay, and is currently mapped. */
int
-section_is_mapped (section)
- asection *section;
+section_is_mapped (asection *section)
{
struct objfile *objfile;
struct obj_section *osect;
If PC falls into the lma range of SECTION, return true, else false. */
CORE_ADDR
-pc_in_unmapped_range (pc, section)
- CORE_ADDR pc;
- asection *section;
+pc_in_unmapped_range (CORE_ADDR pc, asection *section)
{
int size;
If PC falls into the vma range of SECTION, return true, else false. */
CORE_ADDR
-pc_in_mapped_range (pc, section)
- CORE_ADDR pc;
- asection *section;
+pc_in_mapped_range (CORE_ADDR pc, asection *section)
{
int size;
May be the same as PC. */
CORE_ADDR
-overlay_unmapped_address (pc, section)
- CORE_ADDR pc;
- asection *section;
+overlay_unmapped_address (CORE_ADDR pc, asection *section)
{
if (overlay_debugging)
if (section && section_is_overlay (section) &&
May be the same as PC. */
CORE_ADDR
-overlay_mapped_address (pc, section)
- CORE_ADDR pc;
- asection *section;
+overlay_mapped_address (CORE_ADDR pc, asection *section)
{
if (overlay_debugging)
if (section && section_is_overlay (section) &&
depending on whether the section is mapped or not. */
CORE_ADDR
-symbol_overlayed_address (address, section)
- CORE_ADDR address;
- asection *section;
+symbol_overlayed_address (CORE_ADDR address, asection *section)
{
if (overlay_debugging)
{
Else if PC matches an unmapped section's LMA, return that section. */
asection *
-find_pc_overlay (pc)
- CORE_ADDR pc;
+find_pc_overlay (CORE_ADDR pc)
{
struct objfile *objfile;
struct obj_section *osect, *best_match = NULL;
currently marked as MAPPED, return that section. Else return NULL. */
asection *
-find_pc_mapped_section (pc)
- CORE_ADDR pc;
+find_pc_mapped_section (CORE_ADDR pc)
{
struct objfile *objfile;
struct obj_section *osect;
Print a list of mapped sections and their PC ranges */
void
-list_overlays_command (args, from_tty)
- char *args;
- int from_tty;
+list_overlays_command (char *args, int from_tty)
{
int nmapped = 0;
struct objfile *objfile;
Mark the named section as mapped (ie. residing at its VMA address). */
void
-map_overlay_command (args, from_tty)
- char *args;
- int from_tty;
+map_overlay_command (char *args, int from_tty)
{
struct objfile *objfile, *objfile2;
struct obj_section *sec, *sec2;
(ie. resident in its LMA address range, rather than the VMA range). */
void
-unmap_overlay_command (args, from_tty)
- char *args;
- int from_tty;
+unmap_overlay_command (char *args, int from_tty)
{
struct objfile *objfile;
struct obj_section *sec;
Possibly this should be done via a set/show command. */
static void
-overlay_auto_command (args, from_tty)
- char *args;
- int from_tty;
+overlay_auto_command (char *args, int from_tty)
{
overlay_debugging = -1;
if (info_verbose)
Possibly this should be done via a set/show command. */
static void
-overlay_manual_command (args, from_tty)
- char *args;
- int from_tty;
+overlay_manual_command (char *args, int from_tty)
{
overlay_debugging = 1;
if (info_verbose)
Possibly this should be done via a set/show command. */
static void
-overlay_off_command (args, from_tty)
- char *args;
- int from_tty;
+overlay_off_command (char *args, int from_tty)
{
overlay_debugging = 0;
if (info_verbose)
}
static void
-overlay_load_command (args, from_tty)
- char *args;
- int from_tty;
+overlay_load_command (char *args, int from_tty)
{
if (target_overlay_update)
(*target_overlay_update) (NULL);
struct cmd_list_element *overlaylist;
static void
-overlay_command (args, from_tty)
- char *args;
- int from_tty;
+overlay_command (char *args, int from_tty)
{
printf_unfiltered
("\"overlay\" must be followed by the name of an overlay command.\n");
/* Throw away the cached copy of _ovly_table */
static void
-simple_free_overlay_table ()
+simple_free_overlay_table (void)
{
if (cache_ovly_table)
free (cache_ovly_table);
#if 0
/* Throw away the cached copy of _ovly_region_table */
static void
-simple_free_overlay_region_table ()
+simple_free_overlay_region_table (void)
{
if (cache_ovly_region_table)
free (cache_ovly_region_table);
/* Read an array of ints from the target into a local buffer.
Convert to host order. int LEN is number of ints */
static void
-read_target_long_array (memaddr, myaddr, len)
- CORE_ADDR memaddr;
- unsigned int *myaddr;
- int len;
+read_target_long_array (CORE_ADDR memaddr, unsigned int *myaddr, int len)
{
char *buf = alloca (len * TARGET_LONG_BYTES);
int i;
/* Find and grab a copy of the target _ovly_table
(and _novlys, which is needed for the table's size) */
static int
-simple_read_overlay_table ()
+simple_read_overlay_table (void)
{
struct minimal_symbol *msym;
/* Find and grab a copy of the target _ovly_region_table
(and _novly_regions, which is needed for the table's size) */
static int
-simple_read_overlay_region_table ()
+simple_read_overlay_region_table (void)
{
struct minimal_symbol *msym;
success, 0 for failure. */
static int
-simple_overlay_update_1 (osect)
- struct obj_section *osect;
+simple_overlay_update_1 (struct obj_section *osect)
{
int i, size;
re-read the entire cache, and go ahead and update all sections. */
static void
-simple_overlay_update (osect)
- struct obj_section *osect;
+simple_overlay_update (struct obj_section *osect)
{
struct objfile *objfile;
void
-_initialize_symfile ()
+_initialize_symfile (void)
{
struct cmd_list_element *c;