diff options
-rw-r--r-- | gdb/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/config/pa/tm-hppa.h | 6 | ||||
-rw-r--r-- | gdb/parse.c | 66 |
3 files changed, 29 insertions, 50 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 12f994f..d056e66 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,12 @@ 2004-11-12 Randolph Chung <tausq@debian.org> + * config/tm/tm-hppa.h (SYMBOLS_CAN_START_WITH_DOLLAR): Remove. + * parse.c (SYMBOLS_CAN_START_WITH_DOLLAR): Remove. + (write_exp_msymbol): Remove conditional check for symbols starting + with $. Update comments. + +2004-11-12 Randolph Chung <tausq@debian.org> + * pa64solib.c (pa64_solib_thread_start_addr): Rename from so_lib_thread_start_addr. * pa64solib.h (so_list): Forward declare. diff --git a/gdb/config/pa/tm-hppa.h b/gdb/config/pa/tm-hppa.h index 6a1cffd..2f77fcd 100644 --- a/gdb/config/pa/tm-hppa.h +++ b/gdb/config/pa/tm-hppa.h @@ -34,9 +34,3 @@ extern int hppa_pc_requires_run_before_use (CORE_ADDR pc); extern int hppa_instruction_nullified (void); #define INSTRUCTION_NULLIFIED hppa_instruction_nullified () #endif - -/* On HP-UX, certain system routines (millicode) have names beginning - with $ or $$, e.g. $$dyncall, which handles inter-space procedure - calls on PA-RISC. Tell the expression parser to check for those - when parsing tokens that begin with "$". */ -#define SYMBOLS_CAN_START_WITH_DOLLAR (1) diff --git a/gdb/parse.c b/gdb/parse.c index 61d28f7..c65d8bc 100644 --- a/gdb/parse.c +++ b/gdb/parse.c @@ -64,21 +64,6 @@ const struct exp_descriptor exp_descriptor_standard = evaluate_subexp_standard }; -/* Symbols which architectures can redefine. */ - -/* Some systems have routines whose names start with `$'. Giving this - macro a non-zero value tells GDB's expression parser to check for - such routines when parsing tokens that begin with `$'. - - On HP-UX, certain system routines (millicode) have names beginning - with `$' or `$$'. For example, `$$dyncall' is a millicode routine - that handles inter-space procedure calls on PA-RISC. */ -#ifndef SYMBOLS_CAN_START_WITH_DOLLAR -#define SYMBOLS_CAN_START_WITH_DOLLAR (0) -#endif - - - /* Global variables declared in parser-defs.h (and commented there). */ struct expression *expout; int expout_size; @@ -437,6 +422,9 @@ write_exp_msymbol (struct minimal_symbol *msymbol, void write_dollar_variable (struct stoken str) { + struct symbol *sym = NULL; + struct minimal_symbol *msym = NULL; + /* Handle the tokens $digits; also $ (short for $0) and $$ (short for $$1) and $$digits (equivalent to $<-digits> if you could type that). */ @@ -474,36 +462,26 @@ write_dollar_variable (struct stoken str) if (i >= 0) goto handle_register; - if (SYMBOLS_CAN_START_WITH_DOLLAR) - { - struct symbol *sym = NULL; - struct minimal_symbol *msym = NULL; - - /* On HP-UX, certain system routines (millicode) have names beginning - with $ or $$, e.g. $$dyncall, which handles inter-space procedure - calls on PA-RISC. Check for those, first. */ + /* On some systems, such as HP-UX and hppa-linux, certain system routines + have names beginning with $ or $$. Check for those, first. */ - /* This code is not enabled on non HP-UX systems, since worst case - symbol table lookup performance is awful, to put it mildly. */ - - sym = lookup_symbol (copy_name (str), (struct block *) NULL, - VAR_DOMAIN, (int *) NULL, (struct symtab **) NULL); - if (sym) - { - write_exp_elt_opcode (OP_VAR_VALUE); - write_exp_elt_block (block_found); /* set by lookup_symbol */ - write_exp_elt_sym (sym); - write_exp_elt_opcode (OP_VAR_VALUE); - return; - } - msym = lookup_minimal_symbol (copy_name (str), NULL, NULL); - if (msym) - { - write_exp_msymbol (msym, - lookup_function_type (builtin_type_int), - builtin_type_int); - return; - } + sym = lookup_symbol (copy_name (str), (struct block *) NULL, + VAR_DOMAIN, (int *) NULL, (struct symtab **) NULL); + if (sym) + { + write_exp_elt_opcode (OP_VAR_VALUE); + write_exp_elt_block (block_found); /* set by lookup_symbol */ + write_exp_elt_sym (sym); + write_exp_elt_opcode (OP_VAR_VALUE); + return; + } + msym = lookup_minimal_symbol (copy_name (str), NULL, NULL); + if (msym) + { + write_exp_msymbol (msym, + lookup_function_type (builtin_type_int), + builtin_type_int); + return; } /* Any other names starting in $ are debugger internal variables. */ |