differ from this e.g. with respect to register types and names. */
struct gdbarch *gdbarch;
+
+ /* Hash table for mapping symbol names to demangled names. Each
+ entry in the hash table is actually two consecutive strings,
+ both null-terminated; the first one is a mangled or linkage
+ name, and the second is the demangled name or just a zero byte
+ if the name doesn't demangle. */
+ struct htab *demangled_names_hash;
};
/* Master structure for keeping track of each file from which
struct objfile *next;
- /* The object file's name, tilde-expanded and absolute. This
- pointer is never NULL. This does not have to be freed; it is
+ /* The object file's original name as specified by the user,
+ made absolute, and tilde-expanded. However, it is not canonicalized
+ (i.e., it has not been passed through gdb_realpath).
+ This pointer is never NULL. This does not have to be freed; it is
guaranteed to have a lifetime at least as long as the objfile. */
char *original_name;
struct psymbol_bcache *psymbol_cache; /* Byte cache for partial syms. */
- /* Hash table for mapping symbol names to demangled names. Each
- entry in the hash table is actually two consecutive strings,
- both null-terminated; the first one is a mangled or linkage
- name, and the second is the demangled name or just a zero byte
- if the name doesn't demangle. */
- struct htab *demangled_names_hash;
-
/* Vectors of all partial symbols read in from file. The actual data
is stored in the objfile_obstack. */
#define OBJF_MAINLINE (1 << 5)
+/* ORIGINAL_NAME and OBFD->FILENAME correspond to text description unrelated to
+ filesystem names. It can be for example "<image in memory>". */
+
+#define OBJF_NOT_FILENAME (1 << 6)
+
/* Declarations for functions defined in objfiles.c */
extern struct objfile *allocate_objfile (bfd *, const char *name, int);
extern int have_full_symbols (void);
+extern void objfile_set_sym_fns (struct objfile *objfile,
+ const struct sym_fns *sf);
+
extern void objfiles_changed (void);
+extern int is_addr_in_objfile (CORE_ADDR addr, const struct objfile *objfile);
+
/* This operation deletes all objfile entries that represent solibs that
weren't explicitly loaded by the user, via e.g., the add-symbol-file
command. */