From d73188182eee3fb4c87c24ec1139b0b04cf41c1e Mon Sep 17 00:00:00 2001 From: Randolph Chung Date: Sat, 13 Nov 2004 02:27:41 +0000 Subject: [PATCH] 2004-11-12 Randolph Chung * 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. --- gdb/ChangeLog | 7 +++++ gdb/config/pa/tm-hppa.h | 6 ---- gdb/parse.c | 66 ++++++++++++++--------------------------- 3 files changed, 29 insertions(+), 50 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 12f994fc8f1..d056e6600ce 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2004-11-12 Randolph Chung + + * 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 * pa64solib.c (pa64_solib_thread_start_addr): Rename from diff --git a/gdb/config/pa/tm-hppa.h b/gdb/config/pa/tm-hppa.h index 6a1cffdc703..2f77fcd15da 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 61d28f70663..c65d8bc4407 100644 --- a/gdb/parse.c +++ b/gdb/parse.c @@ -63,21 +63,6 @@ const struct exp_descriptor exp_descriptor_standard = dump_subexp_body_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; @@ -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. */ -- 2.34.1