XML feature description support.
authorDaniel Jacobowitz <drow@false.org>
Tue, 9 Jan 2007 22:55:10 +0000 (22:55 +0000)
committerDaniel Jacobowitz <drow@false.org>
Tue, 9 Jan 2007 22:55:10 +0000 (22:55 +0000)
commit23181151a2399f4ecbc272cda73172a078d1b435
treeea2a6e528a8ea59c2af185ebd8e1d1c7c08d7a55
parent3e9cb5f4b2410bf5b0e0659dbeb532f08c2963de
XML feature description support.

* NEWS: Mention target descriptions, "set tdesc filename",
"unset tdesc filename", "show tdesc filename", and
qXfer:features:read.
* arch-utils.c (choose_architecture_for_target): New function.
(gdbarch_info_fill): Call it.
* target-descriptions.c (struct property): Make members non-const.
(struct target_desc): Add arch member.
(target_description_filename): New variable.
(target_find_description): Try via XML first.
(tdesc_architecture): New.
(free_target_description, make_cleanup_free_target_description): New.
(set_tdesc_property): Call xstrdup.
(set_tdesc_architecture, tdesc_set_cmdlist, tdesc_show_cmdlist)
(tdesc_unset_cmdlist, unset_tdesc_cmd, unset_tdesc_filename_cmd)
(set_tdesc_cmd, show_tdesc_cmd, set_tdesc_filename_cmd)
(show_tdesc_filename_cmd, _initialize_target_descriptions): New.
* target-descriptions.h (tdesc_architecture)
(make_cleanup_free_target_description, set_tdesc_architecture): New
prototypes.
* Makefile.in (SFILES): Add xml-tdesc.c.
(COMMON_OBS): Add xml-tdesc.o.
(target-descriptions.o): Update.
(xml-tdesc.o): New rule.
* xml-tdesc.c, xml-tdesc.h: New files.
* remote.c (PACKET_qXfer_features): New enum.
(remote_protocol_features): Add qXfer:features:read.
(remote_xfer_partial): Handle TARGET_OBJECT_AVAILABLE_FEATURES.
(_initialize_remote): Register qXfer:features:read.
* target.h (enum target_object): Add TARGET_OBJECT_AVAILABLE_FEATURES.
* features/gdb-target.dtd: New file.

* linux-i386-low.c (the_low_target): Set arch_string.
* linux-x86-64-low.c (the_low_target): Likewise.
* linux-low.c (linux_arch_string): New.
(linux_target_ops): Add it.
* linux-low.h (struct linux_target_ops): Add arch_string.
* server.c (write_qxfer_response): Use const void * for DATA.
(get_features_xml): New.
(handle_query): Handle qXfer:features:read.  Report it for qSupported.
* target.h (struct target_ops): Add arch_string method.

* gdb.texinfo (Target Descriptions): New section.
(General Query Packets): Add QPassSignals anchor.  Mention
qXfer:features:read under qSupported.  Expand mentions of
qXfer:memory-map:read and QPassSignals.  Document
qXfer:features:read.
19 files changed:
gdb/ChangeLog
gdb/Makefile.in
gdb/NEWS
gdb/arch-utils.c
gdb/doc/ChangeLog
gdb/doc/gdb.texinfo
gdb/gdbserver/ChangeLog
gdb/gdbserver/linux-i386-low.c
gdb/gdbserver/linux-low.c
gdb/gdbserver/linux-low.h
gdb/gdbserver/linux-x86-64-low.c
gdb/gdbserver/server.c
gdb/gdbserver/target.h
gdb/remote.c
gdb/target-descriptions.c
gdb/target-descriptions.h
gdb/target.h
gdb/xml-tdesc.c [new file with mode: 0644]
gdb/xml-tdesc.h [new file with mode: 0644]