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.20150623/bfd/bfd-in2.h ./bfd/bfd-in2.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/bfd/bfd-in2.h	2015-06-23 01:48:31.000000000 +0000
+++ ./bfd/bfd-in2.h	2015-06-30 01:48:29.000000000 +0000
@@ -450,9 +450,8 @@ enum compressed_debug_section_type
 {
   COMPRESS_DEBUG_NONE = 0,
   COMPRESS_DEBUG = 1 << 0,
-  COMPRESS_DEBUG_ZLIB = COMPRESS_DEBUG | 1 << 1,
-  COMPRESS_DEBUG_GNU_ZLIB = COMPRESS_DEBUG | 1 << 2,
-  COMPRESS_DEBUG_GABI_ZLIB = COMPRESS_DEBUG | 1 << 3
+  COMPRESS_DEBUG_GNU_ZLIB = COMPRESS_DEBUG | 1 << 1,
+  COMPRESS_DEBUG_GABI_ZLIB = COMPRESS_DEBUG | 1 << 2
 };
 
 /* This structure is used to keep track of stabs in sections
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.20150623/bfd/bfd-in.h ./bfd/bfd-in.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/bfd/bfd-in.h	2015-06-23 01:48:31.000000000 +0000
+++ ./bfd/bfd-in.h	2015-06-30 01:48:29.000000000 +0000
@@ -443,9 +443,8 @@ enum compressed_debug_section_type
 {
   COMPRESS_DEBUG_NONE = 0,
   COMPRESS_DEBUG = 1 << 0,
-  COMPRESS_DEBUG_ZLIB = COMPRESS_DEBUG | 1 << 1,
-  COMPRESS_DEBUG_GNU_ZLIB = COMPRESS_DEBUG | 1 << 2,
-  COMPRESS_DEBUG_GABI_ZLIB = COMPRESS_DEBUG | 1 << 3
+  COMPRESS_DEBUG_GNU_ZLIB = COMPRESS_DEBUG | 1 << 1,
+  COMPRESS_DEBUG_GABI_ZLIB = COMPRESS_DEBUG | 1 << 2
 };
 
 /* This structure is used to keep track of stabs in sections
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.20150623/bfd/ChangeLog ./bfd/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/bfd/ChangeLog	2015-06-23 01:48:31.000000000 +0000
+++ ./bfd/ChangeLog	2015-06-30 01:48:29.000000000 +0000
@@ -1,3 +1,99 @@
+2015-06-28  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* bfd-in.h (compressed_debug_section_type): Remove
+	COMPRESS_DEBUG_ZLIB.
+	* bfd-in2.h : Regenerated.
+
+2015-06-26  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	* elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Use executable
+	instead of !shared to indicate an application vs shared library.
+	(_bfd_mips_elf_size_dynamic_sections): Likewise.
+	(_bfd_mips_elf_finish_dynamic_sections): Handle DT_MIPS_RLD_MAP_REL.
+	(_bfd_mips_elf_get_target_dtag): Likewise.
+
+2015-06-25  DJ Delorie  <dj@redhat.com>
+
+	* elf32-msp430.c (msp430_final_link_relocate): Fix comments.  Fix
+	REL loads to match RELA stores.
+
+2015-06-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf.c (_bfd_elf_compute_section_file_positions): Don't
+	initialize sh_size for .shstrtab here.
+
+2015-06-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR gas/18451
+	* elf-bfd.h (elf_sym_strtab): New.
+	(elf_link_hash_table): Add strtabcount, strtabsize and
+	strtab.
+	(_bfd_elf_stringtab_init): Removed.
+	* elf.c (_bfd_elf_stringtab_init): Removed.
+	(_bfd_elf_compute_section_file_positions): Replace
+	bfd_strtab_hash/_bfd_elf_stringtab_init/_bfd_stringtab_free/
+	_bfd_stringtab_size with
+	elf_strtab_hash/_bfd_elf_strtab_init/_bfd_elf_strtab_free/
+	_bfd_elf_strtab_size.  Use _bfd_elf_strtab_add,
+	_bfd_elf_strtab_finalize and _bfd_elf_strtab_offset to get
+	st_name.
+	(swap_out_syms): Likewise.
+	* elflink.c (elf_final_link_info): Replace bfd_strtab_hash
+	with elf_strtab_hash.  Remove symbuf, symbuf_count,
+	symbuf_size and shndxbuf_size.
+	(elf_link_flush_output_syms): Removed.
+	(elf_link_output_sym): Renamed to ...
+	(elf_link_output_symstrtab): This.  Replace _bfd_stringtab_add
+	with _bfd_elf_strtab_add.  Don't flush symbols to the file nor
+	swap out symbols.
+	(elf_link_swap_symbols_out): New.
+	(elf_link_output_extsym): Replace elf_link_output_sym with
+	elf_link_output_symstrtab.
+	(elf_link_input_bfd): Likewise.
+	(elf_final_link_free): Replace _bfd_stringtab_free with
+	_bfd_elf_strtab_free.  Remove symbuf.
+	(bfd_elf_final_link): Replace _bfd_elf_stringtab_init with
+	_bfd_elf_strtab_init.  Don't set symbuf, symbuf_count,
+	symbuf_size nor shndxbuf_size.  Initialize strtabsize and
+	strtab.  Initialize symshndxbuf to -1 when number of sections
+	>= 64K.  Replace elf_link_output_sym/elf_link_output_sym with
+	elf_link_output_symstrtab/elf_link_output_symstrtab. Don't
+	call elf_link_flush_output_syms.  Call _bfd_elf_strtab_finalize
+	and elf_link_swap_symbols_out.  Replace _bfd_stringtab_size
+	and _bfd_stringtab_emit with _bfd_elf_strtab_size and
+	_bfd_elf_strtab_emit.
+
+2015-06-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Silence older
+	GCC warning.
+
+2015-06-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf32-i386.c (elf_i386_allocate_dynrelocs): Always allocate
+	space for the first .plt entry.
+	(elf_i386_size_dynamic_sections): Always add DT_PLTGOT for .plt
+	section.  Add DT_PLTRELSZ, DT_PLTREL and DT_JMPREL only if
+	there are PLT relocations.
+	* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Always
+	allocate space for the first .plt entry.
+	(elf_x86_64_size_dynamic_sections): Always add DT_PLTGOT for
+	.plt section.  Add DT_PLTRELSZ, DT_PLTREL and DT_JMPREL only if
+	there are PLT relocations.
+
+2015-06-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/18591
+	* elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Don't convert
+	R_X86_64_GOTPCREL to R_X86_64_PC32 if it will cause relocation
+	overflow.
+
+2015-06-23  Jiong Wang  <jiong.wang@arm.com>
+
+	* elfnn-aarch64.c (aarch64_readonly_dynrelocs): New function.
+	(elfNN_aarch64_size_dynamic_sections): Traverse hash table to check
+	relocations against read-only sections.
+
 2015-06-18  Nick Clifton  <nickc@redhat.com>
 
 	PR 18481
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.20150623/bfd/elf32-i386.c ./bfd/elf32-i386.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/bfd/elf32-i386.c	2015-06-23 01:48:31.000000000 +0000
+++ ./bfd/elf32-i386.c	2015-06-30 01:48:29.000000000 +0000
@@ -2351,16 +2351,16 @@ elf_i386_allocate_dynrelocs (struct elf_
 	  asection *s = htab->elf.splt;
 	  asection *got_s = htab->plt_got;
 
+	  /* If this is the first .plt entry, make room for the special
+	     first entry.  The .plt section is used by prelink to undo
+	     prelinking for dynamic relocations.  */
+	  if (s->size == 0)
+	    s->size = plt_entry_size;
+
 	  if (use_plt_got)
 	    eh->plt_got.offset = got_s->size;
 	  else
-	    {
-	      /* If this is the first .plt entry, make room for the
-		 special first entry.  */
-	      if (s->size == 0)
-		s->size = plt_entry_size;
-	      h->plt.offset = s->size;
-	    }
+	    h->plt.offset = s->size;
 
 	  /* If this symbol is not defined in a regular file, and we are
 	     not generating a shared library, then set the symbol to this
@@ -3119,11 +3119,18 @@ elf_i386_size_dynamic_sections (bfd *out
 
       if (htab->elf.splt->size != 0)
 	{
-	  if (!add_dynamic_entry (DT_PLTGOT, 0)
-	      || !add_dynamic_entry (DT_PLTRELSZ, 0)
-	      || !add_dynamic_entry (DT_PLTREL, DT_REL)
-	      || !add_dynamic_entry (DT_JMPREL, 0))
+	  /* DT_PLTGOT is used by prelink even if there is no PLT
+	     relocation.  */
+	  if (!add_dynamic_entry (DT_PLTGOT, 0))
 	    return FALSE;
+
+	  if (htab->elf.srelplt->size != 0)
+	    {
+	      if (!add_dynamic_entry (DT_PLTRELSZ, 0)
+		  || !add_dynamic_entry (DT_PLTREL, DT_REL)
+		  || !add_dynamic_entry (DT_JMPREL, 0))
+		return FALSE;
+	    }
 	}
 
       if (relocs)
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.20150623/bfd/elf32-msp430.c ./bfd/elf32-msp430.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/bfd/elf32-msp430.c	2015-06-23 01:48:31.000000000 +0000
+++ ./bfd/elf32-msp430.c	2015-06-30 01:48:29.000000000 +0000
@@ -845,14 +845,14 @@ msp430_final_link_relocate (reloc_howto_
 	break;
 
       case R_MSP430X_PCR20_EXT_ODST:
-	/* [0,4]+[48,16] = ---F ---- FFFF */
+	/* [0,4]+[48,16] = ---F ---- ---- FFFF */
 	contents += rel->r_offset;
 	srel = (bfd_signed_vma) relocation;
 	if (is_rel_reloc)
 	  {
 	    bfd_vma addend;
 	    addend = (bfd_get_16 (input_bfd, contents) & 0xf) << 16;
-	    addend |= bfd_get_16 (input_bfd, contents+4);
+	    addend |= bfd_get_16 (input_bfd, contents + 6);
 	    srel += addend;
 	    
 	  }
@@ -868,14 +868,14 @@ msp430_final_link_relocate (reloc_howto_
 	break;
 
       case R_MSP430X_ABS20_EXT_SRC:
-	/* [7,4]+[32,16] = -78- FFFF */
+	/* [7,4]+[32,16] = -78- ---- FFFF */
 	contents += rel->r_offset;
 	srel = (bfd_signed_vma) relocation;
 	if (is_rel_reloc)
 	  {
 	    bfd_vma addend;
 	    addend = (bfd_get_16 (input_bfd, contents) & 0x0780) << 9;
-	    addend |= bfd_get_16 (input_bfd, contents+2);
+	    addend |= bfd_get_16 (input_bfd, contents + 4);
 	    srel += addend;
 	  }
 	else
@@ -904,14 +904,14 @@ msp430_final_link_relocate (reloc_howto_
 	break;
 
       case R_MSP430X_PCR20_EXT_DST:
-	/* [0,4]+[32,16] = ---F FFFF */
+	/* [0,4]+[32,16] = ---F ---- FFFF */
 	contents += rel->r_offset;
 	srel = (bfd_signed_vma) relocation;
 	if (is_rel_reloc)
 	  {
 	    bfd_vma addend;
 	    addend = (bfd_get_16 (input_bfd, contents) & 0xf) << 16;
-	    addend |= bfd_get_16 (input_bfd, contents+2);
+	    addend |= bfd_get_16 (input_bfd, contents + 4);
 	    srel += addend;
 	  }
 	else
@@ -927,14 +927,14 @@ msp430_final_link_relocate (reloc_howto_
 	break;
 
       case R_MSP430X_PCR20_EXT_SRC:
-	/* [7,4]+32,16] = -78- FFFF */
+	/* [7,4]+[32,16] = -78- ---- FFFF */
 	contents += rel->r_offset;
 	srel = (bfd_signed_vma) relocation;
 	if (is_rel_reloc)
 	  {
 	    bfd_vma addend;
 	    addend = ((bfd_get_16 (input_bfd, contents) & 0x0780) << 9);
-	    addend |= bfd_get_16 (input_bfd, contents+2);
+	    addend |= bfd_get_16 (input_bfd, contents + 4);
 	    srel += addend;;
 	  }
 	else
@@ -961,10 +961,16 @@ msp430_final_link_relocate (reloc_howto_
 	break;
 
       case R_MSP430X_ABS20_EXT_DST:
+	/* [0,4]+[32,16] = ---F ---- FFFF */
 	contents += rel->r_offset;
 	srel = (bfd_signed_vma) relocation;
 	if (is_rel_reloc)
-	  srel += bfd_get_16 (input_bfd, contents) & 0xf;
+	  {
+	    bfd_vma addend;
+	    addend = (bfd_get_16 (input_bfd, contents) & 0xf) << 16;
+	    addend |= bfd_get_16 (input_bfd, contents + 4);
+	    srel += addend;
+	  }
 	else
 	  srel += rel->r_addend;
 	bfd_put_16 (input_bfd, (srel & 0xffff), contents + 4);
@@ -975,14 +981,14 @@ msp430_final_link_relocate (reloc_howto_
 	break;
 
       case R_MSP430X_ABS20_EXT_ODST:
-	/* [0,4]+[48,16] = ---F ---- FFFF */
+	/* [0,4]+[48,16] = ---F ---- ---- FFFF */
 	contents += rel->r_offset;
 	srel = (bfd_signed_vma) relocation;
 	if (is_rel_reloc)
 	  {
 	    bfd_vma addend;
 	    addend = (bfd_get_16 (input_bfd, contents) & 0xf) << 16;
-	    addend |= bfd_get_16 (input_bfd, contents+4);
+	    addend |= bfd_get_16 (input_bfd, contents + 6);
 	    srel += addend;
 	  }
 	else
@@ -995,7 +1001,7 @@ msp430_final_link_relocate (reloc_howto_
 	break;
 
       case R_MSP430X_ABS20_ADR_SRC:
-	/* [8,4]+[32,16] = -F-- FFFF */
+	/* [8,4]+[16,16] = -F-- FFFF */
 	contents += rel->r_offset;
 	srel = (bfd_signed_vma) relocation;
 	if (is_rel_reloc)
@@ -1003,7 +1009,7 @@ msp430_final_link_relocate (reloc_howto_
 	    bfd_vma addend;
 
 	    addend = ((bfd_get_16 (input_bfd, contents) & 0xf00) << 8);
-	    addend |= bfd_get_16 (input_bfd, contents+2);
+	    addend |= bfd_get_16 (input_bfd, contents + 2);
 	    srel += addend;
 	  }
 	else
@@ -1016,14 +1022,14 @@ msp430_final_link_relocate (reloc_howto_
 	break;
 
       case R_MSP430X_ABS20_ADR_DST:
-	/* [0,4]+[32,16] = ---F FFFF */
+	/* [0,4]+[16,16] = ---F FFFF */
 	contents += rel->r_offset;
 	srel = (bfd_signed_vma) relocation;
 	if (is_rel_reloc)
 	  {
 	    bfd_vma addend;
 	    addend = ((bfd_get_16 (input_bfd, contents) & 0xf) << 16);
-	    addend |= bfd_get_16 (input_bfd, contents+2);
+	    addend |= bfd_get_16 (input_bfd, contents + 2);
 	    srel += addend;
 	  }
 	else
@@ -1058,14 +1064,14 @@ msp430_final_link_relocate (reloc_howto_
 	break;
       
       case R_MSP430X_PCR20_CALL:
-	/* [0,4]+[32,16] = ---F FFFF*/
+	/* [0,4]+[16,16] = ---F FFFF*/
 	contents += rel->r_offset;
 	srel = (bfd_signed_vma) relocation;
 	if (is_rel_reloc)
 	  {
 	    bfd_vma addend;
 	    addend = (bfd_get_16 (input_bfd, contents) & 0xf) << 16;
-	    addend |= bfd_get_16 (input_bfd, contents+2);
+	    addend |= bfd_get_16 (input_bfd, contents + 2);
 	    srel += addend;
 	  }
 	else
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.20150623/bfd/elf64-x86-64.c ./bfd/elf64-x86-64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/bfd/elf64-x86-64.c	2015-06-23 01:48:31.000000000 +0000
+++ ./bfd/elf64-x86-64.c	2015-06-30 01:48:29.000000000 +0000
@@ -2571,14 +2571,16 @@ elf_x86_64_allocate_dynrelocs (struct el
 	  asection *bnd_s = htab->plt_bnd;
 	  asection *got_s = htab->plt_got;
 
+	  /* If this is the first .plt entry, make room for the special
+	     first entry.  The .plt section is used by prelink to undo
+	     prelinking for dynamic relocations.  */
+	  if (s->size == 0)
+	    s->size = plt_entry_size;
+
 	  if (use_plt_got)
 	    eh->plt_got.offset = got_s->size;
 	  else
 	    {
-	      /* If this is the first .plt entry, make room for the
-		 special first entry.  */
-	      if (s->size == 0)
-		s->size = plt_entry_size;
 	      h->plt.offset = s->size;
 	      if (bnd_s)
 		eh->plt_bnd.offset = bnd_s->size;
@@ -2901,6 +2903,7 @@ elf_x86_64_convert_mov_to_lea (bfd *abfd
   bfd_boolean changed_contents;
   bfd_boolean changed_relocs;
   bfd_signed_vma *local_got_refcounts;
+  bfd_vma maxpagesize;
 
   /* Don't even try to convert non-ELF outputs.  */
   if (!is_elf_hash_table (link_info->hash))
@@ -2925,6 +2928,7 @@ elf_x86_64_convert_mov_to_lea (bfd *abfd
   changed_contents = FALSE;
   changed_relocs = FALSE;
   local_got_refcounts = elf_local_got_refcounts (abfd);
+  maxpagesize = get_elf_backend_data (abfd)->maxpagesize;
 
   /* Get the section contents.  */
   if (elf_section_data (sec)->this_hdr.contents != NULL)
@@ -2942,58 +2946,172 @@ elf_x86_64_convert_mov_to_lea (bfd *abfd
       unsigned int r_symndx = htab->r_sym (irel->r_info);
       unsigned int indx;
       struct elf_link_hash_entry *h;
+      asection *tsec;
+      char symtype;
+      bfd_vma toff, roff;
+      enum {
+	none, local, global
+      } convert_mov_to_lea;
 
       if (r_type != R_X86_64_GOTPCREL)
 	continue;
 
+      roff = irel->r_offset;
+
+      /* Don't convert R_X86_64_GOTPCREL relocation if it isn't for mov
+	 instruction.  */
+      if (roff < 2
+	  || bfd_get_8 (abfd, contents + roff - 2) != 0x8b)
+	continue;
+
+      tsec = NULL;
+      convert_mov_to_lea = none;
+
       /* Get the symbol referred to by the reloc.  */
       if (r_symndx < symtab_hdr->sh_info)
 	{
 	  Elf_Internal_Sym *isym;
 
+	  /* Silence older GCC warning.  */
+	  h = NULL;
+
 	  isym = bfd_sym_from_r_symndx (&htab->sym_cache,
 					abfd, r_symndx);
 
-	  /* STT_GNU_IFUNC must keep R_X86_64_GOTPCREL relocation.  */
-	  if (ELF_ST_TYPE (isym->st_info) != STT_GNU_IFUNC
-	      && irel->r_offset >= 2
-	      && bfd_get_8 (abfd, contents + irel->r_offset - 2) == 0x8b)
-	    {
-	      bfd_put_8 (abfd, 0x8d, contents + irel->r_offset - 2);
-	      irel->r_info = htab->r_info (r_symndx, R_X86_64_PC32);
-	      if (local_got_refcounts != NULL
-		  && local_got_refcounts[r_symndx] > 0)
-		local_got_refcounts[r_symndx] -= 1;
-	      changed_contents = TRUE;
-	      changed_relocs = TRUE;
+	  symtype = ELF_ST_TYPE (isym->st_info);
+
+	  /* STT_GNU_IFUNC must keep R_X86_64_GOTPCREL relocation and
+	     skip relocation against undefined symbols.  */
+	  if (symtype != STT_GNU_IFUNC && isym->st_shndx != SHN_UNDEF)
+	    {
+	      if (isym->st_shndx == SHN_ABS)
+		tsec = bfd_abs_section_ptr;
+	      else if (isym->st_shndx == SHN_COMMON)
+		tsec = bfd_com_section_ptr;
+	      else if (isym->st_shndx == SHN_X86_64_LCOMMON)
+		tsec = &_bfd_elf_large_com_section;
+	      else
+		tsec = bfd_section_from_elf_index (abfd, isym->st_shndx);
+
+	      toff = isym->st_value;
+	      convert_mov_to_lea = local;
+	    }
+	}
+      else
+	{
+	  indx = r_symndx - symtab_hdr->sh_info;
+	  h = elf_sym_hashes (abfd)[indx];
+	  BFD_ASSERT (h != NULL);
+
+	  while (h->root.type == bfd_link_hash_indirect
+		 || h->root.type == bfd_link_hash_warning)
+	    h = (struct elf_link_hash_entry *) h->root.u.i.link;
+
+	  /* STT_GNU_IFUNC must keep R_X86_64_GOTPCREL relocation.  We also
+	     avoid optimizing _DYNAMIC since ld.so may use its link-time
+	     address.  */
+	  if (h->def_regular
+	      && h->type != STT_GNU_IFUNC
+	      && h != htab->elf.hdynamic
+	      && SYMBOL_REFERENCES_LOCAL (link_info, h))
+	    {
+	      tsec = h->root.u.def.section;
+	      toff = h->root.u.def.value;
+	      symtype = h->type;
+	      convert_mov_to_lea = global;
 	    }
-	  continue;
 	}
 
-      indx = r_symndx - symtab_hdr->sh_info;
-      h = elf_sym_hashes (abfd)[indx];
-      BFD_ASSERT (h != NULL);
-
-      while (h->root.type == bfd_link_hash_indirect
-	     || h->root.type == bfd_link_hash_warning)
-	h = (struct elf_link_hash_entry *) h->root.u.i.link;
-
-      /* STT_GNU_IFUNC must keep R_X86_64_GOTPCREL relocation.  We also
-	 avoid optimizing _DYNAMIC since ld.so may use its link-time
-	 address.  */
-      if (h->def_regular
-	  && h->type != STT_GNU_IFUNC
-	  && h != htab->elf.hdynamic
-	  && SYMBOL_REFERENCES_LOCAL (link_info, h)
-	  && irel->r_offset >= 2
-	  && bfd_get_8 (abfd, contents + irel->r_offset - 2) == 0x8b)
+      if (convert_mov_to_lea == none)
+	continue;
+
+      if (tsec->sec_info_type == SEC_INFO_TYPE_MERGE)
+	{
+	  /* At this stage in linking, no SEC_MERGE symbol has been
+	     adjusted, so all references to such symbols need to be
+	     passed through _bfd_merged_section_offset.  (Later, in
+	     relocate_section, all SEC_MERGE symbols *except* for
+	     section symbols have been adjusted.)
+
+	     gas may reduce relocations against symbols in SEC_MERGE
+	     sections to a relocation against the section symbol when
+	     the original addend was zero.  When the reloc is against
+	     a section symbol we should include the addend in the
+	     offset passed to _bfd_merged_section_offset, since the
+	     location of interest is the original symbol.  On the
+	     other hand, an access to "sym+addend" where "sym" is not
+	     a section symbol should not include the addend;  Such an
+	     access is presumed to be an offset from "sym";  The
+	     location of interest is just "sym".  */
+	   if (symtype == STT_SECTION)
+	     toff += irel->r_addend;
+
+	   toff = _bfd_merged_section_offset (abfd, &tsec,
+					      elf_section_data (tsec)->sec_info,
+					      toff);
+
+	   if (symtype != STT_SECTION)
+	     toff += irel->r_addend;
+	}
+      else
+	toff += irel->r_addend;
+
+      /* Don't convert if R_X86_64_PC32 relocation overflows.  */
+      if (tsec->output_section == sec->output_section)
+	{
+	  if ((toff - roff + 0x80000000) > 0xffffffff)
+	    continue;
+	}
+      else
+	{
+	  asection *asect;
+	  bfd_size_type size;
+
+	  /* At this point, we don't know the load addresses of TSEC
+	     section nor SEC section.  We estimate the distrance between
+	     SEC and TSEC.  */
+	  size = 0;
+	  for (asect = sec->output_section;
+	       asect != NULL && asect != tsec->output_section;
+	       asect = asect->next)
+	    {
+	      asection *i;
+	      for (i = asect->output_section->map_head.s;
+		   i != NULL;
+		   i = i->map_head.s)
+		{
+		  size = align_power (size, i->alignment_power);
+		  size += i->size;
+		}
+	    }
+
+	  /* Don't convert R_X86_64_GOTPCREL if TSEC isn't placed after
+	     SEC.  */
+	  if (asect == NULL)
+	    continue;
+
+	  /* Take PT_GNU_RELRO segment into account by adding
+	     maxpagesize.  */
+	  if ((toff + size + maxpagesize - roff + 0x80000000)
+	      > 0xffffffff)
+	    continue;
+	}
+
+      bfd_put_8 (abfd, 0x8d, contents + roff - 2);
+      irel->r_info = htab->r_info (r_symndx, R_X86_64_PC32);
+      changed_contents = TRUE;
+      changed_relocs = TRUE;
+
+      if (convert_mov_to_lea == local)
+	{
+	  if (local_got_refcounts != NULL
+	      && local_got_refcounts[r_symndx] > 0)
+	    local_got_refcounts[r_symndx] -= 1;
+	}
+      else
 	{
-	  bfd_put_8 (abfd, 0x8d, contents + irel->r_offset - 2);
-	  irel->r_info = htab->r_info (r_symndx, R_X86_64_PC32);
 	  if (h->got.refcount > 0)
 	    h->got.refcount -= 1;
-	  changed_contents = TRUE;
-	  changed_relocs = TRUE;
 	}
     }
 
@@ -3351,12 +3469,19 @@ elf_x86_64_size_dynamic_sections (bfd *o
 
       if (htab->elf.splt->size != 0)
 	{
-	  if (!add_dynamic_entry (DT_PLTGOT, 0)
-	      || !add_dynamic_entry (DT_PLTRELSZ, 0)
-	      || !add_dynamic_entry (DT_PLTREL, DT_RELA)
-	      || !add_dynamic_entry (DT_JMPREL, 0))
+	  /* DT_PLTGOT is used by prelink even if there is no PLT
+	     relocation.  */
+	  if (!add_dynamic_entry (DT_PLTGOT, 0))
 	    return FALSE;
 
+	  if (htab->elf.srelplt->size != 0)
+	    {
+	      if (!add_dynamic_entry (DT_PLTRELSZ, 0)
+		  || !add_dynamic_entry (DT_PLTREL, DT_RELA)
+		  || !add_dynamic_entry (DT_JMPREL, 0))
+		return FALSE;
+	    }
+
 	  if (htab->tlsdesc_plt
 	      && (!add_dynamic_entry (DT_TLSDESC_PLT, 0)
 		  || !add_dynamic_entry (DT_TLSDESC_GOT, 0)))
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.20150623/bfd/elf-bfd.h ./bfd/elf-bfd.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/bfd/elf-bfd.h	2015-06-23 01:48:31.000000000 +0000
+++ ./bfd/elf-bfd.h	2015-06-30 01:48:29.000000000 +0000
@@ -469,6 +469,13 @@ enum elf_target_id
   GENERIC_ELF_DATA
 };
 
+struct elf_sym_strtab
+{
+  Elf_Internal_Sym sym;
+  unsigned long dest_index;
+  unsigned long destshndx_index;
+};
+
 /* ELF linker hash table.  */
 
 struct elf_link_hash_table
@@ -512,6 +519,17 @@ struct elf_link_hash_table
      section.  */
   struct elf_strtab_hash *dynstr;
 
+  /* The number of symbol strings found in the link which must be put
+     into the .strtab section.  */
+  bfd_size_type strtabcount;
+
+  /* The array size of the symbol string table, which becomes the
+     .strtab section.  */
+  bfd_size_type strtabsize;
+
+  /* The array of strings, which becomes the .strtab section.  */
+  struct elf_sym_strtab *strtab;
+
   /* The number of buckets in the hash table in the .hash section.
      This is based on the number of dynamic symbols.  */
   bfd_size_type bucketcount;
@@ -1980,8 +1998,6 @@ extern Elf_Internal_Sym *bfd_sym_from_r_
   (struct sym_cache *, bfd *, unsigned long);
 extern asection *bfd_section_from_elf_index
   (bfd *, unsigned int);
-extern struct bfd_strtab_hash *_bfd_elf_stringtab_init
-  (void);
 
 extern struct elf_strtab_hash * _bfd_elf_strtab_init
   (void);
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.20150623/bfd/elf.c ./bfd/elf.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/bfd/elf.c	2015-06-23 01:48:31.000000000 +0000
+++ ./bfd/elf.c	2015-06-30 01:48:29.000000000 +0000
@@ -51,7 +51,7 @@ SECTION
 static int elf_sort_sections (const void *, const void *);
 static bfd_boolean assign_file_positions_except_relocs (bfd *, struct bfd_link_info *);
 static bfd_boolean prep_headers (bfd *);
-static bfd_boolean swap_out_syms (bfd *, struct bfd_strtab_hash **, int) ;
+static bfd_boolean swap_out_syms (bfd *, struct elf_strtab_hash **, int) ;
 static bfd_boolean elf_read_notes (bfd *, file_ptr, bfd_size_type) ;
 static bfd_boolean elf_parse_notes (bfd *abfd, char *buf, size_t size,
 				    file_ptr offset);
@@ -1610,29 +1610,6 @@ bfd_elf_print_symbol (bfd *abfd,
       break;
     }
 }
-
-/* Allocate an ELF string table--force the first byte to be zero.  */
-
-struct bfd_strtab_hash *
-_bfd_elf_stringtab_init (void)
-{
-  struct bfd_strtab_hash *ret;
-
-  ret = _bfd_stringtab_init ();
-  if (ret != NULL)
-    {
-      bfd_size_type loc;
-
-      loc = _bfd_stringtab_add (ret, "", TRUE, FALSE);
-      BFD_ASSERT (loc == 0 || loc == (bfd_size_type) -1);
-      if (loc == (bfd_size_type) -1)
-	{
-	  _bfd_stringtab_free (ret);
-	  ret = NULL;
-	}
-    }
-  return ret;
-}
 
 /* ELF .o/exec file reading */
 
@@ -3742,7 +3719,7 @@ _bfd_elf_compute_section_file_positions 
   const struct elf_backend_data *bed = get_elf_backend_data (abfd);
   struct fake_section_arg fsargs;
   bfd_boolean failed;
-  struct bfd_strtab_hash *strtab = NULL;
+  struct elf_strtab_hash *strtab = NULL;
   Elf_Internal_Shdr *shstrtab_hdr;
   bfd_boolean need_symtab;
 
@@ -3795,7 +3772,7 @@ _bfd_elf_compute_section_file_positions 
   shstrtab_hdr->sh_type = SHT_STRTAB;
   shstrtab_hdr->sh_flags = 0;
   shstrtab_hdr->sh_addr = 0;
-  shstrtab_hdr->sh_size = _bfd_elf_strtab_size (elf_shstrtab (abfd));
+  /* sh_size is set in _bfd_elf_assign_file_positions_for_non_load.  */
   shstrtab_hdr->sh_entsize = 0;
   shstrtab_hdr->sh_link = 0;
   shstrtab_hdr->sh_info = 0;
@@ -3827,9 +3804,9 @@ _bfd_elf_compute_section_file_positions 
       /* Now that we know where the .strtab section goes, write it
 	 out.  */
       if (bfd_seek (abfd, hdr->sh_offset, SEEK_SET) != 0
-	  || ! _bfd_stringtab_emit (abfd, strtab))
+	  || ! _bfd_elf_strtab_emit (abfd, strtab))
 	return FALSE;
-      _bfd_stringtab_free (strtab);
+      _bfd_elf_strtab_free (strtab);
     }
 
   abfd->output_has_begun = TRUE;
@@ -7065,18 +7042,21 @@ _bfd_elf_copy_private_symbol_data (bfd *
 
 static bfd_boolean
 swap_out_syms (bfd *abfd,
-	       struct bfd_strtab_hash **sttp,
+	       struct elf_strtab_hash **sttp,
 	       int relocatable_p)
 {
   const struct elf_backend_data *bed;
   int symcount;
   asymbol **syms;
-  struct bfd_strtab_hash *stt;
+  struct elf_strtab_hash *stt;
   Elf_Internal_Shdr *symtab_hdr;
   Elf_Internal_Shdr *symtab_shndx_hdr;
   Elf_Internal_Shdr *symstrtab_hdr;
+  struct elf_sym_strtab *symstrtab;
   bfd_byte *outbound_syms;
   bfd_byte *outbound_shndx;
+  unsigned long outbound_syms_index;
+  unsigned long outbound_shndx_index;
   int idx;
   unsigned int num_locals;
   bfd_size_type amt;
@@ -7086,7 +7066,7 @@ swap_out_syms (bfd *abfd,
     return FALSE;
 
   /* Dump out the symtabs.  */
-  stt = _bfd_elf_stringtab_init ();
+  stt = _bfd_elf_strtab_init ();
   if (stt == NULL)
     return FALSE;
 
@@ -7102,16 +7082,29 @@ swap_out_syms (bfd *abfd,
   symstrtab_hdr = &elf_tdata (abfd)->strtab_hdr;
   symstrtab_hdr->sh_type = SHT_STRTAB;
 
+  /* Allocate buffer to swap out the .strtab section.  */
+  symstrtab = (struct elf_sym_strtab *) bfd_malloc ((symcount + 1)
+						    * sizeof (*symstrtab));
+  if (symstrtab == NULL)
+    {
+      _bfd_elf_strtab_free (stt);
+      return FALSE;
+    }
+
   outbound_syms = (bfd_byte *) bfd_alloc2 (abfd, 1 + symcount,
                                            bed->s->sizeof_sym);
   if (outbound_syms == NULL)
     {
-      _bfd_stringtab_free (stt);
+error_return:
+      _bfd_elf_strtab_free (stt);
+      free (symstrtab);
       return FALSE;
     }
   symtab_hdr->contents = outbound_syms;
+  outbound_syms_index = 0;
 
   outbound_shndx = NULL;
+  outbound_shndx_index = 0;
   symtab_shndx_hdr = &elf_tdata (abfd)->symtab_shndx_hdr;
   if (symtab_shndx_hdr->sh_name != 0)
     {
@@ -7119,10 +7112,7 @@ swap_out_syms (bfd *abfd,
       outbound_shndx =  (bfd_byte *)
           bfd_zalloc2 (abfd, 1 + symcount, sizeof (Elf_External_Sym_Shndx));
       if (outbound_shndx == NULL)
-	{
-	  _bfd_stringtab_free (stt);
-	  return FALSE;
-	}
+	goto error_return;
 
       symtab_shndx_hdr->contents = outbound_shndx;
       symtab_shndx_hdr->sh_type = SHT_SYMTAB_SHNDX;
@@ -7142,10 +7132,12 @@ swap_out_syms (bfd *abfd,
     sym.st_other = 0;
     sym.st_shndx = SHN_UNDEF;
     sym.st_target_internal = 0;
-    bed->s->swap_symbol_out (abfd, &sym, outbound_syms, outbound_shndx);
-    outbound_syms += bed->s->sizeof_sym;
+    symstrtab[0].sym = sym;
+    symstrtab[0].dest_index = outbound_syms_index;
+    symstrtab[0].destshndx_index = outbound_shndx_index;
+    outbound_syms_index++;
     if (outbound_shndx != NULL)
-      outbound_shndx += sizeof (Elf_External_Sym_Shndx);
+      outbound_shndx_index++;
   }
 
   name_local_sections
@@ -7153,7 +7145,7 @@ swap_out_syms (bfd *abfd,
        && bed->elf_backend_name_local_section_symbols (abfd));
 
   syms = bfd_get_outsymbols (abfd);
-  for (idx = 0; idx < symcount; idx++)
+  for (idx = 0; idx < symcount;)
     {
       Elf_Internal_Sym sym;
       bfd_vma value = syms[idx]->value;
@@ -7165,18 +7157,17 @@ swap_out_syms (bfd *abfd,
 	  && (flags & (BSF_SECTION_SYM | BSF_GLOBAL)) == BSF_SECTION_SYM)
 	{
 	  /* Local section symbols have no name.  */
-	  sym.st_name = 0;
+	  sym.st_name = (unsigned long) -1;
 	}
       else
 	{
-	  sym.st_name = (unsigned long) _bfd_stringtab_add (stt,
-							    syms[idx]->name,
-							    TRUE, FALSE);
+	  /* Call _bfd_elf_strtab_offset after _bfd_elf_strtab_finalize
+	     to get the final offset for st_name.  */
+	  sym.st_name
+	    = (unsigned long) _bfd_elf_strtab_add (stt, syms[idx]->name,
+						   FALSE);
 	  if (sym.st_name == (unsigned long) -1)
-	    {
-	      _bfd_stringtab_free (stt);
-	      return FALSE;
-	    }
+	    goto error_return;
 	}
 
       type_ptr = elf_symbol_from (abfd, syms[idx]);
@@ -7266,8 +7257,7 @@ Unable to find equivalent output section
 					  syms[idx]->name ? syms[idx]->name : "<Local sym>",
 					  sec->name);
 		      bfd_set_error (bfd_error_invalid_operation);
-		      _bfd_stringtab_free (stt);
-		      return FALSE;
+		      goto error_return;
 		    }
 
 		  shndx = _bfd_elf_section_from_bfd_section (abfd, sec2);
@@ -7353,14 +7343,40 @@ Unable to find equivalent output section
 	  sym.st_target_internal = 0;
 	}
 
-      bed->s->swap_symbol_out (abfd, &sym, outbound_syms, outbound_shndx);
-      outbound_syms += bed->s->sizeof_sym;
+      idx++;
+      symstrtab[idx].sym = sym;
+      symstrtab[idx].dest_index = outbound_syms_index;
+      symstrtab[idx].destshndx_index = outbound_shndx_index;
+
+      outbound_syms_index++;
       if (outbound_shndx != NULL)
-	outbound_shndx += sizeof (Elf_External_Sym_Shndx);
+	outbound_shndx_index++;
+    }
+
+  /* Finalize the .strtab section.  */
+  _bfd_elf_strtab_finalize (stt);
+
+  /* Swap out the .strtab section.  */
+  for (idx = 0; idx <= symcount; idx++)
+    {
+      struct elf_sym_strtab *elfsym = &symstrtab[idx];
+      if (elfsym->sym.st_name == (unsigned long) -1)
+	elfsym->sym.st_name = 0;
+      else
+	elfsym->sym.st_name = _bfd_elf_strtab_offset (stt,
+						      elfsym->sym.st_name);
+      bed->s->swap_symbol_out (abfd, &elfsym->sym,
+			       (outbound_syms
+				+ (elfsym->dest_index
+				   * bed->s->sizeof_sym)),
+			       (outbound_shndx
+				+ (elfsym->destshndx_index
+				   * sizeof (Elf_External_Sym_Shndx))));
     }
+  free (symstrtab);
 
   *sttp = stt;
-  symstrtab_hdr->sh_size = _bfd_stringtab_size (stt);
+  symstrtab_hdr->sh_size = _bfd_elf_strtab_size (stt);
   symstrtab_hdr->sh_type = SHT_STRTAB;
 
   symstrtab_hdr->sh_flags = 0;
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.20150623/bfd/elflink.c ./bfd/elflink.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/bfd/elflink.c	2015-06-23 01:48:31.000000000 +0000
+++ ./bfd/elflink.c	2015-06-30 01:48:29.000000000 +0000
@@ -7444,7 +7444,7 @@ struct elf_final_link_info
   /* Output BFD.  */
   bfd *output_bfd;
   /* Symbol string table.  */
-  struct bfd_strtab_hash *symstrtab;
+  struct elf_strtab_hash *symstrtab;
   /* .dynsym section.  */
   asection *dynsym_sec;
   /* .hash section.  */
@@ -7471,16 +7471,8 @@ struct elf_final_link_info
   /* Array large enough to hold a section pointer for each local
      symbol of any input BFD.  */
   asection **sections;
-  /* Buffer to hold swapped out symbols.  */
-  bfd_byte *symbuf;
-  /* And one for symbol section indices.  */
+  /* Buffer for SHT_SYMTAB_SHNDX section.  */
   Elf_External_Sym_Shndx *symshndxbuf;
-  /* Number of swapped out symbols in buffer.  */
-  size_t symbuf_count;
-  /* Number of symbols which fit in symbuf.  */
-  size_t symbuf_size;
-  /* And same for symshndxbuf.  */
-  size_t shndxbuf_size;
   /* Number of STT_FILE syms seen.  */
   size_t filesym_count;
 };
@@ -8570,47 +8562,21 @@ elf_link_sort_relocs (bfd *abfd, struct 
   return ret;
 }
 
-/* Flush the output symbols to the file.  */
-
-static bfd_boolean
-elf_link_flush_output_syms (struct elf_final_link_info *flinfo,
-			    const struct elf_backend_data *bed)
-{
-  if (flinfo->symbuf_count > 0)
-    {
-      Elf_Internal_Shdr *hdr;
-      file_ptr pos;
-      bfd_size_type amt;
-
-      hdr = &elf_tdata (flinfo->output_bfd)->symtab_hdr;
-      pos = hdr->sh_offset + hdr->sh_size;
-      amt = flinfo->symbuf_count * bed->s->sizeof_sym;
-      if (bfd_seek (flinfo->output_bfd, pos, SEEK_SET) != 0
-	  || bfd_bwrite (flinfo->symbuf, amt, flinfo->output_bfd) != amt)
-	return FALSE;
-
-      hdr->sh_size += amt;
-      flinfo->symbuf_count = 0;
-    }
-
-  return TRUE;
-}
-
-/* Add a symbol to the output symbol table.  */
+/* Add a symbol to the output symbol string table.  */
 
 static int
-elf_link_output_sym (struct elf_final_link_info *flinfo,
-		     const char *name,
-		     Elf_Internal_Sym *elfsym,
-		     asection *input_sec,
-		     struct elf_link_hash_entry *h)
+elf_link_output_symstrtab (struct elf_final_link_info *flinfo,
+			   const char *name,
+			   Elf_Internal_Sym *elfsym,
+			   asection *input_sec,
+			   struct elf_link_hash_entry *h)
 {
-  bfd_byte *dest;
-  Elf_External_Sym_Shndx *destshndx;
   int (*output_symbol_hook)
     (struct bfd_link_info *, const char *, Elf_Internal_Sym *, asection *,
      struct elf_link_hash_entry *);
+  struct elf_link_hash_table *hash_table;
   const struct elf_backend_data *bed;
+  bfd_size_type strtabsize;
 
   BFD_ASSERT (elf_onesymtab (flinfo->output_bfd));
 
@@ -8623,49 +8589,119 @@ elf_link_output_sym (struct elf_final_li
 	return ret;
     }
 
-  if (name == NULL || *name == '\0')
-    elfsym->st_name = 0;
-  else if (input_sec->flags & SEC_EXCLUDE)
-    elfsym->st_name = 0;
+  if (name == NULL
+      || *name == '\0'
+      || (input_sec->flags & SEC_EXCLUDE))
+    elfsym->st_name = (unsigned long) -1;
   else
     {
-      elfsym->st_name = (unsigned long) _bfd_stringtab_add (flinfo->symstrtab,
-							    name, TRUE, FALSE);
+      /* Call _bfd_elf_strtab_offset after _bfd_elf_strtab_finalize
+	 to get the final offset for st_name.  */
+      elfsym->st_name
+	= (unsigned long) _bfd_elf_strtab_add (flinfo->symstrtab,
+					       name, FALSE);
       if (elfsym->st_name == (unsigned long) -1)
 	return 0;
     }
 
-  if (flinfo->symbuf_count >= flinfo->symbuf_size)
-    {
-      if (! elf_link_flush_output_syms (flinfo, bed))
+  hash_table = elf_hash_table (flinfo->info);
+  strtabsize = hash_table->strtabsize;
+  if (strtabsize <= hash_table->strtabcount)
+    {
+      strtabsize += strtabsize;
+      hash_table->strtabsize = strtabsize;
+      strtabsize *= sizeof (*hash_table->strtab);
+      hash_table->strtab
+	= (struct elf_sym_strtab *) bfd_realloc (hash_table->strtab,
+						 strtabsize);
+      if (hash_table->strtab == NULL)
 	return 0;
     }
+  hash_table->strtab[hash_table->strtabcount].sym = *elfsym;
+  hash_table->strtab[hash_table->strtabcount].dest_index
+    = hash_table->strtabcount;
+  hash_table->strtab[hash_table->strtabcount].destshndx_index
+    = flinfo->symshndxbuf ? bfd_get_symcount (flinfo->output_bfd) : 0;
 
-  dest = flinfo->symbuf + flinfo->symbuf_count * bed->s->sizeof_sym;
-  destshndx = flinfo->symshndxbuf;
-  if (destshndx != NULL)
-    {
-      if (bfd_get_symcount (flinfo->output_bfd) >= flinfo->shndxbuf_size)
-	{
-	  bfd_size_type amt;
-
-	  amt = flinfo->shndxbuf_size * sizeof (Elf_External_Sym_Shndx);
-	  destshndx = (Elf_External_Sym_Shndx *) bfd_realloc (destshndx,
-							      amt * 2);
-	  if (destshndx == NULL)
-	    return 0;
-	  flinfo->symshndxbuf = destshndx;
-	  memset ((char *) destshndx + amt, 0, amt);
-	  flinfo->shndxbuf_size *= 2;
+  bfd_get_symcount (flinfo->output_bfd) += 1;
+  hash_table->strtabcount += 1;
+
+  return 1;
+}
+
+/* Swap symbols out to the symbol table and flush the output symbols to
+   the file.  */
+
+static bfd_boolean
+elf_link_swap_symbols_out (struct elf_final_link_info *flinfo)
+{
+  struct elf_link_hash_table *hash_table = elf_hash_table (flinfo->info);
+  bfd_size_type amt, i;
+  const struct elf_backend_data *bed;
+  bfd_byte *symbuf;
+  Elf_Internal_Shdr *hdr;
+  file_ptr pos;
+  bfd_boolean ret;
+
+  if (!hash_table->strtabcount)
+    return TRUE;
+
+  BFD_ASSERT (elf_onesymtab (flinfo->output_bfd));
+
+  bed = get_elf_backend_data (flinfo->output_bfd);
+
+  amt = bed->s->sizeof_sym * hash_table->strtabcount;
+  symbuf = (bfd_byte *) bfd_malloc (amt);
+  if (symbuf == NULL)
+    return FALSE;
+  
+  if (flinfo->symshndxbuf)
+    {
+      amt = (sizeof (Elf_External_Sym_Shndx)
+	     * (bfd_get_symcount (flinfo->output_bfd)));
+      flinfo->symshndxbuf = (Elf_External_Sym_Shndx *) bfd_zmalloc (amt);
+      if (flinfo->symshndxbuf == NULL)
+	{
+	  free (symbuf);
+	  return FALSE;
 	}
-      destshndx += bfd_get_symcount (flinfo->output_bfd);
     }
 
-  bed->s->swap_symbol_out (flinfo->output_bfd, elfsym, dest, destshndx);
-  flinfo->symbuf_count += 1;
-  bfd_get_symcount (flinfo->output_bfd) += 1;
+  for (i = 0; i < hash_table->strtabcount; i++)
+    {
+      struct elf_sym_strtab *elfsym = &hash_table->strtab[i];
+      if (elfsym->sym.st_name == (unsigned long) -1)
+	elfsym->sym.st_name = 0;
+      else
+	elfsym->sym.st_name
+	  = (unsigned long) _bfd_elf_strtab_offset (flinfo->symstrtab,
+						    elfsym->sym.st_name);
+      bed->s->swap_symbol_out (flinfo->output_bfd, &elfsym->sym,
+			       ((bfd_byte *) symbuf
+				+ (elfsym->dest_index
+				   * bed->s->sizeof_sym)),
+			       (flinfo->symshndxbuf
+				+ elfsym->destshndx_index));
+    }
+
+  hdr = &elf_tdata (flinfo->output_bfd)->symtab_hdr;
+  pos = hdr->sh_offset + hdr->sh_size;
+  amt = hash_table->strtabcount * bed->s->sizeof_sym;
+  if (bfd_seek (flinfo->output_bfd, pos, SEEK_SET) == 0
+      && bfd_bwrite (symbuf, amt, flinfo->output_bfd) == amt)
+    {
+      hdr->sh_size += amt;
+      ret = TRUE;
+    }
+  else
+    ret = FALSE;
 
-  return 1;
+  free (symbuf);
+
+  free (hash_table->strtab);
+  hash_table->strtab = NULL;
+
+  return ret;
 }
 
 /* Return TRUE if the dynamic symbol SYM in ABFD is supported.  */
@@ -9291,15 +9327,16 @@ elf_link_output_extsym (struct bfd_hash_
       memset (&fsym, 0, sizeof (fsym));
       fsym.st_info = ELF_ST_INFO (STB_LOCAL, STT_FILE);
       fsym.st_shndx = SHN_ABS;
-      if (!elf_link_output_sym (eoinfo->flinfo, NULL, &fsym,
-				bfd_und_section_ptr, NULL))
+      if (!elf_link_output_symstrtab (eoinfo->flinfo, NULL, &fsym,
+				      bfd_und_section_ptr, NULL))
 	return FALSE;
 
       eoinfo->file_sym_done = TRUE;
     }
 
   indx = bfd_get_symcount (flinfo->output_bfd);
-  ret = elf_link_output_sym (flinfo, h->root.root.string, &sym, input_sec, h);
+  ret = elf_link_output_symstrtab (flinfo, h->root.root.string, &sym,
+				   input_sec, h);
   if (ret == 0)
     {
       eoinfo->failed = TRUE;
@@ -9593,10 +9630,11 @@ elf_link_input_bfd (struct elf_final_lin
 	  memset (&osym, 0, sizeof (osym));
 	  osym.st_info = ELF_ST_INFO (STB_LOCAL, STT_FILE);
 	  osym.st_shndx = SHN_ABS;
-	  if (!elf_link_output_sym (flinfo,
-				    (input_bfd->lto_output ? NULL
-				     : input_bfd->filename),
-				    &osym, bfd_abs_section_ptr, NULL))
+	  if (!elf_link_output_symstrtab (flinfo,
+					  (input_bfd->lto_output ? NULL
+					   : input_bfd->filename),
+					  &osym, bfd_abs_section_ptr,
+					  NULL))
 	    return FALSE;
 	}
 
@@ -9628,7 +9666,7 @@ elf_link_input_bfd (struct elf_final_lin
 	}
 
       indx = bfd_get_symcount (output_bfd);
-      ret = elf_link_output_sym (flinfo, name, &osym, isec, NULL);
+      ret = elf_link_output_symstrtab (flinfo, name, &osym, isec, NULL);
       if (ret == 0)
 	return FALSE;
       else if (ret == 1)
@@ -9711,7 +9749,8 @@ elf_link_input_bfd (struct elf_final_lin
 		  sym.st_value += o->output_offset;
 
 		  indx = bfd_get_symcount (output_bfd);
-		  ret = elf_link_output_sym (flinfo, name, &sym, o, NULL);
+		  ret = elf_link_output_symstrtab (flinfo, name, &sym, o,
+						   NULL);
 		  if (ret == 0)
 		    return FALSE;
 		  else if (ret == 1)
@@ -10186,8 +10225,9 @@ elf_link_input_bfd (struct elf_final_lin
 			    }
 
 			  indx = bfd_get_symcount (output_bfd);
-			  ret = elf_link_output_sym (flinfo, name, &sym, sec,
-						     NULL);
+			  ret = elf_link_output_symstrtab (flinfo, name,
+							   &sym, sec,
+							   NULL);
 			  if (ret == 0)
 			    return FALSE;
 			  else if (ret == 1)
@@ -10634,7 +10674,7 @@ elf_final_link_free (bfd *obfd, struct e
   asection *o;
 
   if (flinfo->symstrtab != NULL)
-    _bfd_stringtab_free (flinfo->symstrtab);
+    _bfd_elf_strtab_free (flinfo->symstrtab);
   if (flinfo->contents != NULL)
     free (flinfo->contents);
   if (flinfo->external_relocs != NULL)
@@ -10651,8 +10691,6 @@ elf_final_link_free (bfd *obfd, struct e
     free (flinfo->indices);
   if (flinfo->sections != NULL)
     free (flinfo->sections);
-  if (flinfo->symbuf != NULL)
-    free (flinfo->symbuf);
   if (flinfo->symshndxbuf != NULL)
     free (flinfo->symshndxbuf);
   for (o = obfd->sections; o != NULL; o = o->next)
@@ -10710,7 +10748,7 @@ bfd_elf_final_link (bfd *abfd, struct bf
 
   flinfo.info = info;
   flinfo.output_bfd = abfd;
-  flinfo.symstrtab = _bfd_elf_stringtab_init ();
+  flinfo.symstrtab = _bfd_elf_strtab_init ();
   if (flinfo.symstrtab == NULL)
     return FALSE;
 
@@ -10737,10 +10775,7 @@ bfd_elf_final_link (bfd *abfd, struct bf
   flinfo.internal_syms = NULL;
   flinfo.indices = NULL;
   flinfo.sections = NULL;
-  flinfo.symbuf = NULL;
   flinfo.symshndxbuf = NULL;
-  flinfo.symbuf_count = 0;
-  flinfo.shndxbuf_size = 0;
   flinfo.filesym_count = 0;
 
   /* The object attributes have been merged.  Remove the input
@@ -10972,27 +11007,18 @@ bfd_elf_final_link (bfd *abfd, struct bf
   /* sh_offset is set just below.  */
   symtab_hdr->sh_addralign = (bfd_vma) 1 << bed->s->log_file_align;
 
-  /* Allocate a buffer to hold swapped out symbols.  This is to avoid
-     continuously seeking to the right position in the file.  */
-  if (! info->keep_memory || max_sym_count < 20)
-    flinfo.symbuf_size = 20;
-  else
-    flinfo.symbuf_size = max_sym_count;
-  amt = flinfo.symbuf_size;
-  amt *= bed->s->sizeof_sym;
-  flinfo.symbuf = (bfd_byte *) bfd_malloc (amt);
-  if (flinfo.symbuf == NULL)
+  if (max_sym_count < 20)
+    max_sym_count = 20;
+  elf_hash_table (info)->strtabsize = max_sym_count;
+  amt = max_sym_count * sizeof (struct elf_sym_strtab);
+  elf_hash_table (info)->strtab
+    = (struct elf_sym_strtab *) bfd_malloc (amt);
+  if (elf_hash_table (info)->strtab == NULL)
     goto error_return;
-  if (elf_numsections (abfd) > (SHN_LORESERVE & 0xFFFF))
-    {
-      /* Wild guess at number of output symbols.  realloc'd as needed.  */
-      amt = 2 * max_sym_count + elf_numsections (abfd) + 1000;
-      flinfo.shndxbuf_size = amt;
-      amt *= sizeof (Elf_External_Sym_Shndx);
-      flinfo.symshndxbuf = (Elf_External_Sym_Shndx *) bfd_zmalloc (amt);
-      if (flinfo.symshndxbuf == NULL)
-	goto error_return;
-    }
+  /* The real buffer will be allocated in elf_link_swap_symbols_out.  */
+  flinfo.symshndxbuf
+    = (elf_numsections (abfd) > (SHN_LORESERVE & 0xFFFF)
+       ? (Elf_External_Sym_Shndx *) -1 : NULL);
 
   if (info->strip != strip_all || emit_relocs)
     {
@@ -11012,8 +11038,8 @@ bfd_elf_final_link (bfd *abfd, struct bf
       elfsym.st_other = 0;
       elfsym.st_shndx = SHN_UNDEF;
       elfsym.st_target_internal = 0;
-      if (elf_link_output_sym (&flinfo, NULL, &elfsym, bfd_und_section_ptr,
-			       NULL) != 1)
+      if (elf_link_output_symstrtab (&flinfo, NULL, &elfsym,
+				     bfd_und_section_ptr, NULL) != 1)
 	goto error_return;
 
       /* Output a symbol for each section.  We output these even if we are
@@ -11036,7 +11062,8 @@ bfd_elf_final_link (bfd *abfd, struct bf
 	      elfsym.st_shndx = i;
 	      if (!info->relocatable)
 		elfsym.st_value = o->vma;
-	      if (elf_link_output_sym (&flinfo, NULL, &elfsym, o, NULL) != 1)
+	      if (elf_link_output_symstrtab (&flinfo, NULL, &elfsym, o,
+					     NULL) != 1)
 		goto error_return;
 	    }
 	}
@@ -11253,7 +11280,8 @@ bfd_elf_final_link (bfd *abfd, struct bf
 	 struct elf_link_hash_entry *);
 
       if (! ((*bed->elf_backend_output_arch_local_syms)
-	     (abfd, info, &flinfo, (out_sym_func) elf_link_output_sym)))
+	     (abfd, info, &flinfo,
+	      (out_sym_func) elf_link_output_symstrtab)))
 	return FALSE;
     }
 
@@ -11364,12 +11392,16 @@ bfd_elf_final_link (bfd *abfd, struct bf
 	 struct elf_link_hash_entry *);
 
       if (! ((*bed->elf_backend_output_arch_syms)
-	     (abfd, info, &flinfo, (out_sym_func) elf_link_output_sym)))
+	     (abfd, info, &flinfo,
+	      (out_sym_func) elf_link_output_symstrtab)))
 	return FALSE;
     }
 
-  /* Flush all symbols to the file.  */
-  if (! elf_link_flush_output_syms (&flinfo, bed))
+  /* Finalize the .strtab section.  */
+  _bfd_elf_strtab_finalize (flinfo.symstrtab);
+
+  /* Swap out the .strtab section. */
+  if (!elf_link_swap_symbols_out (&flinfo))
     return FALSE;
 
   /* Now we know the size of the symtab section.  */
@@ -11402,7 +11434,7 @@ bfd_elf_final_link (bfd *abfd, struct bf
       symstrtab_hdr->sh_type = SHT_STRTAB;
       symstrtab_hdr->sh_flags = 0;
       symstrtab_hdr->sh_addr = 0;
-      symstrtab_hdr->sh_size = _bfd_stringtab_size (flinfo.symstrtab);
+      symstrtab_hdr->sh_size = _bfd_elf_strtab_size (flinfo.symstrtab);
       symstrtab_hdr->sh_entsize = 0;
       symstrtab_hdr->sh_link = 0;
       symstrtab_hdr->sh_info = 0;
@@ -11414,7 +11446,7 @@ bfd_elf_final_link (bfd *abfd, struct bf
       elf_next_file_pos (abfd) = off;
 
       if (bfd_seek (abfd, symstrtab_hdr->sh_offset, SEEK_SET) != 0
-	  || ! _bfd_stringtab_emit (abfd, flinfo.symstrtab))
+	  || ! _bfd_elf_strtab_emit (abfd, flinfo.symstrtab))
 	return FALSE;
     }
 
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.20150623/bfd/elfnn-aarch64.c ./bfd/elfnn-aarch64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/bfd/elfnn-aarch64.c	2015-06-23 01:48:31.000000000 +0000
+++ ./bfd/elfnn-aarch64.c	2015-06-30 01:48:29.000000000 +0000
@@ -7545,6 +7545,32 @@ elfNN_aarch64_allocate_local_ifunc_dynre
   return elfNN_aarch64_allocate_ifunc_dynrelocs (h, inf);
 }
 
+/* Find any dynamic relocs that apply to read-only sections.  */
+
+static bfd_boolean
+aarch64_readonly_dynrelocs (struct elf_link_hash_entry * h, void * inf)
+{
+  struct elf_aarch64_link_hash_entry * eh;
+  struct elf_dyn_relocs * p;
+
+  eh = (struct elf_aarch64_link_hash_entry *) h;
+  for (p = eh->dyn_relocs; p != NULL; p = p->next)
+    {
+      asection *s = p->sec;
+
+      if (s != NULL && (s->flags & SEC_READONLY) != 0)
+	{
+	  struct bfd_link_info *info = (struct bfd_link_info *) inf;
+
+	  info->flags |= DF_TEXTREL;
+
+	  /* Not an error, just cut short the traversal.  */
+	  return FALSE;
+	}
+    }
+  return TRUE;
+}
+
 /* This is the most important function of all . Innocuosly named
    though !  */
 static bfd_boolean
@@ -7832,6 +7858,10 @@ elfNN_aarch64_size_dynamic_sections (bfd
 
 	  /* If any dynamic relocs apply to a read-only section,
 	     then we need a DT_TEXTREL entry.  */
+	  if ((info->flags & DF_TEXTREL) == 0)
+	    elf_link_hash_traverse (& htab->root, aarch64_readonly_dynrelocs,
+				    info);
+
 	  if ((info->flags & DF_TEXTREL) != 0)
 	    {
 	      if (!add_dynamic_entry (DT_TEXTREL, 0))
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.20150623/bfd/elfxx-mips.c ./bfd/elfxx-mips.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/bfd/elfxx-mips.c	2015-06-23 01:48:31.000000000 +0000
+++ ./bfd/elfxx-mips.c	2015-06-30 01:48:29.000000000 +0000
@@ -7614,7 +7614,7 @@ _bfd_mips_elf_create_dynamic_sections (b
   htab->sstubs = s;
 
   if (!mips_elf_hash_table (info)->use_rld_obj_head
-      && !info->shared
+      && info->executable
       && bfd_get_linker_section (abfd, ".rld_map") == NULL)
     {
       s = bfd_make_section_anyway_with_flags (abfd, ".rld_map",
@@ -7678,7 +7678,7 @@ _bfd_mips_elf_create_dynamic_sections (b
 	(void) bfd_set_section_alignment (abfd, s, MIPS_ELF_LOG_FILE_ALIGN (abfd));
     }
 
-  if (!info->shared)
+  if (info->executable)
     {
       const char *name;
 
@@ -9719,7 +9719,7 @@ _bfd_mips_elf_size_dynamic_sections (bfd
 	      info->combreloc = 0;
 	    }
 	}
-      else if (! info->shared
+      else if (info->executable
 	       && ! mips_elf_hash_table (info)->use_rld_obj_head
 	       && CONST_STRNEQ (name, ".rld_map"))
 	{
@@ -9782,6 +9782,10 @@ _bfd_mips_elf_size_dynamic_sections (bfd
 	  && !MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_MIPS_RLD_MAP, 0))
 	return FALSE;
 
+      if (info->executable
+	  && !MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_MIPS_RLD_MAP_REL, 0))
+	return FALSE;
+
       /* The DT_DEBUG entry may be filled in by the dynamic linker and
 	 used by the debugger.  */
       if (info->executable
@@ -11487,11 +11491,37 @@ _bfd_mips_elf_finish_dynamic_sections (b
 		    break;
 		  }
 		s = h->root.u.def.section;
+
+		/* The MIPS_RLD_MAP tag stores the absolute address of the
+		   debug pointer.  */
 		dyn.d_un.d_ptr = (s->output_section->vma + s->output_offset
 				  + h->root.u.def.value);
 	      }
 	      break;
 
+	    case DT_MIPS_RLD_MAP_REL:
+	      {
+		struct elf_link_hash_entry *h;
+		bfd_vma dt_addr, rld_addr;
+		h = mips_elf_hash_table (info)->rld_symbol;
+		if (!h)
+		  {
+		    dyn_to_skip = MIPS_ELF_DYN_SIZE (dynobj);
+		    swap_out_p = FALSE;
+		    break;
+		  }
+		s = h->root.u.def.section;
+
+		/* The MIPS_RLD_MAP_REL tag stores the offset to the debug
+		   pointer, relative to the address of the tag.  */
+		dt_addr = (sdyn->output_section->vma + sdyn->output_offset
+			   + b - sdyn->contents);
+		rld_addr = (s->output_section->vma + s->output_offset
+			    + h->root.u.def.value);
+		dyn.d_un.d_ptr = rld_addr - dt_addr;
+	      }
+	      break;
+
 	    case DT_MIPS_OPTIONS:
 	      s = (bfd_get_section_by_name
 		   (output_bfd, MIPS_ELF_OPTIONS_SECTION_NAME (output_bfd)));
@@ -15421,6 +15451,8 @@ _bfd_mips_elf_get_target_dtag (bfd_vma d
       return "MIPS_HIPAGENO";
     case DT_MIPS_RLD_MAP:
       return "MIPS_RLD_MAP";
+    case DT_MIPS_RLD_MAP_REL:
+      return "MIPS_RLD_MAP_REL";
     case DT_MIPS_DELTA_CLASS:
       return "MIPS_DELTA_CLASS";
     case DT_MIPS_DELTA_CLASS_NO:
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.20150623/bfd/version.h ./bfd/version.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/bfd/version.h	2015-06-23 01:48:31.000000000 +0000
+++ ./bfd/version.h	2015-06-30 01:48:29.000000000 +0000
@@ -1,4 +1,4 @@
-#define BFD_VERSION_DATE 20150623
+#define BFD_VERSION_DATE 20150630
 #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.20150623/ChangeLog ./ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/ChangeLog	2015-06-23 01:48:31.000000000 +0000
+++ ./ChangeLog	2015-06-30 01:48:29.000000000 +0000
@@ -21,6 +21,13 @@
 	(sim_release): Pass gdb as fifth parameter to tar_compress.
 	(SIM_SUPPORT_DIRS): Add gdb/common/create-version.sh.
 
+2015-04-14  Max Ostapenko  <m.ostapenko@partner.samsung.com>
+
+	* Makefile.tpl (EXTRA_HOST_EXPORTS): New variables.
+	(EXTRA_BOOTSTRAP_FLAGS): Likewise.
+	(check-[+module+]): Add EXTRA_HOST_EXPORTS and EXTRA_BOOTSTRAP_FLAGS.
+	* Makefile.in: Regenerate.
+
 2015-04-01  H.J. Lu  <hongjiu.lu@intel.com>
 
 	* configure.ac: Add --with-system-zlib.
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.20150623/config/ChangeLog ./config/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/config/ChangeLog	2015-06-23 01:48:31.000000000 +0000
+++ ./config/ChangeLog	2015-06-30 01:48:29.000000000 +0000
@@ -1,3 +1,18 @@
+2015-04-10  Jakub Jelinek  <jakub@redhat.com>
+	    Iain Sandoe  <iain@codesourcery.com>
+
+	PR target/65351
+	* mh-darwin: Only apply -mdynamic-no-pic for m32 Darwin when the
+	compiler in use supports -mno-dynamic-no-pic.
+	* picflag.m4: Only append -mno-dynamic-no-pic for Darwin when
+	-mdynamic-no-pic is present in CFLAGS.
+
+2015-04-07  Jakub Jelinek  <jakub@redhat.com>
+	    Iain Sandoe  <iain@codesourcery.com>
+
+	PR target/65351
+	* picflag.m4: Append -mno-dynamic-no-pic for Darwin.
+
 2015-04-02  H.J. Lu  <hongjiu.lu@intel.com>
 
 	* zlib.m4 (AM_ZLIB): Set zlibdir to -L\$(top_builddir)/../zlib
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.20150623/config/mh-darwin ./config/mh-darwin
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/config/mh-darwin	2015-06-23 01:48:31.000000000 +0000
+++ ./config/mh-darwin	2015-06-30 01:48:29.000000000 +0000
@@ -1,18 +1,29 @@
 # The -mdynamic-no-pic ensures that the compiler executable is built without
 # position-independent-code -- the usual default on Darwin. This fix speeds
-# compiles by 3-5%.
-BOOT_CFLAGS += \
+# compiles by 3-5%.  Don't add it if the compiler doesn't also support
+# -mno-dynamic-no-pic to undo it.
+DARWIN_MDYNAMIC_NO_PIC := \
 `case ${host} in i?86-*-darwin* | powerpc-*-darwin*) \
-                 echo -mdynamic-no-pic ;; esac;`
+   $(CC) -S -xc /dev/null -o /dev/null -mno-dynamic-no-pic 2>/dev/null \
+   && echo -mdynamic-no-pic ;; esac`
+DARWIN_GCC_MDYNAMIC_NO_PIC := \
+`case ${host} in i?86-*-darwin* | powerpc-*-darwin*) \
+   $(CC) -S -xc /dev/null -o /dev/null -mno-dynamic-no-pic 2>/dev/null \
+   || echo -mdynamic-no-pic ;; esac`
 
 # ld on Darwin versions >= 10.7 defaults to PIE executables. Disable this for
 # gcc components, since it is incompatible with our pch implementation.
-BOOT_LDFLAGS += \
-`case ${host} in *-*-darwin[1][1-9]*) echo -Wl,-no_pie ;; esac;`
+DARWIN_NO_PIE := `case ${host} in *-*-darwin[1][1-9]*) echo -Wl,-no_pie ;; esac;`
+
+BOOT_CFLAGS += $(DARWIN_MDYNAMIC_NO_PIC)
+BOOT_LDFLAGS += $(DARWIN_NO_PIE)
 
 # Similarly, for cross-compilation.
-STAGE1_CFLAGS += \
-`case ${host} in i?86-*-darwin* | powerpc-*-darwin*)\
-                 echo -mdynamic-no-pic ;; esac;`
-STAGE1_LDFLAGS += \
-`case ${host} in *-*-darwin[1][1-9]*) echo -Wl,-no_pie ;; esac;`
+STAGE1_CFLAGS += $(DARWIN_MDYNAMIC_NO_PIC)
+STAGE1_LDFLAGS += $(DARWIN_NO_PIE)
+
+# Without -mno-dynamic-no-pic support, add -mdynamic-no-pic just to later
+# stages when we know it is built with gcc.
+STAGE2_CFLAGS += $(DARWIN_GCC_MDYNAMIC_NO_PIC)
+STAGE3_CFLAGS += $(DARWIN_GCC_MDYNAMIC_NO_PIC)
+STAGE4_CFLAGS += $(DARWIN_GCC_MDYNAMIC_NO_PIC)
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.20150623/config/picflag.m4 ./config/picflag.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/config/picflag.m4	2015-06-23 01:48:31.000000000 +0000
+++ ./config/picflag.m4	2015-06-30 01:48:29.000000000 +0000
@@ -7,9 +7,15 @@ AC_DEFUN([_GCC_PICFLAG], [
 case "${$2}" in
     # PIC is the default on some targets or must not be used.
     *-*-darwin*)
-	# PIC is the default on this platform
-	# Common symbols not allowed in MH_DYLIB files
-	$1=-fno-common
+	# For darwin, common symbols are not allowed in MH_DYLIB files
+	case "${CFLAGS}" in
+	  # If we are using a compiler supporting mdynamic-no-pic
+	  # and the option has been tested as safe to add, then cancel
+	  # it here, since the code generated is incompatible with shared
+	  # libs.
+	  *-mdynamic-no-pic*) $1='-fno-common -mno-dynamic-no-pic' ;;
+	  *) $1=-fno-common ;;
+	esac
 	;;
     alpha*-dec-osf5*)
 	# PIC is the default.
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.20150623/djunpack.bat ./djunpack.bat
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/djunpack.bat	2015-06-23 01:51:25.000000000 +0000
+++ ./djunpack.bat	2015-06-30 01:51:23.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.20150623
-if "%GDBVER%"=="$package-7.9.50.20150623" GoTo EnvOk
+set GDBVER=$package-7.9.50.20150630
+if "%GDBVER%"=="$package-7.9.50.20150630" 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.20150623/gdb/aarch64-linux-tdep.c ./gdb/aarch64-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/aarch64-linux-tdep.c	2015-06-23 01:48:32.000000000 +0000
+++ ./gdb/aarch64-linux-tdep.c	2015-06-30 01:48:31.000000000 +0000
@@ -962,7 +962,6 @@ aarch64_linux_init_abi (struct gdbarch_i
   /* Shared library handling.  */
   set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
 
-  set_gdbarch_get_siginfo_type (gdbarch, linux_get_siginfo_type);
   tramp_frame_prepend_unwinder (gdbarch, &aarch64_linux_rt_sigframe);
 
   /* Enable longjmp.  */
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.20150623/gdb/amd64-linux-nat.c ./gdb/amd64-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/amd64-linux-nat.c	2015-06-23 01:48:32.000000000 +0000
+++ ./gdb/amd64-linux-nat.c	2015-06-30 01:48:31.000000000 +0000
@@ -150,7 +150,7 @@ amd64_linux_fetch_inferior_registers (st
     {
       elf_fpregset_t fpregs;
 
-      if (have_ptrace_getregset)
+      if (have_ptrace_getregset == TRIBOOL_TRUE)
 	{
 	  char xstateregs[X86_XSTATE_MAX_SIZE];
 	  struct iovec iov;
@@ -209,7 +209,7 @@ amd64_linux_store_inferior_registers (st
     {
       elf_fpregset_t fpregs;
 
-      if (have_ptrace_getregset)
+      if (have_ptrace_getregset == TRIBOOL_TRUE)
 	{
 	  char xstateregs[X86_XSTATE_MAX_SIZE];
 	  struct iovec iov;
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.20150623/gdb/amd64-linux-tdep.c ./gdb/amd64-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/amd64-linux-tdep.c	2015-06-23 01:48:32.000000000 +0000
+++ ./gdb/amd64-linux-tdep.c	2015-06-30 01:48:31.000000000 +0000
@@ -1835,8 +1835,6 @@ amd64_linux_init_abi_common(struct gdbar
   set_gdbarch_displaced_step_location (gdbarch,
                                        linux_displaced_step_location);
 
-  set_gdbarch_get_siginfo_type (gdbarch, linux_get_siginfo_type);
-
   set_gdbarch_process_record (gdbarch, i386_process_record);
   set_gdbarch_process_record_signal (gdbarch, amd64_linux_record_signal);
 }
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.20150623/gdb/arm-linux-nat.c ./gdb/arm-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/arm-linux-nat.c	2015-06-23 01:48:32.000000000 +0000
+++ ./gdb/arm-linux-nat.c	2015-06-30 01:48:31.000000000 +0000
@@ -95,7 +95,7 @@ fetch_fpregister (struct regcache *regca
   tid = GET_THREAD_ID (inferior_ptid);
 
   /* Read the floating point state.  */
-  if (have_ptrace_getregset)
+  if (have_ptrace_getregset == TRIBOOL_TRUE)
     {
       struct iovec iov;
 
@@ -136,7 +136,7 @@ fetch_fpregs (struct regcache *regcache)
   tid = GET_THREAD_ID (inferior_ptid);
 
   /* Read the floating point state.  */
-  if (have_ptrace_getregset)
+  if (have_ptrace_getregset == TRIBOOL_TRUE)
     {
       struct iovec iov;
 
@@ -176,7 +176,7 @@ store_fpregister (const struct regcache 
   tid = GET_THREAD_ID (inferior_ptid);
 
   /* Read the floating point state.  */
-  if (have_ptrace_getregset)
+  if (have_ptrace_getregset == TRIBOOL_TRUE)
     {
       struct iovec iov;
 
@@ -203,7 +203,7 @@ store_fpregister (const struct regcache 
   if (regno >= ARM_F0_REGNUM && regno <= ARM_F7_REGNUM)
     collect_nwfpe_register (regcache, regno, fp);
 
-  if (have_ptrace_getregset)
+  if (have_ptrace_getregset == TRIBOOL_TRUE)
     {
       struct iovec iov;
 
@@ -235,7 +235,7 @@ store_fpregs (const struct regcache *reg
   tid = GET_THREAD_ID (inferior_ptid);
 
   /* Read the floating point state.  */
-  if (have_ptrace_getregset)
+  if (have_ptrace_getregset == TRIBOOL_TRUE)
     {
       elf_fpregset_t fpregs;
       struct iovec iov;
@@ -263,7 +263,7 @@ store_fpregs (const struct regcache *reg
     if (REG_VALID == regcache_register_status (regcache, regno))
       collect_nwfpe_register (regcache, regno, fp);
 
-  if (have_ptrace_getregset)
+  if (have_ptrace_getregset == TRIBOOL_TRUE)
     {
       struct iovec iov;
 
@@ -294,7 +294,7 @@ fetch_register (struct regcache *regcach
   /* Get the thread id for the ptrace call.  */
   tid = GET_THREAD_ID (inferior_ptid);
 
-  if (have_ptrace_getregset)
+  if (have_ptrace_getregset == TRIBOOL_TRUE)
     {
       struct iovec iov;
 
@@ -347,7 +347,7 @@ fetch_regs (struct regcache *regcache)
   /* Get the thread id for the ptrace call.  */
   tid = GET_THREAD_ID (inferior_ptid);
 
-  if (have_ptrace_getregset)
+  if (have_ptrace_getregset == TRIBOOL_TRUE)
     {
       struct iovec iov;
 
@@ -397,7 +397,7 @@ store_register (const struct regcache *r
   tid = GET_THREAD_ID (inferior_ptid);
 
   /* Get the general registers from the process.  */
-  if (have_ptrace_getregset)
+  if (have_ptrace_getregset == TRIBOOL_TRUE)
     {
       struct iovec iov;
 
@@ -424,7 +424,7 @@ store_register (const struct regcache *r
     regcache_raw_collect (regcache, ARM_PC_REGNUM,
 			 (char *) &regs[ARM_PC_REGNUM]);
 
-  if (have_ptrace_getregset)
+  if (have_ptrace_getregset == TRIBOOL_TRUE)
     {
       struct iovec iov;
 
@@ -453,7 +453,7 @@ store_regs (const struct regcache *regca
   tid = GET_THREAD_ID (inferior_ptid);
 
   /* Fetch the general registers.  */
-  if (have_ptrace_getregset)
+  if (have_ptrace_getregset == TRIBOOL_TRUE)
     {
       struct iovec iov;
 
@@ -481,7 +481,7 @@ store_regs (const struct regcache *regca
     regcache_raw_collect (regcache, ARM_PS_REGNUM,
 			 (char *) &regs[ARM_CPSR_GREGNUM]);
 
-  if (have_ptrace_getregset)
+  if (have_ptrace_getregset == TRIBOOL_TRUE)
     {
       struct iovec iov;
 
@@ -593,7 +593,7 @@ fetch_vfp_regs (struct regcache *regcach
   /* Get the thread id for the ptrace call.  */
   tid = GET_THREAD_ID (inferior_ptid);
 
-  if (have_ptrace_getregset)
+  if (have_ptrace_getregset == TRIBOOL_TRUE)
     {
       struct iovec iov;
 
@@ -629,7 +629,7 @@ store_vfp_regs (const struct regcache *r
   /* Get the thread id for the ptrace call.  */
   tid = GET_THREAD_ID (inferior_ptid);
 
-  if (have_ptrace_getregset)
+  if (have_ptrace_getregset == TRIBOOL_TRUE)
     {
       struct iovec iov;
 
@@ -653,7 +653,7 @@ store_vfp_regs (const struct regcache *r
   regcache_raw_collect (regcache, ARM_FPSCR_REGNUM,
 			(char *) regbuf + 32 * 8);
 
-  if (have_ptrace_getregset)
+  if (have_ptrace_getregset == TRIBOOL_TRUE)
     {
       struct iovec iov;
 
@@ -797,7 +797,7 @@ arm_linux_read_description (struct targe
 {
   CORE_ADDR arm_hwcap = 0;
 
-  if (have_ptrace_getregset == -1)
+  if (have_ptrace_getregset == TRIBOOL_UNKNOWN)
     {
       elf_gregset_t gpregs;
       struct iovec iov;
@@ -808,9 +808,9 @@ arm_linux_read_description (struct targe
 
       /* Check if PTRACE_GETREGSET works.  */
       if (ptrace (PTRACE_GETREGSET, tid, NT_PRSTATUS, &iov) < 0)
-	have_ptrace_getregset = 0;
+	have_ptrace_getregset = TRIBOOL_FALSE;
       else
-	have_ptrace_getregset = 1;
+	have_ptrace_getregset = TRIBOOL_TRUE;
     }
 
   if (target_auxv_search (ops, AT_HWCAP, &arm_hwcap) != 1)
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.20150623/gdb/arm-linux-tdep.c ./gdb/arm-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/arm-linux-tdep.c	2015-06-23 01:48:32.000000000 +0000
+++ ./gdb/arm-linux-tdep.c	2015-06-30 01:48:31.000000000 +0000
@@ -1440,8 +1440,6 @@ arm_linux_init_abi (struct gdbarch_info 
     (gdbarch, arm_linux_iterate_over_regset_sections);
   set_gdbarch_core_read_description (gdbarch, arm_linux_core_read_description);
 
-  set_gdbarch_get_siginfo_type (gdbarch, linux_get_siginfo_type);
-
   /* Displaced stepping.  */
   set_gdbarch_displaced_step_copy_insn (gdbarch,
 					arm_linux_displaced_step_copy_insn);
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.20150623/gdb/block.c ./gdb/block.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/block.c	2015-06-23 01:48:32.000000000 +0000
+++ ./gdb/block.c	2015-06-30 01:48:31.000000000 +0000
@@ -739,13 +739,21 @@ block_lookup_symbol (const struct block 
 
   if (!BLOCK_FUNCTION (block))
     {
+      struct symbol *other = NULL;
+
       ALL_BLOCK_SYMBOLS_WITH_NAME (block, name, iter, sym)
 	{
+	  if (SYMBOL_DOMAIN (sym) == domain)
+	    return sym;
+	  /* This is a bit of a hack, but symbol_matches_domain might ignore
+	     STRUCT vs VAR domain symbols.  So if a matching symbol is found,
+	     make sure there is no "better" matching symbol, i.e., one with
+	     exactly the same domain.  PR 16253.  */
 	  if (symbol_matches_domain (SYMBOL_LANGUAGE (sym),
 				     SYMBOL_DOMAIN (sym), domain))
-	    return sym;
+	    other = sym;
 	}
-      return NULL;
+      return other;
     }
   else
     {
@@ -753,7 +761,10 @@ block_lookup_symbol (const struct block 
 	 list; this loop makes sure to take anything else other than
 	 parameter symbols first; it only uses parameter symbols as a
 	 last resort.  Note that this only takes up extra computation
-	 time on a match.  */
+	 time on a match.
+	 It's hard to define types in the parameter list (at least in
+	 C/C++) so we don't do the same PR 16253 hack here that is done
+	 for the !BLOCK_FUNCTION case.  */
 
       struct symbol *sym_found = NULL;
 
@@ -779,23 +790,31 @@ struct symbol *
 block_lookup_symbol_primary (const struct block *block, const char *name,
 			     const domain_enum domain)
 {
-  struct symbol *sym;
+  struct symbol *sym, *other;
   struct dict_iterator dict_iter;
 
   /* Verify BLOCK is STATIC_BLOCK or GLOBAL_BLOCK.  */
   gdb_assert (BLOCK_SUPERBLOCK (block) == NULL
 	      || BLOCK_SUPERBLOCK (BLOCK_SUPERBLOCK (block)) == NULL);
 
+  other = NULL;
   for (sym = dict_iter_name_first (block->dict, name, &dict_iter);
        sym != NULL;
        sym = dict_iter_name_next (name, &dict_iter))
     {
+      if (SYMBOL_DOMAIN (sym) == domain)
+	return sym;
+
+      /* This is a bit of a hack, but symbol_matches_domain might ignore
+	 STRUCT vs VAR domain symbols.  So if a matching symbol is found,
+	 make sure there is no "better" matching symbol, i.e., one with
+	 exactly the same domain.  PR 16253.  */
       if (symbol_matches_domain (SYMBOL_LANGUAGE (sym),
 				 SYMBOL_DOMAIN (sym), domain))
-	return sym;
+	other = sym;
     }
 
-  return NULL;
+  return other;
 }
 
 /* See block.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.20150623/gdb/build-id.c ./gdb/build-id.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/build-id.c	2015-06-23 01:48:32.000000000 +0000
+++ ./gdb/build-id.c	2015-06-30 01:48:31.000000000 +0000
@@ -93,6 +93,7 @@ build_id_to_debug_bfd (size_t build_id_l
       size_t size = build_id_len;
       char *s;
       char *filename = NULL;
+      struct cleanup *inner;
 
       memcpy (link, debugdir, debugdir_len);
       s = &link[debugdir_len];
@@ -116,7 +117,10 @@ build_id_to_debug_bfd (size_t build_id_l
 	continue;
 
       /* We expect to be silent on the non-existing files.  */
+      inner = make_cleanup (xfree, filename);
       abfd = gdb_bfd_open (filename, gnutarget, -1);
+      do_cleanups (inner);
+
       if (abfd == NULL)
 	continue;
 
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.20150623/gdb/ChangeLog ./gdb/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/ChangeLog	2015-06-23 01:48:32.000000000 +0000
+++ ./gdb/ChangeLog	2015-06-30 01:48:30.000000000 +0000
@@ -1,3 +1,156 @@
+2015-06-29  Kevin Buettner  <kevinb@redhat.com>
+
+        * rx-tdep.c (RX_PSW_REGNUM): New enum constant.
+        (rx_dwarf_reg_to_regnum): New function.
+        (rx_gdbarch_init): Register rx_dwarf_reg_to_regnum.  Use dwarf2
+        unwinding.
+
+2015-06-29  Pedro Alves  <palves@redhat.com>
+
+	PR threads/18127
+	* infcall.c (run_inferior_call): On infcall success, if the thread
+	was marked stopped before, reset it back to stopped.
+	* infrun.c (resume): Don't suppress the set_running calls when
+	doing an infcall.
+	(normal_stop): Only discard the finish_thread_state cleanup if the
+	infcall succeeded.
+
+2015-06-29  Pierre Langlois  <pierre.langlois@arm.com>
+
+	* MAINTAINERS (Write After Approval): Update my email address.
+
+2015-06-26  Keith Seitz  <keiths@redhat.com>
+	    Doug Evans  <dje@google.com>
+
+	PR 16253
+	* block.c (block_lookup_symbol): For non-function blocks,
+	continue to search for a symbol with an exact domain match
+	Otherwise, return any previously found "best domain" symbol.
+	(block_lookup_symbol_primary): Likewise.
+
+2015-06-26  Patrick Palka  <patrick@parcs.ath.cx>
+
+	* NEWS: Mention the new option "history remove-duplicates".
+	* top.c (history_remove_duplicates): New static variable.
+	(show_history_remove_duplicates): New static function.
+	(gdb_add_history): Conditionally remove duplicate history
+	entries.
+	(init_main): Add "history remove-duplicates" option.
+
+2015-06-26  Patrick Palka  <patrick@parcs.ath.cx>
+
+	* tui/tui-win.c (focus_completer): New static function.
+	(_initialize_tui_win): Set the completion function of the
+	"focus" command to focus_completer.
+
+2015-06-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* linespec.c (minsym_found): Reset sal.PC for COMPUNIT_LOCATIONS_VALID
+	and language_asm..
+	* symtab.c (find_function_start_sal): Likewise.
+
+2015-06-25  Gary Benson  <gbenson@redhat.com>
+
+	* solib.c (solib_find_1): Set local variable sysroot to NULL if
+	it is the empty string after trailing slashes have been stripped.
+
+2015-06-25  Gary Benson  <gbenson@redhat.com>
+
+	* exec.c (exec_file_locate_attach): Remove gdb_sysroot NULL check.
+	* infrun.c (follow_exec): Likewise.
+	* remote.c (remote_filesystem_is_local): Likewise.
+	* solib.c (solib_find_1): Likewise.
+
+2015-06-24  Keith Seitz  <keiths@redhat.com>
+
+	* build-id.c (build_id_to_debug_bfd): Add cleanup to free
+	return value from lrealpath.
+
+2015-06-24  Mike Frysinger  <vapier@gentoo.org>
+
+	* remote-sim.c (gdbsim_open): Move sysroot update to the top.
+
+2015-06-24  Mike Frysinger  <vapier@gentoo.org>
+
+	* remote-sim.c: Include gdb_bfd.h.
+	(gdbsim_open): Declare new local sysroot pointing to gdb_sysroot.
+	Skip TARGET_SYSROOT_PREFIX in gdb_sysroot when it is active.
+
+2015-06-24  Yao Qi  <yao.qi@linaro.org>
+
+	* aarch64-linux-tdep.c (aarch64_linux_init_abi): Don't call
+	set_gdbarch_get_siginfo_type.
+	* amd64-linux-tdep.c (amd64_linux_init_abi_common): Likewise.
+	* arm-linux-tdep.c (arm_linux_init_abi): Likewise.
+	* i386-linux-tdep.c (i386_linux_init_abi): Likewise.
+	* m68klinux-tdep.c (m68k_linux_init_abi): Likewise.
+	* ppc-linux-tdep.c (ppc_linux_init_abi): Likewise.
+	* s390-linux-tdep.c (s390_gdbarch_init): Likewise.
+	* tilegx-linux-tdep.c (tilegx_linux_init_abi): Likewise.
+	* linux-tdep.c (linux_get_siginfo_type): Change it to static.
+	(linux_init_abi): Call set_gdbarch_get_siginfo_type.
+	* linux-tdep.h (linux_get_siginfo_type): Remove the declaration.
+
+2015-06-24  Gary Benson  <gbenson@redhat.com>
+
+	* common/buffer.c (stdint.h): Do not include.
+	* common/print-utils.c (stdint.h): Likewise.
+	* compile/compile-c-symbols.c (gdb_assert.h): Likewise.
+	* compile/compile-c-types.c (gdb_assert.h): Likewise.
+	* ft32-tdep.c (gdb_assert.h): Likewise.
+	* guile/scm-utils.c (stdint.h): Likewise.
+	* i386-linux-tdep.c (stdint.h): Likewise.
+	* i386-tdep.c (stdint.h): Likewise.
+	* nat/linux-btrace.c (stdint.h): Likewise.
+	* nat/linux-btrace.h (stdint.h): Likewise.
+	* nat/linux-ptrace.c (stdint.h): Likewise.
+	* nat/mips-linux-watch.h (stdint.h): Likewise.
+	* ppc-linux-nat.c (stdint.h): Likewise.
+	* python/python-internal.h (stdint.h): Likewise.
+	* stub-termcap.c (stdlib.h): Likewise.
+	* target/target.h (stdint.h): Likewise.
+	* xtensa-linux-nat.c (stdint.h): Likewise.
+
+2015-06-23  Patrick Palka  <patrick@parcs.ath.cx>
+
+	* top.c (init_history): Look at errno after calling strtol to
+	properly map large GDBHISTSIZE values to infinity.
+
+2015-06-23  Doug Evans  <dje@google.com>
+
+	* inferior.h (struct inferior_suspend_state): Delete, unused.
+	All references deleted.
+
+2015-06-23  Mike Frysinger  <vapier@gentoo.org>
+
+	* microblaze-tdep.c (microblaze_push_dummy_code): Delete.
+	(microblaze_push_dummy_call): Likewise.
+	(microblaze_gdbarch_init): Delete calls to set_gdbarch_push_dummy_code
+	and set_gdbarch_push_dummy_call.
+
+2015-06-23  Yao Qi  <yao.qi@linaro.org>
+
+	* amd64-linux-nat.c (amd64_linux_fetch_inferior_registers):
+	Check whether have_ptrace_getregset is TRIBOOL_TRUE explicitly.
+	(amd64_linux_store_inferior_registers): Likewise.
+	* arm-linux-nat.c (fetch_fpregister): Likewise.
+	(fetch_fpregs, store_fpregister): Likewise.
+	(store_fpregister, store_fpregs): Likewise.
+	(fetch_register, fetch_regs): Likewise.
+	(store_register, store_regs): Likewise.
+	(fetch_vfp_regs, store_vfp_regs): Likewise.
+	(arm_linux_read_description): Check have_ptrace_getregset is
+	TRIBOOL_UNKNOWN.  Set have_ptrace_getregset to TRIBOOL_TRUE
+	or TRIBOOL_FALSE.
+	* i386-linux-nat.c (fetch_xstateregs): Check
+	have_ptrace_getregset is not TRIBOOL_TRUE.
+	(store_xstateregs): Likewise.
+	* linux-nat.c (have_ptrace_getregset): Change its type to
+	enum tribool.
+	* linux-nat.h (tribool): New enum.
+	* x86-linux-nat.c (x86_linux_read_description): Use enum tribool.
+	Check whether have_ptrace_getregset is TRIBOOL_TRUE.
+
 2015-06-19  Doug Evans  <dje@google.com>
 
 	* NEWS: Mention Sun's version of stabs is no longer supported.
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.20150623/gdb/common/buffer.c ./gdb/common/buffer.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/common/buffer.c	2015-06-23 01:48:32.000000000 +0000
+++ ./gdb/common/buffer.c	2015-06-30 01:48:31.000000000 +0000
@@ -21,8 +21,6 @@
 #include "xml-utils.h"
 #include "buffer.h"
 #include "inttypes.h"
-#include <stdint.h>
-
 void
 buffer_grow (struct buffer *buffer, const char *data, size_t size)
 {
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.20150623/gdb/common/print-utils.c ./gdb/common/print-utils.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/common/print-utils.c	2015-06-23 01:48:32.000000000 +0000
+++ ./gdb/common/print-utils.c	2015-06-30 01:48:31.000000000 +0000
@@ -19,8 +19,6 @@
 
 #include "common-defs.h"
 #include "print-utils.h"
-#include <stdint.h>
-
 /* Temporary storage using circular buffer.  */
 
 #define NUMCELLS 16
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.20150623/gdb/compile/compile-c-symbols.c ./gdb/compile/compile-c-symbols.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/compile/compile-c-symbols.c	2015-06-23 01:48:32.000000000 +0000
+++ ./gdb/compile/compile-c-symbols.c	2015-06-30 01:48:31.000000000 +0000
@@ -20,7 +20,6 @@
 
 #include "defs.h"
 #include "compile-internal.h"
-#include "gdb_assert.h"
 #include "symtab.h"
 #include "parser-defs.h"
 #include "block.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.20150623/gdb/compile/compile-c-types.c ./gdb/compile/compile-c-types.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/compile/compile-c-types.c	2015-06-23 01:48:32.000000000 +0000
+++ ./gdb/compile/compile-c-types.c	2015-06-30 01:48:31.000000000 +0000
@@ -21,8 +21,6 @@
 #include "defs.h"
 #include "gdbtypes.h"
 #include "compile-internal.h"
-#include "gdb_assert.h"
-
 /* An object that maps a gdb type to a gcc type.  */
 
 struct type_map_instance
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.20150623/gdb/doc/ChangeLog ./gdb/doc/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/doc/ChangeLog	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/doc/ChangeLog	2015-06-30 01:48:31.000000000 +0000
@@ -1,3 +1,8 @@
+2015-06-26  Patrick Palka  <patrick@parcs.ath.cx>
+
+	* gdb.texinfo (Command History): Document the new option
+	"history remove-duplicates".
+
 2015-06-19  Doug Evans  <dje@google.com>
 
 	* stabs.texinfo (ELF Linker Relocation): Mention Sun stabs is no
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.20150623/gdb/doc/gcore.1 ./gdb/doc/gcore.1
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/doc/gcore.1	2015-06-23 01:51:18.000000000 +0000
+++ ./gdb/doc/gcore.1	2015-06-30 01:51:15.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GCORE 1"
-.TH GCORE 1 "2015-06-23" "gdb-7.9.50.20150623-cvs" "GNU Development Tools"
+.TH GCORE 1 "2015-06-30" "gdb-7.9.50.20150630-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.20150623/gdb/doc/gdb.1 ./gdb/doc/gdb.1
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/doc/gdb.1	2015-06-23 01:51:17.000000000 +0000
+++ ./gdb/doc/gdb.1	2015-06-30 01:51:15.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDB 1"
-.TH GDB 1 "2015-06-23" "gdb-7.9.50.20150623-cvs" "GNU Development Tools"
+.TH GDB 1 "2015-06-30" "gdb-7.9.50.20150630-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.20150623/gdb/doc/gdb.info ./gdb/doc/gdb.info
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/doc/gdb.info	2015-06-23 01:51:17.000000000 +0000
+++ ./gdb/doc/gdb.info	2015-06-30 01:51:15.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.20150623-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.9.50.20150630-cvs.
 
    Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
@@ -42,11 +42,11 @@ Indirect:
 gdb.info-1: 1723
 gdb.info-2: 295168
 gdb.info-3: 593066
-gdb.info-4: 890761
-gdb.info-5: 1190671
-gdb.info-6: 1487927
-gdb.info-7: 1780977
-gdb.info-8: 1974853
+gdb.info-4: 891401
+gdb.info-5: 1191311
+gdb.info-6: 1488567
+gdb.info-7: 1781617
+gdb.info-8: 1975566
 
 Tag Table:
 (Indirect)
@@ -349,401 +349,401 @@ Node: Controlling GDB788516
 Node: Prompt789413
 Node: Editing791132
 Node: Command History792075
-Node: Screen Size795746
-Node: Numbers797679
-Node: ABI799664
-Node: Auto-loading802838
-Ref: set auto-load off804213
-Ref: show auto-load804849
-Ref: info auto-load805628
-Node: Init File in the Current Directory808662
-Ref: set auto-load local-gdbinit809237
-Ref: show auto-load local-gdbinit809419
-Ref: info auto-load local-gdbinit809583
-Node: libthread_db.so.1 file809731
-Ref: set auto-load libthread-db810670
-Ref: show auto-load libthread-db810801
-Ref: info auto-load libthread-db810938
-Node: Auto-loading safe path811122
-Ref: set auto-load safe-path812428
-Ref: show auto-load safe-path813167
-Ref: add-auto-load-safe-path813290
-Node: Auto-loading verbose mode816192
-Ref: set debug auto-load817355
-Ref: show debug auto-load817456
-Node: Messages/Warnings817578
-Ref: confirmation requests819013
-Node: Debugging Output820220
-Node: Other Misc Settings829529
-Node: Extending GDB830558
-Node: Sequences832412
-Node: Define833073
-Node: Hooks836892
-Node: Command Files839259
-Node: Output844329
-Node: Auto-loading sequences849293
-Ref: set auto-load gdb-scripts849788
-Ref: show auto-load gdb-scripts849912
-Ref: info auto-load gdb-scripts850042
-Node: Python850273
-Node: Python Commands851446
-Node: Python API853781
-Node: Basic Python856320
-Ref: prompt_hook864981
-Node: Exception Handling865578
-Node: Values From Inferior868074
-Node: Types In Python881263
-Node: Pretty Printing API890761
-Node: Selecting Pretty-Printers894654
-Node: Writing a Pretty-Printer896987
-Node: Type Printing API902308
-Node: Frame Filter API904929
-Node: Frame Decorator API912214
-Ref: frame_args915793
-Node: Writing a Frame Filter919120
-Node: Unwinding Frames in Python930595
-Node: Xmethods In Python936048
-Node: Xmethod API938943
-Node: Writing an Xmethod942759
-Node: Inferiors In Python948595
-Node: Events In Python951503
-Node: Threads In Python958586
-Node: Commands In Python961029
-Node: Parameters In Python970448
-Node: Functions In Python975909
-Node: Progspaces In Python978131
-Node: Objfiles In Python981632
-Node: Frames In Python987411
-Node: Blocks In Python993949
-Node: Symbols In Python998312
-Node: Symbol Tables In Python1005539
-Node: Line Tables In Python1008769
-Node: Breakpoints In Python1011606
-Node: Finish Breakpoints in Python1019598
-Node: Lazy Strings In Python1021705
-Node: Architectures In Python1023940
-Node: Python Auto-loading1026127
-Ref: set auto-load python-scripts1026756
-Ref: show auto-load python-scripts1026856
-Ref: info auto-load python-scripts1026962
-Node: Python modules1028096
-Node: gdb.printing1028482
-Node: gdb.types1029909
-Node: gdb.prompt1032922
-Node: Guile1034571
-Node: Guile Introduction1035230
-Node: Guile Commands1036101
-Node: Guile API1037970
-Node: Basic Guile1039967
-Node: Guile Configuration1045680
-Node: GDB Scheme Data Types1046656
-Node: Guile Exception Handling1048496
-Node: Values From Inferior In Guile1052547
-Node: Arithmetic In Guile1068092
-Node: Types In Guile1069723
-Ref: Fields of a type in Guile1077670
-Node: Guile Pretty Printing API1079071
-Node: Selecting Guile Pretty-Printers1084667
-Node: Writing a Guile Pretty-Printer1087046
-Node: Commands In Guile1092230
-Node: Parameters In Guile1103034
-Ref: Parameters In Guile-Footnote-11109916
-Node: Progspaces In Guile1110043
-Node: Objfiles In Guile1112631
-Node: Frames In Guile1114911
-Node: Blocks In Guile1121477
-Node: Symbols In Guile1126285
-Node: Symbol Tables In Guile1133617
-Node: Breakpoints In Guile1136580
-Node: Lazy Strings In Guile1146802
-Node: Architectures In Guile1149096
-Node: Disassembly In Guile1153402
-Node: I/O Ports in Guile1156602
-Node: Memory Ports in Guile1157158
-Node: Iterators In Guile1160434
-Node: Guile Auto-loading1164722
-Ref: set auto-load guile-scripts1165345
-Ref: show auto-load guile-scripts1165443
-Ref: info auto-load guile-scripts1165547
-Node: Guile Modules1166506
-Node: Guile Printing Module1166828
-Node: Guile Types Module1167648
-Node: Auto-loading extensions1168940
-Node: objfile-gdbdotext file1170138
-Ref: set auto-load scripts-directory1171582
-Ref: with-auto-load-dir1171958
-Ref: show auto-load scripts-directory1172776
-Ref: add-auto-load-scripts-directory1172856
-Node: dotdebug_gdb_scripts section1173332
-Node: Which flavor to choose?1177085
-Node: Multiple Extension Languages1178906
-Node: Aliases1179970
-Node: Interpreters1182835
-Node: TUI1184934
-Node: TUI Overview1185934
-Node: TUI Keys1188367
-Node: TUI Single Key Mode1190671
-Node: TUI Commands1191546
-Node: TUI Configuration1194944
-Node: Emacs1196240
-Node: GDB/MI1201714
-Node: GDB/MI General Design1203688
-Node: Context management1206211
-Node: Asynchronous and non-stop modes1210039
-Node: Thread groups1213015
-Node: GDB/MI Command Syntax1215293
-Node: GDB/MI Input Syntax1215536
-Node: GDB/MI Output Syntax1217090
-Node: GDB/MI Compatibility with CLI1220677
-Node: GDB/MI Development and Front Ends1221414
-Node: GDB/MI Output Records1223071
-Node: GDB/MI Result Records1223477
-Node: GDB/MI Stream Records1224827
-Node: GDB/MI Async Records1226092
-Node: GDB/MI Breakpoint Information1235723
-Node: GDB/MI Frame Information1239675
-Node: GDB/MI Thread Information1240762
-Node: GDB/MI Ada Exception Information1241741
-Node: GDB/MI Simple Examples1242164
-Node: GDB/MI Command Description Format1244372
-Node: GDB/MI Breakpoint Commands1245252
-Node: GDB/MI Catchpoint Commands1265123
-Node: Shared Library GDB/MI Catchpoint Commands1265491
-Node: Ada Exception GDB/MI Catchpoint Commands1267149
-Node: GDB/MI Program Context1269559
-Node: GDB/MI Thread Commands1273829
-Node: GDB/MI Ada Tasking Commands1277785
-Node: GDB/MI Program Execution1280039
-Node: GDB/MI Stack Manipulation1292076
-Ref: -stack-list-arguments1293975
-Ref: -stack-list-frames1297680
-Ref: -stack-list-locals1301549
-Ref: -stack-list-variables1303039
-Node: GDB/MI Variable Objects1304573
-Ref: -var-set-format1314476
-Ref: -var-list-children1315594
-Ref: -var-update1324383
-Ref: -var-set-frozen1327378
-Ref: -var-set-update-range1328174
-Ref: -var-set-visualizer1328704
-Node: GDB/MI Data Manipulation1330195
-Node: GDB/MI Tracepoint Commands1350027
-Node: GDB/MI Symbol Query1361620
-Node: GDB/MI File Commands1362309
-Node: GDB/MI Target Manipulation1365605
-Node: GDB/MI File Transfer Commands1371827
-Node: GDB/MI Ada Exceptions Commands1373150
-Node: GDB/MI Support Commands1374504
-Node: GDB/MI Miscellaneous Commands1379089
-Ref: -interpreter-exec1389430
-Node: Annotations1391766
-Node: Annotations Overview1392685
-Node: Server Prefix1395148
-Node: Prompting1395882
-Node: Errors1397399
-Node: Invalidation1398295
-Node: Annotations for Running1398772
-Node: Source Annotations1400306
-Node: JIT Interface1401235
-Node: Declarations1403035
-Node: Registering Code1404422
-Node: Unregistering Code1405394
-Node: Custom Debug Info1406021
-Node: Using JIT Debug Info Readers1407317
-Node: Writing JIT Debug Info Readers1408330
-Node: In-Process Agent1410527
-Ref: Control Agent1412470
-Node: In-Process Agent Protocol1413337
-Node: IPA Protocol Objects1414129
-Ref: agent expression object1415131
-Ref: tracepoint action object1415337
-Ref: tracepoint object1415418
-Node: IPA Protocol Commands1418374
-Node: GDB Bugs1419847
-Node: Bug Criteria1420579
-Node: Bug Reporting1421456
-Node: Command Line Editing1429287
-Node: Introduction and Notation1429939
-Node: Readline Interaction1431559
-Node: Readline Bare Essentials1432748
-Node: Readline Movement Commands1434535
-Node: Readline Killing Commands1435498
-Node: Readline Arguments1437416
-Node: Searching1438458
-Node: Readline Init File1440607
-Node: Readline Init File Syntax1441758
-Node: Conditional Init Constructs1456816
-Node: Sample Init File1459347
-Node: Bindable Readline Commands1462462
-Node: Commands For Moving1463517
-Node: Commands For History1464376
-Node: Commands For Text1467778
-Node: Commands For Killing1470502
-Node: Numeric Arguments1472642
-Node: Commands For Completion1473779
-Node: Keyboard Macros1475746
-Node: Miscellaneous Commands1476315
-Node: Readline vi Mode1480169
-Node: Using History Interactively1481079
-Node: History Interaction1481622
-Node: Event Designators1483044
-Node: Word Designators1484184
-Node: Modifiers1485821
-Node: In Memoriam1487044
-Node: Formatting Documentation1487927
-Ref: Formatting Documentation-Footnote-11491304
-Node: Installing GDB1491400
-Node: Requirements1491972
-Ref: Expat1492541
-Node: Running Configure1495166
-Node: Separate Objdir1498945
-Node: Config Names1501925
-Node: Configure Options1503402
-Node: System-wide configuration1505772
-Node: System-wide Configuration Scripts1507732
-Node: Maintenance Commands1508916
-Ref: maint info breakpoints1510571
-Node: Remote Protocol1527894
-Node: Overview1528586
-Ref: Binary Data1531148
-Node: Packets1533671
-Ref: thread-id syntax1534571
-Ref: extended mode1536016
-Ref: ? packet1536273
-Ref: bc1537737
-Ref: bs1537947
-Ref: read registers packet1539563
-Ref: cycle step packet1541499
-Ref: write register packet1544209
-Ref: step with signal packet1545187
-Ref: vCont packet1546661
-Ref: vKill packet1551558
-Ref: X packet1552491
-Ref: insert breakpoint or watchpoint packet1552859
-Node: Stop Reply Packets1557027
-Ref: swbreak stop reason1559968
-Node: General Query Packets1564861
-Ref: qCRC packet1567692
-Ref: QNonStop1575502
-Ref: QPassSignals1576161
-Ref: QProgramSignals1577365
-Ref: qSearch memory1579876
-Ref: QStartNoAckMode1580383
-Ref: qSupported1580913
-Ref: multiprocess extensions1593018
-Ref: install tracepoint in tracing1595047
-Ref: qXfer read1598990
-Ref: qXfer auxiliary vector read1599484
-Ref: qXfer btrace read1599831
-Ref: qXfer btrace-conf read1600892
-Ref: qXfer executable filename read1601241
-Ref: qXfer target description read1601855
-Ref: qXfer library list read1602299
-Ref: qXfer svr4 library list read1602954
-Ref: qXfer memory map read1604806
-Ref: qXfer sdata read1605192
-Ref: qXfer siginfo read1605656
-Ref: qXfer spu read1606052
-Ref: qXfer threads read1606575
-Ref: qXfer traceframe info read1606977
-Ref: qXfer unwind info block1607393
-Ref: qXfer fdpic loadmap read1607625
-Ref: qXfer osdata read1608040
-Ref: qXfer write1609298
-Ref: qXfer siginfo write1609864
-Ref: qXfer spu write1610260
-Ref: General Query Packets-Footnote-11613086
-Node: Architecture-Specific Protocol Details1613413
-Node: ARM-Specific Protocol Details1613922
-Node: ARM Breakpoint Kinds1614170
-Node: MIPS-Specific Protocol Details1614502
-Node: MIPS Register packet Format1614785
-Node: MIPS Breakpoint Kinds1615714
-Node: Tracepoint Packets1616133
-Ref: QTEnable1625451
-Ref: QTDisable1625647
-Ref: qTfSTM1631169
-Ref: qTsSTM1631169
-Ref: qTSTMat1632245
-Ref: QTBuffer-size1633396
-Node: Host I/O Packets1635370
-Node: Interrupts1640958
-Node: Notification Packets1642861
-Node: Remote Non-Stop1648249
-Node: Packet Acknowledgment1651364
-Node: Examples1653479
-Node: File-I/O Remote Protocol Extension1654105
-Node: File-I/O Overview1654567
-Node: Protocol Basics1656764
-Node: The F Request Packet1658996
-Node: The F Reply Packet1659897
-Node: The Ctrl-C Message1660815
-Node: Console I/O1662444
-Node: List of Supported Calls1663661
-Node: open1664023
-Node: close1666517
-Node: read1666899
-Node: write1667506
-Node: lseek1668273
-Node: rename1669151
-Node: unlink1670547
-Node: stat/fstat1671486
-Node: gettimeofday1672373
-Node: isatty1672808
-Node: system1673404
-Node: Protocol-specific Representation of Datatypes1674946
-Node: Integral Datatypes1675323
-Node: Pointer Values1676130
-Node: Memory Transfer1676838
-Node: struct stat1677458
-Node: struct timeval1679660
-Node: Constants1680177
-Node: Open Flags1680626
-Node: mode_t Values1680967
-Node: Errno Values1681459
-Node: Lseek Flags1682270
-Node: Limits1682455
-Node: File-I/O Examples1682815
-Node: Library List Format1683931
-Node: Library List Format for SVR4 Targets1686714
-Node: Memory Map Format1689184
-Node: Thread List Format1691761
-Node: Traceframe Info Format1692579
-Node: Branch Trace Format1694266
-Node: Branch Trace Configuration Format1695654
-Node: Agent Expressions1696614
-Node: General Bytecode Design1699435
-Node: Bytecode Descriptions1704235
-Node: Using Agent Expressions1717673
-Node: Varying Target Capabilities1719651
-Node: Rationale1720813
-Node: Target Descriptions1728199
-Node: Retrieving Descriptions1730075
-Node: Target Description Format1731160
-Node: Predefined Target Types1740204
-Node: Standard Target Features1741589
-Node: AArch64 Features1743477
-Node: ARM Features1743900
-Node: i386 Features1745417
-Node: MicroBlaze Features1747369
-Node: MIPS Features1747946
-Node: M68K Features1749136
-Node: Nios II Features1749799
-Node: PowerPC Features1750196
-Node: S/390 and System z Features1751519
-Node: TIC6x Features1753343
-Node: Operating System Information1753905
-Node: Process list1754743
-Node: Trace File Format1755805
-Node: Index Section Format1757799
-Node: Man Pages1765779
-Node: gdb man1766185
-Node: gdbserver man1772227
-Node: gcore man1779435
-Node: gdbinit man1780092
-Node: Copying1780977
-Node: GNU Free Documentation License1818556
-Node: Concept Index1843722
-Node: Command and Variable Index1974853
+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
 
 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.20150623/gdb/doc/gdb.info-1 ./gdb/doc/gdb.info-1
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/doc/gdb.info-1	2015-06-23 01:51:17.000000000 +0000
+++ ./gdb/doc/gdb.info-1	2015-06-30 01:51:15.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.20150623-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.9.50.20150630-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.20150623-cvs.
+   This is the Tenth Edition, for GDB (GDB) Version 7.9.50.20150630-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.20150623-cvs, Copyright 1999 Free Software Foundation, Inc...
+     GDB 7.9.50.20150630-cvs, Copyright 1999 Free Software Foundation, Inc...
      (gdb)
 
 GDB reads only enough symbol data to know where to find the rest when
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.20150623/gdb/doc/gdb.info-2 ./gdb/doc/gdb.info-2
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/doc/gdb.info-2	2015-06-23 01:51:17.000000000 +0000
+++ ./gdb/doc/gdb.info-2	2015-06-30 01:51:15.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.20150623-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.9.50.20150630-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.20150623/gdb/doc/gdb.info-3 ./gdb/doc/gdb.info-3
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/doc/gdb.info-3	2015-06-23 01:51:17.000000000 +0000
+++ ./gdb/doc/gdb.info-3	2015-06-30 01:51:15.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.20150623-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.9.50.20150630-cvs.
 
    Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
@@ -4951,6 +4951,20 @@ history, use the `output' command instea
      then the number of commands GDB keeps in the history list is
      unlimited.
 
+`set history remove-duplicates COUNT'
+`set history remove-duplicates unlimited'
+     Control the removal of duplicate history entries in the command
+     history list.  If COUNT is non-zero, GDB will look back at the
+     last COUNT history entries and remove the first entry that is a
+     duplicate of the current entry being added to the command history
+     list.  If COUNT is `unlimited' then this lookbehind is unbounded.
+     If COUNT is 0, then removal of duplicate history entries is
+     disabled.
+
+     Only history entries added during the current session are
+     considered for removal.  This option is set to 0 by default.
+
+
    History expansion assigns special meaning to the character `!'.
 *Note Event Designators::, for more details.
 
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.20150623/gdb/doc/gdb.info-4 ./gdb/doc/gdb.info-4
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/doc/gdb.info-4	2015-06-23 01:51:17.000000000 +0000
+++ ./gdb/doc/gdb.info-4	2015-06-30 01:51:15.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.20150623-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.9.50.20150630-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.20150623/gdb/doc/gdb.info-5 ./gdb/doc/gdb.info-5
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/doc/gdb.info-5	2015-06-23 01:51:17.000000000 +0000
+++ ./gdb/doc/gdb.info-5	2015-06-30 01:51:15.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.20150623-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.9.50.20150630-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.20150623/gdb/doc/gdb.info-6 ./gdb/doc/gdb.info-6
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/doc/gdb.info-6	2015-06-23 01:51:17.000000000 +0000
+++ ./gdb/doc/gdb.info-6	2015-06-30 01:51:15.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.20150623-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.9.50.20150630-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.20150623-cvs/gdb/gdb.info', and it refers to subordinate
+`gdb-7.9.50.20150630-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.20150623-cvs', in the case of version
-7.9.50.20150623-cvs), you can make the Info file by typing:
+source directory (`gdb-7.9.50.20150630-cvs', in the case of version
+7.9.50.20150630-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.20150623-cvs/gdb')
+main source directory (for example, to `gdb-7.9.50.20150630-cvs/gdb')
 and type:
 
      make gdb.dvi
@@ -114,8 +114,8 @@ and type:
 
    ---------- Footnotes ----------
 
-   (1) In `gdb-7.9.50.20150623-cvs/gdb/refcard.ps' of the version
-7.9.50.20150623-cvs release.
+   (1) In `gdb-7.9.50.20150630-cvs/gdb/refcard.ps' of the version
+7.9.50.20150630-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.20150623-cvs distribution is in
-the `gdb-7.9.50.20150623-cvs' directory.  That directory contains:
+   For example, the GDB version 7.9.50.20150630-cvs distribution is in
+the `gdb-7.9.50.20150630-cvs' directory.  That directory contains:
 
-`gdb-7.9.50.20150623-cvs/configure (and supporting files)'
+`gdb-7.9.50.20150630-cvs/configure (and supporting files)'
      script for configuring GDB and all its supporting libraries
 
-`gdb-7.9.50.20150623-cvs/gdb'
+`gdb-7.9.50.20150630-cvs/gdb'
      the source specific to GDB itself
 
-`gdb-7.9.50.20150623-cvs/bfd'
+`gdb-7.9.50.20150630-cvs/bfd'
      source for the Binary File Descriptor library
 
-`gdb-7.9.50.20150623-cvs/include'
+`gdb-7.9.50.20150630-cvs/include'
      GNU include files
 
-`gdb-7.9.50.20150623-cvs/libiberty'
+`gdb-7.9.50.20150630-cvs/libiberty'
      source for the `-liberty' free software library
 
-`gdb-7.9.50.20150623-cvs/opcodes'
+`gdb-7.9.50.20150630-cvs/opcodes'
      source for the library of opcode tables and disassemblers
 
-`gdb-7.9.50.20150623-cvs/readline'
+`gdb-7.9.50.20150630-cvs/readline'
      source for the GNU command-line interface
 
-`gdb-7.9.50.20150623-cvs/glob'
+`gdb-7.9.50.20150630-cvs/glob'
      source for the GNU filename pattern-matching subroutine
 
-`gdb-7.9.50.20150623-cvs/mmalloc'
+`gdb-7.9.50.20150630-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.20150623-cvs' directory.
+is the `gdb-7.9.50.20150630-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.20150623-cvs
+     cd gdb-7.9.50.20150630-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.20150623-cvs' source directory for version
-7.9.50.20150623-cvs, `configure' creates configuration files for every
+`gdb-7.9.50.20150630-cvs' source directory for version
+7.9.50.20150630-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.20150623-cvs, you can build GDB in a
+   For example, with version 7.9.50.20150630-cvs, you can build GDB in a
 separate directory for a Sun 4 like this:
 
-     cd gdb-7.9.50.20150623-cvs
+     cd gdb-7.9.50.20150630-cvs
      mkdir ../gdb-sun4
      cd ../gdb-sun4
-     ../gdb-7.9.50.20150623-cvs/configure sun4
+     ../gdb-7.9.50.20150630-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.20150623-cvs/gdb/configure', you are configuring only
+`../gdb-7.9.50.20150630-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.20150623-cvs' (or in a separate configured directory
-configured with `--srcdir=DIRNAME/gdb-7.9.50.20150623-cvs'), you will
+as `gdb-7.9.50.20150630-cvs' (or in a separate configured directory
+configured with `--srcdir=DIRNAME/gdb-7.9.50.20150630-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.20150623-cvs', for version 7.9.50.20150623-cvs).
+(`gdb-7.9.50.20150630-cvs', for version 7.9.50.20150630-cvs).
 
 
 File: gdb.info,  Node: Configure Options,  Next: System-wide configuration,  Prev: Config Names,  Up: Installing GDB
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.20150623/gdb/doc/gdb.info-7 ./gdb/doc/gdb.info-7
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/doc/gdb.info-7	2015-06-23 01:51:17.000000000 +0000
+++ ./gdb/doc/gdb.info-7	2015-06-30 01:51:15.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.20150623-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.9.50.20150630-cvs.
 
    Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
@@ -1742,7 +1742,7 @@ Concept Index
                                                              (line   68)
 * displaced stepping, and process record and replay: Process Record and Replay.
                                                              (line   74)
-* display command history:               Command History.    (line   83)
+* display command history:               Command History.    (line   97)
 * display derived types:                 Print Settings.     (line  462)
 * display disabled out of scope:         Auto Display.       (line   86)
 * display GDB copyright:                 Help.               (line  137)
@@ -2003,7 +2003,7 @@ Concept Index
 * history events:                        Event Designators.  (line    8)
 * history expansion:                     History Interaction.
                                                              (line    6)
-* history expansion, turn on/off:        Command History.    (line   58)
+* history expansion, turn on/off:        Command History.    (line   72)
 * history file:                          Command History.    (line   26)
 * history number:                        Value History.      (line   13)
 * history of values printed by GDB:      Value History.      (line    6)
@@ -2606,6 +2606,7 @@ Concept Index
 * remote timeout:                        Remote Configuration.
                                                              (line   72)
 * remove actions from a tracepoint:      Tracepoint Actions. (line   21)
+* remove duplicate history:              Command History.    (line   55)
 * rename, file-i/o system call:          rename.             (line    6)
 * Renesas:                               Remote Stub.        (line   63)
 * repeated array elements:               Print Settings.     (line  309)
@@ -2716,7 +2717,7 @@ Concept Index
 * shell escape:                          Shell Commands.     (line   10)
 * show all convenience functions:        Convenience Funs.   (line  141)
 * show all user variables and functions: Convenience Vars.   (line   37)
-* show last commands:                    Command History.    (line   83)
+* show last commands:                    Command History.    (line   97)
 * show tdesc filename:                   Retrieving Descriptions.
                                                              (line   25)
 * signals:                               Signals.            (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.20150623/gdb/doc/gdb.info-8 ./gdb/doc/gdb.info-8
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/doc/gdb.info-8	2015-06-23 01:51:17.000000000 +0000
+++ ./gdb/doc/gdb.info-8	2015-06-30 01:51:15.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.20150623-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.9.50.20150630-cvs.
 
    Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
@@ -1954,8 +1954,9 @@ Command, Variable, and Function Index
                                                               (line   6)
 * set hash, for remote monitors:         Target Commands.     (line  99)
 * set height:                            Screen Size.         (line  21)
-* set history expansion:                 Command History.     (line  70)
+* set history expansion:                 Command History.     (line  84)
 * set history filename:                  Command History.     (line  26)
+* set history remove-duplicates:         Command History.     (line  55)
 * set history save:                      Command History.     (line  36)
 * set history size:                      Command History.     (line  45)
 * set host-charset:                      Character Sets.      (line  33)
@@ -2163,7 +2164,7 @@ Command, Variable, and Function Index
 * show com3irq:                          DJGPP Native.        (line 137)
 * show com4base:                         DJGPP Native.        (line 137)
 * show com4irq:                          DJGPP Native.        (line 137)
-* show commands:                         Command History.     (line  83)
+* show commands:                         Command History.     (line  97)
 * show complaints:                       Messages/Warnings.   (line  35)
 * show configuration:                    Help.                (line 146)
 * show confirm:                          Messages/Warnings.   (line  58)
@@ -2208,7 +2209,7 @@ Command, Variable, and Function Index
 * show gnutarget:                        Target Commands.     (line  40)
 * show hash, for remote monitors:        Target Commands.     (line 105)
 * show height:                           Screen Size.         (line  21)
-* show history:                          Command History.     (line  75)
+* show history:                          Command History.     (line  89)
 * show host-charset:                     Character Sets.      (line  55)
 * show inferior-tty:                     Input/Output.        (line  52)
 * show input-radix:                      Numbers.             (line  36)
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.20150623/gdb/doc/gdbinit.5 ./gdb/doc/gdbinit.5
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/doc/gdbinit.5	2015-06-23 01:51:18.000000000 +0000
+++ ./gdb/doc/gdbinit.5	2015-06-30 01:51:15.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDBINIT 5"
-.TH GDBINIT 5 "2015-06-23" "gdb-7.9.50.20150623-cvs" "GNU Development Tools"
+.TH GDBINIT 5 "2015-06-30" "gdb-7.9.50.20150630-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.20150623/gdb/doc/gdbserver.1 ./gdb/doc/gdbserver.1
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/doc/gdbserver.1	2015-06-23 01:51:18.000000000 +0000
+++ ./gdb/doc/gdbserver.1	2015-06-30 01:51:15.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDBSERVER 1"
-.TH GDBSERVER 1 "2015-06-23" "gdb-7.9.50.20150623-cvs" "GNU Development Tools"
+.TH GDBSERVER 1 "2015-06-30" "gdb-7.9.50.20150630-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.20150623/gdb/doc/gdb.texinfo ./gdb/doc/gdb.texinfo
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/doc/gdb.texinfo	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/doc/gdb.texinfo	2015-06-30 01:48:31.000000000 +0000
@@ -22644,6 +22644,21 @@ to 256 if this variable is not set.  Non
 are ignored.  If @var{size} is @code{unlimited} or if @env{GDBHISTSIZE} is
 either a negative number or the empty string, then the number of commands
 @value{GDBN} keeps in the history list is unlimited.
+
+@cindex remove duplicate history
+@kindex set history remove-duplicates
+@item set history remove-duplicates @var{count}
+@itemx set history remove-duplicates unlimited
+Control the removal of duplicate history entries in the command history list.
+If @var{count} is non-zero, @value{GDBN} will look back at the last @var{count}
+history entries and remove the first entry that is a duplicate of the current
+entry being added to the command history list.  If @var{count} is
+@code{unlimited} then this lookbehind is unbounded.  If @var{count} is 0, then
+removal of duplicate history entries is disabled.
+
+Only history entries added during the current session are considered for
+removal.  This option is set to 0 by default.
+
 @end table
 
 History expansion assigns special meaning to the character @kbd{!}.
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.20150623/gdb/exec.c ./gdb/exec.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/exec.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/exec.c	2015-06-30 01:48:31.000000000 +0000
@@ -154,8 +154,7 @@ exec_file_locate_attach (int pid, int fr
 
   /* If gdb_sysroot is not empty and the discovered filename
      is absolute then prefix the filename with gdb_sysroot.  */
-  if (gdb_sysroot != NULL && *gdb_sysroot != '\0'
-      && IS_ABSOLUTE_PATH (exec_file))
+  if (*gdb_sysroot != '\0' && IS_ABSOLUTE_PATH (exec_file))
     full_exec_path = exec_file_find (exec_file, NULL);
 
   if (full_exec_path == NULL)
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.20150623/gdb/ft32-tdep.c ./gdb/ft32-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/ft32-tdep.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/ft32-tdep.c	2015-06-30 01:48:31.000000000 +0000
@@ -37,8 +37,6 @@
 #include "dis-asm.h"
 #include "record.h"
 
-#include "gdb_assert.h"
-
 #include "ft32-tdep.h"
 #include "gdb/sim-ft32.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.20150623/gdb/gdbserver/ChangeLog ./gdb/gdbserver/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/gdbserver/ChangeLog	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/gdbserver/ChangeLog	2015-06-30 01:48:31.000000000 +0000
@@ -1,3 +1,25 @@
+2015-06-29  Pierre Langlois  <pierre.langlois@arm.com>
+
+	* linux-aarch64-low.c (aarch64_supports_z_point_type): Enable for
+	Z_PACKET_SW_BP.
+
+2015-06-29  Pierre Langlois  <pierre.langlois@arm.com>
+
+	* linux-aarch64-low.c: Remove comment about endianness.
+	(aarch64_breakpoint): Change type to gdb_byte[].  Set to "brk #0".
+	(aarch64_breakpoint_at): Change type of insn to gdb_byte[].  Use
+	memcmp.
+
+2015-06-24  Gary Benson  <gbenson@redhat.com>
+
+	* linux-i386-ipa.c (stdint.h): Do not include.
+	* lynx-i386-low.c (stdint.h): Likewise.
+	* lynx-ppc-low.c (stdint.h): Likewise.
+	* mem-break.c (stdint.h): Likewise.
+	* thread-db.c (stdint.h): Likewise.
+	* tracepoint.c (stdint.h): Likewise.
+	* win32-low.c (stdint.h): Likewise.
+
 2015-06-18  Simon Marchi  <simon.marchi@ericsson.com>
 
 	* server.c (write_qxfer_response): Update call 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.20150623/gdb/gdbserver/linux-aarch64-low.c ./gdb/gdbserver/linux-aarch64-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/gdbserver/linux-aarch64-low.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/gdbserver/linux-aarch64-low.c	2015-06-30 01:48:31.000000000 +0000
@@ -295,19 +295,21 @@ aarch64_set_pc (struct regcache *regcach
   supply_register_by_name (regcache, "pc", &newpc);
 }
 
-/* Correct in either endianness.  */
-
 #define aarch64_breakpoint_len 4
 
-static const unsigned long aarch64_breakpoint = 0x00800011;
+/* AArch64 BRK software debug mode instruction.
+   This instruction needs to match gdb/aarch64-tdep.c
+   (aarch64_default_breakpoint).  */
+static const gdb_byte aarch64_breakpoint[] = {0x00, 0x00, 0x20, 0xd4};
 
 static int
 aarch64_breakpoint_at (CORE_ADDR where)
 {
-  unsigned long insn;
+  gdb_byte insn[aarch64_breakpoint_len];
 
-  (*the_target->read_memory) (where, (unsigned char *) &insn, 4);
-  if (insn == aarch64_breakpoint)
+  (*the_target->read_memory) (where, (unsigned char *) &insn,
+			      aarch64_breakpoint_len);
+  if (memcmp (insn, aarch64_breakpoint, aarch64_breakpoint_len) == 0)
     return 1;
 
   return 0;
@@ -950,13 +952,13 @@ aarch64_supports_z_point_type (char z_ty
 {
   switch (z_type)
     {
+    case Z_PACKET_SW_BP:
     case Z_PACKET_HW_BP:
     case Z_PACKET_WRITE_WP:
     case Z_PACKET_READ_WP:
     case Z_PACKET_ACCESS_WP:
       return 1;
     default:
-      /* Leave the handling of sw breakpoints with the gdb client.  */
       return 0;
     }
 }
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.20150623/gdb/gdbserver/linux-i386-ipa.c ./gdb/gdbserver/linux-i386-ipa.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/gdbserver/linux-i386-ipa.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/gdbserver/linux-i386-ipa.c	2015-06-30 01:48:31.000000000 +0000
@@ -19,7 +19,6 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "server.h"
-#include <stdint.h>
 #include <sys/mman.h>
 #include "tracepoint.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.20150623/gdb/gdbserver/lynx-i386-low.c ./gdb/gdbserver/lynx-i386-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/gdbserver/lynx-i386-low.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/gdbserver/lynx-i386-low.c	2015-06-30 01:48:31.000000000 +0000
@@ -17,8 +17,6 @@
 
 #include "server.h"
 #include "lynx-low.h"
-
-#include <stdint.h>
 #include <limits.h>
 #include <sys/ptrace.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.20150623/gdb/gdbserver/lynx-ppc-low.c ./gdb/gdbserver/lynx-ppc-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/gdbserver/lynx-ppc-low.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/gdbserver/lynx-ppc-low.c	2015-06-30 01:48:31.000000000 +0000
@@ -17,8 +17,6 @@
 
 #include "server.h"
 #include "lynx-low.h"
-
-#include <stdint.h>
 #include <limits.h>
 #include <sys/ptrace.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.20150623/gdb/gdbserver/mem-break.c ./gdb/gdbserver/mem-break.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/gdbserver/mem-break.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/gdbserver/mem-break.c	2015-06-30 01:48:31.000000000 +0000
@@ -21,8 +21,6 @@
 #include "server.h"
 #include "regcache.h"
 #include "ax.h"
-#include <stdint.h>
-
 const unsigned char *breakpoint_data;
 int breakpoint_len;
 
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.20150623/gdb/gdbserver/thread-db.c ./gdb/gdbserver/thread-db.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/gdbserver/thread-db.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/gdbserver/thread-db.c	2015-06-30 01:48:31.000000000 +0000
@@ -34,8 +34,6 @@ static int thread_db_use_events;
 #ifndef USE_LIBTHREAD_DB_DIRECTLY
 #include <dlfcn.h>
 #endif
-
-#include <stdint.h>
 #include <limits.h>
 #include <ctype.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.20150623/gdb/gdbserver/tracepoint.c ./gdb/gdbserver/tracepoint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/gdbserver/tracepoint.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/gdbserver/tracepoint.c	2015-06-30 01:48:31.000000000 +0000
@@ -27,8 +27,6 @@
 #include <unistd.h>
 #include <sys/time.h>
 #include <inttypes.h>
-#include <stdint.h>
-
 #include "ax.h"
 #include "tdesc.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.20150623/gdb/gdbserver/win32-low.c ./gdb/gdbserver/win32-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/gdbserver/win32-low.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/gdbserver/win32-low.c	2015-06-30 01:48:31.000000000 +0000
@@ -26,8 +26,6 @@
 #include "gdbthread.h"
 #include "dll.h"
 #include "hostio.h"
-
-#include <stdint.h>
 #include <windows.h>
 #include <winnt.h>
 #include <imagehlp.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.20150623/gdb/gdbthread.h ./gdb/gdbthread.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/gdbthread.h	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/gdbthread.h	2015-06-30 01:48:31.000000000 +0000
@@ -145,9 +145,7 @@ struct thread_control_state
   int stepping_command;
 };
 
-/* Inferior thread specific part of `struct infcall_suspend_state'.
-
-   Inferior process counterpart is `struct inferior_suspend_state'.  */
+/* Inferior thread specific part of `struct infcall_suspend_state'.  */
 
 struct thread_suspend_state
 {
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.20150623/gdb/guile/scm-utils.c ./gdb/guile/scm-utils.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/guile/scm-utils.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/guile/scm-utils.c	2015-06-30 01:48:31.000000000 +0000
@@ -21,7 +21,6 @@
    conventions, et.al.  */
 
 #include "defs.h"
-#include <stdint.h>
 #include "guile-internal.h"
 
 /* Define VARIABLES in the gdb module.  */
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.20150623/gdb/i386-linux-nat.c ./gdb/i386-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/i386-linux-nat.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/i386-linux-nat.c	2015-06-30 01:48:31.000000000 +0000
@@ -327,7 +327,7 @@ fetch_xstateregs (struct regcache *regca
   char xstateregs[X86_XSTATE_MAX_SIZE];
   struct iovec iov;
 
-  if (!have_ptrace_getregset)
+  if (have_ptrace_getregset != TRIBOOL_TRUE)
     return 0;
 
   iov.iov_base = xstateregs;
@@ -350,7 +350,7 @@ store_xstateregs (const struct regcache 
   char xstateregs[X86_XSTATE_MAX_SIZE];
   struct iovec iov;
 
-  if (!have_ptrace_getregset)
+  if (have_ptrace_getregset != TRIBOOL_TRUE)
     return 0;
   
   iov.iov_base = xstateregs;
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.20150623/gdb/i386-linux-tdep.c ./gdb/i386-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/i386-linux-tdep.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/i386-linux-tdep.c	2015-06-30 01:48:31.000000000 +0000
@@ -44,8 +44,6 @@
 
 #include "record-full.h"
 #include "linux-record.h"
-#include <stdint.h>
-
 #include "features/i386/i386-linux.c"
 #include "features/i386/i386-mmx-linux.c"
 #include "features/i386/i386-mpx-linux.c"
@@ -996,8 +994,6 @@ i386_linux_init_abi (struct gdbarch_info
   set_xml_syscall_file_name (gdbarch, XML_SYSCALL_FILENAME_I386);
   set_gdbarch_get_syscall_number (gdbarch,
                                   i386_linux_get_syscall_number);
-
-  set_gdbarch_get_siginfo_type (gdbarch, linux_get_siginfo_type);
 }
 
 /* Provide a prototype to silence -Wmissing-prototypes.  */
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.20150623/gdb/i386-tdep.c ./gdb/i386-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/i386-tdep.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/i386-tdep.c	2015-06-30 01:48:31.000000000 +0000
@@ -50,8 +50,6 @@
 
 #include "record.h"
 #include "record-full.h"
-#include <stdint.h>
-
 #include "features/i386/i386.c"
 #include "features/i386/i386-avx.c"
 #include "features/i386/i386-mpx.c"
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.20150623/gdb/infcall.c ./gdb/infcall.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/infcall.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/infcall.c	2015-06-30 01:48:31.000000000 +0000
@@ -387,6 +387,7 @@ run_inferior_call (struct thread_info *c
   int saved_in_infcall = call_thread->control.in_infcall;
   ptid_t call_thread_ptid = call_thread->ptid;
   int saved_sync_execution = sync_execution;
+  int was_running = call_thread->state == THREAD_RUNNING;
 
   /* Infcalls run synchronously, in the foreground.  */
   if (target_can_async_p ())
@@ -433,6 +434,26 @@ run_inferior_call (struct thread_info *c
      CALL_THREAD as it could be invalid if its thread has exited.  */
   call_thread = find_thread_ptid (call_thread_ptid);
 
+  /* If the infcall does NOT succeed, normal_stop will have already
+     finished the thread states.  However, on success, normal_stop
+     defers here, so that we can set back the thread states to what
+     they were before the call.  Note that we must also finish the
+     state of new threads that might have spawned while the call was
+     running.  The main cases to handle are:
+
+     - "(gdb) print foo ()", or any other command that evaluates an
+     expression at the prompt.  (The thread was marked stopped before.)
+
+     - "(gdb) break foo if return_false()" or similar cases where we
+     do an infcall while handling an event (while the thread is still
+     marked running).  In this example, whether the condition
+     evaluates true and thus we'll present a user-visible stop is
+     decided elsewhere.  */
+  if (!was_running
+      && ptid_equal (call_thread_ptid, inferior_ptid)
+      && stop_stack_dummy == STOP_STACK_DUMMY)
+    finish_thread_state (user_visible_resume_ptid (0));
+
   enable_watchpoints_after_interactive_call_stop ();
 
   /* Call breakpoint_auto_delete on the current contents of the bpstat
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.20150623/gdb/inferior.h ./gdb/inferior.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/inferior.h	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/inferior.h	2015-06-30 01:48:31.000000000 +0000
@@ -276,16 +276,6 @@ struct inferior_control_state
   enum stop_kind stop_soon;
 };
 
-/* Inferior process specific part of `struct infcall_suspend_state'.
-
-   Inferior thread counterpart is `struct thread_suspend_state'.  */
-
-#if 0 /* Currently unused and empty structures are not valid C.  */
-struct inferior_suspend_state
-{
-};
-#endif
-
 /* GDB represents the state of each program execution with an object
    called an inferior.  An inferior typically corresponds to a process
    but is more general and applies also to targets that do not have a
@@ -314,12 +304,6 @@ struct inferior
      See `struct inferior_control_state'.  */
   struct inferior_control_state control;
 
-  /* State of inferior process to restore after GDB is done with an inferior
-     call.  See `struct inferior_suspend_state'.  */
-#if 0 /* Currently unused and empty structures are not valid C.  */
-  struct inferior_suspend_state suspend;
-#endif
-
   /* True if this was an auto-created inferior, e.g. created from
      following a fork; false, if this inferior was manually added by
      the user, and we should not attempt to prune it
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.20150623/gdb/infrun.c ./gdb/infrun.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/infrun.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/infrun.c	2015-06-30 01:48:31.000000000 +0000
@@ -1133,7 +1133,7 @@ follow_exec (ptid_t ptid, char *execd_pa
 
   breakpoint_init_inferior (inf_execd);
 
-  if (gdb_sysroot != NULL && *gdb_sysroot != '\0')
+  if (*gdb_sysroot != '\0')
     {
       char *name = exec_file_find (execd_pathname, NULL);
 
@@ -2264,11 +2264,8 @@ resume (enum gdb_signal sig)
 	     requests finish.  The thread is not executing at this
 	     point, and the call to set_executing will be made later.
 	     But we need to call set_running here, since from the
-	     user/frontend's point of view, threads were set running.
-	     Unless we're calling an inferior function, as in that
-	     case we pretend the inferior doesn't run at all.  */
-	  if (!tp->control.in_infcall)
-	    set_running (user_visible_resume_ptid (user_step), 1);
+	     user/frontend's point of view, threads were set running.  */
+	  set_running (user_visible_resume_ptid (user_step), 1);
 	  discard_cleanups (old_cleanups);
 	  return;
 	}
@@ -2346,10 +2343,8 @@ resume (enum gdb_signal sig)
   /* Even if RESUME_PTID is a wildcard, and we end up resuming less
      (e.g., we might need to step over a breakpoint), from the
      user/frontend's point of view, all threads in RESUME_PTID are now
-     running.  Unless we're calling an inferior function, as in that
-     case pretend we inferior doesn't run at all.  */
-  if (!tp->control.in_infcall)
-    set_running (resume_ptid, 1);
+     running.  */
+  set_running (resume_ptid, 1);
 
   /* Maybe resume a single thread after all.  */
   if ((step || thread_has_single_step_breakpoints_set (tp))
@@ -6664,15 +6659,15 @@ normal_stop (void)
   if (has_stack_frames () && !stop_stack_dummy)
     set_current_sal_from_frame (get_current_frame ());
 
-  /* Let the user/frontend see the threads as stopped, but do nothing
-     if the thread was running an infcall.  We may be e.g., evaluating
-     a breakpoint condition.  In that case, the thread had state
-     THREAD_RUNNING before the infcall, and shall remain set to
-     running, all without informing the user/frontend about state
-     transition changes.  If this is actually a call command, then the
-     thread was originally already stopped, so there's no state to
-     finish either.  */
-  if (target_has_execution && inferior_thread ()->control.in_infcall)
+  /* Let the user/frontend see the threads as stopped, but defer to
+     call_function_by_hand if the thread finished an infcall
+     successfully.  We may be e.g., evaluating a breakpoint condition.
+     In that case, the thread had state THREAD_RUNNING before the
+     infcall, and shall remain marked running, all without informing
+     the user/frontend about state transition changes.  */
+  if (target_has_execution
+      && inferior_thread ()->control.in_infcall
+      && stop_stack_dummy == STOP_STACK_DUMMY)
     discard_cleanups (old_chain);
   else
     do_cleanups (old_chain);
@@ -7256,9 +7251,6 @@ siginfo_make_value (struct gdbarch *gdba
 struct infcall_suspend_state
 {
   struct thread_suspend_state thread_suspend;
-#if 0 /* Currently unused and empty structures are not valid C.  */
-  struct inferior_suspend_state inferior_suspend;
-#endif
 
   /* Other fields:  */
   CORE_ADDR stop_pc;
@@ -7278,9 +7270,6 @@ save_infcall_suspend_state (void)
 {
   struct infcall_suspend_state *inf_state;
   struct thread_info *tp = inferior_thread ();
-#if 0
-  struct inferior *inf = current_inferior ();
-#endif
   struct regcache *regcache = get_current_regcache ();
   struct gdbarch *gdbarch = get_regcache_arch (regcache);
   gdb_byte *siginfo_data = NULL;
@@ -7314,9 +7303,6 @@ save_infcall_suspend_state (void)
     }
 
   inf_state->thread_suspend = tp->suspend;
-#if 0 /* Currently unused and empty structures are not valid C.  */
-  inf_state->inferior_suspend = inf->suspend;
-#endif
 
   /* run_inferior_call will not use the signal due to its `proceed' call with
      GDB_SIGNAL_0 anyway.  */
@@ -7335,16 +7321,10 @@ void
 restore_infcall_suspend_state (struct infcall_suspend_state *inf_state)
 {
   struct thread_info *tp = inferior_thread ();
-#if 0
-  struct inferior *inf = current_inferior ();
-#endif
   struct regcache *regcache = get_current_regcache ();
   struct gdbarch *gdbarch = get_regcache_arch (regcache);
 
   tp->suspend = inf_state->thread_suspend;
-#if 0 /* Currently unused and empty structures are not valid C.  */
-  inf->suspend = inf_state->inferior_suspend;
-#endif
 
   stop_pc = inf_state->stop_pc;
 
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.20150623/gdb/linespec.c ./gdb/linespec.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/linespec.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/linespec.c	2015-06-30 01:48:31.000000000 +0000
@@ -3432,7 +3432,9 @@ collect_symbols (struct symbol *sym, voi
 }
 
 /* We've found a minimal symbol MSYMBOL in OBJFILE to associate with our
-   linespec; return the SAL in RESULT.  */
+   linespec; return the SAL in RESULT.  This function should return SALs
+   matching those from find_function_start_sal, otherwise false
+   multiple-locations breakpoints could be placed.  */
 
 static void
 minsym_found (struct linespec_state *self, struct objfile *objfile,
@@ -3454,7 +3456,23 @@ minsym_found (struct linespec_state *sel
     sal = find_pc_sect_line (pc, NULL, 0);
 
   if (self->funfirstline)
-    skip_prologue_sal (&sal);
+    {
+      if (sal.symtab != NULL
+	  && (COMPUNIT_LOCATIONS_VALID (SYMTAB_COMPUNIT (sal.symtab))
+	      || SYMTAB_LANGUAGE (sal.symtab) == language_asm))
+	{
+	  /* If gdbarch_convert_from_func_ptr_addr does not apply then
+	     sal.SECTION, sal.LINE&co. will stay correct from above.
+	     If gdbarch_convert_from_func_ptr_addr applies then
+	     sal.SECTION is cleared from above and sal.LINE&co. will
+	     stay correct from the last find_pc_sect_line above.  */
+	  sal.pc = MSYMBOL_VALUE_ADDRESS (objfile, msymbol);
+	  sal.pc = gdbarch_convert_from_func_ptr_addr (gdbarch, sal.pc,
+						       &current_target);
+	}
+      else
+	skip_prologue_sal (&sal);
+    }
 
   if (maybe_add_address (self->addr_set, objfile->pspace, sal.pc))
     add_sal_to_sals (self, result, &sal, MSYMBOL_NATURAL_NAME (msymbol), 0);
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.20150623/gdb/linux-nat.c ./gdb/linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/linux-nat.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/linux-nat.c	2015-06-30 01:48:31.000000000 +0000
@@ -166,7 +166,7 @@ blocked.  */
 #endif
 
 /* Does the current host support PTRACE_GETREGSET?  */
-int have_ptrace_getregset = -1;
+enum tribool have_ptrace_getregset = TRIBOOL_UNKNOWN;
 
 /* The single-threaded native GNU/Linux target_ops.  We save a pointer for
    the use of the multi-threaded target.  */
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.20150623/gdb/linux-nat.h ./gdb/linux-nat.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/linux-nat.h	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/linux-nat.h	2015-06-30 01:48:31.000000000 +0000
@@ -116,7 +116,8 @@ struct lwp_info
 extern struct lwp_info *lwp_list;
 
 /* Does the current host support PTRACE_GETREGSET?  */
-extern int have_ptrace_getregset;
+enum tribool { TRIBOOL_UNKNOWN = -1, TRIBOOL_FALSE = 0, TRIBOOL_TRUE = 1 };
+extern enum tribool have_ptrace_getregset;
 
 /* Iterate over each active thread (light-weight process).  */
 #define ALL_LWPS(LP)							\
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.20150623/gdb/linux-tdep.c ./gdb/linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/linux-tdep.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/linux-tdep.c	2015-06-30 01:48:31.000000000 +0000
@@ -243,7 +243,7 @@ get_linux_inferior_data (void)
 /* This function is suitable for architectures that don't
    extend/override the standard siginfo structure.  */
 
-struct type *
+static struct type *
 linux_get_siginfo_type (struct gdbarch *gdbarch)
 {
   struct linux_gdbarch_data *linux_gdbarch_data;
@@ -2440,6 +2440,7 @@ linux_init_abi (struct gdbarch_info info
   set_gdbarch_vsyscall_range (gdbarch, linux_vsyscall_range);
   set_gdbarch_infcall_mmap (gdbarch, linux_infcall_mmap);
   set_gdbarch_infcall_munmap (gdbarch, linux_infcall_munmap);
+  set_gdbarch_get_siginfo_type (gdbarch, linux_get_siginfo_type);
 }
 
 /* Provide a prototype to silence -Wmissing-prototypes.  */
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.20150623/gdb/linux-tdep.h ./gdb/linux-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/linux-tdep.h	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/linux-tdep.h	2015-06-30 01:48:31.000000000 +0000
@@ -29,8 +29,6 @@ typedef char *(*linux_collect_thread_reg
 						       bfd *, char *, int *,
 						       enum gdb_signal);
 
-struct type *linux_get_siginfo_type (struct gdbarch *);
-
 extern enum gdb_signal linux_gdb_signal_from_target (struct gdbarch *gdbarch,
 						     int signal);
 
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.20150623/gdb/m68klinux-tdep.c ./gdb/m68klinux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/m68klinux-tdep.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/m68klinux-tdep.c	2015-06-30 01:48:31.000000000 +0000
@@ -422,8 +422,6 @@ m68k_linux_init_abi (struct gdbarch_info
   /* Enable TLS support.  */
   set_gdbarch_fetch_tls_load_module_address (gdbarch,
                                              svr4_fetch_objfile_link_map);
-
-  set_gdbarch_get_siginfo_type (gdbarch, linux_get_siginfo_type);
 }
 
 /* Provide a prototype to silence -Wmissing-prototypes.  */
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.20150623/gdb/MAINTAINERS ./gdb/MAINTAINERS
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/MAINTAINERS	2015-06-23 01:48:32.000000000 +0000
+++ ./gdb/MAINTAINERS	2015-06-30 01:48:31.000000000 +0000
@@ -560,7 +560,7 @@ Jim Kingdon					kingdon@panix.com
 Paul Koning					paul_koning@dell.com
 Jan Kratochvil					jan.kratochvil@redhat.com
 Maxim Kuvyrkov					maxim@kugelworks.com
-Pierre Langlois 				pierre.langlois@embecosm.com
+Pierre Langlois 				pierre.langlois@arm.com
 Jonathan Larmour				jifl@ecoscentric.com
 Jeff Law					law@redhat.com
 Justin Lebar					justin.lebar@gmail.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.20150623/gdb/microblaze-tdep.c ./gdb/microblaze-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/microblaze-tdep.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/microblaze-tdep.c	2015-06-30 01:48:31.000000000 +0000
@@ -134,30 +134,6 @@ microblaze_fetch_instruction (CORE_ADDR 
   return extract_unsigned_integer (buf, 4, byte_order);
 }
 
-
-static CORE_ADDR
-microblaze_push_dummy_code (struct gdbarch *gdbarch, CORE_ADDR sp,
-			    CORE_ADDR funcaddr,
-			    struct value **args, int nargs,
-			    struct type *value_type,
-			    CORE_ADDR *real_pc, CORE_ADDR *bp_addr,
-			    struct regcache *regcache)
-{
-  error (_("push_dummy_code not implemented"));
-  return sp;
-}
-
-
-static CORE_ADDR
-microblaze_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
-			    struct regcache *regcache, CORE_ADDR bp_addr,
-			    int nargs, struct value **args, CORE_ADDR sp,
-			    int struct_return, CORE_ADDR struct_addr)
-{
-  error (_("store_arguments not implemented"));
-  return sp;
-}
-
 static const gdb_byte *
 microblaze_breakpoint_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pc, 
 			       int *len)
@@ -749,8 +725,6 @@ microblaze_gdbarch_init (struct gdbarch_
 
   /* Call dummy code.  */
   set_gdbarch_call_dummy_location (gdbarch, ON_STACK);
-  set_gdbarch_push_dummy_code (gdbarch, microblaze_push_dummy_code);
-  set_gdbarch_push_dummy_call (gdbarch, microblaze_push_dummy_call);
 
   set_gdbarch_return_value (gdbarch, microblaze_return_value);
   set_gdbarch_stabs_argument_has_addr
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.20150623/gdb/nat/linux-btrace.c ./gdb/nat/linux-btrace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/nat/linux-btrace.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/nat/linux-btrace.c	2015-06-30 01:48:31.000000000 +0000
@@ -30,8 +30,6 @@
 #endif
 
 #if HAVE_LINUX_PERF_EVENT_H && defined(SYS_perf_event_open)
-
-#include <stdint.h>
 #include <unistd.h>
 #include <sys/mman.h>
 #include <sys/user.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.20150623/gdb/nat/linux-btrace.h ./gdb/nat/linux-btrace.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/nat/linux-btrace.h	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/nat/linux-btrace.h	2015-06-30 01:48:31.000000000 +0000
@@ -24,8 +24,6 @@
 
 #include "btrace-common.h"
 #include "vec.h"
-#include <stdint.h>
-
 #if HAVE_LINUX_PERF_EVENT_H
 #  include <linux/perf_event.h>
 #endif
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.20150623/gdb/nat/linux-ptrace.c ./gdb/nat/linux-ptrace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/nat/linux-ptrace.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/nat/linux-ptrace.c	2015-06-30 01:48:31.000000000 +0000
@@ -23,8 +23,6 @@
 #include "buffer.h"
 #include "gdb_wait.h"
 
-#include <stdint.h>
-
 /* Stores the ptrace options supported by the running kernel.
    A value of -1 means we did not check for features yet.  A value
    of 0 means there are no supported features.  */
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.20150623/gdb/nat/mips-linux-watch.h ./gdb/nat/mips-linux-watch.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/nat/mips-linux-watch.h	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/nat/mips-linux-watch.h	2015-06-30 01:48:31.000000000 +0000
@@ -19,8 +19,6 @@
 #define MIPS_LINUX_WATCH_H 1
 
 #include <asm/ptrace.h>
-#include <stdint.h>
-
 #include "break-common.h"
 
 #define MAX_DEBUG_REGISTER 8
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.20150623/gdb/NEWS ./gdb/NEWS
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/NEWS	2015-06-23 01:48:32.000000000 +0000
+++ ./gdb/NEWS	2015-06-30 01:48:31.000000000 +0000
@@ -145,6 +145,10 @@ show max-completions
   to avoid generating large completion lists, the computation of
   which can cause the debugger to become temporarily unresponsive.
 
+set history remove-duplicates
+show history remove-duplicates
+  Control the removal of duplicate history entries.
+
 maint set symbol-cache-size
 maint show symbol-cache-size
   Control the size of the symbol cache.
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.20150623/gdb/po/gdb.pot ./gdb/po/gdb.pot
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/po/gdb.pot	2015-06-23 01:51:16.000000000 +0000
+++ ./gdb/po/gdb.pot	2015-06-30 01:51:14.000000000 +0000
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-06-23 01:51+0000\n"
+"POT-Creation-Date: 2015-06-30 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"
@@ -16,7 +16,7 @@ msgstr ""
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: aarch64-linux-nat.c:329 gdbserver/linux-aarch64-low.c:602
+#: aarch64-linux-nat.c:329 gdbserver/linux-aarch64-low.c:604
 msgid "Unexpected error setting hardware debug registers"
 msgstr ""
 
@@ -59,7 +59,7 @@ msgstr ""
 msgid "Unable to determine the number of hardware breakpoints available."
 msgstr ""
 
-#: aarch64-linux-nat.c:994 gdbserver/linux-aarch64-low.c:432
+#: aarch64-linux-nat.c:994 gdbserver/linux-aarch64-low.c:434
 msgid "Unrecognized breakpoint/watchpoint type"
 msgstr ""
 
@@ -79,14 +79,14 @@ msgid ""
 "triggers a breakpoint or watchpoint."
 msgstr ""
 
-#: aarch64-linux-tdep.c:288 arm-linux-tdep.c:1197 i386-tdep.c:4062
-#: i386-tdep.c:4171 i386-tdep.c:4186 ppc-linux-tdep.c:1087 stap-probe.c:679
+#: aarch64-linux-tdep.c:288 arm-linux-tdep.c:1197 i386-tdep.c:4060
+#: i386-tdep.c:4169 i386-tdep.c:4184 ppc-linux-tdep.c:1087 stap-probe.c:679
 #, possible-c-format
 msgid "Invalid register name `%s' on expression `%s'."
 msgstr ""
 
 #: aarch64-linux-tdep.c:908 amd64-linux-tdep.c:1493 arm-linux-tdep.c:1304
-#: i386-linux-tdep.c:411
+#: i386-linux-tdep.c:409
 #, possible-c-format
 msgid "Process record and replay target doesn't support syscall number %s\n"
 msgstr ""
@@ -229,7 +229,7 @@ msgstr ""
 
 #: ada-exp.y:1403 c-exp.y:1054 c-exp.y:1106 cli/cli-cmds.c:947 f-exp.y:542
 #: go-exp.y:638 linespec.c:1513 linespec.c:3056 p-exp.y:751 p-exp.y:821
-#: source.c:206 symtab.c:4240
+#: source.c:206 symtab.c:4250
 msgid "No symbol table is loaded.  Use the \"file\" command."
 msgstr ""
 
@@ -1317,8 +1317,8 @@ msgstr ""
 #: ppcnbsd-nat.c:122 ppcobsd-nat.c:81 ppcobsd-nat.c:117 s390-linux-nat.c:227
 #: s390-linux-nat.c:244 shnbsd-nat.c:54 shnbsd-nat.c:75 sparc-nat.c:173
 #: sparc-nat.c:209 tilegx-linux-nat.c:136 tilegx-linux-nat.c:156
-#: vaxbsd-nat.c:73 vaxbsd-nat.c:89 xtensa-linux-nat.c:192
-#: xtensa-linux-nat.c:211
+#: vaxbsd-nat.c:73 vaxbsd-nat.c:89 xtensa-linux-nat.c:190
+#: xtensa-linux-nat.c:209
 msgid "Couldn't get registers"
 msgstr ""
 
@@ -1338,7 +1338,7 @@ msgstr ""
 #: m68klinux-nat.c:288 m88kbsd-nat.c:95 mips64obsd-nat.c:110 mipsnbsd-nat.c:89
 #: ppcfbsd-nat.c:160 ppcnbsd-nat.c:129 ppcobsd-nat.c:128 s390-linux-nat.c:249
 #: sparc-nat.c:214 tilegx-linux-nat.c:161 vaxbsd-nat.c:95
-#: xtensa-linux-nat.c:219
+#: xtensa-linux-nat.c:217
 msgid "Couldn't write registers"
 msgstr ""
 
@@ -2148,7 +2148,7 @@ msgstr ""
 msgid "Couldn't read %s section of %s"
 msgstr ""
 
-#: auto-load.c:1341 solib.c:993 solib.c:1075
+#: auto-load.c:1341 solib.c:988 solib.c:1070
 #, possible-c-format
 msgid "Invalid regexp: %s"
 msgstr ""
@@ -2550,8 +2550,8 @@ msgid ""
 "This is information provided by the operating system at program startup."
 msgstr ""
 
-#: avr-tdep.c:399 avr-tdep.c:417 i386-tdep.c:457 i386-tdep.c:3213
-#: i386-tdep.c:3429 i386-tdep.c:3593 s390-linux-tdep.c:324
+#: avr-tdep.c:399 avr-tdep.c:417 i386-tdep.c:455 i386-tdep.c:3211
+#: i386-tdep.c:3427 i386-tdep.c:3591 s390-linux-tdep.c:324
 #: s390-linux-tdep.c:344 s390-linux-tdep.c:418 s390-linux-tdep.c:473
 #: sparc64-tdep.c:336 spu-tdep.c:178 spu-tdep.c:248 spu-tdep.c:309
 #: spu-tdep.c:331 spu-tdep.c:353
@@ -3509,7 +3509,7 @@ msgstr ""
 msgid "Catchpoint %d (%s)"
 msgstr ""
 
-#: breakpoint.c:8388 objc-lang.c:589 objc-lang.c:740 symtab.c:4535
+#: breakpoint.c:8388 objc-lang.c:589 objc-lang.c:740 symtab.c:4545
 #: thread.c:1612
 #, possible-c-format
 msgid "Invalid regexp (%s): %s"
@@ -4638,11 +4638,11 @@ msgid "Recorded trace may be incomplete 
 msgstr ""
 
 #: btrace.c:707 btrace.c:916 common/btrace-common.c:65
-#: common/btrace-common.c:82 nat/linux-btrace.c:706 record-btrace.c:353
+#: common/btrace-common.c:82 nat/linux-btrace.c:704 record-btrace.c:353
 msgid "Unkown branch trace format."
 msgstr ""
 
-#: btrace.c:748 remote.c:11961 remote.c:12012 remote.c:12058
+#: btrace.c:748 remote.c:11960 remote.c:12011 remote.c:12057
 msgid "Target does not support branch tracing."
 msgstr ""
 
@@ -4702,7 +4702,7 @@ msgstr ""
 msgid "File \"%s\" has a different build-id, file skipped"
 msgstr ""
 
-#: build-id.c:152
+#: build-id.c:156
 #, possible-c-format
 msgid "\"%s\": separate debug info file has no debug info"
 msgstr ""
@@ -4732,9 +4732,9 @@ msgstr ""
 msgid "block at %s out of order"
 msgstr ""
 
-#: buildsym.c:863 buildsym.c:877 common/print-utils.c:79
-#: common/print-utils.c:122 common/print-utils.c:290 dbxread.c:3051 exec.c:484
-#: exec.c:769 language.c:534 mdebugread.c:3668 monitor.c:311 monitor.c:341
+#: buildsym.c:863 buildsym.c:877 common/print-utils.c:77
+#: common/print-utils.c:120 common/print-utils.c:288 dbxread.c:3051 exec.c:483
+#: exec.c:768 language.c:534 mdebugread.c:3668 monitor.c:311 monitor.c:341
 #: monitor.c:1309 printcmd.c:472 printcmd.c:827 printcmd.c:2445 psymtab.c:706
 #: psymtab.c:724 remote-mips.c:2719 target.c:676 target.c:760 target.c:787
 #: utils.c:1923 valprint.c:1042
@@ -5948,7 +5948,7 @@ msgstr ""
 #. Should never come here as hookc would be 0.
 #: cli/cli-script.c:1613 common/common-exceptions.c:143
 #: common/common-exceptions.c:159 common/common-exceptions.c:175
-#: complaints.c:309 hppa-tdep.c:3176 hppa-tdep.c:3189 infcall.c:823
+#: 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
@@ -6351,7 +6351,7 @@ msgstr ""
 msgid "Branch Trace Store"
 msgstr ""
 
-#: common/btrace-common.c:38 nat/linux-btrace.c:447 remote.c:11889
+#: common/btrace-common.c:38 nat/linux-btrace.c:445 remote.c:11888
 msgid "Unknown branch trace format"
 msgstr ""
 
@@ -6409,7 +6409,7 @@ msgstr ""
 msgid "Unmatched escape character in target response."
 msgstr ""
 
-#: common/print-utils.c:243
+#: common/print-utils.c:241
 msgid "hex_string_custom: insufficient space to store result"
 msgstr ""
 
@@ -6450,12 +6450,12 @@ msgstr ""
 msgid "unhandled DWARF op: %s"
 msgstr ""
 
-#: compile/compile-loc2c.c:635 compile/compile-c-symbols.c:246
+#: compile/compile-loc2c.c:635 compile/compile-c-symbols.c:245
 #, possible-c-format
 msgid "Symbol \"%s\" cannot be used because there is no selected frame"
 msgstr ""
 
-#: compile/compile-loc2c.c:641 compile/compile-c-symbols.c:253
+#: compile/compile-loc2c.c:641 compile/compile-c-symbols.c:252
 #, possible-c-format
 msgid ""
 "Symbol \"%s\" cannot be used for compilation evaluation as its address has "
@@ -6463,7 +6463,7 @@ msgid ""
 msgstr ""
 
 #. Probably TLS here.
-#: compile/compile-loc2c.c:645 compile/compile-c-symbols.c:228
+#: compile/compile-loc2c.c:645 compile/compile-c-symbols.c:227
 #, possible-c-format
 msgid ""
 "Symbol \"%s\" is thread-local and currently can only be referenced from the "
@@ -6629,40 +6629,40 @@ msgid ""
 "  -mno-align-double \"-I/dir with a space/include\""
 msgstr ""
 
-#: compile/compile-c-symbols.c:124 utils.c:993
+#: compile/compile-c-symbols.c:123 utils.c:993
 #, possible-c-format
 msgid "%s"
 msgstr ""
 
-#: compile/compile-c-symbols.c:207
+#: compile/compile-c-symbols.c:206
 #, possible-c-format
 msgid "Unsupported LOC_CONST_BYTES for symbol \"%s\"."
 msgstr ""
 
-#: compile/compile-c-symbols.c:211
+#: compile/compile-c-symbols.c:210
 #, possible-c-format
 msgid "LOC_UNDEF found for \"%s\"."
 msgstr ""
 
-#: compile/compile-c-symbols.c:215
+#: compile/compile-c-symbols.c:214
 #, possible-c-format
 msgid ""
 "Fortran common block is unsupported for compilation evaluaton of symbol \"%s"
 "\"."
 msgstr ""
 
-#: compile/compile-c-symbols.c:220
+#: compile/compile-c-symbols.c:219
 #, possible-c-format
 msgid ""
 "Symbol \"%s\" cannot be used for compilation evaluation as it is optimized "
 "out."
 msgstr ""
 
-#: compile/compile-c-symbols.c:691
+#: compile/compile-c-symbols.c:690
 msgid "Local symbol unhandled when generating C code."
 msgstr ""
 
-#: compile/compile-c-symbols.c:694
+#: compile/compile-c-symbols.c:693
 msgid "LOC_COMPUTED variable missing a method."
 msgstr ""
 
@@ -6860,19 +6860,19 @@ msgstr ""
 msgid "Unknown compiler scope reached."
 msgstr ""
 
-#: compile/compile-c-types.c:116
+#: compile/compile-c-types.c:114
 msgid "array type with non-constant lower bound is not supported"
 msgstr ""
 
-#: compile/compile-c-types.c:120
+#: compile/compile-c-types.c:118
 msgid "cannot convert array type with non-zero lower bound to C"
 msgstr ""
 
-#: compile/compile-c-types.c:131
+#: compile/compile-c-types.c:129
 msgid "variably-sized vector type is not supported"
 msgstr ""
 
-#: compile/compile-c-types.c:373
+#: compile/compile-c-types.c:371
 msgid "cannot convert gdb type to gcc type"
 msgstr ""
 
@@ -7009,7 +7009,7 @@ msgstr ""
 msgid "Program terminated with signal %s, %s.\n"
 msgstr ""
 
-#: corelow.c:483 guile/scm-utils.c:513
+#: corelow.c:483 guile/scm-utils.c:512
 msgid "Too many arguments"
 msgstr ""
 
@@ -7288,7 +7288,7 @@ msgstr ""
 msgid "Show printing of object's derived type based on vtable info."
 msgstr ""
 
-#: cris-tdep.c:283 i386-linux-tdep.c:318
+#: cris-tdep.c:283 i386-linux-tdep.c:316
 msgid "Couldn't recognize signal trampoline."
 msgstr ""
 
@@ -10642,77 +10642,77 @@ msgstr ""
 msgid "Writing into executable and core files is %s.\n"
 msgstr ""
 
-#: exec.c:135 exec.c:214
+#: exec.c:135 exec.c:213
 msgid "No executable file now.\n"
 msgstr ""
 
-#: exec.c:238
+#: exec.c:237
 #, possible-c-format
 msgid "writing into executable files is not supported for %s sysroots"
 msgstr ""
 
-#: exec.c:287
+#: exec.c:286
 #, possible-c-format
 msgid "\"%s\": could not open as an executable file: %s"
 msgstr ""
 
-#: exec.c:304
+#: exec.c:303
 #, possible-c-format
 msgid "\"%s\": not in executable format: %s"
 msgstr ""
 
-#: exec.c:314
+#: exec.c:313
 #, possible-c-format
 msgid "\"%s\": can't find the file sections: %s"
 msgstr ""
 
-#: exec.c:356
+#: exec.c:355
 msgid ""
 "A program is being debugged already.\n"
 "Are you sure you want to change the file? "
 msgstr ""
 
-#: exec.c:358
+#: exec.c:357
 msgid "File not changed."
 msgstr ""
 
-#: exec.c:374
+#: exec.c:373
 msgid "No executable file name was specified"
 msgstr ""
 
-#: exec.c:866 maint.c:355 maint.c:387
+#: exec.c:865 maint.c:355 maint.c:387
 #, possible-c-format
 msgid "file type %s.\n"
 msgstr ""
 
-#: exec.c:892
+#: exec.c:891
 #, possible-c-format
 msgid "Cannot find section for the entry point of %s."
 msgstr ""
 
-#: exec.c:898
+#: exec.c:897
 #, possible-c-format
 msgid "\tEntry point: %s\n"
 msgstr ""
 
-#: exec.c:931
+#: exec.c:930
 msgid "\t<no file loaded>\n"
 msgstr ""
 
-#: exec.c:946
+#: exec.c:945
 msgid "Must specify section name and its virtual address"
 msgstr ""
 
-#: exec.c:974
+#: exec.c:973
 #, possible-c-format
 msgid "Section %s not found"
 msgstr ""
 
-#: exec.c:1021
+#: exec.c:1020
 msgid "Can't create a corefile"
 msgstr ""
 
-#: exec.c:1057
+#: exec.c:1056
 msgid ""
 "Use FILE as program to be debugged.\n"
 "It is read for its symbols, for getting the contents of pure memory,\n"
@@ -10722,7 +10722,7 @@ msgid ""
 "No arg means to have no executable file and no symbols."
 msgstr ""
 
-#: exec.c:1067
+#: exec.c:1066
 msgid ""
 "Use FILE as program for getting contents of pure memory.\n"
 "If FILE cannot be found as specified, your execution directory path\n"
@@ -10730,7 +10730,7 @@ msgid ""
 "No arg means have no executable file."
 msgstr ""
 
-#: exec.c:1074
+#: exec.c:1073
 msgid ""
 "Change the base address of section SECTION of the exec file to ADDR.\n"
 "This can be used if the exec file does not contain section addresses,\n"
@@ -10739,11 +10739,11 @@ msgid ""
 "``info files'' command lists all the sections and their addresses."
 msgstr ""
 
-#: exec.c:1081
+#: exec.c:1080
 msgid "Set writing into executable and core files."
 msgstr ""
 
-#: exec.c:1082
+#: exec.c:1081
 msgid "Show writing into executable and core files."
 msgstr ""
 
@@ -11337,7 +11337,7 @@ msgstr ""
 msgid "Can't debug x86-64 process with 32-bit GDBserver"
 msgstr ""
 
-#: gdbserver/thread-db.c:768
+#: gdbserver/thread-db.c:766
 #, possible-c-format
 msgid "libthread-db-search-path component too long, ignored: %s."
 msgstr ""
@@ -12242,7 +12242,7 @@ msgid "enumeration list is empty"
 msgstr ""
 
 #: guile/scm-param.c:518 guile/scm-param.c:705 guile/scm-type.c:986
-#: guile/scm-type.c:1031 guile/scm-utils.c:208 guile/scm-value.c:718
+#: guile/scm-type.c:1031 guile/scm-utils.c:207 guile/scm-value.c:718
 #: guile/scm-pretty-print.c:156
 msgid "string"
 msgstr ""
@@ -12259,7 +12259,7 @@ msgstr ""
 msgid "not member of enumeration"
 msgstr ""
 
-#: guile/scm-param.c:726 guile/scm-utils.c:218 guile/scm-breakpoint.c:579
+#: guile/scm-param.c:726 guile/scm-utils.c:217 guile/scm-breakpoint.c:579
 #: guile/scm-breakpoint.c:617
 msgid "boolean"
 msgstr ""
@@ -12487,35 +12487,35 @@ msgstr ""
 msgid "any gdb smob"
 msgstr ""
 
-#: guile/scm-utils.c:227
+#: guile/scm-utils.c:226
 msgid "int"
 msgstr ""
 
-#: guile/scm-utils.c:236
+#: guile/scm-utils.c:235
 msgid "unsigned int"
 msgstr ""
 
-#: guile/scm-utils.c:245
+#: guile/scm-utils.c:244
 msgid "long"
 msgstr ""
 
-#: guile/scm-utils.c:254
+#: guile/scm-utils.c:253
 msgid "unsigned long"
 msgstr ""
 
-#: guile/scm-utils.c:263
+#: guile/scm-utils.c:262
 msgid "LONGEST"
 msgstr ""
 
-#: guile/scm-utils.c:272
+#: guile/scm-utils.c:271
 msgid "ULONGEST"
 msgstr ""
 
-#: guile/scm-utils.c:457
+#: guile/scm-utils.c:456
 msgid "Unrecognized keyword: ~a"
 msgstr ""
 
-#: guile/scm-utils.c:465
+#: guile/scm-utils.c:464
 msgid "Missing value for keyword argument"
 msgstr ""
 
@@ -13073,7 +13073,7 @@ msgstr ""
 msgid "darwin_set_sstep: unknown flavour: %d"
 msgstr ""
 
-#: i386fbsd-tdep.c:264 i386-linux-tdep.c:604
+#: i386fbsd-tdep.c:264 i386-linux-tdep.c:602
 msgid "Couldn't read `xcr0' bytes from `.reg-xstate' section in core file."
 msgstr ""
 
@@ -13148,26 +13148,26 @@ msgstr ""
 msgid "Got request to store bad register number %d."
 msgstr ""
 
-#: i386-tdep.c:2764
+#: i386-tdep.c:2762
 msgid "Cannot find floating-point return value."
 msgstr ""
 
-#: i386-tdep.c:2795 m68k-tdep.c:309
+#: i386-tdep.c:2793 m68k-tdep.c:309
 #, possible-c-format
 msgid "Cannot extract return value of %d bytes long."
 msgstr ""
 
-#: i386-tdep.c:2817
+#: i386-tdep.c:2815
 msgid "Cannot set floating-point return value."
 msgstr ""
 
-#: i386-tdep.c:2860 m68k-tdep.c:350
+#: i386-tdep.c:2858 m68k-tdep.c:350
 #, possible-c-format
 msgid "Cannot store return value of %d bytes long."
 msgstr ""
 
-#: i386-tdep.c:4834 i386-tdep.c:5725 i386-tdep.c:6399 i386-tdep.c:6954
-#: i386-tdep.c:7011
+#: i386-tdep.c:4832 i386-tdep.c:5723 i386-tdep.c:6397 i386-tdep.c:6952
+#: i386-tdep.c:7009
 #, possible-c-format
 msgid ""
 "Process record ignores the memory change of instruction at address %s\n"
@@ -13177,139 +13177,139 @@ msgstr ""
 
 #. XXX
 #. int3
-#: i386-tdep.c:6740
+#: i386-tdep.c:6738
 msgid "Process record does not support instruction int3.\n"
 msgstr ""
 
-#: i386-tdep.c:6757
+#: i386-tdep.c:6755
 #, possible-c-format
 msgid "Process record does not support instruction int 0x%02x.\n"
 msgstr ""
 
 #. XXX
 #. into
-#: i386-tdep.c:6771
+#: i386-tdep.c:6769
 msgid "Process record does not support instruction into.\n"
 msgstr ""
 
 #. bound
-#: i386-tdep.c:6782
+#: i386-tdep.c:6780
 msgid "Process record does not support instruction bound.\n"
 msgstr ""
 
 #. wrmsr
-#: i386-tdep.c:6818
+#: i386-tdep.c:6816
 msgid "Process record does not support instruction wrmsr.\n"
 msgstr ""
 
 #. rdmsr
-#: i386-tdep.c:6825
+#: i386-tdep.c:6823
 msgid "Process record does not support instruction rdmsr.\n"
 msgstr ""
 
-#: i386-tdep.c:6846
+#: i386-tdep.c:6844
 msgid "Process record does not support instruction sysenter.\n"
 msgstr ""
 
 #. sysexit
-#: i386-tdep.c:6858
+#: i386-tdep.c:6856
 msgid "Process record does not support instruction sysexit.\n"
 msgstr ""
 
-#: i386-tdep.c:6869
+#: i386-tdep.c:6867
 msgid "Process record does not support instruction syscall.\n"
 msgstr ""
 
 #. sysret
-#: i386-tdep.c:6881
+#: i386-tdep.c:6879
 msgid "Process record does not support instruction sysret.\n"
 msgstr ""
 
 #. hlt
-#: i386-tdep.c:6895
+#: i386-tdep.c:6893
 msgid "Process record does not support instruction hlt.\n"
 msgstr ""
 
-#: i386-tdep.c:8023
+#: i386-tdep.c:8021
 #, possible-c-format
 msgid "Process record does not support instruction 0x%02x at address %s.\n"
 msgstr ""
 
-#: i386-tdep.c:8091
+#: i386-tdep.c:8089
 #, possible-c-format
 msgid ""
 "; instruction is only %d bytes long, need at least %d bytes for the jump"
 msgstr ""
 
-#: i386-tdep.c:8641
+#: i386-tdep.c:8639
 #, possible-c-format
 msgid "BNDCFGU register invalid, read status %d."
 msgstr ""
 
-#: i386-tdep.c:8689
+#: i386-tdep.c:8687
 msgid "operation not supported"
 msgstr ""
 
-#: i386-tdep.c:8706
+#: i386-tdep.c:8704
 #, possible-c-format
 msgid "Invalid bounds directory entry at %s."
 msgstr ""
 
-#: i386-tdep.c:8780 i386-tdep.c:8817
+#: i386-tdep.c:8778 i386-tdep.c:8815
 msgid "Intel(R) Memory Protection Extensions not supported on this target."
 msgstr ""
 
-#: i386-tdep.c:8784
+#: i386-tdep.c:8782
 msgid "Address of pointer variable expected."
 msgstr ""
 
-#: i386-tdep.c:8821
+#: i386-tdep.c:8819
 msgid "Pointer value expected."
 msgstr ""
 
-#: i386-tdep.c:8828
+#: i386-tdep.c:8826
 msgid "wrong number of arguments: missing lower and upper bound."
 msgstr ""
 
-#: i386-tdep.c:8834
+#: i386-tdep.c:8832
 msgid "Wrong number of arguments; Missing upper bound."
 msgstr ""
 
-#: i386-tdep.c:8880
+#: i386-tdep.c:8878
 msgid "Set the disassembly flavor."
 msgstr ""
 
-#: i386-tdep.c:8881
+#: i386-tdep.c:8879
 msgid "Show the disassembly flavor."
 msgstr ""
 
-#: i386-tdep.c:8882
+#: i386-tdep.c:8880
 msgid ""
 "The valid values are \"att\" and \"intel\", and the default value is \"att\"."
 msgstr ""
 
-#: i386-tdep.c:8891
+#: i386-tdep.c:8889
 msgid "Set the convention for returning small structs."
 msgstr ""
 
-#: i386-tdep.c:8892
+#: i386-tdep.c:8890
 msgid "Show the convention for returning small structs."
 msgstr ""
 
-#: i386-tdep.c:8893
+#: i386-tdep.c:8891
 msgid ""
 "Valid values are \"default\", \"pcc\" and \"reg\", and the default value\n"
 "is \"default\"."
 msgstr ""
 
 #. Add "mpx" prefix for the set commands.
-#: i386-tdep.c:8902
+#: i386-tdep.c:8900
 msgid "Set Intel(R) Memory Protection Extensions specific variables."
 msgstr ""
 
 #. allow-unknown
 #. Add "mpx" prefix for the show commands.
-#: i386-tdep.c:8909
+#: i386-tdep.c:8907
 msgid "Show Intel(R) Memory Protection Extensions specific variables."
 msgstr ""
 
@@ -13395,23 +13395,23 @@ msgstr ""
 msgid "Invalid data type for function to be called."
 msgstr ""
 
-#: infcall.c:616
+#: infcall.c:637
 msgid "May not call functions while looking at trace frames."
 msgstr ""
 
-#: infcall.c:619
+#: infcall.c:640
 msgid "Cannot call functions in reverse mode."
 msgstr ""
 
-#: infcall.c:625
+#: infcall.c:646
 msgid "This target does not support function calls."
 msgstr ""
 
-#: infcall.c:827
+#: infcall.c:848
 msgid "Too few arguments in function call."
 msgstr ""
 
-#: infcall.c:1041
+#: infcall.c:1062
 #, possible-c-format
 msgid ""
 "%s\n"
@@ -13424,7 +13424,7 @@ msgstr ""
 #. We could discard the dummy frame here given that the program exited,
 #. but it will get garbage collected the next time the program is
 #. run anyway.
-#: infcall.c:1069
+#: infcall.c:1090
 #, possible-c-format
 msgid ""
 "The program being debugged exited while in a function called from GDB.\n"
@@ -13432,7 +13432,7 @@ msgid ""
 "(%s) will be abandoned."
 msgstr ""
 
-#: infcall.c:1089
+#: infcall.c:1110
 #, possible-c-format
 msgid ""
 "The program received a signal in another thread while\n"
@@ -13442,7 +13442,7 @@ msgid ""
 "When the function is done executing, GDB will silently stop."
 msgstr ""
 
-#: infcall.c:1097
+#: infcall.c:1118
 #, possible-c-format
 msgid ""
 "The program stopped in another thread while making a function call from "
@@ -13454,7 +13454,7 @@ msgstr ""
 
 #. FIXME: Insert a bunch of wrap_here; name can be very
 #. long if it's a C++ name with arguments and stuff.
-#: infcall.c:1133
+#: infcall.c:1154
 #, possible-c-format
 msgid ""
 "The program being debugged was signaled while in a function called from "
@@ -13467,7 +13467,7 @@ msgstr ""
 
 #. FIXME: Insert a bunch of wrap_here; name can be very
 #. long if it's a C++ name with arguments and stuff.
-#: infcall.c:1151
+#: infcall.c:1172
 #, possible-c-format
 msgid ""
 "The program being debugged was signaled while in a function called from "
@@ -13479,7 +13479,7 @@ msgid ""
 "When the function is done executing, GDB will silently stop."
 msgstr ""
 
-#: infcall.c:1172
+#: infcall.c:1193
 #, possible-c-format
 msgid ""
 "The program being debugged entered a std::terminate call, most likely\n"
@@ -13499,7 +13499,7 @@ msgstr ""
 #. someday this will be implemented (it would not be easy).
 #. FIXME: Insert a bunch of wrap_here; name can be very long if it's
 #. a C++ name with arguments and stuff.
-#: infcall.c:1199
+#: infcall.c:1220
 #, possible-c-format
 msgid ""
 "The program being debugged stopped while in a function called from GDB.\n"
@@ -13509,19 +13509,19 @@ msgid ""
 msgstr ""
 
 #. The above code errors out, so ...
-#: infcall.c:1208
+#: infcall.c:1229
 msgid "... should not be here"
 msgstr ""
 
-#: infcall.c:1276
+#: infcall.c:1297
 msgid "Set coercion of floats to doubles when calling functions."
 msgstr ""
 
-#: infcall.c:1277
+#: infcall.c:1298
 msgid "Show coercion of floats to doubles when calling functions"
 msgstr ""
 
-#: infcall.c:1278
+#: infcall.c:1299
 msgid ""
 "Variables of type float should generally be converted to doubles before\n"
 "calling an unprototyped function, and left alone when calling a prototyped\n"
@@ -13532,15 +13532,15 @@ msgid ""
 "The default is to perform the conversion.\n"
 msgstr ""
 
-#: infcall.c:1291
+#: infcall.c:1312
 msgid "Set unwinding of stack if a signal is received while in a call dummy."
 msgstr ""
 
-#: infcall.c:1292
+#: infcall.c:1313
 msgid "Show unwinding of stack if a signal is received while in a call dummy."
 msgstr ""
 
-#: infcall.c:1293
+#: infcall.c:1314
 msgid ""
 "The unwindonsignal lets the user determine what gdb should do if a signal\n"
 "is received while in a function called from gdb (call dummy).  If set, gdb\n"
@@ -13549,16 +13549,16 @@ msgid ""
 "The default is to stop in the frame where the signal was received."
 msgstr ""
 
-#: infcall.c:1303
+#: infcall.c:1324
 msgid "Set unwinding of stack if std::terminate is called while in call dummy."
 msgstr ""
 
-#: infcall.c:1304
+#: infcall.c:1325
 msgid ""
 "Show unwinding of stack if std::terminate() is called while in a call dummy."
 msgstr ""
 
-#: infcall.c:1306
+#: infcall.c:1327
 msgid ""
 "The unwind on terminating exception flag lets the user determine\n"
 "what gdb should do if a std::terminate() call is made from the\n"
@@ -13573,7 +13573,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:888
+#: record-btrace.c:212 remote-sim.c:894
 msgid "The program is not being run."
 msgstr ""
 
@@ -13754,7 +13754,7 @@ msgstr ""
 msgid "The program being debugged is not being run.\n"
 msgstr ""
 
-#: infcmd.c:1933 infrun.c:7168
+#: infcmd.c:1933 infrun.c:7163
 msgid "Selected thread is running."
 msgstr ""
 
@@ -14520,128 +14520,128 @@ msgstr ""
 msgid "Target '%s' cannot support this command."
 msgstr ""
 
-#: infrun.c:3155
+#: infrun.c:3150
 msgid "Program exited while detaching"
 msgstr ""
 
-#: infrun.c:3371
+#: infrun.c:3366
 msgid "completed.\n"
 msgstr ""
 
-#: infrun.c:3879
+#: infrun.c:3874
 #, possible-c-format
 msgid "unhandled stop_soon: %d"
 msgstr ""
 
-#: infrun.c:3950
+#: infrun.c:3945
 msgid "Cannot fill $_exitsignal with the correct signal number.\n"
 msgstr ""
 
-#: infrun.c:6532
+#: infrun.c:6527
 msgid "Unknown value."
 msgstr ""
 
-#: infrun.c:6612 linux-fork.c:376 linux-fork.c:408
+#: infrun.c:6607 linux-fork.c:376 linux-fork.c:408
 #, possible-c-format
 msgid "[Switching to %s]\n"
 msgstr ""
 
-#: infrun.c:6623
+#: infrun.c:6618
 msgid "No unwaited-for children left.\n"
 msgstr ""
 
-#: infrun.c:6632
+#: infrun.c:6627
 msgid ""
 "Cannot remove breakpoints because program is no longer writable.\n"
 "Further execution is probably impossible.\n"
 msgstr ""
 
-#: infrun.c:6866
+#: infrun.c:6861
 msgid "Signal        Stop\tPrint\tPass to program\tDescription\n"
 msgstr ""
 
-#: infrun.c:6903
+#: infrun.c:6898
 msgid "signal to handle"
 msgstr ""
 
 #. Not a number and not a recognized flag word => complain.
-#: infrun.c:7006
+#: infrun.c:7001
 #, possible-c-format
 msgid "Unrecognized or ambiguous flag word: \"%s\"."
 msgstr ""
 
-#: infrun.c:7021
+#: infrun.c:7016
 #, possible-c-format
 msgid ""
 "%s is used by the debugger.\n"
 "Are you sure you want to change it? "
 msgstr ""
 
-#: infrun.c:7029
+#: infrun.c:7024
 msgid "Not confirmed, unchanged.\n"
 msgstr ""
 
-#: infrun.c:7105
+#: infrun.c:7100
 msgid ""
 "Only signals 1-15 are valid as numeric signals.\n"
 "Use \"info signals\" for a list of symbolic signals."
 msgstr ""
 
-#: infrun.c:7148
+#: infrun.c:7143
 msgid ""
 "\n"
 "Use the \"handle\" command to change these tables.\n"
 msgstr ""
 
-#: infrun.c:7160
+#: infrun.c:7155
 msgid "No thread selected."
 msgstr ""
 
-#: infrun.c:7164
+#: infrun.c:7159
 msgid "The current thread has terminated"
 msgstr ""
 
-#: infrun.c:7199
+#: infrun.c:7194
 msgid "Unable to read siginfo"
 msgstr ""
 
-#: infrun.c:7220
+#: infrun.c:7215
 msgid "Unable to write siginfo"
 msgstr ""
 
-#: infrun.c:7458 stack.c:1852 stack.c:2070
+#: infrun.c:7438 stack.c:1852 stack.c:2070
 msgid "Unable to restore previously selected frame."
 msgstr ""
 
-#: infrun.c:7605
+#: infrun.c:7585
 msgid "Target does not support this operation."
 msgstr ""
 
-#: infrun.c:7615
+#: infrun.c:7595
 msgid "Forward.\n"
 msgstr ""
 
-#: infrun.c:7618
+#: infrun.c:7598
 msgid "Reverse.\n"
 msgstr ""
 
-#: infrun.c:7622
+#: infrun.c:7602
 #, possible-c-format
 msgid "bogus execution_direction value: %d"
 msgstr ""
 
-#: infrun.c:7631
+#: infrun.c:7611
 #, possible-c-format
 msgid "Resuming the execution of threads of all processes is %s.\n"
 msgstr ""
 
-#: infrun.c:7651
+#: infrun.c:7631
 msgid ""
 "What debugger does when program gets various signals.\n"
 "Specify a signal as argument to print info on that signal only."
 msgstr ""
 
-#: infrun.c:7656
+#: infrun.c:7636
 msgid ""
 "Specify how to handle signals.\n"
 "Usage: handle SIGNAL [ACTIONS]\n"
@@ -14668,46 +14668,46 @@ msgid ""
 "all signals cumulatively specified."
 msgstr ""
 
-#: infrun.c:7684
+#: infrun.c:7664
 msgid ""
 "There is no `stop' command, but you can set a hook on `stop'.\n"
 "This allows you to set a list of commands to be run each time execution\n"
 "of the program stops."
 msgstr ""
 
-#: infrun.c:7689
+#: infrun.c:7669
 msgid "Set inferior debugging."
 msgstr ""
 
-#: infrun.c:7690
+#: infrun.c:7670
 msgid "Show inferior debugging."
 msgstr ""
 
-#: infrun.c:7691
+#: infrun.c:7671
 msgid "When non-zero, inferior specific debugging is enabled."
 msgstr ""
 
-#: infrun.c:7698
+#: infrun.c:7678
 msgid "Set displaced stepping debugging."
 msgstr ""
 
-#: infrun.c:7699
+#: infrun.c:7679
 msgid "Show displaced stepping debugging."
 msgstr ""
 
-#: infrun.c:7700
+#: infrun.c:7680
 msgid "When non-zero, displaced stepping specific debugging is enabled."
 msgstr ""
 
-#: infrun.c:7707
+#: infrun.c:7687
 msgid "Set whether gdb controls the inferior in non-stop mode."
 msgstr ""
 
-#: infrun.c:7708
+#: infrun.c:7688
 msgid "Show whether gdb controls the inferior in non-stop mode."
 msgstr ""
 
-#: infrun.c:7709
+#: infrun.c:7689
 msgid ""
 "When debugging a multi-threaded program and this setting is\n"
 "off (the default, also called all-stop mode), when one thread stops\n"
@@ -14722,30 +14722,30 @@ msgid ""
 "leave it stopped or free to run as needed."
 msgstr ""
 
-#: infrun.c:7784
+#: infrun.c:7764
 msgid "Set stopping for shared library events."
 msgstr ""
 
-#: infrun.c:7785
+#: infrun.c:7765
 msgid "Show stopping for shared library events."
 msgstr ""
 
-#: infrun.c:7786
+#: infrun.c:7766
 msgid ""
 "If nonzero, gdb will give control to the user when the dynamic linker\n"
 "notifies gdb of shared library events.  The most common event of interest\n"
 "to the user would be loading/unloading of a new library."
 msgstr ""
 
-#: infrun.c:7796
+#: infrun.c:7776
 msgid "Set debugger response to a program call of fork or vfork."
 msgstr ""
 
-#: infrun.c:7797
+#: infrun.c:7777
 msgid "Show debugger response to a program call of fork or vfork."
 msgstr ""
 
-#: infrun.c:7798
+#: infrun.c:7778
 msgid ""
 "A fork or vfork creates a new process.  follow-fork-mode can be:\n"
 "  parent  - the original process is debugged after a fork\n"
@@ -14754,15 +14754,15 @@ msgid ""
 "By default, the debugger will follow the parent process."
 msgstr ""
 
-#: infrun.c:7810
+#: infrun.c:7790
 msgid "Set debugger response to a program call of exec."
 msgstr ""
 
-#: infrun.c:7811
+#: infrun.c:7791
 msgid "Show debugger response to a program call of exec."
 msgstr ""
 
-#: infrun.c:7812
+#: infrun.c:7792
 msgid ""
 "An exec call replaces the program image of a process.\n"
 "\n"
@@ -14781,15 +14781,15 @@ msgid ""
 "By default, the debugger will use the same inferior."
 msgstr ""
 
-#: infrun.c:7833
+#: infrun.c:7813
 msgid "Set mode for locking scheduler during execution."
 msgstr ""
 
-#: infrun.c:7834
+#: infrun.c:7814
 msgid "Show mode for locking scheduler during execution."
 msgstr ""
 
-#: infrun.c:7835
+#: infrun.c:7815
 msgid ""
 "off  == no locking (threads may preempt at any time)\n"
 "on   == full locking (no thread except the current thread may run)\n"
@@ -14798,15 +14798,15 @@ msgid ""
 "\tIn this mode, other threads may run during other commands."
 msgstr ""
 
-#: infrun.c:7844
+#: infrun.c:7824
 msgid "Set mode for resuming threads of all processes."
 msgstr ""
 
-#: infrun.c:7845
+#: infrun.c:7825
 msgid "Show mode for resuming threads of all processes."
 msgstr ""
 
-#: infrun.c:7846
+#: infrun.c:7826
 msgid ""
 "When on, execution commands (such as 'continue' or 'next') resume all\n"
 "threads of all processes.  When off (which is the default), execution\n"
@@ -14815,30 +14815,30 @@ msgid ""
 "mode (see help set scheduler-locking)."
 msgstr ""
 
-#: infrun.c:7856
+#: infrun.c:7836
 msgid "Set mode of the step operation."
 msgstr ""
 
-#: infrun.c:7857
+#: infrun.c:7837
 msgid "Show mode of the step operation."
 msgstr ""
 
-#: infrun.c:7858
+#: infrun.c:7838
 msgid ""
 "When set, doing a step over a function without debug line information\n"
 "will stop at the first instruction of that function. Otherwise, the\n"
 "function is skipped and the step command stops at a different source line."
 msgstr ""
 
-#: infrun.c:7867
+#: infrun.c:7847
 msgid "Set debugger's willingness to use displaced stepping."
 msgstr ""
 
-#: infrun.c:7868
+#: infrun.c:7848
 msgid "Show debugger's willingness to use displaced stepping."
 msgstr ""
 
-#: infrun.c:7869
+#: infrun.c:7849
 msgid ""
 "If on, gdb will use displaced stepping to step over breakpoints if it is\n"
 "supported by the target architecture.  If off, gdb will not use displaced\n"
@@ -14850,57 +14850,57 @@ msgid ""
 "use it in all-stop mode (see help set non-stop)."
 msgstr ""
 
-#: infrun.c:7881
+#: infrun.c:7861
 msgid ""
 "Set direction of execution.\n"
 "Options are 'forward' or 'reverse'."
 msgstr ""
 
-#: infrun.c:7883
+#: infrun.c:7863
 msgid "Show direction of execution (forward/reverse)."
 msgstr ""
 
-#: infrun.c:7884
+#: infrun.c:7864
 msgid "Tells gdb whether to execute forward or backward."
 msgstr ""
 
 #. Set/show detach-on-fork: user-settable mode.
-#: infrun.c:7890
+#: infrun.c:7870
 msgid "Set whether gdb will detach the child of a fork."
 msgstr ""
 
-#: infrun.c:7891
+#: infrun.c:7871
 msgid "Show whether gdb will detach the child of a fork."
 msgstr ""
 
-#: infrun.c:7892
+#: infrun.c:7872
 msgid "Tells gdb whether to detach the child of a fork."
 msgstr ""
 
-#: infrun.c:7899
+#: infrun.c:7879
 msgid "Set disabling of debuggee's virtual address space randomization."
 msgstr ""
 
-#: infrun.c:7900
+#: infrun.c:7880
 msgid "Show disabling of debuggee's virtual address space randomization."
 msgstr ""
 
-#: infrun.c:7901
+#: infrun.c:7881
 msgid ""
 "When this mode is on (which is the default), randomization of the virtual\n"
 "address space is disabled.  Standalone programs run with the randomization\n"
 "enabled by default on some platforms."
 msgstr ""
 
-#: infrun.c:7925
+#: infrun.c:7905
 msgid "Set whether gdb controls the inferior in observer mode."
 msgstr ""
 
-#: infrun.c:7926
+#: infrun.c:7906
 msgid "Show whether gdb controls the inferior in observer mode."
 msgstr ""
 
-#: infrun.c:7927
+#: infrun.c:7907
 msgid ""
 "In observer mode, GDB can get data from the inferior, but not\n"
 "affect its execution.  Registers and memory may not be changed,\n"
@@ -15947,15 +15947,15 @@ msgstr ""
 msgid "Use of /proc/PID/coredump_filter file to generate corefiles is %s.\n"
 msgstr ""
 
-#: linux-tdep.c:2462
+#: linux-tdep.c:2463
 msgid "Set whether gcore should consider /proc/PID/coredump_filter."
 msgstr ""
 
-#: linux-tdep.c:2464
+#: linux-tdep.c:2465
 msgid "Show whether gcore should consider /proc/PID/coredump_filter."
 msgstr ""
 
-#: linux-tdep.c:2466
+#: linux-tdep.c:2467
 msgid ""
 "Use this command to set whether gcore should consider the contents\n"
 "of /proc/PID/coredump_filter when generating the corefile.  For more "
@@ -18359,27 +18359,19 @@ msgstr ""
 msgid "-file-list-exec-source-files: Usage: No args"
 msgstr ""
 
-#: microblaze-tdep.c:146
-msgid "push_dummy_code not implemented"
-msgstr ""
-
-#: microblaze-tdep.c:157
-msgid "store_arguments not implemented"
-msgstr ""
-
-#: microblaze-tdep.c:576
+#: microblaze-tdep.c:552
 msgid "Unsupported return value size requested"
 msgstr ""
 
-#: microblaze-tdep.c:803
+#: microblaze-tdep.c:777
 msgid "Set microblaze debugging."
 msgstr ""
 
-#: microblaze-tdep.c:804
+#: microblaze-tdep.c:778
 msgid "Show microblaze debugging."
 msgstr ""
 
-#: microblaze-tdep.c:805
+#: microblaze-tdep.c:779
 msgid "When non-zero, microblaze specific debugging is enabled."
 msgstr ""
 
@@ -18830,109 +18822,109 @@ msgstr ""
 msgid "mt_register_type: illegal register number %d"
 msgstr ""
 
-#: nat/linux-ptrace.c:44
+#: nat/linux-ptrace.c:42
 #, possible-c-format
 msgid "process %d is already traced by process %d"
 msgstr ""
 
-#: nat/linux-ptrace.c:49
+#: nat/linux-ptrace.c:47
 #, possible-c-format
 msgid "process %d is a zombie - the process has already terminated"
 msgstr ""
 
-#: nat/linux-ptrace.c:109
+#: nat/linux-ptrace.c:107
 #, possible-c-format
 msgid "linux_ptrace_test_ret_to_nx: Cannot mmap: %s"
 msgstr ""
 
-#: nat/linux-ptrace.c:121
+#: nat/linux-ptrace.c:119
 #, possible-c-format
 msgid "linux_ptrace_test_ret_to_nx: Cannot fork: %s"
 msgstr ""
 
-#: nat/linux-ptrace.c:129
+#: nat/linux-ptrace.c:127
 #, possible-c-format
 msgid "linux_ptrace_test_ret_to_nx: Cannot PTRACE_TRACEME: %s"
 msgstr ""
 
-#: nat/linux-ptrace.c:159
+#: nat/linux-ptrace.c:157
 #, possible-c-format
 msgid "linux_ptrace_test_ret_to_nx: waitpid returned %ld: %s"
 msgstr ""
 
-#: nat/linux-ptrace.c:167
+#: nat/linux-ptrace.c:165
 #, possible-c-format
 msgid "linux_ptrace_test_ret_to_nx: WTERMSIG %d is not SIGKILL!"
 msgstr ""
 
-#: nat/linux-ptrace.c:170
+#: nat/linux-ptrace.c:168
 msgid ""
 "Cannot call inferior functions, Linux kernel PaX protection forbids return "
 "to non-executable pages!"
 msgstr ""
 
-#: nat/linux-ptrace.c:177
+#: nat/linux-ptrace.c:175
 #, possible-c-format
 msgid "linux_ptrace_test_ret_to_nx: status %d is not WIFSTOPPED!"
 msgstr ""
 
-#: nat/linux-ptrace.c:185
+#: nat/linux-ptrace.c:183
 #, possible-c-format
 msgid ""
 "linux_ptrace_test_ret_to_nx: WSTOPSIG %d is neither SIGTRAP nor SIGSEGV!"
 msgstr ""
 
-#: nat/linux-ptrace.c:203
+#: nat/linux-ptrace.c:201
 #, possible-c-format
 msgid "linux_ptrace_test_ret_to_nx: Cannot PTRACE_PEEKUSER: %s"
 msgstr ""
 
-#: nat/linux-ptrace.c:217
+#: nat/linux-ptrace.c:215
 #, possible-c-format
 msgid "linux_ptrace_test_ret_to_nx: PTRACE_KILL waitpid returned %ld: %s"
 msgstr ""
 
-#: nat/linux-ptrace.c:224
+#: nat/linux-ptrace.c:222
 #, possible-c-format
 msgid "linux_ptrace_test_ret_to_nx: PTRACE_KILL status %d is not WIFSIGNALED!"
 msgstr ""
 
-#: nat/linux-ptrace.c:245
+#: nat/linux-ptrace.c:243
 #, possible-c-format
 msgid ""
 "linux_ptrace_test_ret_to_nx: PC %p is neither near return address %p nor is "
 "the return instruction %p!"
 msgstr ""
 
-#: nat/linux-ptrace.c:249
+#: nat/linux-ptrace.c:247
 msgid ""
 "Cannot call inferior functions on this system - Linux kernel with broken "
 "i386 NX (non-executable pages) support detected!"
 msgstr ""
 
-#: nat/linux-ptrace.c:354
+#: nat/linux-ptrace.c:352
 #, possible-c-format
 msgid "linux_check_ptrace_features: waitpid: unexpected result %d."
 msgstr ""
 
-#: nat/linux-ptrace.c:357
+#: nat/linux-ptrace.c:355
 #, possible-c-format
 msgid "linux_check_ptrace_features: waitpid: unexpected status %d."
 msgstr ""
 
-#: nat/linux-ptrace.c:372
+#: nat/linux-ptrace.c:370
 msgid "linux_check_ptrace_features: failed to kill child"
 msgstr ""
 
-#: nat/linux-ptrace.c:432
+#: nat/linux-ptrace.c:430
 msgid "linux_test_for_tracefork: failed to resume child"
 msgstr ""
 
-#: nat/linux-ptrace.c:461
+#: nat/linux-ptrace.c:459
 msgid "linux_test_for_tracefork: failed to kill second child"
 msgstr ""
 
-#: nat/linux-ptrace.c:467
+#: nat/linux-ptrace.c:465
 #, possible-c-format
 msgid ""
 "linux_test_for_tracefork: unexpected result from waitpid (%d, status 0x%x)"
@@ -18978,36 +18970,36 @@ msgstr ""
 msgid "Unrecognized watch register style"
 msgstr ""
 
-#: nat/linux-btrace.c:254
+#: nat/linux-btrace.c:252
 msgid "Branch trace may be incomplete."
 msgstr ""
 
-#: nat/linux-btrace.c:294
+#: nat/linux-btrace.c:292
 #, possible-c-format
 msgid "test bts: cannot fork: %s."
 msgstr ""
 
-#: nat/linux-btrace.c:301
+#: nat/linux-btrace.c:299
 #, possible-c-format
 msgid "test bts: cannot PTRACE_TRACEME: %s."
 msgstr ""
 
-#: nat/linux-btrace.c:309
+#: nat/linux-btrace.c:307
 #, possible-c-format
 msgid "test bts: cannot raise SIGTRAP: %s."
 msgstr ""
 
-#: nat/linux-btrace.c:320 nat/linux-btrace.c:352
+#: nat/linux-btrace.c:318 nat/linux-btrace.c:350
 #, possible-c-format
 msgid "test bts: bad pid %ld, error: %s."
 msgstr ""
 
-#: nat/linux-btrace.c:327
+#: nat/linux-btrace.c:325
 #, possible-c-format
 msgid "test bts: expected stop. status: %d."
 msgstr ""
 
-#: nat/linux-btrace.c:355
+#: nat/linux-btrace.c:353
 #, possible-c-format
 msgid "test bts: expected killed. status: %d."
 msgstr ""
@@ -19456,86 +19448,86 @@ msgstr ""
 msgid "When non-zero, expression parser tracing will be enabled."
 msgstr ""
 
-#: ppc-linux-nat.c:375 ppc-linux-nat.c:845
+#: ppc-linux-nat.c:373 ppc-linux-nat.c:843
 msgid "Unable to fetch VSX register"
 msgstr ""
 
-#: ppc-linux-nat.c:404 ppc-linux-nat.c:875
+#: ppc-linux-nat.c:402 ppc-linux-nat.c:873
 msgid "Unable to fetch AltiVec register"
 msgstr ""
 
 #. Anything else needs to be reported.
-#: ppc-linux-nat.c:442 ppc-linux-nat.c:2422
+#: ppc-linux-nat.c:440 ppc-linux-nat.c:2420
 msgid "Unable to fetch SPE registers"
 msgstr ""
 
-#: ppc-linux-nat.c:579
+#: ppc-linux-nat.c:577
 #, possible-c-format
 msgid "fetch_register: unexpected byte order: %d"
 msgstr ""
 
-#: ppc-linux-nat.c:637 ppc-linux-nat.c:2435
+#: ppc-linux-nat.c:635 ppc-linux-nat.c:2433
 msgid "Unable to fetch VSX registers"
 msgstr ""
 
-#: ppc-linux-nat.c:656 ppc-linux-nat.c:2448
+#: ppc-linux-nat.c:654 ppc-linux-nat.c:2446
 msgid "Unable to fetch AltiVec registers"
 msgstr ""
 
-#: ppc-linux-nat.c:683 ppc-linux-nat.c:1159
+#: ppc-linux-nat.c:681 ppc-linux-nat.c:1157
 msgid "Couldn't get general-purpose registers."
 msgstr ""
 
-#: ppc-linux-nat.c:735 ppc-linux-nat.c:1221
+#: ppc-linux-nat.c:733 ppc-linux-nat.c:1219
 msgid "Couldn't get floating-point registers."
 msgstr ""
 
-#: ppc-linux-nat.c:853
+#: ppc-linux-nat.c:851
 msgid "Unable to store VSX register"
 msgstr ""
 
-#: ppc-linux-nat.c:889
+#: ppc-linux-nat.c:887
 msgid "Unable to store AltiVec register"
 msgstr ""
 
 #. Anything else needs to be reported.
-#: ppc-linux-nat.c:916
+#: ppc-linux-nat.c:914
 msgid "Unable to set SPE registers"
 msgstr ""
 
-#: ppc-linux-nat.c:1105
+#: ppc-linux-nat.c:1103
 msgid "Couldn't get VSX registers"
 msgstr ""
 
-#: ppc-linux-nat.c:1111
+#: ppc-linux-nat.c:1109
 msgid "Couldn't write VSX registers"
 msgstr ""
 
-#: ppc-linux-nat.c:1128
+#: ppc-linux-nat.c:1126
 msgid "Couldn't get AltiVec registers"
 msgstr ""
 
-#: ppc-linux-nat.c:1134
+#: ppc-linux-nat.c:1132
 msgid "Couldn't write AltiVec registers"
 msgstr ""
 
-#: ppc-linux-nat.c:1171
+#: ppc-linux-nat.c:1169
 msgid "Couldn't set general-purpose registers."
 msgstr ""
 
-#: ppc-linux-nat.c:1233
+#: ppc-linux-nat.c:1231
 msgid "Couldn't set floating-point registers."
 msgstr ""
 
-#: ppc-linux-nat.c:1562
+#: ppc-linux-nat.c:1560
 msgid "Unexpected error setting breakpoint or watchpoint"
 msgstr ""
 
-#: ppc-linux-nat.c:1609
+#: ppc-linux-nat.c:1607
 msgid "Unexpected error deleting breakpoint or watchpoint"
 msgstr ""
 
-#: ppc-linux-nat.c:2284
+#: ppc-linux-nat.c:2282
 msgid "The given mask covers kernel address space and cannot be used.\n"
 msgstr ""
 
@@ -20470,7 +20462,7 @@ msgstr ""
 #. exception if it is invalid.
 #. Require that BREAKPOINT be a valid breakpoint ID; throw a Python
 #. exception if it is invalid.  This macro is for use in setter functions.
-#: python/python-internal.h:276 python/python-internal.h:286
+#: python/python-internal.h:274 python/python-internal.h:284
 #, possible-c-format
 msgid "Breakpoint %d is invalid."
 msgstr ""
@@ -22564,8 +22556,8 @@ msgstr ""
 msgid "\"monitor\" command ``%s'' is too long."
 msgstr ""
 
-#: remote.c:9612 remote.c:10975 remote.c:11262 remote.c:11358 remote.c:11466
-#: remote.c:11517 remote.c:11595 remote.c:11658 remote.c:11686
+#: 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
 msgid "Target does not support this command."
 msgstr ""
 
@@ -22573,7 +22565,7 @@ msgstr ""
 msgid "Protocol error with Rcmd"
 msgstr ""
 
-#: remote.c:9659 remote.c:10666 remote.c:10757 remote.c:10811
+#: remote.c:9659 remote.c:10665 remote.c:10756 remote.c:10810
 msgid "command can only be used with remote target"
 msgstr ""
 
@@ -22658,230 +22650,230 @@ msgstr ""
 msgid "vFile:fstat returned %d bytes, but expecting %d."
 msgstr ""
 
-#: remote.c:10569
+#: remote.c:10568
 msgid ""
 "remote target does not support file transfer, attempting to access files "
 "from local filesystem."
 msgstr ""
 
-#: remote.c:10639
+#: remote.c:10638
 #, possible-c-format
 msgid "Unknown remote I/O error %d"
 msgstr ""
 
-#: remote.c:10641
+#: remote.c:10640
 #, possible-c-format
 msgid "Remote I/O error: %s"
 msgstr ""
 
-#: remote.c:10701
+#: remote.c:10700
 #, possible-c-format
 msgid "Error reading %s."
 msgstr ""
 
-#: remote.c:10725
+#: remote.c:10724
 #, possible-c-format
 msgid "Remote write of %d bytes returned 0!"
 msgstr ""
 
-#: remote.c:10742
+#: remote.c:10741
 #, possible-c-format
 msgid "Successfully sent file \"%s\".\n"
 msgstr ""
 
-#: remote.c:10800
+#: remote.c:10799
 #, possible-c-format
 msgid "Successfully fetched file \"%s\".\n"
 msgstr ""
 
-#: remote.c:10819
+#: remote.c:10818
 #, possible-c-format
 msgid "Successfully deleted file \"%s\".\n"
 msgstr ""
 
-#: remote.c:10829
+#: remote.c:10828
 msgid "file to put"
 msgstr ""
 
-#: remote.c:10834
+#: remote.c:10833
 msgid "Invalid parameters to remote put"
 msgstr ""
 
-#: remote.c:10848
+#: remote.c:10847
 msgid "file to get"
 msgstr ""
 
-#: remote.c:10853
+#: remote.c:10852
 msgid "Invalid parameters to remote get"
 msgstr ""
 
-#: remote.c:10867
+#: remote.c:10866
 msgid "file to delete"
 msgstr ""
 
-#: remote.c:10872
+#: remote.c:10871
 msgid "Invalid parameters to remote delete"
 msgstr ""
 
-#: remote.c:11020 remote.c:11035 remote.c:11196 remote.c:11207
+#: remote.c:11019 remote.c:11034 remote.c:11195 remote.c:11206
 msgid "Target does not support source download."
 msgstr ""
 
-#: remote.c:11089
+#: remote.c:11088
 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:11096
+#: remote.c:11095
 #, possible-c-format
 msgid ""
 "Target does not support fast tracepoints, downloading %d as regular "
 "tracepoint"
 msgstr ""
 
-#: remote.c:11110
+#: remote.c:11109
 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:11116
+#: remote.c:11115
 msgid "Target does not support static tracepoints"
 msgstr ""
 
-#: remote.c:11137
+#: remote.c:11136
 #, possible-c-format
 msgid "Target does not support conditional tracepoints, ignoring tp %d cond"
 msgstr ""
 
-#: remote.c:11146
+#: remote.c:11145
 msgid "Target does not support tracepoints."
 msgstr ""
 
-#: remote.c:11163 remote.c:11180
+#: remote.c:11162 remote.c:11179
 msgid "Error on target while setting tracepoints."
 msgstr ""
 
-#: remote.c:11256
+#: remote.c:11255
 msgid "Trace state variable name too long for tsv definition packet"
 msgstr ""
 
-#: remote.c:11264
+#: remote.c:11263
 msgid "Error on target while downloading trace state variable."
 msgstr ""
 
-#: remote.c:11280
+#: remote.c:11279
 msgid ""
 "Target does not support enabling tracepoints while a trace run is ongoing."
 msgstr ""
 
-#: remote.c:11282
+#: remote.c:11281
 msgid "Error on target while enabling tracepoint."
 msgstr ""
 
-#: remote.c:11298
+#: remote.c:11297
 msgid ""
 "Target does not support disabling tracepoints while a trace run is ongoing."
 msgstr ""
 
-#: remote.c:11300
+#: remote.c:11299
 msgid "Error on target while disabling tracepoint."
 msgstr ""
 
-#: remote.c:11337
+#: remote.c:11336
 msgid "Too many sections for read-only sections definition packet."
 msgstr ""
 
-#: remote.c:11360 remote.c:11468 remote.c:11542 remote.c:11545 remote.c:11597
-#: remote.c:11660 remote.c:11688 remote.c:11772 remote.c:11818
+#: 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
 #, possible-c-format
 msgid "Bogus reply from target: %s"
 msgstr ""
 
-#: remote.c:11404
+#: remote.c:11403
 #, possible-c-format
 msgid "Bogus trace status reply from target: %s"
 msgstr ""
 
-#: remote.c:11511
+#: remote.c:11510
 #, possible-c-format
 msgid "Unknown trace find type %d"
 msgstr ""
 
-#: remote.c:11526
+#: remote.c:11525
 msgid "Unable to parse trace frame number"
 msgstr ""
 
-#: remote.c:11536
+#: remote.c:11535
 msgid "Unable to parse tracepoint number"
 msgstr ""
 
-#: remote.c:11589
+#: remote.c:11588
 msgid "Remote file name too long for trace save packet"
 msgstr ""
 
-#: remote.c:11663
+#: remote.c:11662
 msgid "Target does not support disconnected tracing."
 msgstr ""
 
-#: remote.c:11919
+#: remote.c:11918
 #, possible-c-format
 msgid "Failed to configure the BTS buffer size: %s"
 msgstr ""
 
-#: remote.c:11921
+#: remote.c:11920
 msgid "Failed to configure the BTS buffer size."
 msgstr ""
 
-#: remote.c:11974
+#: remote.c:11973
 #, possible-c-format
 msgid "Could not enable branch tracing for %s: %s"
 msgstr ""
 
-#: remote.c:11977
+#: remote.c:11976
 #, possible-c-format
 msgid "Could not enable branch tracing for %s."
 msgstr ""
 
-#: remote.c:12023
+#: remote.c:12022
 #, possible-c-format
 msgid "Could not disable branch tracing for %s: %s"
 msgstr ""
 
-#: remote.c:12026
+#: remote.c:12025
 #, possible-c-format
 msgid "Could not disable branch tracing for %s."
 msgstr ""
 
-#: remote.c:12061
+#: remote.c:12060
 msgid "Cannot process branch tracing result. XML parsing not supported."
 msgstr ""
 
-#: remote.c:12077
+#: remote.c:12076
 #, possible-c-format
 msgid "Bad branch tracing read type: %u."
 msgstr ""
 
-#: remote.c:12135
+#: remote.c:12134
 #, possible-c-format
 msgid "not currently attached to process %d"
 msgstr ""
 
-#: remote.c:12496
+#: remote.c:12495
 #, possible-c-format
 msgid "Debugger's willingness to use range stepping is %s.\n"
 msgstr ""
 
-#: remote.c:12522
+#: remote.c:12521
 msgid "Range stepping is not supported by the current target"
 msgstr ""
 
 #. set/show remote ...
 #. allow-unknown
-#: remote.c:12569 remote.c:12575
+#: remote.c:12568 remote.c:12574
 msgid ""
 "Remote protocol specific variables\n"
 "Configure various remote-protocol specific variables such as\n"
@@ -22889,14 +22881,14 @@ msgid ""
 msgstr ""
 
 #. allow-unknown
-#: remote.c:12582
+#: remote.c:12581
 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:12588
+#: remote.c:12587
 msgid ""
 "Send an arbitrary packet to a remote target.\n"
 "   maintenance packet TEXT\n"
@@ -22906,57 +22898,57 @@ msgid ""
 "terminating `#' character and checksum."
 msgstr ""
 
-#: remote.c:12597
+#: remote.c:12596
 msgid "Set whether to send break if interrupted."
 msgstr ""
 
-#: remote.c:12598
+#: remote.c:12597
 msgid "Show whether to send break if interrupted."
 msgstr ""
 
-#: remote.c:12599
+#: remote.c:12598
 msgid "If set, a break, instead of a cntrl-c, is sent to the remote target."
 msgstr ""
 
-#: remote.c:12612
+#: remote.c:12611
 msgid "Set interrupt sequence to remote target."
 msgstr ""
 
-#: remote.c:12613
+#: remote.c:12612
 msgid "Show interrupt sequence to remote target."
 msgstr ""
 
-#: remote.c:12614
+#: remote.c:12613
 msgid ""
 "Valid value is \"Ctrl-C\", \"BREAK\" or \"BREAK-g\". The default is \"Ctrl-C"
 "\"."
 msgstr ""
 
-#: remote.c:12621
+#: remote.c:12620
 msgid ""
 "Set whether interrupt-sequence is sent to remote target when gdb connects to."
 msgstr ""
 
-#: remote.c:12622
+#: remote.c:12621
 msgid ""
 "\t\tShow whether interrupt-sequence is sent to remote target when gdb "
 "connects to."
 msgstr ""
 
-#: remote.c:12623
+#: remote.c:12622
 msgid "\t\tIf set, interrupt sequence is sent to remote target."
 msgstr ""
 
 #. Install commands for configuring memory read/write packets.
-#: remote.c:12630
+#: remote.c:12629
 msgid "Set the maximum number of bytes per memory write packet (deprecated)."
 msgstr ""
 
-#: remote.c:12633
+#: remote.c:12632
 msgid "Show the maximum number of bytes per memory write packet (deprecated)."
 msgstr ""
 
-#: remote.c:12637
+#: remote.c:12636
 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"
@@ -22965,7 +22957,7 @@ msgid ""
 "further restriction and ``limit'' to enable that restriction."
 msgstr ""
 
-#: remote.c:12645
+#: remote.c:12644
 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"
@@ -22974,99 +22966,99 @@ msgid ""
 "further restriction and ``limit'' to enable that restriction."
 msgstr ""
 
-#: remote.c:12654
+#: remote.c:12653
 msgid "Show the maximum number of bytes per memory-write packet."
 msgstr ""
 
-#: remote.c:12658
+#: remote.c:12657
 msgid "Show the maximum number of bytes per memory-read packet."
 msgstr ""
 
-#: remote.c:12662
+#: remote.c:12661
 msgid "Set the maximum number of target hardware watchpoints."
 msgstr ""
 
-#: remote.c:12663
+#: remote.c:12662
 msgid "Show the maximum number of target hardware watchpoints."
 msgstr ""
 
-#: remote.c:12664 remote.c:12673 remote.c:12682
+#: remote.c:12663 remote.c:12672 remote.c:12681
 msgid "Specify a negative limit for unlimited."
 msgstr ""
 
-#: remote.c:12671
+#: remote.c:12670
 msgid "Set the maximum length (in bytes) of a target hardware watchpoint."
 msgstr ""
 
-#: remote.c:12672
+#: remote.c:12671
 msgid "Show the maximum length (in bytes) of a target hardware watchpoint."
 msgstr ""
 
-#: remote.c:12680
+#: remote.c:12679
 msgid "Set the maximum number of target hardware breakpoints."
 msgstr ""
 
-#: remote.c:12681
+#: remote.c:12680
 msgid "Show the maximum number of target hardware breakpoints."
 msgstr ""
 
-#: remote.c:12690
+#: remote.c:12689
 msgid "Set the maximum size of the address (in bits) in a memory packet."
 msgstr ""
 
-#: remote.c:12691
+#: remote.c:12690
 msgid "Show the maximum size of the address (in bits) in a memory packet."
 msgstr ""
 
-#: remote.c:12949
+#: remote.c:12948
 msgid "Set use of remote protocol `Z' packets"
 msgstr ""
 
-#: remote.c:12950
+#: remote.c:12949
 msgid "Show use of remote protocol `Z' packets "
 msgstr ""
 
-#: remote.c:12951
+#: remote.c:12950
 msgid ""
 "When set, GDB will attempt to use the remote breakpoint and watchpoint\n"
 "packets."
 msgstr ""
 
-#: remote.c:12960
+#: remote.c:12959
 msgid ""
 "Manipulate files on the remote system\n"
 "Transfer files to and from the remote target system."
 msgstr ""
 
-#: remote.c:12967
+#: remote.c:12966
 msgid "Copy a local file to the remote system."
 msgstr ""
 
-#: remote.c:12971
+#: remote.c:12970
 msgid "Copy a remote file to the local system."
 msgstr ""
 
-#: remote.c:12975
+#: remote.c:12974
 msgid "Delete a remote file."
 msgstr ""
 
-#: remote.c:12980
+#: remote.c:12979
 msgid "Set the remote pathname for \"run\""
 msgstr ""
 
-#: remote.c:12981
+#: remote.c:12980
 msgid "Show the remote pathname for \"run\""
 msgstr ""
 
-#: remote.c:12986
+#: remote.c:12985
 msgid "Enable or disable range stepping."
 msgstr ""
 
-#: remote.c:12987
+#: remote.c:12986
 msgid "Show whether target-assisted range stepping is enabled."
 msgstr ""
 
-#: remote.c:12988
+#: remote.c:12987
 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 "
@@ -23385,71 +23377,71 @@ msgid ""
 "When non-zero, debugging output about async remote notifications is enabled."
 msgstr ""
 
-#: remote-sim.c:186
+#: remote-sim.c:187
 #, possible-c-format
 msgid "Unable to create simulator instance for inferior %d."
 msgstr ""
 
-#: remote-sim.c:201
+#: remote-sim.c:202
 #, possible-c-format
 msgid ""
 "Inferior %d and inferior %d would have identical simulator state.\n"
 "(This simulator does not support the running of more than one inferior.)"
 msgstr ""
 
-#: remote-sim.c:527
+#: remote-sim.c:528
 msgid "Register size different to expected"
 msgstr ""
 
-#: remote-sim.c:530
+#: remote-sim.c:531
 #, possible-c-format
 msgid "Register %d not updated"
 msgstr ""
 
-#: remote-sim.c:532
+#: remote-sim.c:533
 #, possible-c-format
 msgid "Register %s not updated"
 msgstr ""
 
-#: remote-sim.c:571
+#: remote-sim.c:572
 msgid "program to load"
 msgstr ""
 
-#: remote-sim.c:579
+#: remote-sim.c:580
 msgid "GDB sim does not yet support a load offset."
 msgstr ""
 
-#: remote-sim.c:588
+#: remote-sim.c:589
 msgid "unable to load program"
 msgstr ""
 
-#: remote-sim.c:615
+#: remote-sim.c:616
 msgid "No executable file specified."
 msgstr ""
 
-#: remote-sim.c:617 remote-sim.c:1079
+#: remote-sim.c:618 remote-sim.c:1085
 msgid "No program loaded."
 msgstr ""
 
-#: remote-sim.c:649
+#: remote-sim.c:650
 msgid "Unable to create sim inferior."
 msgstr ""
 
-#: remote-sim.c:734
+#: remote-sim.c:740
 msgid "unable to create simulator instance"
 msgstr ""
 
-#: remote-sim.c:855
+#: remote-sim.c:861
 #, possible-c-format
 msgid "gdbsim_resume: pid %d, step %d, signal %d\n"
 msgstr ""
 
-#: remote-sim.c:934
+#: remote-sim.c:940
 #, possible-c-format
 msgid "Can't stop pid %d.  No inferior found."
 msgstr ""
 
-#: remote-sim.c:987
+#: remote-sim.c:993
 #, possible-c-format
 msgid "Unable to wait for pid %d.  Inferior not found."
 msgstr ""
@@ -23462,11 +23454,11 @@ msgstr ""
 #. Consistent with that model, access to the simulator, via sim
 #. commands, is restricted to the period when the channel to the
 #. simulator is open.
-#: remote-sim.c:1209
+#: remote-sim.c:1215
 msgid "Not connected to the simulator target"
 msgstr ""
 
-#: remote-sim.c:1344
+#: remote-sim.c:1350
 msgid "Send a command to the simulator."
 msgstr ""
 
@@ -23593,7 +23585,7 @@ msgstr ""
 msgid "Undefined mapping for opc reg %d"
 msgstr ""
 
-#: rl78-tdep.c:1216
+#: rl78-tdep.c:1216 rx-tdep.c:781
 #, possible-c-format
 msgid "Undefined dwarf2 register mapping of reg %d"
 msgstr ""
@@ -24195,7 +24187,7 @@ msgstr ""
 msgid "missing '(' in shared object pathname: %s"
 msgstr ""
 
-#: solib-aix.c:675 solib.c:474
+#: solib-aix.c:675 solib.c:469
 #, possible-c-format
 msgid "Could not open `%s' as an executable file: %s"
 msgstr ""
@@ -24248,44 +24240,44 @@ msgid ""
 "The search path for loading non-absolute shared library symbol files is %s.\n"
 msgstr ""
 
-#: solib.c:512
+#: solib.c:507
 #, possible-c-format
 msgid "`%s': not in executable format: %s"
 msgstr ""
 
-#: solib.c:519
+#: solib.c:514
 #, possible-c-format
 msgid ""
 "`%s': Shared library architecture %s is not compatible with target "
 "architecture %s."
 msgstr ""
 
-#: solib.c:565
+#: solib.c:560
 msgid "Shared library file name is too long."
 msgstr ""
 
-#: solib.c:570
+#: solib.c:565
 #, possible-c-format
 msgid "Can't find the file sections in `%s': %s"
 msgstr ""
 
-#: solib.c:716
+#: solib.c:711
 #, possible-c-format
 msgid "Error while reading shared library symbols for %s:\n"
 msgstr ""
 
-#: solib.c:908 solib.c:1408
+#: solib.c:903 solib.c:1403
 msgid "Error while mapping shared library sections:\n"
 msgstr ""
 
-#: solib.c:926
+#: solib.c:921
 #, possible-c-format
 msgid ""
 "Could not load shared library symbols for %s.\n"
 "Do you need \"set solib-search-path\" or \"set sysroot\"?"
 msgstr ""
 
-#: solib.c:931
+#: solib.c:926
 #, possible-c-format
 msgid ""
 "Could not load shared library symbols for %d libraries, e.g. %s.\n"
@@ -24293,68 +24285,68 @@ msgid ""
 "Do you need \"set solib-search-path\" or \"set sysroot\"?"
 msgstr ""
 
-#: solib.c:979
+#: solib.c:974
 #, possible-c-format
 msgid "Loading symbols for shared libraries: %s\n"
 msgstr ""
 
-#: solib.c:983 solib.c:1359
+#: solib.c:978 solib.c:1354
 msgid "Loading symbols for shared libraries.\n"
 msgstr ""
 
-#: solib.c:1026
+#: solib.c:1021
 #, possible-c-format
 msgid "Symbols already loaded for %s\n"
 msgstr ""
 
-#: solib.c:1155
+#: solib.c:1150
 msgid "No shared libraries matched.\n"
 msgstr ""
 
-#: solib.c:1158
+#: solib.c:1153
 msgid "No shared libraries loaded at this time.\n"
 msgstr ""
 
-#: solib.c:1164
+#: solib.c:1159
 msgid "(*): Shared library is missing debugging information.\n"
 msgstr ""
 
-#: solib.c:1496
+#: solib.c:1491
 #, possible-c-format
 msgid "\"%s\" is deprecated, use \"%s\" instead."
 msgstr ""
 
-#: solib.c:1498
+#: solib.c:1493
 #, possible-c-format
 msgid "sysroot set to \"%s\"."
 msgstr ""
 
-#: solib.c:1511
+#: solib.c:1506
 #, possible-c-format
 msgid "Autoloading of shared library symbols is %s.\n"
 msgstr ""
 
-#: solib.c:1675
+#: solib.c:1670
 msgid "Load shared object library symbols for files matching REGEXP."
 msgstr ""
 
-#: solib.c:1677
+#: solib.c:1672
 msgid "Status of loaded shared object libraries."
 msgstr ""
 
-#: solib.c:1680
+#: solib.c:1675
 msgid "Unload all shared object library symbols."
 msgstr ""
 
-#: solib.c:1683
+#: solib.c:1678
 msgid "Set autoloading of shared library symbols."
 msgstr ""
 
-#: solib.c:1684
+#: solib.c:1679
 msgid "Show autoloading of shared library symbols."
 msgstr ""
 
-#: solib.c:1685
+#: solib.c:1680
 msgid ""
 "If \"on\", symbols from all shared object libraries will be loaded\n"
 "automatically when the inferior begins execution, when the dynamic linker\n"
@@ -24362,32 +24354,32 @@ msgid ""
 "inferior.  Otherwise, symbols must be loaded manually, using `sharedlibrary'."
 msgstr ""
 
-#: solib.c:1696
+#: solib.c:1691
 msgid "Set an alternate system root."
 msgstr ""
 
-#: solib.c:1697
+#: solib.c:1692
 msgid "Show the current system root."
 msgstr ""
 
-#: solib.c:1698
+#: solib.c:1693
 msgid ""
 "The system root is used to load absolute shared library symbol files.\n"
 "For other (relative) files, you can add directories using\n"
 "`set solib-search-path'."
 msgstr ""
 
-#: solib.c:1712
+#: solib.c:1707
 msgid ""
 "Set the search path for loading non-absolute shared library symbol files."
 msgstr ""
 
-#: solib.c:1714
+#: solib.c:1709
 msgid ""
 "Show the search path for loading non-absolute shared library symbol files."
 msgstr ""
 
-#: solib.c:1716
+#: solib.c:1711
 msgid ""
 "This takes precedence over the environment variables PATH and "
 "LD_LIBRARY_PATH."
@@ -26260,91 +26252,91 @@ msgid ""
 "\t (if a template, try specifying an instantiation: %s<type>)."
 msgstr ""
 
-#: symtab.c:4017
+#: symtab.c:4027
 msgid "mismatched quoting on brackets, try 'operator\\[\\]'"
 msgstr ""
 
-#: symtab.c:4025
+#: symtab.c:4035
 msgid "nothing is allowed between '[' and ']'"
 msgstr ""
 
-#: symtab.c:4081
+#: symtab.c:4091
 msgid "`operator ()' must be specified without whitespace in `()'"
 msgstr ""
 
-#: symtab.c:4087
+#: symtab.c:4097
 msgid "`operator ?:' must be specified without whitespace in `?:'"
 msgstr ""
 
-#: symtab.c:4093
+#: symtab.c:4103
 msgid "`operator []' must be specified without whitespace in `[]'"
 msgstr ""
 
-#: symtab.c:4098
+#: symtab.c:4108
 #, possible-c-format
 msgid "`operator %s' not supported"
 msgstr ""
 
-#: symtab.c:4808
+#: symtab.c:4818
 #, possible-c-format
 msgid "All %ss matching regular expression \"%s\":\n"
 msgstr ""
 
-#: symtab.c:4811
+#: symtab.c:4821
 #, possible-c-format
 msgid "All defined %ss:\n"
 msgstr ""
 
-#: symtab.c:4821
+#: symtab.c:4831
 msgid ""
 "\n"
 "Non-debugging symbols:\n"
 msgstr ""
 
-#: symtab.c:6240 symtab.c:6243
+#: symtab.c:6250 symtab.c:6253
 msgid "All global and static variable names, or those matching REGEXP."
 msgstr ""
 
-#: symtab.c:6247
+#: symtab.c:6257
 msgid "All function names, or those matching REGEXP."
 msgstr ""
 
-#: symtab.c:6258
+#: symtab.c:6268
 msgid "All type names, or those matching REGEXP."
 msgstr ""
 
-#: symtab.c:6261
+#: symtab.c:6271
 msgid "Source files in the program."
 msgstr ""
 
-#: symtab.c:6264
+#: symtab.c:6274
 msgid "Set a breakpoint for all functions matching REGEXP."
 msgstr ""
 
-#: symtab.c:6268
+#: symtab.c:6278
 msgid ""
 "Set the debugger behavior when more than one symbol are possible matches\n"
 "in an expression."
 msgstr ""
 
-#: symtab.c:6270
+#: symtab.c:6280
 msgid "Show how the debugger handles ambiguities in expressions."
 msgstr ""
 
-#: symtab.c:6271
+#: symtab.c:6281
 msgid ""
 "Valid values are \"ask\", \"all\", \"cancel\", and the default is \"all\"."
 msgstr ""
 
-#: symtab.c:6276
+#: symtab.c:6286
 msgid "Set whether a source file may have multiple base names."
 msgstr ""
 
-#: symtab.c:6277
+#: symtab.c:6287
 msgid "Show whether a source file may have multiple base names."
 msgstr ""
 
-#: symtab.c:6278
+#: symtab.c:6288
 msgid ""
 "(A \"base name\" is the name of a file with the directory part removed.\n"
 "Example: The base name of \"/home/user/hello.c\" is \"hello.c\".)\n"
@@ -26355,56 +26347,56 @@ msgid ""
 "one base name, and gdb will do file name comparisons more efficiently."
 msgstr ""
 
-#: symtab.c:6290
+#: symtab.c:6300
 msgid "Set debugging of symbol table creation."
 msgstr ""
 
-#: symtab.c:6291
+#: symtab.c:6301
 msgid "Show debugging of symbol table creation."
 msgstr ""
 
-#: symtab.c:6291
+#: symtab.c:6301
 msgid ""
 "When enabled (non-zero), debugging messages are printed when building\n"
 "symbol tables.  A value of 1 (one) normally provides enough information.\n"
 "A value greater than 1 provides more verbose information."
 msgstr ""
 
-#: symtab.c:6300
+#: symtab.c:6310
 msgid "Set debugging of symbol lookup."
 msgstr ""
 
-#: symtab.c:6301
+#: symtab.c:6311
 msgid "Show debugging of symbol lookup."
 msgstr ""
 
-#: symtab.c:6302
+#: symtab.c:6312
 msgid "When enabled (non-zero), symbol lookups are logged."
 msgstr ""
 
-#: symtab.c:6309
+#: symtab.c:6319
 msgid "Set the size of the symbol cache."
 msgstr ""
 
-#: symtab.c:6310
+#: symtab.c:6320
 msgid "Show the size of the symbol cache."
 msgstr ""
 
-#: symtab.c:6310
+#: symtab.c:6320
 msgid ""
 "The size of the symbol cache.\n"
 "If zero then the symbol cache is disabled."
 msgstr ""
 
-#: symtab.c:6318
+#: symtab.c:6328
 msgid "Dump the symbol cache for each program space."
 msgstr ""
 
-#: symtab.c:6323
+#: symtab.c:6333
 msgid "Print symbol cache statistics for each program space."
 msgstr ""
 
-#: symtab.c:6328
+#: symtab.c:6338
 msgid "Flush the symbol cache for each program space."
 msgstr ""
 
@@ -27070,199 +27062,204 @@ msgstr ""
 msgid "The size of the command history is %s.\n"
 msgstr ""
 
-#: top.c:706
+#: top.c:710
+#, possible-c-format
+msgid "The number of history entries to look back at for duplicates is %s.\n"
+msgstr ""
+
+#: top.c:720
 #, possible-c-format
 msgid "The filename in which to record the command history is \"%s\".\n"
 msgstr ""
 
-#: top.c:922 top.c:951
+#: top.c:971 top.c:1000
 #, possible-c-format
 msgid "Could not rename %s to %s: %s"
 msgstr ""
 
-#: top.c:1218
+#: top.c:1267
 msgid ""
 "\n"
 "For bug reporting instructions, please see:\n"
 msgstr ""
 
-#: top.c:1222
+#: top.c:1271
 msgid ""
 "Find the GDB manual and other documentation resources online at:\n"
 "<http://www.gnu.org/software/gdb/documentation/>.\n"
 msgstr ""
 
-#: top.c:1224
+#: top.c:1273
 msgid "For help, type \"help\".\n"
 msgstr ""
 
-#: top.c:1225
+#: top.c:1274
 msgid "Type \"apropos word\" to search for commands related to \"word\"."
 msgstr ""
 
-#: top.c:1233
+#: top.c:1282
 #, possible-c-format
 msgid ""
 "This GDB was configured as follows:\n"
 "   configure --host=%s --target=%s\n"
 msgstr ""
 
-#: top.c:1237
+#: top.c:1286
 #, possible-c-format
 msgid ""
 "             --with-auto-load-dir=%s\n"
 "             --with-auto-load-safe-path=%s\n"
 msgstr ""
 
-#: top.c:1242
+#: top.c:1291
 msgid "             --with-expat\n"
 msgstr ""
 
-#: top.c:1246
+#: top.c:1295
 msgid "             --without-expat\n"
 msgstr ""
 
-#: top.c:1251
+#: top.c:1300
 #, possible-c-format
 msgid "             --with-gdb-datadir=%s%s\n"
 msgstr ""
 
-#: top.c:1255
+#: top.c:1304
 #, possible-c-format
 msgid "             --with-iconv-bin=%s%s\n"
 msgstr ""
 
-#: top.c:1260
+#: top.c:1309
 #, possible-c-format
 msgid "             --with-jit-reader-dir=%s%s\n"
 msgstr ""
 
-#: top.c:1264
+#: top.c:1313
 msgid "             --with-libunwind-ia64\n"
 msgstr ""
 
-#: top.c:1268
+#: top.c:1317
 msgid "             --without-libunwind-ia64\n"
 msgstr ""
 
-#: top.c:1273
+#: top.c:1322
 msgid "             --with-lzma\n"
 msgstr ""
 
-#: top.c:1277
+#: top.c:1326
 msgid "             --without-lzma\n"
 msgstr ""
 
-#: top.c:1282
+#: top.c:1331
 #, possible-c-format
 msgid "             --with-python=%s%s\n"
 msgstr ""
 
-#: top.c:1287
+#: top.c:1336
 msgid "             --with-guile\n"
 msgstr ""
 
-#: top.c:1291
+#: top.c:1340
 msgid "             --without-guile\n"
 msgstr ""
 
-#: top.c:1296
+#: top.c:1345
 #, possible-c-format
 msgid "             --with-relocated-sources=%s\n"
 msgstr ""
 
-#: top.c:1301
+#: top.c:1350
 #, possible-c-format
 msgid "             --with-separate-debug-dir=%s%s\n"
 msgstr ""
 
-#: top.c:1305
+#: top.c:1354
 #, possible-c-format
 msgid "             --with-sysroot=%s%s\n"
 msgstr ""
 
-#: top.c:1309
+#: top.c:1358
 #, possible-c-format
 msgid "             --with-system-gdbinit=%s%s\n"
 msgstr ""
 
-#: top.c:1313
+#: top.c:1362
 msgid "             --with-babeltrace\n"
 msgstr ""
 
-#: top.c:1317
+#: top.c:1366
 msgid "             --without-babeltrace\n"
 msgstr ""
 
 #. We assume "relocatable" will be printed at least once, thus we always
 #. print this text.  It's a reasonably safe assumption for now.
-#: top.c:1323
+#: top.c:1372
 msgid ""
 "\n"
 "(\"Relocatable\" means the directory can be moved with the GDB installation\n"
 "tree, and GDB will still find it.)\n"
 msgstr ""
 
-#: top.c:1404
+#: top.c:1453
 #, possible-c-format
 msgid "\tInferior %d [%s] will be detached.\n"
 msgstr ""
 
-#: top.c:1408
+#: top.c:1457
 #, possible-c-format
 msgid "\tInferior %d [%s] will be killed.\n"
 msgstr ""
 
-#: top.c:1433
+#: top.c:1482
 msgid ""
 "A debugging session is active.\n"
 "\n"
 msgstr ""
 
-#: top.c:1435
+#: top.c:1484
 msgid ""
 "\n"
 "Quit anyway? "
 msgstr ""
 
-#: top.c:1639
+#: top.c:1688
 msgid "\"set history\" must be followed by the name of a history subcommand.\n"
 msgstr ""
 
-#: top.c:1740
+#: top.c:1797
 #, possible-c-format
 msgid "Gdb's prompt is \"%s\".\n"
 msgstr ""
 
-#: top.c:1747
+#: top.c:1804
 #, possible-c-format
 msgid "Editing of command lines as they are typed is %s.\n"
 msgstr ""
 
-#: top.c:1756
+#: top.c:1813
 #, possible-c-format
 msgid "Annotation_level is %s.\n"
 msgstr ""
 
-#: top.c:1763
+#: top.c:1820
 #, possible-c-format
 msgid "Notification of completion for asynchronous execution commands is %s.\n"
 msgstr ""
 
-#: top.c:1786
+#: top.c:1843
 #, possible-c-format
 msgid "GDB's data directory is \"%s\".\n"
 msgstr ""
 
-#: top.c:1832
+#: top.c:1889
 msgid "Set gdb's prompt"
 msgstr ""
 
-#: top.c:1833
+#: top.c:1890
 msgid "Show gdb's prompt"
 msgstr ""
 
-#: top.c:1838
+#: top.c:1895
 msgid ""
 "Don't repeat this command.\n"
 "Primarily used inside of user-defined commands that should not be repeated "
@@ -27270,44 +27267,44 @@ msgid ""
 "hitting return."
 msgstr ""
 
-#: top.c:1844
+#: top.c:1901
 msgid "Set editing of command lines as they are typed."
 msgstr ""
 
-#: top.c:1845
+#: top.c:1902
 msgid "Show editing of command lines as they are typed."
 msgstr ""
 
-#: top.c:1846
+#: top.c:1903
 msgid ""
 "Use \"on\" to enable the editing, and \"off\" to disable it.\n"
 "Without an argument, command line editing is enabled.  To edit, use\n"
 "EMACS-like or VI-like commands like control-P or ESC."
 msgstr ""
 
-#: top.c:1854
+#: top.c:1911
 msgid "Set saving of the history record on exit."
 msgstr ""
 
-#: top.c:1855
+#: top.c:1912
 msgid "Show saving of the history record on exit."
 msgstr ""
 
-#: top.c:1856
+#: top.c:1913
 msgid ""
 "Use \"on\" to enable the saving, and \"off\" to disable it.\n"
 "Without an argument, saving is enabled."
 msgstr ""
 
-#: top.c:1864
+#: top.c:1921
 msgid "Set the size of the command history,"
 msgstr ""
 
-#: top.c:1865
+#: top.c:1922
 msgid "Show the size of the command history,"
 msgstr ""
 
-#: top.c:1866
+#: top.c:1923
 msgid ""
 "ie. the number of previous commands to keep a record of.\n"
 "If set to \"unlimited\", the number of commands kept in the history\n"
@@ -27315,61 +27312,81 @@ msgid ""
 "variable \"GDBHISTSIZE\", or to 256 if this variable is not set."
 msgstr ""
 
-#: top.c:1875
+#: top.c:1933
+msgid "Set how far back in history to look for and remove duplicate entries."
+msgstr ""
+
+#: top.c:1934
+msgid "Show how far back in history to look for and remove duplicate entries."
+msgstr ""
+
+#: top.c:1935
+msgid ""
+"If set to a nonzero value N, GDB will look back at the last N history "
+"entries\n"
+"and remove the first history entry that is a duplicate of the most recent\n"
+"entry, each time a new history entry is added.\n"
+"If set to \"unlimited\", this lookbehind is unbounded.\n"
+"Only history entries added during this session are considered for removal.\n"
+"If set to 0, removal of duplicate history entries is disabled.\n"
+"By default this option is set to 0."
+msgstr ""
+
+#: top.c:1947
 msgid "Set the filename in which to record the command history"
 msgstr ""
 
-#: top.c:1876
+#: top.c:1948
 msgid "Show the filename in which to record the command history"
 msgstr ""
 
-#: top.c:1877
+#: top.c:1949
 msgid "(the list of previous commands of which a record is kept)."
 msgstr ""
 
-#: top.c:1883
+#: top.c:1955
 msgid "Set whether to confirm potentially dangerous operations."
 msgstr ""
 
-#: top.c:1884
+#: top.c:1956
 msgid "Show whether to confirm potentially dangerous operations."
 msgstr ""
 
-#: top.c:1890
+#: top.c:1962
 msgid "Set annotation_level."
 msgstr ""
 
-#: top.c:1891
+#: top.c:1963
 msgid "Show annotation_level."
 msgstr ""
 
-#: top.c:1892
+#: top.c:1964
 msgid ""
 "0 == normal;     1 == fullname (for use when running under emacs)\n"
 "2 == output annotated suitably for use by programs that control GDB."
 msgstr ""
 
-#: top.c:1900
+#: top.c:1972
 msgid "Set notification of completion for asynchronous execution commands."
 msgstr ""
 
-#: top.c:1901
+#: top.c:1973
 msgid "Show notification of completion for asynchronous execution commands."
 msgstr ""
 
-#: top.c:1902
+#: top.c:1974
 msgid "Use \"on\" to enable the notification, and \"off\" to disable it."
 msgstr ""
 
-#: top.c:1909
+#: top.c:1981
 msgid "Set GDB's data directory."
 msgstr ""
 
-#: top.c:1910
+#: top.c:1982
 msgid "Show GDB's data directory."
 msgstr ""
 
-#: top.c:1911
+#: top.c:1983
 msgid "When set, GDB uses the specified path to search for data files."
 msgstr ""
 
@@ -28301,21 +28318,21 @@ msgstr ""
 msgid "Text User Interface commands."
 msgstr ""
 
-#: tui/tui-win.c:372 tui/tui-win.c:376
+#: tui/tui-win.c:438 tui/tui-win.c:442
 msgid "TUI configuration variables"
 msgstr ""
 
-#: tui/tui-win.c:381
+#: tui/tui-win.c:447
 msgid "Refresh the terminal display.\n"
 msgstr ""
 
-#: tui/tui-win.c:382
+#: tui/tui-win.c:448
 msgid ""
 "Set the width (in characters) of tab stops.\n"
 "Usage: tabset <n>\n"
 msgstr ""
 
-#: tui/tui-win.c:385
+#: tui/tui-win.c:451
 msgid ""
 "Set the height of a specified window.\n"
 "Usage: winheight <win_name> [+ | -] <#lines>\n"
@@ -28326,11 +28343,11 @@ msgid ""
 "regs : the register display\n"
 msgstr ""
 
-#: tui/tui-win.c:395
+#: tui/tui-win.c:461
 msgid "List of all displayed windows.\n"
 msgstr ""
 
-#: tui/tui-win.c:396
+#: tui/tui-win.c:462
 msgid ""
 "Set focus to named window or next/prev window.\n"
 "Usage: focus {<win> | next | prev}\n"
@@ -28341,39 +28358,39 @@ msgid ""
 "cmd  : the command window\n"
 msgstr ""
 
-#: tui/tui-win.c:405
+#: tui/tui-win.c:472
 msgid ""
 "Scroll window forward.\n"
 "Usage: + [win] [n]\n"
 msgstr ""
 
-#: tui/tui-win.c:408
+#: tui/tui-win.c:475
 msgid ""
 "Scroll window backward.\n"
 "Usage: - [win] [n]\n"
 msgstr ""
 
-#: tui/tui-win.c:411
+#: tui/tui-win.c:478
 msgid ""
 "Scroll window text to the left.\n"
 "Usage: < [win] [n]\n"
 msgstr ""
 
-#: tui/tui-win.c:414
+#: tui/tui-win.c:481
 msgid ""
 "Scroll window text to the right.\n"
 "Usage: > [win] [n]\n"
 msgstr ""
 
-#: tui/tui-win.c:420
+#: tui/tui-win.c:487
 msgid "Set the kind of border for TUI windows."
 msgstr ""
 
-#: tui/tui-win.c:421
+#: tui/tui-win.c:488
 msgid "Show the kind of border for TUI windows."
 msgstr ""
 
-#: tui/tui-win.c:422
+#: tui/tui-win.c:489
 msgid ""
 "This variable controls the border of TUI windows:\n"
 "space           use a white space\n"
@@ -28381,15 +28398,15 @@ msgid ""
 "acs             use the Alternate Character Set"
 msgstr ""
 
-#: tui/tui-win.c:432
+#: tui/tui-win.c:499
 msgid "Set the attribute mode to use for the TUI window borders."
 msgstr ""
 
-#: tui/tui-win.c:433
+#: tui/tui-win.c:500
 msgid "Show the attribute mode to use for the TUI window borders."
 msgstr ""
 
-#: tui/tui-win.c:434
+#: tui/tui-win.c:501
 msgid ""
 "This variable controls the attributes to use for the window borders:\n"
 "normal          normal display\n"
@@ -28401,15 +28418,15 @@ msgid ""
 "bold-standout   use extra bright or bold with standout mode"
 msgstr ""
 
-#: tui/tui-win.c:448
+#: tui/tui-win.c:515
 msgid "Set the attribute mode to use for the active TUI window border."
 msgstr ""
 
-#: tui/tui-win.c:449
+#: tui/tui-win.c:516
 msgid "Show the attribute mode to use for the active TUI window border."
 msgstr ""
 
-#: tui/tui-win.c:450
+#: tui/tui-win.c:517
 msgid ""
 "This variable controls the attributes to use for the active window border:\n"
 "normal          normal display\n"
@@ -28421,29 +28438,29 @@ msgid ""
 "bold-standout   use extra bright or bold with standout mode"
 msgstr ""
 
-#: tui/tui-win.c:983 tui/tui-win.c:1109 tui/tui-win.c:1635
+#: tui/tui-win.c:1050 tui/tui-win.c:1176 tui/tui-win.c:1702
 msgid ""
 "Invalid window specified. \n"
 "The window name specified must be valid and visible.\n"
 msgstr ""
 
-#: tui/tui-win.c:994
+#: tui/tui-win.c:1061
 #, possible-c-format
 msgid "Focus set to %s window.\n"
 msgstr ""
 
-#: tui/tui-win.c:999
+#: tui/tui-win.c:1066
 #, possible-c-format
 msgid ""
 "Incorrect Number of Arguments.\n"
 "%s"
 msgstr ""
 
-#: tui/tui-win.c:1077
+#: tui/tui-win.c:1144
 msgid "Tab widths greater than 0 must be specified."
 msgstr ""
 
-#: tui/tui-win.c:1144 tui/tui-win.c:1150
+#: tui/tui-win.c:1211 tui/tui-win.c:1217
 #, possible-c-format
 msgid ""
 "Invalid window height specified.\n"
@@ -30410,11 +30427,11 @@ msgstr ""
 msgid "xstormy16_register_name: illegal register number %d"
 msgstr ""
 
-#: xtensa-linux-nat.c:238 xtensa-linux-nat.c:254
+#: xtensa-linux-nat.c:236 xtensa-linux-nat.c:252
 msgid "Couldn't get extended registers"
 msgstr ""
 
-#: xtensa-linux-nat.c:262
+#: xtensa-linux-nat.c:260
 msgid "Couldn't write extended registers"
 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.20150623/gdb/ppc-linux-nat.c ./gdb/ppc-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/ppc-linux-nat.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/ppc-linux-nat.c	2015-06-30 01:48:31.000000000 +0000
@@ -26,8 +26,6 @@
 #include "regcache.h"
 #include "target.h"
 #include "linux-nat.h"
-
-#include <stdint.h>
 #include <sys/types.h>
 #include <signal.h>
 #include <sys/user.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.20150623/gdb/ppc-linux-tdep.c ./gdb/ppc-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/ppc-linux-tdep.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/ppc-linux-tdep.c	2015-06-30 01:48:31.000000000 +0000
@@ -1801,8 +1801,6 @@ ppc_linux_init_abi (struct gdbarch_info 
   set_gdbarch_displaced_step_location (gdbarch,
 				       linux_displaced_step_location);
 
-  set_gdbarch_get_siginfo_type (gdbarch, linux_get_siginfo_type);
-
   /* Support reverse debugging.  */
   set_gdbarch_process_record (gdbarch, ppc_process_record);
   set_gdbarch_process_record_signal (gdbarch, ppc_linux_record_signal);
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.20150623/gdb/python/python-internal.h ./gdb/python/python-internal.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/python/python-internal.h	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/python/python-internal.h	2015-06-30 01:48:31.000000000 +0000
@@ -65,8 +65,6 @@
 
 /* Python 2.4 doesn't include stdint.h soon enough to get {u,}intptr_t
    needed by pyport.h.  */
-#include <stdint.h>
-
 /* /usr/include/features.h on linux systems will define _POSIX_C_SOURCE
    if it sees _GNU_SOURCE (which config.h will define).
    pyconfig.h defines _POSIX_C_SOURCE to a different value than
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.20150623/gdb/remote.c ./gdb/remote.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/remote.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/remote.c	2015-06-30 01:48:31.000000000 +0000
@@ -10538,8 +10538,7 @@ remote_filesystem_is_local (struct targe
      this case we treat the remote filesystem as local if the
      sysroot is exactly TARGET_SYSROOT_PREFIX and if the stub
      does not support vFile:open.  */
-  if (gdb_sysroot != NULL
-      && strcmp (gdb_sysroot, TARGET_SYSROOT_PREFIX) == 0)
+  if (strcmp (gdb_sysroot, TARGET_SYSROOT_PREFIX) == 0)
     {
       enum packet_support ps = packet_support (PACKET_vFile_open);
 
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.20150623/gdb/remote-sim.c ./gdb/remote-sim.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/remote-sim.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/remote-sim.c	2015-06-30 01:48:31.000000000 +0000
@@ -21,6 +21,7 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
+#include "gdb_bfd.h"
 #include "inferior.h"
 #include "infrun.h"
 #include "value.h"
@@ -669,8 +670,13 @@ gdbsim_open (const char *args, int from_
   int len;
   char *arg_buf;
   struct sim_inferior_data *sim_data;
+  const char *sysroot;
   SIM_DESC gdbsim_desc;
 
+  sysroot = gdb_sysroot;
+  if (is_target_filename (sysroot))
+    sysroot += strlen (TARGET_SYSROOT_PREFIX);
+
   if (remote_debug)
     fprintf_unfiltered (gdb_stdlog,
 			"gdbsim_open: args \"%s\"\n", args ? args : "(null)");
@@ -688,7 +694,7 @@ gdbsim_open (const char *args, int from_
   len = (7 + 1			/* gdbsim */
 	 + strlen (" -E little")
 	 + strlen (" --architecture=xxxxxxxxxx")
-	 + strlen (" --sysroot=") + strlen (gdb_sysroot) +
+	 + strlen (" --sysroot=") + strlen (sysroot) +
 	 + (args ? strlen (args) : 0)
 	 + 50) /* slack */ ;
   arg_buf = (char *) alloca (len);
@@ -715,7 +721,7 @@ gdbsim_open (const char *args, int from_
     }
   /* Pass along gdb's concept of the sysroot.  */
   strcat (arg_buf, " --sysroot=");
-  strcat (arg_buf, gdb_sysroot);
+  strcat (arg_buf, sysroot);
   /* finally, any explicit args */
   if (args)
     {
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.20150623/gdb/rx-tdep.c ./gdb/rx-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/rx-tdep.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/rx-tdep.c	2015-06-30 01:48:31.000000000 +0000
@@ -45,6 +45,7 @@ enum
   RX_R4_REGNUM = 4,
   RX_FP_REGNUM = 6,
   RX_R15_REGNUM = 15,
+  RX_PSW_REGNUM = 18,
   RX_PC_REGNUM = 19,
   RX_ACC_REGNUM = 25,
   RX_NUM_REGS = 26
@@ -764,6 +765,23 @@ rx_breakpoint_from_pc (struct gdbarch *g
   return breakpoint;
 }
 
+/* Implement the dwarf_reg_to_regnum" gdbarch method.  */
+
+static int
+rx_dwarf_reg_to_regnum (struct gdbarch *gdbarch, int reg)
+{
+  if (0 <= reg && reg <= 15)
+    return reg;
+  else if (reg == 16)
+    return RX_PSW_REGNUM;
+  else if (reg == 17)
+    return RX_PC_REGNUM;
+  else
+    internal_error (__FILE__, __LINE__,
+                    _("Undefined dwarf2 register mapping of reg %d"),
+		    reg);
+}
+
 /* Allocate and initialize a gdbarch object.  */
 static struct gdbarch *
 rx_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
@@ -838,12 +856,11 @@ rx_gdbarch_init (struct gdbarch_info inf
       set_gdbarch_long_double_format (gdbarch, floatformats_ieee_single);
     }
 
+  /* DWARF register mapping.  */
+  set_gdbarch_dwarf2_reg_to_regnum (gdbarch, rx_dwarf_reg_to_regnum);
+
   /* Frame unwinding.  */
-#if 0
-  /* Note: The test results are better with the dwarf2 unwinder disabled,
-     so it's turned off for now.  */
   dwarf2_append_unwinders (gdbarch);
-#endif
   frame_unwind_append_unwinder (gdbarch, &rx_frame_unwind);
 
   /* Methods for saving / extracting a dummy frame's ID.
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.20150623/gdb/s390-linux-tdep.c ./gdb/s390-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/s390-linux-tdep.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/s390-linux-tdep.c	2015-06-30 01:48:31.000000000 +0000
@@ -3329,8 +3329,6 @@ s390_gdbarch_init (struct gdbarch_info i
   set_gdbarch_fetch_tls_load_module_address (gdbarch,
 					     svr4_fetch_objfile_link_map);
 
-  set_gdbarch_get_siginfo_type (gdbarch, linux_get_siginfo_type);
-
   /* SystemTap functions.  */
   set_gdbarch_stap_register_prefixes (gdbarch, stap_register_prefixes);
   set_gdbarch_stap_register_indirection_prefixes (gdbarch,
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.20150623/gdb/solib.c ./gdb/solib.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/solib.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/solib.c	2015-06-30 01:48:31.000000000 +0000
@@ -158,32 +158,27 @@ solib_find_1 (char *in_pathname, int *fd
   const char *fskind = effective_target_file_system_kind ();
   struct cleanup *old_chain = make_cleanup (null_cleanup, NULL);
   char *sysroot = gdb_sysroot;
+  int prefix_len, orig_prefix_len;
 
-  if (sysroot != NULL)
+  /* If the absolute prefix starts with "target:" but the filesystem
+     accessed by the target_fileio_* methods is the local filesystem
+     then we strip the "target:" prefix now and work with the local
+     filesystem.  This ensures that the same search algorithm is used
+     for all local files regardless of whether a "target:" prefix was
+     used.  */
+  if (is_target_filename (sysroot) && target_filesystem_is_local ())
+    sysroot += strlen (TARGET_SYSROOT_PREFIX);
+
+  /* Strip any trailing slashes from the absolute prefix.  */
+  prefix_len = orig_prefix_len = strlen (sysroot);
+
+  while (prefix_len > 0 && IS_DIR_SEPARATOR (sysroot[prefix_len - 1]))
+    prefix_len--;
+
+  if (prefix_len == 0)
+    sysroot = NULL;
+  else if (prefix_len != orig_prefix_len)
     {
-      /* If the absolute prefix starts with "target:" but the
-	 filesystem accessed by the target_fileio_* methods
-	 is the local filesystem then we strip the "target:"
-	 prefix now and work with the local filesystem.  This
-	 ensures that the same search algorithm is used for
-	 all local files regardless of whether a "target:"
-	 prefix was used.  */
-      if (is_target_filename (sysroot) && target_filesystem_is_local ())
-	sysroot += strlen (TARGET_SYSROOT_PREFIX);
-
-      if (*sysroot == '\0')
-	sysroot = NULL;
-    }
-
-  if (sysroot != NULL)
-    {
-      int prefix_len = strlen (sysroot);
-
-      /* Remove trailing slashes from absolute prefix.  */
-      while (prefix_len > 0
-	     && IS_DIR_SEPARATOR (sysroot[prefix_len - 1]))
-	prefix_len--;
-
       sysroot = savestring (sysroot, prefix_len);
       make_cleanup (xfree, sysroot);
     }
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.20150623/gdb/stub-termcap.c ./gdb/stub-termcap.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/stub-termcap.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/stub-termcap.c	2015-06-30 01:48:31.000000000 +0000
@@ -22,8 +22,6 @@
 
 #include "defs.h"
 
-#include <stdlib.h>
-
 #ifdef __cplusplus
 extern "C" {
 #endif
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.20150623/gdb/symtab.c ./gdb/symtab.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/symtab.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/symtab.c	2015-06-30 01:48:31.000000000 +0000
@@ -3605,7 +3605,9 @@ find_pc_line_pc_range (CORE_ADDR pc, COR
 /* Given a function symbol SYM, find the symtab and line for the start
    of the function.
    If the argument FUNFIRSTLINE is nonzero, we want the first line
-   of real code inside the function.  */
+   of real code inside the function.
+   This function should return SALs matching those from minsym_found,
+   otherwise false multiple-locations breakpoints could be placed.  */
 
 struct symtab_and_line
 find_function_start_sal (struct symbol *sym, int funfirstline)
@@ -3617,6 +3619,14 @@ find_function_start_sal (struct symbol *
   section = SYMBOL_OBJ_SECTION (symbol_objfile (sym), sym);
   sal = find_pc_sect_line (BLOCK_START (SYMBOL_BLOCK_VALUE (sym)), section, 0);
 
+  if (funfirstline && sal.symtab != NULL
+      && (COMPUNIT_LOCATIONS_VALID (SYMTAB_COMPUNIT (sal.symtab))
+	  || SYMTAB_LANGUAGE (sal.symtab) == language_asm))
+    {
+      sal.pc = BLOCK_START (SYMBOL_BLOCK_VALUE (sym));
+      return sal;
+    }
+
   /* We always should have a line for the function start address.
      If we don't, something is odd.  Create a plain SAL refering
      just the PC and hope that skip_prologue_sal (if requested)
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.20150623/gdb/target/target.h ./gdb/target/target.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/target/target.h	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/target/target.h	2015-06-30 01:48:31.000000000 +0000
@@ -21,8 +21,6 @@
 #define TARGET_COMMON_H
 
 #include "target/waitstatus.h"
-#include <stdint.h>
-
 /* This header is a stopgap until more code is shared.  */
 
 /* Read LEN bytes of target memory at address MEMADDR, placing the
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.20150623/gdb/testsuite/ChangeLog ./gdb/testsuite/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/testsuite/ChangeLog	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/testsuite/ChangeLog	2015-06-30 01:48:31.000000000 +0000
@@ -1,3 +1,54 @@
+2015-06-29  Pedro Alves  <palves@redhat.com>
+
+	PR threads/18127
+	* gdb.threads/hand-call-new-thread.c: New file.
+	* gdb.threads/hand-call-new-thread.c: New file.
+
+2015-06-26  Keith Seitz  <keiths@redhat.com>
+	    Doug Evans  <dje@google.com>
+
+	PR 16253
+	* gdb.cp/var-tag-2.cc: New file.
+	* gdb.cp/var-tag-3.cc: New file.
+	* gdb.cp/var-tag-4.cc: New file.
+	* gdb.cp/var-tag.cc: New file.
+	* gdb.cp/var-tag.exp: New file.
+
+2015-06-26  Patrick Palka  <patrick@parcs.ath.cx>
+
+	* gdb.base/history-duplicates.exp: New test.
+
+2015-06-26  Patrick Palka  <patrick@parcs.ath.cx>
+
+	* gdb.base/completion.exp: Test the completion of the "focus"
+	command.
+
+2015-06-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* gdb.arch/amd64-prologue-skip.S: New file.
+	* gdb.arch/amd64-prologue-skip.exp: New file.
+
+2015-06-25  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* gdb.python/py-prettyprint.exp (run_lang_tests): Add
+	is_address_zero_readable check.
+
+2015-06-24  Peter Bergner  <bergner@vnet.ibm.com>
+
+	* gdb.arch/powerpc-power.exp <rfebb>: Fixup test results.
+	* gdb.arch/powerpc-power.s <rfebb>: Likewise.
+
+2015-06-24  Yao Qi  <yao.qi@linaro.org>
+
+	* lib/gdb.exp (supports_get_siginfo_type): Return 1 for all
+	linux targets.
+
+2015-06-24  Yao Qi  <yao.qi@linaro.org>
+
+	* lib/gdb.exp (supports_get_siginfo_type): New proc.
+	* gdb.base/siginfo-obj.exp: Invoke supports_get_siginfo_type.
+	* gdb.base/siginfo-thread.exp: Likewise.
+
 2015-06-22  Yao Qi  <yao.qi@linaro.org>
 
 	* boards/remote-gdbserver-on-localhost.exp: Add comments.
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.20150623/gdb/testsuite/gdb.arch/amd64-prologue-skip.exp ./gdb/testsuite/gdb.arch/amd64-prologue-skip.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/testsuite/gdb.arch/amd64-prologue-skip.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-prologue-skip.exp	2015-06-30 01:48:31.000000000 +0000
@@ -0,0 +1,35 @@
+# Copyright 2010-2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+standard_testfile .S
+set binfile ${binfile}.o
+
+if { ![istarget x86_64-*-* ] || ![is_lp64_target] } {
+    verbose "Skipping ${testfile}."
+    return
+}
+
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" object {debug}] != "" } {
+    untested ${testfile}
+    return
+}
+
+clean_restart ${binfile}
+
+gdb_test "break *pushrbp" " at 0x1: file .*"
+gdb_test "break pushrbp" " at 0x1: file .*"
+
+gdb_test "break *minsym" " at 0x9: file .*"
+gdb_test "break minsym" " at 0x9: file .*"
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.20150623/gdb/testsuite/gdb.arch/amd64-prologue-skip.S ./gdb/testsuite/gdb.arch/amd64-prologue-skip.S
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/testsuite/gdb.arch/amd64-prologue-skip.S	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/amd64-prologue-skip.S	2015-06-30 01:48:31.000000000 +0000
@@ -0,0 +1,28 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+	.text
+/*0*/	hlt
+pushrbp: .globl pushrbp
+#define PUSHRBP push %rbp; mov %rsp, %rbp; nop
+/*1*/	PUSHRBP
+/*6*/	hlt
+
+/*7*/	hlt
+#define MINSYM nop; .globl minsym; minsym: nop
+/*8*/	MINSYM
+/*a*/	hlt
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.20150623/gdb/testsuite/gdb.arch/powerpc-power.exp ./gdb/testsuite/gdb.arch/powerpc-power.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/testsuite/gdb.arch/powerpc-power.exp	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/powerpc-power.exp	2015-06-30 01:48:31.000000000 +0000
@@ -194,8 +194,8 @@ func_check +500  "treclaim. r24"
 func_check +504  "trechkpt."
 func_check +508  "tsuspend."
 func_check +512  "tresume."
-func_check +516  "rfebb"
-func_check +520  "rfebb   1"
+func_check +516  "rfebb   0"
+func_check +520  "rfebb"
 func_check +524  "bctar-  12,4\\*cr5\\+gt"
 func_check +528  "bctarl- 4,4\\*cr1\\+so"
 func_check +532  "bctar\\+  12,4\\*cr3\\+lt"
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.20150623/gdb/testsuite/gdb.arch/powerpc-power.s ./gdb/testsuite/gdb.arch/powerpc-power.s
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/testsuite/gdb.arch/powerpc-power.s	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/powerpc-power.s	2015-06-30 01:48:31.000000000 +0000
@@ -147,7 +147,7 @@ func:
 	.long	0x7c0007dd	/* <+504>: trechkpt.                 */
 	.long	0x7c0005dd	/* <+508>: tsuspend.                 */
 	.long	0x7c2005dd	/* <+512>: tresume.                  */
-	.long	0x4c000124	/* <+516>: rfebb                     */
+	.long	0x4c000124	/* <+516>: rfebb   0                 */
 	.long	0x4c000924	/* <+520>: rfebb   1                 */
 	.long	0x4d950460	/* <+524>: bctar-  12,4*cr5+gt       */
 	.long	0x4c870461	/* <+528>: bctarl- 4,4*cr1+so        */
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.20150623/gdb/testsuite/gdb.base/completion.exp ./gdb/testsuite/gdb.base/completion.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/testsuite/gdb.base/completion.exp	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/testsuite/gdb.base/completion.exp	2015-06-30 01:48:31.000000000 +0000
@@ -878,3 +878,21 @@ if {![skip_tui_tests]} {
 	}
     }
 }
+if {![skip_tui_tests]} {
+    with_test_prefix "focus command" {
+	set test "test completion"
+	send_gdb "focus \t\t"
+	gdb_test_multiple "" "$test" {
+	    -re "cmd *next *prev *src *\r\n$gdb_prompt focus $" {
+		pass "$test"
+	    }
+	}
+	send_gdb "\003"
+	set test "quit command input after testing completion"
+	gdb_test_multiple "" "$test" {
+	    -re "$gdb_prompt $" {
+		pass "$test"
+	    }
+	}
+    }
+}
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.20150623/gdb/testsuite/gdb.base/history-duplicates.exp ./gdb/testsuite/gdb.base/history-duplicates.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/testsuite/gdb.base/history-duplicates.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/history-duplicates.exp	2015-06-30 01:48:31.000000000 +0000
@@ -0,0 +1,117 @@
+# Copyright 2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# This file is part of the gdb testsuite.
+
+# Test the operation of the "history remove-duplicates" option.
+
+
+# Check that the previous history entry is ENTRY.
+
+proc check_prev_history_entry { entry { test_suffix "" } } {
+    set test_name "history entry is $entry"
+    if { $test_suffix != "" } {
+	append test_name " $test_suffix"
+    }
+
+    # Send ^P followed by ^L.
+    send_gdb "\x10\x0c"
+
+    gdb_expect {
+	-re $entry {
+	    pass $test_name
+	}
+	timeout {
+	    fail $test_name
+	}
+    }
+}
+
+# Foreach element ELT in THINGS, run the command "print $ELT", making sure that
+# each invocation of "print" has a unique test name.
+
+proc run_print_on_each_thing { things } {
+    set index 0
+
+    foreach thing $things {
+	gdb_test "print $thing" "" "printing $thing (item #$index)"
+	incr index
+    }
+}
+
+# By default the option is set to 0.
+gdb_exit
+gdb_start
+gdb_test "show history remove-duplicates" "is 0\\."
+
+# Test the "unlimited" setting.
+with_test_prefix "remove-duplicates=unlimited" {
+    gdb_exit
+    gdb_start
+    gdb_test "set history remove-duplicates unlimited"
+
+    run_print_on_each_thing { 0 1 2 1 1 2 3 3 4 1 2 3 4 }
+
+    check_prev_history_entry "print 4"
+    check_prev_history_entry "print 3"
+    check_prev_history_entry "print 2"
+    check_prev_history_entry "print 1"
+    check_prev_history_entry "print 0"
+}
+
+
+# Test the "1" setting.
+with_test_prefix "remove-duplicates=1" {
+    gdb_exit
+    gdb_start
+    gdb_test "set history remove-duplicates 1"
+
+    run_print_on_each_thing { 0 1 0 2 2 1 }
+
+    check_prev_history_entry "print 1"
+    check_prev_history_entry "print 2"
+    check_prev_history_entry "print 0"
+    check_prev_history_entry "print 1" "(again)"
+    check_prev_history_entry "print 0" "(again)"
+}
+
+
+# Test the "0" setting.
+with_test_prefix "remove-duplicates=0" {
+    gdb_exit
+    gdb_start
+    gdb_test "set history remove-duplicates 0"
+
+    run_print_on_each_thing { 0 0 1 1 }
+
+    check_prev_history_entry "print 1"
+    check_prev_history_entry "print 1" "(again)"
+    check_prev_history_entry "print 0"
+    check_prev_history_entry "print 0" "(again)"
+}
+
+
+# Test the "2" setting.
+with_test_prefix "remove-duplicates=2" {
+    gdb_exit
+    gdb_start
+    gdb_test "set history remove-duplicates 2"
+
+    run_print_on_each_thing { 1 2 0 2 0 }
+
+    check_prev_history_entry "print 0"
+    check_prev_history_entry "print 2"
+    check_prev_history_entry "print 1"
+}
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.20150623/gdb/testsuite/gdb.base/siginfo-obj.exp ./gdb/testsuite/gdb.base/siginfo-obj.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/testsuite/gdb.base/siginfo-obj.exp	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/testsuite/gdb.base/siginfo-obj.exp	2015-06-30 01:48:31.000000000 +0000
@@ -26,9 +26,7 @@ if [target_info exists gdb,nosignals] {
     continue
 }
 
-if { ! [istarget "i?86-*-linux*"]
-     && ! [istarget "x86_64-*-linux*"]
-     && ! [istarget "arm*-*-linux*"] } {
+if { ![supports_get_siginfo_type] } {
     verbose "Skipping siginfo-obj.exp because of lack of support."
     return
 }
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.20150623/gdb/testsuite/gdb.base/siginfo-thread.exp ./gdb/testsuite/gdb.base/siginfo-thread.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/testsuite/gdb.base/siginfo-thread.exp	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/testsuite/gdb.base/siginfo-thread.exp	2015-06-30 01:48:31.000000000 +0000
@@ -21,9 +21,7 @@ if [target_info exists gdb,nosignals] {
     continue
 }
 
-if { ! [istarget "i?86-*-linux*"]
-     && ! [istarget "x86_64-*-linux*"]
-     && ! [istarget "arm*-*-linux*"] } {
+if { ![supports_get_siginfo_type] } {
     verbose "Skipping siginfo-thread.exp because of lack of support."
     return
 }
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.20150623/gdb/testsuite/gdb.cp/var-tag-2.cc ./gdb/testsuite/gdb.cp/var-tag-2.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/testsuite/gdb.cp/var-tag-2.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/var-tag-2.cc	2015-06-30 01:48:31.000000000 +0000
@@ -0,0 +1,22 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* This object is in a separate file so that its debug info is not
+   expanded at startup.  Once debug info is expanded we are no longer
+   exercising block_lookup_symbol, and instead are exercising
+   block_lookup_symbol_primary.  */
+enum E2 {a2, b2, c2} E2;
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.20150623/gdb/testsuite/gdb.cp/var-tag-3.cc ./gdb/testsuite/gdb.cp/var-tag-3.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/testsuite/gdb.cp/var-tag-3.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/var-tag-3.cc	2015-06-30 01:48:31.000000000 +0000
@@ -0,0 +1,22 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* This object is in a separate file so that its debug info is not
+   expanded at startup.  Once debug info is expanded we are no longer
+   exercising block_lookup_symbol, and instead are exercising
+   block_lookup_symbol_primary.  */
+struct S2 {} S2;
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.20150623/gdb/testsuite/gdb.cp/var-tag-4.cc ./gdb/testsuite/gdb.cp/var-tag-4.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/testsuite/gdb.cp/var-tag-4.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/var-tag-4.cc	2015-06-30 01:48:31.000000000 +0000
@@ -0,0 +1,22 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* This object is in a separate file so that its debug info is not
+   expanded at startup.  Once debug info is expanded we are no longer
+   exercising block_lookup_symbol, and instead are exercising
+   block_lookup_symbol_primary.  */
+union U2 {int a; char b;} U2;
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.20150623/gdb/testsuite/gdb.cp/var-tag.cc ./gdb/testsuite/gdb.cp/var-tag.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/testsuite/gdb.cp/var-tag.cc	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/var-tag.cc	2015-06-30 01:48:31.000000000 +0000
@@ -0,0 +1,44 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2014 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+int global = 3;
+
+class C {
+public:
+  struct C1 {} C1;
+  enum E1 {a1, b1, c1} E1;
+  union U1 {int a1; char b1;} U1;
+
+  C () : E1 (b1) {}
+  void global (void) const {}
+  int f (void) const { global (); return 0; }
+} C;
+
+struct S {} S;
+enum E {a, b, c} E;
+union U {int a; char b;} U;
+
+class CC {} cc;
+struct SS {} ss;
+enum EE {ea, eb, ec} ee;
+union UU {int aa; char bb;} uu;
+
+int
+main (void)
+{
+  return C.f ();
+}
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.20150623/gdb/testsuite/gdb.cp/var-tag.exp ./gdb/testsuite/gdb.cp/var-tag.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/testsuite/gdb.cp/var-tag.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/var-tag.exp	2015-06-30 01:48:31.000000000 +0000
@@ -0,0 +1,105 @@
+# Copyright 2014, 2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# This file is part of the gdb testsuite
+
+# Test expressions in which variable names shadow tag names.
+
+if {[skip_cplus_tests]} { continue }
+
+standard_testfile var-tag.cc var-tag-2.cc var-tag-3.cc var-tag-4.cc
+
+if {[prepare_for_testing $testfile.exp $testfile \
+    [list $srcfile $srcfile2 $srcfile3 $srcfile4] {debug c++}]} {
+    return -1
+}
+
+proc do_global_tests {lang} {
+    set invalid_print "Attempt to use a type name as an expression"
+    set ptypefmt "type = (class|enum|union|struct) %s {.*}"
+
+    with_test_prefix $lang {
+    gdb_test_no_output "set language $lang"
+    gdb_test "ptype C" "type = class C {.*}"
+    gdb_test "print E" "= a"
+    gdb_test "ptype E" "type = enum E {.*}"
+    gdb_test "print S" "= {<No data fields>}"
+    gdb_test "ptype S" "type = struct S {.*}"
+    gdb_test "print U" "= {.*}"
+    gdb_test "ptype U" "type = union U {.*}"
+    gdb_test "print cc" "= {.*}"
+    gdb_test "ptype cc" "type = class CC {.*}"
+    gdb_test "print CC" [format $invalid_print "CC"]
+    gdb_test "ptype CC" [format $ptypefmt "CC"]
+    gdb_test "print ss" "= {<No data fields>}"
+    gdb_test "ptype ss" "type = struct SS {.*}"
+    gdb_test "print SS" [format $invalid_print "SS"]
+    gdb_test "ptype SS" [format $ptypefmt "SS"]
+    gdb_test "print ee" "= .*"
+    gdb_test "ptype ee" "type = enum EE {.*}"
+    gdb_test "print EE" [format $invalid_print "EE"]
+    gdb_test "ptype EE" [format $ptypefmt "EE"]
+    gdb_test "print uu" "= {.*}"
+    gdb_test "ptype uu" "type = union UU {.*}"
+    gdb_test "print UU" [format $invalid_print  "UU"]
+    gdb_test "ptype UU" [format $ptypefmt "UU"]
+
+    # These tests exercise lookup of symbols using the "quick fns" API.
+    # Each of them is in a separate CU as once its CU is expanded,
+    # we're no longer using the quick fns API.
+    gdb_test "print E2" "= a2"
+    gdb_test "ptype E2" "type = enum E2 {.*}"
+    gdb_test "print S2" "= {<No data fields>}"
+    gdb_test "ptype S2" "type = struct S2 {.*}"
+    gdb_test "print U2" "= {.*}"
+    gdb_test "ptype U2" "type = union U2 {.*}"
+    }
+}
+
+# First test expressions when there is no context.
+with_test_prefix "before start" {
+    do_global_tests c++
+    do_global_tests c
+}
+
+# Run to main and test again.
+if {![runto_main]} {
+    perror "couldn't run to main"
+    continue
+}
+
+with_test_prefix "in main" {
+    do_global_tests c++
+    do_global_tests c
+}
+
+# Run to C::f and test again.
+gdb_breakpoint "C::f"
+gdb_continue_to_breakpoint "continue to C::f"
+with_test_prefix "in C::f" {
+    do_global_tests c++
+    do_global_tests c
+}
+
+# Another hard-to-guess-the-users-intent bug...
+# It would be really nice if we could query the user!
+with_test_prefix "global collision" {
+    gdb_test_no_output "set language c++"
+    setup_kfail "c++/16463" "*-*-*"
+    gdb_test "print global" "= 3"
+
+    # ... with a simple workaround:
+    gdb_test "print ::global" "= 3"
+}
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.20150623/gdb/testsuite/gdb.python/py-prettyprint.exp ./gdb/testsuite/gdb.python/py-prettyprint.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/testsuite/gdb.python/py-prettyprint.exp	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-prettyprint.exp	2015-06-30 01:48:31.000000000 +0000
@@ -92,8 +92,10 @@ proc run_lang_tests {exefile lang} {
     gdb_test "print cstring" " = \"const string\""
 
     gdb_test "print estring" " = \"embedded x\\\\201\\\\202\\\\203\\\\204\""
-    gdb_test "print estring3" \
-	" = <error reading variable: Cannot create a lazy string with address 0x0, and a non-zero length.>"
+    if { ![is_address_zero_readable] } {
+	    gdb_test "print estring3" \
+		" = <error reading variable: Cannot create a lazy string with address 0x0, and a non-zero length.>"
+    }
 
     gdb_test_no_output "python pp_ls_encoding = 'UTF-8'"
     gdb_test "print estring2" "\"embedded \", <incomplete sequence \\\\302>"
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.20150623/gdb/testsuite/gdb.threads/hand-call-new-thread.c ./gdb/testsuite/gdb.threads/hand-call-new-thread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/testsuite/gdb.threads/hand-call-new-thread.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/hand-call-new-thread.c	2015-06-30 01:48:31.000000000 +0000
@@ -0,0 +1,50 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <unistd.h>
+#include <stdlib.h>
+#include <pthread.h>
+#include <assert.h>
+
+static int
+foo (void)
+{
+  usleep (1);
+}
+
+static void *
+thread_function (void *arg)
+{
+  while (1)
+    foo ();
+}
+
+void
+new_thread (void)
+{
+  pthread_t thread;
+  int res;
+
+  res = pthread_create (&thread, NULL, thread_function, NULL);
+  assert (res == 0);
+}
+
+int
+main (int argc, char **argv)
+{
+  return 0;
+}
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.20150623/gdb/testsuite/gdb.threads/hand-call-new-thread.exp ./gdb/testsuite/gdb.threads/hand-call-new-thread.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/testsuite/gdb.threads/hand-call-new-thread.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/hand-call-new-thread.exp	2015-06-30 01:48:31.000000000 +0000
@@ -0,0 +1,48 @@
+# Copyright (C) 2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Ensure that new threads created while an infcall is ongoing are set
+# to stopped state once the call finishes.
+
+standard_testfile
+
+if [prepare_for_testing "failed to prepare" $testfile $srcfile {debug pthreads}] {
+    return -1
+}
+
+if ![runto_main] {
+    continue
+}
+
+# Set a thread-specific breakpoint that the wrong thread trips on
+# while running the infcall.  Check that no thread ends up in stale
+# "running" state once the call finishes.
+gdb_test "b foo thread 1" "Breakpoint .*$srcfile.*"
+
+for {set i 0} {$i < 3} {incr i} {
+    with_test_prefix "iter $i" {
+	gdb_test "p new_thread ()" " = void"
+
+	set message "no thread marked running"
+	gdb_test_multiple "info threads" $message {
+	    -re "\\\(running\\\).*$gdb_prompt $" {
+		fail $message
+	    }
+	    -re "$gdb_prompt $" {
+		pass $message
+	    }
+	}
+    }
+}
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.20150623/gdb/testsuite/lib/gdb.exp ./gdb/testsuite/lib/gdb.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/testsuite/lib/gdb.exp	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/testsuite/lib/gdb.exp	2015-06-30 01:48:31.000000000 +0000
@@ -1996,6 +1996,17 @@ gdb_caching_proc support_complex_tests {
     return $result
 }
 
+# Return 1 if GDB can get a type for siginfo from the target, otherwise
+# return 0.
+
+proc supports_get_siginfo_type {} {
+    if { [istarget "*-*-linux*"] } {
+	return 1
+    } else {
+	return 0
+    }
+}
+
 # Return 1 if target hardware or OS supports single stepping to signal
 # handler, otherwise, return 0.
 
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.20150623/gdb/tilegx-linux-tdep.c ./gdb/tilegx-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/tilegx-linux-tdep.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/tilegx-linux-tdep.c	2015-06-30 01:48:31.000000000 +0000
@@ -133,8 +133,6 @@ tilegx_linux_init_abi (struct gdbarch_in
   /* Shared library handling.  */
   set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
   set_gdbarch_skip_solib_resolver (gdbarch, glibc_skip_solib_resolver);
-
-  set_gdbarch_get_siginfo_type (gdbarch, linux_get_siginfo_type);
 }
 
 /* Provide a prototype to silence -Wmissing-prototypes.  */
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.20150623/gdb/top.c ./gdb/top.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/top.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/top.c	2015-06-30 01:48:31.000000000 +0000
@@ -698,6 +698,20 @@ show_history_size (struct ui_file *file,
 		    value);
 }
 
+/* Variable associated with the "history remove-duplicates" option.
+   The value -1 means unlimited.  */
+static int history_remove_duplicates = 0;
+
+static void
+show_history_remove_duplicates (struct ui_file *file, int from_tty,
+				struct cmd_list_element *c, const char *value)
+{
+  fprintf_filtered (file,
+		    _("The number of history entries to look back at for "
+		      "duplicates is %s.\n"),
+		    value);
+}
+
 static char *history_filename;
 static void
 show_history_filename (struct ui_file *file, int from_tty,
@@ -897,8 +911,43 @@ static int command_count = 0;
 void
 gdb_add_history (const char *command)
 {
-  add_history (command);
   command_count++;
+
+  if (history_remove_duplicates != 0)
+    {
+      int lookbehind;
+      int lookbehind_threshold;
+
+      /* The lookbehind threshold for finding a duplicate history entry is
+	 bounded by command_count because we can't meaningfully delete
+	 history entries that are already stored in the history file since
+	 the history file is appended to.  */
+      if (history_remove_duplicates == -1
+	  || history_remove_duplicates > command_count)
+	lookbehind_threshold = command_count;
+      else
+	lookbehind_threshold = history_remove_duplicates;
+
+      using_history ();
+      for (lookbehind = 0; lookbehind < lookbehind_threshold; lookbehind++)
+	{
+	  HIST_ENTRY *temp = previous_history ();
+
+	  if (temp == NULL)
+	    break;
+
+	  if (strcmp (temp->line, command) == 0)
+	    {
+	      HIST_ENTRY *prev = remove_history (where_history ());
+	      command_count--;
+	      free_history_entry (prev);
+	      break;
+	    }
+	}
+      using_history ();
+    }
+
+  add_history (command);
 }
 
 /* Safely append new history entries to the history file in a corruption-free
@@ -1685,10 +1734,13 @@ init_history (void)
   if (tmpenv)
     {
       long var;
+      int saved_errno;
       char *endptr;
 
       tmpenv = skip_spaces (tmpenv);
+      errno = 0;
       var = strtol (tmpenv, &endptr, 10);
+      saved_errno = errno;
       endptr = skip_spaces (endptr);
 
       /* If GDBHISTSIZE is non-numeric then ignore it.  If GDBHISTSIZE is the
@@ -1700,7 +1752,12 @@ init_history (void)
 	;
       else if (*tmpenv == '\0'
 	       || var < 0
-	       || var > INT_MAX)
+	       || var > INT_MAX
+	       /* On targets where INT_MAX == LONG_MAX, we have to look at
+		  errno after calling strtol to distinguish between a value that
+		  is exactly INT_MAX and an overflowing value that was clamped
+		  to INT_MAX.  */
+	       || (var == INT_MAX && saved_errno == ERANGE))
 	history_size_setshow_var = -1;
       else
 	history_size_setshow_var = var;
@@ -1872,6 +1929,21 @@ variable \"GDBHISTSIZE\", or to 256 if t
 			    show_history_size,
 			    &sethistlist, &showhistlist);
 
+  add_setshow_zuinteger_unlimited_cmd ("remove-duplicates", no_class,
+				       &history_remove_duplicates, _("\
+Set how far back in history to look for and remove duplicate entries."), _("\
+Show how far back in history to look for and remove duplicate entries."), _("\
+If set to a nonzero value N, GDB will look back at the last N history entries\n\
+and remove the first history entry that is a duplicate of the most recent\n\
+entry, each time a new history entry is added.\n\
+If set to \"unlimited\", this lookbehind is unbounded.\n\
+Only history entries added during this session are considered for removal.\n\
+If set to 0, removal of duplicate history entries is disabled.\n\
+By default this option is set to 0."),
+			   NULL,
+			   show_history_remove_duplicates,
+			   &sethistlist, &showhistlist);
+
   add_setshow_filename_cmd ("filename", no_class, &history_filename, _("\
 Set the filename in which to record the command history"), _("\
 Show the filename in which to record the command history"), _("\
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.20150623/gdb/tui/tui-win.c ./gdb/tui/tui-win.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/tui/tui-win.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/tui/tui-win.c	2015-06-30 01:48:31.000000000 +0000
@@ -354,6 +354,71 @@ tui_set_var_cmd (char *null_args, int fr
     tui_rehighlight_all ();
 }
 
+/* Complete possible window names to focus on.  TEXT is the complete text
+   entered so far, WORD is the word currently being completed.  */
+
+static VEC (char_ptr) *
+focus_completer (struct cmd_list_element *ignore,
+		  const char *text, const char *word)
+{
+  VEC (const_char_ptr) *completion_name_vec = NULL;
+  VEC (char_ptr) *matches_vec;
+  int win_type;
+
+  for (win_type = SRC_WIN; win_type < MAX_MAJOR_WINDOWS; win_type++)
+    {
+      const char *completion_name = NULL;
+
+      /* We can't focus on an invisible window.  */
+      if (tui_win_list[win_type] == NULL
+	  || !tui_win_list[win_type]->generic.is_visible)
+	continue;
+
+      switch (win_type)
+	{
+	case SRC_WIN:
+	  completion_name = "src";
+	  break;
+	case DISASSEM_WIN:
+	  completion_name = "asm";
+	  break;
+	case DATA_WIN:
+	  completion_name = "regs";
+	  break;
+	case CMD_WIN:
+	  completion_name = "cmd";
+	  break;
+	default:
+	  break;
+	}
+
+      if (completion_name != NULL)
+	VEC_safe_push (const_char_ptr, completion_name_vec, completion_name);
+    }
+
+  /* If no windows are considered visible then the TUI has not yet been
+     initialized.  But still "focus src" and "focus cmd" will work because
+     invoking the focus command will entail initializing the TUI which sets the
+     default layout to SRC_COMMAND.  */
+  if (VEC_length (const_char_ptr, completion_name_vec) == 0)
+    {
+      VEC_safe_push (const_char_ptr, completion_name_vec, "src");
+      VEC_safe_push (const_char_ptr, completion_name_vec, "cmd");
+    }
+
+  VEC_safe_push (const_char_ptr, completion_name_vec, "next");
+  VEC_safe_push (const_char_ptr, completion_name_vec, "prev");
+  VEC_safe_push (const_char_ptr, completion_name_vec, NULL);
+
+  matches_vec
+    = complete_on_enum (VEC_address (const_char_ptr, completion_name_vec),
+			text, word);
+
+  VEC_free (const_char_ptr, completion_name_vec);
+
+  return matches_vec;
+}
+
 /* Function to initialize gdb commands, for tui window
    manipulation.  */
 
@@ -365,6 +430,7 @@ _initialize_tui_win (void)
 {
   static struct cmd_list_element *tui_setlist;
   static struct cmd_list_element *tui_showlist;
+  struct cmd_list_element *focus_cmd;
 
   /* Define the classes of commands.
      They will appear in the help list in the reverse of this order.  */
@@ -393,7 +459,7 @@ regs : the register display\n"));
   add_com_alias ("wh", "winheight", class_tui, 0);
   add_info ("win", tui_all_windows_info,
 	    _("List of all displayed windows.\n"));
-  add_com ("focus", class_tui, tui_set_focus_command, _("\
+  focus_cmd = add_com ("focus", class_tui, tui_set_focus_command, _("\
 Set focus to named window or next/prev window.\n\
 Usage: focus {<win> | next | prev}\n\
 Valid Window names are:\n\
@@ -402,6 +468,7 @@ asm  : the disassembly window\n\
 regs : the register display\n\
 cmd  : the command window\n"));
   add_com_alias ("fs", "focus", class_tui, 0);
+  set_cmd_completer (focus_cmd, focus_completer);
   add_com ("+", class_tui, tui_scroll_forward_command, _("\
 Scroll window forward.\n\
 Usage: + [win] [n]\n"));
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.20150623/gdb/x86-linux-nat.c ./gdb/x86-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/x86-linux-nat.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/x86-linux-nat.c	2015-06-30 01:48:31.000000000 +0000
@@ -162,13 +162,13 @@ x86_linux_read_description (struct targe
       if (ptrace (PTRACE_GETFPXREGS, tid, 0, (int) &fpxregs) < 0)
 	{
 	  have_ptrace_getfpxregs = 0;
-	  have_ptrace_getregset = 0;
+	  have_ptrace_getregset = TRIBOOL_FALSE;
 	  return tdesc_i386_mmx_linux;
 	}
     }
 #endif
 
-  if (have_ptrace_getregset == -1)
+  if (have_ptrace_getregset == TRIBOOL_UNKNOWN)
     {
       uint64_t xstateregs[(X86_XSTATE_SSE_SIZE / sizeof (uint64_t))];
       struct iovec iov;
@@ -179,10 +179,10 @@ x86_linux_read_description (struct targe
       /* Check if PTRACE_GETREGSET works.  */
       if (ptrace (PTRACE_GETREGSET, tid,
 		  (unsigned int) NT_X86_XSTATE, &iov) < 0)
-	have_ptrace_getregset = 0;
+	have_ptrace_getregset = TRIBOOL_FALSE;
       else
 	{
-	  have_ptrace_getregset = 1;
+	  have_ptrace_getregset = TRIBOOL_TRUE;
 
 	  /* Get XCR0 from XSAVE extended state.  */
 	  xcr0 = xstateregs[(I386_LINUX_XSAVE_XCR0_OFFSET
@@ -194,7 +194,7 @@ x86_linux_read_description (struct targe
      PTRACE_GETREGSET is not available then set xcr0_features_bits to
      zero so that the "no-features" descriptions are returned by the
      switches below.  */
-  if (have_ptrace_getregset)
+  if (have_ptrace_getregset == TRIBOOL_TRUE)
     xcr0_features_bits = xcr0 & X86_XSTATE_ALL_MASK;
   else
     xcr0_features_bits = 0;
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.20150623/gdb/xtensa-linux-nat.c ./gdb/xtensa-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/gdb/xtensa-linux-nat.c	2015-06-23 01:48:33.000000000 +0000
+++ ./gdb/xtensa-linux-nat.c	2015-06-30 01:48:31.000000000 +0000
@@ -24,8 +24,6 @@
 #include "regcache.h"
 #include "target.h"
 #include "linux-nat.h"
-
-#include <stdint.h>
 #include <sys/types.h>
 #include <signal.h>
 #include <sys/user.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.20150623/include/ChangeLog ./include/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/include/ChangeLog	2015-06-23 01:48:33.000000000 +0000
+++ ./include/ChangeLog	2015-06-30 01:48:31.000000000 +0000
@@ -1,3 +1,7 @@
+2015-06-26  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	* elf/mips.h (DT_MIPS_RLD_MAP_REL): New macro.
+
 2015-06-22  Nick Clifton  <nickc@redhat.com>
 
 	* dis-asm.h (struct disassemble_info): Add stop_vma field.
@@ -7,6 +11,11 @@
 	include/
 	* bfdlink.h: Rename eh_frame_hdr to eh_frame_hdr_type.
 
+2015-05-22  Yunlian Jiang  <yunlian@google.com>
+
+	* libiberty.h (asprintf): Don't declare if HAVE_DECL_ASPRINTF is
+	not defined.
+
 2015-05-12  Jiong Wang  <jiong.wang@arm.com>
 
 	* elf/aarch64.h (R_AARCH64_P32_LD32_GOTPAGE_LO14): New enumeration.
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.20150623/include/elf/mips.h ./include/elf/mips.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/include/elf/mips.h	2015-06-23 01:48:33.000000000 +0000
+++ ./include/elf/mips.h	2015-06-30 01:48:31.000000000 +0000
@@ -748,6 +748,9 @@ extern void bfd_mips_elf32_swap_reginfo_
 
 /* Points to the base of a writable PLT.  */
 #define DT_MIPS_RWPLT          0x70000034
+
+/* Relative offset of run time loader map, used for debugging.  */
+#define DT_MIPS_RLD_MAP_REL    0x70000035
 
 /* Flags which may appear in a DT_MIPS_FLAGS entry.  */
 
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.20150623/include/libiberty.h ./include/libiberty.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/include/libiberty.h	2015-06-23 01:48:33.000000000 +0000
+++ ./include/libiberty.h	2015-06-30 01:48:31.000000000 +0000
@@ -621,7 +621,7 @@ extern int pexecute (const char *, char 
 
 extern int pwait (int, int *, int);
 
-#if !HAVE_DECL_ASPRINTF
+#if defined(HAVE_DECL_ASPRINTF) && !HAVE_DECL_ASPRINTF
 /* Like sprintf but provides a pointer to malloc'd storage, which must
    be freed by the caller.  */
 
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.20150623/libiberty/ChangeLog ./libiberty/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/libiberty/ChangeLog	2015-06-23 01:48:34.000000000 +0000
+++ ./libiberty/ChangeLog	2015-06-30 01:48:32.000000000 +0000
@@ -1,3 +1,85 @@
+2015-06-01  Jason Merrill  <jason@redhat.com>
+
+	* cp-demangle.c (cplus_demangle_type): Handle arguments to vendor
+	extended qualifier.
+
+2015-05-22  Yunlian Jiang  <yunlian@google.com>
+
+	* configure.ac: Add AC_GNU_SOURCE.
+	* Makefile.in (COMPILE.c): Add -D_GNU_SOURCE.
+	* configure, config.in: Rebuild.
+	* floatformat.c (_GNU_SOURCE): Don't define if already defined.
+
+2015-05-16  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+	* d-demangle.c (dlang_symbol_kinds): New enum.
+	(dlang_parse_symbol): Update signature.  Handle an ambiguity between
+	pascal functions and template value arguments.  Only check for a type
+	if parsing a function, or at the top level.  Return failure if the
+	entire symbol was not successfully demangled.
+	(dlang_identifier): Update signature.  Handle an ambiguity between two
+	adjacent digits in a mangled symbol string.
+	(dlang_type): Update call to dlang_parse_symbol.
+	(dlang_template_args): Likewise.
+	(dlang_parse_template): Likewise.
+	(dlang_demangle): Likewise.
+	* testsuite/d-demangle-expected: Fix bad tests found, and add problematic
+	examples to the unittests.
+
+2015-05-16  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+	* d-demangle.c (dlang_template_args): Skip over specialized template
+	parameters in mangled symbol.
+	* testsuite/d-demangle-expected: Add coverage and unittest for specialized
+	template parameters.
+
+2015-05-16  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+	* d-demangle.c (dlang_type): Handle cent and ucent types.
+	* testsuite/d-demangle-expected: Add coverage tests for cent and ucent.
+
+2015-05-16  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+	* d-demangle.c (dlang_attributes): Handle return attributes, ignoring
+	return parameters in the mangled string.  Return NULL if have encountered
+	an unknown attribute.
+	(dlang_function_args): Handle return parameters in the mangled string.
+	* testsuite/d-demangle-expected: Add coverage tests for functions with
+	return parameters and return attributes.
+
+2015-05-16  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+	* d-demangle.c (dlang_identifier): Check encoded length of identifier
+	to verify strncmp matches entire string.
+	* testsuite/d-demangle-expected: Fix wrong test for postblit symbol.
+
+2015-05-16  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+	* d-demangle.c (dlang_type_modifiers): New function.
+	(dlang_type_modifier_p): New function.
+	(dlang_call_convention_p): Ignore any kind of type modifier.
+	(dlang_type): Handle and emit the type modifier after delegate types.
+	(dlang_parse_symbol): Handle and emit the type modifier after the symbol.
+	* testsuite/d-demangle-expected: Add coverage tests for all valid
+	usages of function symbols with type modifiers.
+
+2015-05-16  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+	* d-demangle.c (dlang_call_convention): Return NULL if have reached the
+	end of the symbol, but expected something to read.
+	(dlang_attributes): Likewise.
+	(dlang_function_type): Likewise.
+	(dlang_type): Likewise.
+	(dlang_identifier): Likewise.
+	(dlang_value): Likewise.
+
+2015-05-16  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+	* d-demangle.c (dlang_parse_string): Represent embedded whitespace or
+	non-printable characters as hex or escape sequences.
+	* testsuite/d-demangle-expected: Add test for templates with tabs and
+	newlines embedded into the signature.
+
 2015-05-08  Joel Brobecker  <brobecker@adacore.com>
 
 	* mkstemps.c: #include <time.h> if HAVE_TIME_H is defined
@@ -7,6 +89,22 @@
 
 	* setenv.c <environ>: Declare only if not a macro.
 
+2015-04-14  Max Ostapenko  <m.ostapenko@partner.samsung.com>
+
+	* testsuite/Makefile.in (LIBCFLAGS): Add LDFLAGS.
+
+2015-04-10  Jakub Jelinek  <jakub@redhat.com>
+	    Iain Sandoe  <iain@codesourcery.com>
+
+	PR target/65351
+	* configure: Regenerate.
+
+2015-04-07  Jakub Jelinek  <jakub@redhat.com>
+	    Iain Sandoe  <iain@codesourcery.com>
+
+	PR target/65351
+	* configure: Regenerate.
+
 2015-01-19  Eli Zaretskii  <eliz@gnu.org>
 
 	* strerror.c <sys_nerr, sys_errlist>: Declare only if they aren't
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.20150623/libiberty/config.in ./libiberty/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/libiberty/config.in	2015-06-23 01:48:34.000000000 +0000
+++ ./libiberty/config.in	2015-06-30 01:48:32.000000000 +0000
@@ -485,6 +485,28 @@
 /* Define to an unsigned 64-bit type available in the compiler. */
 #undef UNSIGNED_64BIT_TYPE
 
+/* Enable extensions on AIX 3, Interix.  */
+#ifndef _ALL_SOURCE
+# undef _ALL_SOURCE
+#endif
+/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif
+/* Enable threading extensions on Solaris.  */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# undef _POSIX_PTHREAD_SEMANTICS
+#endif
+/* Enable extensions on HP NonStop.  */
+#ifndef _TANDEM_SOURCE
+# undef _TANDEM_SOURCE
+#endif
+/* Enable general extensions on Solaris.  */
+#ifndef __EXTENSIONS__
+# undef __EXTENSIONS__
+#endif
+
+
 /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
    significant byte first (like Motorola and SPARC, unlike Intel). */
 #if defined AC_APPLE_UNIVERSAL_BUILD
@@ -503,6 +525,16 @@
 /* Define for large files, on AIX-style hosts. */
 #undef _LARGE_FILES
 
+/* Define to 1 if on MINIX. */
+#undef _MINIX
+
+/* Define to 2 if the system does not provide POSIX.1 features except with
+   this defined. */
+#undef _POSIX_1_SOURCE
+
+/* Define to 1 if you need to in order for `stat' and other things to work. */
+#undef _POSIX_SOURCE
+
 /* Define to empty if `const' does not conform to ANSI C. */
 #undef const
 
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.20150623/libiberty/configure ./libiberty/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/libiberty/configure	2015-06-23 01:48:34.000000000 +0000
+++ ./libiberty/configure	2015-06-30 01:48:32.000000000 +0000
@@ -599,11 +599,11 @@ PICFLAG
 INSTALL_DATA
 INSTALL_SCRIPT
 INSTALL_PROGRAM
-EGREP
-GREP
 OUTPUT_OPTION
 NO_MINUS_C_MINUS_O
 ac_libiberty_warn_cflags
+EGREP
+GREP
 CPP
 OBJEXT
 EXEEXT
@@ -1480,6 +1480,93 @@ fi
 
 } # ac_fn_c_try_cpp
 
+# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists, giving a warning if it cannot be compiled using
+# the include files in INCLUDES and setting the cache variable VAR
+# accordingly.
+ac_fn_c_check_header_mongrel ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  $as_echo_n "(cached) " >&6
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+  # Is the header compilable?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
+$as_echo_n "checking $2 usability... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_header_compiler=yes
+else
+  ac_header_compiler=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
+$as_echo_n "checking $2 presence... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <$2>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  ac_header_preproc=yes
+else
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
+  yes:no: )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+    ;;
+  no:yes:* )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+    ;;
+esac
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  $as_echo_n "(cached) " >&6
+else
+  eval "$3=\$ac_header_compiler"
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+fi
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+} # ac_fn_c_check_header_mongrel
+
 # ac_fn_c_try_run LINENO
 # ----------------------
 # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
@@ -1522,6 +1609,37 @@ fi
 
 } # ac_fn_c_try_run
 
+# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists and can be compiled using the include files in
+# INCLUDES, setting the cache variable VAR accordingly.
+ac_fn_c_check_header_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+} # ac_fn_c_check_header_compile
+
 # ac_fn_c_check_header_preproc LINENO HEADER VAR
 # ----------------------------------------------
 # Tests whether HEADER is present, setting the cache variable VAR accordingly.
@@ -3610,309 +3728,111 @@ ac_link='$CC -o conftest$ac_exeext $CFLA
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
-# Check whether --enable-largefile was given.
-if test "${enable_largefile+set}" = set; then :
-  enableval=$enable_largefile;
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+  CPP=
 fi
-
-if test "$enable_largefile" != no; then
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
-$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
-if test "${ac_cv_sys_largefile_CC+set}" = set; then :
+if test -z "$CPP"; then
+  if test "${ac_cv_prog_CPP+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  ac_cv_sys_largefile_CC=no
-     if test "$GCC" != yes; then
-       ac_save_CC=$CC
-       while :; do
-	 # IRIX 6.2 and later do not support large files by default,
-	 # so use the C compiler's -n32 option if that helps.
-	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+      # Double quotes because CPP needs to be expanded
+    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
-    We can't simply define LARGE_OFF_T to be 9223372036854775807,
-    since some C++ compilers masquerading as C compilers
-    incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
-  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
-		       && LARGE_OFF_T % 2147483647 == 1)
-		      ? 1 : -1];
-int
-main ()
-{
-
-  ;
-  return 0;
-}
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
 _ACEOF
-	 if ac_fn_c_try_compile "$LINENO"; then :
-  break
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+  # Broken: fails on valid input.
+continue
 fi
-rm -f core conftest.err conftest.$ac_objext
-	 CC="$CC -n32"
-	 if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_sys_largefile_CC=' -n32'; break
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
 fi
-rm -f core conftest.err conftest.$ac_objext
-	 break
-       done
-       CC=$ac_save_CC
-       rm -f conftest.$ac_ext
-    fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+  break
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
-$as_echo "$ac_cv_sys_largefile_CC" >&6; }
-  if test "$ac_cv_sys_largefile_CC" != no; then
-    CC=$CC$ac_cv_sys_largefile_CC
-  fi
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
-$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
-if test "${ac_cv_sys_file_offset_bits+set}" = set; then :
-  $as_echo_n "(cached) " >&6
+    done
+    ac_cv_prog_CPP=$CPP
+
+fi
+  CPP=$ac_cv_prog_CPP
 else
-  while :; do
+  ac_cv_prog_CPP=$CPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
-    We can't simply define LARGE_OFF_T to be 9223372036854775807,
-    since some C++ compilers masquerading as C compilers
-    incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
-  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
-		       && LARGE_OFF_T % 2147483647 == 1)
-		      ? 1 : -1];
-int
-main ()
-{
-
-  ;
-  return 0;
-}
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_sys_file_offset_bits=no; break
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+  # Broken: fails on valid input.
+continue
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#define _FILE_OFFSET_BITS 64
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
-    We can't simply define LARGE_OFF_T to be 9223372036854775807,
-    since some C++ compilers masquerading as C compilers
-    incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
-  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
-		       && LARGE_OFF_T % 2147483647 == 1)
-		      ? 1 : -1];
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_sys_file_offset_bits=64; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  ac_cv_sys_file_offset_bits=unknown
-  break
-done
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
-$as_echo "$ac_cv_sys_file_offset_bits" >&6; }
-case $ac_cv_sys_file_offset_bits in #(
-  no | unknown) ;;
-  *)
-cat >>confdefs.h <<_ACEOF
-#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
-_ACEOF
-;;
-esac
-rm -rf conftest*
-  if test $ac_cv_sys_file_offset_bits = unknown; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
-$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
-if test "${ac_cv_sys_large_files+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  while :; do
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
-    We can't simply define LARGE_OFF_T to be 9223372036854775807,
-    since some C++ compilers masquerading as C compilers
-    incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
-  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
-		       && LARGE_OFF_T % 2147483647 == 1)
-		      ? 1 : -1];
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_sys_large_files=no; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#define _LARGE_FILES 1
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
-    We can't simply define LARGE_OFF_T to be 9223372036854775807,
-    since some C++ compilers masquerading as C compilers
-    incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
-  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
-		       && LARGE_OFF_T % 2147483647 == 1)
-		      ? 1 : -1];
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_sys_large_files=1; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  ac_cv_sys_large_files=unknown
-  break
-done
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
-$as_echo "$ac_cv_sys_large_files" >&6; }
-case $ac_cv_sys_large_files in #(
-  no | unknown) ;;
-  *)
-cat >>confdefs.h <<_ACEOF
-#define _LARGE_FILES $ac_cv_sys_large_files
-_ACEOF
-;;
-esac
-rm -rf conftest*
-  fi
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
-
-    done
-    ac_cv_prog_CPP=$CPP
-
-fi
-  CPP=$ac_cv_prog_CPP
-else
-  ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <ac_nonexistent.h>
@@ -3946,106 +3866,147 @@ ac_link='$CC -o conftest$ac_exeext $CFLA
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
-ac_c_preproc_warn_flag=yes
-
-ac_libiberty_warn_cflags=
-save_CFLAGS="$CFLAGS"
-for real_option in -W -Wall -Wwrite-strings -Wc++-compat \
-			  -Wstrict-prototypes; do
-  # Do the check with the no- prefix removed since gcc silently
-  # accepts any -Wno-* option on purpose
-  case $real_option in
-    -Wno-*) option=-W`expr x$real_option : 'x-Wno-\(.*\)'` ;;
-    *) option=$real_option ;;
-  esac
-  as_acx_Woption=`$as_echo "acx_cv_prog_cc_warning_$option" | $as_tr_sh`
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports $option" >&5
-$as_echo_n "checking whether $CC supports $option... " >&6; }
-if { as_var=$as_acx_Woption; eval "test \"\${$as_var+set}\" = set"; }; then :
-  $as_echo_n "(cached) " >&6
-else
-  CFLAGS="$option"
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_acx_Woption=yes"
-else
-  eval "$as_acx_Woption=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-eval ac_res=\$$as_acx_Woption
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  if test `eval 'as_val=${'$as_acx_Woption'};$as_echo "$as_val"'` = yes; then :
-  ac_libiberty_warn_cflags="$ac_libiberty_warn_cflags${ac_libiberty_warn_cflags:+ }$real_option"
-fi
-  done
-CFLAGS="$save_CFLAGS"
-
-# Do the check with the no- prefix removed from the warning options
-# since gcc silently accepts any -Wno-* option on purpose
-if test "$GCC" = yes; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -pedantic " >&5
-$as_echo_n "checking whether $CC supports -pedantic ... " >&6; }
-if test "${acx_cv_prog_cc_pedantic_+set}" = set; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if test "${ac_cv_path_GREP+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  save_CFLAGS="$CFLAGS"
-CFLAGS="-pedantic "
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
+  if test -z "$GREP"; then
+  ac_path_GREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in grep ggrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+  # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'GREP' >> "conftest.nl"
+    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_GREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_GREP="$ac_path_GREP"
+      ac_path_GREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  acx_cv_prog_cc_pedantic_=yes
+      $ac_path_GREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_GREP"; then
+    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+  fi
 else
-  acx_cv_prog_cc_pedantic_=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-CFLAGS="$save_CFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_prog_cc_pedantic_" >&5
-$as_echo "$acx_cv_prog_cc_pedantic_" >&6; }
-if test $acx_cv_prog_cc_pedantic_ = yes; then :
-  ac_libiberty_warn_cflags="$ac_libiberty_warn_cflags${ac_libiberty_warn_cflags:+ }-pedantic "
+  ac_cv_path_GREP=$GREP
 fi
 
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
 
 
-if test "x$CC" != xcc; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if test "${ac_cv_path_EGREP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
+  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+   then ac_cv_path_EGREP="$GREP -E"
+   else
+     if test -z "$EGREP"; then
+  ac_path_EGREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in egrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+  # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'EGREP' >> "conftest.nl"
+    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_EGREP="$ac_path_EGREP"
+      ac_path_EGREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_EGREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_EGREP"; then
+    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+  fi
+else
+  ac_cv_path_EGREP=$EGREP
 fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
-		      sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if { as_var=ac_cv_prog_cc_${ac_cc}_c_o; eval "test \"\${$as_var+set}\" = set"; }; then :
+
+   fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if test "${ac_cv_header_stdc+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
 
 int
 main ()
@@ -4055,483 +4016,704 @@ main ()
   return 0;
 }
 _ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } &&
-   test -f conftest2.$ac_objext && { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; };
-then
-  eval ac_cv_prog_cc_${ac_cc}_c_o=yes
-  if test "x$CC" != xcc; then
-    # Test first that cc exists at all.
-    if { ac_try='cc -c conftest.$ac_ext >&5'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-      ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-      rm -f conftest2.*
-      if { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } &&
-	 test -f conftest2.$ac_objext && { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; };
-      then
-	# cc works too.
-	:
-      else
-	# cc exists but doesn't like -o.
-	eval ac_cv_prog_cc_${ac_cc}_c_o=no
-      fi
-    fi
-  fi
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_header_stdc=yes
 else
-  eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
+  ac_cv_header_stdc=no
 fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
+if test $ac_cv_header_stdc = yes; then
+  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <string.h>
 
-fi
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "memchr" >/dev/null 2>&1; then :
 
-# autoconf is lame and doesn't give us any substitution variable for this.
-if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = no"; then
-  NO_MINUS_C_MINUS_O=yes
 else
-  OUTPUT_OPTION='-o $@'
+  ac_cv_header_stdc=no
 fi
+rm -f conftest*
 
+fi
 
+if test $ac_cv_header_stdc = yes; then
+  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
-$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
-if test "${ac_cv_c_const+set}" = set; then :
-  $as_echo_n "(cached) " >&6
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "free" >/dev/null 2>&1; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+  if test "$cross_compiling" = yes; then :
+  :
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+		   (('a' <= (c) && (c) <= 'i') \
+		     || ('j' <= (c) && (c) <= 'r') \
+		     || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
 
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
 int
 main ()
 {
-/* FIXME: Include the comments suggested by Paul. */
-#ifndef __cplusplus
-  /* Ultrix mips cc rejects this.  */
-  typedef int charset[2];
-  const charset cs;
-  /* SunOS 4.1.1 cc rejects this.  */
-  char const *const *pcpcc;
-  char **ppc;
-  /* NEC SVR4.0.2 mips cc rejects this.  */
-  struct point {int x, y;};
-  static struct point const zero = {0,0};
-  /* AIX XL C 1.02.0.0 rejects this.
-     It does not let you subtract one const X* pointer from another in
-     an arm of an if-expression whose if-part is not a constant
-     expression */
-  const char *g = "string";
-  pcpcc = &g + (g ? g-g : 0);
-  /* HPUX 7.0 cc rejects these. */
-  ++pcpcc;
-  ppc = (char**) pcpcc;
-  pcpcc = (char const *const *) ppc;
-  { /* SCO 3.2v4 cc rejects this.  */
-    char *t;
-    char const *s = 0 ? (char *) 0 : (char const *) 0;
-
-    *t++ = 0;
-    if (s) return 0;
-  }
-  { /* Someone thinks the Sun supposedly-ANSI compiler will reject this.  */
-    int x[] = {25, 17};
-    const int *foo = &x[0];
-    ++foo;
-  }
-  { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
-    typedef const int *iptr;
-    iptr p = 0;
-    ++p;
-  }
-  { /* AIX XL C 1.02.0.0 rejects this saying
-       "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
-    struct s { int j; const int *ap[3]; };
-    struct s *b; b->j = 5;
-  }
-  { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
-    const int foo = 10;
-    if (!foo) return 0;
-  }
-  return !cs[0] && !zero.x;
-#endif
-
-  ;
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+	|| toupper (i) != TOUPPER (i))
+      return 2;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_const=yes
+if ac_fn_c_try_run "$LINENO"; then :
+
 else
-  ac_cv_c_const=no
+  ac_cv_header_stdc=no
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5
-$as_echo "$ac_cv_c_const" >&6; }
-if test $ac_cv_c_const = no; then
 
-$as_echo "#define const /**/" >>confdefs.h
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
 
 fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
-$as_echo_n "checking for inline... " >&6; }
-if test "${ac_cv_c_inline+set}" = set; then :
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+		  inttypes.h stdint.h unistd.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+eval as_val=\$$as_ac_Header
+   if test "x$as_val" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+  ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
+if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+  MINIX=yes
+else
+  MINIX=
+fi
+
+
+  if test "$MINIX" = yes; then
+
+$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h
+
+
+$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h
+
+
+$as_echo "#define _MINIX 1" >>confdefs.h
+
+  fi
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
+$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
+if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  ac_cv_c_inline=no
-for ac_kw in inline __inline__ __inline; do
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#ifndef __cplusplus
-typedef int foo_t;
-static $ac_kw foo_t static_foo () {return 0; }
-$ac_kw foo_t foo () {return 0; }
-#endif
 
+#	  define __EXTENSIONS__ 1
+	  $ac_includes_default
+int
+main ()
+{
+
+  ;
+  return 0;
+}
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_inline=$ac_kw
+  ac_cv_safe_to_define___extensions__=yes
+else
+  ac_cv_safe_to_define___extensions__=no
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  test "$ac_cv_c_inline" != no && break
-done
-
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
-$as_echo "$ac_cv_c_inline" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
+$as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
+  test $ac_cv_safe_to_define___extensions__ = yes &&
+    $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h
 
-case $ac_cv_c_inline in
-  inline | yes) ;;
-  *)
-    case $ac_cv_c_inline in
-      no) ac_val=;;
-      *) ac_val=$ac_cv_c_inline;;
-    esac
-    cat >>confdefs.h <<_ACEOF
-#ifndef __cplusplus
-#define inline $ac_val
-#endif
-_ACEOF
-    ;;
-esac
+  $as_echo "#define _ALL_SOURCE 1" >>confdefs.h
 
+  $as_echo "#define _GNU_SOURCE 1" >>confdefs.h
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$GREP"; then
-  ac_path_GREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in grep ggrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
-  # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'GREP' >> "conftest.nl"
-    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_GREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_GREP="$ac_path_GREP"
-      ac_path_GREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
+  $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
+
+  $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h
 
-      $ac_path_GREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_GREP=$GREP
-fi
 
+
+# Check whether --enable-largefile was given.
+if test "${enable_largefile+set}" = set; then :
+  enableval=$enable_largefile;
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
 
+if test "$enable_largefile" != no; then
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
+$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
+if test "${ac_cv_sys_largefile_CC+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-   then ac_cv_path_EGREP="$GREP -E"
-   else
-     if test -z "$EGREP"; then
-  ac_path_EGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in egrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
-  # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'EGREP' >> "conftest.nl"
-    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_EGREP="$ac_path_EGREP"
-      ac_path_EGREP_max=$ac_count
+  ac_cv_sys_largefile_CC=no
+     if test "$GCC" != yes; then
+       ac_save_CC=$CC
+       while :; do
+	 # IRIX 6.2 and later do not support large files by default,
+	 # so use the C compiler's -n32 option if that helps.
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+		       && LARGE_OFF_T % 2147483647 == 1)
+		      ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+	 if ac_fn_c_try_compile "$LINENO"; then :
+  break
+fi
+rm -f core conftest.err conftest.$ac_objext
+	 CC="$CC -n32"
+	 if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_sys_largefile_CC=' -n32'; break
+fi
+rm -f core conftest.err conftest.$ac_objext
+	 break
+       done
+       CC=$ac_save_CC
+       rm -f conftest.$ac_ext
     fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
+$as_echo "$ac_cv_sys_largefile_CC" >&6; }
+  if test "$ac_cv_sys_largefile_CC" != no; then
+    CC=$CC$ac_cv_sys_largefile_CC
+  fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
+$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
+if test "${ac_cv_sys_file_offset_bits+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  while :; do
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+		       && LARGE_OFF_T % 2147483647 == 1)
+		      ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_sys_file_offset_bits=no; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#define _FILE_OFFSET_BITS 64
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+		       && LARGE_OFF_T % 2147483647 == 1)
+		      ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_sys_file_offset_bits=64; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  ac_cv_sys_file_offset_bits=unknown
+  break
+done
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
+$as_echo "$ac_cv_sys_file_offset_bits" >&6; }
+case $ac_cv_sys_file_offset_bits in #(
+  no | unknown) ;;
+  *)
+cat >>confdefs.h <<_ACEOF
+#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
+_ACEOF
+;;
+esac
+rm -rf conftest*
+  if test $ac_cv_sys_file_offset_bits = unknown; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
+$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
+if test "${ac_cv_sys_large_files+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  while :; do
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+		       && LARGE_OFF_T % 2147483647 == 1)
+		      ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_sys_large_files=no; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#define _LARGE_FILES 1
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+		       && LARGE_OFF_T % 2147483647 == 1)
+		      ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_sys_large_files=1; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  ac_cv_sys_large_files=unknown
+  break
+done
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
+$as_echo "$ac_cv_sys_large_files" >&6; }
+case $ac_cv_sys_large_files in #(
+  no | unknown) ;;
+  *)
+cat >>confdefs.h <<_ACEOF
+#define _LARGE_FILES $ac_cv_sys_large_files
+_ACEOF
+;;
+esac
+rm -rf conftest*
+  fi
+fi
+
+
+ac_c_preproc_warn_flag=yes
+
+ac_libiberty_warn_cflags=
+save_CFLAGS="$CFLAGS"
+for real_option in -W -Wall -Wwrite-strings -Wc++-compat \
+			  -Wstrict-prototypes; do
+  # Do the check with the no- prefix removed since gcc silently
+  # accepts any -Wno-* option on purpose
+  case $real_option in
+    -Wno-*) option=-W`expr x$real_option : 'x-Wno-\(.*\)'` ;;
+    *) option=$real_option ;;
+  esac
+  as_acx_Woption=`$as_echo "acx_cv_prog_cc_warning_$option" | $as_tr_sh`
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports $option" >&5
+$as_echo_n "checking whether $CC supports $option... " >&6; }
+if { as_var=$as_acx_Woption; eval "test \"\${$as_var+set}\" = set"; }; then :
+  $as_echo_n "(cached) " >&6
+else
+  CFLAGS="$option"
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_acx_Woption=yes"
+else
+  eval "$as_acx_Woption=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+eval ac_res=\$$as_acx_Woption
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  if test `eval 'as_val=${'$as_acx_Woption'};$as_echo "$as_val"'` = yes; then :
+  ac_libiberty_warn_cflags="$ac_libiberty_warn_cflags${ac_libiberty_warn_cflags:+ }$real_option"
+fi
   done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+CFLAGS="$save_CFLAGS"
+
+# Do the check with the no- prefix removed from the warning options
+# since gcc silently accepts any -Wno-* option on purpose
+if test "$GCC" = yes; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -pedantic " >&5
+$as_echo_n "checking whether $CC supports -pedantic ... " >&6; }
+if test "${acx_cv_prog_cc_pedantic_+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  save_CFLAGS="$CFLAGS"
+CFLAGS="-pedantic "
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  acx_cv_prog_cc_pedantic_=yes
+else
+  acx_cv_prog_cc_pedantic_=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+CFLAGS="$save_CFLAGS"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_prog_cc_pedantic_" >&5
+$as_echo "$acx_cv_prog_cc_pedantic_" >&6; }
+if test $acx_cv_prog_cc_pedantic_ = yes; then :
+  ac_libiberty_warn_cflags="$ac_libiberty_warn_cflags${ac_libiberty_warn_cflags:+ }-pedantic "
+fi
+
+fi
+
+
+if test "x$CC" != xcc; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
+$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
+$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
+fi
+set dummy $CC; ac_cc=`$as_echo "$2" |
+		      sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
+if { as_var=ac_cv_prog_cc_${ac_cc}_c_o; eval "test \"\${$as_var+set}\" = set"; }; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+# Make sure it works both with $CC and with simple cc.
+# We do the test twice because some compilers refuse to overwrite an
+# existing .o file with -o, though they will create one.
+ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
+rm -f conftest2.*
+if { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } &&
+   test -f conftest2.$ac_objext && { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; };
+then
+  eval ac_cv_prog_cc_${ac_cc}_c_o=yes
+  if test "x$CC" != xcc; then
+    # Test first that cc exists at all.
+    if { ac_try='cc -c conftest.$ac_ext >&5'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
 esac
-
-      $ac_path_EGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+      ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
+      rm -f conftest2.*
+      if { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } &&
+	 test -f conftest2.$ac_objext && { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; };
+      then
+	# cc works too.
+	:
+      else
+	# cc exists but doesn't like -o.
+	eval ac_cv_prog_cc_${ac_cc}_c_o=no
+      fi
+    fi
   fi
 else
-  ac_cv_path_EGREP=$EGREP
+  eval ac_cv_prog_cc_${ac_cc}_c_o=no
 fi
+rm -f core conftest*
 
-   fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
+if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 
+$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+fi
+
+# autoconf is lame and doesn't give us any substitution variable for this.
+if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = no"; then
+  NO_MINUS_C_MINUS_O=yes
+else
+  OUTPUT_OPTION='-o $@'
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
+$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
+if test "${ac_cv_c_const+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
 
 int
 main ()
 {
+/* FIXME: Include the comments suggested by Paul. */
+#ifndef __cplusplus
+  /* Ultrix mips cc rejects this.  */
+  typedef int charset[2];
+  const charset cs;
+  /* SunOS 4.1.1 cc rejects this.  */
+  char const *const *pcpcc;
+  char **ppc;
+  /* NEC SVR4.0.2 mips cc rejects this.  */
+  struct point {int x, y;};
+  static struct point const zero = {0,0};
+  /* AIX XL C 1.02.0.0 rejects this.
+     It does not let you subtract one const X* pointer from another in
+     an arm of an if-expression whose if-part is not a constant
+     expression */
+  const char *g = "string";
+  pcpcc = &g + (g ? g-g : 0);
+  /* HPUX 7.0 cc rejects these. */
+  ++pcpcc;
+  ppc = (char**) pcpcc;
+  pcpcc = (char const *const *) ppc;
+  { /* SCO 3.2v4 cc rejects this.  */
+    char *t;
+    char const *s = 0 ? (char *) 0 : (char const *) 0;
+
+    *t++ = 0;
+    if (s) return 0;
+  }
+  { /* Someone thinks the Sun supposedly-ANSI compiler will reject this.  */
+    int x[] = {25, 17};
+    const int *foo = &x[0];
+    ++foo;
+  }
+  { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
+    typedef const int *iptr;
+    iptr p = 0;
+    ++p;
+  }
+  { /* AIX XL C 1.02.0.0 rejects this saying
+       "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
+    struct s { int j; const int *ap[3]; };
+    struct s *b; b->j = 5;
+  }
+  { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
+    const int foo = 10;
+    if (!foo) return 0;
+  }
+  return !cs[0] && !zero.x;
+#endif
 
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
+  ac_cv_c_const=yes
 else
-  ac_cv_header_stdc=no
+  ac_cv_c_const=no
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5
+$as_echo "$ac_cv_c_const" >&6; }
+if test $ac_cv_c_const = no; then
 
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
+$as_echo "#define const /**/" >>confdefs.h
 
 fi
 
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
+$as_echo_n "checking for inline... " >&6; }
+if test "${ac_cv_c_inline+set}" = set; then :
+  $as_echo_n "(cached) " >&6
 else
+  ac_cv_c_inline=no
+for ac_kw in inline __inline__ __inline; do
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-		   (('a' <= (c) && (c) <= 'i') \
-		     || ('j' <= (c) && (c) <= 'r') \
-		     || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#ifndef __cplusplus
+typedef int foo_t;
+static $ac_kw foo_t static_foo () {return 0; }
+$ac_kw foo_t foo () {return 0; }
 #endif
 
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-	|| toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
 _ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_c_inline=$ac_kw
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  test "$ac_cv_c_inline" != no && break
+done
 
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
+$as_echo "$ac_cv_c_inline" >&6; }
 
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-		  inttypes.h stdint.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_preproc "$LINENO" "$ac_header" "$as_ac_Header"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+case $ac_cv_c_inline in
+  inline | yes) ;;
+  *)
+    case $ac_cv_c_inline in
+      no) ac_val=;;
+      *) ac_val=$ac_cv_c_inline;;
+    esac
+    cat >>confdefs.h <<_ACEOF
+#ifndef __cplusplus
+#define inline $ac_val
+#endif
 _ACEOF
-
-fi
-done
-
+    ;;
+esac
 
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
 $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
@@ -4885,9 +5067,15 @@ fi
 case "${host}" in
     # PIC is the default on some targets or must not be used.
     *-*-darwin*)
-	# PIC is the default on this platform
-	# Common symbols not allowed in MH_DYLIB files
-	PICFLAG=-fno-common
+	# For darwin, common symbols are not allowed in MH_DYLIB files
+	case "${CFLAGS}" in
+	  # If we are using a compiler supporting mdynamic-no-pic
+	  # and the option has been tested as safe to add, then cancel
+	  # it here, since the code generated is incompatible with shared
+	  # libs.
+	  *-mdynamic-no-pic*) PICFLAG='-fno-common -mno-dynamic-no-pic' ;;
+	  *) PICFLAG=-fno-common ;;
+	esac
 	;;
     alpha*-dec-osf5*)
 	# PIC is the default.
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.20150623/libiberty/configure.ac ./libiberty/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/libiberty/configure.ac	2015-06-23 01:48:34.000000000 +0000
+++ ./libiberty/configure.ac	2015-06-30 01:48:32.000000000 +0000
@@ -155,6 +155,7 @@ AC_MSG_NOTICE([target_header_dir = $targ
 
 GCC_NO_EXECUTABLES
 AC_PROG_CC
+AC_GNU_SOURCE
 AC_SYS_LARGEFILE
 AC_PROG_CPP_WERROR
 
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.20150623/libiberty/cp-demangle.c ./libiberty/cp-demangle.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/libiberty/cp-demangle.c	2015-06-23 01:48:34.000000000 +0000
+++ ./libiberty/cp-demangle.c	2015-06-30 01:48:32.000000000 +0000
@@ -2470,6 +2470,9 @@ cplus_demangle_type (struct d_info *di)
     case 'U':
       d_advance (di, 1);
       ret = d_source_name (di);
+      if (d_peek_char (di) == 'I')
+	ret = d_make_comp (di, DEMANGLE_COMPONENT_TEMPLATE, ret,
+			   d_template_args (di));
       ret = d_make_comp (di, DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL,
 			 cplus_demangle_type (di), ret);
       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.20150623/libiberty/d-demangle.c ./libiberty/d-demangle.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/libiberty/d-demangle.c	2015-06-23 01:48:34.000000000 +0000
+++ ./libiberty/d-demangle.c	2015-06-30 01:48:32.000000000 +0000
@@ -1,5 +1,5 @@
 /* Demangler for the D programming language
-   Copyright 2014 Free Software Foundation, Inc.
+   Copyright 2014, 2015 Free Software Foundation, Inc.
    Written by Iain Buclaw (ibuclaw@gdcproject.org)
 
 This file is part of the libiberty library.
@@ -165,6 +165,21 @@ string_prepend (string *p, const char *s
     }
 }
 
+/* What kinds of symbol we could be parsing.  */
+enum dlang_symbol_kinds
+{
+  /* Top-level symbol, needs it's type checked.  */
+  dlang_top_level,
+  /* Function symbol, needs it's type checked.   */
+  dlang_function,
+  /* Strongly typed name, such as for classes, structs and enums.  */
+  dlang_type_name,
+  /* Template identifier.  */
+  dlang_template_ident,
+  /* Template symbol parameter.  */
+  dlang_template_param
+};
+
 /* Prototypes for forward referenced functions */
 static const char *dlang_function_args (string *, const char *);
 
@@ -172,7 +187,8 @@ static const char *dlang_type (string *,
 
 static const char *dlang_value (string *, const char *, const char *, char);
 
-static const char *dlang_parse_symbol (string *, const char *);
+static const char *dlang_parse_symbol (string *, const char *,
+				       enum dlang_symbol_kinds);
 
 static const char *dlang_parse_tuple (string *, const char *);
 
@@ -185,7 +201,7 @@ static const char *
 dlang_call_convention (string *decl, const char *mangled)
 {
   if (mangled == NULL || *mangled == '\0')
-    return mangled;
+    return NULL;
 
   switch (*mangled)
     {
@@ -215,13 +231,51 @@ dlang_call_convention (string *decl, con
   return mangled;
 }
 
+/* Extract the type modifiers from MANGLED and append them to DECL.
+   Returns the remaining signature on success or NULL on failure.  */
+static const char *
+dlang_type_modifiers (string *decl, const char *mangled)
+{
+  if (mangled == NULL || *mangled == '\0')
+    return NULL;
+
+  switch (*mangled)
+    {
+    case 'x': /* const */
+      mangled++;
+      string_append (decl, " const");
+      return mangled;
+    case 'y': /* immutable */
+      mangled++;
+      string_append (decl, " immutable");
+      return mangled;
+    case 'O': /* shared */
+      mangled++;
+      string_append (decl, " shared");
+      return dlang_type_modifiers (decl, mangled);
+    case 'N':
+      mangled++;
+      if (*mangled == 'g') /* wild */
+	{
+	  mangled++;
+	  string_append (decl, " inout");
+	  return dlang_type_modifiers (decl, mangled);
+	}
+      else
+	return NULL;
+
+    default:
+      return mangled;
+    }
+}
+
 /* Demangle the D function attributes from MANGLED and append it to DECL.
    Return the remaining string on success or NULL on failure.  */
 static const char *
 dlang_attributes (string *decl, const char *mangled)
 {
   if (mangled == NULL || *mangled == '\0')
-    return mangled;
+    return NULL;
 
   while (*mangled == 'N')
     {
@@ -254,8 +308,10 @@ dlang_attributes (string *decl, const ch
 	  continue;
 	case 'g':
 	case 'h':
+	case 'k':
 	  /* inout parameter is represented as 'Ng'.
 	     vector parameter is represented as 'Nh'.
+	     return paramenter is represented as 'Nk'.
 	     If we see this, then we know we're really in the
 	     parameter list.  Rewind and break.  */
 	  mangled--;
@@ -264,6 +320,13 @@ dlang_attributes (string *decl, const ch
 	  mangled++;
 	  string_append (decl, "@nogc ");
 	  continue;
+	case 'j': /* return */
+	  mangled++;
+	  string_append (decl, "return ");
+	  continue;
+
+	default: /* unknown attribute */
+	  return NULL;
 	}
       break;
     }
@@ -280,7 +343,7 @@ dlang_function_type (string *decl, const
   size_t szattr, szargs, sztype;
 
   if (mangled == NULL || *mangled == '\0')
-    return mangled;
+    return NULL;
 
   /* The order of the mangled string is:
 	CallConvention FuncAttrs Arguments ArgClose Type
@@ -353,6 +416,12 @@ dlang_function_args (string *decl, const
 	  string_append (decl, "scope ");
 	}
 
+      if (mangled[0] == 'N' && mangled[1] == 'k') /* return(T) */
+	{
+	  mangled += 2;
+	  string_append (decl, "return ");
+	}
+
       switch (*mangled)
 	{
 	case 'J': /* out(T) */
@@ -380,7 +449,7 @@ static const char *
 dlang_type (string *decl, const char *mangled)
 {
   if (mangled == NULL || *mangled == '\0')
-    return mangled;
+    return NULL;
 
   switch (*mangled)
     {
@@ -474,12 +543,24 @@ dlang_type (string *decl, const char *ma
     case 'E': /* enum T */
     case 'T': /* typedef T */
       mangled++;
-      return dlang_parse_symbol (decl, mangled);
+      return dlang_parse_symbol (decl, mangled, dlang_type_name);
     case 'D': /* delegate T */
+    {
+      string mods;
+      size_t szmods;
       mangled++;
+
+      string_init (&mods);
+      mangled = dlang_type_modifiers (&mods, mangled);
+      szmods = string_length (&mods);
+
       mangled = dlang_function_type (decl, mangled);
       string_append (decl, "delegate");
+      string_appendn (decl, mods.b, szmods);
+
+      string_delete (&mods);
       return mangled;
+    }
     case 'B': /* tuple T */
       mangled++;
       return dlang_parse_tuple (decl, mangled);
@@ -588,6 +669,20 @@ dlang_type (string *decl, const char *ma
       mangled++;
       string_append (decl, "dchar");
       return mangled;
+    case 'z':
+      mangled++;
+      switch (*mangled)
+	{
+	case 'i':
+	  mangled++;
+	  string_append (decl, "cent");
+	  return mangled;
+	case 'k':
+	  mangled++;
+	  string_append (decl, "ucent");
+	  return mangled;
+	}
+      return NULL;
 
     default: /* unhandled */
       return NULL;
@@ -597,97 +692,162 @@ dlang_type (string *decl, const char *ma
 /* Extract the identifier from MANGLED and append it to DECL.
    Return the remaining string on success or NULL on failure.  */
 static const char *
-dlang_identifier (string *decl, const char *mangled)
+dlang_identifier (string *decl, const char *mangled,
+		  enum dlang_symbol_kinds kind)
 {
+  char *endptr;
+  long len;
+
   if (mangled == NULL || *mangled == '\0')
-    return mangled;
+    return NULL;
 
-  if (ISDIGIT (*mangled))
-    {
-      char *endptr;
-      long i = strtol (mangled, &endptr, 10);
+  len = strtol (mangled, &endptr, 10);
+
+  if (endptr == NULL || len <= 0)
+    return NULL;
 
-      if (endptr == NULL || i <= 0 || strlen (endptr) < (size_t) i)
+  /* In template parameter symbols, the first character of the mangled
+     name can be a digit.  This causes ambiguity issues because the
+     digits of the two numbers are adjacent.  */
+  if (kind == dlang_template_param)
+    {
+      long psize = len;
+      char *pend;
+      int saved = string_length (decl);
+
+      /* Work backwards until a match is found.  */
+      for (pend = endptr; endptr != NULL; pend--)
+	{
+	  mangled = pend;
+
+	  /* Reached the beginning of the pointer to the name length,
+	     try parsing the entire symbol.  */
+	  if (psize == 0)
+	    {
+	      psize = len;
+	      pend = endptr;
+	      endptr = NULL;
+	    }
+
+	  /* Check whether template parameter is a function with a valid
+	     return type or an untyped identifier.  */
+	  if (ISDIGIT (*mangled))
+	    mangled = dlang_parse_symbol (decl, mangled, dlang_template_ident);
+	  else if (strncmp (mangled, "_D", 2) == 0)
+	    {
+	      mangled += 2;
+	      mangled = dlang_parse_symbol (decl, mangled, dlang_function);
+	    }
+
+	  /* Check for name length mismatch.  */
+	  if (mangled && (mangled - pend) == psize)
+	    return mangled;
+
+	  psize /= 10;
+	  string_setlength (decl, saved);
+	}
+
+      /* No match on any combinations.  */
+      return NULL;
+    }
+  else
+    {
+      if (strlen (endptr) < (size_t) len)
 	return NULL;
 
       mangled = endptr;
 
       /* May be a template instance.  */
-      if (i >= 5 && strncmp (mangled, "__T", 3) == 0)
+      if (len >= 5 && strncmp (mangled, "__T", 3) == 0)
 	{
 	  /* Template symbol.  */
 	  if (ISDIGIT (mangled[3]) && mangled[3] != '0')
-	    return dlang_parse_template (decl, mangled, i);
+	    return dlang_parse_template (decl, mangled, len);
 
 	  return NULL;
 	}
 
-      if (strncmp (mangled, "__ctor", i) == 0)
-	{
-	  /* Constructor symbol for a class/struct.  */
-	  string_append (decl, "this");
-	  mangled += i;
-	  return mangled;
-	}
-      else if (strncmp (mangled, "__dtor", i) == 0)
-	{
-	  /* Destructor symbol for a class/struct.  */
-	  string_append (decl, "~this");
-	  mangled += i;
-	  return mangled;
-	}
-      else if (strncmp (mangled, "__postblit", i) == 0)
+      switch (len)
 	{
-	  /* Postblit symbol for a struct.  */
-	  string_append (decl, "this(this)");
-	  mangled += i;
-	  return mangled;
-	}
-      else if (strncmp (mangled, "__initZ", i+1) == 0)
-	{
-	  /* The static initialiser for a given symbol.  */
-	  string_append (decl, "init$");
-	  mangled += i + 1;
-	  return mangled;
-	}
-      else if (strncmp (mangled, "__ClassZ", i+1) == 0)
-	{
-	  /* The classinfo symbol for a given class.  */
-	  string_prepend (decl, "ClassInfo for ");
-	  string_setlength (decl, string_length (decl) - 1);
-	  mangled += i + 1;
-	  return mangled;
-	}
-      else if (strncmp (mangled, "__vtblZ", i+1) == 0)
-	{
-	  /* The vtable symbol for a given class.  */
-	  string_prepend (decl, "vtable for ");
-	  string_setlength (decl, string_length (decl) - 1);
-	  mangled += i + 1;
-	  return mangled;
-	}
-      else if (strncmp (mangled, "__InterfaceZ", i+1) == 0)
-	{
-	  /* The interface symbol for a given class.  */
-	  string_prepend (decl, "Interface for ");
-	  string_setlength (decl, string_length (decl) - 1);
-	  mangled += i + 1;
-	  return mangled;
-	}
-      else if (strncmp (mangled, "__ModuleInfoZ", i+1) == 0)
-	{
-	  /* The ModuleInfo symbol for a given module.  */
-	  string_prepend (decl, "ModuleInfo for ");
-	  string_setlength (decl, string_length (decl) - 1);
-	  mangled += i + 1;
-	  return mangled;
+	case 6:
+	  if (strncmp (mangled, "__ctor", len) == 0)
+	    {
+	      /* Constructor symbol for a class/struct.  */
+	      string_append (decl, "this");
+	      mangled += len;
+	      return mangled;
+	    }
+	  else if (strncmp (mangled, "__dtor", len) == 0)
+	    {
+	      /* Destructor symbol for a class/struct.  */
+	      string_append (decl, "~this");
+	      mangled += len;
+	      return mangled;
+	    }
+	  else if (strncmp (mangled, "__initZ", len+1) == 0)
+	    {
+	      /* The static initialiser for a given symbol.  */
+	      string_append (decl, "init$");
+	      mangled += len;
+	      return mangled;
+	    }
+	  else if (strncmp (mangled, "__vtblZ", len+1) == 0)
+	    {
+	      /* The vtable symbol for a given class.  */
+	      string_prepend (decl, "vtable for ");
+	      string_setlength (decl, string_length (decl) - 1);
+	      mangled += len;
+	      return mangled;
+	    }
+	  break;
+
+	case 7:
+	  if (strncmp (mangled, "__ClassZ", len+1) == 0)
+	    {
+	      /* The classinfo symbol for a given class.  */
+	      string_prepend (decl, "ClassInfo for ");
+	      string_setlength (decl, string_length (decl) - 1);
+	      mangled += len;
+	      return mangled;
+	    }
+	  break;
+
+	case 10:
+	  if (strncmp (mangled, "__postblitMFZ", len+3) == 0)
+	    {
+	      /* Postblit symbol for a struct.  */
+	      string_append (decl, "this(this)");
+	      mangled += len + 3;
+	      return mangled;
+	    }
+	  break;
+
+	case 11:
+	  if (strncmp (mangled, "__InterfaceZ", len+1) == 0)
+	    {
+	      /* The interface symbol for a given class.  */
+	      string_prepend (decl, "Interface for ");
+	      string_setlength (decl, string_length (decl) - 1);
+	      mangled += len;
+	      return mangled;
+	    }
+	  break;
+
+	case 12:
+	  if (strncmp (mangled, "__ModuleInfoZ", len+1) == 0)
+	    {
+	      /* The ModuleInfo symbol for a given module.  */
+	      string_prepend (decl, "ModuleInfo for ");
+	      string_setlength (decl, string_length (decl) - 1);
+	      mangled += len;
+	      return mangled;
+	    }
+	  break;
 	}
 
-      string_appendn (decl, mangled, i);
-      mangled += i;
+      string_appendn (decl, mangled, len);
+      mangled += len;
     }
-  else
-    return NULL;
 
   return mangled;
 }
@@ -931,7 +1091,38 @@ dlang_parse_string (string *decl, const 
 	  char a = ascii2hex (mangled[0]);
 	  char b = ascii2hex (mangled[1]);
 	  char val = (a << 4) | b;
-	  string_appendn (decl, &val, 1);
+
+	  /* Sanitize white and non-printable characters.  */
+	  switch (val)
+	    {
+	    case ' ':
+	      string_append (decl, " ");
+	      break;
+	    case '\t':
+	      string_append (decl, "\\t");
+	      break;
+	    case '\n':
+	      string_append (decl, "\\n");
+	      break;
+	    case '\r':
+	      string_append (decl, "\\r");
+	      break;
+	    case '\f':
+	      string_append (decl, "\\f");
+	      break;
+	    case '\v':
+	      string_append (decl, "\\v");
+	      break;
+
+	    default:
+	      if (ISPRINT (val))
+		string_appendn (decl, &val, 1);
+	      else
+		{
+		  string_append (decl, "\\x");
+		  string_appendn (decl, mangled, 2);
+		}
+	    }
 	}
       else
 	return NULL;
@@ -1030,7 +1221,7 @@ static const char *
 dlang_value (string *decl, const char *mangled, const char *name, char type)
 {
   if (mangled == NULL || *mangled == '\0')
-    return mangled;
+    return NULL;
 
   switch (*mangled)
     {
@@ -1104,10 +1295,48 @@ dlang_value (string *decl, const char *m
   return mangled;
 }
 
+/* Extract the type modifiers from MANGLED and return the string
+   length that it consumes in MANGLED on success or 0 on failure.  */
+static int
+dlang_type_modifier_p (const char *mangled)
+{
+  int i;
+
+  switch (*mangled)
+    {
+    case 'x': case 'y':
+      return 1;
+
+    case 'O':
+      mangled++;
+      i = dlang_type_modifier_p (mangled);
+      return i + 1;
+
+    case 'N':
+      mangled++;
+      if (*mangled == 'g')
+	{
+	  mangled++;
+	  i = dlang_type_modifier_p (mangled);
+	  return i + 2;
+	}
+    }
+
+  return 0;
+}
+
+/* Extract the function calling convention from MANGLED and
+   return 1 on success or 0 on failure.  */
 static int
 dlang_call_convention_p (const char *mangled)
 {
-  size_t i;
+  /* Prefix for functions needing 'this' */
+  if (*mangled == 'M')
+    {
+      mangled++;
+      /* Also skip over any type modifiers.  */
+      mangled += dlang_type_modifier_p (mangled);
+    }
 
   switch (*mangled)
     {
@@ -1115,18 +1344,6 @@ dlang_call_convention_p (const char *man
     case 'W': case 'R':
       return 1;
 
-    case 'M': /* Prefix for functions needing 'this' */
-      i = 1;
-      if (mangled[i] == 'x')
-	i++;
-
-      switch (mangled[i])
-	{
-	case 'F': case 'U': case 'V':
-	case 'W': case 'R':
-	  return 1;
-	}
-
     default:
       return 0;
     }
@@ -1135,23 +1352,41 @@ dlang_call_convention_p (const char *man
 /* Extract and demangle the symbol in MANGLED and append it to DECL.
    Returns the remaining signature on success or NULL on failure.  */
 static const char *
-dlang_parse_symbol (string *decl, const char *mangled)
+dlang_parse_symbol (string *decl, const char *mangled,
+		    enum dlang_symbol_kinds kind)
 {
+  int saved;
   size_t n = 0;
   do
     {
       if (n++)
 	string_append (decl, ".");
 
-      mangled = dlang_identifier (decl, mangled);
+      mangled = dlang_identifier (decl, mangled, kind);
 
       if (mangled && dlang_call_convention_p (mangled))
 	{
-	  int saved;
+	  string mods;
+	  const char *start = NULL;
+	  int checkpoint = 0;
 
 	  /* Skip over 'this' parameter.  */
 	  if (*mangled == 'M')
-	    mangled += (mangled[1] == 'x') ? 2 : 1;
+	    mangled++;
+
+	  /* We have reached here because we expect an extern(Pascal) function.
+	     However this is so rare, that it is more likely a template value
+	     parameter.  Since this can't be assumed, first attempt parsing
+	     the symbol as a function, and then back out on failure.  */
+	  if (*mangled == 'V')
+	    {
+	      start = mangled;
+	      checkpoint = string_length (decl);
+	    }
+
+	  /* Save the type modifiers for appending at the end.  */
+	  string_init (&mods);
+	  mangled = dlang_type_modifiers (&mods, mangled);
 
 	  /* Skip over calling convention and attributes in qualified name.  */
 	  saved = string_length (decl);
@@ -1163,17 +1398,41 @@ dlang_parse_symbol (string *decl, const 
 	  mangled = dlang_function_args (decl, mangled);
 	  string_append (decl, ")");
 
-	  /* Demangle the function return type as a kind of sanity test.  */
-	  if (mangled && !ISDIGIT (*mangled))
+	  /* Add any const/immutable/shared modifier. */
+	  string_appendn (decl, mods.b, string_length (&mods));
+	  string_delete (&mods);
+
+	  if (mangled == NULL && checkpoint != 0)
 	    {
-	      saved = string_length (decl);
-	      mangled = dlang_type (decl, mangled);
-	      string_setlength (decl, saved);
+	      mangled = start;
+	      string_setlength (decl, checkpoint);
 	    }
 	}
     }
   while (mangled && ISDIGIT (*mangled));
 
+  /* Only top-level symbols or function template parameters have
+     a type that needs checking.  */
+  if (kind == dlang_top_level || kind == dlang_function)
+    {
+      /* Artificial symbols end with 'Z' and have no type.  */
+      if (mangled && *mangled == 'Z')
+	mangled++;
+      else
+	{
+	  saved = string_length (decl);
+	  mangled = dlang_type (decl, mangled);
+	  string_setlength (decl, saved);
+	}
+
+      /* Check that the entire symbol was successfully demangled.  */
+      if (kind == dlang_top_level)
+	{
+	  if (mangled == NULL || *mangled != '\0')
+	    return NULL;
+	}
+    }
+
   return mangled;
 }
 
@@ -1221,11 +1480,15 @@ dlang_template_args (string *decl, const
       if (n++)
 	string_append (decl, ", ");
 
+      /* Skip over specialised template prefix.  */
+      if (*mangled == 'H')
+	mangled++;
+
       switch (*mangled)
 	{
 	case 'S': /* Symbol parameter.  */
 	  mangled++;
-	  mangled = dlang_parse_symbol (decl, mangled);
+	  mangled = dlang_parse_symbol (decl, mangled, dlang_template_param);
 	  break;
 	case 'T': /* Type parameter.  */
 	  mangled++;
@@ -1283,7 +1546,7 @@ dlang_parse_template (string *decl, cons
   mangled += 3;
 
   /* Template identifier.  */
-  mangled = dlang_identifier (decl, mangled);
+  mangled = dlang_identifier (decl, mangled, dlang_template_ident);
 
   /* Template arguments.  */
   string_append (decl, "!(");
@@ -1322,7 +1585,7 @@ dlang_demangle (const char *mangled, int
     {
       mangled += 2;
 
-      if (dlang_parse_symbol (&decl, mangled) == NULL)
+      if (dlang_parse_symbol (&decl, mangled, dlang_top_level) == NULL)
 	string_delete (&decl);
     }
 
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.20150623/libiberty/floatformat.c ./libiberty/floatformat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/libiberty/floatformat.c	2015-06-23 01:48:34.000000000 +0000
+++ ./libiberty/floatformat.c	2015-06-30 01:48:32.000000000 +0000
@@ -1,5 +1,5 @@
 /* IEEE floating point support routines, for GDB, the GNU Debugger.
-   Copyright 1991, 1994, 1999, 2000, 2003, 2005, 2006, 2010, 2012
+   Copyright 1991, 1994, 1999, 2000, 2003, 2005, 2006, 2010, 2012, 2015
    Free Software Foundation, Inc.
 
 This file is part of GDB.
@@ -19,7 +19,9 @@ along with this program; if not, write t
 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
 
 /* This is needed to pick up the NAN macro on some systems.  */
+#ifndef _GNU_SOURCE
 #define _GNU_SOURCE
+#endif
 
 #ifdef HAVE_CONFIG_H
 #include "config.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.20150623/libiberty/Makefile.in ./libiberty/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/libiberty/Makefile.in	2015-06-23 01:48:34.000000000 +0000
+++ ./libiberty/Makefile.in	2015-06-30 01:48:32.000000000 +0000
@@ -3,7 +3,7 @@
 #
 # Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
 # 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
-# 2012, 2014 Free Software Foundation
+# 2012, 2014, 2015 Free Software Foundation
 #
 # This file is part of the libiberty library.
 # Libiberty is free software; you can redistribute it and/or
@@ -113,7 +113,8 @@ installcheck: installcheck-subdir
 
 INCDIR=$(srcdir)/$(MULTISRCTOP)../include
 
-COMPILE.c = $(CC) -c @DEFS@ $(CFLAGS) $(CPPFLAGS) -I. -I$(INCDIR) $(HDEFINES) @ac_libiberty_warn_cflags@
+COMPILE.c = $(CC) -c @DEFS@ $(CFLAGS) $(CPPFLAGS) -I. -I$(INCDIR) \
+               $(HDEFINES) @ac_libiberty_warn_cflags@ -D_GNU_SOURCE
 
 # Just to make sure we don't use a built-in rule with VPATH
 .c.$(objext):
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.20150623/libiberty/testsuite/d-demangle-expected ./libiberty/testsuite/d-demangle-expected
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/libiberty/testsuite/d-demangle-expected	2015-06-23 01:48:34.000000000 +0000
+++ ./libiberty/testsuite/d-demangle-expected	2015-06-30 01:48:32.000000000 +0000
@@ -114,6 +114,14 @@ _D8demangle4testFwZv
 demangle.test(dchar)
 #
 --format=dlang
+_D8demangle4testFziZv
+demangle.test(cent)
+#
+--format=dlang
+_D8demangle4testFzkZv
+demangle.test(ucent)
+#
+--format=dlang
 _D8demangle4testFOaZv
 demangle.test(shared(char))
 #
@@ -314,6 +322,14 @@ _D8demangle4testFMaZv
 demangle.test(scope char)
 #
 --format=dlang
+_D8demangle4testFNjaZv
+demangle.test(char)
+#
+--format=dlang
+_D8demangle4testFNkaZv
+demangle.test(return char)
+#
+--format=dlang
 _D8demangle4testFaXv
 demangle.test(char...)
 #
@@ -434,6 +450,22 @@ _D8demangle4testFDFNdNfNaZaZv
 demangle.test(char() @property @safe pure delegate)
 #
 --format=dlang
+_D8demangle4testFNjDFZaZv
+demangle.test(char() delegate)
+#
+--format=dlang
+_D8demangle4testFNkDFZaZv
+demangle.test(return char() delegate)
+#
+--format=dlang
+_D8demangle4testFDFNjZaZv
+demangle.test(char() return delegate)
+#
+--format=dlang
+_D8demangle4testFNjNkDFNjZaZv
+demangle.test(return char() return delegate)
+#
+--format=dlang
 _D8demangle4testFFNaZaZv
 demangle.test(char() pure function)
 #
@@ -474,6 +506,22 @@ _D8demangle4testFFNdNfNaZaZv
 demangle.test(char() @property @safe pure function)
 #
 --format=dlang
+_D8demangle4testFNjFZaZv
+demangle.test(char() function)
+#
+--format=dlang
+_D8demangle4testFNkFZaZv
+demangle.test(return char() function)
+#
+--format=dlang
+_D8demangle4testFFNjZaZv
+demangle.test(char() return function)
+#
+--format=dlang
+_D8demangle4testFNjNkFNjZaZv
+demangle.test(return char() return function)
+#
+--format=dlang
 _D8demangle4test6__initZ
 demangle.test.init$
 #
@@ -502,7 +550,7 @@ _D8demangle4test6__dtorMFZv
 demangle.test.~this()
 #
 --format=dlang
-_D8demangle4test6__postblitMFZv
+_D8demangle4test10__postblitMFZv
 demangle.test.this(this)
 #
 --format=dlang
@@ -566,12 +614,12 @@ _D8demangle17__T4testS6symbolZv
 demangle.test!(symbol)
 #
 --format=dlang
-_D8demangle21__T4testS6symbol3fooZv
+_D8demangle23__T4testS116symbol3fooZv
 demangle.test!(symbol.foo)
 #
 --format=dlang
-_D8demangle25__T4testS6symbol3foo3barZv
-demangle.test!(symbol.foo.bar)
+_D8demangle32__T4testS20_D6symbol3foo3barFZvZv
+demangle.test!(symbol.foo.bar())
 #
 --format=dlang
 _D8demangle19__T4testTaS6symbolZv
@@ -582,6 +630,10 @@ _D8demangle19__T4testS6symbolTaZv
 demangle.test!(symbol, char)
 #
 --format=dlang
+_D8demangle12__T4testHTaZv
+demangle.test!(char)
+#
+--format=dlang
 _D8demangle13__T4testVPinZv
 demangle.test!(null)
 #
@@ -753,6 +805,70 @@ demangle.test!(demangle.S(1, 2))
 _D8demangle35__T4testVS8demangle1SS2i1a3_616263Zv
 demangle.test!(demangle.S(1, "abc"))
 #
+--format=dlang
+_D8demangle4testMxFZv
+demangle.test() const
+#
+--format=dlang
+_D8demangle4testMyFZv
+demangle.test() immutable
+#
+--format=dlang
+_D8demangle4testMNgFZv
+demangle.test() inout
+#
+--format=dlang
+_D8demangle4testMNgxFZv
+demangle.test() inout const
+#
+--format=dlang
+_D8demangle4testMOFZv
+demangle.test() shared
+#
+--format=dlang
+_D8demangle4testMOxFZv
+demangle.test() shared const
+#
+--format=dlang
+_D8demangle4testMONgFZv
+demangle.test() shared inout
+#
+--format=dlang
+_D8demangle4testMONgxFZv
+demangle.test() shared inout const
+#
+--format=dlang
+_D8demangle4testFDxFZaZv
+demangle.test(char() delegate const)
+#
+--format=dlang
+_D8demangle4testFDyFZaZv
+demangle.test(char() delegate immutable)
+#
+--format=dlang
+_D8demangle4testFDNgFZaZv
+demangle.test(char() delegate inout)
+#
+--format=dlang
+_D8demangle4testFDNgxFZaZv
+demangle.test(char() delegate inout const)
+#
+--format=dlang
+_D8demangle4testFDOFZaZv
+demangle.test(char() delegate shared)
+#
+--format=dlang
+_D8demangle4testFDOxFZaZv
+demangle.test(char() delegate shared const)
+#
+--format=dlang
+_D8demangle4testFDONgFZaZv
+demangle.test(char() delegate shared inout)
+#
+--format=dlang
+_D8demangle4testFDONgxFZaZv
+demangle.test(char() delegate shared inout const)
+#
 # Unittests
 #
 --format=dlang
@@ -816,19 +932,19 @@ _D6plugin8generateFiiZAOa
 plugin.generate(int, int)
 #
 --format=dlang
-_D8demangle3fnAFZv3fnBMFZv
+_D8demangle3fnAFZ3fnBMFZv
 demangle.fnA().fnB()
 #
 --format=dlang
-_D8demangle4mainFZv1S3fnCFZv
+_D8demangle4mainFZ1S3fnCMFZv
 demangle.main().S.fnC()
 #
 --format=dlang
-_D8demangle4mainFZv1S3fnDMFZv
+_D8demangle4mainFZ1S3fnDMFZv
 demangle.main().S.fnD()
 #
 --format=dlang
-_D8demangle4mainFZv5localMFZi
+_D8demangle4mainFZ5localMFZi
 demangle.main().local()
 #
 --format=dlang
@@ -872,7 +988,7 @@ _D6object14TypeInfo_Array8argTypesMFNbNf
 object.TypeInfo_Array.argTypes(out TypeInfo, out TypeInfo)
 #
 --format=dlang
-_D2rt6dmain211_d_run_mainUiPPaPUAAaZiZi7tryExecMFMDFZvZv
+_D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ7tryExecMFMDFZvZv
 rt.dmain2._d_run_main(int, char**, extern(C) int(char[][]) function*).tryExec(scope void() delegate)
 #
 --format=dlang
@@ -928,9 +1044,37 @@ _D2gc11gctemplates56__T8mkBitmapTS3std5r
 gc.gctemplates.mkBitmap!(std.range.iota!(int, int).iota(int, int).Result).mkBitmap(ulong*, ulong)
 #
 --format=dlang
-_D8serenity9persister6Sqlite70__T15SqlitePersisterTS8serenity9persister6Sqlite11__unittest6FZv4TestZ15SqlitePersister12__T7opIndexZ7opIndexMFmZS8serenity9persister6Sqlite11__unittest6FZv4Test
+_D8serenity9persister6Sqlite69__T15SqlitePersisterTS8serenity9persister6Sqlite11__unittest6FZ4TestZ15SqlitePersister12__T7opIndexZ7opIndexMFmZS8serenity9persister6Sqlite11__unittest6FZ4Test
 serenity.persister.Sqlite.SqlitePersister!(serenity.persister.Sqlite.__unittest6().Test).SqlitePersister.opIndex!().opIndex(ulong)
 #
 --format=dlang
-_D4test4mainFZv5localMFZi
-test.main().local()
+_D3std6socket12InternetHost221__T13getHostNoSyncVAyaa96_0a09202020206175746f2078203d2068746f6e6c28706172616d293b0a09202020206175746f206865203d20676574686f73746279616464722826782c20342c206361737428696e74294164647265737346616d696c792e494e4554293b0a09TkZ13getHostNoSyncMFkZb
+std.socket.InternetHost.getHostNoSync!("\n\t    auto x = htonl(param);\n\t    auto he = gethostbyaddr(&x, 4, cast(int)AddressFamily.INET);\n\t", uint).getHostNoSync(uint)
+#
+--format=dlang
+_D2gc6config13__T5parseHTfZ5parseFNbNiAxaKAxaKfZb
+gc.config.parse!(float).parse(const(char)[], ref const(char)[], ref float)
+#
+--format=dlang
+_D3std11parallelism273__T4TaskS213std11parallelism3runTDFS3std9algorithm87__T9MapResultS27_D4test4mainFZ7getTermMFiZeTS3std5range13__T4iotaTiTiZ4iotaFiiZ6ResultZ9MapResultmmZeTS3std9algorithm87__T9MapResultS27_D4test4mainFZ7getTermMFiZeTS3std5range13__T4iotaTiTiZ4iotaFiiZ6ResultZ9MapResultTmTmZ4Task4implFPvZv
+std.parallelism.Task!(std.parallelism.run, real(std.algorithm.MapResult!(test.main().getTerm(int), std.range.iota!(int, int).iota(int, int).Result).MapResult, ulong, ulong) delegate, std.algorithm.MapResult!(test.main().getTerm(int), std.range.iota!(int, int).iota(int, int).Result).MapResult, ulong, ulong).Task.impl(void*)
+#
+--format=dlang
+_D2rt5minfo16__unittestL518_6FZ12UTModuleInfo6__ctorMFNckZS2rt5minfo16__unittestL518_6FZ12UTModuleInfo
+rt.minfo.__unittestL518_6().UTModuleInfo.this(uint)
+#
+--format=dlang
+_D3std6traits37__T7fqnTypeTC6ObjectVbi0Vbi0Vbi0Vbi0Z13addQualifiersFAyabbbbZAya
+std.traits.fqnType!(Object, false, false, false, false).addQualifiers(immutable(char)[], bool, bool, bool, bool)
+#
+--format=dlang
+_D3std9algorithm117__T9MapResultS153std5range4onlyTS3std9algorithm53__T12FilterResultS28_D3std3uni7isUpperFNaNbNfwZbTAyaZ12FilterResultZ9MapResult5frontMFNaNdNfZS3std5range22__T10OnlyResultTwVmi1Z10OnlyResult
+std.algorithm.MapResult!(std.range.only, std.algorithm.FilterResult!(std.uni.isUpper(dchar), immutable(char)[]).FilterResult).MapResult.front()
+#
+--format=dlang
+_D3std6traits17__T6fqnSymS43stdZ11adjustIdentFAyaZAya
+std.traits.fqnSym!(std).adjustIdent(immutable(char)[])
+#
+--format=dlang
+_D2rt8lifetime36__T14_d_newarrayOpTS13_d_newarrayiTZ14_d_newarrayOpTFNaNbxC8TypeInfomPmZAv
+rt.lifetime._d_newarrayOpT!(_d_newarrayiT)._d_newarrayOpT(const(TypeInfo), ulong, ulong*)
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.20150623/libiberty/testsuite/demangle-expected ./libiberty/testsuite/demangle-expected
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/libiberty/testsuite/demangle-expected	2015-06-23 01:48:34.000000000 +0000
+++ ./libiberty/testsuite/demangle-expected	2015-06-30 01:48:32.000000000 +0000
@@ -4356,3 +4356,6 @@ _QueueNotification_QueueController__$4PP
 --format=gnu-v3
 _Z1fSsB3fooS_
 f(std::string[abi:foo], std::string[abi:foo])
+--format=gnu-v3
+_Z18IndirectExternCallIPU7stdcallU7regparmILi3EEFviiEiEvT_T0_S3_
+void IndirectExternCall<void ( regparm<3> stdcall*)(int, int), int>(void ( regparm<3> stdcall*)(int, int), int, void ( regparm<3> stdcall*)(int, int))
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.20150623/libiberty/testsuite/Makefile.in ./libiberty/testsuite/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/libiberty/testsuite/Makefile.in	2015-06-23 01:48:34.000000000 +0000
+++ ./libiberty/testsuite/Makefile.in	2015-06-30 01:48:32.000000000 +0000
@@ -33,7 +33,7 @@ SHELL = @SHELL@
 
 CC = @CC@
 CFLAGS = @CFLAGS@
-LIBCFLAGS = $(CFLAGS)
+LIBCFLAGS = $(CFLAGS) $(LDFLAGS)
 
 # Multilib support variables.
 MULTISRCTOP =
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.20150623/Makefile.in ./Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/Makefile.in	2015-06-23 01:48:35.000000000 +0000
+++ ./Makefile.in	2015-06-30 01:48:33.000000000 +0000
@@ -833,6 +833,14 @@ POSTSTAGE1_FLAGS_TO_PASS = \
 	$(LTO_FLAGS_TO_PASS) \
 	"`echo 'ADAFLAGS=$(BOOT_ADAFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"
 
+@if gcc-bootstrap
+EXTRA_HOST_EXPORTS = if [ $(current_stage) != stage1 ]; then \
+		       $(POSTSTAGE1_HOST_EXPORTS) \
+		     fi ;
+
+EXTRA_BOOTSTRAP_FLAGS = CC="$$CC" CXX="$$CXX" LDFLAGS="$$LDFLAGS"
+@endif gcc-bootstrap
+
 # Flags to pass down to makes which are built with the target environment.
 # The double $ decreases the length of the command line; those variables
 # are set in BASE_FLAGS_TO_PASS, and the sub-make will expand them.  The
@@ -3651,9 +3659,9 @@ check-bfd:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
 	(cd $(HOST_SUBDIR)/bfd && \
-	  $(MAKE) $(FLAGS_TO_PASS)  check)
+	  $(MAKE) $(FLAGS_TO_PASS)  $(EXTRA_BOOTSTRAP_FLAGS) check)
 
 @endif bfd
 
@@ -4525,9 +4533,9 @@ check-opcodes:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
 	(cd $(HOST_SUBDIR)/opcodes && \
-	  $(MAKE) $(FLAGS_TO_PASS)  check)
+	  $(MAKE) $(FLAGS_TO_PASS)  $(EXTRA_BOOTSTRAP_FLAGS) check)
 
 @endif opcodes
 
@@ -5399,9 +5407,9 @@ check-binutils:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
 	(cd $(HOST_SUBDIR)/binutils && \
-	  $(MAKE) $(FLAGS_TO_PASS)  check)
+	  $(MAKE) $(FLAGS_TO_PASS)  $(EXTRA_BOOTSTRAP_FLAGS) check)
 
 @endif binutils
 
@@ -5829,9 +5837,9 @@ check-bison:
 	@if [ '$(host)' = '$(target)' ] ; then \
 	  r=`${PWD_COMMAND}`; export r; \
 	  s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	  $(HOST_EXPORTS) \
+	  $(HOST_EXPORTS)  \
 	  (cd $(HOST_SUBDIR)/bison && \
-	    $(MAKE) $(FLAGS_TO_PASS)  check); \
+	    $(MAKE) $(FLAGS_TO_PASS)  check)
 	fi
 
 @endif bison
@@ -6271,7 +6279,7 @@ check-cgen:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS)  \
 	(cd $(HOST_SUBDIR)/cgen && \
 	  $(MAKE) $(FLAGS_TO_PASS)  check)
 
@@ -6712,7 +6720,7 @@ check-dejagnu:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS)  \
 	(cd $(HOST_SUBDIR)/dejagnu && \
 	  $(MAKE) $(FLAGS_TO_PASS)  check)
 
@@ -7153,7 +7161,7 @@ check-etc:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS)  \
 	(cd $(HOST_SUBDIR)/etc && \
 	  $(MAKE) $(FLAGS_TO_PASS)  check)
 
@@ -7596,9 +7604,9 @@ check-fastjar:
 	@if [ '$(host)' = '$(target)' ] ; then \
 	  r=`${PWD_COMMAND}`; export r; \
 	  s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	  $(HOST_EXPORTS) \
+	  $(HOST_EXPORTS)  \
 	  (cd $(HOST_SUBDIR)/fastjar && \
-	    $(MAKE) $(FLAGS_TO_PASS)  check); \
+	    $(MAKE) $(FLAGS_TO_PASS)  check)
 	fi
 
 @endif fastjar
@@ -8484,9 +8492,9 @@ check-fixincludes:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
 	(cd $(HOST_SUBDIR)/fixincludes && \
-	  $(MAKE) $(FLAGS_TO_PASS)  check)
+	  $(MAKE) $(FLAGS_TO_PASS)  $(EXTRA_BOOTSTRAP_FLAGS) check)
 
 @endif fixincludes
 
@@ -8899,9 +8907,9 @@ check-flex:
 	@if [ '$(host)' = '$(target)' ] ; then \
 	  r=`${PWD_COMMAND}`; export r; \
 	  s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	  $(HOST_EXPORTS) \
+	  $(HOST_EXPORTS)  \
 	  (cd $(HOST_SUBDIR)/flex && \
-	    $(MAKE) $(FLAGS_TO_PASS)  check); \
+	    $(MAKE) $(FLAGS_TO_PASS)  check)
 	fi
 
 @endif flex
@@ -9787,9 +9795,9 @@ check-gas:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
 	(cd $(HOST_SUBDIR)/gas && \
-	  $(MAKE) $(FLAGS_TO_PASS)  check)
+	  $(MAKE) $(FLAGS_TO_PASS)  $(EXTRA_BOOTSTRAP_FLAGS) check)
 
 @endif gas
 
@@ -10661,9 +10669,9 @@ check-gcc:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
 	(cd $(HOST_SUBDIR)/gcc && \
-	  $(MAKE) $(FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) check)
+	  $(MAKE) $(FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) $(EXTRA_BOOTSTRAP_FLAGS) check)
 
 @endif gcc
 
@@ -11541,9 +11549,9 @@ check-gmp:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
 	(cd $(HOST_SUBDIR)/gmp && \
-	  $(MAKE) $(FLAGS_TO_PASS)  check)
+	  $(MAKE) $(FLAGS_TO_PASS)  $(EXTRA_BOOTSTRAP_FLAGS) check)
 
 @endif gmp
 
@@ -12409,9 +12417,9 @@ check-mpfr:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
 	(cd $(HOST_SUBDIR)/mpfr && \
-	  $(MAKE) $(FLAGS_TO_PASS)  check)
+	  $(MAKE) $(FLAGS_TO_PASS)  $(EXTRA_BOOTSTRAP_FLAGS) check)
 
 @endif mpfr
 
@@ -13277,9 +13285,9 @@ check-mpc:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
 	(cd $(HOST_SUBDIR)/mpc && \
-	  $(MAKE) $(FLAGS_TO_PASS)  check)
+	  $(MAKE) $(FLAGS_TO_PASS)  $(EXTRA_BOOTSTRAP_FLAGS) check)
 
 @endif mpc
 
@@ -14145,9 +14153,9 @@ check-isl:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
 	(cd $(HOST_SUBDIR)/isl && \
-	  $(MAKE) $(FLAGS_TO_PASS) V=1 check)
+	  $(MAKE) $(FLAGS_TO_PASS) V=1 $(EXTRA_BOOTSTRAP_FLAGS) check)
 
 @endif isl
 
@@ -15013,9 +15021,9 @@ check-libelf:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
 	(cd $(HOST_SUBDIR)/libelf && \
-	  $(MAKE) $(FLAGS_TO_PASS)  check)
+	  $(MAKE) $(FLAGS_TO_PASS)  $(EXTRA_BOOTSTRAP_FLAGS) check)
 
 @endif libelf
 
@@ -15875,9 +15883,9 @@ check-gold:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
 	(cd $(HOST_SUBDIR)/gold && \
-	  $(MAKE) $(FLAGS_TO_PASS)  check)
+	  $(MAKE) $(FLAGS_TO_PASS)  $(EXTRA_BOOTSTRAP_FLAGS) check)
 
 @endif gold
 
@@ -16303,7 +16311,7 @@ check-gprof:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS)  \
 	(cd $(HOST_SUBDIR)/gprof && \
 	  $(MAKE) $(FLAGS_TO_PASS)  check)
 
@@ -17190,9 +17198,9 @@ check-intl:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
 	(cd $(HOST_SUBDIR)/intl && \
-	  $(MAKE) $(FLAGS_TO_PASS)  check)
+	  $(MAKE) $(FLAGS_TO_PASS)  $(EXTRA_BOOTSTRAP_FLAGS) check)
 
 @endif intl
 
@@ -17618,7 +17626,7 @@ check-tcl:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS)  \
 	(cd $(HOST_SUBDIR)/tcl && \
 	  $(MAKE) $(FLAGS_TO_PASS)  check)
 
@@ -18044,7 +18052,7 @@ check-itcl:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS)  \
 	(cd $(HOST_SUBDIR)/itcl && \
 	  $(MAKE) $(FLAGS_TO_PASS)  check)
 
@@ -18931,9 +18939,9 @@ check-ld:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
 	(cd $(HOST_SUBDIR)/ld && \
-	  $(MAKE) $(FLAGS_TO_PASS)  check)
+	  $(MAKE) $(FLAGS_TO_PASS)  $(EXTRA_BOOTSTRAP_FLAGS) check)
 
 @endif ld
 
@@ -19805,9 +19813,9 @@ check-libbacktrace:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
 	(cd $(HOST_SUBDIR)/libbacktrace && \
-	  $(MAKE) $(FLAGS_TO_PASS)  check)
+	  $(MAKE) $(FLAGS_TO_PASS)  $(EXTRA_BOOTSTRAP_FLAGS) check)
 
 @endif libbacktrace
 
@@ -20679,9 +20687,9 @@ check-libcpp:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
 	(cd $(HOST_SUBDIR)/libcpp && \
-	  $(MAKE) $(FLAGS_TO_PASS)  check)
+	  $(MAKE) $(FLAGS_TO_PASS)  $(EXTRA_BOOTSTRAP_FLAGS) check)
 
 @endif libcpp
 
@@ -21553,9 +21561,9 @@ check-libdecnumber:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
 	(cd $(HOST_SUBDIR)/libdecnumber && \
-	  $(MAKE) $(FLAGS_TO_PASS)  check)
+	  $(MAKE) $(FLAGS_TO_PASS)  $(EXTRA_BOOTSTRAP_FLAGS) check)
 
 @endif libdecnumber
 
@@ -21981,7 +21989,7 @@ check-libgui:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS)  \
 	(cd $(HOST_SUBDIR)/libgui && \
 	  $(MAKE) $(FLAGS_TO_PASS)  check)
 
@@ -22874,9 +22882,9 @@ check-libiberty:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
 	(cd $(HOST_SUBDIR)/libiberty && \
-	  $(MAKE) $(FLAGS_TO_PASS)  check)
+	  $(MAKE) $(FLAGS_TO_PASS)  $(EXTRA_BOOTSTRAP_FLAGS) check)
 
 @endif libiberty
 
@@ -23754,9 +23762,9 @@ check-libiberty-linker-plugin:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
 	(cd $(HOST_SUBDIR)/libiberty-linker-plugin && \
-	  $(MAKE) $(FLAGS_TO_PASS) @extra_linker_plugin_flags@ check)
+	  $(MAKE) $(FLAGS_TO_PASS) @extra_linker_plugin_flags@ $(EXTRA_BOOTSTRAP_FLAGS) check)
 
 @endif libiberty-linker-plugin
 
@@ -24182,7 +24190,7 @@ check-libiconv:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS)  \
 	(cd $(HOST_SUBDIR)/libiconv && \
 	  $(MAKE) $(FLAGS_TO_PASS)  check)
 
@@ -24560,7 +24568,7 @@ check-m4:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS)  \
 	(cd $(HOST_SUBDIR)/m4 && \
 	  $(MAKE) $(FLAGS_TO_PASS)  check)
 
@@ -25001,7 +25009,7 @@ check-readline:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS)  \
 	(cd $(HOST_SUBDIR)/readline && \
 	  $(MAKE) $(FLAGS_TO_PASS)  check)
 
@@ -25442,7 +25450,7 @@ check-sid:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS)  \
 	(cd $(HOST_SUBDIR)/sid && \
 	  $(MAKE) $(FLAGS_TO_PASS)  check)
 
@@ -25883,7 +25891,7 @@ check-sim:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS)  \
 	(cd $(HOST_SUBDIR)/sim && \
 	  $(MAKE) $(FLAGS_TO_PASS)  check)
 
@@ -26324,7 +26332,7 @@ check-texinfo:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS)  \
 	(cd $(HOST_SUBDIR)/texinfo && \
 	  $(MAKE) $(FLAGS_TO_PASS)  check)
 
@@ -27615,7 +27623,7 @@ check-gdb:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS)  \
 	(cd $(HOST_SUBDIR)/gdb && \
 	  $(MAKE) $(FLAGS_TO_PASS)  check)
 
@@ -28056,7 +28064,7 @@ check-expect:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS)  \
 	(cd $(HOST_SUBDIR)/expect && \
 	  $(MAKE) $(FLAGS_TO_PASS)  check)
 
@@ -28497,7 +28505,7 @@ check-guile:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS)  \
 	(cd $(HOST_SUBDIR)/guile && \
 	  $(MAKE) $(FLAGS_TO_PASS)  check)
 
@@ -28938,7 +28946,7 @@ check-tk:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS)  \
 	(cd $(HOST_SUBDIR)/tk && \
 	  $(MAKE) $(FLAGS_TO_PASS)  check)
 
@@ -30189,7 +30197,7 @@ check-gnattools:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS)  \
 	(cd $(HOST_SUBDIR)/gnattools && \
 	  $(MAKE) $(FLAGS_TO_PASS)  check)
 
@@ -31082,9 +31090,9 @@ check-lto-plugin:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
 	(cd $(HOST_SUBDIR)/lto-plugin && \
-	  $(MAKE) $(FLAGS_TO_PASS) @extra_linker_plugin_flags@ check)
+	  $(MAKE) $(FLAGS_TO_PASS) @extra_linker_plugin_flags@ $(EXTRA_BOOTSTRAP_FLAGS) check)
 
 @endif lto-plugin
 
@@ -31510,7 +31518,7 @@ check-libcc1:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS)  \
 	(cd $(HOST_SUBDIR)/libcc1 && \
 	  $(MAKE) $(FLAGS_TO_PASS)  check)
 
@@ -31951,7 +31959,7 @@ check-gotools:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS)  \
 	(cd $(HOST_SUBDIR)/gotools && \
 	  $(MAKE) $(FLAGS_TO_PASS)  check)
 
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.20150623/Makefile.tpl ./Makefile.tpl
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/Makefile.tpl	2015-06-23 01:48:31.000000000 +0000
+++ ./Makefile.tpl	2015-06-30 01:48:29.000000000 +0000
@@ -634,6 +634,14 @@ POSTSTAGE1_FLAGS_TO_PASS = \
 	$(LTO_FLAGS_TO_PASS) \
 	"`echo 'ADAFLAGS=$(BOOT_ADAFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"
 
+@if gcc-bootstrap
+EXTRA_HOST_EXPORTS = if [ $(current_stage) != stage1 ]; then \
+		       $(POSTSTAGE1_HOST_EXPORTS) \
+		     fi ;
+
+EXTRA_BOOTSTRAP_FLAGS = CC="$$CC" CXX="$$CXX" LDFLAGS="$$LDFLAGS"
+@endif gcc-bootstrap
+
 # Flags to pass down to makes which are built with the target environment.
 # The double $ decreases the length of the command line; those variables
 # are set in BASE_FLAGS_TO_PASS, and the sub-make will expand them.  The
@@ -1203,18 +1211,22 @@ check-[+module+]:
 	@if [ '$(host)' = '$(target)' ] ; then \
 	  r=`${PWD_COMMAND}`; export r; \
 	  s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	  $(HOST_EXPORTS) \
+	  $(HOST_EXPORTS) [+ IF bootstrap +]$(EXTRA_HOST_EXPORTS)[+
+	  ENDIF bootstrap +] \
 	  (cd $(HOST_SUBDIR)/[+module+] && \
-	    $(MAKE) $(FLAGS_TO_PASS) [+extra_make_flags+] check); \
+	    $(MAKE) $(FLAGS_TO_PASS) [+extra_make_flags+][+
+	    IF bootstrap +] $(EXTRA_BOOTSTRAP_FLAGS)[+ ENDIF bootstrap +] check)
 	fi
 [+ ELSE check +]
 check-[+module+]:
 	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(HOST_EXPORTS) \
+	$(HOST_EXPORTS) [+ IF bootstrap +]$(EXTRA_HOST_EXPORTS)[+
+	ENDIF bootstrap +] \
 	(cd $(HOST_SUBDIR)/[+module+] && \
-	  $(MAKE) $(FLAGS_TO_PASS) [+extra_make_flags+] check)
+	  $(MAKE) $(FLAGS_TO_PASS) [+extra_make_flags+][+
+	  IF bootstrap +] $(EXTRA_BOOTSTRAP_FLAGS)[+ ENDIF bootstrap +] check)
 [+ ENDIF no_check +]
 @endif [+module+]
 
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.20150623/md5.sum ./md5.sum
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/md5.sum	2015-06-23 01:51:25.000000000 +0000
+++ ./md5.sum	2015-06-30 01:51:23.000000000 +0000
@@ -38,13 +38,13 @@ f74f5720bf485dc971d7b4151b97318b  bfd/pe
 d714ee957aefa81619f03058d91b23cb  bfd/elfcore.h
 64f6bec36e44883df8ceae0157bb7a4e  bfd/elf64-mips.c
 57287cb3abe2dc7f66af4ab28aafebe9  bfd/cpu-m9s12x.c
-120ed3ce5f7f407489a2fd15c0a64735  bfd/version.h
+a426cac71b7275d18d2261ee07a38d26  bfd/version.h
 a107ac2f34a58b7629fbff59490f61f1  bfd/cpu-tilegx.c
 ceebc66a221f8f9297b660d643de9009  bfd/coff-mcore.c
 b33e0ba78cdd46c771e365ab8b48bfc1  bfd/cpu-avr.c
 90f07219c78f6fbe833f6a8d97241f12  bfd/aout64.c
 f5ad372cf681a57b9a43f6975c05e33c  bfd/ChangeLog-2012
-6c80d762251ee755a57e79dcb422e6fc  bfd/elf.c
+40a6c2d8a13b8894eefbcf1ae69807f4  bfd/elf.c
 b573043e5103e4c7c7e4b88bd03a253b  bfd/hppabsd-core.c
 a158af04078c826a7efea6742ea04018  bfd/elf32-xgate.c
 03f80c50fe1a8e610a763ce5fc65991b  bfd/elf32-nds32.h
@@ -65,7 +65,7 @@ f15dfac0bc5f92eca85472d4eda68fc2  bfd/cp
 2b91920292050b8e49bf1b385927b938  bfd/libaout.h
 7061d89aeed5ed2952f3696f81b27275  bfd/elfxx-aarch64.h
 e74495ef0895c24443ef071dfef0a1e4  bfd/elf-vxworks.c
-868b3e3646f029ada6e65cc03352501f  bfd/elfxx-mips.c
+5d86465e34836a7aa1e0dd07bd0038e8  bfd/elfxx-mips.c
 2d43093cd0fcf7bb5eb198527baed6a1  bfd/archive.c
 7f96b0f32007cdc39e8124a9b3dad2d9  bfd/aix5ppc-core.c
 ba9a2755d1c41b945dbc93f1eb4127ee  bfd/pei-ppc.c
@@ -117,7 +117,7 @@ ce363ffcdb2993ee84530554d0fb5a78  bfd/Ch
 21c726851b34cc5fc518c8719bb9fd40  bfd/libxcoff.h
 897c2192d7787165e1e051bdfccf7e35  bfd/i386bsd.c
 b30c64de76fa5604057647d8993e0164  bfd/hpux-core.c
-e63fd1a1e54f8bfe7264015b552d5695  bfd/elf-bfd.h
+f6ab9294073279f2debbea74d846982e  bfd/elf-bfd.h
 42878bb2397b6bf5856dce039784d23b  bfd/m68k4knetbsd.c
 d906ec4101f7b2e1edb000e25b4c5d74  bfd/mach-o-target.c
 d9125b8b9ea20be2b07955ef07f91a82  bfd/elf-strtab.c
@@ -156,7 +156,7 @@ d257d07aae981ced6ca5490db04c189e  bfd/pc
 f210b04663c7d0f71e6559a3f7a7e1bc  bfd/configure.host
 62003f2b3a96e1a7c53fe2e85f685db5  bfd/cpu-aarch64.c
 8c4768570139527928d25cd5e7bf12b4  bfd/elf32-ft32.c
-7763dbeb1392651465c01184d7e9fc53  bfd/bfd-in2.h
+c14f4852fe74664a284846ab5d868be9  bfd/bfd-in2.h
 2deec369a17785f5c51db5c496ba451b  bfd/cpu-k1om.c
 dc8fb1714877aed44474fde33fab5ba3  bfd/nlm.c
 48d363783c777355caa818db75d5a25e  bfd/cpu-lm32.c
@@ -197,7 +197,7 @@ b5a039fb4ff9da0221ea807aee4c56ee  bfd/ne
 79ce9fb3cf7320e4e8aaf0bec4b9a613  bfd/elf32-frv.c
 06462b8f11300da9a3c4708ecda76fdb  bfd/pei-sh.c
 eea171bd8ad8f0ec9f21db1bdc5b860c  bfd/elf32-arc.c
-d1b4a5db91211d1472d176402b63dec4  bfd/elfnn-aarch64.c
+afa163ef7a1059542e7fe859b9b87d2e  bfd/elfnn-aarch64.c
 720025115ab62195d3a751090a6ca325  bfd/mach-o-i386.c
 a06621f2e9e19b3a0c870c89d9981e40  bfd/elf32-am33lin.c
 a2530f29fce960ccf4c4fe3bef11fbf4  bfd/elf32-mt.c
@@ -265,9 +265,9 @@ ee6dd515e44d7279dd8633bfe5e0a1a2  bfd/bf
 0b11bd747d1947e893855831a99c2c25  bfd/elf32-sh64.c
 aa95f9a368ab99dfc240812fca87b2db  bfd/coff-i860.c
 6741acdc1146f97f173c3b88e9e13596  bfd/coff-alpha.c
-c73b991aa0e8aea7e6bc04a7b308af42  bfd/bfd-in.h
+203e0644de3560c2f44a97fb10f05cb6  bfd/bfd-in.h
 e0a212b7737b44d20f67cc6c72385c20  bfd/elf32-nds32.c
-a3b775e91ce69b9b37dc9acc7b9f702e  bfd/elf32-i386.c
+64abe24ad60c872f9ed0957b3f73a3f6  bfd/elf32-i386.c
 1dc6d68b9de86fbc1dc7261574d6dbab  bfd/elf32-ppc.c
 7d710529ca3fafb2bb57132df24957e3  bfd/ChangeLog-2004
 220a19ef8e17a243239dd3c52e3b2258  bfd/elfxx-sparc.c
@@ -356,7 +356,7 @@ e57eaf0dcac633e8d6ab4c7356386d66  bfd/el
 b176b6fd5cf2c8b4d99ab723ecda0e6a  bfd/elf32-m68hc12.c
 e5c448cd23e80971056f09989b81a7ab  bfd/elf32-m32c.c
 8f7b5397a7bb5d502a9997e19d244cea  bfd/ChangeLog-2014
-13fdaf6a396f449bd0481b6299ccd3c7  bfd/elflink.c
+6f9078c0902dffd977478809119cc35f  bfd/elflink.c
 2e7e6f7dadf7349f9a8b6bc7826d63cf  bfd/elf32-iq2000.c
 d33b4e9b597e25668a8cfd80acf88d36  bfd/aout0.c
 5b74ce9fa309f8b92a539f935358df78  bfd/elf-hppa.h
@@ -434,7 +434,7 @@ eb28b08df18daf9de858bc56f7005521  bfd/el
 7b89e415f08d597d888efc2c3dded43c  bfd/elfxx-ia64.h
 930e4ba115922c6a2566a16405388942  bfd/elf32-or1k.c
 08ead0e86a5e0431461a7432ce28e1c5  bfd/targets.c
-6db29a30ffb78e4971d9c221cf39e4f9  bfd/ChangeLog
+86fd71ff1726cd15cde9106715d135b9  bfd/ChangeLog
 31bf82d5b20800911fe4f2557ea3c505  bfd/section.c
 f5be33ca327fa9960fa4941c9149601d  bfd/elf-s390-common.c
 cfd84c67d7dd852f0331d96ba0edfbdf  bfd/elf32-lm32.c
@@ -520,7 +520,7 @@ c53142c15b8649bbde278e85adcc1fa0  bfd/bf
 730917e300f512b0172b7ffbd617b2d3  bfd/elf32-d30v.c
 a181a4ceb9b279444ddbef4dda8e70fb  bfd/elf32-i960.c
 f2103dcab70ce6b9cd98d65c15262076  bfd/elf32-xc16x.c
-6ddf91e8292cc6cf5465a8d85208cc1b  bfd/elf32-msp430.c
+f6acd1f2178b83a2fe0381a7bd068f45  bfd/elf32-msp430.c
 36b70a1c007c325158d66e8f20ee21f1  bfd/elf32-m68hc1x.c
 c0babdb13b5545867d606202960970f3  bfd/versados.c
 088c0e693077976b3ada7603af5a749e  bfd/coff-svm68k.c
@@ -544,7 +544,7 @@ e8ff6bd53bf83fcfa842cd19e26f2bd8  bfd/nl
 a37b1349afdf69de54baf5ec9587728e  bfd/pe-sh.c
 ce04b6a33c02abd8af6f0e6a8ebd8a26  bfd/libpei.h
 e5c21ba341204cf1a46726ae6387fdde  bfd/aix386-core.c
-962e42ab17e5a50afbd29fa6ec8042ef  bfd/elf64-x86-64.c
+ae56498b175e905e84f3ef070ec83c9b  bfd/elf64-x86-64.c
 e205b75bf088fd0bb4a7a4bbc4b33774  bfd/cpu-tic54x.c
 a147777c7a198284a4f45824d96109d0  bfd/pe-i386.c
 cb86d44fdc4ae832ae39b628829dd405  bfd/coff-m68k.c
@@ -567,7 +567,7 @@ df8b0694c03c23fc72dcb14f5827741d  bfd/el
 65f475c12d6a766fc65f1c412b10a134  bfd/aout-arm.c
 94efa52d3de5a415078837cca325122f  bfd/libnlm.h
 52eaff64dd34df2d3042d9c5d4343f0c  bfd/mipsbsd.c
-e292eb846d965ddfde6e17c1f7c67cb2  ChangeLog
+3ce320dc5dbfe2446969b27dce9a68c7  ChangeLog
 500b9244caa7a7ab23ece1db37efa76d  compile
 042203b305962ba9a8f8474ef80edeee  config/enable.m4
 9238d23c68259d195b332db71892d242  config/acx.m4
@@ -620,21 +620,21 @@ c950e3234da1eb9ad5f29bc1c2d2ae74  config
 0fcd4badfe2a2191778bdf5ab94aa40c  config/acinclude.m4
 1999cda4a81e667104bc146b3968eb4d  config/bootstrap-debug-ckovw.mk
 2056dbab474e474ab2ae01a42ad5359a  config/gettext.m4
-9d3431c187aa7de9cccf8672ae5504ee  config/mh-darwin
+507b102116e2550175bb7f42ee3c2958  config/mh-darwin
 71bf002195846e85b3a96057f72ad530  config/largefile.m4
 a251aa127ad38c507c6c5d6462060dfd  config/override.m4
 8e9893e8dda7f5288879e0a4cc10d3da  config/math.m4
 16956754bb073f43a4e0c8077356a5a7  config/gthr.m4
 cd7034dccd04e50150b14c597dd545a5  config/mh-pa
 3be755875df9da02eb4b0a9badd414f1  config/bootstrap-debug-big.mk
-af111c56b80d5d5aa81971c914c2137e  config/ChangeLog
+2f6e6c857ff370c7d49eb94286f20836  config/ChangeLog
 01e70ae9c362268b14876c621e650f3d  config/mt-nios2-elf
 9a194b56c06b616528d1e76306aa78e6  config/bootstrap-debug.mk
 77931c860806547ce9fc56097a731c6f  config/lib-ld.m4
 b6afa5c33fb98edfaf591dd38d198b0d  config/warnings.m4
 625bacc09b9992290d94831bd7506bd0  config/mh-djgpp
 dd28266897efa211a681c66b97d43927  config/bootstrap-ubsan.mk
-6799f197b5e39af78974169ec5046b6f  config/picflag.m4
+47c0d8fcb002a4d8ec58574e3979a19b  config/picflag.m4
 1282ef4331970c26224afd363968e276  config/gettext-sister.m4
 36af806073153196c545a5a43f31bbeb  config/tls.m4
 5e1e75893989d0ae3c0452451cf80280  config/uintmax_t.m4
@@ -791,7 +791,7 @@ e03c1d4c8877e88db92787cf40d338e4  gdb/re
 234b1d2b4688408a599fd4d32729a902  gdb/ada-varobj.c
 cda87834b2337e870862d97aa1ffb914  gdb/common/common-debug.h
 f9de7c5ac2eebec7db8fac82833ed47a  gdb/common/common-defs.h
-f04b1cb2224856c2871fb86f497e3aba  gdb/common/buffer.c
+9881455b21f3b7fd93e2ae0a5703846b  gdb/common/buffer.c
 bb26a191e62c2ce59cd872b45a099412  gdb/common/gdb_locale.h
 980af10fe56d1c13cf6350955411ca8b  gdb/common/filestuff.h
 08e5d26f56f099e7a8f1ed9bf1e859d2  gdb/common/agent.c
@@ -834,7 +834,7 @@ f973d63feadcf1dd3cfb037656ec0b37  gdb/co
 74b8c35f137e3189f9b8dd2a193ca2b0  gdb/common/fileio.c
 e925ff742cbafa41d847f367346b2c2b  gdb/common/ptid.h
 c1fa866c3f4bc3f7902cf01c2c0317f2  gdb/common/symbol.h
-411ae14f6e04c3fc70546abbd2499fba  gdb/common/print-utils.c
+69920b7f8905442bc40a4e4429e80e72  gdb/common/print-utils.c
 76a463a839441ba954a8b0c7c00e6d04  gdb/common/mingw-strerror.c
 a9fc6f90890014dc0a3165cf70f68262  gdb/common/common-exceptions.h
 f4619fad78d8e0b2aee74da19e4cd033  gdb/common/print-utils.h
@@ -844,7 +844,7 @@ e2113af6e4d36c964d69ad1a4a8a5093  gdb/co
 8b8e4c538311148aaae283cd3a10df95  gdb/common/format.c
 c3515c65c1f679468eb6f337a893dfed  gdb/common/errors.c
 4c3340612ba979d355e2c5a62bb8c995  gdb/common/gdb_vecs.h
-b291c26b1e5cbb0f7e979d60502a922c  gdb/ppc-linux-nat.c
+2b7942953c9c3e2d1623c291ec8b3968  gdb/ppc-linux-nat.c
 2bb1dd4853e47423930a4fcadb854a58  gdb/charset-list.h
 9554c184a5a9ce1f9925024494382c39  gdb/m2-lang.c
 2234a6cd6076755b567bdaa0c1c30d37  gdb/corelow.c
@@ -852,7 +852,7 @@ b291c26b1e5cbb0f7e979d60502a922c  gdb/pp
 0994433edfde1a5d771db28e61847759  gdb/dwarf2-frame-tailcall.h
 349b188907736d3ac349e30e509f4e37  gdb/ChangeLog-1996
 bbba1b0c59e8e1fc85de8db61ce6514a  gdb/dwarf2-frame-tailcall.c
-772b0e07d7aaede0772e2f6d7871bfdd  gdb/stub-termcap.c
+4d52280cee4f41ae4c44f54bfd9a79ca  gdb/stub-termcap.c
 01e6eb110265907109b5c46f2ffb692d  gdb/ppc-ravenscar-thread.h
 d9cc83c31d15886886d44397b18b9bdc  gdb/memrange.h
 0f6767b61a8d1915589174de9dd935eb  gdb/solib-svr4.c
@@ -869,7 +869,7 @@ cd3909426ad79de9de798fc760d9f157  gdb/so
 06fd67cabdd71b5b664bbb873c7c65b7  gdb/cp-name-parser.c
 7bfa11d11f5830dd426e598512bb95ca  gdb/microblaze-tdep.h
 6a7f82e87d14102629df2a1b2a28f3cf  gdb/hppaobsd-nat.c
-63fbaa4487efa1dd96051d360d14265c  gdb/exec.c
+b108f5289709b7533c72c532bf8cdc46  gdb/exec.c
 38d6cc5e32a1ec672e3739ec11105ff6  gdb/prologue-value.c
 614ebd7777b2b4b0f4aeda9f4406b1d4  gdb/ChangeLog-2011
 c923fbcaa47240f82d7ef756c59c87ba  gdb/ChangeLog-2001
@@ -918,23 +918,23 @@ ec1a94f64dc5d186ef397b0051405655  gdb/re
 67dea12bac16ae38604999aba1f9045b  gdb/spu-tdep.c
 fbc16b9ff3ff269977912eb86b2c0e75  gdb/gdb.c
 0e9ad167ab0a36ed4bff0c0506722b54  gdb/linux-record.h
-1c2ca3ddefa2350d998be3ff4fa6a79e  gdb/solib.c
+0a22ca4c883aa0cb50333ab37bc9fb10  gdb/solib.c
 53cf114ff5719cd047da9d38dd318599  gdb/ChangeLog-2012
 42b9f7c51223e595f66c2210064be682  gdb/ChangeLog-1990
 274caa4a2960db4ab28ddf74b5ff89d1  gdb/nto-procfs.c
 87b41c603d064a15604d0388396c3061  gdb/d-exp.c
 c5e2f2b4c2a50b902dc183726c47320b  gdb/vaxobsd-tdep.c
-fe2b1b6dc1b8d98b00d6dbbaaf19cae1  gdb/infcall.c
+2a59fe5c03540ed0eee51a6f959203b5  gdb/infcall.c
 b7be702af422c580b26688b1ccfe2180  gdb/remote-fileio.h
 c9c9ab349f22f330dbacd88da4c266c0  gdb/sparc64nbsd-tdep.c
-e8006c25eb443af197dc926372b4382c  gdb/ft32-tdep.c
+d6e0bfc6216d92575e1714e7568957d9  gdb/ft32-tdep.c
 e94f135d19b5a96043f4a9388fd0e4b4  gdb/c-typeprint.c
 05cd9d7e94b53a81f891ecd055326a94  gdb/xtensa-tdep.c
-5fca53b91deebb4f35ab464c7fccbb2a  gdb/top.c
+bef55aeae7929987937e2cc84c3f29e3  gdb/top.c
 c379fe9cf0f5602cdf5f1e98effd6c74  gdb/python/py-cmd.c
 9f4a9140c1fa06418b9a93a30ef7b2c9  gdb/python/py-infthread.c
 07dc197a0d752bcaf4d4960e17cc7161  gdb/python/py-continueevent.c
-f8c183abd6141851fec42cad6020e2f2  gdb/python/python-internal.h
+c72e306d0efba39735c04e8f84807f3f  gdb/python/python-internal.h
 982d024a39519b779e7d5c4ef735415a  gdb/python/py-xmethods.c
 7c24cd5165c3fd4e3d13321fbb65c9fc  gdb/python/py-objfile.c
 bb3d6f7947d18c242660f6c1237e10b0  gdb/python/py-event.h
@@ -1018,12 +1018,12 @@ bbcfda9952d30543e90f419f4f715a63  gdb/sy
 6f3c6b23272f15650268798d4746125a  gdb/auxv.c
 6d80739bf7dd2f5c2bf9c60636f6b2ee  gdb/bfin-linux-tdep.c
 893f920a6857cb5291388021fb372832  gdb/m2-lang.h
-222e88ed8fb716ca2dec45911f867396  gdb/s390-linux-tdep.c
+a38b615be7d724a4a181f161bebab6aa  gdb/s390-linux-tdep.c
 0372eb583f9ab6f29bcd3089d317b462  gdb/auto-load.c
 2035ea8c2da384f196e17db43c1a1ea0  gdb/interps.h
-b3b342e25719ecb432511bc4a38c0c25  gdb/arm-linux-nat.c
+7149af0461b46dd57b1838cbb7921f80  gdb/arm-linux-nat.c
 b55582e180b4eadc2c1a443b49065177  gdb/sh-tdep.c
-d70269a56d5c8739a1d0a570f44c0d2c  gdb/linux-tdep.c
+0a6c66da8bb45627519ffc47735cec3b  gdb/linux-tdep.c
 39598920b654e5288aafa7bd0cce50d0  gdb/proc-flags.c
 7d27ea1c3906ad523c4b6904064e0ef8  gdb/copying.c
 44caf3739ab1e73825a64f7f07f95fad  gdb/xtensa-config.c
@@ -1033,7 +1033,7 @@ fd89864cd40e82e38159fe3ad6045b21  gdb/in
 451e425ceb595dfe34c0569db663edee  gdb/nat/linux-ptrace.h
 0936bceea98a1254eabe4428b52495fb  gdb/nat/linux-waitpid.h
 be424280b77ff457597d25630f8beb6f  gdb/nat/ppc-linux.c
-1b42a2568a243a1d38ce714048e379f8  gdb/nat/linux-ptrace.c
+becfaff47d043794ca8a4d9d8c9b9c97  gdb/nat/linux-ptrace.c
 35dea2eaca77dfeb3b2512c366ed065f  gdb/nat/gdb_thread_db.h
 6d3ef82277550a0fec1f1fb8b5d7de86  gdb/nat/ppc-linux.h
 eb9342466786272557cdb0ec8132fce8  gdb/nat/linux-namespaces.c
@@ -1044,18 +1044,18 @@ d60a54fbdfa129e9bca6a9f893d16563  gdb/na
 eea34e0feec6ac9c6c505579dc0ca484  gdb/nat/linux-osdata.c
 63c1f79413a41d26b7f91f5311657ae1  gdb/nat/linux-procfs.h
 0ca065781c1924d2417918568b4297ef  gdb/nat/linux-nat.h
-b0a77dbe9270790958a945e8b46660fc  gdb/nat/linux-btrace.c
+61a6be1f5909572f4c31e8eaf987381b  gdb/nat/linux-btrace.c
 bc0fad0e4537352dfac487f8962d1271  gdb/nat/x86-dregs.h
 94f19b3311212a7ecc56e5e250d20fb0  gdb/nat/x86-linux-dregs.h
 6489a0467d4f694f32a17b05f2aeb255  gdb/nat/linux-procfs.c
 7c634adb1aa24083300683122bd42808  gdb/nat/x86-gcc-cpuid.h
 c7dfc445b6323031b80a37766cea1554  gdb/nat/x86-linux.c
-4b84e5a576abd405b38fc5ef3998ee9a  gdb/nat/mips-linux-watch.h
+367ad74bc04026e7b150d1c133457d66  gdb/nat/mips-linux-watch.h
 05f6670b124e533c97451bf8db65d2d4  gdb/nat/x86-linux.h
 adae21661830cc755ff5274534e762d4  gdb/nat/glibc_thread_db.h
 246e0ace1cfae5ea2781c283157f1d6e  gdb/nat/linux-personality.h
 ffead0956cd726c71c5c37062347d95c  gdb/nat/x86-dregs.c
-3c616984424399f3550c3183d8aa257a  gdb/nat/linux-btrace.h
+3cdcb564c654c781a00861721f74a648  gdb/nat/linux-btrace.h
 438a661fb60ff1a0a505f7d333245569  gdb/nat/linux-namespaces.h
 a20db5a50862281e0c33c011e26917ba  gdb/nat/linux-personality.c
 7f96493e385a602effd492459e9d90e8  gdb/nat/linux-waitpid.c
@@ -1110,7 +1110,7 @@ b683001dd04cca8998403acb1d61fd20  gdb/cl
 45b29203e87698fb3a7f7fef25ce9c85  gdb/cp-namespace.c
 21b85dc2ed09d1125c8ab4fbdb043c7a  gdb/notify.defs
 0a3d88347ad599d51e05d8b5c4bacb38  gdb/bsd-uthread.h
-892f34f3508545bf7b1dfaf2d9f81ade  gdb/inferior.h
+21c4c66362f9d07bde14191bac838367  gdb/inferior.h
 65b7f3b7d333cfd7e882cd2a53e65258  gdb/reggroups.h
 68160ff29dee25c234a05a5ecc7c4233  gdb/sparc64obsd-nat.c
 1bbe8a3e1cdd9840472d5546f85e6b84  gdb/copying.awk
@@ -1183,7 +1183,7 @@ cb029bf8ddbfd4dcce86204ba7a7948c  gdb/p-
 34f1da98b3a3900016d2dbf17ba05bec  gdb/aix-thread.c
 63f5111aef316b3c9d835f73f3087be5  gdb/dummy-frame.h
 2406c65908f065edda23816654cba746  gdb/i386-darwin-tdep.h
-877c1fc5dd4f8a042a96da909f2b506d  gdb/target/target.h
+8536ef5434b85fadbe1852ceeb3eb7ee  gdb/target/target.h
 ff0399f51859e14d5959c160e466ec94  gdb/target/wait.h
 ede0b930ccc313c8eedd0bd954096318  gdb/target/resume.h
 c4980dda3dc545bd7ce5e239e37c1ec4  gdb/target/waitstatus.h
@@ -1194,7 +1194,7 @@ bbc4d2132f27f80a5d4c268eceba04ff  gdb/i3
 bef84282144f21899211e227351affdb  gdb/windows-tdep.c
 c33585b70e4bf7a1bd2a87bfc21613f4  gdb/coff-pe-read.h
 8a5e31117645114a92dcefdddabf421a  gdb/go-lang.c
-79a024837bc5038d10ee387bb4fc13bb  gdb/infrun.c
+834c46b5c7b6e7df135f6392d34ffd85  gdb/infrun.c
 3db1059c60168d68684df8f0cd8c61c0  gdb/jit-reader.in
 3d51f817720eb4799eff54934cbba825  gdb/darwin-nat-info.c
 8ce6ccfd39807c40b44facea326e00bc  gdb/ada-typeprint.c
@@ -1205,7 +1205,7 @@ f971d36e35ec0c3fce64b819d7891f15  gdb/Ch
 cf67df429770d18aa84c9c486e375643  gdb/gdb_buildall.sh
 a589e1ed89ce7092bdea070adc4917bd  gdb/target-descriptions.c
 de7145cb43d8a8782ee57a3c10b383da  gdb/target.c
-54dd2b23e130cd7b71b6b7d2a9923a8d  gdb/remote-sim.c
+83467ecd3673999e774f03afbfe46d9e  gdb/remote-sim.c
 c9e930cce2e4f67959b6b14b989eb278  gdb/rl78-tdep.c
 881666ebac63ad32de4486f7522779b7  gdb/i386-sol2-tdep.c
 0167ccd7bd73859358b714a105e106dc  gdb/frame.h
@@ -1222,19 +1222,19 @@ e51e65533784e4ee758c5ab84f66ac2d  gdb/mi
 ee432463450c011ed0c2a95aa12a08a1  gdb/sparc64fbsd-nat.c
 eac48212762d2e0c56b5215e4bc7888a  gdb/dink32-rom.c
 477002548bbe88c41710b225cbcd01f8  gdb/s390-linux-nat.c
-73e3775e3d1bc8b480317ec21e862b43  gdb/linux-nat.h
+cdd875608286f4deb9f1352d1b014717  gdb/linux-nat.h
 13f56b0f27cf5dc63c9778726b1e9bd1  gdb/sh-linux-tdep.c
 2b6152362d3f32c4354fbb039d8cea77  gdb/go-exp.y
 2ad145eee71eec67470ebfefd4ed1e99  gdb/i386gnu-tdep.c
 a7501a1d26588a086764e1b91e1e0ff4  gdb/dbxread.c
 c113d292d19ef1896b3b68d3bdc8be8c  gdb/remote-notif.c
 53e3f81358942f8a7752f84d4e3fc848  gdb/aarch64-linux-tdep.h
-6bf369a603f80b2b2b4924bccf8f8637  gdb/aarch64-linux-tdep.c
+995b823597d0ea6e4b8a32f474ee9604  gdb/aarch64-linux-tdep.c
 0f3ecbe0c81348f393e2c37deaa6c5a9  gdb/f-lang.c
 1550f4611b9bed59f909b5429f1b4d4c  gdb/break-catch-throw.c
 26c9b13a23dd2bef582f115b329b5151  gdb/rs6000-aix-tdep.h
 972d3b0f423b58d7a5d745d6911544e0  gdb/gnu-v2-abi.c
-6f3860d4f2484a042bef85a4c018945f  gdb/block.c
+a0dd3cb1ec9a5d7d6bd820ae72f60135  gdb/block.c
 1cf121ff193c04698e99dcc22b70ca33  gdb/.gitignore
 eb5daf3d690e7642e84aa5f523ee031e  gdb/aarch64-tdep.c
 a9b97c52780878de05f66e61e9195904  gdb/sparc-ravenscar-thread.h
@@ -1250,12 +1250,12 @@ d63ce358f999475eacc6f7257d3d12d1  gdb/li
 5eb62e34c5152327fdb1068166605cce  gdb/alpha-linux-nat.c
 35b11f7e8f6d97cc42c4f203528ed609  gdb/sparcnbsd-tdep.c
 5cd6e136c0122ef6fe103978aadd179e  gdb/ada-exp.c
-d932bf5f6bf08da98adc8f4beeaf32ab  gdb/tilegx-linux-tdep.c
+df46e7cf5aeeb303587290f453f1571f  gdb/tilegx-linux-tdep.c
 cbd451a00769a9c8c7c6cd52f55b861b  gdb/sparcobsd-tdep.c
 2bf7d0eb07c73f019c7d3e6a908c8524  gdb/environ.h
 b30a9321996160345deeb868fb99280e  gdb/m32r-linux-nat.c
 c267f050c587862dce2bef754dfc4493  gdb/gdb_bfd.c
-faff6bebc566126cd82d23ecee781513  gdb/NEWS
+50a19830c83ee4bcac0891228cd04c6d  gdb/NEWS
 b4133d1e27b97096efb8d84ee2b7d3eb  gdb/ppcnbsd-tdep.h
 a9b65db6bf004e64ec3699d48e10521a  gdb/x86-nat.c
 367bb9fbe21d534fdf0bb25af4eadbe0  gdb/dcache.c
@@ -1341,7 +1341,7 @@ e4653b8164f49df138a7e01723576845  gdb/tu
 0415f3bd7a379430b752618c1e8c7cd4  gdb/tui/ChangeLog-1998-2003
 1d2e397330e4c1857a5bfd4690d7f493  gdb/tui/tui-wingeneral.c
 4a4afe46d85b71f8fa6d34132a7ceeac  gdb/tui/tui-out.c
-9f2c2e1a3b87e64da115d8b26a4beaa8  gdb/tui/tui-win.c
+c637942cbcd763e4f6c0c987794913e8  gdb/tui/tui-win.c
 176764805cd5a1aaae97e7c35e2e7c08  gdb/tui/tui-data.h
 a00af0b3d564766feac256be243cd13e  gdb/tui/tui-win.h
 f18e44fc962544dadf448d6671832e89  gdb/tui/tui.h
@@ -1349,7 +1349,7 @@ f18e44fc962544dadf448d6671832e89  gdb/tu
 ebe83df475f29d37d71caebe88afd02a  gdb/ui-file.c
 0a3d08dbbd509031dda62edb60fa80dc  gdb/m2-exp.c
 a321a37f02e3a70546f7d0a77e0b8780  gdb/ser-base.h
-0a6ad90f043e2a363ab3f37db461177f  gdb/m68klinux-tdep.c
+038e46d4dca88507d69bcbdd41deec23  gdb/m68klinux-tdep.c
 bd230d920e0e695aaffc4df11350239f  gdb/record-full.c
 0e8c46b0388a16b9065d4f0596191e02  gdb/amd64obsd-tdep.c
 8ef27ac91e5a413d691c7d7d560649ab  gdb/nto-tdep.c
@@ -1496,6 +1496,7 @@ a5de505e2283e80d0d9b80e2fc81ff70  gdb/te
 896d494536d0fc7dc006f87a32326540  gdb/testsuite/gdb.cp/pr-574.cc
 7424ab6304bd5a9b33bcf56766da933a  gdb/testsuite/gdb.cp/typeid.cc
 29f6b52a4e94c187aaf660090d99bd4f  gdb/testsuite/gdb.cp/nsnested.cc
+d28a75c81b869065f80773e53f3c0953  gdb/testsuite/gdb.cp/var-tag.exp
 c79c47f3929bdd871f0447a11313c65c  gdb/testsuite/gdb.cp/m-static.exp
 0b3cf17fb968831cabbed20084df09b6  gdb/testsuite/gdb.cp/cttiadd1.cc
 f0e5001573c96cd87fe5b984fde3e0ec  gdb/testsuite/gdb.cp/overload-const.exp
@@ -1519,6 +1520,7 @@ d50311e39142116dcd0cbbf62a972909  gdb/te
 525ec74dfc2d7b855d6ecde4efe6bf68  gdb/testsuite/gdb.cp/pass-by-ref.cc
 0809f2648fb4c58570b7f48ce2d00a04  gdb/testsuite/gdb.cp/virtbase.exp
 e39853dceeec7115ac6bcfa4b33e30b7  gdb/testsuite/gdb.cp/psymtab-parameter.exp
+f00c027136d131782c45664ad29f8ef2  gdb/testsuite/gdb.cp/var-tag.cc
 8cb0fecf218e5a2b7347c572a1c1758d  gdb/testsuite/gdb.cp/rtti.h
 bf4f7c822383883a549cc18a3cb20c4e  gdb/testsuite/gdb.cp/annota3.exp
 f8a8426862d13e8ddff1c0104abd34cc  gdb/testsuite/gdb.cp/casts.cc
@@ -1611,6 +1613,7 @@ c7cb8fd21b7076e134c5e1aad8bbef65  gdb/te
 33e6d7afd7c318893a5bbe2335a57cd8  gdb/testsuite/gdb.cp/fpointer.cc
 fdeeee76ef5e702959f7618bf90fa74a  gdb/testsuite/gdb.cp/mb-templates.exp
 870c68e8b9898ee42a63072cd8853a2c  gdb/testsuite/gdb.cp/anon-ns.cc
+bb404c3abc4354f9b1ec32db759cc8c8  gdb/testsuite/gdb.cp/var-tag-4.cc
 ea9f072ee88ef8b5b69ece114971d536  gdb/testsuite/gdb.cp/minsym-fallback-main.cc
 a559e95825c54e4088dc37651417ae2f  gdb/testsuite/gdb.cp/debug-expr.exp
 628486f11b54448c2f34a6d846e40f65  gdb/testsuite/gdb.cp/pr9167.exp
@@ -1700,6 +1703,7 @@ af410076ab6d1df4c5b1cd993e496920  gdb/te
 89080fe8ed4c2ccd64e3e1a47d9861df  gdb/testsuite/gdb.cp/casts.exp
 7f791800c49278dcd5c8cf3fdfcddc48  gdb/testsuite/gdb.cp/nsalias.cc
 5b513cd3ac50f8c0fff337a895860804  gdb/testsuite/gdb.cp/static-method.cc
+12ff2703f0e34e397ead76537f620703  gdb/testsuite/gdb.cp/var-tag-3.cc
 fc705a2e99df2d80afd8872ea330e395  gdb/testsuite/gdb.cp/cplabel.cc
 adf2184ac526e2178016c47f2089248e  gdb/testsuite/gdb.cp/nextoverthrow.exp
 07fa7f618722031893284e4df11fe13e  gdb/testsuite/gdb.cp/pr-1210.cc
@@ -1750,6 +1754,7 @@ b976c6b541071daa48206828801083ac  gdb/te
 6dc90152f22003cdc93d5a4d7eea37ee  gdb/testsuite/gdb.cp/parse-lang.cc
 74508e303a4e1b1efd3b6cccddbf8ac6  gdb/testsuite/gdb.cp/ptype-cv-cp.cc
 9f470f0e7b51690bb7c426f51a6878ea  gdb/testsuite/gdb.cp/rtti2.cc
+17dffa4dadb5e2558e38f6e0669268bb  gdb/testsuite/gdb.cp/var-tag-2.cc
 53f8e87eec3ec874c5f29e4983b0d9f6  gdb/testsuite/gdb.cp/nsnested.exp
 99eedf1581c7d74b79022a81adbff1f3  gdb/testsuite/gdb.cp/shadow.cc
 018f9bc93c24f1cc9a988b5ef0288b76  gdb/testsuite/gdb.cp/filename.cc
@@ -1956,7 +1961,7 @@ efcbbefe2a6177f1335f0a210260d4e5  gdb/te
 8f3bcd95fc238daced97f53c3a546432  gdb/testsuite/gdb.python/py-explore.c
 9ce17590dc66b201b5d95ce521f43827  gdb/testsuite/gdb.python/py-explore.exp
 f739e39187c03fef7c68329a0e67c833  gdb/testsuite/gdb.python/py-value.c
-87761fad58207d0430d79aa3319f0c8c  gdb/testsuite/gdb.python/py-prettyprint.exp
+809eadb22fc7a1b76d2f30b600412e16  gdb/testsuite/gdb.python/py-prettyprint.exp
 d8963f6495c3ba3cd494c669717134ec  gdb/testsuite/gdb.python/py-unwind.c
 0ce53d61de3bd6bc2fbf49f5b405f8a6  gdb/testsuite/gdb.python/py-type.c
 eef0f7a02e7d23d2f28ad5df04a3a496  gdb/testsuite/gdb.python/py-shared.exp
@@ -2167,6 +2172,7 @@ f8a2a14ba49b791656a9ff1eaa0ee692  gdb/te
 c6a16edc9359f0384e9bb01cc216272c  gdb/testsuite/gdb.base/foo.c
 fdd7dc2489cdabcc90e5f416b7e854d1  gdb/testsuite/gdb.base/vla-datatypes.exp
 d25ea845f2c9568e14bf42a0b068ac9c  gdb/testsuite/gdb.base/setvar.exp
+b9e72d13af77041690efcd7fb08f1d28  gdb/testsuite/gdb.base/history-duplicates.exp
 adf4ab35c098325fc26840bba1470b68  gdb/testsuite/gdb.base/fixsection.exp
 b4a485e32c278e341fcd0b243cea909d  gdb/testsuite/gdb.base/sep.c
 51352f5b6e3b267de96f78229a5f768f  gdb/testsuite/gdb.base/auxv.c
@@ -2622,10 +2628,10 @@ c003a0b4c20c35b13875bc20268a9017  gdb/te
 0f2028f51f12229213d2e2c8ce5a7d8b  gdb/testsuite/gdb.base/watch-vfork.c
 094e5a00578b03e522b57eea5393a1cf  gdb/testsuite/gdb.base/display.exp
 669769a70fb4526e1c54408cf148bc26  gdb/testsuite/gdb.base/permissions.exp
-149593c5fd98981252cd92fbfdf8ce25  gdb/testsuite/gdb.base/siginfo-thread.exp
+932ad1f9d0ca1c221713154e60e9d5c1  gdb/testsuite/gdb.base/siginfo-thread.exp
 42ce7c95b90c7fa7080f984e16f3cb6d  gdb/testsuite/gdb.base/mips_pro.exp
 2d70eb4738500f885cb68e862cf88b7e  gdb/testsuite/gdb.base/watchpoint-stops-at-right-insn.exp
-ee6e0515d34477159bf1ea8e0989dcf4  gdb/testsuite/gdb.base/completion.exp
+3eafb1242f1649d182f935b91aa284b0  gdb/testsuite/gdb.base/completion.exp
 59a90917be2c4fc3f76ddee248f5b09e  gdb/testsuite/gdb.base/batch-preserve-term-settings.exp
 601f4ed2b5be1d234ba175e76d7bba62  gdb/testsuite/gdb.base/branches.c
 20b63a2c127d0257909bfbed9356c5f5  gdb/testsuite/gdb.base/attach-pie-noexec.exp
@@ -2671,7 +2677,7 @@ efd360fd48f4cf30bab574a1338b7905  gdb/te
 14ca9aca5c6ec757bfd24efc8a9265ef  gdb/testsuite/gdb.base/sizeof.exp
 4c664aa20a95e6ed9eac3ee8fb8c06d7  gdb/testsuite/gdb.base/gdbvars.c
 05a03d38678c1384ecd5a45be340ed92  gdb/testsuite/gdb.base/shlib-call.exp
-94e6d2a3112d50be282f75dc6514ea33  gdb/testsuite/gdb.base/siginfo-obj.exp
+640ae2a14b19b7bb9e6fc45c57546afc  gdb/testsuite/gdb.base/siginfo-obj.exp
 fbbeec2891ea913e85e52602f661a132  gdb/testsuite/gdb.base/bitfields.c
 80fb742c6028f138e4ad580d729b403a  gdb/testsuite/gdb.base/lineinc3.h
 7c8e32b470811b2af0f6a50dfae12b6d  gdb/testsuite/gdb.base/fullpath-expand.exp
@@ -3265,7 +3271,7 @@ b9b5c78d6f2147337f32c40eb38dc822  gdb/te
 d839d2710093e744afcac59f950554e9  gdb/testsuite/gdb.arch/i386-biarch-core.core.bz2
 18a1eb321b71b9c9ca02d1edcd71b92f  gdb/testsuite/gdb.arch/ppc64-symtab-cordic.exp
 1c5a4f8525828f25b52872010869823d  gdb/testsuite/gdb.arch/i386-bp_permanent.c
-01facdf3f3bc70c3d46f96352cb5a253  gdb/testsuite/gdb.arch/powerpc-power.s
+bb8796b3a46c6946e2ff68a712f35f78  gdb/testsuite/gdb.arch/powerpc-power.s
 8e3ddbcac53b9b38df03f974e4c26882  gdb/testsuite/gdb.arch/i386-dr3-watch.c
 7e15fe36f59b8e04c5fb0265a6950c3e  gdb/testsuite/gdb.arch/pa-nullify.s
 ea859e3b0bad8c6157c57233464f6bfc  gdb/testsuite/gdb.arch/Makefile.in
@@ -3359,11 +3365,12 @@ c5a5f3dfcc3e5013e28d3fc4e511dec6  gdb/te
 713d4d77e1a3963afa3765f5642cb08b  gdb/testsuite/gdb.arch/ppc-dfp.c
 625b3e1d84e4c3aabe1f31370a783e6d  gdb/testsuite/gdb.arch/s390-tdbregs.exp
 20884074651c8e81f2c67a7f41f74864  gdb/testsuite/gdb.arch/amd64-entry-value-param.exp
+6bb0dd612b52b2ad2f31f85c9d5c2eb9  gdb/testsuite/gdb.arch/amd64-prologue-skip.exp
 c108cfab3560ce952a316dd6acb183a3  gdb/testsuite/gdb.arch/amd64-word.exp
 47fee42472bf3e497c745675dca9ddb0  gdb/testsuite/gdb.arch/amd64-stap-three-arg-disp.c
 5fb2eaef8fa3678d2f93e1b0c7c65be6  gdb/testsuite/gdb.arch/pa64-nullify.s
 2c1742b36ea87207b61aeff74da0ae39  gdb/testsuite/gdb.arch/amd64-i386-address.S
-e615b52638b2cdfa67d94bee2e0efba8  gdb/testsuite/gdb.arch/powerpc-power.exp
+ed4f9d9476d6941685cf6904160ece7c  gdb/testsuite/gdb.arch/powerpc-power.exp
 35686428d132a5510dd19f8068e824b3  gdb/testsuite/gdb.arch/mips16-thunks-sin.c
 d8abc5290b4fdf49cb6ce3ccf44959b5  gdb/testsuite/gdb.arch/mips16-thunks-sinmain.c
 7d59536c2a6402818bd64579b1e5e386  gdb/testsuite/gdb.arch/i386-stap-eval-lang-ada.c
@@ -3410,6 +3417,7 @@ ff30673cac30bee49a927ce2b56ae194  gdb/te
 3dc415c2db5cdffd041b6d900dd6159a  gdb/testsuite/gdb.arch/sparc-sysstep.exp
 82ff991fe69c975cadd933ebdb01de02  gdb/testsuite/gdb.arch/amd64-prologue-xmm.exp
 f0543b1467f45ac1c63bbc47dc6ce719  gdb/testsuite/gdb.arch/s390-multiarch.c
+a257faa301240b48b8bd6133fbef9486  gdb/testsuite/gdb.arch/amd64-prologue-skip.S
 804fc5f7a8905b649bba091bd0d255a8  gdb/testsuite/gdb.arch/altivec-abi.exp
 d429a3a36ba71139a758d9c320052cb0  gdb/testsuite/gdb.arch/mips-octeon-bbit.exp
 d5a1af11fe8158062e43aa8166efecc1  gdb/testsuite/gdb.arch/amd64-tailcall-ret.exp
@@ -3469,7 +3477,7 @@ ba63400ae4571e7f4d0aeb59000c2fee  gdb/te
 fdd1b0ea9cb454d308f3efee2756042d  gdb/testsuite/lib/prelink-support.exp
 4377817504481edf59814f0c53fc7398  gdb/testsuite/lib/opencl.exp
 8b095d6d185b258c160d765659927692  gdb/testsuite/lib/perftest.exp
-98b49e69fa97fd7cdebeeffa3d83587e  gdb/testsuite/lib/gdb.exp
+4c5b60605ffe8cafd587fb50a6d7e5d7  gdb/testsuite/lib/gdb.exp
 58b04b7bc347cc9d1b4474da7a2ac1d0  gdb/testsuite/lib/compiler.cc
 c3d2b933fd6eca1da5c3707b6d13bb9b  gdb/testsuite/lib/opencl_hostapp.c
 2d73515d4ee5352309d3f8f3f5ffb2da  gdb/testsuite/lib/append_gdb_boards_dir.exp
@@ -3595,6 +3603,7 @@ b2eaf16c97d1360be5630e67364c8ac0  gdb/te
 a3a14e5e913c43611a5ed10ad8f90528  gdb/testsuite/gdb.threads/thread-specific-bp.c
 d46d60fe6d689d0ff3f1d48b7490afb1  gdb/testsuite/gdb.threads/corethreads.c
 31b4ea293ff38a61f9f83d9a40042b58  gdb/testsuite/gdb.threads/non-stop-fair-events.exp
+c5cf4e1539d55c318fa9d0ae54fdac6b  gdb/testsuite/gdb.threads/hand-call-new-thread.c
 6f617dd7e9d0114008d484b807926b8d  gdb/testsuite/gdb.threads/watchthreads.c
 eda32e6af468f5a44b33928ca7e418fc  gdb/testsuite/gdb.threads/execl1.c
 f20781676b5b0e91bdc15071d15f529e  gdb/testsuite/gdb.threads/thread-unwindonsignal.exp
@@ -3683,6 +3692,7 @@ c3d39ac9bfd73d1c4b03737a617cae9c  gdb/te
 bf90cd3d89504b70c51727570eabc2ae  gdb/testsuite/gdb.threads/watchthreads2.exp
 a14cd3640c067bed8169ed8ca2cc3a82  gdb/testsuite/gdb.threads/tid-reuse.exp
 34d7357618b291ddbf72c725eb1af0c6  gdb/testsuite/gdb.threads/kill.c
+116d5f9d2564fa3fd77381e1c768aeb3  gdb/testsuite/gdb.threads/hand-call-new-thread.exp
 abcb223a22e788a09e29542e63f4f27a  gdb/testsuite/gdb.threads/signal-command-multiple-signals-pending.c
 16b4e4848e1e9936959df7c7d956a960  gdb/testsuite/gdb.threads/signal-while-stepping-over-bp-other-thread.exp
 748ccd45d02dbd2287853d95ac88cf5d  gdb/testsuite/gdb.threads/continue-pending-status.c
@@ -3761,7 +3771,7 @@ e928ad8539846ca007aafb3031dfbaa3  gdb/te
 4127afeb79b2a2bff6c65f128ebd5969  gdb/testsuite/gdb.go/integers.exp
 68d17058fa82304a192749f0eadc138d  gdb/testsuite/gdb.go/strings.go
 81b7ed6cb92c627d245bd2efc4b953b9  gdb/testsuite/gdb.go/methods.go
-8d7b19367877dec4e7c75310e626623c  gdb/testsuite/ChangeLog
+5f38371bcb879f354ace2ce1934ea280  gdb/testsuite/ChangeLog
 b3f11b21e5921c419a43f93720dedf85  gdb/testsuite/gdb.asm/empty.inc
 37858e142701cb0c2b792e4f739ee3eb  gdb/testsuite/gdb.asm/asm-source.exp
 f1621bbbb2acbec5adef86d7d9549975  gdb/testsuite/gdb.asm/bfin.inc
@@ -4374,43 +4384,43 @@ dc3fd52f6c7a3934f21054cf80ecd074  gdb/f-
 19a5a53a8dbef5372bd3113c323a2bf2  gdb/gdb_curses.h
 1bbdb3e7ea9ca53f9a8cf1a548dca9f5  gdb/jv-valprint.c
 8108dd8f906f2654fecc74958cf383db  gdb/doc/psrc.sed
-73e912ab9e096881c332c8caa81249c7  gdb/doc/gdb.info-3
-0727b0375beff519d118910bc6fd0c4d  gdb/doc/gdb.info-4
+f9b745d92e7b12d125249cfb59c220e7  gdb/doc/gdb.info-3
+f3e2f445bc63e0c44c52a35a669568fe  gdb/doc/gdb.info-4
 ab0fe311032294b952da80585b8b90e7  gdb/doc/fdl.texi
 be5469929c58735017a3a1e083554ac7  gdb/doc/Makefile.in
-1826f1bf378b14e5f6e0d4613306b551  gdb/doc/gdb.info-7
+82c4926bf833309242dccf0281a68799  gdb/doc/gdb.info-7
 65ee16c0a68d8954d5892092576beb66  gdb/doc/observer.texi
-f9253a45da2a0eecf932b7a8acfaa576  gdb/doc/gdbserver.1
+6b7c0582637b6a28fe3b212b106d012d  gdb/doc/gdbserver.1
 e2d60785de02ac5252c6d40e24f4a7e4  gdb/doc/guile.texi
 f81a0e00e0cb9e41b078069fb9bedb07  gdb/doc/stack_frame.txt
 52c8bd855ea4966966f8c8e9a6a274fc  gdb/doc/stabs.info
-2be32c60a502d38f29d7f69513ac1125  gdb/doc/gdb.info-5
-fee50e53614f3f0f276e6a2ff53f8fcd  gdb/doc/gdb.info-8
+37f226fdac4e5e939a5015aa4477a416  gdb/doc/gdb.info-5
+0b56a6f4e80f245ab444dc531a1a9c2d  gdb/doc/gdb.info-8
 132df0593e237d8337cf0134804ca21e  gdb/doc/agentexpr.texi
-31574951ebe711f312ba906d9952127e  gdb/doc/gdb.info-1
+78db27dfe2de927faa8653976a48a44c  gdb/doc/gdb.info-1
 d5d06eaf9b4d44aa442a4a281aa9aea4  gdb/doc/a4rc.sed
-c9c62f5fc757743a695e1be950f3817e  gdb/doc/gdb.info-6
-e7013c0cdb845c60455ee9d2cc42524c  gdb/doc/gdb.texinfo
+bf3b06c27f259985e9c7e76af037bb13  gdb/doc/gdb.info-6
+0d500c8e343c7456f39e24475f979267  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
-08229c95611bac699889411c72d7fd53  gdb/doc/gdb.info-2
+985efcdb984f555902cc2f0d6d4ca0c8  gdb/doc/gdb.info-2
 df443225fa3e5719ca7e6925a7e633e0  gdb/doc/refcard.tex
 6076d300a46651562d4ecd0604442414  gdb/doc/stack_frame.png
-067d1991194725760c428f08a3b00586  gdb/doc/gdb.info
+8323e7abe5461626cadb24c527a4a849  gdb/doc/gdb.info
 51fe9bc8ae61f4c3f8d31c2a67998119  gdb/doc/python.texi
 3f8eb27056f05095db22018909d4ce49  gdb/doc/stabs.texinfo
-7a286bb6f7b9fe5587877c204d04c8dc  gdb/doc/ChangeLog
-494dcb506dda1759cd6e4e9cdcfcf016  gdb/doc/gdb.1
-25fd00ed602659234b080c96fdb70ab1  gdb/doc/gcore.1
+ec9bfa0b22c36ca428cab2914c2b692a  gdb/doc/ChangeLog
+f1a960f6656f4fbbb49581e700278353  gdb/doc/gdb.1
+72a1aabd1e2ff3828169a40cdad0e4a6  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
-5dbf63bdaafd3012fe9584cfaac21713  gdb/doc/gdbinit.5
+ed143903c883b250b974a672bca824a2  gdb/doc/gdbinit.5
 d606e873666ae0bc7bc7c84d6c9c2332  gdb/doc/Doxyfile-gdb-xref.in
 705bf0b3fb65b3f7e3db4cc5d9ae8eba  gdb/doc/annotate.texinfo
 79278fc2f5486809779a9a8f8883d401  gdb/doc/doxy-index.in
@@ -4485,7 +4495,7 @@ b59b9010001e424ca97097fd2ee66343  gdb/al
 3dd3a97022b2dee0a56eee43aa1ede44  gdb/ser-go32.c
 c10198163b4df8e904918264764df93a  gdb/minsyms.h
 b90742b695bf473c421bf75a8c810d1b  gdb/source.h
-20895dc95702966fcf730a07dac49de3  gdb/microblaze-tdep.c
+51e5797919c9b538bdd6406ac07d4f09  gdb/microblaze-tdep.c
 69978068af61d26d1846b727de89d219  gdb/jv-exp.y
 120d5ad5e817523defb4c23f6b87095b  gdb/procfs.h
 c166d0395a86d23a3c242c877b311e0f  gdb/objc-lang.c
@@ -4504,7 +4514,7 @@ cd8da0c22be18f60039f84b4dd380975  gdb/so
 5a7bc54bbe28baab6d8d0ad84f9e201f  gdb/continuations.h
 fb1248d7975642f381b9b25cc7a39431  gdb/infrun.h
 0bb6b6c1231783240a3910aa11052467  gdb/jit.c
-bd77d7aea7b71a6d0c9c8107447598bb  gdb/rx-tdep.c
+e9b487653cc0729209d25d4a2d13eba9  gdb/rx-tdep.c
 299a2462d01273cb6f691fcb72806a8b  gdb/frame-base.h
 64a7d3424d84be90bd2090adfb5c57cb  gdb/xml-syscall.c
 a48265a68a0325a20f4ac7769a18c6b0  gdb/symfile-mem.c
@@ -4521,7 +4531,7 @@ a82c1d51fee95e7ca57fd427e803cafa  gdb/av
 a5b29ab64ed81f5951cbd31629dd53c0  gdb/gdb_bfd.h
 d078bfa8e960d16f86fd7ffe20171ec8  gdb/v850-tdep.c
 739d44df9504782b060bc568c1cfd519  gdb/cli-out.h
-a7c839c7083b322cf5524e25f8a95ef1  gdb/build-id.c
+84970918dfb3eb8617914fe2bbd911b2  gdb/build-id.c
 745c20cdca4268afdd6a48a5a13c8809  gdb/ppc64-tdep.h
 eb323e8e4796edcb53181d1b4288ea2f  gdb/c-valprint.c
 d0590c150621fe3cb3fa0eafcf18f8fd  gdb/value.c
@@ -4812,11 +4822,11 @@ a47ede25abd506cb43c1b892edb2ced7  gdb/pp
 cea36e0e51134793650ffd25a1e94d17  gdb/inflow.c
 fd089d615d1c6c443f6d5960a8c4fb02  gdb/spu-linux-nat.c
 2771e20d49b8ed4dddc046dcf17e98d4  gdb/bfin-tdep.c
-63176b5e70e31d24dbe831752c8e58fc  gdb/linux-tdep.h
+6f3dce589bfba62ab7d0455188fdc4a1  gdb/linux-tdep.h
 99349b9f515a8d32c82ab6078d9655b0  gdb/i387-tdep.h
 5b1ded8a40516216e9b627ada6983484  gdb/gcore
 b0dec335eb7978fcf2373293a34d63e6  gdb/gcore.h
-9d921296323fad7db30dc86221a55672  gdb/arm-linux-tdep.c
+2bf6057ba8964fdd1a4a89b9d8f4af64  gdb/arm-linux-tdep.c
 5672dc6ced1ffca67bad4942e618fb66  gdb/gdb_usleep.c
 3d24066c7868fe54b6f12ba8f6eef07c  gdb/hppa-tdep.h
 479415f99145d389ec5c839d0bf7c2e9  gdb/completer.c
@@ -4834,10 +4844,10 @@ ff7889c2a7addc05853bca85b5d6aac8  gdb/mi
 89ec946700d62b77b6d96c6b1b4e8060  gdb/doublest.h
 ea41e2fd5b1714be8c2d78ecb3340472  gdb/i386bsd-nat.h
 eefb7c041e4942fc59d89188c755a3ce  gdb/nios2-tdep.h
-289c29b6e2bceb5d954d518d296919b5  gdb/i386-linux-tdep.c
+4e801415876516fbd3d0f140ead96a0e  gdb/i386-linux-tdep.c
 989c3f71fb6f93109e7a8e074a9f843c  gdb/mips-linux-tdep.c
 77b2f413882e7a33e83ffff0df0d3d7b  gdb/inf-ptrace.c
-9f53fc9e7efab9ab4d0089d215814807  gdb/amd64-linux-nat.c
+03aa4fdefd124b8c2e162725582d6786  gdb/amd64-linux-nat.c
 87b420af8a64a76ebd096982b224e807  gdb/dbug-rom.c
 5c503fa0159185c5ac7a4a1ab9dcb6b9  gdb/osdata.c
 f807f0398f77269c772fcbbdc0c031e5  gdb/regcache.h
@@ -4849,8 +4859,8 @@ f807f0398f77269c772fcbbdc0c031e5  gdb/re
 dc1f70ce31b012803ec1621bd838c815  gdb/ia64-tdep.h
 cae9b8adabfe1884c312d3f9380881cb  gdb/frv-tdep.c
 b76a008c7b9215f6874bd6c949ff1fec  gdb/c-varobj.c
-24598e6beb9d52e22852ac8f96daaa66  gdb/i386-tdep.c
-442e5e7c10301c16696fa3579f7541ab  gdb/symtab.c
+15a62c0653d0c28b648cc8ef6200a834  gdb/i386-tdep.c
+a90b81a5ae2685a512283a8aa56a99d6  gdb/symtab.c
 ddba1e35119e6ad20e516851219e6498  gdb/osabi.c
 a165441ff57ae43263467cc5fcb3138d  gdb/m32r-linux-tdep.c
 bf0ee72881541e5967ce27a9c29b3c37  gdb/mipsnbsd-tdep.h
@@ -4879,7 +4889,7 @@ ac8cd5adb103f97f943cc1eec57e566b  gdb/co
 f1679b5d9950d66febb8259748700963  gdb/std-regs.c
 9da9e540b1c6970695a3161272737803  gdb/go-lang.h
 23e51b25e50614cfba06a52e405e2243  gdb/i386-windows-nat.c
-9fb47f21654f13ab2c91d0bc597e4a8b  gdb/po/gdb.pot
+fb60d9b4e4137bb7c1c0e94fa8f48e8a  gdb/po/gdb.pot
 1851bff0653201a488dcae18dde7efad  gdb/po/gdbtext
 59a3face91a650ce0dcaa925ae89cb59  gdb/break-catch-syscall.c
 3688a736a34cf031d224e1e35d69b662  gdb/ada-lang.c
@@ -4906,7 +4916,7 @@ e6dc6366c95d38a7ac9ebb6ff31462df  gdb/ex
 32bb803ab1e68860f1402dbe7e2cb0f5  gdb/nbsd-nat.h
 83df4734061e07b644f77632819578cf  gdb/mipsread.c
 f5c872d4805a7ac039b4dfc840f4bb8a  gdb/amd64-darwin-tdep.c
-c145e886b9a79d31d3ac4759be9714c4  gdb/ChangeLog
+c63e2749d1fb95ef79fff981fd61979a  gdb/ChangeLog
 5a1dbe4837b41ee2b9cc7a35e0d20a61  gdb/go-typeprint.c
 3275c016926223eb629c4f65b64822df  gdb/score-tdep.c
 5a44fd4377f0804008a3697e72efbfe3  gdb/xml-support.h
@@ -4921,7 +4931,7 @@ d53712d859ced3ae7ba1ee8c9cf05129  gdb/cp
 1de2e2c8bd6fc22a95d8484cbf584e4d  gdb/process_reply.defs
 c82adf482d45beaf8c4a392417752d37  gdb/amd64-windows-nat.c
 2aa27372920be225f6f7c46416ee4fa9  gdb/ctf.c
-ca092658366a9e09b201ba1da327a3f2  gdb/remote.c
+c1eae28221257253cdee0ce675511da9  gdb/remote.c
 609e4b3af097ae017c962a8f2d57f359  gdb/mipsnbsd-nat.c
 7d7ebffdff35deba27452386122bdf48  gdb/hppaobsd-tdep.c
 ff627da30eaccd64c9bc469b136a5986  gdb/inf-child.h
@@ -4945,7 +4955,7 @@ e5352b70ecc1bc6f3c391d63a1e034a4  gdb/p-
 1e186b5b39454d2033fa874e935e20c2  gdb/xml-support.c
 5e3dd4ecce02aee13c576c9750dfb40c  gdb/arch-utils.h
 7c85b024e1cc7a51faaea1c9ca71a1c4  gdb/darwin-nat.h
-b1bb672b2d260161f670250967add1bb  gdb/linespec.c
+4cb19aaa1d1129ceb68bb1fb23875193  gdb/linespec.c
 838a24f1266261a20cbcc5879ed0fa7a  gdb/proc-utils.h
 87b7a3d7eabd7672ee854715e16288c5  gdb/frv-linux-tdep.c
 7c7318c2cf4825af2e38a3f01dc39a41  gdb/ia64-libunwind-tdep.h
@@ -4953,7 +4963,7 @@ afc3c5800376f8693dd411cba7aa5f77  gdb/bu
 108d0bb36107d759fac662685e23e5fc  gdb/m88k-tdep.h
 c8b609c20e1d71a726907777e02e728c  gdb/target-descriptions.h
 6a49f391650c7650615eda6ee70ba42a  gdb/corefile.c
-3831455d78b2649716ee1ffa072a5abc  gdb/x86-linux-nat.c
+0f5e26f2568f3963694f93f29777602a  gdb/x86-linux-nat.c
 747e62f8cca9b50ef0e4c19e046d23fa  gdb/macrotab.h
 d821f4d086d77a932d6e8a893ac883a6  gdb/progspace.h
 071369803c3aba386e15e14a3328bf55  gdb/regformats/s390-tevx-linux64.dat
@@ -5067,7 +5077,7 @@ c08ec703ea0b3fe3e35ba79d06258479  gdb/gu
 dafa53b84833ec1d9bc29289f1521085  gdb/guile/scm-exception.c
 8fa516970bef7e73a6747f7d616fa433  gdb/guile/scm-safe-call.c
 1ab57d4df701a863f203733340b93c3e  gdb/guile/scm-gsmob.c
-c11c0ed43360794eeb30a09d0fa1a39b  gdb/guile/scm-utils.c
+8ac7984d9158c4239a58e21c8b95d525  gdb/guile/scm-utils.c
 a1f0b0e770676ff876e95dd08f24f3f7  gdb/guile/scm-iterator.c
 e9418560100963eaf76a022bcab858ec  gdb/guile/guile.c
 14757fa4e34b4935aa8c70e15028ed73  gdb/guile/lib/gdb.scm
@@ -5132,33 +5142,33 @@ fd2a628fae668ef78fe489121037c9da  gdb/gd
 c5b5c964f70a3c5ed89926675e8828ec  gdb/gdbserver/configure.srv
 fa54cc7bc30e4ed712bbcae5af85be40  gdb/gdbserver/linux-arm-low.c
 ae4b18a50198f17d5f3ec96d27a50d5c  gdb/gdbserver/tracepoint.h
-27c4ca80a602430009896da3e70e8b11  gdb/gdbserver/linux-aarch64-low.c
+10a365472bd3ef7c8f2d2eb6c4c7de2b  gdb/gdbserver/linux-aarch64-low.c
 eaa996efd99c282244af925502b37a58  gdb/gdbserver/event-loop.h
 ceaf88dcc1caaf217a8038914b1ef92c  gdb/gdbserver/ax.h
 e48e5b8a013a7c6db280c340e87aa011  gdb/gdbserver/linux-m68k-low.c
 a554aba23d382f45251e817f6ec408aa  gdb/gdbserver/mem-break.h
 cdd30823b0fef194dc2aa026633ce27c  gdb/gdbserver/wincecompat.c
 4e78b5fe1cc314a3958bfdf49b6b8c6b  gdb/gdbserver/utils.c
-ecac067e7341cbd486f06d88bba5ed6d  gdb/gdbserver/win32-low.c
+d5e218e14440fe4b576295eefc7a8706  gdb/gdbserver/win32-low.c
 fe81eb6c2c62a0d201997976c23e183e  gdb/gdbserver/lynx-low.h
 89d5a85a35090857a26e2b9329cc1372  gdb/gdbserver/tdesc.c
 23551f271883296e1bc89cd3cd515db8  gdb/gdbserver/config.in
 172a97855b04c25050c7c0699ae4a115  gdb/gdbserver/configure.ac
 791b58ddf159b59c7d9375e2c2f00a07  gdb/gdbserver/README
-4d56a5b6e77c4026f2b5001f06d2c32f  gdb/gdbserver/mem-break.c
+da7dad673bd499c4f23e6b267412f312  gdb/gdbserver/mem-break.c
 646cf4cf571d0b911db27e28bffa13da  gdb/gdbserver/linux-mips-low.c
-4d2b1c09f10161d47153a7322baf58ec  gdb/gdbserver/tracepoint.c
+a776039b5773888b42d2e375bf9f72c3  gdb/gdbserver/tracepoint.c
 0b926f70628d4332584c50b3a755c4ff  gdb/gdbserver/nto-low.h
 872b80e9ded8aad2a6df089995db53fb  gdb/gdbserver/win32-i386-low.c
 de753b0be16d0462d2650ef3074b2ea8  gdb/gdbserver/linux-nios2-low.c
-eae036cf43bbb9e29abe175b8ad70f16  gdb/gdbserver/lynx-ppc-low.c
+45c64a41bff1223ec01a85685eaa365f  gdb/gdbserver/lynx-ppc-low.c
 ad4afd2e681af2d578c7efdcf8d2a490  gdb/gdbserver/ax.c
 4b4c7936617a78f14f1a20a36d4a5b47  gdb/gdbserver/regcache.c
 fde2e22668c3d4b9909646f6d1e5e9ac  gdb/gdbserver/target.c
 276901a5adcbb4aef70d8f16f2679b87  gdb/gdbserver/server.h
-d146c9252d17b167571958cd47410a9e  gdb/gdbserver/linux-i386-ipa.c
+05e71aebc6fa8466b1442b88ae784fdb  gdb/gdbserver/linux-i386-ipa.c
 94230696f6e1981ae284eb1d31607f8e  gdb/gdbserver/.gitignore
-205c608d65c77042e034da9906126ce1  gdb/gdbserver/lynx-i386-low.c
+0f7b4f84d3955bf2946d1015b38c41d9  gdb/gdbserver/lynx-i386-low.c
 a7421f5b829aa1482f8e8fb793a11a89  gdb/gdbserver/lynx-low.c
 f7cf1cf53fcd3aae809f4196d045c8a1  gdb/gdbserver/linux-sh-low.c
 8cf1a37cf27422fb42041d6e481adc17  gdb/gdbserver/spu-low.c
@@ -5182,9 +5192,9 @@ c603ea99a252e4ca4b7152efe119fa4b  gdb/gd
 204ce518f70583ca421f3b64c81091a9  gdb/gdbserver/notif.c
 15e9f8b9afe707a571ef09a62bbddf35  gdb/gdbserver/linux-cris-low.c
 7f017910fc10864faa3886a248c0de44  gdb/gdbserver/aclocal.m4
-124cbb3b9750dc674c61c068048e2585  gdb/gdbserver/thread-db.c
+7b4b71a99687eda01b422ee78db96cc9  gdb/gdbserver/thread-db.c
 a713e728e699f380772910b1e8911321  gdb/gdbserver/linux-tile-low.c
-961ca871722774d37d5bc359cf3462ab  gdb/gdbserver/ChangeLog
+7957855def8c5117f75b3f79481daaed  gdb/gdbserver/ChangeLog
 cd1fc12df5787e83d2d67c203cb3d7b3  gdb/gdbserver/linux-ppc-low.c
 804e84b29be6d0f236ab8af7753ba126  gdb/gdbserver/linux-low.c
 31e072b4e9e5984e19662acc96a07f2e  gdb/gdbserver/proc-service.list
@@ -5222,9 +5232,9 @@ eb297c8f903d58916591a6be9eed2d9d  gdb/br
 1d11633d9b26982a831ef2dc28f0bcb6  gdb/objfiles.c
 703bf2a0757f3c8b4a454a0e278aee0e  gdb/debug.c
 9688ad1dae08e48e11479e5199bf97f0  gdb/sol2-tdep.h
-b9b78cdfbc022db91026055105760ed2  gdb/ppc-linux-tdep.c
+8cce502219759daae11a2d05d049a72b  gdb/ppc-linux-tdep.c
 33e82795b3de28ec33551530ec362c2c  gdb/ChangeLog-2007
-b382f2670dadbfd44848f00edfd6257c  gdb/gdbthread.h
+838de8aea74a29ba5bbb7a04bee4c8e6  gdb/gdbthread.h
 9b14783e7d2ce7c31dd8d8050d028e42  gdb/macroexp.c
 594fc45b25a908049675800d93db46a5  gdb/blockframe.c
 46539ec53df1a9ad2d327052d5b1ee0d  gdb/ia64-vms-tdep.c
@@ -5242,12 +5252,12 @@ b98e13fee9a5f4180c50a396e1428ea2  gdb/pr
 06d492ab5c9dbaa82b38193b83bc2e44  gdb/m88kbsd-nat.c
 ca9158e7ede27a090a3228b2965721fb  gdb/glibc-tdep.h
 9ec89fc9f02b1bcf2e0cbf717337c91a  gdb/macroexp.h
-d650ac87bc1189740463544cc9b8aa14  gdb/linux-nat.c
+a68fa87b012acc6dab373abdc624a243  gdb/linux-nat.c
 232fae6c14bb330d684a735fbd258bdf  gdb/ppcfbsd-tdep.c
 72c2a6c8c1d784dedb9da73e84229cab  gdb/sh-tdep.h
 be04f4bf35ddca6beee6d0ad2b02bb72  gdb/top.h
 4cf92f060caa4b507788fd93345f5036  gdb/xml-syscall.h
-b6d84aeab0e43717df6dd2cd1ac6dd59  gdb/xtensa-linux-nat.c
+a679a7fc5c0e39f3cbb129ef690733ba  gdb/xtensa-linux-nat.c
 1f6b545be0b6822eca215d0b5f1edfc2  gdb/exc_request.defs
 7c1206e60e6c2600a2d526a4fe52c45b  gdb/c-exp.y
 8f5a03c189727d347a330548f3ea9c98  gdb/ChangeLog-1991
@@ -5423,14 +5433,14 @@ c23512832366209a9153ad7342c7ae64  gdb/gn
 0ec533e9d043e2f9bf17637c80e52428  gdb/compile/compile-loc2c.c
 495507768f28def9fa20f4b0227a651a  gdb/compile/compile.c
 c793c57a366a7f095861f8b364fd657c  gdb/compile/compile.h
-674f40dd5be1cb47ef3241e635b9d481  gdb/compile/compile-c-symbols.c
+e7c0680f7f99021431c47e0f25f03ff1  gdb/compile/compile-c-symbols.c
 cdc069d810af4b919cffe24cb8b462e8  gdb/compile/compile-object-run.h
 34a09c587008b594fbb16463dd1c56cc  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
 64db84963fd8580c95faa5d86f5f12d3  gdb/compile/compile-object-load.h
-fc102a96ad8edaf8880b122cf3238ceb  gdb/compile/compile-c-types.c
+6b77572beaa13777ec8717d2ba17fa11  gdb/compile/compile-c-types.c
 73be71d38b50ac66b9fb05aad900aac6  gdb/value.h
 89e723ed1904dec1bb89f173dfb02d04  gdb/auxv.h
 9e7a629e6eff16aed33cfee5a34ffc9d  gdb/i386-dicos-tdep.c
@@ -5448,7 +5458,7 @@ abfa0858a28bce9c40ed450669af7174  gdb/p-
 6c6c57a3344a4fd6667773046fa4087f  gdb/xstormy16-tdep.c
 243ec7901d622f1c738aa992cbedd56d  gdb/mipsnbsd-tdep.c
 fdc848ddca7f378500af81a0d3e5af8f  gdb/stabsread.c
-b4c84690e4cfa8843470248b8005e57b  gdb/MAINTAINERS
+8da54d6c8a809ab65b2882db1d51df67  gdb/MAINTAINERS
 140c411dfb27c030a6de88e68bc08422  gdb/remote-mips.c
 88285de0a74d09a354e4c7c47df67eec  gdb/terminal.h
 46bd067f6f851062484149eebabdf4b1  gdb/mips64obsd-tdep.c
@@ -5480,7 +5490,7 @@ ace609197c76653a723adeceea4135dd  gdb/gn
 fbacc60312731a58953216832542e4e7  gdb/sparc-ravenscar-thread.c
 2e8848d977b9df2dffc7a02fb60047e4  gdb/ser-unix.c
 40cd33ed82f948e0a1a6e9e7a1307ab4  gdb/m32c-tdep.c
-f06043154a97976541de8d2c8104c890  gdb/amd64-linux-tdep.c
+ccce04c22d51c68e7d21c42dd00b2e18  gdb/amd64-linux-tdep.c
 92fa1bfdbb06d696b77c5fd6cccf2cfa  gdb/sparc-linux-tdep.c
 01280dda740a27217fb2bcca2c237ae2  gdb/sparc-linux-nat.c
 be5bca51a40d9847b93eeb715819acfb  gdb/cp-abi.c
@@ -5505,7 +5515,7 @@ bb54d79cc1857466812d8c5cf36612e5  gdb/ms
 5319675d13c2a7ac1858b25a5262b81f  gdb/bsd-kvm.c
 1178ee2d7aeae66c23553c003408b1b8  gdb/amd64nbsd-nat.c
 5bdbc230df33cbc4746801a5e1e3de14  gdb/disasm.h
-287f120ecbf4bf73f070936549430010  gdb/i386-linux-nat.c
+5f04b3eaf8e08bb99d63264324fdb9de  gdb/i386-linux-nat.c
 787654ed0044603623d7e4ae441d8ac8  include/safe-ctype.h
 53bdfdb5cd3c0c7831611602041cda52  include/xregex.h
 27cb19b414f3aadff4ed5391b5451f4a  include/objalloc.h
@@ -5529,7 +5539,7 @@ affdfcd92bab65bf12f21ee4468fbeb6  includ
 3f42f606172218e3289ae9b6d408cf10  include/mach-o/external.h
 74f2f5c6892c6349f6a9602cd4d52935  include/dwarf2.h
 e1ea1a669a924a0d05a7f118bd5b4f71  include/oasys.h
-621422fcff9fe7e7ad2211df6b794e13  include/libiberty.h
+192a054485e274739bd5bd17ac3165a6  include/libiberty.h
 f94077edae0f80bc193e126a678b4c07  include/ansidecl.h
 462e78bc7446a3644efa006b322e0cc8  include/longlong.h
 8823a2b4676fef221902b03ddffff179  include/xtensa-config.h
@@ -5714,7 +5724,7 @@ bdd1f4db4363181c4411e5a140f795e4  includ
 a55fe30391416a1df2748c75fb160001  include/ieee.h
 a6637d72befe40863b35e430e7ca4ed3  include/hashtab.h
 960419210b1dffddd4335ba3e1e55775  include/gcc-interface.h
-b63ce328b560818e3eac34ed8fc3c70d  include/ChangeLog
+45e492b5d0eee64f410d2a335788893e  include/ChangeLog
 ad9c7ea6e90f1cd527d6e0b5170382ca  include/dis-asm.h
 cd07ff147c5ae622eb623d7a546aace7  include/splay-tree.h
 7d4cdf67f2e81318c4f2a970329e37e9  include/filenames.h
@@ -5774,7 +5784,7 @@ d535012b1bcb21497ab37c18297ff018  includ
 20c1b68594ea8a7db98e482eb3e5e631  include/elf/arc.h
 e2bcd68b4e736881cd7d9b27321653b2  include/elf/ip2k.h
 6b6dca38e60e6651e7a107c14a8f7c6e  include/elf/cr16.h
-4dfddeb0048f49dd79aa3f116be331bb  include/elf/mips.h
+70bfc0bf3a01c35e5d5aba84ec27e5e6  include/elf/mips.h
 910537dcfd24a094a5209f08d9a135bc  include/elf/aarch64.h
 8bb8510ed9eb7ce21782b810c044c5c1  include/elf/dwarf.h
 50c8f19f9152958cb8e27bba7de9737f  include/elf/xc16x.h
@@ -5956,7 +5966,7 @@ bac20c1a198662917e6bc775ad9bd0cf  libibe
 13cce636dd9882e42c9fc5d607351f4f  libiberty/strchr.c
 aa0f79d836563e6a0cd92ab678b07aaf  libiberty/fnmatch.c
 fd1435a5be24d2ed84909540998dd5d7  libiberty/strnlen.c
-88d7a06b638cf8f45b3e776983f10524  libiberty/Makefile.in
+2c03f7b582187690d33466483bd027bf  libiberty/Makefile.in
 28af0a1bf222ed2a5a87d9e170ef4a46  libiberty/vprintf.c
 42d0a0ea70e0c85cf11b7475aaab0674  libiberty/md5.c
 26196a9a92fae743a06d65f0e081084b  libiberty/strtoul.c
@@ -5971,9 +5981,9 @@ c44adc5ac09bdc782a8e13086ffa9367  libibe
 2c56f9552603480f87b7136972894128  libiberty/lrealpath.c
 74850488731148a9c9f410042144f37d  libiberty/rindex.c
 e2f3721273c7ef1ab0194aad78ffa3aa  libiberty/strstr.c
-8d0c35fe401ee57dcc296fa2d1c8ab3e  libiberty/config.in
+45b51592f889b3722098d62fffd0589a  libiberty/config.in
 9c22926d0b260822786460b98e517ad8  libiberty/waitpid.c
-2c1d3c34eee37256659af037eb5becf4  libiberty/configure.ac
+e30c6a165dcb3eecfa7a688e7f82fc3c  libiberty/configure.ac
 c68dbf7834af4281ebd84caa3fd54680  libiberty/README
 1857cc8f5d7af67cdf0b5d692436faed  libiberty/simple-object-common.h
 0c2635175b975823b40980974dfc2110  libiberty/ffs.c
@@ -5997,7 +6007,7 @@ fed47804d20d26873d480f5166e7d864  libibe
 0cf8d9985fc4c93d80dd1b0f95431a96  libiberty/strtod.c
 767eb98b733821ab66ef33430a6c8ac0  libiberty/libiberty.texi
 3d5fc77f726a32459db21d97109258ac  libiberty/concat.c
-4d06d853a4ae0b8d87e92b4f11393960  libiberty/cp-demangle.c
+8f51a1061f1a777b3a525bb988cf5384  libiberty/cp-demangle.c
 c77400dbf2a2b6e3e56463704eda7ca3  libiberty/asprintf.c
 a003952452be47d7ca2979a2724a9e7b  libiberty/simple-object.c
 abdf0787024ad239a36f6c8377a8c29e  libiberty/memmem.c
@@ -6012,14 +6022,14 @@ fe0196b26274b9b5983d48fd510318a4  libibe
 5c0eb869d31323424849c0aab9247722  libiberty/getruntime.c
 347c31392973de6a4872d540c1718dc1  libiberty/ChangeLog.jit
 c90c2f09bdcbd65b4732a4be25a56d12  libiberty/memcpy.c
-bf4ea5614ec32141d1820716bd8709c5  libiberty/testsuite/Makefile.in
+6c6e2b1b21232455a5e54af57d46f959  libiberty/testsuite/Makefile.in
 5386b1cb9cbab31da3b1246a7d0ef0b0  libiberty/testsuite/test-strtol.c
 8b476ce26e8583eea8df7d77fe287a5a  libiberty/testsuite/test-demangle.c
 d629c8f2adde10d53657e437416cf27f  libiberty/testsuite/test-expandargv.c
-ce5d275a354ecd87bb7a65a07b70141a  libiberty/testsuite/demangle-expected
+5a98d6c562cdf6c8cb4b4bbdb483f008  libiberty/testsuite/demangle-expected
 10ce55269f247e57d2901ee11e88d8bd  libiberty/testsuite/demangler-fuzzer.c
 e9e958dbfc45a08dbbbbe48c83d3987e  libiberty/testsuite/test-pexecute.c
-9e858e1d84edd7cc5e1877f46bc3be65  libiberty/testsuite/d-demangle-expected
+c09c3c654cc975869390d34723a7aa65  libiberty/testsuite/d-demangle-expected
 ab0f43a6703e0705b4e8bac274635b56  libiberty/obstack.c
 2d54a4b123998196aed234af148359ed  libiberty/simple-object-xcoff.c
 9968bbb75dc08ce768389912954f4348  libiberty/strtoll.c
@@ -6034,7 +6044,7 @@ f4ec5461a2fdb28214092b95b39ef186  libibe
 76888d9a6ed315d1e12029016d96672e  libiberty/bsearch.c
 a23c6974fb1adf6977b5f5454c430bf0  libiberty/_doprnt.c
 f52b09a2067e515db35e3c3c2d3abd6f  libiberty/vprintf-support.h
-42849d7e9af515fc8f679ba8bbac64ac  libiberty/floatformat.c
+12b214e4fac19c6ff58ecdfef8d84e51  libiberty/floatformat.c
 5824bd0f9be9f4fa74bb3bdc7fd9431c  libiberty/configure.com
 5e520e600636a692f52e62dcfb01921c  libiberty/getpwd.c
 e60c2e7c5dcdd19510066c13f1a527d3  libiberty/alloca.c
@@ -6050,7 +6060,7 @@ fc1d4c4e0449f24a16a2bd6d08efc882  libibe
 119d38724fe57b62c298e38190319391  libiberty/vprintf-support.c
 284bb7a096480b355b75c337086220a2  libiberty/sigsetmask.c
 eb843075f87d187630f6a3d849b93e64  libiberty/getopt.c
-3dc379bc7435d393e86e055bbc8dbe77  libiberty/configure
+8da2a59e27561777caae785b3768a333  libiberty/configure
 32ea90e5aded75d1cbed83fc52123753  libiberty/sort.c
 22b53dd8b990133515799dffbda44c8c  libiberty/aclocal.m4
 cdc140ce93944c5bb2ac62cd3dfd86d6  libiberty/xmalloc.c
@@ -6064,7 +6074,7 @@ dcddb64bab69ca6541ff0add57f1f53c  libibe
 9d0471286f21d9027bbf1b7c67b87856  libiberty/insque.c
 72b25900bd3d95decf7ff7990061ef29  libiberty/xmemdup.c
 c9bd3841bbde6d8ae680f62523f00ab0  libiberty/strtol.c
-7900e47004de7388f1dcf3425580ea70  libiberty/ChangeLog
+2c64286abeb6a8ad3646f3f0e255e4ed  libiberty/ChangeLog
 c34119797a13e71989722851c14b711b  libiberty/atexit.c
 d99a00c9588039b63404d27ea147b2a4  libiberty/objalloc.c
 c0c3183427b1df540ead6394d1028040  libiberty/argv.c
@@ -6101,7 +6111,7 @@ d7cc74911527c672bba716c9a793ed94  libibe
 89d4f4af4421147fee519aabe3119090  libiberty/hashtab.c
 a707d2e5daa09d204d4441e8713048ca  libiberty/bcopy.c
 83565a31c7f296b3013daf383cd03ee9  libiberty/config.h-vms
-bfa019f6471996cc88e39536bddfe86a  libiberty/d-demangle.c
+a11a3c09eba448983cb1f24f3bd6df85  libiberty/d-demangle.c
 4a0acb9356a52f3bcfd67efa26997b58  libiberty/bzero.c
 a8391a5d7431a4e11f61be41386a3356  libiberty/clock.c
 f314d3357b67a7b2d6883fbe0d420842  libiberty/xasprintf.c
@@ -6115,8 +6125,8 @@ bc2f6032c98896249eadb56177c7d357  ltsuga
 c30cd33c496505f13d9fbdb6970c7c33  ltversion.m4
 8fd1cceaa7b6f73df604b14180534345  MAINTAINERS
 44a49c80bfb8443600937c80eff25714  Makefile.def
-520da51e03eaeb8bb84216784c220b70  Makefile.in
-5699441323ad68be9dbb994b58544250  Makefile.tpl
+e502e37f45a2f5326183c352bc9bed6f  Makefile.in
+de967eee4917bc93cb149503109804c9  Makefile.tpl
 5f2a276ee7b8decec541391229d03591  missing
 fbe2467afef81c41c166173adeb0ee20  mkdep
 82b7b70a9845ee61a01f20b29dd2df2c  mkinstalldirs
@@ -6619,7 +6629,7 @@ c00010e8b5a65afaae659f089d1bb692  sim/co
 04949f1fd753a20f9706e54921d4812c  sim/common/dv-glue.c
 1861363dafa68b6a46989f4285a075ee  sim/common/sim-profile.h
 56c38819b4d9b9c80916aa7aaee8f5a6  sim/common/hw-handles.c
-754def47703d92b8ebdc67421ab605ea  sim/common/sim-assert.h
+1802805237081ebf7c71c70264705de6  sim/common/sim-assert.h
 ef9a7e901a466c56a4ba36cdffaaea8b  sim/common/run.1
 a8b39c15e6a4d52471b6ca315f1b3130  sim/common/sim-io.c
 798d9d796ff8ea76ef002c09e6e88004  sim/common/sim-n-core.h
@@ -6644,7 +6654,7 @@ d5d79f444b38ce29bcf99e0ceff44437  sim/co
 b4ecae50aaf21970cf835e84bf0d8393  sim/common/dv-core.c
 b79ec8f50a5eaa721c07c2bda547e557  sim/common/cgen-ops.h
 e9899641fb73e77fcb2fc1f105d42561  sim/common/hw-ports.c
-e6451795f321f533e194c38677af9f16  sim/common/sim-trace.c
+77ed7b18b5719439e0d1ae15760389d1  sim/common/sim-trace.c
 be2b8d73470315a8e08805ad7f281686  sim/common/hw-properties.c
 8afd06aa804a77e634f9ca491d72daa9  sim/common/sim-signal.c
 e411408b876d3d66730db0ef1041f8ce  sim/common/cgen-accfp.c
@@ -6663,31 +6673,31 @@ ad18c208e1eb1a49035304c772cca12d  sim/co
 4008db55f586b13a88688aa63a67aafe  sim/common/sim-syscall.c
 5538aa60db8f5218e39dfc084c1c9239  sim/common/sim-syscall.h
 ac5e22bb879f86d98a9822fccf9e365c  sim/common/hw-instances.c
-9c74be7b5dda5625edc73a4ea51865b8  sim/common/acinclude.m4
+d9920c7c7eb0440a826f3677b4e28da6  sim/common/acinclude.m4
 588d68aa4f2547fa3932322c7e65d065  sim/common/sim-alu.h
-f699ef04da4bc434ffb485ed0afc6b2c  sim/common/configure
+e4d432f7062ba6963813b9af31dfcea2  sim/common/configure
 99b3f781c04d017ea1cb2e192ac4cc1e  sim/common/hw-handles.h
 c070048b5472f95e6d207e4add0e7717  sim/common/aclocal.m4
 4257aa780d8f9867af02d163b84d5136  sim/common/cgen-par.c
-91c92cfdd1b59628e245d31ee72b3466  sim/common/sim-trace.h
+b17b91e76ee3adf48304603f166aba2c  sim/common/sim-trace.h
 465c3ed51bf85d9085a4ef19f252d82a  sim/common/sim-n-bits.h
 875b0fb4fa6bacb9860d08104c62b60e  sim/common/sim-config.c
 80973d8cd5f3c5957bf9bb1c783e3cf3  sim/common/sim-hw.h
-f11f283fcaca36b6d589145cb97117ff  sim/common/cgen-trace.c
-068a7dc7883efb0aaa1c60edf7f993bd  sim/common/ChangeLog
+0e4c3ca9e31c4311fba61fb3f1550235  sim/common/cgen-trace.c
+2c3725b25cad7b93dcf006a22adfb0f0  sim/common/ChangeLog
 c1dabedfe093921c167eb45571588b50  sim/common/sim-inline.c
 4cd7a71d57a45d0f640dab621d25136e  sim/common/sim-hw.c
 4baa1c3b57379d1c27474df294b0c92f  sim/common/sim-module.h
 ed8b05c07d34977e0e69ce33032d809f  sim/common/cgen-fpu.c
 4ac4de2f5cbaa78e805d696918722ad1  sim/common/gdbinit.in
-fb8564b53f2ea0b0b4ea0aca7fc69d5b  sim/common/sim-events.c
+5f736399846adca299159592c18a6441  sim/common/sim-events.c
 5a972614bb0047fcbe20fbd14d577f7e  sim/common/callback.c
 025dcdf5925933a2d0a1b4e1e1c00ce0  sim/common/cgen.sh
 3dfb37e2e4a805be7633d58f03ca4163  sim/common/sim-utils.h
 79dbf7af30712e29994c9b4742121cb4  sim/common/hw-base.c
 0e59ce2173b9b8b0f3f018816a7eeb6c  sim/common/Make-common.in
 894f0d3eeaaead11c205f98b2910bd06  sim/common/hw-events.h
-9b1cc4e5a47c47330388c2fc4da1cd80  sim/common/sim-config.h
+e264eb8eb780df79e6f07cf8a1f127c0  sim/common/sim-config.h
 186946a4233d42eb704ea907dabb333e  sim/common/hw-main.h
 d9bf099929f6b928ba823377775edf44  sim/common/cgen-engine.h
 c2e382b4b48eaa6e5366db375320e0ca  sim/common/sim-resume.c
@@ -6712,18 +6722,18 @@ b183702f14a7d6f5ab14644f5445162a  sim/mo
 8fbdb6c15a76f0de733e47f628fd260f  sim/moxie/config.in
 b1682192b8c2564f1815cc3dbc664133  sim/moxie/configure.ac
 19a095e277079a5cd24d429d06e407d3  sim/moxie/interp.c
-4e4a9c051d053f522a98353a4a107a82  sim/moxie/configure
+0b1e2880887fd25d485b10f9f0ca8faf  sim/moxie/configure
 94500e8b65d9332dee333844d5522a02  sim/moxie/aclocal.m4
-755313e8d8071ffb0a8b88a691ed2340  sim/moxie/ChangeLog
+0841be6b58a74152b5ed59dc83eec387  sim/moxie/ChangeLog
 9cf27e6972eb46c9112c9a9f01400752  sim/moxie/sim-main.h
 2bd19591bf072981c5cb13f3aaf5f90f  sim/ft32/Makefile.in
 4343b99d117b85c0bc2d7a8a8a7a0fec  sim/ft32/ft32-sim.h
 8fbdb6c15a76f0de733e47f628fd260f  sim/ft32/config.in
 3f96294a6753839d19819f767fe1f98a  sim/ft32/configure.ac
 e1b328981c92e13855c963299c023c21  sim/ft32/interp.c
-6fd321bcfa15afab377ffa0fea17a056  sim/ft32/configure
+33b9e3b7f4354935fde56b67de2d9411  sim/ft32/configure
 94500e8b65d9332dee333844d5522a02  sim/ft32/aclocal.m4
-fb25d6ecc1ffbecd107d90c5ca3abfa9  sim/ft32/ChangeLog
+5375ed8e9734b61c6a5b49a9b0e44353  sim/ft32/ChangeLog
 35fbe19952189f773641a5f24887cecf  sim/ft32/sim-main.h
 363b2a66f2c0a92bb5ac950379741ec5  sim/Makefile.in
 7649352e08ef6502e6634030453c0fe3  sim/msp430/msp430-sim.h
@@ -6731,10 +6741,10 @@ fb25d6ecc1ffbecd107d90c5ca3abfa9  sim/ft
 73fc5ea60751c0ef5fd4ebd047ad4f70  sim/msp430/config.in
 8013a6e96729aefb5e4f513704e7252f  sim/msp430/configure.ac
 d75ccad46ee7f6022578f9ae01a783a1  sim/msp430/trace.c
-0fdfcc38bafc4f8ddb2d810d54ba0007  sim/msp430/msp430-sim.c
-58c9ca91a200fea21f65aab882bc33c7  sim/msp430/configure
+bf340bbb5e4368052990e8b50b3b02fa  sim/msp430/msp430-sim.c
+900ad603d4baf0865c0163dc499a6c46  sim/msp430/configure
 94500e8b65d9332dee333844d5522a02  sim/msp430/aclocal.m4
-65bf01626ed4b0f19505dd66418cff6a  sim/msp430/ChangeLog
+a6ee4db00ffb2d1e23a8c41bc842a368  sim/msp430/ChangeLog
 daa4411087b4689b118d2ff57386b44f  sim/msp430/trace.h
 8a15f12d5e0a033d7f880d87f23401df  sim/msp430/sim-main.h
 d0b8b3e115925f2f6cfeb4611c9fa299  sim/sh/Makefile.in
@@ -6743,9 +6753,9 @@ b0f0cc90677e31780b5ad41a6c1a3771  sim/sh
 ca5c358d03d333927a88b47a0b3eb4fe  sim/sh/gencode.c
 7b9f263bd55e5192be564c69c3380fbf  sim/sh/interp.c
 485762a39054bcf5bf3a3ee2a4de586f  sim/sh/syscall.h
-c6f9aafd03032f1bb16e6375c234e6ba  sim/sh/configure
+24aa33b745c4b74d02b644dce86c4509  sim/sh/configure
 94500e8b65d9332dee333844d5522a02  sim/sh/aclocal.m4
-8c7d74c8ff0381845db685ef59486693  sim/sh/ChangeLog
+8a4d2911b5585ccdbb799154029872ed  sim/sh/ChangeLog
 535545ca4d3417009f81df580f5572ec  sim/sh/sim-main.h
 afd9cbd34a7ea99ba02812493e0d6712  sim/sh64/eng-media.h
 06342c251a4baf74c0116bc4f6918817  sim/sh64/Makefile.in
@@ -6767,12 +6777,12 @@ d943a2ef93d4d10b4e02653d5436bf48  sim/sh
 adbaac5162470002b83025ae45e56bd2  sim/sh64/mloop-media.c
 5e8017d1dd0529ddb1d39bf0b1294ccf  sim/sh64/decode-compact.c
 f142574ed9bf506c11240686afbf35c4  sim/sh64/sem-compact.c
-fd4edada94124668de1aecab06b365bb  sim/sh64/configure
+cf9598aebc74c65c2b3796b44dd712ea  sim/sh64/configure
 94500e8b65d9332dee333844d5522a02  sim/sh64/aclocal.m4
 63def51a8a6be8769c7c6e7d7d2e3cb2  sim/sh64/arch.c
 c594d9a0aa122b698d304f1381627985  sim/sh64/arch.h
 f00a1f6325a800ce5c4125dc2a483d9f  sim/sh64/cpuall.h
-c3c4b20cc2a1876c132cfe07e6c1e39a  sim/sh64/ChangeLog
+733bac2cf14da08126f681010c762b65  sim/sh64/ChangeLog
 627845cb0164278ef216b8269873236d  sim/sh64/cpu.c
 36adf86f5d4e329474a8e1d666c9aeb2  sim/sh64/sh64.c
 695630134686f4310b3a16974a30a52d  sim/sh64/decode-media.h
@@ -6792,7 +6802,7 @@ cab5a4fe0768734b5971bb14224ea852  sim/fr
 38e072def6ad76278dac90e6269af024  sim/frv/cpu.h
 f8e4413ccfaa705f08c36450ba62a9c6  sim/frv/frv.c
 69a7a7d138f40a235cabd7802ae37666  sim/frv/config.in
-f5179ed5ee3b09c18632b0c7b6addf81  sim/frv/configure.ac
+e3c2b8769a504438be6af872ec676ebc  sim/frv/configure.ac
 37135ed3f26f1d546f044acdb197997f  sim/frv/profile-fr500.h
 1dcb16936dd94db21e5b82f208506a6a  sim/frv/README
 e1449b4499070004e5b780c4f4da3a3b  sim/frv/profile.h
@@ -6809,14 +6819,14 @@ c5dd5a565192b7250db24473d74614a9  sim/fr
 bc754893cd364d87dcc51492b398c62b  sim/frv/profile.c
 7693576f6f0f62bb331898b86b8978d5  sim/frv/sem.c
 b2e4c06f46803c3cdff5987d99ab4d41  sim/frv/profile-fr400.h
-6cff608064ef2fc14ae2d0b938da8afe  sim/frv/configure
+fb47583d02fc8555da0be6bac5ff66f8  sim/frv/configure
 94500e8b65d9332dee333844d5522a02  sim/frv/aclocal.m4
 d782d1030655526fa56fc07860a5307e  sim/frv/profile-fr550.c
 07cf287e3e4640bdc00a4b17cba381e9  sim/frv/arch.c
 241cd239d2ca47e70e23561823370740  sim/frv/arch.h
 96d377a8a525839ea81b06ec389d79ea  sim/frv/cpuall.h
 579edc4040a39e428ec02195a1ca7734  sim/frv/interrupts.c
-7385d211b58491301b7c6bc280f17658  sim/frv/ChangeLog
+488674983acdf3ee25439e0cf15e534e  sim/frv/ChangeLog
 8512377cb993126503804eb0fdea98cf  sim/frv/memory.c
 ec695a7191bb27173ef38d9f38587630  sim/frv/cpu.c
 4327df77a7932a933cf53cd14051fdc0  sim/frv/TODO
@@ -6835,15 +6845,15 @@ bd6a6bcc0de71fc9913cee71555102a1  sim/rl
 0689681634cd6aba04c063621e010001  sim/rl78/main.c
 7a9587ecfd9c3322e9a01def0f65211c  sim/rl78/mem.h
 5144a20b49a93469e90f9b0c673917d2  sim/rl78/rl78.c
-71a8fd7022340b99e0b390ceb1cbcd3c  sim/rl78/configure
+d6b0306864774f8e1fd438209f902956  sim/rl78/configure
 94500e8b65d9332dee333844d5522a02  sim/rl78/aclocal.m4
-817b8fab34dd25fe18f774019b41de40  sim/rl78/ChangeLog
+7ac9a67a1ec2ecfcaef198e705415822  sim/rl78/ChangeLog
 7c3541334d3fa478c6bdcb5e6faf230c  sim/rl78/trace.h
 05a1b101feca68408c5a6b1af32aae7b  sim/rl78/cpu.c
 3aaaa7cd69db38b31cb52ec543d65547  sim/rl78/mem.c
 bd3b7850e9ba4ec4b03fad95616ea6e2  sim/rl78/load.c
 d79029f844024c2d4a81b7683a564dbc  sim/configure.tgt
-fdbe296673c55c8eb03b0223558b30fc  sim/configure.ac
+40a18bb3be968d08344bb1f37370d968  sim/configure.ac
 071749598bc079bfc57c77b17e484809  sim/v850/v850.igen
 343bbcec33069e5661e14fc16b9adf16  sim/v850/simops.h
 693fdce0db547952079cb1f6756fc531  sim/v850/Makefile.in
@@ -6853,9 +6863,9 @@ af2c83244a91504979f6a0b77e9f6219  sim/v8
 223eedd2de477dd31ef550dff8da607d  sim/v850/configure.ac
 5be894a40ad061ddb10cc74af505e506  sim/v850/v850_sim.h
 b98b14a1197d657d96cb1738464eefdf  sim/v850/interp.c
-db6257d57f4d34c8287cf8badbb3dd17  sim/v850/configure
+e84c978a70ea659f4eb95efe564d26a8  sim/v850/configure
 94500e8b65d9332dee333844d5522a02  sim/v850/aclocal.m4
-adf435ae2053d97f83fab732cf2f1522  sim/v850/ChangeLog
+f1c3321d468253a8c928992ebbbd8dbe  sim/v850/ChangeLog
 22190e8e2e7780a44eb4687f18b4d898  sim/v850/sim-main.h
 924cfe85cc51001bf46e2438b832a4c8  sim/.gitignore
 1f5cf428ca37debe71ee37658628afc5  sim/mips/dv-tx3904cpu.c
@@ -6879,13 +6889,13 @@ cee3687af892260ea33bb7cf3022dcc6  sim/mi
 ad1dd62bbde38eda63bef32a6b534987  sim/mips/m16run.c
 d9cbaecd690af101c1f19912c3a60d8e  sim/mips/dsp.c
 0cc85f54d1aaffc21fa0a619b2e23020  sim/mips/mips.dc
-f33091bdfa944a9842ba0e070461a16a  sim/mips/configure
+c291552b691fa3735b1d0e972a645a4d  sim/mips/configure
 94500e8b65d9332dee333844d5522a02  sim/mips/aclocal.m4
 6caa94d0d12732f1a0d893ffa3943c95  sim/mips/m16e.igen
 bf3e148fb49bbaa380095a326cbdcc4d  sim/mips/dv-tx3904sio.c
 8793eaebb46c2a817387548abc7ef322  sim/mips/m16.igen
 df222181912a66a59595e9bd5f3acf22  sim/mips/cp1.c
-1ba1aaeedb38b55d359ac4b58531343c  sim/mips/ChangeLog
+099107b1e20fefb6ecb2ae798171428c  sim/mips/ChangeLog
 3970b6436272e2e4d8785709d60684f9  sim/mips/mdmx.c
 91913bd72a0a8dcc51a5bae4ac74e0ec  sim/mips/sim-main.c
 92837b88c82b15829d2058c431fb2f82  sim/mips/dsp.igen
@@ -6897,9 +6907,9 @@ b0f0cc90677e31780b5ad41a6c1a3771  sim/mi
 4fd7d5cbb66b6464378dc46dbb044d44  sim/microblaze/microblaze.h
 d873c0ac1f641977c881b68f95bcc015  sim/microblaze/microblaze.isa
 327544a002290778609f0d4aaa9bbb95  sim/microblaze/interp.c
-c6f9aafd03032f1bb16e6375c234e6ba  sim/microblaze/configure
+24aa33b745c4b74d02b644dce86c4509  sim/microblaze/configure
 94500e8b65d9332dee333844d5522a02  sim/microblaze/aclocal.m4
-2146fda55f061452604bdbcdfde9f54b  sim/microblaze/ChangeLog
+8549ea26ac4d901f05e93f72ef626e32  sim/microblaze/ChangeLog
 73fab8f6658ea08a96c1f45aa3c493e4  sim/microblaze/sim-main.h
 4df1e3036760c5d9c75c50f6c56c79ac  sim/d10v/Makefile.in
 e5cf22c09be2b59e6291176e78ee62e1  sim/d10v/simops.c
@@ -6908,10 +6918,10 @@ b0f0cc90677e31780b5ad41a6c1a3771  sim/d1
 0eb6995da792c664e964912034422d30  sim/d10v/gencode.c
 ff7542bc42749477b3e84ebbafcaf77f  sim/d10v/d10v_sim.h
 6c8a2dbb321b15a20363cca4477089b9  sim/d10v/interp.c
-c6f9aafd03032f1bb16e6375c234e6ba  sim/d10v/configure
+24aa33b745c4b74d02b644dce86c4509  sim/d10v/configure
 94500e8b65d9332dee333844d5522a02  sim/d10v/aclocal.m4
 dc5f635dd9eaa4afd8f922f826f12ac9  sim/d10v/endian.c
-61bceaffcbb8e5ed6e6c77172ba46831  sim/d10v/ChangeLog
+b19c0f5b554e745be58b13f411e49cb6  sim/d10v/ChangeLog
 895be22a1d80aafb087c9fc52f3bfebd  sim/d10v/sim-main.h
 6f85f5b126eda2839d687ef1b5cc9587  sim/testsuite/config/default.exp
 09db0759c17936e2d8cf6dea6eda8fb1  sim/testsuite/common/Makefile.in
@@ -10202,17 +10212,17 @@ be230dfdf2fc8a9548a086fd285ea00e  sim/te
 8fbdb6c15a76f0de733e47f628fd260f  sim/avr/config.in
 ecf1d10fa19db8de9d59f842a21cffa7  sim/avr/configure.ac
 a22d167d21e7e012ff080923015a24c7  sim/avr/interp.c
-971f96bb7f137414183aa45a06f4d9dd  sim/avr/configure
+3366002151e5c5b8858a667a2dc5b021  sim/avr/configure
 94500e8b65d9332dee333844d5522a02  sim/avr/aclocal.m4
-1c52fcafb08097bee5a952b6d10124e8  sim/avr/ChangeLog
+d981dffea040174c21b3da950d18548d  sim/avr/ChangeLog
 c6c10d403c38b44118fdda38b56345f1  sim/avr/sim-main.h
 779c862a2e49674da9980eb3c5240135  sim/mcore/Makefile.in
 8fbdb6c15a76f0de733e47f628fd260f  sim/mcore/config.in
 b0f0cc90677e31780b5ad41a6c1a3771  sim/mcore/configure.ac
 8d0262baf0ef2633e7cad9a63fbb2652  sim/mcore/interp.c
-c6f9aafd03032f1bb16e6375c234e6ba  sim/mcore/configure
+24aa33b745c4b74d02b644dce86c4509  sim/mcore/configure
 94500e8b65d9332dee333844d5522a02  sim/mcore/aclocal.m4
-08e3e7c91bf715a7ee79c496003275ff  sim/mcore/ChangeLog
+fea3666a76eb0c1ada04aedde3a64b23  sim/mcore/ChangeLog
 e4cc105f2f616d2d0bf070f5e421d899  sim/mcore/sim-main.h
 630603d1d9b1e3086839caef636d1527  sim/lm32/model.c
 f5e849d3fdc87f38d9154086dfe0bf68  sim/lm32/dv-lm32cpu.c
@@ -10229,12 +10239,12 @@ d951bfa94caeaea8fcb262b4bbd40279  sim/lm
 6e7c8718de95337146a038b8769e0235  sim/lm32/dv-lm32uart.c
 5eb2a37488461fe51b6868ba2fda30ef  sim/lm32/sem.c
 1a60b67b454915eeac1a976e1569b42c  sim/lm32/user.c
-5720aff522d57c7625fd0931328457ad  sim/lm32/configure
+8a9f42082560ccde4a78b35c0d39893a  sim/lm32/configure
 94500e8b65d9332dee333844d5522a02  sim/lm32/aclocal.m4
 eadebb312e70c0ec1aafa72ed6f5fcab  sim/lm32/arch.c
 48be302e50e6e520a4011c34112f6e0c  sim/lm32/arch.h
 c502b00f331409dc33fc86315292fbc9  sim/lm32/cpuall.h
-b091a701fdeb004c5efdfa40b1552e97  sim/lm32/ChangeLog
+3ef568a50d5652f169ac06eeb8008371  sim/lm32/ChangeLog
 098aab3f9f410deb21674f4b83634045  sim/lm32/cpu.c
 3fdab03fb76b817d54dc50fc072af7a8  sim/lm32/decode.c
 306ff81e15a551279b0778beb994e809  sim/lm32/dv-lm32timer.c
@@ -10248,10 +10258,10 @@ f1893eba09d78424bf3c79885cb7df54  sim/lm
 b0f0cc90677e31780b5ad41a6c1a3771  sim/cr16/configure.ac
 45e55c8a8bef39bab37a990af939bdfc  sim/cr16/gencode.c
 29985b3fb753328119631ceaa4003379  sim/cr16/interp.c
-c6f9aafd03032f1bb16e6375c234e6ba  sim/cr16/configure
+24aa33b745c4b74d02b644dce86c4509  sim/cr16/configure
 94500e8b65d9332dee333844d5522a02  sim/cr16/aclocal.m4
 db88650577da8927851e66c7daa3acd9  sim/cr16/endian.c
-34043d49d8f0bf24090a0745fcfe3269  sim/cr16/ChangeLog
+32153aca928739c65c72458c450cac32  sim/cr16/ChangeLog
 54a8891f3e21ff74873352907b559f08  sim/cr16/sim-main.h
 518619a202738fc3b1b67dc747bd4feb  sim/ppc/e500.igen
 386b3912ba8b7e2502e9b6a3335dab80  sim/ppc/basics.h
@@ -10404,9 +10414,9 @@ c5fc0ac18cf227f20bd9e218f219d811  sim/h8
 2c43b2ab1c16c4827647481db1837504  sim/h8300/config.in
 54783a59ee13a00dc98d54edc653760b  sim/h8300/configure.ac
 c01963fea6b08f99bc20259c6c1b3a45  sim/h8300/tconfig.h
-790ebea4181189154101c85741918efb  sim/h8300/configure
+a03ee70927d4aa5b55d52e0ad458e050  sim/h8300/configure
 94500e8b65d9332dee333844d5522a02  sim/h8300/aclocal.m4
-04353ccbcf356b24613d6c5d68cf0574  sim/h8300/ChangeLog
+4e7d256a09f223a8c319c1e1596bc1ca  sim/h8300/ChangeLog
 5a198f6b19aed858570b289330bf44f2  sim/h8300/writecode.c
 cfb96073c298b3ef87108655329547d2  sim/h8300/sim-main.h
 29d12131a0f7612f30997d3ba7160bcf  sim/cris/Makefile.in
@@ -10431,14 +10441,14 @@ c15682a2b42bfb731c870b3198af33c9  sim/cr
 830b0b4d0ea3e799c9b07c5861647b66  sim/cris/devices.c
 886ecc490a455ea48484c9dafdb43c7d  sim/cris/decodev10.h
 9a4e0da446c9dfbff8ce4e549fce0ce6  sim/cris/dv-cris.c
-e3528e55ee1538cc9a7b9dadd1df08cf  sim/cris/configure
+37fa54493978c53e45d74b7295e70862  sim/cris/configure
 04ae25097808e322e4aad2a9464ac39d  sim/cris/cris-opc.h
 94500e8b65d9332dee333844d5522a02  sim/cris/aclocal.m4
 97fa65cf850f6cf54b0f7226dc305db0  sim/cris/arch.c
 78ec78d9391b9125cafedca56ea54915  sim/cris/dv-rv.c
 9ead2baca0580d0be20e4007b943d4df  sim/cris/arch.h
 42e6fdc2f65b6b6a174cdc08026cb424  sim/cris/cpuall.h
-d09b014a1a313bee1cb5e1d1e7f8e2d6  sim/cris/ChangeLog
+032415cab69f92d16678f750f8c7cae1  sim/cris/ChangeLog
 70dc2f9cfe6a352f2fa3005a06b91386  sim/cris/cris-desc.h
 eeb31e0a6fa53920bd20323c7fba49ff  sim/cris/cris-sim.h
 9bc044025c516c43df2d88e7a9037890  sim/cris/cpuv10.c
@@ -10446,7 +10456,7 @@ cc97cffcb63f54c167a490631546161e  sim/cr
 30c415e85b2387acbd5ad6ef12220828  sim/cris/modelv10.c
 3edb625e53c784808d80f11c5fe86dc4  sim/cris/sim-main.h
 9e213372227c80d85dd9aba5becc039e  sim/cris/sim-if.c
-b5292dc3169003eeb92b0676dc3ab1a1  sim/configure
+2bc0d1a050cdfc51366957e8753cdd79  sim/configure
 fc54b7cf78b0ee140d242e57253b448e  sim/m32c/srcdest.c
 97d265aa9427337e6b2830a29a0a702b  sim/m32c/m32c.opc
 8829ae083fc80fd38de20115761711bc  sim/m32c/Makefile.in
@@ -10468,12 +10478,12 @@ cbefe4b4837f21d303336094e782ff6f  sim/m3
 6d9da437af63c1062e2f8f42fbea6533  sim/m32c/sample.S
 24e2f861da06951620983b5a9ca6efe2  sim/m32c/syscall.h
 00890c551b38733a4b6e17b154f6d214  sim/m32c/syscalls.c
-4acdbd0ca5b5e0f1c1ae2084514aa5e8  sim/m32c/configure
+256b7e556bab6d6a424b14a9c328bba7  sim/m32c/configure
 35cb5717464d63f5baad9f1c5aa8bad5  sim/m32c/sample2.c
 94500e8b65d9332dee333844d5522a02  sim/m32c/aclocal.m4
 9b84e6cbe58af82bbd774c07faea3886  sim/m32c/syscalls.h
 4285d06a3294a176aa8bcaf8ee947323  sim/m32c/blinky.S
-22ad664f6361d1229f0bb5a85fdda796  sim/m32c/ChangeLog
+a5b64343b0f5c7603cf52d2b99117ace  sim/m32c/ChangeLog
 49aff67db2ee6613dbf4656d1f26376d  sim/m32c/trace.h
 1a1d38cbdbbb86dcf06fb91d37fe5fff  sim/m32c/reg.c
 ff2a2e4d284e828c0caa1621b948d2e6  sim/m32c/sample.ld
@@ -10482,7 +10492,7 @@ f3275bae290d3ff08225d48b86a4dd48  sim/m3
 3a7a888ff92ae2e4be132abd942b0bc9  sim/m32c/mem.c
 733c48915afb7cfe4714df8dc06c3f4a  sim/m32c/load.c
 cb87fd714db7128fd33b88052c5f964e  sim/m32c/safe-fgets.h
-e5727db8d460e3026ee73607ebd73bc2  sim/ChangeLog
+5178d430841bc60c7a89a23e2d820bf3  sim/ChangeLog
 b22940d1be0ba3ba0a66d3d1bbe1c9d8  sim/m32r/mloopx.in
 0eb4408b64edffb00dd0137535eaf068  sim/m32r/model.c
 a0179f2762e5e1284bd4cfe4b251f1be  sim/m32r/cpu2.c
@@ -10510,12 +10520,12 @@ e2aedce784171226454dd4d6391ec705  sim/m3
 48e53406fe6a1a2a2d0d57fd4faeddb5  sim/m32r/decode2.c
 ba40cfd2a1d3a587dd5c402979f84dae  sim/m32r/sem.c
 5a81b6c020b8978ae344f5a6ceb91615  sim/m32r/m32r-sim.h
-21b8350cf6edd413dba51c84df107720  sim/m32r/configure
+898bbabcd00347bea22a846bdad939cf  sim/m32r/configure
 94500e8b65d9332dee333844d5522a02  sim/m32r/aclocal.m4
 5dbf7e4c8476ebada494244d06ff76ef  sim/m32r/arch.c
 f2040c81233cebd69aa621650a0048b3  sim/m32r/arch.h
 ded26108079f64d9a41cdfd3b556dbcb  sim/m32r/cpuall.h
-3d990bc7fbe319b1dc1c063d1a147ebc  sim/m32r/ChangeLog
+cfa27b3e3bf676a5e074cf8364ca1efc  sim/m32r/ChangeLog
 09093dd9799154f26e638610a30fd2cb  sim/m32r/sem2-switch.c
 68bfe7a925f3c52fdfbcfeec5afca92b  sim/m32r/cpu.c
 7aa7d02d4d195447e0ae6c176fc6ceb4  sim/m32r/TODO
@@ -10537,10 +10547,10 @@ e06e3a05fd2d7cef72aadf7548590a44  sim/mn
 a7335227cef936abda2f0c8402e79570  sim/mn10300/mn10300.igen
 8195a716b013fd5d6ab7006e42adf7be  sim/mn10300/mn10300_sim.h
 51e474366461d5fb63a7a11786549396  sim/mn10300/dv-mn103cpu.c
-2f501622fc916dd387d2f122ee2cbb5c  sim/mn10300/configure
+a115b02cbc8488f56f2da354177adec0  sim/mn10300/configure
 94500e8b65d9332dee333844d5522a02  sim/mn10300/aclocal.m4
 1ebef69e39d2737e4515396c01cafe0c  sim/mn10300/dv-mn103int.c
-c6467ef41e08c333d02c295dc1d38956  sim/mn10300/ChangeLog
+074e893b3dba430ec525fa0f1f4bcd71  sim/mn10300/ChangeLog
 f6bf85de8ddaa0112e07eb6c33bc70d3  sim/mn10300/dv-mn103iop.c
 9560a29b6c94d4955a447290ab5d050a  sim/mn10300/sim-main.c
 629e128406ad2397987d1481cf36aacb  sim/mn10300/op_utils.c
@@ -10561,10 +10571,10 @@ b1ea8c9fb1efdf6c9dc5984406d4b3ea  sim/er
 7e0012bc8b53721d74bf5b45f9477f57  sim/erc32/erc32.c
 9f2cbd625dfef51b3d1162ba9dbb8a4f  sim/erc32/NEWS
 ac079d83c79a7ffb341f16dc7fb25cb5  sim/erc32/sis.c
-eb128ba356a10e96d2fec81821ecc79a  sim/erc32/configure
+d954702ba2dcc295f29e87b6f0d0286a  sim/erc32/configure
 00b60a360ce34adec8bc19cb84b648be  sim/erc32/interf.c
 94500e8b65d9332dee333844d5522a02  sim/erc32/aclocal.m4
-942e5e0c5048c424a56b91cf19daac77  sim/erc32/ChangeLog
+053c7d97b367f59023b3ad2a7972b452  sim/erc32/ChangeLog
 ce58de7fe1b8736ff94d663cb47bcf4a  sim/erc32/README.gdb
 e6ff4bba6034378d7d8d7655a3346dbc  sim/iq2000/model.c
 762ae753bf6c229bfb2edde670f45cab  sim/iq2000/Makefile.in
@@ -10577,12 +10587,12 @@ fd3d309b6d1135feb3bf48220278291e  sim/iq
 6465e1c46af3dd17f3568778418ea59a  sim/iq2000/mloop.in
 62e9da3ab927e4a7629664e5defcc8b5  sim/iq2000/iq2000-sim.h
 5f4daa3eaa1ee42fb22963b2b434e94b  sim/iq2000/sem.c
-a5cc823fe8c6020b43a2bffaac555656  sim/iq2000/configure
+aecdcb87900b9805f6ac274e9c3c8b58  sim/iq2000/configure
 94500e8b65d9332dee333844d5522a02  sim/iq2000/aclocal.m4
 82da70064f6beb21d4d2d0433de3b835  sim/iq2000/arch.c
 cb70263be4776c2cb1f015153e02aa13  sim/iq2000/arch.h
 920c9dc8b6e381f72cd8926e8417fcec  sim/iq2000/cpuall.h
-3c40e67628866fffbbae325738aa0f00  sim/iq2000/ChangeLog
+f3be482feebc7953ac9df6f04de9f32e  sim/iq2000/ChangeLog
 9114976df879f672d4ab5ba52f6bb58f  sim/iq2000/cpu.c
 6e0b3d7b9f06ce61c6a76e93151cb275  sim/iq2000/decode.c
 0a70defb7372cde4f03f14dc119e822b  sim/iq2000/sim-main.h
@@ -10590,12 +10600,12 @@ cb70263be4776c2cb1f015153e02aa13  sim/iq
 35415bc9a4d824ca60898ffccc46758f  sim/iq2000/sim-if.c
 e85b3c26ee8c58db2fd02b5bbc520d6c  sim/README-HACKING
 fc3ec7a805a7008ef3aae6887efa5114  sim/arm/iwmmxt.h
-cc999c3b74d4252f728aa7081ec0d86c  sim/arm/Makefile.in
+8df19faf8c32c242d381f92747db3194  sim/arm/Makefile.in
 03b14a3b665359a8f5c370a05845333d  sim/arm/armopts.h
 c57f748d021cdca072f9436f883888a6  sim/arm/armrdi.c
-4100eeabed18f1ed4527cc2e31b17ff7  sim/arm/thumbemu.c
-18c8df81d5eb334494f53c4f7387a5c3  sim/arm/wrapper.c
-c8347d1266851f97bcb36b8034d6599a  sim/arm/armemu.c
+c4cd27f0cba3a351a473c4d49abdfc4f  sim/arm/thumbemu.c
+baaf265b9a1058a945d8a757d514f430  sim/arm/wrapper.c
+6e3adf7ae74464ba7a67e16a83167f09  sim/arm/armemu.c
 ca51b32cfc5beeb13c58076d6fccb23a  sim/arm/kid.c
 8fbdb6c15a76f0de733e47f628fd260f  sim/arm/config.in
 b0f0cc90677e31780b5ad41a6c1a3771  sim/arm/configure.ac
@@ -10605,7 +10615,7 @@ e0da3f51f6cafb308745e8e5ff2f344f  sim/ar
 8fb85063fb6e0c7c8397b2baed218cc6  sim/arm/armfpe.h
 ab9375417be83152de0e0c83a20e5349  sim/arm/bag.c
 f339f746a0abac9a17e194351b6ba8af  sim/arm/communicate.h
-26116c8ff9903eea1e4cbab4174de6af  sim/arm/armdefs.h
+5c246d53adbc53bb5a8af12fbf551aa7  sim/arm/armdefs.h
 b76e3245b8c035ee9d45ab19c173c34e  sim/arm/main.c
 ab3c82525b1989764933f3e61cc33fd1  sim/arm/dbg_conf.h
 fd8863acb8f63c3d5868de464a9c3761  sim/arm/bag.h
@@ -10613,19 +10623,19 @@ c951b34c9ee2249f81aa7d65d316ebbb  sim/ar
 618e23218ebbac6c07069d16c1088512  sim/arm/iwmmxt.c
 af13476a413b9a86f20b50cb8cb764e7  sim/arm/armvirt.c
 261e3303a50263648a22dd6a89a5aa44  sim/arm/armos.h
-c6f9aafd03032f1bb16e6375c234e6ba  sim/arm/configure
+24aa33b745c4b74d02b644dce86c4509  sim/arm/configure
 94500e8b65d9332dee333844d5522a02  sim/arm/aclocal.m4
 eb6d5ee4bddcbed1338c32dd4d8d2bdf  sim/arm/dbg_rdi.h
-3f57b46a63886ddd43f71ac36e9b4db8  sim/arm/ChangeLog
-9345064afb344adb217fbef1f0b72970  sim/arm/armsupp.c
+46edc1d1c5244143763bda8baca6d684  sim/arm/ChangeLog
+d59904186526adf08ab334f1097b744c  sim/arm/armsupp.c
 45b828c2bb48b0320b1a93b21abd8710  sim/arm/arminit.c
 d32239bcb673463ab874e80d47fae504  sim/arm/COPYING
 a359015086142670d64e27d49df83aa5  sim/arm/gdbhost.c
 d29a09c09be1cee4f0c08d1ddd7f4935  sim/arm/maverick.c
 3c75306ed78064f99a66fa3a7a0dd3e2  sim/arm/parent.c
-e58e0f66d12e17c2cd2d975d3d3cb1c8  sim/arm/armos.c
-03a80430be59e1278515f1d7d1a4a34b  sim/arm/armemu.h
-bb4ab5cb5c4609918938ea602a3771a3  sim/arm/dbg_hif.h
+29600683966380187bbfcb1434b4ac77  sim/arm/armos.c
+baea1fbca873f544abe03808cf41ebdf  sim/arm/armemu.h
+629fd0c6fb6ef18a08aff8e7c010e70a  sim/arm/dbg_hif.h
 3e5f2f513a0bf22dd7b1e4e818a60781  sim/arm/dbg_cp.h
 4001e1d4448640f3644416bdea176625  sim/arm/sim-main.h
 eb5beec3315e7516ee98d8babe7857ba  sim/bfin/devices.h
@@ -10666,7 +10676,7 @@ e977817443ae07ef70f4cbf29c88dd81  sim/bf
 3c68fb2e6a053d7156446bf787d86dc3  sim/bfin/dv-bfin_gpio.c
 ff342f947d81497a6014b52808bb10f5  sim/bfin/gui.c
 1f7c404051e229f29fdb6f2fa8e8fa50  sim/bfin/dv-bfin_ebiu_ddrc.h
-7c760d6660e09c4130fb185c63a90e7b  sim/bfin/interp.c
+2568c26b792f4f6825c4dddaba00680d  sim/bfin/interp.c
 3f48c0b1a231abf5d21baeefbbf2f0bc  sim/bfin/dv-bfin_nfc.h
 1b168a27ffc53f87429462c570b35edc  sim/bfin/dv-bfin_pint.h
 63a796ac11bd7295acc0f95254813783  sim/bfin/dv-bfin_ebiu_sdc.h
@@ -10714,13 +10724,13 @@ c549474a3d8c3650e4125e352a351c74  sim/bf
 c67b2baec67606a371bbe00edcc3dce8  sim/bfin/bfroms/bf537-0.0.h
 5adab916fb31ab258e8dccf97e448833  sim/bfin/dv-bfin_dma.h
 0dd7fe5ec03073488102d4812252d78a  sim/bfin/dv-bfin_uart.c
-588e1518483ce90e99ef2067792c9bd3  sim/bfin/configure
+0098ccc8e505aadbad346219f262eae0  sim/bfin/configure
 c393cee85d3cfa548f38323f1b96e0f7  sim/bfin/dv-bfin_uart.h
 15063e900344de2092f3f12fce27f60b  sim/bfin/aclocal.m4
 da78a4e7e2be595df7a408f4d2dd67a0  sim/bfin/dv-bfin_pll.c
 aec5364218eee14bd2b46b2d59705ca2  sim/bfin/dv-bfin_evt.h
 b069b95ede7e2e014874f80bf03e034d  sim/bfin/insn_list.def
-9d6e305b8e9a95510ea084049ecba61f  sim/bfin/ChangeLog
+e4e9fc3ce4949341b8297b2c4c62068d  sim/bfin/ChangeLog
 5ec880b0d83ee871c1e8530992044a0d  sim/bfin/TODO
 18fd5a4be9aaa1ba073921e258583799  sim/bfin/dv-bfin_wp.h
 cb6642945b45f02940ac4d89a4b407ca  sim/bfin/dv-bfin_pint.c
@@ -10733,7 +10743,7 @@ a0a11d8887c6477b6466b9b8f0f28ae3  sim/bf
 092df6095573d91a9986bfe651bebaa8  sim/bfin/dv-bfin_emac.h
 cb9b72684a98128d2edcdafc3f7480d2  sim/bfin/bfin-sim.h
 7995d6756d4a88d2eff9428cf0b0ffdb  sim/bfin/dv-bfin_dmac.h
-ecb7d65de3fc185ff65e57de1811eeae  sim/bfin/sim-main.h
+78e11cbd9b0ab5773a7b0d306e4c96c1  sim/bfin/sim-main.h
 9c2db72296cda75ac73c65668d1ab811  sim/bfin/dv-bfin_sic.h
 a82bf9f7fc6c7548a9c410ad6d5ac3a8  sim/bfin/linux-fixed-code.s
 50d6e6b80c030883f790d522bef4cf58  sim/bfin/dv-bfin_pfmon.h
@@ -10752,11 +10762,11 @@ ac736a6fd95b538d9dbc9b39e96911da  sim/m6
 6dbe31e686ea054ab285f685c9a705f7  sim/m68hc11/interp.c
 9456e79df388cee824c526e332a4b05a  sim/m68hc11/interrupts.h
 37a89beb896f81cc2bf38399fde04be0  sim/m68hc11/dv-nvram.c
-920370df347960875f41f862c86ede5e  sim/m68hc11/configure
+93f7e027cad96166d44547182998a10b  sim/m68hc11/configure
 622dde1c3c21ab4cb989faefafb9c68e  sim/m68hc11/emulos.c
 94500e8b65d9332dee333844d5522a02  sim/m68hc11/aclocal.m4
 d272ad104f1c84e570092e540424f8ea  sim/m68hc11/interrupts.c
-021c0d6634487f7eddb40e1e30eba01e  sim/m68hc11/ChangeLog
+ebabea19fa7a840e694e501c78075912  sim/m68hc11/ChangeLog
 4cac7e234232377ecc9044a4f0f86445  sim/m68hc11/dv-m68hc11eepr.c
 c622ae2c0bab08931784a14b4351e019  sim/m68hc11/m68hc11_sim.c
 9abff833140e71e462c3348a983fbe3e  sim/m68hc11/sim-main.h
@@ -10768,7 +10778,7 @@ a26defa8c927df1fc71cbaebc01882f2  sim/rx
 862d1de9463d3dadbfb34560890ce11a  sim/rx/err.h
 9806312867ac52ca3aa05d16e81b5c0f  sim/rx/cpu.h
 7c410c508ae3fb846b2ac744433d2c04  sim/rx/config.in
-965cb99aa097456abd62e909229e662d  sim/rx/configure.ac
+d83e35d6a58fb4d4b841e87e02a9f5f7  sim/rx/configure.ac
 e58d04ed82c86125b9a5d84c04d64394  sim/rx/trace.c
 04b6a54adef2216df6b3a9fa7a9f492d  sim/rx/load.h
 af6d788966044e24aa09fff6cf70b311  sim/rx/misc.c
@@ -10778,10 +10788,10 @@ deee92aeeefb12b0bd11a8f85016e09b  sim/rx
 cebe547a409193f7e2d6adbc5e1c5706  sim/rx/fpu.c
 6aa98ea94b173ec5f523beda343843f6  sim/rx/err.c
 0e89db1dc09f3d3e9c27da460c98d53d  sim/rx/syscalls.c
-2f5958618a06dfe36a3c323d771dba6e  sim/rx/configure
+9ecd57a435e51991c5a4531a0d32f4c9  sim/rx/configure
 94500e8b65d9332dee333844d5522a02  sim/rx/aclocal.m4
 7c59c6e5ba9ee59dadf36bc996c4d0bb  sim/rx/syscalls.h
-91c9b5f7f5ff5209e2d1108af310f21f  sim/rx/ChangeLog
+394f5a755dc95114cfafc740d9a665b4  sim/rx/ChangeLog
 7c6d66ae15a102e7f246188def144971  sim/rx/trace.h
 fce76be2ab7618b7d6a69853f312fd72  sim/rx/reg.c
 a6b02aac7f6f333707071d7598b7ccab  sim/rx/fpu.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.20150623/sim/arm/armdefs.h ./sim/arm/armdefs.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/arm/armdefs.h	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/arm/armdefs.h	2015-06-30 01:48:32.000000000 +0000
@@ -17,6 +17,7 @@
 #include "config.h"
 #include <stdio.h>
 #include <stdlib.h>
+#include <stdint.h>
 
 #define FALSE 0
 #define TRUE 1
@@ -25,22 +26,10 @@
 #define LOWHIGH 1
 #define HIGHLOW 2
 
-#ifndef __STDC__
-typedef char *VoidStar;
-#endif
-
-#ifdef HAVE_STDINT_H
-#include <stdint.h>
 typedef uint32_t ARMword;
 typedef int32_t ARMsword;
 typedef uint64_t ARMdword;
 typedef int64_t ARMsdword;
-#else
-typedef unsigned int ARMword;	/* must be 32 bits wide */
-typedef signed int ARMsword;
-typedef unsigned long long ARMdword;	/* Must be at least 64 bits wide.  */
-typedef signed long long ARMsdword;
-#endif
 typedef struct ARMul_State ARMul_State;
 
 typedef unsigned ARMul_CPInits (ARMul_State * state);
@@ -60,6 +49,25 @@ typedef unsigned ARMul_CPReads (ARMul_St
 typedef unsigned ARMul_CPWrites (ARMul_State * state, unsigned reg,
 				 ARMword value);
 
+typedef double ARMdval;	/* FIXME: Must be a 64-bit floating point type.  */
+typedef float  ARMfval;	/* FIXME: Must be a 32-bit floating point type.  */
+
+typedef union
+{
+  ARMword  uword[2];
+  ARMsword sword[2];
+  ARMfval  fval[2];
+  ARMdword dword;
+  ARMdval  dval;
+} ARM_VFP_reg;
+
+#define VFP_fval(N)  (state->VFP_Reg[(N)>> 1].fval[(N) & 1])
+#define VFP_uword(N) (state->VFP_Reg[(N)>> 1].uword[(N) & 1])
+#define VFP_sword(N) (state->VFP_Reg[(N)>> 1].sword[(N) & 1])
+
+#define VFP_dval(N)  (state->VFP_Reg[(N)].dval)
+#define VFP_dword(N) (state->VFP_Reg[(N)].dword)
+
 struct ARMul_State
 {
   ARMword Emulate;		/* to start and stop emulation */
@@ -149,6 +157,9 @@ struct ARMul_State
   unsigned is_iWMMXt;		/* Are we emulating an iWMMXt co-processor ?  */
   unsigned is_ep9312;		/* Are we emulating a Cirrus Maverick co-processor ?  */
   unsigned verbose;		/* Print various messages like the banner */
+
+  ARM_VFP_reg  VFP_Reg[32];     /* Advanced SIMD registers.  */
+  ARMword      FPSCR;		/* Floating Point Status Register.  */
 };
 
 #define ResetPin NresetSig
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.20150623/sim/arm/armemu.c ./sim/arm/armemu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/arm/armemu.c	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/arm/armemu.c	2015-06-30 01:48:32.000000000 +0000
@@ -6,12 +6,12 @@
     it under the terms of the GNU General Public License as published by
     the Free Software Foundation; either version 3 of the License, or
     (at your option) any later version.
- 
+
     This program is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     GNU General Public License for more details.
- 
+
     You should have received a copy of the GNU General Public License
     along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
@@ -265,6 +265,11 @@ extern int stop_simulator;
 static int
 handle_v6_insn (ARMul_State * state, ARMword instr)
 {
+  ARMword val;
+  ARMword Rd;
+  ARMword Rm;
+  ARMword Rn;
+
   switch (BITS (20, 27))
     {
 #if 0
@@ -280,29 +285,427 @@ handle_v6_insn (ARMul_State * state, ARM
     case 0x1d: printf ("Unhandled v6 insn: ldrexb\n"); break;
     case 0x1e: printf ("Unhandled v6 insn: strexh\n"); break;
     case 0x1f: printf ("Unhandled v6 insn: ldrexh\n"); break;
-    case 0x30: printf ("Unhandled v6 insn: movw\n"); break;
     case 0x32: printf ("Unhandled v6 insn: nop/sev/wfe/wfi/yield\n"); break;
-    case 0x34: printf ("Unhandled v6 insn: movt\n"); break;
     case 0x3f: printf ("Unhandled v6 insn: rbit\n"); break;
 #endif
     case 0x61: printf ("Unhandled v6 insn: sadd/ssub\n"); break;
-    case 0x62: printf ("Unhandled v6 insn: qadd/qsub\n"); break;
     case 0x63: printf ("Unhandled v6 insn: shadd/shsub\n"); break;
-    case 0x65: printf ("Unhandled v6 insn: uadd/usub\n"); break;
-    case 0x66: printf ("Unhandled v6 insn: uqadd/uqsub\n"); break;
-    case 0x67: printf ("Unhandled v6 insn: uhadd/uhsub\n"); break;
-    case 0x68: printf ("Unhandled v6 insn: pkh/sxtab/selsxtb\n"); break;
     case 0x6c: printf ("Unhandled v6 insn: uxtb16/uxtab16\n"); break;
     case 0x70: printf ("Unhandled v6 insn: smuad/smusd/smlad/smlsd\n"); break;
     case 0x74: printf ("Unhandled v6 insn: smlald/smlsld\n"); break;
     case 0x75: printf ("Unhandled v6 insn: smmla/smmls/smmul\n"); break;
     case 0x78: printf ("Unhandled v6 insn: usad/usada8\n"); break;
-    case 0x7a: printf ("Unhandled v6 insn: usbfx\n"); break;
-    case 0x7c: printf ("Unhandled v6 insn: bfc/bfi\n"); break;
+
+    case 0x30:
+      {
+	/* MOVW<c> <Rd>,#<imm16>
+	   instr[31,28] = cond
+	   instr[27,20] = 0011 0000
+	   instr[19,16] = imm4
+	   instr[15,12] = Rd
+	   instr[11, 0] = imm12.  */
+	Rd = BITS (12, 15);
+	val = (BITS (16, 19) << 12) | BITS (0, 11);
+	state->Reg[Rd] = val;
+	return 1;
+      }
+
+    case 0x34:
+      {
+	/* MOVT<c> <Rd>,#<imm16>
+	   instr[31,28] = cond
+	   instr[27,20] = 0011 0100
+	   instr[19,16] = imm4
+	   instr[15,12] = Rd
+	   instr[11, 0] = imm12.  */
+	Rd = BITS (12, 15);
+	val = (BITS (16, 19) << 12) | BITS (0, 11);
+	state->Reg[Rd] &= 0xFFFF;
+	state->Reg[Rd] |= val << 16;
+	return 1;
+      }
+
+    case 0x62:
+      {
+	ARMword val1;
+	ARMword val2;
+	ARMsword n, m, r;
+	int i;
+
+	Rd = BITS (12, 15);
+	Rn = BITS (16, 19);
+	Rm = BITS (0, 3);
+
+	if (Rd == 15 || Rn == 15 || Rm == 15)
+	  break;
+
+	val1 = state->Reg[Rn];
+	val2 = state->Reg[Rm];
+
+	switch (BITS (4, 11))
+	  {
+	  case 0xF1: /* QADD16<c> <Rd>,<Rn>,<Rm>.  */
+	    state->Reg[Rd] = 0;
+
+	    for (i = 0; i < 32; i+= 16)
+	      {
+		n = (val1 >> i) & 0xFFFF;
+		if (n & 0x8000)
+		  n |= -1 << 16;
+
+		m = (val2 >> i) & 0xFFFF;
+		if (m & 0x8000)
+		  m |= -1 << 16;
+
+		r = n + m;
+
+		if (r > 0x7FFF)
+		  r = 0x7FFF;
+		else if (r < -(0x8000))
+		  r = - 0x8000;
+
+		state->Reg[Rd] |= (r & 0xFFFF) << i;
+	      }	
+	    return 1;
+
+	  case 0xF3: /* QASX<c> <Rd>,<Rn>,<Rm>.  */
+	    n = val1 & 0xFFFF;
+	    if (n & 0x8000)
+	      n |= -1 << 16;
+
+	    m = (val2 >> 16) & 0xFFFF;
+	    if (m & 0x8000)
+	      m |= -1 << 16;
+
+	    r = n - m;
+
+	    if (r > 0x7FFF)
+	      r = 0x7FFF;
+	    else if (r < -(0x8000))
+	      r = - 0x8000;
+
+	    state->Reg[Rd] = (r & 0xFFFF);
+
+	    n = (val1 >> 16) & 0xFFFF;
+	    if (n & 0x8000)
+	      n |= -1 << 16;
+
+	    m = val2 & 0xFFFF;
+	    if (m & 0x8000)
+	      m |= -1 << 16;
+
+	    r = n + m;
+
+	    if (r > 0x7FFF)
+	      r = 0x7FFF;
+	    else if (r < -(0x8000))
+	      r = - 0x8000;
+
+	    state->Reg[Rd] |= (r & 0xFFFF) << 16;
+	    return 1;
+
+	  case 0xF5: /* QSAX<c> <Rd>,<Rn>,<Rm>.  */
+	    n = val1 & 0xFFFF;
+	    if (n & 0x8000)
+	      n |= -1 << 16;
+
+	    m = (val2 >> 16) & 0xFFFF;
+	    if (m & 0x8000)
+	      m |= -1 << 16;
+
+	    r = n + m;
+
+	    if (r > 0x7FFF)
+	      r = 0x7FFF;
+	    else if (r < -(0x8000))
+	      r = - 0x8000;
+
+	    state->Reg[Rd] = (r & 0xFFFF);
+
+	    n = (val1 >> 16) & 0xFFFF;
+	    if (n & 0x8000)
+	      n |= -1 << 16;
+
+	    m = val2 & 0xFFFF;
+	    if (m & 0x8000)
+	      m |= -1 << 16;
+
+	    r = n - m;
+
+	    if (r > 0x7FFF)
+	      r = 0x7FFF;
+	    else if (r < -(0x8000))
+	      r = - 0x8000;
+
+	    state->Reg[Rd] |= (r & 0xFFFF) << 16;
+	    return 1;
+
+	  case 0xF7: /* QSUB16<c> <Rd>,<Rn>,<Rm>.  */
+	    state->Reg[Rd] = 0;
+
+	    for (i = 0; i < 32; i+= 16)
+	      {
+		n = (val1 >> i) & 0xFFFF;
+		if (n & 0x8000)
+		  n |= -1 << 16;
+
+		m = (val2 >> i) & 0xFFFF;
+		if (m & 0x8000)
+		  m |= -1 << 16;
+
+		r = n - m;
+
+		if (r > 0x7FFF)
+		  r = 0x7FFF;
+		else if (r < -(0x8000))
+		  r = - 0x8000;
+
+		state->Reg[Rd] |= (r & 0xFFFF) << i;
+	      }	
+	    return 1;
+
+	  case 0xF9: /* QADD8<c> <Rd>,<Rn>,<Rm>.  */
+	    state->Reg[Rd] = 0;
+
+	    for (i = 0; i < 32; i+= 8)
+	      {
+		n = (val1 >> i) & 0xFF;
+		if (n & 0x80)
+		  n |= -1 << 8;
+
+		m = (val2 >> i) & 0xFF;
+		if (m & 0x80)
+		  m |= -1 << 8;
+
+		r = n + m;
+
+		if (r > 127)
+		  r = 127;
+		else if (r < -128)
+		  r = -128;
+
+		state->Reg[Rd] |= (r & 0xFF) << i;
+	      }	
+	    return 1;
+
+	  case 0xFF: /* QSUB8<c> <Rd>,<Rn>,<Rm>.  */
+	    state->Reg[Rd] = 0;
+
+	    for (i = 0; i < 32; i+= 8)
+	      {
+		n = (val1 >> i) & 0xFF;
+		if (n & 0x80)
+		  n |= -1 << 8;
+
+		m = (val2 >> i) & 0xFF;
+		if (m & 0x80)
+		  m |= -1 << 8;
+
+		r = n - m;
+
+		if (r > 127)
+		  r = 127;
+		else if (r < -128)
+		  r = -128;
+
+		state->Reg[Rd] |= (r & 0xFF) << i;
+	      }	
+	    return 1;
+
+	  default:
+	    break;
+	  }
+	break;
+      }
+
+    case 0x65:
+      {
+	ARMword valn;
+	ARMword valm;
+	ARMword res1, res2, res3, res4;
+
+	/* U{ADD|SUB}{8|16}<c> <Rd>, <Rn>, <Rm>
+	   instr[31,28] = cond
+	   instr[27,20] = 0110 0101
+	   instr[19,16] = Rn
+	   instr[15,12] = Rd
+	   instr[11, 8] = 1111
+	   instr[ 7, 4] = opcode: UADD8 (1001), UADD16 (0001), USUB8 (1111), USUB16 (0111)
+	   instr[ 3, 0] = Rm.  */
+	if (BITS (8, 11) != 0xF)
+	  break;
+
+	Rn = BITS (16, 19);
+	Rd = BITS (12, 15);
+	Rm = BITS (0, 3);
+
+	if (Rn == 15 || Rd == 15 || Rm == 15)
+	  {
+	    ARMul_UndefInstr (state, instr);
+	    state->Emulate = FALSE;
+	    break;
+	  }
+
+	valn = state->Reg[Rn];
+	valm = state->Reg[Rm];
+	
+	switch (BITS (4, 7))
+	  {
+	  case 1:  /* UADD16.  */
+	    res1 = (valn & 0xFFFF) + (valm & 0xFFFF);
+	    if (res1 > 0xFFFF)
+	      state->Cpsr |= (GE0 | GE1);
+	    else
+	      state->Cpsr &= ~ (GE0 | GE1);
+
+	    res2 = (valn >> 16) + (valm >> 16);
+	    if (res2 > 0xFFFF)
+	      state->Cpsr |= (GE2 | GE3);
+	    else
+	      state->Cpsr &= ~ (GE2 | GE3);
+
+	    state->Reg[Rd] = (res1 & 0xFFFF) | (res2 << 16);
+	    return 1;
+
+	  case 7:  /* USUB16.  */
+	    res1 = (valn & 0xFFFF) - (valm & 0xFFFF);
+	    if (res1 & 0x800000)
+	      state->Cpsr |= (GE0 | GE1);
+	    else
+	      state->Cpsr &= ~ (GE0 | GE1);
+
+	    res2 = (valn >> 16) - (valm >> 16);
+	    if (res2 & 0x800000)
+	      state->Cpsr |= (GE2 | GE3);
+	    else
+	      state->Cpsr &= ~ (GE2 | GE3);
+
+	    state->Reg[Rd] = (res1 & 0xFFFF) | (res2 << 16);
+	    return 1;
+
+	  case 9:  /* UADD8.  */
+	    res1 = (valn & 0xFF) + (valm & 0xFF);
+	    if (res1 > 0xFF)
+	      state->Cpsr |= GE0;
+	    else
+	      state->Cpsr &= ~ GE0;
+
+	    res2 = ((valn >> 8) & 0xFF) + ((valm >> 8) & 0xFF);
+	    if (res2 > 0xFF)
+	      state->Cpsr |= GE1;
+	    else
+	      state->Cpsr &= ~ GE1;
+
+	    res3 = ((valn >> 16) & 0xFF) + ((valm >> 16) & 0xFF);
+	    if (res3 > 0xFF)
+	      state->Cpsr |= GE2;
+	    else
+	      state->Cpsr &= ~ GE2;
+
+	    res4 = (valn >> 24) + (valm >> 24);
+	    if (res4 > 0xFF)
+	      state->Cpsr |= GE3;
+	    else
+	      state->Cpsr &= ~ GE3;
+
+	    state->Reg[Rd] = (res1 & 0xFF) | ((res2 << 8) & 0xFF00)
+	      | ((res3 << 16) & 0xFF0000) | (res4 << 24);
+	    return 1;
+
+	  case 15: /* USUB8.  */
+	    res1 = (valn & 0xFF) - (valm & 0xFF);
+	    if (res1 & 0x800000)
+	      state->Cpsr |= GE0;
+	    else
+	      state->Cpsr &= ~ GE0;
+
+	    res2 = ((valn >> 8) & 0XFF) - ((valm >> 8) & 0xFF);
+	    if (res2 & 0x800000)
+	      state->Cpsr |= GE1;
+	    else
+	      state->Cpsr &= ~ GE1;
+
+	    res3 = ((valn >> 16) & 0XFF) - ((valm >> 16) & 0xFF);
+	    if (res3 & 0x800000)
+	      state->Cpsr |= GE2;
+	    else
+	      state->Cpsr &= ~ GE2;
+
+	    res4 = (valn >> 24) - (valm >> 24) ;
+	    if (res4 & 0x800000)
+	      state->Cpsr |= GE3;
+	    else
+	      state->Cpsr &= ~ GE3;
+
+	    state->Reg[Rd] = (res1 & 0xFF) | ((res2 << 8) & 0xFF00)
+	      | ((res3 << 16) & 0xFF0000) | (res4 << 24);
+	    return 1;
+
+	  default:
+	    break;
+	  }
+	break;
+      }
+
+    case 0x68:
+      {
+	ARMword res;
+
+	/* PKHBT<c> <Rd>,<Rn>,<Rm>{,LSL #<imm>}
+	   PKHTB<c> <Rd>,<Rn>,<Rm>{,ASR #<imm>}
+	   SXTAB16<c> <Rd>,<Rn>,<Rm>{,<rotation>}
+	   SXTB16<c> <Rd>,<Rm>{,<rotation>}
+	   SEL<c> <Rd>,<Rn>,<Rm>
+
+	   instr[31,28] = cond
+	   instr[27,20] = 0110 1000
+	   instr[19,16] = Rn
+	   instr[15,12] = Rd
+	   instr[11, 7] = imm5 (PKH), 11111 (SEL), rr000 (SXTAB16 & SXTB16),
+	   instr[6]     = tb (PKH), 0 (SEL), 1 (SXT)
+	   instr[5]     = opcode: PKH (0), SEL/SXT (1)
+	   instr[4]     = 1
+	   instr[ 3, 0] = Rm.  */
+
+	if (BIT (4) != 1)
+	  break;
+
+	if (BIT (5) == 0)
+	  {
+	    /* FIXME: Add implementation of PKH.  */
+	    fprintf (stderr, "PKH: NOT YET IMPLEMENTED\n");
+	    ARMul_UndefInstr (state, instr);
+	    break;
+	  }
+
+	if (BIT (6) == 1)
+	  {
+	    /* FIXME: Add implementation of SXT.  */
+	    fprintf (stderr, "SXT: NOT YET IMPLEMENTED\n");
+	    ARMul_UndefInstr (state, instr);
+	    break;
+	  }
+
+	Rn = BITS (16, 19);
+	Rd = BITS (12, 15);
+	Rm = BITS (0, 3);
+	if (Rn == 15 || Rm == 15 || Rd == 15)
+	  {
+	    ARMul_UndefInstr (state, instr);
+	    state->Emulate = FALSE;
+	    break;
+	  }
+
+	res  = (state->Reg[(state->Cpsr & GE0) ? Rn : Rm]) & 0xFF;
+	res |= (state->Reg[(state->Cpsr & GE1) ? Rn : Rm]) & 0xFF00;
+	res |= (state->Reg[(state->Cpsr & GE2) ? Rn : Rm]) & 0xFF0000;
+	res |= (state->Reg[(state->Cpsr & GE3) ? Rn : Rm]) & 0xFF000000;
+	state->Reg[Rd] = res;
+	return 1;
+      }
 
     case 0x6a:
       {
-	ARMword Rm;
 	int ror = -1;
 
 	switch (BITS (4, 11))
@@ -316,6 +719,7 @@ handle_v6_insn (ARMul_State * state, ARM
 	  case 0xf3:
 	    printf ("Unhandled v6 insn: ssat\n");
 	    return 0;
+
 	  default:
 	    break;
 	  }
@@ -345,9 +749,8 @@ handle_v6_insn (ARMul_State * state, ARM
 
     case 0x6b:
       {
-	ARMword Rm;
 	int ror = -1;
-	  
+
 	switch (BITS (4, 11))
 	  {
 	  case 0x07: ror = 0; break;
@@ -355,9 +758,57 @@ handle_v6_insn (ARMul_State * state, ARM
 	  case 0x87: ror = 16; break;
 	  case 0xc7: ror = 24; break;
 
+	  case 0xf3:
+	    {
+	      /* REV<c> <Rd>,<Rm>
+	         instr[31,28] = cond
+	         instr[27,20] = 0110 1011
+	         instr[19,16] = 1111
+	         instr[15,12] = Rd
+	         instr[11, 4] = 1111 0011
+	         instr[ 3, 0] = Rm.  */
+	      if (BITS (16, 19) != 0xF)
+		break;
+
+	      Rd = BITS (12, 15);
+	      Rm = BITS (0, 3);
+	      if (Rd == 15 || Rm == 15)
+		{
+		  ARMul_UndefInstr (state, instr);
+		  state->Emulate = FALSE;
+		  break;
+		}
+
+	      val = state->Reg[Rm] << 24;
+	      val |= ((state->Reg[Rm] << 8) & 0xFF0000);
+	      val |= ((state->Reg[Rm] >> 8) & 0xFF00);
+	      val |= ((state->Reg[Rm] >> 24));
+	      state->Reg[Rd] = val;
+	      return 1;
+	    }
+
 	  case 0xfb:
-	    printf ("Unhandled v6 insn: rev\n");
-	    return 0;
+	    {
+	      /* REV16<c> <Rd>,<Rm>.  */
+	      if (BITS (16, 19) != 0xF)
+		break;
+
+	      Rd = BITS (12, 15);
+	      Rm = BITS (0, 3);
+	      if (Rd == 15 || Rm == 15)
+		{
+		  ARMul_UndefInstr (state, instr);
+		  state->Emulate = FALSE;
+		  break;
+		}
+
+	      val = 0;
+	      val |= ((state->Reg[Rm] >> 8) & 0x00FF00FF);
+	      val |= ((state->Reg[Rm] << 8) & 0xFF00FF00);
+	      state->Reg[Rd] = val;
+	      return 1;
+	    }
+
 	  default:
 	    break;
 	  }
@@ -380,9 +831,8 @@ handle_v6_insn (ARMul_State * state, ARM
 
     case 0x6e:
       {
-	ARMword Rm;
 	int ror = -1;
-	  
+
 	switch (BITS (4, 11))
 	  {
 	  case 0x07: ror = 0; break;
@@ -394,6 +844,7 @@ handle_v6_insn (ARMul_State * state, ARM
 	  case 0xf3:
 	    printf ("Unhandled v6 insn: usat\n");
 	    return 0;
+
 	  default:
 	    break;
 	  }
@@ -411,7 +862,7 @@ handle_v6_insn (ARMul_State * state, ARM
 	Rm = ((state->Reg[BITS (0, 3)] >> ror) & 0xFF);
 
 	if (BITS (16, 19) == 0xf)
-	   /* UXTB */
+	  /* UXTB */
 	  state->Reg[BITS (12, 15)] = Rm;
 	else
 	  /* UXTAB */
@@ -421,9 +872,9 @@ handle_v6_insn (ARMul_State * state, ARM
 
     case 0x6f:
       {
-	ARMword Rm;
+	int i;
 	int ror = -1;
-	  
+
 	switch (BITS (4, 11))
 	  {
 	  case 0x07: ror = 0; break;
@@ -431,9 +882,21 @@ handle_v6_insn (ARMul_State * state, ARM
 	  case 0x87: ror = 16; break;
 	  case 0xc7: ror = 24; break;
 
+	  case 0xf3: /* RBIT */
+	    if (BITS (16, 19) != 0xF)
+	      break;
+	    Rd = BITS (12, 15);
+	    state->Reg[Rd] = 0;
+	    Rm = state->Reg[BITS (0, 3)];
+	    for (i = 0; i < 32; i++)
+	      if (Rm & (1 << i))
+		state->Reg[Rd] |= (1 << (31 - i));
+	    return 1;
+
 	  case 0xfb:
 	    printf ("Unhandled v6 insn: revsh\n");
 	    return 0;
+
 	  default:
 	    break;
 	  }
@@ -447,13 +910,138 @@ handle_v6_insn (ARMul_State * state, ARM
 	  /* UXT */
 	  state->Reg[BITS (12, 15)] = Rm;
 	else
+	  /* UXTAH */
+	  state->Reg[BITS (12, 15)] = state->Reg [BITS (16, 19)] + Rm;
+      }
+      return 1;
+
+    case 0x7c:
+    case 0x7d:
+      {
+	int lsb;
+	int msb;
+	ARMword mask;
+
+	/* BFC<c> <Rd>,#<lsb>,#<width>
+	   BFI<c> <Rd>,<Rn>,#<lsb>,#<width>
+
+	   instr[31,28] = cond
+	   instr[27,21] = 0111 110
+	   instr[20,16] = msb
+	   instr[15,12] = Rd
+	   instr[11, 7] = lsb
+	   instr[ 6, 4] = 001 1111
+	   instr[ 3, 0] = Rn (BFI) / 1111 (BFC).  */
+
+	if (BITS (4, 6) != 0x1)
+	  break;
+
+	Rd = BITS (12, 15);
+	if (Rd == 15)
 	  {
-	    /* UXTAH */
-	    state->Reg[BITS (12, 15)] = state->Reg [BITS (16, 19)] + Rm;
+	    ARMul_UndefInstr (state, instr);
+	    state->Emulate = FALSE;
 	  }
-	}
-      return 1;
 
+	lsb = BITS (7, 11);
+	msb = BITS (16, 20);
+	if (lsb > msb)
+	  {
+	    ARMul_UndefInstr (state, instr);
+	    state->Emulate = FALSE;
+	  }
+
+	mask = -1 << lsb;
+	mask &= ~(-1 << (msb + 1));
+	state->Reg[Rd] &= ~ mask;
+
+	Rn = BITS (0, 3);
+	if (Rn != 0xF)
+	  {
+	    ARMword val = state->Reg[Rn] & ~(-1 << ((msb + 1) - lsb));
+	    state->Reg[Rd] |= val << lsb;
+	  }
+	return 1;
+      }
+
+    case 0x7b:
+    case 0x7a: /* SBFX<c> <Rd>,<Rn>,#<lsb>,#<width>.  */
+      {
+	int lsb;
+	int widthm1;
+	ARMsword sval;
+
+	if (BITS (4, 6) != 0x5)
+	  break;
+
+	Rd = BITS (12, 15);
+	if (Rd == 15)
+	  {
+	    ARMul_UndefInstr (state, instr);
+	    state->Emulate = FALSE;
+	  }
+
+	Rn = BITS (0, 3);
+	if (Rn == 15)
+	  {
+	    ARMul_UndefInstr (state, instr);
+	    state->Emulate = FALSE;
+	  }
+
+	lsb = BITS (7, 11);
+	widthm1 = BITS (16, 20);
+
+	sval = state->Reg[Rn];
+	sval <<= (31 - (lsb + widthm1));
+	sval >>= (31 - widthm1);
+	state->Reg[Rd] = sval;
+	
+	return 1;
+      }
+
+    case 0x7f:
+    case 0x7e:
+      {
+	int lsb;
+	int widthm1;
+
+	/* UBFX<c> <Rd>,<Rn>,#<lsb>,#<width>
+	   instr[31,28] = cond
+	   instr[27,21] = 0111 111
+	   instr[20,16] = widthm1
+	   instr[15,12] = Rd
+	   instr[11, 7] = lsb
+	   instr[ 6, 4] = 101
+	   instr[ 3, 0] = Rn.  */
+
+	if (BITS (4, 6) != 0x5)
+	  break;
+
+	Rd = BITS (12, 15);
+	if (Rd == 15)
+	  {
+	    ARMul_UndefInstr (state, instr);
+	    state->Emulate = FALSE;
+	  }
+
+	Rn = BITS (0, 3);
+	if (Rn == 15)
+	  {
+	    ARMul_UndefInstr (state, instr);
+	    state->Emulate = FALSE;
+	  }
+
+	lsb = BITS (7, 11);
+	widthm1 = BITS (16, 20);
+
+	val = state->Reg[Rn];
+	val >>= lsb;
+	val &= ~(-1 << (widthm1 + 1));
+
+	state->Reg[Rd] = val;
+	
+	return 1;
+      }
 #if 0
     case 0x84: printf ("Unhandled v6 insn: srs\n"); break;
 #endif
@@ -465,6 +1053,91 @@ handle_v6_insn (ARMul_State * state, ARM
 }
 #endif
 
+static void
+handle_VFP_move (ARMul_State * state, ARMword instr)
+{
+  switch (BITS (20, 27))
+    {
+    case 0xC4:
+    case 0xC5:
+      switch (BITS (4, 11))
+	{
+	case 0xA1:
+	case 0xA3:
+	  {
+	    /* VMOV two core <-> two VFP single precision.  */
+	    int sreg = (BITS (0, 3) << 1) | BIT (5);
+
+	    if (BIT (20))
+	      {
+		state->Reg[BITS (12, 15)] = VFP_uword (sreg);
+		state->Reg[BITS (16, 19)] = VFP_uword (sreg + 1);
+	      }
+	    else
+	      {
+		VFP_uword (sreg)     = state->Reg[BITS (12, 15)];
+		VFP_uword (sreg + 1) = state->Reg[BITS (16, 19)];
+	      }
+	  }
+	  break;
+
+	case 0xB1:
+	case 0xB3:
+	  {
+	    /* VMOV two core <-> VFP double precision.  */
+	    int dreg = BITS (0, 3) | (BIT (5) << 4);
+
+	    if (BIT (20))
+	      {
+		if (trace)
+		  fprintf (stderr, " VFP: VMOV: r%d r%d <= d%d\n",
+			   BITS (12, 15), BITS (16, 19), dreg);
+
+		state->Reg[BITS (12, 15)] = VFP_dword (dreg);
+		state->Reg[BITS (16, 19)] = VFP_dword (dreg) >> 32;
+	      }
+	    else
+	      {
+		VFP_dword (dreg) = state->Reg[BITS (16, 19)];
+		VFP_dword (dreg) <<= 32;
+		VFP_dword (dreg) |= state->Reg[BITS (12, 15)];
+
+		if (trace)
+		  fprintf (stderr, " VFP: VMOV: d%d <= r%d r%d : %g\n",
+			   dreg, BITS (16, 19), BITS (12, 15),
+			   VFP_dval (dreg));
+	      }
+	  }
+	  break;
+
+	default:
+	  fprintf (stderr, "SIM: VFP: Unimplemented move insn %x\n", BITS (20, 27));
+	  break;
+	}
+      break;
+
+    case 0xe0:
+    case 0xe1:
+      /* VMOV single core <-> VFP single precision.  */
+      if (BITS (0, 6) != 0x10 || BITS (8, 11) != 0xA)
+	fprintf (stderr, "SIM: VFP: Unimplemented move insn %x\n", BITS (20, 27));
+      else
+	{
+	  int sreg = (BITS (16, 19) << 1) | BIT (7);
+
+	  if (BIT (20))
+	    state->Reg[DESTReg] = VFP_uword (sreg);
+	  else
+	    VFP_uword (sreg) = state->Reg[DESTReg];
+	}
+      break;
+
+    default:
+      fprintf (stderr, "SIM: VFP: Unimplemented move insn %x\n", BITS (20, 27));
+      return;
+    }
+}
+
 /* EMULATION of ARM6.  */
 
 /* The PC pipeline value depends on whether ARM
@@ -703,9 +1376,9 @@ ARMul_Emulate26 (ARMul_State * state)
 	      if (BITS (25, 27) == 5) /* BLX(1) */
 		{
 		  ARMword dest;
-		  
+
 		  state->Reg[14] = pc + 4;
-		  
+
 		  /* Force entry into Thumb mode.  */
 		  dest = pc + 8 + 1;
 		  if (BIT (23))
@@ -875,7 +1548,7 @@ check_PMUintr:
 		      ARMword temp = GetLS7RHS (state, instr);
 		      ARMword temp2 = BIT (23) ? LHS + temp : LHS - temp;
 		      ARMword addr = BIT (24) ? temp2 : LHS;
-		      
+
 		      if (BIT (12))
 			ARMul_UndefInstr (state, instr);
 		      else if (addr & 7)
@@ -884,7 +1557,7 @@ check_PMUintr:
 		      else
 			{
 			  int wb = BIT (21) || (! BIT (24));
-			  
+
 			  state->Reg[BITS (12, 15)] =
 			    ARMul_LoadWordN (state, addr);
 			  state->Reg[BITS (12, 15) + 1] =
@@ -1456,7 +2129,7 @@ check_PMUintr:
 		      ARMword op1 = state->Reg[BITS (0, 3)];
 		      ARMword op2 = state->Reg[BITS (8, 11)];
 		      ARMword Rn = state->Reg[BITS (12, 15)];
-		      
+
 		      if (BIT (5))
 			op1 >>= 16;
 		      if (BIT (6))
@@ -1468,7 +2141,7 @@ check_PMUintr:
 		      if (op2 & 0x8000)
 			op2 -= 65536;
 		      op1 *= op2;
-		      
+
 		      if (AddOverflow (op1, Rn, op1 + Rn))
 			SETS;
 		      state->Reg[BITS (16, 19)] = op1 + Rn;
@@ -1538,6 +2211,11 @@ check_PMUintr:
 		}
 	      else
 		{
+#ifdef MODE32
+		  if (state->is_v6
+		      && handle_v6_insn (state, instr))
+		    break;
+#endif
 		  UNDEF_Test;
 		}
 	      break;
@@ -1611,7 +2289,7 @@ check_PMUintr:
 		      if (BIT (5) == 0)
 			{
 			  ARMword Rn = state->Reg[BITS (12, 15)];
-			  
+
 			  if (AddOverflow (result, Rn, result + Rn))
 			    SETS;
 			  result += Rn;
@@ -1704,6 +2382,11 @@ check_PMUintr:
 #endif
 		  ARMul_FixCPSR (state, instr, temp);
 		}
+#ifdef MODE32
+	      else if (state->is_v6
+		       && handle_v6_insn (state, instr))
+		break;
+#endif
 	      else
 		UNDEF_Test;
 
@@ -1834,6 +2517,11 @@ check_PMUintr:
 		  UNDEF_MRSPC;
 		  DEST = GETSPSR (state->Bank);
 		}
+#ifdef MODE32
+	      else if (state->is_v6
+		       && handle_v6_insn (state, instr))
+		break;
+#endif
 	      else
 		UNDEF_Test;
 
@@ -1970,6 +2658,11 @@ check_PMUintr:
 		}
 	      else
 		{
+#ifdef MODE32
+		  if (state->is_v6
+		      && handle_v6_insn (state, instr))
+		    break;
+#endif
 		  UNDEF_Test;
 		}
 	      break;
@@ -2325,6 +3018,11 @@ check_PMUintr:
 	      break;
 
 	    case 0x30:		/* MOVW immed */
+#ifdef MODE32
+	      if (state->is_v6
+		  && handle_v6_insn (state, instr))
+		break;
+#endif
 	      dest = BITS (0, 11);
 	      dest |= (BITS (16, 19) << 12);
 	      WRITEDEST (dest);
@@ -2355,6 +3053,11 @@ check_PMUintr:
 	      if (DESTReg == 15)
 		/* MSR immed to CPSR.  */
 		ARMul_FixCPSR (state, instr, DPImmRHS);
+#ifdef MODE32
+	      else if (state->is_v6
+		       && handle_v6_insn (state, instr))
+		break;
+#endif
 	      else
 		UNDEF_Test;
 	      break;
@@ -2380,6 +3083,12 @@ check_PMUintr:
 	      break;
 
 	    case 0x34:		/* MOVT immed */
+#ifdef MODE32
+	      if (state->is_v6
+		  && handle_v6_insn (state, instr))
+		break;
+#endif
+	      DEST &= 0xFFFF;
 	      dest  = BITS (0, 11);
 	      dest |= (BITS (16, 19) << 12);
 	      DEST |= (dest << 16);
@@ -2422,6 +3131,11 @@ check_PMUintr:
 	    case 0x36:		/* CMN immed and MSR immed to SPSR */
 	      if (DESTReg == 15)
 		ARMul_FixSPSR (state, instr, DPImmRHS);
+#ifdef MODE32
+	      else if (state->is_v6
+		       && handle_v6_insn (state, instr))
+		break;
+#endif
 	      else
 		UNDEF_Test;
 	      break;
@@ -2739,6 +3453,11 @@ check_PMUintr:
 	    case 0x60:		/* Store Word, No WriteBack, Post Dec, Reg.  */
 	      if (BIT (4))
 		{
+#ifdef MODE32
+		  if (state->is_v6
+		      && handle_v6_insn (state, instr))
+		    break;
+#endif
 		  ARMul_UndefInstr (state, instr);
 		  break;
 		}
@@ -2820,6 +3539,11 @@ check_PMUintr:
 	    case 0x64:		/* Store Byte, No WriteBack, Post Dec, Reg.  */
 	      if (BIT (4))
 		{
+#ifdef MODE32
+		  if (state->is_v6
+		      && handle_v6_insn (state, instr))
+		    break;
+#endif
 		  ARMul_UndefInstr (state, instr);
 		  break;
 		}
@@ -2921,6 +3645,11 @@ check_PMUintr:
 	    case 0x69:		/* Load Word, No WriteBack, Post Inc, Reg.  */
 	      if (BIT (4))
 		{
+#ifdef MODE32
+		  if (state->is_v6
+		      && handle_v6_insn (state, instr))
+		    break;
+#endif
 		  ARMul_UndefInstr (state, instr);
 		  break;
 		}
@@ -3002,6 +3731,11 @@ check_PMUintr:
 	    case 0x6d:		/* Load Byte, No WriteBack, Post Inc, Reg.  */
 	      if (BIT (4))
 		{
+#ifdef MODE32
+		  if (state->is_v6
+		      && handle_v6_insn (state, instr))
+		    break;
+#endif
 		  ARMul_UndefInstr (state, instr);
 		  break;
 		}
@@ -3078,6 +3812,11 @@ check_PMUintr:
 	    case 0x71:		/* Load Word, No WriteBack, Pre Dec, Reg.  */
 	      if (BIT (4))
 		{
+#ifdef MODE32
+		  if (state->is_v6
+		      && handle_v6_insn (state, instr))
+		    break;
+#endif
 		  ARMul_UndefInstr (state, instr);
 		  break;
 		}
@@ -3087,6 +3826,11 @@ check_PMUintr:
 	    case 0x72:		/* Store Word, WriteBack, Pre Dec, Reg.  */
 	      if (BIT (4))
 		{
+#ifdef MODE32
+		  if (state->is_v6
+		      && handle_v6_insn (state, instr))
+		    break;
+#endif
 		  ARMul_UndefInstr (state, instr);
 		  break;
 		}
@@ -3102,6 +3846,11 @@ check_PMUintr:
 	    case 0x73:		/* Load Word, WriteBack, Pre Dec, Reg.  */
 	      if (BIT (4))
 		{
+#ifdef MODE32
+		  if (state->is_v6
+		      && handle_v6_insn (state, instr))
+		    break;
+#endif
 		  ARMul_UndefInstr (state, instr);
 		  break;
 		}
@@ -3145,6 +3894,11 @@ check_PMUintr:
 	    case 0x76:		/* Store Byte, WriteBack, Pre Dec, Reg.  */
 	      if (BIT (4))
 		{
+#ifdef MODE32
+		  if (state->is_v6
+		      && handle_v6_insn (state, instr))
+		    break;
+#endif
 		  ARMul_UndefInstr (state, instr);
 		  break;
 		}
@@ -3160,6 +3914,11 @@ check_PMUintr:
 	    case 0x77:		/* Load Byte, WriteBack, Pre Dec, Reg.  */
 	      if (BIT (4))
 		{
+#ifdef MODE32
+		  if (state->is_v6
+		      && handle_v6_insn (state, instr))
+		    break;
+#endif
 		  ARMul_UndefInstr (state, instr);
 		  break;
 		}
@@ -3189,6 +3948,11 @@ check_PMUintr:
 	    case 0x79:		/* Load Word, No WriteBack, Pre Inc, Reg.  */
 	      if (BIT (4))
 		{
+#ifdef MODE32
+		  if (state->is_v6
+		      && handle_v6_insn (state, instr))
+		    break;
+#endif
 		  ARMul_UndefInstr (state, instr);
 		  break;
 		}
@@ -3218,6 +3982,11 @@ check_PMUintr:
 	    case 0x7b:		/* Load Word, WriteBack, Pre Inc, Reg.  */
 	      if (BIT (4))
 		{
+#ifdef MODE32
+		  if (state->is_v6
+		      && handle_v6_insn (state, instr))
+		    break;
+#endif
 		  ARMul_UndefInstr (state, instr);
 		  break;
 		}
@@ -3247,6 +4016,11 @@ check_PMUintr:
 	    case 0x7d:		/* Load Byte, No WriteBack, Pre Inc, Reg.  */
 	      if (BIT (4))
 		{
+#ifdef MODE32
+		  if (state->is_v6
+		      && handle_v6_insn (state, instr))
+		    break;
+#endif
 		  ARMul_UndefInstr (state, instr);
 		  break;
 		}
@@ -3256,6 +4030,11 @@ check_PMUintr:
 	    case 0x7e:		/* Store Byte, WriteBack, Pre Inc, Reg.  */
 	      if (BIT (4))
 		{
+#ifdef MODE32
+		  if (state->is_v6
+		      && handle_v6_insn (state, instr))
+		    break;
+#endif
 		  ARMul_UndefInstr (state, instr);
 		  break;
 		}
@@ -3279,6 +4058,11 @@ check_PMUintr:
 		      if (!ARMul_OSHandleSWI (state, SWI_Breakpoint))
 			ARMul_Abort (state, ARMul_SWIV);
 		    }
+#ifdef MODE32
+		  else if (state->is_v6
+			   && handle_v6_insn (state, instr))
+		    break;
+#endif
 		  else
 		    ARMul_UndefInstr (state, instr);
 		  break;
@@ -3513,8 +4297,10 @@ check_PMUintr:
 	    case 0xc4:
 	      if (state->is_v5)
 		{
+		  if (CPNum == 10 || CPNum == 11)
+		    handle_VFP_move (state, instr);
 		  /* Reading from R15 is UNPREDICTABLE.  */
-		  if (BITS (12, 15) == 15 || BITS (16, 19) == 15)
+		  else if (BITS (12, 15) == 15 || BITS (16, 19) == 15)
 		    ARMul_UndefInstr (state, instr);
 		  /* Is access to coprocessor 0 allowed ?  */
 		  else if (! CP_ACCESS_ALLOWED (state, CPNum))
@@ -3540,11 +4326,11 @@ check_PMUintr:
 		    }
 		  else
 		    /* FIXME: Not sure what to do for other v5 processors.  */
-		    ARMul_UndefInstr (state, instr);		    
+		    ARMul_UndefInstr (state, instr);
 		  break;
 		}
 	      /* Drop through.  */
-	      
+
 	    case 0xc0:		/* Store , No WriteBack , Post Dec.  */
 	      ARMul_STC (state, instr, LHS);
 	      break;
@@ -3552,8 +4338,10 @@ check_PMUintr:
 	    case 0xc5:
 	      if (state->is_v5)
 		{
+		  if (CPNum == 10 || CPNum == 11)
+		    handle_VFP_move (state, instr);
 		  /* Writes to R15 are UNPREDICATABLE.  */
-		  if (DESTReg == 15 || LHSReg == 15)
+		  else if (DESTReg == 15 || LHSReg == 15)
 		    ARMul_UndefInstr (state, instr);
 		  /* Is access to the coprocessor allowed ?  */
 		  else if (! CP_ACCESS_ALLOWED (state, CPNum))
@@ -3786,8 +4574,10 @@ check_PMUintr:
 	    case 0xee:
 	      if (BIT (4))
 		{
+		  if (CPNum == 10 || CPNum == 11)
+		    handle_VFP_move (state, instr);
 		  /* MCR.  */
-		  if (DESTReg == 15)
+		  else if (DESTReg == 15)
 		    {
 		      UNDEF_MCRPC;
 #ifdef MODE32
@@ -3817,17 +4607,69 @@ check_PMUintr:
 	    case 0xef:
 	      if (BIT (4))
 		{
-		  /* MRC */
-		  temp = ARMul_MRC (state, instr);
-		  if (DESTReg == 15)
+		  if (CPNum == 10 || CPNum == 11)
 		    {
-		      ASSIGNN ((temp & NBIT) != 0);
-		      ASSIGNZ ((temp & ZBIT) != 0);
-		      ASSIGNC ((temp & CBIT) != 0);
-		      ASSIGNV ((temp & VBIT) != 0);
+		      switch (BITS (20, 27))
+			{
+			case 0xEF:
+			  if (BITS (16, 19) == 0x1
+			      && BITS (0, 11) == 0xA10)
+			    {
+			      /* VMRS  */
+			      if (DESTReg == 15)
+				{
+				  ARMul_SetCPSR (state, (state->FPSCR & 0xF0000000)
+						 | (ARMul_GetCPSR (state) & 0x0FFFFFFF));
+
+				  if (trace)
+				    fprintf (stderr, " VFP: VMRS: set flags to %c%c%c%c\n",
+					     ARMul_GetCPSR (state) & NBIT ? 'N' : '-',
+					     ARMul_GetCPSR (state) & ZBIT ? 'Z' : '-',
+					     ARMul_GetCPSR (state) & CBIT ? 'C' : '-',
+					     ARMul_GetCPSR (state) & VBIT ? 'V' : '-');
+				}
+			      else
+				{
+				  state->Reg[DESTReg] = state->FPSCR;
+
+				  if (trace)
+				    fprintf (stderr, " VFP: VMRS: r%d = %x\n", DESTReg, state->Reg[DESTReg]);
+				}
+			    }
+			  else
+			    fprintf (stderr, "SIM: VFP: Unimplemented: Compare op\n");
+			  break;
+
+			case 0xE0:
+			case 0xE1:
+			  /* VMOV reg <-> single precision.  */
+			  if (BITS (0,6) != 0x10 || BITS (8,11) != 0xA)
+			    fprintf (stderr, "SIM: VFP: Unimplemented: move op\n");
+			  else if (BIT (20))
+			    state->Reg[BITS (12, 15)] = VFP_uword (BITS (16, 19) << 1 | BIT (7));
+			  else
+			    VFP_uword (BITS (16, 19) << 1 | BIT (7)) = state->Reg[BITS (12, 15)];
+			  break;
+
+			default:
+			  fprintf (stderr, "SIM: VFP: Unimplemented: CDP op\n");
+			  break;
+			}
 		    }
 		  else
-		    DEST = temp;
+		    {
+		      /* MRC */
+		      temp = ARMul_MRC (state, instr);
+		      if (DESTReg == 15)
+			{
+			  ASSIGNN ((temp & NBIT) != 0);
+			  ASSIGNZ ((temp & ZBIT) != 0);
+			  ASSIGNC ((temp & CBIT) != 0);
+			  ASSIGNV ((temp & VBIT) != 0);
+			}
+		      else
+			DEST = temp;
+		    }
 		}
 	      else
 		/* CDP Part 2.  */
@@ -4394,7 +5236,7 @@ Handle_Load_Double (ARMul_State * state,
   ARMword addr_reg;
   ARMword write_back  = BIT (21);
   ARMword immediate   = BIT (22);
-  ARMword add_to_base = BIT (23);        
+  ARMword add_to_base = BIT (23);
   ARMword pre_indexed = BIT (24);
   ARMword offset;
   ARMword addr;
@@ -4402,7 +5244,7 @@ Handle_Load_Double (ARMul_State * state,
   ARMword base;
   ARMword value1;
   ARMword value2;
-  
+
   BUSUSEDINCPCS;
 
   /* If the writeback bit is set, the pre-index bit must be clear.  */
@@ -4411,13 +5253,13 @@ Handle_Load_Double (ARMul_State * state,
       ARMul_UndefInstr (state, instr);
       return;
     }
-  
+
   /* Extract the base address register.  */
   addr_reg = LHSReg;
-  
+
   /* Extract the destination register and check it.  */
   dest_reg = DESTReg;
-  
+
   /* Destination register must be even.  */
   if ((dest_reg & 1)
     /* Destination register cannot be LR.  */
@@ -4438,15 +5280,18 @@ Handle_Load_Double (ARMul_State * state,
     sum = base + offset;
   else
     sum = base - offset;
-  
+
   /* If this is a pre-indexed mode use the sum.  */
   if (pre_indexed)
     addr = sum;
   else
     addr = base;
 
+  if (state->is_v6 && (addr & 0x3) == 0)
+    /* Word alignment is enough for v6.  */
+    ;
   /* The address must be aligned on a 8 byte boundary.  */
-  if (addr & 0x7)
+  else if (addr & 0x7)
     {
 #ifdef ABORTS
       ARMul_DATAABORT (addr);
@@ -4477,17 +5322,17 @@ Handle_Load_Double (ARMul_State * state,
       TAKEABORT;
       return;
     }
-  
+
   ARMul_Icycles (state, 2, 0L);
 
   /* Store the values.  */
   state->Reg[dest_reg] = value1;
   state->Reg[dest_reg + 1] = value2;
-  
+
   /* Do the post addressing and writeback.  */
   if (! pre_indexed)
     addr = sum;
-  
+
   if (! pre_indexed || write_back)
     state->Reg[addr_reg] = addr;
 }
@@ -4501,7 +5346,7 @@ Handle_Store_Double (ARMul_State * state
   ARMword addr_reg;
   ARMword write_back  = BIT (21);
   ARMword immediate   = BIT (22);
-  ARMword add_to_base = BIT (23);        
+  ARMword add_to_base = BIT (23);
   ARMword pre_indexed = BIT (24);
   ARMword offset;
   ARMword addr;
@@ -4516,20 +5361,20 @@ Handle_Store_Double (ARMul_State * state
       ARMul_UndefInstr (state, instr);
       return;
     }
-  
+
   /* Extract the base address register.  */
   addr_reg = LHSReg;
-  
+
   /* Base register cannot be PC.  */
   if (addr_reg == 15)
     {
       ARMul_UndefInstr (state, instr);
       return;
     }
-  
+
   /* Extract the source register.  */
   src_reg = DESTReg;
-  
+
   /* Source register must be even.  */
   if (src_reg & 1)
     {
@@ -4548,7 +5393,7 @@ Handle_Store_Double (ARMul_State * state
     sum = base + offset;
   else
     sum = base - offset;
-  
+
   /* If this is a pre-indexed mode use the sum.  */
   if (pre_indexed)
     addr = sum;
@@ -4580,17 +5425,17 @@ Handle_Store_Double (ARMul_State * state
   /* Load the words.  */
   ARMul_StoreWordN (state, addr, state->Reg[src_reg]);
   ARMul_StoreWordN (state, addr + 4, state->Reg[src_reg + 1]);
-  
+
   if (state->Aborted)
     {
       TAKEABORT;
       return;
     }
-  
+
   /* Do the post addressing and writeback.  */
   if (! pre_indexed)
     addr = sum;
-  
+
   if (! pre_indexed || write_back)
     state->Reg[addr_reg] = addr;
 }
@@ -4987,7 +5832,7 @@ StoreSMult (ARMul_State * state,
 
   for (temp = 0; !BIT (temp); temp++)
     ;	/* N cycle first.  */
-  
+
 #ifdef MODE32
   ARMul_StoreWordN (state, address, state->Reg[temp++]);
 #else
@@ -5093,9 +5938,7 @@ Multiply64 (ARMul_State * state, ARMword
       && nRdLo != 15
       && nRs   != 15
       && nRm   != 15
-      && nRdHi != nRdLo
-      && nRdHi != nRm
-      && nRdLo != nRm)
+      && nRdHi != nRdLo)
     {
       /* Intermediate results.  */
       ARMword lo, mid1, mid2, hi;
@@ -5103,6 +5946,15 @@ Multiply64 (ARMul_State * state, ARMword
       ARMword Rs = state->Reg[nRs];
       int sign = 0;
 
+#ifdef MODE32
+      if (state->is_v6)
+	;
+      else
+#endif
+	if (nRdHi == nRm || nRdLo == nRm)
+	  fprintf (stderr, "sim: MULTIPLY64 - INVALID ARGUMENTS: %d %d %d\n",
+		   nRdHi, nRdLo, nRm);
+
       if (msigned)
 	{
 	  /* Compute sign of result and adjust operands if necessary.  */
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.20150623/sim/arm/armemu.h ./sim/arm/armemu.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/arm/armemu.h	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/arm/armemu.h	2015-06-30 01:48:32.000000000 +0000
@@ -462,6 +462,8 @@ typedef enum
 }
 tdstate;
 
+#define t_resolved t_branch
+
 /* Macros to scrutinize instructions.  The dummy do loop is to keep the compiler
    happy when the statement is used in an otherwise empty else statement.  */
 #define UNDEF_Test		do { ; } while (0)
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.20150623/sim/arm/armos.c ./sim/arm/armos.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/arm/armos.c	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/arm/armos.c	2015-06-30 01:48:32.000000000 +0000
@@ -840,8 +840,7 @@ ARMul_OSHandleSWI (ARMul_State * state, 
 	      break;
 
 	    case 17: /* Utime.  */
-	      state->Reg[0] = (ARMword) sim_callback->time (sim_callback,
-							    (long *) state->Reg[1]);
+	      state->Reg[0] = state->Reg[1] = (ARMword) sim_callback->time (sim_callback, NULL);
 	      OSptr->ErrorNo = sim_callback->get_errno (sim_callback);
 	      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.20150623/sim/arm/armsupp.c ./sim/arm/armsupp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/arm/armsupp.c	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/arm/armsupp.c	2015-06-30 01:48:32.000000000 +0000
@@ -1,22 +1,23 @@
 /*  armsupp.c -- ARMulator support code:  ARM6 Instruction Emulator.
     Copyright (C) 1994 Advanced RISC Machines Ltd.
- 
+
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
     the Free Software Foundation; either version 3 of the License, or
     (at your option) any later version.
- 
+
     This program is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     GNU General Public License for more details.
- 
+
     You should have received a copy of the GNU General Public License
     along with this program; if not, see <http://www.gnu.org/licenses/>. */
 
 #include "armdefs.h"
 #include "armemu.h"
 #include "ansidecl.h"
+#include <math.h>
 
 /* Definitions for the support routines.  */
 
@@ -173,7 +174,7 @@ void
 ARMul_SetSPSR (ARMul_State * state, ARMword mode, ARMword value)
 {
   ARMword bank = ModeToBank (mode & MODEBITS);
-  
+
   if (BANK_CAN_ACCESS_SPSR (bank))
     state->Spsr[bank] = value;
 }
@@ -208,12 +209,12 @@ ARMul_CPSRAltered (ARMul_State * state)
     state->Cpsr &= (CCBITS | INTBITS | R15MODEBITS);
 
   oldmode = state->Mode;
-  
+
   if (state->Mode != (state->Cpsr & MODEBITS))
     {
       state->Mode =
 	ARMul_SwitchMode (state, state->Mode, state->Cpsr & MODEBITS);
-      
+
       state->NtransSig = (state->Mode & 3) ? HIGH : LOW;
     }
   state->Cpsr &= ~MODEBITS;
@@ -291,10 +292,10 @@ ARMul_SwitchMode (ARMul_State * state, A
   unsigned i;
   ARMword  oldbank;
   ARMword  newbank;
-  
+
   oldbank = ModeToBank (oldmode);
   newbank = state->Bank = ModeToBank (newmode);
-  
+
   /* Do we really need to do it?  */
   if (oldbank != newbank)
     {
@@ -323,7 +324,7 @@ ARMul_SwitchMode (ARMul_State * state, A
 	default:
 	  abort ();
 	}
-      
+
       /* Restore the new registers.  */
       switch (newbank)
 	{
@@ -350,7 +351,7 @@ ARMul_SwitchMode (ARMul_State * state, A
 	  abort ();
 	}
     }
-  
+
   return newmode;
 }
 
@@ -466,6 +467,422 @@ ARMul_SubOverflow (ARMul_State * state, 
   ASSIGNV (SubOverflow (a, b, result));
 }
 
+static void
+handle_VFP_xfer (ARMul_State * state, ARMword instr)
+{
+  if (TOPBITS (28) == NV)
+    {
+      fprintf (stderr, "SIM: UNDEFINED VFP instruction\n");
+      return;
+    }
+
+  if (BITS (25, 27) != 0x6)
+    {
+      fprintf (stderr, "SIM: ISE: VFP handler called incorrectly\n");
+      return;
+    }
+	
+  switch (BITS (20, 24))
+    {
+    case 0x04:
+    case 0x05:
+      {
+	/* VMOV double precision to/from two ARM registers.  */
+	int vm  = BITS (0, 3);
+	int rt1 = BITS (12, 15);
+	int rt2 = BITS (16, 19);
+
+	/* FIXME: UNPREDICTABLE if rt1 == 15 or rt2 == 15.  */
+	if (BIT (20))
+	  {
+	    /* Transfer to ARM.  */
+	    /* FIXME: UPPREDICTABLE if rt1 == rt2.  */
+	    state->Reg[rt1] = VFP_dword (vm) & 0xffffffff;
+	    state->Reg[rt2] = VFP_dword (vm) >> 32;
+	  }
+	else
+	  {
+	    VFP_dword (vm) = state->Reg[rt2];
+	    VFP_dword (vm) <<= 32;
+	    VFP_dword (vm) |= (state->Reg[rt1] & 0xffffffff);
+	  }
+	return;
+      }
+
+    case 0x08:
+    case 0x0A:
+    case 0x0C:
+    case 0x0E:
+      {
+	/* VSTM with PUW=011 or PUW=010.  */
+	int n = BITS (16, 19);
+	int imm8 = BITS (0, 7);
+
+	ARMword address = state->Reg[n];
+	if (BIT (21))
+	  state->Reg[n] = address + (imm8 << 2);
+
+	if (BIT (8))
+	  {
+	    int src = (BIT (22) << 4) | BITS (12, 15);
+	    imm8 >>= 1;
+	    while (imm8--)
+	      {
+		if (state->bigendSig)
+		  {
+		    ARMul_StoreWordN (state, address, VFP_dword (src) >> 32);
+		    ARMul_StoreWordN (state, address + 4, VFP_dword (src));
+		  }
+		else
+		  {
+		    ARMul_StoreWordN (state, address, VFP_dword (src));
+		    ARMul_StoreWordN (state, address + 4, VFP_dword (src) >> 32);
+		  }
+		address += 8;
+		src += 1;
+	      }
+	  }
+	else
+	  {
+	    int src = (BITS (12, 15) << 1) | BIT (22);
+	    while (imm8--)
+	      {
+		ARMul_StoreWordN (state, address, VFP_uword (src));
+		address += 4;
+		src += 1;
+	      }
+	  }
+      }
+      return;
+
+    case 0x10:
+    case 0x14:
+    case 0x18:
+    case 0x1C:
+      {
+	/* VSTR */
+	ARMword imm32 = BITS (0, 7) << 2;
+	int base = state->Reg[LHSReg];
+	ARMword address;
+	int dest;
+
+	if (LHSReg == 15)
+	  base = (base + 3) & ~3;
+
+	address = base + (BIT (23) ? imm32 : - imm32);
+
+	if (CPNum == 10)
+	  {
+	    dest = (DESTReg << 1) + BIT (22);
+
+	    ARMul_StoreWordN (state, address, VFP_uword (dest));
+	  }
+	else
+	  {
+	    dest = (BIT (22) << 4) + DESTReg;
+
+	    if (state->bigendSig)
+	      {
+		ARMul_StoreWordN (state, address, VFP_dword (dest) >> 32);
+		ARMul_StoreWordN (state, address + 4, VFP_dword (dest));
+	      }
+	    else
+	      {
+		ARMul_StoreWordN (state, address, VFP_dword (dest));
+		ARMul_StoreWordN (state, address + 4, VFP_dword (dest) >> 32);
+	      }
+	  }
+      }
+      return;
+
+    case 0x12:
+    case 0x16:
+      if (BITS (16, 19) == 13)
+	{
+	  /* VPUSH */
+	  ARMword address = state->Reg[13] - (BITS (0, 7) << 2);
+	  state->Reg[13] = address;
+
+	  if (BIT (8))
+	    {
+	      int dreg = (BIT (22) << 4) | BITS (12, 15);
+	      int num  = BITS (0, 7) >> 1;
+	      while (num--)
+		{
+		  if (state->bigendSig)
+		    {
+		      ARMul_StoreWordN (state, address, VFP_dword (dreg) >> 32);
+		      ARMul_StoreWordN (state, address + 4, VFP_dword (dreg));
+		    }
+		  else
+		    {
+		      ARMul_StoreWordN (state, address, VFP_dword (dreg));
+		      ARMul_StoreWordN (state, address + 4, VFP_dword (dreg) >> 32);
+		    }
+		  address += 8;
+		  dreg += 1;
+		}
+	    }
+	  else
+	    {
+	      int sreg = (BITS (12, 15) << 1) | BIT (22);
+	      int num  = BITS (0, 7);
+	      while (num--)
+		{
+		  ARMul_StoreWordN (state, address, VFP_uword (sreg));
+		  address += 4;
+		  sreg += 1;
+		}
+	    }
+	}
+      else if (BITS (9, 11) != 0x5)
+	break;
+      else
+	{
+	  /* VSTM PUW=101 */
+	  int n = BITS (16, 19);
+	  int imm8 = BITS (0, 7);
+	  ARMword address = state->Reg[n] - (imm8 << 2);
+	  state->Reg[n] = address;
+
+	  if (BIT (8))
+	    {
+	      int src = (BIT (22) << 4) | BITS (12, 15);
+
+	      imm8 >>= 1;
+	      while (imm8--)
+		{
+		  if (state->bigendSig)
+		    {
+		      ARMul_StoreWordN (state, address, VFP_dword (src) >> 32);
+		      ARMul_StoreWordN (state, address + 4, VFP_dword (src));
+		    }
+		  else
+		    {
+		      ARMul_StoreWordN (state, address, VFP_dword (src));
+		      ARMul_StoreWordN (state, address + 4, VFP_dword (src) >> 32);
+		    }
+		  address += 8;
+		  src += 1;
+		}
+	    }
+	  else
+	    {
+	      int src = (BITS (12, 15) << 1) | BIT (22);
+
+	      while (imm8--)
+		{
+		  ARMul_StoreWordN (state, address, VFP_uword (src));
+		  address += 4;
+		  src += 1;
+		}
+	    }
+	}
+      return;
+
+    case 0x13:
+    case 0x17:
+      /* VLDM PUW=101 */
+    case 0x09:
+    case 0x0D:
+      /* VLDM PUW=010 */
+	{
+	  int n = BITS (16, 19);
+	  int imm8 = BITS (0, 7);
+
+	  ARMword address = state->Reg[n];
+	  if (BIT (23) == 0)
+	    address -= imm8 << 2;
+	  if (BIT (21))
+	    state->Reg[n] = BIT (23) ? address + (imm8 << 2) : address;
+
+	  if (BIT (8))
+	    {
+	      int dest = (BIT (22) << 4) | BITS (12, 15);
+	      imm8 >>= 1;
+	      while (imm8--)
+		{
+		  if (state->bigendSig)
+		    {
+		      VFP_dword (dest) = ARMul_LoadWordN (state, address);
+		      VFP_dword (dest) <<= 32;
+		      VFP_dword (dest) |= ARMul_LoadWordN (state, address + 4);
+		    }
+		  else
+		    {
+		      VFP_dword (dest) = ARMul_LoadWordN (state, address + 4);
+		      VFP_dword (dest) <<= 32;
+		      VFP_dword (dest) |= ARMul_LoadWordN (state, address);
+		    }
+
+		  if (trace)
+		    fprintf (stderr, " VFP: VLDM: D%d = %g\n", dest, VFP_dval (dest));
+
+		  address += 8;
+		  dest += 1;
+		}
+	    }
+	  else
+	    {
+	      int dest = (BITS (12, 15) << 1) | BIT (22);
+
+	      while (imm8--)
+		{
+		  VFP_uword (dest) = ARMul_LoadWordN (state, address);
+		  address += 4;
+		  dest += 1;
+		}
+	    }
+	}
+      return;
+
+    case 0x0B:
+    case 0x0F:
+      if (BITS (16, 19) == 13)
+	{
+	  /* VPOP */
+	  ARMword address = state->Reg[13];
+	  state->Reg[13] = address + (BITS (0, 7) << 2);
+
+	  if (BIT (8))
+	    {
+	      int dest = (BIT (22) << 4) | BITS (12, 15);
+	      int num  = BITS (0, 7) >> 1;
+
+	      while (num--)
+		{
+		  if (state->bigendSig)
+		    {
+		      VFP_dword (dest) = ARMul_LoadWordN (state, address);
+		      VFP_dword (dest) <<= 32;
+		      VFP_dword (dest) |= ARMul_LoadWordN (state, address + 4);
+		    }
+		  else
+		    {
+		      VFP_dword (dest) = ARMul_LoadWordN (state, address + 4);
+		      VFP_dword (dest) <<= 32;
+		      VFP_dword (dest) |= ARMul_LoadWordN (state, address);
+		    }
+
+		  if (trace)
+		    fprintf (stderr, " VFP: VPOP: D%d = %g\n", dest, VFP_dval (dest));
+
+		  address += 8;
+		  dest += 1;
+		}
+	    }
+	  else
+	    {
+	      int sreg = (BITS (12, 15) << 1) | BIT (22);
+	      int num  = BITS (0, 7);
+
+	      while (num--)
+		{
+		  VFP_uword (sreg) = ARMul_LoadWordN (state, address);
+		  address += 4;
+		  sreg += 1;
+		}
+	    }
+	}
+      else if (BITS (9, 11) != 0x5)
+	break;
+      else
+	{
+	  /* VLDM PUW=011 */
+	  int n = BITS (16, 19);
+	  int imm8 = BITS (0, 7);
+	  ARMword address = state->Reg[n];
+	  state->Reg[n] += imm8 << 2;
+
+	  if (BIT (8))
+	    {
+	      int dest = (BIT (22) << 4) | BITS (12, 15);
+
+	      imm8 >>= 1;
+	      while (imm8--)
+		{
+		  if (state->bigendSig)
+		    {
+		      VFP_dword (dest) = ARMul_LoadWordN (state, address);
+		      VFP_dword (dest) <<= 32;
+		      VFP_dword (dest) |= ARMul_LoadWordN (state, address + 4);
+		    }
+		  else
+		    {
+		      VFP_dword (dest) = ARMul_LoadWordN (state, address + 4);
+		      VFP_dword (dest) <<= 32;
+		      VFP_dword (dest) |= ARMul_LoadWordN (state, address);
+		    }
+
+		  if (trace)
+		    fprintf (stderr, " VFP: VLDM: D%d = %g\n", dest, VFP_dval (dest));
+
+		  address += 8;
+		  dest += 1;
+		}
+	    }
+	  else
+	    {
+	      int dest = (BITS (12, 15) << 1) | BIT (22);
+	      while (imm8--)
+		{
+		  VFP_uword (dest) = ARMul_LoadWordN (state, address);
+		  address += 4;
+		  dest += 1;
+		}
+	    }
+	}
+      return;
+
+    case 0x11:
+    case 0x15:
+    case 0x19:
+    case 0x1D:
+      {
+	/* VLDR */
+	ARMword imm32 = BITS (0, 7) << 2;
+	int base = state->Reg[LHSReg];
+	ARMword address;
+	int dest;
+
+	if (LHSReg == 15)
+	  base = (base + 3) & ~3;
+
+	address = base + (BIT (23) ? imm32 : - imm32);
+
+	if (CPNum == 10)
+	  {
+	    dest = (DESTReg << 1) + BIT (22);
+
+	    VFP_uword (dest) = ARMul_LoadWordN (state, address);
+	  }
+	else
+	  {
+	    dest = (BIT (22) << 4) + DESTReg;
+
+	    if (state->bigendSig)
+	      {
+		VFP_dword (dest) = ARMul_LoadWordN (state, address);
+		VFP_dword (dest) <<= 32;
+		VFP_dword (dest) |= ARMul_LoadWordN (state, address + 4);
+	      }
+	    else
+	      {
+		VFP_dword (dest) = ARMul_LoadWordN (state, address + 4);
+		VFP_dword (dest) <<= 32;
+		VFP_dword (dest) |= ARMul_LoadWordN (state, address);
+	      }
+
+	    if (trace)
+	      fprintf (stderr, " VFP: VLDR: D%d = %g\n", dest, VFP_dval (dest));
+	  }
+      }
+      return;
+    }
+
+  fprintf (stderr, "SIM: VFP: Unimplemented: %0x\n", BITS (20, 24));
+}
+
 /* This function does the work of generating the addresses used in an
    LDC instruction.  The code here is always post-indexed, it's up to the
    caller to get the input address correct and to handle base register
@@ -477,6 +894,12 @@ ARMul_LDC (ARMul_State * state, ARMword 
   unsigned cpab;
   ARMword data;
 
+  if (CPNum == 10 || CPNum == 11)
+    {
+      handle_VFP_xfer (state, instr);
+      return;
+    }
+
   UNDEF_LSCPCBaseWb;
 
   if (! CP_ACCESS_ALLOWED (state, CPNum))
@@ -537,6 +960,12 @@ ARMul_STC (ARMul_State * state, ARMword 
   unsigned cpab;
   ARMword data;
 
+  if (CPNum == 10 || CPNum == 11)
+    {
+      handle_VFP_xfer (state, instr);
+      return;
+    }
+
   UNDEF_LSCPCBaseWb;
 
   if (! CP_ACCESS_ALLOWED (state, CPNum))
@@ -666,6 +1095,454 @@ ARMul_MRC (ARMul_State * state, ARMword 
   return result;
 }
 
+static void
+handle_VFP_op (ARMul_State * state, ARMword instr)
+{
+  int dest;
+  int srcN;
+  int srcM;
+
+  if (BITS (9, 11) != 0x5 || BIT (4) != 0)
+    {
+      fprintf (stderr, "SIM: VFP: Unimplemented: Float op: %08x\n", BITS (0,31));
+      return;
+    }
+
+  if (BIT (8))
+    {
+      dest = BITS(12,15) + (BIT (22) << 4);
+      srcN = LHSReg  + (BIT (7) << 4);
+      srcM = BITS (0,3) + (BIT (5) << 4);
+    }
+  else
+    {
+      dest = (BITS(12,15) << 1) + BIT (22);
+      srcN = (LHSReg << 1) + BIT (7);
+      srcM = (BITS (0,3) << 1) + BIT (5);
+    }
+
+  switch (BITS (20, 27))
+    {
+    case 0xE0:
+    case 0xE4:
+      /* VMLA VMLS */
+      if (BIT (8))
+	{
+	  ARMdval val = VFP_dval (srcN) * VFP_dval (srcM);
+
+	  if (BIT (6))
+	    {
+	      if (trace)
+		fprintf (stderr, " VFP: VMLS: %g = %g - %g * %g\n",
+			 VFP_dval (dest) - val, 
+			 VFP_dval (dest), VFP_dval (srcN), VFP_dval (srcM));
+	      VFP_dval (dest) -= val;
+	    }
+	  else
+	    {
+	      if (trace)
+		fprintf (stderr, " VFP: VMLA: %g = %g + %g * %g\n",
+			 VFP_dval (dest) + val, 
+			 VFP_dval (dest), VFP_dval (srcN), VFP_dval (srcM));
+	      VFP_dval (dest) += val;
+	    }
+	}
+      else
+	{
+	  ARMfval val = VFP_fval (srcN) * VFP_fval (srcM);
+
+	  if (BIT (6))
+	    {
+	      if (trace)
+		fprintf (stderr, " VFP: VMLS: %g = %g - %g * %g\n",
+			 VFP_fval (dest) - val, 
+			 VFP_fval (dest), VFP_fval (srcN), VFP_fval (srcM));
+	      VFP_fval (dest) -= val;
+	    }
+	  else
+	    {
+	      if (trace)
+		fprintf (stderr, " VFP: VMLA: %g = %g + %g * %g\n",
+			 VFP_fval (dest) + val, 
+			 VFP_fval (dest), VFP_fval (srcN), VFP_fval (srcM));
+	      VFP_fval (dest) += val;
+	    }
+	}
+      return;
+
+    case 0xE1:
+    case 0xE5:
+      if (BIT (8))
+	{
+	  ARMdval product = VFP_dval (srcN) * VFP_dval (srcM);
+
+	  if (BIT (6))
+	    {
+	      /* VNMLA */
+	      if (trace)
+		fprintf (stderr, " VFP: VNMLA: %g = -(%g + (%g * %g))\n",
+			 -(VFP_dval (dest) + product),
+			 VFP_dval (dest), VFP_dval (srcN), VFP_dval (srcM));
+	      VFP_dval (dest) = -(product + VFP_dval (dest));
+	    }
+	  else
+	    {
+	      /* VNMLS */
+	      if (trace)
+		fprintf (stderr, " VFP: VNMLS: %g = -(%g + (%g * %g))\n",
+			 -(VFP_dval (dest) + product),
+			 VFP_dval (dest), VFP_dval (srcN), VFP_dval (srcM));
+	      VFP_dval (dest) = product - VFP_dval (dest);
+	    }
+	}
+      else
+	{
+	  ARMfval product = VFP_fval (srcN) * VFP_fval (srcM);
+
+	  if (BIT (6))
+	    /* VNMLA */
+	    VFP_fval (dest) = -(product + VFP_fval (dest));
+	  else
+	    /* VNMLS */
+	    VFP_fval (dest) = product - VFP_fval (dest);
+	}
+      return;
+
+    case 0xE2:
+    case 0xE6:
+      if (BIT (8))
+	{
+	  ARMdval product = VFP_dval (srcN) * VFP_dval (srcM);
+
+	  if (BIT (6))
+	    {
+	      if (trace)
+		fprintf (stderr, " VFP: VMUL: %g = %g * %g\n",
+			 - product, VFP_dval (srcN), VFP_dval (srcM));
+	      /* VNMUL */
+	      VFP_dval (dest) = - product;
+	    }
+	  else
+	    {
+	      if (trace)
+		fprintf (stderr, " VFP: VMUL: %g = %g * %g\n",
+			 product, VFP_dval (srcN), VFP_dval (srcM));
+	      /* VMUL */
+	      VFP_dval (dest) = product;
+	    }
+	}
+      else
+	{
+	  ARMfval product = VFP_fval (srcN) * VFP_fval (srcM);
+
+	  if (BIT (6))
+	    {
+	      if (trace)
+		fprintf (stderr, " VFP: VNMUL: %g = %g * %g\n",
+			 - product, VFP_fval (srcN), VFP_fval (srcM));
+
+	      VFP_fval (dest) = - product;
+	    }
+	  else
+	    {
+	      if (trace)
+		fprintf (stderr, " VFP: VMUL: %g = %g * %g\n",
+			 product, VFP_fval (srcN), VFP_fval (srcM));
+
+	      VFP_fval (dest) = product;
+	    }
+	}
+      return;
+	
+    case 0xE3:
+    case 0xE7:
+      if (BIT (6) == 0)
+	{
+	  /* VADD */
+	  if (BIT(8))
+	    {
+	      if (trace)
+		fprintf (stderr, " VFP: VADD %g = %g + %g\n",
+			 VFP_dval (srcN) + VFP_dval (srcM),
+			 VFP_dval (srcN),
+			 VFP_dval (srcM));
+	      VFP_dval (dest) = VFP_dval (srcN) + VFP_dval (srcM);
+	    }
+	  else
+	    VFP_fval (dest) = VFP_fval (srcN) + VFP_fval (srcM);
+
+	}
+      else
+	{
+	  /* VSUB */
+	  if (BIT(8))
+	    {
+	      if (trace)
+		fprintf (stderr, " VFP: VSUB %g = %g - %g\n",
+			 VFP_dval (srcN) - VFP_dval (srcM),
+			 VFP_dval (srcN),
+			 VFP_dval (srcM));
+	      VFP_dval (dest) = VFP_dval (srcN) - VFP_dval (srcM);
+	    }
+	  else
+	    VFP_fval (dest) = VFP_fval (srcN) - VFP_fval (srcM);
+	}
+      return;
+
+    case 0xE8:
+    case 0xEC:
+      if (BIT (6) == 1)
+	break;
+
+      /* VDIV */
+      if (BIT (8))
+	{
+	  ARMdval res = VFP_dval (srcN) / VFP_dval (srcM);
+	  if (trace)
+	    fprintf (stderr, " VFP: VDIV (64bit): %g = %g / %g\n",
+		     res, VFP_dval (srcN), VFP_dval (srcM));
+	  VFP_dval (dest) = res;
+	}
+      else
+	{
+	  if (trace)
+	    fprintf (stderr, " VFP: VDIV: %g = %g / %g\n",
+		     VFP_fval (srcN) / VFP_fval (srcM),
+		     VFP_fval (srcN), VFP_fval (srcM));
+
+	  VFP_fval (dest) = VFP_fval (srcN) / VFP_fval (srcM);
+	}
+      return;
+
+    case 0xEB:
+    case 0xEF:
+      if (BIT (6) != 1)
+	break;
+
+      switch (BITS (16, 19))
+	{
+	case 0x0:
+	  if (BIT (7) == 0)
+	    {
+	      if (BIT (8))
+		{
+		  /* VMOV.F64 <Dd>, <Dm>.  */
+		  VFP_dval (dest) = VFP_dval (srcM);
+		  if (trace)
+		    fprintf (stderr, " VFP: VMOV d%d, d%d: %g\n", dest, srcM, VFP_dval (srcM));
+		}
+	      else
+		{
+		  /* VMOV.F32 <Sd>, <Sm>.  */
+		  VFP_fval (dest) = VFP_fval (srcM);
+		  if (trace)
+		    fprintf (stderr, " VFP: VMOV s%d, s%d: %g\n", dest, srcM, VFP_fval (srcM));
+		}
+	    }
+	  else
+	    {
+	      /* VABS */
+	      if (BIT (8))
+		{
+		  ARMdval src = VFP_dval (srcM);
+		  
+		  VFP_dval (dest) = fabs (src);
+		  if (trace)
+		    fprintf (stderr, " VFP: VABS (%g) = %g\n", src, VFP_dval (dest));
+		}
+	      else
+		{
+		  ARMfval src = VFP_fval (srcM);
+
+		  VFP_fval (dest) = fabsf (src);
+		  if (trace)
+		    fprintf (stderr, " VFP: VABS (%g) = %g\n", src, VFP_fval (dest));
+		}
+	    }
+	  return;
+
+	case 0x1:
+	  if (BIT (7) == 0)
+	    {
+	      /* VNEG */
+	      if (BIT (8))
+		VFP_dval (dest) = - VFP_dval (srcM);
+	      else
+		VFP_fval (dest) = - VFP_fval (srcM);
+	    }
+	  else
+	    {
+	      /* VSQRT */
+	      if (BIT (8))
+		{
+		  if (trace)
+		    fprintf (stderr, " VFP: %g = root(%g)\n",
+			     sqrt (VFP_dval (srcM)), VFP_dval (srcM));
+
+		  VFP_dval (dest) = sqrt (VFP_dval (srcM));
+		}
+	      else
+		{
+		  if (trace)
+		    fprintf (stderr, " VFP: %g = root(%g)\n",
+			     sqrtf (VFP_fval (srcM)), VFP_fval (srcM));
+
+		  VFP_fval (dest) = sqrtf (VFP_fval (srcM));
+		}
+	    }
+	  return;
+
+	case 0x4:
+	case 0x5:
+	  /* VCMP, VCMPE */
+	  if (BIT(8))
+	    {
+	      ARMdval res = VFP_dval (dest);
+
+	      if (BIT (16) == 0)
+		{
+		  ARMdval src = VFP_dval (srcM);
+		  
+		  if (isinf (res) && isinf (src))
+		    {
+		      if (res > 0.0 && src > 0.0)
+			res = 0.0;
+		      else if (res < 0.0 && src < 0.0)
+			res = 0.0;
+		      /* else leave res alone.   */
+		    }
+		  else
+		    res -= src;
+		}
+
+	      /* FIXME: Add handling of signalling NaNs and the E bit.  */
+
+	      state->FPSCR &= 0x0FFFFFFF;
+	      if (res < 0.0)
+		state->FPSCR |= NBIT;
+	      else
+		state->FPSCR |= CBIT;
+	      if (res == 0.0)
+		state->FPSCR |= ZBIT;
+	      if (isnan (res))
+		state->FPSCR |= VBIT;
+
+	      if (trace)
+		fprintf (stderr, " VFP: VCMP (64bit) %g vs %g res %g, flags: %c%c%c%c\n",
+			 VFP_dval (dest), BIT (16) ? 0.0 : VFP_dval (srcM), res,
+			 state->FPSCR & NBIT ? 'N' : '-',
+			 state->FPSCR & ZBIT ? 'Z' : '-',
+			 state->FPSCR & CBIT ? 'C' : '-',
+			 state->FPSCR & VBIT ? 'V' : '-');
+	    }
+	  else
+	    {
+	      ARMfval res = VFP_fval (dest);
+
+	      if (BIT (16) == 0)
+		{
+		  ARMfval src = VFP_fval (srcM);
+		  
+		  if (isinf (res) && isinf (src))
+		    {
+		      if (res > 0.0 && src > 0.0)
+			res = 0.0;
+		      else if (res < 0.0 && src < 0.0)
+			res = 0.0;
+		      /* else leave res alone.   */
+		    }
+		  else
+		    res -= src;
+		}
+
+	      /* FIXME: Add handling of signalling NaNs and the E bit.  */
+
+	      state->FPSCR &= 0x0FFFFFFF;
+	      if (res < 0.0)
+		state->FPSCR |= NBIT;
+	      else
+		state->FPSCR |= CBIT;
+	      if (res == 0.0)
+		state->FPSCR |= ZBIT;
+	      if (isnan (res))
+		state->FPSCR |= VBIT;
+
+	      if (trace)
+		fprintf (stderr, " VFP: VCMP (32bit) %g vs %g res %g, flags: %c%c%c%c\n",
+			 VFP_fval (dest), BIT (16) ? 0.0 : VFP_fval (srcM), res,
+			 state->FPSCR & NBIT ? 'N' : '-',
+			 state->FPSCR & ZBIT ? 'Z' : '-',
+			 state->FPSCR & CBIT ? 'C' : '-',
+			 state->FPSCR & VBIT ? 'V' : '-');
+	    }
+	  return;
+
+	case 0x7:
+	  if (BIT (8))
+	    {
+	      dest = (DESTReg << 1) + BIT (22);
+	      VFP_fval (dest) = VFP_dval (srcM);
+	    }
+	  else
+	    {
+	      dest = DESTReg + (BIT (22) << 4);
+	      VFP_dval (dest) = VFP_fval (srcM);
+	    }
+	  return;
+
+	case 0x8:
+	case 0xC:
+	case 0xD:
+	  /* VCVT integer <-> FP */
+	  if (BIT (18))
+	    {
+	      /* To integer.  */
+	      if (BIT (8))
+		{
+		  dest = (BITS(12,15) << 1) + BIT (22);
+		  if (BIT (16))
+		    VFP_sword (dest) = VFP_dval (srcM);
+		  else
+		    VFP_uword (dest) = VFP_dval (srcM);
+		}
+	      else
+		{
+		  if (BIT (16))
+		    VFP_sword (dest) = VFP_fval (srcM);
+		  else
+		    VFP_uword (dest) = VFP_fval (srcM);
+		}
+	    }
+	  else
+	    {
+	      /* From integer.  */
+	      if (BIT (8))
+		{
+		  srcM = (BITS (0,3) << 1) + BIT (5);
+		  if (BIT (7))
+		    VFP_dval (dest) = VFP_sword (srcM);
+		  else
+		    VFP_dval (dest) = VFP_uword (srcM);
+		}
+	      else
+		{
+		  if (BIT (7))
+		    VFP_fval (dest) = VFP_sword (srcM);
+		  else
+		    VFP_fval (dest) = VFP_uword (srcM);
+		}
+	    }
+	  return;
+	}
+
+      fprintf (stderr, "SIM: VFP: Unimplemented: Float op3: %03x\n", BITS (16,27));
+      return;
+    }
+
+  fprintf (stderr, "SIM: VFP: Unimplemented: Float op2: %02x\n", BITS (20, 27));
+  return;
+}
+
 /* This function does the Busy-Waiting for an CDP instruction.  */
 
 void
@@ -673,6 +1550,12 @@ ARMul_CDP (ARMul_State * state, ARMword 
 {
   unsigned cpab;
 
+  if (CPNum == 10 || CPNum == 11)
+    {
+      handle_VFP_op (state, instr);
+      return;
+    }
+
   if (! CP_ACCESS_ALLOWED (state, CPNum))
     {
       ARMul_UndefInstr (state, instr);
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.20150623/sim/arm/ChangeLog ./sim/arm/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/arm/ChangeLog	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/arm/ChangeLog	2015-06-30 01:48:32.000000000 +0000
@@ -1,3 +1,57 @@
+2015-06-28  Nick Clifton  <nickc@redhat.com>
+
+	* Makefile.in (SIM_EXTRA_CFLAGS): Add -lm.
+	* armdefs.h (ARMdval, ARMfval): New types.
+	(ARM_VFP_reg): New union.
+	(struct ARMul_State): Add VFP_Reg and FPSCR fields.
+	(VFP_fval, VFP_uword, VFP_sword, VFP_dval, VFP_dword): Accessor
+	macros for the new VFP_Reg field.
+	* armemu.c (handle_v6_insn): Add code to handle MOVW, MOVT,
+	QADD16, QASX, QSAX, QSUB16, QADD8, QSUB8, UADD16, USUB16, UADD8,
+	USUB8, SEL, REV, REV16, RBIT, BFC, BFI, SBFX and UBFX
+	instructions.
+	(handle_VFP_move): New function.
+	(ARMul_Emulate16): Add checks for newly supported v6
+	instructions.  Add support for VMRS, VMOV and MRC instructions.
+	(Multiply64): Allow nRdHi == nRm and/or nRdLo == nRm when
+	operating in v6 mode.
+	* armemu.h (t_resolved): Define.
+	* armsupp.c: Include math.h.
+	(handle_VFP_xfer): New function.  Handles VMOV, VSTM, VSTR, VPUSH,
+	VSTM, VLDM and VPOP instructions.
+	(ARMul_LDC): Test for co-processor 10 or 11 and pass call to the
+	new handle_VFP_xfer function.
+	(ARMul_STC): Likewise.
+	(handle_VFP_op): New function.  Handles VMLA, VMLS, VNMLA, VNMLS,
+	VNMUL, VMUL, VADD, VSUB, VDIV, VMOV, VABS, VNEG, VSQRT, VCMP,
+	VCMPE and VCVT instructions.
+	(ARMul_CDP): Test for co-processor 10 or 11 and pass call to the
+	new handle_VFP_op function.
+	* thumbemu.c (tBIT, tBITS, ntBIT, ntBITS): New macros.
+	(test_cond): New function.  Tests a condition and returns non-zero
+	if the condition has been met.
+	(handle_IT_block): New function.
+	(in_IT_block): New function.
+	(IT_block_allow): New function.
+	(ThumbExpandImm): New function.
+	(handle_T2_insn): New function.  Handles T2 thumb instructions.
+	(handle_v6_thumb_insn): Add next_instr and pc parameters.
+	(ARMul_ThumbDecode): Add support for IT blocks.  Add support for
+	v6 instructions.
+	* wrapper.c (sim_create_inferior): Detect a thumb address and call
+	SETT appropriately.
+
+2015-06-23  Mike Frysinger  <vapier@gentoo.org>
+
+	* configure: Regenerate.
+
+2015-06-23  Mike Frysinger  <vapier@gentoo.org>
+
+	* armdefs.h: Always include stdint.h.
+	[!__STDC__]: Delete.
+	[!HAVE_STDINT_H]: Delete.
+	* dbg_hif.h [!__STDC__]: Delete.
+
 2015-06-12  Mike Frysinger  <vapier@gentoo.org>
 
 	* configure: Regenerate.
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.20150623/sim/arm/configure ./sim/arm/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/arm/configure	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/arm/configure	2015-06-30 01:48:32.000000000 +0000
@@ -1405,17 +1405,28 @@ Optional Features:
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-maintainer-mode  enable make rules and dependencies not useful
 			  (and sometimes confusing) to the casual installer
-  --enable-sim-bswap			Use Host specific BSWAP instruction.
-  --enable-sim-cflags=opts		Extra CFLAGS for use in building simulator
-  --enable-sim-debug=opts		Enable debugging flags
-  --enable-sim-stdio			Specify whether to use stdio for console input/output.
-  --enable-sim-trace=opts		Enable tracing flags
-  --enable-sim-profile=opts		Enable profiling flags
-  --enable-sim-endian=endian		Specify target byte endian orientation.
-  --enable-sim-alignment=align		Specify strict,  nonstrict or forced alignment of memory accesses.
-  --enable-sim-hostendian=end		Specify host byte endian orientation.
-  --enable-sim-environment=environment	Specify mixed, user, virtual or operating environment.
-  --enable-sim-inline=inlines		Specify which functions should be inlined.
+  --enable-sim-bswap      Use Host specific BSWAP instruction
+  --enable-sim-cflags=opts
+                          Extra CFLAGS for use in building simulator
+  --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+                          itself)
+  --enable-sim-stdio      Specify whether to use stdio for console
+                          input/output
+  --enable-sim-trace=opts Enable tracing of simulated programs
+  --enable-sim-profile=opts
+                          Enable profiling flags
+  --enable-sim-endian=endian
+                          Specify target byte endian orientation
+  --enable-sim-alignment=align
+                          Specify strict, nonstrict or forced alignment of
+                          memory accesses
+  --enable-sim-hostendian=end
+                          Specify host byte endian orientation
+  --enable-sim-environment=environment
+                          Specify mixed, user, virtual or operating
+                          environment
+  --enable-sim-inline=inlines
+                          Specify which functions should be inlined
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings if gcc is used
   --enable-sim-build-warnings
@@ -12306,7 +12317,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12309 "configure"
+#line 12320 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12412,7 +12423,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12415 "configure"
+#line 12426 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_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.20150623/sim/arm/dbg_hif.h ./sim/arm/dbg_hif.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/arm/dbg_hif.h	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/arm/dbg_hif.h	2015-06-30 01:48:32.000000000 +0000
@@ -14,11 +14,7 @@
     You should have received a copy of the GNU General Public License
     along with this program; if not, see <http://www.gnu.org/licenses/>. */
 
-#ifdef __STDC__
-#  include <stdarg.h>
-#else
-#  include <varargs.h>
-#endif
+#include <stdarg.h>
 
 typedef void Hif_DbgPrint (void *arg, const char *format, va_list ap);
 typedef void Hif_DbgPause (void *arg);
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.20150623/sim/arm/Makefile.in ./sim/arm/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/arm/Makefile.in	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/arm/Makefile.in	2015-06-30 01:48:32.000000000 +0000
@@ -17,7 +17,7 @@
 
 ## COMMON_PRE_CONFIG_FRAG
 
-SIM_EXTRA_CFLAGS = -DMODET
+SIM_EXTRA_CFLAGS = -DMODET -lm
 
 SIM_OBJS = \
 	wrapper.o \
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.20150623/sim/arm/thumbemu.c ./sim/arm/thumbemu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/arm/thumbemu.c	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/arm/thumbemu.c	2015-06-30 01:48:32.000000000 +0000
@@ -30,12 +30,1788 @@ existing ARM simulator.  */
 #include "armemu.h"
 #include "armos.h"
 
+#define tBIT(n)    ( (ARMword)(tinstr >> (n)) & 1)
+#define tBITS(m,n) ( (ARMword)(tinstr << (31 - (n))) >> ((31 - (n)) + (m)) )
+
+#define ntBIT(n)    ( (ARMword)(next_instr >> (n)) & 1)
+#define ntBITS(m,n) ( (ARMword)(next_instr << (31 - (n))) >> ((31 - (n)) + (m)) )
+
+static int
+test_cond (int cond, ARMul_State * state)
+{
+  switch (cond)
+    {
+    case EQ: return ZFLAG;
+    case NE: return !ZFLAG;
+    case VS: return VFLAG;
+    case VC: return !VFLAG;
+    case MI: return NFLAG;
+    case PL: return !NFLAG;
+    case CS: return CFLAG;
+    case CC: return !CFLAG;
+    case HI: return (CFLAG && !ZFLAG);
+    case LS: return (!CFLAG || ZFLAG);
+    case GE: return ((!NFLAG && !VFLAG) || (NFLAG && VFLAG));
+    case LT: return ((NFLAG && !VFLAG) || (!NFLAG && VFLAG));
+    case GT: return ((!NFLAG && !VFLAG && !ZFLAG)
+		     || (NFLAG && VFLAG && !ZFLAG));
+    case LE: return ((NFLAG && !VFLAG) || (!NFLAG && VFLAG)) || ZFLAG;
+    case AL: return TRUE;
+    case NV:
+    default: return FALSE;
+    }
+}
+
+static ARMword skipping_32bit_thumb = 0;
+
+static int     IT_block_cond = AL;
+static ARMword IT_block_mask = 0;
+static int     IT_block_first = FALSE;
+
+static void
+handle_IT_block (ARMul_State * state,
+		 ARMword       tinstr,
+		 tdstate *     pvalid)
+{
+  * pvalid = t_branch;
+  IT_block_mask = tBITS (0, 3);
+
+  if (IT_block_mask == 0)
+    // NOP or a HINT.
+    return;
+
+  IT_block_cond = tBITS (4, 7);
+  IT_block_first = TRUE;
+}
+
+static int
+in_IT_block (void)
+{
+  return IT_block_mask != 0;
+}
+
+static int
+IT_block_allow (ARMul_State * state)
+{
+  int cond;
+
+  if (IT_block_mask == 0)
+    return TRUE;
+
+  cond = IT_block_cond;
+
+  if (IT_block_first)
+    IT_block_first = FALSE;
+  else
+    {
+      if ((IT_block_mask & 8) == 0)
+	cond &= 0xe;
+      else
+	cond |= 1;
+      IT_block_mask <<= 1;
+      IT_block_mask &= 0xF;
+    }
+
+  if (IT_block_mask == 0x8)
+    IT_block_mask = 0;
+
+  return test_cond (cond, state);
+}
+
+static ARMword
+ThumbExpandImm (ARMword tinstr)
+{
+  ARMword val;
+
+  if (tBITS (10, 11) == 0)
+    {
+      switch (tBITS (8, 9))
+	{
+	case 0:	 val = tBITS (0, 7); break;
+	case 1:	 val = tBITS (0, 7) << 8; break;
+	case 2:  val = (tBITS (0, 7) << 8) | (tBITS (0, 7) << 24); break;
+	case 3:  val = tBITS (0, 7) * 0x01010101; break;
+	default: val = 0;
+	}
+    }
+  else
+    {
+      int ror = tBITS (7, 11);
+      
+      val = (1 << 7) | tBITS (0, 6);
+      val = (val >> ror) | (val << (32 - ror));
+    }
+
+  return val;
+}
+
+#define tASSERT(truth)							\
+  do									\
+    {									\
+      if (! (truth))							\
+	{								\
+	  fprintf (stderr, "unhandled T2 insn %04x|%04x detected at thumbemu.c:%d\n", \
+		   tinstr, next_instr, __LINE__);			\
+	  return ;							\
+	}								\
+    }									\
+  while (0)
+
+
+/* Attempt to emulate a 32-bit ARMv7 Thumb instruction.
+   Stores t_branch into PVALUE upon success or t_undefined otherwise.  */
+
+static void
+handle_T2_insn (ARMul_State * state,
+		ARMword       tinstr,
+		ARMword       next_instr,
+		ARMword       pc,
+		ARMword *     ainstr,
+		tdstate *     pvalid)
+{
+  * pvalid = t_undefined;
+
+  if (! state->is_v6)
+    return;
+
+  if (trace)
+    fprintf (stderr, "|%04x ", next_instr);
+
+  if (tBITS (11, 15) == 0x1E && ntBIT (15) == 1)
+    {
+      ARMsword simm32 = 0;
+      int S = tBIT (10);
+
+      * pvalid = t_branch;
+      switch ((ntBIT (14) << 1) | ntBIT (12))
+	{
+	case 0: /* B<c>.W  */
+	  {
+	    ARMword cond = tBITS (6, 9);
+	    ARMword imm6;
+	    ARMword imm11;
+	    ARMword J1;
+	    ARMword J2;
+
+	    tASSERT (cond != AL && cond != NV);
+	    if (! test_cond (cond, state))
+	      return;
+
+	    imm6 = tBITS (0, 5);
+	    imm11 = ntBITS (0, 10);
+	    J1 = ntBIT (13);
+	    J2 = ntBIT (11);
+
+	    simm32 = (J1 << 19) | (J2 << 18) | (imm6 << 12) | (imm11 << 1);
+	    if (S)
+	      simm32 |= (-1 << 20);
+	    break;
+	  }
+	  
+	case 1: /* B.W  */
+	  {
+	    ARMword imm10 = tBITS (0, 9);
+	    ARMword imm11 = ntBITS (0, 10);
+	    ARMword I1 = (ntBIT (13) ^ S) ? 0 : 1;
+	    ARMword I2 = (ntBIT (11) ^ S) ? 0 : 1;
+
+	    simm32 = (I1 << 23) | (I2 << 22) | (imm10 << 12) | (imm11 << 1);
+	    if (S)
+	      simm32 |= (-1 << 24);
+	    break;
+	  }
+	  
+	case 2: /* BLX <label>  */
+	  {
+	    ARMword imm10h = tBITS (0, 9);
+	    ARMword imm10l = ntBITS (1, 10);
+	    ARMword I1 = (ntBIT (13) ^ S) ? 0 : 1;
+	    ARMword I2 = (ntBIT (11) ^ S) ? 0 : 1;
+
+	    simm32 = (I1 << 23) | (I2 << 22) | (imm10h << 12) | (imm10l << 2);
+	    if (S)
+	      simm32 |= (-1 << 24);
+
+	    CLEART;
+	    state->Reg[14] = (pc + 4) | 1;
+	    break;
+	  }
+
+	case 3: /* BL <label>  */
+	  {
+	    ARMword imm10 = tBITS (0, 9);
+	    ARMword imm11 = ntBITS (0, 10);
+	    ARMword I1 = (ntBIT (13) ^ S) ? 0 : 1;
+	    ARMword I2 = (ntBIT (11) ^ S) ? 0 : 1;
+
+	    simm32 = (I1 << 23) | (I2 << 22) | (imm10 << 12) | (imm11 << 1);
+	    if (S)
+	      simm32 |= (-1 << 24);
+	    state->Reg[14] = (pc + 4) | 1;
+	    break;
+	  }
+	}
+
+      state->Reg[15] = (pc + 4 + simm32);
+      FLUSHPIPE;
+      if (trace_funcs)
+	fprintf (stderr, " pc changed to %x\n", state->Reg[15]);
+      return;
+    }
+  
+  switch (tBITS (5,12))
+    {
+    case 0x29:  // TST<c>.W <Rn>,<Rm>{,<shift>}
+      {
+	ARMword Rn = tBITS (0, 3);
+	ARMword Rm = ntBITS (0, 3);
+	ARMword type = ntBITS (4, 5);
+	ARMword imm5 = (ntBITS (12, 14) << 2) | ntBITS (6, 7);
+
+	tASSERT (ntBITS (8, 11) == 0xF);
+
+	* ainstr = 0xE1100000;
+	* ainstr |= (Rn << 16);
+	* ainstr |= (Rm);
+	* ainstr |= (type << 5);
+	* ainstr |= (imm5 << 7);
+	* pvalid = t_decoded;
+	break;
+      }
+
+    case 0x46:
+      if (tBIT (4) && ntBITS (5, 15) == 0x780)
+	{
+	  // Table Branch
+	  ARMword Rn = tBITS (0, 3);
+	  ARMword Rm = ntBITS (0, 3);
+	  ARMword address, dest;
+
+	  if (ntBIT (4))
+	    {
+	      // TBH
+	      address = state->Reg[Rn] + state->Reg[Rm] * 2;
+	      dest = ARMul_LoadHalfWord (state, address);
+	    }
+	  else
+	    {
+	      // TBB
+	      address = state->Reg[Rn] + state->Reg[Rm];
+	      dest = ARMul_LoadByte (state, address);
+	    }
+
+	  state->Reg[15] = (pc + 4 + dest * 2);
+	  FLUSHPIPE;
+	  * pvalid = t_branch;
+	  break;
+	}
+      /* Fall through.  */
+    case 0x42:
+    case 0x43:
+    case 0x47:
+    case 0x4A:
+    case 0x4B:
+    case 0x4E: // STRD
+    case 0x4F: // LDRD
+      {
+	ARMword Rn = tBITS (0, 3);
+	ARMword Rt = ntBITS (12, 15);
+	ARMword Rt2 = ntBITS (8, 11);
+	ARMword imm8 = ntBITS (0, 7);
+	ARMword P = tBIT (8);
+	ARMword U = tBIT (7);
+	ARMword W = tBIT (5);
+
+	tASSERT (Rt2 == Rt + 1);
+	imm8 <<= 2;
+	tASSERT (imm8 <= 255);
+	tASSERT (P != 0 || W != 0);
+
+	// Convert into an ARM A1 encoding.
+	if (Rn == 15)
+	  {
+	    tASSERT (tBIT (4) == 1);
+	    // LDRD (literal)
+	    // Ignore W even if 1.
+	    * ainstr = 0xE14F00D0;
+	  }
+	else
+	  {
+	    if (tBIT (4) == 1)
+	      // LDRD (immediate)
+	      * ainstr = 0xE04000D0;
+	    else
+	      {
+		// STRD<c> <Rt>,<Rt2>,[<Rn>{,#+/-<imm8>}]
+		// STRD<c> <Rt>,<Rt2>,[<Rn>],#+/-<imm8>
+		// STRD<c> <Rt>,<Rt2>,[<Rn>,#+/-<imm8>]!
+		* ainstr = 0xE04000F0;
+	      }
+	    * ainstr |= (Rn << 16);
+	    * ainstr |= (P << 24);
+	    * ainstr |= (W << 21);
+	  }
+
+	* ainstr |= (U << 23);
+	* ainstr |= (Rt << 12);
+	* ainstr |= ((imm8 << 4) & 0xF00);
+	* ainstr |= (imm8 & 0xF);
+	* pvalid = t_decoded;
+	break;
+      }
+
+    case 0x44:
+    case 0x45: // LDMIA
+      {
+	ARMword Rn   = tBITS (0, 3);
+	int     W    = tBIT (5);
+	ARMword list = (ntBIT (15) << 15) | (ntBIT (14) << 14) | ntBITS (0, 12);
+
+	if (Rn == 13)
+	  * ainstr = 0xE8BD0000;
+	else
+	  {
+	    * ainstr = 0xE8900000;
+	    * ainstr |= (W << 21);
+	    * ainstr |= (Rn << 16);
+	  }
+	* ainstr |= list;
+	* pvalid = t_decoded;
+	break;
+      }
+
+    case 0x48:
+    case 0x49: // STMDB
+      {
+	ARMword Rn   = tBITS (0, 3);
+	int     W    = tBIT (5);
+	ARMword list = (ntBIT (14) << 14) | ntBITS (0, 12);
+
+	if (Rn == 13 && W)
+	  * ainstr = 0xE92D0000;
+	else
+	  {
+	    * ainstr = 0xE9000000;
+	    * ainstr |= (W << 21);
+	    * ainstr |= (Rn << 16);
+	  }
+	* ainstr |= list;
+	* pvalid = t_decoded;
+	break;
+      }
+
+    case 0x50: 
+      {
+	ARMword Rd = ntBITS (8, 11);
+	ARMword Rn = tBITS (0, 3);
+	ARMword Rm = ntBITS (0, 3);
+	ARMword imm5 = (ntBITS (12, 14) << 2) | ntBITS (6, 7);
+	ARMword type = ntBITS (4, 5);
+
+	tASSERT (ntBIT (15) == 0);
+
+	if (Rd == 15)
+	  {
+	    tASSERT (tBIT (4) == 1);
+
+	    // TST<c>.W <Rn>,<Rm>{,<shift>}
+	    * ainstr = 0xE1100000;
+	  }
+	else
+	  {
+	    // AND{S}<c>.W <Rd>,<Rn>,<Rm>{,<shift>}
+	    int S = tBIT (4);
+
+	    * ainstr = 0xE0000000;
+
+	    if (in_IT_block ())
+	      S = 0;
+	    * ainstr |= (S << 20);
+	  }
+	
+	* ainstr |= (Rn << 16);
+	* ainstr |= (imm5 << 7);
+	* ainstr |= (type << 5);
+	* ainstr |= (Rm << 0);
+	* pvalid = t_decoded;
+	break;
+      }
+      
+    case 0x51: // BIC{S}<c>.W <Rd>,<Rn>,<Rm>{,<shift>}
+      {
+	ARMword Rn = tBITS (0, 3);
+	ARMword S  = tBIT(4);
+	ARMword Rm = ntBITS (0, 3);
+	ARMword Rd = ntBITS (8, 11);
+	ARMword imm5 = (ntBITS (12, 14) << 2) | ntBITS (6, 7);
+	ARMword type = ntBITS (4, 5);
+	
+	tASSERT (ntBIT (15) == 0);
+
+	* ainstr = 0xE1C00000;
+	* ainstr |= (S << 20);
+	* ainstr |= (Rn << 16);
+	* ainstr |= (Rd << 12);
+	* ainstr |= (imm5 << 7);
+	* ainstr |= (type << 5);
+	* ainstr |= (Rm << 0);
+	* pvalid = t_decoded;
+	break;
+      }
+      
+    case 0x52: 
+      {
+	ARMword Rn = tBITS (0, 3);
+	ARMword Rd = ntBITS (8, 11);
+	ARMword Rm = ntBITS (0, 3);
+	int S = tBIT (4);
+	ARMword imm5 = (ntBITS (12, 14) << 2) | ntBITS (6, 7);
+	ARMword type = ntBITS (4, 5);
+
+	tASSERT (Rd != 15);
+
+	if (in_IT_block ())
+	  S = 0;
+
+	if (Rn == 15)
+	  {
+	    tASSERT (ntBIT (15) == 0);
+
+	    switch (ntBITS (4, 5))
+	      {
+	      case 0:
+		// LSL{S}<c>.W <Rd>,<Rm>,#<imm5>
+		* ainstr = 0xE1A00000;
+		break;
+	      case 1:
+		// LSR{S}<c>.W <Rd>,<Rm>,#<imm>
+		* ainstr = 0xE1A00020;
+		break;
+	      case 2:
+		// ASR{S}<c>.W <Rd>,<Rm>,#<imm>
+		* ainstr = 0xE1A00040;
+		break;
+	      case 3:
+		// ROR{S}<c> <Rd>,<Rm>,#<imm>
+		* ainstr = 0xE1A00060;
+		break;
+	      default:
+		tASSERT (0);
+		* ainstr = 0;
+	      }
+	  }
+	else
+	  {
+	    // ORR{S}<c>.W <Rd>,<Rn>,<Rm>{,<shift>}
+	    * ainstr = 0xE1800000;
+	    * ainstr |= (Rn << 16);
+	    * ainstr |= (type << 5);
+	  }
+	
+	* ainstr |= (Rd << 12);
+	* ainstr |= (S << 20);
+	* ainstr |= (imm5 << 7);
+	* ainstr |= (Rm <<  0);
+	* pvalid = t_decoded;
+	break;
+      }
+
+    case 0x53: // MVN{S}<c>.W <Rd>,<Rm>{,<shift>}
+      {
+	ARMword Rd = ntBITS (8, 11);
+	ARMword Rm = ntBITS (0, 3);
+	int S = tBIT (4);
+	ARMword imm5 = (ntBITS (12, 14) << 2) | ntBITS (6, 7);
+	ARMword type = ntBITS (4, 5);
+
+	tASSERT (ntBIT (15) == 0);
+
+	if (in_IT_block ())
+	  S = 0;
+
+	* ainstr = 0xE1E00000;
+	* ainstr |= (S << 20);
+	* ainstr |= (Rd << 12);
+	* ainstr |= (imm5 << 7);
+	* ainstr |= (type << 5);
+	* ainstr |= (Rm <<  0);
+	* pvalid = t_decoded;
+	break;
+      }
+
+    case 0x54: 
+      {
+	ARMword Rn = tBITS (0, 3);
+	ARMword Rd = ntBITS (8, 11);
+	ARMword Rm = ntBITS (0, 3);
+	int S = tBIT (4);
+	ARMword imm5 = (ntBITS (12, 14) << 2) | ntBITS (6, 7);
+	ARMword type = ntBITS (4, 5);
+
+	if (Rd == 15 && S)
+	  {
+	    // TEQ<c> <Rn>,<Rm>{,<shift>}
+	    tASSERT (ntBIT (15) == 0);
+
+	    * ainstr = 0xE1300000;
+	  }
+	else
+	  {
+	    // EOR{S}<c>.W <Rd>,<Rn>,<Rm>{,<shift>}
+	    if (in_IT_block ())
+	      S = 0;
+
+	    * ainstr = 0xE0200000;
+	    * ainstr |= (S << 20);
+	    * ainstr |= (Rd << 8);
+	  }
+
+	* ainstr |= (Rn <<  16);
+	* ainstr |= (imm5 << 7);
+	* ainstr |= (type << 5);
+	* ainstr |= (Rm <<  0);
+	* pvalid = t_decoded;
+	break;
+      }
+
+    case 0x58: // ADD{S}<c>.W <Rd>,<Rn>,<Rm>{,<shift>}
+      {
+	ARMword Rn = tBITS (0, 3);
+	ARMword Rd = ntBITS (8, 11);
+	ARMword Rm = ntBITS (0, 3);
+	int S = tBIT (4);
+	ARMword imm5 = (ntBITS (12, 14) << 2) | ntBITS (6, 7);
+	ARMword type = ntBITS (4, 5);
+	
+	tASSERT (! (Rd == 15 && S));
+
+	if (in_IT_block ())
+	  S = 0;
+
+	* ainstr = 0xE0800000;
+	* ainstr |= (S << 20);
+	* ainstr |= (Rn << 16);
+	* ainstr |= (Rd << 12);
+	* ainstr |= (imm5 << 7);
+	* ainstr |= (type << 5);
+	* ainstr |= Rm;
+	* pvalid = t_decoded;
+	break;
+      }
+
+    case 0x5A: // ADC{S}<c>.W <Rd>,<Rn>,<Rm>{,<shift>}
+      tASSERT (ntBIT (15) == 0);
+      * ainstr = 0xE0A00000;
+      if (! in_IT_block ())
+	* ainstr |= (tBIT (4) << 20); // S
+      * ainstr |= (tBITS (0, 3) << 16); // Rn
+      * ainstr |= (ntBITS (8, 11) << 12); // Rd
+      * ainstr |= ((ntBITS (12, 14) << 2) | ntBITS (6, 7)) << 7; // imm5
+      * ainstr |= (ntBITS (4, 5) << 5); // type
+      * ainstr |= ntBITS (0, 3); // Rm
+      * pvalid = t_decoded;
+      break;
+      
+    case 0x5B: // SBC{S}<c>.W <Rd>,<Rn>,<Rm>{,<shift>}
+      {
+	ARMword Rn = tBITS (0, 3);
+	ARMword Rd = ntBITS (8, 11);
+	ARMword Rm = ntBITS (0, 3);
+	int S = tBIT (4);
+	ARMword imm5 = (ntBITS (12, 14) << 2) | ntBITS (6, 7);
+	ARMword type = ntBITS (4, 5);
+	
+	tASSERT (ntBIT (15) == 0);
+
+	if (in_IT_block ())
+	  S = 0;
+
+	* ainstr = 0xE0C00000;
+	* ainstr |= (S << 20);
+	* ainstr |= (Rn << 16);
+	* ainstr |= (Rd << 12);
+	* ainstr |= (imm5 << 7);
+	* ainstr |= (type << 5);
+	* ainstr |= Rm;
+	* pvalid = t_decoded;
+	break;
+      }
+      
+    case 0x5E: // RSB{S}<c> <Rd>,<Rn>,<Rm>{,<shift>}
+    case 0x5D: // SUB{S}<c>.W <Rd>,<Rn>,<Rm>{,<shift>}
+      {
+	ARMword Rn   = tBITS (0, 3);
+	ARMword Rd   = ntBITS (8, 11);
+	ARMword Rm   = ntBITS (0, 3);
+	ARMword S    = tBIT (4);
+	ARMword type = ntBITS (4, 5);
+	ARMword imm5 = (ntBITS (12, 14) << 2) | ntBITS (6, 7);
+
+	tASSERT (ntBIT(15) == 0);
+	
+	if (Rd == 15)
+	  {
+	    // CMP<c>.W <Rn>, <Rm> {,<shift>}
+	    * ainstr = 0xE1500000;
+	    Rd = 0;
+	  }
+	else if (tBIT (5))
+	  * ainstr = 0xE0400000;
+	else
+	  * ainstr = 0xE0600000;
+
+	* ainstr |= (S << 20);
+	* ainstr |= (Rn << 16);
+	* ainstr |= (Rd << 12);
+	* ainstr |= (imm5 << 7);
+	* ainstr |= (type << 5);
+	* ainstr |= (Rm <<  0);
+	* pvalid = t_decoded;
+	break;
+      }
+      
+    case 0x9D: // NOP.W
+      tASSERT (tBITS (0, 15) == 0xF3AF);
+      tASSERT (ntBITS (0, 15) == 0x8000);
+      * pvalid = t_branch;
+      break;
+      
+    case 0x80: // AND
+    case 0xA0: // TST
+      {
+	ARMword Rn = tBITS (0, 3);
+	ARMword imm12 = (tBIT(10) << 11) | (ntBITS (12, 14) << 8) | ntBITS (0, 7);
+	ARMword Rd = ntBITS (8, 11);
+	ARMword val;
+	int S = tBIT (4);
+
+	imm12 = ThumbExpandImm (imm12);	
+	val = state->Reg[Rn] & imm12;
+
+	if (Rd == 15)
+	  {
+	    // TST<c> <Rn>,#<const>
+	    tASSERT (S == 1);
+	  }
+	else
+	  {
+	    // AND{S}<c> <Rd>,<Rn>,#<const>
+	    if (in_IT_block ())
+	      S = 0;	    
+
+	    state->Reg[Rd] = val;
+	  }
+
+	if (S)
+	  ARMul_NegZero (state, val);
+	* pvalid = t_branch;
+	break;
+      }
+
+    case 0xA1:
+    case 0x81: // BIC.W
+      {
+	ARMword Rn = tBITS (0, 3);
+	ARMword Rd = ntBITS (8, 11);
+	ARMword S = tBIT (4);
+	ARMword imm8 = (ntBITS (12, 14) << 8) | ntBITS (0, 7);
+
+	tASSERT (ntBIT (15) == 0);
+
+	imm8 = ThumbExpandImm (imm8);
+	state->Reg[Rd] = state->Reg[Rn] & ~ imm8;
+
+	if (S && ! in_IT_block ())
+	  ARMul_NegZero (state, state->Reg[Rd]);
+	* pvalid = t_resolved;
+	break;
+      }
+      
+    case 0xA2:
+    case 0x82: // MOV{S}<c>.W <Rd>,#<const>
+      {
+	ARMword val = (tBIT(10) << 11) | (ntBITS (12, 14) << 8) | ntBITS (0, 7);
+	ARMword Rd = ntBITS (8, 11);
+
+	val = ThumbExpandImm (val);
+	state->Reg[Rd] = val;
+
+	if (tBIT (4) && ! in_IT_block ())
+	  ARMul_NegZero (state, val);
+	/* Indicate that the instruction has been processed.  */
+	* pvalid = t_branch;
+	break;
+      }
+
+    case 0xA3:
+    case 0x83: // MVN{S}<c> <Rd>,#<const>
+      {
+	ARMword val = (tBIT(10) << 11) | (ntBITS (12, 14) << 8) | ntBITS (0, 7);
+	ARMword Rd = ntBITS (8, 11);
+
+	val = ThumbExpandImm (val);
+	val = ~ val;
+	state->Reg[Rd] = val;
+
+	if (tBIT (4) && ! in_IT_block ())
+	  ARMul_NegZero (state, val);
+	* pvalid = t_resolved;
+	break;
+      }
+
+    case 0xA4: // EOR
+    case 0x84: // TEQ
+      {
+	ARMword Rn = tBITS (0, 3);
+	ARMword Rd = ntBITS (8, 11);
+	ARMword S = tBIT (4);
+	ARMword imm12 = ((tBIT (10) << 11) | (ntBITS (12, 14) << 8) | ntBITS (0, 7));
+	ARMword result;
+
+	imm12 = ThumbExpandImm (imm12);
+
+	result = state->Reg[Rn] ^ imm12;
+
+	if (Rd == 15 && S)
+	  // TEQ<c> <Rn>,#<const>
+	  ;
+	else
+	  {
+	    // EOR{S}<c> <Rd>,<Rn>,#<const>
+	    state->Reg[Rd] = result;
+
+	    if (in_IT_block ())
+	      S = 0;
+	  }
+	    
+	if (S)
+	  ARMul_NegZero (state, result);
+	* pvalid = t_resolved;
+	break;
+      }
+      
+    case 0xA8: // CMN
+    case 0x88: // ADD
+      {
+	ARMword Rd = ntBITS (8, 11);
+	int S = tBIT (4);
+	ARMword Rn = tBITS (0, 3);
+	ARMword lhs = state->Reg[Rn];
+	ARMword imm12 = (tBIT (10) << 11) | (ntBITS (12, 14) << 8) | ntBITS (0, 7);
+	ARMword rhs = ThumbExpandImm (imm12);
+	ARMword res = lhs + rhs;
+
+	if (Rd == 15 && S)
+	  {
+	    // CMN<c> <Rn>,#<const>
+	    res = lhs - rhs;
+	  }
+	else
+	  {
+	    // ADD{S}<c>.W <Rd>,<Rn>,#<const>
+	    res = lhs + rhs;
+
+	    if (in_IT_block ())
+	      S = 0;
+
+	    state->Reg[Rd] = res;
+	  }
+
+	if (S)
+	  {
+	    ARMul_NegZero (state, res);
+
+	    if ((lhs | rhs) >> 30)
+	      {
+		/* Possible C,V,N to set.  */
+		ARMul_AddCarry (state, lhs, rhs, res);
+		ARMul_AddOverflow (state, lhs, rhs, res);
+	      }
+	    else
+	      {
+		CLEARC;
+		CLEARV;
+	      }
+	  }
+	
+	* pvalid = t_branch;
+	break;
+      }
+
+    case 0xAA: 
+    case 0x8A: // ADC{S}<c> <Rd>,<Rn>,#<const>
+      {
+	ARMword Rn = tBITS (0, 3);
+	ARMword Rd = ntBITS (8, 11);
+	int S = tBIT (4);
+	ARMword imm12 = (tBIT (10) << 11) | (ntBITS (12, 14) << 8) | ntBITS (0, 7);
+	ARMword lhs = state->Reg[Rn];
+	ARMword rhs = ThumbExpandImm (imm12);
+	ARMword res;
+
+	tASSERT (ntBIT (15) == 0);
+
+	if (CFLAG)
+	  rhs += 1;
+
+	res = lhs + rhs;
+	state->Reg[Rd] = res;
+
+	if (in_IT_block ())
+	  S = 0;
+
+	if (S)
+	  {
+	    ARMul_NegZero (state, res);
+
+	    if ((lhs >= rhs) || ((rhs | lhs) >> 31))
+	      {
+		ARMul_AddCarry (state, lhs, rhs, res);
+		ARMul_AddOverflow (state, lhs, rhs, res);
+	      }
+	    else
+	      {
+		CLEARC;
+		CLEARV;
+	      }
+	  }
+
+	* pvalid = t_branch;
+	break;
+      }
+      
+    case 0xAB:
+    case 0x8B: // SBC{S}<c> <Rd>,<Rn>,#<const>
+      {
+	ARMword Rn = tBITS (0, 3);
+	ARMword Rd = ntBITS (8, 11);
+	int S = tBIT (4);
+	ARMword imm12 = (tBIT (10) << 11) | (ntBITS (12, 14) << 8) | ntBITS (0, 7);
+	ARMword lhs = state->Reg[Rn];
+	ARMword rhs = ThumbExpandImm (imm12);
+	ARMword res;
+
+	tASSERT (ntBIT (15) == 0);
+
+	if (! CFLAG)
+	  rhs += 1;
+
+	res = lhs - rhs;
+	state->Reg[Rd] = res;
+
+	if (in_IT_block ())
+	  S = 0;
+
+	if (S)
+	  {
+	    ARMul_NegZero (state, res);
+
+	    if ((lhs >= rhs) || ((rhs | lhs) >> 31))
+	      {
+		ARMul_SubCarry (state, lhs, rhs, res);
+		ARMul_SubOverflow (state, lhs, rhs, res);
+	      }
+	    else
+	      {
+		CLEARC;
+		CLEARV;
+	      }
+	  }
+
+	* pvalid = t_branch;
+	break;
+      }
+
+    case 0xAD:
+    case 0x8D: // SUB
+      {
+	ARMword Rn = tBITS (0, 3);
+	ARMword Rd = ntBITS (8, 11);
+	int S = tBIT (4);
+	ARMword imm12 = (tBIT (10) << 11) | (ntBITS (12, 14) << 8) | ntBITS (0, 7);
+	ARMword lhs = state->Reg[Rn];
+	ARMword rhs = ThumbExpandImm (imm12);
+	ARMword res = lhs - rhs;
+
+	if (Rd == 15 && S)
+	  {
+	    // CMP<c>.W <Rn>,#<const>
+	    tASSERT (S);
+	  }
+	else
+	  {
+	    // SUB{S}<c>.W <Rd>,<Rn>,#<const>	    
+	    if (in_IT_block ())
+	      S = 0;
+
+	    state->Reg[Rd] = res;
+	  }
+
+	if (S)
+	  {
+	    ARMul_NegZero (state, res);
+
+	    if ((lhs >= rhs) || ((rhs | lhs) >> 31))
+	      {
+		ARMul_SubCarry (state, lhs, rhs, res);
+		ARMul_SubOverflow (state, lhs, rhs, res);
+	      }
+	    else
+	      {
+		CLEARC;
+		CLEARV;
+	      }
+	  }
+
+	* pvalid = t_branch;
+	break;
+      }
+
+    case 0xAE:
+    case 0x8E: // RSB{S}<c>.W <Rd>,<Rn>,#<const>
+      {
+	ARMword Rn = tBITS (0, 3);
+	ARMword Rd = ntBITS (8, 11);
+	ARMword imm12 = (tBIT (10) << 11) | (ntBITS (12, 14) << 8) | ntBITS (0, 7);
+	int S = tBIT (4);
+	ARMword lhs = imm12;
+	ARMword rhs = state->Reg[Rn];
+	ARMword res = lhs - rhs;
+
+	tASSERT (ntBIT (15) == 0);
+	
+	state->Reg[Rd] = res;
+
+	if (S)
+	  {
+	    ARMul_NegZero (state, res);
+
+	    if ((lhs >= rhs) || ((rhs | lhs) >> 31))
+	      {
+		ARMul_SubCarry (state, lhs, rhs, res);
+		ARMul_SubOverflow (state, lhs, rhs, res);
+	      }
+	    else
+	      {
+		CLEARC;
+		CLEARV;
+	      }
+	  }
+	    
+	* pvalid = t_branch;
+	break;
+      }
+
+    case 0xB0:
+    case 0x90: // ADDW<c> <Rd>,<Rn>,#<imm12>
+      {
+	ARMword Rn = tBITS (0, 3);
+	ARMword Rd = ntBITS (8, 11);
+	ARMword imm12 = (tBIT (10) << 11) | (ntBITS (12, 14) << 8) | ntBITS (0, 7);
+
+	tASSERT (tBIT (4) == 0);
+	tASSERT (ntBIT (15) == 0);
+	
+	state->Reg[Rd] = state->Reg[Rn] + imm12;
+	* pvalid = t_branch;
+	break;
+      }
+
+    case 0xB2:
+    case 0x92: // MOVW<c> <Rd>,#<imm16>
+      {
+	ARMword Rd = ntBITS (8, 11);
+	ARMword imm = (tBITS (0, 3) << 12) | (tBIT (10) << 11) | (ntBITS (12, 14) << 8) | ntBITS (0, 7);
+
+	state->Reg[Rd] = imm;
+	/* Indicate that the instruction has been processed.  */
+	* pvalid = t_branch;
+	break;
+      }
+
+    case 0xb5:
+    case 0x95:// SUBW<c> <Rd>,<Rn>,#<imm12>
+      {
+	ARMword Rd = ntBITS (8, 11);
+	ARMword Rn = tBITS (0, 3);
+	ARMword imm12 = (tBIT (10) << 11) | (ntBITS (12, 14) << 8) | ntBITS (0, 7);
+
+	tASSERT (tBIT (4) == 0);
+	tASSERT (ntBIT (15) == 0);
+      
+	/* Note the ARM ARM indicates special cases for Rn == 15 (ADR)
+	   and Rn == 13 (SUB SP minus immediate), but these are implemented
+	   in exactly the same way as the normal SUBW insn.  */
+	state->Reg[Rd] = state->Reg[Rn] - imm12;
+
+	* pvalid = t_resolved;
+	break;
+      }
+      
+    case 0xB6:
+    case 0x96: // MOVT<c> <Rd>,#<imm16>
+      {
+	ARMword Rd = ntBITS (8, 11);
+	ARMword imm = (tBITS (0, 3) << 12) | (tBIT (10) << 11) | (ntBITS (12, 14) << 8) | ntBITS (0, 7);
+
+	state->Reg[Rd] &= 0xFFFF;
+	state->Reg[Rd] |= (imm << 16);
+	* pvalid = t_resolved;
+	break;
+      }
+
+    case 0x9A: // SBFXc> <Rd>,<Rn>,#<lsb>,#<width>
+      tASSERT (tBIT (4) == 0);
+      tASSERT (ntBIT (15) == 0);
+      tASSERT (ntBIT (5) == 0);
+      * ainstr = 0xE7A00050;
+      * ainstr |= (ntBITS (0, 4) << 16); // widthm1
+      * ainstr |= (ntBITS (8, 11) << 12); // Rd
+      * ainstr |= (((ntBITS (12, 14) << 2) | ntBITS (6, 7)) << 7); // lsb
+      * ainstr |= tBITS (0, 3); // Rn
+      * pvalid = t_decoded;
+      break;
+
+    case 0x9B:
+      {
+	ARMword Rd = ntBITS (8, 11);
+	ARMword Rn = tBITS (0, 3);
+	ARMword msbit = ntBITS (0, 5);
+	ARMword lsbit = (ntBITS (12, 14) << 2) | ntBITS (6, 7);
+	ARMword mask = -1 << lsbit;
+
+	tASSERT (tBIT (4) == 0);
+	tASSERT (ntBIT (15) == 0);
+	tASSERT (ntBIT (5) == 0);
+
+	mask &= ((1 << (msbit + 1)) - 1);
+
+	if (lsbit > msbit)
+	  ; // UNPREDICTABLE
+	else if (Rn == 15)
+	  {
+	    // BFC<c> <Rd>,#<lsb>,#<width>
+	    state->Reg[Rd] &= ~ mask;
+	  }
+	else
+	  {
+	    // BFI<c> <Rd>,<Rn>,#<lsb>,#<width>
+	    ARMword val = state->Reg[Rn] & (mask >> lsbit);
+
+	    val <<= lsbit;	    
+	    state->Reg[Rd] &= ~ mask;
+	    state->Reg[Rd] |= val;
+	  }
+	
+	* pvalid = t_resolved;
+	break;
+      }
+
+    case 0x9E: // UBFXc> <Rd>,<Rn>,#<lsb>,#<width>
+      tASSERT (tBIT (4) == 0);
+      tASSERT (ntBIT (15) == 0);
+      tASSERT (ntBIT (5) == 0);
+      * ainstr = 0xE7E00050;
+      * ainstr |= (ntBITS (0, 4) << 16); // widthm1
+      * ainstr |= (ntBITS (8, 11) << 12); // Rd
+      * ainstr |= (((ntBITS (12, 14) << 2) | ntBITS (6, 7)) << 7); // lsb
+      * ainstr |= tBITS (0, 3); // Rn
+      * pvalid = t_decoded;
+      break;
+      
+    case 0xC0: // STRB
+    case 0xC4: // LDRB
+      {
+	ARMword Rn = tBITS (0, 3);
+	ARMword Rt = ntBITS (12, 15);
+	
+	if (tBIT (4))
+	  {
+	    if (Rn == 15)
+	      {
+		tASSERT (Rt != 15);
+
+		/* LDRB<c> <Rt>,<label>                     => 1111 1000 U001 1111 */
+		* ainstr = 0xE55F0000;
+		* ainstr |= (tBIT (7) << 23);
+		* ainstr |= ntBITS (0, 11);
+	      }
+	    else if (tBIT (7))
+	      {
+		/* LDRB<c>.W <Rt>,[<Rn>{,#<imm12>}]         => 1111 1000 1001 rrrr */
+		* ainstr = 0xE5D00000;
+		* ainstr |= ntBITS (0, 11);
+	      }
+	    else if (ntBIT (11) == 0)
+	      {
+		/* LDRB<c>.W <Rt>,[<Rn>,<Rm>{,LSL #<imm2>}] => 1111 1000 0001 rrrr */
+		* ainstr = 0xE7D00000;
+		* ainstr |= (ntBITS (4, 5) << 7);
+		* ainstr |= ntBITS (0, 3);
+	      }
+	    else
+	      {
+		int P = ntBIT (10);
+		int U = ntBIT (9);
+		int W = ntBIT (8);
+
+		tASSERT (! (Rt == 15 && P && !U && !W));
+		tASSERT (! (P && U && !W));
+	    
+		/* LDRB<c> <Rt>,[<Rn>,#-<imm8>]             => 1111 1000 0001 rrrr
+		   LDRB<c> <Rt>,[<Rn>],#+/-<imm8>           => 1111 1000 0001 rrrr
+		   LDRB<c> <Rt>,[<Rn>,#+/-<imm8>]!          => 1111 1000 0001 rrrr */
+		* ainstr = 0xE4500000;
+		* ainstr |= (P << 24);
+		* ainstr |= (U << 23);
+		* ainstr |= (W << 21);
+		* ainstr |= ntBITS (0, 7);
+	      }
+	  }
+	else
+	  {
+	    if (tBIT (7) == 1)
+	      {
+		// STRB<c>.W <Rt>,[<Rn>,#<imm12>]
+		ARMword imm12 = ntBITS (0, 11);
+
+		ARMul_StoreByte (state, state->Reg[Rn] + imm12, state->Reg [Rt]);
+		* pvalid = t_branch;
+		break;
+	      }
+	    else if (ntBIT (11))
+	      {
+		// STRB<c> <Rt>,[<Rn>,#-<imm8>]
+		// STRB<c> <Rt>,[<Rn>],#+/-<imm8>
+		// STRB<c> <Rt>,[<Rn>,#+/-<imm8>]!
+		int P = ntBIT (10);
+		int U = ntBIT (9);
+		int W = ntBIT (8);
+		ARMword imm8 = ntBITS (0, 7);
+
+		tASSERT (! (P && U && !W));
+		tASSERT (! (Rn == 13 && P && !U && W && imm8 == 4));
+		
+		* ainstr = 0xE4000000;
+		* ainstr |= (P << 24);
+		* ainstr |= (U << 23);
+		* ainstr |= (W << 21);
+		* ainstr |= imm8;
+	      }
+	    else
+	      {
+		// STRB<c>.W <Rt>,[<Rn>,<Rm>{,LSL #<imm2>}]
+		tASSERT (ntBITS (6, 11) == 0);
+
+		* ainstr = 0xE7C00000;
+		* ainstr |= (ntBITS (4, 5) << 7);
+		* ainstr |= ntBITS (0, 3);
+	      }
+	  }
+	
+	* ainstr |= (Rn << 16);
+	* ainstr |= (Rt << 12);
+	* pvalid = t_decoded;
+	break;
+      }
+
+    case 0xC2: // LDR, STR
+      {
+	ARMword Rn = tBITS (0, 3);
+	ARMword Rt = ntBITS (12, 15);
+	ARMword imm8 = ntBITS (0, 7);
+	ARMword P = ntBIT (10);
+	ARMword U = ntBIT (9);
+	ARMword W = ntBIT (8);
+
+	tASSERT (Rn != 15);
+
+	if (tBIT (4))
+	  {
+	    if (Rn == 15)
+	      {
+		// LDR<c>.W <Rt>,<label>
+		* ainstr = 0xE51F0000;
+		* ainstr |= ntBITS (0, 11);
+	      }
+	    else if (ntBIT (11))
+	      {
+		tASSERT (! (P && U && ! W));
+		tASSERT (! (!P && U && W && Rn == 13 && imm8 == 4 && ntBIT (11) == 0));
+		tASSERT (! (P && !U && W && Rn == 13 && imm8 == 4 && ntBIT (11)));
+	  
+		// LDR<c> <Rt>,[<Rn>,#-<imm8>]
+		// LDR<c> <Rt>,[<Rn>],#+/-<imm8>
+		// LDR<c> <Rt>,[<Rn>,#+/-<imm8>]!
+		if (!P && W)
+		  W = 0;
+		* ainstr = 0xE4100000;
+		* ainstr |= (P << 24);
+		* ainstr |= (U << 23);
+		* ainstr |= (W << 21);
+		* ainstr |= imm8;
+	      }
+	    else
+	      {
+		// LDR<c>.W <Rt>,[<Rn>,<Rm>{,LSL #<imm2>}]
+
+		tASSERT (ntBITS (6, 11) == 0);
+
+		* ainstr = 0xE7900000;
+		* ainstr |= ntBITS (4, 5) << 7;
+		* ainstr |= ntBITS (0, 3);
+	      }
+	  }
+	else
+	  {
+	    if (ntBIT (11))
+	      {
+		tASSERT (! (P && U && ! W));
+		if (Rn == 13 && P && !U && W && imm8 == 4)
+		  {
+		    // PUSH<c>.W <register>
+		    tASSERT (ntBITS (0, 11) == 0xD04);
+		    tASSERT (tBITS (0, 4) == 0x0D);
+
+		    * ainstr = 0xE92D0000;
+		    * ainstr |= (1 << Rt);
+		    
+		    Rt = Rn = 0;
+		  }
+		else
+		  {
+		    tASSERT (! (P && U && !W));
+		    if (!P && W)
+		      W = 0;
+		    // STR<c> <Rt>,[<Rn>,#-<imm8>]
+		    // STR<c> <Rt>,[<Rn>],#+/-<imm8>
+		    // STR<c> <Rt>,[<Rn>,#+/-<imm8>]!
+		    * ainstr = 0xE4000000;
+		    * ainstr |= (P << 24);
+		    * ainstr |= (U << 23);
+		    * ainstr |= (W << 21);
+		    * ainstr |= imm8;
+		  }
+	      }
+	    else
+	      {
+		// STR<c>.W <Rt>,[<Rn>,<Rm>{,LSL #<imm2>}]
+		tASSERT (ntBITS (6, 11) == 0);
+
+		* ainstr = 0xE7800000;
+		* ainstr |= ntBITS (4, 5) << 7;
+		* ainstr |= ntBITS (0, 3);
+	      }
+	  }
+	
+	* ainstr |= (Rn << 16);
+	* ainstr |= (Rt << 12);
+	* pvalid = t_decoded;
+	break;
+      }
+
+    case 0xC1: // STRH
+    case 0xC5: // LDRH
+      {
+	ARMword Rn = tBITS (0, 3);
+	ARMword Rt = ntBITS (12, 15);
+	ARMword address;
+
+	tASSERT (Rn != 15);
+
+	if (tBIT (4) == 1)
+	  {
+	    if (tBIT (7))
+	      {
+		// LDRH<c>.W <Rt>,[<Rn>{,#<imm12>}]
+		ARMword imm12 = ntBITS (0, 11);
+		address = state->Reg[Rn] + imm12;
+	      }
+	    else if (ntBIT (11))
+	      {
+		// LDRH<c> <Rt>,[<Rn>,#-<imm8>]
+		// LDRH<c> <Rt>,[<Rn>],#+/-<imm8>
+		// LDRH<c> <Rt>,[<Rn>,#+/-<imm8>]!
+		ARMword P = ntBIT (10);
+		ARMword U = ntBIT (9);
+		ARMword W = ntBIT (8);
+		ARMword imm8 = ntBITS (0, 7);
+
+		tASSERT (Rn != 15);
+		tASSERT (! (P && U && !W));
+
+		* ainstr = 0xE05000B0;
+		* ainstr |= (P << 24);
+		* ainstr |= (U << 23);
+		* ainstr |= (W << 21);
+		* ainstr |= (Rn << 16);
+		* ainstr |= (Rt << 12);
+		* ainstr |= ((imm8 & 0xF0) << 4);
+		* ainstr |= (imm8 & 0xF);
+		* pvalid = t_decoded;
+		break;
+	      }
+	    else
+	      {
+		// LDRH<c>.W <Rt>,[<Rn>,<Rm>{,LSL #<imm2>}]
+		ARMword Rm = ntBITS (0, 3);
+		ARMword imm2 = ntBITS (4, 5);
+		
+		tASSERT (ntBITS (6, 10) == 0);
+
+		address = state->Reg[Rn] + (state->Reg[Rm] << imm2);
+	      }
+
+	    state->Reg[Rt] = ARMul_LoadHalfWord (state, address);
+	  }
+	else
+	  {
+	    if (tBIT (7))
+	      {
+		// STRH<c>.W <Rt>,[<Rn>{,#<imm12>}]
+		ARMword imm12 = ntBITS (0, 11);
+
+		address = state->Reg[Rn] + imm12;
+	      }
+	    else if (ntBIT (11))
+	      {
+		// STRH<c> <Rt>,[<Rn>,#-<imm8>]
+		// STRH<c> <Rt>,[<Rn>],#+/-<imm8>
+		// STRH<c> <Rt>,[<Rn>,#+/-<imm8>]!
+		ARMword P = ntBIT (10);
+		ARMword U = ntBIT (9);
+		ARMword W = ntBIT (8);
+		ARMword imm8 = ntBITS (0, 7);
+
+		tASSERT (! (P && U && !W));
+
+		* ainstr = 0xE04000B0;
+		* ainstr |= (P << 24);
+		* ainstr |= (U << 23);
+		* ainstr |= (W << 21);
+		* ainstr |= (Rn << 16);
+		* ainstr |= (Rt << 12);
+		* ainstr |= ((imm8 & 0xF0) << 4);
+		* ainstr |= (imm8 & 0xF);
+		* pvalid = t_decoded;
+		break;
+	      }
+	    else
+	      {
+		// STRH<c>.W <Rt>,[<Rn>,<Rm>{,LSL #<imm2>}]
+		ARMword Rm = ntBITS (0, 3);
+		ARMword imm2 = ntBITS (4, 5);
+		
+		tASSERT (ntBITS (6, 10) == 0);
+
+		address = state->Reg[Rn] + (state->Reg[Rm] << imm2);
+	      }
+
+	    ARMul_StoreHalfWord (state, address, state->Reg [Rt]);
+	  }
+	* pvalid = t_branch;
+	break;
+      }
+      
+    case 0xC6: // LDR.W/STR.W
+      {
+	ARMword Rn = tBITS (0, 3);
+	ARMword Rt = ntBITS (12, 15);
+	ARMword imm12 = ntBITS (0, 11);
+	ARMword address = state->Reg[Rn];
+	
+	if (Rn == 15)
+	  {
+	    // LDR<c>.W <Rt>,<label>
+	    tASSERT (tBIT (4) == 1);
+	    // tASSERT (tBIT (7) == 1)
+	  }
+
+	address += imm12;
+	if (tBIT (4) == 1)
+	  state->Reg[Rt] = ARMul_LoadWordN (state, address);
+	else
+	  ARMul_StoreWordN (state, address, state->Reg [Rt]);
+
+	* pvalid = t_resolved;
+	break;
+      }
+
+    case 0xC8:
+    case 0xCC: // LDRSB
+      {
+	ARMword Rt = ntBITS (12, 15);
+	ARMword Rn = tBITS (0, 3);
+	ARMword U = tBIT (7);
+	ARMword address = state->Reg[Rn];
+
+	tASSERT (tBIT (4) == 1);
+	tASSERT (Rt != 15); // PLI
+
+	if (Rn == 15)
+	  {
+	    // LDRSB<c> <Rt>,<label>
+	    ARMword imm12 = ntBITS (0, 11);
+	    address += (U ? imm12 : - imm12);
+	  } 
+	else if (U)
+	  {
+	    // LDRSB<c> <Rt>,[<Rn>,#<imm12>]
+	    ARMword imm12 = ntBITS (0, 11);
+	    address += imm12;
+	  }
+	else if (ntBIT (11))
+	  {
+	    // LDRSB<c> <Rt>,[<Rn>,#-<imm8>]
+	    // LDRSB<c> <Rt>,[<Rn>],#+/-<imm8>
+	    // LDRSB<c> <Rt>,[<Rn>,#+/-<imm8>]!
+	    * ainstr = 0xE05000D0;
+	    * ainstr |= ntBIT (10) << 24; // P
+	    * ainstr |= ntBIT (9) << 23; // U
+	    * ainstr |= ntBIT (8) << 21; // W
+	    * ainstr |= Rn << 16;
+	    * ainstr |= Rt << 12;
+	    * ainstr |= ntBITS (4, 7) << 8;
+	    * ainstr |= ntBITS (0, 3);
+	    * pvalid = t_decoded;
+	    break;
+	  }
+	else
+	  {
+	    // LDRSB<c>.W <Rt>,[<Rn>,<Rm>{,LSL #<imm2>}]
+	    ARMword Rm = ntBITS (0, 3);
+	    ARMword imm2 = ntBITS (4,5);
+
+	    tASSERT (ntBITS (6, 11) == 0);
+
+	    address += (state->Reg[Rm] << imm2);
+	  }
+	
+	state->Reg[Rt] = ARMul_LoadByte (state, address);
+	if (state->Reg[Rt] & 0x80)
+	  state->Reg[Rt] |= -1 << 8;
+
+	* pvalid = t_resolved;
+	break;
+      }
+      
+    case 0xC9:
+    case 0xCD:// LDRSH
+      {
+	ARMword Rt = ntBITS (12, 15);
+	ARMword Rn = tBITS (0, 3);
+	ARMword U = tBIT (7);
+	ARMword address = state->Reg[Rn];
+
+	tASSERT (tBIT (4) == 1);
+
+	if (Rn == 15 || U == 1)
+	  {
+	    // Rn==15 => LDRSH<c> <Rt>,<label>
+	    // Rn!=15 => LDRSH<c> <Rt>,[<Rn>,#<imm12>]
+	    ARMword imm12 = ntBITS (0, 11);
+
+	    address += (U ? imm12 : - imm12);
+	  }
+	else if (ntBIT (11))
+	  {
+	    // LDRSH<c> <Rt>,[<Rn>,#-<imm8>]
+	    // LDRSH<c> <Rt>,[<Rn>],#+/-<imm8>
+	    // LDRSH<c> <Rt>,[<Rn>,#+/-<imm8>]!
+	    * ainstr = 0xE05000F0;
+	    * ainstr |= ntBIT (10) << 24; // P
+	    * ainstr |= ntBIT (9) << 23; // U
+	    * ainstr |= ntBIT (8) << 21; // W
+	    * ainstr |= Rn << 16;
+	    * ainstr |= Rt << 12;
+	    * ainstr |= ntBITS (4, 7) << 8;
+	    * ainstr |= ntBITS (0, 3);
+	    * pvalid = t_decoded;
+	    break;
+	  }
+	else /* U == 0 */
+	  {
+	    // LDRSH<c>.W <Rt>,[<Rn>,<Rm>{,LSL #<imm2>}]
+	    ARMword Rm = ntBITS (0, 3);
+	    ARMword imm2 = ntBITS (4,5);
+
+	    tASSERT (ntBITS (6, 11) == 0);
+
+	    address += (state->Reg[Rm] << imm2);
+	  }
+
+	state->Reg[Rt] = ARMul_LoadHalfWord (state, address);
+	if (state->Reg[Rt] & 0x8000)
+	  state->Reg[Rt] |= -1 << 16;
+
+	* pvalid = t_branch;
+	break;
+      }
+
+    case 0x0D0: 
+      {
+	ARMword Rm = ntBITS (0, 3);
+	ARMword Rd = ntBITS (8, 11);
+
+	tASSERT (ntBITS (12, 15) == 15);
+
+	if (ntBIT (7) == 1)
+	  {
+	    // SXTH<c>.W <Rd>,<Rm>{,<rotation>}
+	    ARMword ror = ntBITS (4, 5) << 3;
+	    ARMword val;
+
+	    val = state->Reg[Rm];
+	    val = (val >> ror) | (val << (32 - ror));
+	    if (val & 0x8000)
+	      val |= -1 << 16;
+	    state->Reg[Rd] = val;
+	  }
+	else
+	  {
+	    // LSL{S}<c>.W <Rd>,<Rn>,<Rm>
+	    ARMword Rn = tBITS (0, 3);
+
+	    tASSERT (ntBITS (4, 6) == 0);
+
+	    state->Reg[Rd] = state->Reg[Rn] << (state->Reg[Rm] & 0xFF);
+	    if (tBIT (4))
+	      ARMul_NegZero (state, state->Reg[Rd]);
+	  }
+	* pvalid = t_branch;
+	break;
+      }
+
+    case 0x0D1: // LSR{S}<c>.W <Rd>,<Rn>,<Rm>
+      {
+	ARMword Rd = ntBITS (8, 11);
+	ARMword Rn = tBITS (0, 3);
+	ARMword Rm = ntBITS (0, 3);
+
+	tASSERT (ntBITS (12, 15) == 15);
+	tASSERT (ntBITS (4, 7) == 0);
+
+	state->Reg[Rd] = state->Reg[Rn] >> (state->Reg[Rm] & 0xFF);
+	if (tBIT (4))
+	  ARMul_NegZero (state, state->Reg[Rd]);
+	* pvalid = t_resolved;
+	break;
+      }
+
+    case 0xD2: 
+      tASSERT (ntBITS (12, 15) == 15);
+      if (ntBIT (7))
+	{
+	  tASSERT (ntBIT (6) == 0);
+	  // UXTB<c>.W <Rd>,<Rm>{,<rotation>}
+	  * ainstr = 0xE6EF0070;
+	  * ainstr |= (ntBITS (4, 5) << 10); // rotate
+	  * ainstr |= ntBITS (0, 3); // Rm
+	}
+      else
+	{
+	  // ASR{S}<c>.W <Rd>,<Rn>,<Rm>
+	  tASSERT (ntBITS (4, 7) == 0);
+	  * ainstr = 0xE1A00050;
+	  if (! in_IT_block ())
+	    * ainstr |= (tBIT (4) << 20);
+	  * ainstr |= (ntBITS (0, 3) << 8); // Rm
+	  * ainstr |= tBITS (0, 3); // Rn
+	}
+
+      * ainstr |= (ntBITS (8, 11) << 12); // Rd
+      * pvalid = t_decoded;
+      break;
+      
+    case 0xD3: // ROR{S}<c>.W <Rd>,<Rn>,<Rm>
+      tASSERT (ntBITS (12, 15) == 15);
+      tASSERT (ntBITS (4, 7) == 0);
+      * ainstr = 0xE1A00070;
+      if (! in_IT_block ())
+	* ainstr |= (tBIT (4) << 20);
+      * ainstr |= (ntBITS (8, 11) << 12); // Rd
+      * ainstr |= (ntBITS (0, 3) << 8); // Rm
+      * ainstr |= (tBITS (0, 3) << 0); // Rn
+      * pvalid = t_decoded;
+      break;
+      
+    case 0xD4:
+      {
+	ARMword Rn = tBITS (0, 3);
+	ARMword Rd = ntBITS (8, 11);
+	ARMword Rm = ntBITS (0, 3);
+
+	tASSERT (ntBITS (12, 15) == 15);
+
+	if (ntBITS (4, 7) == 8)
+	  {
+	    // REV<c>.W <Rd>,<Rm>
+	    ARMword val = state->Reg[Rm];
+	    
+	    tASSERT (Rm == Rn);
+	    
+	    state->Reg [Rd] =
+	      (val >> 24)
+	      | ((val >> 8) & 0xFF00)
+	      | ((val << 8) & 0xFF0000)
+	      | (val << 24);
+	    * pvalid = t_resolved;
+	  }
+	else
+	  {
+	    tASSERT (ntBITS (4, 7) == 4);
+
+	    if (tBIT (4) == 1)
+	       // UADD8<c> <Rd>,<Rn>,<Rm>
+	      * ainstr = 0xE6500F10;
+	    else
+	      // UADD16<c> <Rd>,<Rn>,<Rm>
+	      * ainstr = 0xE6500F90;
+	
+	    * ainstr |= (Rn << 16);
+	    * ainstr |= (Rd << 12);
+	    * ainstr |= (Rm <<  0);
+	    * pvalid = t_decoded;
+	  }
+	break;
+      }
+
+    case 0xD5:
+      {
+	ARMword Rn = tBITS (0, 3);
+	ARMword Rd = ntBITS (8, 11);
+	ARMword Rm = ntBITS (0, 3);
+
+	tASSERT (ntBITS (12, 15) == 15);
+	tASSERT (ntBITS (4, 7) == 8);
+
+	if (tBIT (4))
+	  {
+	    // CLZ<c> <Rd>,<Rm>
+	    tASSERT (Rm == Rn);
+	    * ainstr = 0xE16F0F10;
+	  }
+	else
+	  {
+	     // SEL<c> <Rd>,<Rn>,<Rm>
+	    * ainstr = 0xE6800FB0;
+	    * ainstr |= (Rn << 16);
+	  }
+
+	* ainstr |= (Rd << 12);
+	* ainstr |= (Rm <<  0);
+	* pvalid = t_decoded;
+	break;
+      }
+
+    case 0xD8: // MUL
+      {
+	ARMword Rn = tBITS (0, 3);
+	ARMword Rm = ntBITS (0, 3);
+	ARMword Rd = ntBITS (8, 11);
+	ARMword Ra = ntBITS (12, 15);
+
+	if (tBIT (4))
+	  {
+	    // SMLA<x><y><c> <Rd>,<Rn>,<Rm>,<Ra>
+	    ARMword nval = state->Reg[Rn];
+	    ARMword mval = state->Reg[Rm];
+	    ARMword res;
+
+	    tASSERT (ntBITS (6, 7) == 0);
+	    tASSERT (Ra != 15);
+
+	    if (ntBIT (5))
+	      nval >>= 16;
+	    else
+	      nval &= 0xFFFF;
+
+	    if (ntBIT (4))
+	      mval >>= 16;
+	    else
+	      mval &= 0xFFFF;
+
+	    res = nval * mval;
+	    res += state->Reg[Ra];
+	    // FIXME: Test and clear/set the Q bit.
+	    state->Reg[Rd] = res;
+	  }
+	else
+	  {
+	    if (ntBITS (4, 7) == 1)
+	      {
+		// MLS<c> <Rd>,<Rn>,<Rm>,<Ra>
+		state->Reg[Rd] = state->Reg[Ra] - (state->Reg[Rn] * state->Reg[Rm]); 
+	      }
+	    else
+	      {
+		tASSERT (ntBITS (4, 7) == 0);
+
+		if (Ra == 15)
+		  // MUL<c> <Rd>,<Rn>,<Rm>
+		  state->Reg[Rd] = state->Reg[Rn] * state->Reg[Rm];
+		else
+		  // MLA<c> <Rd>,<Rn>,<Rm>,<Ra>
+		  state->Reg[Rd] = state->Reg[Rn] * state->Reg[Rm] + state->Reg[Ra];
+	      }
+	  }
+	* pvalid = t_resolved;
+	break;
+      }
+
+    case 0xDC: // SMULL
+      tASSERT (tBIT (4) == 0);
+      tASSERT (ntBITS (4, 7) == 0);
+      * ainstr = 0xE0C00090;
+      * ainstr |= (ntBITS (8, 11) << 16); // RdHi
+      * ainstr |= (ntBITS (12, 15) << 12); // RdLo
+      * ainstr |= (ntBITS (0, 3) << 8); // Rm
+      * ainstr |= tBITS (0, 3); // Rn
+      * pvalid = t_decoded;
+      break;
+      
+    case 0xDD: // UMULL
+      tASSERT (tBIT (4) == 0);
+      tASSERT (ntBITS (4, 7) == 0);
+      * ainstr = 0xE0800090;
+      * ainstr |= (ntBITS (8, 11) << 16); // RdHi
+      * ainstr |= (ntBITS (12, 15) << 12); // RdLo
+      * ainstr |= (ntBITS (0, 3) << 8); // Rm
+      * ainstr |= tBITS (0, 3); // Rn
+      * pvalid = t_decoded;
+      break;
+      
+    case 0xDF: // UMLAL
+      tASSERT (tBIT (4) == 0);
+      tASSERT (ntBITS (4, 7) == 0);
+      * ainstr = 0xE0A00090;
+      * ainstr |= (ntBITS (8, 11) << 16); // RdHi
+      * ainstr |= (ntBITS (12, 15) << 12); // RdLo
+      * ainstr |= (ntBITS (0, 3) << 8); // Rm
+      * ainstr |= tBITS (0, 3); // Rn
+      * pvalid = t_decoded;
+      break;
+
+    default:  
+      fprintf (stderr, "(op = %x) ", tBITS (5,12));
+      tASSERT (0);
+      return;
+    }
+
+  /* Tell the Thumb decoder to skip the next 16-bit insn - it was
+     part of this insn - unless this insn has changed the PC.  */
+  skipping_32bit_thumb = pc + 2;
+}
+
 /* Attempt to emulate an ARMv6 instruction.
    Stores t_branch into PVALUE upon success or t_undefined otherwise.  */
 
 static void
 handle_v6_thumb_insn (ARMul_State * state,
 		      ARMword       tinstr,
+		      ARMword       next_instr,
+		      ARMword       pc,
+		      ARMword *     ainstr,
 		      tdstate *     pvalid)
 {
   if (! state->is_v6)
@@ -44,13 +1820,105 @@ handle_v6_thumb_insn (ARMul_State * stat
       return;
     }
 
+  if (tBITS (12, 15) == 0xB
+      && tBIT (10) == 0
+      && tBIT (8) == 1)
+    {
+      // Conditional branch forwards.
+      ARMword Rn = tBITS (0, 2);
+      ARMword imm5 = tBIT (9) << 5 | tBITS (3, 7);
+
+      if (tBIT (11))
+	{
+	  if (state->Reg[Rn] != 0)
+	    {
+	      state->Reg[15] = (pc + 4 + imm5 * 2);
+	      FLUSHPIPE;
+	    }
+	}
+      else
+	{
+	  if (state->Reg[Rn] == 0)
+	    {
+	      state->Reg[15] = (pc + 4 + imm5 * 2);
+	      FLUSHPIPE;
+	    }
+	}
+      * pvalid = t_branch;
+      return;
+    }
+
   switch (tinstr & 0xFFC0)
     {
-    case 0xb660: /* cpsie */
-    case 0xb670: /* cpsid */
-    case 0x4600: /* cpy */
+    case 0x4400:
+    case 0x4480:
+    case 0x4440:
+    case 0x44C0: // ADD
+      {
+	ARMword Rd = (tBIT (7) << 3) | tBITS (0, 2);
+	ARMword Rm = tBITS (3, 6);
+	state->Reg[Rd] += state->Reg[Rm];
+	break;
+      }
+      
+    case 0x4600: // MOV<c> <Rd>,<Rm>
+      {
+	// instr [15, 8] = 0100 0110
+	// instr [7]     = Rd<high>
+	// instr [6,3]   = Rm
+	// instr [2,0]   = Rd<low>
+	ARMword Rd = (tBIT(7) << 3) | tBITS (0, 2);
+	// FIXME: Check for Rd == 15 and ITblock.
+	state->Reg[Rd] = state->Reg[tBITS (3, 6)];
+	break;
+      }
+
+    case 0xBF00:
+    case 0xBF40:
+    case 0xBF80:
+    case 0xBFC0:
+      handle_IT_block (state, tinstr, pvalid);
+      return;
+
+    case 0xE840:
+    case 0xE880: // LDMIA
+    case 0xE8C0:
+    case 0xE900: // STM
+    case 0xE940:
+    case 0xE980:
+    case 0xE9C0: // LDRD
+    case 0xEA00: // BIC
+    case 0xEA40: // ORR
+    case 0xEA80: // EOR
+    case 0xEAC0:
+    case 0xEB00: // ADD
+    case 0xEB40: // SBC
+    case 0xEB80: // SUB
+    case 0xEBC0: // RSB
+    case 0xFA80: // UADD, SEL
+      handle_T2_insn (state, tinstr, next_instr, pc, ainstr, pvalid);
+      return;
+
     case 0xba00: /* rev */
+      {
+	ARMword val = state->Reg[tBITS (3, 5)];
+	state->Reg [tBITS (0, 2)] =
+	  (val >> 24)
+	  | ((val >> 8) & 0xFF00)
+	  | ((val << 8) & 0xFF0000)
+	  | (val << 24);
+	break;
+      }
+
     case 0xba40: /* rev16 */
+      {
+	ARMword val = state->Reg[tBITS (3, 5)];
+	state->Reg [tBITS (0, 2)] = (val >> 16) | (val << 16);
+	break;
+      }
+      
+    case 0xb660: /* cpsie */
+    case 0xb670: /* cpsid */
     case 0xbac0: /* revsh */
     case 0xb650: /* setend */
     default:
@@ -113,6 +1981,14 @@ ARMul_ThumbDecode (ARMul_State * state,
 {
   tdstate valid = t_decoded;	/* default assumes a valid instruction */
   ARMword next_instr;
+  ARMword  old_tinstr = tinstr;
+
+  if (skipping_32bit_thumb == pc)
+    {
+      skipping_32bit_thumb = 0;
+      return t_branch;
+    }
+  skipping_32bit_thumb = 0;
 
   if (state->bigendSig)
     {
@@ -125,6 +2001,24 @@ ARMul_ThumbDecode (ARMul_State * state,
       tinstr &= 0xFFFF;
     }
 
+  if (! IT_block_allow (state))
+    {
+      if (   tBITS (11, 15) == 0x1F
+	  || tBITS (11, 15) == 0x1E
+	  || tBITS (11, 15) == 0x1D)
+	{
+	  if (trace)
+	    fprintf (stderr, "pc: %x, SKIP  instr: %04x|%04x\n",
+		     pc & ~1, tinstr, next_instr);
+	  skipping_32bit_thumb = pc + 2;
+	}
+      else if (trace)
+	fprintf (stderr, "pc: %x, SKIP  instr: %04x\n", pc & ~1, tinstr);
+
+      return t_branch;
+    }
+  
+  old_tinstr = tinstr;
   if (trace)
     fprintf (stderr, "pc: %x, Thumb instr: %x", pc & ~1, tinstr);
 
@@ -147,38 +2041,50 @@ ARMul_ThumbDecode (ARMul_State * state,
     case 3:			/* ADD/SUB */
       /* Format 2 */
       {
-	ARMword subset[4] = {
-	  0xE0900000,		/* ADDS Rd,Rs,Rn    */
-	  0xE0500000,		/* SUBS Rd,Rs,Rn    */
-	  0xE2900000,		/* ADDS Rd,Rs,#imm3 */
-	  0xE2500000		/* SUBS Rd,Rs,#imm3 */
-	};
+	ARMword subset[4] =
+	  {
+	    0xE0900000,		/* ADDS Rd,Rs,Rn    */
+	    0xE0500000,		/* SUBS Rd,Rs,Rn    */
+	    0xE2900000,		/* ADDS Rd,Rs,#imm3 */
+	    0xE2500000		/* SUBS Rd,Rs,#imm3 */
+	  };
 	/* It is quicker indexing into a table, than performing switch
 	   or conditionals: */
 	*ainstr = subset[(tinstr & 0x0600) >> 9]	/* base opcode */
 	  | ((tinstr & 0x01C0) >> 6)	/* Rn or imm3 */
 	  | ((tinstr & 0x0038) << (16 - 3))	/* Rs */
 	  | ((tinstr & 0x0007) << (12 - 0));	/* Rd */
+
+	if (in_IT_block ())
+	  *ainstr &= ~ (1 << 20);
       }
       break;
-    case 4:			/* MOV */
-    case 5:			/* CMP */
-    case 6:			/* ADD */
-    case 7:			/* SUB */
-      /* Format 3 */
-      {
-	ARMword subset[4] = {
-	  0xE3B00000,		/* MOVS Rd,#imm8    */
-	  0xE3500000,		/* CMP  Rd,#imm8    */
-	  0xE2900000,		/* ADDS Rd,Rd,#imm8 */
-	  0xE2500000,		/* SUBS Rd,Rd,#imm8 */
-	};
-	*ainstr = subset[(tinstr & 0x1800) >> 11]	/* base opcode */
-	  | ((tinstr & 0x00FF) >> 0)	/* imm8 */
-	  | ((tinstr & 0x0700) << (16 - 8))	/* Rn */
-	  | ((tinstr & 0x0700) << (12 - 8));	/* Rd */
-      }
+    case 4:
+      * ainstr = 0xE3A00000; /* MOV  Rd,#imm8    */
+      if (! in_IT_block ())
+	* ainstr |= (1 << 20);
+      * ainstr |= tBITS (8, 10) << 12;
+      * ainstr |= tBITS (0, 7);
       break;
+
+    case 5:
+      * ainstr = 0xE3500000;	/* CMP  Rd,#imm8    */
+      * ainstr |= tBITS (8, 10) << 16;
+      * ainstr |= tBITS (0, 7);
+      break;
+      
+    case 6:
+    case 7:
+      * ainstr = tBIT (11)
+	? 0xE2400000		/* SUB  Rd,Rd,#imm8 */
+	: 0xE2800000;		/* ADD  Rd,Rd,#imm8 */
+      if (! in_IT_block ())
+	* ainstr |= (1 << 20);
+      * ainstr |= tBITS (8, 10) << 12;
+      * ainstr |= tBITS (8, 10) << 16;
+      * ainstr |= tBITS (0, 7);
+      break;
+
     case 8:			/* Arithmetic and high register transfers */
       /* TODO: Since the subsets for both Format 4 and Format 5
          instructions are made up of different ARM encodings, we could
@@ -214,6 +2120,38 @@ ARMul_ThumbDecode (ARMul_State * state,
 	    { 0xE1F00000, t_norm}	/* MVNS Rd,Rs        */
 	  };
 	  *ainstr = subset[(tinstr & 0x03C0) >> 6].opcode;	/* base */
+
+	  if (in_IT_block ())
+	    {
+	      struct
+	      {
+		ARMword opcode;
+		enum
+		  { t_norm, t_shift, t_neg, t_mul }
+		  otype;
+	      }
+	      subset[16] =
+		{
+		  { 0xE0000000, t_norm},	/* AND  Rd,Rd,Rs     */
+		  { 0xE0200000, t_norm},	/* EOR  Rd,Rd,Rs     */
+		  { 0xE1A00010, t_shift},	/* MOV  Rd,Rd,LSL Rs */
+		  { 0xE1A00030, t_shift},	/* MOV  Rd,Rd,LSR Rs */
+		  { 0xE1A00050, t_shift},	/* MOV  Rd,Rd,ASR Rs */
+		  { 0xE0A00000, t_norm},	/* ADC  Rd,Rd,Rs     */
+		  { 0xE0C00000, t_norm},	/* SBC  Rd,Rd,Rs     */
+		  { 0xE1A00070, t_shift},	/* MOV  Rd,Rd,ROR Rs */
+		  { 0xE1100000, t_norm},	/* TST  Rd,Rs        */
+		  { 0xE2600000, t_neg},		/* RSB  Rd,Rs,#0     */
+		  { 0xE1500000, t_norm},	/* CMP  Rd,Rs        */
+		  { 0xE1700000, t_norm},	/* CMN  Rd,Rs        */
+		  { 0xE1800000, t_norm},	/* ORR  Rd,Rd,Rs     */
+		  { 0xE0000090, t_mul} ,	/* MUL  Rd,Rd,Rs     */
+		  { 0xE1C00000, t_norm},	/* BIC  Rd,Rd,Rs     */
+		  { 0xE1E00000, t_norm}		/* MVN  Rd,Rs        */
+		};
+	      *ainstr = subset[(tinstr & 0x03C0) >> 6].opcode;	/* base */
+	    }
+
 	  switch (subset[(tinstr & 0x03C0) >> 6].otype)
 	    {
 	    case t_norm:
@@ -268,7 +2206,6 @@ ARMul_ThumbDecode (ARMul_State * state,
 	    case 0xA:		/* MOV Hd,Rs */
 	    case 0xB:		/* MOV Hd,Hs */
 	      *ainstr = 0xE1A00000	/* base */
-		| (Rd << 16)	/* Rn */
 		| (Rd << 12)	/* Rd */
 		| (Rs << 0);	/* Rm */
 	      break;
@@ -287,10 +2224,11 @@ ARMul_ThumbDecode (ARMul_State * state,
 		  break;
 		}
 	      /* Drop through.  */
+	    default:
 	    case 0x0:		/* UNDEFINED */
 	    case 0x4:		/* UNDEFINED */
 	    case 0x8:		/* UNDEFINED */
-	      handle_v6_thumb_insn (state, tinstr, & valid);
+	      handle_v6_thumb_insn (state, tinstr, next_instr, pc, ainstr, & valid);
 	      break;
 	    }
 	}
@@ -432,13 +2370,17 @@ ARMul_ThumbDecode (ARMul_State * state,
 		 defines this particular pattern as a BKPT instruction, for
 		 hardware assisted debugging.  We map onto the arm BKPT
 		 instruction.  */
-	      * ainstr = 0xE1200070 | ((tinstr & 0xf0) << 4) | (tinstr & 0xf);
+	      if (state->is_v6)
+		// Map to the SVC instruction instead of the BKPT instruction.
+		* ainstr = 0xEF000000 | tBITS (0, 7);
+	      else
+		* ainstr = 0xE1200070 | ((tinstr & 0xf0) << 4) | (tinstr & 0xf);
 	      break;
 	    }
 	  /* Drop through.  */
 	default:
 	  /* Everything else is an undefined instruction.  */
-	  handle_v6_thumb_insn (state, tinstr, & valid);
+	  handle_v6_thumb_insn (state, tinstr, next_instr, pc, ainstr, & valid);
 	  break;
 	}
       break;
@@ -530,7 +2472,7 @@ ARMul_ThumbDecode (ARMul_State * state,
 	}
       else
 	/* UNDEFINED : cc=1110(AL) uses different format.  */
-	handle_v6_thumb_insn (state, tinstr, & valid);
+	handle_v6_thumb_insn (state, tinstr, next_instr, pc, ainstr, & valid);
       break;
     case 28:			/* B */
       /* Format 18 */
@@ -541,15 +2483,21 @@ ARMul_ThumbDecode (ARMul_State * state,
       valid = t_branch;
       break;
     case 29:			/* UNDEFINED */
+      if (state->is_v6)
+	{
+	  handle_v6_thumb_insn (state, tinstr, next_instr, pc, ainstr, & valid);
+	  break;
+	}
+
       if (state->is_v5)
 	{
 	  if (tinstr & 1)
 	    {
-	      handle_v6_thumb_insn (state, tinstr, & valid);
+	      handle_v6_thumb_insn (state, tinstr, next_instr, pc, ainstr, & valid);
 	      break;
 	    }
 	  /* Drop through.  */
-	  
+
 	  /* Format 19 */
 	  /* There is no single ARM instruction equivalent for this
 	     instruction. Also, it should only ever be matched with the
@@ -571,10 +2519,16 @@ ARMul_ThumbDecode (ARMul_State * state,
 	  }
 	}
 
-      handle_v6_thumb_insn (state, tinstr, & valid);
+      handle_v6_thumb_insn (state, tinstr, next_instr, pc, ainstr, & valid);
       break;
 
     case 30:			/* BL instruction 1 */
+      if (state->is_v6)
+	{
+	  handle_T2_insn (state, tinstr, next_instr, pc, ainstr, & valid);
+	  break;
+	}
+
       /* Format 19 */
       /* There is no single ARM instruction equivalent for this Thumb
          instruction. To keep the simulation simple (from the user
@@ -610,6 +2564,12 @@ ARMul_ThumbDecode (ARMul_State * state,
       /* else we fall through to process the second half of the BL */
       pc += 2;			/* point the pc at the 2nd half */
     case 31:			/* BL instruction 2 */
+      if (state->is_v6)
+	{
+	  handle_T2_insn (state, old_tinstr, next_instr, pc, ainstr, & valid);
+	  break;
+	}
+
       /* Format 19 */
       /* There is no single ARM instruction equivalent for this
          instruction. Also, it should only ever be matched with the
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.20150623/sim/arm/wrapper.c ./sim/arm/wrapper.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/arm/wrapper.c	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/arm/wrapper.c	2015-06-30 01:48:32.000000000 +0000
@@ -257,6 +257,11 @@ sim_create_inferior (SIM_DESC sd ATTRIBU
       mach = 0;
     }
 
+#ifdef MODET
+  if (abfd != NULL && (bfd_get_start_address (abfd) & 1))
+    SETT;
+#endif
+
   switch (mach)
     {
     default:
@@ -341,17 +346,6 @@ sim_create_inferior (SIM_DESC sd ATTRIBU
       break;
     }
 
-  if (   mach != bfd_mach_arm_3
-      && mach != bfd_mach_arm_3M
-      && mach != bfd_mach_arm_2
-      && mach != bfd_mach_arm_2a)
-    {
-      /* Reset mode to ARM.  A gdb user may rerun a program that had entered
-	 THUMB mode from the start and cause the ARM-mode startup code to be
-	 executed in THUMB mode.  */
-      ARMul_SetCPSR (state, SVC32MODE);
-    }
-  
   memset (& info, 0, sizeof (info));
   INIT_DISASSEMBLE_INFO (info, stdout, op_printf);
   info.read_memory_func = sim_dis_read;
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.20150623/sim/avr/ChangeLog ./sim/avr/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/avr/ChangeLog	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/avr/ChangeLog	2015-06-30 01:48:32.000000000 +0000
@@ -1,3 +1,7 @@
+2015-06-23  Mike Frysinger  <vapier@gentoo.org>
+
+	* configure: Regenerate.
+
 2015-06-12  Mike Frysinger  <vapier@gentoo.org>
 
 	* configure: Regenerate.
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.20150623/sim/avr/configure ./sim/avr/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/avr/configure	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/avr/configure	2015-06-30 01:48:32.000000000 +0000
@@ -1405,17 +1405,28 @@ Optional Features:
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-maintainer-mode  enable make rules and dependencies not useful
 			  (and sometimes confusing) to the casual installer
-  --enable-sim-bswap			Use Host specific BSWAP instruction.
-  --enable-sim-cflags=opts		Extra CFLAGS for use in building simulator
-  --enable-sim-debug=opts		Enable debugging flags
-  --enable-sim-stdio			Specify whether to use stdio for console input/output.
-  --enable-sim-trace=opts		Enable tracing flags
-  --enable-sim-profile=opts		Enable profiling flags
-  --enable-sim-endian=endian		Specify target byte endian orientation.
-  --enable-sim-alignment=align		Specify strict,  nonstrict or forced alignment of memory accesses.
-  --enable-sim-hostendian=end		Specify host byte endian orientation.
-  --enable-sim-environment=environment	Specify mixed, user, virtual or operating environment.
-  --enable-sim-inline=inlines		Specify which functions should be inlined.
+  --enable-sim-bswap      Use Host specific BSWAP instruction
+  --enable-sim-cflags=opts
+                          Extra CFLAGS for use in building simulator
+  --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+                          itself)
+  --enable-sim-stdio      Specify whether to use stdio for console
+                          input/output
+  --enable-sim-trace=opts Enable tracing of simulated programs
+  --enable-sim-profile=opts
+                          Enable profiling flags
+  --enable-sim-endian=endian
+                          Specify target byte endian orientation
+  --enable-sim-alignment=align
+                          Specify strict, nonstrict or forced alignment of
+                          memory accesses
+  --enable-sim-hostendian=end
+                          Specify host byte endian orientation
+  --enable-sim-environment=environment
+                          Specify mixed, user, virtual or operating
+                          environment
+  --enable-sim-inline=inlines
+                          Specify which functions should be inlined
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings if gcc is used
   --enable-sim-build-warnings
@@ -12306,7 +12317,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12309 "configure"
+#line 12320 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12412,7 +12423,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12415 "configure"
+#line 12426 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_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.20150623/sim/bfin/ChangeLog ./sim/bfin/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/bfin/ChangeLog	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/bfin/ChangeLog	2015-06-30 01:48:32.000000000 +0000
@@ -1,3 +1,12 @@
+2015-06-24  Mike Frysinger  <vapier@gentoo.org>
+
+	* interp.c (trace_register): Delete.
+	* sim-main.h (trace_register, TRACE_REGISTER, TRACE_REG): Delete.
+
+2015-06-23  Mike Frysinger  <vapier@gentoo.org>
+
+	* configure: Regenerate.
+
 2015-06-17  Mike Frysinger  <vapier@gentoo.org>
 
 	* interp.c: Include sim-syscall.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.20150623/sim/bfin/configure ./sim/bfin/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/bfin/configure	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/bfin/configure	2015-06-30 01:48:32.000000000 +0000
@@ -1417,18 +1417,30 @@ Optional Features:
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-maintainer-mode  enable make rules and dependencies not useful
 			  (and sometimes confusing) to the casual installer
-  --enable-sim-bswap			Use Host specific BSWAP instruction.
-  --enable-sim-cflags=opts		Extra CFLAGS for use in building simulator
-  --enable-sim-debug=opts		Enable debugging flags
-  --enable-sim-stdio			Specify whether to use stdio for console input/output.
-  --enable-sim-trace=opts		Enable tracing flags
-  --enable-sim-profile=opts		Enable profiling flags
-  --enable-sim-endian=endian		Specify target byte endian orientation.
-  --enable-sim-alignment=align		Specify strict,  nonstrict or forced alignment of memory accesses.
-  --enable-sim-hostendian=end		Specify host byte endian orientation.
-  --enable-sim-default-model=model	Specify default model to simulate.
-  --enable-sim-environment=environment	Specify mixed, user, virtual or operating environment.
-  --enable-sim-inline=inlines		Specify which functions should be inlined.
+  --enable-sim-bswap      Use Host specific BSWAP instruction
+  --enable-sim-cflags=opts
+                          Extra CFLAGS for use in building simulator
+  --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+                          itself)
+  --enable-sim-stdio      Specify whether to use stdio for console
+                          input/output
+  --enable-sim-trace=opts Enable tracing of simulated programs
+  --enable-sim-profile=opts
+                          Enable profiling flags
+  --enable-sim-endian=endian
+                          Specify target byte endian orientation
+  --enable-sim-alignment=align
+                          Specify strict, nonstrict or forced alignment of
+                          memory accesses
+  --enable-sim-hostendian=end
+                          Specify host byte endian orientation
+  --enable-sim-default-model=model
+                          Specify default model to simulate
+  --enable-sim-environment=environment
+                          Specify mixed, user, virtual or operating
+                          environment
+  --enable-sim-inline=inlines
+                          Specify which functions should be inlined
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings if gcc is used
   --enable-sim-build-warnings
@@ -12328,7 +12340,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12331 "configure"
+#line 12343 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12434,7 +12446,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12437 "configure"
+#line 12449 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_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.20150623/sim/bfin/interp.c ./sim/bfin/interp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/bfin/interp.c	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/bfin/interp.c	2015-06-30 01:48:32.000000000 +0000
@@ -606,22 +606,6 @@ bfin_syscall (SIM_CPU *cpu)
   TRACE_SYSCALL (cpu, "%s", _tbuf);
 }
 
-void
-trace_register (SIM_DESC sd,
-		sim_cpu *cpu,
-		const char *fmt,
-		...)
-{
-  va_list ap;
-  trace_printf (sd, cpu, "%s %s",
-		"reg:     ",
-		TRACE_PREFIX (CPU_TRACE_DATA (cpu)));
-  va_start (ap, fmt);
-  trace_vprintf (sd, cpu, fmt, ap);
-  va_end (ap);
-  trace_printf (sd, cpu, "\n");
-}
-
 /* Execute a single instruction.  */
 
 static sim_cia
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.20150623/sim/bfin/sim-main.h ./sim/bfin/sim-main.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/bfin/sim-main.h	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/bfin/sim-main.h	2015-06-30 01:48:32.000000000 +0000
@@ -81,18 +81,6 @@ struct sim_state {
       bfin_trace_queue (cpu, oldpc, newpc, hwloop); \
   } while (0)
 
-extern void trace_register (SIM_DESC sd,
-			    sim_cpu *cpu,
-			    const char *fmt,
-			    ...)
-     __attribute__((format (printf, 3, 4)));
-#define TRACE_REGISTER(cpu, fmt, ...) \
-  do { \
-    if (TRACE_CORE_P (cpu)) \
-      trace_register (CPU_STATE (cpu), cpu, fmt, ## __VA_ARGS__); \
-  } while (0)
-#define TRACE_REG(cpu, reg, val) TRACE_REGISTER (cpu, "wrote "#reg" = %#x", val)
-
 /* Default memory size.  */
 #define BFIN_DEFAULT_MEM_SIZE (128 * 1024 * 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.20150623/sim/ChangeLog ./sim/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/ChangeLog	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/ChangeLog	2015-06-30 01:48:32.000000000 +0000
@@ -1,3 +1,8 @@
+2015-06-23  Mike Frysinger  <vapier@gentoo.org>
+
+	* configure.ac (AC_ARG_ENABLE(sim)): Call AS_HELP_STRING.
+	* configure: Regenerate.
+
 2015-06-12  Mike Frysinger  <vapier@gentoo.org>
 
 	* README-HACKING: Change configure.in to configure.ac.
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.20150623/sim/common/acinclude.m4 ./sim/common/acinclude.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/common/acinclude.m4	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/common/acinclude.m4	2015-06-30 01:48:32.000000000 +0000
@@ -122,7 +122,7 @@ AM_MAINTAINER_MODE
 dnl This is a generic option to enable special byte swapping
 dnl insns on *any* cpu.
 AC_ARG_ENABLE(sim-bswap,
-[  --enable-sim-bswap			Use Host specific BSWAP instruction.],
+[AS_HELP_STRING([--enable-sim-bswap], [Use Host specific BSWAP instruction])],
 [case "${enableval}" in
   yes)	sim_bswap="-DWITH_BSWAP=1 -DUSE_BSWAP=1";;
   no)	sim_bswap="-DWITH_BSWAP=0";;
@@ -135,7 +135,8 @@ AC_SUBST(sim_bswap)
 
 
 AC_ARG_ENABLE(sim-cflags,
-[  --enable-sim-cflags=opts		Extra CFLAGS for use in building simulator],
+[AS_HELP_STRING([--enable-sim-cflags=opts],
+		[Extra CFLAGS for use in building simulator])],
 [case "${enableval}" in
   yes)	 sim_cflags="-O2 -fomit-frame-pointer";;
   trace) AC_MSG_ERROR("Please use --enable-sim-debug instead."); sim_cflags="";;
@@ -151,7 +152,8 @@ AC_SUBST(sim_cflags)
 dnl --enable-sim-debug is for developers of the simulator
 dnl the allowable values are work-in-progress
 AC_ARG_ENABLE(sim-debug,
-[  --enable-sim-debug=opts		Enable debugging flags],
+[AS_HELP_STRING([--enable-sim-debug=opts],
+		[Enable debugging flags (for developers of the sim itself)])],
 [case "${enableval}" in
   yes) sim_debug="-DDEBUG=7 -DWITH_DEBUG=7";;
   no)  sim_debug="-DDEBUG=0 -DWITH_DEBUG=0";;
@@ -166,7 +168,8 @@ AC_SUBST(sim_debug)
 dnl --enable-sim-stdio is for users of the simulator
 dnl It determines if IO from the program is routed through STDIO (buffered)
 AC_ARG_ENABLE(sim-stdio,
-[  --enable-sim-stdio			Specify whether to use stdio for console input/output.],
+[AS_HELP_STRING([--enable-sim-stdio],
+		[Specify whether to use stdio for console input/output])],
 [case "${enableval}" in
   yes)	sim_stdio="-DWITH_STDIO=DO_USE_STDIO";;
   no)	sim_stdio="-DWITH_STDIO=DONT_USE_STDIO";;
@@ -184,7 +187,8 @@ dnl up to the simulator], or is a comma 
 dnl elements to enable.  The latter is only supported on simulators that
 dnl use WITH_TRACE.
 AC_ARG_ENABLE(sim-trace,
-[  --enable-sim-trace=opts		Enable tracing flags],
+[AS_HELP_STRING([--enable-sim-trace=opts],
+		[Enable tracing of simulated programs])],
 [case "${enableval}" in
   yes)	sim_trace="-DWITH_TRACE=-1";;
   no)	sim_trace="-DWITH_TRACE=0";;
@@ -213,7 +217,7 @@ dnl up to the simulator], or is a comma 
 dnl elements to enable.  The latter is only supported on simulators that
 dnl use WITH_PROFILE.
 AC_ARG_ENABLE(sim-profile,
-[  --enable-sim-profile=opts		Enable profiling flags],
+[AS_HELP_STRING([--enable-sim-profile=opts], [Enable profiling flags])],
 [case "${enableval}" in
   yes)	sim_profile="-DPROFILE=1 -DWITH_PROFILE=-1";;
   no)	sim_profile="-DPROFILE=0 -DWITH_PROFILE=0";;
@@ -277,7 +281,8 @@ dnl let's not.
 AC_DEFUN([SIM_AC_OPTION_ENVIRONMENT],
 [
 AC_ARG_ENABLE(sim-environment,
-[  --enable-sim-environment=environment	Specify mixed, user, virtual or operating environment.],
+[AS_HELP_STRING([--enable-sim-environment=environment],
+		[Specify mixed, user, virtual or operating environment])],
 [case "${enableval}" in
   all | ALL)             sim_environment="-DWITH_ENVIRONMENT=ALL_ENVIRONMENT";;
   user | USER)           sim_environment="-DWITH_ENVIRONMENT=USER_ENVIRONMENT";;
@@ -303,7 +308,8 @@ wire_alignment="[$1]"
 default_alignment="[$2]"
 [
 AC_ARG_ENABLE(sim-alignment,
-[  --enable-sim-alignment=align		Specify strict,  nonstrict or forced alignment of memory accesses.],
+[AS_HELP_STRING([--enable-sim-alignment=align],
+		[Specify strict, nonstrict or forced alignment of memory accesses])],
 [case "${enableval}" in
   strict | STRICT)       sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
   nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
@@ -350,7 +356,8 @@ dnl Conditionally compile in assertion s
 AC_DEFUN([SIM_AC_OPTION_ASSERT],
 [
 AC_ARG_ENABLE(sim-assert,
-[  --enable-sim-assert			Specify whether to perform random assertions.],
+[AS_HELP_STRING([--enable-sim-assert],
+		[Specify whether to perform random assertions])],
 [case "${enableval}" in
   yes)	sim_assert="-DWITH_ASSERT=1";;
   no)	sim_assert="-DWITH_ASSERT=0";;
@@ -377,7 +384,7 @@ wire_word_msb="[$2]"
 wire_address_bitsize="[$3]"
 wire_cell_bitsize="[$4]"
 [AC_ARG_ENABLE(sim-bitsize,
-[  --enable-sim-bitsize=N		Specify target bitsize (32 or 64).],
+[AS_HELP_STRING([--enable-sim-bitsize=N], [Specify target bitsize (32 or 64)])],
 [sim_bitsize=
 case "${enableval}" in
   64,63 | 64,63,* ) sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=64 -DWITH_TARGET_WORD_MSB=63";;
@@ -442,7 +449,8 @@ AC_DEFUN([SIM_AC_OPTION_ENDIAN],
 wire_endian="[$1]"
 default_endian="[$2]"
 AC_ARG_ENABLE(sim-endian,
-[  --enable-sim-endian=endian		Specify target byte endian orientation.],
+[AS_HELP_STRING([--enable-sim-endian=endian],
+		[Specify target byte endian orientation])],
 [case "${enableval}" in
   b*|B*) sim_endian="-DWITH_TARGET_BYTE_ORDER=BIG_ENDIAN";;
   l*|L*) sim_endian="-DWITH_TARGET_BYTE_ORDER=LITTLE_ENDIAN";;
@@ -490,7 +498,8 @@ dnl (for instance in a canadian cross)
 AC_DEFUN([SIM_AC_OPTION_HOSTENDIAN],
 [
 AC_ARG_ENABLE(sim-hostendian,
-[  --enable-sim-hostendian=end		Specify host byte endian orientation.],
+[AS_HELP_STRING([--enable-sim-hostendian=end],
+		[Specify host byte endian orientation])],
 [case "${enableval}" in
   no)	 sim_hostendian="-DWITH_HOST_BYTE_ORDER=0";;
   b*|B*) sim_hostendian="-DWITH_HOST_BYTE_ORDER=BIG_ENDIAN";;
@@ -524,7 +533,8 @@ AC_DEFUN([SIM_AC_OPTION_FLOAT],
 default_sim_float="[$1]"
 default_sim_float_bitsize="[$2]"
 AC_ARG_ENABLE(sim-float,
-[  --enable-sim-float			Specify that the target processor has floating point hardware.],
+[AS_HELP_STRING([--enable-sim-float],
+		[Specify that the target processor has floating point hardware])],
 [case "${enableval}" in
   yes | hard)	sim_float="-DWITH_FLOATING_POINT=HARD_FLOATING_POINT";;
   no | soft)	sim_float="-DWITH_FLOATING_POINT=SOFT_FLOATING_POINT";;
@@ -552,7 +562,8 @@ AC_DEFUN([SIM_AC_OPTION_SCACHE],
 [
 default_sim_scache="ifelse([$1],,0,[$1])"
 AC_ARG_ENABLE(sim-scache,
-[  --enable-sim-scache=size		Specify simulator execution cache size.],
+[AS_HELP_STRING([--enable-sim-scache=size],
+		[Specify simulator execution cache size])],
 [case "${enableval}" in
   yes)	sim_scache="-DWITH_SCACHE=${default_sim_scache}";;
   no)	sim_scache="-DWITH_SCACHE=0" ;;
@@ -572,7 +583,8 @@ AC_DEFUN([SIM_AC_OPTION_DEFAULT_MODEL],
 [
 default_sim_default_model="ifelse([$1],,0,[$1])"
 AC_ARG_ENABLE(sim-default-model,
-[  --enable-sim-default-model=model	Specify default model to simulate.],
+[AS_HELP_STRING([--enable-sim-default-model=model],
+		[Specify default model to simulate])],
 [case "${enableval}" in
   yes|no) AC_MSG_ERROR("Missing argument to --enable-sim-default-model");;
   *)	sim_default_model="-DWITH_DEFAULT_MODEL='\"${enableval}\"'";;
@@ -660,7 +672,8 @@ AC_DEFUN([SIM_AC_OPTION_INLINE],
 [
 default_sim_inline="ifelse([$1],,,-DDEFAULT_INLINE=[$1])"
 AC_ARG_ENABLE(sim-inline,
-[  --enable-sim-inline=inlines		Specify which functions should be inlined.],
+[AS_HELP_STRING([--enable-sim-inline=inlines],
+		[Specify which functions should be inlined])],
 [sim_inline=""
 case "$enableval" in
   no)		sim_inline="-DDEFAULT_INLINE=0";;
@@ -704,7 +717,8 @@ AC_SUBST(sim_inline)
 AC_DEFUN([SIM_AC_OPTION_PACKAGES],
 [
 AC_ARG_ENABLE(sim-packages,
-[  --enable-sim-packages=list		Specify the packages to be included in the build.],
+[AS_HELP_STRING([--enable-sim-packages=list],
+		[Specify the packages to be included in the build])],
 [packages=disklabel
 case "${enableval}" in
   yes)	;;
@@ -730,7 +744,8 @@ AC_SUBST(sim_packages)
 AC_DEFUN([SIM_AC_OPTION_REGPARM],
 [
 AC_ARG_ENABLE(sim-regparm,
-[  --enable-sim-regparm=nr-parm		Pass parameters in registers instead of on the stack - x86/GCC specific.],
+[AS_HELP_STRING([--enable-sim-regparm=nr-parm],
+		[Pass parameters in registers instead of on the stack - x86/GCC specific])],
 [case "${enableval}" in
   0*|1*|2*|3*|4*|5*|6*|7*|8*|9*) sim_regparm="-DWITH_REGPARM=${enableval}";;
   no)                            sim_regparm="" ;;
@@ -748,7 +763,8 @@ AC_DEFUN([SIM_AC_OPTION_RESERVED_BITS],
 [
 default_sim_reserved_bits="ifelse([$1],,1,[$1])"
 AC_ARG_ENABLE(sim-reserved-bits,
-[  --enable-sim-reserved-bits		Specify whether to check reserved bits in instruction.],
+[AS_HELP_STRING([--enable-sim-reserved-bits],
+		[Specify whether to check reserved bits in instruction])],
 [case "${enableval}" in
   yes)	sim_reserved_bits="-DWITH_RESERVED_BITS=1";;
   no)	sim_reserved_bits="-DWITH_RESERVED_BITS=0";;
@@ -765,7 +781,8 @@ AC_DEFUN([SIM_AC_OPTION_SMP],
 [
 default_sim_smp="ifelse([$1],,5,[$1])"
 AC_ARG_ENABLE(sim-smp,
-[  --enable-sim-smp=n			Specify number of processors to configure for (default ${default_sim_smp}).],
+[AS_HELP_STRING([--enable-sim-smp=n],
+		[Specify number of processors to configure for (default ${default_sim_smp})])],
 [case "${enableval}" in
   yes)	sim_smp="-DWITH_SMP=5" ; sim_igen_smp="-N 5";;
   no)	sim_smp="-DWITH_SMP=0" ; sim_igen_smp="-N 0";;
@@ -784,7 +801,8 @@ AC_SUBST(sim_smp)
 AC_DEFUN([SIM_AC_OPTION_STDCALL],
 [
 AC_ARG_ENABLE(sim-stdcall,
-[  --enable-sim-stdcall=type		Use an alternative function call/return mechanism - x86/GCC specific.],
+[AS_HELP_STRING([--enable-sim-stdcall=type],
+		[Use an alternative function call/return mechanism - x86/GCC specific])],
 [case "${enableval}" in
   no)		sim_stdcall="" ;;
   std*)		sim_stdcall="-DWITH_STDCALL=1";;
@@ -802,7 +820,8 @@ AC_DEFUN([SIM_AC_OPTION_XOR_ENDIAN],
 [
 default_sim_xor_endian="ifelse([$1],,8,[$1])"
 AC_ARG_ENABLE(sim-xor-endian,
-[  --enable-sim-xor-endian=n		Specify number bytes involved in XOR bi-endian mode (default ${default_sim_xor_endian}).],
+[AS_HELP_STRING([--enable-sim-xor-endian=n],
+		[Specify number bytes involved in XOR bi-endian mode (default ${default_sim_xor_endian})])],
 [case "${enableval}" in
   yes)	sim_xor_endian="-DWITH_XOR_ENDIAN=8";;
   no)	sim_xor_endian="-DWITH_XOR_ENDIAN=0";;
@@ -953,7 +972,7 @@ dnl a directory name, but what we're doi
 dnl of thing and specifying both --enable and --with is klunky.
 dnl If you reeely want this to be --with, go ahead and change it.
 AC_ARG_ENABLE(cgen-maint,
-[  --enable-cgen-maint[=DIR]    build cgen generated files],
+[AS_HELP_STRING([--enable-cgen-maint[=DIR]], [build cgen generated files])],
 [case "${enableval}" in
   yes)	cgen_maint=yes ;;
   no)	cgen_maint=no ;;
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.20150623/sim/common/cgen-trace.c ./sim/common/cgen-trace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/common/cgen-trace.c	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/common/cgen-trace.c	2015-06-30 01:48:32.000000000 +0000
@@ -302,18 +302,10 @@ cgen_trace_printf (SIM_CPU *cpu, char *f
 int
 sim_disasm_sprintf (SFILE *f, const char *format, ...)
 {
-#ifndef __STDC__
-  SFILE *f;
-  const char *format;
-#endif
   int n;
   va_list args;
 
   va_start (args, format);
-#ifndef __STDC__
-  f = va_arg (args, SFILE *);
-  format = va_arg (args, char *);
-#endif
   vsprintf (f->current, format, args);
   f->current += n = strlen (f->current);
   va_end (args);
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.20150623/sim/common/ChangeLog ./sim/common/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/common/ChangeLog	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/common/ChangeLog	2015-06-30 01:48:32.000000000 +0000
@@ -1,3 +1,86 @@
+2015-06-24  Mike Frysinger  <vapier@gentoo.org>
+
+	* sim-trace.c (trace_one_insn): Delete.
+	* sim-trace.h (trace_one_insn): Delete.
+
+2015-06-24  Mike Frysinger  <vapier@gentoo.org>
+
+	* sim-trace.c (debug_printf): Rename to ...
+	(sim_debug_printf): ... this.
+	* sim-trace.h (debug_printf): Delete define.
+	(debug_printf): Rename to ...
+	(sim_debug_printf): ... this.
+
+2015-06-24  Mike Frysinger  <vapier@gentoo.org>
+
+	* sim-trace.c (OPTION_TRACE_REGISTER): New enum.
+	(trace_options): Add trace-register option.
+	(trace_option_handler): Handle OPTION_TRACE_REGISTER case.
+	(trace_idx_to_str): Handle TRACE_REGISTER_IDX case and re-indent.
+	* sim-trace.h (TRACE_REGISTER_IDX): New enum.
+	(TRACE_register, WITH_TRACE_REGISTER_P, STRACE_REGISTER_P,
+	TRACE_REGISTER_P, TRACE_REGISTER): Define.
+
+2015-06-24  Mike Frysinger  <vapier@gentoo.org>
+
+	* sim-trace.h (STRACE, STRACE_INSN, STRACE_DECODE, STRACE_EXTRACT,
+	STRACE_LINENUM, STRACE_MEMORY, STRACE_MODEL, STRACE_ALU, STRACE_CORE,
+	STRACE_EVENTS, STRACE_FPU, STRACE_VPU, STRACE_BRANCH, STRACE_SYSCALL,
+	STRACE_DEBUG): Define.
+
+2015-06-24  Mike Frysinger  <vapier@gentoo.org>
+
+	* sim-trace.c (trace_options): Update help text for trace-alu,
+	trace-fpu, trace-vpu, and trace-semantics.
+	* sim-trace.h (TRACE_ALU_IDX): Update comment text.
+	(TRACE_FPU_IDX, TRACE_VPU_IDX): Likewise.
+
+2015-06-24  Mike Frysinger  <vapier@gentoo.org>
+
+	* sim-assert.h (SIM_FILTER_PATH): Delete.
+	[!SIM_ASSERT, WITH_ASSERT]: Include libiberty.h.
+	(SIM_ASSERT): Replace SIM_FILTER_PATH with lbasename.
+	[!ASSERT, WITH_ASSERT]: Include libiberty.h.
+	(ASSERT): Replace SIM_FILTER_PATH with lbasename.
+	* sim-events.c: Include libiberty.h.
+	(ETRACE): Replace SIM_FILTER_PATH with lbasename.
+
+2015-06-23  Mike Frysinger  <vapier@gentoo.org>
+
+	* acinclude.m4 (AC_ARG_ENABLE(sim-bswap)): Call AS_HELP_STRING.
+	(AC_ARG_ENABLE(sim-cflags)): Likewise.
+	(AC_ARG_ENABLE(sim-debug)): Likewise.
+	(AC_ARG_ENABLE(sim-stdio)): Likewise.
+	(AC_ARG_ENABLE(sim-trace)): Likewise.
+	(AC_ARG_ENABLE(sim-profile)): Likewise.
+	(AC_ARG_ENABLE(sim-environment)): Likewise.
+	(AC_ARG_ENABLE(sim-alignment)): Likewise.
+	(AC_ARG_ENABLE(sim-assert)): Likewise.
+	(AC_ARG_ENABLE(sim-bitsize)): Likewise.
+	(AC_ARG_ENABLE(sim-endian)): Likewise.
+	(AC_ARG_ENABLE(sim-hostendian)): Likewise.
+	(AC_ARG_ENABLE(sim-float)): Likewise.
+	(AC_ARG_ENABLE(sim-scache)): Likewise.
+	(AC_ARG_ENABLE(sim-default-model)): Likewise.
+	(AC_ARG_ENABLE(sim-inline)): Likewise.
+	(AC_ARG_ENABLE(sim-packages)): Likewise.
+	(AC_ARG_ENABLE(sim-regparm)): Likewise.
+	(AC_ARG_ENABLE(sim-reserved-bits)): Likewise.
+	(AC_ARG_ENABLE(sim-smp)): Likewise.
+	(AC_ARG_ENABLE(sim-stdcall)): Likewise.
+	(AC_ARG_ENABLE(sim-xor-endian)): Likewise.
+	(AC_ARG_ENABLE(cgen-maint)): Likewise.
+	* configure: Regenerate.
+
+2015-06-23  Mike Frysinger  <vapier@gentoo.org>
+
+	* sim-config.h (WITH_TRACE): Define to ~TRACE_debug.
+
+2015-06-23  Mike Frysinger  <vapier@gentoo.org>
+
+	* cgen-trace.c [!__STDC__]: Delete.
+	* sim-trace.h [!__STDC__]: Likewise.
+
 2015-06-21  Mike Frysinger  <vapier@gentoo.org>
 
 	* sim-model.c (sim_model_init): Assert model is not NULL.
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.20150623/sim/common/configure ./sim/common/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/common/configure	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/common/configure	2015-06-30 01:48:32.000000000 +0000
@@ -1398,12 +1398,16 @@ Optional Features:
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-maintainer-mode  enable make rules and dependencies not useful
 			  (and sometimes confusing) to the casual installer
-  --enable-sim-bswap			Use Host specific BSWAP instruction.
-  --enable-sim-cflags=opts		Extra CFLAGS for use in building simulator
-  --enable-sim-debug=opts		Enable debugging flags
-  --enable-sim-stdio			Specify whether to use stdio for console input/output.
-  --enable-sim-trace=opts		Enable tracing flags
-  --enable-sim-profile=opts		Enable profiling flags
+  --enable-sim-bswap      Use Host specific BSWAP instruction
+  --enable-sim-cflags=opts
+                          Extra CFLAGS for use in building simulator
+  --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+                          itself)
+  --enable-sim-stdio      Specify whether to use stdio for console
+                          input/output
+  --enable-sim-trace=opts Enable tracing of simulated programs
+  --enable-sim-profile=opts
+                          Enable profiling flags
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
@@ -10560,7 +10564,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10563 "configure"
+#line 10567 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10666,7 +10670,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10669 "configure"
+#line 10673 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_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.20150623/sim/common/sim-assert.h ./sim/common/sim-assert.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/common/sim-assert.h	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/common/sim-assert.h	2015-06-30 01:48:32.000000000 +0000
@@ -21,21 +21,6 @@
 #ifndef SIM_ASSERT_H
 #define SIM_ASSERT_H
 
-#define SIM_FILTER_PATH(FILE, PATH) \
-do \
-  { \
-    /* strip leading path */ \
-    const char *p = (PATH); \
-    (FILE) = p; \
-    while (*p != '\0' && *p != ':') \
-      { \
-        if (*p == '/') \
-          (FILE) = p + 1; \
-        p++; \
-      } \
-  } \
-while (0)
-
 /* The subtle difference between SIM_ASSERT and ASSERT is that
    SIM_ASSERT passes `sd' to sim_io_error for the SIM_DESC,
    ASSERT passes NULL.  */
@@ -43,6 +28,7 @@ while (0)
 #if !defined (SIM_ASSERT)
 #if defined (WITH_ASSERT)
 #include "sim-io.h"
+#include "libiberty.h"
 #define SIM_ASSERT(EXPRESSION) \
 do \
   { \
@@ -51,10 +37,8 @@ do \
         if (!(EXPRESSION)) \
           { \
             /* report the failure */ \
-            const char *file; \
-            SIM_FILTER_PATH(file, __FILE__); \
             sim_io_error (sd, "%s:%d: assertion failed - %s", \
-                          file, __LINE__, #EXPRESSION); \
+                          lbasename (__FILE__), __LINE__, #EXPRESSION); \
           } \
       } \
   } \
@@ -67,6 +51,7 @@ while (0)
 #if !defined (ASSERT)
 #if defined (WITH_ASSERT)
 #include "sim-io.h"
+#include "libiberty.h"
 #define ASSERT(EXPRESSION) \
 do \
   { \
@@ -75,10 +60,8 @@ do \
         if (!(EXPRESSION)) \
           { \
             /* report the failure */ \
-            const char *file; \
-            SIM_FILTER_PATH(file, __FILE__); \
             sim_io_error (NULL, "%s:%d: assertion failed - %s", \
-                          file, __LINE__, #EXPRESSION); \
+                          lbasename (__FILE__), __LINE__, #EXPRESSION); \
           } \
       } \
   } \
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.20150623/sim/common/sim-config.h ./sim/common/sim-config.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/common/sim-config.h	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/common/sim-config.h	2015-06-30 01:48:32.000000000 +0000
@@ -487,10 +487,10 @@ extern int current_floating_point;
 #endif
 
 /* Include the tracing code.  Disabling this eliminates all tracing
-   code */
+   code.  Default to all tracing but internal debug.  */
 
 #ifndef WITH_TRACE
-#define WITH_TRACE                      (-1)
+#define WITH_TRACE			(~TRACE_debug)
 #endif
 
 /* Include the profiling code.  Disabling this eliminates all profiling
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.20150623/sim/common/sim-events.c ./sim/common/sim-events.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/common/sim-events.c	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/common/sim-events.c	2015-06-30 01:48:32.000000000 +0000
@@ -25,6 +25,7 @@
 
 #include "sim-main.h"
 #include "sim-assert.h"
+#include "libiberty.h"
 
 #ifdef HAVE_STRING_H
 #include <string.h>
@@ -147,11 +148,7 @@ do \
     if (STRACE_EVENTS_P (sd)) \
       { \
         if (STRACE_DEBUG_P (sd)) \
-	  { \
-	    const char *file; \
-	    SIM_FILTER_PATH (file, __FILE__); \
-	    trace_printf (sd, NULL, "%s:%d: ", file, __LINE__); \
-	  } \
+	  trace_printf (sd, NULL, "%s:%d: ", lbasename (__FILE__), __LINE__); \
         trace_printf  ARGS; \
       } \
   } \
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.20150623/sim/common/sim-trace.c ./sim/common/sim-trace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/common/sim-trace.c	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/common/sim-trace.c	2015-06-30 01:48:32.000000000 +0000
@@ -77,7 +77,8 @@ enum {
   OPTION_TRACE_DEBUG,
   OPTION_TRACE_FILE,
   OPTION_TRACE_VPU,
-  OPTION_TRACE_SYSCALL
+  OPTION_TRACE_SYSCALL,
+  OPTION_TRACE_REGISTER
 };
 
 static const OPTION trace_options[] =
@@ -102,19 +103,19 @@ static const OPTION trace_options[] =
       '\0', "on|off", "Trace memory operations",
       trace_option_handler, NULL },
   { {"trace-alu", optional_argument, NULL, OPTION_TRACE_ALU},
-      '\0', "on|off", "Trace ALU operations",
+      '\0', "on|off", "Trace ALU (Arithmetic Logic Unit) operations",
       trace_option_handler, NULL },
   { {"trace-fpu", optional_argument, NULL, OPTION_TRACE_FPU},
-      '\0', "on|off", "Trace FPU operations",
+      '\0', "on|off", "Trace FPU (Floating Point Unit) operations",
       trace_option_handler, NULL },
   { {"trace-vpu", optional_argument, NULL, OPTION_TRACE_VPU},
-      '\0', "on|off", "Trace VPU operations",
+      '\0', "on|off", "Trace VPU (Vector Processing Unit) operations",
       trace_option_handler, NULL },
   { {"trace-branch", optional_argument, NULL, OPTION_TRACE_BRANCH},
       '\0', "on|off", "Trace branching",
       trace_option_handler, NULL },
   { {"trace-semantics", optional_argument, NULL, OPTION_TRACE_SEMANTICS},
-      '\0', "on|off", "Perform ALU, FPU, MEMORY, and BRANCH tracing",
+      '\0', "on|off", "Perform ALU, FPU, VPU, MEMORY, and BRANCH tracing",
       trace_option_handler, NULL },
   { {"trace-model", optional_argument, NULL, OPTION_TRACE_MODEL},
       '\0', "on|off", "Include model performance data",
@@ -128,6 +129,9 @@ static const OPTION trace_options[] =
   { {"trace-syscall", optional_argument, NULL, OPTION_TRACE_SYSCALL},
       '\0', "on|off", "Trace system calls",
       trace_option_handler, NULL },
+  { {"trace-register", optional_argument, NULL, OPTION_TRACE_REGISTER},
+      '\0', "on|off", "Trace cpu register accesses",
+      trace_option_handler, NULL },
 #ifdef SIM_HAVE_ADDR_RANGE
   { {"trace-range", required_argument, NULL, OPTION_TRACE_RANGE},
       '\0', "START,END", "Specify range of addresses for instruction tracing",
@@ -333,6 +337,13 @@ trace_option_handler (SIM_DESC sd, sim_c
 	sim_io_eprintf (sd, "System call tracing not compiled in, `--trace-syscall' ignored\n");
       break;
 
+    case OPTION_TRACE_REGISTER :
+      if (WITH_TRACE_REGISTER_P)
+	return set_trace_option (sd, "-register", TRACE_REGISTER_IDX, arg);
+      else
+	sim_io_eprintf (sd, "Register tracing not compiled in, `--trace-register' ignored\n");
+      break;
+
     case OPTION_TRACE_SEMANTICS :
       if (WITH_TRACE_ALU_P
 	  && WITH_TRACE_FPU_P
@@ -603,17 +614,18 @@ trace_idx_to_str (int trace_idx)
   static char num[8];
   switch (trace_idx)
     {
-    case TRACE_ALU_IDX:     return "alu:     ";
-    case TRACE_INSN_IDX:    return "insn:    ";
-    case TRACE_DECODE_IDX:  return "decode:  ";
-    case TRACE_EXTRACT_IDX: return "extract: ";
-    case TRACE_MEMORY_IDX:  return "memory:  ";
-    case TRACE_CORE_IDX:    return "core:    ";
-    case TRACE_EVENTS_IDX:  return "events:  ";
-    case TRACE_FPU_IDX:     return "fpu:     ";
-    case TRACE_BRANCH_IDX:  return "branch:  ";
-    case TRACE_SYSCALL_IDX: return "syscall: ";
-    case TRACE_VPU_IDX:     return "vpu:     ";
+    case TRACE_ALU_IDX:      return "alu:     ";
+    case TRACE_INSN_IDX:     return "insn:    ";
+    case TRACE_DECODE_IDX:   return "decode:  ";
+    case TRACE_EXTRACT_IDX:  return "extract: ";
+    case TRACE_MEMORY_IDX:   return "memory:  ";
+    case TRACE_CORE_IDX:     return "core:    ";
+    case TRACE_EVENTS_IDX:   return "events:  ";
+    case TRACE_FPU_IDX:      return "fpu:     ";
+    case TRACE_BRANCH_IDX:   return "branch:  ";
+    case TRACE_SYSCALL_IDX:  return "syscall: ";
+    case TRACE_REGISTER_IDX: return "reg:     ";
+    case TRACE_VPU_IDX:      return "vpu:     ";
     default:
       sprintf (num, "?%d?", trace_idx);
       return num;
@@ -1206,107 +1218,12 @@ trace_vprintf (SIM_DESC sd, sim_cpu *cpu
     }
 }
 
-/* The function trace_one_insn has been replaced by the function pair
-   trace_prefix() + trace_generic().  It is still used. */
-void
-trace_one_insn (SIM_DESC sd, sim_cpu *cpu, address_word pc,
-		int line_p, const char *filename, int linenum,
-		const char *phase_wo_colon, const char *fmt,
-		...)
-{
-  va_list ap;
-  char phase[SIZE_PHASE+2];
-
-  strncpy (phase, phase_wo_colon, SIZE_PHASE);
-  strcat (phase, ":");
-
-  if (!line_p)
-    {
-      trace_printf (sd, cpu, "%-*s %s:%-*d 0x%.*lx ",
-		    SIZE_PHASE+1, phase,
-		    filename,
-		    SIZE_LINE_NUMBER, linenum,
-		    SIZE_PC, (long)pc);
-      va_start (ap, fmt);
-      trace_vprintf (sd, cpu, fmt, ap);
-      va_end (ap);
-      trace_printf (sd, cpu, "\n");
-    }
-  else
-    {
-      char buf[256];
-
-      buf[0] = 0;
-      if (STATE_TEXT_SECTION (CPU_STATE (cpu))
-	  && pc >= STATE_TEXT_START (CPU_STATE (cpu))
-	  && pc < STATE_TEXT_END (CPU_STATE (cpu)))
-	{
-	  const char *pc_filename = (const char *)0;
-	  const char *pc_function = (const char *)0;
-	  unsigned int pc_linenum = 0;
-
-	  if (bfd_find_nearest_line (STATE_PROG_BFD (CPU_STATE (cpu)),
-				     STATE_TEXT_SECTION (CPU_STATE (cpu)),
-				     (struct bfd_symbol **) 0,
-				     pc - STATE_TEXT_START (CPU_STATE (cpu)),
-				     &pc_filename, &pc_function, &pc_linenum))
-	    {
-	      char *p = buf;
-	      if (pc_linenum)
-		{
-		  sprintf (p, "#%-*d ", SIZE_LINE_NUMBER, pc_linenum);
-		  p += strlen (p);
-		}
-	      else
-		{
-		  sprintf (p, "%-*s ", SIZE_LINE_NUMBER+1, "---");
-		  p += SIZE_LINE_NUMBER+2;
-		}
-
-	      if (pc_function)
-		{
-		  sprintf (p, "%s ", pc_function);
-		  p += strlen (p);
-		}
-	      else if (pc_filename)
-		{
-		  char *q = (char *) strrchr (pc_filename, '/');
-		  sprintf (p, "%s ", (q) ? q+1 : pc_filename);
-		  p += strlen (p);
-		}
-
-	      if (*p == ' ')
-		*p = '\0';
-	    }
-	}
-
-      trace_printf (sd, cpu, "%-*s 0x%.*x %-*.*s ",
-		    SIZE_PHASE+1, phase,
-		    SIZE_PC, (unsigned) pc,
-		    SIZE_LOCATION, SIZE_LOCATION, buf);
-      va_start (ap, fmt);
-      trace_vprintf (sd, cpu, fmt, ap);
-      va_end (ap);
-      trace_printf (sd, cpu, "\n");
-    }
-}
-
 void
 trace_printf (SIM_DESC sd, sim_cpu *cpu, const char *fmt, ...)
 {
-#if !defined __STDC__ && !defined ALMOST_STDC
-  SIM_DESC sd;
-  sim_cpu *cpu;
-  const char *fmt;
-#endif
   va_list ap;
 
   va_start (ap, fmt);
-#if !defined __STDC__ && !defined ALMOST_STDC
-  sd = va_arg (ap, SIM_DESC);
-  cpu = va_arg (ap, sim_cpu *);
-  fmt = va_arg (ap, const char *);
-#endif
 
   trace_vprintf (sd, cpu, fmt, ap);
 
@@ -1314,19 +1231,11 @@ trace_printf (SIM_DESC sd, sim_cpu *cpu,
 }
 
 void
-debug_printf (sim_cpu *cpu, const char *fmt, ...)
+sim_debug_printf (sim_cpu *cpu, const char *fmt, ...)
 {
-#if !defined __STDC__ && !defined ALMOST_STDC
-  sim_cpu *cpu;
-  const char *fmt;
-#endif
   va_list ap;
 
   va_start (ap, fmt);
-#if !defined __STDC__ && !defined ALMOST_STDC
-  cpu = va_arg (ap, sim_cpu *);
-  fmt = va_arg (ap, const char *);
-#endif
 
   if (CPU_DEBUG_FILE (cpu) == NULL)
     (* STATE_CALLBACK (CPU_STATE (cpu))->evprintf_filtered)
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.20150623/sim/common/sim-trace.h ./sim/common/sim-trace.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/common/sim-trace.h	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/common/sim-trace.h	2015-06-30 01:48:32.000000000 +0000
@@ -50,7 +50,7 @@ enum {
   /* Include model performance data in tracing output.  */
   TRACE_MODEL_IDX,
 
-  /* Trace ALU operations.  */
+  /* Trace ALU (Arithmetic Logic Unit) operations.  */
   TRACE_ALU_IDX,
 
   /* Trace memory core operations.  */
@@ -59,10 +59,10 @@ enum {
   /* Trace events.  */
   TRACE_EVENTS_IDX,
 
-  /* Trace fpu operations.  */
+  /* Trace FPU (Floating Point Unit) operations.  */
   TRACE_FPU_IDX,
 
-  /* Trace vpu operations.  */
+  /* Trace VPU (Vector Processing Unit) operations.  */
   TRACE_VPU_IDX,
 
   /* Trace branching.  */
@@ -71,6 +71,10 @@ enum {
   /* Trace syscalls.  */
   TRACE_SYSCALL_IDX,
 
+  /* Trace cpu register accesses.  Registers that are part of hardware devices
+     should use the HW_TRACE macros instead.  */
+  TRACE_REGISTER_IDX,
+
   /* Add information useful for debugging the simulator to trace output.  */
   TRACE_DEBUG_IDX,
 
@@ -105,6 +109,7 @@ enum {
 #define TRACE_vpu      (1 << TRACE_VPU_IDX)
 #define TRACE_branch   (1 << TRACE_BRANCH_IDX)
 #define TRACE_syscall  (1 << TRACE_SYSCALL_IDX)
+#define TRACE_register (1 << TRACE_REGISTER_IDX)
 #define TRACE_debug    (1 << TRACE_DEBUG_IDX)
 
 /* Return non-zero if tracing of idx is enabled (compiled in).  */
@@ -125,6 +130,7 @@ enum {
 #define WITH_TRACE_VPU_P	WITH_TRACE_P (TRACE_VPU_IDX)
 #define WITH_TRACE_BRANCH_P	WITH_TRACE_P (TRACE_BRANCH_IDX)
 #define WITH_TRACE_SYSCALL_P	WITH_TRACE_P (TRACE_SYSCALL_IDX)
+#define WITH_TRACE_REGISTER_P	WITH_TRACE_P (TRACE_REGISTER_IDX)
 #define WITH_TRACE_DEBUG_P	WITH_TRACE_P (TRACE_DEBUG_IDX)
 
 /* Tracing install handler.  */
@@ -210,7 +216,30 @@ typedef struct _trace_data {
 #define STRACE_VPU_P(sd)	STRACE_P (sd, TRACE_VPU_IDX)
 #define STRACE_BRANCH_P(sd)	STRACE_P (sd, TRACE_BRANCH_IDX)
 #define STRACE_SYSCALL_P(sd)	STRACE_P (sd, TRACE_SYSCALL_IDX)
+#define STRACE_REGISTER_P(sd)	STRACE_P (sd, TRACE_REGISTER_IDX)
 #define STRACE_DEBUG_P(sd)	STRACE_P (sd, TRACE_DEBUG_IDX)
+
+/* Helper functions for printing messages.  */
+#define STRACE(sd, idx, fmt, args...) \
+  do { \
+    if (STRACE_P (sd, idx)) \
+      trace_generic (sd, NULL, idx, fmt, ## args); \
+  } while (0)
+#define STRACE_INSN(sd, fmt, args...)		STRACE (sd, TRACE_INSN_IDX, fmt, ## args)
+#define STRACE_DECODE(sd, fmt, args...)		STRACE (sd, TRACE_DECODE_IDX, fmt, ## args)
+#define STRACE_EXTRACT(sd, fmt, args...)	STRACE (sd, TRACE_EXTRACT_IDX, fmt, ## args)
+#define STRACE_LINENUM(sd, fmt, args...)	STRACE (sd, TRACE_LINENUM_IDX, fmt, ## args)
+#define STRACE_MEMORY(sd, fmt, args...)		STRACE (sd, TRACE_MEMORY_IDX, fmt, ## args)
+#define STRACE_MODEL(sd, fmt, args...)		STRACE (sd, TRACE_MODEL_IDX, fmt, ## args)
+#define STRACE_ALU(sd, fmt, args...)		STRACE (sd, TRACE_ALU_IDX, fmt, ## args)
+#define STRACE_CORE(sd, fmt, args...)		STRACE (sd, TRACE_CORE_IDX, fmt, ## args)
+#define STRACE_EVENTS(sd, fmt, args...)		STRACE (sd, TRACE_EVENTS_IDX, fmt, ## args)
+#define STRACE_FPU(sd, fmt, args...)		STRACE (sd, TRACE_FPU_IDX, fmt, ## args)
+#define STRACE_VPU(sd, fmt, args...)		STRACE (sd, TRACE_VPU_IDX, fmt, ## args)
+#define STRACE_BRANCH(sd, fmt, args...)		STRACE (sd, TRACE_BRANCH_IDX, fmt, ## args)
+#define STRACE_SYSCALL(sd, fmt, args...)	STRACE (sd, TRACE_SYSCALL_IDX, fmt, ## args)
+#define STRACE_REGISTER(sd, fmt, args...)	STRACE (sd, TRACE_REGISTER_IDX, fmt, ## args)
+#define STRACE_DEBUG(sd, fmt, args...)		STRACE (sd, TRACE_DEBUG_IDX, fmt, ## args)
 
 /* CPU tracing support.  */
 
@@ -235,6 +264,7 @@ typedef struct _trace_data {
 #define TRACE_VPU_P(cpu)	TRACE_P (cpu, TRACE_VPU_IDX)
 #define TRACE_BRANCH_P(cpu)	TRACE_P (cpu, TRACE_BRANCH_IDX)
 #define TRACE_SYSCALL_P(cpu)	TRACE_P (cpu, TRACE_SYSCALL_IDX)
+#define TRACE_REGISTER_P(cpu)	TRACE_P (cpu, TRACE_REGISTER_IDX)
 #define TRACE_DEBUG_P(cpu)	TRACE_P (cpu, TRACE_DEBUG_IDX)
 
 /* Helper functions for printing messages.  */
@@ -256,6 +286,7 @@ typedef struct _trace_data {
 #define TRACE_VPU(cpu, fmt, args...)		TRACE (cpu, TRACE_VPU_IDX, fmt, ## args)
 #define TRACE_BRANCH(cpu, fmt, args...)		TRACE (cpu, TRACE_BRANCH_IDX, fmt, ## args)
 #define TRACE_SYSCALL(cpu, fmt, args...)	TRACE (cpu, TRACE_SYSCALL_IDX, fmt, ## args)
+#define TRACE_REGISTER(cpu, fmt, args...)	TRACE (cpu, TRACE_REGISTER_IDX, fmt, ## args)
 #define TRACE_DEBUG(cpu, fmt, args...)		TRACE (cpu, TRACE_DEBUG_IDX, fmt, ## args)
 
 /* Tracing functions.  */
@@ -587,19 +618,6 @@ do { \
 } while (0)
 
 
-/* The function trace_one_insn has been replaced by the function pair
-   trace_prefix() + trace_generic() */
-extern void trace_one_insn (SIM_DESC sd,
-			    sim_cpu * cpu,
-			    address_word cia,
-			    int print_linenum_p,
-			    const char *file_name,
-			    int line_nr,
-			    const char *unit,
-			    const char *fmt,
-			    ...)
-     __attribute__((format (printf, 8, 9)));
-
 extern void trace_printf (SIM_DESC, sim_cpu *, const char *, ...)
      __attribute__((format (printf, 3, 4)));
 
@@ -617,10 +635,7 @@ extern void trace_vprintf (SIM_DESC, sim
 /* Non-zero if "--debug-insn" specified.  */
 #define DEBUG_INSN_P(cpu) DEBUG_P (cpu, DEBUG_INSN_IDX)
 
-/* GDB also has a debug_printf, so we shadow ours.  */
-#define debug_printf sim_debug_printf
-
-extern void debug_printf (sim_cpu *, const char *, ...)
+extern void sim_debug_printf (sim_cpu *, const char *, ...)
      __attribute__((format (printf, 2, 3)));
 
 #endif /* SIM_TRACE_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.20150623/sim/configure ./sim/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/configure	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/configure	2015-06-30 01:48:32.000000000 +0000
@@ -1281,7 +1281,7 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-sim
+  --enable-sim            Enable the GNU simulator
 
 Some influential environment variables:
   CC          C compiler command
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.20150623/sim/configure.ac ./sim/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/configure.ac	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/configure.ac	2015-06-30 01:48:32.000000000 +0000
@@ -30,7 +30,7 @@ AC_SUBST(CFLAGS_FOR_BUILD)
 # If a cpu ever has more than one simulator to choose from, use
 # --enable-sim=... to choose.
 AC_ARG_ENABLE(sim,
-[  --enable-sim ],
+[AS_HELP_STRING([--enable-sim], [Enable the GNU simulator])],
 [case "${enableval}" in
 yes | no) ;;
 *)	AC_MSG_ERROR(bad value ${enableval} given for --enable-sim 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.20150623/sim/cr16/ChangeLog ./sim/cr16/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/cr16/ChangeLog	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/cr16/ChangeLog	2015-06-30 01:48:32.000000000 +0000
@@ -1,3 +1,7 @@
+2015-06-23  Mike Frysinger  <vapier@gentoo.org>
+
+	* configure: Regenerate.
+
 2015-06-12  Mike Frysinger  <vapier@gentoo.org>
 
 	* configure: Regenerate.
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.20150623/sim/cr16/configure ./sim/cr16/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/cr16/configure	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/cr16/configure	2015-06-30 01:48:32.000000000 +0000
@@ -1405,17 +1405,28 @@ Optional Features:
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-maintainer-mode  enable make rules and dependencies not useful
 			  (and sometimes confusing) to the casual installer
-  --enable-sim-bswap			Use Host specific BSWAP instruction.
-  --enable-sim-cflags=opts		Extra CFLAGS for use in building simulator
-  --enable-sim-debug=opts		Enable debugging flags
-  --enable-sim-stdio			Specify whether to use stdio for console input/output.
-  --enable-sim-trace=opts		Enable tracing flags
-  --enable-sim-profile=opts		Enable profiling flags
-  --enable-sim-endian=endian		Specify target byte endian orientation.
-  --enable-sim-alignment=align		Specify strict,  nonstrict or forced alignment of memory accesses.
-  --enable-sim-hostendian=end		Specify host byte endian orientation.
-  --enable-sim-environment=environment	Specify mixed, user, virtual or operating environment.
-  --enable-sim-inline=inlines		Specify which functions should be inlined.
+  --enable-sim-bswap      Use Host specific BSWAP instruction
+  --enable-sim-cflags=opts
+                          Extra CFLAGS for use in building simulator
+  --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+                          itself)
+  --enable-sim-stdio      Specify whether to use stdio for console
+                          input/output
+  --enable-sim-trace=opts Enable tracing of simulated programs
+  --enable-sim-profile=opts
+                          Enable profiling flags
+  --enable-sim-endian=endian
+                          Specify target byte endian orientation
+  --enable-sim-alignment=align
+                          Specify strict, nonstrict or forced alignment of
+                          memory accesses
+  --enable-sim-hostendian=end
+                          Specify host byte endian orientation
+  --enable-sim-environment=environment
+                          Specify mixed, user, virtual or operating
+                          environment
+  --enable-sim-inline=inlines
+                          Specify which functions should be inlined
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings if gcc is used
   --enable-sim-build-warnings
@@ -12306,7 +12317,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12309 "configure"
+#line 12320 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12412,7 +12423,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12415 "configure"
+#line 12426 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_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.20150623/sim/cris/ChangeLog ./sim/cris/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/cris/ChangeLog	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/cris/ChangeLog	2015-06-30 01:48:32.000000000 +0000
@@ -1,3 +1,7 @@
+2015-06-23  Mike Frysinger  <vapier@gentoo.org>
+
+	* configure: Regenerate.
+
 2015-06-17  Mike Frysinger  <vapier@gentoo.org>
 
 	* traps.c: Include sim-syscall.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.20150623/sim/cris/configure ./sim/cris/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/cris/configure	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/cris/configure	2015-06-30 01:48:32.000000000 +0000
@@ -1411,15 +1411,23 @@ Optional Features:
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-maintainer-mode  enable make rules and dependencies not useful
 			  (and sometimes confusing) to the casual installer
-  --enable-sim-bswap			Use Host specific BSWAP instruction.
-  --enable-sim-cflags=opts		Extra CFLAGS for use in building simulator
-  --enable-sim-debug=opts		Enable debugging flags
-  --enable-sim-stdio			Specify whether to use stdio for console input/output.
-  --enable-sim-trace=opts		Enable tracing flags
-  --enable-sim-profile=opts		Enable profiling flags
-  --enable-sim-alignment=align		Specify strict,  nonstrict or forced alignment of memory accesses.
-  --enable-sim-hostendian=end		Specify host byte endian orientation.
-  --enable-sim-scache=size		Specify simulator execution cache size.
+  --enable-sim-bswap      Use Host specific BSWAP instruction
+  --enable-sim-cflags=opts
+                          Extra CFLAGS for use in building simulator
+  --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+                          itself)
+  --enable-sim-stdio      Specify whether to use stdio for console
+                          input/output
+  --enable-sim-trace=opts Enable tracing of simulated programs
+  --enable-sim-profile=opts
+                          Enable profiling flags
+  --enable-sim-alignment=align
+                          Specify strict, nonstrict or forced alignment of
+                          memory accesses
+  --enable-sim-hostendian=end
+                          Specify host byte endian orientation
+  --enable-sim-scache=size
+                          Specify simulator execution cache size
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings if gcc is used
   --enable-sim-build-warnings
@@ -1427,10 +1435,14 @@ Optional Features:
                           gcc is used
   --enable-sim-hardware=LIST
                           Specify the hardware to be included in the build.
-  --enable-sim-default-model=model	Specify default model to simulate.
-  --enable-sim-environment=environment	Specify mixed, user, virtual or operating environment.
-  --enable-sim-inline=inlines		Specify which functions should be inlined.
-  --enable-cgen-maint=DIR    build cgen generated files
+  --enable-sim-default-model=model
+                          Specify default model to simulate
+  --enable-sim-environment=environment
+                          Specify mixed, user, virtual or operating
+                          environment
+  --enable-sim-inline=inlines
+                          Specify which functions should be inlined
+  --enable-cgen-maint=DIR build cgen generated files
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
@@ -12316,7 +12328,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12319 "configure"
+#line 12331 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12422,7 +12434,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12425 "configure"
+#line 12437 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_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.20150623/sim/d10v/ChangeLog ./sim/d10v/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/d10v/ChangeLog	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/d10v/ChangeLog	2015-06-30 01:48:32.000000000 +0000
@@ -1,3 +1,7 @@
+2015-06-23  Mike Frysinger  <vapier@gentoo.org>
+
+	* configure: Regenerate.
+
 2015-06-12  Mike Frysinger  <vapier@gentoo.org>
 
 	* configure: Regenerate.
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.20150623/sim/d10v/configure ./sim/d10v/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/d10v/configure	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/d10v/configure	2015-06-30 01:48:32.000000000 +0000
@@ -1405,17 +1405,28 @@ Optional Features:
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-maintainer-mode  enable make rules and dependencies not useful
 			  (and sometimes confusing) to the casual installer
-  --enable-sim-bswap			Use Host specific BSWAP instruction.
-  --enable-sim-cflags=opts		Extra CFLAGS for use in building simulator
-  --enable-sim-debug=opts		Enable debugging flags
-  --enable-sim-stdio			Specify whether to use stdio for console input/output.
-  --enable-sim-trace=opts		Enable tracing flags
-  --enable-sim-profile=opts		Enable profiling flags
-  --enable-sim-endian=endian		Specify target byte endian orientation.
-  --enable-sim-alignment=align		Specify strict,  nonstrict or forced alignment of memory accesses.
-  --enable-sim-hostendian=end		Specify host byte endian orientation.
-  --enable-sim-environment=environment	Specify mixed, user, virtual or operating environment.
-  --enable-sim-inline=inlines		Specify which functions should be inlined.
+  --enable-sim-bswap      Use Host specific BSWAP instruction
+  --enable-sim-cflags=opts
+                          Extra CFLAGS for use in building simulator
+  --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+                          itself)
+  --enable-sim-stdio      Specify whether to use stdio for console
+                          input/output
+  --enable-sim-trace=opts Enable tracing of simulated programs
+  --enable-sim-profile=opts
+                          Enable profiling flags
+  --enable-sim-endian=endian
+                          Specify target byte endian orientation
+  --enable-sim-alignment=align
+                          Specify strict, nonstrict or forced alignment of
+                          memory accesses
+  --enable-sim-hostendian=end
+                          Specify host byte endian orientation
+  --enable-sim-environment=environment
+                          Specify mixed, user, virtual or operating
+                          environment
+  --enable-sim-inline=inlines
+                          Specify which functions should be inlined
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings if gcc is used
   --enable-sim-build-warnings
@@ -12306,7 +12317,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12309 "configure"
+#line 12320 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12412,7 +12423,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12415 "configure"
+#line 12426 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_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.20150623/sim/erc32/ChangeLog ./sim/erc32/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/erc32/ChangeLog	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/erc32/ChangeLog	2015-06-30 01:48:32.000000000 +0000
@@ -1,3 +1,7 @@
+2015-06-23  Mike Frysinger  <vapier@gentoo.org>
+
+	* configure: Regenerate.
+
 2015-06-12  Mike Frysinger  <vapier@gentoo.org>
 
 	* configure: Regenerate.
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.20150623/sim/erc32/configure ./sim/erc32/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/erc32/configure	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/erc32/configure	2015-06-30 01:48:32.000000000 +0000
@@ -1400,13 +1400,18 @@ Optional Features:
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-maintainer-mode  enable make rules and dependencies not useful
 			  (and sometimes confusing) to the casual installer
-  --enable-sim-bswap			Use Host specific BSWAP instruction.
-  --enable-sim-cflags=opts		Extra CFLAGS for use in building simulator
-  --enable-sim-debug=opts		Enable debugging flags
-  --enable-sim-stdio			Specify whether to use stdio for console input/output.
-  --enable-sim-trace=opts		Enable tracing flags
-  --enable-sim-profile=opts		Enable profiling flags
-  --enable-sim-hostendian=end		Specify host byte endian orientation.
+  --enable-sim-bswap      Use Host specific BSWAP instruction
+  --enable-sim-cflags=opts
+                          Extra CFLAGS for use in building simulator
+  --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+                          itself)
+  --enable-sim-stdio      Specify whether to use stdio for console
+                          input/output
+  --enable-sim-trace=opts Enable tracing of simulated programs
+  --enable-sim-profile=opts
+                          Enable profiling flags
+  --enable-sim-hostendian=end
+                          Specify host byte endian orientation
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
@@ -12292,7 +12297,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12295 "configure"
+#line 12300 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12398,7 +12403,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12401 "configure"
+#line 12406 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_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.20150623/sim/frv/ChangeLog ./sim/frv/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/frv/ChangeLog	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/frv/ChangeLog	2015-06-30 01:48:32.000000000 +0000
@@ -1,3 +1,8 @@
+2015-06-23  Mike Frysinger  <vapier@gentoo.org>
+
+	* configure.ac (AC_ARG_ENABLE(sim-trapdump)): Call AS_HELP_STRING.
+	* configure: Regenerate.
+
 2015-06-12  Mike Frysinger  <vapier@gentoo.org>
 
 	* configure: Regenerate.
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.20150623/sim/frv/configure ./sim/frv/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/frv/configure	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/frv/configure	2015-06-30 01:48:32.000000000 +0000
@@ -1410,20 +1410,32 @@ Optional Features:
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-maintainer-mode  enable make rules and dependencies not useful
 			  (and sometimes confusing) to the casual installer
-  --enable-sim-bswap			Use Host specific BSWAP instruction.
-  --enable-sim-cflags=opts		Extra CFLAGS for use in building simulator
-  --enable-sim-debug=opts		Enable debugging flags
-  --enable-sim-stdio			Specify whether to use stdio for console input/output.
-  --enable-sim-trace=opts		Enable tracing flags
-  --enable-sim-profile=opts		Enable profiling flags
-  --enable-sim-endian=endian		Specify target byte endian orientation.
-  --enable-sim-alignment=align		Specify strict,  nonstrict or forced alignment of memory accesses.
-  --enable-sim-hostendian=end		Specify host byte endian orientation.
-  --enable-sim-scache=size		Specify simulator execution cache size.
-  --enable-sim-default-model=model	Specify default model to simulate.
-  --enable-sim-environment=environment	Specify mixed, user, virtual or operating environment.
-  --enable-cgen-maint=DIR    build cgen generated files
-  --enable-sim-trapdump		Make unknown traps dump the registers
+  --enable-sim-bswap      Use Host specific BSWAP instruction
+  --enable-sim-cflags=opts
+                          Extra CFLAGS for use in building simulator
+  --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+                          itself)
+  --enable-sim-stdio      Specify whether to use stdio for console
+                          input/output
+  --enable-sim-trace=opts Enable tracing of simulated programs
+  --enable-sim-profile=opts
+                          Enable profiling flags
+  --enable-sim-endian=endian
+                          Specify target byte endian orientation
+  --enable-sim-alignment=align
+                          Specify strict, nonstrict or forced alignment of
+                          memory accesses
+  --enable-sim-hostendian=end
+                          Specify host byte endian orientation
+  --enable-sim-scache=size
+                          Specify simulator execution cache size
+  --enable-sim-default-model=model
+                          Specify default model to simulate
+  --enable-sim-environment=environment
+                          Specify mixed, user, virtual or operating
+                          environment
+  --enable-cgen-maint=DIR build cgen generated files
+  --enable-sim-trapdump   Make unknown traps dump the registers
   --enable-sim-hardware=LIST
                           Specify the hardware to be included in the build.
 
@@ -12311,7 +12323,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12314 "configure"
+#line 12326 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12417,7 +12429,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12420 "configure"
+#line 12432 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_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.20150623/sim/frv/configure.ac ./sim/frv/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/frv/configure.ac	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/frv/configure.ac	2015-06-30 01:48:32.000000000 +0000
@@ -17,7 +17,8 @@ SIM_AC_OPTION_CGEN_MAINT
 # Enable making unknown traps dump out registers
 #
 AC_ARG_ENABLE(sim-trapdump,
-[  --enable-sim-trapdump		Make unknown traps dump the registers],
+[AS_HELP_STRING([--enable-sim-trapdump],
+		[Make unknown traps dump the registers])],
 [case "${enableval}" in
   yes) sim_trapdump="-DTRAPDUMP=1";;
   no)  sim_trapdump="-DTRAPDUMP=0";;
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.20150623/sim/ft32/ChangeLog ./sim/ft32/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/ft32/ChangeLog	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/ft32/ChangeLog	2015-06-30 01:48:32.000000000 +0000
@@ -1,3 +1,7 @@
+2015-06-23  Mike Frysinger  <vapier@gentoo.org>
+
+	* configure: Regenerate.
+
 2015-06-12  Mike Frysinger  <vapier@gentoo.org>
 
 	* configure: Regenerate.
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.20150623/sim/ft32/configure ./sim/ft32/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/ft32/configure	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/ft32/configure	2015-06-30 01:48:32.000000000 +0000
@@ -1405,17 +1405,28 @@ Optional Features:
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-maintainer-mode  enable make rules and dependencies not useful
 			  (and sometimes confusing) to the casual installer
-  --enable-sim-bswap			Use Host specific BSWAP instruction.
-  --enable-sim-cflags=opts		Extra CFLAGS for use in building simulator
-  --enable-sim-debug=opts		Enable debugging flags
-  --enable-sim-stdio			Specify whether to use stdio for console input/output.
-  --enable-sim-trace=opts		Enable tracing flags
-  --enable-sim-profile=opts		Enable profiling flags
-  --enable-sim-endian=endian		Specify target byte endian orientation.
-  --enable-sim-alignment=align		Specify strict,  nonstrict or forced alignment of memory accesses.
-  --enable-sim-hostendian=end		Specify host byte endian orientation.
-  --enable-sim-environment=environment	Specify mixed, user, virtual or operating environment.
-  --enable-sim-inline=inlines		Specify which functions should be inlined.
+  --enable-sim-bswap      Use Host specific BSWAP instruction
+  --enable-sim-cflags=opts
+                          Extra CFLAGS for use in building simulator
+  --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+                          itself)
+  --enable-sim-stdio      Specify whether to use stdio for console
+                          input/output
+  --enable-sim-trace=opts Enable tracing of simulated programs
+  --enable-sim-profile=opts
+                          Enable profiling flags
+  --enable-sim-endian=endian
+                          Specify target byte endian orientation
+  --enable-sim-alignment=align
+                          Specify strict, nonstrict or forced alignment of
+                          memory accesses
+  --enable-sim-hostendian=end
+                          Specify host byte endian orientation
+  --enable-sim-environment=environment
+                          Specify mixed, user, virtual or operating
+                          environment
+  --enable-sim-inline=inlines
+                          Specify which functions should be inlined
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings if gcc is used
   --enable-sim-build-warnings
@@ -12306,7 +12317,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12309 "configure"
+#line 12320 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12412,7 +12423,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12415 "configure"
+#line 12426 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_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.20150623/sim/h8300/ChangeLog ./sim/h8300/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/h8300/ChangeLog	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/h8300/ChangeLog	2015-06-30 01:48:32.000000000 +0000
@@ -1,3 +1,7 @@
+2015-06-23  Mike Frysinger  <vapier@gentoo.org>
+
+	* configure: Regenerate.
+
 2015-06-12  Mike Frysinger  <vapier@gentoo.org>
 
 	* configure: Regenerate.
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.20150623/sim/h8300/configure ./sim/h8300/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/h8300/configure	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/h8300/configure	2015-06-30 01:48:32.000000000 +0000
@@ -1397,12 +1397,16 @@ Optional Features:
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-maintainer-mode  enable make rules and dependencies not useful
 			  (and sometimes confusing) to the casual installer
-  --enable-sim-bswap			Use Host specific BSWAP instruction.
-  --enable-sim-cflags=opts		Extra CFLAGS for use in building simulator
-  --enable-sim-debug=opts		Enable debugging flags
-  --enable-sim-stdio			Specify whether to use stdio for console input/output.
-  --enable-sim-trace=opts		Enable tracing flags
-  --enable-sim-profile=opts		Enable profiling flags
+  --enable-sim-bswap      Use Host specific BSWAP instruction
+  --enable-sim-cflags=opts
+                          Extra CFLAGS for use in building simulator
+  --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+                          itself)
+  --enable-sim-stdio      Specify whether to use stdio for console
+                          input/output
+  --enable-sim-trace=opts Enable tracing of simulated programs
+  --enable-sim-profile=opts
+                          Enable profiling flags
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
@@ -12288,7 +12292,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12291 "configure"
+#line 12295 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12394,7 +12398,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12397 "configure"
+#line 12401 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_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.20150623/sim/iq2000/ChangeLog ./sim/iq2000/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/iq2000/ChangeLog	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/iq2000/ChangeLog	2015-06-30 01:48:32.000000000 +0000
@@ -1,3 +1,7 @@
+2015-06-23  Mike Frysinger  <vapier@gentoo.org>
+
+	* configure: Regenerate.
+
 2015-06-12  Mike Frysinger  <vapier@gentoo.org>
 
 	* configure: Regenerate.
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.20150623/sim/iq2000/configure ./sim/iq2000/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/iq2000/configure	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/iq2000/configure	2015-06-30 01:48:32.000000000 +0000
@@ -1409,20 +1409,33 @@ Optional Features:
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-maintainer-mode  enable make rules and dependencies not useful
 			  (and sometimes confusing) to the casual installer
-  --enable-sim-bswap			Use Host specific BSWAP instruction.
-  --enable-sim-cflags=opts		Extra CFLAGS for use in building simulator
-  --enable-sim-debug=opts		Enable debugging flags
-  --enable-sim-stdio			Specify whether to use stdio for console input/output.
-  --enable-sim-trace=opts		Enable tracing flags
-  --enable-sim-profile=opts		Enable profiling flags
-  --enable-sim-endian=endian		Specify target byte endian orientation.
-  --enable-sim-alignment=align		Specify strict,  nonstrict or forced alignment of memory accesses.
-  --enable-sim-hostendian=end		Specify host byte endian orientation.
-  --enable-sim-scache=size		Specify simulator execution cache size.
-  --enable-sim-default-model=model	Specify default model to simulate.
-  --enable-sim-environment=environment	Specify mixed, user, virtual or operating environment.
-  --enable-sim-inline=inlines		Specify which functions should be inlined.
-  --enable-cgen-maint=DIR    build cgen generated files
+  --enable-sim-bswap      Use Host specific BSWAP instruction
+  --enable-sim-cflags=opts
+                          Extra CFLAGS for use in building simulator
+  --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+                          itself)
+  --enable-sim-stdio      Specify whether to use stdio for console
+                          input/output
+  --enable-sim-trace=opts Enable tracing of simulated programs
+  --enable-sim-profile=opts
+                          Enable profiling flags
+  --enable-sim-endian=endian
+                          Specify target byte endian orientation
+  --enable-sim-alignment=align
+                          Specify strict, nonstrict or forced alignment of
+                          memory accesses
+  --enable-sim-hostendian=end
+                          Specify host byte endian orientation
+  --enable-sim-scache=size
+                          Specify simulator execution cache size
+  --enable-sim-default-model=model
+                          Specify default model to simulate
+  --enable-sim-environment=environment
+                          Specify mixed, user, virtual or operating
+                          environment
+  --enable-sim-inline=inlines
+                          Specify which functions should be inlined
+  --enable-cgen-maint=DIR build cgen generated files
   --enable-sim-hardware=LIST
                           Specify the hardware to be included in the build.
 
@@ -12310,7 +12323,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12313 "configure"
+#line 12326 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12416,7 +12429,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12419 "configure"
+#line 12432 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_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.20150623/sim/lm32/ChangeLog ./sim/lm32/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/lm32/ChangeLog	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/lm32/ChangeLog	2015-06-30 01:48:32.000000000 +0000
@@ -1,3 +1,7 @@
+2015-06-23  Mike Frysinger  <vapier@gentoo.org>
+
+	* configure: Regenerate.
+
 2015-06-17  Mike Frysinger  <vapier@gentoo.org>
 
 	* traps.c (lm32bf_scall_insn): Replace call to cb_syscall with
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.20150623/sim/lm32/configure ./sim/lm32/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/lm32/configure	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/lm32/configure	2015-06-30 01:48:32.000000000 +0000
@@ -1408,19 +1408,31 @@ Optional Features:
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-maintainer-mode  enable make rules and dependencies not useful
 			  (and sometimes confusing) to the casual installer
-  --enable-sim-bswap			Use Host specific BSWAP instruction.
-  --enable-sim-cflags=opts		Extra CFLAGS for use in building simulator
-  --enable-sim-debug=opts		Enable debugging flags
-  --enable-sim-stdio			Specify whether to use stdio for console input/output.
-  --enable-sim-trace=opts		Enable tracing flags
-  --enable-sim-profile=opts		Enable profiling flags
-  --enable-sim-endian=endian		Specify target byte endian orientation.
-  --enable-sim-alignment=align		Specify strict,  nonstrict or forced alignment of memory accesses.
-  --enable-sim-hostendian=end		Specify host byte endian orientation.
-  --enable-sim-scache=size		Specify simulator execution cache size.
-  --enable-sim-default-model=model	Specify default model to simulate.
-  --enable-sim-environment=environment	Specify mixed, user, virtual or operating environment.
-  --enable-cgen-maint=DIR    build cgen generated files
+  --enable-sim-bswap      Use Host specific BSWAP instruction
+  --enable-sim-cflags=opts
+                          Extra CFLAGS for use in building simulator
+  --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+                          itself)
+  --enable-sim-stdio      Specify whether to use stdio for console
+                          input/output
+  --enable-sim-trace=opts Enable tracing of simulated programs
+  --enable-sim-profile=opts
+                          Enable profiling flags
+  --enable-sim-endian=endian
+                          Specify target byte endian orientation
+  --enable-sim-alignment=align
+                          Specify strict, nonstrict or forced alignment of
+                          memory accesses
+  --enable-sim-hostendian=end
+                          Specify host byte endian orientation
+  --enable-sim-scache=size
+                          Specify simulator execution cache size
+  --enable-sim-default-model=model
+                          Specify default model to simulate
+  --enable-sim-environment=environment
+                          Specify mixed, user, virtual or operating
+                          environment
+  --enable-cgen-maint=DIR build cgen generated files
   --enable-sim-hardware=LIST
                           Specify the hardware to be included in the build.
 
@@ -12308,7 +12320,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12311 "configure"
+#line 12323 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12414,7 +12426,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12417 "configure"
+#line 12429 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_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.20150623/sim/m32c/ChangeLog ./sim/m32c/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/m32c/ChangeLog	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/m32c/ChangeLog	2015-06-30 01:48:32.000000000 +0000
@@ -1,3 +1,7 @@
+2015-06-23  Mike Frysinger  <vapier@gentoo.org>
+
+	* configure: Regenerate.
+
 2015-06-12  Mike Frysinger  <vapier@gentoo.org>
 
 	* configure: Regenerate.
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.20150623/sim/m32c/configure ./sim/m32c/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/m32c/configure	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/m32c/configure	2015-06-30 01:48:32.000000000 +0000
@@ -1400,12 +1400,16 @@ Optional Features:
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-maintainer-mode  enable make rules and dependencies not useful
 			  (and sometimes confusing) to the casual installer
-  --enable-sim-bswap			Use Host specific BSWAP instruction.
-  --enable-sim-cflags=opts		Extra CFLAGS for use in building simulator
-  --enable-sim-debug=opts		Enable debugging flags
-  --enable-sim-stdio			Specify whether to use stdio for console input/output.
-  --enable-sim-trace=opts		Enable tracing flags
-  --enable-sim-profile=opts		Enable profiling flags
+  --enable-sim-bswap      Use Host specific BSWAP instruction
+  --enable-sim-cflags=opts
+                          Extra CFLAGS for use in building simulator
+  --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+                          itself)
+  --enable-sim-stdio      Specify whether to use stdio for console
+                          input/output
+  --enable-sim-trace=opts Enable tracing of simulated programs
+  --enable-sim-profile=opts
+                          Enable profiling flags
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings if gcc is used
   --enable-sim-build-warnings
@@ -12296,7 +12300,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12299 "configure"
+#line 12303 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12402,7 +12406,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12405 "configure"
+#line 12409 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_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.20150623/sim/m32r/ChangeLog ./sim/m32r/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/m32r/ChangeLog	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/m32r/ChangeLog	2015-06-30 01:48:32.000000000 +0000
@@ -1,3 +1,7 @@
+2015-06-23  Mike Frysinger  <vapier@gentoo.org>
+
+	* configure: Regenerate.
+
 2015-06-17  Mike Frysinger  <vapier@gentoo.org>
 
 	* traps.c (m32r_trap): Replace call to cb_syscall with
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.20150623/sim/m32r/configure ./sim/m32r/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/m32r/configure	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/m32r/configure	2015-06-30 01:48:32.000000000 +0000
@@ -1411,20 +1411,33 @@ Optional Features:
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-maintainer-mode  enable make rules and dependencies not useful
 			  (and sometimes confusing) to the casual installer
-  --enable-sim-bswap			Use Host specific BSWAP instruction.
-  --enable-sim-cflags=opts		Extra CFLAGS for use in building simulator
-  --enable-sim-debug=opts		Enable debugging flags
-  --enable-sim-stdio			Specify whether to use stdio for console input/output.
-  --enable-sim-trace=opts		Enable tracing flags
-  --enable-sim-profile=opts		Enable profiling flags
-  --enable-sim-endian=endian		Specify target byte endian orientation.
-  --enable-sim-alignment=align		Specify strict,  nonstrict or forced alignment of memory accesses.
-  --enable-sim-hostendian=end		Specify host byte endian orientation.
-  --enable-sim-scache=size		Specify simulator execution cache size.
-  --enable-sim-default-model=model	Specify default model to simulate.
-  --enable-sim-environment=environment	Specify mixed, user, virtual or operating environment.
-  --enable-sim-inline=inlines		Specify which functions should be inlined.
-  --enable-cgen-maint=DIR    build cgen generated files
+  --enable-sim-bswap      Use Host specific BSWAP instruction
+  --enable-sim-cflags=opts
+                          Extra CFLAGS for use in building simulator
+  --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+                          itself)
+  --enable-sim-stdio      Specify whether to use stdio for console
+                          input/output
+  --enable-sim-trace=opts Enable tracing of simulated programs
+  --enable-sim-profile=opts
+                          Enable profiling flags
+  --enable-sim-endian=endian
+                          Specify target byte endian orientation
+  --enable-sim-alignment=align
+                          Specify strict, nonstrict or forced alignment of
+                          memory accesses
+  --enable-sim-hostendian=end
+                          Specify host byte endian orientation
+  --enable-sim-scache=size
+                          Specify simulator execution cache size
+  --enable-sim-default-model=model
+                          Specify default model to simulate
+  --enable-sim-environment=environment
+                          Specify mixed, user, virtual or operating
+                          environment
+  --enable-sim-inline=inlines
+                          Specify which functions should be inlined
+  --enable-cgen-maint=DIR build cgen generated files
   --enable-sim-hardware=LIST
                           Specify the hardware to be included in the build.
 
@@ -12312,7 +12325,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12315 "configure"
+#line 12328 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12418,7 +12431,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12421 "configure"
+#line 12434 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_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.20150623/sim/m68hc11/ChangeLog ./sim/m68hc11/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/m68hc11/ChangeLog	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/m68hc11/ChangeLog	2015-06-30 01:48:32.000000000 +0000
@@ -1,3 +1,7 @@
+2015-06-23  Mike Frysinger  <vapier@gentoo.org>
+
+	* configure: Regenerate.
+
 2015-06-12  Mike Frysinger  <vapier@gentoo.org>
 
 	* configure: Regenerate.
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.20150623/sim/m68hc11/configure ./sim/m68hc11/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/m68hc11/configure	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/m68hc11/configure	2015-06-30 01:48:32.000000000 +0000
@@ -1404,15 +1404,23 @@ Optional Features:
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-maintainer-mode  enable make rules and dependencies not useful
 			  (and sometimes confusing) to the casual installer
-  --enable-sim-bswap			Use Host specific BSWAP instruction.
-  --enable-sim-cflags=opts		Extra CFLAGS for use in building simulator
-  --enable-sim-debug=opts		Enable debugging flags
-  --enable-sim-stdio			Specify whether to use stdio for console input/output.
-  --enable-sim-trace=opts		Enable tracing flags
-  --enable-sim-profile=opts		Enable profiling flags
-  --enable-sim-inline=inlines		Specify which functions should be inlined.
-  --enable-sim-alignment=align		Specify strict,  nonstrict or forced alignment of memory accesses.
-  --enable-sim-hostendian=end		Specify host byte endian orientation.
+  --enable-sim-bswap      Use Host specific BSWAP instruction
+  --enable-sim-cflags=opts
+                          Extra CFLAGS for use in building simulator
+  --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+                          itself)
+  --enable-sim-stdio      Specify whether to use stdio for console
+                          input/output
+  --enable-sim-trace=opts Enable tracing of simulated programs
+  --enable-sim-profile=opts
+                          Enable profiling flags
+  --enable-sim-inline=inlines
+                          Specify which functions should be inlined
+  --enable-sim-alignment=align
+                          Specify strict, nonstrict or forced alignment of
+                          memory accesses
+  --enable-sim-hostendian=end
+                          Specify host byte endian orientation
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings if gcc is used
   --enable-sim-build-warnings
@@ -12305,7 +12313,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12308 "configure"
+#line 12316 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12411,7 +12419,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12414 "configure"
+#line 12422 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_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.20150623/sim/mcore/ChangeLog ./sim/mcore/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/mcore/ChangeLog	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/mcore/ChangeLog	2015-06-30 01:48:32.000000000 +0000
@@ -1,3 +1,7 @@
+2015-06-23  Mike Frysinger  <vapier@gentoo.org>
+
+	* configure: Regenerate.
+
 2015-06-17  Mike Frysinger  <vapier@gentoo.org>
 
 	* interp.c (handle_trap1): Replace call to cb_syscall with
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.20150623/sim/mcore/configure ./sim/mcore/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/mcore/configure	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/mcore/configure	2015-06-30 01:48:32.000000000 +0000
@@ -1405,17 +1405,28 @@ Optional Features:
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-maintainer-mode  enable make rules and dependencies not useful
 			  (and sometimes confusing) to the casual installer
-  --enable-sim-bswap			Use Host specific BSWAP instruction.
-  --enable-sim-cflags=opts		Extra CFLAGS for use in building simulator
-  --enable-sim-debug=opts		Enable debugging flags
-  --enable-sim-stdio			Specify whether to use stdio for console input/output.
-  --enable-sim-trace=opts		Enable tracing flags
-  --enable-sim-profile=opts		Enable profiling flags
-  --enable-sim-endian=endian		Specify target byte endian orientation.
-  --enable-sim-alignment=align		Specify strict,  nonstrict or forced alignment of memory accesses.
-  --enable-sim-hostendian=end		Specify host byte endian orientation.
-  --enable-sim-environment=environment	Specify mixed, user, virtual or operating environment.
-  --enable-sim-inline=inlines		Specify which functions should be inlined.
+  --enable-sim-bswap      Use Host specific BSWAP instruction
+  --enable-sim-cflags=opts
+                          Extra CFLAGS for use in building simulator
+  --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+                          itself)
+  --enable-sim-stdio      Specify whether to use stdio for console
+                          input/output
+  --enable-sim-trace=opts Enable tracing of simulated programs
+  --enable-sim-profile=opts
+                          Enable profiling flags
+  --enable-sim-endian=endian
+                          Specify target byte endian orientation
+  --enable-sim-alignment=align
+                          Specify strict, nonstrict or forced alignment of
+                          memory accesses
+  --enable-sim-hostendian=end
+                          Specify host byte endian orientation
+  --enable-sim-environment=environment
+                          Specify mixed, user, virtual or operating
+                          environment
+  --enable-sim-inline=inlines
+                          Specify which functions should be inlined
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings if gcc is used
   --enable-sim-build-warnings
@@ -12306,7 +12317,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12309 "configure"
+#line 12320 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12412,7 +12423,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12415 "configure"
+#line 12426 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_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.20150623/sim/microblaze/ChangeLog ./sim/microblaze/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/microblaze/ChangeLog	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/microblaze/ChangeLog	2015-06-30 01:48:32.000000000 +0000
@@ -1,3 +1,7 @@
+2015-06-23  Mike Frysinger  <vapier@gentoo.org>
+
+	* configure: Regenerate.
+
 2015-06-12  Mike Frysinger  <vapier@gentoo.org>
 
 	* configure: Regenerate.
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.20150623/sim/microblaze/configure ./sim/microblaze/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/microblaze/configure	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/microblaze/configure	2015-06-30 01:48:32.000000000 +0000
@@ -1405,17 +1405,28 @@ Optional Features:
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-maintainer-mode  enable make rules and dependencies not useful
 			  (and sometimes confusing) to the casual installer
-  --enable-sim-bswap			Use Host specific BSWAP instruction.
-  --enable-sim-cflags=opts		Extra CFLAGS for use in building simulator
-  --enable-sim-debug=opts		Enable debugging flags
-  --enable-sim-stdio			Specify whether to use stdio for console input/output.
-  --enable-sim-trace=opts		Enable tracing flags
-  --enable-sim-profile=opts		Enable profiling flags
-  --enable-sim-endian=endian		Specify target byte endian orientation.
-  --enable-sim-alignment=align		Specify strict,  nonstrict or forced alignment of memory accesses.
-  --enable-sim-hostendian=end		Specify host byte endian orientation.
-  --enable-sim-environment=environment	Specify mixed, user, virtual or operating environment.
-  --enable-sim-inline=inlines		Specify which functions should be inlined.
+  --enable-sim-bswap      Use Host specific BSWAP instruction
+  --enable-sim-cflags=opts
+                          Extra CFLAGS for use in building simulator
+  --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+                          itself)
+  --enable-sim-stdio      Specify whether to use stdio for console
+                          input/output
+  --enable-sim-trace=opts Enable tracing of simulated programs
+  --enable-sim-profile=opts
+                          Enable profiling flags
+  --enable-sim-endian=endian
+                          Specify target byte endian orientation
+  --enable-sim-alignment=align
+                          Specify strict, nonstrict or forced alignment of
+                          memory accesses
+  --enable-sim-hostendian=end
+                          Specify host byte endian orientation
+  --enable-sim-environment=environment
+                          Specify mixed, user, virtual or operating
+                          environment
+  --enable-sim-inline=inlines
+                          Specify which functions should be inlined
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings if gcc is used
   --enable-sim-build-warnings
@@ -12306,7 +12317,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12309 "configure"
+#line 12320 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12412,7 +12423,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12415 "configure"
+#line 12426 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_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.20150623/sim/mips/ChangeLog ./sim/mips/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/mips/ChangeLog	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/mips/ChangeLog	2015-06-30 01:48:32.000000000 +0000
@@ -1,3 +1,7 @@
+2015-06-23  Mike Frysinger  <vapier@gentoo.org>
+
+	* configure: Regenerate.
+
 2015-06-12  Mike Frysinger  <vapier@gentoo.org>
 
 	* configure.ac: Change configure.in to configure.ac.
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.20150623/sim/mips/configure ./sim/mips/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/mips/configure	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/mips/configure	2015-06-30 01:48:32.000000000 +0000
@@ -1426,25 +1426,38 @@ Optional Features:
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-maintainer-mode  enable make rules and dependencies not useful
 			  (and sometimes confusing) to the casual installer
-  --enable-sim-bswap			Use Host specific BSWAP instruction.
-  --enable-sim-cflags=opts		Extra CFLAGS for use in building simulator
-  --enable-sim-debug=opts		Enable debugging flags
-  --enable-sim-stdio			Specify whether to use stdio for console input/output.
-  --enable-sim-trace=opts		Enable tracing flags
-  --enable-sim-profile=opts		Enable profiling flags
-  --enable-sim-inline=inlines		Specify which functions should be inlined.
-  --enable-sim-alignment=align		Specify strict,  nonstrict or forced alignment of memory accesses.
-  --enable-sim-hostendian=end		Specify host byte endian orientation.
+  --enable-sim-bswap      Use Host specific BSWAP instruction
+  --enable-sim-cflags=opts
+                          Extra CFLAGS for use in building simulator
+  --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+                          itself)
+  --enable-sim-stdio      Specify whether to use stdio for console
+                          input/output
+  --enable-sim-trace=opts Enable tracing of simulated programs
+  --enable-sim-profile=opts
+                          Enable profiling flags
+  --enable-sim-inline=inlines
+                          Specify which functions should be inlined
+  --enable-sim-alignment=align
+                          Specify strict, nonstrict or forced alignment of
+                          memory accesses
+  --enable-sim-hostendian=end
+                          Specify host byte endian orientation
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings if gcc is used
   --enable-sim-build-warnings
                           enable SIM specific build-time compiler warnings if
                           gcc is used
-  --enable-sim-reserved-bits		Specify whether to check reserved bits in instruction.
-  --enable-sim-endian=endian		Specify target byte endian orientation.
-  --enable-sim-bitsize=N		Specify target bitsize (32 or 64).
-  --enable-sim-float			Specify that the target processor has floating point hardware.
-  --enable-sim-smp=n			Specify number of processors to configure for (default ${default_sim_smp}).
+  --enable-sim-reserved-bits
+                          Specify whether to check reserved bits in
+                          instruction
+  --enable-sim-endian=endian
+                          Specify target byte endian orientation
+  --enable-sim-bitsize=N  Specify target bitsize (32 or 64)
+  --enable-sim-float      Specify that the target processor has floating point
+                          hardware
+  --enable-sim-smp=n      Specify number of processors to configure for
+                          (default ${default_sim_smp})
   --enable-sim-hardware=LIST
                           Specify the hardware to be included in the build.
 
@@ -12334,7 +12347,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12337 "configure"
+#line 12350 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12440,7 +12453,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12443 "configure"
+#line 12456 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_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.20150623/sim/mn10300/ChangeLog ./sim/mn10300/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/mn10300/ChangeLog	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/mn10300/ChangeLog	2015-06-30 01:48:32.000000000 +0000
@@ -1,3 +1,7 @@
+2015-06-23  Mike Frysinger  <vapier@gentoo.org>
+
+	* configure: Regenerate.
+
 2015-06-17  Mike Frysinger  <vapier@gentoo.org>
 
 	* op_utils.c (do_syscall): Replace call to cb_syscall with
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.20150623/sim/mn10300/configure ./sim/mn10300/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/mn10300/configure	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/mn10300/configure	2015-06-30 01:48:32.000000000 +0000
@@ -1407,23 +1407,34 @@ Optional Features:
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-maintainer-mode  enable make rules and dependencies not useful
 			  (and sometimes confusing) to the casual installer
-  --enable-sim-bswap			Use Host specific BSWAP instruction.
-  --enable-sim-cflags=opts		Extra CFLAGS for use in building simulator
-  --enable-sim-debug=opts		Enable debugging flags
-  --enable-sim-stdio			Specify whether to use stdio for console input/output.
-  --enable-sim-trace=opts		Enable tracing flags
-  --enable-sim-profile=opts		Enable profiling flags
-  --enable-sim-endian=endian		Specify target byte endian orientation.
-  --enable-sim-alignment=align		Specify strict,  nonstrict or forced alignment of memory accesses.
-  --enable-sim-hostendian=end		Specify host byte endian orientation.
+  --enable-sim-bswap      Use Host specific BSWAP instruction
+  --enable-sim-cflags=opts
+                          Extra CFLAGS for use in building simulator
+  --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+                          itself)
+  --enable-sim-stdio      Specify whether to use stdio for console
+                          input/output
+  --enable-sim-trace=opts Enable tracing of simulated programs
+  --enable-sim-profile=opts
+                          Enable profiling flags
+  --enable-sim-endian=endian
+                          Specify target byte endian orientation
+  --enable-sim-alignment=align
+                          Specify strict, nonstrict or forced alignment of
+                          memory accesses
+  --enable-sim-hostendian=end
+                          Specify host byte endian orientation
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings if gcc is used
   --enable-sim-build-warnings
                           enable SIM specific build-time compiler warnings if
                           gcc is used
-  --enable-sim-reserved-bits		Specify whether to check reserved bits in instruction.
-  --enable-sim-bitsize=N		Specify target bitsize (32 or 64).
-  --enable-sim-inline=inlines		Specify which functions should be inlined.
+  --enable-sim-reserved-bits
+                          Specify whether to check reserved bits in
+                          instruction
+  --enable-sim-bitsize=N  Specify target bitsize (32 or 64)
+  --enable-sim-inline=inlines
+                          Specify which functions should be inlined
   --enable-sim-hardware=LIST
                           Specify the hardware to be included in the build.
 
@@ -12311,7 +12322,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12314 "configure"
+#line 12325 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12417,7 +12428,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12420 "configure"
+#line 12431 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_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.20150623/sim/moxie/ChangeLog ./sim/moxie/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/moxie/ChangeLog	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/moxie/ChangeLog	2015-06-30 01:48:32.000000000 +0000
@@ -1,3 +1,7 @@
+2015-06-23  Mike Frysinger  <vapier@gentoo.org>
+
+	* configure: Regenerate.
+
 2015-06-12  Mike Frysinger  <vapier@gentoo.org>
 
 	* configure: Regenerate.
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.20150623/sim/moxie/configure ./sim/moxie/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/moxie/configure	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/moxie/configure	2015-06-30 01:48:32.000000000 +0000
@@ -1406,17 +1406,28 @@ Optional Features:
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-maintainer-mode  enable make rules and dependencies not useful
 			  (and sometimes confusing) to the casual installer
-  --enable-sim-bswap			Use Host specific BSWAP instruction.
-  --enable-sim-cflags=opts		Extra CFLAGS for use in building simulator
-  --enable-sim-debug=opts		Enable debugging flags
-  --enable-sim-stdio			Specify whether to use stdio for console input/output.
-  --enable-sim-trace=opts		Enable tracing flags
-  --enable-sim-profile=opts		Enable profiling flags
-  --enable-sim-endian=endian		Specify target byte endian orientation.
-  --enable-sim-alignment=align		Specify strict,  nonstrict or forced alignment of memory accesses.
-  --enable-sim-hostendian=end		Specify host byte endian orientation.
-  --enable-sim-environment=environment	Specify mixed, user, virtual or operating environment.
-  --enable-sim-inline=inlines		Specify which functions should be inlined.
+  --enable-sim-bswap      Use Host specific BSWAP instruction
+  --enable-sim-cflags=opts
+                          Extra CFLAGS for use in building simulator
+  --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+                          itself)
+  --enable-sim-stdio      Specify whether to use stdio for console
+                          input/output
+  --enable-sim-trace=opts Enable tracing of simulated programs
+  --enable-sim-profile=opts
+                          Enable profiling flags
+  --enable-sim-endian=endian
+                          Specify target byte endian orientation
+  --enable-sim-alignment=align
+                          Specify strict, nonstrict or forced alignment of
+                          memory accesses
+  --enable-sim-hostendian=end
+                          Specify host byte endian orientation
+  --enable-sim-environment=environment
+                          Specify mixed, user, virtual or operating
+                          environment
+  --enable-sim-inline=inlines
+                          Specify which functions should be inlined
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings if gcc is used
   --enable-sim-build-warnings
@@ -12307,7 +12318,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12310 "configure"
+#line 12321 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12413,7 +12424,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12416 "configure"
+#line 12427 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_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.20150623/sim/msp430/ChangeLog ./sim/msp430/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/msp430/ChangeLog	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/msp430/ChangeLog	2015-06-30 01:48:32.000000000 +0000
@@ -1,3 +1,12 @@
+2015-06-24  Mike Frysinger  <vapier@gentoo.org>
+
+	* msp430-sim.c (trace_reg_put): Change TRACE_VPU to TRACE_REGISTER.
+	(trace_reg_get): Likewise.
+
+2015-06-23  Mike Frysinger  <vapier@gentoo.org>
+
+	* configure: Regenerate.
+
 2015-06-17  Mike Frysinger  <vapier@gentoo.org>
 
 	* msp430-sim.c (maybe_perform_syscall): Replace call to cb_syscall
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.20150623/sim/msp430/configure ./sim/msp430/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/msp430/configure	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/msp430/configure	2015-06-30 01:48:32.000000000 +0000
@@ -1403,15 +1403,23 @@ Optional Features:
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-maintainer-mode  enable make rules and dependencies not useful
 			  (and sometimes confusing) to the casual installer
-  --enable-sim-bswap			Use Host specific BSWAP instruction.
-  --enable-sim-cflags=opts		Extra CFLAGS for use in building simulator
-  --enable-sim-debug=opts		Enable debugging flags
-  --enable-sim-stdio			Specify whether to use stdio for console input/output.
-  --enable-sim-trace=opts		Enable tracing flags
-  --enable-sim-profile=opts		Enable profiling flags
-  --enable-sim-endian=endian		Specify target byte endian orientation.
-  --enable-sim-alignment=align		Specify strict,  nonstrict or forced alignment of memory accesses.
-  --enable-sim-inline=inlines		Specify which functions should be inlined.
+  --enable-sim-bswap      Use Host specific BSWAP instruction
+  --enable-sim-cflags=opts
+                          Extra CFLAGS for use in building simulator
+  --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+                          itself)
+  --enable-sim-stdio      Specify whether to use stdio for console
+                          input/output
+  --enable-sim-trace=opts Enable tracing of simulated programs
+  --enable-sim-profile=opts
+                          Enable profiling flags
+  --enable-sim-endian=endian
+                          Specify target byte endian orientation
+  --enable-sim-alignment=align
+                          Specify strict, nonstrict or forced alignment of
+                          memory accesses
+  --enable-sim-inline=inlines
+                          Specify which functions should be inlined
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings if gcc is used
   --enable-sim-build-warnings
@@ -12302,7 +12310,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12305 "configure"
+#line 12313 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12408,7 +12416,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12411 "configure"
+#line 12419 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_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.20150623/sim/msp430/msp430-sim.c ./sim/msp430/msp430-sim.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/msp430/msp430-sim.c	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/msp430/msp430-sim.c	2015-06-30 01:48:32.000000000 +0000
@@ -303,14 +303,14 @@ register_names[] =
 static void
 trace_reg_put (SIM_DESC sd, int n, unsigned int v)
 {
-  TRACE_VPU (MSP430_CPU (sd), "PUT: %#x -> %s", v, register_names[n]);
+  TRACE_REGISTER (MSP430_CPU (sd), "PUT: %#x -> %s", v, register_names[n]);
   REG (n) = v;
 }
 
 static unsigned int
 trace_reg_get (SIM_DESC sd, int n)
 {
-  TRACE_VPU (MSP430_CPU (sd), "GET: %s -> %#x", register_names[n], REG (n));
+  TRACE_REGISTER (MSP430_CPU (sd), "GET: %s -> %#x", register_names[n], REG (n));
   return REG (n);
 }
 
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.20150623/sim/rl78/ChangeLog ./sim/rl78/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/rl78/ChangeLog	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/rl78/ChangeLog	2015-06-30 01:48:32.000000000 +0000
@@ -1,3 +1,7 @@
+2015-06-23  Mike Frysinger  <vapier@gentoo.org>
+
+	* configure: Regenerate.
+
 2015-06-12  Mike Frysinger  <vapier@gentoo.org>
 
 	* configure: Regenerate.
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.20150623/sim/rl78/configure ./sim/rl78/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/rl78/configure	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/rl78/configure	2015-06-30 01:48:32.000000000 +0000
@@ -1397,12 +1397,16 @@ Optional Features:
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-maintainer-mode  enable make rules and dependencies not useful
 			  (and sometimes confusing) to the casual installer
-  --enable-sim-bswap			Use Host specific BSWAP instruction.
-  --enable-sim-cflags=opts		Extra CFLAGS for use in building simulator
-  --enable-sim-debug=opts		Enable debugging flags
-  --enable-sim-stdio			Specify whether to use stdio for console input/output.
-  --enable-sim-trace=opts		Enable tracing flags
-  --enable-sim-profile=opts		Enable profiling flags
+  --enable-sim-bswap      Use Host specific BSWAP instruction
+  --enable-sim-cflags=opts
+                          Extra CFLAGS for use in building simulator
+  --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+                          itself)
+  --enable-sim-stdio      Specify whether to use stdio for console
+                          input/output
+  --enable-sim-trace=opts Enable tracing of simulated programs
+  --enable-sim-profile=opts
+                          Enable profiling flags
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
@@ -12288,7 +12292,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12291 "configure"
+#line 12295 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12394,7 +12398,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12397 "configure"
+#line 12401 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_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.20150623/sim/rx/ChangeLog ./sim/rx/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/rx/ChangeLog	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/rx/ChangeLog	2015-06-30 01:48:32.000000000 +0000
@@ -1,3 +1,9 @@
+2015-06-23  Mike Frysinger  <vapier@gentoo.org>
+
+	* configure.ac (AC_ARG_ENABLE(cycle-accurate)): Call AS_HELP_STRING.
+	(AC_ARG_ENABLE(cycle-stats)): Likewise.
+	* configure: Regenerate.
+
 2015-06-12  Mike Frysinger  <vapier@gentoo.org>
 
 	* configure: Regenerate.
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.20150623/sim/rx/configure ./sim/rx/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/rx/configure	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/rx/configure	2015-06-30 01:48:32.000000000 +0000
@@ -1399,14 +1399,19 @@ Optional Features:
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-maintainer-mode  enable make rules and dependencies not useful
 			  (and sometimes confusing) to the casual installer
-  --enable-sim-bswap			Use Host specific BSWAP instruction.
-  --enable-sim-cflags=opts		Extra CFLAGS for use in building simulator
-  --enable-sim-debug=opts		Enable debugging flags
-  --enable-sim-stdio			Specify whether to use stdio for console input/output.
-  --enable-sim-trace=opts		Enable tracing flags
-  --enable-sim-profile=opts		Enable profiling flags
+  --enable-sim-bswap      Use Host specific BSWAP instruction
+  --enable-sim-cflags=opts
+                          Extra CFLAGS for use in building simulator
+  --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+                          itself)
+  --enable-sim-stdio      Specify whether to use stdio for console
+                          input/output
+  --enable-sim-trace=opts Enable tracing of simulated programs
+  --enable-sim-profile=opts
+                          Enable profiling flags
   --disable-cycle-accurate
-  --disable-cycle-stats
+                          Disable cycle accurate simulation (faster runtime)
+  --disable-cycle-stats   Disable cycle statistics (faster runtime)
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
@@ -12292,7 +12297,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12295 "configure"
+#line 12300 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12398,7 +12403,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12401 "configure"
+#line 12406 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_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.20150623/sim/rx/configure.ac ./sim/rx/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/rx/configure.ac	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/rx/configure.ac	2015-06-30 01:48:32.000000000 +0000
@@ -27,14 +27,16 @@ SIM_AC_COMMON
 AC_CHECK_HEADERS(getopt.h)
 
 AC_ARG_ENABLE(cycle-accurate,
-[  --disable-cycle-accurate ],
+[AS_HELP_STRING([--disable-cycle-accurate],
+		[Disable cycle accurate simulation (faster runtime)])],
 [case "${enableval}" in
 yes | no) ;;
 *)	AC_MSG_ERROR(bad value ${enableval} given for --enable-cycle-accurate option) ;;
 esac])
 
 AC_ARG_ENABLE(cycle-stats,
-[  --disable-cycle-stats ],
+[AS_HELP_STRING([--disable-cycle-stats],
+		[Disable cycle statistics (faster runtime)])],
 [case "${enableval}" in
 yes | no) ;;
 *)	AC_MSG_ERROR(bad value ${enableval} given for --enable-cycle-stats 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.20150623/sim/sh/ChangeLog ./sim/sh/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/sh/ChangeLog	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/sh/ChangeLog	2015-06-30 01:48:32.000000000 +0000
@@ -1,3 +1,7 @@
+2015-06-23  Mike Frysinger  <vapier@gentoo.org>
+
+	* configure: Regenerate.
+
 2015-06-12  Mike Frysinger  <vapier@gentoo.org>
 
 	* configure: Regenerate.
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.20150623/sim/sh/configure ./sim/sh/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/sh/configure	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/sh/configure	2015-06-30 01:48:32.000000000 +0000
@@ -1405,17 +1405,28 @@ Optional Features:
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-maintainer-mode  enable make rules and dependencies not useful
 			  (and sometimes confusing) to the casual installer
-  --enable-sim-bswap			Use Host specific BSWAP instruction.
-  --enable-sim-cflags=opts		Extra CFLAGS for use in building simulator
-  --enable-sim-debug=opts		Enable debugging flags
-  --enable-sim-stdio			Specify whether to use stdio for console input/output.
-  --enable-sim-trace=opts		Enable tracing flags
-  --enable-sim-profile=opts		Enable profiling flags
-  --enable-sim-endian=endian		Specify target byte endian orientation.
-  --enable-sim-alignment=align		Specify strict,  nonstrict or forced alignment of memory accesses.
-  --enable-sim-hostendian=end		Specify host byte endian orientation.
-  --enable-sim-environment=environment	Specify mixed, user, virtual or operating environment.
-  --enable-sim-inline=inlines		Specify which functions should be inlined.
+  --enable-sim-bswap      Use Host specific BSWAP instruction
+  --enable-sim-cflags=opts
+                          Extra CFLAGS for use in building simulator
+  --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+                          itself)
+  --enable-sim-stdio      Specify whether to use stdio for console
+                          input/output
+  --enable-sim-trace=opts Enable tracing of simulated programs
+  --enable-sim-profile=opts
+                          Enable profiling flags
+  --enable-sim-endian=endian
+                          Specify target byte endian orientation
+  --enable-sim-alignment=align
+                          Specify strict, nonstrict or forced alignment of
+                          memory accesses
+  --enable-sim-hostendian=end
+                          Specify host byte endian orientation
+  --enable-sim-environment=environment
+                          Specify mixed, user, virtual or operating
+                          environment
+  --enable-sim-inline=inlines
+                          Specify which functions should be inlined
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings if gcc is used
   --enable-sim-build-warnings
@@ -12306,7 +12317,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12309 "configure"
+#line 12320 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12412,7 +12423,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12415 "configure"
+#line 12426 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_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.20150623/sim/sh64/ChangeLog ./sim/sh64/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/sh64/ChangeLog	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/sh64/ChangeLog	2015-06-30 01:48:32.000000000 +0000
@@ -1,3 +1,7 @@
+2015-06-23  Mike Frysinger  <vapier@gentoo.org>
+
+	* configure: Regenerate.
+
 2015-06-12  Mike Frysinger  <vapier@gentoo.org>
 
 	* configure: Regenerate.
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.20150623/sim/sh64/configure ./sim/sh64/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/sh64/configure	2015-06-23 01:48:34.000000000 +0000
+++ ./sim/sh64/configure	2015-06-30 01:48:32.000000000 +0000
@@ -1409,20 +1409,33 @@ Optional Features:
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-maintainer-mode  enable make rules and dependencies not useful
 			  (and sometimes confusing) to the casual installer
-  --enable-sim-bswap			Use Host specific BSWAP instruction.
-  --enable-sim-cflags=opts		Extra CFLAGS for use in building simulator
-  --enable-sim-debug=opts		Enable debugging flags
-  --enable-sim-stdio			Specify whether to use stdio for console input/output.
-  --enable-sim-trace=opts		Enable tracing flags
-  --enable-sim-profile=opts		Enable profiling flags
-  --enable-sim-endian=endian		Specify target byte endian orientation.
-  --enable-sim-alignment=align		Specify strict,  nonstrict or forced alignment of memory accesses.
-  --enable-sim-hostendian=end		Specify host byte endian orientation.
-  --enable-sim-scache=size		Specify simulator execution cache size.
-  --enable-sim-default-model=model	Specify default model to simulate.
-  --enable-sim-environment=environment	Specify mixed, user, virtual or operating environment.
-  --enable-sim-inline=inlines		Specify which functions should be inlined.
-  --enable-cgen-maint=DIR    build cgen generated files
+  --enable-sim-bswap      Use Host specific BSWAP instruction
+  --enable-sim-cflags=opts
+                          Extra CFLAGS for use in building simulator
+  --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+                          itself)
+  --enable-sim-stdio      Specify whether to use stdio for console
+                          input/output
+  --enable-sim-trace=opts Enable tracing of simulated programs
+  --enable-sim-profile=opts
+                          Enable profiling flags
+  --enable-sim-endian=endian
+                          Specify target byte endian orientation
+  --enable-sim-alignment=align
+                          Specify strict, nonstrict or forced alignment of
+                          memory accesses
+  --enable-sim-hostendian=end
+                          Specify host byte endian orientation
+  --enable-sim-scache=size
+                          Specify simulator execution cache size
+  --enable-sim-default-model=model
+                          Specify default model to simulate
+  --enable-sim-environment=environment
+                          Specify mixed, user, virtual or operating
+                          environment
+  --enable-sim-inline=inlines
+                          Specify which functions should be inlined
+  --enable-cgen-maint=DIR build cgen generated files
   --enable-sim-hardware=LIST
                           Specify the hardware to be included in the build.
 
@@ -12310,7 +12323,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12313 "configure"
+#line 12326 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12416,7 +12429,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12419 "configure"
+#line 12432 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_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.20150623/sim/v850/ChangeLog ./sim/v850/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/v850/ChangeLog	2015-06-23 01:48:35.000000000 +0000
+++ ./sim/v850/ChangeLog	2015-06-30 01:48:33.000000000 +0000
@@ -1,3 +1,7 @@
+2015-06-23  Mike Frysinger  <vapier@gentoo.org>
+
+	* configure: Regenerate.
+
 2015-06-12  Mike Frysinger  <vapier@gentoo.org>
 
 	* configure: Regenerate.
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.20150623/sim/v850/configure ./sim/v850/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-7.9.50.20150623/sim/v850/configure	2015-06-23 01:48:35.000000000 +0000
+++ ./sim/v850/configure	2015-06-30 01:48:33.000000000 +0000
@@ -1405,22 +1405,32 @@ Optional Features:
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-maintainer-mode  enable make rules and dependencies not useful
 			  (and sometimes confusing) to the casual installer
-  --enable-sim-bswap			Use Host specific BSWAP instruction.
-  --enable-sim-cflags=opts		Extra CFLAGS for use in building simulator
-  --enable-sim-debug=opts		Enable debugging flags
-  --enable-sim-stdio			Specify whether to use stdio for console input/output.
-  --enable-sim-trace=opts		Enable tracing flags
-  --enable-sim-profile=opts		Enable profiling flags
-  --enable-sim-endian=endian		Specify target byte endian orientation.
-  --enable-sim-alignment=align		Specify strict,  nonstrict or forced alignment of memory accesses.
-  --enable-sim-hostendian=end		Specify host byte endian orientation.
+  --enable-sim-bswap      Use Host specific BSWAP instruction
+  --enable-sim-cflags=opts
+                          Extra CFLAGS for use in building simulator
+  --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+                          itself)
+  --enable-sim-stdio      Specify whether to use stdio for console
+                          input/output
+  --enable-sim-trace=opts Enable tracing of simulated programs
+  --enable-sim-profile=opts
+                          Enable profiling flags
+  --enable-sim-endian=endian
+                          Specify target byte endian orientation
+  --enable-sim-alignment=align
+                          Specify strict, nonstrict or forced alignment of
+                          memory accesses
+  --enable-sim-hostendian=end
+                          Specify host byte endian orientation
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings if gcc is used
   --enable-sim-build-warnings
                           enable SIM specific build-time compiler warnings if
                           gcc is used
-  --enable-sim-reserved-bits		Specify whether to check reserved bits in instruction.
-  --enable-sim-bitsize=N		Specify target bitsize (32 or 64).
+  --enable-sim-reserved-bits
+                          Specify whether to check reserved bits in
+                          instruction
+  --enable-sim-bitsize=N  Specify target bitsize (32 or 64)
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
@@ -12306,7 +12316,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12309 "configure"
+#line 12319 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12412,7 +12422,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12415 "configure"
+#line 12425 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
