From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11382 invoked by alias); 12 Nov 2004 17:55:45 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 11200 invoked from network); 12 Nov 2004 17:55:31 -0000 Received: from unknown (HELO pippin.tausq.org) (64.81.244.94) by sourceware.org with SMTP; 12 Nov 2004 17:55:31 -0000 Received: by pippin.tausq.org (Postfix, from userid 1000) id 58C5DCD7FB; Fri, 12 Nov 2004 09:55:31 -0800 (PST) Date: Fri, 12 Nov 2004 17:55:00 -0000 From: Randolph Chung To: gdb-patches@sources.redhat.com Subject: [RFA] Cleanup SYMBOLS_CAN_START_WITH_DOLLAR Message-ID: <20041112175531.GH15714@tausq.org> Reply-To: Randolph Chung Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-GPG: for GPG key, see http://www.tausq.org/gpg.txt User-Agent: Mutt/1.5.5.1+cvs20040105i X-SW-Source: 2004-11/txt/msg00267.txt.bz2 Ref: http://sources.redhat.com/ml/gdb/2004-11/msg00097.html Trying to get rid of more of these hppa-only defines.... ok? randolph 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. Index: config/pa/tm-hppa.h =================================================================== RCS file: /cvs/src/src/gdb/config/pa/tm-hppa.h,v retrieving revision 1.75 diff -u -p -r1.75 tm-hppa.h --- config/pa/tm-hppa.h 2 Sep 2004 14:17:41 -0000 1.75 +++ config/pa/tm-hppa.h 12 Nov 2004 17:50:26 -0000 @@ -38,9 +38,3 @@ extern int hppa_instruction_nullified (v /* Here's how to step off a permanent breakpoint. */ #define SKIP_PERMANENT_BREAKPOINT (hppa_skip_permanent_breakpoint) extern void hppa_skip_permanent_breakpoint (void); - -/* 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) Index: parse.c =================================================================== RCS file: /cvs/src/src/gdb/parse.c,v retrieving revision 1.43 diff -u -p -r1.43 parse.c --- parse.c 26 Jul 2004 14:53:04 -0000 1.43 +++ parse.c 12 Nov 2004 17:50:26 -0000 @@ -64,21 +64,6 @@ const struct exp_descriptor exp_descript 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 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 some systems, such as HP-UX and hppa-linux, certain system routines + have names beginning with $ or $$. Check for those, first. */ - /* 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. */ - - /* 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. */ -- Randolph Chung Debian GNU/Linux Developer, hppa/ia64 ports http://www.tausq.org/