Explicitly include <array> for std::array<>.
[deliverable/binutils-gdb.git] / gdb / minsyms.h
index b22920b08d80830bef3a4a1ad995b6e6fa907fc2..dc517254e9e8eb406b0fc57ffe8c8e740c5c4f1f 100644 (file)
@@ -1,6 +1,6 @@
 /* Minimal symbol table definitions for GDB.
 
-   Copyright (C) 2011-2016 Free Software Foundation, Inc.
+   Copyright (C) 2011-2017 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -20,6 +20,8 @@
 #ifndef MINSYMS_H
 #define MINSYMS_H
 
+struct type;
+
 /* Several lookup functions return both a minimal symbol and the
    objfile in which it is found.  This structure is used in these
    cases.  */
@@ -93,35 +95,35 @@ class minimal_symbol_reader
      ADDRESS - the address of the symbol
      MS_TYPE - the type of the symbol
      SECTION - the symbol's section
-     appropriate obj_section for the minimal symbol.  This can be NULL.
-     OBJFILE - the objfile associated with the minimal symbol.  */
+  */
 
   struct minimal_symbol *record_full (const char *name,
                                      int name_len,
-                                     int copy_name,
+                                     bool copy_name,
                                      CORE_ADDR address,
                                      enum minimal_symbol_type ms_type,
                                      int section);
 
   /* Like record_full, but:
      - uses strlen to compute NAME_LEN,
-     - passes COPY_NAME = 1,
+     - passes COPY_NAME = true,
      - and passes a default SECTION, depending on the type
 
      This variant does not return the new symbol.  */
 
-  void record (const char *, CORE_ADDR, enum minimal_symbol_type);
+  void record (const char *name, CORE_ADDR address,
+              enum minimal_symbol_type ms_type);
 
   /* Like record_full, but:
      - uses strlen to compute NAME_LEN,
-     - passes COPY_NAME = 1.  */
+     - passes COPY_NAME = true.  */
 
   struct minimal_symbol *record_with_info (const char *name,
                                           CORE_ADDR address,
                                           enum minimal_symbol_type ms_type,
                                           int section)
   {
-    return record_full (name, strlen (name), 1, address, ms_type, section);
+    return record_full (name, strlen (name), true, address, ms_type, section);
   }
 
  private:
@@ -157,6 +159,10 @@ void terminate_minimal_symbol_table (struct objfile *objfile);
 
 \f
 
+/* Return whether MSYMBOL is a function/method.  */
+
+bool msymbol_is_text (minimal_symbol *msymbol);
+
 /* Compute a hash code for the string argument.  */
 
 unsigned int msymbol_hash (const char *);
@@ -271,4 +277,11 @@ void iterate_over_minimal_symbols (struct objfile *objf,
 
 CORE_ADDR minimal_symbol_upper_bound (struct bound_minimal_symbol minsym);
 
+/* Return the type of MSYMBOL, a minimal symbol of OBJFILE.  If
+   ADDRESS_P is not NULL, set it to the MSYMBOL's resolved
+   address.  */
+
+type *find_minsym_type_and_address (minimal_symbol *msymbol, objfile *objf,
+                                   CORE_ADDR *address_p);
+
 #endif /* MINSYMS_H */
This page took 0.025518 seconds and 4 git commands to generate.