2009-12-07 Tristan Gingold <gingold@adacore.com>
[deliverable/binutils-gdb.git] / gdb / symfile.h
index 5451c28ab6fc6fbe85ff76fef0b11e075f57f21d..9061009f705ae8ed62323efb8e2c02273ae191ed 100644 (file)
@@ -132,11 +132,10 @@ struct sym_fns
 
   void (*sym_init) (struct objfile *);
 
-  /* sym_read (objfile, mainline) Reads a symbol file into a psymtab
+  /* sym_read (objfile, symfile_flags) Reads a symbol file into a psymtab
      (or possibly a symtab).  OBJFILE is the objfile struct for the
-     file we are reading.  MAINLINE is 1 if this is the main symbol
-     table being read, and 0 if a secondary symbol file (e.g. shared
-     library or dynamically loaded file) is being read.  */
+     file we are reading.  SYMFILE_FLAGS are the flags passed to
+     symbol_file_add & co.  */
 
   void (*sym_read) (struct objfile *, int);
 
@@ -194,7 +193,7 @@ extern void extend_psymbol_list (struct psymbol_allocation_list *,
 /* #include "demangle.h" */
 
 extern const
-struct partial_symbol *add_psymbol_to_list (char *, int, domain_enum,
+struct partial_symbol *add_psymbol_to_list (char *, int, int, domain_enum,
                                            enum address_class,
                                            struct psymbol_allocation_list *,
                                            long, CORE_ADDR,
@@ -210,18 +209,34 @@ extern int free_named_symtabs (char *);
 
 extern void add_symtab_fns (struct sym_fns *);
 
+/* This enum encodes bit-flags passed as ADD_FLAGS parameter to
+   syms_from_objfile, symbol_file_add, etc.  */
+
+enum symfile_add_flags
+  {
+    /* Be chatty about what you are doing.  */
+    SYMFILE_VERBOSE = 1 << 1,
+
+    /* This is the main symbol file (as opposed to symbol file for dynamically
+       loaded code).  */
+    SYMFILE_MAINLINE = 1 << 2,
+
+    /* Do not call breakpoint_re_set when adding this symbol file.  */
+    SYMFILE_DEFER_BP_RESET = 1 << 3
+  };
+
 extern void syms_from_objfile (struct objfile *,
                               struct section_addr_info *,
-                              struct section_offsets *, int, int, int);
+                              struct section_offsets *, int, int);
 
-extern void new_symfile_objfile (struct objfile *, int, int);
+extern void new_symfile_objfile (struct objfile *, int);
 
 extern struct objfile *symbol_file_add (char *, int,
-                                       struct section_addr_info *, int, int);
+                                       struct section_addr_info *, int);
 
 extern struct objfile *symbol_file_add_from_bfd (bfd *, int,
                                                  struct section_addr_info *,
-                                                 int, int);
+                                                 int);
 
 /* Create a new section_addr_info, with room for NUM_SECTIONS.  */
 
@@ -250,7 +265,7 @@ extern void free_section_addr_info (struct section_addr_info *);
 
 extern struct partial_symtab *start_psymtab_common (struct objfile *,
                                                    struct section_offsets *,
-                                                   char *, CORE_ADDR,
+                                                   const char *, CORE_ADDR,
                                                    struct partial_symbol **,
                                                    struct partial_symbol **);
 
@@ -268,13 +283,6 @@ extern char *obconcat (struct obstack *obstackp, const char *, const char *,
 
                        /*   Variables   */
 
-/* If non-zero, gdb will notify the user when it is loading symbols
-   from a file.  This is almost always what users will want to have happen;
-   but for programs with lots of dynamically linked libraries, the output
-   can be more noise than signal.  */
-
-extern int print_symbol_loading;
-
 /* If non-zero, shared library symbols will be added automatically
    when the inferior is created, new libraries are loaded, or when
    attaching to the inferior.  This is almost always what users will
@@ -300,7 +308,8 @@ extern int auto_solib_limit;
 
 extern void set_initial_language (void);
 
-extern struct partial_symtab *allocate_psymtab (char *, struct objfile *);
+extern struct partial_symtab *allocate_psymtab (const char *,
+                                               struct objfile *);
 
 extern void discard_psymtab (struct partial_symtab *);
 
@@ -370,7 +379,7 @@ void free_symfile_segment_data (struct symfile_segment_data *data);
 
 extern int dwarf2_has_info (struct objfile *);
 
-extern void dwarf2_build_psymtabs (struct objfile *, int);
+extern void dwarf2_build_psymtabs (struct objfile *);
 extern void dwarf2_build_frame_info (struct objfile *);
 
 void dwarf2_free_objfile (struct objfile *);
This page took 0.023953 seconds and 4 git commands to generate.