diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/bfd/version.h ./bfd/version.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/bfd/version.h	2015-07-02 01:48:28.000000000 +0000
+++ ./bfd/version.h	2015-07-03 01:48:28.000000000 +0000
@@ -1,4 +1,4 @@
-#define BFD_VERSION_DATE 20150702
+#define BFD_VERSION_DATE 20150703
 #define BFD_VERSION @bfd_version@
 #define BFD_VERSION_STRING  @bfd_version_package@ @bfd_version_string@
 #define REPORT_BUGS_TO @report_bugs_to@
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/djunpack.bat ./djunpack.bat
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/djunpack.bat	2015-07-02 01:51:20.000000000 +0000
+++ ./djunpack.bat	2015-07-03 01:51:33.000000000 +0000
@@ -17,8 +17,8 @@ Rem
 Rem The following 2 lines need to be changed with each new GDB release, to
 Rem be identical to the name of the top-level directory where the GDB
 Rem distribution unpacks itself.
-set GDBVER=$package-7.9.50.20150702
-if "%GDBVER%"=="$package-7.9.50.20150702" GoTo EnvOk
+set GDBVER=$package-7.9.50.20150703
+if "%GDBVER%"=="$package-7.9.50.20150703" GoTo EnvOk
 Rem If their environment space is too small, re-exec with a larger one
 command.com /e:4096 /c %0 %1
 GoTo End
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/aarch64-linux-nat.c ./gdb/aarch64-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/aarch64-linux-nat.c	2015-07-02 01:48:29.000000000 +0000
+++ ./gdb/aarch64-linux-nat.c	2015-07-03 01:48:29.000000000 +0000
@@ -1207,7 +1207,7 @@ aarch64_linux_insert_hw_breakpoint (stru
 	= aarch64_get_debug_reg_state (ptid_get_pid (inferior_ptid));
 
       aarch64_show_debug_reg_state (state,
-				    "insert_hw_watchpoint", addr, len, type);
+				    "insert_hw_breakpoint", addr, len, type);
     }
 
   return ret;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/btrace.c ./gdb/btrace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/btrace.c	2015-07-02 01:48:29.000000000 +0000
+++ ./gdb/btrace.c	2015-07-03 01:48:29.000000000 +0000
@@ -31,6 +31,24 @@
 #include "filenames.h"
 #include "xml-support.h"
 #include "regcache.h"
+#include "rsp-low.h"
+#include "gdbcmd.h"
+#include "cli/cli-utils.h"
+
+#include <inttypes.h>
+#include <ctype.h>
+
+/* Command lists for btrace maintenance commands.  */
+static struct cmd_list_element *maint_btrace_cmdlist;
+static struct cmd_list_element *maint_btrace_set_cmdlist;
+static struct cmd_list_element *maint_btrace_show_cmdlist;
+static struct cmd_list_element *maint_btrace_pt_set_cmdlist;
+static struct cmd_list_element *maint_btrace_pt_show_cmdlist;
+
+/* Control whether to skip PAD packets when computing the packet history.  */
+static int maint_btrace_pt_skip_pad = 1;
+
+static void btrace_add_pc (struct thread_info *tp);
 
 /* Print a record debug message.  Use do ... while (0) to avoid ambiguities
    when used in if statements.  */
@@ -686,6 +704,260 @@ btrace_compute_ftrace_bts (struct thread
   btinfo->level = -level;
 }
 
+#if defined (HAVE_LIBIPT)
+
+static enum btrace_insn_class
+pt_reclassify_insn (enum pt_insn_class iclass)
+{
+  switch (iclass)
+    {
+    case ptic_call:
+      return BTRACE_INSN_CALL;
+
+    case ptic_return:
+      return BTRACE_INSN_RETURN;
+
+    case ptic_jump:
+      return BTRACE_INSN_JUMP;
+
+    default:
+      return BTRACE_INSN_OTHER;
+    }
+}
+
+/* Add function branch trace using DECODER.  */
+
+static void
+ftrace_add_pt (struct pt_insn_decoder *decoder,
+	       struct btrace_function **pbegin,
+	       struct btrace_function **pend, int *plevel,
+	       unsigned int *ngaps)
+{
+  struct btrace_function *begin, *end, *upd;
+  uint64_t offset;
+  int errcode, nerrors;
+
+  begin = *pbegin;
+  end = *pend;
+  nerrors = 0;
+  for (;;)
+    {
+      struct btrace_insn btinsn;
+      struct pt_insn insn;
+
+      errcode = pt_insn_sync_forward (decoder);
+      if (errcode < 0)
+	{
+	  if (errcode != -pte_eos)
+	    warning (_("Failed to synchronize onto the Intel(R) Processor "
+		       "Trace stream: %s."), pt_errstr (pt_errcode (errcode)));
+	  break;
+	}
+
+      memset (&btinsn, 0, sizeof (btinsn));
+      for (;;)
+	{
+	  errcode = pt_insn_next (decoder, &insn, sizeof(insn));
+	  if (errcode < 0)
+	    break;
+
+	  /* Look for gaps in the trace - unless we're at the beginning.  */
+	  if (begin != NULL)
+	    {
+	      /* Tracing is disabled and re-enabled each time we enter the
+		 kernel.  Most times, we continue from the same instruction we
+		 stopped before.  This is indicated via the RESUMED instruction
+		 flag.  The ENABLED instruction flag means that we continued
+		 from some other instruction.  Indicate this as a trace gap.  */
+	      if (insn.enabled)
+		*pend = end = ftrace_new_gap (end, BDE_PT_DISABLED);
+
+	      /* Indicate trace overflows.  */
+	      if (insn.resynced)
+		*pend = end = ftrace_new_gap (end, BDE_PT_OVERFLOW);
+	    }
+
+	  upd = ftrace_update_function (end, insn.ip);
+	  if (upd != end)
+	    {
+	      *pend = end = upd;
+
+	      if (begin == NULL)
+		*pbegin = begin = upd;
+	    }
+
+	  /* Maintain the function level offset.  */
+	  *plevel = min (*plevel, end->level);
+
+	  btinsn.pc = (CORE_ADDR) insn.ip;
+	  btinsn.size = (gdb_byte) insn.size;
+	  btinsn.iclass = pt_reclassify_insn (insn.iclass);
+
+	  ftrace_update_insns (end, &btinsn);
+	}
+
+      if (errcode == -pte_eos)
+	break;
+
+      /* If the gap is at the very beginning, we ignore it - we will have
+	 less trace, but we won't have any holes in the trace.  */
+      if (begin == NULL)
+	continue;
+
+      pt_insn_get_offset (decoder, &offset);
+
+      warning (_("Failed to decode Intel(R) Processor Trace near trace "
+		 "offset 0x%" PRIx64 " near recorded PC 0x%" PRIx64 ": %s."),
+	       offset, insn.ip, pt_errstr (pt_errcode (errcode)));
+
+      /* Indicate the gap in the trace.  */
+      *pend = end = ftrace_new_gap (end, errcode);
+      *ngaps += 1;
+    }
+
+  if (nerrors > 0)
+    warning (_("The recorded execution trace may have gaps."));
+}
+
+/* A callback function to allow the trace decoder to read the inferior's
+   memory.  */
+
+static int
+btrace_pt_readmem_callback (gdb_byte *buffer, size_t size,
+			    const struct pt_asid *asid, CORE_ADDR pc,
+			    void *context)
+{
+  int errcode;
+
+  TRY
+    {
+      errcode = target_read_code (pc, buffer, size);
+      if (errcode != 0)
+	return -pte_nomap;
+    }
+  CATCH (error, RETURN_MASK_ERROR)
+    {
+      return -pte_nomap;
+    }
+  END_CATCH
+
+  return size;
+}
+
+/* Translate the vendor from one enum to another.  */
+
+static enum pt_cpu_vendor
+pt_translate_cpu_vendor (enum btrace_cpu_vendor vendor)
+{
+  switch (vendor)
+    {
+    default:
+      return pcv_unknown;
+
+    case CV_INTEL:
+      return pcv_intel;
+    }
+}
+
+/* Finalize the function branch trace after decode.  */
+
+static void btrace_finalize_ftrace_pt (struct pt_insn_decoder *decoder,
+				       struct thread_info *tp, int level)
+{
+  pt_insn_free_decoder (decoder);
+
+  /* LEVEL is the minimal function level of all btrace function segments.
+     Define the global level offset to -LEVEL so all function levels are
+     normalized to start at zero.  */
+  tp->btrace.level = -level;
+
+  /* Add a single last instruction entry for the current PC.
+     This allows us to compute the backtrace at the current PC using both
+     standard unwind and btrace unwind.
+     This extra entry is ignored by all record commands.  */
+  btrace_add_pc (tp);
+}
+
+/* Compute the function branch trace from Intel(R) Processor Trace.  */
+
+static void
+btrace_compute_ftrace_pt (struct thread_info *tp,
+			  const struct btrace_data_pt *btrace)
+{
+  struct btrace_thread_info *btinfo;
+  struct pt_insn_decoder *decoder;
+  struct pt_config config;
+  int level, errcode;
+
+  if (btrace->size == 0)
+    return;
+
+  btinfo = &tp->btrace;
+  level = btinfo->begin != NULL ? -btinfo->level : INT_MAX;
+
+  pt_config_init(&config);
+  config.begin = btrace->data;
+  config.end = btrace->data + btrace->size;
+
+  config.cpu.vendor = pt_translate_cpu_vendor (btrace->config.cpu.vendor);
+  config.cpu.family = btrace->config.cpu.family;
+  config.cpu.model = btrace->config.cpu.model;
+  config.cpu.stepping = btrace->config.cpu.stepping;
+
+  errcode = pt_cpu_errata (&config.errata, &config.cpu);
+  if (errcode < 0)
+    error (_("Failed to configure the Intel(R) Processor Trace decoder: %s."),
+	   pt_errstr (pt_errcode (errcode)));
+
+  decoder = pt_insn_alloc_decoder (&config);
+  if (decoder == NULL)
+    error (_("Failed to allocate the Intel(R) Processor Trace decoder."));
+
+  TRY
+    {
+      struct pt_image *image;
+
+      image = pt_insn_get_image(decoder);
+      if (image == NULL)
+	error (_("Failed to configure the Intel(R) Processor Trace decoder."));
+
+      errcode = pt_image_set_callback(image, btrace_pt_readmem_callback, NULL);
+      if (errcode < 0)
+	error (_("Failed to configure the Intel(R) Processor Trace decoder: "
+		 "%s."), pt_errstr (pt_errcode (errcode)));
+
+      ftrace_add_pt (decoder, &btinfo->begin, &btinfo->end, &level,
+		     &btinfo->ngaps);
+    }
+  CATCH (error, RETURN_MASK_ALL)
+    {
+      /* Indicate a gap in the trace if we quit trace processing.  */
+      if (error.reason == RETURN_QUIT && btinfo->end != NULL)
+	{
+	  btinfo->end = ftrace_new_gap (btinfo->end, BDE_PT_USER_QUIT);
+	  btinfo->ngaps++;
+	}
+
+      btrace_finalize_ftrace_pt (decoder, tp, level);
+
+      throw_exception (error);
+    }
+  END_CATCH
+
+  btrace_finalize_ftrace_pt (decoder, tp, level);
+}
+
+#else /* defined (HAVE_LIBIPT)  */
+
+static void
+btrace_compute_ftrace_pt (struct thread_info *tp,
+			  const struct btrace_data_pt *btrace)
+{
+  internal_error (__FILE__, __LINE__, _("Unexpected branch trace format."));
+}
+
+#endif /* defined (HAVE_LIBIPT)  */
+
 /* Compute the function branch trace from a block branch trace BTRACE for
    a thread given by BTINFO.  */
 
@@ -702,6 +974,10 @@ btrace_compute_ftrace (struct thread_inf
     case BTRACE_FORMAT_BTS:
       btrace_compute_ftrace_bts (tp, &btrace->variant.bts);
       return;
+
+    case BTRACE_FORMAT_PT:
+      btrace_compute_ftrace_pt (tp, &btrace->variant.pt);
+      return;
     }
 
   internal_error (__FILE__, __LINE__, _("Unkown branch trace format."));
@@ -911,6 +1187,10 @@ btrace_stitch_trace (struct btrace_data 
 
     case BTRACE_FORMAT_BTS:
       return btrace_stitch_bts (&btrace->variant.bts, tp);
+
+    case BTRACE_FORMAT_PT:
+      /* Delta reads are not supported.  */
+      return -1;
     }
 
   internal_error (__FILE__, __LINE__, _("Unkown branch trace format."));
@@ -930,6 +1210,33 @@ btrace_clear_history (struct btrace_thre
   btinfo->replay = NULL;
 }
 
+/* Clear the branch trace maintenance histories in BTINFO.  */
+
+static void
+btrace_maint_clear (struct btrace_thread_info *btinfo)
+{
+  switch (btinfo->data.format)
+    {
+    default:
+      break;
+
+    case BTRACE_FORMAT_BTS:
+      btinfo->maint.variant.bts.packet_history.begin = 0;
+      btinfo->maint.variant.bts.packet_history.end = 0;
+      break;
+
+#if defined (HAVE_LIBIPT)
+    case BTRACE_FORMAT_PT:
+      xfree (btinfo->maint.variant.pt.packets);
+
+      btinfo->maint.variant.pt.packets = NULL;
+      btinfo->maint.variant.pt.packet_history.begin = 0;
+      btinfo->maint.variant.pt.packet_history.end = 0;
+      break;
+#endif /* defined (HAVE_LIBIPT)  */
+    }
+}
+
 /* See btrace.h.  */
 
 void
@@ -993,6 +1300,11 @@ btrace_fetch (struct thread_info *tp)
   /* Compute the trace, provided we have any.  */
   if (!btrace_data_empty (&btrace))
     {
+      /* Store the raw trace data.  The stored data will be cleared in
+	 btrace_clear, so we always append the new trace.  */
+      btrace_data_append (&btinfo->data, &btrace);
+      btrace_maint_clear (btinfo);
+
       btrace_clear_history (btinfo);
       btrace_compute_ftrace (tp, &btrace);
     }
@@ -1029,6 +1341,9 @@ btrace_clear (struct thread_info *tp)
   btinfo->end = NULL;
   btinfo->ngaps = 0;
 
+  /* Must clear the maint data before - it depends on BTINFO->DATA.  */
+  btrace_maint_clear (btinfo);
+  btrace_data_clear (&btinfo->data);
   btrace_clear_history (btinfo);
 }
 
@@ -1095,12 +1410,131 @@ parse_xml_btrace_block (struct gdb_xml_p
   block->end = *end;
 }
 
+/* Parse a "raw" xml record.  */
+
+static void
+parse_xml_raw (struct gdb_xml_parser *parser, const char *body_text,
+	       gdb_byte **pdata, unsigned long *psize)
+{
+  struct cleanup *cleanup;
+  gdb_byte *data, *bin;
+  unsigned long size;
+  size_t len;
+
+  len = strlen (body_text);
+  size = len / 2;
+
+  if ((size_t) size * 2 != len)
+    gdb_xml_error (parser, _("Bad raw data size."));
+
+  bin = data = xmalloc (size);
+  cleanup = make_cleanup (xfree, data);
+
+  /* We use hex encoding - see common/rsp-low.h.  */
+  while (len > 0)
+    {
+      char hi, lo;
+
+      hi = *body_text++;
+      lo = *body_text++;
+
+      if (hi == 0 || lo == 0)
+	gdb_xml_error (parser, _("Bad hex encoding."));
+
+      *bin++ = fromhex (hi) * 16 + fromhex (lo);
+      len -= 2;
+    }
+
+  discard_cleanups (cleanup);
+
+  *pdata = data;
+  *psize = size;
+}
+
+/* Parse a btrace pt-config "cpu" xml record.  */
+
+static void
+parse_xml_btrace_pt_config_cpu (struct gdb_xml_parser *parser,
+				const struct gdb_xml_element *element,
+				void *user_data,
+				VEC (gdb_xml_value_s) *attributes)
+{
+  struct btrace_data *btrace;
+  const char *vendor;
+  ULONGEST *family, *model, *stepping;
+
+  vendor = xml_find_attribute (attributes, "vendor")->value;
+  family = xml_find_attribute (attributes, "family")->value;
+  model = xml_find_attribute (attributes, "model")->value;
+  stepping = xml_find_attribute (attributes, "stepping")->value;
+
+  btrace = user_data;
+
+  if (strcmp (vendor, "GenuineIntel") == 0)
+    btrace->variant.pt.config.cpu.vendor = CV_INTEL;
+
+  btrace->variant.pt.config.cpu.family = *family;
+  btrace->variant.pt.config.cpu.model = *model;
+  btrace->variant.pt.config.cpu.stepping = *stepping;
+}
+
+/* Parse a btrace pt "raw" xml record.  */
+
+static void
+parse_xml_btrace_pt_raw (struct gdb_xml_parser *parser,
+			 const struct gdb_xml_element *element,
+			 void *user_data, const char *body_text)
+{
+  struct btrace_data *btrace;
+
+  btrace = user_data;
+  parse_xml_raw (parser, body_text, &btrace->variant.pt.data,
+		 &btrace->variant.pt.size);
+}
+
+/* Parse a btrace "pt" xml record.  */
+
+static void
+parse_xml_btrace_pt (struct gdb_xml_parser *parser,
+		     const struct gdb_xml_element *element,
+		     void *user_data, VEC (gdb_xml_value_s) *attributes)
+{
+  struct btrace_data *btrace;
+
+  btrace = user_data;
+  btrace->format = BTRACE_FORMAT_PT;
+  btrace->variant.pt.config.cpu.vendor = CV_UNKNOWN;
+  btrace->variant.pt.data = NULL;
+  btrace->variant.pt.size = 0;
+}
+
 static const struct gdb_xml_attribute block_attributes[] = {
   { "begin", GDB_XML_AF_NONE, gdb_xml_parse_attr_ulongest, NULL },
   { "end", GDB_XML_AF_NONE, gdb_xml_parse_attr_ulongest, NULL },
   { NULL, GDB_XML_AF_NONE, NULL, NULL }
 };
 
+static const struct gdb_xml_attribute btrace_pt_config_cpu_attributes[] = {
+  { "vendor", GDB_XML_AF_NONE, NULL, NULL },
+  { "family", GDB_XML_AF_NONE, gdb_xml_parse_attr_ulongest, NULL },
+  { "model", GDB_XML_AF_NONE, gdb_xml_parse_attr_ulongest, NULL },
+  { "stepping", GDB_XML_AF_NONE, gdb_xml_parse_attr_ulongest, NULL },
+  { NULL, GDB_XML_AF_NONE, NULL, NULL }
+};
+
+static const struct gdb_xml_element btrace_pt_config_children[] = {
+  { "cpu", btrace_pt_config_cpu_attributes, NULL, GDB_XML_EF_OPTIONAL,
+    parse_xml_btrace_pt_config_cpu, NULL },
+  { NULL, NULL, NULL, GDB_XML_EF_NONE, NULL, NULL }
+};
+
+static const struct gdb_xml_element btrace_pt_children[] = {
+  { "pt-config", NULL, btrace_pt_config_children, GDB_XML_EF_OPTIONAL, NULL,
+    NULL },
+  { "raw", NULL, NULL, GDB_XML_EF_OPTIONAL, NULL, parse_xml_btrace_pt_raw },
+  { NULL, NULL, NULL, GDB_XML_EF_NONE, NULL, NULL }
+};
+
 static const struct gdb_xml_attribute btrace_attributes[] = {
   { "version", GDB_XML_AF_NONE, NULL, NULL },
   { NULL, GDB_XML_AF_NONE, NULL, NULL }
@@ -1109,6 +1543,8 @@ static const struct gdb_xml_attribute bt
 static const struct gdb_xml_element btrace_children[] = {
   { "block", block_attributes, NULL,
     GDB_XML_EF_REPEATABLE | GDB_XML_EF_OPTIONAL, parse_xml_btrace_block, NULL },
+  { "pt", NULL, btrace_pt_children, GDB_XML_EF_OPTIONAL, parse_xml_btrace_pt,
+    NULL },
   { NULL, NULL, NULL, GDB_XML_EF_NONE, NULL, NULL }
 };
 
@@ -1166,9 +1602,33 @@ parse_xml_btrace_conf_bts (struct gdb_xm
 
   size = xml_find_attribute (attributes, "size");
   if (size != NULL)
-    conf->bts.size = (unsigned int) * (ULONGEST *) size->value;
+    conf->bts.size = (unsigned int) *(ULONGEST *) size->value;
+}
+
+/* Parse a btrace-conf "pt" xml record.  */
+
+static void
+parse_xml_btrace_conf_pt (struct gdb_xml_parser *parser,
+			  const struct gdb_xml_element *element,
+			  void *user_data, VEC (gdb_xml_value_s) *attributes)
+{
+  struct btrace_config *conf;
+  struct gdb_xml_value *size;
+
+  conf = user_data;
+  conf->format = BTRACE_FORMAT_PT;
+  conf->pt.size = 0;
+
+  size = xml_find_attribute (attributes, "size");
+  if (size != NULL)
+    conf->pt.size = (unsigned int) *(ULONGEST *) size->value;
 }
 
+static const struct gdb_xml_attribute btrace_conf_pt_attributes[] = {
+  { "size", GDB_XML_AF_OPTIONAL, gdb_xml_parse_attr_ulongest, NULL },
+  { NULL, GDB_XML_AF_NONE, NULL, NULL }
+};
+
 static const struct gdb_xml_attribute btrace_conf_bts_attributes[] = {
   { "size", GDB_XML_AF_OPTIONAL, gdb_xml_parse_attr_ulongest, NULL },
   { NULL, GDB_XML_AF_NONE, NULL, NULL }
@@ -1177,6 +1637,8 @@ static const struct gdb_xml_attribute bt
 static const struct gdb_xml_element btrace_conf_children[] = {
   { "bts", btrace_conf_bts_attributes, NULL, GDB_XML_EF_OPTIONAL,
     parse_xml_btrace_conf_bts, NULL },
+  { "pt", btrace_conf_pt_attributes, NULL, GDB_XML_EF_OPTIONAL,
+    parse_xml_btrace_conf_pt, NULL },
   { NULL, NULL, NULL, GDB_XML_EF_NONE, NULL, NULL }
 };
 
@@ -1784,3 +2246,693 @@ make_cleanup_btrace_data (struct btrace_
 {
   return make_cleanup (do_btrace_data_cleanup, data);
 }
+
+#if defined (HAVE_LIBIPT)
+
+/* Print a single packet.  */
+
+static void
+pt_print_packet (const struct pt_packet *packet)
+{
+  switch (packet->type)
+    {
+    default:
+      printf_unfiltered (("[??: %x]"), packet->type);
+      break;
+
+    case ppt_psb:
+      printf_unfiltered (("psb"));
+      break;
+
+    case ppt_psbend:
+      printf_unfiltered (("psbend"));
+      break;
+
+    case ppt_pad:
+      printf_unfiltered (("pad"));
+      break;
+
+    case ppt_tip:
+      printf_unfiltered (("tip %u: 0x%" PRIx64 ""),
+			 packet->payload.ip.ipc,
+			 packet->payload.ip.ip);
+      break;
+
+    case ppt_tip_pge:
+      printf_unfiltered (("tip.pge %u: 0x%" PRIx64 ""),
+			 packet->payload.ip.ipc,
+			 packet->payload.ip.ip);
+      break;
+
+    case ppt_tip_pgd:
+      printf_unfiltered (("tip.pgd %u: 0x%" PRIx64 ""),
+			 packet->payload.ip.ipc,
+			 packet->payload.ip.ip);
+      break;
+
+    case ppt_fup:
+      printf_unfiltered (("fup %u: 0x%" PRIx64 ""),
+			 packet->payload.ip.ipc,
+			 packet->payload.ip.ip);
+      break;
+
+    case ppt_tnt_8:
+      printf_unfiltered (("tnt-8 %u: 0x%" PRIx64 ""),
+			 packet->payload.tnt.bit_size,
+			 packet->payload.tnt.payload);
+      break;
+
+    case ppt_tnt_64:
+      printf_unfiltered (("tnt-64 %u: 0x%" PRIx64 ""),
+			 packet->payload.tnt.bit_size,
+			 packet->payload.tnt.payload);
+      break;
+
+    case ppt_pip:
+      printf_unfiltered (("pip %" PRIx64 ""), packet->payload.pip.cr3);
+      break;
+
+    case ppt_tsc:
+      printf_unfiltered (("tsc %" PRIx64 ""), packet->payload.tsc.tsc);
+      break;
+
+    case ppt_cbr:
+      printf_unfiltered (("cbr %u"), packet->payload.cbr.ratio);
+      break;
+
+    case ppt_mode:
+      switch (packet->payload.mode.leaf)
+	{
+	default:
+	  printf_unfiltered (("mode %u"), packet->payload.mode.leaf);
+	  break;
+
+	case pt_mol_exec:
+	  printf_unfiltered (("mode.exec%s%s"),
+			     packet->payload.mode.bits.exec.csl
+			     ? (" cs.l") : (""),
+			     packet->payload.mode.bits.exec.csd
+			     ? (" cs.d") : (""));
+	  break;
+
+	case pt_mol_tsx:
+	  printf_unfiltered (("mode.tsx%s%s"),
+			     packet->payload.mode.bits.tsx.intx
+			     ? (" intx") : (""),
+			     packet->payload.mode.bits.tsx.abrt
+			     ? (" abrt") : (""));
+	  break;
+	}
+      break;
+
+    case ppt_ovf:
+      printf_unfiltered (("ovf"));
+      break;
+
+    }
+}
+
+/* Decode packets into MAINT using DECODER.  */
+
+static void
+btrace_maint_decode_pt (struct btrace_maint_info *maint,
+			struct pt_packet_decoder *decoder)
+{
+  int errcode;
+
+  for (;;)
+    {
+      struct btrace_pt_packet packet;
+
+      errcode = pt_pkt_sync_forward (decoder);
+      if (errcode < 0)
+	break;
+
+      for (;;)
+	{
+	  pt_pkt_get_offset (decoder, &packet.offset);
+
+	  errcode = pt_pkt_next (decoder, &packet.packet,
+				 sizeof(packet.packet));
+	  if (errcode < 0)
+	    break;
+
+	  if (maint_btrace_pt_skip_pad == 0 || packet.packet.type != ppt_pad)
+	    {
+	      packet.errcode = pt_errcode (errcode);
+	      VEC_safe_push (btrace_pt_packet_s, maint->variant.pt.packets,
+			     &packet);
+	    }
+	}
+
+      if (errcode == -pte_eos)
+	break;
+
+      packet.errcode = pt_errcode (errcode);
+      VEC_safe_push (btrace_pt_packet_s, maint->variant.pt.packets,
+		     &packet);
+
+      warning (_("Error at trace offset 0x%" PRIx64 ": %s."),
+	       packet.offset, pt_errstr (packet.errcode));
+    }
+
+  if (errcode != -pte_eos)
+    warning (_("Failed to synchronize onto the Intel(R) Processor Trace "
+	       "stream: %s."), pt_errstr (pt_errcode (errcode)));
+}
+
+/* Update the packet history in BTINFO.  */
+
+static void
+btrace_maint_update_pt_packets (struct btrace_thread_info *btinfo)
+{
+  volatile struct gdb_exception except;
+  struct pt_packet_decoder *decoder;
+  struct btrace_data_pt *pt;
+  struct pt_config config;
+  int errcode;
+
+  pt = &btinfo->data.variant.pt;
+
+  /* Nothing to do if there is no trace.  */
+  if (pt->size == 0)
+    return;
+
+  memset (&config, 0, sizeof(config));
+
+  config.size = sizeof (config);
+  config.begin = pt->data;
+  config.end = pt->data + pt->size;
+
+  config.cpu.vendor = pt_translate_cpu_vendor (pt->config.cpu.vendor);
+  config.cpu.family = pt->config.cpu.family;
+  config.cpu.model = pt->config.cpu.model;
+  config.cpu.stepping = pt->config.cpu.stepping;
+
+  errcode = pt_cpu_errata (&config.errata, &config.cpu);
+  if (errcode < 0)
+    error (_("Failed to configure the Intel(R) Processor Trace decoder: %s."),
+	   pt_errstr (pt_errcode (errcode)));
+
+  decoder = pt_pkt_alloc_decoder (&config);
+  if (decoder == NULL)
+    error (_("Failed to allocate the Intel(R) Processor Trace decoder."));
+
+  TRY
+    {
+      btrace_maint_decode_pt (&btinfo->maint, decoder);
+    }
+  CATCH (except, RETURN_MASK_ALL)
+    {
+      pt_pkt_free_decoder (decoder);
+
+      if (except.reason < 0)
+	throw_exception (except);
+    }
+  END_CATCH
+
+  pt_pkt_free_decoder (decoder);
+}
+
+#endif /* !defined (HAVE_LIBIPT)  */
+
+/* Update the packet maintenance information for BTINFO and store the
+   low and high bounds into BEGIN and END, respectively.
+   Store the current iterator state into FROM and TO.  */
+
+static void
+btrace_maint_update_packets (struct btrace_thread_info *btinfo,
+			     unsigned int *begin, unsigned int *end,
+			     unsigned int *from, unsigned int *to)
+{
+  switch (btinfo->data.format)
+    {
+    default:
+      *begin = 0;
+      *end = 0;
+      *from = 0;
+      *to = 0;
+      break;
+
+    case BTRACE_FORMAT_BTS:
+      /* Nothing to do - we operate directly on BTINFO->DATA.  */
+      *begin = 0;
+      *end = VEC_length (btrace_block_s, btinfo->data.variant.bts.blocks);
+      *from = btinfo->maint.variant.bts.packet_history.begin;
+      *to = btinfo->maint.variant.bts.packet_history.end;
+      break;
+
+#if defined (HAVE_LIBIPT)
+    case BTRACE_FORMAT_PT:
+      if (VEC_empty (btrace_pt_packet_s, btinfo->maint.variant.pt.packets))
+	btrace_maint_update_pt_packets (btinfo);
+
+      *begin = 0;
+      *end = VEC_length (btrace_pt_packet_s, btinfo->maint.variant.pt.packets);
+      *from = btinfo->maint.variant.pt.packet_history.begin;
+      *to = btinfo->maint.variant.pt.packet_history.end;
+      break;
+#endif /* defined (HAVE_LIBIPT)  */
+    }
+}
+
+/* Print packets in BTINFO from BEGIN (inclusive) until END (exclusive) and
+   update the current iterator position.  */
+
+static void
+btrace_maint_print_packets (struct btrace_thread_info *btinfo,
+			    unsigned int begin, unsigned int end)
+{
+  switch (btinfo->data.format)
+    {
+    default:
+      break;
+
+    case BTRACE_FORMAT_BTS:
+      {
+	VEC (btrace_block_s) *blocks;
+	unsigned int blk;
+
+	blocks = btinfo->data.variant.bts.blocks;
+	for (blk = begin; blk < end; ++blk)
+	  {
+	    const btrace_block_s *block;
+
+	    block = VEC_index (btrace_block_s, blocks, blk);
+
+	    printf_unfiltered ("%u\tbegin: %s, end: %s\n", blk,
+			       core_addr_to_string_nz (block->begin),
+			       core_addr_to_string_nz (block->end));
+	  }
+
+	btinfo->maint.variant.bts.packet_history.begin = begin;
+	btinfo->maint.variant.bts.packet_history.end = end;
+      }
+      break;
+
+#if defined (HAVE_LIBIPT)
+    case BTRACE_FORMAT_PT:
+      {
+	VEC (btrace_pt_packet_s) *packets;
+	unsigned int pkt;
+
+	packets = btinfo->maint.variant.pt.packets;
+	for (pkt = begin; pkt < end; ++pkt)
+	  {
+	    const struct btrace_pt_packet *packet;
+
+	    packet = VEC_index (btrace_pt_packet_s, packets, pkt);
+
+	    printf_unfiltered ("%u\t", pkt);
+	    printf_unfiltered ("0x%" PRIx64 "\t", packet->offset);
+
+	    if (packet->errcode == pte_ok)
+	      pt_print_packet (&packet->packet);
+	    else
+	      printf_unfiltered ("[error: %s]", pt_errstr (packet->errcode));
+
+	    printf_unfiltered ("\n");
+	  }
+
+	btinfo->maint.variant.pt.packet_history.begin = begin;
+	btinfo->maint.variant.pt.packet_history.end = end;
+      }
+      break;
+#endif /* defined (HAVE_LIBIPT)  */
+    }
+}
+
+/* Read a number from an argument string.  */
+
+static unsigned int
+get_uint (char **arg)
+{
+  char *begin, *end, *pos;
+  unsigned long number;
+
+  begin = *arg;
+  pos = skip_spaces (begin);
+
+  if (!isdigit (*pos))
+    error (_("Expected positive number, got: %s."), pos);
+
+  number = strtoul (pos, &end, 10);
+  if (number > UINT_MAX)
+    error (_("Number too big."));
+
+  *arg += (end - begin);
+
+  return (unsigned int) number;
+}
+
+/* Read a context size from an argument string.  */
+
+static int
+get_context_size (char **arg)
+{
+  char *pos;
+  int number;
+
+  pos = skip_spaces (*arg);
+
+  if (!isdigit (*pos))
+    error (_("Expected positive number, got: %s."), pos);
+
+  return strtol (pos, arg, 10);
+}
+
+/* Complain about junk at the end of an argument string.  */
+
+static void
+no_chunk (char *arg)
+{
+  if (*arg != 0)
+    error (_("Junk after argument: %s."), arg);
+}
+
+/* The "maintenance btrace packet-history" command.  */
+
+static void
+maint_btrace_packet_history_cmd (char *arg, int from_tty)
+{
+  struct btrace_thread_info *btinfo;
+  struct thread_info *tp;
+  unsigned int size, begin, end, from, to;
+
+  tp = find_thread_ptid (inferior_ptid);
+  if (tp == NULL)
+    error (_("No thread."));
+
+  size = 10;
+  btinfo = &tp->btrace;
+
+  btrace_maint_update_packets (btinfo, &begin, &end, &from, &to);
+  if (begin == end)
+    {
+      printf_unfiltered (_("No trace.\n"));
+      return;
+    }
+
+  if (arg == NULL || *arg == 0 || strcmp (arg, "+") == 0)
+    {
+      from = to;
+
+      if (end - from < size)
+	size = end - from;
+      to = from + size;
+    }
+  else if (strcmp (arg, "-") == 0)
+    {
+      to = from;
+
+      if (to - begin < size)
+	size = to - begin;
+      from = to - size;
+    }
+  else
+    {
+      from = get_uint (&arg);
+      if (end <= from)
+	error (_("'%u' is out of range."), from);
+
+      arg = skip_spaces (arg);
+      if (*arg == ',')
+	{
+	  arg = skip_spaces (++arg);
+
+	  if (*arg == '+')
+	    {
+	      arg += 1;
+	      size = get_context_size (&arg);
+
+	      no_chunk (arg);
+
+	      if (end - from < size)
+		size = end - from;
+	      to = from + size;
+	    }
+	  else if (*arg == '-')
+	    {
+	      arg += 1;
+	      size = get_context_size (&arg);
+
+	      no_chunk (arg);
+
+	      /* Include the packet given as first argument.  */
+	      from += 1;
+	      to = from;
+
+	      if (to - begin < size)
+		size = to - begin;
+	      from = to - size;
+	    }
+	  else
+	    {
+	      to = get_uint (&arg);
+
+	      /* Include the packet at the second argument and silently
+		 truncate the range.  */
+	      if (to < end)
+		to += 1;
+	      else
+		to = end;
+
+	      no_chunk (arg);
+	    }
+	}
+      else
+	{
+	  no_chunk (arg);
+
+	  if (end - from < size)
+	    size = end - from;
+	  to = from + size;
+	}
+
+      dont_repeat ();
+    }
+
+  btrace_maint_print_packets (btinfo, from, to);
+}
+
+/* The "maintenance btrace clear-packet-history" command.  */
+
+static void
+maint_btrace_clear_packet_history_cmd (char *args, int from_tty)
+{
+  struct btrace_thread_info *btinfo;
+  struct thread_info *tp;
+
+  if (args != NULL && *args != 0)
+    error (_("Invalid argument."));
+
+  tp = find_thread_ptid (inferior_ptid);
+  if (tp == NULL)
+    error (_("No thread."));
+
+  btinfo = &tp->btrace;
+
+  /* Must clear the maint data before - it depends on BTINFO->DATA.  */
+  btrace_maint_clear (btinfo);
+  btrace_data_clear (&btinfo->data);
+}
+
+/* The "maintenance btrace clear" command.  */
+
+static void
+maint_btrace_clear_cmd (char *args, int from_tty)
+{
+  struct btrace_thread_info *btinfo;
+  struct thread_info *tp;
+
+  if (args != NULL && *args != 0)
+    error (_("Invalid argument."));
+
+  tp = find_thread_ptid (inferior_ptid);
+  if (tp == NULL)
+    error (_("No thread."));
+
+  btrace_clear (tp);
+}
+
+/* The "maintenance btrace" command.  */
+
+static void
+maint_btrace_cmd (char *args, int from_tty)
+{
+  help_list (maint_btrace_cmdlist, "maintenance btrace ", all_commands,
+	     gdb_stdout);
+}
+
+/* The "maintenance set btrace" command.  */
+
+static void
+maint_btrace_set_cmd (char *args, int from_tty)
+{
+  help_list (maint_btrace_set_cmdlist, "maintenance set btrace ", all_commands,
+	     gdb_stdout);
+}
+
+/* The "maintenance show btrace" command.  */
+
+static void
+maint_btrace_show_cmd (char *args, int from_tty)
+{
+  help_list (maint_btrace_show_cmdlist, "maintenance show btrace ",
+	     all_commands, gdb_stdout);
+}
+
+/* The "maintenance set btrace pt" command.  */
+
+static void
+maint_btrace_pt_set_cmd (char *args, int from_tty)
+{
+  help_list (maint_btrace_pt_set_cmdlist, "maintenance set btrace pt ",
+	     all_commands, gdb_stdout);
+}
+
+/* The "maintenance show btrace pt" command.  */
+
+static void
+maint_btrace_pt_show_cmd (char *args, int from_tty)
+{
+  help_list (maint_btrace_pt_show_cmdlist, "maintenance show btrace pt ",
+	     all_commands, gdb_stdout);
+}
+
+/* The "maintenance info btrace" command.  */
+
+static void
+maint_info_btrace_cmd (char *args, int from_tty)
+{
+  struct btrace_thread_info *btinfo;
+  struct thread_info *tp;
+  const struct btrace_config *conf;
+
+  if (args != NULL && *args != 0)
+    error (_("Invalid argument."));
+
+  tp = find_thread_ptid (inferior_ptid);
+  if (tp == NULL)
+    error (_("No thread."));
+
+  btinfo = &tp->btrace;
+
+  conf = btrace_conf (btinfo);
+  if (conf == NULL)
+    error (_("No btrace configuration."));
+
+  printf_unfiltered (_("Format: %s.\n"),
+		     btrace_format_string (conf->format));
+
+  switch (conf->format)
+    {
+    default:
+      break;
+
+    case BTRACE_FORMAT_BTS:
+      printf_unfiltered (_("Number of packets: %u.\n"),
+			 VEC_length (btrace_block_s,
+				     btinfo->data.variant.bts.blocks));
+      break;
+
+#if defined (HAVE_LIBIPT)
+    case BTRACE_FORMAT_PT:
+      {
+	struct pt_version version;
+
+	version = pt_library_version ();
+	printf_unfiltered (_("Version: %u.%u.%u%s.\n"), version.major,
+			   version.minor, version.build,
+			   version.ext != NULL ? version.ext : "");
+
+	btrace_maint_update_pt_packets (btinfo);
+	printf_unfiltered (_("Number of packets: %u.\n"),
+			   VEC_length (btrace_pt_packet_s,
+				       btinfo->maint.variant.pt.packets));
+      }
+      break;
+#endif /* defined (HAVE_LIBIPT)  */
+    }
+}
+
+/* The "maint show btrace pt skip-pad" show value function. */
+
+static void
+show_maint_btrace_pt_skip_pad  (struct ui_file *file, int from_tty,
+				  struct cmd_list_element *c,
+				  const char *value)
+{
+  fprintf_filtered (file, _("Skip PAD packets is %s.\n"), value);
+}
+
+
+/* Initialize btrace maintenance commands.  */
+
+void _initialize_btrace (void);
+void
+_initialize_btrace (void)
+{
+  add_cmd ("btrace", class_maintenance, maint_info_btrace_cmd,
+	   _("Info about branch tracing data."), &maintenanceinfolist);
+
+  add_prefix_cmd ("btrace", class_maintenance, maint_btrace_cmd,
+		  _("Branch tracing maintenance commands."),
+		  &maint_btrace_cmdlist, "maintenance btrace ",
+		  0, &maintenancelist);
+
+  add_prefix_cmd ("btrace", class_maintenance, maint_btrace_set_cmd, _("\
+Set branch tracing specific variables."),
+                  &maint_btrace_set_cmdlist, "maintenance set btrace ",
+                  0, &maintenance_set_cmdlist);
+
+  add_prefix_cmd ("pt", class_maintenance, maint_btrace_pt_set_cmd, _("\
+Set Intel(R) Processor Trace specific variables."),
+                  &maint_btrace_pt_set_cmdlist, "maintenance set btrace pt ",
+                  0, &maint_btrace_set_cmdlist);
+
+  add_prefix_cmd ("btrace", class_maintenance, maint_btrace_show_cmd, _("\
+Show branch tracing specific variables."),
+                  &maint_btrace_show_cmdlist, "maintenance show btrace ",
+                  0, &maintenance_show_cmdlist);
+
+  add_prefix_cmd ("pt", class_maintenance, maint_btrace_pt_show_cmd, _("\
+Show Intel(R) Processor Trace specific variables."),
+                  &maint_btrace_pt_show_cmdlist, "maintenance show btrace pt ",
+                  0, &maint_btrace_show_cmdlist);
+
+  add_setshow_boolean_cmd ("skip-pad", class_maintenance,
+			   &maint_btrace_pt_skip_pad, _("\
+Set whether PAD packets should be skipped in the btrace packet history."), _("\
+Show whether PAD packets should be skipped in the btrace packet history."),_("\
+When enabled, PAD packets are ignored in the btrace packet history."),
+			   NULL, show_maint_btrace_pt_skip_pad,
+			   &maint_btrace_pt_set_cmdlist,
+			   &maint_btrace_pt_show_cmdlist);
+
+  add_cmd ("packet-history", class_maintenance, maint_btrace_packet_history_cmd,
+	   _("Print the raw branch tracing data.\n\
+With no argument, print ten more packets after the previous ten-line print.\n\
+With '-' as argument print ten packets before a previous ten-line print.\n\
+One argument specifies the starting packet of a ten-line print.\n\
+Two arguments with comma between specify starting and ending packets to \
+print.\n\
+Preceded with '+'/'-' the second argument specifies the distance from the \
+first.\n"),
+	   &maint_btrace_cmdlist);
+
+  add_cmd ("clear-packet-history", class_maintenance,
+	   maint_btrace_clear_packet_history_cmd,
+	   _("Clears the branch tracing packet history.\n\
+Discards the raw branch tracing data but not the execution history data.\n\
+"),
+	   &maint_btrace_cmdlist);
+
+  add_cmd ("clear", class_maintenance, maint_btrace_clear_cmd,
+	   _("Clears the branch tracing data.\n\
+Discards the raw branch tracing data and the execution history data.\n\
+The next 'record' command will fetch the branch tracing data anew.\n\
+"),
+	   &maint_btrace_cmdlist);
+
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/btrace.h ./gdb/btrace.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/btrace.h	2015-07-02 01:48:29.000000000 +0000
+++ ./gdb/btrace.h	2015-07-03 01:48:29.000000000 +0000
@@ -29,6 +29,10 @@
 #include "btrace-common.h"
 #include "target/waitstatus.h" /* For enum target_stop_reason.  */
 
+#if defined (HAVE_LIBIPT)
+#  include <intel-pt.h>
+#endif
+
 struct thread_info;
 struct btrace_function;
 
@@ -97,6 +101,21 @@ enum btrace_bts_error
   BDE_BTS_INSN_SIZE
 };
 
+/* Decode errors for the Intel(R) Processor Trace recording format.  */
+enum btrace_pt_error
+{
+  /* The user cancelled trace processing.  */
+  BDE_PT_USER_QUIT = 1,
+
+  /* Tracing was temporarily disabled.  */
+  BDE_PT_DISABLED,
+
+  /* Trace recording overflowed.  */
+  BDE_PT_OVERFLOW
+
+  /* Negative numbers are used by the decoder library.  */
+};
+
 /* A branch trace function segment.
 
    This represents a function segment in a branch trace, i.e. a consecutive
@@ -214,6 +233,66 @@ enum btrace_thread_flag
   BTHR_MOVE = (BTHR_STEP | BTHR_RSTEP | BTHR_CONT | BTHR_RCONT)
 };
 
+#if defined (HAVE_LIBIPT)
+/* A packet.  */
+struct btrace_pt_packet
+{
+  /* The offset in the trace stream.  */
+  uint64_t offset;
+
+  /* The decode error code.  */
+  enum pt_error_code errcode;
+
+  /* The decoded packet.  Only valid if ERRCODE == pte_ok.  */
+  struct pt_packet packet;
+};
+
+/* Define functions operating on a vector of packets.  */
+typedef struct btrace_pt_packet btrace_pt_packet_s;
+DEF_VEC_O (btrace_pt_packet_s);
+#endif /* defined (HAVE_LIBIPT)  */
+
+/* Branch trace iteration state for "maintenance btrace packet-history".  */
+struct btrace_maint_packet_history
+{
+  /* The branch trace packet range from BEGIN (inclusive) to
+     END (exclusive) that has been covered last time.  */
+  unsigned int begin;
+  unsigned int end;
+};
+
+/* Branch trace maintenance information per thread.
+
+   This information is used by "maintenance btrace" commands.  */
+struct btrace_maint_info
+{
+  /* Most information is format-specific.
+     The format can be found in the BTRACE.DATA.FORMAT field of each thread.  */
+  union
+  {
+    /* BTRACE.DATA.FORMAT == BTRACE_FORMAT_BTS  */
+    struct
+    {
+      /* The packet history iterator.
+	 We are iterating over BTRACE.DATA.FORMAT.VARIANT.BTS.BLOCKS.  */
+      struct btrace_maint_packet_history packet_history;
+    } bts;
+
+#if defined (HAVE_LIBIPT)
+    /* BTRACE.DATA.FORMAT == BTRACE_FORMAT_PT  */
+    struct
+    {
+      /* A vector of decoded packets.  */
+      VEC (btrace_pt_packet_s) *packets;
+
+      /* The packet history iterator.
+	 We are iterating over the above PACKETS vector.  */
+      struct btrace_maint_packet_history packet_history;
+    } pt;
+#endif /* defined (HAVE_LIBIPT)  */
+  } variant;
+};
+
 /* Branch trace information per thread.
 
    This represents the branch trace configuration as well as the entry point
@@ -229,6 +308,9 @@ struct btrace_thread_info
      the underlying architecture.  */
   struct btrace_target_info *target;
 
+  /* The raw branch trace data for the below branch trace.  */
+  struct btrace_data data;
+
   /* The current branch trace for this thread (both inclusive).
 
      The last instruction of END is the current instruction, which is not
@@ -262,6 +344,9 @@ struct btrace_thread_info
 
   /* Why the thread stopped, if we need to track it.  */
   enum target_stop_reason stop_reason;
+
+  /* Maintenance information.  */
+  struct btrace_maint_info maint;
 };
 
 /* Enable branch tracing for a thread.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/ChangeLog ./gdb/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/ChangeLog	2015-07-02 01:48:29.000000000 +0000
+++ ./gdb/ChangeLog	2015-07-03 01:48:29.000000000 +0000
@@ -1,3 +1,158 @@
+2015-07-02  Kevin Buettner  <kevinb@redhat.com>
+
+	* rx-tdep.c (RX_USP_REGNUM, RX_BPC_REGNUM): New constants.
+	(enum rx_frame_type): New.
+	(struct rx_prologue): Add new field `frame_type'.
+	(rx_analyze_prologue): Add `frame_type' parameter. Cache this
+	parameter in the prologue struct.  Add code for recording
+	locations of PC and PSW for fast interrupt and exception frames.
+	(rx_skip_prologue): Adjust call to rx_analyze_prologue.
+	(rx_analyze_frame_prologue): Add `frame_type' parameter.
+	(rx_frame_type): New function.
+	(rx_frame_base): Fetch frame type and pass it to rx_analyze_prologue.
+	(rx_frame_this_id): Rename parameter `this_prologue_cache' to
+	`this_cache'.
+	(rx_frame_prev_register): Rename parameter `this_prologue_cache' to
+	`this_cache'.  Add cases for RX_FRAME_TYPE_EXCEPTION and 
+	RX_FRAME_TYPE_FAST_INTERRUPT.
+	(normal_frame_p, exception_frame_p, rx_frame_sniffer_common)
+	(rx_frame_sniffer, rx_exception_sniffer): New functions.
+	(rx_frame_unwind): Use rx_frame_sniffer instead of
+	default_frame_sniffer.
+	(rx_frame_unwind): New unwinder.
+	(rx_gdbarch_init): Register new unwinder.
+
+2015-07-02  Kevin Buettner  <kevinb@redhat.com>
+
+	* rx-tdep.c (RX_BPSW_REGNUM, RX_FPSW_REGNUM): New constants.
+	(struct gdbarch_tdep): Add fields rx_psw_type and rx_fpsw_type.
+	(rx_register_type): Add cases for RX_PSW_REGNUM, RX_BPSW_REGNUM,
+	and RX_FPSW_REGNUM.
+	(rx_gdbarch_init): Initialize PSW, BPSW, and FPSW flags types.
+
+2015-07-02  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	Fix GCC false warning.
+	* s390-linux-tdep.c (s390_handle_arg): Initialize VAL.
+
+2015-07-02  Yao Qi  <yao.qi@linaro.org>
+
+	* aarch64-linux-nat.c (aarch64_linux_insert_hw_breakpoint): Fix
+	typo in the debugging message.
+
+2015-07-02  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* btrace.c: Include gdbcmd.h, cli/cli-utils.h, and ctype.h.
+	(maint_btrace_cmdlist, maint_btrace_set_cmdlist)
+	(maint_btrace_show_cmdlist, maint_btrace_pt_set_cmdlist)
+	(maint_btrace_pt_show_cmdlist, maint_btrace_pt_skip_pad)
+	(btrace_maint_clear): New.
+	(btrace_fetch, btrace_clear): Call btrace_maint_clear.
+	(pt_print_packet, btrace_maint_decode_pt)
+	(btrace_maint_update_pt_packets, btrace_maint_update_packets)
+	(btrace_maint_print_packets, get_uint, get_context_size, no_chunk)
+	(maint_btrace_packet_history_cmd)
+	(maint_btrace_clear_packet_history_cmd, maint_btrace_clear_cmd)
+	(maint_btrace_cmd, maint_btrace_set_cmd, maint_btrace_show_cmd)
+	(maint_btrace_pt_set_cmd, maint_btrace_pt_show_cmd)
+	(maint_info_btrace_cmd, _initialize_btrace): New.
+	* btrace.h (btrace_pt_packet, btrace_pt_packet_s)
+	(btrace_maint_packet_history, btrace_maint_info): New.
+	(btrace_thread_info) <maint>: New.
+	* NEWS: Announce it.
+
+2015-07-02  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* btrace.c (btrace_fetch): Append the new trace data.
+	(btrace_clear): Clear the stored trace data.
+	* btrace.h (btrace_thread_info) <data>: New.
+	* common/btrace-common.h (btrace_data_clear)
+	(btrace_data_append): New.
+	* common/btrace-common.c (btrace_data_clear)
+	(btrace_data_append): New.
+
+2015-07-02  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* nat/linux-btrace.c (linux_enable_bts): Check for
+	PERF_ATTR_SIZE_VER5.
+	Check for data_offset and data_size fields.  Use them.
+
+2015-07-02  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* 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.
+
+2015-07-02  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* configure.ac: check for libipt
+	* configure: Regenerate.
+	* config.in: Regenerate.
+	* Makefile.in (LIBIPT): New.
+	(CLIBS): Add $LIBIPT.
+	* NEWS: document new configure options
+
+2015-07-02  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* compile/compile-object-load.c (compile_object_load): Replace debug
+	message "lookup undefined ELF symbol" by 3 more specific messages.
+
 2015-07-01  Kevin Buettner  <kevinb@redhat.com>
 
 	* rl78-tdep.c (struct gdbarch_tdep): Add new field, rl78_psw_type.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/common/btrace-common.c ./gdb/common/btrace-common.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/common/btrace-common.c	2015-07-02 01:48:29.000000000 +0000
+++ ./gdb/common/btrace-common.c	2015-07-03 01:48:29.000000000 +0000
@@ -33,6 +33,9 @@ btrace_format_string (enum btrace_format
 
     case BTRACE_FORMAT_BTS:
       return _("Branch Trace Store");
+
+    case BTRACE_FORMAT_PT:
+      return _("Intel(R) Processor Trace");
     }
 
   internal_error (__FILE__, __LINE__, _("Unknown branch trace format"));
@@ -60,6 +63,10 @@ btrace_data_fini (struct btrace_data *da
     case BTRACE_FORMAT_BTS:
       VEC_free (btrace_block_s, data->variant.bts.blocks);
       return;
+
+    case BTRACE_FORMAT_PT:
+      xfree (data->variant.pt.data);
+      return;
     }
 
   internal_error (__FILE__, __LINE__, _("Unkown branch trace format."));
@@ -77,6 +84,96 @@ btrace_data_empty (struct btrace_data *d
 
     case BTRACE_FORMAT_BTS:
       return VEC_empty (btrace_block_s, data->variant.bts.blocks);
+
+    case BTRACE_FORMAT_PT:
+      return (data->variant.pt.size == 0);
+    }
+
+  internal_error (__FILE__, __LINE__, _("Unkown branch trace format."));
+}
+
+/* See btrace-common.h.  */
+
+void
+btrace_data_clear (struct btrace_data *data)
+{
+  btrace_data_fini (data);
+  btrace_data_init (data);
+}
+
+/* See btrace-common.h.  */
+
+int
+btrace_data_append (struct btrace_data *dst,
+		    const struct btrace_data *src)
+{
+  switch (src->format)
+    {
+    case BTRACE_FORMAT_NONE:
+      return 0;
+
+    case BTRACE_FORMAT_BTS:
+      switch (dst->format)
+	{
+	default:
+	  return -1;
+
+	case BTRACE_FORMAT_NONE:
+	  dst->format = BTRACE_FORMAT_BTS;
+	  dst->variant.bts.blocks = NULL;
+
+	  /* Fall-through.  */
+	case BTRACE_FORMAT_BTS:
+	  {
+	    unsigned int blk;
+
+	    /* We copy blocks in reverse order to have the oldest block at
+	       index zero.  */
+	    blk = VEC_length (btrace_block_s, src->variant.bts.blocks);
+	    while (blk != 0)
+	      {
+		btrace_block_s *block;
+
+		block = VEC_index (btrace_block_s, src->variant.bts.blocks,
+				   --blk);
+
+		VEC_safe_push (btrace_block_s, dst->variant.bts.blocks, block);
+	      }
+	  }
+	}
+      return 0;
+
+    case BTRACE_FORMAT_PT:
+      switch (dst->format)
+	{
+	default:
+	  return -1;
+
+	case BTRACE_FORMAT_NONE:
+	  dst->format = BTRACE_FORMAT_PT;
+	  dst->variant.pt.data = NULL;
+	  dst->variant.pt.size = 0;
+
+	  /* fall-through.  */
+	case BTRACE_FORMAT_BTS:
+	  {
+	    gdb_byte *data;
+	    unsigned long size;
+
+	    size = src->variant.pt.size + dst->variant.pt.size;
+	    data = xmalloc (size);
+
+	    memcpy (data, dst->variant.pt.data, dst->variant.pt.size);
+	    memcpy (data + dst->variant.pt.size, src->variant.pt.data,
+		    src->variant.pt.size);
+
+	    xfree (dst->variant.pt.data);
+
+	    dst->variant.pt.data = data;
+	    dst->variant.pt.size = size;
+	  }
+	}
+      return 0;
     }
 
   internal_error (__FILE__, __LINE__, _("Unkown branch trace format."));
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/common/btrace-common.h ./gdb/common/btrace-common.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/common/btrace-common.h	2015-07-02 01:48:29.000000000 +0000
+++ ./gdb/common/btrace-common.h	2015-07-03 01:48:29.000000000 +0000
@@ -58,7 +58,10 @@ enum btrace_format
 
   /* Branch trace is in Branch Trace Store (BTS) format.
      Actually, the format is a sequence of blocks derived from BTS.  */
-  BTRACE_FORMAT_BTS
+  BTRACE_FORMAT_BTS,
+
+  /* Branch trace is in Intel(R) Processor Trace format.  */
+  BTRACE_FORMAT_PT
 };
 
 /* An enumeration of cpu vendors.  */
@@ -97,6 +100,14 @@ struct btrace_config_bts
   unsigned int size;
 };
 
+/* An Intel(R) Processor Trace configuration.  */
+
+struct btrace_config_pt
+{
+  /* The size of the branch trace buffer in bytes.  */
+  unsigned int size;
+};
+
 /* A branch tracing configuration.
 
    This describes the requested configuration as well as the actually
@@ -111,6 +122,9 @@ struct btrace_config
 
   /* The BTS format configuration.  */
   struct btrace_config_bts bts;
+
+  /* The Intel(R) Processor Trace format configuration.  */
+  struct btrace_config_pt pt;
 };
 
 /* Branch trace in BTS format.  */
@@ -121,6 +135,26 @@ struct btrace_data_bts
   VEC (btrace_block_s) *blocks;
 };
 
+/* Configuration information to go with the trace data.  */
+struct btrace_data_pt_config
+{
+  /* The processor on which the trace has been collected.  */
+  struct btrace_cpu cpu;
+};
+
+/* Branch trace in Intel(R) Processor Trace format.  */
+struct btrace_data_pt
+{
+  /* Some configuration information to go with the data.  */
+  struct btrace_data_pt_config config;
+
+  /* The trace data.  */
+  gdb_byte *data;
+
+  /* The size of DATA in bytes.  */
+  unsigned long size;
+};
+
 /* The branch trace data.  */
 struct btrace_data
 {
@@ -130,6 +164,9 @@ struct btrace_data
   {
     /* Format == BTRACE_FORMAT_BTS.  */
     struct btrace_data_bts bts;
+
+    /* Format == BTRACE_FORMAT_PT.  */
+    struct btrace_data_pt pt;
   } variant;
 };
 
@@ -177,7 +214,16 @@ extern void btrace_data_init (struct btr
 /* Cleanup DATA.  */
 extern void btrace_data_fini (struct btrace_data *data);
 
+/* Clear DATA.  */
+extern void btrace_data_clear (struct btrace_data *data);
+
 /* Return non-zero if DATA is empty; zero otherwise.  */
 extern int btrace_data_empty (struct btrace_data *data);
 
+/* Append the branch trace data from SRC to the end of DST.
+   Both SRC and DST must use the same format.
+   Returns zero on success; a negative number otherwise.  */
+extern int btrace_data_append (struct btrace_data *dst,
+			       const struct btrace_data *src);
+
 #endif /* BTRACE_COMMON_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/compile/compile-object-load.c ./gdb/compile/compile-object-load.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/compile/compile-object-load.c	2015-07-02 01:48:29.000000000 +0000
+++ ./gdb/compile/compile-object-load.c	2015-07-03 01:48:29.000000000 +0000
@@ -731,14 +731,18 @@ compile_object_load (const char *object_
 
       if (sym->flags != 0)
 	continue;
-      if (compile_debug)
-	fprintf_unfiltered (gdb_stdlog,
-			    "lookup undefined ELF symbol \"%s\"\n",
-			    sym->name);
       sym->flags = BSF_GLOBAL;
       sym->section = bfd_abs_section_ptr;
       if (strcmp (sym->name, "_GLOBAL_OFFSET_TABLE_") == 0)
 	{
+	  if (compile_debug)
+	    fprintf_unfiltered (gdb_stdlog,
+				"ELF symbol \"%s\" relocated to zero\n",
+				sym->name);
+
+	  /* It seems to be a GCC bug, with -mcmodel=large there should be no
+	     need for _GLOBAL_OFFSET_TABLE_.  Together with -fPIE the data
+	     remain PC-relative even with _GLOBAL_OFFSET_TABLE_ as zero.  */
 	  sym->value = 0;
 	  continue;
 	}
@@ -748,10 +752,21 @@ compile_object_load (const char *object_
 	{
 	case mst_text:
 	  sym->value = BMSYMBOL_VALUE_ADDRESS (bmsym);
+	  if (compile_debug)
+	    fprintf_unfiltered (gdb_stdlog,
+				"ELF mst_text symbol \"%s\" relocated to %s\n",
+				sym->name,
+				paddress (target_gdbarch (), sym->value));
 	  break;
 	case mst_text_gnu_ifunc:
 	  sym->value = gnu_ifunc_resolve_addr (target_gdbarch (),
 					       BMSYMBOL_VALUE_ADDRESS (bmsym));
+	  if (compile_debug)
+	    fprintf_unfiltered (gdb_stdlog,
+				"ELF mst_text_gnu_ifunc symbol \"%s\" "
+				"relocated to %s\n",
+				sym->name,
+				paddress (target_gdbarch (), sym->value));
 	  break;
 	default:
 	  warning (_("Could not find symbol \"%s\" "
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/config.in ./gdb/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/config.in	2015-07-02 01:48:29.000000000 +0000
+++ ./gdb/config.in	2015-07-03 01:48:29.000000000 +0000
@@ -234,6 +234,9 @@
 /* Define to 1 if you have the `libiconvlist' function. */
 #undef HAVE_LIBICONVLIST
 
+/* Define if you have the ipt library. */
+#undef HAVE_LIBIPT
+
 /* Define if you have the lzma library. */
 #undef HAVE_LIBLZMA
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/configure ./gdb/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/configure	2015-07-02 01:48:29.000000000 +0000
+++ ./gdb/configure	2015-07-03 01:48:29.000000000 +0000
@@ -658,6 +658,9 @@ TARGET_SYSTEM_ROOT
 CONFIG_LDFLAGS
 RDYNAMIC
 ALLOCA
+LTLIBIPT
+LIBIPT
+HAVE_LIBIPT
 HAVE_GUILE_FALSE
 HAVE_GUILE_TRUE
 GUILE_LIBS
@@ -831,6 +834,8 @@ with_libexpat_prefix
 with_python
 with_guile
 enable_libmcheck
+with_intel_pt
+with_libipt_prefix
 with_included_regex
 with_sysroot
 with_system_gdbinit
@@ -1553,6 +1558,9 @@ Optional Packages:
                           (auto/yes/no/<python-program>)
   --with-guile[=GUILE]    include guile support
                           (auto/yes/no/<guile-version>/<pkg-config-program>)
+  --with-intel-pt         include Intel(R) Processor Trace support (auto/yes/no)
+  --with-libipt-prefix[=DIR]  search for libipt in DIR/include and DIR/lib
+  --without-libipt-prefix     don't search for libipt in includedir and libdir
   --without-included-regex
                           don't use included regex; this is the default on
                           systems with version 2 of the GNU C library (use
@@ -9661,6 +9669,496 @@ if test "$ENABLE_LIBMCHECK" = "yes" \
 $as_echo "$as_me: WARNING: --enable-libmcheck may lead to spurious crashes if threads are used in python" >&2;}
 fi
 
+
+# Check whether --with-intel_pt was given.
+if test "${with_intel_pt+set}" = set; then :
+  withval=$with_intel_pt;
+else
+  with_intel_pt=auto
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use intel pt" >&5
+$as_echo_n "checking whether to use intel pt... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_intel_pt" >&5
+$as_echo "$with_intel_pt" >&6; }
+
+if test "${with_intel_pt}" = no; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Intel(R) Processor Trace support disabled; some features may be unavailable." >&5
+$as_echo "$as_me: WARNING: Intel(R) Processor Trace support disabled; some features may be unavailable." >&2;}
+  HAVE_LIBIPT=no
+else
+
+
+
+
+
+
+
+
+    use_additional=yes
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+
+    eval additional_includedir=\"$includedir\"
+    eval additional_libdir=\"$libdir\"
+
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+
+# Check whether --with-libipt-prefix was given.
+if test "${with_libipt_prefix+set}" = set; then :
+  withval=$with_libipt_prefix;
+    if test "X$withval" = "Xno"; then
+      use_additional=no
+    else
+      if test "X$withval" = "X"; then
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+
+          eval additional_includedir=\"$includedir\"
+          eval additional_libdir=\"$libdir\"
+
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+      else
+        additional_includedir="$withval/include"
+        additional_libdir="$withval/lib"
+      fi
+    fi
+
+fi
+
+      LIBIPT=
+  LTLIBIPT=
+  INCIPT=
+  rpathdirs=
+  ltrpathdirs=
+  names_already_handled=
+  names_next_round='ipt '
+  while test -n "$names_next_round"; do
+    names_this_round="$names_next_round"
+    names_next_round=
+    for name in $names_this_round; do
+      already_handled=
+      for n in $names_already_handled; do
+        if test "$n" = "$name"; then
+          already_handled=yes
+          break
+        fi
+      done
+      if test -z "$already_handled"; then
+        names_already_handled="$names_already_handled $name"
+                        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
+        eval value=\"\$HAVE_LIB$uppername\"
+        if test -n "$value"; then
+          if test "$value" = yes; then
+            eval value=\"\$LIB$uppername\"
+            test -z "$value" || LIBIPT="${LIBIPT}${LIBIPT:+ }$value"
+            eval value=\"\$LTLIB$uppername\"
+            test -z "$value" || LTLIBIPT="${LTLIBIPT}${LTLIBIPT:+ }$value"
+          else
+                                    :
+          fi
+        else
+                              found_dir=
+          found_la=
+          found_so=
+          found_a=
+          if test $use_additional = yes; then
+            if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
+              found_dir="$additional_libdir"
+              found_so="$additional_libdir/lib$name.$shlibext"
+              if test -f "$additional_libdir/lib$name.la"; then
+                found_la="$additional_libdir/lib$name.la"
+              fi
+            else
+              if test -f "$additional_libdir/lib$name.$libext"; then
+                found_dir="$additional_libdir"
+                found_a="$additional_libdir/lib$name.$libext"
+                if test -f "$additional_libdir/lib$name.la"; then
+                  found_la="$additional_libdir/lib$name.la"
+                fi
+              fi
+            fi
+          fi
+          if test "X$found_dir" = "X"; then
+            for x in $LDFLAGS $LTLIBIPT; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+              case "$x" in
+                -L*)
+                  dir=`echo "X$x" | sed -e 's/^X-L//'`
+                  if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
+                    found_dir="$dir"
+                    found_so="$dir/lib$name.$shlibext"
+                    if test -f "$dir/lib$name.la"; then
+                      found_la="$dir/lib$name.la"
+                    fi
+                  else
+                    if test -f "$dir/lib$name.$libext"; then
+                      found_dir="$dir"
+                      found_a="$dir/lib$name.$libext"
+                      if test -f "$dir/lib$name.la"; then
+                        found_la="$dir/lib$name.la"
+                      fi
+                    fi
+                  fi
+                  ;;
+              esac
+              if test "X$found_dir" != "X"; then
+                break
+              fi
+            done
+          fi
+          if test "X$found_dir" != "X"; then
+                        LTLIBIPT="${LTLIBIPT}${LTLIBIPT:+ }-L$found_dir -l$name"
+            if test "X$found_so" != "X"; then
+                                                        if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
+                                LIBIPT="${LIBIPT}${LIBIPT:+ }$found_so"
+              else
+                                                                                haveit=
+                for x in $ltrpathdirs; do
+                  if test "X$x" = "X$found_dir"; then
+                    haveit=yes
+                    break
+                  fi
+                done
+                if test -z "$haveit"; then
+                  ltrpathdirs="$ltrpathdirs $found_dir"
+                fi
+                                if test "$hardcode_direct" = yes; then
+                                                      LIBIPT="${LIBIPT}${LIBIPT:+ }$found_so"
+                else
+                  if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
+                                                            LIBIPT="${LIBIPT}${LIBIPT:+ }$found_so"
+                                                            haveit=
+                    for x in $rpathdirs; do
+                      if test "X$x" = "X$found_dir"; then
+                        haveit=yes
+                        break
+                      fi
+                    done
+                    if test -z "$haveit"; then
+                      rpathdirs="$rpathdirs $found_dir"
+                    fi
+                  else
+                                                                                haveit=
+                    for x in $LDFLAGS $LIBIPT; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+                      if test "X$x" = "X-L$found_dir"; then
+                        haveit=yes
+                        break
+                      fi
+                    done
+                    if test -z "$haveit"; then
+                      LIBIPT="${LIBIPT}${LIBIPT:+ }-L$found_dir"
+                    fi
+                    if test "$hardcode_minus_L" != no; then
+                                                                                        LIBIPT="${LIBIPT}${LIBIPT:+ }$found_so"
+                    else
+                                                                                                                                                                                LIBIPT="${LIBIPT}${LIBIPT:+ }-l$name"
+                    fi
+                  fi
+                fi
+              fi
+            else
+              if test "X$found_a" != "X"; then
+                                LIBIPT="${LIBIPT}${LIBIPT:+ }$found_a"
+              else
+                                                LIBIPT="${LIBIPT}${LIBIPT:+ }-L$found_dir -l$name"
+              fi
+            fi
+                        additional_includedir=
+            case "$found_dir" in
+              */lib | */lib/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
+                additional_includedir="$basedir/include"
+                ;;
+            esac
+            if test "X$additional_includedir" != "X"; then
+                                                                                                                if test "X$additional_includedir" != "X/usr/include"; then
+                haveit=
+                if test "X$additional_includedir" = "X/usr/local/include"; then
+                  if test -n "$GCC"; then
+                    case $host_os in
+                      linux*) haveit=yes;;
+                    esac
+                  fi
+                fi
+                if test -z "$haveit"; then
+                  for x in $CPPFLAGS $INCIPT; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+                    if test "X$x" = "X-I$additional_includedir"; then
+                      haveit=yes
+                      break
+                    fi
+                  done
+                  if test -z "$haveit"; then
+                    if test -d "$additional_includedir"; then
+                                            INCIPT="${INCIPT}${INCIPT:+ }-I$additional_includedir"
+                    fi
+                  fi
+                fi
+              fi
+            fi
+                        if test -n "$found_la"; then
+                                                        save_libdir="$libdir"
+              case "$found_la" in
+                */* | *\\*) . "$found_la" ;;
+                *) . "./$found_la" ;;
+              esac
+              libdir="$save_libdir"
+                            for dep in $dependency_libs; do
+                case "$dep" in
+                  -L*)
+                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+                                                                                                                                                                if test "X$additional_libdir" != "X/usr/lib"; then
+                      haveit=
+                      if test "X$additional_libdir" = "X/usr/local/lib"; then
+                        if test -n "$GCC"; then
+                          case $host_os in
+                            linux*) haveit=yes;;
+                          esac
+                        fi
+                      fi
+                      if test -z "$haveit"; then
+                        haveit=
+                        for x in $LDFLAGS $LIBIPT; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+                          if test "X$x" = "X-L$additional_libdir"; then
+                            haveit=yes
+                            break
+                          fi
+                        done
+                        if test -z "$haveit"; then
+                          if test -d "$additional_libdir"; then
+                                                        LIBIPT="${LIBIPT}${LIBIPT:+ }-L$additional_libdir"
+                          fi
+                        fi
+                        haveit=
+                        for x in $LDFLAGS $LTLIBIPT; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+                          if test "X$x" = "X-L$additional_libdir"; then
+                            haveit=yes
+                            break
+                          fi
+                        done
+                        if test -z "$haveit"; then
+                          if test -d "$additional_libdir"; then
+                                                        LTLIBIPT="${LTLIBIPT}${LTLIBIPT:+ }-L$additional_libdir"
+                          fi
+                        fi
+                      fi
+                    fi
+                    ;;
+                  -R*)
+                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
+                    if test "$enable_rpath" != no; then
+                                                                  haveit=
+                      for x in $rpathdirs; do
+                        if test "X$x" = "X$dir"; then
+                          haveit=yes
+                          break
+                        fi
+                      done
+                      if test -z "$haveit"; then
+                        rpathdirs="$rpathdirs $dir"
+                      fi
+                                                                  haveit=
+                      for x in $ltrpathdirs; do
+                        if test "X$x" = "X$dir"; then
+                          haveit=yes
+                          break
+                        fi
+                      done
+                      if test -z "$haveit"; then
+                        ltrpathdirs="$ltrpathdirs $dir"
+                      fi
+                    fi
+                    ;;
+                  -l*)
+                                        names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+                    ;;
+                  *.la)
+                                                                                names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
+                    ;;
+                  *)
+                                        LIBIPT="${LIBIPT}${LIBIPT:+ }$dep"
+                    LTLIBIPT="${LTLIBIPT}${LTLIBIPT:+ }$dep"
+                    ;;
+                esac
+              done
+            fi
+          else
+                                                            LIBIPT="${LIBIPT}${LIBIPT:+ }-l$name"
+            LTLIBIPT="${LTLIBIPT}${LTLIBIPT:+ }-l$name"
+          fi
+        fi
+      fi
+    done
+  done
+  if test "X$rpathdirs" != "X"; then
+    if test -n "$hardcode_libdir_separator"; then
+                        alldirs=
+      for found_dir in $rpathdirs; do
+        alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
+      done
+            acl_save_libdir="$libdir"
+      libdir="$alldirs"
+      eval flag=\"$hardcode_libdir_flag_spec\"
+      libdir="$acl_save_libdir"
+      LIBIPT="${LIBIPT}${LIBIPT:+ }$flag"
+    else
+            for found_dir in $rpathdirs; do
+        acl_save_libdir="$libdir"
+        libdir="$found_dir"
+        eval flag=\"$hardcode_libdir_flag_spec\"
+        libdir="$acl_save_libdir"
+        LIBIPT="${LIBIPT}${LIBIPT:+ }$flag"
+      done
+    fi
+  fi
+  if test "X$ltrpathdirs" != "X"; then
+            for found_dir in $ltrpathdirs; do
+      LTLIBIPT="${LTLIBIPT}${LTLIBIPT:+ }-R$found_dir"
+    done
+  fi
+
+
+        ac_save_CPPFLAGS="$CPPFLAGS"
+
+  for element in $INCIPT; do
+    haveit=
+    for x in $CPPFLAGS; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+      if test "X$x" = "X$element"; then
+        haveit=yes
+        break
+      fi
+    done
+    if test -z "$haveit"; then
+      CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
+    fi
+  done
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libipt" >&5
+$as_echo_n "checking for libipt... " >&6; }
+if test "${ac_cv_libipt+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+
+    ac_save_LIBS="$LIBS"
+    LIBS="$LIBS $LIBIPT"
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include "intel-pt.h"
+int
+main ()
+{
+pt_insn_alloc_decoder (0);
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_libipt=yes
+else
+  ac_cv_libipt=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+    LIBS="$ac_save_LIBS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libipt" >&5
+$as_echo "$ac_cv_libipt" >&6; }
+  if test "$ac_cv_libipt" = yes; then
+    HAVE_LIBIPT=yes
+
+$as_echo "#define HAVE_LIBIPT 1" >>confdefs.h
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libipt" >&5
+$as_echo_n "checking how to link with libipt... " >&6; }
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBIPT" >&5
+$as_echo "$LIBIPT" >&6; }
+  else
+    HAVE_LIBIPT=no
+            CPPFLAGS="$ac_save_CPPFLAGS"
+    LIBIPT=
+    LTLIBIPT=
+  fi
+
+
+
+
+
+
+  if test "$HAVE_LIBIPT" != yes; then
+    if test "$with_intel_pt" = yes; then
+      as_fn_error "libipt is missing or unusable" "$LINENO" 5
+    else
+      { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libipt is missing or unusable; some features may be unavailable." >&5
+$as_echo "$as_me: WARNING: libipt is missing or unusable; some features may be unavailable." >&2;}
+    fi
+  fi
+fi
+
 # ------------------------- #
 # Checks for header files.  #
 # ------------------------- #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/configure.ac ./gdb/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/configure.ac	2015-07-02 01:48:29.000000000 +0000
+++ ./gdb/configure.ac	2015-07-03 01:48:29.000000000 +0000
@@ -1242,6 +1242,26 @@ if test "$ENABLE_LIBMCHECK" = "yes" \
   AC_MSG_WARN(--enable-libmcheck may lead to spurious crashes if threads are used in python)
 fi
 
+AC_ARG_WITH(intel_pt,
+  AS_HELP_STRING([--with-intel-pt], [include Intel(R) Processor Trace support (auto/yes/no)]),
+  [], [with_intel_pt=auto])
+AC_MSG_CHECKING([whether to use intel pt])
+AC_MSG_RESULT([$with_intel_pt])
+
+if test "${with_intel_pt}" = no; then
+  AC_MSG_WARN([Intel(R) Processor Trace support disabled; some features may be unavailable.])
+  HAVE_LIBIPT=no
+else
+  AC_LIB_HAVE_LINKFLAGS([ipt], [], [#include "intel-pt.h"], [pt_insn_alloc_decoder (0);])
+  if test "$HAVE_LIBIPT" != yes; then
+    if test "$with_intel_pt" = yes; then
+      AC_MSG_ERROR([libipt is missing or unusable])
+    else
+      AC_MSG_WARN([libipt is missing or unusable; some features may be unavailable.])
+    fi
+  fi
+fi
+
 # ------------------------- #
 # Checks for header files.  #
 # ------------------------- #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/doc/ChangeLog ./gdb/doc/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/doc/ChangeLog	2015-07-02 01:48:29.000000000 +0000
+++ ./gdb/doc/ChangeLog	2015-07-03 01:48:29.000000000 +0000
@@ -1,3 +1,19 @@
+2015-07-02  Markus Metzger  <markus.t.metzger@intel.com>
+
+        * gdb.texinfo (Maintenance Commands): Document "maint btrace"
+	commands.
+
+2015-07-02  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* 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-06-26  Patrick Palka  <patrick@parcs.ath.cx>
 
 	* gdb.texinfo (Command History): Document the new option
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/doc/gcore.1 ./gdb/doc/gcore.1
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/doc/gcore.1	2015-07-02 01:51:13.000000000 +0000
+++ ./gdb/doc/gcore.1	2015-07-03 01:51:26.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GCORE 1"
-.TH GCORE 1 "2015-07-02" "gdb-7.9.50.20150702-cvs" "GNU Development Tools"
+.TH GCORE 1 "2015-07-03" "gdb-7.9.50.20150703-cvs" "GNU Development Tools"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/doc/gdb.1 ./gdb/doc/gdb.1
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/doc/gdb.1	2015-07-02 01:51:13.000000000 +0000
+++ ./gdb/doc/gdb.1	2015-07-03 01:51:26.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDB 1"
-.TH GDB 1 "2015-07-02" "gdb-7.9.50.20150702-cvs" "GNU Development Tools"
+.TH GDB 1 "2015-07-03" "gdb-7.9.50.20150703-cvs" "GNU Development Tools"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/doc/gdb.info ./gdb/doc/gdb.info
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/doc/gdb.info	2015-07-02 01:51:12.000000000 +0000
+++ ./gdb/doc/gdb.info	2015-07-03 01:51:25.000000000 +0000
@@ -22,7 +22,7 @@ developing GNU and promoting software fr
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of `Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 7.9.50.20150702-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.9.50.20150703-cvs.
 
    Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
@@ -40,13 +40,13 @@ developing GNU and promoting software fr
 
 Indirect:
 gdb.info-1: 1723
-gdb.info-2: 295168
-gdb.info-3: 593066
-gdb.info-4: 891401
-gdb.info-5: 1191311
-gdb.info-6: 1488567
-gdb.info-7: 1781617
-gdb.info-8: 1975566
+gdb.info-2: 296975
+gdb.info-3: 594873
+gdb.info-4: 893208
+gdb.info-5: 1193118
+gdb.info-6: 1490374
+gdb.info-7: 1786622
+gdb.info-8: 1980712
 
 Tag Table:
 (Indirect)
@@ -126,624 +126,624 @@ Node: Reverse Execution227232
 Ref: Reverse Execution-Footnote-1231859
 Ref: Reverse Execution-Footnote-2232486
 Node: Process Record and Replay232536
-Node: Stack248448
-Node: Frames249996
-Node: Backtrace252764
-Ref: backtrace-command253115
-Ref: Backtrace-Footnote-1258884
-Node: Frame Filter Management259072
-Ref: disable frame-filter all259616
-Node: Selection263924
-Node: Frame Info266796
-Node: Source268790
-Node: List269856
-Node: Specify Location272558
-Node: Edit277161
-Ref: Edit-Footnote-1278636
-Node: Search278871
-Node: Source Path279679
-Ref: set substitute-path286046
-Node: Machine Code288267
-Node: Data295168
-Node: Expressions302831
-Node: Ambiguous Expressions304935
-Node: Variables308169
-Node: Arrays314235
-Node: Output Formats316766
-Ref: Output Formats-Footnote-1320138
-Node: Memory320295
-Ref: addressable memory unit325756
-Node: Auto Display327251
-Node: Print Settings331793
-Ref: set print entry-values339951
-Node: Pretty Printing351259
-Node: Pretty-Printer Introduction351772
-Node: Pretty-Printer Example353527
-Node: Pretty-Printer Commands354305
-Node: Value History356729
-Node: Convenience Vars359150
-Node: Convenience Funs365633
-Node: Registers370770
-Ref: standard registers371752
-Ref: Registers-Footnote-1376704
-Node: Floating Point Hardware377099
-Node: Vector Unit377631
-Node: OS Information378018
-Ref: linux info os infotypes380041
-Node: Memory Region Attributes384621
-Node: Dump/Restore Files389291
-Node: Core File Generation391694
-Ref: set use-coredump-filter393098
-Node: Character Sets394546
-Node: Caching Target Data400911
-Ref: Caching Target Data-Footnote-1403640
-Node: Searching Memory403878
-Node: Optimized Code406755
-Node: Inline Functions408432
-Node: Tail Call Frames411059
-Ref: set debug entry-values413199
-Node: Macros417273
-Ref: Macros-Footnote-1424849
-Node: Tracepoints425002
-Node: Set Tracepoints427063
-Node: Create and Delete Tracepoints430001
-Node: Enable and Disable Tracepoints436401
-Node: Tracepoint Passcounts437641
-Node: Tracepoint Conditions439068
-Node: Trace State Variables440762
-Node: Tracepoint Actions442956
-Node: Listing Tracepoints449261
-Node: Listing Static Tracepoint Markers450963
-Node: Starting and Stopping Trace Experiments452809
-Ref: disconnected tracing454554
-Node: Tracepoint Restrictions458982
-Node: Analyze Collected Data462752
-Node: tfind464057
-Node: tdump468479
-Node: save tracepoints470994
-Node: Tracepoint Variables471490
-Node: Trace Files472618
-Node: Overlays474994
-Node: How Overlays Work475714
-Ref: A code overlay478274
-Node: Overlay Commands481712
-Node: Automatic Overlay Debugging485902
-Node: Overlay Sample Program488043
-Node: Languages489803
-Node: Setting490966
-Node: Filenames492668
-Node: Manually493479
-Node: Automatically494688
-Node: Show495749
-Ref: show language496037
-Node: Checks497071
-Node: Type Checking498076
-Node: Range Checking499905
-Node: Supported Languages502306
-Node: C503606
-Node: C Operators504570
-Node: C Constants508915
-Node: C Plus Plus Expressions511796
-Node: C Defaults515139
-Node: C Checks515807
-Node: Debugging C516367
-Node: Debugging C Plus Plus516851
-Node: Decimal Floating Point520444
-Node: D521713
-Node: Go521970
-Node: Objective-C523064
-Node: Method Names in Commands523527
-Node: The Print Command with Objective-C525222
-Node: OpenCL C525873
-Node: OpenCL C Datatypes526148
-Node: OpenCL C Expressions526523
-Node: OpenCL C Operators526880
-Node: Fortran527112
-Node: Fortran Operators527834
-Node: Fortran Defaults528690
-Node: Special Fortran Commands529075
-Node: Pascal529581
-Node: Modula-2530096
-Node: M2 Operators531071
-Node: Built-In Func/Proc534070
-Node: M2 Constants536985
-Node: M2 Types538586
-Node: M2 Defaults541805
-Node: Deviations542405
-Node: M2 Checks543506
-Node: M2 Scope544324
-Node: GDB/M2545348
-Node: Ada546260
-Node: Ada Mode Intro547370
-Node: Omissions from Ada549280
-Node: Additions to Ada553634
-Node: Stopping Before Main Program557564
-Node: Ada Exceptions558098
-Node: Ada Tasks559295
-Node: Ada Tasks and Core Files565711
-Node: Ravenscar Profile566556
-Node: Ada Glitches567626
-Node: Unsupported Languages571641
-Node: Symbols572331
-Node: Altering592028
-Node: Assignment593066
-Node: Jumping596171
-Node: Signaling598332
-Node: Returning601261
-Node: Calling604613
-Node: Patching607656
-Node: Compiling and Injecting Code608770
-Ref: set debug compile612226
-Node: GDB Files621278
-Node: Files621998
-Ref: Shared Libraries635088
-Ref: Files-Footnote-1647377
-Node: Separate Debug Files647506
-Ref: debug-file-directory650612
-Node: MiniDebugInfo659210
-Node: Index Files661661
-Node: Symbol Errors663723
-Node: Data Files667336
-Node: Targets668292
-Node: Active Targets669772
-Node: Target Commands670846
-Ref: load675230
-Node: Byte Order676211
-Node: Remote Debugging677188
-Node: Connecting678450
-Node: File Transfer683679
-Node: Server684619
-Ref: Other Command-Line Arguments for gdbserver692211
-Ref: Monitor Commands for gdbserver695327
-Ref: Server-Footnote-1700498
-Node: Remote Configuration700618
-Ref: set remotebreak701879
-Ref: set remote hardware-watchpoint-limit703343
-Ref: set remote hardware-breakpoint-limit703343
-Ref: set remote hardware-watchpoint-length-limit703569
-Ref: set remote exec-file703984
-Node: Remote Stub711723
-Node: Stub Contents714620
-Node: Bootstrapping716727
-Node: Debug Session720541
-Node: Configurations722583
-Node: Native723352
-Node: HP-UX723921
-Node: BSD libkvm Interface724210
-Node: SVR4 Process Information725281
-Node: DJGPP Native729056
-Node: Cygwin Native735636
-Node: Non-debug DLL Symbols739378
-Node: Hurd Native743523
-Node: Darwin748784
-Node: Embedded OS750045
-Node: Embedded Processors750456
-Node: ARM751589
-Node: M32R/D755723
-Node: M68K757425
-Node: MicroBlaze757718
-Node: MIPS Embedded759168
-Node: PowerPC Embedded764109
-Node: PA767890
-Node: Sparclet768174
-Node: Sparclet File769643
-Node: Sparclet Connection770523
-Node: Sparclet Download771001
-Node: Sparclet Execution772050
-Node: Sparclite772641
-Node: Z8000773014
-Node: AVR774398
-Node: CRIS774761
-Node: Super-H775739
-Node: Architectures776799
-Node: AArch64777236
-Node: i386777643
-Ref: i386-Footnote-1780574
-Node: Alpha780660
-Node: MIPS780793
-Node: HPPA784686
-Node: SPU785205
-Node: PowerPC787393
-Node: Nios II788127
-Node: Controlling GDB788516
-Node: Prompt789413
-Node: Editing791132
-Node: Command History792075
-Node: Screen Size796386
-Node: Numbers798319
-Node: ABI800304
-Node: Auto-loading803478
-Ref: set auto-load off804853
-Ref: show auto-load805489
-Ref: info auto-load806268
-Node: Init File in the Current Directory809302
-Ref: set auto-load local-gdbinit809877
-Ref: show auto-load local-gdbinit810059
-Ref: info auto-load local-gdbinit810223
-Node: libthread_db.so.1 file810371
-Ref: set auto-load libthread-db811310
-Ref: show auto-load libthread-db811441
-Ref: info auto-load libthread-db811578
-Node: Auto-loading safe path811762
-Ref: set auto-load safe-path813068
-Ref: show auto-load safe-path813807
-Ref: add-auto-load-safe-path813930
-Node: Auto-loading verbose mode816832
-Ref: set debug auto-load817995
-Ref: show debug auto-load818096
-Node: Messages/Warnings818218
-Ref: confirmation requests819653
-Node: Debugging Output820860
-Node: Other Misc Settings830169
-Node: Extending GDB831198
-Node: Sequences833052
-Node: Define833713
-Node: Hooks837532
-Node: Command Files839899
-Node: Output844969
-Node: Auto-loading sequences849933
-Ref: set auto-load gdb-scripts850428
-Ref: show auto-load gdb-scripts850552
-Ref: info auto-load gdb-scripts850682
-Node: Python850913
-Node: Python Commands852086
-Node: Python API854421
-Node: Basic Python856960
-Ref: prompt_hook865621
-Node: Exception Handling866218
-Node: Values From Inferior868714
-Node: Types In Python881903
-Node: Pretty Printing API891401
-Node: Selecting Pretty-Printers895294
-Node: Writing a Pretty-Printer897627
-Node: Type Printing API902948
-Node: Frame Filter API905569
-Node: Frame Decorator API912854
-Ref: frame_args916433
-Node: Writing a Frame Filter919760
-Node: Unwinding Frames in Python931235
-Node: Xmethods In Python936688
-Node: Xmethod API939583
-Node: Writing an Xmethod943399
-Node: Inferiors In Python949235
-Node: Events In Python952143
-Node: Threads In Python959226
-Node: Commands In Python961669
-Node: Parameters In Python971088
-Node: Functions In Python976549
-Node: Progspaces In Python978771
-Node: Objfiles In Python982272
-Node: Frames In Python988051
-Node: Blocks In Python994589
-Node: Symbols In Python998952
-Node: Symbol Tables In Python1006179
-Node: Line Tables In Python1009409
-Node: Breakpoints In Python1012246
-Node: Finish Breakpoints in Python1020238
-Node: Lazy Strings In Python1022345
-Node: Architectures In Python1024580
-Node: Python Auto-loading1026767
-Ref: set auto-load python-scripts1027396
-Ref: show auto-load python-scripts1027496
-Ref: info auto-load python-scripts1027602
-Node: Python modules1028736
-Node: gdb.printing1029122
-Node: gdb.types1030549
-Node: gdb.prompt1033562
-Node: Guile1035211
-Node: Guile Introduction1035870
-Node: Guile Commands1036741
-Node: Guile API1038610
-Node: Basic Guile1040607
-Node: Guile Configuration1046320
-Node: GDB Scheme Data Types1047296
-Node: Guile Exception Handling1049136
-Node: Values From Inferior In Guile1053187
-Node: Arithmetic In Guile1068732
-Node: Types In Guile1070363
-Ref: Fields of a type in Guile1078310
-Node: Guile Pretty Printing API1079711
-Node: Selecting Guile Pretty-Printers1085307
-Node: Writing a Guile Pretty-Printer1087686
-Node: Commands In Guile1092870
-Node: Parameters In Guile1103674
-Ref: Parameters In Guile-Footnote-11110556
-Node: Progspaces In Guile1110683
-Node: Objfiles In Guile1113271
-Node: Frames In Guile1115551
-Node: Blocks In Guile1122117
-Node: Symbols In Guile1126925
-Node: Symbol Tables In Guile1134257
-Node: Breakpoints In Guile1137220
-Node: Lazy Strings In Guile1147442
-Node: Architectures In Guile1149736
-Node: Disassembly In Guile1154042
-Node: I/O Ports in Guile1157242
-Node: Memory Ports in Guile1157798
-Node: Iterators In Guile1161074
-Node: Guile Auto-loading1165362
-Ref: set auto-load guile-scripts1165985
-Ref: show auto-load guile-scripts1166083
-Ref: info auto-load guile-scripts1166187
-Node: Guile Modules1167146
-Node: Guile Printing Module1167468
-Node: Guile Types Module1168288
-Node: Auto-loading extensions1169580
-Node: objfile-gdbdotext file1170778
-Ref: set auto-load scripts-directory1172222
-Ref: with-auto-load-dir1172598
-Ref: show auto-load scripts-directory1173416
-Ref: add-auto-load-scripts-directory1173496
-Node: dotdebug_gdb_scripts section1173972
-Node: Which flavor to choose?1177725
-Node: Multiple Extension Languages1179546
-Node: Aliases1180610
-Node: Interpreters1183475
-Node: TUI1185574
-Node: TUI Overview1186574
-Node: TUI Keys1189007
-Node: TUI Single Key Mode1191311
-Node: TUI Commands1192186
-Node: TUI Configuration1195584
-Node: Emacs1196880
-Node: GDB/MI1202354
-Node: GDB/MI General Design1204328
-Node: Context management1206851
-Node: Asynchronous and non-stop modes1210679
-Node: Thread groups1213655
-Node: GDB/MI Command Syntax1215933
-Node: GDB/MI Input Syntax1216176
-Node: GDB/MI Output Syntax1217730
-Node: GDB/MI Compatibility with CLI1221317
-Node: GDB/MI Development and Front Ends1222054
-Node: GDB/MI Output Records1223711
-Node: GDB/MI Result Records1224117
-Node: GDB/MI Stream Records1225467
-Node: GDB/MI Async Records1226732
-Node: GDB/MI Breakpoint Information1236363
-Node: GDB/MI Frame Information1240315
-Node: GDB/MI Thread Information1241402
-Node: GDB/MI Ada Exception Information1242381
-Node: GDB/MI Simple Examples1242804
-Node: GDB/MI Command Description Format1245012
-Node: GDB/MI Breakpoint Commands1245892
-Node: GDB/MI Catchpoint Commands1265763
-Node: Shared Library GDB/MI Catchpoint Commands1266131
-Node: Ada Exception GDB/MI Catchpoint Commands1267789
-Node: GDB/MI Program Context1270199
-Node: GDB/MI Thread Commands1274469
-Node: GDB/MI Ada Tasking Commands1278425
-Node: GDB/MI Program Execution1280679
-Node: GDB/MI Stack Manipulation1292716
-Ref: -stack-list-arguments1294615
-Ref: -stack-list-frames1298320
-Ref: -stack-list-locals1302189
-Ref: -stack-list-variables1303679
-Node: GDB/MI Variable Objects1305213
-Ref: -var-set-format1315116
-Ref: -var-list-children1316234
-Ref: -var-update1325023
-Ref: -var-set-frozen1328018
-Ref: -var-set-update-range1328814
-Ref: -var-set-visualizer1329344
-Node: GDB/MI Data Manipulation1330835
-Node: GDB/MI Tracepoint Commands1350667
-Node: GDB/MI Symbol Query1362260
-Node: GDB/MI File Commands1362949
-Node: GDB/MI Target Manipulation1366245
-Node: GDB/MI File Transfer Commands1372467
-Node: GDB/MI Ada Exceptions Commands1373790
-Node: GDB/MI Support Commands1375144
-Node: GDB/MI Miscellaneous Commands1379729
-Ref: -interpreter-exec1390070
-Node: Annotations1392406
-Node: Annotations Overview1393325
-Node: Server Prefix1395788
-Node: Prompting1396522
-Node: Errors1398039
-Node: Invalidation1398935
-Node: Annotations for Running1399412
-Node: Source Annotations1400946
-Node: JIT Interface1401875
-Node: Declarations1403675
-Node: Registering Code1405062
-Node: Unregistering Code1406034
-Node: Custom Debug Info1406661
-Node: Using JIT Debug Info Readers1407957
-Node: Writing JIT Debug Info Readers1408970
-Node: In-Process Agent1411167
-Ref: Control Agent1413110
-Node: In-Process Agent Protocol1413977
-Node: IPA Protocol Objects1414769
-Ref: agent expression object1415771
-Ref: tracepoint action object1415977
-Ref: tracepoint object1416058
-Node: IPA Protocol Commands1419014
-Node: GDB Bugs1420487
-Node: Bug Criteria1421219
-Node: Bug Reporting1422096
-Node: Command Line Editing1429927
-Node: Introduction and Notation1430579
-Node: Readline Interaction1432199
-Node: Readline Bare Essentials1433388
-Node: Readline Movement Commands1435175
-Node: Readline Killing Commands1436138
-Node: Readline Arguments1438056
-Node: Searching1439098
-Node: Readline Init File1441247
-Node: Readline Init File Syntax1442398
-Node: Conditional Init Constructs1457456
-Node: Sample Init File1459987
-Node: Bindable Readline Commands1463102
-Node: Commands For Moving1464157
-Node: Commands For History1465016
-Node: Commands For Text1468418
-Node: Commands For Killing1471142
-Node: Numeric Arguments1473282
-Node: Commands For Completion1474419
-Node: Keyboard Macros1476386
-Node: Miscellaneous Commands1476955
-Node: Readline vi Mode1480809
-Node: Using History Interactively1481719
-Node: History Interaction1482262
-Node: Event Designators1483684
-Node: Word Designators1484824
-Node: Modifiers1486461
-Node: In Memoriam1487684
-Node: Formatting Documentation1488567
-Ref: Formatting Documentation-Footnote-11491944
-Node: Installing GDB1492040
-Node: Requirements1492612
-Ref: Expat1493181
-Node: Running Configure1495806
-Node: Separate Objdir1499585
-Node: Config Names1502565
-Node: Configure Options1504042
-Node: System-wide configuration1506412
-Node: System-wide Configuration Scripts1508372
-Node: Maintenance Commands1509556
-Ref: maint info breakpoints1511211
-Node: Remote Protocol1528534
-Node: Overview1529226
-Ref: Binary Data1531788
-Node: Packets1534311
-Ref: thread-id syntax1535211
-Ref: extended mode1536656
-Ref: ? packet1536913
-Ref: bc1538377
-Ref: bs1538587
-Ref: read registers packet1540203
-Ref: cycle step packet1542139
-Ref: write register packet1544849
-Ref: step with signal packet1545827
-Ref: vCont packet1547301
-Ref: vKill packet1552198
-Ref: X packet1553131
-Ref: insert breakpoint or watchpoint packet1553499
-Node: Stop Reply Packets1557667
-Ref: swbreak stop reason1560608
-Node: General Query Packets1565501
-Ref: qCRC packet1568332
-Ref: QNonStop1576142
-Ref: QPassSignals1576801
-Ref: QProgramSignals1578005
-Ref: qSearch memory1580516
-Ref: QStartNoAckMode1581023
-Ref: qSupported1581553
-Ref: multiprocess extensions1593658
-Ref: install tracepoint in tracing1595687
-Ref: qXfer read1599630
-Ref: qXfer auxiliary vector read1600124
-Ref: qXfer btrace read1600471
-Ref: qXfer btrace-conf read1601532
-Ref: qXfer executable filename read1601881
-Ref: qXfer target description read1602495
-Ref: qXfer library list read1602939
-Ref: qXfer svr4 library list read1603594
-Ref: qXfer memory map read1605446
-Ref: qXfer sdata read1605832
-Ref: qXfer siginfo read1606296
-Ref: qXfer spu read1606692
-Ref: qXfer threads read1607215
-Ref: qXfer traceframe info read1607617
-Ref: qXfer unwind info block1608033
-Ref: qXfer fdpic loadmap read1608265
-Ref: qXfer osdata read1608680
-Ref: qXfer write1609938
-Ref: qXfer siginfo write1610504
-Ref: qXfer spu write1610900
-Ref: General Query Packets-Footnote-11613726
-Node: Architecture-Specific Protocol Details1614053
-Node: ARM-Specific Protocol Details1614562
-Node: ARM Breakpoint Kinds1614810
-Node: MIPS-Specific Protocol Details1615142
-Node: MIPS Register packet Format1615425
-Node: MIPS Breakpoint Kinds1616354
-Node: Tracepoint Packets1616773
-Ref: QTEnable1626091
-Ref: QTDisable1626287
-Ref: qTfSTM1631809
-Ref: qTsSTM1631809
-Ref: qTSTMat1632885
-Ref: QTBuffer-size1634036
-Node: Host I/O Packets1636010
-Node: Interrupts1641598
-Node: Notification Packets1643501
-Node: Remote Non-Stop1648889
-Node: Packet Acknowledgment1652004
-Node: Examples1654119
-Node: File-I/O Remote Protocol Extension1654745
-Node: File-I/O Overview1655207
-Node: Protocol Basics1657404
-Node: The F Request Packet1659636
-Node: The F Reply Packet1660537
-Node: The Ctrl-C Message1661455
-Node: Console I/O1663084
-Node: List of Supported Calls1664301
-Node: open1664663
-Node: close1667157
-Node: read1667539
-Node: write1668146
-Node: lseek1668913
-Node: rename1669791
-Node: unlink1671187
-Node: stat/fstat1672126
-Node: gettimeofday1673013
-Node: isatty1673448
-Node: system1674044
-Node: Protocol-specific Representation of Datatypes1675586
-Node: Integral Datatypes1675963
-Node: Pointer Values1676770
-Node: Memory Transfer1677478
-Node: struct stat1678098
-Node: struct timeval1680300
-Node: Constants1680817
-Node: Open Flags1681266
-Node: mode_t Values1681607
-Node: Errno Values1682099
-Node: Lseek Flags1682910
-Node: Limits1683095
-Node: File-I/O Examples1683455
-Node: Library List Format1684571
-Node: Library List Format for SVR4 Targets1687354
-Node: Memory Map Format1689824
-Node: Thread List Format1692401
-Node: Traceframe Info Format1693219
-Node: Branch Trace Format1694906
-Node: Branch Trace Configuration Format1696294
-Node: Agent Expressions1697254
-Node: General Bytecode Design1700075
-Node: Bytecode Descriptions1704875
-Node: Using Agent Expressions1718313
-Node: Varying Target Capabilities1720291
-Node: Rationale1721453
-Node: Target Descriptions1728839
-Node: Retrieving Descriptions1730715
-Node: Target Description Format1731800
-Node: Predefined Target Types1740844
-Node: Standard Target Features1742229
-Node: AArch64 Features1744117
-Node: ARM Features1744540
-Node: i386 Features1746057
-Node: MicroBlaze Features1748009
-Node: MIPS Features1748586
-Node: M68K Features1749776
-Node: Nios II Features1750439
-Node: PowerPC Features1750836
-Node: S/390 and System z Features1752159
-Node: TIC6x Features1753983
-Node: Operating System Information1754545
-Node: Process list1755383
-Node: Trace File Format1756445
-Node: Index Section Format1758439
-Node: Man Pages1766419
-Node: gdb man1766825
-Node: gdbserver man1772867
-Node: gcore man1780075
-Node: gdbinit man1780732
-Node: Copying1781617
-Node: GNU Free Documentation License1819196
-Node: Concept Index1844362
-Node: Command and Variable Index1975566
+Node: Stack250255
+Node: Frames251803
+Node: Backtrace254571
+Ref: backtrace-command254922
+Ref: Backtrace-Footnote-1260691
+Node: Frame Filter Management260879
+Ref: disable frame-filter all261423
+Node: Selection265731
+Node: Frame Info268603
+Node: Source270597
+Node: List271663
+Node: Specify Location274365
+Node: Edit278968
+Ref: Edit-Footnote-1280443
+Node: Search280678
+Node: Source Path281486
+Ref: set substitute-path287853
+Node: Machine Code290074
+Node: Data296975
+Node: Expressions304638
+Node: Ambiguous Expressions306742
+Node: Variables309976
+Node: Arrays316042
+Node: Output Formats318573
+Ref: Output Formats-Footnote-1321945
+Node: Memory322102
+Ref: addressable memory unit327563
+Node: Auto Display329058
+Node: Print Settings333600
+Ref: set print entry-values341758
+Node: Pretty Printing353066
+Node: Pretty-Printer Introduction353579
+Node: Pretty-Printer Example355334
+Node: Pretty-Printer Commands356112
+Node: Value History358536
+Node: Convenience Vars360957
+Node: Convenience Funs367440
+Node: Registers372577
+Ref: standard registers373559
+Ref: Registers-Footnote-1378511
+Node: Floating Point Hardware378906
+Node: Vector Unit379438
+Node: OS Information379825
+Ref: linux info os infotypes381848
+Node: Memory Region Attributes386428
+Node: Dump/Restore Files391098
+Node: Core File Generation393501
+Ref: set use-coredump-filter394905
+Node: Character Sets396353
+Node: Caching Target Data402718
+Ref: Caching Target Data-Footnote-1405447
+Node: Searching Memory405685
+Node: Optimized Code408562
+Node: Inline Functions410239
+Node: Tail Call Frames412866
+Ref: set debug entry-values415006
+Node: Macros419080
+Ref: Macros-Footnote-1426656
+Node: Tracepoints426809
+Node: Set Tracepoints428870
+Node: Create and Delete Tracepoints431808
+Node: Enable and Disable Tracepoints438208
+Node: Tracepoint Passcounts439448
+Node: Tracepoint Conditions440875
+Node: Trace State Variables442569
+Node: Tracepoint Actions444763
+Node: Listing Tracepoints451068
+Node: Listing Static Tracepoint Markers452770
+Node: Starting and Stopping Trace Experiments454616
+Ref: disconnected tracing456361
+Node: Tracepoint Restrictions460789
+Node: Analyze Collected Data464559
+Node: tfind465864
+Node: tdump470286
+Node: save tracepoints472801
+Node: Tracepoint Variables473297
+Node: Trace Files474425
+Node: Overlays476801
+Node: How Overlays Work477521
+Ref: A code overlay480081
+Node: Overlay Commands483519
+Node: Automatic Overlay Debugging487709
+Node: Overlay Sample Program489850
+Node: Languages491610
+Node: Setting492773
+Node: Filenames494475
+Node: Manually495286
+Node: Automatically496495
+Node: Show497556
+Ref: show language497844
+Node: Checks498878
+Node: Type Checking499883
+Node: Range Checking501712
+Node: Supported Languages504113
+Node: C505413
+Node: C Operators506377
+Node: C Constants510722
+Node: C Plus Plus Expressions513603
+Node: C Defaults516946
+Node: C Checks517614
+Node: Debugging C518174
+Node: Debugging C Plus Plus518658
+Node: Decimal Floating Point522251
+Node: D523520
+Node: Go523777
+Node: Objective-C524871
+Node: Method Names in Commands525334
+Node: The Print Command with Objective-C527029
+Node: OpenCL C527680
+Node: OpenCL C Datatypes527955
+Node: OpenCL C Expressions528330
+Node: OpenCL C Operators528687
+Node: Fortran528919
+Node: Fortran Operators529641
+Node: Fortran Defaults530497
+Node: Special Fortran Commands530882
+Node: Pascal531388
+Node: Modula-2531903
+Node: M2 Operators532878
+Node: Built-In Func/Proc535877
+Node: M2 Constants538792
+Node: M2 Types540393
+Node: M2 Defaults543612
+Node: Deviations544212
+Node: M2 Checks545313
+Node: M2 Scope546131
+Node: GDB/M2547155
+Node: Ada548067
+Node: Ada Mode Intro549177
+Node: Omissions from Ada551087
+Node: Additions to Ada555441
+Node: Stopping Before Main Program559371
+Node: Ada Exceptions559905
+Node: Ada Tasks561102
+Node: Ada Tasks and Core Files567518
+Node: Ravenscar Profile568363
+Node: Ada Glitches569433
+Node: Unsupported Languages573448
+Node: Symbols574138
+Node: Altering593835
+Node: Assignment594873
+Node: Jumping597978
+Node: Signaling600139
+Node: Returning603068
+Node: Calling606420
+Node: Patching609463
+Node: Compiling and Injecting Code610577
+Ref: set debug compile614033
+Node: GDB Files623085
+Node: Files623805
+Ref: Shared Libraries636895
+Ref: Files-Footnote-1649184
+Node: Separate Debug Files649313
+Ref: debug-file-directory652419
+Node: MiniDebugInfo661017
+Node: Index Files663468
+Node: Symbol Errors665530
+Node: Data Files669143
+Node: Targets670099
+Node: Active Targets671579
+Node: Target Commands672653
+Ref: load677037
+Node: Byte Order678018
+Node: Remote Debugging678995
+Node: Connecting680257
+Node: File Transfer685486
+Node: Server686426
+Ref: Other Command-Line Arguments for gdbserver694018
+Ref: Monitor Commands for gdbserver697134
+Ref: Server-Footnote-1702305
+Node: Remote Configuration702425
+Ref: set remotebreak703686
+Ref: set remote hardware-watchpoint-limit705150
+Ref: set remote hardware-breakpoint-limit705150
+Ref: set remote hardware-watchpoint-length-limit705376
+Ref: set remote exec-file705791
+Node: Remote Stub713530
+Node: Stub Contents716427
+Node: Bootstrapping718534
+Node: Debug Session722348
+Node: Configurations724390
+Node: Native725159
+Node: HP-UX725728
+Node: BSD libkvm Interface726017
+Node: SVR4 Process Information727088
+Node: DJGPP Native730863
+Node: Cygwin Native737443
+Node: Non-debug DLL Symbols741185
+Node: Hurd Native745330
+Node: Darwin750591
+Node: Embedded OS751852
+Node: Embedded Processors752263
+Node: ARM753396
+Node: M32R/D757530
+Node: M68K759232
+Node: MicroBlaze759525
+Node: MIPS Embedded760975
+Node: PowerPC Embedded765916
+Node: PA769697
+Node: Sparclet769981
+Node: Sparclet File771450
+Node: Sparclet Connection772330
+Node: Sparclet Download772808
+Node: Sparclet Execution773857
+Node: Sparclite774448
+Node: Z8000774821
+Node: AVR776205
+Node: CRIS776568
+Node: Super-H777546
+Node: Architectures778606
+Node: AArch64779043
+Node: i386779450
+Ref: i386-Footnote-1782381
+Node: Alpha782467
+Node: MIPS782600
+Node: HPPA786493
+Node: SPU787012
+Node: PowerPC789200
+Node: Nios II789934
+Node: Controlling GDB790323
+Node: Prompt791220
+Node: Editing792939
+Node: Command History793882
+Node: Screen Size798193
+Node: Numbers800126
+Node: ABI802111
+Node: Auto-loading805285
+Ref: set auto-load off806660
+Ref: show auto-load807296
+Ref: info auto-load808075
+Node: Init File in the Current Directory811109
+Ref: set auto-load local-gdbinit811684
+Ref: show auto-load local-gdbinit811866
+Ref: info auto-load local-gdbinit812030
+Node: libthread_db.so.1 file812178
+Ref: set auto-load libthread-db813117
+Ref: show auto-load libthread-db813248
+Ref: info auto-load libthread-db813385
+Node: Auto-loading safe path813569
+Ref: set auto-load safe-path814875
+Ref: show auto-load safe-path815614
+Ref: add-auto-load-safe-path815737
+Node: Auto-loading verbose mode818639
+Ref: set debug auto-load819802
+Ref: show debug auto-load819903
+Node: Messages/Warnings820025
+Ref: confirmation requests821460
+Node: Debugging Output822667
+Node: Other Misc Settings831976
+Node: Extending GDB833005
+Node: Sequences834859
+Node: Define835520
+Node: Hooks839339
+Node: Command Files841706
+Node: Output846776
+Node: Auto-loading sequences851740
+Ref: set auto-load gdb-scripts852235
+Ref: show auto-load gdb-scripts852359
+Ref: info auto-load gdb-scripts852489
+Node: Python852720
+Node: Python Commands853893
+Node: Python API856228
+Node: Basic Python858767
+Ref: prompt_hook867428
+Node: Exception Handling868025
+Node: Values From Inferior870521
+Node: Types In Python883710
+Node: Pretty Printing API893208
+Node: Selecting Pretty-Printers897101
+Node: Writing a Pretty-Printer899434
+Node: Type Printing API904755
+Node: Frame Filter API907376
+Node: Frame Decorator API914661
+Ref: frame_args918240
+Node: Writing a Frame Filter921567
+Node: Unwinding Frames in Python933042
+Node: Xmethods In Python938495
+Node: Xmethod API941390
+Node: Writing an Xmethod945206
+Node: Inferiors In Python951042
+Node: Events In Python953950
+Node: Threads In Python961033
+Node: Commands In Python963476
+Node: Parameters In Python972895
+Node: Functions In Python978356
+Node: Progspaces In Python980578
+Node: Objfiles In Python984079
+Node: Frames In Python989858
+Node: Blocks In Python996396
+Node: Symbols In Python1000759
+Node: Symbol Tables In Python1007986
+Node: Line Tables In Python1011216
+Node: Breakpoints In Python1014053
+Node: Finish Breakpoints in Python1022045
+Node: Lazy Strings In Python1024152
+Node: Architectures In Python1026387
+Node: Python Auto-loading1028574
+Ref: set auto-load python-scripts1029203
+Ref: show auto-load python-scripts1029303
+Ref: info auto-load python-scripts1029409
+Node: Python modules1030543
+Node: gdb.printing1030929
+Node: gdb.types1032356
+Node: gdb.prompt1035369
+Node: Guile1037018
+Node: Guile Introduction1037677
+Node: Guile Commands1038548
+Node: Guile API1040417
+Node: Basic Guile1042414
+Node: Guile Configuration1048127
+Node: GDB Scheme Data Types1049103
+Node: Guile Exception Handling1050943
+Node: Values From Inferior In Guile1054994
+Node: Arithmetic In Guile1070539
+Node: Types In Guile1072170
+Ref: Fields of a type in Guile1080117
+Node: Guile Pretty Printing API1081518
+Node: Selecting Guile Pretty-Printers1087114
+Node: Writing a Guile Pretty-Printer1089493
+Node: Commands In Guile1094677
+Node: Parameters In Guile1105481
+Ref: Parameters In Guile-Footnote-11112363
+Node: Progspaces In Guile1112490
+Node: Objfiles In Guile1115078
+Node: Frames In Guile1117358
+Node: Blocks In Guile1123924
+Node: Symbols In Guile1128732
+Node: Symbol Tables In Guile1136064
+Node: Breakpoints In Guile1139027
+Node: Lazy Strings In Guile1149249
+Node: Architectures In Guile1151543
+Node: Disassembly In Guile1155849
+Node: I/O Ports in Guile1159049
+Node: Memory Ports in Guile1159605
+Node: Iterators In Guile1162881
+Node: Guile Auto-loading1167169
+Ref: set auto-load guile-scripts1167792
+Ref: show auto-load guile-scripts1167890
+Ref: info auto-load guile-scripts1167994
+Node: Guile Modules1168953
+Node: Guile Printing Module1169275
+Node: Guile Types Module1170095
+Node: Auto-loading extensions1171387
+Node: objfile-gdbdotext file1172585
+Ref: set auto-load scripts-directory1174029
+Ref: with-auto-load-dir1174405
+Ref: show auto-load scripts-directory1175223
+Ref: add-auto-load-scripts-directory1175303
+Node: dotdebug_gdb_scripts section1175779
+Node: Which flavor to choose?1179532
+Node: Multiple Extension Languages1181353
+Node: Aliases1182417
+Node: Interpreters1185282
+Node: TUI1187381
+Node: TUI Overview1188381
+Node: TUI Keys1190814
+Node: TUI Single Key Mode1193118
+Node: TUI Commands1193993
+Node: TUI Configuration1197391
+Node: Emacs1198687
+Node: GDB/MI1204161
+Node: GDB/MI General Design1206135
+Node: Context management1208658
+Node: Asynchronous and non-stop modes1212486
+Node: Thread groups1215462
+Node: GDB/MI Command Syntax1217740
+Node: GDB/MI Input Syntax1217983
+Node: GDB/MI Output Syntax1219537
+Node: GDB/MI Compatibility with CLI1223124
+Node: GDB/MI Development and Front Ends1223861
+Node: GDB/MI Output Records1225518
+Node: GDB/MI Result Records1225924
+Node: GDB/MI Stream Records1227274
+Node: GDB/MI Async Records1228539
+Node: GDB/MI Breakpoint Information1238170
+Node: GDB/MI Frame Information1242122
+Node: GDB/MI Thread Information1243209
+Node: GDB/MI Ada Exception Information1244188
+Node: GDB/MI Simple Examples1244611
+Node: GDB/MI Command Description Format1246819
+Node: GDB/MI Breakpoint Commands1247699
+Node: GDB/MI Catchpoint Commands1267570
+Node: Shared Library GDB/MI Catchpoint Commands1267938
+Node: Ada Exception GDB/MI Catchpoint Commands1269596
+Node: GDB/MI Program Context1272006
+Node: GDB/MI Thread Commands1276276
+Node: GDB/MI Ada Tasking Commands1280232
+Node: GDB/MI Program Execution1282486
+Node: GDB/MI Stack Manipulation1294523
+Ref: -stack-list-arguments1296422
+Ref: -stack-list-frames1300127
+Ref: -stack-list-locals1303996
+Ref: -stack-list-variables1305486
+Node: GDB/MI Variable Objects1307020
+Ref: -var-set-format1316923
+Ref: -var-list-children1318041
+Ref: -var-update1326830
+Ref: -var-set-frozen1329825
+Ref: -var-set-update-range1330621
+Ref: -var-set-visualizer1331151
+Node: GDB/MI Data Manipulation1332642
+Node: GDB/MI Tracepoint Commands1352474
+Node: GDB/MI Symbol Query1364067
+Node: GDB/MI File Commands1364756
+Node: GDB/MI Target Manipulation1368052
+Node: GDB/MI File Transfer Commands1374274
+Node: GDB/MI Ada Exceptions Commands1375597
+Node: GDB/MI Support Commands1376951
+Node: GDB/MI Miscellaneous Commands1381536
+Ref: -interpreter-exec1391877
+Node: Annotations1394213
+Node: Annotations Overview1395132
+Node: Server Prefix1397595
+Node: Prompting1398329
+Node: Errors1399846
+Node: Invalidation1400742
+Node: Annotations for Running1401219
+Node: Source Annotations1402753
+Node: JIT Interface1403682
+Node: Declarations1405482
+Node: Registering Code1406869
+Node: Unregistering Code1407841
+Node: Custom Debug Info1408468
+Node: Using JIT Debug Info Readers1409764
+Node: Writing JIT Debug Info Readers1410777
+Node: In-Process Agent1412974
+Ref: Control Agent1414917
+Node: In-Process Agent Protocol1415784
+Node: IPA Protocol Objects1416576
+Ref: agent expression object1417578
+Ref: tracepoint action object1417784
+Ref: tracepoint object1417865
+Node: IPA Protocol Commands1420821
+Node: GDB Bugs1422294
+Node: Bug Criteria1423026
+Node: Bug Reporting1423903
+Node: Command Line Editing1431734
+Node: Introduction and Notation1432386
+Node: Readline Interaction1434006
+Node: Readline Bare Essentials1435195
+Node: Readline Movement Commands1436982
+Node: Readline Killing Commands1437945
+Node: Readline Arguments1439863
+Node: Searching1440905
+Node: Readline Init File1443054
+Node: Readline Init File Syntax1444205
+Node: Conditional Init Constructs1459263
+Node: Sample Init File1461794
+Node: Bindable Readline Commands1464909
+Node: Commands For Moving1465964
+Node: Commands For History1466823
+Node: Commands For Text1470225
+Node: Commands For Killing1472949
+Node: Numeric Arguments1475089
+Node: Commands For Completion1476226
+Node: Keyboard Macros1478193
+Node: Miscellaneous Commands1478762
+Node: Readline vi Mode1482616
+Node: Using History Interactively1483526
+Node: History Interaction1484069
+Node: Event Designators1485491
+Node: Word Designators1486631
+Node: Modifiers1488268
+Node: In Memoriam1489491
+Node: Formatting Documentation1490374
+Ref: Formatting Documentation-Footnote-11493751
+Node: Installing GDB1493847
+Node: Requirements1494419
+Ref: Expat1494988
+Node: Running Configure1497613
+Node: Separate Objdir1501392
+Node: Config Names1504372
+Node: Configure Options1505849
+Node: System-wide configuration1508219
+Node: System-wide Configuration Scripts1510179
+Node: Maintenance Commands1511363
+Ref: maint info breakpoints1513018
+Node: Remote Protocol1532160
+Node: Overview1532852
+Ref: Binary Data1535414
+Node: Packets1537937
+Ref: thread-id syntax1538837
+Ref: extended mode1540282
+Ref: ? packet1540539
+Ref: bc1542003
+Ref: bs1542213
+Ref: read registers packet1543829
+Ref: cycle step packet1545765
+Ref: write register packet1548475
+Ref: step with signal packet1549453
+Ref: vCont packet1550927
+Ref: vKill packet1555824
+Ref: X packet1556757
+Ref: insert breakpoint or watchpoint packet1557125
+Node: Stop Reply Packets1561293
+Ref: swbreak stop reason1564234
+Node: General Query Packets1569127
+Ref: qCRC packet1571958
+Ref: QNonStop1579768
+Ref: QPassSignals1580427
+Ref: QProgramSignals1581631
+Ref: qSearch memory1584142
+Ref: QStartNoAckMode1584649
+Ref: qSupported1585179
+Ref: multiprocess extensions1597396
+Ref: install tracepoint in tracing1599425
+Ref: qXfer read1603550
+Ref: qXfer auxiliary vector read1604044
+Ref: qXfer btrace read1604391
+Ref: qXfer btrace-conf read1605452
+Ref: qXfer executable filename read1605801
+Ref: qXfer target description read1606415
+Ref: qXfer library list read1606859
+Ref: qXfer svr4 library list read1607514
+Ref: qXfer memory map read1609366
+Ref: qXfer sdata read1609752
+Ref: qXfer siginfo read1610216
+Ref: qXfer spu read1610612
+Ref: qXfer threads read1611135
+Ref: qXfer traceframe info read1611537
+Ref: qXfer unwind info block1611953
+Ref: qXfer fdpic loadmap read1612185
+Ref: qXfer osdata read1612600
+Ref: qXfer write1613858
+Ref: qXfer siginfo write1614424
+Ref: qXfer spu write1614820
+Ref: General Query Packets-Footnote-11618191
+Node: Architecture-Specific Protocol Details1618518
+Node: ARM-Specific Protocol Details1619027
+Node: ARM Breakpoint Kinds1619275
+Node: MIPS-Specific Protocol Details1619607
+Node: MIPS Register packet Format1619890
+Node: MIPS Breakpoint Kinds1620819
+Node: Tracepoint Packets1621238
+Ref: QTEnable1630556
+Ref: QTDisable1630752
+Ref: qTfSTM1636274
+Ref: qTsSTM1636274
+Ref: qTSTMat1637350
+Ref: QTBuffer-size1638501
+Node: Host I/O Packets1640475
+Node: Interrupts1646063
+Node: Notification Packets1647966
+Node: Remote Non-Stop1653354
+Node: Packet Acknowledgment1656469
+Node: Examples1658584
+Node: File-I/O Remote Protocol Extension1659210
+Node: File-I/O Overview1659672
+Node: Protocol Basics1661869
+Node: The F Request Packet1664101
+Node: The F Reply Packet1665002
+Node: The Ctrl-C Message1665920
+Node: Console I/O1667549
+Node: List of Supported Calls1668766
+Node: open1669128
+Node: close1671622
+Node: read1672004
+Node: write1672611
+Node: lseek1673378
+Node: rename1674256
+Node: unlink1675652
+Node: stat/fstat1676591
+Node: gettimeofday1677478
+Node: isatty1677913
+Node: system1678509
+Node: Protocol-specific Representation of Datatypes1680051
+Node: Integral Datatypes1680428
+Node: Pointer Values1681235
+Node: Memory Transfer1681943
+Node: struct stat1682563
+Node: struct timeval1684765
+Node: Constants1685282
+Node: Open Flags1685731
+Node: mode_t Values1686072
+Node: Errno Values1686564
+Node: Lseek Flags1687375
+Node: Limits1687560
+Node: File-I/O Examples1687920
+Node: Library List Format1689036
+Node: Library List Format for SVR4 Targets1691819
+Node: Memory Map Format1694289
+Node: Thread List Format1696866
+Node: Traceframe Info Format1697684
+Node: Branch Trace Format1699371
+Node: Branch Trace Configuration Format1701072
+Node: Agent Expressions1702259
+Node: General Bytecode Design1705080
+Node: Bytecode Descriptions1709880
+Node: Using Agent Expressions1723318
+Node: Varying Target Capabilities1725296
+Node: Rationale1726458
+Node: Target Descriptions1733844
+Node: Retrieving Descriptions1735720
+Node: Target Description Format1736805
+Node: Predefined Target Types1745849
+Node: Standard Target Features1747234
+Node: AArch64 Features1749122
+Node: ARM Features1749545
+Node: i386 Features1751062
+Node: MicroBlaze Features1753014
+Node: MIPS Features1753591
+Node: M68K Features1754781
+Node: Nios II Features1755444
+Node: PowerPC Features1755841
+Node: S/390 and System z Features1757164
+Node: TIC6x Features1758988
+Node: Operating System Information1759550
+Node: Process list1760388
+Node: Trace File Format1761450
+Node: Index Section Format1763444
+Node: Man Pages1771424
+Node: gdb man1771830
+Node: gdbserver man1777872
+Node: gcore man1785080
+Node: gdbinit man1785737
+Node: Copying1786622
+Node: GNU Free Documentation License1824201
+Node: Concept Index1849367
+Node: Command and Variable Index1980712
 
 End Tag Table
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/doc/gdb.info-1 ./gdb/doc/gdb.info-1
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/doc/gdb.info-1	2015-07-02 01:51:12.000000000 +0000
+++ ./gdb/doc/gdb.info-1	2015-07-03 01:51:25.000000000 +0000
@@ -22,7 +22,7 @@ developing GNU and promoting software fr
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of `Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 7.9.50.20150702-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.9.50.20150703-cvs.
 
    Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
@@ -45,7 +45,7 @@ Debugging with GDB
 
 This file describes GDB, the GNU symbolic debugger.
 
-   This is the Tenth Edition, for GDB (GDB) Version 7.9.50.20150702-cvs.
+   This is the Tenth Edition, for GDB (GDB) Version 7.9.50.20150703-cvs.
 
    Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
@@ -494,7 +494,7 @@ Let us use GDB to try to see what is goi
      There is absolutely no warranty for GDB; type "show warranty"
       for details.
 
-     GDB 7.9.50.20150702-cvs, Copyright 1999 Free Software Foundation, Inc...
+     GDB 7.9.50.20150703-cvs, Copyright 1999 Free Software Foundation, Inc...
      (gdb)
 
 GDB reads only enough symbol data to know where to find the rest when
@@ -5501,7 +5501,8 @@ GDB provides the following commands:
           Hardware-supported instruction recording.  This method does
           not record data.  Further, the data is collected in a ring
           buffer so old data will be overwritten when the buffer is
-          full.  It allows limited replay and reverse execution.
+          full.  It allows limited reverse execution.  Variables and
+          registers are not available during reverse execution.
 
           The recording format can be specified as parameter.  Without
           a parameter the command chooses the recording format.  The
@@ -5512,6 +5513,21 @@ GDB provides the following commands:
                this format, the processor stores a from/to record for
                each executed branch in the btrace ring buffer.
 
+         `pt'
+               Use the "Intel(R) Processor Trace" recording format.  In
+               this format, the processor stores the execution trace in
+               a compressed form that is afterwards decoded by GDB.
+
+               The trace can be recorded with very low overhead.  The
+               compressed trace format also allows small trace buffers
+               to already contain a big number of instructions compared
+               to BTS.
+
+               Decoding the recorded execution trace, on the other
+               hand, is more expensive than decoding BTS trace.  This
+               is mostly due to the increased number of instructions to
+               process.  You should increase the buffer-size with care.
+
           Not all recording formats may be available on all processors.
 
      The process record and replay target can only debug a process that
@@ -5519,9 +5535,6 @@ GDB provides the following commands:
      process with the `run' or `start' commands, and then start the
      recording with the `record METHOD' command.
 
-     Both `record METHOD' and `rec METHOD' are aliases of `target
-     record-METHOD'.
-
      Displaced stepping (*note displaced stepping: Maintenance
      Commands.)  will be automatically disabled when process record and
      replay target is started.  That's because the process record and
@@ -5673,6 +5686,29 @@ GDB provides the following commands:
      Show the current setting of the requested ring buffer size for
      branch tracing in BTS format.
 
+`set record btrace pt buffer-size SIZE'
+`set record btrace pt buffer-size unlimited'
+     Set the requested ring buffer size for branch tracing in Intel(R)
+     Processor Trace format.  Default is 16KB.
+
+     If SIZE is a positive number, then GDB will try to allocate a
+     buffer of at least SIZE bytes for each new thread that uses the
+     btrace recording method and the Intel(R) Processor Trace format.
+     The actually obtained buffer size may differ from the requested
+     SIZE.  Use the `info record' command to see the actual buffer size
+     for each thread.
+
+     If LIMIT is `unlimited' or zero, GDB will try to allocate a buffer
+     of 4MB.
+
+     Bigger buffers mean longer traces.  On the other hand, GDB will
+     also need longer to process the branch trace data before it can be
+     used.
+
+`show record btrace pt buffer-size SIZE'
+     Show the current setting of the requested ring buffer size for
+     branch tracing in Intel(R) Processor Trace format.
+
 `info record'
      Show various statistics about the recording depending on the
      recording method:
@@ -5712,6 +5748,9 @@ GDB provides the following commands:
           For the `bts' recording format, it also shows:
              * Size of the perf ring buffer.
 
+          For the `pt' recording format, it also shows:
+             * Size of the perf ring buffer.
+
 `record delete'
      When record target runs in replay mode ("in the past"), delete the
      subsequent execution log and begin to record a new execution log
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/doc/gdb.info-2 ./gdb/doc/gdb.info-2
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/doc/gdb.info-2	2015-07-02 01:51:12.000000000 +0000
+++ ./gdb/doc/gdb.info-2	2015-07-03 01:51:25.000000000 +0000
@@ -22,7 +22,7 @@ developing GNU and promoting software fr
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of `Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 7.9.50.20150702-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.9.50.20150703-cvs.
 
    Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/doc/gdb.info-3 ./gdb/doc/gdb.info-3
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/doc/gdb.info-3	2015-07-02 01:51:12.000000000 +0000
+++ ./gdb/doc/gdb.info-3	2015-07-03 01:51:25.000000000 +0000
@@ -22,7 +22,7 @@ developing GNU and promoting software fr
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of `Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 7.9.50.20150702-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.9.50.20150703-cvs.
 
    Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/doc/gdb.info-4 ./gdb/doc/gdb.info-4
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/doc/gdb.info-4	2015-07-02 01:51:12.000000000 +0000
+++ ./gdb/doc/gdb.info-4	2015-07-03 01:51:25.000000000 +0000
@@ -22,7 +22,7 @@ developing GNU and promoting software fr
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of `Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 7.9.50.20150702-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.9.50.20150703-cvs.
 
    Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/doc/gdb.info-5 ./gdb/doc/gdb.info-5
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/doc/gdb.info-5	2015-07-02 01:51:12.000000000 +0000
+++ ./gdb/doc/gdb.info-5	2015-07-03 01:51:25.000000000 +0000
@@ -22,7 +22,7 @@ developing GNU and promoting software fr
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of `Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 7.9.50.20150702-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.9.50.20150703-cvs.
 
    Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/doc/gdb.info-6 ./gdb/doc/gdb.info-6
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/doc/gdb.info-6	2015-07-02 01:51:12.000000000 +0000
+++ ./gdb/doc/gdb.info-6	2015-07-03 01:51:25.000000000 +0000
@@ -22,7 +22,7 @@ developing GNU and promoting software fr
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of `Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 7.9.50.20150702-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.9.50.20150703-cvs.
 
    Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
@@ -68,7 +68,7 @@ and TeX (or `texi2roff') to typeset the 
 
    GDB includes an already formatted copy of the on-line Info version
 of this manual in the `gdb' subdirectory.  The main Info file is
-`gdb-7.9.50.20150702-cvs/gdb/gdb.info', and it refers to subordinate
+`gdb-7.9.50.20150703-cvs/gdb/gdb.info', and it refers to subordinate
 files matching `gdb.info*' in the same directory.  If necessary, you
 can print out these files, or read them with any editor; but they are
 easier to read using the `info' subsystem in GNU Emacs or the
@@ -79,8 +79,8 @@ distribution.
 Info formatting programs, such as `texinfo-format-buffer' or `makeinfo'.
 
    If you have `makeinfo' installed, and are in the top level GDB
-source directory (`gdb-7.9.50.20150702-cvs', in the case of version
-7.9.50.20150702-cvs), you can make the Info file by typing:
+source directory (`gdb-7.9.50.20150703-cvs', in the case of version
+7.9.50.20150703-cvs), you can make the Info file by typing:
 
      cd gdb
      make gdb.info
@@ -105,7 +105,7 @@ format.  On its own, TeX cannot either r
 
    If you have TeX and a DVI printer program installed, you can typeset
 and print this manual.  First switch to the `gdb' subdirectory of the
-main source directory (for example, to `gdb-7.9.50.20150702-cvs/gdb')
+main source directory (for example, to `gdb-7.9.50.20150703-cvs/gdb')
 and type:
 
      make gdb.dvi
@@ -114,8 +114,8 @@ and type:
 
    ---------- Footnotes ----------
 
-   (1) In `gdb-7.9.50.20150702-cvs/gdb/refcard.ps' of the version
-7.9.50.20150702-cvs release.
+   (1) In `gdb-7.9.50.20150703-cvs/gdb/refcard.ps' of the version
+7.9.50.20150703-cvs release.
 
 
 File: gdb.info,  Node: Installing GDB,  Next: Maintenance Commands,  Prev: Formatting Documentation,  Up: Top
@@ -225,39 +225,39 @@ preparing GDB for installation; you can 
 in a single directory, whose name is usually composed by appending the
 version number to `gdb'.
 
-   For example, the GDB version 7.9.50.20150702-cvs distribution is in
-the `gdb-7.9.50.20150702-cvs' directory.  That directory contains:
+   For example, the GDB version 7.9.50.20150703-cvs distribution is in
+the `gdb-7.9.50.20150703-cvs' directory.  That directory contains:
 
-`gdb-7.9.50.20150702-cvs/configure (and supporting files)'
+`gdb-7.9.50.20150703-cvs/configure (and supporting files)'
      script for configuring GDB and all its supporting libraries
 
-`gdb-7.9.50.20150702-cvs/gdb'
+`gdb-7.9.50.20150703-cvs/gdb'
      the source specific to GDB itself
 
-`gdb-7.9.50.20150702-cvs/bfd'
+`gdb-7.9.50.20150703-cvs/bfd'
      source for the Binary File Descriptor library
 
-`gdb-7.9.50.20150702-cvs/include'
+`gdb-7.9.50.20150703-cvs/include'
      GNU include files
 
-`gdb-7.9.50.20150702-cvs/libiberty'
+`gdb-7.9.50.20150703-cvs/libiberty'
      source for the `-liberty' free software library
 
-`gdb-7.9.50.20150702-cvs/opcodes'
+`gdb-7.9.50.20150703-cvs/opcodes'
      source for the library of opcode tables and disassemblers
 
-`gdb-7.9.50.20150702-cvs/readline'
+`gdb-7.9.50.20150703-cvs/readline'
      source for the GNU command-line interface
 
-`gdb-7.9.50.20150702-cvs/glob'
+`gdb-7.9.50.20150703-cvs/glob'
      source for the GNU filename pattern-matching subroutine
 
-`gdb-7.9.50.20150702-cvs/mmalloc'
+`gdb-7.9.50.20150703-cvs/mmalloc'
      source for the GNU memory-mapped malloc package
 
    The simplest way to configure and build GDB is to run `configure'
 from the `gdb-VERSION-NUMBER' source directory, which in this example
-is the `gdb-7.9.50.20150702-cvs' directory.
+is the `gdb-7.9.50.20150703-cvs' directory.
 
    First switch to the `gdb-VERSION-NUMBER' source directory if you are
 not already in it; then run `configure'.  Pass the identifier for the
@@ -265,7 +265,7 @@ platform on which GDB will run as an arg
 
    For example:
 
-     cd gdb-7.9.50.20150702-cvs
+     cd gdb-7.9.50.20150703-cvs
      ./configure HOST
      make
 
@@ -287,8 +287,8 @@ you may need to run `sh' on it explicitl
 
    If you run `configure' from a directory that contains source
 directories for multiple libraries or programs, such as the
-`gdb-7.9.50.20150702-cvs' source directory for version
-7.9.50.20150702-cvs, `configure' creates configuration files for every
+`gdb-7.9.50.20150703-cvs' source directory for version
+7.9.50.20150703-cvs, `configure' creates configuration files for every
 directory level underneath (unless you tell it not to, with the
 `--norecursion' option).
 
@@ -329,13 +329,13 @@ directory.  If the path to `configure' w
 argument to `--srcdir', you can leave out the `--srcdir' option; it is
 assumed.)
 
-   For example, with version 7.9.50.20150702-cvs, you can build GDB in a
+   For example, with version 7.9.50.20150703-cvs, you can build GDB in a
 separate directory for a Sun 4 like this:
 
-     cd gdb-7.9.50.20150702-cvs
+     cd gdb-7.9.50.20150703-cvs
      mkdir ../gdb-sun4
      cd ../gdb-sun4
-     ../gdb-7.9.50.20150702-cvs/configure sun4
+     ../gdb-7.9.50.20150703-cvs/configure sun4
      make
 
    When `configure' builds a configuration using a remote source
@@ -346,7 +346,7 @@ directory `gdb-sun4/libiberty', and GDB 
 
    Make sure that your path to the `configure' script has just one
 instance of `gdb' in it.  If your path to `configure' looks like
-`../gdb-7.9.50.20150702-cvs/gdb/configure', you are configuring only
+`../gdb-7.9.50.20150703-cvs/gdb/configure', you are configuring only
 one subdirectory of GDB, not the whole package.  This leads to build
 errors about missing include files such as `bfd/bfd.h'.
 
@@ -362,8 +362,8 @@ called `configure' (or one of its subdir
 
    The `Makefile' that `configure' generates in each source directory
 also runs recursively.  If you type `make' in a source directory such
-as `gdb-7.9.50.20150702-cvs' (or in a separate configured directory
-configured with `--srcdir=DIRNAME/gdb-7.9.50.20150702-cvs'), you will
+as `gdb-7.9.50.20150703-cvs' (or in a separate configured directory
+configured with `--srcdir=DIRNAME/gdb-7.9.50.20150703-cvs'), you will
 build all the required libraries, and then build GDB.
 
    When you have multiple hosts or targets configured in separate
@@ -408,7 +408,7 @@ you can use it to test your guesses on a
      Invalid configuration `i986v': machine `i986v' not recognized
 
 `config.sub' is also distributed in the GDB source directory
-(`gdb-7.9.50.20150702-cvs', for version 7.9.50.20150702-cvs).
+(`gdb-7.9.50.20150703-cvs', for version 7.9.50.20150703-cvs).
 
 
 File: gdb.info,  Node: Configure Options,  Next: System-wide configuration,  Prev: Config Names,  Up: Installing GDB
@@ -615,6 +615,61 @@ Debugging Output::.)
      This prints information about each `bfd' object that is known to
      GDB.  *Note BFD: (bfd)Top.
 
+`maint info btrace'
+     Pint information about raw branch tracing data.
+
+`maint btrace packet-history'
+     Print the raw branch trace packets that are used to compute the
+     execution history for the `record btrace' command.  Both the
+     information and the format in which it is printed depend on the
+     btrace recording format.
+
+    `bts'
+          For the BTS recording format, print a list of blocks of
+          sequential code.  For each block, the following information
+          is printed:
+
+         Block number
+               Newer blocks have higher numbers.  The oldest block has
+               number zero.
+
+         Lowest `PC'
+
+         Highest `PC'
+
+    `pt'
+          For the Intel(R) Processor Trace recording format, print a
+          list of Intel(R) Processor Trace packets.  For each packet,
+          the following information is printed:
+
+         Packet number
+               Newer packets have higher numbers.  The oldest packet
+               has number zero.
+
+         Trace offset
+               The packet's offset in the trace stream.
+
+         Packet opcode and payload
+
+`maint btrace clear-packet-history'
+     Discards the cached packet history printed by the `maint btrace
+     packet-history' command.  The history will be computed again when
+     needed.
+
+`maint btrace clear'
+     Discard the branch trace data.  The data will be fetched anew and
+     the branch trace will be recomputed when needed.
+
+     This implicitly truncates the branch trace to a single branch trace
+     buffer.  When updating branch trace incrementally, the branch trace
+     available to GDB may be bigger than a single branch trace buffer.
+
+`maint set btrace pt skip-pad'
+
+`maint show btrace pt skip-pad'
+     Control whether GDB will skip PAD packets when computing the
+     packet history.
+
 `set displaced-stepping'
 `show displaced-stepping'
      Control whether or not GDB will do "displaced stepping" if the
@@ -2560,7 +2615,9 @@ GDB packet uses spaces to separate its c
      `qXfer:fdpic:read'      No            `-'      Yes
      `Qbtrace:off'           Yes           `-'      Yes
      `Qbtrace:bts'           Yes           `-'      Yes
+     `Qbtrace:pt'            Yes           `-'      Yes
      `Qbtrace-conf:bts:size' Yes           `-'      Yes
+     `Qbtrace-conf:pt:size'  Yes           `-'      Yes
      `QNonStop'              No            `-'      Yes
      `QPassSignals'          No            `-'      Yes
      `QStartNoAckMode'       No            `-'      Yes
@@ -2762,10 +2819,16 @@ GDB packet uses spaces to separate its c
     `Qbtrace:bts'
           The remote stub understands the `Qbtrace:bts' packet.
 
+    `Qbtrace:pt'
+          The remote stub understands the `Qbtrace:pt' packet.
+
     `Qbtrace-conf:bts:size'
           The remote stub understands the `Qbtrace-conf:bts:size'
           packet.
 
+    `Qbtrace-conf:pt:size'
+          The remote stub understands the `Qbtrace-conf:pt:size' packet.
+
     `swbreak'
           The remote stub reports the `swbreak' stop reason for memory
           breakpoints.
@@ -3176,7 +3239,19 @@ GDB packet uses spaces to separate its c
           A badly formed request or an error was encountered.
 
 `Qbtrace:bts'
-     Enable branch tracing for the current thread using bts tracing.
+     Enable branch tracing for the current thread using Branch Trace
+     Store.
+
+     Reply:
+    `OK'
+          Branch tracing has been enabled.
+
+    `E.errtext'
+          A badly formed request or an error was encountered.
+
+`Qbtrace:pt'
+     Enable branch tracing for the current thread using Intel(R)
+     Processor Trace.
 
      Reply:
     `OK'
@@ -3206,6 +3281,17 @@ GDB packet uses spaces to separate its c
     `E.errtext'
           A badly formed request or an error was encountered.
 
+`Qbtrace-conf:pt:size=VALUE'
+     Set the requested ring buffer size for new threads that use the
+     btrace recording method in pt format.
+
+     Reply:
+    `OK'
+          The ring buffer size has been set.
+
+    `E.errtext'
+          A badly formed request or an error was encountered.
+
 
    ---------- Footnotes ----------
 
@@ -5534,13 +5620,25 @@ info discovery.  *Note Expat::.
 
    The formal DTD for the branch trace format is given below:
 
-     <!ELEMENT btrace  (block)* >
+     <!ELEMENT btrace  (block* | pt) >
      <!ATTLIST btrace  version CDATA   #FIXED "1.0">
 
      <!ELEMENT block        EMPTY>
      <!ATTLIST block        begin  CDATA   #REQUIRED
                             end    CDATA   #REQUIRED>
 
+     <!ELEMENT pt (pt-config?, raw?)>
+
+     <!ELEMENT pt-config (cpu?)>
+
+     <!ELEMENT cpu EMPTY>
+     <!ATTLIST cpu vendor   CDATA #REQUIRED
+                   family   CDATA #REQUIRED
+                   model    CDATA #REQUIRED
+                   stepping CDATA #REQUIRED>
+
+     <!ELEMENT raw (#PCDATA)>
+
 
 File: gdb.info,  Node: Branch Trace Configuration Format,  Prev: Branch Trace Format,  Up: Remote Protocol
 
@@ -5559,18 +5657,27 @@ settings for that format.  The following
     `size'
           The size of the BTS ring buffer in bytes.
 
+`pt'
+     This thread uses the "Intel(R) Processor Trace" (Intel(R) PT)
+     format.
+    `size'
+          The size of the Intel(R) PT ring buffer in bytes.
+
    GDB must be linked with the Expat library to support XML branch
 trace configuration discovery.  *Note Expat::.
 
    The formal DTD for the branch trace configuration format is given
 below:
 
-     <!ELEMENT btrace-conf	(bts?)>
+     <!ELEMENT btrace-conf	(bts?, pt?)>
      <!ATTLIST btrace-conf	version	CDATA	#FIXED "1.0">
 
      <!ELEMENT bts	EMPTY>
      <!ATTLIST bts	size	CDATA	#IMPLIED>
 
+     <!ELEMENT pt	EMPTY>
+     <!ATTLIST pt	size	CDATA	#IMPLIED>
+
 
 File: gdb.info,  Node: Agent Expressions,  Next: Target Descriptions,  Prev: Remote Protocol,  Up: Top
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/doc/gdb.info-7 ./gdb/doc/gdb.info-7
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/doc/gdb.info-7	2015-07-02 01:51:12.000000000 +0000
+++ ./gdb/doc/gdb.info-7	2015-07-03 01:51:25.000000000 +0000
@@ -22,7 +22,7 @@ developing GNU and promoting software fr
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of `Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 7.9.50.20150702-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.9.50.20150703-cvs.
 
    Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
@@ -1430,7 +1430,7 @@ Concept Index
 * asynchronous execution:                Background Execution.
                                                              (line    6)
 * asynchronous execution, and process record and replay: Process Record and Replay.
-                                                             (line   79)
+                                                             (line   92)
 * AT&T disassembly flavor:               Machine Code.       (line  132)
 * attach:                                Attach.             (line    6)
 * attach to a program, gdbserver:        Server.             (line   86)
@@ -1465,7 +1465,7 @@ Concept Index
                                                              (line   21)
 * bc packet:                             Packets.            (line   97)
 * bcache statistics:                     Maintenance Commands.
-                                                             (line  266)
+                                                             (line  321)
 * bits in remote address:                Remote Configuration.
                                                              (line   12)
 * blocks in guile:                       Blocks In Guile.    (line    6)
@@ -1476,7 +1476,7 @@ Concept Index
 * branch trace format:                   Branch Trace Format.
                                                              (line    6)
 * branch trace store:                    Process Record and Replay.
-                                                             (line   60)
+                                                             (line   61)
 * break in overloaded functions:         Debugging C Plus Plus.
                                                              (line    9)
 * break on a system call.:               Set Catchpoints.    (line   96)
@@ -1490,7 +1490,7 @@ Concept Index
 * breakpoint commands for GDB/MI:        GDB/MI Breakpoint Commands.
                                                              (line    6)
 * breakpoint commands, in remote protocol: General Query Packets.
-                                                             (line  753)
+                                                             (line  755)
 * breakpoint conditions:                 Conditions.         (line    6)
 * breakpoint kinds, ARM:                 ARM Breakpoint Kinds.
                                                              (line    6)
@@ -1721,10 +1721,10 @@ Concept Index
 * deliver a signal to a program:         Signaling.          (line    6)
 * demangle:                              Symbols.            (line  104)
 * demangler crashes:                     Maintenance Commands.
-                                                             (line  102)
+                                                             (line  157)
 * demangling C++ names:                  Print Settings.     (line  410)
 * deprecated commands:                   Maintenance Commands.
-                                                             (line  116)
+                                                             (line  171)
 * derived type of an object, printing:   Print Settings.     (line  462)
 * descriptor tables display:             DJGPP Native.       (line   24)
 * detach from task, GNU Hurd:            Hurd Native.        (line   60)
@@ -1739,9 +1739,9 @@ Concept Index
                                                              (line   45)
 * displaced stepping debugging info:     Debugging Output.   (line   95)
 * displaced stepping support:            Maintenance Commands.
-                                                             (line   68)
+                                                             (line  123)
 * displaced stepping, and process record and replay: Process Record and Replay.
-                                                             (line   74)
+                                                             (line   87)
 * display command history:               Command History.    (line   97)
 * display derived types:                 Print Settings.     (line  462)
 * display disabled out of scope:         Auto Display.       (line   86)
@@ -1772,7 +1772,7 @@ Concept Index
 * dump/restore files:                    Dump/Restore Files. (line    6)
 * DVC register:                          PowerPC Embedded.   (line    6)
 * DWARF compilation units cache:         Maintenance Commands.
-                                                             (line  324)
+                                                             (line  379)
 * DWARF DIEs:                            Debugging Output.   (line   70)
 * DWARF Line Tables:                     Debugging Output.   (line   77)
 * DWARF Reading:                         Debugging Output.   (line   86)
@@ -1906,7 +1906,7 @@ Concept Index
                                                              (line    8)
 * GDB bugs, reporting:                   Bug Reporting.      (line    6)
 * GDB internal error:                    Maintenance Commands.
-                                                             (line  152)
+                                                             (line  207)
 * gdb module:                            Basic Python.       (line   28)
 * gdb objects:                           GDB Scheme Data Types.
                                                              (line    6)
@@ -1996,7 +1996,7 @@ Concept Index
 * handling signals:                      Signals.            (line   27)
 * hardware breakpoints:                  Set Breaks.         (line   62)
 * hardware debug registers:              Maintenance Commands.
-                                                             (line  350)
+                                                             (line  405)
 * hardware watchpoints:                  Set Watchpoints.    (line   31)
 * hash mark while downloading:           Target Commands.    (line   99)
 * heuristic-fence-post (Alpha, MIPS):    MIPS.               (line   14)
@@ -2041,9 +2041,9 @@ Concept Index
                                                              (line    6)
 * infinite recursion in user-defined commands: Define.       (line   79)
 * info for known .debug_gdb_scripts-loaded scripts: Maintenance Commands.
-                                                             (line  259)
+                                                             (line  314)
 * info for known object files:           Maintenance Commands.
-                                                             (line  244)
+                                                             (line  299)
 * info proc cmdline:                     SVR4 Process Information.
                                                              (line   35)
 * info proc cwd:                         SVR4 Process Information.
@@ -2073,12 +2073,14 @@ Concept Index
 * Intel:                                 Remote Stub.        (line   57)
 * Intel disassembly flavor:              Machine Code.       (line  132)
 * Intel(R) Memory Protection Extensions (MPX).: i386.        (line   21)
+* Intel(R) Processor Trace:              Process Record and Replay.
+                                                             (line   66)
 * interaction, readline:                 Readline Interaction.
                                                              (line    6)
 * internal commands:                     Maintenance Commands.
                                                              (line    6)
 * internal errors, control of GDB behavior: Maintenance Commands.
-                                                             (line  152)
+                                                             (line  207)
 * internal GDB breakpoints:              Set Breaks.         (line  376)
 * interrupt:                             Quitting GDB.       (line   13)
 * interrupt debuggee on MS-Windows:      Cygwin Native.      (line    9)
@@ -2196,7 +2198,7 @@ Concept Index
 * memory tracing:                        Breakpoints.        (line   20)
 * memory transfer, in file-i/o protocol: Memory Transfer.    (line    6)
 * memory used by commands:               Maintenance Commands.
-                                                             (line  412)
+                                                             (line  467)
 * memory used for symbol tables:         Files.              (line  322)
 * memory, alignment and size of remote accesses: Packets.    (line  252)
 * memory, viewing as typed object:       Expressions.        (line   43)
@@ -2239,7 +2241,7 @@ Concept Index
 * multiple-symbols menu:                 Ambiguous Expressions.
                                                              (line   51)
 * multiprocess extensions, in remote protocol: General Query Packets.
-                                                             (line  682)
+                                                             (line  684)
 * name a thread:                         Threads.            (line  133)
 * names of symbols:                      Symbols.            (line   14)
 * namespace in C++:                      C Plus Plus Expressions.
@@ -2257,9 +2259,9 @@ Concept Index
 * non-member C++ functions, set breakpoint in: Set Breaks.   (line  108)
 * non-stop mode:                         Non-Stop Mode.      (line    6)
 * non-stop mode, and process record and replay: Process Record and Replay.
-                                                             (line   79)
+                                                             (line   92)
 * non-stop mode, and set displaced-stepping: Maintenance Commands.
-                                                             (line   85)
+                                                             (line  140)
 * non-stop mode, remote request:         General Query Packets.
                                                              (line  262)
 * noninvasive task options:              Hurd Native.        (line   73)
@@ -2313,7 +2315,7 @@ Concept Index
 * OS ABI:                                ABI.                (line   11)
 * OS information:                        OS Information.     (line    6)
 * out-of-line single-stepping:           Maintenance Commands.
-                                                             (line   68)
+                                                             (line  123)
 * outermost frame:                       Frames.             (line   12)
 * output formats:                        Output Formats.     (line    6)
 * output syntax of GDB/MI:               GDB/MI Output Syntax.
@@ -2334,7 +2336,7 @@ Concept Index
 * packet acknowledgment, for GDB remote: Packet Acknowledgment.
                                                              (line    6)
 * packet size, remote protocol:          General Query Packets.
-                                                             (line  584)
+                                                             (line  586)
 * packets, notification:                 Notification Packets.
                                                              (line    6)
 * packets, reporting on stdout:          Debugging Output.   (line  198)
@@ -2420,7 +2422,7 @@ Concept Index
 * procfs API calls:                      SVR4 Process Information.
                                                              (line   68)
 * profiling GDB:                         Maintenance Commands.
-                                                             (line  334)
+                                                             (line  389)
 * program counter register:              Registers.          (line   26)
 * program entry point:                   Backtrace.          (line  105)
 * programming in guile:                  Guile API.          (line    6)
@@ -2465,7 +2467,7 @@ Concept Index
 * QAllow packet:                         General Query Packets.
                                                              (line   46)
 * qAttached packet:                      General Query Packets.
-                                                             (line 1154)
+                                                             (line 1162)
 * qC packet:                             General Query Packets.
                                                              (line   57)
 * qCRC packet:                           General Query Packets.
@@ -2499,7 +2501,7 @@ Concept Index
 * qSupported packet:                     General Query Packets.
                                                              (line  411)
 * qSymbol packet:                        General Query Packets.
-                                                             (line  784)
+                                                             (line  792)
 * qTBuffer packet:                       Tracepoint Packets. (line  412)
 * QTBuffer size packet:                  Tracepoint Packets. (line  425)
 * QTDisable packet:                      Tracepoint Packets. (line  220)
@@ -2513,7 +2515,7 @@ Concept Index
 * qTfSTM packet:                         Tracepoint Packets. (line  367)
 * qTfV packet:                           Tracepoint Packets. (line  358)
 * qThreadExtraInfo packet:               General Query Packets.
-                                                             (line  828)
+                                                             (line  836)
 * QTinit packet:                         Tracepoint Packets. (line  225)
 * qTMinFTPILen packet:                   Tracepoint Packets. (line  179)
 * QTNotes packet:                        Tracepoint Packets. (line  430)
@@ -2529,12 +2531,12 @@ Concept Index
 * qTsV packet:                           Tracepoint Packets. (line  359)
 * qTV packet:                            Tracepoint Packets. (line  333)
 * query attached, remote request:        General Query Packets.
-                                                             (line 1154)
+                                                             (line 1162)
 * quotes in commands:                    Completion.         (line   83)
 * quoting Ada internal identifiers:      Additions to Ada.   (line   76)
 * quoting names:                         Symbols.            (line   14)
 * qXfer packet:                          General Query Packets.
-                                                             (line  866)
+                                                             (line  874)
 * R packet:                              Packets.            (line  315)
 * r packet:                              Packets.            (line  310)
 * range checking:                        Type Checking.      (line   45)
@@ -2546,7 +2548,7 @@ Concept Index
 * raw printing:                          Output Formats.     (line   75)
 * RDI heartbeat:                         ARM.                (line  112)
 * read special object, remote request:   General Query Packets.
-                                                             (line  866)
+                                                             (line  874)
 * read, file-i/o system call:            read.               (line    6)
 * read-only sections:                    Files.              (line  269)
 * reading symbols from relocatable object files: Files.      (line  133)
@@ -2621,7 +2623,7 @@ Concept Index
 * reprint the last value:                Data.               (line   23)
 * reset SDI connection, M32R:            M32R/D.             (line   44)
 * resources used by commands:            Maintenance Commands.
-                                                             (line  374)
+                                                             (line  429)
 * response time, MIPS debugging:         MIPS.               (line   10)
 * restart:                               Checkpoint/Restart. (line    6)
 * restore data from a file:              Dump/Restore Files. (line    6)
@@ -2724,7 +2726,7 @@ Concept Index
 * signals the inferior may see, remote request: General Query Packets.
                                                              (line  312)
 * SIGQUIT signal, dump core of GDB:      Maintenance Commands.
-                                                             (line  125)
+                                                             (line  180)
 * simulator, Z8000:                      Z8000.              (line    6)
 * size of remote memory accesses:        Packets.            (line  252)
 * size of screen:                        Screen Size.        (line    6)
@@ -2764,7 +2766,7 @@ Concept Index
                                                              (line    6)
 * static tracepoints:                    Set Tracepoints.    (line   28)
 * static tracepoints, in remote protocol: General Query Packets.
-                                                             (line  731)
+                                                             (line  733)
 * static tracepoints, setting:           Create and Delete Tracepoints.
                                                              (line   76)
 * status of trace data collection:       Starting and Stopping Trace Experiments.
@@ -2784,7 +2786,7 @@ Concept Index
 * stream records in GDB/MI:              GDB/MI Stream Records.
                                                              (line    6)
 * string tracing, in remote protocol:    General Query Packets.
-                                                             (line  748)
+                                                             (line  750)
 * struct gdb_reader_funcs:               Writing JIT Debug Info Readers.
                                                              (line   22)
 * struct gdb_symbol_callbacks:           Writing JIT Debug Info Readers.
@@ -2815,7 +2817,7 @@ Concept Index
 * symbol from address:                   Symbols.            (line   84)
 * symbol lookup:                         Debugging Output.   (line  223)
 * symbol lookup, remote request:         General Query Packets.
-                                                             (line  784)
+                                                             (line  792)
 * symbol names:                          Symbols.            (line   14)
 * symbol table:                          Files.              (line    6)
 * symbol table creation:                 Debugging Output.   (line  239)
@@ -2877,7 +2879,7 @@ Concept Index
                                                              (line  110)
 * target remote:                         Connecting.         (line   15)
 * target stack description:              Maintenance Commands.
-                                                             (line  279)
+                                                             (line  334)
 * target-assisted range stepping:        Continuing and Stepping.
                                                              (line  213)
 * task attributes (GNU Hurd):            Hurd Native.        (line   49)
@@ -2890,7 +2892,7 @@ Concept Index
 * terminal:                              Input/Output.       (line    6)
 * Text User Interface:                   TUI.                (line    6)
 * thread attributes info, remote request: General Query Packets.
-                                                             (line  828)
+                                                             (line  836)
 * thread breakpoints:                    Thread-Specific Breakpoints.
                                                              (line   10)
 * thread breakpoints and system calls:   Interrupted System Calls.
@@ -2913,9 +2915,9 @@ Concept Index
 * threads, continuing:                   Thread Stops.       (line    6)
 * threads, stopped:                      Thread Stops.       (line    6)
 * time of command execution:             Maintenance Commands.
-                                                             (line  416)
+                                                             (line  471)
 * timeout for commands:                  Maintenance Commands.
-                                                             (line  438)
+                                                             (line  493)
 * timeout for serial communications:     Remote Configuration.
                                                              (line   72)
 * timeout, for remote target connection: Remote Configuration.
@@ -2961,7 +2963,7 @@ Concept Index
                                                              (line    6)
 * type casting memory:                   Expressions.        (line   43)
 * type chain of a data type:             Maintenance Commands.
-                                                             (line  291)
+                                                             (line  346)
 * type checking:                         Checks.             (line   24)
 * type conversions in C++:               C Plus Plus Expressions.
                                                              (line   26)
@@ -2989,7 +2991,7 @@ Concept Index
                                                              (line    6)
 * use only software watchpoints:         Set Watchpoints.    (line  108)
 * user registers:                        Maintenance Commands.
-                                                             (line  250)
+                                                             (line  305)
 * user-defined command:                  Define.             (line    6)
 * user-defined macros:                   Macros.             (line   59)
 * user-defined variables:                Convenience Vars.   (line    6)
@@ -3027,7 +3029,7 @@ Concept Index
 * vStopped packet:                       Packets.            (line  538)
 * VTBL display:                          Print Settings.     (line  502)
 * watchdog timer:                        Maintenance Commands.
-                                                             (line  438)
+                                                             (line  493)
 * watchpoints:                           Breakpoints.        (line   20)
 * watchpoints and threads:               Set Watchpoints.    (line  180)
 * weak alias functions:                  Calling.            (line   59)
@@ -3040,7 +3042,7 @@ Concept Index
 * working directory (of your program):   Working Directory.  (line    6)
 * working language:                      Languages.          (line   13)
 * write data into object, remote request: General Query Packets.
-                                                             (line 1100)
+                                                             (line 1108)
 * write, file-i/o system call:           write.              (line    6)
 * writing a frame filter:                Writing a Frame Filter.
                                                              (line    6)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/doc/gdb.info-8 ./gdb/doc/gdb.info-8
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/doc/gdb.info-8	2015-07-02 01:51:12.000000000 +0000
+++ ./gdb/doc/gdb.info-8	2015-07-03 01:51:25.000000000 +0000
@@ -22,7 +22,7 @@ developing GNU and promoting software fr
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of `Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 7.9.50.20150702-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.9.50.20150703-cvs.
 
    Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
@@ -844,7 +844,7 @@ Command, Variable, and Function Index
                                                               (line  39)
 * flush_i_cache:                         Bootstrapping.       (line  60)
 * flushregs:                             Maintenance Commands.
-                                                              (line 241)
+                                                              (line 296)
 * fo (forward-search):                   Search.              (line   9)
 * focus:                                 TUI Commands.        (line  48)
 * forward-backward-delete-char ():       Commands For Text.   (line  15)
@@ -1217,7 +1217,7 @@ Command, Variable, and Function Index
                                                               (line  19)
 * info program:                          Stopping.            (line  18)
 * info record:                           Process Record and Replay.
-                                                              (line 225)
+                                                              (line 261)
 * info registers:                        Registers.           (line  11)
 * info scope:                            Symbols.             (line 262)
 * info selectors:                        Symbols.             (line 339)
@@ -1363,27 +1363,35 @@ Command, Variable, and Function Index
                                                               (line  12)
 * maint agent-printf:                    Maintenance Commands.
                                                               (line  27)
+* maint btrace clear:                    Maintenance Commands.
+                                                              (line 109)
+* maint btrace clear-packet-history:     Maintenance Commands.
+                                                              (line 104)
+* maint btrace packet-history:           Maintenance Commands.
+                                                              (line  71)
 * maint check-psymtabs:                  Maintenance Commands.
-                                                              (line  90)
+                                                              (line 145)
 * maint check-symtabs:                   Maintenance Commands.
-                                                              (line  95)
+                                                              (line 150)
 * maint cplus first_component:           Maintenance Commands.
-                                                              (line 110)
+                                                              (line 165)
 * maint cplus namespace:                 Maintenance Commands.
-                                                              (line 113)
+                                                              (line 168)
 * maint demangler-warning:               Maintenance Commands.
-                                                              (line 129)
+                                                              (line 184)
 * maint deprecate:                       Maintenance Commands.
-                                                              (line 116)
+                                                              (line 171)
 * maint dump-me:                         Maintenance Commands.
-                                                              (line 124)
+                                                              (line 179)
 * maint expand-symtabs:                  Maintenance Commands.
-                                                              (line  98)
+                                                              (line 153)
 * maint flush-symbol-cache:              Symbols.             (line 463)
 * maint info bfds:                       Maintenance Commands.
                                                               (line  64)
 * maint info breakpoints:                Maintenance Commands.
                                                               (line  33)
+* maint info btrace:                     Maintenance Commands.
+                                                              (line  68)
 * maint info program-spaces:             Inferiors and Programs.
                                                               (line 138)
 * maint info psymtabs:                   Symbols.             (line 401)
@@ -1391,101 +1399,105 @@ Command, Variable, and Function Index
 * maint info sol-threads:                Threads.             (line  98)
 * maint info symtabs:                    Symbols.             (line 401)
 * maint internal-error:                  Maintenance Commands.
-                                                              (line 129)
+                                                              (line 184)
 * maint internal-warning:                Maintenance Commands.
-                                                              (line 129)
+                                                              (line 184)
 * maint packet:                          Maintenance Commands.
-                                                              (line 175)
+                                                              (line 230)
 * maint print architecture:              Maintenance Commands.
-                                                              (line 181)
+                                                              (line 236)
 * maint print c-tdesc:                   Maintenance Commands.
-                                                              (line 185)
+                                                              (line 240)
 * maint print cooked-registers:          Maintenance Commands.
-                                                              (line 206)
+                                                              (line 261)
 * maint print dummy-frames:              Maintenance Commands.
-                                                              (line 190)
+                                                              (line 245)
 * maint print msymbols:                  Symbols.             (line 382)
 * maint print objfiles:                  Maintenance Commands.
-                                                              (line 244)
+                                                              (line 299)
 * maint print psymbols:                  Symbols.             (line 382)
 * maint print raw-registers:             Maintenance Commands.
-                                                              (line 206)
+                                                              (line 261)
 * maint print reggroups:                 Maintenance Commands.
-                                                              (line 225)
+                                                              (line 280)
 * maint print register-groups:           Maintenance Commands.
-                                                              (line 206)
+                                                              (line 261)
 * maint print registers:                 Maintenance Commands.
-                                                              (line 206)
+                                                              (line 261)
 * maint print remote-registers:          Maintenance Commands.
-                                                              (line 206)
+                                                              (line 261)
 * maint print section-scripts:           Maintenance Commands.
-                                                              (line 259)
+                                                              (line 314)
 * maint print statistics:                Maintenance Commands.
-                                                              (line 266)
+                                                              (line 321)
 * maint print symbol-cache:              Symbols.             (line 455)
 * maint print symbol-cache-statistics:   Symbols.             (line 459)
 * maint print symbols:                   Symbols.             (line 382)
 * maint print target-stack:              Maintenance Commands.
-                                                              (line 279)
+                                                              (line 334)
 * maint print type:                      Maintenance Commands.
-                                                              (line 291)
+                                                              (line 346)
 * maint print unwind, HPPA:              HPPA.                (line  17)
 * maint print user-registers:            Maintenance Commands.
-                                                              (line 250)
+                                                              (line 305)
+* maint set btrace pt skip-pad:          Maintenance Commands.
+                                                              (line 117)
 * maint set catch-demangler-crashes:     Maintenance Commands.
-                                                              (line 102)
+                                                              (line 157)
 * maint set demangler-warning:           Maintenance Commands.
-                                                              (line 152)
+                                                              (line 207)
 * maint set dwarf always-disassemble:    Maintenance Commands.
-                                                              (line 298)
+                                                              (line 353)
 * maint set dwarf max-cache-age:         Maintenance Commands.
-                                                              (line 320)
+                                                              (line 375)
 * maint set internal-error:              Maintenance Commands.
-                                                              (line 152)
+                                                              (line 207)
 * maint set internal-warning:            Maintenance Commands.
-                                                              (line 152)
+                                                              (line 207)
 * maint set per-command:                 Maintenance Commands.
-                                                              (line 372)
+                                                              (line 427)
 * maint set profile:                     Maintenance Commands.
-                                                              (line 334)
+                                                              (line 389)
 * maint set show-all-tib:                Maintenance Commands.
-                                                              (line 358)
+                                                              (line 413)
 * maint set show-debug-regs:             Maintenance Commands.
-                                                              (line 350)
+                                                              (line 405)
 * maint set symbol-cache-size:           Symbols.             (line 447)
 * maint set target-async:                Maintenance Commands.
-                                                              (line 364)
+                                                              (line 419)
+* maint show btrace pt skip-pad:         Maintenance Commands.
+                                                              (line 118)
 * maint show catch-demangler-crashes:    Maintenance Commands.
-                                                              (line 102)
+                                                              (line 157)
 * maint show demangler-warning:          Maintenance Commands.
-                                                              (line 152)
+                                                              (line 207)
 * maint show dwarf always-disassemble:   Maintenance Commands.
-                                                              (line 298)
+                                                              (line 353)
 * maint show dwarf max-cache-age:        Maintenance Commands.
-                                                              (line 320)
+                                                              (line 375)
 * maint show internal-error:             Maintenance Commands.
-                                                              (line 152)
+                                                              (line 207)
 * maint show internal-warning:           Maintenance Commands.
-                                                              (line 152)
+                                                              (line 207)
 * maint show per-command:                Maintenance Commands.
-                                                              (line 372)
+                                                              (line 427)
 * maint show profile:                    Maintenance Commands.
-                                                              (line 334)
+                                                              (line 389)
 * maint show show-all-tib:               Maintenance Commands.
-                                                              (line 358)
+                                                              (line 413)
 * maint show show-debug-regs:            Maintenance Commands.
-                                                              (line 350)
+                                                              (line 405)
 * maint show symbol-cache-size:          Symbols.             (line 452)
 * maint show target-async:               Maintenance Commands.
-                                                              (line 364)
+                                                              (line 419)
 * maint space:                           Maintenance Commands.
-                                                              (line 412)
+                                                              (line 467)
 * maint time:                            Maintenance Commands.
-                                                              (line 416)
+                                                              (line 471)
 * maint translate-address:               Maintenance Commands.
-                                                              (line 420)
+                                                              (line 475)
 * maint undeprecate:                     Maintenance Commands.
-                                                              (line 116)
+                                                              (line 171)
 * make:                                  Shell Commands.      (line  21)
 * make-block-symbols-iterator:           Blocks In Guile.     (line 106)
 * make-breakpoint:                       Breakpoints In Guile.
@@ -1743,18 +1755,22 @@ Command, Variable, and Function Index
                                                               (line  38)
 * rec btrace bts:                        Process Record and Replay.
                                                               (line  38)
+* rec btrace pt:                         Process Record and Replay.
+                                                              (line  38)
 * rec bts:                               Process Record and Replay.
                                                               (line  38)
 * rec del:                               Process Record and Replay.
-                                                              (line 264)
+                                                              (line 303)
 * rec full:                              Process Record and Replay.
                                                               (line  38)
 * rec function-call-history:             Process Record and Replay.
-                                                              (line 312)
+                                                              (line 351)
 * rec instruction-history:               Process Record and Replay.
-                                                              (line 271)
+                                                              (line 310)
+* rec pt:                                Process Record and Replay.
+                                                              (line  38)
 * rec s:                                 Process Record and Replay.
-                                                              (line  84)
+                                                              (line  97)
 * recognize on type_recognizer:          Type Printing API.   (line  44)
 * record:                                Process Record and Replay.
                                                               (line  38)
@@ -1762,24 +1778,28 @@ Command, Variable, and Function Index
                                                               (line  38)
 * record btrace bts:                     Process Record and Replay.
                                                               (line  38)
+* record btrace pt:                      Process Record and Replay.
+                                                              (line  38)
 * record bts:                            Process Record and Replay.
                                                               (line  38)
 * record delete:                         Process Record and Replay.
-                                                              (line 264)
+                                                              (line 303)
 * record full:                           Process Record and Replay.
                                                               (line  38)
 * record function-call-history:          Process Record and Replay.
-                                                              (line 312)
+                                                              (line 351)
 * record goto:                           Process Record and Replay.
-                                                              (line 107)
+                                                              (line 120)
 * record instruction-history:            Process Record and Replay.
-                                                              (line 271)
+                                                              (line 310)
+* record pt:                             Process Record and Replay.
+                                                              (line  38)
 * record restore:                        Process Record and Replay.
-                                                              (line 128)
+                                                              (line 141)
 * record save:                           Process Record and Replay.
-                                                              (line 121)
+                                                              (line 134)
 * record stop:                           Process Record and Replay.
-                                                              (line  84)
+                                                              (line  97)
 * redraw-current-line ():                Commands For Moving. (line  30)
 * refresh:                               TUI Commands.        (line  66)
 * register-breakpoint!:                  Breakpoints In Guile.
@@ -1934,7 +1954,7 @@ Command, Variable, and Function Index
 * set disconnected-tracing:              Starting and Stopping Trace Experiments.
                                                               (line  55)
 * set displaced-stepping:                Maintenance Commands.
-                                                              (line  68)
+                                                              (line 123)
 * set download-path:                     M32R/D.              (line  15)
 * set editing:                           Editing.             (line  15)
 * set endian:                            Byte Order.          (line  13)
@@ -2015,13 +2035,15 @@ Command, Variable, and Function Index
 * set rdiheartbeat:                      ARM.                 (line 112)
 * set rdiromatzero:                      ARM.                 (line 102)
 * set record:                            Process Record and Replay.
-                                                              (line 302)
+                                                              (line 341)
 * set record btrace:                     Process Record and Replay.
-                                                              (line 183)
+                                                              (line 196)
 * set record btrace bts:                 Process Record and Replay.
-                                                              (line 202)
+                                                              (line 215)
+* set record btrace pt:                  Process Record and Replay.
+                                                              (line 238)
 * set record full:                       Process Record and Replay.
-                                                              (line 132)
+                                                              (line 145)
 * set remote:                            Remote Configuration.
                                                               (line   6)
 * set remote system-call-allowed:        system.              (line  38)
@@ -2081,7 +2103,7 @@ Command, Variable, and Function Index
 * set variable:                          Assignment.          (line  16)
 * set verbose:                           Messages/Warnings.   (line  15)
 * set watchdog:                          Maintenance Commands.
-                                                              (line 438)
+                                                              (line 493)
 * set width:                             Screen Size.         (line  21)
 * set write:                             Patching.            (line  15)
 * set-breakpoint-condition!:             Breakpoints In Guile.
@@ -2196,7 +2218,7 @@ Command, Variable, and Function Index
 * show disconnected-tracing:             Starting and Stopping Trace Experiments.
                                                               (line  62)
 * show displaced-stepping:               Maintenance Commands.
-                                                              (line  68)
+                                                              (line 123)
 * show download-path:                    M32R/D.              (line  18)
 * show editing:                          Editing.             (line  22)
 * show environment:                      Environment.         (line  33)
@@ -2262,11 +2284,11 @@ Command, Variable, and Function Index
 * show rdiheartbeat:                     ARM.                 (line 117)
 * show rdiromatzero:                     ARM.                 (line 109)
 * show record:                           Process Record and Replay.
-                                                              (line 308)
+                                                              (line 347)
 * show record btrace:                    Process Record and Replay.
-                                                              (line 199)
+                                                              (line 212)
 * show record full:                      Process Record and Replay.
-                                                              (line 150)
+                                                              (line 163)
 * show remote:                           Remote Configuration.
                                                               (line   6)
 * show remote system-call-allowed:       system.              (line  42)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/doc/gdbinit.5 ./gdb/doc/gdbinit.5
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/doc/gdbinit.5	2015-07-02 01:51:13.000000000 +0000
+++ ./gdb/doc/gdbinit.5	2015-07-03 01:51:26.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDBINIT 5"
-.TH GDBINIT 5 "2015-07-02" "gdb-7.9.50.20150702-cvs" "GNU Development Tools"
+.TH GDBINIT 5 "2015-07-03" "gdb-7.9.50.20150703-cvs" "GNU Development Tools"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/doc/gdbserver.1 ./gdb/doc/gdbserver.1
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/doc/gdbserver.1	2015-07-02 01:51:13.000000000 +0000
+++ ./gdb/doc/gdbserver.1	2015-07-03 01:51:26.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDBSERVER 1"
-.TH GDBSERVER 1 "2015-07-02" "gdb-7.9.50.20150702-cvs" "GNU Development Tools"
+.TH GDBSERVER 1 "2015-07-03" "gdb-7.9.50.20150703-cvs" "GNU Development Tools"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/doc/gdb.texinfo ./gdb/doc/gdb.texinfo
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/doc/gdb.texinfo	2015-07-02 01:48:29.000000000 +0000
+++ ./gdb/doc/gdb.texinfo	2015-07-03 01:48:29.000000000 +0000
@@ -6417,12 +6417,16 @@ For architecture environments that suppo
 @kindex record full
 @kindex record btrace
 @kindex record btrace bts
+@kindex record btrace pt
 @kindex record bts
+@kindex record pt
 @kindex rec
 @kindex rec full
 @kindex rec btrace
 @kindex rec btrace bts
+@kindex rec btrace pt
 @kindex rec bts
+@kindex rec pt
 @item record @var{method}
 This command starts the process record and replay target.  The
 recording method can be specified as parameter.  Without a parameter
@@ -6438,8 +6442,9 @@ execution.
 @item btrace @var{format}
 Hardware-supported instruction recording.  This method does not record
 data.  Further, the data is collected in a ring buffer so old data will
-be overwritten when the buffer is full.  It allows limited replay and
-reverse execution.
+be overwritten when the buffer is full.  It allows limited reverse
+execution.  Variables and registers are not available during reverse
+execution.
 
 The recording format can be specified as parameter.  Without a parameter
 the command chooses the recording format.  The following recording
@@ -6451,6 +6456,21 @@ formats are available:
 Use the @dfn{Branch Trace Store} (@acronym{BTS}) recording format.  In
 this format, the processor stores a from/to record for each executed
 branch in the btrace ring buffer.
+
+@item pt
+@cindex Intel(R) Processor Trace
+Use the @dfn{Intel(R) Processor Trace} recording format.  In this
+format, the processor stores the execution trace in a compressed form
+that is afterwards decoded by @value{GDBN}.
+
+The trace can be recorded with very low overhead.  The compressed
+trace format also allows small trace buffers to already contain a big
+number of instructions compared to @acronym{BTS}.
+
+Decoding the recorded execution trace, on the other hand, is more
+expensive than decoding @acronym{BTS} trace.  This is mostly due to the
+increased number of instructions to process.  You should increase the
+buffer-size with care.
 @end table
 
 Not all recording formats may be available on all processors.
@@ -6461,9 +6481,6 @@ already running.  Therefore, you need fi
 the @kbd{run} or @kbd{start} commands, and then start the recording
 with the @kbd{record @var{method}} command.
 
-Both @code{record @var{method}} and @code{rec @var{method}} are
-aliases of @code{target record-@var{method}}.
-
 @cindex displaced stepping, and process record and replay
 Displaced stepping (@pxref{Maintenance Commands,, displaced stepping})
 will be automatically disabled when process record and replay target
@@ -6629,6 +6646,29 @@ also need longer to process the branch t
 Show the current setting of the requested ring buffer size for branch
 tracing in @acronym{BTS} format.
 
+@kindex set record btrace pt
+@item set record btrace pt buffer-size @var{size}
+@itemx set record btrace pt buffer-size unlimited
+Set the requested ring buffer size for branch tracing in Intel(R)
+Processor Trace format.  Default is 16KB.
+
+If @var{size} is a positive number, then @value{GDBN} will try to
+allocate a buffer of at least @var{size} bytes for each new thread
+that uses the btrace recording method and the Intel(R) Processor Trace
+format.  The actually obtained buffer size may differ from the
+requested @var{size}.  Use the @code{info record} command to see the
+actual buffer size for each thread.
+
+If @var{limit} is @code{unlimited} or zero, @value{GDBN} will try to
+allocate a buffer of 4MB.
+
+Bigger buffers mean longer traces.  On the other hand, @value{GDBN} will
+also need longer to process the branch trace data before it can be used.
+
+@item show record btrace pt buffer-size @var{size}
+Show the current setting of the requested ring buffer size for branch
+tracing in Intel(R) Processor Trace format.
+
 @kindex info record
 @item info record
 Show various statistics about the recording depending on the recording
@@ -6674,6 +6714,12 @@ For the @code{bts} recording format, it 
 @item
 Size of the perf ring buffer.
 @end itemize
+
+For the @code{pt} recording format, it also shows:
+@itemize @bullet
+@item
+Size of the perf ring buffer.
+@end itemize
 @end table
 
 @kindex record delete
@@ -33934,6 +33980,66 @@ Shared library events.
 This prints information about each @code{bfd} object that is known to
 @value{GDBN}.  @xref{Top, , BFD, bfd, The Binary File Descriptor Library}.
 
+@kindex maint info btrace
+@item maint info btrace
+Pint information about raw branch tracing data.
+
+@kindex maint btrace packet-history
+@item maint btrace packet-history
+Print the raw branch trace packets that are used to compute the
+execution history for the @samp{record btrace} command.  Both the
+information and the format in which it is printed depend on the btrace
+recording format.
+
+@table @code
+@item bts
+For the BTS recording format, print a list of blocks of sequential
+code.  For each block, the following information is printed:
+
+@table @asis
+@item Block number
+Newer blocks have higher numbers.  The oldest block has number zero.
+@item Lowest @samp{PC}
+@item Highest @samp{PC}
+@end table
+
+@item pt
+For the Intel(R) Processor Trace recording format, print a list of
+Intel(R) Processor Trace packets.  For each packet, the following
+information is printed:
+
+@table @asis
+@item Packet number
+Newer packets have higher numbers.  The oldest packet has number zero.
+@item Trace offset
+The packet's offset in the trace stream.
+@item Packet opcode and payload
+@end table
+@end table
+
+@kindex maint btrace clear-packet-history
+@item maint btrace clear-packet-history
+Discards the cached packet history printed by the @samp{maint btrace
+packet-history} command.  The history will be computed again when
+needed.
+
+@kindex maint btrace clear
+@item maint btrace clear
+Discard the branch trace data.  The data will be fetched anew and the
+branch trace will be recomputed when needed.
+
+This implicitly truncates the branch trace to a single branch trace
+buffer.  When updating branch trace incrementally, the branch trace
+available to @value{GDBN} may be bigger than a single branch trace
+buffer.
+
+@kindex maint set btrace pt skip-pad
+@item maint set btrace pt skip-pad
+@kindex maint show btrace pt skip-pad
+@item maint show btrace pt skip-pad
+Control whether @value{GDBN} will skip PAD packets when computing the
+packet history.
+
 @kindex set displaced-stepping
 @kindex show displaced-stepping
 @cindex displaced stepping support
@@ -36294,11 +36400,21 @@ These are the currently defined stub fea
 @tab @samp{-}
 @tab Yes
 
+@item @samp{Qbtrace:pt}
+@tab Yes
+@tab @samp{-}
+@tab Yes
+
 @item @samp{Qbtrace-conf:bts:size}
 @tab Yes
 @tab @samp{-}
 @tab Yes
 
+@item @samp{Qbtrace-conf:pt:size}
+@tab Yes
+@tab @samp{-}
+@tab Yes
+
 @item @samp{QNonStop}
 @tab No
 @tab @samp{-}
@@ -36580,9 +36696,15 @@ The remote stub understands the @samp{Qb
 @item Qbtrace:bts
 The remote stub understands the @samp{Qbtrace:bts} packet.
 
+@item Qbtrace:pt
+The remote stub understands the @samp{Qbtrace:pt} packet.
+
 @item Qbtrace-conf:bts:size
 The remote stub understands the @samp{Qbtrace-conf:bts:size} packet.
 
+@item Qbtrace-conf:pt:size
+The remote stub understands the @samp{Qbtrace-conf:pt:size} packet.
+
 @item swbreak
 The remote stub reports the @samp{swbreak} stop reason for memory
 breakpoints.
@@ -37027,7 +37149,18 @@ A badly formed request or an error was e
 @end table
 
 @item Qbtrace:bts
-Enable branch tracing for the current thread using bts tracing.
+Enable branch tracing for the current thread using Branch Trace Store.
+
+Reply:
+@table @samp
+@item OK
+Branch tracing has been enabled.
+@item E.errtext
+A badly formed request or an error was encountered.
+@end table
+
+@item Qbtrace:pt
+Enable branch tracing for the current thread using Intel(R) Processor Trace.
 
 Reply:
 @table @samp
@@ -37060,6 +37193,18 @@ The ring buffer size has been set.
 A badly formed request or an error was encountered.
 @end table
 
+@item Qbtrace-conf:pt:size=@var{value}
+Set the requested ring buffer size for new threads that use the
+btrace recording method in pt format.
+
+Reply:
+@table @samp
+@item OK
+The ring buffer size has been set.
+@item E.errtext
+A badly formed request or an error was encountered.
+@end table
+
 @end table
 
 @node Architecture-Specific Protocol Details
@@ -39611,12 +39756,24 @@ and ending at @var{end}:
 The formal DTD for the branch trace format is given below:
 
 @smallexample
-<!ELEMENT btrace  (block)* >
+<!ELEMENT btrace  (block* | pt) >
 <!ATTLIST btrace  version CDATA   #FIXED "1.0">
 
 <!ELEMENT block        EMPTY>
 <!ATTLIST block        begin  CDATA   #REQUIRED
                        end    CDATA   #REQUIRED>
+
+<!ELEMENT pt (pt-config?, raw?)>
+
+<!ELEMENT pt-config (cpu?)>
+
+<!ELEMENT cpu EMPTY>
+<!ATTLIST cpu vendor   CDATA #REQUIRED
+              family   CDATA #REQUIRED
+              model    CDATA #REQUIRED
+              stepping CDATA #REQUIRED>
+
+<!ELEMENT raw (#PCDATA)>
 @end smallexample
 
 @node Branch Trace Configuration Format
@@ -39637,6 +39794,13 @@ This thread uses the @dfn{Branch Trace S
 @item size
 The size of the @acronym{BTS} ring buffer in bytes.
 @end table
+@item pt
+This thread uses the @dfn{Intel(R) Processor Trace} (@acronym{Intel(R)
+PT}) format.
+@table @code
+@item size
+The size of the @acronym{Intel(R) PT} ring buffer in bytes.
+@end table
 @end table
 
 @value{GDBN} must be linked with the Expat library to support XML
@@ -39645,11 +39809,14 @@ branch trace configuration discovery.  @
 The formal DTD for the branch trace configuration format is given below:
 
 @smallexample
-<!ELEMENT btrace-conf	(bts?)>
+<!ELEMENT btrace-conf	(bts?, pt?)>
 <!ATTLIST btrace-conf	version	CDATA	#FIXED "1.0">
 
 <!ELEMENT bts	EMPTY>
 <!ATTLIST bts	size	CDATA	#IMPLIED>
+
+<!ELEMENT pt	EMPTY>
+<!ATTLIST pt	size	CDATA	#IMPLIED>
 @end smallexample
 
 @include agentexpr.texi
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/features/btrace-conf.dtd ./gdb/features/btrace-conf.dtd
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/features/btrace-conf.dtd	2015-07-02 01:48:29.000000000 +0000
+++ ./gdb/features/btrace-conf.dtd	2015-07-03 01:48:29.000000000 +0000
@@ -4,8 +4,11 @@
      are permitted in any medium without royalty provided the copyright
      notice and this notice are preserved.  -->
 
-<!ELEMENT btrace-conf	(bts?)>
+<!ELEMENT btrace-conf	(bts?, pt?)>
 <!ATTLIST btrace-conf	version	CDATA	#FIXED "1.0">
 
 <!ELEMENT bts	EMPTY>
 <!ATTLIST bts	size	CDATA	#IMPLIED>
+
+<!ELEMENT pt	EMPTY>
+<!ATTLIST pt	size	CDATA	#IMPLIED>
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/features/btrace.dtd ./gdb/features/btrace.dtd
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/features/btrace.dtd	2015-07-02 01:48:29.000000000 +0000
+++ ./gdb/features/btrace.dtd	2015-07-03 01:48:29.000000000 +0000
@@ -4,9 +4,21 @@
      are permitted in any medium without royalty provided the copyright
      notice and this notice are preserved.  -->
 
-<!ELEMENT btrace  (block)* >
+<!ELEMENT btrace  (block* | pt)>
 <!ATTLIST btrace  version CDATA   #FIXED "1.0">
 
 <!ELEMENT block        EMPTY>
 <!ATTLIST block        begin  CDATA   #REQUIRED
                        end    CDATA   #REQUIRED>
+
+<!ELEMENT pt (pt-config?, raw?)>
+
+<!ELEMENT pt-config (cpu?)>
+
+<!ELEMENT cpu EMPTY>
+<!ATTLIST cpu vendor   CDATA #REQUIRED
+              family   CDATA #REQUIRED
+              model    CDATA #REQUIRED
+              stepping CDATA #REQUIRED>
+
+<!ELEMENT raw (#PCDATA)>
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/gdbserver/ChangeLog ./gdb/gdbserver/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/gdbserver/ChangeLog	2015-07-02 01:48:29.000000000 +0000
+++ ./gdb/gdbserver/ChangeLog	2015-07-03 01:48:30.000000000 +0000
@@ -1,3 +1,13 @@
+2015-07-02  Markus Metzger  <markus.t.metzger@intel.com>
+
+	* 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".
+
 2015-06-29  Pierre Langlois  <pierre.langlois@arm.com>
 
 	* linux-aarch64-low.c (aarch64_supports_z_point_type): Enable for
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/gdbserver/linux-low.c ./gdb/gdbserver/linux-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/gdbserver/linux-low.c	2015-07-02 01:48:29.000000000 +0000
+++ ./gdb/gdbserver/linux-low.c	2015-07-03 01:48:30.000000000 +0000
@@ -21,6 +21,7 @@
 #include "nat/linux-osdata.h"
 #include "agent.h"
 #include "tdesc.h"
+#include "rsp-low.h"
 
 #include "nat/linux-nat.h"
 #include "nat/linux-waitpid.h"
@@ -6461,6 +6462,55 @@ linux_low_disable_btrace (struct btrace_
   return (err == BTRACE_ERR_NONE ? 0 : -1);
 }
 
+/* Encode an Intel(R) Processor Trace configuration.  */
+
+static void
+linux_low_encode_pt_config (struct buffer *buffer,
+			    const struct btrace_data_pt_config *config)
+{
+  buffer_grow_str (buffer, "<pt-config>\n");
+
+  switch (config->cpu.vendor)
+    {
+    case CV_INTEL:
+      buffer_xml_printf (buffer, "<cpu vendor=\"GenuineIntel\" family=\"%u\" "
+			 "model=\"%u\" stepping=\"%u\"/>\n",
+			 config->cpu.family, config->cpu.model,
+			 config->cpu.stepping);
+      break;
+
+    default:
+      break;
+    }
+
+  buffer_grow_str (buffer, "</pt-config>\n");
+}
+
+/* Encode a raw buffer.  */
+
+static void
+linux_low_encode_raw (struct buffer *buffer, const gdb_byte *data,
+		      unsigned int size)
+{
+  if (size == 0)
+    return;
+
+  /* We use hex encoding - see common/rsp-low.h.  */
+  buffer_grow_str (buffer, "<raw>\n");
+
+  while (size-- > 0)
+    {
+      char elem[2];
+
+      elem[0] = tohex ((*data >> 4) & 0xf);
+      elem[1] = tohex (*data++ & 0xf);
+
+      buffer_grow (buffer, elem, 2);
+    }
+
+  buffer_grow_str (buffer, "</raw>\n");
+}
+
 /* See to_read_btrace target method.  */
 
 static int
@@ -6482,15 +6532,14 @@ linux_low_read_btrace (struct btrace_tar
       else
 	buffer_grow_str0 (buffer, "E.Generic Error.");
 
-      btrace_data_fini (&btrace);
-      return -1;
+      goto err;
     }
 
   switch (btrace.format)
     {
     case BTRACE_FORMAT_NONE:
       buffer_grow_str0 (buffer, "E.No Trace.");
-      break;
+      goto err;
 
     case BTRACE_FORMAT_BTS:
       buffer_grow_str (buffer, "<!DOCTYPE btrace SYSTEM \"btrace.dtd\">\n");
@@ -6505,15 +6554,31 @@ linux_low_read_btrace (struct btrace_tar
       buffer_grow_str0 (buffer, "</btrace>\n");
       break;
 
-    default:
-      buffer_grow_str0 (buffer, "E.Unknown Trace Format.");
+    case BTRACE_FORMAT_PT:
+      buffer_grow_str (buffer, "<!DOCTYPE btrace SYSTEM \"btrace.dtd\">\n");
+      buffer_grow_str (buffer, "<btrace version=\"1.0\">\n");
+      buffer_grow_str (buffer, "<pt>\n");
+
+      linux_low_encode_pt_config (buffer, &btrace.variant.pt.config);
 
-      btrace_data_fini (&btrace);
-      return -1;
+      linux_low_encode_raw (buffer, btrace.variant.pt.data,
+			    btrace.variant.pt.size);
+
+      buffer_grow_str (buffer, "</pt>\n");
+      buffer_grow_str0 (buffer, "</btrace>\n");
+      break;
+
+    default:
+      buffer_grow_str0 (buffer, "E.Unsupported Trace Format.");
+      goto err;
     }
 
   btrace_data_fini (&btrace);
   return 0;
+
+err:
+  btrace_data_fini (&btrace);
+  return -1;
 }
 
 /* See to_btrace_conf target method.  */
@@ -6540,6 +6605,12 @@ linux_low_btrace_conf (const struct btra
 	  buffer_xml_printf (buffer, " size=\"0x%x\"", conf->bts.size);
 	  buffer_xml_printf (buffer, " />\n");
 	  break;
+
+	case BTRACE_FORMAT_PT:
+	  buffer_xml_printf (buffer, "<pt");
+	  buffer_xml_printf (buffer, " size=\"0x%x\"", conf->pt.size);
+	  buffer_xml_printf (buffer, "/>\n");
+	  break;
 	}
     }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/gdbserver/server.c ./gdb/gdbserver/server.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/gdbserver/server.c	2015-07-02 01:48:29.000000000 +0000
+++ ./gdb/gdbserver/server.c	2015-07-03 01:48:30.000000000 +0000
@@ -408,6 +408,23 @@ handle_btrace_enable_bts (struct thread_
   return NULL;
 }
 
+/* Handle btrace enabling in Intel(R) Processor Trace format.  */
+
+static const char *
+handle_btrace_enable_pt (struct thread_info *thread)
+{
+  if (thread->btrace != NULL)
+    return "E.Btrace already enabled.";
+
+  current_btrace_conf.format = BTRACE_FORMAT_PT;
+  thread->btrace = target_enable_btrace (thread->entry.id,
+					 &current_btrace_conf);
+  if (thread->btrace == NULL)
+    return "E.Could not enable btrace.";
+
+  return NULL;
+}
+
 /* Handle btrace disabling.  */
 
 static const char *
@@ -456,10 +473,12 @@ handle_btrace_general_set (char *own_buf
 
   if (strcmp (op, "bts") == 0)
     err = handle_btrace_enable_bts (thread);
+  else if (strcmp (op, "pt") == 0)
+    err = handle_btrace_enable_pt (thread);
   else if (strcmp (op, "off") == 0)
     err = handle_btrace_disable (thread);
   else
-    err = "E.Bad Qbtrace operation. Use bts or off.";
+    err = "E.Bad Qbtrace operation. Use bts, pt, or off.";
 
   if (err != 0)
     strcpy (own_buf, err);
@@ -511,6 +530,21 @@ handle_btrace_conf_general_set (char *ow
 
       current_btrace_conf.bts.size = (unsigned int) size;
     }
+  else if (strncmp (op, "pt:size=", strlen ("pt:size=")) == 0)
+    {
+      unsigned long size;
+      char *endp = NULL;
+
+      errno = 0;
+      size = strtoul (op + strlen ("pt:size="), &endp, 16);
+      if (endp == NULL || *endp != 0 || errno != 0 || size > UINT_MAX)
+	{
+	  strcpy (own_buf, "E.Bad size value.");
+	  return -1;
+	}
+
+      current_btrace_conf.pt.size = (unsigned int) size;
+    }
   else
     {
       strcpy (own_buf, "E.Bad Qbtrace configuration option.");
@@ -1871,12 +1905,25 @@ crc32 (CORE_ADDR base, int len, unsigned
 static void
 supported_btrace_packets (char *buf)
 {
+  int btrace_supported = 0;
+
   if (target_supports_btrace (BTRACE_FORMAT_BTS))
     {
       strcat (buf, ";Qbtrace:bts+");
       strcat (buf, ";Qbtrace-conf:bts:size+");
+
+      btrace_supported = 1;
     }
-  else
+
+  if (target_supports_btrace (BTRACE_FORMAT_PT))
+    {
+      strcat (buf, ";Qbtrace:pt+");
+      strcat (buf, ";Qbtrace-conf:pt:size+");
+
+      btrace_supported = 1;
+    }
+
+  if (!btrace_supported)
     return;
 
   strcat (buf, ";Qbtrace:off+");
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/Makefile.in ./gdb/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/Makefile.in	2015-07-02 01:48:29.000000000 +0000
+++ ./gdb/Makefile.in	2015-07-03 01:48:29.000000000 +0000
@@ -174,6 +174,9 @@ LIBLZMA = @LIBLZMA@
 # available.
 LIBBABELTRACE = @LIBBABELTRACE@
 
+# Where is libipt?  This will be empty if libipt was not available.
+LIBIPT = @LIBIPT@
+
 WARN_CFLAGS = @WARN_CFLAGS@
 WERROR_CFLAGS = @WERROR_CFLAGS@
 GDB_WARN_CFLAGS = $(WARN_CFLAGS)
@@ -590,7 +593,7 @@ INTERNAL_LDFLAGS = $(CFLAGS) $(GLOBAL_CF
 CLIBS = $(SIM) $(READLINE) $(OPCODES) $(BFD) $(ZLIB) $(INTL) $(LIBIBERTY) $(LIBDECNUMBER) \
 	$(XM_CLIBS) $(NAT_CLIBS) $(GDBTKLIBS) \
 	@LIBS@ @GUILE_LIBS@ @PYTHON_LIBS@ \
-	$(LIBEXPAT) $(LIBLZMA) $(LIBBABELTRACE) \
+	$(LIBEXPAT) $(LIBLZMA) $(LIBBABELTRACE) $(LIBIPT) \
 	$(LIBIBERTY) $(WIN32LIBS) $(LIBGNU)
 CDEPS = $(XM_CDEPS) $(NAT_CDEPS) $(SIM) $(BFD) $(READLINE_DEPS) \
 	$(OPCODES) $(INTL_DEPS) $(LIBIBERTY) $(CONFIG_DEPS) $(LIBGNU)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/nat/linux-btrace.c ./gdb/nat/linux-btrace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/nat/linux-btrace.c	2015-07-02 01:48:29.000000000 +0000
+++ ./gdb/nat/linux-btrace.c	2015-07-03 01:48:30.000000000 +0000
@@ -106,6 +106,87 @@ perf_event_new_data (const struct perf_e
    This is the same as the size of a pointer for the inferior process
    except when a 32-bit inferior is running on a 64-bit OS.  */
 
+/* Copy the last SIZE bytes from PEV ending at DATA_HEAD and return a pointer
+   to the memory holding the copy.
+   The caller is responsible for freeing the memory.  */
+
+static gdb_byte *
+perf_event_read (const struct perf_event_buffer *pev, unsigned long data_head,
+		 unsigned long size)
+{
+  const gdb_byte *begin, *end, *start, *stop;
+  gdb_byte *buffer;
+  unsigned long data_tail, buffer_size;
+
+  if (size == 0)
+    return NULL;
+
+  gdb_assert (size <= data_head);
+  data_tail = data_head - size;
+
+  buffer_size = pev->size;
+  begin = pev->mem;
+  start = begin + data_tail % buffer_size;
+  stop = begin + data_head % buffer_size;
+
+  buffer = xmalloc (size);
+
+  if (start < stop)
+    memcpy (buffer, start, stop - start);
+  else
+    {
+      end = begin + buffer_size;
+
+      memcpy (buffer, start, end - start);
+      memcpy (buffer + (end - start), begin, stop - begin);
+    }
+
+  return buffer;
+}
+
+/* Copy the perf event buffer data from PEV.
+   Store a pointer to the copy into DATA and its size in SIZE.  */
+
+static void
+perf_event_read_all (struct perf_event_buffer *pev, gdb_byte **data,
+		     unsigned long *psize)
+{
+  unsigned long data_head, size;
+
+  data_head = *pev->data_head;
+
+  size = pev->size;
+  if (data_head < size)
+    size = data_head;
+
+  *data = perf_event_read (pev, data_head, size);
+  *psize = size;
+
+  pev->last_head = data_head;
+}
+
+/* Determine the event type.
+   Returns zero on success and fills in TYPE; returns -1 otherwise.  */
+
+static int
+perf_event_pt_event_type (int *type)
+{
+  FILE *file;
+  int found;
+
+  file = fopen ("/sys/bus/event_source/devices/intel_pt/type", "r");
+  if (file == NULL)
+    return -1;
+
+  found = fscanf (file, "%d", type);
+
+  fclose (file);
+
+  if (found == 1)
+    return 0;
+  return -1;
+}
+
 static int
 linux_determine_kernel_ptr_bits (void)
 {
@@ -358,6 +439,93 @@ kernel_supports_bts (void)
     }
 }
 
+/* Check whether the kernel supports Intel(R) Processor Trace.  */
+
+static int
+kernel_supports_pt (void)
+{
+  struct perf_event_attr attr;
+  pid_t child, pid;
+  int status, file, type;
+
+  errno = 0;
+  child = fork ();
+  switch (child)
+    {
+    case -1:
+      warning (_("test pt: cannot fork: %s."), strerror (errno));
+      return 0;
+
+    case 0:
+      status = ptrace (PTRACE_TRACEME, 0, NULL, NULL);
+      if (status != 0)
+	{
+	  warning (_("test pt: cannot PTRACE_TRACEME: %s."),
+		   strerror (errno));
+	  _exit (1);
+	}
+
+      status = raise (SIGTRAP);
+      if (status != 0)
+	{
+	  warning (_("test pt: cannot raise SIGTRAP: %s."),
+		   strerror (errno));
+	  _exit (1);
+	}
+
+      _exit (1);
+
+    default:
+      pid = waitpid (child, &status, 0);
+      if (pid != child)
+	{
+	  warning (_("test pt: bad pid %ld, error: %s."),
+		   (long) pid, strerror (errno));
+	  return 0;
+	}
+
+      if (!WIFSTOPPED (status))
+	{
+	  warning (_("test pt: expected stop. status: %d."),
+		   status);
+	  return 0;
+	}
+
+      status = perf_event_pt_event_type (&type);
+      if (status != 0)
+	file = -1;
+      else
+	{
+	  memset (&attr, 0, sizeof (attr));
+
+	  attr.size = sizeof (attr);
+	  attr.type = type;
+	  attr.exclude_kernel = 1;
+	  attr.exclude_hv = 1;
+	  attr.exclude_idle = 1;
+
+	  file = syscall (SYS_perf_event_open, &attr, child, -1, -1, 0);
+	  if (file >= 0)
+	    close (file);
+	}
+
+      kill (child, SIGKILL);
+      ptrace (PTRACE_KILL, child, NULL, NULL);
+
+      pid = waitpid (child, &status, 0);
+      if (pid != child)
+	{
+	  warning (_("test pt: bad pid %ld, error: %s."),
+		   (long) pid, strerror (errno));
+	  if (!WIFSIGNALED (status))
+	    warning (_("test pt: expected killed. status: %d."),
+		     status);
+	}
+
+      return (file >= 0);
+    }
+}
+
 /* Check whether an Intel cpu supports BTS.  */
 
 static int
@@ -428,6 +596,24 @@ linux_supports_bts (void)
   return cached > 0;
 }
 
+/* Check whether the linux target supports Intel(R) Processor Trace.  */
+
+static int
+linux_supports_pt (void)
+{
+  static int cached;
+
+  if (cached == 0)
+    {
+      if (!kernel_supports_pt ())
+	cached = -1;
+      else
+	cached = 1;
+    }
+
+  return cached > 0;
+}
+
 /* See linux-btrace.h.  */
 
 int
@@ -440,6 +626,9 @@ linux_supports_btrace (struct target_ops
 
     case BTRACE_FORMAT_BTS:
       return linux_supports_bts ();
+
+    case BTRACE_FORMAT_PT:
+      return linux_supports_pt ();
     }
 
   internal_error (__FILE__, __LINE__, _("Unknown branch trace format"));
@@ -453,7 +642,7 @@ linux_enable_bts (ptid_t ptid, const str
   struct perf_event_mmap_page *header;
   struct btrace_target_info *tinfo;
   struct btrace_tinfo_bts *bts;
-  unsigned long long size, pages;
+  unsigned long long size, pages, data_offset, data_size;
   int pid, pg;
 
   tinfo = xzalloc (sizeof (*tinfo));
@@ -482,7 +671,7 @@ linux_enable_bts (ptid_t ptid, const str
   errno = 0;
   bts->file = syscall (SYS_perf_event_open, &bts->attr, pid, -1, -1, 0);
   if (bts->file < 0)
-    goto err;
+    goto err_out;
 
   /* Convert the requested size in bytes to pages (rounding up).  */
   pages = (((unsigned long long) conf->size) + PAGE_SIZE - 1) / PAGE_SIZE;
@@ -515,27 +704,154 @@ linux_enable_bts (ptid_t ptid, const str
 	break;
     }
 
-  if (header == MAP_FAILED)
+  if (pages == 0)
     goto err_file;
 
+  data_offset = PAGE_SIZE;
+  data_size = size;
+
+#if defined (PERF_ATTR_SIZE_VER5)
+  if (offsetof (struct perf_event_mmap_page, data_size) <= header->size)
+    {
+      data_offset = header->data_offset;
+      data_size = header->data_size;
+    }
+#endif /* defined (PERF_ATTR_SIZE_VER5) */
+
   bts->header = header;
-  bts->bts.mem = ((const uint8_t *) header) + PAGE_SIZE;
-  bts->bts.size = size;
+  bts->bts.mem = ((const uint8_t *) header) + data_offset;
+  bts->bts.size = data_size;
   bts->bts.data_head = &header->data_head;
   bts->bts.last_head = 0;
 
-  tinfo->conf.bts.size = size;
+  tinfo->conf.bts.size = data_size;
   return tinfo;
 
  err_file:
   /* We were not able to allocate any buffer.  */
   close (bts->file);
 
+ err_out:
+  xfree (tinfo);
+  return NULL;
+}
+
+#if defined (PERF_ATTR_SIZE_VER5)
+
+/* Enable branch tracing in Intel(R) Processor Trace format.  */
+
+static struct btrace_target_info *
+linux_enable_pt (ptid_t ptid, const struct btrace_config_pt *conf)
+{
+  struct perf_event_mmap_page *header;
+  struct btrace_target_info *tinfo;
+  struct btrace_tinfo_pt *pt;
+  unsigned long long pages, size;
+  int pid, pg, errcode, type;
+
+  if (conf->size == 0)
+    return NULL;
+
+  errcode = perf_event_pt_event_type (&type);
+  if (errcode != 0)
+    return NULL;
+
+  pid = ptid_get_lwp (ptid);
+  if (pid == 0)
+    pid = ptid_get_pid (ptid);
+
+  tinfo = xzalloc (sizeof (*tinfo));
+  tinfo->ptid = ptid;
+  tinfo->ptr_bits = 0;
+
+  tinfo->conf.format = BTRACE_FORMAT_PT;
+  pt = &tinfo->variant.pt;
+
+  pt->attr.size = sizeof (pt->attr);
+  pt->attr.type = type;
+
+  pt->attr.exclude_kernel = 1;
+  pt->attr.exclude_hv = 1;
+  pt->attr.exclude_idle = 1;
+
+  errno = 0;
+  pt->file = syscall (SYS_perf_event_open, &pt->attr, pid, -1, -1, 0);
+  if (pt->file < 0)
+    goto err;
+
+  /* Allocate the configuration page. */
+  header = mmap (NULL, PAGE_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED,
+		 pt->file, 0);
+  if (header == MAP_FAILED)
+    goto err_file;
+
+  header->aux_offset = header->data_offset + header->data_size;
+
+  /* Convert the requested size in bytes to pages (rounding up).  */
+  pages = (((unsigned long long) conf->size) + PAGE_SIZE - 1) / PAGE_SIZE;
+  /* We need at least one page.  */
+  if (pages == 0)
+    pages = 1;
+
+  /* The buffer size can be requested in powers of two pages.  Adjust PAGES
+     to the next power of two.  */
+  for (pg = 0; pages != (1u << pg); ++pg)
+    if ((pages & (1u << pg)) != 0)
+      pages += (1u << pg);
+
+  /* We try to allocate the requested size.
+     If that fails, try to get as much as we can.  */
+  for (; pages > 0; pages >>= 1)
+    {
+      size_t length;
+
+      size = pages * PAGE_SIZE;
+      length = size;
+
+      /* Check for overflows.  */
+      if ((unsigned long long) length < size)
+	continue;
+
+      header->aux_size = size;
+
+      pt->pt.mem = mmap (NULL, length, PROT_READ, MAP_SHARED, pt->file,
+			 header->aux_offset);
+      if (pt->pt.mem != MAP_FAILED)
+	break;
+    }
+
+  if (pages == 0)
+    goto err_conf;
+
+  pt->header = header;
+  pt->pt.size = size;
+  pt->pt.data_head = &header->aux_head;
+
+  tinfo->conf.pt.size = size;
+  return tinfo;
+
+ err_conf:
+  munmap((void *) header, PAGE_SIZE);
+
+ err_file:
+  close (pt->file);
+
  err:
   xfree (tinfo);
   return NULL;
 }
 
+#else /* !defined (PERF_ATTR_SIZE_VER5) */
+
+static struct btrace_target_info *
+linux_enable_pt (ptid_t ptid, const struct btrace_config_pt *conf)
+{
+  errno = EOPNOTSUPP;
+  return NULL;
+}
+
+#endif /* !defined (PERF_ATTR_SIZE_VER5) */
+
 /* See linux-btrace.h.  */
 
 struct btrace_target_info *
@@ -552,6 +868,10 @@ linux_enable_btrace (ptid_t ptid, const 
     case BTRACE_FORMAT_BTS:
       tinfo = linux_enable_bts (ptid, &conf->bts);
       break;
+
+    case BTRACE_FORMAT_PT:
+      tinfo = linux_enable_pt (ptid, &conf->pt);
+      break;
     }
 
   return tinfo;
@@ -568,6 +888,18 @@ linux_disable_bts (struct btrace_tinfo_b
   return BTRACE_ERR_NONE;
 }
 
+/* Disable Intel(R) Processor Trace tracing.  */
+
+static enum btrace_error
+linux_disable_pt (struct btrace_tinfo_pt *tinfo)
+{
+  munmap((void *) tinfo->pt.mem, tinfo->pt.size);
+  munmap((void *) tinfo->header, PAGE_SIZE);
+  close (tinfo->file);
+
+  return BTRACE_ERR_NONE;
+}
+
 /* See linux-btrace.h.  */
 
 enum btrace_error
@@ -584,6 +916,10 @@ linux_disable_btrace (struct btrace_targ
     case BTRACE_FORMAT_BTS:
       errcode = linux_disable_bts (&tinfo->variant.bts);
       break;
+
+    case BTRACE_FORMAT_PT:
+      errcode = linux_disable_pt (&tinfo->variant.pt);
+      break;
     }
 
   if (errcode == BTRACE_ERR_NONE)
@@ -681,6 +1017,48 @@ linux_read_bts (struct btrace_data_bts *
   return BTRACE_ERR_NONE;
 }
 
+/* Fill in the Intel(R) Processor Trace configuration information.  */
+
+static void
+linux_fill_btrace_pt_config (struct btrace_data_pt_config *conf)
+{
+  conf->cpu = btrace_this_cpu ();
+}
+
+/* Read branch trace data in Intel(R) Processor Trace format for the thread
+   given by TINFO into BTRACE using the TYPE reading method.  */
+
+static enum btrace_error
+linux_read_pt (struct btrace_data_pt *btrace,
+	       struct btrace_target_info *tinfo,
+	       enum btrace_read_type type)
+{
+  struct perf_event_buffer *pt;
+
+  pt = &tinfo->variant.pt.pt;
+
+  linux_fill_btrace_pt_config (&btrace->config);
+
+  switch (type)
+    {
+    case BTRACE_READ_DELTA:
+      /* We don't support delta reads.  The data head (i.e. aux_head) wraps
+	 around to stay inside the aux buffer.  */
+      return BTRACE_ERR_NOT_SUPPORTED;
+
+    case BTRACE_READ_NEW:
+      if (!perf_event_new_data (pt))
+	return BTRACE_ERR_NONE;
+
+      /* Fall through.  */
+    case BTRACE_READ_ALL:
+      perf_event_read_all (pt, &btrace->data, &btrace->size);
+      return BTRACE_ERR_NONE;
+    }
+
+  internal_error (__FILE__, __LINE__, _("Unkown btrace read type."));
+}
+
 /* See linux-btrace.h.  */
 
 enum btrace_error
@@ -699,6 +1077,14 @@ linux_read_btrace (struct btrace_data *b
       btrace->variant.bts.blocks = NULL;
 
       return linux_read_bts (&btrace->variant.bts, tinfo, type);
+
+    case BTRACE_FORMAT_PT:
+      /* We read btrace in Intel(R) Processor Trace format.  */
+      btrace->format = BTRACE_FORMAT_PT;
+      btrace->variant.pt.data = NULL;
+      btrace->variant.pt.size = 0;
+
+      return linux_read_pt (&btrace->variant.pt, tinfo, type);
     }
 
   internal_error (__FILE__, __LINE__, _("Unkown branch trace format."));
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/nat/linux-btrace.h ./gdb/nat/linux-btrace.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/nat/linux-btrace.h	2015-07-02 01:48:29.000000000 +0000
+++ ./gdb/nat/linux-btrace.h	2015-07-03 01:48:30.000000000 +0000
@@ -62,6 +62,22 @@ struct btrace_tinfo_bts
   /* The BTS perf event buffer.  */
   struct perf_event_buffer bts;
 };
+
+/* Branch trace target information for Intel(R) Processor Trace.  */
+struct btrace_tinfo_pt
+{
+  /* The Linux perf_event configuration for collecting the branch trace.  */
+  struct perf_event_attr attr;
+
+  /* The perf event file.  */
+  int file;
+
+  /* The perf event configuration page. */
+  volatile struct perf_event_mmap_page *header;
+
+  /* The trace perf event buffer.  */
+  struct perf_event_buffer pt;
+};
 #endif /* HAVE_LINUX_PERF_EVENT_H */
 
 /* Branch trace target information per thread.  */
@@ -79,6 +95,9 @@ struct btrace_target_info
   {
     /* CONF.FORMAT == BTRACE_FORMAT_BTS.  */
     struct btrace_tinfo_bts bts;
+
+    /* CONF.FORMAT == BTRACE_FORMAT_PT.  */
+    struct btrace_tinfo_pt pt;
   } variant;
 #endif /* HAVE_LINUX_PERF_EVENT_H */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/NEWS ./gdb/NEWS
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/NEWS	2015-07-02 01:48:29.000000000 +0000
+++ ./gdb/NEWS	2015-07-03 01:48:29.000000000 +0000
@@ -112,6 +112,23 @@ show mpx bound
 set mpx bound on i386 and amd64
    Support for bound table investigation on Intel(R) MPX enabled applications.
 
+record btrace pt
+record pt
+  Start branch trace recording using Intel(R) Processor Trace format.
+
+maint info btrace
+  Print information about branch tracing internals.
+
+maint btrace packet-history
+  Print the raw branch tracing data.
+
+maint btrace clear-packet-history
+  Discard the stored raw branch tracing data.
+
+maint btrace clear
+  Discard all branch tracing data.  It will be fetched and processed
+  anew by the next "record" command.
+
 * New options
 
 set debug dwarf-die
@@ -163,6 +180,16 @@ set debug linux-namespaces
 show debug linux-namespaces
   Control display of debugging info regarding Linux namespaces.
 
+set|show record btrace pt buffer-size
+  Set and show the size of the ring buffer used for branch tracing in
+  Intel(R) Processor Trace format.
+  The obtained size may differ from the requested size.  Use "info
+  record" to see the obtained buffer size.
+
+maint set|show btrace pt skip-pad
+  Set and show whether PAD packets are skipped when computing the
+  packet history.
+
 * The command 'thread apply all' can now support new option '-ascending'
   to call its specified command for all threads in ascending order.
 
@@ -179,6 +206,15 @@ qXfer:btrace-conf:read
 Qbtrace-conf:bts:size
   Set the requested ring buffer size for branch tracing in BTS format.
 
+Qbtrace:pt
+  Enable Intel(R) Procesor Trace-based branch tracing for the current
+  process.  The remote stub reports support for this packet to GDB's
+  qSupported query.
+
+Qbtrace-conf:pt:size
+  Set the requested ring buffer size for branch tracing in Intel(R) Processor
+  Trace format.
+
 swbreak stop reason
   Indicates a memory breakpoint instruction was executed, irrespective
   of whether it was GDB that planted the breakpoint or the breakpoint
@@ -246,6 +282,17 @@ fork-events and vfork-events features in
 HP/PA running HP-UX           hppa*-*-hpux*
 Itanium running HP-UX         ia64-*-hpux*
 
+* New configure options
+
+--with-intel-pt
+  This configure option allows the user to build GDB with support for
+  Intel(R) Processor Trace (default: auto).  This requires libipt.
+
+--with-libipt-prefix=PATH
+  Specify the path to the version of libipt that GDB should use.
+  $PATH/include should contain the intel-pt.h header and
+  $PATH/lib should contain the libipt.so library.
+
 *** Changes in GDB 7.9.1
 
 * Python Scripting
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/po/gdb.pot ./gdb/po/gdb.pot
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/po/gdb.pot	2015-07-02 01:51:11.000000000 +0000
+++ ./gdb/po/gdb.pot	2015-07-03 01:51:24.000000000 +0000
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-07-02 01:51+0000\n"
+"POT-Creation-Date: 2015-07-03 01:51+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -1234,7 +1234,7 @@ msgid "finished"
 msgstr ""
 
 #. i18n: Like "Thread-Id %d, [state] unknown"
-#: aix-thread.c:573 record-btrace.c:438 source.c:678
+#: aix-thread.c:573 record-btrace.c:462 source.c:678
 msgid "unknown"
 msgstr ""
 
@@ -4627,71 +4627,237 @@ msgstr ""
 msgid "Bad magic"
 msgstr ""
 
-#: btrace.c:614
+#: btrace.c:632
 #, possible-c-format
 msgid "Recorded trace may be corrupted around %s."
 msgstr ""
 
-#: btrace.c:655
+#: btrace.c:673
 #, possible-c-format
 msgid "Recorded trace may be incomplete around %s."
 msgstr ""
 
-#: btrace.c:707 btrace.c:916 common/btrace-common.c:65
-#: common/btrace-common.c:82 nat/linux-btrace.c:704 record-btrace.c:353
+#: btrace.c:752 btrace.c:2400
+#, possible-c-format
+msgid "Failed to synchronize onto the Intel(R) Processor Trace stream: %s."
+msgstr ""
+
+#: btrace.c:809
+#, possible-c-format
+msgid ""
+"Failed to decode Intel(R) Processor Trace near trace offset 0x%<PRIx64> near "
+"recorded PC 0x%<PRIx64>: %s."
+msgstr ""
+
+#: btrace.c:819
+msgid "The recorded execution trace may have gaps."
+msgstr ""
+
+#: btrace.c:909 btrace.c:926 btrace.c:2434
+#, possible-c-format
+msgid "Failed to configure the Intel(R) Processor Trace decoder: %s."
+msgstr ""
+
+#: btrace.c:914 btrace.c:2439
+msgid "Failed to allocate the Intel(R) Processor Trace decoder."
+msgstr ""
+
+#: btrace.c:922
+msgid "Failed to configure the Intel(R) Processor Trace decoder."
+msgstr ""
+
+#: btrace.c:956
+msgid "Unexpected branch trace format."
+msgstr ""
+
+#: btrace.c:983 btrace.c:1196 common/btrace-common.c:72
+#: common/btrace-common.c:92 common/btrace-common.c:179
+#: nat/linux-btrace.c:1090 record-btrace.c:377
 msgid "Unkown branch trace format."
 msgstr ""
 
-#: btrace.c:748 remote.c:11960 remote.c:12011 remote.c:12057
+#: btrace.c:1024 remote.c:12009 remote.c:12060 remote.c:12106
 msgid "Target does not support branch tracing."
 msgstr ""
 
-#: btrace.c:861
+#: btrace.c:1137
 msgid "Error while trying to read delta trace.  Falling back to a full read."
 msgstr ""
 
-#: btrace.c:991
+#: btrace.c:1298
 msgid "Failed to read branch trace."
 msgstr ""
 
-#: btrace.c:1060
+#: btrace.c:1375
 #, possible-c-format
 msgid "Unsupported btrace version: \"%s\""
 msgstr ""
 
-#: btrace.c:1087
+#: btrace.c:1402
 msgid "Btrace format error."
 msgstr ""
 
-#: btrace.c:1136
+#: btrace.c:1428
+msgid "Bad raw data size."
+msgstr ""
+
+#: btrace.c:1442
+msgid "Bad hex encoding."
+msgstr ""
+
+#: btrace.c:1572
 msgid "btrace"
 msgstr ""
 
-#: btrace.c:1139
+#: btrace.c:1575
 msgid "Error parsing branch trace."
 msgstr ""
 
-#: btrace.c:1146
+#: btrace.c:1582
 msgid "Cannot process branch trace.  XML parsing is not supported."
 msgstr ""
 
-#: btrace.c:1205
+#: btrace.c:1667
 msgid "btrace-conf"
 msgstr ""
 
-#: btrace.c:1208
+#: btrace.c:1670
 msgid "Error parsing branch trace configuration."
 msgstr ""
 
-#: btrace.c:1212
+#: btrace.c:1674
 msgid "XML parsing is not supported."
 msgstr ""
 
-#: btrace.c:1266 btrace.c:1283 btrace.c:1565 btrace.c:1581 record-btrace.c:116
-#: record-btrace.c:1684
+#: btrace.c:1728 btrace.c:1745 btrace.c:2027 btrace.c:2043 record-btrace.c:120
+#: record-btrace.c:1735
 msgid "No trace."
 msgstr ""
 
+#: btrace.c:2395
+#, possible-c-format
+msgid "Error at trace offset 0x%<PRIx64>: %s."
+msgstr ""
+
+#: btrace.c:2577 btrace.c:2599 record.c:395 record.c:415
+#, possible-c-format
+msgid "Expected positive number, got: %s."
+msgstr ""
+
+#: btrace.c:2581
+msgid "Number too big."
+msgstr ""
+
+#: btrace.c:2610 record.c:365 record.c:377 record.c:426
+#, possible-c-format
+msgid "Junk after argument: %s."
+msgstr ""
+
+#: btrace.c:2624 btrace.c:2731 btrace.c:2753 btrace.c:2817 record-btrace.c:115
+#: record-btrace.c:394
+msgid "No thread."
+msgstr ""
+
+#: btrace.c:2632
+msgid "No trace.\n"
+msgstr ""
+
+#: btrace.c:2656
+#, possible-c-format
+msgid "'%u' is out of range."
+msgstr ""
+
+#: btrace.c:2727 btrace.c:2749 btrace.c:2813 record-btrace.c:2360
+#: record-btrace.c:2382 record-btrace.c:2404
+msgid "Invalid argument."
+msgstr ""
+
+#: btrace.c:2823
+msgid "No btrace configuration."
+msgstr ""
+
+#: btrace.c:2825
+#, possible-c-format
+msgid "Format: %s.\n"
+msgstr ""
+
+#: btrace.c:2834 btrace.c:2850
+#, possible-c-format
+msgid "Number of packets: %u.\n"
+msgstr ""
+
+#: btrace.c:2845
+#, possible-c-format
+msgid "Version: %u.%u.%u%s.\n"
+msgstr ""
+
+#: btrace.c:2866
+#, possible-c-format
+msgid "Skip PAD packets is %s.\n"
+msgstr ""
+
+#: btrace.c:2877
+msgid "Info about branch tracing data."
+msgstr ""
+
+#: btrace.c:2880
+msgid "Branch tracing maintenance commands."
+msgstr ""
+
+#: btrace.c:2884
+msgid "Set branch tracing specific variables."
+msgstr ""
+
+#: btrace.c:2889
+msgid "Set Intel(R) Processor Trace specific variables."
+msgstr ""
+
+#: btrace.c:2894
+msgid "Show branch tracing specific variables."
+msgstr ""
+
+#: btrace.c:2899
+msgid "Show Intel(R) Processor Trace specific variables."
+msgstr ""
+
+#: btrace.c:2905
+msgid "Set whether PAD packets should be skipped in the btrace packet history."
+msgstr ""
+
+#: btrace.c:2906
+msgid ""
+"Show whether PAD packets should be skipped in the btrace packet history."
+msgstr ""
+
+#: btrace.c:2907
+msgid "When enabled, PAD packets are ignored in the btrace packet history."
+msgstr ""
+
+#: btrace.c:2914
+msgid ""
+"Print the raw branch tracing data.\n"
+"With no argument, print ten more packets after the previous ten-line print.\n"
+"With '-' as argument print ten packets before a previous ten-line print.\n"
+"One argument specifies the starting packet of a ten-line print.\n"
+"Two arguments with comma between specify starting and ending packets to "
+"print.\n"
+"Preceded with '+'/'-' the second argument specifies the distance from the "
+"first.\n"
+msgstr ""
+
+#: btrace.c:2926
+msgid ""
+"Clears the branch tracing packet history.\n"
+"Discards the raw branch tracing data but not the execution history data.\n"
+msgstr ""
+
+#: btrace.c:2932
+msgid ""
+"Clears the branch tracing data.\n"
+"Discards the raw branch tracing data and the execution history data.\n"
+"The next 'record' command will fetch the branch tracing data anew.\n"
+msgstr ""
+
 #: build-id.c:56
 #, possible-c-format
 msgid "File \"%s\" has no build-id, file skipped"
@@ -5951,8 +6117,8 @@ msgstr ""
 #: complaints.c:309 hppa-tdep.c:3176 hppa-tdep.c:3189 infcall.c:844
 #: infcmd.c:1557 language.c:446 mi/mi-out.c:334 mi/mi-out.c:352
 #: mips-tdep.c:273 mips-tdep.c:477 mips-tdep.c:2216 mips-tdep.c:5750
-#: mips-tdep.c:6937 mn10300-tdep.c:123 reggroups.c:247 remote.c:1395
-#: remote.c:7149 remote.c:8445 utils.c:736 utils.c:763
+#: mips-tdep.c:6937 mn10300-tdep.c:123 reggroups.c:247 remote.c:1399
+#: remote.c:7156 remote.c:8452 utils.c:736 utils.c:763
 msgid "bad switch"
 msgstr ""
 
@@ -6351,7 +6517,11 @@ msgstr ""
 msgid "Branch Trace Store"
 msgstr ""
 
-#: common/btrace-common.c:38 nat/linux-btrace.c:445 remote.c:11888
+#: common/btrace-common.c:38
+msgid "Intel(R) Processor Trace"
+msgstr ""
+
+#: common/btrace-common.c:41 nat/linux-btrace.c:634 remote.c:11904
 msgid "Unknown branch trace format"
 msgstr ""
 
@@ -6831,12 +7001,12 @@ msgstr ""
 msgid "Cannot parse symbols of compiled module \"%s\": %s"
 msgstr ""
 
-#: compile/compile-object-load.c:757
+#: compile/compile-object-load.c:772
 #, possible-c-format
 msgid "Could not find symbol \"%s\" for compiled module \"%s\"."
 msgstr ""
 
-#: compile/compile-object-load.c:764
+#: compile/compile-object-load.c:779
 #, possible-c-format
 msgid "%ld symbols were missing, cannot continue."
 msgstr ""
@@ -7799,12 +7969,12 @@ msgstr ""
 msgid "I refuse to debug myself!"
 msgstr ""
 
-#: darwin-nat.c:1695 inf-ptrace.c:187 remote.c:4696
+#: darwin-nat.c:1695 inf-ptrace.c:187 remote.c:4703
 #, possible-c-format
 msgid "Attaching to program: %s, %s\n"
 msgstr ""
 
-#: darwin-nat.c:1698 inf-ptrace.c:190 procfs.c:3043 remote.c:4699
+#: darwin-nat.c:1698 inf-ptrace.c:190 procfs.c:3043 remote.c:4706
 #, possible-c-format
 msgid "Attaching to %s\n"
 msgstr ""
@@ -7814,7 +7984,7 @@ msgstr ""
 msgid "Can't attach to process %d: %s (%d)"
 msgstr ""
 
-#: darwin-nat.c:1750 inf-ptrace.c:248 procfs.c:3070 remote.c:4577
+#: darwin-nat.c:1750 inf-ptrace.c:248 procfs.c:3070 remote.c:4584
 #, possible-c-format
 msgid "Detaching from program: %s, %s\n"
 msgstr ""
@@ -11342,17 +11512,17 @@ msgstr ""
 msgid "libthread-db-search-path component too long, ignored: %s."
 msgstr ""
 
-#: gdbserver/linux-low.c:560 linux-nat.c:2213
+#: gdbserver/linux-low.c:561 linux-nat.c:2213
 #, possible-c-format
 msgid "unknown ptrace event %d"
 msgstr ""
 
-#: gdbserver/linux-low.c:943 linux-nat.c:1236
+#: gdbserver/linux-low.c:944 linux-nat.c:1236
 #, possible-c-format
 msgid "Cannot attach to lwp %d: %s"
 msgstr ""
 
-#: gdbserver/linux-low.c:1288 linux-nat.c:1493
+#: gdbserver/linux-low.c:1289 linux-nat.c:1493
 #, possible-c-format
 msgid "Can't detach %s: %s"
 msgstr ""
@@ -13573,7 +13743,7 @@ msgid "Argument given to \"disconnect\".
 msgstr ""
 
 #: infcmd.c:104 infcmd.c:2416 infcmd.c:2779 linux-fork.c:662
-#: record-btrace.c:212 remote-sim.c:894
+#: record-btrace.c:216 remote-sim.c:894
 msgid "The program is not being run."
 msgstr ""
 
@@ -18719,7 +18889,7 @@ msgstr ""
 msgid "monitor_supply_register (%d):  bad value from monitor: %s."
 msgstr ""
 
-#: monitor.c:1021 nto-procfs.c:683 remote.c:5312 remote-mips.c:2288
+#: monitor.c:1021 nto-procfs.c:683 remote.c:5319 remote-mips.c:2288
 msgid ""
 "Interrupted while waiting for the program.\n"
 "Give up (and stop debugging it)? "
@@ -18970,40 +19140,74 @@ msgstr ""
 msgid "Unrecognized watch register style"
 msgstr ""
 
-#: nat/linux-btrace.c:252
+#: nat/linux-btrace.c:333
 msgid "Branch trace may be incomplete."
 msgstr ""
 
-#: nat/linux-btrace.c:292
+#: nat/linux-btrace.c:373
 #, possible-c-format
 msgid "test bts: cannot fork: %s."
 msgstr ""
 
-#: nat/linux-btrace.c:299
+#: nat/linux-btrace.c:380
 #, possible-c-format
 msgid "test bts: cannot PTRACE_TRACEME: %s."
 msgstr ""
 
-#: nat/linux-btrace.c:307
+#: nat/linux-btrace.c:388
 #, possible-c-format
 msgid "test bts: cannot raise SIGTRAP: %s."
 msgstr ""
 
-#: nat/linux-btrace.c:318 nat/linux-btrace.c:350
+#: nat/linux-btrace.c:399 nat/linux-btrace.c:431
 #, possible-c-format
 msgid "test bts: bad pid %ld, error: %s."
 msgstr ""
 
-#: nat/linux-btrace.c:325
+#: nat/linux-btrace.c:406
 #, possible-c-format
 msgid "test bts: expected stop. status: %d."
 msgstr ""
 
-#: nat/linux-btrace.c:353
+#: nat/linux-btrace.c:434
 #, possible-c-format
 msgid "test bts: expected killed. status: %d."
 msgstr ""
 
+#: nat/linux-btrace.c:456
+#, possible-c-format
+msgid "test pt: cannot fork: %s."
+msgstr ""
+
+#: nat/linux-btrace.c:463
+#, possible-c-format
+msgid "test pt: cannot PTRACE_TRACEME: %s."
+msgstr ""
+
+#: nat/linux-btrace.c:471
+#, possible-c-format
+msgid "test pt: cannot raise SIGTRAP: %s."
+msgstr ""
+
+#: nat/linux-btrace.c:482 nat/linux-btrace.c:518
+#, possible-c-format
+msgid "test pt: bad pid %ld, error: %s."
+msgstr ""
+
+#: nat/linux-btrace.c:489
+#, possible-c-format
+msgid "test pt: expected stop. status: %d."
+msgstr ""
+
+#: nat/linux-btrace.c:521
+#, possible-c-format
+msgid "test pt: expected killed. status: %d."
+msgstr ""
+
+#: nat/linux-btrace.c:1059
+msgid "Unkown btrace read type."
+msgstr ""
+
 #: nat/linux-procfs.c:206
 #, possible-c-format
 msgid "Could not open /proc/%ld/task."
@@ -21227,143 +21431,162 @@ msgid ""
 "Ravenscar run-time library for bareboard configuration."
 msgstr ""
 
-#: record-btrace.c:111 record-btrace.c:370
-msgid "No thread."
-msgstr ""
-
-#: record-btrace.c:215
+#: record-btrace.c:219
 msgid "Record btrace can't debug inferior in non-stop mode."
 msgstr ""
 
-#: record-btrace.c:331
+#: record-btrace.c:335 record-btrace.c:351
 #, possible-c-format
 msgid "Buffer size: %u%s.\n"
 msgstr ""
 
-#: record-btrace.c:340
+#: record-btrace.c:360
 #, possible-c-format
 msgid "Recording format: %s.\n"
 msgstr ""
 
-#: record-btrace.c:420
+#: record-btrace.c:444
 #, possible-c-format
 msgid ""
 "Recorded %u instructions in %u functions (%u gaps) for thread %d (%s).\n"
 msgstr ""
 
-#: record-btrace.c:425
+#: record-btrace.c:449
 #, possible-c-format
 msgid "Replay in progress.  At instruction %u.\n"
 msgstr ""
 
-#: record-btrace.c:453
+#: record-btrace.c:477
 msgid "instruction overflow"
 msgstr ""
 
-#: record-btrace.c:457
+#: record-btrace.c:481
 msgid "unknown instruction"
 msgstr ""
 
-#: record-btrace.c:463
+#: record-btrace.c:492
+msgid "trace decode cancelled"
+msgstr ""
+
+#: record-btrace.c:497
+msgid "disabled"
+msgstr ""
+
+#: record-btrace.c:502
+msgid "overflow"
+msgstr ""
+
+#: record-btrace.c:514
 msgid "["
 msgstr ""
 
-#: record-btrace.c:466
+#: record-btrace.c:517
 msgid "decode error ("
 msgstr ""
 
-#: record-btrace.c:468
+#: record-btrace.c:519
 msgid "): "
 msgstr ""
 
-#: record-btrace.c:471
+#: record-btrace.c:522
 msgid "]\n"
 msgstr ""
 
-#: record-btrace.c:548 record-btrace.c:680
+#: record-btrace.c:599 record-btrace.c:731
 msgid "Bad record instruction-history-size."
 msgstr ""
 
-#: record-btrace.c:608 record-btrace.c:970
+#: record-btrace.c:659 record-btrace.c:1021
 msgid "At the start of the branch trace record.\n"
 msgstr ""
 
-#: record-btrace.c:610 record-btrace.c:972
+#: record-btrace.c:661 record-btrace.c:1023
 msgid "At the end of the branch trace record.\n"
 msgstr ""
 
-#: record-btrace.c:641 record-btrace.c:644 record-btrace.c:1003
-#: record-btrace.c:1006
+#: record-btrace.c:692 record-btrace.c:695 record-btrace.c:1054
+#: record-btrace.c:1057
 msgid "Bad range."
 msgstr ""
 
-#: record-btrace.c:650 record-btrace.c:1012
+#: record-btrace.c:701 record-btrace.c:1063
 msgid "Range out of bounds."
 msgstr ""
 
-#: record-btrace.c:876
+#: record-btrace.c:927
 msgid "\tinst "
 msgstr ""
 
-#: record-btrace.c:882
+#: record-btrace.c:933
 msgid "\tat "
 msgstr ""
 
-#: record-btrace.c:907 record-btrace.c:1042
+#: record-btrace.c:958 record-btrace.c:1093
 msgid "Bad record function-call-history-size."
 msgstr ""
 
-#: record-btrace.c:1247
+#: record-btrace.c:1298
 msgid "This record target does not allow writing registers."
 msgstr ""
 
-#: record-btrace.c:1413
+#: record-btrace.c:1464
 msgid "Registers are not available in btrace record history"
 msgstr ""
 
-#: record-btrace.c:1422
+#: record-btrace.c:1473
 msgid "No caller in btrace record history"
 msgstr ""
 
-#: record-btrace.c:1603
+#: record-btrace.c:1654
 msgid "Thread already moving."
 msgstr ""
 
-#: record-btrace.c:1756
+#: record-btrace.c:1807
 msgid "Cannot find thread to resume."
 msgstr ""
 
-#: record-btrace.c:1878
+#: record-btrace.c:1929
 msgid "invalid stepping type."
 msgstr ""
 
-#: record-btrace.c:2210
+#: record-btrace.c:2261
 msgid "Instruction number out of range."
 msgstr ""
 
-#: record-btrace.c:2216
+#: record-btrace.c:2267
 msgid "No such instruction."
 msgstr ""
 
-#: record-btrace.c:2310 record-btrace.c:2333
-msgid "Invalid argument."
-msgstr ""
-
-#: record-btrace.c:2371
+#: record-btrace.c:2452
 #, possible-c-format
 msgid "Replay memory access is %s.\n"
 msgstr ""
 
-#: record-btrace.c:2380
+#: record-btrace.c:2461
+msgid ""
+"\"set record btrace bts\" must be followed by an appropriate subcommand.\n"
+msgstr ""
+
+#: record-btrace.c:2480
 msgid ""
-"\"set record btrace bts\" must be followed by an apporpriate subcommand.\n"
+"\"set record btrace pt\" must be followed by an appropriate subcommand.\n"
 msgstr ""
 
-#: record-btrace.c:2402
+#: record-btrace.c:2501
+#, possible-c-format
+msgid "The record/replay bts buffer size is %s.\n"
+msgstr ""
+
+#: record-btrace.c:2512
+#, possible-c-format
+msgid "The record/replay pt buffer size is %s.\n"
+msgstr ""
+
+#: record-btrace.c:2524
 msgid "Start branch trace recording."
 msgstr ""
 
-#: record-btrace.c:2407
+#: record-btrace.c:2529
 msgid ""
 "Start branch trace recording in Branch Trace Store (BTS) format.\n"
 "\n"
@@ -21371,23 +21594,30 @@ msgid ""
 "This format may not be available on all processors."
 msgstr ""
 
-#: record-btrace.c:2415 record.c:774 record-full.c:2823
+#: record-btrace.c:2537
+msgid ""
+"Start branch trace recording in Intel(R) Processor Trace format.\n"
+"\n"
+"This format may not be available on all processors."
+msgstr ""
+
+#: record-btrace.c:2544 record.c:774 record-full.c:2823
 msgid "Set record options"
 msgstr ""
 
-#: record-btrace.c:2419 record.c:778 record-full.c:2827
+#: record-btrace.c:2548 record.c:778 record-full.c:2827
 msgid "Show record options"
 msgstr ""
 
-#: record-btrace.c:2423
+#: record-btrace.c:2552
 msgid "Set what memory accesses are allowed during replay."
 msgstr ""
 
-#: record-btrace.c:2424
+#: record-btrace.c:2553
 msgid "Show what memory accesses are allowed during replay."
 msgstr ""
 
-#: record-btrace.c:2426
+#: record-btrace.c:2555
 msgid ""
 "Default is READ-ONLY.\n"
 "\n"
@@ -21400,23 +21630,23 @@ msgid ""
 "replay."
 msgstr ""
 
-#: record-btrace.c:2438
+#: record-btrace.c:2567
 msgid "Set record btrace bts options"
 msgstr ""
 
-#: record-btrace.c:2443
+#: record-btrace.c:2572
 msgid "Show record btrace bts options"
 msgstr ""
 
-#: record-btrace.c:2449
+#: record-btrace.c:2578
 msgid "Set the record/replay bts buffer size."
 msgstr ""
 
-#: record-btrace.c:2450
+#: record-btrace.c:2579
 msgid "Show the record/replay bts buffer size."
 msgstr ""
 
-#: record-btrace.c:2450
+#: record-btrace.c:2579
 msgid ""
 "When starting recording request a trace buffer of this size.  The actual "
 "buffer size may differ from the requested size.  Use \"info record\" to see "
@@ -21428,6 +21658,30 @@ msgid ""
 "The trace buffer size may not be changed while recording."
 msgstr ""
 
+#: record-btrace.c:2591
+msgid "Set record btrace pt options"
+msgstr ""
+
+#: record-btrace.c:2596
+msgid "Show record btrace pt options"
+msgstr ""
+
+#: record-btrace.c:2602
+msgid "Set the record/replay pt buffer size."
+msgstr ""
+
+#: record-btrace.c:2603
+msgid "Show the record/replay pt buffer size."
+msgstr ""
+
+#: record-btrace.c:2603
+msgid ""
+"Bigger buffers allow longer recording but also take more time to process the "
+"recorded execution.\n"
+"The actual buffer size may differ from the requested size.  Use \"info record"
+"\" to see the actual buffer size."
+msgstr ""
+
 #: record.c:77
 msgid ""
 "No record target is currently active.\n"
@@ -21480,16 +21734,6 @@ msgstr ""
 msgid "Command requires an argument (insn number to go to)."
 msgstr ""
 
-#: record.c:365 record.c:377 record.c:426
-#, possible-c-format
-msgid "Junk after argument: %s."
-msgstr ""
-
-#: record.c:395 record.c:415
-#, possible-c-format
-msgid "Expected positive number, got: %s."
-msgstr ""
-
 #: record.c:474 record.c:612
 #, possible-c-format
 msgid "Invalid modifier: %c."
@@ -21954,7 +22198,7 @@ msgid ""
 "interrupt the execution of Linux kernel.\n"
 msgstr ""
 
-#: remote.c:817 remote.c:3422
+#: remote.c:817 remote.c:3426
 #, possible-c-format
 msgid "Invalid value for interrupt_sequence_mode: %s."
 msgstr ""
@@ -22026,7 +22270,7 @@ msgstr ""
 msgid "Enabled packet %s (%s) not recognized by stub"
 msgstr ""
 
-#: remote.c:1427
+#: remote.c:1431
 #, possible-c-format
 msgid "Could not find config for %s"
 msgstr ""
@@ -22038,39 +22282,39 @@ msgstr ""
 #. Error of some sort.
 #. We're out of sync with the target now.  Did it continue or
 #. not?  Not is more likely, so report a stop.
-#: remote.c:1579 remote.c:3107 remote.c:3134 remote.c:3256 remote.c:4260
-#: remote.c:6177 remote.c:6284 remote.c:7530 remote.c:8948
+#: remote.c:1583 remote.c:3111 remote.c:3138 remote.c:3260 remote.c:4267
+#: remote.c:6184 remote.c:6291 remote.c:7537 remote.c:8955
 #, possible-c-format
 msgid "Remote failure reply: %s"
 msgstr ""
 
-#: remote.c:2145
+#: remote.c:2149
 #, possible-c-format
 msgid "invalid remote ptid: %s"
 msgstr ""
 
-#: remote.c:2419
+#: remote.c:2423
 msgid "Incomplete response to threadinfo request."
 msgstr ""
 
 #. This is an answer to a different request.
-#: remote.c:2422
+#: remote.c:2426
 msgid "ERROR RMT Thread info mismatch."
 msgstr ""
 
-#: remote.c:2436
+#: remote.c:2440
 msgid "ERROR RMT: threadinfo tag mismatch."
 msgstr ""
 
-#: remote.c:2444
+#: remote.c:2448
 msgid "ERROR RMT: length of threadid is not 16."
 msgstr ""
 
-#: remote.c:2459
+#: remote.c:2463
 msgid "ERROR RMT: 'exists' length too long."
 msgstr ""
 
-#: remote.c:2483
+#: remote.c:2487
 msgid "ERROR RMT: unknown thread info tag."
 msgstr ""
 
@@ -22082,798 +22326,807 @@ msgstr ""
 #. exit
 #. wait for packet, then exit
 #.
-#: remote.c:2591
+#: remote.c:2595
 msgid "HMM: threadlist did not echo arg thread, dropping it."
 msgstr ""
 
-#: remote.c:2598
+#: remote.c:2602
 msgid "RMT ERROR : failed to get remote thread list."
 msgstr ""
 
-#: remote.c:2606
+#: remote.c:2610
 msgid "RMT ERROR: threadlist response longer than requested."
 msgstr ""
 
-#: remote.c:2634
+#: remote.c:2638
 msgid "Remote fetch threadlist -infinite loop-."
 msgstr ""
 
-#: remote.c:2844
+#: remote.c:2848
 msgid "threads"
 msgstr ""
 
-#: remote.c:3024
+#: remote.c:3028
 msgid "remote_threads_extra_info"
 msgstr ""
 
-#: remote.c:3291 remote.c:3318
+#: remote.c:3295 remote.c:3322
 #, possible-c-format
 msgid "Target reported unsupported offsets: %s"
 msgstr ""
 
-#: remote.c:3316
+#: remote.c:3320
 #, possible-c-format
 msgid "Malformed response to offset query, %s"
 msgstr ""
 
-#: remote.c:3364
+#: remote.c:3368
 msgid "Can not handle qOffsets TextSeg response with this symbol file"
 msgstr ""
 
-#: remote.c:3610
+#: remote.c:3614
 msgid "Non-stop mode requested, but remote does not support non-stop"
 msgstr ""
 
-#: remote.c:3617
+#: remote.c:3621
 #, possible-c-format
 msgid "Remote refused setting non-stop mode with: %s"
 msgstr ""
 
-#: remote.c:3633
+#: remote.c:3637
 #, possible-c-format
 msgid "Remote refused setting all-stop mode with: %s"
 msgstr ""
 
-#: remote.c:3660 remote.c:3771
+#: remote.c:3664 remote.c:3775
 msgid "The target is not running (try extended-remote?)"
 msgstr ""
 
-#: remote.c:3787
+#: remote.c:3791
 msgid "remote didn't report the current thread in non-stop mode"
 msgstr ""
 
-#: remote.c:3813
+#: remote.c:3817
 msgid "Trace is already running on the target.\n"
 msgstr ""
 
-#: remote.c:3953
+#: remote.c:3957
 msgid ""
 "The remote protocol may be unreliable over UDP.\n"
 "Some events may be lost, rendering further debugging impossible."
 msgstr ""
 
-#: remote.c:3989
+#: remote.c:3993
 #, possible-c-format
 msgid "Remote refused setting permissions with: %s"
 msgstr ""
 
-#: remote.c:4026
+#: remote.c:4030
 #, possible-c-format
 msgid "Remote qSupported response supplied an unexpected value for \"%s\"."
 msgstr ""
 
-#: remote.c:4048
+#: remote.c:4052
 #, possible-c-format
 msgid "Remote target reported \"%s\" without a size."
 msgstr ""
 
-#: remote.c:4057
+#: remote.c:4061
 #, possible-c-format
 msgid "Remote target reported \"%s\" with a bad size: \"%s\"."
 msgstr ""
 
-#: remote.c:4064
+#: remote.c:4068
 #, possible-c-format
 msgid "limiting remote suggested packet size (%d bytes) to %d"
 msgstr ""
 
-#: remote.c:4290
+#: remote.c:4297
 msgid "empty item in \"qSupported\" response"
 msgstr ""
 
-#: remote.c:4321
+#: remote.c:4328
 #, possible-c-format
 msgid "unrecognized item \"%s\" in \"qSupported\" response"
 msgstr ""
 
-#: remote.c:4377
+#: remote.c:4384
 msgid ""
 "To open a remote debug connection, you need to specify what\n"
 "serial device is attached to the remote system\n"
 "(e.g. /dev/ttyS0, /dev/ttya, COM1, etc.)."
 msgstr ""
 
-#: remote.c:4391
+#: remote.c:4398
 msgid "Already connected to a remote target.  Disconnect? "
 msgstr ""
 
-#: remote.c:4392
+#: remote.c:4399
 msgid "Still connected."
 msgstr ""
 
-#: remote.c:4547
+#: remote.c:4554
 msgid "Remote doesn't know how to detach"
 msgstr ""
 
-#: remote.c:4549
+#: remote.c:4556
 msgid "Can't detach process."
 msgstr ""
 
-#: remote.c:4567 remote-mips.c:1744
+#: remote.c:4574 remote-mips.c:1744
 msgid "Argument given to \"detach\" when remotely debugging."
 msgstr ""
 
-#: remote.c:4570
+#: remote.c:4577
 msgid "No process to detach from."
 msgstr ""
 
-#: remote.c:4586
+#: remote.c:4593
 msgid "Ending remote debugging.\n"
 msgstr ""
 
-#: remote.c:4661
+#: remote.c:4668
 msgid "Argument given to \"disconnect\" when remotely debugging."
 msgstr ""
 
-#: remote.c:4689 remote.c:4725
+#: remote.c:4696 remote.c:4732
 msgid "This target does not support attaching to a process"
 msgstr ""
 
-#: remote.c:4720
+#: remote.c:4727
 #, possible-c-format
 msgid "Attaching to %s failed with: %s"
 msgstr ""
 
-#: remote.c:4727
+#: remote.c:4734
 #, possible-c-format
 msgid "Attaching to %s failed"
 msgstr ""
 
-#: remote.c:5033
+#: remote.c:5040
 #, possible-c-format
 msgid "Unexpected vCont reply in non-stop mode: %s"
 msgstr ""
 
-#: remote.c:5078
+#: remote.c:5085
 #, possible-c-format
 msgid " - Can't pass signal %d to target in reverse: ignored."
 msgstr ""
 
-#: remote.c:5082
+#: remote.c:5089
 msgid "Remote reverse-step not supported."
 msgstr ""
 
-#: remote.c:5084
+#: remote.c:5091
 msgid "Remote reverse-continue not supported."
 msgstr ""
 
-#: remote.c:5225
+#: remote.c:5232
 msgid "Remote server does not support stopping threads"
 msgstr ""
 
-#: remote.c:5258
+#: remote.c:5265
 #, possible-c-format
 msgid "Stopping %s failed: %s"
 msgstr ""
 
 #. We got an unknown stop reply.
-#: remote.c:5453
+#: remote.c:5460
 msgid "Unknown stop reply"
 msgstr ""
 
-#: remote.c:5820
+#: remote.c:5827
 #, possible-c-format
 msgid ""
 "Malformed packet(a) (missing colon): %s\n"
 "Packet: '%s'\n"
 msgstr ""
 
-#: remote.c:5824
+#: remote.c:5831
 #, possible-c-format
 msgid ""
 "Malformed packet(a) (missing register number): %s\n"
 "Packet: '%s'\n"
 msgstr ""
 
-#: remote.c:5852
+#: remote.c:5859
 msgid "Unexpected swbreak stop reason"
 msgstr ""
 
-#: remote.c:5866
+#: remote.c:5873
 msgid "Unexpected hwbreak stop reason"
 msgstr ""
 
-#: remote.c:5921
+#: remote.c:5928
 #, possible-c-format
 msgid ""
 "Remote sent bad register number %s: %s\n"
 "Packet: '%s'\n"
 msgstr ""
 
-#: remote.c:5934
+#: remote.c:5941
 #, possible-c-format
 msgid "Remote reply is too short: %s"
 msgstr ""
 
-#: remote.c:5947
+#: remote.c:5954
 #, possible-c-format
 msgid ""
 "Remote register badly formatted: %s\n"
 "here: %s"
 msgstr ""
 
-#: remote.c:6015 remote.c:6018
+#: remote.c:6022 remote.c:6025
 #, possible-c-format
 msgid "unknown stop reply packet: %s"
 msgstr ""
 
-#: remote.c:6025
+#: remote.c:6032
 #, possible-c-format
 msgid "No process or thread specified in stop reply: %s"
 msgstr ""
 
-#: remote.c:6183 remote.c:6330
+#: remote.c:6190 remote.c:6337
 #, possible-c-format
 msgid "Invalid remote reply: %s"
 msgstr ""
 
-#: remote.c:6417
+#: remote.c:6424
 #, possible-c-format
 msgid "Could not fetch register \"%s\"; remote failure reply '%s'"
 msgstr ""
 
-#: remote.c:6436
+#: remote.c:6443
 msgid "fetch_register_using_p: early buf termination"
 msgstr ""
 
-#: remote.c:6474
+#: remote.c:6481
 #, possible-c-format
 msgid "Remote 'g' packet reply is of odd length: %s"
 msgstr ""
 
-#: remote.c:6493
+#: remote.c:6500
 #, possible-c-format
 msgid "Remote 'g' packet reply is too long: %s"
 msgstr ""
 
-#: remote.c:6536 remote.c:6554
+#: remote.c:6543 remote.c:6561
 msgid "unexpected end of 'g' packet reply"
 msgstr ""
 
-#: remote.c:6596
+#: remote.c:6603
 msgid "could not set remote traceframe"
 msgstr ""
 
-#: remote.c:6704
+#: remote.c:6711
 #, possible-c-format
 msgid "Could not write register \"%s\"; remote failure reply '%s'"
 msgstr ""
 
-#: remote.c:6709 remote.c:8254
+#: remote.c:6716 remote.c:8261
 msgid "Bad result from packet_ok"
 msgstr ""
 
-#: remote.c:6750
+#: remote.c:6757
 #, possible-c-format
 msgid "Could not write registers; remote failure reply '%s'"
 msgstr ""
 
-#: remote.c:6986
+#: remote.c:6993
 msgid "remote_write_bytes_aux: bad packet format"
 msgstr ""
 
-#: remote.c:7032
+#: remote.c:7039
 msgid "minimum packet size too small to write data"
 msgstr ""
 
-#: remote.c:7147
+#: remote.c:7154
 msgid "remote_write_bytes: bad internal state"
 msgstr ""
 
-#: remote.c:7355
+#: remote.c:7362
 msgid "Too long remote packet."
 msgstr ""
 
-#: remote.c:7358 remote.c:9591
+#: remote.c:7365 remote.c:9598
 msgid "Communication problem with target."
 msgstr ""
 
-#: remote.c:7397
+#: remote.c:7404
 msgid "Remote target does not support flash erase"
 msgstr ""
 
-#: remote.c:7399
+#: remote.c:7406
 msgid "Error erasing flash with vFlashErase packet"
 msgstr ""
 
-#: remote.c:7440
+#: remote.c:7447
 msgid "Remote target does not support vFlashDone"
 msgstr ""
 
-#: remote.c:7442
+#: remote.c:7449
 msgid "Error finishing flash operation"
 msgstr ""
 
-#: remote.c:7490 remote-m32r-sdi.c:723 remote-m32r-sdi.c:729
+#: remote.c:7497 remote-m32r-sdi.c:723 remote-m32r-sdi.c:729
 #: remote-m32r-sdi.c:745
 msgid "Remote connection closed"
 msgstr ""
 
-#: remote.c:7493 remote.c:7512
+#: remote.c:7500 remote.c:7519
 msgid "Remote communication error.  Target disconnected."
 msgstr ""
 
-#: remote.c:7599
+#: remote.c:7606
 msgid ""
 "Cannot execute this command while the target is running.\n"
 "Use the \"interrupt\" command to stop the target\n"
 "and then try again."
 msgstr ""
 
-#: remote.c:7927
+#: remote.c:7934
 #, possible-c-format
 msgid "Invalid run length encoding: %s\n"
 msgstr ""
 
-#: remote.c:8036
+#: remote.c:8043
 msgid "Watchdog timeout has expired.  Target detached."
 msgstr ""
 
 #. We have tried hard enough, and just can't receive the
 #. packet/notification.  Give up.
-#: remote.c:8058
+#: remote.c:8065
 msgid "Ignoring packet error, continuing...\n"
 msgstr ""
 
-#: remote.c:8153 remote.c:8183
+#: remote.c:8160 remote.c:8190
 #, possible-c-format
 msgid "Can't kill fork child process %d"
 msgstr ""
 
-#: remote.c:8289
+#: remote.c:8296
 msgid "Can't kill process"
 msgstr ""
 
-#: remote.c:8381
+#: remote.c:8388
 msgid "Target does not support QDisableRandomization."
 msgstr ""
 
-#: remote.c:8383
+#: remote.c:8390
 #, possible-c-format
 msgid "Bogus QDisableRandomization reply from target: %s"
 msgstr ""
 
-#: remote.c:8401
+#: remote.c:8408
 msgid "Remote file name too long for run packet"
 msgstr ""
 
-#: remote.c:8417
+#: remote.c:8424
 msgid "Argument list too long for run packet"
 msgstr ""
 
-#: remote.c:8439
+#: remote.c:8446
 msgid ""
 "Running the default executable on the remote target failed; try \"set remote "
 "exec-file\"?"
 msgstr ""
 
-#: remote.c:8442
+#: remote.c:8449
 #, possible-c-format
 msgid "Running \"%s\" on the remote target failed"
 msgstr ""
 
-#: remote.c:8480
+#: remote.c:8487
 msgid "Remote target does not support \"set remote exec-file\""
 msgstr ""
 
-#: remote.c:8482
+#: remote.c:8489
 msgid "Remote target does not support \"set args\" or run <ARGS>"
 msgstr ""
 
-#: remote.c:8636
+#: remote.c:8643
 msgid "Target doesn't support breakpoints that have target side commands."
 msgstr ""
 
-#: remote.c:8693
+#: remote.c:8700
 #, possible-c-format
 msgid "hw_bp_to_z: bad watchpoint type %d"
 msgstr ""
 
-#: remote.c:8734
+#: remote.c:8741
 msgid "remote_insert_watchpoint: reached end of function"
 msgstr ""
 
-#: remote.c:8782
+#: remote.c:8789
 msgid "remote_remove_watchpoint: reached end of function"
 msgstr ""
 
-#: remote.c:8959
+#: remote.c:8966
 msgid "remote_insert_hw_breakpoint: reached end of function"
 msgstr ""
 
-#: remote.c:9000
+#: remote.c:9007
 msgid "remote_remove_hw_breakpoint: reached end of function"
 msgstr ""
 
-#: remote.c:9070
+#: remote.c:9077
 msgid "command cannot be used without an exec file"
 msgstr ""
 
-#: remote.c:9107
+#: remote.c:9114
 #, possible-c-format
 msgid "target memory fault, section %s, range %s -- %s"
 msgstr ""
 
-#: remote.c:9125
+#: remote.c:9132
 msgid ""
 "One or more sections of the target image does not match\n"
 "the loaded file\n"
 msgstr ""
 
-#: remote.c:9128
+#: remote.c:9135
 #, possible-c-format
 msgid "No loaded section named '%s'.\n"
 msgstr ""
 
-#: remote.c:9228
+#: remote.c:9235
 #, possible-c-format
 msgid "Unknown remote qXfer reply: %s"
 msgstr ""
 
-#: remote.c:9234
+#: remote.c:9241
 msgid "Remote qXfer reply contained no data."
 msgstr ""
 
-#: remote.c:9438
+#: remote.c:9445
 msgid "remote query is only available after target open"
 msgstr ""
 
-#: remote.c:9533
+#: remote.c:9540
 msgid "Pattern is too large to transmit to remote target."
 msgstr ""
 
-#: remote.c:9555 remote.c:9560
+#: remote.c:9562 remote.c:9567
 #, possible-c-format
 msgid "Unknown qSearch:memory reply: %s"
 msgstr ""
 
-#: remote.c:9573
+#: remote.c:9580
 msgid "remote rcmd is only available after target open"
 msgstr ""
 
-#: remote.c:9585
+#: remote.c:9592
 #, possible-c-format
 msgid "\"monitor\" command ``%s'' is too long."
 msgstr ""
 
-#: remote.c:9612 remote.c:10974 remote.c:11261 remote.c:11357 remote.c:11465
-#: remote.c:11516 remote.c:11594 remote.c:11657 remote.c:11685
+#: remote.c:9619 remote.c:10981 remote.c:11268 remote.c:11364 remote.c:11472
+#: remote.c:11523 remote.c:11601 remote.c:11664 remote.c:11692
 msgid "Target does not support this command."
 msgstr ""
 
-#: remote.c:9623
+#: remote.c:9630
 msgid "Protocol error with Rcmd"
 msgstr ""
 
-#: remote.c:9659 remote.c:10665 remote.c:10756 remote.c:10810
+#: remote.c:9666 remote.c:10672 remote.c:10763 remote.c:10817
 msgid "command can only be used with remote target"
 msgstr ""
 
-#: remote.c:9662
+#: remote.c:9669
 msgid "remote-packet command requires packet text as argument"
 msgstr ""
 
-#: remote.c:9703
+#: remote.c:9710
 msgid "Remote threadset test\n"
 msgstr ""
 
-#: remote.c:9809
+#: remote.c:9816
 msgid "Fetch and print the remote list of thread identifiers, one pkt only"
 msgstr ""
 
-#: remote.c:9812
+#: remote.c:9819
 msgid "Fetch and display info about one thread"
 msgstr ""
 
-#: remote.c:9814
+#: remote.c:9821
 msgid "Test setting to a different thread"
 msgstr ""
 
-#: remote.c:9816
+#: remote.c:9823
 msgid "Iterate through updating all remote thread info"
 msgstr ""
 
-#: remote.c:9818
+#: remote.c:9825
 msgid " Remote thread alive test "
 msgstr ""
 
-#: remote.c:9908
+#: remote.c:9915
 msgid "Remote target doesn't support qGetTLSAddr packet"
 msgstr ""
 
-#: remote.c:9911
+#: remote.c:9918
 msgid "Remote target failed to process qGetTLSAddr request"
 msgstr ""
 
-#: remote.c:9915
+#: remote.c:9922
 msgid "TLS not supported or disabled on this target"
 msgstr ""
 
-#: remote.c:9952
+#: remote.c:9959
 msgid "Remote target doesn't support qGetTIBAddr packet"
 msgstr ""
 
-#: remote.c:9954
+#: remote.c:9961
 msgid "Remote target failed to process qGetTIBAddr request"
 msgstr ""
 
-#: remote.c:9957
+#: remote.c:9964
 msgid "qGetTIBAddr not supported or disabled on this target"
 msgstr ""
 
-#: remote.c:10005
+#: remote.c:10012
 #, possible-c-format
 msgid "Duplicate g packet description added for size %d"
 msgstr ""
 
-#: remote.c:10072 remote.c:10093 remote.c:10115
+#: remote.c:10079 remote.c:10100 remote.c:10122
 msgid "Packet too long for target."
 msgstr ""
 
-#: remote.c:10384
+#: remote.c:10391
 #, possible-c-format
 msgid "Read returned %d, but %d bytes."
 msgstr ""
 
-#: remote.c:10464
+#: remote.c:10471
 #, possible-c-format
 msgid "Readlink returned %d, but %d bytes."
 msgstr ""
 
-#: remote.c:10519
+#: remote.c:10526
 #, possible-c-format
 msgid "vFile:fstat returned %d, but %d bytes."
 msgstr ""
 
-#: remote.c:10522
+#: remote.c:10529
 #, possible-c-format
 msgid "vFile:fstat returned %d bytes, but expecting %d."
 msgstr ""
 
-#: remote.c:10568
+#: remote.c:10575
 msgid ""
 "remote target does not support file transfer, attempting to access files "
 "from local filesystem."
 msgstr ""
 
-#: remote.c:10638
+#: remote.c:10645
 #, possible-c-format
 msgid "Unknown remote I/O error %d"
 msgstr ""
 
-#: remote.c:10640
+#: remote.c:10647
 #, possible-c-format
 msgid "Remote I/O error: %s"
 msgstr ""
 
-#: remote.c:10700
+#: remote.c:10707
 #, possible-c-format
 msgid "Error reading %s."
 msgstr ""
 
-#: remote.c:10724
+#: remote.c:10731
 #, possible-c-format
 msgid "Remote write of %d bytes returned 0!"
 msgstr ""
 
-#: remote.c:10741
+#: remote.c:10748
 #, possible-c-format
 msgid "Successfully sent file \"%s\".\n"
 msgstr ""
 
-#: remote.c:10799
+#: remote.c:10806
 #, possible-c-format
 msgid "Successfully fetched file \"%s\".\n"
 msgstr ""
 
-#: remote.c:10818
+#: remote.c:10825
 #, possible-c-format
 msgid "Successfully deleted file \"%s\".\n"
 msgstr ""
 
-#: remote.c:10828
+#: remote.c:10835
 msgid "file to put"
 msgstr ""
 
-#: remote.c:10833
+#: remote.c:10840
 msgid "Invalid parameters to remote put"
 msgstr ""
 
-#: remote.c:10847
+#: remote.c:10854
 msgid "file to get"
 msgstr ""
 
-#: remote.c:10852
+#: remote.c:10859
 msgid "Invalid parameters to remote get"
 msgstr ""
 
-#: remote.c:10866
+#: remote.c:10873
 msgid "file to delete"
 msgstr ""
 
-#: remote.c:10871
+#: remote.c:10878
 msgid "Invalid parameters to remote delete"
 msgstr ""
 
-#: remote.c:11019 remote.c:11034 remote.c:11195 remote.c:11206
+#: remote.c:11026 remote.c:11041 remote.c:11202 remote.c:11213
 msgid "Target does not support source download."
 msgstr ""
 
-#: remote.c:11088
+#: remote.c:11095
 msgid "Fast tracepoint not valid during download"
 msgstr ""
 
 #. Fast tracepoints are functionally identical to regular
 #. tracepoints, so don't take lack of support as a reason to
 #. give up on the trace run.
-#: remote.c:11095
+#: remote.c:11102
 #, possible-c-format
 msgid ""
 "Target does not support fast tracepoints, downloading %d as regular "
 "tracepoint"
 msgstr ""
 
-#: remote.c:11109
+#: remote.c:11116
 msgid "Static tracepoint not valid during download"
 msgstr ""
 
 #. Fast tracepoints are functionally identical to regular
 #. tracepoints, so don't take lack of support as a reason
 #. to give up on the trace run.
-#: remote.c:11115
+#: remote.c:11122
 msgid "Target does not support static tracepoints"
 msgstr ""
 
-#: remote.c:11136
+#: remote.c:11143
 #, possible-c-format
 msgid "Target does not support conditional tracepoints, ignoring tp %d cond"
 msgstr ""
 
-#: remote.c:11145
+#: remote.c:11152
 msgid "Target does not support tracepoints."
 msgstr ""
 
-#: remote.c:11162 remote.c:11179
+#: remote.c:11169 remote.c:11186
 msgid "Error on target while setting tracepoints."
 msgstr ""
 
-#: remote.c:11255
+#: remote.c:11262
 msgid "Trace state variable name too long for tsv definition packet"
 msgstr ""
 
-#: remote.c:11263
+#: remote.c:11270
 msgid "Error on target while downloading trace state variable."
 msgstr ""
 
-#: remote.c:11279
+#: remote.c:11286
 msgid ""
 "Target does not support enabling tracepoints while a trace run is ongoing."
 msgstr ""
 
-#: remote.c:11281
+#: remote.c:11288
 msgid "Error on target while enabling tracepoint."
 msgstr ""
 
-#: remote.c:11297
+#: remote.c:11304
 msgid ""
 "Target does not support disabling tracepoints while a trace run is ongoing."
 msgstr ""
 
-#: remote.c:11299
+#: remote.c:11306
 msgid "Error on target while disabling tracepoint."
 msgstr ""
 
-#: remote.c:11336
+#: remote.c:11343
 msgid "Too many sections for read-only sections definition packet."
 msgstr ""
 
-#: remote.c:11359 remote.c:11467 remote.c:11541 remote.c:11544 remote.c:11596
-#: remote.c:11659 remote.c:11687 remote.c:11771 remote.c:11817
+#: remote.c:11366 remote.c:11474 remote.c:11548 remote.c:11551 remote.c:11603
+#: remote.c:11666 remote.c:11694 remote.c:11778 remote.c:11824
 #, possible-c-format
 msgid "Bogus reply from target: %s"
 msgstr ""
 
-#: remote.c:11403
+#: remote.c:11410
 #, possible-c-format
 msgid "Bogus trace status reply from target: %s"
 msgstr ""
 
-#: remote.c:11510
+#: remote.c:11517
 #, possible-c-format
 msgid "Unknown trace find type %d"
 msgstr ""
 
-#: remote.c:11525
+#: remote.c:11532
 msgid "Unable to parse trace frame number"
 msgstr ""
 
-#: remote.c:11535
+#: remote.c:11542
 msgid "Unable to parse tracepoint number"
 msgstr ""
 
-#: remote.c:11588
+#: remote.c:11595
 msgid "Remote file name too long for trace save packet"
 msgstr ""
 
-#: remote.c:11662
+#: remote.c:11669
 msgid "Target does not support disconnected tracing."
 msgstr ""
 
-#: remote.c:11918
+#: remote.c:11934
 #, possible-c-format
 msgid "Failed to configure the BTS buffer size: %s"
 msgstr ""
 
-#: remote.c:11920
+#: remote.c:11936
 msgid "Failed to configure the BTS buffer size."
 msgstr ""
 
-#: remote.c:11973
+#: remote.c:11956
+#, possible-c-format
+msgid "Failed to configure the trace buffer size: %s"
+msgstr ""
+
+#: remote.c:11958
+msgid "Failed to configure the trace buffer size."
+msgstr ""
+
+#: remote.c:12022
 #, possible-c-format
 msgid "Could not enable branch tracing for %s: %s"
 msgstr ""
 
-#: remote.c:11976
+#: remote.c:12025
 #, possible-c-format
 msgid "Could not enable branch tracing for %s."
 msgstr ""
 
-#: remote.c:12022
+#: remote.c:12071
 #, possible-c-format
 msgid "Could not disable branch tracing for %s: %s"
 msgstr ""
 
-#: remote.c:12025
+#: remote.c:12074
 #, possible-c-format
 msgid "Could not disable branch tracing for %s."
 msgstr ""
 
-#: remote.c:12060
+#: remote.c:12109
 msgid "Cannot process branch tracing result. XML parsing not supported."
 msgstr ""
 
-#: remote.c:12076
+#: remote.c:12125
 #, possible-c-format
 msgid "Bad branch tracing read type: %u."
 msgstr ""
 
-#: remote.c:12134
+#: remote.c:12183
 #, possible-c-format
 msgid "not currently attached to process %d"
 msgstr ""
 
-#: remote.c:12495
+#: remote.c:12544
 #, possible-c-format
 msgid "Debugger's willingness to use range stepping is %s.\n"
 msgstr ""
 
-#: remote.c:12521
+#: remote.c:12570
 msgid "Range stepping is not supported by the current target"
 msgstr ""
 
 #. set/show remote ...
 #. allow-unknown
-#: remote.c:12568 remote.c:12574
+#: remote.c:12617 remote.c:12623
 msgid ""
 "Remote protocol specific variables\n"
 "Configure various remote-protocol specific variables such as\n"
@@ -22881,14 +23134,14 @@ msgid ""
 msgstr ""
 
 #. allow-unknown
-#: remote.c:12581
+#: remote.c:12630
 msgid ""
 "Compare section data on target to the exec file.\n"
 "Argument is a single section name (default: all loaded sections).\n"
 "To compare only read-only loaded sections, specify the -r option."
 msgstr ""
 
-#: remote.c:12587
+#: remote.c:12636
 msgid ""
 "Send an arbitrary packet to a remote target.\n"
 "   maintenance packet TEXT\n"
@@ -22898,57 +23151,57 @@ msgid ""
 "terminating `#' character and checksum."
 msgstr ""
 
-#: remote.c:12596
+#: remote.c:12645
 msgid "Set whether to send break if interrupted."
 msgstr ""
 
-#: remote.c:12597
+#: remote.c:12646
 msgid "Show whether to send break if interrupted."
 msgstr ""
 
-#: remote.c:12598
+#: remote.c:12647
 msgid "If set, a break, instead of a cntrl-c, is sent to the remote target."
 msgstr ""
 
-#: remote.c:12611
+#: remote.c:12660
 msgid "Set interrupt sequence to remote target."
 msgstr ""
 
-#: remote.c:12612
+#: remote.c:12661
 msgid "Show interrupt sequence to remote target."
 msgstr ""
 
-#: remote.c:12613
+#: remote.c:12662
 msgid ""
 "Valid value is \"Ctrl-C\", \"BREAK\" or \"BREAK-g\". The default is \"Ctrl-C"
 "\"."
 msgstr ""
 
-#: remote.c:12620
+#: remote.c:12669
 msgid ""
 "Set whether interrupt-sequence is sent to remote target when gdb connects to."
 msgstr ""
 
-#: remote.c:12621
+#: remote.c:12670
 msgid ""
 "\t\tShow whether interrupt-sequence is sent to remote target when gdb "
 "connects to."
 msgstr ""
 
-#: remote.c:12622
+#: remote.c:12671
 msgid "\t\tIf set, interrupt sequence is sent to remote target."
 msgstr ""
 
 #. Install commands for configuring memory read/write packets.
-#: remote.c:12629
+#: remote.c:12678
 msgid "Set the maximum number of bytes per memory write packet (deprecated)."
 msgstr ""
 
-#: remote.c:12632
+#: remote.c:12681
 msgid "Show the maximum number of bytes per memory write packet (deprecated)."
 msgstr ""
 
-#: remote.c:12636
+#: remote.c:12685
 msgid ""
 "Set the maximum number of bytes per memory-write packet.\n"
 "Specify the number of bytes in a packet or 0 (zero) for the\n"
@@ -22957,7 +23210,7 @@ msgid ""
 "further restriction and ``limit'' to enable that restriction."
 msgstr ""
 
-#: remote.c:12644
+#: remote.c:12693
 msgid ""
 "Set the maximum number of bytes per memory-read packet.\n"
 "Specify the number of bytes in a packet or 0 (zero) for the\n"
@@ -22966,99 +23219,99 @@ msgid ""
 "further restriction and ``limit'' to enable that restriction."
 msgstr ""
 
-#: remote.c:12653
+#: remote.c:12702
 msgid "Show the maximum number of bytes per memory-write packet."
 msgstr ""
 
-#: remote.c:12657
+#: remote.c:12706
 msgid "Show the maximum number of bytes per memory-read packet."
 msgstr ""
 
-#: remote.c:12661
+#: remote.c:12710
 msgid "Set the maximum number of target hardware watchpoints."
 msgstr ""
 
-#: remote.c:12662
+#: remote.c:12711
 msgid "Show the maximum number of target hardware watchpoints."
 msgstr ""
 
-#: remote.c:12663 remote.c:12672 remote.c:12681
+#: remote.c:12712 remote.c:12721 remote.c:12730
 msgid "Specify a negative limit for unlimited."
 msgstr ""
 
-#: remote.c:12670
+#: remote.c:12719
 msgid "Set the maximum length (in bytes) of a target hardware watchpoint."
 msgstr ""
 
-#: remote.c:12671
+#: remote.c:12720
 msgid "Show the maximum length (in bytes) of a target hardware watchpoint."
 msgstr ""
 
-#: remote.c:12679
+#: remote.c:12728
 msgid "Set the maximum number of target hardware breakpoints."
 msgstr ""
 
-#: remote.c:12680
+#: remote.c:12729
 msgid "Show the maximum number of target hardware breakpoints."
 msgstr ""
 
-#: remote.c:12689
+#: remote.c:12738
 msgid "Set the maximum size of the address (in bits) in a memory packet."
 msgstr ""
 
-#: remote.c:12690
+#: remote.c:12739
 msgid "Show the maximum size of the address (in bits) in a memory packet."
 msgstr ""
 
-#: remote.c:12948
+#: remote.c:13003
 msgid "Set use of remote protocol `Z' packets"
 msgstr ""
 
-#: remote.c:12949
+#: remote.c:13004
 msgid "Show use of remote protocol `Z' packets "
 msgstr ""
 
-#: remote.c:12950
+#: remote.c:13005
 msgid ""
 "When set, GDB will attempt to use the remote breakpoint and watchpoint\n"
 "packets."
 msgstr ""
 
-#: remote.c:12959
+#: remote.c:13014
 msgid ""
 "Manipulate files on the remote system\n"
 "Transfer files to and from the remote target system."
 msgstr ""
 
-#: remote.c:12966
+#: remote.c:13021
 msgid "Copy a local file to the remote system."
 msgstr ""
 
-#: remote.c:12970
+#: remote.c:13025
 msgid "Copy a remote file to the local system."
 msgstr ""
 
-#: remote.c:12974
+#: remote.c:13029
 msgid "Delete a remote file."
 msgstr ""
 
-#: remote.c:12979
+#: remote.c:13034
 msgid "Set the remote pathname for \"run\""
 msgstr ""
 
-#: remote.c:12980
+#: remote.c:13035
 msgid "Show the remote pathname for \"run\""
 msgstr ""
 
-#: remote.c:12985
+#: remote.c:13040
 msgid "Enable or disable range stepping."
 msgstr ""
 
-#: remote.c:12986
+#: remote.c:13041
 msgid "Show whether target-assisted range stepping is enabled."
 msgstr ""
 
-#: remote.c:12987
+#: remote.c:13042
 msgid ""
 "If on, and the target supports it, when stepping a source line, GDB\n"
 "tells the target to step the corresponding range of addresses itself "
@@ -23585,7 +23838,7 @@ msgstr ""
 msgid "Undefined mapping for opc reg %d"
 msgstr ""
 
-#: rl78-tdep.c:1219 rx-tdep.c:781
+#: rl78-tdep.c:1219 rx-tdep.c:1014
 #, possible-c-format
 msgid "Undefined dwarf2 register mapping of reg %d"
 msgstr ""
@@ -23697,19 +23950,19 @@ msgstr ""
 msgid "Couldn't modify watchpoint status"
 msgstr ""
 
-#: s390-linux-tdep.c:2717
+#: s390-linux-tdep.c:2718
 msgid "Stack overflow"
 msgstr ""
 
-#: s390-linux-tdep.c:2839
+#: s390-linux-tdep.c:2840
 msgid "invalid return type"
 msgstr ""
 
-#: s390-linux-tdep.c:2878 spu-tdep.c:1547
+#: s390-linux-tdep.c:2879 spu-tdep.c:1547
 msgid "Cannot set function return value."
 msgstr ""
 
-#: s390-linux-tdep.c:2880 spu-tdep.c:1563
+#: s390-linux-tdep.c:2881 spu-tdep.c:1563
 msgid "Function return value unknown."
 msgstr ""
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/record-btrace.c ./gdb/record-btrace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/record-btrace.c	2015-07-02 01:48:29.000000000 +0000
+++ ./gdb/record-btrace.c	2015-07-03 01:48:30.000000000 +0000
@@ -80,6 +80,10 @@ static struct cmd_list_element *record_b
 static struct cmd_list_element *set_record_btrace_bts_cmdlist;
 static struct cmd_list_element *show_record_btrace_bts_cmdlist;
 
+/* Command lists for "set/show record btrace pt".  */
+static struct cmd_list_element *set_record_btrace_pt_cmdlist;
+static struct cmd_list_element *show_record_btrace_pt_cmdlist;
+
 /* Print a record-btrace debug message.  Use do ... while (0) to avoid
    ambiguities when used in if statements.  */
 
@@ -332,6 +336,22 @@ record_btrace_print_bts_conf (const stru
     }
 }
 
+/* Print an Intel(R) Processor Trace configuration.  */
+
+static void
+record_btrace_print_pt_conf (const struct btrace_config_pt *conf)
+{
+  const char *suffix;
+  unsigned int size;
+
+  size = conf->size;
+  if (size > 0)
+    {
+      suffix = record_btrace_adjust_size (&size);
+      printf_unfiltered (_("Buffer size: %u%s.\n"), size, suffix);
+    }
+}
+
 /* Print a branch tracing configuration.  */
 
 static void
@@ -348,6 +368,10 @@ record_btrace_print_conf (const struct b
     case BTRACE_FORMAT_BTS:
       record_btrace_print_bts_conf (&conf->bts);
       return;
+
+    case BTRACE_FORMAT_PT:
+      record_btrace_print_pt_conf (&conf->pt);
+      return;
     }
 
   internal_error (__FILE__, __LINE__, _("Unkown branch trace format."));
@@ -458,6 +482,33 @@ btrace_ui_out_decode_error (struct ui_ou
 	  break;
 	}
       break;
+
+#if defined (HAVE_LIBIPT)
+    case BTRACE_FORMAT_PT:
+      switch (errcode)
+	{
+	case BDE_PT_USER_QUIT:
+	  is_error = 0;
+	  errstr = _("trace decode cancelled");
+	  break;
+
+	case BDE_PT_DISABLED:
+	  is_error = 0;
+	  errstr = _("disabled");
+	  break;
+
+	case BDE_PT_OVERFLOW:
+	  is_error = 0;
+	  errstr = _("overflow");
+	  break;
+
+	default:
+	  if (errcode < 0)
+	    errstr = pt_errstr (pt_errcode (errcode));
+	  break;
+	}
+      break;
+#endif /* defined (HAVE_LIBIPT)  */
     }
 
   ui_out_text (uiout, _("["));
@@ -2305,7 +2356,6 @@ init_record_btrace_ops (void)
 static void
 cmd_record_btrace_bts_start (char *args, int from_tty)
 {
-
   if (args != NULL && *args != 0)
     error (_("Invalid argument."));
 
@@ -2323,16 +2373,15 @@ cmd_record_btrace_bts_start (char *args,
   END_CATCH
 }
 
-/* Alias for "target record".  */
+/* Start recording Intel(R) Processor Trace.  */
 
 static void
-cmd_record_btrace_start (char *args, int from_tty)
+cmd_record_btrace_pt_start (char *args, int from_tty)
 {
-
   if (args != NULL && *args != 0)
     error (_("Invalid argument."));
 
-  record_btrace_conf.format = BTRACE_FORMAT_BTS;
+  record_btrace_conf.format = BTRACE_FORMAT_PT;
 
   TRY
     {
@@ -2346,6 +2395,38 @@ cmd_record_btrace_start (char *args, int
   END_CATCH
 }
 
+/* Alias for "target record".  */
+
+static void
+cmd_record_btrace_start (char *args, int from_tty)
+{
+  if (args != NULL && *args != 0)
+    error (_("Invalid argument."));
+
+  record_btrace_conf.format = BTRACE_FORMAT_PT;
+
+  TRY
+    {
+      execute_command ("target record-btrace", from_tty);
+    }
+  CATCH (exception, RETURN_MASK_ALL)
+    {
+      record_btrace_conf.format = BTRACE_FORMAT_BTS;
+
+      TRY
+	{
+	  execute_command ("target record-btrace", from_tty);
+	}
+      CATCH (exception, RETURN_MASK_ALL)
+	{
+	  record_btrace_conf.format = BTRACE_FORMAT_NONE;
+	  throw_exception (exception);
+	}
+      END_CATCH
+    }
+  END_CATCH
+}
+
 /* The "set record btrace" command.  */
 
 static void
@@ -2378,7 +2459,7 @@ static void
 cmd_set_record_btrace_bts (char *args, int from_tty)
 {
   printf_unfiltered (_("\"set record btrace bts\" must be followed "
-		       "by an apporpriate subcommand.\n"));
+		       "by an appropriate subcommand.\n"));
   help_list (set_record_btrace_bts_cmdlist, "set record btrace bts ",
 	     all_commands, gdb_stdout);
 }
@@ -2391,6 +2472,47 @@ cmd_show_record_btrace_bts (char *args, 
   cmd_show_list (show_record_btrace_bts_cmdlist, from_tty, "");
 }
 
+/* The "set record btrace pt" command.  */
+
+static void
+cmd_set_record_btrace_pt (char *args, int from_tty)
+{
+  printf_unfiltered (_("\"set record btrace pt\" must be followed "
+		       "by an appropriate subcommand.\n"));
+  help_list (set_record_btrace_pt_cmdlist, "set record btrace pt ",
+	     all_commands, gdb_stdout);
+}
+
+/* The "show record btrace pt" command.  */
+
+static void
+cmd_show_record_btrace_pt (char *args, int from_tty)
+{
+  cmd_show_list (show_record_btrace_pt_cmdlist, from_tty, "");
+}
+
+/* The "record bts buffer-size" show value function.  */
+
+static void
+show_record_bts_buffer_size_value (struct ui_file *file, int from_tty,
+				   struct cmd_list_element *c,
+				   const char *value)
+{
+  fprintf_filtered (file, _("The record/replay bts buffer size is %s.\n"),
+		    value);
+}
+
+/* The "record pt buffer-size" show value function.  */
+
+static void
+show_record_pt_buffer_size_value (struct ui_file *file, int from_tty,
+				  struct cmd_list_element *c,
+				  const char *value)
+{
+  fprintf_filtered (file, _("The record/replay pt buffer size is %s.\n"),
+		    value);
+}
+
 void _initialize_record_btrace (void);
 
 /* Initialize btrace commands.  */
@@ -2411,6 +2533,13 @@ This format may not be available on all 
 	   &record_btrace_cmdlist);
   add_alias_cmd ("bts", "btrace bts", class_obscure, 1, &record_cmdlist);
 
+  add_cmd ("pt", class_obscure, cmd_record_btrace_pt_start,
+	   _("\
+Start branch trace recording in Intel(R) Processor Trace format.\n\n\
+This format may not be available on all processors."),
+	   &record_btrace_cmdlist);
+  add_alias_cmd ("pt", "btrace pt", class_obscure, 1, &record_cmdlist);
+
   add_prefix_cmd ("btrace", class_support, cmd_set_record_btrace,
 		  _("Set record options"), &set_record_btrace_cmdlist,
 		  "set record btrace ", 0, &set_record_cmdlist);
@@ -2453,10 +2582,32 @@ The actual buffer size may differ from t
 Use \"info record\" to see the actual buffer size.\n\n\
 Bigger buffers allow longer recording but also take more time to process \
 the recorded execution trace.\n\n\
-The trace buffer size may not be changed while recording."), NULL, NULL,
+The trace buffer size may not be changed while recording."), NULL,
+			    show_record_bts_buffer_size_value,
 			    &set_record_btrace_bts_cmdlist,
 			    &show_record_btrace_bts_cmdlist);
 
+  add_prefix_cmd ("pt", class_support, cmd_set_record_btrace_pt,
+		  _("Set record btrace pt options"),
+		  &set_record_btrace_pt_cmdlist,
+		  "set record btrace pt ", 0, &set_record_btrace_cmdlist);
+
+  add_prefix_cmd ("pt", class_support, cmd_show_record_btrace_pt,
+		  _("Show record btrace pt options"),
+		  &show_record_btrace_pt_cmdlist,
+		  "show record btrace pt ", 0, &show_record_btrace_cmdlist);
+
+  add_setshow_uinteger_cmd ("buffer-size", no_class,
+			    &record_btrace_conf.pt.size,
+			    _("Set the record/replay pt buffer size."),
+			    _("Show the record/replay pt buffer size."), _("\
+Bigger buffers allow longer recording but also take more time to process \
+the recorded execution.\n\
+The actual buffer size may differ from the requested size.  Use \"info record\" \
+to see the actual buffer size."), NULL, show_record_pt_buffer_size_value,
+			    &set_record_btrace_pt_cmdlist,
+			    &show_record_btrace_pt_cmdlist);
+
   init_record_btrace_ops ();
   add_target (&record_btrace_ops);
 
@@ -2464,4 +2615,5 @@ The trace buffer size may not be changed
 			       xcalloc, xfree);
 
   record_btrace_conf.bts.size = 64 * 1024;
+  record_btrace_conf.pt.size = 16 * 1024;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/remote.c ./gdb/remote.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/remote.c	2015-07-02 01:48:29.000000000 +0000
+++ ./gdb/remote.c	2015-07-03 01:48:30.000000000 +0000
@@ -1322,6 +1322,7 @@ enum {
   PACKET_QTBuffer_size,
   PACKET_Qbtrace_off,
   PACKET_Qbtrace_bts,
+  PACKET_Qbtrace_pt,
   PACKET_qXfer_btrace,
 
   /* Support for the QNonStop packet.  */
@@ -1362,6 +1363,9 @@ enum {
   /* Support for vfork events.  */
   PACKET_vfork_event_feature,
 
+  /* Support for the Qbtrace-conf:pt:size packet.  */
+  PACKET_Qbtrace_conf_pt_size,
+
   PACKET_MAX
 };
 
@@ -4145,6 +4149,7 @@ static const struct protocol_feature rem
   { "tracenz", PACKET_DISABLE, remote_supported_packet, PACKET_tracenz_feature },
   { "Qbtrace:off", PACKET_DISABLE, remote_supported_packet, PACKET_Qbtrace_off },
   { "Qbtrace:bts", PACKET_DISABLE, remote_supported_packet, PACKET_Qbtrace_bts },
+  { "Qbtrace:pt", PACKET_DISABLE, remote_supported_packet, PACKET_Qbtrace_pt },
   { "qXfer:btrace:read", PACKET_DISABLE, remote_supported_packet,
     PACKET_qXfer_btrace },
   { "qXfer:btrace-conf:read", PACKET_DISABLE, remote_supported_packet,
@@ -4157,6 +4162,8 @@ static const struct protocol_feature rem
     PACKET_fork_event_feature },
   { "vfork-events", PACKET_DISABLE, remote_supported_packet,
     PACKET_vfork_event_feature },
+  { "Qbtrace-conf:pt:size", PACKET_DISABLE, remote_supported_packet,
+    PACKET_Qbtrace_conf_pt_size }
 };
 
 static char *remote_support_xml;
@@ -11883,6 +11890,15 @@ remote_supports_btrace (struct target_op
 
       case BTRACE_FORMAT_BTS:
 	return (packet_support (PACKET_Qbtrace_bts) == PACKET_ENABLE);
+
+      case BTRACE_FORMAT_PT:
+	/* The trace is decoded on the host.  Even if our target supports it,
+	   we still need to have libipt to decode the trace.  */
+#if defined (HAVE_LIBIPT)
+	return (packet_support (PACKET_Qbtrace_pt) == PACKET_ENABLE);
+#else /* !defined (HAVE_LIBIPT)  */
+	return 0;
+#endif /* !defined (HAVE_LIBIPT)  */
     }
 
   internal_error (__FILE__, __LINE__, _("Unknown branch trace format"));
@@ -11922,6 +11938,28 @@ btrace_sync_conf (const struct btrace_co
 
       rs->btrace_config.bts.size = conf->bts.size;
     }
+
+  packet = &remote_protocol_packets[PACKET_Qbtrace_conf_pt_size];
+  if (packet_config_support (packet) == PACKET_ENABLE
+      && conf->pt.size != rs->btrace_config.pt.size)
+    {
+      pos = buf;
+      pos += xsnprintf (pos, endbuf - pos, "%s=0x%x", packet->name,
+                        conf->pt.size);
+
+      putpkt (buf);
+      getpkt (&buf, &rs->buf_size, 0);
+
+      if (packet_ok (buf, packet) == PACKET_ERROR)
+	{
+	  if (buf[0] == 'E' && buf[1] == '.')
+	    error (_("Failed to configure the trace buffer size: %s"), buf + 2);
+	  else
+	    error (_("Failed to configure the trace buffer size."));
+	}
+
+      rs->btrace_config.pt.size = conf->pt.size;
+    }
 }
 
 /* Read the current thread's btrace configuration from the target and
@@ -11933,7 +11971,7 @@ btrace_read_config (struct btrace_config
   char *xml;
 
   xml = target_read_stralloc (&current_target,
-                              TARGET_OBJECT_BTRACE_CONF, "");
+			      TARGET_OBJECT_BTRACE_CONF, "");
   if (xml != NULL)
     {
       struct cleanup *cleanup;
@@ -11951,12 +11989,23 @@ remote_enable_btrace (struct target_ops 
 		      const struct btrace_config *conf)
 {
   struct btrace_target_info *tinfo = NULL;
-  struct packet_config *packet = &remote_protocol_packets[PACKET_Qbtrace_bts];
+  struct packet_config *packet = NULL;
   struct remote_state *rs = get_remote_state ();
   char *buf = rs->buf;
   char *endbuf = rs->buf + get_remote_packet_size ();
 
-  if (packet_config_support (packet) != PACKET_ENABLE)
+  switch (conf->format)
+    {
+      case BTRACE_FORMAT_BTS:
+	packet = &remote_protocol_packets[PACKET_Qbtrace_bts];
+	break;
+
+      case BTRACE_FORMAT_PT:
+	packet = &remote_protocol_packets[PACKET_Qbtrace_pt];
+	break;
+    }
+
+  if (packet == NULL || packet_config_support (packet) != PACKET_ENABLE)
     error (_("Target does not support branch tracing."));
 
   btrace_sync_conf (conf);
@@ -12078,7 +12127,7 @@ remote_read_btrace (struct target_ops *s
     }
 
   xml = target_read_stralloc (&current_target,
-                              TARGET_OBJECT_BTRACE, annex);
+			      TARGET_OBJECT_BTRACE, annex);
   if (xml == NULL)
     return BTRACE_ERR_UNKNOWN;
 
@@ -12882,7 +12931,10 @@ Show the maximum size of the address (in
        "Qbtrace:off", "disable-btrace", 0);
 
   add_packet_config_cmd (&remote_protocol_packets[PACKET_Qbtrace_bts],
-       "Qbtrace:bts", "enable-btrace", 0);
+       "Qbtrace:bts", "enable-btrace-bts", 0);
+
+  add_packet_config_cmd (&remote_protocol_packets[PACKET_Qbtrace_pt],
+       "Qbtrace:pt", "enable-btrace-pt", 0);
 
   add_packet_config_cmd (&remote_protocol_packets[PACKET_qXfer_btrace],
        "qXfer:btrace", "read-btrace", 0);
@@ -12905,6 +12957,9 @@ Show the maximum size of the address (in
   add_packet_config_cmd (&remote_protocol_packets[PACKET_vfork_event_feature],
 			 "vfork-event-feature", "vfork-event-feature", 0);
 
+  add_packet_config_cmd (&remote_protocol_packets[PACKET_Qbtrace_conf_pt_size],
+       "Qbtrace-conf:pt:size", "btrace-conf-pt-size", 0);
+
   /* Assert that we've registered "set remote foo-packet" commands
      for all packet configs.  */
   {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/rx-tdep.c ./gdb/rx-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/rx-tdep.c	2015-07-02 01:48:29.000000000 +0000
+++ ./gdb/rx-tdep.c	2015-07-03 01:48:30.000000000 +0000
@@ -45,22 +45,43 @@ enum
   RX_R4_REGNUM = 4,
   RX_FP_REGNUM = 6,
   RX_R15_REGNUM = 15,
+  RX_USP_REGNUM = 16,
   RX_PSW_REGNUM = 18,
   RX_PC_REGNUM = 19,
+  RX_BPSW_REGNUM = 21,
+  RX_BPC_REGNUM = 22,
+  RX_FPSW_REGNUM = 24,
   RX_ACC_REGNUM = 25,
   RX_NUM_REGS = 26
 };
 
+/* RX frame types.  */
+enum rx_frame_type {
+  RX_FRAME_TYPE_NORMAL,
+  RX_FRAME_TYPE_EXCEPTION,
+  RX_FRAME_TYPE_FAST_INTERRUPT
+};
+
 /* Architecture specific data.  */
 struct gdbarch_tdep
 {
   /* The ELF header flags specify the multilib used.  */
   int elf_flags;
+
+  /* Type of PSW and BPSW.  */
+  struct type *rx_psw_type;
+
+  /* Type of FPSW.  */
+  struct type *rx_fpsw_type;
 };
 
 /* This structure holds the results of a prologue analysis.  */
 struct rx_prologue
 {
+  /* Frame type, either a normal frame or one of two types of exception
+     frames.  */
+  enum rx_frame_type frame_type;
+
   /* The offset from the frame base to the stack pointer --- always
      zero or negative.
 
@@ -132,8 +153,14 @@ rx_register_name (struct gdbarch *gdbarc
 static struct type *
 rx_register_type (struct gdbarch *gdbarch, int reg_nr)
 {
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
   if (reg_nr == RX_PC_REGNUM)
     return builtin_type (gdbarch)->builtin_func_ptr;
+  else if (reg_nr == RX_PSW_REGNUM || reg_nr == RX_BPSW_REGNUM)
+    return tdep->rx_psw_type;
+  else if (reg_nr == RX_FPSW_REGNUM)
+    return tdep->rx_fpsw_type;
   else if (reg_nr == RX_ACC_REGNUM)
     return builtin_type (gdbarch)->builtin_unsigned_long_long;
   else
@@ -189,9 +216,11 @@ rx_get_opcode_byte (void *handle)
 
 /* Analyze a prologue starting at START_PC, going no further than
    LIMIT_PC.  Fill in RESULT as appropriate.  */
+
 static void
-rx_analyze_prologue (CORE_ADDR start_pc,
-		     CORE_ADDR limit_pc, struct rx_prologue *result)
+rx_analyze_prologue (CORE_ADDR start_pc, CORE_ADDR limit_pc,
+                     enum rx_frame_type frame_type,
+		     struct rx_prologue *result)
 {
   CORE_ADDR pc, next_pc;
   int rn;
@@ -202,6 +231,8 @@ rx_analyze_prologue (CORE_ADDR start_pc,
 
   memset (result, 0, sizeof (*result));
 
+  result->frame_type = frame_type;
+
   for (rn = 0; rn < RX_NUM_REGS; rn++)
     {
       reg[rn] = pv_register (rn, 0);
@@ -211,9 +242,30 @@ rx_analyze_prologue (CORE_ADDR start_pc,
   stack = make_pv_area (RX_SP_REGNUM, gdbarch_addr_bit (target_gdbarch ()));
   back_to = make_cleanup_free_pv_area (stack);
 
-  /* The call instruction has saved the return address on the stack.  */
-  reg[RX_SP_REGNUM] = pv_add_constant (reg[RX_SP_REGNUM], -4);
-  pv_area_store (stack, reg[RX_SP_REGNUM], 4, reg[RX_PC_REGNUM]);
+  if (frame_type == RX_FRAME_TYPE_FAST_INTERRUPT)
+    {
+      /* This code won't do anything useful at present, but this is
+         what happens for fast interrupts.  */
+      reg[RX_BPSW_REGNUM] = reg[RX_PSW_REGNUM];
+      reg[RX_BPC_REGNUM] = reg[RX_PC_REGNUM];
+    }
+  else
+    {
+      /* When an exception occurs, the PSW is saved to the interrupt stack
+         first.  */
+      if (frame_type == RX_FRAME_TYPE_EXCEPTION)
+	{
+	  reg[RX_SP_REGNUM] = pv_add_constant (reg[RX_SP_REGNUM], -4);
+	  pv_area_store (stack, reg[RX_SP_REGNUM], 4, reg[RX_PSW_REGNUM]);
+	}
+
+      /* The call instruction (or an exception/interrupt) has saved the return
+          address on the stack.  */
+      reg[RX_SP_REGNUM] = pv_add_constant (reg[RX_SP_REGNUM], -4);
+      pv_area_store (stack, reg[RX_SP_REGNUM], 4, reg[RX_PC_REGNUM]);
+
+    }
+
 
   pc = start_pc;
   while (pc < limit_pc)
@@ -362,7 +414,9 @@ rx_skip_prologue (struct gdbarch *gdbarc
   if (!find_pc_partial_function (pc, &name, &func_addr, &func_end))
     return pc;
 
-  rx_analyze_prologue (pc, func_end, &p);
+  /* The frame type doesn't matter here, since we only care about
+     where the prologue ends.  We'll use RX_FRAME_TYPE_NORMAL.  */
+  rx_analyze_prologue (pc, func_end, RX_FRAME_TYPE_NORMAL, &p);
   return p.prologue_end;
 }
 
@@ -370,8 +424,10 @@ rx_skip_prologue (struct gdbarch *gdbarc
    associated function if there is not cache entry as specified by
    THIS_PROLOGUE_CACHE.  Save the decoded prologue in the cache and
    return that struct as the value of this function.  */
+
 static struct rx_prologue *
 rx_analyze_frame_prologue (struct frame_info *this_frame,
+			   enum rx_frame_type frame_type,
 			   void **this_prologue_cache)
 {
   if (!*this_prologue_cache)
@@ -388,19 +444,76 @@ rx_analyze_frame_prologue (struct frame_
       if (!func_start)
 	stop_addr = func_start;
 
-      rx_analyze_prologue (func_start, stop_addr, *this_prologue_cache);
+      rx_analyze_prologue (func_start, stop_addr, frame_type,
+                           *this_prologue_cache);
     }
 
   return *this_prologue_cache;
 }
 
+/* Determine type of frame by scanning the function for a return
+   instruction.  */
+
+static enum rx_frame_type
+rx_frame_type (struct frame_info *this_frame, void **this_cache)
+{
+  const char *name;
+  CORE_ADDR pc, start_pc, lim_pc;
+  int bytes_read;
+  struct rx_get_opcode_byte_handle opcode_handle;
+  RX_Opcode_Decoded opc;
+
+  gdb_assert (this_cache != NULL);
+
+  /* If we have a cached value, return it.  */
+
+  if (*this_cache != NULL)
+    {
+      struct rx_prologue *p = *this_cache;
+
+      return p->frame_type;
+    }
+
+  /* No cached value; scan the function.  The frame type is cached in
+     rx_analyze_prologue / rx_analyze_frame_prologue.  */
+  
+  pc = get_frame_pc (this_frame);
+  
+  /* Attempt to find the last address in the function.  If it cannot
+     be determined, set the limit to be a short ways past the frame's
+     pc.  */
+  if (!find_pc_partial_function (pc, &name, &start_pc, &lim_pc))
+    lim_pc = pc + 20;
+
+  while (pc < lim_pc)
+    {
+      opcode_handle.pc = pc;
+      bytes_read = rx_decode_opcode (pc, &opc, rx_get_opcode_byte,
+				     &opcode_handle);
+
+      if (bytes_read <= 0 || opc.id == RXO_rts)
+	return RX_FRAME_TYPE_NORMAL;
+      else if (opc.id == RXO_rtfi)
+	return RX_FRAME_TYPE_FAST_INTERRUPT;
+      else if (opc.id == RXO_rte)
+        return RX_FRAME_TYPE_EXCEPTION;
+
+      pc += bytes_read;
+    }
+
+  return RX_FRAME_TYPE_NORMAL;
+}
+
+
 /* Given the next frame and a prologue cache, return this frame's
    base.  */
+
 static CORE_ADDR
-rx_frame_base (struct frame_info *this_frame, void **this_prologue_cache)
+rx_frame_base (struct frame_info *this_frame, void **this_cache)
 {
+  enum rx_frame_type frame_type = rx_frame_type (this_frame, this_cache);
   struct rx_prologue *p
-    = rx_analyze_frame_prologue (this_frame, this_prologue_cache);
+    = rx_analyze_frame_prologue (this_frame, frame_type, this_cache);
 
   /* In functions that use alloca, the distance between the stack
      pointer and the frame base varies dynamically, so we can't use
@@ -421,46 +534,166 @@ rx_frame_base (struct frame_info *this_f
 }
 
 /* Implement the "frame_this_id" method for unwinding frames.  */
+
 static void
-rx_frame_this_id (struct frame_info *this_frame,
-		  void **this_prologue_cache, struct frame_id *this_id)
+rx_frame_this_id (struct frame_info *this_frame, void **this_cache,
+                  struct frame_id *this_id)
 {
-  *this_id = frame_id_build (rx_frame_base (this_frame, this_prologue_cache),
+  *this_id = frame_id_build (rx_frame_base (this_frame, this_cache),
 			     get_frame_func (this_frame));
 }
 
 /* Implement the "frame_prev_register" method for unwinding frames.  */
+
 static struct value *
-rx_frame_prev_register (struct frame_info *this_frame,
-			void **this_prologue_cache, int regnum)
+rx_frame_prev_register (struct frame_info *this_frame, void **this_cache,
+                        int regnum)
 {
+  enum rx_frame_type frame_type = rx_frame_type (this_frame, this_cache);
   struct rx_prologue *p
-    = rx_analyze_frame_prologue (this_frame, this_prologue_cache);
-  CORE_ADDR frame_base = rx_frame_base (this_frame, this_prologue_cache);
-  int reg_size = register_size (get_frame_arch (this_frame), regnum);
+    = rx_analyze_frame_prologue (this_frame, frame_type, this_cache);
+  CORE_ADDR frame_base = rx_frame_base (this_frame, this_cache);
 
   if (regnum == RX_SP_REGNUM)
-    return frame_unwind_got_constant (this_frame, regnum, frame_base);
+    {
+      if (frame_type == RX_FRAME_TYPE_EXCEPTION)
+        {
+	  struct value *psw_val;
+	  CORE_ADDR psw;
+
+	  psw_val = rx_frame_prev_register (this_frame, this_cache,
+	                                    RX_PSW_REGNUM);
+	  psw = extract_unsigned_integer (value_contents_all (psw_val), 4, 
+					  gdbarch_byte_order (
+					    get_frame_arch (this_frame)));
+
+	  if ((psw & 0x20000 /* U bit */) != 0)
+	    return rx_frame_prev_register (this_frame, this_cache,
+	                                   RX_USP_REGNUM);
+
+          /* Fall through for the case where U bit is zero.  */
+	}
+
+      return frame_unwind_got_constant (this_frame, regnum, frame_base);
+    }
+
+  if (frame_type == RX_FRAME_TYPE_FAST_INTERRUPT)
+    {
+      if (regnum == RX_PC_REGNUM)
+        return rx_frame_prev_register (this_frame, this_cache,
+	                               RX_BPC_REGNUM);
+      if (regnum == RX_PSW_REGNUM)
+        return rx_frame_prev_register (this_frame, this_cache,
+	                               RX_BPSW_REGNUM);
+    }
 
   /* If prologue analysis says we saved this register somewhere,
      return a description of the stack slot holding it.  */
-  else if (p->reg_offset[regnum] != 1)
+  if (p->reg_offset[regnum] != 1)
     return frame_unwind_got_memory (this_frame, regnum,
 				    frame_base + p->reg_offset[regnum]);
 
   /* Otherwise, presume we haven't changed the value of this
      register, and get it from the next frame.  */
+  return frame_unwind_got_register (this_frame, regnum, regnum);
+}
+
+/* Return TRUE if the frame indicated by FRAME_TYPE is a normal frame.  */
+
+static int
+normal_frame_p (enum rx_frame_type frame_type)
+{
+  return (frame_type == RX_FRAME_TYPE_NORMAL);
+}
+
+/* Return TRUE if the frame indicated by FRAME_TYPE is an exception
+   frame.  */
+
+static int
+exception_frame_p (enum rx_frame_type frame_type)
+{
+  return (frame_type == RX_FRAME_TYPE_EXCEPTION
+          || frame_type == RX_FRAME_TYPE_FAST_INTERRUPT);
+}
+
+/* Common code used by both normal and exception frame sniffers.  */
+
+static int
+rx_frame_sniffer_common (const struct frame_unwind *self,
+                         struct frame_info *this_frame,
+			 void **this_cache,
+			 int (*sniff_p)(enum rx_frame_type) )
+{
+  gdb_assert (this_cache != NULL);
+
+  if (*this_cache == NULL)
+    {
+      enum rx_frame_type frame_type = rx_frame_type (this_frame, this_cache);
+
+      if (sniff_p (frame_type))
+        {
+	  /* The call below will fill in the cache, including the frame
+	     type.  */
+	  (void) rx_analyze_frame_prologue (this_frame, frame_type, this_cache);
+
+	  return 1;
+        }
+      else
+        return 0;
+    }
   else
-    return frame_unwind_got_register (this_frame, regnum, regnum);
+    {
+      struct rx_prologue *p = *this_cache;
+
+      return sniff_p (p->frame_type);
+    }
+}
+
+/* Frame sniffer for normal (non-exception) frames.  */
+
+static int
+rx_frame_sniffer (const struct frame_unwind *self,
+                  struct frame_info *this_frame,
+		  void **this_cache)
+{
+  return rx_frame_sniffer_common (self, this_frame, this_cache,
+                                  normal_frame_p);
+}
+
+/* Frame sniffer for exception frames.  */
+
+static int
+rx_exception_sniffer (const struct frame_unwind *self,
+                             struct frame_info *this_frame,
+			     void **this_cache)
+{
+  return rx_frame_sniffer_common (self, this_frame, this_cache,
+                                  exception_frame_p);
 }
 
+/* Data structure for normal code using instruction-based prologue
+   analyzer.  */
+
 static const struct frame_unwind rx_frame_unwind = {
   NORMAL_FRAME,
   default_frame_unwind_stop_reason,
   rx_frame_this_id,
   rx_frame_prev_register,
   NULL,
-  default_frame_sniffer
+  rx_frame_sniffer
+};
+
+/* Data structure for exception code using instruction-based prologue
+   analyzer.  */
+
+static const struct frame_unwind rx_exception_unwind = {
+  /* SIGTRAMP_FRAME could be used here, but backtraces are less informative.  */
+  NORMAL_FRAME,
+  default_frame_unwind_stop_reason,
+  rx_frame_this_id,
+  rx_frame_prev_register,
+  NULL,
+  rx_exception_sniffer
 };
 
 /* Implement the "unwind_pc" gdbarch method.  */
@@ -816,6 +1049,45 @@ rx_gdbarch_init (struct gdbarch_info inf
   gdbarch = gdbarch_alloc (&info, tdep);
   tdep->elf_flags = elf_flags;
 
+  /* Initialize the flags type for PSW and BPSW.  */
+
+  tdep->rx_psw_type = arch_flags_type (gdbarch, "rx_psw_type", 4);
+  append_flags_type_flag (tdep->rx_psw_type, 0, "C");
+  append_flags_type_flag (tdep->rx_psw_type, 1, "Z");
+  append_flags_type_flag (tdep->rx_psw_type, 2, "S");
+  append_flags_type_flag (tdep->rx_psw_type, 3, "O");
+  append_flags_type_flag (tdep->rx_psw_type, 16, "I");
+  append_flags_type_flag (tdep->rx_psw_type, 17, "U");
+  append_flags_type_flag (tdep->rx_psw_type, 20, "PM");
+  append_flags_type_flag (tdep->rx_psw_type, 24, "IPL0");
+  append_flags_type_flag (tdep->rx_psw_type, 25, "IPL1");
+  append_flags_type_flag (tdep->rx_psw_type, 26, "IPL2");
+  append_flags_type_flag (tdep->rx_psw_type, 27, "IPL3");
+
+  /* Initialize flags type for FPSW.  */
+
+  tdep->rx_fpsw_type = arch_flags_type (gdbarch, "rx_fpsw_type", 4);
+  append_flags_type_flag (tdep->rx_fpsw_type, 0, "RM0");
+  append_flags_type_flag (tdep->rx_fpsw_type, 1, "RM1");
+  append_flags_type_flag (tdep->rx_fpsw_type, 2, "CV");
+  append_flags_type_flag (tdep->rx_fpsw_type, 3, "CO");
+  append_flags_type_flag (tdep->rx_fpsw_type, 4, "CZ");
+  append_flags_type_flag (tdep->rx_fpsw_type, 5, "CU");
+  append_flags_type_flag (tdep->rx_fpsw_type, 6, "CX");
+  append_flags_type_flag (tdep->rx_fpsw_type, 7, "CE");
+  append_flags_type_flag (tdep->rx_fpsw_type, 8, "DN");
+  append_flags_type_flag (tdep->rx_fpsw_type, 10, "EV");
+  append_flags_type_flag (tdep->rx_fpsw_type, 11, "EO");
+  append_flags_type_flag (tdep->rx_fpsw_type, 12, "EZ");
+  append_flags_type_flag (tdep->rx_fpsw_type, 13, "EU");
+  append_flags_type_flag (tdep->rx_fpsw_type, 14, "EX");
+  append_flags_type_flag (tdep->rx_fpsw_type, 26, "FV");
+  append_flags_type_flag (tdep->rx_fpsw_type, 27, "FO");
+  append_flags_type_flag (tdep->rx_fpsw_type, 28, "FZ");
+  append_flags_type_flag (tdep->rx_fpsw_type, 29, "FU");
+  append_flags_type_flag (tdep->rx_fpsw_type, 30, "FX");
+  append_flags_type_flag (tdep->rx_fpsw_type, 31, "FS");
+
   set_gdbarch_num_regs (gdbarch, RX_NUM_REGS);
   set_gdbarch_num_pseudo_regs (gdbarch, 0);
   set_gdbarch_register_name (gdbarch, rx_register_name);
@@ -860,6 +1132,7 @@ rx_gdbarch_init (struct gdbarch_info inf
   set_gdbarch_dwarf2_reg_to_regnum (gdbarch, rx_dwarf_reg_to_regnum);
 
   /* Frame unwinding.  */
+  frame_unwind_append_unwinder (gdbarch, &rx_exception_unwind);
   dwarf2_append_unwinders (gdbarch);
   frame_unwind_append_unwinder (gdbarch, &rx_frame_unwind);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/s390-linux-tdep.c ./gdb/s390-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/gdb/s390-linux-tdep.c	2015-07-02 01:48:29.000000000 +0000
+++ ./gdb/s390-linux-tdep.c	2015-07-03 01:48:30.000000000 +0000
@@ -2572,7 +2572,8 @@ s390_handle_arg (struct s390_arg_state *
     }
   else if (s390_function_arg_integer (type) && length <= word_size)
     {
-      ULONGEST val;
+      /* Initialize it just to avoid a GCC false warning.  */
+      ULONGEST val = 0;
 
       if (write_mode)
 	{
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/include/opcode/ChangeLog ./include/opcode/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/include/opcode/ChangeLog	2015-07-02 01:48:30.000000000 +0000
+++ ./include/opcode/ChangeLog	2015-07-03 01:48:30.000000000 +0000
@@ -1,3 +1,7 @@
+2015-07-03  Alan Modra  <amodra@gmail.com>
+
+	* ppc.h (PPC_OPCODE_750, PPC_OPCODE_7450, PPC_OPCODE_860): Define.
+
 2015-07-01  Sandra Loosemore  <sandra@codesourcery.com>
 	    Cesar Philippidis  <cesar@codesourcery.com>
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/include/opcode/ppc.h ./include/opcode/ppc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/include/opcode/ppc.h	2015-07-02 01:48:30.000000000 +0000
+++ ./include/opcode/ppc.h	2015-07-03 01:48:30.000000000 +0000
@@ -195,6 +195,15 @@ extern const int vle_num_opcodes;
    that isn't a superset of POWER8, we can define this to its own mask.  */
 #define PPC_OPCODE_HTM        PPC_OPCODE_POWER8
 
+/* Opcode is supported by ppc750cl.  */
+#define PPC_OPCODE_750	      0x4000000000ull
+
+/* Opcode is supported by ppc7450.  */
+#define PPC_OPCODE_7450	      0x8000000000ull
+
+/* Opcode is supported by ppc821/850/860.  */
+#define PPC_OPCODE_860	      0x10000000000ull
+
 /* A macro to extract the major opcode from an instruction.  */
 #define PPC_OP(i) (((i) >> 26) & 0x3f)
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/md5.sum ./md5.sum
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/md5.sum	2015-07-02 01:51:20.000000000 +0000
+++ ./md5.sum	2015-07-03 01:51:33.000000000 +0000
@@ -38,7 +38,7 @@ f74f5720bf485dc971d7b4151b97318b  bfd/pe
 d714ee957aefa81619f03058d91b23cb  bfd/elfcore.h
 64f6bec36e44883df8ceae0157bb7a4e  bfd/elf64-mips.c
 57287cb3abe2dc7f66af4ab28aafebe9  bfd/cpu-m9s12x.c
-e6deba776f32b31d687c888b1a7d1f36  bfd/version.h
+dc64fb6d99c544d93bd665f9947a12ec  bfd/version.h
 a107ac2f34a58b7629fbff59490f61f1  bfd/cpu-tilegx.c
 ceebc66a221f8f9297b660d643de9009  bfd/coff-mcore.c
 b33e0ba78cdd46c771e365ab8b48bfc1  bfd/cpu-avr.c
@@ -797,7 +797,7 @@ bb26a191e62c2ce59cd872b45a099412  gdb/co
 08e5d26f56f099e7a8f1ed9bf1e859d2  gdb/common/agent.c
 4faac57da85325b4d38574b6bb2c8f48  gdb/common/version.h
 4b4adfa316fe7c2b9f435d4628fe9ea1  gdb/common/common-exceptions.c
-225ba0fcc199ace72b4ec62c3300d2f0  gdb/common/btrace-common.c
+cd030d2b6fb323f9b860dd682f8cb417  gdb/common/btrace-common.c
 661a20cb5c67aa082d0e4a1366929392  gdb/common/gdb_wait.h
 890a6a8e84471714836f3bc1f219c9e2  gdb/common/cleanups.c
 622008c6b22d399cc2b46112a15c9d34  gdb/common/agent.h
@@ -822,7 +822,7 @@ e68bb27d69c42a39347fb7b67bc5d0cc  gdb/co
 9bed65b1ad67d9fb8fbdcfc93d0a3762  gdb/common/ax.def
 c42c1804263536b4522f7fee338b0554  gdb/common/fileio.h
 8a1eceef4ce5e3a7e033bf380860e2c6  gdb/common/ptid.c
-ae04e714e0420b6578b7fb0b6b1ff30e  gdb/common/btrace-common.h
+63734e72139aa540bc70c6357253b082  gdb/common/btrace-common.h
 d8e5468c8c12db3af389c0963352a4ab  gdb/common/gdb_signals.h
 8a9dfeb3dc3e17c485ada46e5ef7db14  gdb/common/break-common.h
 633a6e1f04b432fb2cca86e0343e7b4e  gdb/common/rsp-low.c
@@ -896,8 +896,8 @@ a8325de9c6473c15722e1cfdb6d2ba24  gdb/co
 66e64d38d64c18c47e8605b6267e09b5  gdb/tramp-frame.h
 ddbd14b96c4b153eba02ccadf4ed9807  gdb/gdb-demangle.h
 f20f59d9e6fa60e85eb9a2d727e3e316  gdb/ravenscar-thread.c
-73d5125a7d51d00c9b821b362a2bf860  gdb/Makefile.in
-a6059fba80b6469f35d1bb8ea3282470  gdb/btrace.h
+a2499ead691073f0c1cd2b4e1a0a9280  gdb/Makefile.in
+b44c7dded35a3cc33e2b1b2c9f814fbc  gdb/btrace.h
 aaa0a2d54605b37838cf54ced8baa29e  gdb/windows-nat.h
 f64c228a59ac9322bf93cf5a805339cc  gdb/sparc64-linux-tdep.c
 cd7a0d38f81c04741e1cdfc1c2fc3a1f  gdb/gdbtypes.h
@@ -1018,7 +1018,7 @@ bbcfda9952d30543e90f419f4f715a63  gdb/sy
 6f3c6b23272f15650268798d4746125a  gdb/auxv.c
 6d80739bf7dd2f5c2bf9c60636f6b2ee  gdb/bfin-linux-tdep.c
 893f920a6857cb5291388021fb372832  gdb/m2-lang.h
-a38b615be7d724a4a181f161bebab6aa  gdb/s390-linux-tdep.c
+0877f36782a1830cf1e10c8bd3d682d2  gdb/s390-linux-tdep.c
 0372eb583f9ab6f29bcd3089d317b462  gdb/auto-load.c
 2035ea8c2da384f196e17db43c1a1ea0  gdb/interps.h
 7149af0461b46dd57b1838cbb7921f80  gdb/arm-linux-nat.c
@@ -1044,7 +1044,7 @@ d60a54fbdfa129e9bca6a9f893d16563  gdb/na
 eea34e0feec6ac9c6c505579dc0ca484  gdb/nat/linux-osdata.c
 63c1f79413a41d26b7f91f5311657ae1  gdb/nat/linux-procfs.h
 0ca065781c1924d2417918568b4297ef  gdb/nat/linux-nat.h
-61a6be1f5909572f4c31e8eaf987381b  gdb/nat/linux-btrace.c
+771d68cfd76a4efbbe902698e304a7d2  gdb/nat/linux-btrace.c
 bc0fad0e4537352dfac487f8962d1271  gdb/nat/x86-dregs.h
 94f19b3311212a7ecc56e5e250d20fb0  gdb/nat/x86-linux-dregs.h
 6489a0467d4f694f32a17b05f2aeb255  gdb/nat/linux-procfs.c
@@ -1055,7 +1055,7 @@ c7dfc445b6323031b80a37766cea1554  gdb/na
 adae21661830cc755ff5274534e762d4  gdb/nat/glibc_thread_db.h
 246e0ace1cfae5ea2781c283157f1d6e  gdb/nat/linux-personality.h
 ffead0956cd726c71c5c37062347d95c  gdb/nat/x86-dregs.c
-3cdcb564c654c781a00861721f74a648  gdb/nat/linux-btrace.h
+c687e0580e5a12d6e0ed07f2ef6c835e  gdb/nat/linux-btrace.h
 438a661fb60ff1a0a505f7d333245569  gdb/nat/linux-namespaces.h
 a20db5a50862281e0c33c011e26917ba  gdb/nat/linux-personality.c
 7f96493e385a602effd492459e9d90e8  gdb/nat/linux-waitpid.c
@@ -1131,8 +1131,8 @@ fb7275697634f50659638ed9d450ea21  gdb/se
 f6e45772e267f15df45387f05a84e7e3  gdb/ui-file.h
 558deaffbd3865bb86b926fa70939ce5  gdb/user-regs.h
 f98668e6b62ba2b17a25ebb7e9961fc1  gdb/PROBLEMS
-a4c9011ae5e261399d364be1a54a4a4c  gdb/config.in
-1f8926ce485ab88892a430a21f86a946  gdb/configure.ac
+56fa9595beefc91a0e70fe4ef4814491  gdb/config.in
+17c26a8de8536cd2cf551e957a1dcf01  gdb/configure.ac
 05cd9a9bab662b87d71bf65416dad203  gdb/amd64-sol2-tdep.c
 2fecfae7bfbd339afd0a57d6d7406820  gdb/vax-tdep.c
 996868fc568af118fe9bfaa52c492c52  gdb/sparc-sol2-nat.c
@@ -1149,7 +1149,7 @@ f3ff4ebb96f423721dfa8c47a310fe1f  gdb/i3
 f0d3ba29b2736cc8f91cb98fe5207519  gdb/mem-break.c
 380331ec2eb36a0ac59045f90310e589  gdb/charset.c
 5932b69578cdab409ead785ce1015746  gdb/sparc-nat.h
-47d556964b6796b01b9d6f93626e553c  gdb/record-btrace.c
+e900423ffdc38762fdb64e5dcaa7649a  gdb/record-btrace.c
 5db49a36b0fdbc838016f4bfc8cc4613  gdb/proc-api.c
 c493ff63a81af409f53d0f5f01985115  gdb/alphabsd-nat.c
 7f6c36e4ec8e125f888feac7e40f2c1a  gdb/target-memory.c
@@ -1255,7 +1255,7 @@ cbd451a00769a9c8c7c6cd52f55b861b  gdb/sp
 2bf7d0eb07c73f019c7d3e6a908c8524  gdb/environ.h
 b30a9321996160345deeb868fb99280e  gdb/m32r-linux-nat.c
 c267f050c587862dce2bef754dfc4493  gdb/gdb_bfd.c
-50a19830c83ee4bcac0891228cd04c6d  gdb/NEWS
+eccb62e0db76f6df30a430f6ee1e1b00  gdb/NEWS
 b4133d1e27b97096efb8d84ee2b7d3eb  gdb/ppcnbsd-tdep.h
 a9b65db6bf004e64ec3699d48e10521a  gdb/x86-nat.c
 367bb9fbe21d534fdf0bb25af4eadbe0  gdb/dcache.c
@@ -4384,43 +4384,43 @@ dc3fd52f6c7a3934f21054cf80ecd074  gdb/f-
 19a5a53a8dbef5372bd3113c323a2bf2  gdb/gdb_curses.h
 1bbdb3e7ea9ca53f9a8cf1a548dca9f5  gdb/jv-valprint.c
 8108dd8f906f2654fecc74958cf383db  gdb/doc/psrc.sed
-1e81f3b5fff8e3fbf3b7de3165b296bd  gdb/doc/gdb.info-3
-880d670e0717812693d0788da9edc8b3  gdb/doc/gdb.info-4
+8ae839afab9c28e0473af08fd97d4d21  gdb/doc/gdb.info-3
+eae1fc223b74788aa9923e1e27d18b1f  gdb/doc/gdb.info-4
 ab0fe311032294b952da80585b8b90e7  gdb/doc/fdl.texi
 be5469929c58735017a3a1e083554ac7  gdb/doc/Makefile.in
-513fb623f072891316470966ddd5fbcf  gdb/doc/gdb.info-7
+93fd022eb56e2bc0a6bee656126446f2  gdb/doc/gdb.info-7
 65ee16c0a68d8954d5892092576beb66  gdb/doc/observer.texi
-00aae338dd6d567621205674a811d991  gdb/doc/gdbserver.1
+09683f32eced309c60b1c9e6d880f97e  gdb/doc/gdbserver.1
 e2d60785de02ac5252c6d40e24f4a7e4  gdb/doc/guile.texi
 f81a0e00e0cb9e41b078069fb9bedb07  gdb/doc/stack_frame.txt
 52c8bd855ea4966966f8c8e9a6a274fc  gdb/doc/stabs.info
-2b18ca1ffc35912f5ab06c1ba58f1eb7  gdb/doc/gdb.info-5
-6ef45e9a0c84bb850938caadf5d58aaf  gdb/doc/gdb.info-8
+c66e01bc98485aec6fa432bc2f48ee35  gdb/doc/gdb.info-5
+c505ef3381d630d6b744448bb8450c92  gdb/doc/gdb.info-8
 132df0593e237d8337cf0134804ca21e  gdb/doc/agentexpr.texi
-91d0a00a8b58c4aee420fb398009852d  gdb/doc/gdb.info-1
+7a307b9abb7dd30e870376a09a20c257  gdb/doc/gdb.info-1
 d5d06eaf9b4d44aa442a4a281aa9aea4  gdb/doc/a4rc.sed
-20ebbb3e2b8503e6c50f41c063cab46a  gdb/doc/gdb.info-6
-0d500c8e343c7456f39e24475f979267  gdb/doc/gdb.texinfo
+b2ae1dda3c67f83151090e0f71426507  gdb/doc/gdb.info-6
+2aa6015931e9f6f1aab620ebbc7581ce  gdb/doc/gdb.texinfo
 553b7fe1bf4b5d8b96fdb8cd83503de1  gdb/doc/stack_frame.svg
 04c82b1da7e894a6555868e4f86225af  gdb/doc/filter-for-doxygen
 938187ce9976cbeb134b49335770152c  gdb/doc/Doxyfile-gdb-api.in
 f828e05ce4faab3d297f32d540f77c99  gdb/doc/annotate.info
-c201601d06454ffa7449af8a56925a1d  gdb/doc/gdb.info-2
+2caad9e5c0b8bcd3bf6cd0d87ab72fc7  gdb/doc/gdb.info-2
 df443225fa3e5719ca7e6925a7e633e0  gdb/doc/refcard.tex
 6076d300a46651562d4ecd0604442414  gdb/doc/stack_frame.png
-daf578ec247ef3ae538f5bb6037eb44c  gdb/doc/gdb.info
+2e931ab2213c3b29250ef925b7f1b127  gdb/doc/gdb.info
 51fe9bc8ae61f4c3f8d31c2a67998119  gdb/doc/python.texi
 3f8eb27056f05095db22018909d4ce49  gdb/doc/stabs.texinfo
-ec9bfa0b22c36ca428cab2914c2b692a  gdb/doc/ChangeLog
-308df77cd0839139df2ae622fa5c0772  gdb/doc/gdb.1
-5f2432529ee73c584ebcf6787a1a71c7  gdb/doc/gcore.1
+62ed41b1e0530c2940f0001757f6c963  gdb/doc/ChangeLog
+9ac7ad700944b0baf5d2b555ccee7090  gdb/doc/gdb.1
+81f338290699cc02cb107dff6727b641  gdb/doc/gcore.1
 d39233c86ed6a6dc9e853ae6a11fe03e  gdb/doc/stack_frame.pdf
 2daa53916456ce35b6806c2883623b89  gdb/doc/Doxyfile-base.in
 7e8f20fd3b739803f4bd3991d35a4a1f  gdb/doc/all-cfg.texi
 bf96494e6e4d346175babd5ef9781882  gdb/doc/gpl.texi
 cd5e3faa9bd1b684a73c7d527cdb4988  gdb/doc/filter-params.pl
 7bfdb0765c5d050d204fbb30aeeba0d8  gdb/doc/stack_frame.eps
-013a273185398ec51f5ec2577aa9219a  gdb/doc/gdbinit.5
+54d822d6df77d44af66237773d4906c7  gdb/doc/gdbinit.5
 d606e873666ae0bc7bc7c84d6c9c2332  gdb/doc/Doxyfile-gdb-xref.in
 705bf0b3fb65b3f7e3db4cc5d9ae8eba  gdb/doc/annotate.texinfo
 79278fc2f5486809779a9a8f8883d401  gdb/doc/doxy-index.in
@@ -4514,7 +4514,7 @@ cd8da0c22be18f60039f84b4dd380975  gdb/so
 5a7bc54bbe28baab6d8d0ad84f9e201f  gdb/continuations.h
 fb1248d7975642f381b9b25cc7a39431  gdb/infrun.h
 0bb6b6c1231783240a3910aa11052467  gdb/jit.c
-e9b487653cc0729209d25d4a2d13eba9  gdb/rx-tdep.c
+a627d230e389fd4c8294346e7be0384d  gdb/rx-tdep.c
 299a2462d01273cb6f691fcb72806a8b  gdb/frame-base.h
 64a7d3424d84be90bd2090adfb5c57cb  gdb/xml-syscall.c
 a48265a68a0325a20f4ac7769a18c6b0  gdb/symfile-mem.c
@@ -4564,7 +4564,7 @@ c75a0fc638fbd07266ead246dd534ad9  gdb/fe
 3b4db1c5fba9c5f4025044708e971132  gdb/features/xinclude.dtd
 c1b29d0bbdb04d576cd5a7739567d5ca  gdb/features/arm-with-m.c
 03c5d92aeeb01112bd4a99a55e07669f  gdb/features/mips64-cpu.xml
-685065094298877054903d7ae6cd3769  gdb/features/btrace-conf.dtd
+165567b4bf33e9415bdeebbfbdffb9eb  gdb/features/btrace-conf.dtd
 f9ef388e77543e8426b1487c459305aa  gdb/features/s390x-linux64v2.c
 80addb7b6e7c8371fdd793428b0b19e0  gdb/features/tic6x-c62x-linux.c
 33a5af835ec7fa35e71684b0bebefa23  gdb/features/xscale-iwmmxt.xml
@@ -4581,7 +4581,7 @@ aef12f12a60062ed1bab7a1a63e1dfe7  gdb/fe
 91c1f7e9430dac8cfdccad24dc6fab39  gdb/features/aarch64-core.xml
 e6d6ce4d9cf2f688394a9e5282a82ba9  gdb/features/osdata.dtd
 fb6ca23c25ce2c37160ebe80fd141089  gdb/features/mips-fpu.xml
-8d42ca960144fc25f7cd1af07c8580ff  gdb/features/btrace.dtd
+af6fa90d4d1fd550b29aa750755ab489  gdb/features/btrace.dtd
 c84fef82a581e046b15499592359e428  gdb/features/tic6x-c64x-linux.xml
 584b2140cb3a6d21d216ae9144426dc1  gdb/features/microblaze.c
 6aca6f50bac123c958d0cfadaf339864  gdb/features/mips-dsp.xml
@@ -4816,7 +4816,7 @@ a624bd2ab7aa99cfba183c16df0a476b  gdb/ma
 95ee3b7c74a69fa46d37b026d1154f41  gdb/moxie-tdep.c
 ca8ad4d70704345395a9b1712594201d  gdb/gdbtypes.c
 6c85d34d6d298644e360287b003c0b99  gdb/elfread.c
-36ef2f77fe18541a134c5e0eedfce841  gdb/aarch64-linux-nat.c
+22eabeed54a198c5b051950142a70e11  gdb/aarch64-linux-nat.c
 66b7796d9700dabc7ca50604d490974e  gdb/gdb_obstack.c
 a47ede25abd506cb43c1b892edb2ced7  gdb/ppcobsd-tdep.c
 cea36e0e51134793650ffd25a1e94d17  gdb/inflow.c
@@ -4870,7 +4870,7 @@ bd328f2307b3772ddff66f4dd74227e8  gdb/fr
 18189bc71a973e9bec741a43f57e7e4b  gdb/acinclude.m4
 befa2ce6a546d2b73651bcb034b24f65  gdb/arm-tdep.h
 11dbdb684621a33652f8a542b6a0c31b  gdb/hppabsd-tdep.c
-3909e34f4203a515aa081d3759094ea1  gdb/configure
+b1dcc1d7284b50fafd76164b38a2adea  gdb/configure
 56b86a37bd4a40c3220f3cae055c728e  gdb/main.h
 96cf3df1042c227ea68101d8f11c8026  gdb/alpha-tdep.c
 5f66ee75267a1aefd513d3b1f099e640  gdb/xml-tdesc.h
@@ -4889,7 +4889,7 @@ ac8cd5adb103f97f943cc1eec57e566b  gdb/co
 f1679b5d9950d66febb8259748700963  gdb/std-regs.c
 9da9e540b1c6970695a3161272737803  gdb/go-lang.h
 23e51b25e50614cfba06a52e405e2243  gdb/i386-windows-nat.c
-b94c53541896f9554ceedfb7f4e988a3  gdb/po/gdb.pot
+74e82eca334c3e1a9d8d91652121d7bd  gdb/po/gdb.pot
 1851bff0653201a488dcae18dde7efad  gdb/po/gdbtext
 59a3face91a650ce0dcaa925ae89cb59  gdb/break-catch-syscall.c
 3688a736a34cf031d224e1e35d69b662  gdb/ada-lang.c
@@ -4916,7 +4916,7 @@ e6dc6366c95d38a7ac9ebb6ff31462df  gdb/ex
 32bb803ab1e68860f1402dbe7e2cb0f5  gdb/nbsd-nat.h
 83df4734061e07b644f77632819578cf  gdb/mipsread.c
 f5c872d4805a7ac039b4dfc840f4bb8a  gdb/amd64-darwin-tdep.c
-fd8fd51c1c96f8abc67e7c4af0431980  gdb/ChangeLog
+c2429b56c9cf37953094f4bfd02b0688  gdb/ChangeLog
 5a1dbe4837b41ee2b9cc7a35e0d20a61  gdb/go-typeprint.c
 3275c016926223eb629c4f65b64822df  gdb/score-tdep.c
 5a44fd4377f0804008a3697e72efbfe3  gdb/xml-support.h
@@ -4931,7 +4931,7 @@ d53712d859ced3ae7ba1ee8c9cf05129  gdb/cp
 1de2e2c8bd6fc22a95d8484cbf584e4d  gdb/process_reply.defs
 c82adf482d45beaf8c4a392417752d37  gdb/amd64-windows-nat.c
 2aa27372920be225f6f7c46416ee4fa9  gdb/ctf.c
-c1eae28221257253cdee0ce675511da9  gdb/remote.c
+8f4042dba8a78734d1ced1b2142925af  gdb/remote.c
 609e4b3af097ae017c962a8f2d57f359  gdb/mipsnbsd-nat.c
 7d7ebffdff35deba27452386122bdf48  gdb/hppaobsd-tdep.c
 ff627da30eaccd64c9bc469b136a5986  gdb/inf-child.h
@@ -4940,7 +4940,7 @@ f34ac7e6351ea730c894da7f4630ee3b  gdb/fr
 abfe9b271fad460fa9aa5e382e867bc4  gdb/proc-service.list
 23ef72686296e95d0d8648b9c09e2bb3  gdb/gdb-stabs.h
 b74704b24c469e26864be33d81cee77c  gdb/p-exp.c
-03958634ba7b65f5529e3c2f83c967f2  gdb/btrace.c
+1ac7b242d97f06e5554d926f4dbb5877  gdb/btrace.c
 ffc8554c4dc53e83d60027833e4309a9  gdb/m68k-tdep.c
 afb36e83645baeaf5b5b7286af4cd004  gdb/ppcbug-rom.c
 db3cbc9135b7542e0e4e570d3d73a8eb  gdb/coffread.c
@@ -5180,7 +5180,7 @@ c443e2d12144a4acd18f0399e07c85ec  gdb/gd
 fc099bee72b80033781e6db86f16fc3c  gdb/gdbserver/hostio.h
 47c9750ef3a5a00bf319d98c529a5f95  gdb/gdbserver/notif.h
 156e6032fac52a38154c73ecd7d57a7e  gdb/gdbserver/linux-x86-low.c
-d9426fb02682f182300ae9e06be8214b  gdb/gdbserver/server.c
+8f40a9422ce04905651fc090b6607306  gdb/gdbserver/server.c
 62d1e2f727e137a356f164355bfab955  gdb/gdbserver/dll.c
 dbb86a089c3f5f2096ef6e24d721ffec  gdb/gdbserver/debug.h
 bce8b44036e1bf092cde38453342b6f3  gdb/gdbserver/nto-low.c
@@ -5194,9 +5194,9 @@ c603ea99a252e4ca4b7152efe119fa4b  gdb/gd
 7f017910fc10864faa3886a248c0de44  gdb/gdbserver/aclocal.m4
 7b4b71a99687eda01b422ee78db96cc9  gdb/gdbserver/thread-db.c
 a713e728e699f380772910b1e8911321  gdb/gdbserver/linux-tile-low.c
-7957855def8c5117f75b3f79481daaed  gdb/gdbserver/ChangeLog
+fe846eba5d00603116db9fe4318d9ed4  gdb/gdbserver/ChangeLog
 cd1fc12df5787e83d2d67c203cb3d7b3  gdb/gdbserver/linux-ppc-low.c
-804e84b29be6d0f236ab8af7753ba126  gdb/gdbserver/linux-low.c
+12aa3809684ea340209b4656f4eb2b3b  gdb/gdbserver/linux-low.c
 31e072b4e9e5984e19662acc96a07f2e  gdb/gdbserver/proc-service.list
 8bd16fc2c52fd5fdfd5ec457547caefd  gdb/gdbserver/linux-s390-low.c
 29f787a14729e764f56e26257e1bb933  gdb/gdbserver/utils.h
@@ -5435,7 +5435,7 @@ c23512832366209a9153ad7342c7ae64  gdb/gn
 c793c57a366a7f095861f8b364fd657c  gdb/compile/compile.h
 e7c0680f7f99021431c47e0f25f03ff1  gdb/compile/compile-c-symbols.c
 cdc069d810af4b919cffe24cb8b462e8  gdb/compile/compile-object-run.h
-34a09c587008b594fbb16463dd1c56cc  gdb/compile/compile-object-load.c
+966d23692e7af3471b0591a7bd9807ca  gdb/compile/compile-object-load.c
 5567aa677209cf905cb3fd7e949545ff  gdb/compile/compile-c-support.c
 06eb644e6a5926deb3dc4ab1dfe744df  gdb/compile/compile-object-run.c
 83433131dfaedba045a3e979ff7dabc4  gdb/compile/compile-internal.h
@@ -5623,7 +5623,7 @@ a7340eeb78e53f0c0794145e6eee1314  includ
 968deaaea04ca781dd0c30e274d9e4e7  include/opcode/np1.h
 b6a2a682c70b5b12f5ccba7a3e7e49fa  include/opcode/aarch64.h
 c7b41a8f2e623daab2a753b225055a40  include/opcode/pn.h
-55ad1dfc32f2b4b6c08c72e794865c1e  include/opcode/ppc.h
+4e3bd5dfac5ba8fa2e269b05366cac08  include/opcode/ppc.h
 5f517d2c7a96d8d86899bb8d75c3521c  include/opcode/s390.h
 51851d4739086d8eda5d25fc9b083686  include/opcode/pdp11.h
 2891f7be0848f0fbfc65a48d7097cb3d  include/opcode/avr.h
@@ -5631,7 +5631,7 @@ c7b41a8f2e623daab2a753b225055a40  includ
 81bbad63b02bf7339d19d2d01d9893a6  include/opcode/score-datadep.h
 06d6317eaf0d512eb27421b75de37279  include/opcode/crx.h
 5577df272d6fb007b6d8531263f3e7ac  include/opcode/tic6x-opcode-table.h
-30688dd7bb285067882c0e318b381502  include/opcode/ChangeLog
+f9e4f74612f10cb3f5d14befc1fc41ce  include/opcode/ChangeLog
 cc8a71b96ec5a190ef975067a166aa11  include/opcode/moxie.h
 828b891d640050565eb215499562d70f  include/opcode/dlx.h
 a8dbc3aa01e7ef22f68b78c12bff0bc5  include/opcode/tilepro.h
@@ -6283,7 +6283,7 @@ def05b7542b92337c6bead3838f77e93  opcode
 6039fa25c726c6d7bcccca9b763f8be1  opcodes/spu-opc.c
 545734034af0db08fb97628067e3fe2d  opcodes/m32r-desc.h
 6d342c120f34393cb0d405376ed1d983  opcodes/xgate-opc.c
-1ed33a738c4f003185144cd60b4fa27d  opcodes/ppc-dis.c
+c7da463ae398542331048f45add9fa93  opcodes/ppc-dis.c
 5a20d1e0ecb9bf6bf4b01ca2ff4b67be  opcodes/ia64-dis.c
 505bb4abeb972c866485e896da9bbf6e  opcodes/ft32-dis.c
 119b291cfd52841b5e293c56e80086e0  opcodes/z80-dis.c
@@ -6311,7 +6311,7 @@ a7e9322c359242c3f02455555e156240  opcode
 8cb01ea3c0639cb90434d0d002cf003f  opcodes/dlx-dis.c
 509f797cb303f1ed265559d1f53afded  opcodes/m32c-opc.h
 4d13f8b53892acc99fdd4236901e4031  opcodes/pj-dis.c
-a708ed4be2f1c57a927ff394c358eae7  opcodes/ppc-opc.c
+45318e85bc264a185cfc39cbcc3b1d73  opcodes/ppc-opc.c
 2bde525bee20c13b0f748b142e3b83e6  opcodes/d30v-dis.c
 3819e69192693c44a737c91e160af102  opcodes/v850-dis.c
 b1500b336f795894f7750a9c968204ea  opcodes/mt-dis.c
@@ -6375,7 +6375,7 @@ c7e30e39999a3b6a08e95e1b4e9d3e13  opcode
 7a5ab23a191327b14b953ed6eaea5042  opcodes/m10300-dis.c
 d18c6ac0a3b6ddd782aa63521e33340d  opcodes/nds32-opc.h
 e4d4960361aa74b865605f4e7bd19972  opcodes/aarch64-opc.h
-ae67674dd5e9ceaa9d34659217d937c1  opcodes/ChangeLog
+61e4658ddef947e5eb5b47c668a5d2e7  opcodes/ChangeLog
 327cf11f5c08b578f3b0cdb7f3923280  opcodes/ia64-raw.tbl
 44fbf65bc90239d6662482ccb40d94a3  opcodes/frv-dis.c
 9d48462794228e4f15916167ff9fb940  opcodes/aarch64-opc.c
@@ -10601,7 +10601,7 @@ f3be482feebc7953ac9df6f04de9f32e  sim/iq
 35415bc9a4d824ca60898ffccc46758f  sim/iq2000/sim-if.c
 e85b3c26ee8c58db2fd02b5bbc520d6c  sim/README-HACKING
 fc3ec7a805a7008ef3aae6887efa5114  sim/arm/iwmmxt.h
-8df19faf8c32c242d381f92747db3194  sim/arm/Makefile.in
+6d7256ca1c0d182f615e1768c8c9c246  sim/arm/Makefile.in
 03b14a3b665359a8f5c370a05845333d  sim/arm/armopts.h
 c57f748d021cdca072f9436f883888a6  sim/arm/armrdi.c
 c4cd27f0cba3a351a473c4d49abdfc4f  sim/arm/thumbemu.c
@@ -10627,7 +10627,7 @@ af13476a413b9a86f20b50cb8cb764e7  sim/ar
 24aa33b745c4b74d02b644dce86c4509  sim/arm/configure
 94500e8b65d9332dee333844d5522a02  sim/arm/aclocal.m4
 eb6d5ee4bddcbed1338c32dd4d8d2bdf  sim/arm/dbg_rdi.h
-46edc1d1c5244143763bda8baca6d684  sim/arm/ChangeLog
+0c08c01a81ba2217da845b8722bab060  sim/arm/ChangeLog
 d59904186526adf08ab334f1097b744c  sim/arm/armsupp.c
 45b828c2bb48b0320b1a93b21abd8710  sim/arm/arminit.c
 d32239bcb673463ab874e80d47fae504  sim/arm/COPYING
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/opcodes/ChangeLog ./opcodes/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/opcodes/ChangeLog	2015-07-02 01:48:31.000000000 +0000
+++ ./opcodes/ChangeLog	2015-07-03 01:48:31.000000000 +0000
@@ -1,3 +1,9 @@
+2015-07-03  Alan Modra  <amodra@gmail.com>
+
+	* ppc-opc.c (PPC750, PPC7450, PPC860): Define using PPC_OPCODE_*.
+	* ppc-dis.c (ppc_opts): Add 821, 850 and 860 entries.  Add
+	PPC_OPCODE_7450 to 7450 entry.  Add PPC_OPCODE_750 to 750cl entry.
+
 2015-07-01  Sandra Loosemore  <sandra@codesourcery.com>
 	    Cesar Philippidis  <cesar@codesourcery.com>
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/opcodes/ppc-dis.c ./opcodes/ppc-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/opcodes/ppc-dis.c	2015-07-02 01:48:31.000000000 +0000
+++ ./opcodes/ppc-dis.c	2015-07-03 01:48:31.000000000 +0000
@@ -76,12 +76,18 @@ struct ppc_mopt ppc_opts[] = {
     0 },
   { "7410",    (PPC_OPCODE_PPC | PPC_OPCODE_ALTIVEC),
     0 },
-  { "7450",    (PPC_OPCODE_PPC | PPC_OPCODE_ALTIVEC),
+  { "7450",    (PPC_OPCODE_PPC | PPC_OPCODE_7450 | PPC_OPCODE_ALTIVEC),
     0 },
   { "7455",    (PPC_OPCODE_PPC | PPC_OPCODE_ALTIVEC),
     0 },
-  { "750cl",   (PPC_OPCODE_PPC | PPC_OPCODE_PPCPS)
+  { "750cl",   (PPC_OPCODE_PPC | PPC_OPCODE_750 | PPC_OPCODE_PPCPS)
     , 0 },
+  { "821",     (PPC_OPCODE_PPC | PPC_OPCODE_860),
+    0 },
+  { "850",     (PPC_OPCODE_PPC | PPC_OPCODE_860),
+    0 },
+  { "860",     (PPC_OPCODE_PPC | PPC_OPCODE_860),
+    0 },
   { "a2",      (PPC_OPCODE_PPC | PPC_OPCODE_ISEL | PPC_OPCODE_POWER4
 		| PPC_OPCODE_POWER5 | PPC_OPCODE_CACHELCK | PPC_OPCODE_64
 		| PPC_OPCODE_A2),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/opcodes/ppc-opc.c ./opcodes/ppc-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/opcodes/ppc-opc.c	2015-07-02 01:48:31.000000000 +0000
+++ ./opcodes/ppc-opc.c	2015-07-03 01:48:31.000000000 +0000
@@ -2747,9 +2747,9 @@ extract_vleil (unsigned long insn,
 #define PPC440	PPC_OPCODE_440
 #define PPC464	PPC440
 #define PPC476	PPC_OPCODE_476
-#define PPC750	PPC
-#define PPC7450 PPC
-#define PPC860	PPC
+#define PPC750	PPC_OPCODE_750
+#define PPC7450 PPC_OPCODE_7450
+#define PPC860	PPC_OPCODE_860
 #define PPCPS	PPC_OPCODE_PPCPS
 #define PPCVEC	PPC_OPCODE_ALTIVEC
 #define PPCVEC2	PPC_OPCODE_ALTIVEC2
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/sim/arm/ChangeLog ./sim/arm/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/sim/arm/ChangeLog	2015-07-02 01:48:31.000000000 +0000
+++ ./sim/arm/ChangeLog	2015-07-03 01:48:31.000000000 +0000
@@ -1,3 +1,8 @@
+2015-07-02  Nick Clifton  <nickc@redhat.com>
+
+	* Makefile.in (SIM_EXTRA_CFLAGS): Revert previous delta.
+	(SIM_EXTRA_LIBS): Add -lm.
+
 2015-06-28  Nick Clifton  <nickc@redhat.com>
 
 	* Makefile.in (SIM_EXTRA_CFLAGS): Add -lm.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/sim/arm/Makefile.in ./sim/arm/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150702/sim/arm/Makefile.in	2015-07-02 01:48:31.000000000 +0000
+++ ./sim/arm/Makefile.in	2015-07-03 01:48:31.000000000 +0000
@@ -17,7 +17,8 @@
 
 ## COMMON_PRE_CONFIG_FRAG
 
-SIM_EXTRA_CFLAGS = -DMODET -lm
+SIM_EXTRA_CFLAGS = -DMODET
+SIM_EXTRA_LIBS = -lm
 
 SIM_OBJS = \
 	wrapper.o \
