From: Thiago Jung Bauermann <bauerman@br.ibm.com>
To: gdb-patches ml <gdb-patches@sourceware.org>
Subject: [RFA] Fix decode_indirect to use parse_to_comma_and_eval
Date: Wed, 23 Feb 2011 20:47:00 -0000 [thread overview]
Message-ID: <1298493740.3172.28.camel@hactar> (raw)
Hi,
This came up in the discussion about the ranged breakpoints patch. I
needed the break-range command to accept locations of the form *PC in a
string of the form "*PC_START, *PC_END" but couldn't call
parse_breakpoint_sals because decode_indirect (called by decode_line_1)
tried to read past the comma and got confused. Ulrich mentioned that it
should stop at the comma. This patch implements that.
I removed parse_and_eval_address_1 because it is not called by anybody
after the change in this patch (I checked Insight too).
No regressions on ppc-linux and ppc64-linux. Ok?
--
[]'s
Thiago Jung Bauermann
IBM Linux Technology Center
2011-02-23 Thiago Jung Bauermann <bauerman@br.ibm.com>
* eval.c (parse_and_eval_address_1): Remove function.
* linespec.c (decode_indirect): Call parse_to_comma_and_eval
instead of parse_and_eval_address_1.
* value.h (parse_and_eval_address_1): Remove prototype.
diff --git a/gdb/eval.c b/gdb/eval.c
index de25b39..c737058 100644
--- a/gdb/eval.c
+++ b/gdb/eval.c
@@ -93,22 +93,6 @@ parse_and_eval_address (char *exp)
return addr;
}
-/* Like parse_and_eval_address but takes a pointer to a char * variable
- and advanced that variable across the characters parsed. */
-
-CORE_ADDR
-parse_and_eval_address_1 (char **expptr)
-{
- struct expression *expr = parse_exp_1 (expptr, (struct block *) 0, 0);
- CORE_ADDR addr;
- struct cleanup *old_chain =
- make_cleanup (free_current_contents, &expr);
-
- addr = value_as_address (evaluate_expression (expr));
- do_cleanups (old_chain);
- return addr;
-}
-
/* Like parse_and_eval_address, but treats the value of the expression
as an integer, not an address, returns a LONGEST, not a CORE_ADDR. */
LONGEST
diff --git a/gdb/linespec.c b/gdb/linespec.c
index e801381..a539c9a 100644
--- a/gdb/linespec.c
+++ b/gdb/linespec.c
@@ -980,7 +980,7 @@ decode_indirect (char **argptr)
CORE_ADDR pc;
(*argptr)++;
- pc = parse_and_eval_address_1 (argptr);
+ pc = value_as_address (parse_to_comma_and_eval (argptr));
values.sals = (struct symtab_and_line *)
xmalloc (sizeof (struct symtab_and_line));
diff --git a/gdb/value.h b/gdb/value.h
index e019e56..1a9df49 100644
--- a/gdb/value.h
+++ b/gdb/value.h
@@ -661,8 +661,6 @@ extern struct type *parse_and_eval_type (char *p, int length);
extern CORE_ADDR parse_and_eval_address (char *exp);
-extern CORE_ADDR parse_and_eval_address_1 (char **expptr);
-
extern LONGEST parse_and_eval_long (char *exp);
extern void unop_promote (const struct language_defn *language,
next reply other threads:[~2011-02-23 20:42 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-23 20:47 Thiago Jung Bauermann [this message]
2011-03-01 17:08 ` Tom Tromey
2011-03-04 20:16 ` Thiago Jung Bauermann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1298493740.3172.28.camel@hactar \
--to=bauerman@br.ibm.com \
--cc=gdb-patches@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox