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 Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
rs6000 Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
Makefile S390: Add target descriptions for vector register sets 2015-03-02 10:57:39 +01:00
aarch64-core.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
aarch64-fpu.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
aarch64.c Aarch64: Make CPSR a 32-bit register again in the target description 2014-10-01 10:06:45 +01:00
aarch64.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
arm-core.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
arm-fpa.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
arm-m-profile.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
arm-vfpv2.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
arm-vfpv3.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
arm-with-iwmmxt.c
arm-with-iwmmxt.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
arm-with-m-fpa-layout.c
arm-with-m-fpa-layout.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
arm-with-m-vfp-d16.c
arm-with-m-vfp-d16.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
arm-with-m.c
arm-with-m.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
arm-with-neon.c
arm-with-neon.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
arm-with-vfpv2.c
arm-with-vfpv2.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
arm-with-vfpv3.c
arm-with-vfpv3.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
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 Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
gdbserver-regs.xsl
library-list-aix.dtd Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
library-list-svr4.dtd Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
library-list.dtd Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
m68k-core.xml
microblaze-core.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
microblaze-stack-protect.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
microblaze-with-stack-protect.c Fix for remote G Packet message too long error for baremetal. 2014-07-19 17:47:52 -07:00
microblaze-with-stack-protect.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
microblaze.c Fix for remote G Packet message too long error for baremetal. 2014-07-19 17:47:52 -07:00
microblaze.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
mips-cp0.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
mips-cpu.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
mips-dsp-linux.c
mips-dsp-linux.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
mips-dsp.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
mips-fpu.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
mips-linux.c
mips-linux.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
mips64-cp0.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
mips64-cpu.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
mips64-dsp-linux.c
mips64-dsp-linux.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
mips64-dsp.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
mips64-fpu.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
mips64-linux.c
mips64-linux.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
nios2-cpu.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
nios2-linux.c Fix type of "fp" and other registers for Nios II. 2014-03-25 21:00:17 -07:00
nios2-linux.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
nios2.c Fix type of "fp" and other registers for Nios II. 2014-03-25 21:00:17 -07:00
nios2.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
number-regs.xsl
osdata.dtd Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
s390-acr.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
s390-core32.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
s390-core64.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
s390-fpr.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
s390-linux32.c
s390-linux32.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
s390-linux32v1.c
s390-linux32v1.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
s390-linux32v2.c
s390-linux32v2.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
s390-linux64.c
s390-linux64.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
s390-linux64v1.c
s390-linux64v1.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
s390-linux64v2.c
s390-linux64v2.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
s390-tdb.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
s390-te-linux64.c
s390-te-linux64.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
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 Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
s390x-linux64.c
s390x-linux64.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
s390x-linux64v1.c
s390x-linux64v1.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
s390x-linux64v2.c
s390x-linux64v2.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
s390x-te-linux64.c
s390x-te-linux64.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
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 Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
tic6x-c6xp.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
tic6x-c62x-linux.c
tic6x-c62x-linux.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
tic6x-c62x.c
tic6x-c62x.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
tic6x-c64x-linux.c
tic6x-c64x-linux.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
tic6x-c64x.c
tic6x-c64x.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
tic6x-c64xp-linux.c
tic6x-c64xp-linux.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
tic6x-c64xp.c
tic6x-c64xp.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
tic6x-core.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
tic6x-gp.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
traceframe-info.dtd Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
xinclude.dtd Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
xscale-iwmmxt.xml Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00