Re: [PATCH v4 4/9] Explicit locations: introduce address locations

Doug Evans
2015-05-18T05:45:34Z

Keith Seitz <keiths@redhat.com> writes:
> This patch adds support for address locations, of the form "*ADDR".
> [Support for address linespecs has been removed/replaced by this "new"
> location type.] This patch also converts any existing address locations
> from its previous linespec type.
>
> gdb/ChangeLog:
>
> * breakpoint.c (create_thread_event_breakpoint): Convert
> linespec to address location.
> (init_breakpoint_sal): Likewise.
> * linespec.c (canonicalize_linespec): Do not handle address
> locations here.
> (convert_address_location_to_sals): New function; contents moved
> from ...
> (convert_linespc_to_sals): ... here.
> (parse_linespec): Remove address locations from linespec grammar.
> Remove handling of address locations.
> (linespec_lex_to_end): Remove handling of address linespecs.
> (event_location_to_sals): Handle ADDRESS_LOCATION.
> (linespec_expression_to_pc): Export.
> * linespec.h (linespec_expression_to_pc): Add declaration.
> * location.c (struct event_location.u) : New member.
> (new_address_location, get_address_location): New functions.
> (copy_event_location): Handle address locations.
> (delete_event_location): Likewise.
> (event_location_to_string): Likewise.
> (string_to_event_location): Likewise.
> (event_location_empty_p): Likewise.
> * location.h (enum event_location_type): Add ADDRESS_LOCATION.
> (new_address_location, get_address_location): Declare.
> * python/py-finishbreakpoint.c (bpfinishpy_init): Convert linespec
> to address location.
> * spu-tdep.c (spu_catch_start): Likewise.

LGTM