X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fsymfile.h;h=cd94d8558500e5ec7502b7a18218fd7b15655b7c;hb=b15cc25cbe7c13e450f77b4a309223b9b3da3936;hp=a22ee040d5c1ff4a458325cf7acdc5eb9de853bb;hpb=f176c4b57f57c8965807256bad1cd487b92b5457;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/symfile.h b/gdb/symfile.h index a22ee040d5..cd94d85585 100644 --- a/gdb/symfile.h +++ b/gdb/symfile.h @@ -1,6 +1,6 @@ /* Definitions for reading symbol files into GDB. - Copyright (C) 1990-2015 Free Software Foundation, Inc. + Copyright (C) 1990-2016 Free Software Foundation, Inc. This file is part of GDB. @@ -23,6 +23,8 @@ /* This file requires that you first include "bfd.h". */ #include "symtab.h" #include "probe.h" +#include "symfile-add-flags.h" +#include "objfile-flags.h" /* Opaque declarations. */ struct target_section; @@ -72,6 +74,15 @@ struct psymbol_allocation_list int size; }; +struct other_sections +{ + CORE_ADDR addr; + char *name; + + /* SECTINDEX must be valid for associated BFD or set to -1. */ + int sectindex; +}; + /* Define an array of addresses to accommodate non-contiguous dynamic loading of modules. This is for use when entering commands, so we can keep track of the section names until we read the file and can @@ -85,14 +96,7 @@ struct section_addr_info available. */ size_t num_sections; /* Sections whose names are file format dependent. */ - struct other_sections - { - CORE_ADDR addr; - char *name; - - /* SECTINDEX must be valid for associated BFD or set to -1. */ - int sectindex; - } other[1]; + struct other_sections other[1]; }; @@ -238,7 +242,7 @@ struct quick_symbol_functions void (*expand_symtabs_with_fullname) (struct objfile *objfile, const char *fullname); - /* Find global or static symbols in all tables that are in NAMESPACE + /* Find global or static symbols in all tables that are in DOMAIN and for which MATCH (symbol name, NAME) == 0, passing each to CALLBACK, reading in partial symbol tables as needed. Look through global symbols if GLOBAL and otherwise static symbols. @@ -256,7 +260,7 @@ struct quick_symbol_functions non-zero to indicate that the scan should be terminated. */ void (*map_matching_symbols) (struct objfile *, - const char *name, domain_enum namespace, + const char *name, domain_enum domain, int global, int (*callback) (struct block *, struct symbol *, void *), @@ -345,7 +349,7 @@ struct sym_fns file we are reading. SYMFILE_FLAGS are the flags passed to symbol_file_add & co. */ - void (*sym_read) (struct objfile *, int); + void (*sym_read) (struct objfile *, symfile_add_flags); /* Read the partial symbols for an objfile. This may be NULL, in which case gdb has to check other ways if this objfile has any symbols. This may @@ -434,40 +438,23 @@ extern void add_compunit_symtab_to_objfile (struct compunit_symtab *cu); extern void add_symtab_fns (enum bfd_flavour flavour, const struct sym_fns *); -extern void clear_symtab_users (int add_flags); +extern void clear_symtab_users (symfile_add_flags add_flags); extern enum language deduce_language_from_filename (const char *); -/* This enum encodes bit-flags passed as ADD_FLAGS parameter to - symbol_file_add, etc. */ - -enum symfile_add_flags - { - /* Be chatty about what you are doing. */ - SYMFILE_VERBOSE = 1 << 1, +/* Map the filename extension EXT to the language LANG. Any previous + association of EXT will be removed. EXT will be copied by this + function. */ +extern void add_filename_language (const char *ext, enum language lang); - /* This is the main symbol file (as opposed to symbol file for dynamically - loaded code). */ - SYMFILE_MAINLINE = 1 << 2, +extern struct objfile *symbol_file_add (const char *, symfile_add_flags, + struct section_addr_info *, objfile_flags); - /* Do not call breakpoint_re_set when adding this symbol file. */ - SYMFILE_DEFER_BP_RESET = 1 << 3, - - /* Do not immediately read symbols for this file. By default, - symbols are read when the objfile is created. */ - SYMFILE_NO_READ = 1 << 4 - }; - -extern void new_symfile_objfile (struct objfile *, int); - -extern struct objfile *symbol_file_add (const char *, int, - struct section_addr_info *, int); - -extern struct objfile *symbol_file_add_from_bfd (bfd *, const char *, int, +extern struct objfile *symbol_file_add_from_bfd (bfd *, const char *, symfile_add_flags, struct section_addr_info *, - int, struct objfile *parent); + objfile_flags, struct objfile *parent); -extern void symbol_file_add_separate (bfd *, const char *, int, +extern void symbol_file_add_separate (bfd *, const char *, symfile_add_flags, struct objfile *); extern char *find_separate_debug_file_by_debuglink (struct objfile *); @@ -514,8 +501,6 @@ extern void find_lowest_section (bfd *, asection *, void *); extern bfd *symfile_bfd_open (const char *); -extern bfd *gdb_bfd_open_maybe_remote (const char *); - extern int get_section_index (struct objfile *, char *); extern int print_symbol_loading_p (int from_tty, int mainline, int full); @@ -649,7 +634,8 @@ void dwarf2_free_objfile (struct objfile *); /* From mdebugread.c */ -extern void mdebug_build_psymtabs (struct objfile *, +extern void mdebug_build_psymtabs (minimal_symbol_reader &, + struct objfile *, const struct ecoff_debug_swap *, struct ecoff_debug_info *);