binutils-gdb/gdb/features
Markus Metzger b20a652466 btrace: support Intel(R) Processor Trace
Adds a new command "record btrace pt" to configure the kernel to use
Intel(R) Processor Trace instead of Branch Trace Strore.

The "record btrace" command chooses the tracing format automatically.

Intel(R) Processor Trace support requires Linux 4.1 and libipt.

gdb/
	* NEWS: Announce new commands "record btrace pt" and "record pt".
	Announce new options "set|show record btrace pt buffer-size".
	* btrace.c: Include "rsp-low.h".
	Include "inttypes.h".
	(btrace_add_pc): Add forward declaration.
	(pt_reclassify_insn, ftrace_add_pt, btrace_pt_readmem_callback)
	(pt_translate_cpu_vendor, btrace_finalize_ftrace_pt)
	(btrace_compute_ftrace_pt): New.
	(btrace_compute_ftrace): Support BTRACE_FORMAT_PT.
	(check_xml_btrace_version): Update version check.
	(parse_xml_raw, parse_xml_btrace_pt_config_cpu)
	(parse_xml_btrace_pt_raw, parse_xml_btrace_pt)
	(btrace_pt_config_cpu_attributes, btrace_pt_config_children)
	(btrace_pt_children): New.
	(btrace_children): Add support for "pt".
	(parse_xml_btrace_conf_pt, btrace_conf_pt_attributes): New.
	(btrace_conf_children): Add support for "pt".
	* btrace.h: Include "intel-pt.h".
	(btrace_pt_error): New.
	* common/btrace-common.c (btrace_format_string, btrace_data_fini)
	(btrace_data_empty): Support BTRACE_FORMAT_PT.
	* common/btrace-common.h (btrace_format): Add BTRACE_FORMAT_PT.
	(struct btrace_config_pt): New.
	(struct btrace_config)<pt>: New.
	(struct btrace_data_pt_config, struct btrace_data_pt): New.
	(struct btrace_data)<pt>: New.
	* features/btrace-conf.dtd (btrace-conf)<pt>: New.
	(pt): New.
	* features/btrace.dtd (btrace)<pt>: New.
	(pt, pt-config, cpu): New.
	* nat/linux-btrace.c (perf_event_read, perf_event_read_all)
	(perf_event_pt_event_type, kernel_supports_pt)
	(linux_supports_pt): New.
	(linux_supports_btrace): Support BTRACE_FORMAT_PT.
	(linux_enable_bts): Free tinfo on error.
	(linux_enable_pt): New.
	(linux_enable_btrace): Support BTRACE_FORMAT_PT.
	(linux_disable_pt): New.
	(linux_disable_btrace): Support BTRACE_FORMAT_PT.
	(linux_fill_btrace_pt_config, linux_read_pt): New.
	(linux_read_btrace): Support BTRACE_FORMAT_PT.
	* nat/linux-btrace.h (struct btrace_tinfo_pt): New.
	(struct btrace_target_info)<pt>: New.
	* record-btrace.c (set_record_btrace_pt_cmdlist)
	(show_record_btrace_pt_cmdlist): New.
	(record_btrace_print_pt_conf): New.
	(record_btrace_print_conf): Support BTRACE_FORMAT_PT.
	(btrace_ui_out_decode_error): Support BTRACE_FORMAT_PT.
	(cmd_record_btrace_pt_start): New.
	(cmd_record_btrace_start): Support BTRACE_FORMAT_PT.
	(cmd_set_record_btrace_pt, cmd_show_record_btrace_pt): New.
	(_initialize_record_btrace): Add new commands.
	* remote.c (PACKET_Qbtrace_pt, PACKET_Qbtrace_conf_pt_size): New.
	(remote_protocol_features): Add "Qbtrace:pt".
	Add "Qbtrace-conf:pt:size".
	(remote_supports_btrace): Support BTRACE_FORMAT_PT.
	(btrace_sync_conf): Support PACKET_Qbtrace_conf_pt_size.
	(remote_enable_btrace): Support BTRACE_FORMAT_PT.
	(_initialize_remote): Add new commands.

gdbserver/
	* linux-low.c: Include "rsp-low.h"
	(linux_low_encode_pt_config, linux_low_encode_raw): New.
	(linux_low_read_btrace): Support BTRACE_FORMAT_PT.
	(linux_low_btrace_conf): Support BTRACE_FORMAT_PT.
	(handle_btrace_enable_pt): New.
	(handle_btrace_general_set): Support "pt".
	(handle_btrace_conf_general_set): Support "pt:size".

doc/
	* gdb.texinfo (Process Record and Replay): Spell out that variables
	and registers are not available during btrace replay.
	Describe the new "record btrace pt" command.
	Describe the new "set|show record btrace pt buffer-size" options.
	(General Query Packets): Describe the new Qbtrace:pt and
	Qbtrace-conf:pt:size packets.
	Expand "bts" to "Branch Trace Store".
	Update the branch trace DTD.
2015-07-02 12:49:32 +02:00
..
i386
rs6000
aarch64-core.xml
aarch64-fpu.xml
aarch64.c
aarch64.xml
arm-core.xml
arm-fpa.xml
arm-m-profile.xml
arm-vfpv2.xml
arm-vfpv3.xml
arm-with-iwmmxt.c
arm-with-iwmmxt.xml
arm-with-m-fpa-layout.c
arm-with-m-fpa-layout.xml
arm-with-m-vfp-d16.c
arm-with-m-vfp-d16.xml
arm-with-m.c
arm-with-m.xml
arm-with-neon.c
arm-with-neon.xml
arm-with-vfpv2.c
arm-with-vfpv2.xml
arm-with-vfpv3.c
arm-with-vfpv3.xml
btrace-conf.dtd btrace: support Intel(R) Processor Trace 2015-07-02 12:49:32 +02:00
btrace.dtd btrace: support Intel(R) Processor Trace 2015-07-02 12:49:32 +02:00
feature_to_c.sh gdbserver/tracepoint: Add 'struct sockaddr_un *' -> 'struct sockaddr *' cast 2015-03-09 11:29:57 +00:00
gdb-target.dtd
gdbserver-regs.xsl
library-list-aix.dtd
library-list-svr4.dtd
library-list.dtd
m68k-core.xml
Makefile S390: Add target descriptions for vector register sets 2015-03-02 10:57:39 +01:00
microblaze-core.xml
microblaze-stack-protect.xml
microblaze-with-stack-protect.c
microblaze-with-stack-protect.xml
microblaze.c
microblaze.xml
mips64-cp0.xml
mips64-cpu.xml
mips64-dsp-linux.c
mips64-dsp-linux.xml
mips64-dsp.xml
mips64-fpu.xml
mips64-linux.c
mips64-linux.xml
mips-cp0.xml
mips-cpu.xml
mips-dsp-linux.c
mips-dsp-linux.xml
mips-dsp.xml
mips-fpu.xml
mips-linux.c
mips-linux.xml
nios2-cpu.xml
nios2-linux.c
nios2-linux.xml
nios2.c
nios2.xml
number-regs.xsl
osdata.dtd
s390-acr.xml
s390-core32.xml
s390-core64.xml
s390-fpr.xml
s390-linux32.c
s390-linux32.xml
s390-linux32v1.c
s390-linux32v1.xml
s390-linux32v2.c
s390-linux32v2.xml
s390-linux64.c
s390-linux64.xml
s390-linux64v1.c
s390-linux64v1.xml
s390-linux64v2.c
s390-linux64v2.xml
s390-tdb.xml
s390-te-linux64.c
s390-te-linux64.xml
s390-tevx-linux64.c S390: Add target descriptions for vector register sets 2015-03-02 10:57:39 +01:00
s390-tevx-linux64.xml S390: Add target descriptions for vector register sets 2015-03-02 10:57:39 +01:00
s390-vx-linux64.c S390: Add target descriptions for vector register sets 2015-03-02 10:57:39 +01:00
s390-vx-linux64.xml S390: Add target descriptions for vector register sets 2015-03-02 10:57:39 +01:00
s390-vx.xml S390: Add target descriptions for vector register sets 2015-03-02 10:57:39 +01:00
s390x-core64.xml
s390x-linux64.c
s390x-linux64.xml
s390x-linux64v1.c
s390x-linux64v1.xml
s390x-linux64v2.c
s390x-linux64v2.xml
s390x-te-linux64.c
s390x-te-linux64.xml
s390x-tevx-linux64.c S390: Add target descriptions for vector register sets 2015-03-02 10:57:39 +01:00
s390x-tevx-linux64.xml S390: Add target descriptions for vector register sets 2015-03-02 10:57:39 +01:00
s390x-vx-linux64.c S390: Add target descriptions for vector register sets 2015-03-02 10:57:39 +01:00
s390x-vx-linux64.xml S390: Add target descriptions for vector register sets 2015-03-02 10:57:39 +01:00
sort-regs.xsl
threads.dtd
tic6x-c6xp.xml
tic6x-c62x-linux.c
tic6x-c62x-linux.xml
tic6x-c62x.c
tic6x-c62x.xml
tic6x-c64x-linux.c
tic6x-c64x-linux.xml
tic6x-c64x.c
tic6x-c64x.xml
tic6x-c64xp-linux.c
tic6x-c64xp-linux.xml
tic6x-c64xp.c
tic6x-c64xp.xml
tic6x-core.xml
tic6x-gp.xml
traceframe-info.dtd
xinclude.dtd
xscale-iwmmxt.xml