aboutsummaryrefslogtreecommitdiff
path: root/config.sub
diff options
context:
space:
mode:
authorSergio Durigan Junior <sergiodj@redhat.com>2015-08-21 18:13:46 -0400
committerSergio Durigan Junior <sergiodj@redhat.com>2015-09-02 00:11:30 -0400
commitf469e8ce11672e26feb5ba6f9a134275fcfd5b4f (patch)
tree17265ca449545f59da14ea2e4148cbb3ae237652 /config.sub
parent700190e776d81339df675fd3db95da0a9ba49d34 (diff)
downloadgdb-f469e8ce11672e26feb5ba6f9a134275fcfd5b4f.zip
gdb-f469e8ce11672e26feb5ba6f9a134275fcfd5b4f.tar.gz
gdb-f469e8ce11672e26feb5ba6f9a134275fcfd5b4f.tar.bz2
Improve error reporting when handling SystemTap SDT probes
This patch improves the error reporting when handling SystemTap SDT probes. "Handling", in this case, mostly means "parsing". On gdb/probe.h, only trivial changes on functions' comments in order to explicitly mention that some of them can throw exceptions. This is just to make the API a bit more clear. On gdb/stap-probe.c, I have s/internal_error/error/ on two functions that are responsible for parsing specific bits of the probes' arguments: stap_get_opcode and stap_get_expected_argument_type. It is not correct to call internal_error on such situations because it is not really GDB's fault if the probes have malformed arguments. I also improved the error reported on stap_get_expected_argument_type by also including the probe name on it. Aside from that, and perhaps most importantly, I added a check on stap_get_arg to make sure that we don't try to extract an argument from a probe that has no arguments. This check issues an internal_error, because it really means that GDB is doing something it shouldn't. Although it can be considered almost trivial, and despite the fact that I am the maintainer for this part of the code, I am posting this patch for review. I will wait a few days, and if nobody has anything to say, I will go ahead and push it. gdb/ChangeLog: 2015-09-01 Sergio Durigan Junior <sergiodj@redhat.com> * probe.h (struct probe_ops) <get_probe_argument_count, evaluate_probe_argument, enable_probe, disable_probe>: Mention in the comment that the function can throw an exception. (get_probe_argument_count): Likewise. (evaluate_probe_argument): Likewise. * stap-probe.c (stap_get_opcode): Call error instead of internal_error. (stap_get_expected_argument_type): Likewise. Add argument 'probe'. Improve error message by mentioning the probe's name. (stap_parse_probe_arguments): Adjust call to stap_get_expected_argument_type. (stap_get_arg): Add comment. Assert that 'probe->args_parsed' is not zero. Call internal_error if GDB requests an argument but the probe has no arguments.
Diffstat (limited to 'config.sub')
0 files changed, 0 insertions, 0 deletions