diff options
author | Tom Tromey <tom@tromey.com> | 2018-05-20 11:13:12 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2018-07-16 08:55:17 -0600 |
commit | 2150c3ef045a525b1d74c06eb8b0811621f264e3 (patch) | |
tree | 3d1608f5efcf47922f1ae3a1e4f72d1b1cc0a411 | |
parent | 0ec44fc067ca71f968a4fedda1c17cba2e5ad0ca (diff) | |
download | gdb-2150c3ef045a525b1d74c06eb8b0811621f264e3.zip gdb-2150c3ef045a525b1d74c06eb8b0811621f264e3.tar.gz gdb-2150c3ef045a525b1d74c06eb8b0811621f264e3.tar.bz2 |
Move some code from buildsym to stabsread
A few things that currently reside in buildsym.c turn out to be
specific to the stabs reader. This patch moves these from
buildsym.[ch] to stabsread.[ch].
gdb/ChangeLog
2018-07-16 Tom Tromey <tom@tromey.com>
* stabsread.h (HASHSIZE, hashname, symnum, next_symbol_text)
(next_symbol_text_func): Move from buildsym.h.
* stabsread.c (hashname): Move from buildsym.c.
* buildsym.h (HASHSIZE, symnum, next_symbol_text)
(next_symbol_text_func, hashname): Move to stabsread.h.
* buildsym.c: Don't include bcache.h
(hashname): Move to stasbread.c.
-rw-r--r-- | gdb/ChangeLog | 10 | ||||
-rw-r--r-- | gdb/buildsym.c | 10 | ||||
-rw-r--r-- | gdb/buildsym.h | 15 | ||||
-rw-r--r-- | gdb/stabsread.c | 9 | ||||
-rw-r--r-- | gdb/stabsread.h | 17 |
5 files changed, 36 insertions, 25 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 39936a4..ad72cd8 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,15 @@ 2018-07-16 Tom Tromey <tom@tromey.com> + * stabsread.h (HASHSIZE, hashname, symnum, next_symbol_text) + (next_symbol_text_func): Move from buildsym.h. + * stabsread.c (hashname): Move from buildsym.c. + * buildsym.h (HASHSIZE, symnum, next_symbol_text) + (next_symbol_text_func, hashname): Move to stabsread.h. + * buildsym.c: Don't include bcache.h + (hashname): Move to stasbread.c. + +2018-07-16 Tom Tromey <tom@tromey.com> + * buildsym.h (context_stack_size): Don't declare. * buildsym.c (context_stack_size): New global. diff --git a/gdb/buildsym.c b/gdb/buildsym.c index 26c5110..f2176e2 100644 --- a/gdb/buildsym.c +++ b/gdb/buildsym.c @@ -74,7 +74,6 @@ #include "gdbtypes.h" #include "complaints.h" #include "expression.h" /* For "enum exp_opcode" used by... */ -#include "bcache.h" #include "filenames.h" /* For DOSish file names. */ #include "macrotab.h" #include "demangle.h" /* Needed by SYMBOL_INIT_DEMANGLED_NAME. */ @@ -1667,15 +1666,6 @@ pop_context (void) -/* Compute a small integer hash code for the given name. */ - -int -hashname (const char *name) -{ - return (hash(name,strlen(name)) % HASHSIZE); -} - - void record_debugformat (const char *format) { diff --git a/gdb/buildsym.h b/gdb/buildsym.h index 191db8c..0b19c39 100644 --- a/gdb/buildsym.h +++ b/gdb/buildsym.h @@ -46,9 +46,6 @@ struct dynamic_prop; #define EXTERN extern #endif -#define HASHSIZE 127 /* Size of things hashed via - hashname(). */ - /* The list of sub-source-files within the current individual compilation. Each file gets its own symtab with its own linetable and associated info, but they all share one blockvector. */ @@ -74,10 +71,6 @@ EXTERN struct subfile *current_subfile; EXTERN unsigned char processing_gcc_compilation; -/* Count symbols as they are processed, for error messages. */ - -EXTERN unsigned int symnum; - /* Record the symbols defined for each context in a list. We don't create a struct block for the context until we know how long to make it. */ @@ -173,12 +166,6 @@ typedef void (record_line_ftype) (struct subfile *subfile, int line, -#define next_symbol_text(objfile) (*next_symbol_text_func)(objfile) - -/* Function to invoke get the next symbol. Return the symbol name. */ - -EXTERN const char *(*next_symbol_text_func) (struct objfile *); - extern void add_symbol_to_list (struct symbol *symbol, struct pending **listhead); @@ -251,8 +238,6 @@ extern struct compunit_symtab *start_symtab (struct objfile *objfile, extern void restart_symtab (struct compunit_symtab *cust, const char *name, CORE_ADDR start_addr); -extern int hashname (const char *name); - extern void free_pending_blocks (void); /* Record the name of the debug format in the current pending symbol diff --git a/gdb/stabsread.c b/gdb/stabsread.c index ed4a3d3..e4513c6 100644 --- a/gdb/stabsread.c +++ b/gdb/stabsread.c @@ -44,6 +44,7 @@ #include "target-float.h" #include "cp-abi.h" #include "cp-support.h" +#include "bcache.h" #include <ctype.h> /* Ask stabsread.h to define the vars it normally declares `extern'. */ @@ -4814,6 +4815,14 @@ find_name_end (const char *name) } } +/* See stabsread.h. */ + +int +hashname (const char *name) +{ + return hash (name, strlen (name)) % HASHSIZE; +} + /* Initializer for this module. */ void diff --git a/gdb/stabsread.h b/gdb/stabsread.h index d24b25d..38e001a 100644 --- a/gdb/stabsread.h +++ b/gdb/stabsread.h @@ -31,6 +31,23 @@ enum language; #define EXTERN extern #endif +#define HASHSIZE 127 /* Size of things hashed via + hashname(). */ + +/* Compute a small integer hash code for the given name. */ + +extern int hashname (const char *name); + +/* Count symbols as they are processed, for error messages. */ + +EXTERN unsigned int symnum; + +#define next_symbol_text(objfile) (*next_symbol_text_func)(objfile) + +/* Function to invoke get the next symbol. Return the symbol name. */ + +EXTERN const char *(*next_symbol_text_func) (struct objfile *); + /* Hash table of global symbols whose values are not known yet. They are chained thru the SYMBOL_VALUE_CHAIN, since we don't have the correct data for that slot yet. |