aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRandolph Chung <tausq@debian.org>2004-11-13 02:27:41 +0000
committerRandolph Chung <tausq@debian.org>2004-11-13 02:27:41 +0000
commitd73188182eee3fb4c87c24ec1139b0b04cf41c1e (patch)
tree0da366cbba027de2e8bf81b4cd663e512e433fda
parentb82f24bfcccac22405fdd57699093898abe88837 (diff)
downloadgdb-d73188182eee3fb4c87c24ec1139b0b04cf41c1e.zip
gdb-d73188182eee3fb4c87c24ec1139b0b04cf41c1e.tar.gz
gdb-d73188182eee3fb4c87c24ec1139b0b04cf41c1e.tar.bz2
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.
-rw-r--r--gdb/ChangeLog7
-rw-r--r--gdb/config/pa/tm-hppa.h6
-rw-r--r--gdb/parse.c66
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. */