diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/aout-cris.c ./bfd/aout-cris.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/aout-cris.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/aout-cris.c	2019-09-24 01:49:09.000000000 +0000
@@ -169,14 +169,14 @@ MY (swap_ext_reloc_out) (bfd *abfd,
      from the abs section, or as a symbol which has an abs value.
      check for that here.  */
 
-  if (bfd_is_abs_section (bfd_get_section (sym)))
+  if (bfd_is_abs_section (bfd_asymbol_section (sym)))
     {
       r_extern = 0;
       r_index = N_ABS;
     }
   else if ((sym->flags & BSF_SECTION_SYM) == 0)
     {
-      if (bfd_is_und_section (bfd_get_section (sym))
+      if (bfd_is_und_section (bfd_asymbol_section (sym))
 	  /* Remember to check for weak symbols; they count as global.  */
 	  || (sym->flags & (BSF_GLOBAL | BSF_WEAK)) != 0)
 	r_extern = 1;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/aoutx.h ./bfd/aoutx.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/aoutx.h	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/aoutx.h	2019-09-24 01:49:09.000000000 +0000
@@ -511,10 +511,10 @@ NAME (aout, some_aout_object_p) (bfd *ab
        was called.  */
     abort ();
 
-  bfd_get_start_address (abfd) = execp->a_entry;
+  abfd->start_address = execp->a_entry;
 
   obj_aout_symbols (abfd) = NULL;
-  bfd_get_symcount (abfd) = execp->a_syms / sizeof (struct external_nlist);
+  abfd->symcount = execp->a_syms / sizeof (struct external_nlist);
 
   /* The default relocation entry size is that of traditional V7 Unix.  */
   obj_reloc_entry_size (abfd) = RELOC_STD_SIZE;
@@ -1570,7 +1570,7 @@ translate_to_native_sym_flags (bfd *abfd
      to another.  */
   sym_pointer->e_type[0] &= ~N_TYPE;
 
-  sec = bfd_get_section (cache_ptr);
+  sec = bfd_asymbol_section (cache_ptr);
   off = 0;
 
   if (sec == NULL)
@@ -1782,7 +1782,7 @@ NAME (aout, slurp_symbol_table) (bfd *ab
       return FALSE;
     }
 
-  bfd_get_symcount (abfd) = obj_aout_external_sym_count (abfd);
+  abfd->symcount = obj_aout_external_sym_count (abfd);
 
   obj_aout_symbols (abfd) = cached;
 
@@ -2064,14 +2064,14 @@ NAME (aout, swap_ext_reloc_out) (bfd *ab
      Absolute symbols can come in in two ways, either as an offset
      from the abs section, or as a symbol which has an abs value.
      check for that here.  */
-  if (bfd_is_abs_section (bfd_get_section (sym)))
+  if (bfd_is_abs_section (bfd_asymbol_section (sym)))
     {
       r_extern = 0;
       r_index = N_ABS;
     }
   else if ((sym->flags & BSF_SECTION_SYM) == 0)
     {
-      if (bfd_is_und_section (bfd_get_section (sym))
+      if (bfd_is_und_section (bfd_asymbol_section (sym))
 	  || (sym->flags & BSF_GLOBAL) != 0)
 	r_extern = 1;
       else
@@ -3108,18 +3108,18 @@ aout_link_add_symbols (bfd *abfd, struct
 	  break;
 	case N_TEXT | N_EXT:
 	  section = obj_textsec (abfd);
-	  value -= bfd_get_section_vma (abfd, section);
+	  value -= bfd_section_vma (section);
 	  break;
 	case N_DATA | N_EXT:
 	case N_SETV | N_EXT:
 	  /* Treat N_SETV symbols as N_DATA symbol; see comment in
 	     translate_from_native_sym_flags.  */
 	  section = obj_datasec (abfd);
-	  value -= bfd_get_section_vma (abfd, section);
+	  value -= bfd_section_vma (section);
 	  break;
 	case N_BSS | N_EXT:
 	  section = obj_bsssec (abfd);
-	  value -= bfd_get_section_vma (abfd, section);
+	  value -= bfd_section_vma (section);
 	  break;
 	case N_INDR | N_EXT:
 	  /* An indirect symbol.  The next symbol is the symbol
@@ -3145,17 +3145,17 @@ aout_link_add_symbols (bfd *abfd, struct
 	case N_SETT: case N_SETT | N_EXT:
 	  section = obj_textsec (abfd);
 	  flags |= BSF_CONSTRUCTOR;
-	  value -= bfd_get_section_vma (abfd, section);
+	  value -= bfd_section_vma (section);
 	  break;
 	case N_SETD: case N_SETD | N_EXT:
 	  section = obj_datasec (abfd);
 	  flags |= BSF_CONSTRUCTOR;
-	  value -= bfd_get_section_vma (abfd, section);
+	  value -= bfd_section_vma (section);
 	  break;
 	case N_SETB: case N_SETB | N_EXT:
 	  section = obj_bsssec (abfd);
 	  flags |= BSF_CONSTRUCTOR;
-	  value -= bfd_get_section_vma (abfd, section);
+	  value -= bfd_section_vma (section);
 	  break;
 	case N_WARNING:
 	  /* A warning symbol.  The next symbol is the one to warn
@@ -3181,17 +3181,17 @@ aout_link_add_symbols (bfd *abfd, struct
 	  break;
 	case N_WEAKT:
 	  section = obj_textsec (abfd);
-	  value -= bfd_get_section_vma (abfd, section);
+	  value -= bfd_section_vma (section);
 	  flags = BSF_WEAK;
 	  break;
 	case N_WEAKD:
 	  section = obj_datasec (abfd);
-	  value -= bfd_get_section_vma (abfd, section);
+	  value -= bfd_section_vma (section);
 	  flags = BSF_WEAK;
 	  break;
 	case N_WEAKB:
 	  section = obj_bsssec (abfd);
-	  value -= bfd_get_section_vma (abfd, section);
+	  value -= bfd_section_vma (section);
 	  flags = BSF_WEAK;
 	  break;
 	}
@@ -3899,8 +3899,7 @@ aout_link_reloc_link_order (struct aout_
 	      (*flaginfo->info->callbacks->reloc_overflow)
 		(flaginfo->info, NULL,
 		 (p->type == bfd_section_reloc_link_order
-		  ? bfd_section_name (flaginfo->output_bfd,
-				      pr->u.section)
+		  ? bfd_section_name (pr->u.section)
 		  : pr->u.name),
 		 howto->name, pr->addend, NULL, NULL, (bfd_vma) 0);
 	      break;
@@ -4314,7 +4313,7 @@ aout_link_input_section_std (struct aout
 		    asection *s;
 
 		    s = aout_reloc_index_to_section (input_bfd, r_index);
-		    name = bfd_section_name (input_bfd, s);
+		    name = bfd_section_name (s);
 		  }
 		(*flaginfo->info->callbacks->reloc_overflow)
 		  (flaginfo->info, (h ? &h->root : NULL), name, howto->name,
@@ -4728,7 +4727,7 @@ aout_link_input_section_ext (struct aout
 			asection *s;
 
 			s = aout_reloc_index_to_section (input_bfd, r_index);
-			name = bfd_section_name (input_bfd, s);
+			name = bfd_section_name (s);
 		      }
 		    (*flaginfo->info->callbacks->reloc_overflow)
 		      (flaginfo->info, (h ? &h->root : NULL), name,
@@ -4868,8 +4867,7 @@ aout_link_write_symbols (struct aout_fin
 	return FALSE;
       PUT_WORD (output_bfd, strtab_index, outsym->e_strx);
       PUT_WORD (output_bfd,
-		(bfd_get_section_vma (output_bfd,
-				      obj_textsec (input_bfd)->output_section)
+		(bfd_section_vma (obj_textsec (input_bfd)->output_section)
 		 + obj_textsec (input_bfd)->output_offset),
 		outsym->e_value);
       ++obj_aout_external_sym_count (output_bfd);
@@ -5077,7 +5075,7 @@ aout_link_write_symbols (struct aout_fin
 		  BFD_ASSERT (bfd_is_abs_section (output_section)
 			      || output_section->owner == output_bfd);
 		  val = (hresolve->root.u.def.value
-			 + bfd_get_section_vma (output_bfd, output_section)
+			 + bfd_section_vma (output_section)
 			 + input_section->output_offset);
 
 		  /* Get the correct type based on the section.  If
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/archive64.c ./bfd/archive64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/archive64.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/archive64.c	2019-09-24 01:49:09.000000000 +0000
@@ -66,7 +66,7 @@ _bfd_archive_64_bit_slurp_armap (bfd *ab
 
   if (! CONST_STRNEQ (nextname, "/SYM64/         "))
     {
-      bfd_has_map (abfd) = FALSE;
+      abfd->has_armap = FALSE;
       return TRUE;
     }
 
@@ -137,7 +137,7 @@ _bfd_archive_64_bit_slurp_armap (bfd *ab
   /* Pad to an even boundary if you have to.  */
   ardata->first_file_filepos += (ardata->first_file_filepos) % 2;
 
-  bfd_has_map (abfd) = TRUE;
+  abfd->has_armap = TRUE;
   bfd_release (abfd, raw_armap);
 
   return TRUE;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/archive.c ./bfd/archive.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/archive.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/archive.c	2019-09-24 01:49:09.000000000 +0000
@@ -856,7 +856,7 @@ bfd_generic_archive_p (bfd *abfd)
       return NULL;
     }
 
-  bfd_is_thin_archive (abfd) = (strncmp (armag, ARMAGT, SARMAG) == 0);
+  bfd_set_thin_archive (abfd, strncmp (armag, ARMAGT, SARMAG) == 0);
 
   if (strncmp (armag, ARMAG, SARMAG) != 0
       && ! bfd_is_thin_archive (abfd))
@@ -1013,7 +1013,7 @@ do_slurp_bsd_armap (bfd *abfd)
   /* FIXME, we should provide some way to free raw_ardata when
      we are done using the strings from it.  For now, it seems
      to be allocated on an objalloc anyway...  */
-  bfd_has_map (abfd) = TRUE;
+  abfd->has_armap = TRUE;
   return TRUE;
 }
 
@@ -1105,7 +1105,7 @@ do_slurp_coff_armap (bfd *abfd)
   /* Pad to an even boundary if you have to.  */
   ardata->first_file_filepos += (ardata->first_file_filepos) % 2;
 
-  bfd_has_map (abfd) = TRUE;
+  abfd->has_armap = TRUE;
   bfd_release (abfd, raw_armap);
 
   /* Check for a second archive header (as used by PE).  */
@@ -1188,7 +1188,7 @@ bfd_slurp_armap (bfd *abfd)
 	return do_slurp_bsd_armap (abfd);
     }
 
-  bfd_has_map (abfd) = FALSE;
+  abfd->has_armap = FALSE;
   return TRUE;
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/archures.c ./bfd/archures.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/archures.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/archures.c	2019-09-24 01:49:09.000000000 +0000
@@ -999,7 +999,7 @@ FUNCTION
 	bfd_get_arch
 
 SYNOPSIS
-	enum bfd_architecture bfd_get_arch (bfd *abfd);
+	enum bfd_architecture bfd_get_arch (const bfd *abfd);
 
 DESCRIPTION
 	Return the enumerated type which describes the BFD @var{abfd}'s
@@ -1007,7 +1007,7 @@ DESCRIPTION
 */
 
 enum bfd_architecture
-bfd_get_arch (bfd *abfd)
+bfd_get_arch (const bfd *abfd)
 {
   return abfd->arch_info->arch;
 }
@@ -1017,7 +1017,7 @@ FUNCTION
 	bfd_get_mach
 
 SYNOPSIS
-	unsigned long bfd_get_mach (bfd *abfd);
+	unsigned long bfd_get_mach (const bfd *abfd);
 
 DESCRIPTION
 	Return the long type which describes the BFD @var{abfd}'s
@@ -1025,7 +1025,7 @@ DESCRIPTION
 */
 
 unsigned long
-bfd_get_mach (bfd *abfd)
+bfd_get_mach (const bfd *abfd)
 {
   return abfd->arch_info->mach;
 }
@@ -1035,7 +1035,7 @@ FUNCTION
 	bfd_arch_bits_per_byte
 
 SYNOPSIS
-	unsigned int bfd_arch_bits_per_byte (bfd *abfd);
+	unsigned int bfd_arch_bits_per_byte (const bfd *abfd);
 
 DESCRIPTION
 	Return the number of bits in one of the BFD @var{abfd}'s
@@ -1043,7 +1043,7 @@ DESCRIPTION
 */
 
 unsigned int
-bfd_arch_bits_per_byte (bfd *abfd)
+bfd_arch_bits_per_byte (const bfd *abfd)
 {
   return abfd->arch_info->bits_per_byte;
 }
@@ -1053,7 +1053,7 @@ FUNCTION
 	bfd_arch_bits_per_address
 
 SYNOPSIS
-	unsigned int bfd_arch_bits_per_address (bfd *abfd);
+	unsigned int bfd_arch_bits_per_address (const bfd *abfd);
 
 DESCRIPTION
 	Return the number of bits in one of the BFD @var{abfd}'s
@@ -1061,7 +1061,7 @@ DESCRIPTION
 */
 
 unsigned int
-bfd_arch_bits_per_address (bfd *abfd)
+bfd_arch_bits_per_address (const bfd *abfd)
 {
   return abfd->arch_info->bits_per_address;
 }
@@ -1383,7 +1383,7 @@ FUNCTION
 	bfd_octets_per_byte
 
 SYNOPSIS
-	unsigned int bfd_octets_per_byte (bfd *abfd);
+	unsigned int bfd_octets_per_byte (const bfd *abfd);
 
 DESCRIPTION
 	Return the number of octets (8-bit quantities) per target byte
@@ -1392,7 +1392,7 @@ DESCRIPTION
 */
 
 unsigned int
-bfd_octets_per_byte (bfd *abfd)
+bfd_octets_per_byte (const bfd *abfd)
 {
   return bfd_arch_mach_octets_per_byte (bfd_get_arch (abfd),
 					bfd_get_mach (abfd));
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/bfd.c ./bfd/bfd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/bfd.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/bfd.c	2019-09-24 01:49:09.000000000 +0000
@@ -355,6 +355,78 @@ CODE_FRAGMENT
 .  const struct bfd_build_id *build_id;
 .};
 .
+.static inline const char *
+.bfd_get_filename (const bfd *abfd)
+.{
+.  return abfd->filename;
+.}
+.
+.static inline bfd_boolean
+.bfd_get_cacheable (const bfd *abfd)
+.{
+.  return abfd->cacheable;
+.}
+.
+.static inline enum bfd_format
+.bfd_get_format (const bfd *abfd)
+.{
+.  return abfd->format;
+.}
+.
+.static inline flagword
+.bfd_get_file_flags (const bfd *abfd)
+.{
+.  return abfd->flags;
+.}
+.
+.static inline bfd_vma
+.bfd_get_start_address (const bfd *abfd)
+.{
+.  return abfd->start_address;
+.}
+.
+.static inline unsigned int
+.bfd_get_symcount (const bfd *abfd)
+.{
+.  return abfd->symcount;
+.}
+.
+.static inline unsigned int
+.bfd_get_dynamic_symcount (const bfd *abfd)
+.{
+.  return abfd->dynsymcount;
+.}
+.
+.static inline struct bfd_symbol **
+.bfd_get_outsymbols (const bfd *abfd)
+.{
+.  return abfd->outsymbols;
+.}
+.
+.static inline unsigned int
+.bfd_count_sections (const bfd *abfd)
+.{
+.  return abfd->section_count;
+.}
+.
+.static inline bfd_boolean
+.bfd_has_map (const bfd *abfd)
+.{
+.  return abfd->has_armap;
+.}
+.
+.static inline bfd_boolean
+.bfd_is_thin_archive (const bfd *abfd)
+.{
+.  return abfd->is_thin_archive;
+.}
+.
+.static inline void *
+.bfd_usrdata (const bfd *abfd)
+.{
+.  return abfd->usrdata;
+.}
+.
 .{* See note beside bfd_set_section_userdata.  *}
 .static inline bfd_boolean
 .bfd_set_cacheable (bfd * abfd, bfd_boolean val)
@@ -363,6 +435,147 @@ CODE_FRAGMENT
 .  return TRUE;
 .}
 .
+.static inline void
+.bfd_set_thin_archive (bfd *abfd, bfd_boolean val)
+.{
+.  abfd->is_thin_archive = val;
+.}
+.
+.static inline void
+.bfd_set_usrdata (bfd *abfd, void *val)
+.{
+.  abfd->usrdata = val;
+.}
+.
+.static inline asection *
+.bfd_asymbol_section (const asymbol *sy)
+.{
+.  return sy->section;
+.}
+.
+.static inline bfd_vma
+.bfd_asymbol_value (const asymbol *sy)
+.{
+.  return sy->section->vma + sy->value;
+.}
+.
+.static inline const char *
+.bfd_asymbol_name (const asymbol *sy)
+.{
+.  return sy->name;
+.}
+.
+.static inline struct bfd *
+.bfd_asymbol_bfd (const asymbol *sy)
+.{
+.  return sy->the_bfd;
+.}
+.
+.static inline void
+.bfd_set_asymbol_name (asymbol *sy, const char *name)
+.{
+.  sy->name = name;
+.}
+.
+.static inline bfd_size_type
+.bfd_get_section_limit_octets (const bfd *abfd, const asection *sec)
+.{
+.  if (abfd->direction != write_direction && sec->rawsize != 0)
+.    return sec->rawsize;
+.  return sec->size;
+.}
+.
+.{* Find the address one past the end of SEC.  *}
+.static inline bfd_size_type
+.bfd_get_section_limit (const bfd *abfd, const asection *sec)
+.{
+.  return bfd_get_section_limit_octets (abfd, sec) / bfd_octets_per_byte (abfd);
+.}
+.
+.{* Functions to handle insertion and deletion of a bfd's sections.  These
+.   only handle the list pointers, ie. do not adjust section_count,
+.   target_index etc.  *}
+.static inline void
+.bfd_section_list_remove (bfd *abfd, asection *s)
+.{
+.  asection *next = s->next;
+.  asection *prev = s->prev;
+.  if (prev)
+.    prev->next = next;
+.  else
+.    abfd->sections = next;
+.  if (next)
+.    next->prev = prev;
+.  else
+.    abfd->section_last = prev;
+.}
+.
+.static inline void
+.bfd_section_list_append (bfd *abfd, asection *s)
+.{
+.  s->next = 0;
+.  if (abfd->section_last)
+.    {
+.      s->prev = abfd->section_last;
+.      abfd->section_last->next = s;
+.    }
+.  else
+.    {
+.      s->prev = 0;
+.      abfd->sections = s;
+.    }
+.  abfd->section_last = s;
+.}
+.
+.static inline void
+.bfd_section_list_prepend (bfd *abfd, asection *s)
+.{
+.  s->prev = 0;
+.  if (abfd->sections)
+.    {
+.      s->next = abfd->sections;
+.      abfd->sections->prev = s;
+.    }
+.  else
+.    {
+.      s->next = 0;
+.      abfd->section_last = s;
+.    }
+.  abfd->sections = s;
+.}
+.
+.static inline void
+.bfd_section_list_insert_after (bfd *abfd, asection *a, asection *s)
+.{
+.  asection *next = a->next;
+.  s->next = next;
+.  s->prev = a;
+.  a->next = s;
+.  if (next)
+.    next->prev = s;
+.  else
+.    abfd->section_last = s;
+.}
+.
+.static inline void
+.bfd_section_list_insert_before (bfd *abfd, asection *b, asection *s)
+.{
+.  asection *prev = b->prev;
+.  s->prev = prev;
+.  s->next = b;
+.  b->prev = s;
+.  if (prev)
+.    prev->next = s;
+.  else
+.    abfd->sections = s;
+.}
+.
+.static inline bfd_boolean
+.bfd_section_removed_from_list (const bfd *abfd, const asection *s)
+.{
+.  return s->next ? s->next->prev != s : abfd->section_last != s;
+.}
+.
 */
 
 #include "sysdep.h"
@@ -1418,7 +1631,7 @@ bfd_set_file_flags (bfd *abfd, flagword 
       return FALSE;
     }
 
-  bfd_get_file_flags (abfd) = flags;
+  abfd->flags = flags;
   if ((flags & bfd_applicable_file_flags (abfd)) != flags)
     {
       bfd_set_error (bfd_error_invalid_operation);
@@ -1507,7 +1720,7 @@ RETURNS
 int
 bfd_get_sign_extend_vma (bfd *abfd)
 {
-  char *name;
+  const char *name;
 
   if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
     return get_elf_backend_data (abfd)->sign_extend_vma;
@@ -2342,7 +2555,7 @@ bfd_update_compression_header (bfd *abfd
 		  bfd_put_32 (abfd, 1 << sec->alignment_power,
 			      &echdr->ch_addralign);
 		  /* bfd_log2 (alignof (Elf32_Chdr)) */
-		  bfd_set_section_alignment (abfd, sec, 2);
+		  bfd_set_section_alignment (sec, 2);
 		}
 	      else
 		{
@@ -2354,7 +2567,7 @@ bfd_update_compression_header (bfd *abfd
 		  bfd_put_64 (abfd, 1 << sec->alignment_power,
 			      &echdr->ch_addralign);
 		  /* bfd_log2 (alignof (Elf64_Chdr)) */
-		  bfd_set_section_alignment (abfd, sec, 3);
+		  bfd_set_section_alignment (sec, 3);
 		}
 	    }
 	  else
@@ -2368,7 +2581,7 @@ bfd_update_compression_header (bfd *abfd
 	      memcpy (contents, "ZLIB", 4);
 	      bfd_putb64 (sec->size, contents + 4);
 	      /* No way to keep the original alignment, just use 1 always. */
-	      bfd_set_section_alignment (abfd, sec, 0);
+	      bfd_set_section_alignment (sec, 0);
 	    }
 	}
     }
@@ -2597,7 +2810,7 @@ bfd_convert_section_contents (bfd *ibfd,
       use_memmove = TRUE;
     }
 
-  size = bfd_get_section_size (isec) - ihdr_size + ohdr_size;
+  size = bfd_section_size (isec) - ihdr_size + ohdr_size;
   if (!use_memmove)
     {
       contents = (bfd_byte *) bfd_malloc (size);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/bfd-in2.h ./bfd/bfd-in2.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/bfd-in2.h	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/bfd-in2.h	2019-09-24 01:49:09.000000000 +0000
@@ -244,27 +244,11 @@ typedef unsigned long symindex;
 
 #define BFD_NO_MORE_SYMBOLS ((symindex) ~0)
 
-/* General purpose part of a symbol X;
-   target specific parts are in libcoff.h, libaout.h, etc.  */
-
-#define bfd_get_section(x) ((x)->section)
-#define bfd_get_output_section(x) ((x)->section->output_section)
-#define bfd_set_section(x,y) ((x)->section) = (y)
-#define bfd_asymbol_base(x) ((x)->section->vma)
-#define bfd_asymbol_value(x) (bfd_asymbol_base(x) + (x)->value)
-#define bfd_asymbol_name(x) ((x)->name)
-/*Perhaps future: #define bfd_asymbol_bfd(x) ((x)->section->owner)*/
-#define bfd_asymbol_bfd(x) ((x)->the_bfd)
-#define bfd_asymbol_flavour(x)			\
-  (((x)->flags & BSF_SYNTHETIC) != 0		\
-   ? bfd_target_unknown_flavour			\
-   : bfd_asymbol_bfd (x)->xvec->flavour)
-
 /* A canonical archive symbol.  */
 /* This is a type pun with struct ranlib on purpose!  */
 typedef struct carsym
 {
-  char *name;
+  const char *name;
   file_ptr file_offset;	/* Look here to find the file.  */
 }
 carsym;			/* To make these you call a carsymogen.  */
@@ -308,37 +292,6 @@ typedef struct bfd_section *sec_ptr;
   ((((bfd_vma) (this) + (boundary) - 1) >= (bfd_vma) (this))		  \
    ? (((bfd_vma) (this) + ((boundary) - 1)) & ~ (bfd_vma) ((boundary)-1)) \
    : ~ (bfd_vma) 0)
-
-#define bfd_get_section_name(bfd, ptr) ((void) bfd, (ptr)->name)
-#define bfd_get_section_vma(bfd, ptr) ((void) bfd, (ptr)->vma)
-#define bfd_get_section_lma(bfd, ptr) ((void) bfd, (ptr)->lma)
-#define bfd_get_section_alignment(bfd, ptr) ((void) bfd, \
-					     (ptr)->alignment_power)
-#define bfd_section_name(bfd, ptr) ((ptr)->name)
-#define bfd_section_size(bfd, ptr) ((ptr)->size)
-#define bfd_get_section_size(ptr) ((ptr)->size)
-#define bfd_section_vma(bfd, ptr) ((ptr)->vma)
-#define bfd_section_lma(bfd, ptr) ((ptr)->lma)
-#define bfd_section_alignment(bfd, ptr) ((ptr)->alignment_power)
-#define bfd_get_section_flags(bfd, ptr) ((void) bfd, (ptr)->flags)
-#define bfd_get_section_userdata(bfd, ptr) ((void) bfd, (ptr)->userdata)
-
-#define bfd_is_com_section(ptr) (((ptr)->flags & SEC_IS_COMMON) != 0)
-
-#define bfd_get_section_limit_octets(bfd, sec)			\
-  ((bfd)->direction != write_direction && (sec)->rawsize != 0	\
-   ? (sec)->rawsize : (sec)->size)
-
-/* Find the address one past the end of SEC.  */
-#define bfd_get_section_limit(bfd, sec) \
-  (bfd_get_section_limit_octets(bfd, sec) / bfd_octets_per_byte (bfd))
-
-/* Return TRUE if input section SEC has been discarded.  */
-#define discarded_section(sec)				\
-  (!bfd_is_abs_section (sec)					\
-   && bfd_is_abs_section ((sec)->output_section)		\
-   && (sec)->sec_info_type != SEC_INFO_TYPE_MERGE		\
-   && (sec)->sec_info_type != SEC_INFO_TYPE_JUST_SYMS)
 
 typedef enum bfd_print_symbol
 {
@@ -525,38 +478,6 @@ extern int bfd_stat (bfd *, struct stat 
 #endif
 extern void _bfd_warn_deprecated (const char *, const char *, int, const char *);
 
-#define bfd_get_filename(abfd) ((abfd)->filename)
-#define bfd_get_cacheable(abfd) ((abfd)->cacheable)
-#define bfd_get_format(abfd) ((abfd)->format)
-#define bfd_get_target(abfd) ((abfd)->xvec->name)
-#define bfd_get_flavour(abfd) ((abfd)->xvec->flavour)
-#define bfd_family_coff(abfd) \
-  (bfd_get_flavour (abfd) == bfd_target_coff_flavour || \
-   bfd_get_flavour (abfd) == bfd_target_xcoff_flavour)
-#define bfd_big_endian(abfd) ((abfd)->xvec->byteorder == BFD_ENDIAN_BIG)
-#define bfd_little_endian(abfd) ((abfd)->xvec->byteorder == BFD_ENDIAN_LITTLE)
-#define bfd_header_big_endian(abfd) \
-  ((abfd)->xvec->header_byteorder == BFD_ENDIAN_BIG)
-#define bfd_header_little_endian(abfd) \
-  ((abfd)->xvec->header_byteorder == BFD_ENDIAN_LITTLE)
-#define bfd_get_file_flags(abfd) ((abfd)->flags)
-#define bfd_applicable_file_flags(abfd) ((abfd)->xvec->object_flags)
-#define bfd_applicable_section_flags(abfd) ((abfd)->xvec->section_flags)
-#define bfd_has_map(abfd) ((abfd)->has_armap)
-#define bfd_is_thin_archive(abfd) ((abfd)->is_thin_archive)
-
-#define bfd_valid_reloc_types(abfd) ((abfd)->xvec->valid_reloc_types)
-#define bfd_usrdata(abfd) ((abfd)->usrdata)
-
-#define bfd_get_start_address(abfd) ((abfd)->start_address)
-#define bfd_get_symcount(abfd) ((abfd)->symcount)
-#define bfd_get_outsymbols(abfd) ((abfd)->outsymbols)
-#define bfd_count_sections(abfd) ((abfd)->section_count)
-
-#define bfd_get_dynamic_symcount(abfd) ((abfd)->dynsymcount)
-
-#define bfd_get_symbol_leading_char(abfd) ((abfd)->xvec->symbol_leading_char)
-
 extern bfd_boolean bfd_cache_close
   (bfd *abfd);
 /* NB: This declaration should match the autogenerated one in libbfd.h.  */
@@ -595,195 +516,6 @@ void bfd_putl16 (bfd_vma, void *);
 bfd_uint64_t bfd_get_bits (const void *, int, bfd_boolean);
 void bfd_put_bits (bfd_uint64_t, void *, int, bfd_boolean);
 
-#if defined(__STDC__) || defined(ALMOST_STDC)
-struct ecoff_debug_info;
-struct ecoff_debug_swap;
-struct ecoff_extr;
-struct bfd_symbol;
-struct bfd_link_info;
-struct bfd_link_hash_entry;
-struct bfd_section_already_linked;
-struct bfd_elf_version_tree;
-#endif
-
-extern bfd_boolean bfd_section_already_linked_table_init (void);
-extern void bfd_section_already_linked_table_free (void);
-extern bfd_boolean _bfd_handle_already_linked
-  (struct bfd_section *, struct bfd_section_already_linked *,
-   struct bfd_link_info *);
-
-/* Externally visible ECOFF routines.  */
-
-extern bfd_boolean bfd_ecoff_set_gp_value
-  (bfd *abfd, bfd_vma gp_value);
-extern bfd_boolean bfd_ecoff_set_regmasks
-  (bfd *abfd, unsigned long gprmask, unsigned long fprmask,
-   unsigned long *cprmask);
-extern void *bfd_ecoff_debug_init
-  (bfd *output_bfd, struct ecoff_debug_info *output_debug,
-   const struct ecoff_debug_swap *output_swap, struct bfd_link_info *);
-extern void bfd_ecoff_debug_free
-  (void *handle, bfd *output_bfd, struct ecoff_debug_info *output_debug,
-   const struct ecoff_debug_swap *output_swap, struct bfd_link_info *);
-extern bfd_boolean bfd_ecoff_debug_accumulate
-  (void *handle, bfd *output_bfd, struct ecoff_debug_info *output_debug,
-   const struct ecoff_debug_swap *output_swap, bfd *input_bfd,
-   struct ecoff_debug_info *input_debug,
-   const struct ecoff_debug_swap *input_swap, struct bfd_link_info *);
-extern bfd_boolean bfd_ecoff_debug_accumulate_other
-  (void *handle, bfd *output_bfd, struct ecoff_debug_info *output_debug,
-   const struct ecoff_debug_swap *output_swap, bfd *input_bfd,
-   struct bfd_link_info *);
-extern bfd_boolean bfd_ecoff_debug_externals
-  (bfd *abfd, struct ecoff_debug_info *debug,
-   const struct ecoff_debug_swap *swap, bfd_boolean relocatable,
-   bfd_boolean (*get_extr) (struct bfd_symbol *, struct ecoff_extr *),
-   void (*set_index) (struct bfd_symbol *, bfd_size_type));
-extern bfd_boolean bfd_ecoff_debug_one_external
-  (bfd *abfd, struct ecoff_debug_info *debug,
-   const struct ecoff_debug_swap *swap, const char *name,
-   struct ecoff_extr *esym);
-extern bfd_size_type bfd_ecoff_debug_size
-  (bfd *abfd, struct ecoff_debug_info *debug,
-   const struct ecoff_debug_swap *swap);
-extern bfd_boolean bfd_ecoff_write_debug
-  (bfd *abfd, struct ecoff_debug_info *debug,
-   const struct ecoff_debug_swap *swap, file_ptr where);
-extern bfd_boolean bfd_ecoff_write_accumulated_debug
-  (void *handle, bfd *abfd, struct ecoff_debug_info *debug,
-   const struct ecoff_debug_swap *swap,
-   struct bfd_link_info *info, file_ptr where);
-
-/* Externally visible ELF routines.  */
-
-struct bfd_link_needed_list
-{
-  struct bfd_link_needed_list *next;
-  bfd *by;
-  const char *name;
-};
-
-enum dynamic_lib_link_class {
-  DYN_NORMAL = 0,
-  DYN_AS_NEEDED = 1,
-  DYN_DT_NEEDED = 2,
-  DYN_NO_ADD_NEEDED = 4,
-  DYN_NO_NEEDED = 8
-};
-
-enum notice_asneeded_action {
-  notice_as_needed,
-  notice_not_needed,
-  notice_needed
-};
-
-extern bfd_boolean bfd_elf_record_link_assignment
-  (bfd *, struct bfd_link_info *, const char *, bfd_boolean,
-   bfd_boolean);
-extern struct bfd_link_needed_list *bfd_elf_get_needed_list
-  (bfd *, struct bfd_link_info *);
-extern bfd_boolean bfd_elf_get_bfd_needed_list
-  (bfd *, struct bfd_link_needed_list **);
-extern bfd_boolean bfd_elf_stack_segment_size (bfd *, struct bfd_link_info *,
-					       const char *, bfd_vma);
-extern bfd_boolean bfd_elf_size_dynamic_sections
-  (bfd *, const char *, const char *, const char *, const char *, const char *,
-   const char * const *, struct bfd_link_info *, struct bfd_section **);
-extern bfd_boolean bfd_elf_size_dynsym_hash_dynstr
-  (bfd *, struct bfd_link_info *);
-extern void bfd_elf_set_dt_needed_name
-  (bfd *, const char *);
-extern const char *bfd_elf_get_dt_soname
-  (bfd *);
-extern void bfd_elf_set_dyn_lib_class
-  (bfd *, enum dynamic_lib_link_class);
-extern int bfd_elf_get_dyn_lib_class
-  (bfd *);
-extern struct bfd_link_needed_list *bfd_elf_get_runpath_list
-  (bfd *, struct bfd_link_info *);
-extern int bfd_elf_discard_info
-  (bfd *, struct bfd_link_info *);
-extern unsigned int _bfd_elf_default_action_discarded
-  (struct bfd_section *);
-
-/* Return an upper bound on the number of bytes required to store a
-   copy of ABFD's program header table entries.  Return -1 if an error
-   occurs; bfd_get_error will return an appropriate code.  */
-extern long bfd_get_elf_phdr_upper_bound
-  (bfd *abfd);
-
-/* Copy ABFD's program header table entries to *PHDRS.  The entries
-   will be stored as an array of Elf_Internal_Phdr structures, as
-   defined in include/elf/internal.h.  To find out how large the
-   buffer needs to be, call bfd_get_elf_phdr_upper_bound.
-
-   Return the number of program header table entries read, or -1 if an
-   error occurs; bfd_get_error will return an appropriate code.  */
-extern int bfd_get_elf_phdrs
-  (bfd *abfd, void *phdrs);
-
-/* Create a new BFD as if by bfd_openr.  Rather than opening a file,
-   reconstruct an ELF file by reading the segments out of remote
-   memory based on the ELF file header at EHDR_VMA and the ELF program
-   headers it points to.  If non-zero, SIZE is the known extent of the
-   object.  If not null, *LOADBASEP is filled in with the difference
-   between the VMAs from which the segments were read, and the VMAs
-   the file headers (and hence BFD's idea of each section's VMA) put
-   them at.
-
-   The function TARGET_READ_MEMORY is called to copy LEN bytes from
-   the remote memory at target address VMA into the local buffer at
-   MYADDR; it should return zero on success or an `errno' code on
-   failure.  TEMPL must be a BFD for a target with the word size and
-   byte order found in the remote memory.  */
-extern bfd *bfd_elf_bfd_from_remote_memory
-  (bfd *templ, bfd_vma ehdr_vma, bfd_size_type size, bfd_vma *loadbasep,
-   int (*target_read_memory) (bfd_vma vma, bfd_byte *myaddr,
-			      bfd_size_type len));
-
-extern struct bfd_section *_bfd_elf_tls_setup
-  (bfd *, struct bfd_link_info *);
-
-extern struct bfd_section *
-_bfd_nearby_section (bfd *, struct bfd_section *, bfd_vma);
-
-extern void _bfd_fix_excluded_sec_syms
-  (bfd *, struct bfd_link_info *);
-
-extern unsigned bfd_m68k_mach_to_features (int);
-
-extern int bfd_m68k_features_to_mach (unsigned);
-
-extern bfd_boolean bfd_m68k_elf32_create_embedded_relocs
-  (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *,
-   char **);
-
-extern void bfd_elf_m68k_set_target_options (struct bfd_link_info *, int);
-
-extern bfd_boolean bfd_bfin_elf32_create_embedded_relocs
-  (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *,
-   char **);
-
-extern bfd_boolean bfd_cr16_elf32_create_embedded_relocs
-  (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *,
-   char **);
-
-/* SunOS shared library support routines for the linker.  */
-
-extern struct bfd_link_needed_list *bfd_sunos_get_needed_list
-  (bfd *, struct bfd_link_info *);
-extern bfd_boolean bfd_sunos_record_link_assignment
-  (bfd *, struct bfd_link_info *, const char *);
-extern bfd_boolean bfd_sunos_size_dynamic_sections
-  (bfd *, struct bfd_link_info *, struct bfd_section **,
-   struct bfd_section **, struct bfd_section **);
-
-/* Linux shared library support routines for the linker.  */
-
-extern bfd_boolean bfd_i386linux_size_dynamic_sections
-  (bfd *, struct bfd_link_info *);
-extern bfd_boolean bfd_sparclinux_size_dynamic_sections
-  (bfd *, struct bfd_link_info *);
 
 /* mmap hacks */
 
@@ -811,316 +543,34 @@ extern void bfd_free_window
   (bfd_window *);
 extern bfd_boolean bfd_get_file_window
   (bfd *, file_ptr, bfd_size_type, bfd_window *, bfd_boolean);
+
+/* Externally visible ELF routines.  */
 
-/* XCOFF support routines for the linker.  */
-
-extern bfd_boolean bfd_xcoff_split_import_path
-  (bfd *, const char *, const char **, const char **);
-extern bfd_boolean bfd_xcoff_set_archive_import_path
-  (struct bfd_link_info *, bfd *, const char *);
-extern bfd_boolean bfd_xcoff_link_record_set
-  (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, bfd_size_type);
-extern bfd_boolean bfd_xcoff_import_symbol
-  (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, bfd_vma,
-   const char *, const char *, const char *, unsigned int);
-extern bfd_boolean bfd_xcoff_export_symbol
-  (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *);
-extern bfd_boolean bfd_xcoff_link_count_reloc
-  (bfd *, struct bfd_link_info *, const char *);
-extern bfd_boolean bfd_xcoff_record_link_assignment
-  (bfd *, struct bfd_link_info *, const char *);
-extern bfd_boolean bfd_xcoff_size_dynamic_sections
-  (bfd *, struct bfd_link_info *, const char *, const char *,
-   unsigned long, unsigned long, unsigned long, bfd_boolean,
-   int, bfd_boolean, unsigned int, struct bfd_section **, bfd_boolean);
-extern bfd_boolean bfd_xcoff_link_generate_rtinit
-  (bfd *, const char *, const char *, bfd_boolean);
-
-/* XCOFF support routines for ar.  */
-extern bfd_boolean bfd_xcoff_ar_archive_set_magic
-  (bfd *, char *);
-
-/* Externally visible COFF routines.  */
-
-#if defined(__STDC__) || defined(ALMOST_STDC)
-struct internal_syment;
-union internal_auxent;
-#endif
-
-extern bfd_boolean bfd_coff_set_symbol_class
-  (bfd *, struct bfd_symbol *, unsigned int);
-
-/* ARM VFP11 erratum workaround support.  */
-typedef enum
-{
-  BFD_ARM_VFP11_FIX_DEFAULT,
-  BFD_ARM_VFP11_FIX_NONE,
-  BFD_ARM_VFP11_FIX_SCALAR,
-  BFD_ARM_VFP11_FIX_VECTOR
-} bfd_arm_vfp11_fix;
-
-extern void bfd_elf32_arm_init_maps
-  (bfd *);
-
-extern void bfd_elf32_arm_set_vfp11_fix
-  (bfd *, struct bfd_link_info *);
-
-extern void bfd_elf32_arm_set_cortex_a8_fix
-  (bfd *, struct bfd_link_info *);
-
-extern bfd_boolean bfd_elf32_arm_vfp11_erratum_scan
-  (bfd *, struct bfd_link_info *);
-
-extern void bfd_elf32_arm_vfp11_fix_veneer_locations
-  (bfd *, struct bfd_link_info *);
-
-/* ARM STM STM32L4XX erratum workaround support.  */
-typedef enum
-{
-  BFD_ARM_STM32L4XX_FIX_NONE,
-  BFD_ARM_STM32L4XX_FIX_DEFAULT,
-  BFD_ARM_STM32L4XX_FIX_ALL
-} bfd_arm_stm32l4xx_fix;
-
-extern void bfd_elf32_arm_set_stm32l4xx_fix
-  (bfd *, struct bfd_link_info *);
-
-extern bfd_boolean bfd_elf32_arm_stm32l4xx_erratum_scan
-  (bfd *, struct bfd_link_info *);
-
-extern void bfd_elf32_arm_stm32l4xx_fix_veneer_locations
-  (bfd *, struct bfd_link_info *);
-
-/* ARM Interworking support.  Called from linker.  */
-extern bfd_boolean bfd_arm_allocate_interworking_sections
-  (struct bfd_link_info *);
-
-extern bfd_boolean bfd_arm_process_before_allocation
-  (bfd *, struct bfd_link_info *, int);
-
-extern bfd_boolean bfd_arm_get_bfd_for_interworking
-  (bfd *, struct bfd_link_info *);
-
-/* PE ARM Interworking support.  Called from linker.  */
-extern bfd_boolean bfd_arm_pe_allocate_interworking_sections
-  (struct bfd_link_info *);
-
-extern bfd_boolean bfd_arm_pe_process_before_allocation
-  (bfd *, struct bfd_link_info *, int);
-
-extern bfd_boolean bfd_arm_pe_get_bfd_for_interworking
-  (bfd *, struct bfd_link_info *);
-
-/* ELF ARM Interworking support.  Called from linker.  */
-extern bfd_boolean bfd_elf32_arm_allocate_interworking_sections
-  (struct bfd_link_info *);
-
-extern bfd_boolean bfd_elf32_arm_process_before_allocation
-  (bfd *, struct bfd_link_info *);
-
-struct elf32_arm_params {
-  char *thumb_entry_symbol;
-  int byteswap_code;
-  int target1_is_rel;
-  char * target2_type;
-  int fix_v4bx;
-  int use_blx;
-  bfd_arm_vfp11_fix vfp11_denorm_fix;
-  bfd_arm_stm32l4xx_fix stm32l4xx_fix;
-  int no_enum_size_warning;
-  int no_wchar_size_warning;
-  int pic_veneer;
-  int fix_cortex_a8;
-  int fix_arm1176;
-  int merge_exidx_entries;
-  int cmse_implib;
-  bfd *in_implib_bfd;
-};
-
-void bfd_elf32_arm_set_target_params
-  (bfd *, struct bfd_link_info *, struct elf32_arm_params *);
-
-extern bfd_boolean bfd_elf32_arm_get_bfd_for_interworking
-  (bfd *, struct bfd_link_info *);
+/* Create a new BFD as if by bfd_openr.  Rather than opening a file,
+   reconstruct an ELF file by reading the segments out of remote
+   memory based on the ELF file header at EHDR_VMA and the ELF program
+   headers it points to.  If non-zero, SIZE is the known extent of the
+   object.  If not null, *LOADBASEP is filled in with the difference
+   between the VMAs from which the segments were read, and the VMAs
+   the file headers (and hence BFD's idea of each section's VMA) put
+   them at.
 
-extern bfd_boolean bfd_elf32_arm_add_glue_sections_to_bfd
-  (bfd *, struct bfd_link_info *);
+   The function TARGET_READ_MEMORY is called to copy LEN bytes from
+   the remote memory at target address VMA into the local buffer at
+   MYADDR; it should return zero on success or an `errno' code on
+   failure.  TEMPL must be a BFD for a target with the word size and
+   byte order found in the remote memory.  */
+extern bfd *bfd_elf_bfd_from_remote_memory
+  (bfd *templ, bfd_vma ehdr_vma, bfd_size_type size, bfd_vma *loadbasep,
+   int (*target_read_memory) (bfd_vma vma, bfd_byte *myaddr,
+			      bfd_size_type len));
 
-extern void bfd_elf32_arm_keep_private_stub_output_sections
-  (struct bfd_link_info *);
-
-/* ELF ARM mapping symbol support.  */
-#define BFD_ARM_SPECIAL_SYM_TYPE_MAP	(1 << 0)
-#define BFD_ARM_SPECIAL_SYM_TYPE_TAG	(1 << 1)
-#define BFD_ARM_SPECIAL_SYM_TYPE_OTHER	(1 << 2)
-#define BFD_ARM_SPECIAL_SYM_TYPE_ANY	(~0)
-
-extern bfd_boolean bfd_is_arm_special_symbol_name
-  (const char *, int);
-
-extern void bfd_elf32_arm_set_byteswap_code
-  (struct bfd_link_info *, int);
-
-extern void bfd_elf32_arm_use_long_plt (void);
-
-/* ARM Note section processing.  */
-extern bfd_boolean bfd_arm_merge_machines
-  (bfd *, bfd *);
-
-extern bfd_boolean bfd_arm_update_notes
-  (bfd *, const char *);
-
-extern unsigned int bfd_arm_get_mach_from_notes
-  (bfd *, const char *);
-
-/* ARM stub generation support.  Called from the linker.  */
-extern int elf32_arm_setup_section_lists
-  (bfd *, struct bfd_link_info *);
-extern void elf32_arm_next_input_section
-  (struct bfd_link_info *, struct bfd_section *);
-extern bfd_boolean elf32_arm_size_stubs
-  (bfd *, bfd *, struct bfd_link_info *, bfd_signed_vma,
-   struct bfd_section * (*) (const char *, struct bfd_section *,
-			     struct bfd_section *, unsigned int),
-   void (*) (void));
-extern bfd_boolean elf32_arm_build_stubs
-  (struct bfd_link_info *);
-
-/* ARM unwind section editing support.  */
-extern bfd_boolean elf32_arm_fix_exidx_coverage
-(struct bfd_section **, unsigned int, struct bfd_link_info *, bfd_boolean);
-
-/* C6x unwind section editing support.  */
-extern bfd_boolean elf32_tic6x_fix_exidx_coverage
-(struct bfd_section **, unsigned int, struct bfd_link_info *, bfd_boolean);
-
-extern void bfd_elf64_aarch64_init_maps
-  (bfd *);
-
-extern void bfd_elf32_aarch64_init_maps
-  (bfd *);
-
-/* Types of PLTs based on the level of security.  This would be a
-   bit-mask to denote which of the combinations of security features
-   are enabled:
-   - No security feature PLTs
-   - PLTs with BTI instruction
-   - PLTs with PAC instruction
-*/
-typedef enum
-{
-  PLT_NORMAL	= 0x0,  /* Normal plts.  */
-  PLT_BTI	= 0x1,  /* plts with bti.  */
-  PLT_PAC	= 0x2,  /* plts with pointer authentication.  */
-  PLT_BTI_PAC	= PLT_BTI | PLT_PAC
-} aarch64_plt_type;
-
-/* To indicate if BTI is enabled with/without warning.  */
-typedef enum
-{
-  BTI_NONE	= 0,  /* BTI is not enabled.  */
-  BTI_WARN	= 1,  /* BTI is enabled with -z force-bti.  */
-} aarch64_enable_bti_type;
-
-/* A structure to encompass all information coming from BTI or PAC
-   related command line options.  This involves the "PLT_TYPE" to determine
-   which version of PLTs to pick and "BTI_TYPE" to determine if
-   BTI should be turned on with any warnings.   */
-typedef struct
-{
-  aarch64_plt_type plt_type;
-  aarch64_enable_bti_type bti_type;
-} aarch64_bti_pac_info;
-
-/* An enum to define what kind of erratum fixes we should apply.  This gives the
-   user a bit more control over the sequences we generate.  */
-typedef enum
-{
-  ERRAT_NONE  = (1 << 0),  /* No erratum workarounds allowed.  */
-  ERRAT_ADR   = (1 << 1),  /* Erratum workarounds using ADR allowed.  */
-  ERRAT_ADRP  = (1 << 2),  /* Erratum workarounds using ADRP are allowed.  */
-} erratum_84319_opts;
-
-extern void bfd_elf64_aarch64_set_options
-  (bfd *, struct bfd_link_info *, int, int, int, int, erratum_84319_opts, int,
-   aarch64_bti_pac_info);
-
-extern void bfd_elf32_aarch64_set_options
-  (bfd *, struct bfd_link_info *, int, int, int, int, erratum_84319_opts, int,
-   aarch64_bti_pac_info);
-
-/* ELF AArch64 mapping symbol support.  */
-#define BFD_AARCH64_SPECIAL_SYM_TYPE_MAP	(1 << 0)
-#define BFD_AARCH64_SPECIAL_SYM_TYPE_TAG	(1 << 1)
-#define BFD_AARCH64_SPECIAL_SYM_TYPE_OTHER	(1 << 2)
-#define BFD_AARCH64_SPECIAL_SYM_TYPE_ANY	(~0)
-extern bfd_boolean bfd_is_aarch64_special_symbol_name
-  (const char * name, int type);
-
-/* AArch64 stub generation support for ELF64.  Called from the linker.  */
-extern int elf64_aarch64_setup_section_lists
-  (bfd *, struct bfd_link_info *);
-extern void elf64_aarch64_next_input_section
-  (struct bfd_link_info *, struct bfd_section *);
-extern bfd_boolean elf64_aarch64_size_stubs
-  (bfd *, bfd *, struct bfd_link_info *, bfd_signed_vma,
-   struct bfd_section * (*) (const char *, struct bfd_section *),
-   void (*) (void));
-extern bfd_boolean elf64_aarch64_build_stubs
-  (struct bfd_link_info *);
-/* AArch64 stub generation support for ELF32.  Called from the linker.  */
-extern int elf32_aarch64_setup_section_lists
-  (bfd *, struct bfd_link_info *);
-extern void elf32_aarch64_next_input_section
-  (struct bfd_link_info *, struct bfd_section *);
-extern bfd_boolean elf32_aarch64_size_stubs
-  (bfd *, bfd *, struct bfd_link_info *, bfd_signed_vma,
-   struct bfd_section * (*) (const char *, struct bfd_section *),
-   void (*) (void));
-extern bfd_boolean elf32_aarch64_build_stubs
-  (struct bfd_link_info *);
-
-
-/* TI COFF load page support.  */
-extern void bfd_ticoff_set_section_load_page
-  (struct bfd_section *, int);
-
-extern int bfd_ticoff_get_section_load_page
-  (struct bfd_section *);
-
-/* H8/300 functions.  */
-extern bfd_vma bfd_h8300_pad_address
-  (bfd *, bfd_vma);
-
-/* IA64 Itanium code generation.  Called from linker.  */
-extern void bfd_elf32_ia64_after_parse
-  (int);
-
-extern void bfd_elf64_ia64_after_parse
-  (int);
-
-/* V850 Note manipulation routines.  */
-extern bfd_boolean v850_elf_create_sections
-  (struct bfd_link_info *);
-
-extern bfd_boolean v850_elf_set_note
-  (bfd *, unsigned int, unsigned int);
-
-/* MIPS ABI flags data access.  For the disassembler.  */
-struct elf_internal_abiflags_v0;
-extern struct elf_internal_abiflags_v0 *bfd_mips_elf_get_abiflags (bfd *);
-
-/* C-SKY functions.  */
-extern bfd_boolean elf32_csky_build_stubs
-  (struct bfd_link_info *);
-extern bfd_boolean elf32_csky_size_stubs
-  (bfd *, bfd *, struct bfd_link_info *, bfd_signed_vma,
-   struct bfd_section *(*) (const char*, struct bfd_section*),
-   void (*) (void));
-extern void elf32_csky_next_input_section
-  (struct bfd_link_info *, struct bfd_section *);
-extern int elf32_csky_setup_section_lists
-  (bfd *, struct bfd_link_info *);
+/* Forward declarations.  */
+struct ecoff_debug_info;
+struct ecoff_debug_swap;
+struct ecoff_extr;
+struct bfd_link_info;
+struct bfd_link_hash_entry;
 /* Extracted from init.c.  */
 unsigned int bfd_init (void);
 
@@ -1740,31 +1190,83 @@ struct relax_table {
   int size;
 };
 
+static inline const char *
+bfd_section_name (const asection *sec)
+{
+  return sec->name;
+}
+
+static inline bfd_size_type
+bfd_section_size (const asection *sec)
+{
+  return sec->size;
+}
+
+static inline bfd_vma
+bfd_section_vma (const asection *sec)
+{
+  return sec->vma;
+}
+
+static inline bfd_vma
+bfd_section_lma (const asection *sec)
+{
+  return sec->lma;
+}
+
+static inline unsigned int
+bfd_section_alignment (const asection *sec)
+{
+  return sec->alignment_power;
+}
+
+static inline flagword
+bfd_section_flags (const asection *sec)
+{
+  return sec->flags;
+}
+
+static inline void *
+bfd_section_userdata (const asection *sec)
+{
+  return sec->userdata;
+}
+static inline bfd_boolean
+bfd_is_com_section (const asection *sec)
+{
+  return (sec->flags & SEC_IS_COMMON) != 0;
+}
+
 /* Note: the following are provided as inline functions rather than macros
    because not all callers use the return value.  A macro implementation
    would use a comma expression, eg: "((ptr)->foo = val, TRUE)" and some
    compilers will complain about comma expressions that have no effect.  */
 static inline bfd_boolean
-bfd_set_section_userdata (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr,
-                          void * val)
+bfd_set_section_userdata (asection *sec, void *val)
+{
+  sec->userdata = val;
+  return TRUE;
+}
+
+static inline bfd_boolean
+bfd_set_section_vma (asection *sec, bfd_vma val)
 {
-  ptr->userdata = val;
+  sec->vma = sec->lma = val;
+  sec->user_set_vma = TRUE;
   return TRUE;
 }
 
 static inline bfd_boolean
-bfd_set_section_vma (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, bfd_vma val)
+bfd_set_section_lma (asection *sec, bfd_vma val)
 {
-  ptr->vma = ptr->lma = val;
-  ptr->user_set_vma = TRUE;
+  sec->lma = val;
   return TRUE;
 }
 
 static inline bfd_boolean
-bfd_set_section_alignment (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr,
-                           unsigned int val)
+bfd_set_section_alignment (asection *sec, unsigned int val)
 {
-  ptr->alignment_power = val;
+  sec->alignment_power = val;
   return TRUE;
 }
 
@@ -1787,105 +1289,39 @@ extern asection _bfd_std_section[4];
 /* Pointer to the indirect section.  */
 #define bfd_ind_section_ptr (&_bfd_std_section[3])
 
-#define bfd_is_und_section(sec) ((sec) == bfd_und_section_ptr)
-#define bfd_is_abs_section(sec) ((sec) == bfd_abs_section_ptr)
-#define bfd_is_ind_section(sec) ((sec) == bfd_ind_section_ptr)
-
-#define bfd_is_const_section(SEC)              \
- (   ((SEC) == bfd_abs_section_ptr)            \
-  || ((SEC) == bfd_und_section_ptr)            \
-  || ((SEC) == bfd_com_section_ptr)            \
-  || ((SEC) == bfd_ind_section_ptr))
+static inline bfd_boolean
+bfd_is_und_section (const asection *sec)
+{
+  return sec == bfd_und_section_ptr;
+}
 
-/* Macros to handle insertion and deletion of a bfd's sections.  These
-   only handle the list pointers, ie. do not adjust section_count,
-   target_index etc.  */
-#define bfd_section_list_remove(ABFD, S) \
-  do                                                   \
-    {                                                  \
-      asection *_s = S;                                \
-      asection *_next = _s->next;                      \
-      asection *_prev = _s->prev;                      \
-      if (_prev)                                       \
-        _prev->next = _next;                           \
-      else                                             \
-        (ABFD)->sections = _next;                      \
-      if (_next)                                       \
-        _next->prev = _prev;                           \
-      else                                             \
-        (ABFD)->section_last = _prev;                  \
-    }                                                  \
-  while (0)
-#define bfd_section_list_append(ABFD, S) \
-  do                                                   \
-    {                                                  \
-      asection *_s = S;                                \
-      bfd *_abfd = ABFD;                               \
-      _s->next = NULL;                                 \
-      if (_abfd->section_last)                         \
-        {                                              \
-          _s->prev = _abfd->section_last;              \
-          _abfd->section_last->next = _s;              \
-        }                                              \
-      else                                             \
-        {                                              \
-          _s->prev = NULL;                             \
-          _abfd->sections = _s;                        \
-        }                                              \
-      _abfd->section_last = _s;                        \
-    }                                                  \
-  while (0)
-#define bfd_section_list_prepend(ABFD, S) \
-  do                                                   \
-    {                                                  \
-      asection *_s = S;                                \
-      bfd *_abfd = ABFD;                               \
-      _s->prev = NULL;                                 \
-      if (_abfd->sections)                             \
-        {                                              \
-          _s->next = _abfd->sections;                  \
-          _abfd->sections->prev = _s;                  \
-        }                                              \
-      else                                             \
-        {                                              \
-          _s->next = NULL;                             \
-          _abfd->section_last = _s;                    \
-        }                                              \
-      _abfd->sections = _s;                            \
-    }                                                  \
-  while (0)
-#define bfd_section_list_insert_after(ABFD, A, S) \
-  do                                                   \
-    {                                                  \
-      asection *_a = A;                                \
-      asection *_s = S;                                \
-      asection *_next = _a->next;                      \
-      _s->next = _next;                                \
-      _s->prev = _a;                                   \
-      _a->next = _s;                                   \
-      if (_next)                                       \
-        _next->prev = _s;                              \
-      else                                             \
-        (ABFD)->section_last = _s;                     \
-    }                                                  \
-  while (0)
-#define bfd_section_list_insert_before(ABFD, B, S) \
-  do                                                   \
-    {                                                  \
-      asection *_b = B;                                \
-      asection *_s = S;                                \
-      asection *_prev = _b->prev;                      \
-      _s->prev = _prev;                                \
-      _s->next = _b;                                   \
-      _b->prev = _s;                                   \
-      if (_prev)                                       \
-        _prev->next = _s;                              \
-      else                                             \
-        (ABFD)->sections = _s;                         \
-    }                                                  \
-  while (0)
-#define bfd_section_removed_from_list(ABFD, S) \
-  ((S)->next == NULL ? (ABFD)->section_last != (S) : (S)->next->prev != (S))
+static inline bfd_boolean
+bfd_is_abs_section (const asection *sec)
+{
+  return sec == bfd_abs_section_ptr;
+}
+
+static inline bfd_boolean
+bfd_is_ind_section (const asection *sec)
+{
+  return sec == bfd_ind_section_ptr;
+}
+
+static inline bfd_boolean
+bfd_is_const_section (const asection *sec)
+{
+  return sec >= bfd_abs_section_ptr && sec <= bfd_ind_section_ptr;
+}
+
+/* Return TRUE if input section SEC has been discarded.  */
+static inline bfd_boolean
+discarded_section (const asection *sec)
+{
+  return (!bfd_is_abs_section (sec)
+          && bfd_is_abs_section (sec->output_section)
+          && sec->sec_info_type != SEC_INFO_TYPE_MERGE
+          && sec->sec_info_type != SEC_INFO_TYPE_JUST_SYMS);
+}
 
 #define BFD_FAKE_SECTION(SEC, SYM, NAME, IDX, FLAGS)                   \
   /* name, id,  index, next, prev, flags, user_set_vma,            */  \
@@ -1966,11 +1402,10 @@ asection *bfd_make_section_with_flags
 
 asection *bfd_make_section (bfd *, const char *name);
 
-bfd_boolean bfd_set_section_flags
-   (bfd *abfd, asection *sec, flagword flags);
+bfd_boolean bfd_set_section_flags (asection *sec, flagword flags);
 
 void bfd_rename_section
-   (bfd *abfd, asection *sec, const char *newname);
+   (asection *sec, const char *newname);
 
 void bfd_map_over_sections
    (bfd *abfd,
@@ -1982,8 +1417,7 @@ asection *bfd_sections_find_if
     bfd_boolean (*operation) (bfd *abfd, asection *sect, void *obj),
     void *obj);
 
-bfd_boolean bfd_set_section_size
-   (bfd *abfd, asection *sec, bfd_size_type val);
+bfd_boolean bfd_set_section_size (asection *sec, bfd_size_type val);
 
 bfd_boolean bfd_set_section_contents
    (bfd *abfd, asection *section, const void *data,
@@ -2545,13 +1979,13 @@ void bfd_set_arch_info (bfd *abfd, const
 bfd_boolean bfd_default_set_arch_mach
    (bfd *abfd, enum bfd_architecture arch, unsigned long mach);
 
-enum bfd_architecture bfd_get_arch (bfd *abfd);
+enum bfd_architecture bfd_get_arch (const bfd *abfd);
 
-unsigned long bfd_get_mach (bfd *abfd);
+unsigned long bfd_get_mach (const bfd *abfd);
 
-unsigned int bfd_arch_bits_per_byte (bfd *abfd);
+unsigned int bfd_arch_bits_per_byte (const bfd *abfd);
 
-unsigned int bfd_arch_bits_per_address (bfd *abfd);
+unsigned int bfd_arch_bits_per_address (const bfd *abfd);
 
 const bfd_arch_info_type *bfd_get_arch_info (bfd *abfd);
 
@@ -2561,7 +1995,7 @@ const bfd_arch_info_type *bfd_lookup_arc
 const char *bfd_printable_arch_mach
    (enum bfd_architecture arch, unsigned long machine);
 
-unsigned int bfd_octets_per_byte (bfd *abfd);
+unsigned int bfd_octets_per_byte (const bfd *abfd);
 
 unsigned int bfd_arch_mach_octets_per_byte
    (enum bfd_architecture arch, unsigned long machine);
@@ -2718,7 +2152,7 @@ struct reloc_howto_struct
      bfd *, char **);
 
   /* The textual name of the relocation type.  */
-  char *name;
+  const char *name;
 };
 
 #define HOWTO(type, right, size, bits, pcrel, left, ovf, func, name,   \
@@ -7327,6 +6761,78 @@ struct bfd
   const struct bfd_build_id *build_id;
 };
 
+static inline const char *
+bfd_get_filename (const bfd *abfd)
+{
+  return abfd->filename;
+}
+
+static inline bfd_boolean
+bfd_get_cacheable (const bfd *abfd)
+{
+  return abfd->cacheable;
+}
+
+static inline enum bfd_format
+bfd_get_format (const bfd *abfd)
+{
+  return abfd->format;
+}
+
+static inline flagword
+bfd_get_file_flags (const bfd *abfd)
+{
+  return abfd->flags;
+}
+
+static inline bfd_vma
+bfd_get_start_address (const bfd *abfd)
+{
+  return abfd->start_address;
+}
+
+static inline unsigned int
+bfd_get_symcount (const bfd *abfd)
+{
+  return abfd->symcount;
+}
+
+static inline unsigned int
+bfd_get_dynamic_symcount (const bfd *abfd)
+{
+  return abfd->dynsymcount;
+}
+
+static inline struct bfd_symbol **
+bfd_get_outsymbols (const bfd *abfd)
+{
+  return abfd->outsymbols;
+}
+
+static inline unsigned int
+bfd_count_sections (const bfd *abfd)
+{
+  return abfd->section_count;
+}
+
+static inline bfd_boolean
+bfd_has_map (const bfd *abfd)
+{
+  return abfd->has_armap;
+}
+
+static inline bfd_boolean
+bfd_is_thin_archive (const bfd *abfd)
+{
+  return abfd->is_thin_archive;
+}
+
+static inline void *
+bfd_usrdata (const bfd *abfd)
+{
+  return abfd->usrdata;
+}
+
 /* See note beside bfd_set_section_userdata.  */
 static inline bfd_boolean
 bfd_set_cacheable (bfd * abfd, bfd_boolean val)
@@ -7335,6 +6841,147 @@ bfd_set_cacheable (bfd * abfd, bfd_boole
   return TRUE;
 }
 
+static inline void
+bfd_set_thin_archive (bfd *abfd, bfd_boolean val)
+{
+  abfd->is_thin_archive = val;
+}
+
+static inline void
+bfd_set_usrdata (bfd *abfd, void *val)
+{
+  abfd->usrdata = val;
+}
+
+static inline asection *
+bfd_asymbol_section (const asymbol *sy)
+{
+  return sy->section;
+}
+
+static inline bfd_vma
+bfd_asymbol_value (const asymbol *sy)
+{
+  return sy->section->vma + sy->value;
+}
+
+static inline const char *
+bfd_asymbol_name (const asymbol *sy)
+{
+  return sy->name;
+}
+
+static inline struct bfd *
+bfd_asymbol_bfd (const asymbol *sy)
+{
+  return sy->the_bfd;
+}
+
+static inline void
+bfd_set_asymbol_name (asymbol *sy, const char *name)
+{
+  sy->name = name;
+}
+
+static inline bfd_size_type
+bfd_get_section_limit_octets (const bfd *abfd, const asection *sec)
+{
+  if (abfd->direction != write_direction && sec->rawsize != 0)
+    return sec->rawsize;
+  return sec->size;
+}
+
+/* Find the address one past the end of SEC.  */
+static inline bfd_size_type
+bfd_get_section_limit (const bfd *abfd, const asection *sec)
+{
+  return bfd_get_section_limit_octets (abfd, sec) / bfd_octets_per_byte (abfd);
+}
+
+/* Functions to handle insertion and deletion of a bfd's sections.  These
+   only handle the list pointers, ie. do not adjust section_count,
+   target_index etc.  */
+static inline void
+bfd_section_list_remove (bfd *abfd, asection *s)
+{
+  asection *next = s->next;
+  asection *prev = s->prev;
+  if (prev)
+    prev->next = next;
+  else
+    abfd->sections = next;
+  if (next)
+    next->prev = prev;
+  else
+    abfd->section_last = prev;
+}
+
+static inline void
+bfd_section_list_append (bfd *abfd, asection *s)
+{
+  s->next = 0;
+  if (abfd->section_last)
+    {
+      s->prev = abfd->section_last;
+      abfd->section_last->next = s;
+    }
+  else
+    {
+      s->prev = 0;
+      abfd->sections = s;
+    }
+  abfd->section_last = s;
+}
+
+static inline void
+bfd_section_list_prepend (bfd *abfd, asection *s)
+{
+  s->prev = 0;
+  if (abfd->sections)
+    {
+      s->next = abfd->sections;
+      abfd->sections->prev = s;
+    }
+  else
+    {
+      s->next = 0;
+      abfd->section_last = s;
+    }
+  abfd->sections = s;
+}
+
+static inline void
+bfd_section_list_insert_after (bfd *abfd, asection *a, asection *s)
+{
+  asection *next = a->next;
+  s->next = next;
+  s->prev = a;
+  a->next = s;
+  if (next)
+    next->prev = s;
+  else
+    abfd->section_last = s;
+}
+
+static inline void
+bfd_section_list_insert_before (bfd *abfd, asection *b, asection *s)
+{
+  asection *prev = b->prev;
+  s->prev = prev;
+  s->next = b;
+  b->prev = s;
+  if (prev)
+    prev->next = s;
+  else
+    abfd->sections = s;
+}
+
+static inline bfd_boolean
+bfd_section_removed_from_list (const bfd *abfd, const asection *s)
+{
+  return s->next ? s->next->prev != s : abfd->section_last != s;
+}
+
 
 typedef enum bfd_error
 {
@@ -7634,7 +7281,7 @@ typedef struct flag_info flag_info;
 typedef struct bfd_target
 {
   /* Identifies the kind of target, e.g., SunOS4, Ultrix, etc.  */
-  char *name;
+  const char *name;
 
  /* The "flavour" of a back end is a general indication about
     the contents of a file.  */
@@ -8029,6 +7676,74 @@ typedef struct bfd_target
 
 } bfd_target;
 
+static inline const char *
+bfd_get_target (const bfd *abfd)
+{
+  return abfd->xvec->name;
+}
+
+static inline enum bfd_flavour
+bfd_get_flavour (const bfd *abfd)
+{
+  return abfd->xvec->flavour;
+}
+
+static inline flagword
+bfd_applicable_file_flags (const bfd *abfd)
+{
+  return abfd->xvec->object_flags;
+}
+
+static inline bfd_boolean
+bfd_family_coff (const bfd *abfd)
+{
+  return (bfd_get_flavour (abfd) == bfd_target_coff_flavour
+          || bfd_get_flavour (abfd) == bfd_target_xcoff_flavour);
+}
+
+static inline bfd_boolean
+bfd_big_endian (const bfd *abfd)
+{
+  return abfd->xvec->byteorder == BFD_ENDIAN_BIG;
+}
+static inline bfd_boolean
+bfd_little_endian (const bfd *abfd)
+{
+  return abfd->xvec->byteorder == BFD_ENDIAN_LITTLE;
+}
+
+static inline bfd_boolean
+bfd_header_big_endian (const bfd *abfd)
+{
+  return abfd->xvec->header_byteorder == BFD_ENDIAN_BIG;
+}
+
+static inline bfd_boolean
+bfd_header_little_endian (const bfd *abfd)
+{
+  return abfd->xvec->header_byteorder == BFD_ENDIAN_LITTLE;
+}
+
+static inline flagword
+bfd_applicable_section_flags (const bfd *abfd)
+{
+  return abfd->xvec->section_flags;
+}
+
+static inline char
+bfd_get_symbol_leading_char (const bfd *abfd)
+{
+  return abfd->xvec->symbol_leading_char;
+}
+
+static inline enum bfd_flavour
+bfd_asymbol_flavour (const asymbol *sy)
+{
+  if ((sy->flags & BSF_SYNTHETIC) != 0)
+    return bfd_target_unknown_flavour;
+  return sy->the_bfd->xvec->flavour;
+}
+
 bfd_boolean bfd_set_default_target (const char *name);
 
 const bfd_target *bfd_find_target (const char *target_name, bfd *abfd);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/bfd-in.h ./bfd/bfd-in.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/bfd-in.h	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/bfd-in.h	2019-09-24 01:49:09.000000000 +0000
@@ -237,27 +237,11 @@ typedef unsigned long symindex;
 
 #define BFD_NO_MORE_SYMBOLS ((symindex) ~0)
 
-/* General purpose part of a symbol X;
-   target specific parts are in libcoff.h, libaout.h, etc.  */
-
-#define bfd_get_section(x) ((x)->section)
-#define bfd_get_output_section(x) ((x)->section->output_section)
-#define bfd_set_section(x,y) ((x)->section) = (y)
-#define bfd_asymbol_base(x) ((x)->section->vma)
-#define bfd_asymbol_value(x) (bfd_asymbol_base(x) + (x)->value)
-#define bfd_asymbol_name(x) ((x)->name)
-/*Perhaps future: #define bfd_asymbol_bfd(x) ((x)->section->owner)*/
-#define bfd_asymbol_bfd(x) ((x)->the_bfd)
-#define bfd_asymbol_flavour(x)			\
-  (((x)->flags & BSF_SYNTHETIC) != 0		\
-   ? bfd_target_unknown_flavour			\
-   : bfd_asymbol_bfd (x)->xvec->flavour)
-
 /* A canonical archive symbol.  */
 /* This is a type pun with struct ranlib on purpose!  */
 typedef struct carsym
 {
-  char *name;
+  const char *name;
   file_ptr file_offset;	/* Look here to find the file.  */
 }
 carsym;			/* To make these you call a carsymogen.  */
@@ -301,37 +285,6 @@ typedef struct bfd_section *sec_ptr;
   ((((bfd_vma) (this) + (boundary) - 1) >= (bfd_vma) (this))		  \
    ? (((bfd_vma) (this) + ((boundary) - 1)) & ~ (bfd_vma) ((boundary)-1)) \
    : ~ (bfd_vma) 0)
-
-#define bfd_get_section_name(bfd, ptr) ((void) bfd, (ptr)->name)
-#define bfd_get_section_vma(bfd, ptr) ((void) bfd, (ptr)->vma)
-#define bfd_get_section_lma(bfd, ptr) ((void) bfd, (ptr)->lma)
-#define bfd_get_section_alignment(bfd, ptr) ((void) bfd, \
-					     (ptr)->alignment_power)
-#define bfd_section_name(bfd, ptr) ((ptr)->name)
-#define bfd_section_size(bfd, ptr) ((ptr)->size)
-#define bfd_get_section_size(ptr) ((ptr)->size)
-#define bfd_section_vma(bfd, ptr) ((ptr)->vma)
-#define bfd_section_lma(bfd, ptr) ((ptr)->lma)
-#define bfd_section_alignment(bfd, ptr) ((ptr)->alignment_power)
-#define bfd_get_section_flags(bfd, ptr) ((void) bfd, (ptr)->flags)
-#define bfd_get_section_userdata(bfd, ptr) ((void) bfd, (ptr)->userdata)
-
-#define bfd_is_com_section(ptr) (((ptr)->flags & SEC_IS_COMMON) != 0)
-
-#define bfd_get_section_limit_octets(bfd, sec)			\
-  ((bfd)->direction != write_direction && (sec)->rawsize != 0	\
-   ? (sec)->rawsize : (sec)->size)
-
-/* Find the address one past the end of SEC.  */
-#define bfd_get_section_limit(bfd, sec) \
-  (bfd_get_section_limit_octets(bfd, sec) / bfd_octets_per_byte (bfd))
-
-/* Return TRUE if input section SEC has been discarded.  */
-#define discarded_section(sec)				\
-  (!bfd_is_abs_section (sec)					\
-   && bfd_is_abs_section ((sec)->output_section)		\
-   && (sec)->sec_info_type != SEC_INFO_TYPE_MERGE		\
-   && (sec)->sec_info_type != SEC_INFO_TYPE_JUST_SYMS)
 
 typedef enum bfd_print_symbol
 {
@@ -518,38 +471,6 @@ extern int bfd_stat (bfd *, struct stat 
 #endif
 extern void _bfd_warn_deprecated (const char *, const char *, int, const char *);
 
-#define bfd_get_filename(abfd) ((abfd)->filename)
-#define bfd_get_cacheable(abfd) ((abfd)->cacheable)
-#define bfd_get_format(abfd) ((abfd)->format)
-#define bfd_get_target(abfd) ((abfd)->xvec->name)
-#define bfd_get_flavour(abfd) ((abfd)->xvec->flavour)
-#define bfd_family_coff(abfd) \
-  (bfd_get_flavour (abfd) == bfd_target_coff_flavour || \
-   bfd_get_flavour (abfd) == bfd_target_xcoff_flavour)
-#define bfd_big_endian(abfd) ((abfd)->xvec->byteorder == BFD_ENDIAN_BIG)
-#define bfd_little_endian(abfd) ((abfd)->xvec->byteorder == BFD_ENDIAN_LITTLE)
-#define bfd_header_big_endian(abfd) \
-  ((abfd)->xvec->header_byteorder == BFD_ENDIAN_BIG)
-#define bfd_header_little_endian(abfd) \
-  ((abfd)->xvec->header_byteorder == BFD_ENDIAN_LITTLE)
-#define bfd_get_file_flags(abfd) ((abfd)->flags)
-#define bfd_applicable_file_flags(abfd) ((abfd)->xvec->object_flags)
-#define bfd_applicable_section_flags(abfd) ((abfd)->xvec->section_flags)
-#define bfd_has_map(abfd) ((abfd)->has_armap)
-#define bfd_is_thin_archive(abfd) ((abfd)->is_thin_archive)
-
-#define bfd_valid_reloc_types(abfd) ((abfd)->xvec->valid_reloc_types)
-#define bfd_usrdata(abfd) ((abfd)->usrdata)
-
-#define bfd_get_start_address(abfd) ((abfd)->start_address)
-#define bfd_get_symcount(abfd) ((abfd)->symcount)
-#define bfd_get_outsymbols(abfd) ((abfd)->outsymbols)
-#define bfd_count_sections(abfd) ((abfd)->section_count)
-
-#define bfd_get_dynamic_symcount(abfd) ((abfd)->dynsymcount)
-
-#define bfd_get_symbol_leading_char(abfd) ((abfd)->xvec->symbol_leading_char)
-
 extern bfd_boolean bfd_cache_close
   (bfd *abfd);
 /* NB: This declaration should match the autogenerated one in libbfd.h.  */
@@ -588,195 +509,6 @@ void bfd_putl16 (bfd_vma, void *);
 bfd_uint64_t bfd_get_bits (const void *, int, bfd_boolean);
 void bfd_put_bits (bfd_uint64_t, void *, int, bfd_boolean);
 
-#if defined(__STDC__) || defined(ALMOST_STDC)
-struct ecoff_debug_info;
-struct ecoff_debug_swap;
-struct ecoff_extr;
-struct bfd_symbol;
-struct bfd_link_info;
-struct bfd_link_hash_entry;
-struct bfd_section_already_linked;
-struct bfd_elf_version_tree;
-#endif
-
-extern bfd_boolean bfd_section_already_linked_table_init (void);
-extern void bfd_section_already_linked_table_free (void);
-extern bfd_boolean _bfd_handle_already_linked
-  (struct bfd_section *, struct bfd_section_already_linked *,
-   struct bfd_link_info *);
-
-/* Externally visible ECOFF routines.  */
-
-extern bfd_boolean bfd_ecoff_set_gp_value
-  (bfd *abfd, bfd_vma gp_value);
-extern bfd_boolean bfd_ecoff_set_regmasks
-  (bfd *abfd, unsigned long gprmask, unsigned long fprmask,
-   unsigned long *cprmask);
-extern void *bfd_ecoff_debug_init
-  (bfd *output_bfd, struct ecoff_debug_info *output_debug,
-   const struct ecoff_debug_swap *output_swap, struct bfd_link_info *);
-extern void bfd_ecoff_debug_free
-  (void *handle, bfd *output_bfd, struct ecoff_debug_info *output_debug,
-   const struct ecoff_debug_swap *output_swap, struct bfd_link_info *);
-extern bfd_boolean bfd_ecoff_debug_accumulate
-  (void *handle, bfd *output_bfd, struct ecoff_debug_info *output_debug,
-   const struct ecoff_debug_swap *output_swap, bfd *input_bfd,
-   struct ecoff_debug_info *input_debug,
-   const struct ecoff_debug_swap *input_swap, struct bfd_link_info *);
-extern bfd_boolean bfd_ecoff_debug_accumulate_other
-  (void *handle, bfd *output_bfd, struct ecoff_debug_info *output_debug,
-   const struct ecoff_debug_swap *output_swap, bfd *input_bfd,
-   struct bfd_link_info *);
-extern bfd_boolean bfd_ecoff_debug_externals
-  (bfd *abfd, struct ecoff_debug_info *debug,
-   const struct ecoff_debug_swap *swap, bfd_boolean relocatable,
-   bfd_boolean (*get_extr) (struct bfd_symbol *, struct ecoff_extr *),
-   void (*set_index) (struct bfd_symbol *, bfd_size_type));
-extern bfd_boolean bfd_ecoff_debug_one_external
-  (bfd *abfd, struct ecoff_debug_info *debug,
-   const struct ecoff_debug_swap *swap, const char *name,
-   struct ecoff_extr *esym);
-extern bfd_size_type bfd_ecoff_debug_size
-  (bfd *abfd, struct ecoff_debug_info *debug,
-   const struct ecoff_debug_swap *swap);
-extern bfd_boolean bfd_ecoff_write_debug
-  (bfd *abfd, struct ecoff_debug_info *debug,
-   const struct ecoff_debug_swap *swap, file_ptr where);
-extern bfd_boolean bfd_ecoff_write_accumulated_debug
-  (void *handle, bfd *abfd, struct ecoff_debug_info *debug,
-   const struct ecoff_debug_swap *swap,
-   struct bfd_link_info *info, file_ptr where);
-
-/* Externally visible ELF routines.  */
-
-struct bfd_link_needed_list
-{
-  struct bfd_link_needed_list *next;
-  bfd *by;
-  const char *name;
-};
-
-enum dynamic_lib_link_class {
-  DYN_NORMAL = 0,
-  DYN_AS_NEEDED = 1,
-  DYN_DT_NEEDED = 2,
-  DYN_NO_ADD_NEEDED = 4,
-  DYN_NO_NEEDED = 8
-};
-
-enum notice_asneeded_action {
-  notice_as_needed,
-  notice_not_needed,
-  notice_needed
-};
-
-extern bfd_boolean bfd_elf_record_link_assignment
-  (bfd *, struct bfd_link_info *, const char *, bfd_boolean,
-   bfd_boolean);
-extern struct bfd_link_needed_list *bfd_elf_get_needed_list
-  (bfd *, struct bfd_link_info *);
-extern bfd_boolean bfd_elf_get_bfd_needed_list
-  (bfd *, struct bfd_link_needed_list **);
-extern bfd_boolean bfd_elf_stack_segment_size (bfd *, struct bfd_link_info *,
-					       const char *, bfd_vma);
-extern bfd_boolean bfd_elf_size_dynamic_sections
-  (bfd *, const char *, const char *, const char *, const char *, const char *,
-   const char * const *, struct bfd_link_info *, struct bfd_section **);
-extern bfd_boolean bfd_elf_size_dynsym_hash_dynstr
-  (bfd *, struct bfd_link_info *);
-extern void bfd_elf_set_dt_needed_name
-  (bfd *, const char *);
-extern const char *bfd_elf_get_dt_soname
-  (bfd *);
-extern void bfd_elf_set_dyn_lib_class
-  (bfd *, enum dynamic_lib_link_class);
-extern int bfd_elf_get_dyn_lib_class
-  (bfd *);
-extern struct bfd_link_needed_list *bfd_elf_get_runpath_list
-  (bfd *, struct bfd_link_info *);
-extern int bfd_elf_discard_info
-  (bfd *, struct bfd_link_info *);
-extern unsigned int _bfd_elf_default_action_discarded
-  (struct bfd_section *);
-
-/* Return an upper bound on the number of bytes required to store a
-   copy of ABFD's program header table entries.  Return -1 if an error
-   occurs; bfd_get_error will return an appropriate code.  */
-extern long bfd_get_elf_phdr_upper_bound
-  (bfd *abfd);
-
-/* Copy ABFD's program header table entries to *PHDRS.  The entries
-   will be stored as an array of Elf_Internal_Phdr structures, as
-   defined in include/elf/internal.h.  To find out how large the
-   buffer needs to be, call bfd_get_elf_phdr_upper_bound.
-
-   Return the number of program header table entries read, or -1 if an
-   error occurs; bfd_get_error will return an appropriate code.  */
-extern int bfd_get_elf_phdrs
-  (bfd *abfd, void *phdrs);
-
-/* Create a new BFD as if by bfd_openr.  Rather than opening a file,
-   reconstruct an ELF file by reading the segments out of remote
-   memory based on the ELF file header at EHDR_VMA and the ELF program
-   headers it points to.  If non-zero, SIZE is the known extent of the
-   object.  If not null, *LOADBASEP is filled in with the difference
-   between the VMAs from which the segments were read, and the VMAs
-   the file headers (and hence BFD's idea of each section's VMA) put
-   them at.
-
-   The function TARGET_READ_MEMORY is called to copy LEN bytes from
-   the remote memory at target address VMA into the local buffer at
-   MYADDR; it should return zero on success or an `errno' code on
-   failure.  TEMPL must be a BFD for a target with the word size and
-   byte order found in the remote memory.  */
-extern bfd *bfd_elf_bfd_from_remote_memory
-  (bfd *templ, bfd_vma ehdr_vma, bfd_size_type size, bfd_vma *loadbasep,
-   int (*target_read_memory) (bfd_vma vma, bfd_byte *myaddr,
-			      bfd_size_type len));
-
-extern struct bfd_section *_bfd_elf_tls_setup
-  (bfd *, struct bfd_link_info *);
-
-extern struct bfd_section *
-_bfd_nearby_section (bfd *, struct bfd_section *, bfd_vma);
-
-extern void _bfd_fix_excluded_sec_syms
-  (bfd *, struct bfd_link_info *);
-
-extern unsigned bfd_m68k_mach_to_features (int);
-
-extern int bfd_m68k_features_to_mach (unsigned);
-
-extern bfd_boolean bfd_m68k_elf32_create_embedded_relocs
-  (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *,
-   char **);
-
-extern void bfd_elf_m68k_set_target_options (struct bfd_link_info *, int);
-
-extern bfd_boolean bfd_bfin_elf32_create_embedded_relocs
-  (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *,
-   char **);
-
-extern bfd_boolean bfd_cr16_elf32_create_embedded_relocs
-  (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *,
-   char **);
-
-/* SunOS shared library support routines for the linker.  */
-
-extern struct bfd_link_needed_list *bfd_sunos_get_needed_list
-  (bfd *, struct bfd_link_info *);
-extern bfd_boolean bfd_sunos_record_link_assignment
-  (bfd *, struct bfd_link_info *, const char *);
-extern bfd_boolean bfd_sunos_size_dynamic_sections
-  (bfd *, struct bfd_link_info *, struct bfd_section **,
-   struct bfd_section **, struct bfd_section **);
-
-/* Linux shared library support routines for the linker.  */
-
-extern bfd_boolean bfd_i386linux_size_dynamic_sections
-  (bfd *, struct bfd_link_info *);
-extern bfd_boolean bfd_sparclinux_size_dynamic_sections
-  (bfd *, struct bfd_link_info *);
 
 /* mmap hacks */
 
@@ -804,313 +536,31 @@ extern void bfd_free_window
   (bfd_window *);
 extern bfd_boolean bfd_get_file_window
   (bfd *, file_ptr, bfd_size_type, bfd_window *, bfd_boolean);
+
+/* Externally visible ELF routines.  */
 
-/* XCOFF support routines for the linker.  */
-
-extern bfd_boolean bfd_xcoff_split_import_path
-  (bfd *, const char *, const char **, const char **);
-extern bfd_boolean bfd_xcoff_set_archive_import_path
-  (struct bfd_link_info *, bfd *, const char *);
-extern bfd_boolean bfd_xcoff_link_record_set
-  (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, bfd_size_type);
-extern bfd_boolean bfd_xcoff_import_symbol
-  (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, bfd_vma,
-   const char *, const char *, const char *, unsigned int);
-extern bfd_boolean bfd_xcoff_export_symbol
-  (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *);
-extern bfd_boolean bfd_xcoff_link_count_reloc
-  (bfd *, struct bfd_link_info *, const char *);
-extern bfd_boolean bfd_xcoff_record_link_assignment
-  (bfd *, struct bfd_link_info *, const char *);
-extern bfd_boolean bfd_xcoff_size_dynamic_sections
-  (bfd *, struct bfd_link_info *, const char *, const char *,
-   unsigned long, unsigned long, unsigned long, bfd_boolean,
-   int, bfd_boolean, unsigned int, struct bfd_section **, bfd_boolean);
-extern bfd_boolean bfd_xcoff_link_generate_rtinit
-  (bfd *, const char *, const char *, bfd_boolean);
-
-/* XCOFF support routines for ar.  */
-extern bfd_boolean bfd_xcoff_ar_archive_set_magic
-  (bfd *, char *);
-
-/* Externally visible COFF routines.  */
-
-#if defined(__STDC__) || defined(ALMOST_STDC)
-struct internal_syment;
-union internal_auxent;
-#endif
-
-extern bfd_boolean bfd_coff_set_symbol_class
-  (bfd *, struct bfd_symbol *, unsigned int);
-
-/* ARM VFP11 erratum workaround support.  */
-typedef enum
-{
-  BFD_ARM_VFP11_FIX_DEFAULT,
-  BFD_ARM_VFP11_FIX_NONE,
-  BFD_ARM_VFP11_FIX_SCALAR,
-  BFD_ARM_VFP11_FIX_VECTOR
-} bfd_arm_vfp11_fix;
-
-extern void bfd_elf32_arm_init_maps
-  (bfd *);
-
-extern void bfd_elf32_arm_set_vfp11_fix
-  (bfd *, struct bfd_link_info *);
-
-extern void bfd_elf32_arm_set_cortex_a8_fix
-  (bfd *, struct bfd_link_info *);
-
-extern bfd_boolean bfd_elf32_arm_vfp11_erratum_scan
-  (bfd *, struct bfd_link_info *);
-
-extern void bfd_elf32_arm_vfp11_fix_veneer_locations
-  (bfd *, struct bfd_link_info *);
-
-/* ARM STM STM32L4XX erratum workaround support.  */
-typedef enum
-{
-  BFD_ARM_STM32L4XX_FIX_NONE,
-  BFD_ARM_STM32L4XX_FIX_DEFAULT,
-  BFD_ARM_STM32L4XX_FIX_ALL
-} bfd_arm_stm32l4xx_fix;
-
-extern void bfd_elf32_arm_set_stm32l4xx_fix
-  (bfd *, struct bfd_link_info *);
-
-extern bfd_boolean bfd_elf32_arm_stm32l4xx_erratum_scan
-  (bfd *, struct bfd_link_info *);
-
-extern void bfd_elf32_arm_stm32l4xx_fix_veneer_locations
-  (bfd *, struct bfd_link_info *);
-
-/* ARM Interworking support.  Called from linker.  */
-extern bfd_boolean bfd_arm_allocate_interworking_sections
-  (struct bfd_link_info *);
-
-extern bfd_boolean bfd_arm_process_before_allocation
-  (bfd *, struct bfd_link_info *, int);
-
-extern bfd_boolean bfd_arm_get_bfd_for_interworking
-  (bfd *, struct bfd_link_info *);
-
-/* PE ARM Interworking support.  Called from linker.  */
-extern bfd_boolean bfd_arm_pe_allocate_interworking_sections
-  (struct bfd_link_info *);
-
-extern bfd_boolean bfd_arm_pe_process_before_allocation
-  (bfd *, struct bfd_link_info *, int);
-
-extern bfd_boolean bfd_arm_pe_get_bfd_for_interworking
-  (bfd *, struct bfd_link_info *);
-
-/* ELF ARM Interworking support.  Called from linker.  */
-extern bfd_boolean bfd_elf32_arm_allocate_interworking_sections
-  (struct bfd_link_info *);
-
-extern bfd_boolean bfd_elf32_arm_process_before_allocation
-  (bfd *, struct bfd_link_info *);
-
-struct elf32_arm_params {
-  char *thumb_entry_symbol;
-  int byteswap_code;
-  int target1_is_rel;
-  char * target2_type;
-  int fix_v4bx;
-  int use_blx;
-  bfd_arm_vfp11_fix vfp11_denorm_fix;
-  bfd_arm_stm32l4xx_fix stm32l4xx_fix;
-  int no_enum_size_warning;
-  int no_wchar_size_warning;
-  int pic_veneer;
-  int fix_cortex_a8;
-  int fix_arm1176;
-  int merge_exidx_entries;
-  int cmse_implib;
-  bfd *in_implib_bfd;
-};
-
-void bfd_elf32_arm_set_target_params
-  (bfd *, struct bfd_link_info *, struct elf32_arm_params *);
-
-extern bfd_boolean bfd_elf32_arm_get_bfd_for_interworking
-  (bfd *, struct bfd_link_info *);
-
-extern bfd_boolean bfd_elf32_arm_add_glue_sections_to_bfd
-  (bfd *, struct bfd_link_info *);
+/* Create a new BFD as if by bfd_openr.  Rather than opening a file,
+   reconstruct an ELF file by reading the segments out of remote
+   memory based on the ELF file header at EHDR_VMA and the ELF program
+   headers it points to.  If non-zero, SIZE is the known extent of the
+   object.  If not null, *LOADBASEP is filled in with the difference
+   between the VMAs from which the segments were read, and the VMAs
+   the file headers (and hence BFD's idea of each section's VMA) put
+   them at.
 
-extern void bfd_elf32_arm_keep_private_stub_output_sections
-  (struct bfd_link_info *);
-
-/* ELF ARM mapping symbol support.  */
-#define BFD_ARM_SPECIAL_SYM_TYPE_MAP	(1 << 0)
-#define BFD_ARM_SPECIAL_SYM_TYPE_TAG	(1 << 1)
-#define BFD_ARM_SPECIAL_SYM_TYPE_OTHER	(1 << 2)
-#define BFD_ARM_SPECIAL_SYM_TYPE_ANY	(~0)
-
-extern bfd_boolean bfd_is_arm_special_symbol_name
-  (const char *, int);
-
-extern void bfd_elf32_arm_set_byteswap_code
-  (struct bfd_link_info *, int);
-
-extern void bfd_elf32_arm_use_long_plt (void);
-
-/* ARM Note section processing.  */
-extern bfd_boolean bfd_arm_merge_machines
-  (bfd *, bfd *);
-
-extern bfd_boolean bfd_arm_update_notes
-  (bfd *, const char *);
-
-extern unsigned int bfd_arm_get_mach_from_notes
-  (bfd *, const char *);
-
-/* ARM stub generation support.  Called from the linker.  */
-extern int elf32_arm_setup_section_lists
-  (bfd *, struct bfd_link_info *);
-extern void elf32_arm_next_input_section
-  (struct bfd_link_info *, struct bfd_section *);
-extern bfd_boolean elf32_arm_size_stubs
-  (bfd *, bfd *, struct bfd_link_info *, bfd_signed_vma,
-   struct bfd_section * (*) (const char *, struct bfd_section *,
-			     struct bfd_section *, unsigned int),
-   void (*) (void));
-extern bfd_boolean elf32_arm_build_stubs
-  (struct bfd_link_info *);
-
-/* ARM unwind section editing support.  */
-extern bfd_boolean elf32_arm_fix_exidx_coverage
-(struct bfd_section **, unsigned int, struct bfd_link_info *, bfd_boolean);
-
-/* C6x unwind section editing support.  */
-extern bfd_boolean elf32_tic6x_fix_exidx_coverage
-(struct bfd_section **, unsigned int, struct bfd_link_info *, bfd_boolean);
-
-extern void bfd_elf64_aarch64_init_maps
-  (bfd *);
-
-extern void bfd_elf32_aarch64_init_maps
-  (bfd *);
-
-/* Types of PLTs based on the level of security.  This would be a
-   bit-mask to denote which of the combinations of security features
-   are enabled:
-   - No security feature PLTs
-   - PLTs with BTI instruction
-   - PLTs with PAC instruction
-*/
-typedef enum
-{
-  PLT_NORMAL	= 0x0,  /* Normal plts.  */
-  PLT_BTI	= 0x1,  /* plts with bti.  */
-  PLT_PAC	= 0x2,  /* plts with pointer authentication.  */
-  PLT_BTI_PAC	= PLT_BTI | PLT_PAC
-} aarch64_plt_type;
+   The function TARGET_READ_MEMORY is called to copy LEN bytes from
+   the remote memory at target address VMA into the local buffer at
+   MYADDR; it should return zero on success or an `errno' code on
+   failure.  TEMPL must be a BFD for a target with the word size and
+   byte order found in the remote memory.  */
+extern bfd *bfd_elf_bfd_from_remote_memory
+  (bfd *templ, bfd_vma ehdr_vma, bfd_size_type size, bfd_vma *loadbasep,
+   int (*target_read_memory) (bfd_vma vma, bfd_byte *myaddr,
+			      bfd_size_type len));
 
-/* To indicate if BTI is enabled with/without warning.  */
-typedef enum
-{
-  BTI_NONE	= 0,  /* BTI is not enabled.  */
-  BTI_WARN	= 1,  /* BTI is enabled with -z force-bti.  */
-} aarch64_enable_bti_type;
-
-/* A structure to encompass all information coming from BTI or PAC
-   related command line options.  This involves the "PLT_TYPE" to determine
-   which version of PLTs to pick and "BTI_TYPE" to determine if
-   BTI should be turned on with any warnings.   */
-typedef struct
-{
-  aarch64_plt_type plt_type;
-  aarch64_enable_bti_type bti_type;
-} aarch64_bti_pac_info;
-
-/* An enum to define what kind of erratum fixes we should apply.  This gives the
-   user a bit more control over the sequences we generate.  */
-typedef enum
-{
-  ERRAT_NONE  = (1 << 0),  /* No erratum workarounds allowed.  */
-  ERRAT_ADR   = (1 << 1),  /* Erratum workarounds using ADR allowed.  */
-  ERRAT_ADRP  = (1 << 2),  /* Erratum workarounds using ADRP are allowed.  */
-} erratum_84319_opts;
-
-extern void bfd_elf64_aarch64_set_options
-  (bfd *, struct bfd_link_info *, int, int, int, int, erratum_84319_opts, int,
-   aarch64_bti_pac_info);
-
-extern void bfd_elf32_aarch64_set_options
-  (bfd *, struct bfd_link_info *, int, int, int, int, erratum_84319_opts, int,
-   aarch64_bti_pac_info);
-
-/* ELF AArch64 mapping symbol support.  */
-#define BFD_AARCH64_SPECIAL_SYM_TYPE_MAP	(1 << 0)
-#define BFD_AARCH64_SPECIAL_SYM_TYPE_TAG	(1 << 1)
-#define BFD_AARCH64_SPECIAL_SYM_TYPE_OTHER	(1 << 2)
-#define BFD_AARCH64_SPECIAL_SYM_TYPE_ANY	(~0)
-extern bfd_boolean bfd_is_aarch64_special_symbol_name
-  (const char * name, int type);
-
-/* AArch64 stub generation support for ELF64.  Called from the linker.  */
-extern int elf64_aarch64_setup_section_lists
-  (bfd *, struct bfd_link_info *);
-extern void elf64_aarch64_next_input_section
-  (struct bfd_link_info *, struct bfd_section *);
-extern bfd_boolean elf64_aarch64_size_stubs
-  (bfd *, bfd *, struct bfd_link_info *, bfd_signed_vma,
-   struct bfd_section * (*) (const char *, struct bfd_section *),
-   void (*) (void));
-extern bfd_boolean elf64_aarch64_build_stubs
-  (struct bfd_link_info *);
-/* AArch64 stub generation support for ELF32.  Called from the linker.  */
-extern int elf32_aarch64_setup_section_lists
-  (bfd *, struct bfd_link_info *);
-extern void elf32_aarch64_next_input_section
-  (struct bfd_link_info *, struct bfd_section *);
-extern bfd_boolean elf32_aarch64_size_stubs
-  (bfd *, bfd *, struct bfd_link_info *, bfd_signed_vma,
-   struct bfd_section * (*) (const char *, struct bfd_section *),
-   void (*) (void));
-extern bfd_boolean elf32_aarch64_build_stubs
-  (struct bfd_link_info *);
-
-
-/* TI COFF load page support.  */
-extern void bfd_ticoff_set_section_load_page
-  (struct bfd_section *, int);
-
-extern int bfd_ticoff_get_section_load_page
-  (struct bfd_section *);
-
-/* H8/300 functions.  */
-extern bfd_vma bfd_h8300_pad_address
-  (bfd *, bfd_vma);
-
-/* IA64 Itanium code generation.  Called from linker.  */
-extern void bfd_elf32_ia64_after_parse
-  (int);
-
-extern void bfd_elf64_ia64_after_parse
-  (int);
-
-/* V850 Note manipulation routines.  */
-extern bfd_boolean v850_elf_create_sections
-  (struct bfd_link_info *);
-
-extern bfd_boolean v850_elf_set_note
-  (bfd *, unsigned int, unsigned int);
-
-/* MIPS ABI flags data access.  For the disassembler.  */
-struct elf_internal_abiflags_v0;
-extern struct elf_internal_abiflags_v0 *bfd_mips_elf_get_abiflags (bfd *);
-
-/* C-SKY functions.  */
-extern bfd_boolean elf32_csky_build_stubs
-  (struct bfd_link_info *);
-extern bfd_boolean elf32_csky_size_stubs
-  (bfd *, bfd *, struct bfd_link_info *, bfd_signed_vma,
-   struct bfd_section *(*) (const char*, struct bfd_section*),
-   void (*) (void));
-extern void elf32_csky_next_input_section
-  (struct bfd_link_info *, struct bfd_section *);
-extern int elf32_csky_setup_section_lists
-  (bfd *, struct bfd_link_info *);
+/* Forward declarations.  */
+struct ecoff_debug_info;
+struct ecoff_debug_swap;
+struct ecoff_extr;
+struct bfd_link_info;
+struct bfd_link_hash_entry;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/ChangeLog ./bfd/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/ChangeLog	2019-09-17 01:49:39.000000000 +0000
+++ ./bfd/ChangeLog	2019-09-24 01:49:09.000000000 +0000
@@ -1,3 +1,397 @@
+2019-09-23  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (ppc64_elf_check_relocs): Use bfd_link_executable
+	in choosing between different actions for shared library and
+	non-shared library cases.  Delete ELIMINATE_COPY_RELOCS test.
+	(dec_dynrel_count): Likewise.  Account for ifunc special case.
+	(ppc64_elf_adjust_dynamic_symbol): Copy relocs are for executables,
+	not non-pic.
+	(allocate_dynrelocs): Comment fixes.  Delete ELIMINATE_COPY_RELOCS
+	test.
+
+2019-09-23  Alan Modra  <amodra@gmail.com>
+
+	* Makefile.am (SOURCE_HFILES): Add many missing .h files.
+	* Makefile.in: Regenerate.
+	* po/SRC-POTFILES.in: Regenerate.
+
+2019-09-23  Alan Modra  <amodra@gmail.com>
+
+	* bfd-in.h (bfd_symbol, bfd_section_already_linked),
+	(bfd_elf_version_tree): Delete forward declarations.
+	Move other forward decls and remaining elf function decl later.
+	(bfd_section_already_linked_table_init),
+	(bfd_section_already_linked_table_free),
+	(_bfd_handle_already_linked, _bfd_nearby_section),
+	(_bfd_fix_excluded_sec_syms): Move to bfdlink.h.
+
+2019-09-23  Alan Modra  <amodra@gmail.com>
+
+	* bfd-in.h: Move ecoff function declarations..
+	* ecoff-bfd.h: ..to here, new file.
+	* ecoff.c: Include ecoff-bfd.h.
+	* ecofflink.c: Likewise.
+	* elf64-alpha.c: Likewise.
+	* elfxx-mips.c: Likewise.
+	* bfd-in2.h: Regenerate.
+
+2019-09-23  Alan Modra  <amodra@gmail.com>
+
+	* bfd-in.h (enum notice_asneeded_action): Move to bfdlink.h.
+	Move most other elf declarations..
+	* elf-bfd.h: ..to here.
+	* bfd-in2.h: Regenerate.
+
+2019-09-23  Alan Modra  <amodra@gmail.com>
+
+	* bfd-in.h: Move m68k function declaration..
+	* cpu-m68k.h: ..to here, new file..
+	* elf32-m68k.h: ..and here, new file.
+	* elf32-m68k.c: Include cpu-m68k.h and elf32-m68k.h.
+	* bfd-in2.h: Regenerate.
+
+2019-09-23  Alan Modra  <amodra@gmail.com>
+
+	* bfd-in.h: Move bfin function declaration..
+	* elf32-bfin.h: ..to here, new file.
+	* elf32-bfin.c: Include elf32-bfin.h.
+	* bfd-in2.h: Regenerate.
+
+2019-09-23  Alan Modra  <amodra@gmail.com>
+
+	* bfd-in.h: Move cr16 function declaration..
+	* elf32-cr16.h: ..to here, new file.
+	* elf32-cr16.c: Include elf32-cr16.h.
+	* bfd-in2.h: Regenerate.
+
+2019-09-23  Alan Modra  <amodra@gmail.com>
+
+	* bfd-in.h (bfd_sunos_get_needed_list),
+	(bfd_sunos_record_link_assignment),
+	(bfd_sunos_size_dynamic_sections),
+	(bfd_i386linux_size_dynamic_sections),
+	(bfd_sparclinux_size_dynamic_sections): Delete obsolete decls.
+	* bfd-in2.h: Regenerate.
+
+2019-09-23  Alan Modra  <amodra@gmail.com>
+
+	* bfd-in.h: Move xcoff function declarations..
+	* xcofflink.h: ..to here, new file.
+	* xcofflink.c: Include xcofflink.h.
+	* coff-rs6000.c (bfd_xcoff_ar_archive_set_magic): Delete unused func.
+	* bfd-in2.h: Regenerate.
+
+2019-09-23  Alan Modra  <amodra@gmail.com>
+
+	* bfd-in.h: Delete coff forward refs and move coff declaration..
+	* coff-bfd.h: ..to here.
+	* bfd-in2.h: Regenerate.
+
+2019-09-23  Alan Modra  <amodra@gmail.com>
+
+	* bfd-in.h: Move arm declaraions..
+	* cpu-arm.h: ..to here, new file..
+	* coff-arm.h: ..and here, new file..
+	* elf32-arm.h: ..and here, new file.
+	* cpu-arm.c: Include cpu-arm.h.
+	* coff-arm.c: Include cpu-arm.h and coff-arm.h.
+	* elf32-arm.c: Include cpu-arm.h and elf32-arm.h.
+	* pe-arm.c: Move function rename defines later.
+	* pe-arm-wince.c: Likewise and include sysdep.h and bfd.h early.
+	* bfd-in2.h: Regenerate.
+
+2019-09-23  Alan Modra  <amodra@gmail.com>
+
+	* bfd-in.h: Move tic6x function declaration..
+	* elf32-tic6x.h: ..to here.
+	* bfd-in2.h: Regenerate.
+
+2019-09-23  Alan Modra  <amodra@gmail.com>
+
+	* bfd-in.h: Move aarch64 declarations and defines..
+	* cpu-aarch64.h: ..to here, new file..
+	* elfxx-aarch64.h: ..and here.
+	* cpu-aarch64.c: Include cpu-aarch64.h.
+	* elfnn-aarch64.c: Likewise.
+	* bfd-in2.h: Regenerate.
+
+2019-09-23  Alan Modra  <amodra@gmail.com>
+
+	* bfd-in.h: Delete ticoff function declarations.
+	* coff-tic54x.c (bfd_ticoff_set_section_load_page),
+	(bfd_ticoff_get_section_load_page): Make static.
+	* bfd-in2.h: Regenerate.
+
+2019-09-23  Alan Modra  <amodra@gmail.com>
+
+	* bfd-in.h: Move h8300 function declaration to..
+	* cpu-h8300.h: ..here, new file.
+	* cpu-h8300.c: Include cpu-h8300.h.
+	* elf32-h8300.c: Likewise.
+	* bfd-in2.h: Regenerate.
+
+2019-09-23  Alan Modra  <amodra@gmail.com>
+
+	* bfd-in.h: Move ia64 function declarations..
+	* elfxx-ia64.h: ..to here.
+	* bfd-in2.h: Regenerate.
+
+2019-09-23  Alan Modra  <amodra@gmail.com>
+
+	* bfd-in.h: Move v850 function declarations..
+	* elf32-v850.h: ..to here, new file.
+	* elf32-v850.c: Include elf32-v850.h.
+	* bfd-in2.h: Regenerate.
+
+2019-09-23  Alan Modra  <amodra@gmail.com>
+
+	* bfd-in.h: Move mips function declaration to..
+	* elfxx-mips.h: ..here.
+	* bfd-in2.h: Regenerate.
+
+2019-09-23  Alan Modra  <amodra@gmail.com>
+
+	* bfd-in.h: Move csky function declarations to..
+	* elf32-csky.h: ..here, new file.
+	* elf32-csky.c: Include elf32-csky.h.
+	* bfd-in2.h: Regenerate.
+
+2019-09-20  Nelson Chu <nelson.chu@sifive.com>
+
+	* elfnn-riscv.c (riscv_pcgp_hi_reloc): Add new field undefined_weak.
+	(riscv_record_pcgp_hi_reloc): New parameter undefined_weak.
+	Set undefined_weak field from it.
+	(relax_func_t): New parameter undefined_weak.
+	(_bfd_riscv_relax_call): New ignored parameter undefined_weak.
+	(_bfd_riscv_relax_tls_le): Likewise.
+	(_bfd_riscv_relax_align): Likewise.
+	(_bfd_riscv_relax_delete): Likewise.
+	(_bfd_riscv_relax_lui): New parameter undefined_weak.  If true,
+	allow relaxing.  For LO12* relocs, set rs1 to x0 when undefined_weak.
+	(_bfd_riscv_relax_pc): New parameter undefined_weak.  For LO12* relocs,
+	set undefined_weak from hi_reloc.  If true, allow relaxing.  For LO12*
+	relocs, set rs1 to x0 when undefined_weak and change to non-pcrel
+	reloc.
+	(_bfd_riscv_relax_section): New local undefined_weak.  Set for
+	undef weak relocs that can be relaxed.  Pass to relax_func call.
+
+2019-09-20  Alan Modra  <amodra@gmail.com>
+
+	* bfd-in.h (bfd_section_name, bfd_section_size, bfd_section_vma),
+	(bfd_section_lma, bfd_section_alignment, bfd_section_flags),
+	(bfd_section_userdata, bfd_is_com_section, discarded_section),
+	(bfd_get_section_limit_octets, bfd_get_section_limit): Delete macros.
+	* bfd.c (bfd_get_section_limit_octets, bfd_get_section_limit),
+	(bfd_section_list_remove, bfd_section_list_append),
+	(bfd_section_list_prepend, bfd_section_list_insert_after),
+	(bfd_section_list_insert_before, bfd_section_removed_from_list):
+	New inline functions.
+	* section.c (bfd_is_und_section, bfd_is_abs_section),
+	(bfd_is_ind_section, bfd_is_const_section, bfd_section_list_remove),
+	(bfd_section_list_append, bfd_section_list_prepend),
+	(bfd_section_list_insert_after, bfd_section_list_insert_before),
+	(bfd_section_removed_from_list): Delete macros.
+	(bfd_section_name, bfd_section_size, bfd_section_vma),
+	(bfd_section_lma, bfd_section_alignment, bfd_section_flags),
+	(bfd_section_userdata, bfd_is_com_section, bfd_is_und_section),
+	(bfd_is_abs_section, bfd_is_ind_section, bfd_is_const_section),
+	(discarded_section): New inline functions.
+	* bfd-in2.h: Regenerate.
+
+2019-09-20  Alan Modra  <amodra@gmail.com>
+
+	* bfd-in.h (bfd_asymbol_section, bfd_asymbol_value, bfd_asymbol_name),
+	(bfd_asymbol_bfd, bfd_asymbol_flavour, bfd_set_asymbol_name): Delete.
+	* bfd.c (bfd_asymbol_section, bfd_asymbol_value, bfd_asymbol_name),
+	(bfd_asymbol_bfd, bfd_set_asymbol_name): New inline functions.
+	* targets.c (bfd_asymbol_flavour): Likewise.
+	* bfd-in2.h: Regenerate.
+
+2019-09-20  Alan Modra  <amodra@gmail.com>
+
+	* archive.c (bfd_generic_archive_p): Use bfd_set_thin_archive.
+	* bfd-in.h (bfd_get_filename, bfd_get_cacheable, bfd_get_format),
+	(bfd_get_target, bfd_get_flavour, bfd_family_coff, bfd_big_endian),
+	(bfd_little_endian, bfd_header_big_endian, bfd_header_little_endian),
+	(bfd_get_file_flags, bfd_applicable_file_flags),
+	(bfd_applicable_section_flags, bfd_has_map, bfd_is_thin_archive),
+	(bfd_valid_reloc_types, bfd_usrdata, bfd_get_start_address),
+	(bfd_get_symcount, bfd_get_outsymbols, bfd_count_sections),
+	(bfd_get_dynamic_symcount, bfd_get_symbol_leading_char): Delete.
+	* bfd/bfd.c (bfd_get_filename, bfd_get_cacheable, bfd_get_format),
+	(bfd_get_file_flags, bfd_get_start_address, bfd_get_symcount),
+	(bfd_get_dynamic_symcount, bfd_get_outsymbols, bfd_count_sections),
+	(bfd_has_map, bfd_is_thin_archive, bfd_set_thin_archive),
+	(bfd_usrdata, bfd_set_usrdata): New inline functions.
+	* targets.c (bfd_get_target, bfd_get_flavour),
+	(bfd_applicable_file_flags, bfd_family_coff, bfd_big_endian),
+	(bfd_little_endian, bfd_header_big_endian),
+	(bfd_header_little_endian, bfd_applicable_section_flags),
+	(bfd_get_symbol_leading_char): New inline functions.
+	* bfd-in2.h: Regenerate.
+
+2019-09-20  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (ppc64_glibc_dynamic_reloc): New function.
+	(ppc64_elf_relocate_section): Warn if emitting unsupported dynamic
+	relocations.
+
+2019-09-18  Alan Modra  <amodra@gmail.com>
+
+	* bfd-in.h (bfd_get_section_name, bfd_get_section_vma),
+	(bfd_get_section_lma, bfd_get_section_alignment),
+	(bfd_get_section_size, bfd_get_section_flags),
+	(bfd_get_section_userdata): Delete.
+	(bfd_section_name, bfd_section_size, bfd_section_vma),
+	(bfd_section_lma, bfd_section_alignment): Lose bfd parameter.
+	(bfd_section_flags, bfd_section_userdata): New.
+	(bfd_is_com_section): Rename parameter.
+	* section.c (bfd_set_section_userdata, bfd_set_section_vma),
+	(bfd_set_section_alignment, bfd_set_section_flags, bfd_rename_section),
+	(bfd_set_section_size): Delete bfd parameter, rename section parameter.
+	(bfd_set_section_lma): New.
+	* bfd-in2.h: Regenerate.
+	* mach-o.c (bfd_mach_o_init_section_from_mach_o): Delete bfd param,
+	update callers.
+	* aoutx.h, * bfd.c, * coff-alpha.c, * coff-arm.c, * coff-mips.c,
+	* coff64-rs6000.c, * coffcode.h, * coffgen.c, * cofflink.c,
+	* compress.c, * ecoff.c, * elf-eh-frame.c, * elf-hppa.h,
+	* elf-ifunc.c, * elf-m10200.c, * elf-m10300.c, * elf-properties.c,
+	* elf-s390-common.c, * elf-vxworks.c, * elf.c, * elf32-arc.c,
+	* elf32-arm.c, * elf32-avr.c, * elf32-bfin.c, * elf32-cr16.c,
+	* elf32-cr16c.c, * elf32-cris.c, * elf32-crx.c, * elf32-csky.c,
+	* elf32-d10v.c, * elf32-epiphany.c, * elf32-fr30.c, * elf32-frv.c,
+	* elf32-ft32.c, * elf32-h8300.c, * elf32-hppa.c, * elf32-i386.c,
+	* elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c, * elf32-m32c.c,
+	* elf32-m32r.c, * elf32-m68hc1x.c, * elf32-m68k.c, * elf32-mcore.c,
+	* elf32-mep.c, * elf32-metag.c, * elf32-microblaze.c,
+	* elf32-moxie.c, * elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c,
+	* elf32-nios2.c, * elf32-or1k.c, * elf32-ppc.c, * elf32-pru.c,
+	* elf32-rl78.c, * elf32-rx.c, * elf32-s390.c, * elf32-score.c,
+	* elf32-score7.c, * elf32-sh.c, * elf32-spu.c, * elf32-tic6x.c,
+	* elf32-tilepro.c, * elf32-v850.c, * elf32-vax.c, * elf32-visium.c,
+	* elf32-xstormy16.c, * elf32-xtensa.c, * elf64-alpha.c,
+	* elf64-bpf.c, * elf64-hppa.c, * elf64-ia64-vms.c, * elf64-mmix.c,
+	* elf64-ppc.c, * elf64-s390.c, * elf64-sparc.c, * elf64-x86-64.c,
+	* elflink.c, * elfnn-aarch64.c, * elfnn-ia64.c, * elfnn-riscv.c,
+	* elfxx-aarch64.c, * elfxx-mips.c, * elfxx-sparc.c,
+	* elfxx-tilegx.c, * elfxx-x86.c, * i386msdos.c, * linker.c,
+	* mach-o.c, * mmo.c, * opncls.c, * pdp11.c, * pei-x86_64.c,
+	* peicode.h, * reloc.c, * section.c, * syms.c, * vms-alpha.c,
+	* xcofflink.c: Update throughout for bfd section macro and function
+	changes.
+
+2019-09-18  Alan Modra  <amodra@gmail.com>
+
+	* bfd-in.h (bfd_asymbol_section): Rename from bfd_get_section.
+	(bfd_get_output_section): Delete.
+	(bfd_asymbol_base): Delete.
+	(bfd_asymbol_section, bfd_asymbol_value, bfd_asymbol_name),
+	(bfd_asymbol_bfd, bfd_asymbol_flavour): Tidy.
+	(bfd_set_asymbol_name): New macro.
+	* bfd-in2.h: Regenerate.
+	* aout-cris.c: Update throughout to use bfd_asymbol_section.
+	* aoutx.h: Likewise.
+	* cofflink.c: Likewise.
+	* dwarf2.c: Likewise.
+	* ecoff.c: Likewise.
+	* elf.c: Likewise.
+	* elf32-arm.c: Likewise.
+	* elf32-mips.c: Likewise.
+	* elf32-score.c: Likewise.
+	* elf32-score7.c: Likewise.
+	* elfn32-mips.c: Likewise.
+	* elfnn-aarch64.c: Likewise.
+	* elfxx-mips.c: Likewise.
+	* linker.c: Likewise.
+	* pdp11.c: Likewise.
+	* elf64-mmix.c (mmix_elf_reloc): Part expand bfd_get_output_section.
+
+2019-09-18  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* Makefile.in: Re-generate.
+	* configure: Re-generate.
+	* doc/Makefile.in: Re-generate.
+
+2019-09-18  Alan Modra  <amodra@gmail.com>
+
+	* aoutx.h (slurp_symbol_table): Don't set symcount using bfd_get
+	macros.
+	* pdp11.c (slurp_symbol_table): Likewise.
+	* som.c (som_slurp_symbol_table): Likewise.
+	* coff-ppc.c (ppc_bfd_coff_final_link): Likewise.
+	* coffcode.h (coff_slurp_symbol_table): Likewise.
+	* cofflink.c (_bfd_coff_final_link): Likewise.
+	* ecoff.c (ecoff_slurp_symbolic_header): Likewise.
+	(_bfd_ecoff_slurp_symbolic_info): Likewise.
+	(_bfd_ecoff_slurp_symbol_table): Likewise.
+	(_bfd_ecoff_bfd_final_link): Likewise.
+	* elf.c (_bfd_elf_canonicalize_symtab): Likewise.
+	* elflink.c (elf_link_output_symstrtab): Likewise.
+	(bfd_elf_final_link): Likewise.
+	* peicode.h (pe_ILF_build_a_bfd): Likewise.
+	* xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise.
+	* aoutx.h (some_aout_object_p, slurp_symbol_table): Don't set
+	start_address or symcount using bfd_get macros.
+	* coffgen.c (coff_real_object_p): Likewise.
+	* pdp11.c (some_aout_object_p, slurp_symbol_table): Likewise.
+	* som.c (som_object_setup, som_slurp_symbol_table): Likewise.
+	* elfcore.h (elf_core_file_p): Don't set start_address using
+	bfd_get macro.
+	* elf.c (_bfd_elf_canonicalize_dynamic_symtab): Don't set dynsymcount
+	using bfd_get macro.
+	* bfd.c (bfd_set_file_flags): Don't set flags using bfd_get macro.
+	* linker.c (bfd_generic_link_read_symbols): Don't set outsymbols
+	or symcount using bfd_get macros.
+	(_bfd_generic_final_link, generic_add_output_symbol): Likewise.
+	* syms.c (bfd_set_symtab): Likewise.
+	* vms-alpha.c (alpha_vms_bfd_final_link): Likewise.
+	* archive.c (do_slurp_bsd_armap): Don't set has_armap using
+	bfd_has_map macro.
+	(do_slurp_coff_armap, bfd_slurp_armap): Likewise.
+	* archive64.c (_bfd_archive_64_bit_slurp_armap): Likewise.
+	* coff-rs6000.c (_bfd_xcoff_slurp_armap): Likewise.
+	* coff64-rs6000.c (xcoff64_slurp_armap): Likewise.
+	* ecoff.c (_bfd_ecoff_slurp_armap): Likewise.
+	* som.c (som_slurp_armap): Likewise.
+
+2019-09-18  Alan Modra  <amodra@gmail.com>
+
+	* archures.c (bfd_get_arch): Make param const.
+	(bfd_get_mach, bfd_arch_bits_per_byte): Likewise.
+	(bfd_arch_bits_per_address, bfd_octets_per_byte): Likewise.
+	* bfd-in2.h: Regenerate.
+
+2019-09-18  Alan Modra  <amodra@gmail.com>
+
+	* bfd-in.h (carsym.name): Make const.
+	* reloc.c (struct reloc_howto_struct.name): Likewise.
+	* targets.c (bfd_target.name): Likewise.!
+	* bfd.c (bfd_get_sign_extend_vma): Make variable const.
+	* som.c (som_bfd_fill_in_ar_symbols): Use an intermediary variable
+	when setting carsym.name.
+	* bfd-in2.h: Regenerate.
+
+2019-09-18  Alan Modra  <amodra@gmail.com>
+
+	* mach-o.c (bfd_mach_o_fat_member_init): Likewise.  Replace
+	xstrdup and xmalloc with bfd_strdup and bfd_malloc.  Return an
+	error status.  Adjust calls.
+	* vms-lib.c (_bfd_vms_lib_get_module): Test mhd->id earlier.
+	Close bfd on failure.  Replace xstrdup/bfd_alloc use with
+	bfd_malloc.  Use bfd_set_filename.
+
+2019-09-18  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (must_be_dyn_reloc): Return 0 for TOC16 relocs.
+	(ppc64_elf_check_relocs): Support dynamic/copy relocs for TOC16.
+	(ppc64_elf_adjust_dynamic_symbol): Don't keep dynamic reloc when
+	needs_copy even if all relocs are in rw sections.
+	(dec_dynrel_count): Handle TOC16 relocs.
+	(ppc64_elf_relocate_section): Support dynamic relocs for TOC16.
+	(ppc64_elf_finish_dynamic_symbol): Adjust to handle needs_copy
+	semantic change.
+
 2019-09-16  Phil Blundell  <pb@pbcl.net>
 
 	* version.m4: Set version to 2.33.50.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/coff64-rs6000.c ./bfd/coff64-rs6000.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/coff64-rs6000.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/coff64-rs6000.c	2019-09-24 01:49:09.000000000 +0000
@@ -959,7 +959,7 @@ xcoff64_write_object_contents (bfd *abfd
       if (text_sec != NULL)
 	{
 	  internal_a.o_sntext = text_sec->target_index;
-	  internal_a.o_algntext = bfd_get_section_alignment (abfd, text_sec);
+	  internal_a.o_algntext = bfd_section_alignment (text_sec);
 	}
       else
 	{
@@ -970,7 +970,7 @@ xcoff64_write_object_contents (bfd *abfd
       if (data_sec != NULL)
 	{
 	  internal_a.o_sndata = data_sec->target_index;
-	  internal_a.o_algndata = bfd_get_section_alignment (abfd, data_sec);
+	  internal_a.o_algndata = bfd_section_alignment (data_sec);
 	}
       else
 	{
@@ -1906,7 +1906,7 @@ xcoff64_slurp_armap (bfd *abfd)
 
   if (xcoff_ardata (abfd) == NULL)
     {
-      bfd_has_map (abfd) = FALSE;
+      abfd->has_armap = FALSE;
       return TRUE;
     }
 
@@ -1914,7 +1914,7 @@ xcoff64_slurp_armap (bfd *abfd)
 		      (const char **) NULL, 10);
   if (off == 0)
     {
-      bfd_has_map (abfd) = FALSE;
+      abfd->has_armap = FALSE;
       return TRUE;
     }
 
@@ -1976,7 +1976,7 @@ xcoff64_slurp_armap (bfd *abfd)
     }
 
   bfd_ardata (abfd)->symdef_count = c;
-  bfd_has_map (abfd) = TRUE;
+  abfd->has_armap = TRUE;
 
   return TRUE;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/coff-alpha.c ./bfd/coff-alpha.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/coff-alpha.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/coff-alpha.c	2019-09-24 01:49:09.000000000 +0000
@@ -426,7 +426,7 @@ alpha_ecoff_object_p (bfd *abfd)
 	  size = sec->line_filepos * 8;
 	  BFD_ASSERT (size == sec->size
 		      || size + 8 == sec->size);
-	  if (! bfd_set_section_size (abfd, sec, size))
+	  if (!bfd_set_section_size (sec, size))
 	    return NULL;
 	}
     }
@@ -1237,7 +1237,7 @@ alpha_convert_external_reloc (bfd *outpu
 
       /* Compute a new r_symndx value.  */
       hsec = h->root.u.def.section;
-      name = bfd_get_section_name (output_bfd, hsec->output_section);
+      name = bfd_section_name (hsec->output_section);
 
       r_symndx = (unsigned long) -1;
       switch (name[1])
@@ -1928,8 +1928,7 @@ alpha_relocate_section (bfd *output_bfd,
 		    if (r_extern)
 		      name = sym_hashes[r_symndx]->root.root.string;
 		    else
-		      name = bfd_section_name (input_bfd,
-					       symndx_to_section[r_symndx]);
+		      name = bfd_section_name (symndx_to_section[r_symndx]);
 		    (*info->callbacks->reloc_overflow)
 		      (info, NULL, name, alpha_howto_table[r_type].name,
 		       (bfd_vma) 0, input_bfd, input_section,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/coff-arm.c ./bfd/coff-arm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/coff-arm.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/coff-arm.c	2019-09-24 01:49:09.000000000 +0000
@@ -24,6 +24,8 @@
 #include "libbfd.h"
 #include "coff/arm.h"
 #include "coff/internal.h"
+#include "cpu-arm.h"
+#include "coff-arm.h"
 
 #ifdef COFF_WITH_PE
 #include "coff/pe.h"
@@ -1989,7 +1991,7 @@ bfd_arm_get_bfd_for_interworking (bfd *	
       sec = bfd_make_section_with_flags (abfd, ARM2THUMB_GLUE_SECTION_NAME,
 					 flags);
       if (sec == NULL
-	  || ! bfd_set_section_alignment (abfd, sec, 2))
+	  || !bfd_set_section_alignment (sec, 2))
 	return FALSE;
     }
 
@@ -2003,7 +2005,7 @@ bfd_arm_get_bfd_for_interworking (bfd *	
 					 flags);
 
       if (sec == NULL
-	  || ! bfd_set_section_alignment (abfd, sec, 2))
+	  || !bfd_set_section_alignment (sec, 2))
 	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-8.3.50.20190917/bfd/coff-arm.h ./bfd/coff-arm.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/coff-arm.h	1970-01-01 00:00:00.000000000 +0000
+++ ./bfd/coff-arm.h	2019-09-24 01:49:09.000000000 +0000
@@ -0,0 +1,29 @@
+/* BFD back-end for ARM COFF files.
+   Copyright (C) 2019 Free Software Foundation, Inc.
+
+   This file is part of BFD, the Binary File Descriptor library.
+
+   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, write to the Free Software
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
+
+/* ARM Interworking support.  Called from linker.  */
+extern bfd_boolean bfd_arm_allocate_interworking_sections
+  (struct bfd_link_info *);
+
+extern bfd_boolean bfd_arm_process_before_allocation
+  (bfd *, struct bfd_link_info *, int);
+
+extern bfd_boolean bfd_arm_get_bfd_for_interworking
+  (bfd *, struct bfd_link_info *);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/coff-bfd.h ./bfd/coff-bfd.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/coff-bfd.h	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/coff-bfd.h	2019-09-24 01:49:09.000000000 +0000
@@ -86,3 +86,6 @@ extern bfd_boolean bfd_coff_get_syment
 
 extern bfd_boolean bfd_coff_get_auxent
   (bfd *, struct bfd_symbol *, int, union internal_auxent *);
+
+extern bfd_boolean bfd_coff_set_symbol_class
+  (bfd *, struct bfd_symbol *, unsigned int);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/coffcode.h ./bfd/coffcode.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/coffcode.h	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/coffcode.h	2019-09-24 01:49:09.000000000 +0000
@@ -1696,7 +1696,7 @@ coff_set_custom_section_alignment (bfd *
 
   for (i = 0; i < table_size; ++i)
     {
-      const char *secname = bfd_get_section_name (abfd, section);
+      const char *secname = bfd_section_name (section);
 
       if (alignment_table[i].comparison_length == (unsigned int) -1
 	  ? strcmp (alignment_table[i].name, secname) == 0
@@ -1759,17 +1759,17 @@ coff_new_section_hook (bfd * abfd, asect
 
 #ifdef RS6000COFF_C
   if (bfd_xcoff_text_align_power (abfd) != 0
-      && strcmp (bfd_get_section_name (abfd, section), ".text") == 0)
+      && strcmp (bfd_section_name (section), ".text") == 0)
     section->alignment_power = bfd_xcoff_text_align_power (abfd);
   else if (bfd_xcoff_data_align_power (abfd) != 0
-      && strcmp (bfd_get_section_name (abfd, section), ".data") == 0)
+      && strcmp (bfd_section_name (section), ".data") == 0)
     section->alignment_power = bfd_xcoff_data_align_power (abfd);
   else
     {
       int i;
 
       for (i = 0; i < XCOFF_DWSECT_NBR_NAMES; i++)
-	if (strcmp (bfd_get_section_name (abfd, section),
+	if (strcmp (bfd_section_name (section),
 		    xcoff_dwsect_names[i].name) == 0)
 	  {
 	    section->alignment_power = 0;
@@ -3221,7 +3221,7 @@ coff_compute_section_file_positions (bfd
 	 incremented in coff_set_section_contents.  This is right for
 	 SVR3.2.  */
       if (strcmp (current->name, _LIB) == 0)
-	(void) bfd_set_section_vma (abfd, current, 0);
+	bfd_set_section_vma (current, 0);
 #endif
 
 #ifdef ALIGN_SECTIONS_IN_FILE
@@ -4011,7 +4011,7 @@ coff_write_object_contents (bfd * abfd)
       if (text_sec != NULL)
 	{
 	  internal_a.o_sntext = text_sec->target_index;
-	  internal_a.o_algntext = bfd_get_section_alignment (abfd, text_sec);
+	  internal_a.o_algntext = bfd_section_alignment (text_sec);
 	}
       else
 	{
@@ -4021,7 +4021,7 @@ coff_write_object_contents (bfd * abfd)
       if (data_sec != NULL)
 	{
 	  internal_a.o_sndata = data_sec->target_index;
-	  internal_a.o_algndata = bfd_get_section_alignment (abfd, data_sec);
+	  internal_a.o_algndata = bfd_section_alignment (data_sec);
 	}
       else
 	{
@@ -4390,8 +4390,7 @@ coff_slurp_line_table (bfd *abfd, asecti
 	   PR 17521: file: 078-10659-0.004.  */
 	continue;
       else
-	cache_ptr->u.offset = (dst.l_addr.l_paddr
-			       - bfd_section_vma (abfd, asect));
+	cache_ptr->u.offset = dst.l_addr.l_paddr - bfd_section_vma (asect);
       cache_ptr++;
     }
 
@@ -4809,7 +4808,7 @@ coff_slurp_symbol_table (bfd * abfd)
   obj_symbols (abfd) = cached_area;
   obj_raw_syments (abfd) = native_symbols;
 
-  bfd_get_symcount (abfd) = number_of_symbols;
+  abfd->symcount = number_of_symbols;
   obj_convert (abfd) = table_ptr;
   /* Slurp the line tables for each section too.  */
   {
@@ -4886,7 +4885,7 @@ coff_classify_symbol (bfd *abfd,
 	  name = _bfd_coff_internal_syment_name (abfd, syment, buf)
 	  sec = coff_section_from_bfd_index (abfd, syment->n_scnum);
 	  if (sec != NULL && name != NULL
-	      && (strcmp (bfd_get_section_name (abfd, sec), name) == 0))
+	      && (strcmp (bfd_section_name (sec), name) == 0))
 	    return COFF_SYMBOL_PE_SECTION;
 	}
 #endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/coffgen.c ./bfd/coffgen.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/coffgen.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/coffgen.c	2019-09-24 01:49:09.000000000 +0000
@@ -217,7 +217,7 @@ make_a_section_from_file (bfd *abfd,
 	  break;
 	}
       if (new_name != NULL)
-	bfd_rename_section (abfd, return_section, new_name);
+	bfd_rename_section (return_section, new_name);
     }
 
   return result;
@@ -257,14 +257,14 @@ coff_real_object_p (bfd *abfd,
   if ((internal_f->f_flags & F_EXEC) != 0)
     abfd->flags |= D_PAGED;
 
-  bfd_get_symcount (abfd) = internal_f->f_nsyms;
+  abfd->symcount = internal_f->f_nsyms;
   if (internal_f->f_nsyms)
     abfd->flags |= HAS_SYMS;
 
   if (internal_a != (struct internal_aouthdr *) NULL)
-    bfd_get_start_address (abfd) = internal_a->entry;
+    abfd->start_address = internal_a->entry;
   else
-    bfd_get_start_address (abfd) = 0;
+    abfd->start_address = 0;
 
   /* Set up the tdata area.  ECOFF uses its own routine, and overrides
      abfd->flags.  */
@@ -309,7 +309,7 @@ coff_real_object_p (bfd *abfd,
  fail2:
   abfd->tdata.any = tdata_save;
   abfd->flags = oflags;
-  bfd_get_start_address (abfd) = ostart;
+  abfd->start_address = ostart;
   return (const bfd_target *) NULL;
 }
 
@@ -2366,7 +2366,7 @@ coff_find_nearest_line_with_names (bfd *
       bfd_vma maxdiff;
 
       /* Look through the C_FILE symbols to find the best one.  */
-      sec_vma = bfd_get_section_vma (abfd, section);
+      sec_vma = bfd_section_vma (section);
       *filename_ptr = (char *) p->u.syment._n._n_n._n_offset;
       maxdiff = (bfd_vma) 0 - (bfd_vma) 1;
       while (1)
@@ -2658,7 +2658,7 @@ _bfd_coff_section_already_linked (bfd *a
   if ((flags & SEC_GROUP) != 0)
     return FALSE;
 
-  name = bfd_get_section_name (abfd, sec);
+  name = bfd_section_name (sec);
   s_comdat = bfd_coff_get_comdat_section (abfd, sec);
 
   if (s_comdat != NULL)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/cofflink.c ./bfd/cofflink.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/cofflink.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/cofflink.c	2019-09-24 01:49:09.000000000 +0000
@@ -902,7 +902,7 @@ _bfd_coff_final_link (bfd *abfd,
 					bfd_asymbol_name(sym), FALSE, FALSE)
 		       == NULL))
 		  || (((flaginfo.info->discard == discard_sec_merge
-			&& (bfd_get_section (sym)->flags & SEC_MERGE)
+			&& (bfd_asymbol_section (sym)->flags & SEC_MERGE)
 			&& ! bfd_link_relocatable (flaginfo.info))
 		       || flaginfo.info->discard == discard_l)
 		      && bfd_is_local_label_name (sub, bfd_asymbol_name(sym))))
@@ -1186,9 +1186,9 @@ _bfd_coff_final_link (bfd *abfd,
 
   _bfd_stringtab_free (flaginfo.strtab);
 
-  /* Setting bfd_get_symcount to 0 will cause write_object_contents to
+  /* Setting symcount to 0 will cause write_object_contents to
      not try to write out the symbols.  */
-  bfd_get_symcount (abfd) = 0;
+  abfd->symcount = 0;
 
   return TRUE;
 
@@ -2846,8 +2846,7 @@ _bfd_coff_reloc_link_order (bfd *output_
 	  (*flaginfo->info->callbacks->reloc_overflow)
 	    (flaginfo->info, NULL,
 	     (link_order->type == bfd_section_reloc_link_order
-	      ? bfd_section_name (output_bfd,
-				  link_order->u.reloc.p->u.section)
+	      ? bfd_section_name (link_order->u.reloc.p->u.section)
 	      : link_order->u.reloc.p->u.name),
 	     howto->name, link_order->u.reloc.p->addend,
 	     (bfd *) NULL, (asection *) NULL, (bfd_vma) 0);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/coff-mips.c ./bfd/coff-mips.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/coff-mips.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/coff-mips.c	2019-09-24 01:49:09.000000000 +0000
@@ -1012,8 +1012,7 @@ mips_relocate_section (bfd *output_bfd,
 
 		  /* Compute a new r_symndx value.  */
 		  s = h->root.u.def.section;
-		  name = bfd_get_section_name (output_bfd,
-					       s->output_section);
+		  name = bfd_section_name (s->output_section);
 
 		  int_rel.r_symndx = -1;
 		  switch (name[1])
@@ -1223,7 +1222,7 @@ mips_relocate_section (bfd *output_bfd,
 		if (int_rel.r_extern)
 		  name = NULL;
 		else
-		  name = bfd_section_name (input_bfd, s);
+		  name = bfd_section_name (s);
 		(*info->callbacks->reloc_overflow)
 		  (info, (h ? &h->root : NULL), name, howto->name,
 		   (bfd_vma) 0, input_bfd, input_section,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/coff-ppc.c ./bfd/coff-ppc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/coff-ppc.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/coff-ppc.c	2019-09-24 01:49:09.000000000 +0000
@@ -2420,9 +2420,9 @@ ppc_bfd_coff_final_link (bfd *abfd, stru
 
   _bfd_stringtab_free (flaginfo.strtab);
 
-  /* Setting bfd_get_symcount to 0 will cause write_object_contents to
+  /* Setting symcount to 0 will cause write_object_contents to
      not try to write out the symbols.  */
-  bfd_get_symcount (abfd) = 0;
+  abfd->symcount = 0;
 
   return TRUE;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/coff-rs6000.c ./bfd/coff-rs6000.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/coff-rs6000.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/coff-rs6000.c	2019-09-24 01:49:09.000000000 +0000
@@ -1169,20 +1169,6 @@ _bfd_xcoff_reloc_name_lookup (bfd *abfd 
    to take care that we are not generating the new form of archives
    on AIX 4.2 or earlier systems.  */
 
-/* XCOFF archives use this as a magic string.  Note that both strings
-   have the same length.  */
-
-/* Set the magic for archive.  */
-
-bfd_boolean
-bfd_xcoff_ar_archive_set_magic (bfd *abfd ATTRIBUTE_UNUSED,
-				char *magic ATTRIBUTE_UNUSED)
-{
-  /* Not supported yet.  */
-  return FALSE;
- /* bfd_xcoff_archive_set_magic (abfd, magic); */
-}
-
 /* PR 21786:  The PE/COFF standard does not require NUL termination for any of
    the ASCII fields in the archive headers.  So in order to be able to extract
    numerical values we provide our own versions of strtol and strtoll which
@@ -1243,7 +1229,7 @@ _bfd_xcoff_slurp_armap (bfd *abfd)
 
   if (xcoff_ardata (abfd) == NULL)
     {
-      bfd_has_map (abfd) = FALSE;
+      abfd->has_armap = FALSE;
       return TRUE;
     }
 
@@ -1255,7 +1241,7 @@ _bfd_xcoff_slurp_armap (bfd *abfd)
       GET_VALUE_IN_FIELD (off, xcoff_ardata (abfd)->symoff, 10);
       if (off == 0)
 	{
-	  bfd_has_map (abfd) = FALSE;
+	  abfd->has_armap = FALSE;
 	  return TRUE;
 	}
 
@@ -1310,7 +1296,7 @@ _bfd_xcoff_slurp_armap (bfd *abfd)
       GET_VALUE_IN_FIELD (off, xcoff_ardata_big (abfd)->symoff, 10);
       if (off == 0)
 	{
-	  bfd_has_map (abfd) = FALSE;
+	  abfd->has_armap = FALSE;
 	  return TRUE;
 	}
 
@@ -1373,7 +1359,7 @@ _bfd_xcoff_slurp_armap (bfd *abfd)
     }
 
   bfd_ardata (abfd)->symdef_count = c;
-  bfd_has_map (abfd) = TRUE;
+  abfd->has_armap = TRUE;
 
   return TRUE;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/coff-tic54x.c ./bfd/coff-tic54x.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/coff-tic54x.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/coff-tic54x.c	2019-09-24 01:49:09.000000000 +0000
@@ -82,14 +82,14 @@ tic54x_getl_signed_32 (const void *p)
 #define coff_get_section_load_page bfd_ticoff_get_section_load_page
 #define coff_set_section_load_page bfd_ticoff_set_section_load_page
 
-void
+static void
 bfd_ticoff_set_section_load_page (asection *sect,
 				  int page)
 {
   sect->lma = (sect->lma & ADDR_MASK) | PG_TO_FLAG(page);
 }
 
-int
+static int
 bfd_ticoff_get_section_load_page (asection *sect)
 {
   int page;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/compress.c ./bfd/compress.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/compress.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/compress.c	2019-09-24 01:49:09.000000000 +0000
@@ -155,8 +155,7 @@ bfd_compress_section_contents (bfd *abfd
 	      return 0;
 	    }
 	  free (uncompressed_buffer);
-	  bfd_set_section_alignment (abfd, sec,
-				     orig_uncompressed_alignment_pow);
+	  bfd_set_section_alignment (sec, orig_uncompressed_alignment_pow);
 
 	  sec->contents = buffer;
 	  sec->compress_status = COMPRESS_SECTION_DONE;
@@ -255,7 +254,7 @@ bfd_get_full_section_contents (bfd *abfd
 	      && filesize < sz
 	      /* PR 24753: Linker created sections can be larger than
 		 the file size, eg if they are being used to hold stubs.  */
-	      && (bfd_get_section_flags (abfd, sec) & SEC_LINKER_CREATED) == 0
+	      && (bfd_section_flags (sec) & SEC_LINKER_CREATED) == 0
 	      /* The MMO file format supports its own special compression
 		 technique, but it uses COMPRESS_SECTION_NONE when loading
 		 a section's contents.  */
@@ -552,7 +551,7 @@ bfd_init_section_decompress_status (bfd 
 
   sec->compressed_size = sec->size;
   sec->size = uncompressed_size;
-  bfd_set_section_alignment (abfd, sec, uncompressed_alignment_power);
+  bfd_set_section_alignment (sec, uncompressed_alignment_power);
   sec->compress_status = DECOMPRESS_SECTION_SIZED;
 
   return TRUE;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/configure ./bfd/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/configure	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/configure	2019-09-24 01:49:09.000000000 +0000
@@ -793,7 +793,6 @@ infodir
 docdir
 oldincludedir
 includedir
-runstatedir
 localstatedir
 sharedstatedir
 sysconfdir
@@ -890,7 +889,6 @@ datadir='${datarootdir}'
 sysconfdir='${prefix}/etc'
 sharedstatedir='${prefix}/com'
 localstatedir='${prefix}/var'
-runstatedir='${localstatedir}/run'
 includedir='${prefix}/include'
 oldincludedir='/usr/include'
 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@@ -1143,15 +1141,6 @@ do
   | -silent | --silent | --silen | --sile | --sil)
     silent=yes ;;
 
-  -runstatedir | --runstatedir | --runstatedi | --runstated \
-  | --runstate | --runstat | --runsta | --runst | --runs \
-  | --run | --ru | --r)
-    ac_prev=runstatedir ;;
-  -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
-  | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
-  | --run=* | --ru=* | --r=*)
-    runstatedir=$ac_optarg ;;
-
   -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
     ac_prev=sbindir ;;
   -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1289,7 +1278,7 @@ fi
 for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
 		datadir sysconfdir sharedstatedir localstatedir includedir \
 		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-		libdir localedir mandir runstatedir
+		libdir localedir mandir
 do
   eval ac_val=\$$ac_var
   # Remove trailing slashes.
@@ -1442,7 +1431,6 @@ Fine tuning of the installation director
   --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
   --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
   --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
-  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]
   --libdir=DIR            object code libraries [EPREFIX/lib]
   --includedir=DIR        C header files [PREFIX/include]
   --oldincludedir=DIR     C header files for non-gcc [/usr/include]
@@ -11740,7 +11728,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 11743 "configure"
+#line 11731 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11846,7 +11834,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 11849 "configure"
+#line 11837 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12235,7 +12223,7 @@ else
     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 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+#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];
@@ -12281,7 +12269,7 @@ else
     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 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+#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];
@@ -12305,7 +12293,7 @@ rm -f core conftest.err conftest.$ac_obj
     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 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+#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];
@@ -12350,7 +12338,7 @@ else
     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 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+#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];
@@ -12374,7 +12362,7 @@ rm -f core conftest.err conftest.$ac_obj
     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 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+#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];
@@ -16368,8 +16356,6 @@ main ()
     if (*(data + i) != *(data3 + i))
       return 14;
   close (fd);
-  free (data);
-  free (data3);
   return 0;
 }
 _ACEOF
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/cpu-aarch64.c ./bfd/cpu-aarch64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/cpu-aarch64.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/cpu-aarch64.c	2019-09-24 01:49:09.000000000 +0000
@@ -22,6 +22,7 @@
 #include "bfd.h"
 #include "libbfd.h"
 #include "libiberty.h"
+#include "cpu-aarch64.h"
 
 /* This routine is provided two arch_infos and works out which Aarch64
    machine which would be compatible with both and returns a pointer
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/cpu-aarch64.h ./bfd/cpu-aarch64.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/cpu-aarch64.h	1970-01-01 00:00:00.000000000 +0000
+++ ./bfd/cpu-aarch64.h	2019-09-24 01:49:09.000000000 +0000
@@ -0,0 +1,25 @@
+/* ELF AArch64 mapping symbol support
+   Copyright (C) 2019 Free Software Foundation, Inc.
+
+   This file is part of BFD, the Binary File Descriptor library.
+
+   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; see the file COPYING3. If not,
+   see <http://www.gnu.org/licenses/>.  */
+
+#define BFD_AARCH64_SPECIAL_SYM_TYPE_MAP	(1 << 0)
+#define BFD_AARCH64_SPECIAL_SYM_TYPE_TAG	(1 << 1)
+#define BFD_AARCH64_SPECIAL_SYM_TYPE_OTHER	(1 << 2)
+#define BFD_AARCH64_SPECIAL_SYM_TYPE_ANY	(~0)
+extern bfd_boolean bfd_is_aarch64_special_symbol_name
+  (const char * name, int type);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/cpu-arm.c ./bfd/cpu-arm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/cpu-arm.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/cpu-arm.c	2019-09-24 01:49:09.000000000 +0000
@@ -23,6 +23,7 @@
 #include "bfd.h"
 #include "libbfd.h"
 #include "libiberty.h"
+#include "cpu-arm.h"
 
 /* This routine is provided two arch_infos and works out which ARM
    machine which would be compatible with both and returns a pointer
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/cpu-arm.h ./bfd/cpu-arm.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/cpu-arm.h	1970-01-01 00:00:00.000000000 +0000
+++ ./bfd/cpu-arm.h	2019-09-24 01:49:09.000000000 +0000
@@ -0,0 +1,39 @@
+/* BFD support for the ARM processor
+   Copyright (C) 2019 Free Software Foundation, Inc.
+
+   This file is part of BFD, the Binary File Descriptor library.
+
+   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, write to the Free Software
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
+
+/* ARM Note section processing.  */
+extern bfd_boolean bfd_arm_merge_machines
+  (bfd *, bfd *);
+
+extern bfd_boolean bfd_arm_update_notes
+  (bfd *, const char *);
+
+extern unsigned int bfd_arm_get_mach_from_notes
+  (bfd *, const char *);
+
+/* ELF ARM mapping symbol support.  */
+#define BFD_ARM_SPECIAL_SYM_TYPE_MAP	(1 << 0)
+#define BFD_ARM_SPECIAL_SYM_TYPE_TAG	(1 << 1)
+#define BFD_ARM_SPECIAL_SYM_TYPE_OTHER	(1 << 2)
+#define BFD_ARM_SPECIAL_SYM_TYPE_ANY	(~0)
+
+extern bfd_boolean bfd_is_arm_special_symbol_name
+  (const char *, int);
+
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/cpu-h8300.c ./bfd/cpu-h8300.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/cpu-h8300.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/cpu-h8300.c	2019-09-24 01:49:09.000000000 +0000
@@ -22,6 +22,7 @@
 #include "sysdep.h"
 #include "bfd.h"
 #include "libbfd.h"
+#include "cpu-h8300.h"
 
 static bfd_boolean
 h8300_scan (const struct bfd_arch_info *info, const char *string)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/cpu-h8300.h ./bfd/cpu-h8300.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/cpu-h8300.h	1970-01-01 00:00:00.000000000 +0000
+++ ./bfd/cpu-h8300.h	2019-09-24 01:49:09.000000000 +0000
@@ -0,0 +1,22 @@
+/* H8/300 functions.
+   Copyright (C) 2019 Free Software Foundation, Inc.
+
+   This file is part of BFD, the Binary File Descriptor library.
+
+   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, write to the Free Software
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
+
+extern bfd_vma bfd_h8300_pad_address
+  (bfd *, bfd_vma);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/cpu-m68k.c ./bfd/cpu-m68k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/cpu-m68k.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/cpu-m68k.c	2019-09-24 01:49:09.000000000 +0000
@@ -23,6 +23,7 @@
 #include "bfd.h"
 #include "libbfd.h"
 #include "opcode/m68k.h"
+#include "cpu-m68k.h"
 
 static const bfd_arch_info_type *
 bfd_m68k_compatible (const bfd_arch_info_type *a,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/cpu-m68k.h ./bfd/cpu-m68k.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/cpu-m68k.h	1970-01-01 00:00:00.000000000 +0000
+++ ./bfd/cpu-m68k.h	2019-09-24 01:49:09.000000000 +0000
@@ -0,0 +1,23 @@
+/* BFD library support routines.
+   Copyright (C) 2019 Free Software Foundation, Inc.
+
+   This file is part of BFD, the Binary File Descriptor library.
+
+   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, write to the Free Software
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
+
+extern unsigned bfd_m68k_mach_to_features (int);
+
+extern int bfd_m68k_features_to_mach (unsigned);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/doc/archures.texi ./bfd/doc/archures.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/doc/archures.texi	2019-09-17 01:52:06.000000000 +0000
+++ ./bfd/doc/archures.texi	2019-09-24 01:51:36.000000000 +0000
@@ -648,7 +648,7 @@ pointer.
 @subsubsection @code{bfd_get_arch}
 @strong{Synopsis}
 @example
-enum bfd_architecture bfd_get_arch (bfd *abfd);
+enum bfd_architecture bfd_get_arch (const bfd *abfd);
 @end example
 @strong{Description}@*
 Return the enumerated type which describes the BFD @var{abfd}'s
@@ -658,7 +658,7 @@ architecture.
 @subsubsection @code{bfd_get_mach}
 @strong{Synopsis}
 @example
-unsigned long bfd_get_mach (bfd *abfd);
+unsigned long bfd_get_mach (const bfd *abfd);
 @end example
 @strong{Description}@*
 Return the long type which describes the BFD @var{abfd}'s
@@ -668,7 +668,7 @@ machine.
 @subsubsection @code{bfd_arch_bits_per_byte}
 @strong{Synopsis}
 @example
-unsigned int bfd_arch_bits_per_byte (bfd *abfd);
+unsigned int bfd_arch_bits_per_byte (const bfd *abfd);
 @end example
 @strong{Description}@*
 Return the number of bits in one of the BFD @var{abfd}'s
@@ -678,7 +678,7 @@ architecture's bytes.
 @subsubsection @code{bfd_arch_bits_per_address}
 @strong{Synopsis}
 @example
-unsigned int bfd_arch_bits_per_address (bfd *abfd);
+unsigned int bfd_arch_bits_per_address (const bfd *abfd);
 @end example
 @strong{Description}@*
 Return the number of bits in one of the BFD @var{abfd}'s
@@ -744,7 +744,7 @@ This routine is depreciated.
 @subsubsection @code{bfd_octets_per_byte}
 @strong{Synopsis}
 @example
-unsigned int bfd_octets_per_byte (bfd *abfd);
+unsigned int bfd_octets_per_byte (const bfd *abfd);
 @end example
 @strong{Description}@*
 Return the number of octets (8-bit quantities) per target byte
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/doc/bfd.info ./bfd/doc/bfd.info
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/doc/bfd.info	2019-09-17 01:52:13.000000000 +0000
+++ ./bfd/doc/bfd.info	2019-09-24 01:51:45.000000000 +0000
@@ -648,6 +648,78 @@ major data about the file and pointers t
        const struct bfd_build_id *build_id;
      };
 
+     static inline const char *
+     bfd_get_filename (const bfd *abfd)
+     {
+       return abfd->filename;
+     }
+
+     static inline bfd_boolean
+     bfd_get_cacheable (const bfd *abfd)
+     {
+       return abfd->cacheable;
+     }
+
+     static inline enum bfd_format
+     bfd_get_format (const bfd *abfd)
+     {
+       return abfd->format;
+     }
+
+     static inline flagword
+     bfd_get_file_flags (const bfd *abfd)
+     {
+       return abfd->flags;
+     }
+
+     static inline bfd_vma
+     bfd_get_start_address (const bfd *abfd)
+     {
+       return abfd->start_address;
+     }
+
+     static inline unsigned int
+     bfd_get_symcount (const bfd *abfd)
+     {
+       return abfd->symcount;
+     }
+
+     static inline unsigned int
+     bfd_get_dynamic_symcount (const bfd *abfd)
+     {
+       return abfd->dynsymcount;
+     }
+
+     static inline struct bfd_symbol **
+     bfd_get_outsymbols (const bfd *abfd)
+     {
+       return abfd->outsymbols;
+     }
+
+     static inline unsigned int
+     bfd_count_sections (const bfd *abfd)
+     {
+       return abfd->section_count;
+     }
+
+     static inline bfd_boolean
+     bfd_has_map (const bfd *abfd)
+     {
+       return abfd->has_armap;
+     }
+
+     static inline bfd_boolean
+     bfd_is_thin_archive (const bfd *abfd)
+     {
+       return abfd->is_thin_archive;
+     }
+
+     static inline void *
+     bfd_usrdata (const bfd *abfd)
+     {
+       return abfd->usrdata;
+     }
+
      /* See note beside bfd_set_section_userdata.  */
      static inline bfd_boolean
      bfd_set_cacheable (bfd * abfd, bfd_boolean val)
@@ -656,6 +728,147 @@ major data about the file and pointers t
        return TRUE;
      }
 
+     static inline void
+     bfd_set_thin_archive (bfd *abfd, bfd_boolean val)
+     {
+       abfd->is_thin_archive = val;
+     }
+
+     static inline void
+     bfd_set_usrdata (bfd *abfd, void *val)
+     {
+       abfd->usrdata = val;
+     }
+
+     static inline asection *
+     bfd_asymbol_section (const asymbol *sy)
+     {
+       return sy->section;
+     }
+
+     static inline bfd_vma
+     bfd_asymbol_value (const asymbol *sy)
+     {
+       return sy->section->vma + sy->value;
+     }
+
+     static inline const char *
+     bfd_asymbol_name (const asymbol *sy)
+     {
+       return sy->name;
+     }
+
+     static inline struct bfd *
+     bfd_asymbol_bfd (const asymbol *sy)
+     {
+       return sy->the_bfd;
+     }
+
+     static inline void
+     bfd_set_asymbol_name (asymbol *sy, const char *name)
+     {
+       sy->name = name;
+     }
+
+     static inline bfd_size_type
+     bfd_get_section_limit_octets (const bfd *abfd, const asection *sec)
+     {
+       if (abfd->direction != write_direction && sec->rawsize != 0)
+         return sec->rawsize;
+       return sec->size;
+     }
+
+     /* Find the address one past the end of SEC.  */
+     static inline bfd_size_type
+     bfd_get_section_limit (const bfd *abfd, const asection *sec)
+     {
+       return bfd_get_section_limit_octets (abfd, sec) / bfd_octets_per_byte (abfd);
+     }
+
+     /* Functions to handle insertion and deletion of a bfd's sections.  These
+        only handle the list pointers, ie. do not adjust section_count,
+        target_index etc.  */
+     static inline void
+     bfd_section_list_remove (bfd *abfd, asection *s)
+     {
+       asection *next = s->next;
+       asection *prev = s->prev;
+       if (prev)
+         prev->next = next;
+       else
+         abfd->sections = next;
+       if (next)
+         next->prev = prev;
+       else
+         abfd->section_last = prev;
+     }
+
+     static inline void
+     bfd_section_list_append (bfd *abfd, asection *s)
+     {
+       s->next = 0;
+       if (abfd->section_last)
+         {
+           s->prev = abfd->section_last;
+           abfd->section_last->next = s;
+         }
+       else
+         {
+           s->prev = 0;
+           abfd->sections = s;
+         }
+       abfd->section_last = s;
+     }
+
+     static inline void
+     bfd_section_list_prepend (bfd *abfd, asection *s)
+     {
+       s->prev = 0;
+       if (abfd->sections)
+         {
+           s->next = abfd->sections;
+           abfd->sections->prev = s;
+         }
+       else
+         {
+           s->next = 0;
+           abfd->section_last = s;
+         }
+       abfd->sections = s;
+     }
+
+     static inline void
+     bfd_section_list_insert_after (bfd *abfd, asection *a, asection *s)
+     {
+       asection *next = a->next;
+       s->next = next;
+       s->prev = a;
+       a->next = s;
+       if (next)
+         next->prev = s;
+       else
+         abfd->section_last = s;
+     }
+
+     static inline void
+     bfd_section_list_insert_before (bfd *abfd, asection *b, asection *s)
+     {
+       asection *prev = b->prev;
+       s->prev = prev;
+       s->next = b;
+       b->prev = s;
+       if (prev)
+         prev->next = s;
+       else
+         abfd->sections = s;
+     }
+
+     static inline bfd_boolean
+     bfd_section_removed_from_list (const bfd *abfd, const asection *s)
+     {
+       return s->next ? s->next->prev != s : abfd->section_last != s;
+     }
+
 
 
 File: bfd.info,  Node: Error reporting,  Next: Miscellaneous,  Prev: typedef bfd,  Up: BFD front end
@@ -1911,31 +2124,83 @@ Here is the section structure:
        int size;
      };
 
+     static inline const char *
+     bfd_section_name (const asection *sec)
+     {
+       return sec->name;
+     }
+
+     static inline bfd_size_type
+     bfd_section_size (const asection *sec)
+     {
+       return sec->size;
+     }
+
+     static inline bfd_vma
+     bfd_section_vma (const asection *sec)
+     {
+       return sec->vma;
+     }
+
+     static inline bfd_vma
+     bfd_section_lma (const asection *sec)
+     {
+       return sec->lma;
+     }
+
+     static inline unsigned int
+     bfd_section_alignment (const asection *sec)
+     {
+       return sec->alignment_power;
+     }
+
+     static inline flagword
+     bfd_section_flags (const asection *sec)
+     {
+       return sec->flags;
+     }
+
+     static inline void *
+     bfd_section_userdata (const asection *sec)
+     {
+       return sec->userdata;
+     }
+     static inline bfd_boolean
+     bfd_is_com_section (const asection *sec)
+     {
+       return (sec->flags & SEC_IS_COMMON) != 0;
+     }
+
      /* Note: the following are provided as inline functions rather than macros
         because not all callers use the return value.  A macro implementation
         would use a comma expression, eg: "((ptr)->foo = val, TRUE)" and some
         compilers will complain about comma expressions that have no effect.  */
      static inline bfd_boolean
-     bfd_set_section_userdata (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr,
-                               void * val)
+     bfd_set_section_userdata (asection *sec, void *val)
+     {
+       sec->userdata = val;
+       return TRUE;
+     }
+
+     static inline bfd_boolean
+     bfd_set_section_vma (asection *sec, bfd_vma val)
      {
-       ptr->userdata = val;
+       sec->vma = sec->lma = val;
+       sec->user_set_vma = TRUE;
        return TRUE;
      }
 
      static inline bfd_boolean
-     bfd_set_section_vma (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, bfd_vma val)
+     bfd_set_section_lma (asection *sec, bfd_vma val)
      {
-       ptr->vma = ptr->lma = val;
-       ptr->user_set_vma = TRUE;
+       sec->lma = val;
        return TRUE;
      }
 
      static inline bfd_boolean
-     bfd_set_section_alignment (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr,
-                                unsigned int val)
+     bfd_set_section_alignment (asection *sec, unsigned int val)
      {
-       ptr->alignment_power = val;
+       sec->alignment_power = val;
        return TRUE;
      }
 
@@ -1958,105 +2223,39 @@ Here is the section structure:
      /* Pointer to the indirect section.  */
      #define bfd_ind_section_ptr (&_bfd_std_section[3])
 
-     #define bfd_is_und_section(sec) ((sec) == bfd_und_section_ptr)
-     #define bfd_is_abs_section(sec) ((sec) == bfd_abs_section_ptr)
-     #define bfd_is_ind_section(sec) ((sec) == bfd_ind_section_ptr)
-
-     #define bfd_is_const_section(SEC)              \
-      (   ((SEC) == bfd_abs_section_ptr)            \
-       || ((SEC) == bfd_und_section_ptr)            \
-       || ((SEC) == bfd_com_section_ptr)            \
-       || ((SEC) == bfd_ind_section_ptr))
+     static inline bfd_boolean
+     bfd_is_und_section (const asection *sec)
+     {
+       return sec == bfd_und_section_ptr;
+     }
 
-     /* Macros to handle insertion and deletion of a bfd's sections.  These
-        only handle the list pointers, ie. do not adjust section_count,
-        target_index etc.  */
-     #define bfd_section_list_remove(ABFD, S) \
-       do                                                   \
-         {                                                  \
-           asection *_s = S;                                \
-           asection *_next = _s->next;                      \
-           asection *_prev = _s->prev;                      \
-           if (_prev)                                       \
-             _prev->next = _next;                           \
-           else                                             \
-             (ABFD)->sections = _next;                      \
-           if (_next)                                       \
-             _next->prev = _prev;                           \
-           else                                             \
-             (ABFD)->section_last = _prev;                  \
-         }                                                  \
-       while (0)
-     #define bfd_section_list_append(ABFD, S) \
-       do                                                   \
-         {                                                  \
-           asection *_s = S;                                \
-           bfd *_abfd = ABFD;                               \
-           _s->next = NULL;                                 \
-           if (_abfd->section_last)                         \
-             {                                              \
-               _s->prev = _abfd->section_last;              \
-               _abfd->section_last->next = _s;              \
-             }                                              \
-           else                                             \
-             {                                              \
-               _s->prev = NULL;                             \
-               _abfd->sections = _s;                        \
-             }                                              \
-           _abfd->section_last = _s;                        \
-         }                                                  \
-       while (0)
-     #define bfd_section_list_prepend(ABFD, S) \
-       do                                                   \
-         {                                                  \
-           asection *_s = S;                                \
-           bfd *_abfd = ABFD;                               \
-           _s->prev = NULL;                                 \
-           if (_abfd->sections)                             \
-             {                                              \
-               _s->next = _abfd->sections;                  \
-               _abfd->sections->prev = _s;                  \
-             }                                              \
-           else                                             \
-             {                                              \
-               _s->next = NULL;                             \
-               _abfd->section_last = _s;                    \
-             }                                              \
-           _abfd->sections = _s;                            \
-         }                                                  \
-       while (0)
-     #define bfd_section_list_insert_after(ABFD, A, S) \
-       do                                                   \
-         {                                                  \
-           asection *_a = A;                                \
-           asection *_s = S;                                \
-           asection *_next = _a->next;                      \
-           _s->next = _next;                                \
-           _s->prev = _a;                                   \
-           _a->next = _s;                                   \
-           if (_next)                                       \
-             _next->prev = _s;                              \
-           else                                             \
-             (ABFD)->section_last = _s;                     \
-         }                                                  \
-       while (0)
-     #define bfd_section_list_insert_before(ABFD, B, S) \
-       do                                                   \
-         {                                                  \
-           asection *_b = B;                                \
-           asection *_s = S;                                \
-           asection *_prev = _b->prev;                      \
-           _s->prev = _prev;                                \
-           _s->next = _b;                                   \
-           _b->prev = _s;                                   \
-           if (_prev)                                       \
-             _prev->next = _s;                              \
-           else                                             \
-             (ABFD)->sections = _s;                         \
-         }                                                  \
-       while (0)
-     #define bfd_section_removed_from_list(ABFD, S) \
-       ((S)->next == NULL ? (ABFD)->section_last != (S) : (S)->next->prev != (S))
+     static inline bfd_boolean
+     bfd_is_abs_section (const asection *sec)
+     {
+       return sec == bfd_abs_section_ptr;
+     }
+
+     static inline bfd_boolean
+     bfd_is_ind_section (const asection *sec)
+     {
+       return sec == bfd_ind_section_ptr;
+     }
+
+     static inline bfd_boolean
+     bfd_is_const_section (const asection *sec)
+     {
+       return sec >= bfd_abs_section_ptr && sec <= bfd_ind_section_ptr;
+     }
+
+     /* Return TRUE if input section SEC has been discarded.  */
+     static inline bfd_boolean
+     discarded_section (const asection *sec)
+     {
+       return (!bfd_is_abs_section (sec)
+               && bfd_is_abs_section (sec->output_section)
+               && sec->sec_info_type != SEC_INFO_TYPE_MERGE
+               && sec->sec_info_type != SEC_INFO_TYPE_JUST_SYMS);
+     }
 
      #define BFD_FAKE_SECTION(SEC, SYM, NAME, IDX, FLAGS)                   \
        /* name, id,  index, next, prev, flags, user_set_vma,            */  \
@@ -2268,12 +2467,10 @@ a section named NAME.  If there is an er
 ................................
 
 *Synopsis*
-     bfd_boolean bfd_set_section_flags
-        (bfd *abfd, asection *sec, flagword flags);
+     bfd_boolean bfd_set_section_flags (asection *sec, flagword flags);
    *Description*
-Set the attributes of the section SEC in the BFD ABFD to the value
-FLAGS.  Return 'TRUE' on success, 'FALSE' on error.  Possible error
-returns are:
+Set the attributes of the section SEC to the value FLAGS.  Return 'TRUE'
+on success, 'FALSE' on error.  Possible error returns are:
 
    * 'bfd_error_invalid_operation' - The section cannot have one or more
      of the attributes requested.  For example, a .bss section in
@@ -2284,9 +2481,9 @@ returns are:
 
 *Synopsis*
      void bfd_rename_section
-        (bfd *abfd, asection *sec, const char *newname);
+        (asection *sec, const char *newname);
    *Description*
-Rename section SEC in ABFD to NEWNAME.
+Rename section SEC to NEWNAME.
 
 2.6.5.14 'bfd_map_over_sections'
 ................................
@@ -2330,8 +2527,7 @@ by
 ...............................
 
 *Synopsis*
-     bfd_boolean bfd_set_section_size
-        (bfd *abfd, asection *sec, bfd_size_type val);
+     bfd_boolean bfd_set_section_size (asection *sec, bfd_size_type val);
    *Description*
 Set SEC to the size VAL.  If the operation is ok, then 'TRUE' is
 returned, else 'FALSE'.
@@ -3386,7 +3582,7 @@ that libbfd needs to know to tie up a ba
           bfd *, char **);
 
        /* The textual name of the relocation type.  */
-       char *name;
+       const char *name;
      };
 
 
@@ -7267,7 +7463,7 @@ both!
      typedef struct bfd_target
      {
        /* Identifies the kind of target, e.g., SunOS4, Ultrix, etc.  */
-       char *name;
+       const char *name;
 
       /* The "flavour" of a back end is a general indication about
          the contents of a file.  */
@@ -7669,6 +7865,74 @@ to find an alternative output format tha
 
      } bfd_target;
 
+     static inline const char *
+     bfd_get_target (const bfd *abfd)
+     {
+       return abfd->xvec->name;
+     }
+
+     static inline enum bfd_flavour
+     bfd_get_flavour (const bfd *abfd)
+     {
+       return abfd->xvec->flavour;
+     }
+
+     static inline flagword
+     bfd_applicable_file_flags (const bfd *abfd)
+     {
+       return abfd->xvec->object_flags;
+     }
+
+     static inline bfd_boolean
+     bfd_family_coff (const bfd *abfd)
+     {
+       return (bfd_get_flavour (abfd) == bfd_target_coff_flavour
+               || bfd_get_flavour (abfd) == bfd_target_xcoff_flavour);
+     }
+
+     static inline bfd_boolean
+     bfd_big_endian (const bfd *abfd)
+     {
+       return abfd->xvec->byteorder == BFD_ENDIAN_BIG;
+     }
+     static inline bfd_boolean
+     bfd_little_endian (const bfd *abfd)
+     {
+       return abfd->xvec->byteorder == BFD_ENDIAN_LITTLE;
+     }
+
+     static inline bfd_boolean
+     bfd_header_big_endian (const bfd *abfd)
+     {
+       return abfd->xvec->header_byteorder == BFD_ENDIAN_BIG;
+     }
+
+     static inline bfd_boolean
+     bfd_header_little_endian (const bfd *abfd)
+     {
+       return abfd->xvec->header_byteorder == BFD_ENDIAN_LITTLE;
+     }
+
+     static inline flagword
+     bfd_applicable_section_flags (const bfd *abfd)
+     {
+       return abfd->xvec->section_flags;
+     }
+
+     static inline char
+     bfd_get_symbol_leading_char (const bfd *abfd)
+     {
+       return abfd->xvec->symbol_leading_char;
+     }
+
+     static inline enum bfd_flavour
+     bfd_asymbol_flavour (const asymbol *sy)
+     {
+       if ((sy->flags & BSF_SYNTHETIC) != 0)
+         return bfd_target_unknown_flavour;
+       return sy->the_bfd->xvec->flavour;
+     }
+
 
 2.12.1.1 'bfd_set_default_target'
 .................................
@@ -8389,7 +8653,7 @@ Find the correct pointer to a structure 
 .......................
 
 *Synopsis*
-     enum bfd_architecture bfd_get_arch (bfd *abfd);
+     enum bfd_architecture bfd_get_arch (const bfd *abfd);
    *Description*
 Return the enumerated type which describes the BFD ABFD's architecture.
 
@@ -8397,7 +8661,7 @@ Return the enumerated type which describ
 .......................
 
 *Synopsis*
-     unsigned long bfd_get_mach (bfd *abfd);
+     unsigned long bfd_get_mach (const bfd *abfd);
    *Description*
 Return the long type which describes the BFD ABFD's machine.
 
@@ -8405,7 +8669,7 @@ Return the long type which describes the
 ..................................
 
 *Synopsis*
-     unsigned int bfd_arch_bits_per_byte (bfd *abfd);
+     unsigned int bfd_arch_bits_per_byte (const bfd *abfd);
    *Description*
 Return the number of bits in one of the BFD ABFD's architecture's bytes.
 
@@ -8413,7 +8677,7 @@ Return the number of bits in one of the 
 .....................................
 
 *Synopsis*
-     unsigned int bfd_arch_bits_per_address (bfd *abfd);
+     unsigned int bfd_arch_bits_per_address (const bfd *abfd);
    *Description*
 Return the number of bits in one of the BFD ABFD's architecture's
 addresses.
@@ -8472,7 +8736,7 @@ type.
 ...............................
 
 *Synopsis*
-     unsigned int bfd_octets_per_byte (bfd *abfd);
+     unsigned int bfd_octets_per_byte (const bfd *abfd);
    *Description*
 Return the number of octets (8-bit quantities) per target byte (minimum
 addressable unit).  In most cases, this will be one, but some DSP
@@ -11828,7 +12092,7 @@ BFD Index
 * bfd_convert_section_size:              Miscellaneous.      (line  391)
 * bfd_copy_private_bfd_data:             Miscellaneous.      (line  159)
 * bfd_copy_private_header_data:          Miscellaneous.      (line  142)
-* bfd_copy_private_section_data:         section prototypes. (line  282)
+* bfd_copy_private_section_data:         section prototypes. (line  279)
 * bfd_copy_private_symbol_data:          symbol handling functions.
                                                              (line  145)
 * bfd_core_file_failing_command:         Core Files.         (line   11)
@@ -11855,10 +12119,10 @@ BFD Index
                                                              (line   56)
 * bfd_fill_in_gnu_debuglink_section:     Opening and Closing.
                                                              (line  445)
-* bfd_find_target:                       bfd_target.         (line  499)
+* bfd_find_target:                       bfd_target.         (line  567)
 * bfd_find_version_for_sym:              Writing the symbol table.
                                                              (line  111)
-* bfd_flavour_name:                      bfd_target.         (line  562)
+* bfd_flavour_name:                      bfd_target.         (line  630)
 * bfd_follow_build_id_debuglink:         Opening and Closing.
                                                              (line  505)
 * bfd_follow_gnu_debugaltlink:           Opening and Closing.
@@ -11872,11 +12136,11 @@ BFD Index
                                                              (line   69)
 * bfd_generic_define_start_stop:         Writing the symbol table.
                                                              (line   97)
-* bfd_generic_discard_group:             section prototypes. (line  315)
+* bfd_generic_discard_group:             section prototypes. (line  312)
 * bfd_generic_gc_sections:               howto manager.      (line 3492)
 * bfd_generic_get_relocated_section_contents: howto manager. (line 3522)
-* bfd_generic_group_name:                section prototypes. (line  307)
-* bfd_generic_is_group_section:          section prototypes. (line  299)
+* bfd_generic_group_name:                section prototypes. (line  304)
+* bfd_generic_is_group_section:          section prototypes. (line  296)
 * bfd_generic_lookup_section_flags:      howto manager.      (line 3502)
 * bfd_generic_merge_sections:            howto manager.      (line 3512)
 * bfd_generic_relax_section:             howto manager.      (line 3479)
@@ -11903,13 +12167,13 @@ BFD Index
 * bfd_get_reloc_upper_bound:             Miscellaneous.      (line    8)
 * bfd_get_section_by_name:               section prototypes. (line   16)
 * bfd_get_section_by_name_if:            section prototypes. (line   46)
-* bfd_get_section_contents:              section prototypes. (line  255)
+* bfd_get_section_contents:              section prototypes. (line  252)
 * bfd_get_sign_extend_vma:               Miscellaneous.      (line   78)
 * bfd_get_size:                          Miscellaneous.      (line  462)
 * bfd_get_size <1>:                      Internal.           (line   24)
 * bfd_get_symtab_upper_bound:            symbol handling functions.
                                                              (line    5)
-* bfd_get_target_info:                   bfd_target.         (line  515)
+* bfd_get_target_info:                   bfd_target.         (line  583)
 * bfd_get_unique_section_name:           section prototypes. (line   65)
 * bfd_hash_allocate:                     Creating and Freeing a Hash Table.
                                                              (line   17)
@@ -11940,7 +12204,7 @@ BFD Index
                                                              (line   39)
 * bfd_is_undefined_symclass:             symbol handling functions.
                                                              (line  125)
-* bfd_iterate_over_targets:              bfd_target.         (line  550)
+* bfd_iterate_over_targets:              bfd_target.         (line  618)
 * bfd_link_check_relocs:                 Writing the symbol table.
                                                              (line  133)
 * bfd_link_split_section:                Writing the symbol table.
@@ -11960,8 +12224,8 @@ BFD Index
 * bfd_make_section_with_flags:           section prototypes. (line  131)
 * bfd_make_writable:                     Opening and Closing.
                                                              (line  211)
-* bfd_malloc_and_get_section:            section prototypes. (line  272)
-* bfd_map_over_sections:                 section prototypes. (line  178)
+* bfd_malloc_and_get_section:            section prototypes. (line  269)
+* bfd_map_over_sections:                 section prototypes. (line  176)
 * bfd_merge_private_bfd_data:            Writing the symbol table.
                                                              (line  155)
 * bfd_mmap:                              Miscellaneous.      (line  499)
@@ -14381,17 +14645,17 @@ BFD Index
 * BFD_RELOC_Z8K_CALLR:                   howto manager.      (line 2670)
 * BFD_RELOC_Z8K_DISP7:                   howto manager.      (line 2668)
 * BFD_RELOC_Z8K_IMM4L:                   howto manager.      (line 2672)
-* bfd_rename_section:                    section prototypes. (line  169)
+* bfd_rename_section:                    section prototypes. (line  167)
 * bfd_scan_arch:                         Architectures.      (line  573)
 * bfd_scan_vma:                          Miscellaneous.      (line  126)
-* bfd_sections_find_if:                  section prototypes. (line  199)
+* bfd_sections_find_if:                  section prototypes. (line  197)
 * bfd_section_already_linked:            Writing the symbol table.
                                                              (line   55)
 * bfd_section_list_clear:                section prototypes. (line    7)
 * bfd_set_archive_head:                  Archives.           (line   74)
 * bfd_set_arch_info:                     Architectures.      (line  614)
 * bfd_set_assert_handler:                Error reporting.    (line  161)
-* bfd_set_default_target:                bfd_target.         (line  489)
+* bfd_set_default_target:                bfd_target.         (line  557)
 * bfd_set_error:                         Error reporting.    (line   57)
 * bfd_set_error_handler:                 Error reporting.    (line  127)
 * bfd_set_error_program_name:            Error reporting.    (line  135)
@@ -14403,15 +14667,15 @@ BFD Index
 * bfd_set_input_error:                   Error reporting.    (line   68)
 * bfd_set_private_flags:                 Miscellaneous.      (line  174)
 * bfd_set_reloc:                         Miscellaneous.      (line   33)
-* bfd_set_section_contents:              section prototypes. (line  231)
+* bfd_set_section_contents:              section prototypes. (line  228)
 * bfd_set_section_flags:                 section prototypes. (line  154)
-* bfd_set_section_size:                  section prototypes. (line  216)
+* bfd_set_section_size:                  section prototypes. (line  214)
 * bfd_set_start_address:                 Miscellaneous.      (line   95)
 * bfd_set_symtab:                        symbol handling functions.
                                                              (line   63)
 * bfd_symbol_info:                       symbol handling functions.
                                                              (line  135)
-* bfd_target_list:                       bfd_target.         (line  541)
+* bfd_target_list:                       bfd_target.         (line  609)
 * bfd_update_compression_header:         Miscellaneous.      (line  353)
 * bfd_write_bigendian_4byte_int:         Internal.           (line   12)
 * bfd_zalloc:                            Opening and Closing.
@@ -14459,61 +14723,61 @@ Node: BFD information loss6244
 Node: Canonical format8785
 Node: BFD front end13128
 Node: typedef bfd13552
-Node: Error reporting26110
-Node: Miscellaneous31337
-Node: Memory Usage50451
-Node: Initialization51682
-Node: Sections52358
-Node: Section Input52841
-Node: Section Output54035
-Node: typedef asection56522
-Node: section prototypes84126
-Node: Symbols94943
-Node: Reading Symbols96546
-Node: Writing Symbols97654
-Node: Mini Symbols99398
-Node: typedef asymbol100372
-Node: symbol handling functions106457
-Node: Archives111832
-Node: Formats115969
-Node: Relocations118920
-Node: typedef arelent119647
-Node: howto manager134559
-Node: Core Files267751
-Node: Targets269789
-Node: bfd_target271764
-Node: Architectures297403
-Node: Opening and Closing328908
-Node: Internal347371
-Node: File Caching354176
-Node: Linker Functions356094
-Node: Creating a Linker Hash Table357768
-Node: Adding Symbols to the Hash Table359507
-Node: Differing file formats360407
-Node: Adding symbols from an object file362132
-Node: Adding symbols from an archive364282
-Node: Performing the Final Link366628
-Node: Information provided by the linker367869
-Node: Relocating the section contents369023
-Node: Writing the symbol table370775
-Node: Hash Tables377929
-Node: Creating and Freeing a Hash Table379127
-Node: Looking Up or Entering a String380377
-Node: Traversing a Hash Table381630
-Node: Deriving a New Hash Table Type382419
-Node: Define the Derived Structures383485
-Node: Write the Derived Creation Routine384566
-Node: Write Other Derived Routines387191
-Node: BFD back ends388506
-Node: What to Put Where388776
-Node: aout388956
-Node: coff395238
-Node: elf423389
-Node: mmo423790
-Node: File layout424660
-Node: Symbol-table430573
-Node: mmo section mapping434336
-Node: GNU Free Documentation License437990
-Node: BFD Index463054
+Node: Error reporting30891
+Node: Miscellaneous36118
+Node: Memory Usage55232
+Node: Initialization56463
+Node: Sections57139
+Node: Section Input57622
+Node: Section Output58816
+Node: typedef asection61303
+Node: section prototypes85089
+Node: Symbols95833
+Node: Reading Symbols97436
+Node: Writing Symbols98544
+Node: Mini Symbols100288
+Node: typedef asymbol101262
+Node: symbol handling functions107347
+Node: Archives112722
+Node: Formats116859
+Node: Relocations119810
+Node: typedef arelent120537
+Node: howto manager135455
+Node: Core Files268647
+Node: Targets270685
+Node: bfd_target272660
+Node: Architectures299995
+Node: Opening and Closing331530
+Node: Internal349993
+Node: File Caching356798
+Node: Linker Functions358716
+Node: Creating a Linker Hash Table360390
+Node: Adding Symbols to the Hash Table362129
+Node: Differing file formats363029
+Node: Adding symbols from an object file364754
+Node: Adding symbols from an archive366904
+Node: Performing the Final Link369250
+Node: Information provided by the linker370491
+Node: Relocating the section contents371645
+Node: Writing the symbol table373397
+Node: Hash Tables380551
+Node: Creating and Freeing a Hash Table381749
+Node: Looking Up or Entering a String382999
+Node: Traversing a Hash Table384252
+Node: Deriving a New Hash Table Type385041
+Node: Define the Derived Structures386107
+Node: Write the Derived Creation Routine387188
+Node: Write Other Derived Routines389813
+Node: BFD back ends391128
+Node: What to Put Where391398
+Node: aout391578
+Node: coff397860
+Node: elf426011
+Node: mmo426412
+Node: File layout427282
+Node: Symbol-table433195
+Node: mmo section mapping436958
+Node: GNU Free Documentation License440612
+Node: BFD Index465676
 
 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-8.3.50.20190917/bfd/doc/bfdt.texi ./bfd/doc/bfdt.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/doc/bfdt.texi	2019-09-17 01:52:06.000000000 +0000
+++ ./bfd/doc/bfdt.texi	2019-09-24 01:51:36.000000000 +0000
@@ -330,6 +330,78 @@ struct bfd
   const struct bfd_build_id *build_id;
 @};
 
+static inline const char *
+bfd_get_filename (const bfd *abfd)
+@{
+  return abfd->filename;
+@}
+
+static inline bfd_boolean
+bfd_get_cacheable (const bfd *abfd)
+@{
+  return abfd->cacheable;
+@}
+
+static inline enum bfd_format
+bfd_get_format (const bfd *abfd)
+@{
+  return abfd->format;
+@}
+
+static inline flagword
+bfd_get_file_flags (const bfd *abfd)
+@{
+  return abfd->flags;
+@}
+
+static inline bfd_vma
+bfd_get_start_address (const bfd *abfd)
+@{
+  return abfd->start_address;
+@}
+
+static inline unsigned int
+bfd_get_symcount (const bfd *abfd)
+@{
+  return abfd->symcount;
+@}
+
+static inline unsigned int
+bfd_get_dynamic_symcount (const bfd *abfd)
+@{
+  return abfd->dynsymcount;
+@}
+
+static inline struct bfd_symbol **
+bfd_get_outsymbols (const bfd *abfd)
+@{
+  return abfd->outsymbols;
+@}
+
+static inline unsigned int
+bfd_count_sections (const bfd *abfd)
+@{
+  return abfd->section_count;
+@}
+
+static inline bfd_boolean
+bfd_has_map (const bfd *abfd)
+@{
+  return abfd->has_armap;
+@}
+
+static inline bfd_boolean
+bfd_is_thin_archive (const bfd *abfd)
+@{
+  return abfd->is_thin_archive;
+@}
+
+static inline void *
+bfd_usrdata (const bfd *abfd)
+@{
+  return abfd->usrdata;
+@}
+
 /* See note beside bfd_set_section_userdata.  */
 static inline bfd_boolean
 bfd_set_cacheable (bfd * abfd, bfd_boolean val)
@@ -338,6 +410,147 @@ bfd_set_cacheable (bfd * abfd, bfd_boole
   return TRUE;
 @}
 
+static inline void
+bfd_set_thin_archive (bfd *abfd, bfd_boolean val)
+@{
+  abfd->is_thin_archive = val;
+@}
+
+static inline void
+bfd_set_usrdata (bfd *abfd, void *val)
+@{
+  abfd->usrdata = val;
+@}
+
+static inline asection *
+bfd_asymbol_section (const asymbol *sy)
+@{
+  return sy->section;
+@}
+
+static inline bfd_vma
+bfd_asymbol_value (const asymbol *sy)
+@{
+  return sy->section->vma + sy->value;
+@}
+
+static inline const char *
+bfd_asymbol_name (const asymbol *sy)
+@{
+  return sy->name;
+@}
+
+static inline struct bfd *
+bfd_asymbol_bfd (const asymbol *sy)
+@{
+  return sy->the_bfd;
+@}
+
+static inline void
+bfd_set_asymbol_name (asymbol *sy, const char *name)
+@{
+  sy->name = name;
+@}
+
+static inline bfd_size_type
+bfd_get_section_limit_octets (const bfd *abfd, const asection *sec)
+@{
+  if (abfd->direction != write_direction && sec->rawsize != 0)
+    return sec->rawsize;
+  return sec->size;
+@}
+
+/* Find the address one past the end of SEC.  */
+static inline bfd_size_type
+bfd_get_section_limit (const bfd *abfd, const asection *sec)
+@{
+  return bfd_get_section_limit_octets (abfd, sec) / bfd_octets_per_byte (abfd);
+@}
+
+/* Functions to handle insertion and deletion of a bfd's sections.  These
+   only handle the list pointers, ie. do not adjust section_count,
+   target_index etc.  */
+static inline void
+bfd_section_list_remove (bfd *abfd, asection *s)
+@{
+  asection *next = s->next;
+  asection *prev = s->prev;
+  if (prev)
+    prev->next = next;
+  else
+    abfd->sections = next;
+  if (next)
+    next->prev = prev;
+  else
+    abfd->section_last = prev;
+@}
+
+static inline void
+bfd_section_list_append (bfd *abfd, asection *s)
+@{
+  s->next = 0;
+  if (abfd->section_last)
+    @{
+      s->prev = abfd->section_last;
+      abfd->section_last->next = s;
+    @}
+  else
+    @{
+      s->prev = 0;
+      abfd->sections = s;
+    @}
+  abfd->section_last = s;
+@}
+
+static inline void
+bfd_section_list_prepend (bfd *abfd, asection *s)
+@{
+  s->prev = 0;
+  if (abfd->sections)
+    @{
+      s->next = abfd->sections;
+      abfd->sections->prev = s;
+    @}
+  else
+    @{
+      s->next = 0;
+      abfd->section_last = s;
+    @}
+  abfd->sections = s;
+@}
+
+static inline void
+bfd_section_list_insert_after (bfd *abfd, asection *a, asection *s)
+@{
+  asection *next = a->next;
+  s->next = next;
+  s->prev = a;
+  a->next = s;
+  if (next)
+    next->prev = s;
+  else
+    abfd->section_last = s;
+@}
+
+static inline void
+bfd_section_list_insert_before (bfd *abfd, asection *b, asection *s)
+@{
+  asection *prev = b->prev;
+  s->prev = prev;
+  s->next = b;
+  b->prev = s;
+  if (prev)
+    prev->next = s;
+  else
+    abfd->sections = s;
+@}
+
+static inline bfd_boolean
+bfd_section_removed_from_list (const bfd *abfd, const asection *s)
+@{
+  return s->next ? s->next->prev != s : abfd->section_last != s;
+@}
+
 @end example
 @node Error reporting, Miscellaneous, typedef bfd, BFD front end
 @section Error reporting
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/doc/Makefile.in ./bfd/doc/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/doc/Makefile.in	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/doc/Makefile.in	2019-09-24 01:49:09.000000000 +0000
@@ -375,7 +375,6 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
-runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/doc/reloc.texi ./bfd/doc/reloc.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/doc/reloc.texi	2019-09-17 01:52:06.000000000 +0000
+++ ./bfd/doc/reloc.texi	2019-09-24 01:51:36.000000000 +0000
@@ -338,7 +338,7 @@ struct reloc_howto_struct
      bfd *, char **);
 
   /* The textual name of the relocation type.  */
-  char *name;
+  const char *name;
 @};
 
 @end example
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/doc/section.texi ./bfd/doc/section.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/doc/section.texi	2019-09-17 01:52:06.000000000 +0000
+++ ./bfd/doc/section.texi	2019-09-24 01:51:36.000000000 +0000
@@ -508,31 +508,83 @@ struct relax_table @{
   int size;
 @};
 
+static inline const char *
+bfd_section_name (const asection *sec)
+@{
+  return sec->name;
+@}
+
+static inline bfd_size_type
+bfd_section_size (const asection *sec)
+@{
+  return sec->size;
+@}
+
+static inline bfd_vma
+bfd_section_vma (const asection *sec)
+@{
+  return sec->vma;
+@}
+
+static inline bfd_vma
+bfd_section_lma (const asection *sec)
+@{
+  return sec->lma;
+@}
+
+static inline unsigned int
+bfd_section_alignment (const asection *sec)
+@{
+  return sec->alignment_power;
+@}
+
+static inline flagword
+bfd_section_flags (const asection *sec)
+@{
+  return sec->flags;
+@}
+
+static inline void *
+bfd_section_userdata (const asection *sec)
+@{
+  return sec->userdata;
+@}
+static inline bfd_boolean
+bfd_is_com_section (const asection *sec)
+@{
+  return (sec->flags & SEC_IS_COMMON) != 0;
+@}
+
 /* Note: the following are provided as inline functions rather than macros
    because not all callers use the return value.  A macro implementation
    would use a comma expression, eg: "((ptr)->foo = val, TRUE)" and some
    compilers will complain about comma expressions that have no effect.  */
 static inline bfd_boolean
-bfd_set_section_userdata (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr,
-                          void * val)
+bfd_set_section_userdata (asection *sec, void *val)
+@{
+  sec->userdata = val;
+  return TRUE;
+@}
+
+static inline bfd_boolean
+bfd_set_section_vma (asection *sec, bfd_vma val)
 @{
-  ptr->userdata = val;
+  sec->vma = sec->lma = val;
+  sec->user_set_vma = TRUE;
   return TRUE;
 @}
 
 static inline bfd_boolean
-bfd_set_section_vma (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, bfd_vma val)
+bfd_set_section_lma (asection *sec, bfd_vma val)
 @{
-  ptr->vma = ptr->lma = val;
-  ptr->user_set_vma = TRUE;
+  sec->lma = val;
   return TRUE;
 @}
 
 static inline bfd_boolean
-bfd_set_section_alignment (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr,
-                           unsigned int val)
+bfd_set_section_alignment (asection *sec, unsigned int val)
 @{
-  ptr->alignment_power = val;
+  sec->alignment_power = val;
   return TRUE;
 @}
 
@@ -555,105 +607,39 @@ extern asection _bfd_std_section[4];
 /* Pointer to the indirect section.  */
 #define bfd_ind_section_ptr (&_bfd_std_section[3])
 
-#define bfd_is_und_section(sec) ((sec) == bfd_und_section_ptr)
-#define bfd_is_abs_section(sec) ((sec) == bfd_abs_section_ptr)
-#define bfd_is_ind_section(sec) ((sec) == bfd_ind_section_ptr)
-
-#define bfd_is_const_section(SEC)              \
- (   ((SEC) == bfd_abs_section_ptr)            \
-  || ((SEC) == bfd_und_section_ptr)            \
-  || ((SEC) == bfd_com_section_ptr)            \
-  || ((SEC) == bfd_ind_section_ptr))
-
-/* Macros to handle insertion and deletion of a bfd's sections.  These
-   only handle the list pointers, ie. do not adjust section_count,
-   target_index etc.  */
-#define bfd_section_list_remove(ABFD, S) \
-  do                                                   \
-    @{                                                  \
-      asection *_s = S;                                \
-      asection *_next = _s->next;                      \
-      asection *_prev = _s->prev;                      \
-      if (_prev)                                       \
-        _prev->next = _next;                           \
-      else                                             \
-        (ABFD)->sections = _next;                      \
-      if (_next)                                       \
-        _next->prev = _prev;                           \
-      else                                             \
-        (ABFD)->section_last = _prev;                  \
-    @}                                                  \
-  while (0)
-#define bfd_section_list_append(ABFD, S) \
-  do                                                   \
-    @{                                                  \
-      asection *_s = S;                                \
-      bfd *_abfd = ABFD;                               \
-      _s->next = NULL;                                 \
-      if (_abfd->section_last)                         \
-        @{                                              \
-          _s->prev = _abfd->section_last;              \
-          _abfd->section_last->next = _s;              \
-        @}                                              \
-      else                                             \
-        @{                                              \
-          _s->prev = NULL;                             \
-          _abfd->sections = _s;                        \
-        @}                                              \
-      _abfd->section_last = _s;                        \
-    @}                                                  \
-  while (0)
-#define bfd_section_list_prepend(ABFD, S) \
-  do                                                   \
-    @{                                                  \
-      asection *_s = S;                                \
-      bfd *_abfd = ABFD;                               \
-      _s->prev = NULL;                                 \
-      if (_abfd->sections)                             \
-        @{                                              \
-          _s->next = _abfd->sections;                  \
-          _abfd->sections->prev = _s;                  \
-        @}                                              \
-      else                                             \
-        @{                                              \
-          _s->next = NULL;                             \
-          _abfd->section_last = _s;                    \
-        @}                                              \
-      _abfd->sections = _s;                            \
-    @}                                                  \
-  while (0)
-#define bfd_section_list_insert_after(ABFD, A, S) \
-  do                                                   \
-    @{                                                  \
-      asection *_a = A;                                \
-      asection *_s = S;                                \
-      asection *_next = _a->next;                      \
-      _s->next = _next;                                \
-      _s->prev = _a;                                   \
-      _a->next = _s;                                   \
-      if (_next)                                       \
-        _next->prev = _s;                              \
-      else                                             \
-        (ABFD)->section_last = _s;                     \
-    @}                                                  \
-  while (0)
-#define bfd_section_list_insert_before(ABFD, B, S) \
-  do                                                   \
-    @{                                                  \
-      asection *_b = B;                                \
-      asection *_s = S;                                \
-      asection *_prev = _b->prev;                      \
-      _s->prev = _prev;                                \
-      _s->next = _b;                                   \
-      _b->prev = _s;                                   \
-      if (_prev)                                       \
-        _prev->next = _s;                              \
-      else                                             \
-        (ABFD)->sections = _s;                         \
-    @}                                                  \
-  while (0)
-#define bfd_section_removed_from_list(ABFD, S) \
-  ((S)->next == NULL ? (ABFD)->section_last != (S) : (S)->next->prev != (S))
+static inline bfd_boolean
+bfd_is_und_section (const asection *sec)
+@{
+  return sec == bfd_und_section_ptr;
+@}
+
+static inline bfd_boolean
+bfd_is_abs_section (const asection *sec)
+@{
+  return sec == bfd_abs_section_ptr;
+@}
+
+static inline bfd_boolean
+bfd_is_ind_section (const asection *sec)
+@{
+  return sec == bfd_ind_section_ptr;
+@}
+
+static inline bfd_boolean
+bfd_is_const_section (const asection *sec)
+@{
+  return sec >= bfd_abs_section_ptr && sec <= bfd_ind_section_ptr;
+@}
+
+/* Return TRUE if input section SEC has been discarded.  */
+static inline bfd_boolean
+discarded_section (const asection *sec)
+@{
+  return (!bfd_is_abs_section (sec)
+          && bfd_is_abs_section (sec->output_section)
+          && sec->sec_info_type != SEC_INFO_TYPE_MERGE
+          && sec->sec_info_type != SEC_INFO_TYPE_JUST_SYMS);
+@}
 
 #define BFD_FAKE_SECTION(SEC, SYM, NAME, IDX, FLAGS)                   \
   /* name, id,  index, next, prev, flags, user_set_vma,            */  \
@@ -890,13 +876,12 @@ section named @var{name}.  If there is a
 @subsubsection @code{bfd_set_section_flags}
 @strong{Synopsis}
 @example
-bfd_boolean bfd_set_section_flags
-   (bfd *abfd, asection *sec, flagword flags);
+bfd_boolean bfd_set_section_flags (asection *sec, flagword flags);
 @end example
 @strong{Description}@*
-Set the attributes of the section @var{sec} in the BFD
-@var{abfd} to the value @var{flags}. Return @code{TRUE} on success,
-@code{FALSE} on error. Possible error returns are:
+Set the attributes of the section @var{sec} to the value @var{flags}.
+Return @code{TRUE} on success, @code{FALSE} on error.  Possible error
+returns are:
 
 @itemize @bullet
 
@@ -912,10 +897,10 @@ have the @code{SEC_HAS_CONTENTS} field s
 @strong{Synopsis}
 @example
 void bfd_rename_section
-   (bfd *abfd, asection *sec, const char *newname);
+   (asection *sec, const char *newname);
 @end example
 @strong{Description}@*
-Rename section @var{sec} in @var{abfd} to @var{newname}.
+Rename section @var{sec} to @var{newname}.
 
 @findex bfd_map_over_sections
 @subsubsection @code{bfd_map_over_sections}
@@ -968,8 +953,7 @@ It returns the first section for which @
 @subsubsection @code{bfd_set_section_size}
 @strong{Synopsis}
 @example
-bfd_boolean bfd_set_section_size
-   (bfd *abfd, asection *sec, bfd_size_type val);
+bfd_boolean bfd_set_section_size (asection *sec, bfd_size_type val);
 @end example
 @strong{Description}@*
 Set @var{sec} to the size @var{val}. If the operation is
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/doc/targets.texi ./bfd/doc/targets.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/doc/targets.texi	2019-09-17 01:52:06.000000000 +0000
+++ ./bfd/doc/targets.texi	2019-09-24 01:51:36.000000000 +0000
@@ -149,7 +149,7 @@ typedef struct flag_info flag_info;
 typedef struct bfd_target
 @{
   /* Identifies the kind of target, e.g., SunOS4, Ultrix, etc.  */
-  char *name;
+  const char *name;
 
  /* The "flavour" of a back end is a general indication about
     the contents of a file.  */
@@ -555,6 +555,74 @@ to find an alternative output format tha
 
 @} bfd_target;
 
+static inline const char *
+bfd_get_target (const bfd *abfd)
+@{
+  return abfd->xvec->name;
+@}
+
+static inline enum bfd_flavour
+bfd_get_flavour (const bfd *abfd)
+@{
+  return abfd->xvec->flavour;
+@}
+
+static inline flagword
+bfd_applicable_file_flags (const bfd *abfd)
+@{
+  return abfd->xvec->object_flags;
+@}
+
+static inline bfd_boolean
+bfd_family_coff (const bfd *abfd)
+@{
+  return (bfd_get_flavour (abfd) == bfd_target_coff_flavour
+          || bfd_get_flavour (abfd) == bfd_target_xcoff_flavour);
+@}
+
+static inline bfd_boolean
+bfd_big_endian (const bfd *abfd)
+@{
+  return abfd->xvec->byteorder == BFD_ENDIAN_BIG;
+@}
+static inline bfd_boolean
+bfd_little_endian (const bfd *abfd)
+@{
+  return abfd->xvec->byteorder == BFD_ENDIAN_LITTLE;
+@}
+
+static inline bfd_boolean
+bfd_header_big_endian (const bfd *abfd)
+@{
+  return abfd->xvec->header_byteorder == BFD_ENDIAN_BIG;
+@}
+
+static inline bfd_boolean
+bfd_header_little_endian (const bfd *abfd)
+@{
+  return abfd->xvec->header_byteorder == BFD_ENDIAN_LITTLE;
+@}
+
+static inline flagword
+bfd_applicable_section_flags (const bfd *abfd)
+@{
+  return abfd->xvec->section_flags;
+@}
+
+static inline char
+bfd_get_symbol_leading_char (const bfd *abfd)
+@{
+  return abfd->xvec->symbol_leading_char;
+@}
+
+static inline enum bfd_flavour
+bfd_asymbol_flavour (const asymbol *sy)
+@{
+  if ((sy->flags & BSF_SYNTHETIC) != 0)
+    return bfd_target_unknown_flavour;
+  return sy->the_bfd->xvec->flavour;
+@}
+
 @end example
 
 @findex bfd_set_default_target
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/dwarf2.c ./bfd/dwarf2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/dwarf2.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/dwarf2.c	2019-09-24 01:49:09.000000000 +0000
@@ -2736,7 +2736,7 @@ lookup_symbol_in_function_table (struct 
   bfd_vma best_fit_len = 0;
   struct arange *arange;
   const char *name = bfd_asymbol_name (sym);
-  asection *sec = bfd_get_section (sym);
+  asection *sec = bfd_asymbol_section (sym);
 
   for (each_func = unit->function_table;
        each_func;
@@ -2784,7 +2784,7 @@ lookup_symbol_in_variable_table (struct 
 				 unsigned int *linenumber_ptr)
 {
   const char *name = bfd_asymbol_name (sym);
-  asection *sec = bfd_get_section (sym);
+  asection *sec = bfd_asymbol_section (sym);
   struct varinfo* each;
 
   for (each = unit->variable_table; each; each = each->prev_var)
@@ -4048,7 +4048,7 @@ info_hash_lookup_funcinfo (struct info_h
   struct info_list_node *node;
   struct arange *arange;
   const char *name = bfd_asymbol_name (sym);
-  asection *sec = bfd_get_section (sym);
+  asection *sec = bfd_asymbol_section (sym);
 
   for (node = lookup_info_hash_table (hash_table, name);
        node;
@@ -4096,7 +4096,7 @@ info_hash_lookup_varinfo (struct info_ha
 			  unsigned int *linenumber_ptr)
 {
   const char *name = bfd_asymbol_name (sym);
-  asection *sec = bfd_get_section (sym);
+  asection *sec = bfd_asymbol_section (sym);
   struct varinfo* each;
   struct info_list_node *node;
 
@@ -4695,7 +4695,7 @@ _bfd_dwarf2_find_nearest_line (bfd *abfd
   if (do_line)
     {
       BFD_ASSERT (section == NULL && offset == 0 && functionname_ptr == NULL);
-      section = bfd_get_section (symbol);
+      section = bfd_asymbol_section (symbol);
       addr = symbol->value;
     }
   else
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/ecoff-bfd.h ./bfd/ecoff-bfd.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/ecoff-bfd.h	1970-01-01 00:00:00.000000000 +0000
+++ ./bfd/ecoff-bfd.h	2019-09-24 01:49:09.000000000 +0000
@@ -0,0 +1,59 @@
+/* Externally visible ECOFF routines.
+   Copyright (C) 2019 Free Software Foundation, Inc.
+
+   This file is part of BFD, the Binary File Descriptor library.
+
+   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, write to the Free Software
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
+
+extern bfd_boolean bfd_ecoff_set_gp_value
+  (bfd *abfd, bfd_vma gp_value);
+extern bfd_boolean bfd_ecoff_set_regmasks
+  (bfd *abfd, unsigned long gprmask, unsigned long fprmask,
+   unsigned long *cprmask);
+extern void *bfd_ecoff_debug_init
+  (bfd *output_bfd, struct ecoff_debug_info *output_debug,
+   const struct ecoff_debug_swap *output_swap, struct bfd_link_info *);
+extern void bfd_ecoff_debug_free
+  (void *handle, bfd *output_bfd, struct ecoff_debug_info *output_debug,
+   const struct ecoff_debug_swap *output_swap, struct bfd_link_info *);
+extern bfd_boolean bfd_ecoff_debug_accumulate
+  (void *handle, bfd *output_bfd, struct ecoff_debug_info *output_debug,
+   const struct ecoff_debug_swap *output_swap, bfd *input_bfd,
+   struct ecoff_debug_info *input_debug,
+   const struct ecoff_debug_swap *input_swap, struct bfd_link_info *);
+extern bfd_boolean bfd_ecoff_debug_accumulate_other
+  (void *handle, bfd *output_bfd, struct ecoff_debug_info *output_debug,
+   const struct ecoff_debug_swap *output_swap, bfd *input_bfd,
+   struct bfd_link_info *);
+extern bfd_boolean bfd_ecoff_debug_externals
+  (bfd *abfd, struct ecoff_debug_info *debug,
+   const struct ecoff_debug_swap *swap, bfd_boolean relocatable,
+   bfd_boolean (*get_extr) (struct bfd_symbol *, struct ecoff_extr *),
+   void (*set_index) (struct bfd_symbol *, bfd_size_type));
+extern bfd_boolean bfd_ecoff_debug_one_external
+  (bfd *abfd, struct ecoff_debug_info *debug,
+   const struct ecoff_debug_swap *swap, const char *name,
+   struct ecoff_extr *esym);
+extern bfd_size_type bfd_ecoff_debug_size
+  (bfd *abfd, struct ecoff_debug_info *debug,
+   const struct ecoff_debug_swap *swap);
+extern bfd_boolean bfd_ecoff_write_debug
+  (bfd *abfd, struct ecoff_debug_info *debug,
+   const struct ecoff_debug_swap *swap, file_ptr where);
+extern bfd_boolean bfd_ecoff_write_accumulated_debug
+  (void *handle, bfd *abfd, struct ecoff_debug_info *debug,
+   const struct ecoff_debug_swap *swap,
+   struct bfd_link_info *info, file_ptr where);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/ecoff.c ./bfd/ecoff.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/ecoff.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/ecoff.c	2019-09-24 01:49:09.000000000 +0000
@@ -24,6 +24,7 @@
 #include "bfd.h"
 #include "bfdlink.h"
 #include "libbfd.h"
+#include "ecoff-bfd.h"
 #include "aout/ar.h"
 #include "aout/stab_gnu.h"
 
@@ -446,7 +447,7 @@ ecoff_slurp_symbolic_header (bfd *abfd)
   /* See whether there is a symbolic header.  */
   if (ecoff_data (abfd)->sym_filepos == 0)
     {
-      bfd_get_symcount (abfd) = 0;
+      abfd->symcount = 0;
       return TRUE;
     }
 
@@ -479,8 +480,7 @@ ecoff_slurp_symbolic_header (bfd *abfd)
     }
 
   /* Now we can get the correct number of symbols.  */
-  bfd_get_symcount (abfd) = (internal_symhdr->isymMax
-			     + internal_symhdr->iextMax);
+  abfd->symcount = internal_symhdr->isymMax + internal_symhdr->iextMax;
 
   if (raw != NULL)
     free (raw);
@@ -521,7 +521,7 @@ _bfd_ecoff_slurp_symbolic_info (bfd *abf
     return TRUE;
   if (ecoff_data (abfd)->sym_filepos == 0)
     {
-      bfd_get_symcount (abfd) = 0;
+      abfd->symcount = 0;
       return TRUE;
     }
 
@@ -965,7 +965,7 @@ _bfd_ecoff_slurp_symbol_table (bfd *abfd
      the symbol count and warning the user.  */
   if (internal_ptr - internal < (ptrdiff_t) bfd_get_symcount (abfd))
     {
-      bfd_get_symcount (abfd) = internal_ptr - internal;
+      abfd->symcount = internal_ptr - internal;
       _bfd_error_handler
 	/* xgettext:c-format */
 	(_("%pB: warning: isymMax (%ld) is greater than ifdMax (%ld)"),
@@ -1677,10 +1677,10 @@ ecoff_slurp_reloc_table (bfd *abfd,
 	    abort ();
 	  rptr->sym_ptr_ptr = sec->symbol_ptr_ptr;
 
-	  rptr->addend = - bfd_get_section_vma (abfd, sec);
+	  rptr->addend = - bfd_section_vma (sec);
 	}
 
-      rptr->address = intern.r_vaddr - bfd_get_section_vma (abfd, section);
+      rptr->address = intern.r_vaddr - bfd_section_vma (section);
 
       /* Let the backend select the howto field and do any other
 	 required processing.  */
@@ -2313,7 +2313,7 @@ ecoff_get_extr (asymbol *sym, EXTR *esym
      symbol.  */
   if ((esym->asym.sc == scUndefined
        || esym->asym.sc == scSUndefined)
-      && ! bfd_is_und_section (bfd_get_section (sym)))
+      && ! bfd_is_und_section (bfd_asymbol_section (sym)))
     esym->asym.sc = scAbs;
 
   /* Adjust the FDR index for the symbol by that used for the input
@@ -2432,7 +2432,7 @@ _bfd_ecoff_write_object_contents (bfd *a
       strncpy (section.s_name, current->name, sizeof section.s_name);
 
       /* This seems to be correct for Irix 4 shared libraries.  */
-      vma = bfd_get_section_vma (abfd, current);
+      vma = bfd_section_vma (current);
       if (streq (current->name, _LIB))
 	section.s_vaddr = 0;
       else
@@ -2683,8 +2683,7 @@ _bfd_ecoff_write_object_contents (bfd *a
 	      if (reloc->howto == NULL)
 		continue;
 
-	      in.r_vaddr = (reloc->address
-			    + bfd_get_section_vma (abfd, current));
+	      in.r_vaddr = reloc->address + bfd_section_vma (current);
 	      in.r_type = reloc->howto->type;
 
 	      if ((sym->flags & BSF_SECTION_SYM) == 0)
@@ -2720,7 +2719,7 @@ _bfd_ecoff_write_object_contents (bfd *a
 		    { _RCONST, RELOC_SECTION_RCONST }
 		  };
 
-		  name = bfd_get_section_name (abfd, bfd_get_section (sym));
+		  name = bfd_section_name (bfd_asymbol_section (sym));
 
 		  for (j = 0; j < ARRAY_SIZE (section_symndx); j++)
 		    if (streq (name, section_symndx[j].name))
@@ -2905,7 +2904,7 @@ _bfd_ecoff_slurp_armap (bfd *abfd)
 	  && nextname[ARMAP_OBJECT_ENDIAN_INDEX] != ARMAP_LITTLE_ENDIAN)
       || ! strneq (nextname + ARMAP_END_INDEX, ARMAP_END, sizeof ARMAP_END - 1))
     {
-      bfd_has_map (abfd) = FALSE;
+      abfd->has_armap = FALSE;
       return TRUE;
     }
 
@@ -3018,7 +3017,7 @@ _bfd_ecoff_slurp_armap (bfd *abfd)
   /* Pad to an even boundary.  */
   ardata->first_file_filepos += ardata->first_file_filepos % 2;
 
-  bfd_has_map (abfd) = TRUE;
+  abfd->has_armap = TRUE;
 
   return TRUE;
 }
@@ -4011,7 +4010,7 @@ ecoff_reloc_link_order (bfd *output_bfd,
 	  (*info->callbacks->reloc_overflow)
 	    (info, NULL,
 	     (link_order->type == bfd_section_reloc_link_order
-	      ? bfd_section_name (output_bfd, section)
+	      ? bfd_section_name (section)
 	      : link_order->u.reloc.p->u.name),
 	     rel.howto->name, addend, NULL, NULL, (bfd_vma) 0);
 	  break;
@@ -4026,8 +4025,7 @@ ecoff_reloc_link_order (bfd *output_bfd,
   rel.addend = 0;
 
   /* Move the information into an internal_reloc structure.  */
-  in.r_vaddr = (rel.address
-		+ bfd_get_section_vma (output_bfd, output_section));
+  in.r_vaddr = rel.address + bfd_section_vma (output_section);
   in.r_type = rel.howto->type;
 
   if (type == bfd_symbol_reloc_link_order)
@@ -4077,7 +4075,7 @@ ecoff_reloc_link_order (bfd *output_bfd,
 	{ _RCONST, RELOC_SECTION_RCONST }
       };
 
-      name = bfd_get_section_name (output_bfd, section);
+      name = bfd_section_name (section);
 
       for (i = 0; i < ARRAY_SIZE (section_symndx); i++)
 	if (streq (name, section_symndx[i].name))
@@ -4190,7 +4188,7 @@ ecoff_link_write_external (struct bfd_ha
 	  };
 
 	  output_section = h->root.u.def.section->output_section;
-	  name = bfd_section_name (output_section->owner, output_section);
+	  name = bfd_section_name (output_section);
 
 	  for (i = 0; i < ARRAY_SIZE (section_storage_classes); i++)
 	    if (streq (name, section_storage_classes[i].name))
@@ -4459,7 +4457,7 @@ _bfd_ecoff_bfd_final_link (bfd *abfd, st
 	}
     }
 
-  bfd_get_symcount (abfd) = symhdr->iextMax + symhdr->isymMax;
+  abfd->symcount = symhdr->iextMax + symhdr->isymMax;
 
   ecoff_data (abfd)->linker = TRUE;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/ecofflink.c ./bfd/ecofflink.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/ecofflink.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/ecofflink.c	2019-09-24 01:49:09.000000000 +0000
@@ -23,6 +23,7 @@
 #include "bfd.h"
 #include "bfdlink.h"
 #include "libbfd.h"
+#include "ecoff-bfd.h"
 #include "objalloc.h"
 #include "aout/stab_gnu.h"
 #include "coff/internal.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-arc.c ./bfd/elf32-arc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-arc.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-arc.c	2019-09-24 01:49:09.000000000 +0000
@@ -900,7 +900,7 @@ arc_elf_merge_private_bfd_data (bfd *ibf
 
       for (sec = ibfd->sections; sec != NULL; sec = sec->next)
 	{
-	  if ((bfd_get_section_flags (ibfd, sec)
+	  if ((bfd_section_flags (sec)
 	       & (SEC_LOAD | SEC_CODE | SEC_HAS_CONTENTS))
 	      == (SEC_LOAD | SEC_CODE | SEC_HAS_CONTENTS))
 	    only_data_sections = FALSE;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-arm.c ./bfd/elf32-arm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-arm.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-arm.c	2019-09-24 01:49:09.000000000 +0000
@@ -28,6 +28,8 @@
 #include "elf-nacl.h"
 #include "elf-vxworks.h"
 #include "elf/arm.h"
+#include "elf32-arm.h"
+#include "cpu-arm.h"
 
 /* Return the relocation section associated with NAME.  HTAB is the
    bfd's elf32_arm_link_hash_entry.  */
@@ -3817,7 +3819,8 @@ create_got_section (bfd *dynobj, struct 
       htab->srofixup = bfd_make_section_with_flags (dynobj, ".rofixup",
 						    (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS
 						     | SEC_IN_MEMORY | SEC_LINKER_CREATED | SEC_READONLY));
-      if (htab->srofixup == NULL || ! bfd_set_section_alignment (dynobj, htab->srofixup, 2))
+      if (htab->srofixup == NULL
+	  || !bfd_set_section_alignment (htab->srofixup, 2))
 	return FALSE;
     }
 
@@ -3845,7 +3848,7 @@ create_ifunc_sections (struct bfd_link_i
       s = bfd_make_section_anyway_with_flags (dynobj, ".iplt",
 					      flags | SEC_READONLY | SEC_CODE);
       if (s == NULL
-	  || !bfd_set_section_alignment (dynobj, s, bed->plt_alignment))
+	  || !bfd_set_section_alignment (s, bed->plt_alignment))
 	return FALSE;
       htab->root.iplt = s;
     }
@@ -3856,7 +3859,7 @@ create_ifunc_sections (struct bfd_link_i
 					      RELOC_SECTION (htab, ".iplt"),
 					      flags | SEC_READONLY);
       if (s == NULL
-	  || !bfd_set_section_alignment (dynobj, s, bed->s->log_file_align))
+	  || !bfd_set_section_alignment (s, bed->s->log_file_align))
 	return FALSE;
       htab->root.irelplt = s;
     }
@@ -3865,7 +3868,7 @@ create_ifunc_sections (struct bfd_link_i
     {
       s = bfd_make_section_anyway_with_flags (dynobj, ".igot.plt", flags);
       if (s == NULL
-	  || !bfd_set_section_alignment (dynobj, s, bed->s->log_file_align))
+	  || !bfd_set_section_alignment (s, bed->s->log_file_align))
 	return FALSE;
       htab->root.igotplt = s;
     }
@@ -7709,7 +7712,7 @@ arm_make_glue_section (bfd * abfd, const
   sec = bfd_make_section_anyway_with_flags (abfd, name, ARM_GLUE_SECTION_FLAGS);
 
   if (sec == NULL
-      || !bfd_set_section_alignment (abfd, sec, 2))
+      || !bfd_set_section_alignment (sec, 2))
     return FALSE;
 
   /* Set the gc mark to prevent the section from being removed by garbage
@@ -13374,7 +13377,7 @@ elf32_arm_relocate_section (bfd *		   ou
 	  name = (bfd_elf_string_from_elf_section
 		  (input_bfd, symtab_hdr->sh_link, sym->st_name));
 	  if (name == NULL || *name == '\0')
-	    name = bfd_section_name (input_bfd, sec);
+	    name = bfd_section_name (sec);
 	}
 
       if (r_symndx != STN_UNDEF
@@ -13552,10 +13555,10 @@ adjust_exidx_size(asection *exidx_sec, i
   if (!exidx_sec->rawsize)
     exidx_sec->rawsize = exidx_sec->size;
 
-  bfd_set_section_size (exidx_sec->owner, exidx_sec, exidx_sec->size + adjust);
+  bfd_set_section_size (exidx_sec, exidx_sec->size + adjust);
   out_sec = exidx_sec->output_section;
   /* Adjust size of output section.  */
-  bfd_set_section_size (out_sec->owner, out_sec, out_sec->size +adjust);
+  bfd_set_section_size (out_sec, out_sec->size +adjust);
 }
 
 /* Insert an EXIDX_CANTUNWIND marker at the end of a section.  */
@@ -15696,9 +15699,9 @@ elf32_arm_check_relocs (bfd *abfd, struc
 		{
 		  flagword flags;
 
-		  flags = bfd_get_section_flags (dynobj, sreloc);
+		  flags = bfd_section_flags (sreloc);
 		  flags &= ~(SEC_LOAD | SEC_ALLOC);
-		  bfd_set_section_flags (dynobj, sreloc, flags);
+		  bfd_set_section_flags (sreloc, flags);
 		}
 	    }
 
@@ -16076,7 +16079,7 @@ arm_elf_find_function (bfd *	     abfd,
 		    BFD_ARM_SPECIAL_SYM_TYPE_ANY))
 	    continue;
 	  /* Fall through.  */
-	  if (bfd_get_section (&q->symbol) == section
+	  if (bfd_asymbol_section (&q->symbol) == section
 	      && q->symbol.value >= low_func
 	      && q->symbol.value <= offset)
 	    {
@@ -17158,7 +17161,7 @@ elf32_arm_size_dynamic_sections (bfd * o
 
       /* It's OK to base decisions on the section name, because none
 	 of the dynobj section names depend upon the input files.  */
-      name = bfd_get_section_name (dynobj, s);
+      name = bfd_section_name (s);
 
       if (s == htab->root.splt)
 	{
@@ -17951,7 +17954,7 @@ elf32_arm_fake_sections (bfd * abfd, Elf
 {
   const char * name;
 
-  name = bfd_get_section_name (abfd, sec);
+  name = bfd_section_name (sec);
 
   if (is_arm_elf_unwind_section_name (abfd, name))
     {
@@ -20874,7 +20877,7 @@ elf32_arm_merge_private_bfd_data (bfd *i
 	  if (strcmp (sec->name, ".glue_7")
 	      && strcmp (sec->name, ".glue_7t"))
 	    {
-	      if ((bfd_get_section_flags (ibfd, sec)
+	      if ((bfd_section_flags (sec)
 		   & (SEC_LOAD | SEC_CODE | SEC_HAS_CONTENTS))
 		  == (SEC_LOAD | SEC_CODE | SEC_HAS_CONTENTS))
 		only_data_sections = FALSE;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-arm.h ./bfd/elf32-arm.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-arm.h	1970-01-01 00:00:00.000000000 +0000
+++ ./bfd/elf32-arm.h	2019-09-24 01:49:09.000000000 +0000
@@ -0,0 +1,121 @@
+/* 32-bit ELF support for ARM
+   Copyright (C) 2019 Free Software Foundation, Inc.
+
+   This file is part of BFD, the Binary File Descriptor library.
+
+   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, write to the Free Software
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
+
+
+/* ARM VFP11 erratum workaround support.  */
+typedef enum
+{
+  BFD_ARM_VFP11_FIX_DEFAULT,
+  BFD_ARM_VFP11_FIX_NONE,
+  BFD_ARM_VFP11_FIX_SCALAR,
+  BFD_ARM_VFP11_FIX_VECTOR
+} bfd_arm_vfp11_fix;
+
+extern void bfd_elf32_arm_init_maps
+  (bfd *);
+
+extern void bfd_elf32_arm_set_vfp11_fix
+  (bfd *, struct bfd_link_info *);
+
+extern void bfd_elf32_arm_set_cortex_a8_fix
+  (bfd *, struct bfd_link_info *);
+
+extern bfd_boolean bfd_elf32_arm_vfp11_erratum_scan
+  (bfd *, struct bfd_link_info *);
+
+extern void bfd_elf32_arm_vfp11_fix_veneer_locations
+  (bfd *, struct bfd_link_info *);
+
+/* ARM STM STM32L4XX erratum workaround support.  */
+typedef enum
+{
+  BFD_ARM_STM32L4XX_FIX_NONE,
+  BFD_ARM_STM32L4XX_FIX_DEFAULT,
+  BFD_ARM_STM32L4XX_FIX_ALL
+} bfd_arm_stm32l4xx_fix;
+
+extern void bfd_elf32_arm_set_stm32l4xx_fix
+  (bfd *, struct bfd_link_info *);
+
+extern bfd_boolean bfd_elf32_arm_stm32l4xx_erratum_scan
+  (bfd *, struct bfd_link_info *);
+
+extern void bfd_elf32_arm_stm32l4xx_fix_veneer_locations
+  (bfd *, struct bfd_link_info *);
+
+/* ELF ARM Interworking support.  Called from linker.  */
+extern bfd_boolean bfd_elf32_arm_allocate_interworking_sections
+  (struct bfd_link_info *);
+
+extern bfd_boolean bfd_elf32_arm_process_before_allocation
+  (bfd *, struct bfd_link_info *);
+
+struct elf32_arm_params {
+  char *thumb_entry_symbol;
+  int byteswap_code;
+  int target1_is_rel;
+  char * target2_type;
+  int fix_v4bx;
+  int use_blx;
+  bfd_arm_vfp11_fix vfp11_denorm_fix;
+  bfd_arm_stm32l4xx_fix stm32l4xx_fix;
+  int no_enum_size_warning;
+  int no_wchar_size_warning;
+  int pic_veneer;
+  int fix_cortex_a8;
+  int fix_arm1176;
+  int merge_exidx_entries;
+  int cmse_implib;
+  bfd *in_implib_bfd;
+};
+
+void bfd_elf32_arm_set_target_params
+  (bfd *, struct bfd_link_info *, struct elf32_arm_params *);
+
+extern bfd_boolean bfd_elf32_arm_get_bfd_for_interworking
+  (bfd *, struct bfd_link_info *);
+
+extern bfd_boolean bfd_elf32_arm_add_glue_sections_to_bfd
+  (bfd *, struct bfd_link_info *);
+
+extern void bfd_elf32_arm_keep_private_stub_output_sections
+  (struct bfd_link_info *);
+
+extern void bfd_elf32_arm_set_byteswap_code
+  (struct bfd_link_info *, int);
+
+extern void bfd_elf32_arm_use_long_plt (void);
+
+/* ARM stub generation support.  Called from the linker.  */
+extern int elf32_arm_setup_section_lists
+  (bfd *, struct bfd_link_info *);
+extern void elf32_arm_next_input_section
+  (struct bfd_link_info *, struct bfd_section *);
+extern bfd_boolean elf32_arm_size_stubs
+  (bfd *, bfd *, struct bfd_link_info *, bfd_signed_vma,
+   struct bfd_section * (*) (const char *, struct bfd_section *,
+			     struct bfd_section *, unsigned int),
+   void (*) (void));
+extern bfd_boolean elf32_arm_build_stubs
+  (struct bfd_link_info *);
+
+/* ARM unwind section editing support.  */
+extern bfd_boolean elf32_arm_fix_exidx_coverage
+(struct bfd_section **, unsigned int, struct bfd_link_info *, bfd_boolean);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-avr.c ./bfd/elf32-avr.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-avr.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-avr.c	2019-09-24 01:49:09.000000000 +0000
@@ -1465,7 +1465,7 @@ elf32_avr_relocate_section (bfd *output_
 
 	  name = bfd_elf_string_from_elf_section
 	    (input_bfd, symtab_hdr->sh_link, sym->st_name);
-	  name = (name == NULL) ? bfd_section_name (input_bfd, sec) : name;
+	  name = name == NULL ? bfd_section_name (sec) : name;
 	}
       else
 	{
@@ -2354,8 +2354,7 @@ avr_property_record_compare (const void 
     return (a->offset - b->offset);
 
   if (a->section != b->section)
-    return (bfd_get_section_vma (a->section->owner, a->section)
-	    - bfd_get_section_vma (b->section->owner, b->section));
+    return bfd_section_vma (a->section) - bfd_section_vma (b->section);
 
   return (a->type - b->type);
 }
@@ -3948,12 +3947,12 @@ internal_reloc_compare (const void *ap, 
 /* Return true if ADDRESS is within the vma range of SECTION from ABFD.  */
 
 static bfd_boolean
-avr_is_section_for_address (bfd *abfd, asection *section, bfd_vma address)
+avr_is_section_for_address (asection *section, bfd_vma address)
 {
   bfd_vma vma;
   bfd_size_type size;
 
-  vma = bfd_get_section_vma (abfd, section);
+  vma = bfd_section_vma (section);
   if (address < vma)
     return FALSE;
 
@@ -3985,7 +3984,7 @@ struct avr_find_section_data
    perform any checks, and just returns.  */
 
 static void
-avr_find_section_for_address (bfd *abfd,
+avr_find_section_for_address (bfd *abfd ATTRIBUTE_UNUSED,
 			      asection *section, void *data)
 {
   struct avr_find_section_data *fs_data
@@ -3996,11 +3995,11 @@ avr_find_section_for_address (bfd *abfd,
     return;
 
   /* If this section isn't part of the addressable code content, skip it.  */
-  if ((bfd_get_section_flags (abfd, section) & SEC_ALLOC) == 0
-      && (bfd_get_section_flags (abfd, section) & SEC_CODE) == 0)
+  if ((bfd_section_flags (section) & SEC_ALLOC) == 0
+      && (bfd_section_flags (section) & SEC_CODE) == 0)
     return;
 
-  if (avr_is_section_for_address (abfd, section, fs_data->address))
+  if (avr_is_section_for_address (section, fs_data->address))
     fs_data->section = section;
 }
 
@@ -4023,7 +4022,7 @@ avr_elf32_load_records_from_section (bfd
 
   fs_data.section = NULL;
 
-  size = bfd_get_section_size (sec);
+  size = bfd_section_size (sec);
   contents = bfd_malloc (size);
   bfd_get_section_contents (abfd, sec, contents, 0, size);
   ptr = contents;
@@ -4126,8 +4125,7 @@ avr_elf32_load_records_from_section (bfd
 	{
 	  /* Try to find section and offset from address.  */
 	  if (fs_data.section != NULL
-	      && !avr_is_section_for_address (abfd, fs_data.section,
-					      address))
+	      && !avr_is_section_for_address (fs_data.section, address))
 	    fs_data.section = NULL;
 
 	  if (fs_data.section == NULL)
@@ -4145,7 +4143,7 @@ avr_elf32_load_records_from_section (bfd
 
 	  r_list->records [i].section = fs_data.section;
 	  r_list->records [i].offset
-	    = address - bfd_get_section_vma (abfd, fs_data.section);
+	    = address - bfd_section_vma (fs_data.section);
 	}
 
       r_list->records [i].type = *((bfd_byte *) ptr);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-bfin.c ./bfd/elf32-bfin.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-bfin.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-bfin.c	2019-09-24 01:49:09.000000000 +0000
@@ -25,6 +25,7 @@
 #include "elf/bfin.h"
 #include "dwarf2.h"
 #include "hashtab.h"
+#include "elf32-bfin.h"
 
 /* FUNCTION : bfin_pltpc_reloc
    ABSTRACT : TODO : figure out how to handle pltpc relocs.  */
@@ -1601,7 +1602,7 @@ bfin_relocate_section (bfd * output_bfd,
 	      if (name == NULL)
 		return FALSE;
 	      if (*name == '\0')
-		name = bfd_section_name (input_bfd, sec);
+		name = bfd_section_name (sec);
 	    }
 
 	  if (r == bfd_reloc_overflow)
@@ -2560,7 +2561,7 @@ bfinfdpic_relocate_section (bfd * output
 
 	  name = bfd_elf_string_from_elf_section
 	    (input_bfd, symtab_hdr->sh_link, sym->st_name);
-	  name = (name == NULL) ? bfd_section_name (input_bfd, sec) : name;
+	  name = name == NULL ? bfd_section_name (sec) : name;
 	}
       else
 	{
@@ -2778,8 +2779,7 @@ bfinfdpic_relocate_section (bfd * output
 		    bfd_vma offset;
 
 		    addend += bfinfdpic_got_section (info)->output_section->vma;
-		    if ((bfd_get_section_flags (output_bfd,
-						input_section->output_section)
+		    if ((bfd_section_flags (input_section->output_section)
 			 & (SEC_ALLOC | SEC_LOAD)) == (SEC_ALLOC | SEC_LOAD))
 		      {
 			if (_bfinfdpic_osec_readonly_p (output_bfd,
@@ -2807,8 +2807,7 @@ bfinfdpic_relocate_section (bfd * output
 						  picrel);
 		      }
 		  }
-		else if ((bfd_get_section_flags (output_bfd,
-						 input_section->output_section)
+		else if ((bfd_section_flags (input_section->output_section)
 			  & (SEC_ALLOC | SEC_LOAD)) == (SEC_ALLOC | SEC_LOAD))
 		  {
 		    bfd_vma offset;
@@ -2901,8 +2900,7 @@ bfinfdpic_relocate_section (bfd * output
 		if (osec)
 		  addend += osec->output_section->vma;
 		if (IS_FDPIC (input_bfd)
-		    && (bfd_get_section_flags (output_bfd,
-					       input_section->output_section)
+		    && (bfd_section_flags (input_section->output_section)
 			& (SEC_ALLOC | SEC_LOAD)) == (SEC_ALLOC | SEC_LOAD))
 		  {
 		    if (_bfinfdpic_osec_readonly_p (output_bfd,
@@ -2939,8 +2937,7 @@ bfinfdpic_relocate_section (bfd * output
 	      }
 	    else
 	      {
-		if ((bfd_get_section_flags (output_bfd,
-					    input_section->output_section)
+		if ((bfd_section_flags (input_section->output_section)
 		     & (SEC_ALLOC | SEC_LOAD)) == (SEC_ALLOC | SEC_LOAD))
 		  {
 		    if (_bfinfdpic_osec_readonly_p (output_bfd,
@@ -3201,7 +3198,7 @@ _bfin_create_got_section (bfd *abfd, str
   s = bfd_make_section_anyway_with_flags (abfd, ".got", flags);
   elf_hash_table (info)->sgot = s;
   if (s == NULL
-      || !bfd_set_section_alignment (abfd, s, ptralign))
+      || !bfd_set_section_alignment (s, ptralign))
     return FALSE;
 
   if (bed->want_got_sym)
@@ -3238,7 +3235,7 @@ _bfin_create_got_section (bfd *abfd, str
       s = bfd_make_section_anyway_with_flags (abfd, ".rel.got",
 					      (flags | SEC_READONLY));
       if (s == NULL
-	  || ! bfd_set_section_alignment (abfd, s, 2))
+	  || !bfd_set_section_alignment (s, 2))
 	return FALSE;
 
       bfinfdpic_gotrel_section (info) = s;
@@ -3247,7 +3244,7 @@ _bfin_create_got_section (bfd *abfd, str
       s = bfd_make_section_anyway_with_flags (abfd, ".rofixup",
 					      (flags | SEC_READONLY));
       if (s == NULL
-	  || ! bfd_set_section_alignment (abfd, s, 2))
+	  || !bfd_set_section_alignment (s, 2))
 	return FALSE;
 
       bfinfdpic_gotfixup_section (info) = s;
@@ -3261,7 +3258,7 @@ _bfin_create_got_section (bfd *abfd, str
 
   s = bfd_make_section_anyway_with_flags (abfd, ".plt", pltflags);
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, bed->plt_alignment))
+      || !bfd_set_section_alignment (s, bed->plt_alignment))
     return FALSE;
   /* Blackfin-specific: remember it.  */
   bfinfdpic_plt_section (info) = s;
@@ -3289,7 +3286,7 @@ _bfin_create_got_section (bfd *abfd, str
   s = bfd_make_section_anyway_with_flags (abfd, ".rel.plt",
 					  flags | SEC_READONLY);
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
+      || !bfd_set_section_alignment (s, bed->s->log_file_align))
     return FALSE;
   /* Blackfin-specific: remember it.  */
   bfinfdpic_pltrel_section (info) = s;
@@ -3355,7 +3352,7 @@ elf32_bfinfdpic_create_dynamic_sections 
 						  ".rela.bss",
 						  flags | SEC_READONLY);
 	  if (s == NULL
-	      || ! bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
+	      || !bfd_set_section_alignment (s, bed->s->log_file_align))
 	    return FALSE;
 	}
     }
@@ -4616,7 +4613,7 @@ bfinfdpic_check_relocs (bfd *abfd, struc
 
 	case R_BFIN_FUNCDESC_VALUE:
 	  picrel->relocsfdv++;
-	  if (bfd_get_section_flags (abfd, sec) & SEC_ALLOC)
+	  if (bfd_section_flags (sec) & SEC_ALLOC)
 	    picrel->relocs32--;
 	  /* Fall through.  */
 
@@ -4625,7 +4622,7 @@ bfinfdpic_check_relocs (bfd *abfd, struc
 	    break;
 
 	  picrel->sym++;
-	  if (bfd_get_section_flags (abfd, sec) & SEC_ALLOC)
+	  if (bfd_section_flags (sec) & SEC_ALLOC)
 	    picrel->relocs32++;
 	  break;
 
@@ -5064,9 +5061,9 @@ bfin_adjust_dynamic_symbol (struct bfd_l
 
   /* Apply the required alignment.  */
   s->size = BFD_ALIGN (s->size, (bfd_size_type) (1 << power_of_two));
-  if (power_of_two > bfd_get_section_alignment (dynobj, s))
+  if (power_of_two > bfd_section_alignment (s))
     {
-      if (!bfd_set_section_alignment (dynobj, s, power_of_two))
+      if (!bfd_set_section_alignment (s, power_of_two))
 	return FALSE;
     }
 
@@ -5200,7 +5197,7 @@ bfin_size_dynamic_sections (bfd * output
 
       /* It's OK to base decisions on the section name, because none
 	 of the dynobj section names depend upon the input files.  */
-      name = bfd_get_section_name (dynobj, s);
+      name = bfd_section_name (s);
 
       strip = FALSE;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-bfin.h ./bfd/elf32-bfin.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-bfin.h	1970-01-01 00:00:00.000000000 +0000
+++ ./bfd/elf32-bfin.h	2019-09-24 01:49:09.000000000 +0000
@@ -0,0 +1,23 @@
+/* ADI Blackfin BFD support for 32-bit ELF.
+   Copyright (C) 2019 Free Software Foundation, Inc.
+
+   This file is part of BFD, the Binary File Descriptor library.
+
+   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, write to the Free Software
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
+
+extern bfd_boolean bfd_bfin_elf32_create_embedded_relocs
+  (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *,
+   char **);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-cr16.c ./bfd/elf32-cr16.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-cr16.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-cr16.c	2019-09-24 01:49:09.000000000 +0000
@@ -25,6 +25,7 @@
 #include "libiberty.h"
 #include "elf-bfd.h"
 #include "elf/cr16.h"
+#include "elf32-cr16.h"
 
 /* The cr16 linker needs to keep track of the number of relocs that
    it decides to copy in check_relocs for each symbol.  This is so
@@ -610,7 +611,7 @@ _bfd_cr16_elf_create_got_section (bfd * 
   s = bfd_make_section_anyway_with_flags (abfd, ".got", flags);
   htab->sgot= s;
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, ptralign))
+      || !bfd_set_section_alignment (s, ptralign))
     return FALSE;
 
   if (bed->want_got_plt)
@@ -618,7 +619,7 @@ _bfd_cr16_elf_create_got_section (bfd * 
       s = bfd_make_section_anyway_with_flags (abfd, ".got.plt", flags);
       htab->sgotplt = s;
       if (s == NULL
-	  || ! bfd_set_section_alignment (abfd, s, ptralign))
+	  || !bfd_set_section_alignment (s, ptralign))
 	return FALSE;
     }
 
@@ -1444,7 +1445,7 @@ elf32_cr16_relocate_section (bfd *output
 	      name = (bfd_elf_string_from_elf_section
 		      (input_bfd, symtab_hdr->sh_link, sym->st_name));
 	      if (name == NULL || *name == '\0')
-		name = bfd_section_name (input_bfd, sec);
+		name = bfd_section_name (sec);
 	    }
 
 	  switch (r)
@@ -2241,7 +2242,7 @@ _bfd_cr16_elf_create_dynamic_sections (b
 					  flags | SEC_READONLY);
   htab->srelplt = s;
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, ptralign))
+      || !bfd_set_section_alignment (s, ptralign))
     return FALSE;
 
   if (! _bfd_cr16_elf_create_got_section (abfd, info))
@@ -2278,7 +2279,7 @@ _bfd_cr16_elf_create_dynamic_sections (b
 						   ? ".rela.bss" : ".rel.bss"),
 						  flags | SEC_READONLY);
 	  if (s == NULL
-	      || ! bfd_set_section_alignment (abfd, s, ptralign))
+	      || !bfd_set_section_alignment (s, ptralign))
 	    return FALSE;
 	}
     }
@@ -2463,7 +2464,7 @@ _bfd_cr16_elf_size_dynamic_sections (bfd
 
       /* It's OK to base decisions on the section name, because none
 	 of the dynobj section names depend upon the input files.  */
-      name = bfd_get_section_name (dynobj, s);
+      name = bfd_section_name (s);
 
       if (strcmp (name, ".plt") == 0)
 	{
@@ -2489,8 +2490,7 @@ _bfd_cr16_elf_size_dynamic_sections (bfd
 		     entry.  The entries in the .rela.plt section
 		     really apply to the .got section, which we
 		     created ourselves and so know is not readonly.  */
-		  outname = bfd_get_section_name (output_bfd,
-						  s->output_section);
+		  outname = bfd_section_name (s->output_section);
 		  target = bfd_get_section_by_name (output_bfd, outname + 5);
 		  if (target != NULL
 		      && (target->flags & SEC_READONLY) != 0
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-cr16c.c ./bfd/elf32-cr16c.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-cr16c.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-cr16c.c	2019-09-24 01:49:09.000000000 +0000
@@ -763,7 +763,7 @@ elf32_cr16c_relocate_section (bfd *outpu
 	      name = (bfd_elf_string_from_elf_section
 		      (input_bfd, symtab_hdr->sh_link, sym->st_name));
 	      if (name == NULL || *name == '\0')
-		name = bfd_section_name (input_bfd, sec);
+		name = bfd_section_name (sec);
 	    }
 
 	  switch (r)
@@ -827,9 +827,9 @@ elf32_cr16c_section_from_bfd_section (bf
 				      asection *sec,
 				      int *retval)
 {
-  if (strcmp (bfd_get_section_name (abfd, sec), ".fcommon") == 0)
+  if (strcmp (bfd_section_name (sec), ".fcommon") == 0)
     *retval = SHN_CR16C_FCOMMON;
-  else if (strcmp (bfd_get_section_name (abfd, sec), ".ncommon") == 0)
+  else if (strcmp (bfd_section_name (sec), ".ncommon") == 0)
     *retval = SHN_CR16C_NCOMMON;
   else
     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-8.3.50.20190917/bfd/elf32-cr16.h ./bfd/elf32-cr16.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-cr16.h	1970-01-01 00:00:00.000000000 +0000
+++ ./bfd/elf32-cr16.h	2019-09-24 01:49:09.000000000 +0000
@@ -0,0 +1,22 @@
+/* BFD back-end for National Semiconductor's CR16 ELF
+   Copyright (C) 2019 Free Software Foundation, Inc.
+
+   This file is part of BFD, the Binary File Descriptor library.
+
+   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, write to the Free Software Foundation,
+   Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
+
+extern bfd_boolean bfd_cr16_elf32_create_embedded_relocs
+  (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *,
+   char **);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-cris.c ./bfd/elf32-cris.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-cris.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-cris.c	2019-09-24 01:49:09.000000000 +0000
@@ -1044,7 +1044,7 @@ cris_elf_relocate_section (bfd *output_b
 	  symname = (bfd_elf_string_from_elf_section
 		     (input_bfd, symtab_hdr->sh_link, sym->st_name));
 	  if (symname == NULL)
-	    symname = bfd_section_name (input_bfd, sec);
+	    symname = bfd_section_name (sec);
 	}
       else
 	{
@@ -2480,7 +2480,7 @@ cris_elf_plt_sym_val (bfd_vma i ATTRIBUT
   if ((got = bfd_get_section_by_name (abfd, ".got")) == NULL)
     return (bfd_vma) -1;
 
-  plt_sec_size =  bfd_section_size (plt->owner, plt);
+  plt_sec_size =  bfd_section_size (plt);
   plt_entry_size
     = (bfd_get_mach (abfd) == bfd_mach_cris_v32
        ? PLT_ENTRY_SIZE_V32 : PLT_ENTRY_SIZE);
@@ -3580,7 +3580,7 @@ elf_cris_size_dynamic_sections (bfd *out
 
       /* It's OK to base decisions on the section name, because none
 	 of the dynobj section names depend upon the input files.  */
-      name = bfd_get_section_name (dynobj, s);
+      name = bfd_section_name (s);
 
       if (strcmp (name, ".plt") == 0)
 	{
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-crx.c ./bfd/elf32-crx.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-crx.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-crx.c	2019-09-24 01:49:09.000000000 +0000
@@ -905,7 +905,7 @@ elf32_crx_relocate_section (bfd *output_
 	      name = (bfd_elf_string_from_elf_section
 		      (input_bfd, symtab_hdr->sh_link, sym->st_name));
 	      if (name == NULL || *name == '\0')
-		name = bfd_section_name (input_bfd, sec);
+		name = bfd_section_name (sec);
 	    }
 
 	  switch (r)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-csky.c ./bfd/elf32-csky.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-csky.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-csky.c	2019-09-24 01:49:09.000000000 +0000
@@ -28,6 +28,7 @@
 #include "opcode/csky.h"
 #include <assert.h>
 #include "libiberty.h"
+#include "elf32-csky.h"
 
 /* Data structures used for merging different arch variants.
    V1 (510/610) and V2 (8xx) processors are incompatible, but
@@ -2092,7 +2093,7 @@ csky_elf_size_dynamic_sections (bfd *out
 	  if (htab->elf.hplt != NULL)
 	    strip_section = FALSE;
 	}
-      else if (CONST_STRNEQ (bfd_get_section_name (dynobj, s), ".rel") )
+      else if (CONST_STRNEQ (bfd_section_name (s), ".rel") )
 	{
 	  if (s->size != 0 )
 	    relocs = TRUE;
@@ -5070,7 +5071,7 @@ csky_elf_relocate_section (bfd *        
 		  if (name == NULL)
 		    break;
 		  if (*name == '\0')
-		    name = bfd_section_name (input_bfd, sec);
+		    name = bfd_section_name (sec);
 		}
 	      (*info->callbacks->reloc_overflow)
 		(info,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-csky.h ./bfd/elf32-csky.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-csky.h	1970-01-01 00:00:00.000000000 +0000
+++ ./bfd/elf32-csky.h	2019-09-24 01:49:09.000000000 +0000
@@ -0,0 +1,30 @@
+/* 32-bit ELF support for C-SKY.
+   Copyright (C) 2019 Free Software Foundation, Inc.
+
+   This file is part of BFD, the Binary File Descriptor library.
+
+   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, write to the Free Software
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
+
+extern bfd_boolean elf32_csky_build_stubs
+  (struct bfd_link_info *);
+extern bfd_boolean elf32_csky_size_stubs
+  (bfd *, bfd *, struct bfd_link_info *, bfd_signed_vma,
+   struct bfd_section *(*) (const char*, struct bfd_section*),
+   void (*) (void));
+extern void elf32_csky_next_input_section
+  (struct bfd_link_info *, struct bfd_section *);
+extern int elf32_csky_setup_section_lists
+  (bfd *, struct bfd_link_info *);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-d10v.c ./bfd/elf32-d10v.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-d10v.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-d10v.c	2019-09-24 01:49:09.000000000 +0000
@@ -482,7 +482,7 @@ elf32_d10v_relocate_section (bfd *output
 	  name = (bfd_elf_string_from_elf_section
 		  (input_bfd, symtab_hdr->sh_link, sym->st_name));
 	  if (name == NULL || *name == '\0')
-	    name = bfd_section_name (input_bfd, sec);
+	    name = bfd_section_name (sec);
 	}
 
       r = _bfd_final_link_relocate (howto, input_bfd, input_section,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-epiphany.c ./bfd/elf32-epiphany.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-epiphany.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-epiphany.c	2019-09-24 01:49:09.000000000 +0000
@@ -518,7 +518,7 @@ epiphany_elf_relocate_section (bfd *outp
 
 	  name = bfd_elf_string_from_elf_section
 	    (input_bfd, symtab_hdr->sh_link, sym->st_name);
-	  name = (name == NULL) ? bfd_section_name (input_bfd, sec) : name;
+	  name = name == NULL ? bfd_section_name (sec) : name;
 	}
       else
 	{
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-fr30.c ./bfd/elf32-fr30.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-fr30.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-fr30.c	2019-09-24 01:49:09.000000000 +0000
@@ -549,7 +549,7 @@ fr30_elf_relocate_section (bfd *output_b
 
 	  name = bfd_elf_string_from_elf_section
 	    (input_bfd, symtab_hdr->sh_link, sym->st_name);
-	  name = (name == NULL) ? bfd_section_name (input_bfd, sec) : name;
+	  name = name == NULL ? bfd_section_name (sec) : name;
 	}
       else
 	{
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-frv.c ./bfd/elf32-frv.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-frv.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-frv.c	2019-09-24 01:49:09.000000000 +0000
@@ -2736,7 +2736,7 @@ elf32_frv_relocate_section (bfd *output_
 	  name = bfd_elf_string_from_elf_section
 	    (input_bfd, symtab_hdr->sh_link, sym->st_name);
 	  if (name == NULL || name[0] == 0)
-	    name = bfd_section_name (input_bfd, sec);
+	    name = bfd_section_name (sec);
 	}
       else
 	{
@@ -3566,8 +3566,7 @@ elf32_frv_relocate_section (bfd *output_
 		    && (!h || FRVFDPIC_FUNCDESC_LOCAL (info, h)))
 		  {
 		    addend += frvfdpic_got_section (info)->output_section->vma;
-		    if ((bfd_get_section_flags (output_bfd,
-						input_section->output_section)
+		    if ((bfd_section_flags (input_section->output_section)
 			 & (SEC_ALLOC | SEC_LOAD)) == (SEC_ALLOC | SEC_LOAD))
 		      {
 			bfd_vma offset;
@@ -3597,8 +3596,7 @@ elf32_frv_relocate_section (bfd *output_
 						 picrel);
 		      }
 		  }
-		else if ((bfd_get_section_flags (output_bfd,
-						 input_section->output_section)
+		else if ((bfd_section_flags (input_section->output_section)
 			  & (SEC_ALLOC | SEC_LOAD)) == (SEC_ALLOC | SEC_LOAD))
 		  {
 		    bfd_vma offset;
@@ -3691,8 +3689,7 @@ elf32_frv_relocate_section (bfd *output_
 		if (osec)
 		  addend += osec->output_section->vma;
 		if (IS_FDPIC (input_bfd)
-		    && (bfd_get_section_flags (output_bfd,
-					       input_section->output_section)
+		    && (bfd_section_flags (input_section->output_section)
 			& (SEC_ALLOC | SEC_LOAD)) == (SEC_ALLOC | SEC_LOAD))
 		  {
 		    if (_frvfdpic_osec_readonly_p (output_bfd,
@@ -3732,8 +3729,7 @@ elf32_frv_relocate_section (bfd *output_
 	      }
 	    else
 	      {
-		if ((bfd_get_section_flags (output_bfd,
-					    input_section->output_section)
+		if ((bfd_section_flags (input_section->output_section)
 		     & (SEC_ALLOC | SEC_LOAD)) == (SEC_ALLOC | SEC_LOAD))
 		  {
 		    bfd_vma offset;
@@ -4192,7 +4188,7 @@ _frv_create_got_section (bfd *abfd, stru
   s = bfd_make_section_anyway_with_flags (abfd, ".got", flags);
   elf_hash_table (info)->sgot = s;
   if (s == NULL
-      || !bfd_set_section_alignment (abfd, s, ptralign))
+      || !bfd_set_section_alignment (s, ptralign))
     return FALSE;
 
   if (bed->want_got_sym)
@@ -4230,14 +4226,14 @@ _frv_create_got_section (bfd *abfd, stru
 					      (flags | SEC_READONLY));
       elf_hash_table (info)->srelgot = s;
       if (s == NULL
-	  || ! bfd_set_section_alignment (abfd, s, 2))
+	  || !bfd_set_section_alignment (s, 2))
 	return FALSE;
 
       /* Machine-specific.  */
       s = bfd_make_section_anyway_with_flags (abfd, ".rofixup",
 					      (flags | SEC_READONLY));
       if (s == NULL
-	  || ! bfd_set_section_alignment (abfd, s, 2))
+	  || !bfd_set_section_alignment (s, 2))
 	return FALSE;
 
       frvfdpic_gotfixup_section (info) = s;
@@ -4285,7 +4281,7 @@ _frv_create_got_section (bfd *abfd, stru
 
   s = bfd_make_section_anyway_with_flags (abfd, ".plt", pltflags);
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, bed->plt_alignment))
+      || !bfd_set_section_alignment (s, bed->plt_alignment))
     return FALSE;
   /* FRV-specific: remember it.  */
   frvfdpic_plt_section (info) = s;
@@ -4305,7 +4301,7 @@ _frv_create_got_section (bfd *abfd, stru
   s = bfd_make_section_anyway_with_flags (abfd, ".rel.plt",
 					  flags | SEC_READONLY);
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
+      || !bfd_set_section_alignment (s, bed->s->log_file_align))
     return FALSE;
   /* FRV-specific: remember it.  */
   frvfdpic_pltrel_section (info) = s;
@@ -4373,7 +4369,7 @@ elf32_frvfdpic_create_dynamic_sections (
 						   ? ".rela.bss" : ".rel.bss"),
 						  flags | SEC_READONLY);
 	  if (s == NULL
-	      || ! bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
+	      || !bfd_set_section_alignment (s, bed->s->log_file_align))
 	    return FALSE;
 	}
     }
@@ -6137,7 +6133,7 @@ elf32_frv_check_relocs (bfd *abfd,
 
 	case R_FRV_FUNCDESC_VALUE:
 	  picrel->relocsfdv++;
-	  if (bfd_get_section_flags (abfd, sec) & SEC_ALLOC)
+	  if (bfd_section_flags (sec) & SEC_ALLOC)
 	    picrel->relocs32--;
 	  /* Fall through.  */
 
@@ -6146,7 +6142,7 @@ elf32_frv_check_relocs (bfd *abfd,
 	    break;
 
 	  picrel->sym = 1;
-	  if (bfd_get_section_flags (abfd, sec) & SEC_ALLOC)
+	  if (bfd_section_flags (sec) & SEC_ALLOC)
 	    picrel->relocs32++;
 	  break;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-ft32.c ./bfd/elf32-ft32.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-ft32.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-ft32.c	2019-09-24 01:49:09.000000000 +0000
@@ -389,7 +389,7 @@ ft32_elf_relocate_section (bfd *output_b
 
 	  name = bfd_elf_string_from_elf_section
 	    (input_bfd, symtab_hdr->sh_link, sym->st_name);
-	  name = (name == NULL) ? bfd_section_name (input_bfd, sec) : name;
+	  name = name == NULL ? bfd_section_name (sec) : name;
 	}
       else
 	{
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-h8300.c ./bfd/elf32-h8300.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-h8300.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-h8300.c	2019-09-24 01:49:09.000000000 +0000
@@ -23,6 +23,7 @@
 #include "libbfd.h"
 #include "elf-bfd.h"
 #include "elf/h8.h"
+#include "cpu-h8300.h"
 
 static reloc_howto_type *elf32_h8_reloc_type_lookup
   (bfd *abfd, bfd_reloc_code_real_type code);
@@ -502,7 +503,7 @@ elf32_h8_relocate_section (bfd *output_b
 	      name = (bfd_elf_string_from_elf_section
 		      (input_bfd, symtab_hdr->sh_link, sym->st_name));
 	      if (name == NULL || *name == '\0')
-		name = bfd_section_name (input_bfd, sec);
+		name = bfd_section_name (sec);
 	    }
 
 	  switch (r)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-hppa.c ./bfd/elf32-hppa.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-hppa.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-hppa.c	2019-09-24 01:49:09.000000000 +0000
@@ -2270,12 +2270,12 @@ elf32_hppa_size_dynamic_sections (bfd *o
 	      /* Make space for the plt stub at the end of the .plt
 		 section.  We want this stub right at the end, up
 		 against the .got section.  */
-	      int gotalign = bfd_section_alignment (dynobj, htab->etab.sgot);
-	      int pltalign = bfd_section_alignment (dynobj, sec);
+	      int gotalign = bfd_section_alignment (htab->etab.sgot);
+	      int pltalign = bfd_section_alignment (sec);
 	      bfd_size_type mask;
 
 	      if (gotalign > pltalign)
-		(void) bfd_set_section_alignment (dynobj, sec, gotalign);
+		bfd_set_section_alignment (sec, gotalign);
 	      mask = ((bfd_size_type) 1 << gotalign) - 1;
 	      sec->size = (sec->size + sizeof (plt_stub) + mask) & ~mask;
 	    }
@@ -2284,7 +2284,7 @@ elf32_hppa_size_dynamic_sections (bfd *o
 	       || sec == htab->etab.sdynbss
 	       || sec == htab->etab.sdynrelro)
 	;
-      else if (CONST_STRNEQ (bfd_get_section_name (dynobj, sec), ".rela"))
+      else if (CONST_STRNEQ (bfd_section_name (sec), ".rela"))
 	{
 	  if (sec->size != 0)
 	    {
@@ -4151,7 +4151,7 @@ elf32_hppa_relocate_section (bfd *output
 		    if (sym_name == NULL)
 		      return FALSE;
 		    if (*sym_name == '\0')
-		      sym_name = bfd_section_name (input_bfd, sym_sec);
+		      sym_name = bfd_section_name (sym_sec);
 		    _bfd_error_handler
 		      (_("%pB:%s has both normal and TLS relocs"),
 		       input_bfd, sym_name);
@@ -4201,7 +4201,7 @@ elf32_hppa_relocate_section (bfd *output
 	  if (sym_name == NULL)
 	    return FALSE;
 	  if (*sym_name == '\0')
-	    sym_name = bfd_section_name (input_bfd, sym_sec);
+	    sym_name = bfd_section_name (sym_sec);
 	}
 
       howto = elf_hppa_howto_table + r_type;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-i386.c ./bfd/elf32-i386.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-i386.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-i386.c	2019-09-24 01:49:09.000000000 +0000
@@ -1948,7 +1948,7 @@ elf_i386_fake_sections (bfd *abfd ATTRIB
 {
   const char *name;
 
-  name = bfd_get_section_name (abfd, sec);
+  name = bfd_section_name (sec);
 
   /* This is an ugly, but unfortunately necessary hack that is
      needed when producing EFI binaries on x86. It tells
@@ -3429,7 +3429,7 @@ check_relocation_error:
 	      if (name == NULL)
 		return FALSE;
 	      if (*name == '\0')
-		name = bfd_section_name (input_bfd, sec);
+		name = bfd_section_name (sec);
 	    }
 
 	  if (r == bfd_reloc_overflow)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-ip2k.c ./bfd/elf32-ip2k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-ip2k.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-ip2k.c	2019-09-24 01:49:09.000000000 +0000
@@ -1435,7 +1435,7 @@ ip2k_elf_relocate_section (bfd *output_b
 
 	  name = bfd_elf_string_from_elf_section
 	    (input_bfd, symtab_hdr->sh_link, sym->st_name);
-	  name = (name == NULL) ? bfd_section_name (input_bfd, sec) : name;
+	  name = name == NULL ? bfd_section_name (sec) : name;
 	}
       else
 	{
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-iq2000.c ./bfd/elf32-iq2000.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-iq2000.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-iq2000.c	2019-09-24 01:49:09.000000000 +0000
@@ -625,7 +625,7 @@ iq2000_elf_relocate_section (bfd *		    
 
 	  name = bfd_elf_string_from_elf_section
 	    (input_bfd, symtab_hdr->sh_link, sym->st_name);
-	  name = (name == NULL) ? bfd_section_name (input_bfd, osec) : name;
+	  name = name == NULL ? bfd_section_name (osec) : name;
 	}
       else
 	{
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-lm32.c ./bfd/elf32-lm32.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-lm32.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-lm32.c	2019-09-24 01:49:09.000000000 +0000
@@ -195,8 +195,7 @@ create_rofixup_section (bfd *dynobj, str
 					   | SEC_LINKER_CREATED
 					   | SEC_READONLY));
   if (lm32fdpic_fixup32_section (info) == NULL
-      || ! bfd_set_section_alignment (dynobj,
-				      lm32fdpic_fixup32_section (info), 2))
+      || !bfd_set_section_alignment (lm32fdpic_fixup32_section (info), 2))
     return FALSE;
 
   return TRUE;
@@ -821,7 +820,7 @@ lm32_elf_relocate_section (bfd *output_b
 	  relocation = _bfd_elf_rela_local_sym (output_bfd, sym, &sec, rel);
 	  name = bfd_elf_string_from_elf_section
 	    (input_bfd, symtab_hdr->sh_link, sym->st_name);
-	  name = (name == NULL) ? bfd_section_name (input_bfd, sec) : name;
+	  name = name == NULL ? bfd_section_name (sec) : name;
 	}
       else
 	{
@@ -1036,7 +1035,7 @@ lm32_elf_relocate_section (bfd *output_b
 		  if ((!h) || (h && h->root.type != bfd_link_hash_undefweak))
 		    {
 		      /* Only create .rofixup entries for relocs in loadable sections.  */
-		      if ((bfd_get_section_flags (output_bfd, input_section->output_section)
+		      if ((bfd_section_flags (input_section->output_section)
 			  & (SEC_ALLOC | SEC_LOAD)) == (SEC_ALLOC | SEC_LOAD))
 
 			{
@@ -1090,7 +1089,7 @@ lm32_elf_relocate_section (bfd *output_b
 	      name = (bfd_elf_string_from_elf_section
 		      (input_bfd, symtab_hdr->sh_link, sym->st_name));
 	      if (name == NULL || *name == '\0')
-		name = bfd_section_name (input_bfd, sec);
+		name = bfd_section_name (sec);
 	    }
 
 	  switch (r)
@@ -2120,7 +2119,7 @@ lm32_elf_size_dynamic_sections (bfd *out
 	  /* Strip this section if we don't need it; see the
 	     comment below.  */
 	}
-      else if (CONST_STRNEQ (bfd_get_section_name (dynobj, s), ".rela"))
+      else if (CONST_STRNEQ (bfd_section_name (s), ".rela"))
 	{
 	  if (s->size != 0 && s != htab->root.srelplt)
 	    relocs = TRUE;
@@ -2255,7 +2254,7 @@ lm32_elf_size_dynamic_sections (bfd *out
 			  /* Don't generate entries for weak symbols.  */
 			  if (!h || (h && h->root.type != bfd_link_hash_undefweak))
 			    {
-			      if (!discarded_section (s) && !((bfd_get_section_flags (ibfd, s) & SEC_ALLOC) == 0))
+			      if (!discarded_section (s) && !((bfd_section_flags (s) & SEC_ALLOC) == 0))
 				{
 				  switch (ELF32_R_TYPE (internal_relocs->r_info))
 				    {
@@ -2277,7 +2276,7 @@ lm32_elf_size_dynamic_sections (bfd *out
 				  if (!strcmp (current->name, h->root.root.string))
 				    break;
 				}
-			      if (!current && !discarded_section (s) && (bfd_get_section_flags (ibfd, s) & SEC_ALLOC))
+			      if (!current && !discarded_section (s) && (bfd_section_flags (s) & SEC_ALLOC))
 				{
 				  /* Will this have an entry in the GOT.  */
 				  if (ELF32_R_TYPE (internal_relocs->r_info) == R_LM32_16_GOT)
@@ -2377,7 +2376,7 @@ lm32_elf_create_dynamic_sections (bfd *a
   s = bfd_make_section_anyway_with_flags (abfd, ".plt", pltflags);
   htab->root.splt = s;
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, bed->plt_alignment))
+      || !bfd_set_section_alignment (s, bed->plt_alignment))
     return FALSE;
 
   if (bed->want_plt_sym)
@@ -2408,7 +2407,7 @@ lm32_elf_create_dynamic_sections (bfd *a
 					  flags | SEC_READONLY);
   htab->root.srelplt = s;
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, ptralign))
+      || !bfd_set_section_alignment (s, ptralign))
     return FALSE;
 
   if (htab->root.sgot == NULL
@@ -2447,7 +2446,7 @@ lm32_elf_create_dynamic_sections (bfd *a
 						  flags | SEC_READONLY);
 	  htab->srelbss = s;
 	  if (s == NULL
-	      || ! bfd_set_section_alignment (abfd, s, ptralign))
+	      || !bfd_set_section_alignment (s, ptralign))
 	    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-8.3.50.20190917/bfd/elf32-m32c.c ./bfd/elf32-m32c.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-m32c.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-m32c.c	2019-09-24 01:49:09.000000000 +0000
@@ -450,7 +450,7 @@ m32c_elf_relocate_section
 
 	  name = bfd_elf_string_from_elf_section
 	    (input_bfd, symtab_hdr->sh_link, sym->st_name);
-	  name = (sym->st_name == 0) ? bfd_section_name (input_bfd, sec) : name;
+	  name = sym->st_name == 0 ? bfd_section_name (sec) : name;
 	}
       else
 	{
@@ -709,7 +709,7 @@ m32c_elf_check_relocs
 							 flags);
 	      elf_hash_table (info)->splt = splt;
 	      if (splt == NULL
-		  || ! bfd_set_section_alignment (dynobj, splt, 1))
+		  || !bfd_set_section_alignment (splt, 1))
 		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-8.3.50.20190917/bfd/elf32-m32r.c ./bfd/elf32-m32r.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-m32r.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-m32r.c	2019-09-24 01:49:09.000000000 +0000
@@ -1322,7 +1322,7 @@ _bfd_m32r_elf_section_from_bfd_section (
 					asection *sec,
 					int *retval)
 {
-  if (strcmp (bfd_get_section_name (abfd, sec), ".scommon") == 0)
+  if (strcmp (bfd_section_name (sec), ".scommon") == 0)
     {
       *retval = SHN_M32R_SCOMMON;
       return TRUE;
@@ -1407,7 +1407,7 @@ m32r_elf_add_symbol_hook (bfd *abfd,
 						  flags);
 	  if (s == NULL)
 	    return FALSE;
-	  if (! bfd_set_section_alignment (abfd, s, 2))
+	  if (!bfd_set_section_alignment (s, 2))
 	    return FALSE;
 	}
 
@@ -1623,7 +1623,7 @@ m32r_elf_create_dynamic_sections (bfd *a
   s = bfd_make_section_anyway_with_flags (abfd, ".plt", pltflags);
   htab->root.splt = s;
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, bed->plt_alignment))
+      || !bfd_set_section_alignment (s, bed->plt_alignment))
     return FALSE;
 
   if (bed->want_plt_sym)
@@ -1654,7 +1654,7 @@ m32r_elf_create_dynamic_sections (bfd *a
 					  flags | SEC_READONLY);
   htab->root.srelplt = s;
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, ptralign))
+      || !bfd_set_section_alignment (s, ptralign))
     return FALSE;
 
   if (htab->root.sgot == NULL
@@ -1693,7 +1693,7 @@ m32r_elf_create_dynamic_sections (bfd *a
 						  flags | SEC_READONLY);
 	  htab->srelbss = s;
 	  if (s == NULL
-	      || ! bfd_set_section_alignment (abfd, s, ptralign))
+	      || !bfd_set_section_alignment (s, ptralign))
 	    return FALSE;
 	}
     }
@@ -2234,7 +2234,7 @@ m32r_elf_size_dynamic_sections (bfd *out
 	  /* Strip this section if we don't need it; see the
 	     comment below.  */
 	}
-      else if (CONST_STRNEQ (bfd_get_section_name (dynobj, s), ".rela"))
+      else if (CONST_STRNEQ (bfd_section_name (s), ".rela"))
 	{
 	  if (s->size != 0 && s != htab->root.srelplt)
 	    relocs = TRUE;
@@ -2954,7 +2954,7 @@ m32r_elf_relocate_section (bfd *output_b
 		const char *name;
 
 		BFD_ASSERT (sec != NULL);
-		name = bfd_get_section_name (sec->owner, sec);
+		name = bfd_section_name (sec);
 
 		if (   strcmp (name, ".sdata") == 0
 		    || strcmp (name, ".sbss") == 0
@@ -3022,7 +3022,7 @@ m32r_elf_relocate_section (bfd *output_b
 	      name = (bfd_elf_string_from_elf_section
 		      (input_bfd, symtab_hdr->sh_link, sym->st_name));
 	      if (name == NULL || *name == '\0')
-		name = bfd_section_name (input_bfd, sec);
+		name = bfd_section_name (sec);
 	    }
 
 	  if (errmsg != NULL)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-m68hc1x.c ./bfd/elf32-m68hc1x.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-m68hc1x.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-m68hc1x.c	2019-09-24 01:49:09.000000000 +0000
@@ -267,7 +267,7 @@ elf32_m68hc11_setup_section_lists (bfd *
 	   section != NULL;
 	   section = section->next)
 	{
-	  const char* name = bfd_get_section_name (input_bfd, section);
+	  const char *name = bfd_section_name (section);
 
 	  if (!strcmp (name, ".tramp"))
 	    htab->tramp_section = section;
@@ -1014,7 +1014,7 @@ elf32_m68hc11_relocate_section (bfd *out
 	  name = (bfd_elf_string_from_elf_section
 		  (input_bfd, symtab_hdr->sh_link, sym->st_name));
 	  if (name == NULL || *name == '\0')
-	    name = bfd_section_name (input_bfd, sec);
+	    name = bfd_section_name (sec);
 	}
 
       if (is_far && ELF32_R_TYPE (rel->r_info) == R_M68HC11_16)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-m68k.c ./bfd/elf32-m68k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-m68k.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-m68k.c	2019-09-24 01:49:09.000000000 +0000
@@ -25,6 +25,8 @@
 #include "elf-bfd.h"
 #include "elf/m68k.h"
 #include "opcode/m68k.h"
+#include "cpu-m68k.h"
+#include "elf32-m68k.h"
 
 static bfd_boolean
 elf_m68k_discard_copies (struct elf_link_hash_entry *, void *);
@@ -3104,7 +3106,7 @@ elf_m68k_size_dynamic_sections (bfd *out
 
       /* It's OK to base decisions on the section name, because none
 	 of the dynobj section names depend upon the input files.  */
-      name = bfd_get_section_name (dynobj, s);
+      name = bfd_section_name (s);
 
       if (strcmp (name, ".plt") == 0)
 	{
@@ -3938,7 +3940,7 @@ elf_m68k_relocate_section (bfd *output_b
 		  name = (bfd_elf_string_from_elf_section
 			  (input_bfd, symtab_hdr->sh_link, sym->st_name));
 		  if (name == NULL || *name == '\0')
-		    name = bfd_section_name (input_bfd, sec);
+		    name = bfd_section_name (sec);
 		}
 
 	      _bfd_error_handler
@@ -3973,7 +3975,7 @@ elf_m68k_relocate_section (bfd *output_b
 	      if (name == NULL)
 		return FALSE;
 	      if (*name == '\0')
-		name = bfd_section_name (input_bfd, sec);
+		name = bfd_section_name (sec);
 	    }
 
 	  if (r == bfd_reloc_overflow)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-m68k.h ./bfd/elf32-m68k.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-m68k.h	1970-01-01 00:00:00.000000000 +0000
+++ ./bfd/elf32-m68k.h	2019-09-24 01:49:09.000000000 +0000
@@ -0,0 +1,25 @@
+/* Motorola 68k series support for 32-bit ELF
+   Copyright (C) 2019 Free Software Foundation, Inc.
+
+   This file is part of BFD, the Binary File Descriptor library.
+
+   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, write to the Free Software
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
+
+extern bfd_boolean bfd_m68k_elf32_create_embedded_relocs
+  (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *,
+   char **);
+
+extern void bfd_elf_m68k_set_target_options (struct bfd_link_info *, int);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-mcore.c ./bfd/elf32-mcore.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-mcore.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-mcore.c	2019-09-24 01:49:09.000000000 +0000
@@ -536,7 +536,7 @@ mcore_elf_relocate_section (bfd * output
 		      break;
 
 		    if (* name == '\0')
-		      name = bfd_section_name (input_bfd, sec);
+		      name = bfd_section_name (sec);
 		  }
 
 		(*info->callbacks->reloc_overflow)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-mep.c ./bfd/elf32-mep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-mep.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-mep.c	2019-09-24 01:49:09.000000000 +0000
@@ -477,7 +477,7 @@ mep_elf_relocate_section
 
 	  name = bfd_elf_string_from_elf_section
 	    (input_bfd, symtab_hdr->sh_link, sym->st_name);
-	  name = (name == NULL) ? bfd_section_name (input_bfd, sec) : name;
+	  name = name == NULL ? bfd_section_name (sec) : name;
 	}
       else
 	{
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-metag.c ./bfd/elf32-metag.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-metag.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-metag.c	2019-09-24 01:49:09.000000000 +0000
@@ -1519,7 +1519,7 @@ elf_metag_relocate_section (bfd *output_
 
 	  name = bfd_elf_string_from_elf_section
 	    (input_bfd, symtab_hdr->sh_link, sym->st_name);
-	  name = (name == NULL) ? bfd_section_name (input_bfd, sec) : name;
+	  name = name == NULL ? bfd_section_name (sec) : name;
 	}
       else
 	{
@@ -2934,7 +2934,7 @@ elf_metag_size_dynamic_sections (bfd *ou
 	  /* Strip this section if we don't need it; see the
 	     comment below.  */
 	}
-      else if (CONST_STRNEQ (bfd_get_section_name (dynobj, s), ".rela"))
+      else if (CONST_STRNEQ (bfd_section_name (s), ".rela"))
 	{
 	  if (s->size != 0 && s != htab->etab.srelplt)
 	    relocs = TRUE;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-microblaze.c ./bfd/elf32-microblaze.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-microblaze.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-microblaze.c	2019-09-24 01:49:09.000000000 +0000
@@ -1071,7 +1071,7 @@ microblaze_elf_relocate_section (bfd *ou
 		/* Only relocate if the symbol is defined.  */
 		if (sec)
 		  {
-		    name = bfd_get_section_name (sec->owner, sec);
+		    name = bfd_section_name (sec);
 
 		    if (strcmp (name, ".sdata2") == 0
 			|| strcmp (name, ".sbss2") == 0)
@@ -1119,7 +1119,7 @@ microblaze_elf_relocate_section (bfd *ou
 		/* Only relocate if the symbol is defined.  */
 		if (sec)
 		  {
-		    name = bfd_get_section_name (sec->owner, sec);
+		    name = bfd_section_name (sec);
 
 		    if (strcmp (name, ".sdata") == 0
 			|| strcmp (name, ".sbss") == 0)
@@ -1608,7 +1608,7 @@ microblaze_elf_relocate_section (bfd *ou
 	      name = (bfd_elf_string_from_elf_section
 		      (input_bfd, symtab_hdr->sh_link, sym->st_name));
 	      if (name == NULL || *name == '\0')
-		name = bfd_section_name (input_bfd, sec);
+		name = bfd_section_name (sec);
 	    }
 
 	  if (errmsg != NULL)
@@ -2766,7 +2766,7 @@ microblaze_elf_adjust_dynamic_symbol (st
   s->size = BFD_ALIGN (s->size, (bfd_size_type) (1 << power_of_two));
   if (power_of_two > s->alignment_power)
     {
-      if (!bfd_set_section_alignment (s->owner, s, power_of_two))
+      if (!bfd_set_section_alignment (s, power_of_two))
 	return FALSE;
     }
 
@@ -3115,7 +3115,7 @@ microblaze_elf_size_dynamic_sections (bf
 
       /* It's OK to base decisions on the section name, because none
 	 of the dynobj section names depend upon the input files.  */
-      name = bfd_get_section_name (dynobj, s);
+      name = bfd_section_name (s);
 
       if (strncmp (name, ".rela", 5) == 0)
 	{
@@ -3501,7 +3501,7 @@ microblaze_elf_add_symbol_hook (bfd *abf
 	 put into .sbss.  */
       *secp = bfd_make_section_old_way (abfd, ".sbss");
       if (*secp == NULL
-	  || ! bfd_set_section_flags (abfd, *secp, SEC_IS_COMMON))
+	  || !bfd_set_section_flags (*secp, SEC_IS_COMMON))
 	return FALSE;
 
       *valp = sym->st_size;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-mips.c ./bfd/elf32-mips.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-mips.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-mips.c	2019-09-24 01:49:09.000000000 +0000
@@ -2281,8 +2281,8 @@ mips_elf_sym_is_global (bfd *abfd ATTRIB
     return (sym->flags & BSF_SECTION_SYM) == 0;
   else
     return ((sym->flags & (BSF_GLOBAL | BSF_WEAK | BSF_GNU_UNIQUE)) != 0
-	    || bfd_is_und_section (bfd_get_section (sym))
-	    || bfd_is_com_section (bfd_get_section (sym)));
+	    || bfd_is_und_section (bfd_asymbol_section (sym))
+	    || bfd_is_com_section (bfd_asymbol_section (sym)));
 }
 
 /* Set the right machine number for a MIPS ELF file.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-moxie.c ./bfd/elf32-moxie.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-moxie.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-moxie.c	2019-09-24 01:49:09.000000000 +0000
@@ -243,7 +243,7 @@ moxie_elf_relocate_section (bfd *output_
 
 	  name = bfd_elf_string_from_elf_section
 	    (input_bfd, symtab_hdr->sh_link, sym->st_name);
-	  name = (name == NULL) ? bfd_section_name (input_bfd, sec) : name;
+	  name = name == NULL ? bfd_section_name (sec) : name;
 	}
       else
 	{
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-msp430.c ./bfd/elf32-msp430.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-msp430.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-msp430.c	2019-09-24 01:49:09.000000000 +0000
@@ -1314,7 +1314,7 @@ elf32_msp430_relocate_section (bfd * out
 
 	  name = bfd_elf_string_from_elf_section
 	      (input_bfd, symtab_hdr->sh_link, sym->st_name);
-	  name = (name == NULL || * name == 0) ? bfd_section_name (input_bfd, sec) : name;
+	  name = name == NULL || *name == 0 ? bfd_section_name (sec) : name;
 	}
       else
 	{
@@ -1691,7 +1691,7 @@ msp430_elf_relax_delete_bytes (bfd * abf
 
       name = bfd_elf_string_from_elf_section
 	(abfd, symtab_hdr->sh_link, isym->st_name);
-      name = (name == NULL || * name == 0) ? bfd_section_name (abfd, sec) : name;
+      name = name == NULL || *name == 0 ? bfd_section_name (sec) : name;
 
       if (isym->st_shndx != sec_shndx)
 	continue;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-mt.c ./bfd/elf32-mt.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-mt.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-mt.c	2019-09-24 01:49:09.000000000 +0000
@@ -346,7 +346,7 @@ mt_elf_relocate_section
 
 	  name = bfd_elf_string_from_elf_section
 	    (input_bfd, symtab_hdr->sh_link, sym->st_name);
-	  name = (name == NULL) ? bfd_section_name (input_bfd, sec) : name;
+	  name = name == NULL ? bfd_section_name (sec) : name;
 	}
       else
 	{
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-nds32.c ./bfd/elf32-nds32.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-nds32.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-nds32.c	2019-09-24 01:49:09.000000000 +0000
@@ -3723,11 +3723,11 @@ create_got_section (bfd *dynobj, struct 
   /* _bfd_elf_create_got_section will create it for us.  */
   ehtab->srelgot = bfd_get_section_by_name (dynobj, ".rela.got");
   if (ehtab->srelgot == NULL
-      || !bfd_set_section_flags (dynobj, ehtab->srelgot,
+      || !bfd_set_section_flags (ehtab->srelgot,
 				 (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS
 				  | SEC_IN_MEMORY | SEC_LINKER_CREATED
 				  | SEC_READONLY))
-      || !bfd_set_section_alignment (dynobj, ehtab->srelgot, 2))
+      || !bfd_set_section_alignment (ehtab->srelgot, 2))
     return FALSE;
 
   return TRUE;
@@ -3769,8 +3769,8 @@ nds32_elf_create_dynamic_sections (bfd *
   s = bfd_make_section (abfd, ".plt");
   ehtab->splt = s;
   if (s == NULL
-      || !bfd_set_section_flags (abfd, s, pltflags)
-      || !bfd_set_section_alignment (abfd, s, bed->plt_alignment))
+      || !bfd_set_section_flags (s, pltflags)
+      || !bfd_set_section_alignment (s, bed->plt_alignment))
     return FALSE;
 
   if (bed->want_plt_sym)
@@ -3798,8 +3798,8 @@ nds32_elf_create_dynamic_sections (bfd *
 			bed->default_use_rela_p ? ".rela.plt" : ".rel.plt");
   ehtab->srelplt = s;
   if (s == NULL
-      || !bfd_set_section_flags (abfd, s, flags | SEC_READONLY)
-      || !bfd_set_section_alignment (abfd, s, ptralign))
+      || !bfd_set_section_flags (s, flags | SEC_READONLY)
+      || !bfd_set_section_alignment (s, ptralign))
     return FALSE;
 
   if (ehtab->sgot == NULL && !create_got_section (abfd, info))
@@ -3807,11 +3807,11 @@ nds32_elf_create_dynamic_sections (bfd *
 
   for (sec = abfd->sections; sec; sec = sec->next)
     {
-      secflags = bfd_get_section_flags (abfd, sec);
+      secflags = bfd_section_flags (sec);
       if ((secflags & (SEC_DATA | SEC_LINKER_CREATED))
 	  || ((secflags & SEC_HAS_CONTENTS) != SEC_HAS_CONTENTS))
 	continue;
-      secname = bfd_get_section_name (abfd, sec);
+      secname = bfd_section_name (sec);
       relname = (char *) bfd_malloc ((bfd_size_type) strlen (secname) + 6);
       strcpy (relname, ".rela");
       strcat (relname, secname);
@@ -3819,8 +3819,8 @@ nds32_elf_create_dynamic_sections (bfd *
 	continue;
       s = bfd_make_section (abfd, relname);
       if (s == NULL
-	  || !bfd_set_section_flags (abfd, s, flags | SEC_READONLY)
-	  || !bfd_set_section_alignment (abfd, s, ptralign))
+	  || !bfd_set_section_flags (s, flags | SEC_READONLY)
+	  || !bfd_set_section_alignment (s, ptralign))
 	return FALSE;
     }
 
@@ -3835,7 +3835,7 @@ nds32_elf_create_dynamic_sections (bfd *
       s = bfd_make_section (abfd, ".dynbss");
       htab->sdynbss = s;
       if (s == NULL
-	  || !bfd_set_section_flags (abfd, s, SEC_ALLOC | SEC_LINKER_CREATED))
+	  || !bfd_set_section_flags (s, SEC_ALLOC | SEC_LINKER_CREATED))
 	return FALSE;
       /* The .rel[a].bss section holds copy relocs.  This section is not
 	 normally needed.  We need to create it here, though, so that the
@@ -3854,8 +3854,8 @@ nds32_elf_create_dynamic_sections (bfd *
 				       ? ".rela.bss" : ".rel.bss"));
 	  htab->srelbss = s;
 	  if (s == NULL
-	      || !bfd_set_section_flags (abfd, s, flags | SEC_READONLY)
-	      || !bfd_set_section_alignment (abfd, s, ptralign))
+	      || !bfd_set_section_flags (s, flags | SEC_READONLY)
+	      || !bfd_set_section_alignment (s, ptralign))
 	    return FALSE;
 	}
     }
@@ -4065,9 +4065,9 @@ nds32_elf_adjust_dynamic_symbol (struct 
 
   /* Apply the required alignment.  */
   s->size = BFD_ALIGN (s->size, (bfd_size_type) (1 << power_of_two));
-  if (power_of_two > bfd_get_section_alignment (dynobj, s))
+  if (power_of_two > bfd_section_alignment (s))
     {
-      if (!bfd_set_section_alignment (dynobj, s, power_of_two))
+      if (!bfd_set_section_alignment (s, power_of_two))
 	return FALSE;
     }
 
@@ -4525,7 +4525,7 @@ nds32_elf_size_dynamic_sections (bfd *ou
 	{
 	  got_size += s->size;
 	}
-      else if (strncmp (bfd_get_section_name (dynobj, s), ".rela", 5) == 0)
+      else if (strncmp (bfd_section_name (s), ".rela", 5) == 0)
 	{
 	  if (s->size != 0 && s != elf_hash_table (info)->srelplt)
 	    relocs = TRUE;
@@ -5571,8 +5571,7 @@ nds32_elf_relocate_section (bfd *		   ou
 		    return FALSE;
 
 		  BFD_ASSERT (strncmp (name, ".rela", 5) == 0
-			      && strcmp (bfd_get_section_name (input_bfd,
-							       input_section),
+			      && strcmp (bfd_section_name (input_section),
 					 name + 5) == 0);
 
 		  sreloc = bfd_get_section_by_name (dynobj, name);
@@ -6166,7 +6165,7 @@ check_reloc:
 	      name = bfd_elf_string_from_elf_section
 		      (input_bfd, symtab_hdr->sh_link, sym->st_name);
 	      if (name == NULL || *name == '\0')
-		name = bfd_section_name (input_bfd, sec);
+		name = bfd_section_name (sec);
 	    }
 
 	  if (errmsg != NULL)
@@ -7390,7 +7389,7 @@ nds32_elf_check_relocs (bfd *abfd, struc
 		    return FALSE;
 
 		  BFD_ASSERT (strncmp (name, ".rela", 5) == 0
-			      && strcmp (bfd_get_section_name (abfd, sec),
+			      && strcmp (bfd_section_name (sec),
 					 name + 5) == 0);
 
 		  sreloc = bfd_get_section_by_name (dynobj, name);
@@ -7404,8 +7403,8 @@ nds32_elf_check_relocs (bfd *abfd, struc
 		      if ((sec->flags & SEC_ALLOC) != 0)
 			flags |= SEC_ALLOC | SEC_LOAD;
 		      if (sreloc == NULL
-			  || !bfd_set_section_flags (dynobj, sreloc, flags)
-			  || !bfd_set_section_alignment (dynobj, sreloc, 2))
+			  || !bfd_set_section_flags (sreloc, flags)
+			  || !bfd_set_section_alignment (sreloc, 2))
 			return FALSE;
 
 		      elf_section_type (sreloc) = SHT_RELA;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-nios2.c ./bfd/elf32-nios2.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-nios2.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-nios2.c	2019-09-24 01:49:09.000000000 +0000
@@ -3846,7 +3846,7 @@ nios2_elf32_relocate_section (bfd *outpu
 				  (input_bfd, symtab_hdr->sh_link,
 				   sym->st_name));
 			  if (name == NULL || *name == '\0')
-			    name = bfd_section_name (input_bfd, sec);
+			    name = bfd_section_name (sec);
 			}
 		      /* xgettext:c-format */
 		      format = _("unable to reach %s (at %#" PRIx64 ") from "
@@ -4484,7 +4484,7 @@ nios2_elf32_relocate_section (bfd *outpu
 						      symtab_hdr->sh_link,
 						      sym->st_name);
 	      if (name == NULL || *name == '\0')
-		name = bfd_section_name (input_bfd, sec);
+		name = bfd_section_name (sec);
 	    }
 
 	  switch (r)
@@ -4554,7 +4554,7 @@ static bfd_boolean
 nios2_elf32_fake_sections (bfd *abfd ATTRIBUTE_UNUSED,
 			   Elf_Internal_Shdr *hdr, asection *sec)
 {
-  register const char *name = bfd_get_section_name (abfd, sec);
+  const char *name = bfd_section_name (sec);
 
   if ((sec->flags & SEC_SMALL_DATA)
       || strcmp (name, ".sdata") == 0
@@ -4580,7 +4580,7 @@ create_got_section (bfd *dynobj, struct 
 
   /* In order for the two loads in .PLTresolve to share the same %hiadj,
      _GLOBAL_OFFSET_TABLE_ must be aligned to a 16-byte boundary.  */
-  if (!bfd_set_section_alignment (dynobj, htab->root.sgotplt, 4))
+  if (!bfd_set_section_alignment (htab->root.sgotplt, 4))
     return FALSE;
 
   /* The Nios II ABI specifies that GOT-relative relocations are relative
@@ -4616,7 +4616,7 @@ nios2_elf32_create_dynamic_sections (bfd
      same %hiadj, the start of the PLT (as well as the GOT) must be aligned
      to a 16-byte boundary.  This is because the addresses for these loads
      include the -(.plt+4) PIC correction.  */
-  return bfd_set_section_alignment (dynobj, htab->root.splt, 4);
+  return bfd_set_section_alignment (htab->root.splt, 4);
 }
 
 /* Implement elf_backend_copy_indirect_symbol:
@@ -5429,8 +5429,8 @@ nios2_elf32_adjust_dynamic_symbol (struc
 
   /* Align dynbss.  */
   s->size = BFD_ALIGN (s->size, (bfd_size_type)1 << align2);
-  if (align2 > bfd_get_section_alignment (dynobj, s)
-      && !bfd_set_section_alignment (dynobj, s, align2))
+  if (align2 > bfd_section_alignment (s)
+      && !bfd_set_section_alignment (s, align2))
     return FALSE;
 
   /* Define the symbol as being at this point in the section.  */
@@ -5853,7 +5853,7 @@ nios2_elf32_size_dynamic_sections (bfd *
 
       /* It's OK to base decisions on the section name, because none
 	 of the dynobj section names depend upon the input files.  */
-      name = bfd_get_section_name (dynobj, s);
+      name = bfd_section_name (s);
 
       if (CONST_STRNEQ (name, ".rela"))
 	{
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-or1k.c ./bfd/elf32-or1k.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-or1k.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-or1k.c	2019-09-24 01:49:09.000000000 +0000
@@ -1303,7 +1303,7 @@ or1k_elf_relocate_section (bfd *output_b
 
 	  name = bfd_elf_string_from_elf_section
 	    (input_bfd, symtab_hdr->sh_link, sym->st_name);
-	  name = (name == NULL) ? bfd_section_name (input_bfd, sec) : name;
+	  name = name == NULL ? bfd_section_name (sec) : name;
 	}
       else
 	{
@@ -2064,8 +2064,7 @@ or1k_elf_check_relocs (bfd *abfd,
 		      return FALSE;
 
 		    if (strncmp (name, ".rela", 5) != 0
-			|| strcmp (bfd_get_section_name (abfd, sec),
-				   name + 5) != 0)
+			|| strcmp (bfd_section_name (sec), name + 5) != 0)
 		      {
 			_bfd_error_handler
 			  /* xgettext:c-format */
@@ -2996,7 +2995,7 @@ or1k_elf_size_dynamic_sections (bfd *out
 	  /* Strip this section if we don't need it; see the
 	     comment below.  */
 	}
-      else if (CONST_STRNEQ (bfd_get_section_name (dynobj, s), ".rela"))
+      else if (CONST_STRNEQ (bfd_section_name (s), ".rela"))
 	{
 	  if (s->size != 0 && s != htab->root.srelplt)
 	    relocs = TRUE;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-ppc.c ./bfd/elf32-ppc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-ppc.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-ppc.c	2019-09-24 01:49:09.000000000 +0000
@@ -1329,14 +1329,14 @@ ppc_elf_section_from_shdr (bfd *abfd,
     return FALSE;
 
   newsect = hdr->bfd_section;
-  flags = bfd_get_section_flags (abfd, newsect);
+  flags = bfd_section_flags (newsect);
   if (hdr->sh_flags & SHF_EXCLUDE)
     flags |= SEC_EXCLUDE;
 
   if (hdr->sh_type == SHT_ORDERED)
     flags |= SEC_SORT_ENTRIES;
 
-  bfd_set_section_flags (abfd, newsect, flags);
+  bfd_set_section_flags (newsect, flags);
   return TRUE;
 }
 
@@ -1674,7 +1674,7 @@ ppc_elf_begin_write_processing (bfd *abf
       /* Set the output section size, if it exists.  */
       asec = bfd_get_section_by_name (abfd, APUINFO_SECTION_NAME);
 
-      if (asec && ! bfd_set_section_size (abfd, asec, 20 + num_entries * 4))
+      if (asec && !bfd_set_section_size (asec, 20 + num_entries * 4))
 	{
 	  ibfd = abfd;
 	  /* xgettext:c-format */
@@ -2337,7 +2337,7 @@ ppc_elf_create_got (bfd *abfd, struct bf
 	 executable.  */
       flagword flags = (SEC_ALLOC | SEC_LOAD | SEC_CODE | SEC_HAS_CONTENTS
 			| SEC_IN_MEMORY | SEC_LINKER_CREATED);
-      if (!bfd_set_section_flags (abfd, htab->elf.sgot, flags))
+      if (!bfd_set_section_flags (htab->elf.sgot, flags))
 	return FALSE;
     }
 
@@ -2390,7 +2390,7 @@ ppc_elf_create_glink (bfd *abfd, struct 
   if (p2align < htab->params->plt_stub_align)
     p2align = htab->params->plt_stub_align;
   if (s == NULL
-      || !bfd_set_section_alignment (abfd, s, p2align))
+      || !bfd_set_section_alignment (s, p2align))
     return FALSE;
 
   if (!info->no_ld_generated_unwind_info)
@@ -2400,7 +2400,7 @@ ppc_elf_create_glink (bfd *abfd, struct 
       s = bfd_make_section_anyway_with_flags (abfd, ".eh_frame", flags);
       htab->glink_eh_frame = s;
       if (s == NULL
-	  || !bfd_set_section_alignment (abfd, s, 2))
+	  || !bfd_set_section_alignment (s, 2))
 	return FALSE;
     }
 
@@ -2408,7 +2408,7 @@ ppc_elf_create_glink (bfd *abfd, struct 
   s = bfd_make_section_anyway_with_flags (abfd, ".iplt", flags);
   htab->elf.iplt = s;
   if (s == NULL
-      || !bfd_set_section_alignment (abfd, s, 4))
+      || !bfd_set_section_alignment (s, 4))
     return FALSE;
 
   flags = (SEC_ALLOC | SEC_LOAD | SEC_READONLY | SEC_HAS_CONTENTS
@@ -2416,7 +2416,7 @@ ppc_elf_create_glink (bfd *abfd, struct 
   s = bfd_make_section_anyway_with_flags (abfd, ".rela.iplt", flags);
   htab->elf.irelplt = s;
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, 2))
+      || ! bfd_set_section_alignment (s, 2))
     return FALSE;
 
   /* Local plt entries.  */
@@ -2425,7 +2425,7 @@ ppc_elf_create_glink (bfd *abfd, struct 
   htab->pltlocal = bfd_make_section_anyway_with_flags (abfd, ".branch_lt",
 						       flags);
   if (htab->pltlocal == NULL
-      || ! bfd_set_section_alignment (abfd, htab->pltlocal, 2))
+      || !bfd_set_section_alignment (htab->pltlocal, 2))
     return FALSE;
 
   if (bfd_link_pic (info))
@@ -2435,7 +2435,7 @@ ppc_elf_create_glink (bfd *abfd, struct 
       htab->relpltlocal
 	= bfd_make_section_anyway_with_flags (abfd, ".rela.branch_lt", flags);
       if (htab->relpltlocal == NULL
-	  || ! bfd_set_section_alignment (abfd, htab->relpltlocal, 2))
+	  || !bfd_set_section_alignment (htab->relpltlocal, 2))
 	return FALSE;
     }
 
@@ -2487,7 +2487,7 @@ ppc_elf_create_dynamic_sections (bfd *ab
       s = bfd_make_section_anyway_with_flags (abfd, ".rela.sbss", flags);
       htab->relsbss = s;
       if (s == NULL
-	  || ! bfd_set_section_alignment (abfd, s, 2))
+	  || !bfd_set_section_alignment (s, 2))
 	return FALSE;
     }
 
@@ -2500,7 +2500,7 @@ ppc_elf_create_dynamic_sections (bfd *ab
   if (htab->plt_type == PLT_VXWORKS)
     /* The VxWorks PLT is a loaded section with contents.  */
     flags |= SEC_HAS_CONTENTS | SEC_LOAD | SEC_READONLY;
-  return bfd_set_section_flags (abfd, s, flags);
+  return bfd_set_section_flags (s, flags);
 }
 
 /* Copy the extra info we tack onto an elf_link_hash_entry.  */
@@ -2739,7 +2739,7 @@ elf_allocate_pointer_linker_section (bfd
   linker_section_ptr->lsect = lsect;
   *ptr_linker_section_ptr = linker_section_ptr;
 
-  if (!bfd_set_section_alignment (lsect->section->owner, lsect->section, 2))
+  if (!bfd_set_section_alignment (lsect->section, 2))
     return FALSE;
   linker_section_ptr->offset = lsect->section->size;
   lsect->section->size += 4;
@@ -4029,19 +4029,19 @@ ppc_elf_select_plt_layout (bfd *output_b
 
       /* The new PLT is a loaded section.  */
       if (htab->elf.splt != NULL
-	  && !bfd_set_section_flags (htab->elf.dynobj, htab->elf.splt, flags))
+	  && !bfd_set_section_flags (htab->elf.splt, flags))
 	return -1;
 
       /* The new GOT is not executable.  */
       if (htab->elf.sgot != NULL
-	  && !bfd_set_section_flags (htab->elf.dynobj, htab->elf.sgot, flags))
+	  && !bfd_set_section_flags (htab->elf.sgot, flags))
 	return -1;
     }
   else
     {
       /* Stop an unused .glink section from affecting .text alignment.  */
       if (htab->glink != NULL
-	  && !bfd_set_section_alignment (htab->elf.dynobj, htab->glink, 0))
+	  && !bfd_set_section_alignment (htab->glink, 0))
 	return -1;
     }
   return htab->plt_type == PLT_NEW;
@@ -5823,8 +5823,7 @@ ppc_elf_size_dynamic_sections (bfd *outp
 	{
 	  strip_section = (s->flags & SEC_KEEP) == 0;
 	}
-      else if (CONST_STRNEQ (bfd_get_section_name (htab->elf.dynobj, s),
-			     ".rela"))
+      else if (CONST_STRNEQ (bfd_section_name (s), ".rela"))
 	{
 	  if (s->size != 0)
 	    {
@@ -8394,10 +8393,8 @@ ppc_elf_relocate_section (bfd *output_bf
 	      unresolved_reloc = TRUE;
 	      break;
 	    }
-	  BFD_ASSERT (strcmp (bfd_get_section_name (sec->owner, sec),
-			      ".got") == 0
-		      || strcmp (bfd_get_section_name (sec->owner, sec),
-				 ".cgot") == 0);
+	  BFD_ASSERT (strcmp (bfd_section_name (sec), ".got") == 0
+		      || strcmp (bfd_section_name (sec), ".cgot") == 0);
 
 	  addend -= sec->output_section->vma + sec->output_offset + 0x8000;
 	  break;
@@ -8512,7 +8509,7 @@ ppc_elf_relocate_section (bfd *output_bf
 	      }
 	    addend -= SYM_VAL (sda);
 
-	    name = bfd_get_section_name (output_bfd, sec->output_section);
+	    name = bfd_section_name (sec->output_section);
 	    if (!(strcmp (name, ".sdata") == 0
 		  || strcmp (name, ".sbss") == 0))
 	      {
@@ -8543,7 +8540,7 @@ ppc_elf_relocate_section (bfd *output_bf
 	      }
 	    addend -= SYM_VAL (sda);
 
-	    name = bfd_get_section_name (output_bfd, sec->output_section);
+	    name = bfd_section_name (sec->output_section);
 	    if (!(strcmp (name, ".sdata2") == 0
 		  || strcmp (name, ".sbss2") == 0))
 	      {
@@ -8618,7 +8615,7 @@ ppc_elf_relocate_section (bfd *output_bf
 		break;
 	      }
 
-	    name = bfd_get_section_name (output_bfd, sec->output_section);
+	    name = bfd_section_name (sec->output_section);
 	    if (strcmp (name, ".sdata") == 0
 		|| strcmp (name, ".sbss") == 0)
 	      {
@@ -8725,7 +8722,7 @@ ppc_elf_relocate_section (bfd *output_bf
 		break;
 	      }
 
-	    name = bfd_get_section_name (output_bfd, sec->output_section);
+	    name = bfd_section_name (sec->output_section);
 	    if (strcmp (name, ".sdata") == 0
 		|| strcmp (name, ".sbss") == 0)
 	      sda = htab->sdata[0].sym;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-pru.c ./bfd/elf32-pru.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-pru.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-pru.c	2019-09-24 01:49:09.000000000 +0000
@@ -905,7 +905,7 @@ pru_elf32_relocate_section (bfd *output_
 						      symtab_hdr->sh_link,
 						      sym->st_name);
 	      if (name == NULL || *name == '\0')
-		name = bfd_section_name (input_bfd, sec);
+		name = bfd_section_name (sec);
 	    }
 
 	  switch (r)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-rl78.c ./bfd/elf32-rl78.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-rl78.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-rl78.c	2019-09-24 01:49:09.000000000 +0000
@@ -726,7 +726,7 @@ rl78_elf_relocate_section
 
 	  name = bfd_elf_string_from_elf_section
 	    (input_bfd, symtab_hdr->sh_link, sym->st_name);
-	  name = (sym->st_name == 0) ? bfd_section_name (input_bfd, sec) : name;
+	  name = sym->st_name == 0 ? bfd_section_name (sec) : name;
 	}
       else
 	{
@@ -1349,7 +1349,7 @@ rl78_elf_check_relocs
 							 flags);
 	      elf_hash_table (info)->splt = splt;
 	      if (splt == NULL
-		  || ! bfd_set_section_alignment (dynobj, splt, 1))
+		  || !bfd_set_section_alignment (splt, 1))
 		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-8.3.50.20190917/bfd/elf32-rx.c ./bfd/elf32-rx.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-rx.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-rx.c	2019-09-24 01:49:09.000000000 +0000
@@ -543,7 +543,7 @@ rx_elf_relocate_section
 
 	  name = bfd_elf_string_from_elf_section
 	    (input_bfd, symtab_hdr->sh_link, sym->st_name);
-	  name = (sym->st_name == 0) ? bfd_section_name (input_bfd, sec) : name;
+	  name = sym->st_name == 0 ? bfd_section_name (sec) : name;
 	}
       else
 	{
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-s390.c ./bfd/elf32-s390.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-s390.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-s390.c	2019-09-24 01:49:09.000000000 +0000
@@ -2003,7 +2003,7 @@ elf_s390_size_dynamic_sections (bfd *out
 	  /* Strip this section if we don't need it; see the
 	     comment below.  */
 	}
-      else if (CONST_STRNEQ (bfd_get_section_name (dynobj, s), ".rela"))
+      else if (CONST_STRNEQ (bfd_section_name (s), ".rela"))
 	{
 	  if (s->size != 0)
 	    relocs = TRUE;
@@ -3254,7 +3254,7 @@ elf_s390_relocate_section (bfd *output_b
 	      if (name == NULL)
 		return FALSE;
 	      if (*name == '\0')
-		name = bfd_section_name (input_bfd, sec);
+		name = bfd_section_name (sec);
 	    }
 
 	  if (r == bfd_reloc_overflow)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-score7.c ./bfd/elf32-score7.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-score7.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-score7.c	2019-09-24 01:49:09.000000000 +0000
@@ -497,8 +497,8 @@ score_elf_got15_reloc (bfd *abfd, arelen
 		       bfd *output_bfd, char **error_message)
 {
   if ((symbol->flags & (BSF_GLOBAL | BSF_WEAK)) != 0
-      || bfd_is_und_section (bfd_get_section (symbol))
-      || bfd_is_com_section (bfd_get_section (symbol)))
+      || bfd_is_und_section (bfd_asymbol_section (symbol))
+      || bfd_is_com_section (bfd_asymbol_section (symbol)))
     /* The relocation is against a global symbol.  */
     return bfd_elf_generic_reloc (abfd, reloc_entry, symbol, data,
 				  input_section, output_bfd,
@@ -1114,8 +1114,8 @@ score_elf_rel_dyn_section (bfd *dynobj, 
 						    | SEC_LINKER_CREATED
 						    | SEC_READONLY));
       if (sreloc == NULL
-	  || ! bfd_set_section_alignment (dynobj, sreloc,
-					  SCORE_ELF_LOG_FILE_ALIGN (dynobj)))
+	  || !bfd_set_section_alignment (sreloc,
+					 SCORE_ELF_LOG_FILE_ALIGN (dynobj)))
 	return NULL;
     }
   return sreloc;
@@ -1289,7 +1289,7 @@ score_elf_create_got_section (bfd *abfd,
   s = bfd_make_section_anyway_with_flags (abfd, ".got", flags);
   elf_hash_table (info)->sgot = s;
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, 4))
+      || !bfd_set_section_alignment (s, 4))
     return FALSE;
 
   /* Define the symbol _GLOBAL_OFFSET_TABLE_.  We don't do this in the
@@ -2875,7 +2875,7 @@ s7_bfd_score_elf_section_from_bfd_sectio
 					 asection *sec,
 					 int *retval)
 {
-  if (strcmp (bfd_get_section_name (abfd, sec), ".scommon") == 0)
+  if (strcmp (bfd_section_name (sec), ".scommon") == 0)
     {
       *retval = SHN_SCORE_SCOMMON;
       return TRUE;
@@ -3091,7 +3091,7 @@ s7_bfd_score_elf_size_dynamic_sections (
 
       /* It's OK to base decisions on the section name, because none
 	 of the dynobj section names depend upon the input files.  */
-      name = bfd_get_section_name (dynobj, s);
+      name = bfd_section_name (s);
 
       if (CONST_STRNEQ (name, ".rel"))
 	{
@@ -3104,8 +3104,7 @@ s7_bfd_score_elf_size_dynamic_sections (
 		 the linker now does not create empty output sections.  */
 	      if (s->output_section != NULL
 		  && strcmp (name,
-			     bfd_get_section_name (s->output_section->owner,
-						   s->output_section)) == 0)
+			     bfd_section_name (s->output_section)) == 0)
 		s->flags |= SEC_EXCLUDE;
 	    }
 	  else
@@ -3119,7 +3118,7 @@ s7_bfd_score_elf_size_dynamic_sections (
 		 assert a DT_TEXTREL entry rather than testing whether
 		 there exists a relocation to a read only section or
 		 not.  */
-	      outname = bfd_get_section_name (output_bfd, s->output_section);
+	      outname = bfd_section_name (s->output_section);
 	      target = bfd_get_section_by_name (output_bfd, outname + 4);
 	      if ((target != NULL
 		   && (target->flags & SEC_READONLY) != 0
@@ -3232,7 +3231,7 @@ s7_bfd_score_elf_create_dynamic_sections
   s = bfd_get_linker_section (abfd, ".dynamic");
   if (s != NULL)
     {
-      if (!bfd_set_section_flags (abfd, s, flags))
+      if (!bfd_set_section_flags (s, flags))
 	return FALSE;
     }
 
@@ -3249,7 +3248,7 @@ s7_bfd_score_elf_create_dynamic_sections
       s = bfd_make_section_anyway_with_flags (abfd, SCORE_ELF_STUB_SECTION_NAME,
 					      flags | SEC_CODE);
       if (s == NULL
-	  || !bfd_set_section_alignment (abfd, s, 2))
+	  || !bfd_set_section_alignment (s, 2))
 
 	return FALSE;
     }
@@ -3520,7 +3519,7 @@ s7_bfd_score_elf_fake_sections (bfd *abf
 {
   const char *name;
 
-  name = bfd_get_section_name (abfd, sec);
+  name = bfd_section_name (sec);
 
   if (strcmp (name, ".got") == 0
       || strcmp (name, ".srdata") == 0
@@ -3544,7 +3543,7 @@ s7_bfd_score_elf_section_processing (bfd
 {
   if (hdr->bfd_section != NULL)
     {
-      const char *name = bfd_get_section_name (abfd, hdr->bfd_section);
+      const char *name = bfd_section_name (hdr->bfd_section);
 
       if (strcmp (name, ".sdata") == 0)
 	{
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-score.c ./bfd/elf32-score.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-score.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-score.c	2019-09-24 01:49:09.000000000 +0000
@@ -596,8 +596,8 @@ score_elf_got15_reloc (bfd *abfd, arelen
 		       bfd *output_bfd, char **error_message)
 {
   if ((symbol->flags & (BSF_GLOBAL | BSF_WEAK)) != 0
-      || bfd_is_und_section (bfd_get_section (symbol))
-      || bfd_is_com_section (bfd_get_section (symbol)))
+      || bfd_is_und_section (bfd_asymbol_section (symbol))
+      || bfd_is_com_section (bfd_asymbol_section (symbol)))
     /* The relocation is against a global symbol.  */
     return bfd_elf_generic_reloc (abfd, reloc_entry, symbol, data,
 				  input_section, output_bfd,
@@ -1257,8 +1257,8 @@ score_elf_rel_dyn_section (bfd *dynobj, 
 						    | SEC_LINKER_CREATED
 						    | SEC_READONLY));
       if (sreloc == NULL
-	  || ! bfd_set_section_alignment (dynobj, sreloc,
-					  SCORE_ELF_LOG_FILE_ALIGN (dynobj)))
+	  || !bfd_set_section_alignment (sreloc,
+					 SCORE_ELF_LOG_FILE_ALIGN (dynobj)))
 	return NULL;
     }
   return sreloc;
@@ -1431,7 +1431,7 @@ score_elf_create_got_section (bfd *abfd,
   s = bfd_make_section_anyway_with_flags (abfd, ".got", flags);
   elf_hash_table (info)->sgot = s;
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, 4))
+      || !bfd_set_section_alignment (s, 4))
     return FALSE;
 
   /* Define the symbol _GLOBAL_OFFSET_TABLE_.  We don't do this in the
@@ -3070,7 +3070,7 @@ s3_bfd_score_elf_section_from_bfd_sectio
 					   asection *sec,
 					   int *retval)
 {
-  if (strcmp (bfd_get_section_name (abfd, sec), ".scommon") == 0)
+  if (strcmp (bfd_section_name (sec), ".scommon") == 0)
     {
       *retval = SHN_SCORE_SCOMMON;
       return TRUE;
@@ -3283,7 +3283,7 @@ s3_bfd_score_elf_size_dynamic_sections (
 
       /* It's OK to base decisions on the section name, because none
 	 of the dynobj section names depend upon the input files.  */
-      name = bfd_get_section_name (dynobj, s);
+      name = bfd_section_name (s);
 
       if (CONST_STRNEQ (name, ".rel"))
 	{
@@ -3296,8 +3296,7 @@ s3_bfd_score_elf_size_dynamic_sections (
 		 the linker now does not create empty output sections.  */
 	      if (s->output_section != NULL
 		  && strcmp (name,
-			     bfd_get_section_name (s->output_section->owner,
-						   s->output_section)) == 0)
+			     bfd_section_name (s->output_section)) == 0)
 		s->flags |= SEC_EXCLUDE;
 	    }
 	  else
@@ -3311,7 +3310,7 @@ s3_bfd_score_elf_size_dynamic_sections (
 		 assert a DT_TEXTREL entry rather than testing whether
 		 there exists a relocation to a read only section or
 		 not.  */
-	      outname = bfd_get_section_name (output_bfd, s->output_section);
+	      outname = bfd_section_name (s->output_section);
 	      target = bfd_get_section_by_name (output_bfd, outname + 4);
 	      if ((target != NULL
 		   && (target->flags & SEC_READONLY) != 0
@@ -3424,7 +3423,7 @@ s3_bfd_score_elf_create_dynamic_sections
   s = bfd_get_linker_section (abfd, ".dynamic");
   if (s != NULL)
     {
-      if (!bfd_set_section_flags (abfd, s, flags))
+      if (!bfd_set_section_flags (s, flags))
 	return FALSE;
     }
 
@@ -3441,7 +3440,7 @@ s3_bfd_score_elf_create_dynamic_sections
       s = bfd_make_section_anyway_with_flags (abfd, SCORE_ELF_STUB_SECTION_NAME,
 					      flags | SEC_CODE);
       if (s == NULL
-	  || !bfd_set_section_alignment (abfd, s, 2))
+	  || !bfd_set_section_alignment (s, 2))
 
 	return FALSE;
     }
@@ -3709,7 +3708,7 @@ s3_bfd_score_elf_fake_sections (bfd *abf
 {
   const char *name;
 
-  name = bfd_get_section_name (abfd, sec);
+  name = bfd_section_name (sec);
 
   if (strcmp (name, ".got") == 0
       || strcmp (name, ".srdata") == 0
@@ -3732,7 +3731,7 @@ s3_bfd_score_elf_section_processing (bfd
 {
   if (hdr->bfd_section != NULL)
     {
-      const char *name = bfd_get_section_name (abfd, hdr->bfd_section);
+      const char *name = bfd_section_name (hdr->bfd_section);
 
       if (strcmp (name, ".sdata") == 0)
 	{
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-sh.c ./bfd/elf32-sh.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-sh.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-sh.c	2019-09-24 01:49:09.000000000 +0000
@@ -2324,7 +2324,7 @@ create_got_section (bfd *dynobj, struct 
 							 | SEC_IN_MEMORY
 							 | SEC_LINKER_CREATED));
   if (htab->sfuncdesc == NULL
-      || ! bfd_set_section_alignment (dynobj, htab->sfuncdesc, 2))
+      || !bfd_set_section_alignment (htab->sfuncdesc, 2))
     return FALSE;
 
   htab->srelfuncdesc = bfd_make_section_anyway_with_flags (dynobj,
@@ -2335,7 +2335,7 @@ create_got_section (bfd *dynobj, struct 
 							    | SEC_LINKER_CREATED
 							    | SEC_READONLY));
   if (htab->srelfuncdesc == NULL
-      || ! bfd_set_section_alignment (dynobj, htab->srelfuncdesc, 2))
+      || !bfd_set_section_alignment (htab->srelfuncdesc, 2))
     return FALSE;
 
   /* Also create .rofixup.  */
@@ -2346,7 +2346,7 @@ create_got_section (bfd *dynobj, struct 
 							| SEC_LINKER_CREATED
 							| SEC_READONLY));
   if (htab->srofixup == NULL
-      || ! bfd_set_section_alignment (dynobj, htab->srofixup, 2))
+      || !bfd_set_section_alignment (htab->srofixup, 2))
     return FALSE;
 
   return TRUE;
@@ -2401,7 +2401,7 @@ sh_elf_create_dynamic_sections (bfd *abf
   s = bfd_make_section_anyway_with_flags (abfd, ".plt", pltflags);
   htab->root.splt = s;
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, bed->plt_alignment))
+      || !bfd_set_section_alignment (s, bed->plt_alignment))
     return FALSE;
 
   if (bed->want_plt_sym)
@@ -2433,7 +2433,7 @@ sh_elf_create_dynamic_sections (bfd *abf
 					  flags | SEC_READONLY);
   htab->root.srelplt = s;
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, ptralign))
+      || !bfd_set_section_alignment (s, ptralign))
     return FALSE;
 
   if (htab->root.sgot == NULL
@@ -2473,7 +2473,7 @@ sh_elf_create_dynamic_sections (bfd *abf
 						  flags | SEC_READONLY);
 	  htab->srelbss = s;
 	  if (s == NULL
-	      || ! bfd_set_section_alignment (abfd, s, ptralign))
+	      || !bfd_set_section_alignment (s, ptralign))
 	    return FALSE;
 	}
     }
@@ -3211,7 +3211,7 @@ sh_elf_size_dynamic_sections (bfd *outpu
 	  /* Strip this section if we don't need it; see the
 	     comment below.  */
 	}
-      else if (CONST_STRNEQ (bfd_get_section_name (dynobj, s), ".rela"))
+      else if (CONST_STRNEQ (bfd_section_name (s), ".rela"))
 	{
 	  if (s->size != 0 && s != htab->root.srelplt && s != htab->srelplt2)
 	    relocs = TRUE;
@@ -3619,7 +3619,7 @@ sh_elf_relocate_section (bfd *output_bfd
 	  symname = bfd_elf_string_from_elf_section
 	    (input_bfd, symtab_hdr->sh_link, sym->st_name);
 	  if (symname == NULL || *symname == '\0')
-	    symname = bfd_section_name (input_bfd, sec);
+	    symname = bfd_section_name (sec);
 
 	  relocation = (sec->output_section->vma
 			+ sec->output_offset
@@ -5170,7 +5170,7 @@ sh_elf_relocate_section (bfd *output_bfd
 		    if (name == NULL)
 		      return FALSE;
 		    if (*name == '\0')
-		      name = bfd_section_name (input_bfd, sec);
+		      name = bfd_section_name (sec);
 		  }
 		(*info->callbacks->reloc_overflow)
 		  (info, (h ? &h->root : NULL), name, howto->name,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-spu.c ./bfd/elf32-spu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-spu.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-spu.c	2019-09-24 01:49:09.000000000 +0000
@@ -585,7 +585,7 @@ spu_elf_create_sections (struct bfd_link
       flags = SEC_LOAD | SEC_READONLY | SEC_HAS_CONTENTS | SEC_IN_MEMORY;
       s = bfd_make_section_anyway_with_flags (ibfd, SPU_PTNOTE_SPUNAME, flags);
       if (s == NULL
-	  || !bfd_set_section_alignment (ibfd, s, 4))
+	  || !bfd_set_section_alignment (s, 4))
 	return FALSE;
       /* Because we didn't set SEC_LINKER_CREATED we need to set the
 	 proper section type.  */
@@ -595,7 +595,7 @@ spu_elf_create_sections (struct bfd_link
       size = 12 + ((sizeof (SPU_PLUGIN_NAME) + 3) & -4);
       size += (name_len + 3) & -4;
 
-      if (!bfd_set_section_size (ibfd, s, size))
+      if (!bfd_set_section_size (s, size))
 	return FALSE;
 
       data = bfd_zalloc (ibfd, size);
@@ -622,7 +622,7 @@ spu_elf_create_sections (struct bfd_link
       flags = (SEC_LOAD | SEC_ALLOC | SEC_READONLY | SEC_HAS_CONTENTS
 	       | SEC_IN_MEMORY | SEC_LINKER_CREATED);
       s = bfd_make_section_anyway_with_flags (ibfd, ".fixup", flags);
-      if (s == NULL || !bfd_set_section_alignment (ibfd, s, 2))
+      if (s == NULL || !bfd_set_section_alignment (s, 2))
 	return FALSE;
       htab->sfixup = s;
     }
@@ -1694,7 +1694,7 @@ spu_elf_size_stubs (struct bfd_link_info
       stub = bfd_make_section_anyway_with_flags (ibfd, ".stub", flags);
       htab->stub_sec[0] = stub;
       if (stub == NULL
-	  || !bfd_set_section_alignment (ibfd, stub,
+	  || !bfd_set_section_alignment (stub,
 					 ovl_stub_size_log2 (htab->params)))
 	return 0;
       stub->size = htab->stub_count[0] * ovl_stub_size (htab->params);
@@ -1709,7 +1709,7 @@ spu_elf_size_stubs (struct bfd_link_info
 	  stub = bfd_make_section_anyway_with_flags (ibfd, ".stub", flags);
 	  htab->stub_sec[ovl] = stub;
 	  if (stub == NULL
-	      || !bfd_set_section_alignment (ibfd, stub,
+	      || !bfd_set_section_alignment (stub,
 					     ovl_stub_size_log2 (htab->params)))
 	    return 0;
 	  stub->size = htab->stub_count[ovl] * ovl_stub_size (htab->params);
@@ -1727,7 +1727,7 @@ spu_elf_size_stubs (struct bfd_link_info
       flags = SEC_ALLOC;
       htab->ovtab = bfd_make_section_anyway_with_flags (ibfd, ".ovtab", flags);
       if (htab->ovtab == NULL
-	  || !bfd_set_section_alignment (ibfd, htab->ovtab, 4))
+	  || !bfd_set_section_alignment (htab->ovtab, 4))
 	return 0;
 
       htab->ovtab->size = (16 + 16 + (16 << htab->fromelem_size_log2))
@@ -1736,7 +1736,7 @@ spu_elf_size_stubs (struct bfd_link_info
       flags = SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS | SEC_IN_MEMORY;
       htab->init = bfd_make_section_anyway_with_flags (ibfd, ".ovini", flags);
       if (htab->init == NULL
-	  || !bfd_set_section_alignment (ibfd, htab->init, 4))
+	  || !bfd_set_section_alignment (htab->init, 4))
 	return 0;
 
       htab->init->size = 16;
@@ -1761,7 +1761,7 @@ spu_elf_size_stubs (struct bfd_link_info
       flags = SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS | SEC_IN_MEMORY;
       htab->ovtab = bfd_make_section_anyway_with_flags (ibfd, ".ovtab", flags);
       if (htab->ovtab == NULL
-	  || !bfd_set_section_alignment (ibfd, htab->ovtab, 4))
+	  || !bfd_set_section_alignment (htab->ovtab, 4))
 	return 0;
 
       htab->ovtab->size = htab->num_overlays * 16 + 16 + htab->num_buf * 4;
@@ -1769,7 +1769,7 @@ spu_elf_size_stubs (struct bfd_link_info
 
   htab->toe = bfd_make_section_anyway_with_flags (ibfd, ".toe", SEC_ALLOC);
   if (htab->toe == NULL
-      || !bfd_set_section_alignment (ibfd, htab->toe, 4))
+      || !bfd_set_section_alignment (htab->toe, 4))
     return 0;
   htab->toe->size = 16;
 
@@ -5049,7 +5049,7 @@ spu_elf_relocate_section (bfd *output_bf
 	    (_("%pB(%s+%#" PRIx64 "): "
 	       "unresolvable %s relocation against symbol `%s'"),
 	     input_bfd,
-	     bfd_get_section_name (input_bfd, input_section),
+	     bfd_section_name (input_section),
 	     (uint64_t) rel->r_offset,
 	     howto->name,
 	     sym_name);
@@ -5436,7 +5436,7 @@ spu_elf_modify_program_headers (bfd *abf
 }
 
 bfd_boolean
-spu_elf_size_sections (bfd * output_bfd, struct bfd_link_info *info)
+spu_elf_size_sections (bfd *obfd ATTRIBUTE_UNUSED, struct bfd_link_info *info)
 {
   struct spu_link_hash_table *htab = spu_hash_table (info);
   if (htab->params->emit_fixups)
@@ -5493,7 +5493,7 @@ spu_elf_size_sections (bfd * output_bfd,
 
       /* We always have a NULL fixup as a sentinel */
       size = (fixup_count + 1) * FIXUP_RECORD_SIZE;
-      if (!bfd_set_section_size (output_bfd, sfixup, size))
+      if (!bfd_set_section_size (sfixup, size))
 	return FALSE;
       sfixup->contents = (bfd_byte *) bfd_zalloc (info->input_bfds, size);
       if (sfixup->contents == NULL)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-tic6x.c ./bfd/elf32-tic6x.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-tic6x.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-tic6x.c	2019-09-24 01:49:09.000000000 +0000
@@ -1684,8 +1684,8 @@ elf32_tic6x_create_dynamic_sections (bfd
   htab->dsbt = bfd_make_section_anyway_with_flags (dynobj, ".dsbt",
 						   flags);
   if (htab->dsbt == NULL
-      || ! bfd_set_section_alignment (dynobj, htab->dsbt, 2)
-      || ! bfd_set_section_alignment (dynobj, htab->elf.splt, 5))
+      || !bfd_set_section_alignment (htab->dsbt, 2)
+      || !bfd_set_section_alignment (htab->elf.splt, 5))
     return FALSE;
 
   return TRUE;
@@ -1992,7 +1992,7 @@ elf32_tic6x_fake_sections (bfd *abfd ATT
 {
   const char * name;
 
-  name = bfd_get_section_name (abfd, sec);
+  name = bfd_section_name (sec);
 
   if (is_tic6x_elf_unwind_section_name (name))
     {
@@ -2683,7 +2683,7 @@ elf32_tic6x_relocate_section (bfd *outpu
 	      if (name == NULL)
 		return FALSE;
 	      if (*name == '\0')
-		name = bfd_section_name (input_bfd, sec);
+		name = bfd_section_name (sec);
 	    }
 
 	  switch (r)
@@ -3016,7 +3016,7 @@ elf32_tic6x_add_symbol_hook (bfd *abfd,
       *secp = bfd_make_section_old_way (abfd, ".scommon");
       (*secp)->flags |= SEC_IS_COMMON;
       *valp = sym->st_size;
-      (void) bfd_set_section_alignment (abfd, *secp, bfd_log2 (sym->st_value));
+      bfd_set_section_alignment (*secp, bfd_log2 (sym->st_value));
       break;
     }
 
@@ -3072,7 +3072,7 @@ elf32_tic6x_section_from_bfd_section (bf
 				      asection *sec,
 				      int *retval)
 {
-  if (strcmp (bfd_get_section_name (abfd, sec), ".scommon") == 0)
+  if (strcmp (bfd_section_name (sec), ".scommon") == 0)
     {
       *retval = SHN_TIC6X_SCOMMON;
       return TRUE;
@@ -3385,7 +3385,7 @@ elf32_tic6x_size_dynamic_sections (bfd *
 	  if (s == htab->elf.splt && s->size > 0)
 	    s->size = (s->size + 31) & ~(bfd_vma)31;
 	}
-      else if (CONST_STRNEQ (bfd_get_section_name (dynobj, s), ".rela"))
+      else if (CONST_STRNEQ (bfd_section_name (s), ".rela"))
 	{
 	  if (s->size != 0
 	      && s != htab->elf.srelplt)
@@ -3992,10 +3992,10 @@ elf32_tic6x_adjust_exidx_size (asection 
   if (!exidx_sec->rawsize)
     exidx_sec->rawsize = exidx_sec->size;
 
-  bfd_set_section_size (exidx_sec->owner, exidx_sec, exidx_sec->size + adjust);
+  bfd_set_section_size (exidx_sec, exidx_sec->size + adjust);
   out_sec = exidx_sec->output_section;
   /* Adjust size of output section.  */
-  bfd_set_section_size (out_sec->owner, out_sec, out_sec->size +adjust);
+  bfd_set_section_size (out_sec, out_sec->size +adjust);
 }
 
 /* Insert an EXIDX_CANTUNWIND marker at the end of a section.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-tic6x.h ./bfd/elf32-tic6x.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-tic6x.h	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-tic6x.h	2019-09-24 01:49:09.000000000 +0000
@@ -37,6 +37,11 @@ struct elf32_tic6x_params
 extern void elf32_tic6x_setup (struct bfd_link_info *,
 			       struct elf32_tic6x_params *);
 
+/* C6x unwind section editing support.  */
+extern bfd_boolean elf32_tic6x_fix_exidx_coverage (struct bfd_section **,
+						   unsigned int,
+						   struct bfd_link_info *,
+						   bfd_boolean);
 #ifdef __cplusplus
 }
 #endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-tilepro.c ./bfd/elf32-tilepro.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-tilepro.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-tilepro.c	2019-09-24 01:49:09.000000000 +0000
@@ -1229,13 +1229,13 @@ tilepro_elf_create_got_section (bfd *abf
 				   (bed->dynamic_sec_flags
 				    | SEC_READONLY));
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
+      || !bfd_set_section_alignment (s, bed->s->log_file_align))
     return FALSE;
   htab->srelgot = s;
 
   s = s_got = bfd_make_section_with_flags (abfd, ".got", flags);
   if (s == NULL
-      || !bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
+      || !bfd_set_section_alignment (s, bed->s->log_file_align))
     return FALSE;
   htab->sgot = s;
 
@@ -1246,8 +1246,7 @@ tilepro_elf_create_got_section (bfd *abf
     {
       s = bfd_make_section_with_flags (abfd, ".got.plt", flags);
       if (s == NULL
-	  || !bfd_set_section_alignment (abfd, s,
-					 bed->s->log_file_align))
+	  || !bfd_set_section_alignment (s, bed->s->log_file_align))
 	return FALSE;
       htab->sgotplt = s;
 
@@ -2754,7 +2753,7 @@ tilepro_elf_relocate_section (bfd *outpu
 	  name = (bfd_elf_string_from_elf_section
 		  (input_bfd, symtab_hdr->sh_link, sym->st_name));
 	  if (name == NULL || *name == '\0')
-	    name = bfd_section_name (input_bfd, sec);
+	    name = bfd_section_name (sec);
 	}
 
       switch (r_type)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-v850.c ./bfd/elf32-v850.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-v850.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-v850.c	2019-09-24 01:49:09.000000000 +0000
@@ -29,6 +29,7 @@
 #include "elf-bfd.h"
 #include "elf/v850.h"
 #include "libiberty.h"
+#include "elf32-v850.h"
 
 /* Sign-extend a 17-bit number.  */
 #define SEXT17(x)	((((x) & 0x1ffff) ^ 0x10000) - 0x10000)
@@ -177,7 +178,7 @@ v850_elf_check_relocs (bfd *abfd,
 
 	  if (h && h->root.type == bfd_link_hash_common
 	      && h->root.u.c.p
-	      && !strcmp (bfd_get_section_name (abfd, h->root.u.c.p->section), "COMMON"))
+	      && !strcmp (bfd_section_name (h->root.u.c.p->section), "COMMON"))
 	    {
 	      asection * section;
 
@@ -2269,7 +2270,7 @@ v850_elf_relocate_section (bfd *output_b
 	      name = (bfd_elf_string_from_elf_section
 		      (input_bfd, symtab_hdr->sh_link, sym->st_name));
 	      if (name == NULL || *name == '\0')
-		name = bfd_section_name (input_bfd, sec);
+		name = bfd_section_name (sec);
 	    }
 
 	  switch ((int) r)
@@ -2372,11 +2373,11 @@ v850_elf_make_note_section (bfd * abfd)
   if (s == NULL)
     return NULL;
 
-  if (!bfd_set_section_alignment (abfd, s, 2))
+  if (!bfd_set_section_alignment (s, 2))
     return NULL;
 
   /* Allocate space for all known notes.  */
-  if (!bfd_set_section_size (abfd, s, NUM_V850_NOTES * SIZEOF_V850_NOTE))
+  if (!bfd_set_section_size (s, NUM_V850_NOTES * SIZEOF_V850_NOTE))
     return NULL;
 
   data = bfd_zalloc (abfd, NUM_V850_NOTES * SIZEOF_V850_NOTE);
@@ -2443,7 +2444,7 @@ v850_elf_copy_notes (bfd *ibfd, bfd *obf
   if ((inotes = bfd_get_section_by_name (ibfd, V850_NOTE_SECNAME)) == NULL)
     return;
 
-  if (bfd_section_size (ibfd, inotes) == bfd_section_size (obfd, onotes))
+  if (bfd_section_size (inotes) == bfd_section_size (onotes))
     {
       bfd_byte * icont;
       bfd_byte * ocont;
@@ -2457,7 +2458,7 @@ v850_elf_copy_notes (bfd *ibfd, bfd *obf
 	return;
 
       /* Copy/overwrite notes from the input to the output.  */
-      memcpy (ocont, icont, bfd_section_size (obfd, onotes));
+      memcpy (ocont, icont, bfd_section_size (onotes));
     }
 }
 
@@ -2490,7 +2491,7 @@ v850_elf_merge_notes (bfd * ibfd, bfd *o
       bfd_byte * icont;
       bfd_byte * ocont;
 
-      BFD_ASSERT (bfd_section_size (ibfd, inotes) == bfd_section_size (obfd, onotes));
+      BFD_ASSERT (bfd_section_size (inotes) == bfd_section_size (onotes));
 
       if ((icont = elf_section_data (inotes)->this_hdr.contents) == NULL)
 	BFD_ASSERT (bfd_malloc_and_get_section (ibfd, inotes, & icont));
@@ -2672,7 +2673,7 @@ v850_elf_print_notes (bfd * abfd, FILE *
   if (notes == NULL || notes->contents == NULL)
     return;
 
-  BFD_ASSERT (bfd_section_size (abfd, notes) == NUM_V850_NOTES * SIZEOF_V850_NOTE);
+  BFD_ASSERT (bfd_section_size (notes) == NUM_V850_NOTES * SIZEOF_V850_NOTE);
 
   for (id = V850_NOTE_ALIGNMENT; id <= NUM_V850_NOTES; id++)
     print_v850_note (abfd, file, notes->contents, id);
@@ -2946,11 +2947,11 @@ v850_elf_section_from_bfd_section (bfd *
 				   asection *sec,
 				   int *retval)
 {
-  if (strcmp (bfd_get_section_name (abfd, sec), ".scommon") == 0)
+  if (strcmp (bfd_section_name (sec), ".scommon") == 0)
     *retval = SHN_V850_SCOMMON;
-  else if (strcmp (bfd_get_section_name (abfd, sec), ".tcommon") == 0)
+  else if (strcmp (bfd_section_name (sec), ".tcommon") == 0)
     *retval = SHN_V850_TCOMMON;
-  else if (strcmp (bfd_get_section_name (abfd, sec), ".zcommon") == 0)
+  else if (strcmp (bfd_section_name (sec), ".zcommon") == 0)
     *retval = SHN_V850_ZCOMMON;
   else
     return FALSE;
@@ -3162,10 +3163,9 @@ v850_elf_section_from_shdr (bfd *abfd,
     case SHT_V850_SCOMMON:
     case SHT_V850_TCOMMON:
     case SHT_V850_ZCOMMON:
-      if (! bfd_set_section_flags (abfd, hdr->bfd_section,
-				   (bfd_get_section_flags (abfd,
-							   hdr->bfd_section)
-				    | SEC_IS_COMMON)))
+      if (!bfd_set_section_flags (hdr->bfd_section,
+				  (bfd_section_flags (hdr->bfd_section)
+				   | SEC_IS_COMMON)))
 	return FALSE;
     }
 
@@ -3182,7 +3182,7 @@ v850_elf_fake_sections (bfd *abfd ATTRIB
 {
   const char * name;
 
-  name = bfd_get_section_name (abfd, sec);
+  name = bfd_section_name (sec);
 
   if (strcmp (name, ".scommon") == 0)
     hdr->sh_type = SHT_V850_SCOMMON;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-v850.h ./bfd/elf32-v850.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-v850.h	1970-01-01 00:00:00.000000000 +0000
+++ ./bfd/elf32-v850.h	2019-09-24 01:49:09.000000000 +0000
@@ -0,0 +1,25 @@
+/* V850 Note manipulation routines.
+   Copyright (C) 2019 Free Software Foundation, Inc.
+
+   This file is part of BFD, the Binary File Descriptor library.
+
+   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, write to the Free Software
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
+
+extern bfd_boolean v850_elf_create_sections
+  (struct bfd_link_info *);
+
+extern bfd_boolean v850_elf_set_note
+  (bfd *, unsigned int, unsigned int);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-vax.c ./bfd/elf32-vax.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-vax.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-vax.c	2019-09-24 01:49:09.000000000 +0000
@@ -1069,7 +1069,7 @@ elf_vax_size_dynamic_sections (bfd *outp
 
       /* It's OK to base decisions on the section name, because none
 	 of the dynobj section names depend upon the input files.  */
-      name = bfd_get_section_name (dynobj, s);
+      name = bfd_section_name (s);
 
       if (strcmp (name, ".plt") == 0)
 	{
@@ -1094,8 +1094,7 @@ elf_vax_size_dynamic_sections (bfd *outp
 		     section, then we probably need a DT_TEXTREL
 		     entry.  .rela.plt is actually associated with
 		     .got.plt, which is never readonly.  */
-		  outname = bfd_get_section_name (output_bfd,
-						  s->output_section);
+		  outname = bfd_section_name (s->output_section);
 		  target = bfd_get_section_by_name (output_bfd, outname + 5);
 		  if (target != NULL
 		      && (target->flags & SEC_READONLY) != 0
@@ -1633,7 +1632,7 @@ elf_vax_relocate_section (bfd *output_bf
 		    if (name == NULL)
 		      return FALSE;
 		    if (*name == '\0')
-		      name = bfd_section_name (input_bfd, sec);
+		      name = bfd_section_name (sec);
 		  }
 		info->callbacks->reloc_overflow
 		  (info, (h ? &h->root : NULL), name, howto->name,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-visium.c ./bfd/elf32-visium.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-visium.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-visium.c	2019-09-24 01:49:09.000000000 +0000
@@ -599,7 +599,7 @@ visium_elf_relocate_section (bfd *output
 
 	  name = bfd_elf_string_from_elf_section
 	    (input_bfd, symtab_hdr->sh_link, sym->st_name);
-	  name = (name == NULL) ? bfd_section_name (input_bfd, sec) : name;
+	  name = name == NULL ? bfd_section_name (sec) : name;
 	}
       else
 	{
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-xstormy16.c ./bfd/elf32-xstormy16.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-xstormy16.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-xstormy16.c	2019-09-24 01:49:09.000000000 +0000
@@ -471,7 +471,7 @@ xstormy16_elf_check_relocs (bfd *abfd,
 							 flags);
 	      elf_hash_table (info)->splt = splt;
 	      if (splt == NULL
-		  || ! bfd_set_section_alignment (dynobj, splt, 1))
+		  || !bfd_set_section_alignment (splt, 1))
 		return FALSE;
 	    }
 
@@ -834,7 +834,7 @@ xstormy16_elf_relocate_section (bfd *			
 	  name = (bfd_elf_string_from_elf_section
 		  (input_bfd, symtab_hdr->sh_link, sym->st_name));
 	  if (name == NULL || *name == '\0')
-	    name = bfd_section_name (input_bfd, sec);
+	    name = bfd_section_name (sec);
 	}
 
       switch (ELF32_R_TYPE (rel->r_info))
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-xtensa.c ./bfd/elf32-xtensa.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf32-xtensa.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf32-xtensa.c	2019-09-24 01:49:09.000000000 +0000
@@ -1320,21 +1320,21 @@ elf_xtensa_create_dynamic_sections (bfd 
 
   /* Mark the ".got.plt" section READONLY.  */
   if (htab->elf.sgotplt == NULL
-      || ! bfd_set_section_flags (dynobj, htab->elf.sgotplt, flags))
+      || !bfd_set_section_flags (htab->elf.sgotplt, flags))
     return FALSE;
 
   /* Create ".got.loc" (literal tables for use by dynamic linker).  */
   htab->sgotloc = bfd_make_section_anyway_with_flags (dynobj, ".got.loc",
 						      flags);
   if (htab->sgotloc == NULL
-      || ! bfd_set_section_alignment (dynobj, htab->sgotloc, 2))
+      || !bfd_set_section_alignment (htab->sgotloc, 2))
     return FALSE;
 
   /* Create ".xt.lit.plt" (literal table for ".got.plt*").  */
   htab->spltlittbl = bfd_make_section_anyway_with_flags (dynobj, ".xt.lit.plt",
 							 noalloc_flags);
   if (htab->spltlittbl == NULL
-      || ! bfd_set_section_alignment (dynobj, htab->spltlittbl, 2))
+      || !bfd_set_section_alignment (htab->spltlittbl, 2))
     return FALSE;
 
   return TRUE;
@@ -1366,14 +1366,14 @@ add_extra_plt_sections (struct bfd_link_
       sprintf (sname, ".plt.%u", chunk);
       s = bfd_make_section_anyway_with_flags (dynobj, sname, flags | SEC_CODE);
       if (s == NULL
-	  || ! bfd_set_section_alignment (dynobj, s, 2))
+	  || !bfd_set_section_alignment (s, 2))
 	return FALSE;
 
       sname = (char *) bfd_malloc (14);
       sprintf (sname, ".got.plt.%u", chunk);
       s = bfd_make_section_anyway_with_flags (dynobj, sname, flags);
       if (s == NULL
-	  || ! bfd_set_section_alignment (dynobj, s, 2))
+	  || !bfd_set_section_alignment (s, 2))
 	return FALSE;
     }
 
@@ -1626,7 +1626,7 @@ elf_xtensa_size_dynamic_sections (bfd *o
 
       /* It's OK to base decisions on the section name, because none
 	 of the dynobj section names depend upon the input files.  */
-      name = bfd_get_section_name (dynobj, s);
+      name = bfd_section_name (s);
 
       if (CONST_STRNEQ (name, ".rela"))
 	{
@@ -2687,7 +2687,7 @@ elf_xtensa_relocate_section (bfd *output
 	  name = (bfd_elf_string_from_elf_section
 		  (input_bfd, symtab_hdr->sh_link, sym->st_name));
 	  if (name == NULL || *name == '\0')
-	    name = bfd_section_name (input_bfd, sec);
+	    name = bfd_section_name (sec);
 	}
 
       if (r_symndx != STN_UNDEF
@@ -11244,7 +11244,7 @@ xtensa_make_property_section (asection *
   if (! prop_sec)
     {
       flagword flags = (SEC_RELOC | SEC_HAS_CONTENTS | SEC_READONLY);
-      flags |= (bfd_get_section_flags (sec->owner, sec)
+      flags |= (bfd_section_flags (sec)
 		& (SEC_LINK_ONCE | SEC_LINK_DUPLICATES));
 
       prop_sec = bfd_make_section_anyway_with_flags
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf64-alpha.c ./bfd/elf64-alpha.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf64-alpha.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf64-alpha.c	2019-09-24 01:49:09.000000000 +0000
@@ -27,6 +27,7 @@
 #include "bfd.h"
 #include "libbfd.h"
 #include "elf-bfd.h"
+#include "ecoff-bfd.h"
 
 #include "elf/alpha.h"
 
@@ -1168,9 +1169,8 @@ elf64_alpha_section_from_shdr (bfd *abfd
 
   if (hdr->sh_type == SHT_ALPHA_DEBUG)
     {
-      if (! bfd_set_section_flags (abfd, newsect,
-				   (bfd_get_section_flags (abfd, newsect)
-				    | SEC_DEBUGGING)))
+      if (!bfd_set_section_flags (newsect,
+				  bfd_section_flags (newsect) | SEC_DEBUGGING))
 	return FALSE;
     }
 
@@ -1196,7 +1196,7 @@ elf64_alpha_fake_sections (bfd *abfd, El
 {
   register const char *name;
 
-  name = bfd_get_section_name (abfd, sec);
+  name = bfd_section_name (sec);
 
   if (strcmp (name, ".mdebug") == 0)
     {
@@ -1270,7 +1270,7 @@ elf64_alpha_create_got_section (bfd *abf
 	   | SEC_LINKER_CREATED);
   s = bfd_make_section_anyway_with_flags (abfd, ".got", flags);
   if (s == NULL
-      || !bfd_set_section_alignment (abfd, s, 3))
+      || !bfd_set_section_alignment (s, 3))
     return FALSE;
 
   alpha_elf_tdata (abfd)->got = s;
@@ -1302,7 +1302,7 @@ elf64_alpha_create_dynamic_sections (bfd
 	   | (elf64_alpha_use_secureplt ? SEC_READONLY : 0));
   s = bfd_make_section_anyway_with_flags (abfd, ".plt", flags);
   elf_hash_table (info)->splt = s;
-  if (s == NULL || ! bfd_set_section_alignment (abfd, s, 4))
+  if (s == NULL || ! bfd_set_section_alignment (s, 4))
     return FALSE;
 
   /* Define the symbol _PROCEDURE_LINKAGE_TABLE_ at the start of the
@@ -1317,7 +1317,7 @@ elf64_alpha_create_dynamic_sections (bfd
 	   | SEC_LINKER_CREATED | SEC_READONLY);
   s = bfd_make_section_anyway_with_flags (abfd, ".rela.plt", flags);
   elf_hash_table (info)->srelplt = s;
-  if (s == NULL || ! bfd_set_section_alignment (abfd, s, 3))
+  if (s == NULL || ! bfd_set_section_alignment (s, 3))
     return FALSE;
 
   if (elf64_alpha_use_secureplt)
@@ -1325,7 +1325,7 @@ elf64_alpha_create_dynamic_sections (bfd
       flags = SEC_ALLOC | SEC_LINKER_CREATED;
       s = bfd_make_section_anyway_with_flags (abfd, ".got.plt", flags);
       elf_hash_table (info)->sgotplt = s;
-      if (s == NULL || ! bfd_set_section_alignment (abfd, s, 3))
+      if (s == NULL || ! bfd_set_section_alignment (s, 3))
 	return FALSE;
     }
 
@@ -1343,7 +1343,7 @@ elf64_alpha_create_dynamic_sections (bfd
   s = bfd_make_section_anyway_with_flags (abfd, ".rela.got", flags);
   elf_hash_table (info)->srelgot = s;
   if (s == NULL
-      || !bfd_set_section_alignment (abfd, s, 3))
+      || !bfd_set_section_alignment (s, 3))
     return FALSE;
 
   /* Define the symbol _GLOBAL_OFFSET_TABLE_ at the start of the
@@ -1616,7 +1616,7 @@ elf64_alpha_output_extsym (struct alpha_
 	    h->esym.asym.sc = scUndefined;
 	  else
 	    {
-	      name = bfd_section_name (output_section->owner, output_section);
+	      name = bfd_section_name (output_section);
 
 	      if (strcmp (name, ".text") == 0)
 		h->esym.asym.sc = scText;
@@ -2860,7 +2860,7 @@ elf64_alpha_size_dynamic_sections (bfd *
 
       /* It's OK to base decisions on the section name, because none
 	 of the dynobj section names depend upon the input files.  */
-      name = bfd_get_section_name (dynobj, s);
+      name = bfd_section_name (s);
 
       if (CONST_STRNEQ (name, ".rela"))
 	{
@@ -4508,7 +4508,7 @@ elf64_alpha_relocate_section (bfd *outpu
 		    if (name == NULL)
 		      name = _("<unknown>");
 		    else if (name[0] == 0)
-		      name = bfd_section_name (input_bfd, sec);
+		      name = bfd_section_name (sec);
 		  }
 		_bfd_error_handler
 		  /* xgettext:c-format */
@@ -4779,7 +4779,7 @@ elf64_alpha_relocate_section (bfd *outpu
 		if (name == NULL)
 		  return FALSE;
 		if (*name == '\0')
-		  name = bfd_section_name (input_bfd, sec);
+		  name = bfd_section_name (sec);
 	      }
 	    (*info->callbacks->reloc_overflow)
 	      (info, (h ? &h->root.root : NULL), name, howto->name,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf64-bpf.c ./bfd/elf64-bpf.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf64-bpf.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf64-bpf.c	2019-09-24 01:49:09.000000000 +0000
@@ -407,7 +407,7 @@ bpf_elf_relocate_section (bfd *output_bf
 
 	  name = bfd_elf_string_from_elf_section
 	    (input_bfd, symtab_hdr->sh_link, sym->st_name);
-	  name = (name == NULL) ? bfd_section_name (input_bfd, sec) : name;
+	  name = name == NULL ? bfd_section_name (sec) : name;
 	}
       else
 	{
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf64-hppa.c ./bfd/elf64-hppa.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf64-hppa.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf64-hppa.c	2019-09-24 01:49:09.000000000 +0000
@@ -422,7 +422,7 @@ get_reloc_section (bfd *abfd,
 						  | SEC_LINKER_CREATED
 						  | SEC_READONLY));
       if (srel == NULL
-	  || !bfd_set_section_alignment (dynobj, srel, 3))
+	  || !bfd_set_section_alignment (srel, 3))
 	return FALSE;
     }
 
@@ -1159,7 +1159,7 @@ get_opd (bfd *abfd,
 						 | SEC_IN_MEMORY
 						 | SEC_LINKER_CREATED));
       if (!opd
-	  || !bfd_set_section_alignment (abfd, opd, 3))
+	  || !bfd_set_section_alignment (opd, 3))
 	{
 	  BFD_ASSERT (0);
 	  return FALSE;
@@ -1195,7 +1195,7 @@ get_plt (bfd *abfd,
 						 | SEC_IN_MEMORY
 						 | SEC_LINKER_CREATED));
       if (!plt
-	  || !bfd_set_section_alignment (abfd, plt, 3))
+	  || !bfd_set_section_alignment (plt, 3))
 	{
 	  BFD_ASSERT (0);
 	  return FALSE;
@@ -1231,7 +1231,7 @@ get_dlt (bfd *abfd,
 						 | SEC_IN_MEMORY
 						 | SEC_LINKER_CREATED));
       if (!dlt
-	  || !bfd_set_section_alignment (abfd, dlt, 3))
+	  || !bfd_set_section_alignment (dlt, 3))
 	{
 	  BFD_ASSERT (0);
 	  return FALSE;
@@ -1267,7 +1267,7 @@ get_stub (bfd *abfd,
 						  | SEC_READONLY
 						  | SEC_LINKER_CREATED));
       if (!stub
-	  || !bfd_set_section_alignment (abfd, stub, 3))
+	  || !bfd_set_section_alignment (stub, 3))
 	{
 	  BFD_ASSERT (0);
 	  return FALSE;
@@ -1347,7 +1347,7 @@ elf64_hppa_create_dynamic_sections (bfd 
 					   | SEC_READONLY
 					   | SEC_LINKER_CREATED));
   if (s == NULL
-      || !bfd_set_section_alignment (abfd, s, 3))
+      || !bfd_set_section_alignment (s, 3))
     return FALSE;
   hppa_info->dlt_rel_sec = s;
 
@@ -1358,7 +1358,7 @@ elf64_hppa_create_dynamic_sections (bfd 
 					   | SEC_READONLY
 					   | SEC_LINKER_CREATED));
   if (s == NULL
-      || !bfd_set_section_alignment (abfd, s, 3))
+      || !bfd_set_section_alignment (s, 3))
     return FALSE;
   hppa_info->plt_rel_sec = s;
 
@@ -1369,7 +1369,7 @@ elf64_hppa_create_dynamic_sections (bfd 
 					   | SEC_READONLY
 					   | SEC_LINKER_CREATED));
   if (s == NULL
-      || !bfd_set_section_alignment (abfd, s, 3))
+      || !bfd_set_section_alignment (s, 3))
     return FALSE;
   hppa_info->other_rel_sec = s;
 
@@ -1380,7 +1380,7 @@ elf64_hppa_create_dynamic_sections (bfd 
 					   | SEC_READONLY
 					   | SEC_LINKER_CREATED));
   if (s == NULL
-      || !bfd_set_section_alignment (abfd, s, 3))
+      || !bfd_set_section_alignment (s, 3))
     return FALSE;
   hppa_info->opd_rel_sec = s;
 
@@ -1750,7 +1750,7 @@ elf64_hppa_size_dynamic_sections (bfd *o
 
       /* It's OK to base decisions on the section name, because none
 	 of the dynobj section names depend upon the input files.  */
-      name = bfd_get_section_name (dynobj, sec);
+      name = bfd_section_name (sec);
 
       if (strcmp (name, ".plt") == 0)
 	{
@@ -1783,8 +1783,7 @@ elf64_hppa_size_dynamic_sections (bfd *o
 		     entry.  The entries in the .rela.plt section
 		     really apply to the .got section, which we
 		     created ourselves and so know is not readonly.  */
-		  outname = bfd_get_section_name (output_bfd,
-						  sec->output_section);
+		  outname = bfd_section_name (sec->output_section);
 		  target = bfd_get_section_by_name (output_bfd, outname + 4);
 		  if (target != NULL
 		      && (target->flags & SEC_READONLY) != 0
@@ -3938,7 +3937,7 @@ elf64_hppa_relocate_section (bfd *output
 		    if (sym_name == NULL)
 		      return FALSE;
 		    if (*sym_name == '\0')
-		      sym_name = bfd_section_name (input_bfd, sym_sec);
+		      sym_name = bfd_section_name (sym_sec);
 		  }
 
 		(*info->callbacks->reloc_overflow)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf64-ia64-vms.c ./bfd/elf64-ia64-vms.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf64-ia64-vms.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf64-ia64-vms.c	2019-09-24 01:49:09.000000000 +0000
@@ -840,7 +840,7 @@ elf64_ia64_fake_sections (bfd *abfd, Elf
 {
   const char *name;
 
-  name = bfd_get_section_name (abfd, sec);
+  name = bfd_section_name (sec);
 
   if (is_unwind_section_name (abfd, name))
     {
@@ -1286,12 +1286,12 @@ elf64_ia64_create_dynamic_sections (bfd 
   s = bfd_make_section_anyway_with_flags (abfd, ".dynamic",
 					  flags | SEC_READONLY);
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
+      || !bfd_set_section_alignment (s, bed->s->log_file_align))
     return FALSE;
 
   s = bfd_make_section_anyway_with_flags (abfd, ".plt", flags | SEC_READONLY);
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, bed->plt_alignment))
+      || !bfd_set_section_alignment (s, bed->plt_alignment))
     return FALSE;
   ia64_info->root.splt = s;
 
@@ -1307,7 +1307,7 @@ elf64_ia64_create_dynamic_sections (bfd 
 					   | SEC_IN_MEMORY
 					   | SEC_LINKER_CREATED));
   if (s == NULL
-      || !bfd_set_section_alignment (abfd, s, 0))
+      || !bfd_set_section_alignment (s, 0))
     return FALSE;
 
   /* Create a fixup section.  */
@@ -1317,7 +1317,7 @@ elf64_ia64_create_dynamic_sections (bfd 
 					   | SEC_IN_MEMORY
 					   | SEC_LINKER_CREATED));
   if (s == NULL
-      || !bfd_set_section_alignment (abfd, s, 3))
+      || !bfd_set_section_alignment (s, 3))
     return FALSE;
   ia64_info->fixups_sec = s;
 
@@ -1328,7 +1328,7 @@ elf64_ia64_create_dynamic_sections (bfd 
 					   | SEC_IN_MEMORY
 					   | SEC_LINKER_CREATED));
   if (s == NULL
-      || !bfd_set_section_alignment (abfd, s, 3))
+      || !bfd_set_section_alignment (s, 3))
     return FALSE;
   s->size = sizeof (struct elf64_vms_transfer);
   ia64_info->transfer_sec = s;
@@ -1340,7 +1340,7 @@ elf64_ia64_create_dynamic_sections (bfd 
 					   | SEC_IN_MEMORY
 					   | SEC_READONLY));
   if (s == NULL
-      || !bfd_set_section_alignment (abfd, s, 3))
+      || !bfd_set_section_alignment (s, 3))
     return FALSE;
   ia64_info->note_sec = s;
 
@@ -1738,7 +1738,7 @@ get_got (bfd *abfd, struct elf64_ia64_li
       got = bfd_make_section_anyway_with_flags (dynobj, ".got",
 						flags | SEC_SMALL_DATA);
       if (got == NULL
-	  || !bfd_set_section_alignment (dynobj, got, 3))
+	  || !bfd_set_section_alignment (got, 3))
 	return NULL;
       ia64_info->root.sgot = got;
     }
@@ -1774,7 +1774,7 @@ get_fptr (bfd *abfd, struct bfd_link_inf
 						     : SEC_READONLY)
 						  | SEC_LINKER_CREATED));
       if (!fptr
-	  || !bfd_set_section_alignment (dynobj, fptr, 4))
+	  || !bfd_set_section_alignment (fptr, 4))
 	{
 	  BFD_ASSERT (0);
 	  return NULL;
@@ -1792,7 +1792,7 @@ get_fptr (bfd *abfd, struct bfd_link_inf
 							  | SEC_LINKER_CREATED
 							  | SEC_READONLY));
 	  if (fptr_rel == NULL
-	      || !bfd_set_section_alignment (dynobj, fptr_rel, 3))
+	      || !bfd_set_section_alignment (fptr_rel, 3))
 	    {
 	      BFD_ASSERT (0);
 	      return NULL;
@@ -1827,7 +1827,7 @@ get_pltoff (bfd *abfd, struct elf64_ia64
 						    | SEC_SMALL_DATA
 						    | SEC_LINKER_CREATED));
       if (!pltoff
-	  || !bfd_set_section_alignment (dynobj, pltoff, 4))
+	  || !bfd_set_section_alignment (pltoff, 4))
 	{
 	  BFD_ASSERT (0);
 	  return NULL;
@@ -1855,11 +1855,9 @@ get_reloc_section (bfd *abfd,
     return NULL;
 
   BFD_ASSERT ((CONST_STRNEQ (srel_name, ".rela")
-	       && strcmp (bfd_get_section_name (abfd, sec),
-			  srel_name+5) == 0)
+	       && strcmp (bfd_section_name (sec), srel_name+5) == 0)
 	      || (CONST_STRNEQ (srel_name, ".rel")
-		  && strcmp (bfd_get_section_name (abfd, sec),
-			     srel_name+4) == 0));
+		  && strcmp (bfd_section_name (sec), srel_name+4) == 0));
 
   dynobj = ia64_info->root.dynobj;
   if (!dynobj)
@@ -1875,7 +1873,7 @@ get_reloc_section (bfd *abfd,
 						  | SEC_LINKER_CREATED
 						  | SEC_READONLY));
       if (srel == NULL
-	  || !bfd_set_section_alignment (dynobj, srel, 3))
+	  || !bfd_set_section_alignment (srel, 3))
 	return NULL;
     }
 
@@ -2750,7 +2748,7 @@ elf64_ia64_size_dynamic_sections (bfd *o
 
 	  /* It's OK to base decisions on the section name, because none
 	     of the dynobj section names depend upon the input files.  */
-	  name = bfd_get_section_name (dynobj, sec);
+	  name = bfd_section_name (sec);
 
 	  if (strcmp (name, ".got.plt") == 0)
 	    strip = FALSE;
@@ -4501,8 +4499,8 @@ elf64_vms_section_from_shdr (bfd *abfd,
     {
       asection *newsect = hdr->bfd_section;
 
-      if (! bfd_set_section_flags
-	  (abfd, newsect, bfd_get_section_flags (abfd, newsect) | secflags))
+      if (!bfd_set_section_flags (newsect,
+				  bfd_section_flags (newsect) | secflags))
 	return FALSE;
     }
 
@@ -4629,7 +4627,7 @@ elf64_vms_section_processing (bfd *abfd 
 {
   if (hdr->bfd_section != NULL)
     {
-      const char *name = bfd_get_section_name (abfd, hdr->bfd_section);
+      const char *name = bfd_section_name (hdr->bfd_section);
 
       if (strcmp (name, ".text") == 0)
 	hdr->sh_flags |= SHF_IA_64_VMS_SHARED;
@@ -4670,7 +4668,7 @@ elf64_vms_final_write_processing (bfd *a
     {
       hdr = &elf_section_data (s)->this_hdr;
 
-      if (strcmp (bfd_get_section_name (abfd, hdr->bfd_section),
+      if (strcmp (bfd_section_name (hdr->bfd_section),
 		  ".IA_64.unwind_info") == 0)
 	unwind_info_sect_idx = elf_section_data (s)->this_idx;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf64-mmix.c ./bfd/elf64-mmix.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf64-mmix.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf64-mmix.c	2019-09-24 01:49:09.000000000 +0000
@@ -1315,7 +1315,7 @@ mmix_elf_reloc (bfd *abfd,
   else
     relocation = symbol->value;
 
-  reloc_target_output_section = bfd_get_output_section (symbol);
+  reloc_target_output_section = bfd_asymbol_section (symbol)->output_section;
 
   /* Here the variable relocation holds the final address of the symbol we
      are relocating against, plus any addend.  */
@@ -1414,7 +1414,7 @@ mmix_elf_relocate_section (bfd *output_b
 						  symtab_hdr->sh_link,
 						  sym->st_name);
 	  if (name == NULL)
-	    name = bfd_section_name (input_bfd, sec);
+	    name = bfd_section_name (sec);
 	}
       else
 	{
@@ -1606,9 +1606,9 @@ mmix_final_link_relocate (reloc_howto_ty
 	return bfd_reloc_undefined;
 
       /* Check that we're not relocating against a register symbol.  */
-      if (strcmp (bfd_get_section_name (symsec->owner, symsec),
+      if (strcmp (bfd_section_name (symsec),
 		  MMIX_REG_CONTENTS_SECTION_NAME) == 0
-	  || strcmp (bfd_get_section_name (symsec->owner, symsec),
+	  || strcmp (bfd_section_name (symsec),
 		     MMIX_REG_SECTION_NAME) == 0)
 	{
 	  /* Note: This is separated out into two messages in order
@@ -1641,7 +1641,7 @@ mmix_final_link_relocate (reloc_howto_ty
       if (symsec == NULL)
 	return bfd_reloc_undefined;
 
-      if (strcmp (bfd_get_section_name (symsec->owner, symsec),
+      if (strcmp (bfd_section_name (symsec),
 		  MMIX_REG_CONTENTS_SECTION_NAME) == 0)
 	{
 	  if ((srel & 7) != 0 || srel < 32*8 || srel > 255*8)
@@ -1652,7 +1652,7 @@ mmix_final_link_relocate (reloc_howto_ty
 	    }
 	  srel /= 8;
 	}
-      else if (strcmp (bfd_get_section_name (symsec->owner, symsec),
+      else if (strcmp (bfd_section_name (symsec),
 		       MMIX_REG_SECTION_NAME) == 0)
 	{
 	  if (srel < 0 || srel > 255)
@@ -1704,9 +1704,9 @@ mmix_final_link_relocate (reloc_howto_ty
 	   accidentally handling it.  */
 	if (!bfd_is_abs_section (symsec)
 	    && !bfd_is_und_section (symsec)
-	    && strcmp (bfd_get_section_name (symsec->owner, symsec),
+	    && strcmp (bfd_section_name (symsec),
 		       MMIX_REG_CONTENTS_SECTION_NAME) != 0
-	    && strcmp (bfd_get_section_name (symsec->owner, symsec),
+	    && strcmp (bfd_section_name (symsec),
 		       MMIX_REG_SECTION_NAME) != 0)
 	{
 	  _bfd_error_handler
@@ -1722,10 +1722,8 @@ mmix_final_link_relocate (reloc_howto_ty
 	first_global = 255;
       else
 	{
-	  first_global
-	    = bfd_get_section_vma (input_section->output_section->owner,
-				   regsec) / 8;
-	  if (strcmp (bfd_get_section_name (symsec->owner, symsec),
+	  first_global = bfd_section_vma (regsec) / 8;
+	  if (strcmp (bfd_section_name (symsec),
 		      MMIX_REG_CONTENTS_SECTION_NAME) == 0)
 	    {
 	      if ((srel & 7) != 0 || srel < 32*8 || srel > 255*8)
@@ -1876,9 +1874,7 @@ mmix_elf_check_common_relocs  (bfd *abfd
 		 those flags, as that is what currently happens for usual
 		 GREG allocations, and that works.  */
 	      if (allocated_gregs_section == NULL
-		  || !bfd_set_section_alignment (bpo_greg_owner,
-						 allocated_gregs_section,
-						 3))
+		  || !bfd_set_section_alignment (allocated_gregs_section, 3))
 		return FALSE;
 
 	      gregdata = (struct bpo_greg_section_info *)
@@ -2123,7 +2119,7 @@ mmix_elf_section_from_bfd_section (bfd *
 				   asection *  sec,
 				   int *       retval)
 {
-  if (strcmp (bfd_get_section_name (abfd, sec), MMIX_REG_SECTION_NAME) == 0)
+  if (strcmp (bfd_section_name (sec), MMIX_REG_SECTION_NAME) == 0)
     *retval = SHN_REGISTER;
   else
     return FALSE;
@@ -2222,7 +2218,7 @@ mmix_elf_final_link (bfd *abfd, struct b
   if (reg_section != NULL)
     {
       /* FIXME: Pass error state gracefully.  */
-      if (bfd_get_section_flags (abfd, reg_section) & SEC_HAS_CONTENTS)
+      if (bfd_section_flags (reg_section) & SEC_HAS_CONTENTS)
 	_bfd_abort (__FILE__, __LINE__, _("register section has contents\n"));
 
       /* Really remove the section, if it hasn't already been done.  */
@@ -2330,7 +2326,7 @@ _bfd_mmix_before_linker_allocation (bfd 
   /* Set the zeroth-order estimate for the GREGs size.  */
   gregs_size = n_gregs * 8;
 
-  if (!bfd_set_section_size (bpo_greg_owner, bpo_gregs_section, gregs_size))
+  if (!bfd_set_section_size (bpo_gregs_section, gregs_size))
     return FALSE;
 
   /* Allocate and set up the GREG arrays.  They're filled in at relaxation
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf64-ppc.c ./bfd/elf64-ppc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf64-ppc.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf64-ppc.c	2019-09-24 01:49:09.000000000 +0000
@@ -2745,6 +2745,12 @@ must_be_dyn_reloc (struct bfd_link_info 
     case R_PPC64_REL32:
     case R_PPC64_REL64:
     case R_PPC64_REL30:
+    case R_PPC64_TOC16:
+    case R_PPC64_TOC16_DS:
+    case R_PPC64_TOC16_LO:
+    case R_PPC64_TOC16_HI:
+    case R_PPC64_TOC16_HA:
+    case R_PPC64_TOC16_LO_DS:
       return 0;
 
     case R_PPC64_TPREL16:
@@ -3481,7 +3487,7 @@ create_linkage_sections (bfd *dynobj, st
       htab->sfpr = bfd_make_section_anyway_with_flags (dynobj, ".sfpr",
 						       flags);
       if (htab->sfpr == NULL
-	  || !bfd_set_section_alignment (dynobj, htab->sfpr, 2))
+	  || !bfd_set_section_alignment (htab->sfpr, 2))
 	return FALSE;
     }
 
@@ -3492,7 +3498,7 @@ create_linkage_sections (bfd *dynobj, st
   htab->glink = bfd_make_section_anyway_with_flags (dynobj, ".glink",
 						    flags);
   if (htab->glink == NULL
-      || !bfd_set_section_alignment (dynobj, htab->glink, 3))
+      || !bfd_set_section_alignment (htab->glink, 3))
     return FALSE;
 
   /* The part of .glink used by global entry stubs, separate so that
@@ -3500,7 +3506,7 @@ create_linkage_sections (bfd *dynobj, st
   htab->global_entry = bfd_make_section_anyway_with_flags (dynobj, ".glink",
 							   flags);
   if (htab->global_entry == NULL
-      || !bfd_set_section_alignment (dynobj, htab->global_entry, 2))
+      || !bfd_set_section_alignment (htab->global_entry, 2))
     return FALSE;
 
   if (!info->no_ld_generated_unwind_info)
@@ -3511,14 +3517,14 @@ create_linkage_sections (bfd *dynobj, st
 								 ".eh_frame",
 								 flags);
       if (htab->glink_eh_frame == NULL
-	  || !bfd_set_section_alignment (dynobj, htab->glink_eh_frame, 2))
+	  || !bfd_set_section_alignment (htab->glink_eh_frame, 2))
 	return FALSE;
     }
 
   flags = SEC_ALLOC | SEC_LINKER_CREATED;
   htab->elf.iplt = bfd_make_section_anyway_with_flags (dynobj, ".iplt", flags);
   if (htab->elf.iplt == NULL
-      || !bfd_set_section_alignment (dynobj, htab->elf.iplt, 3))
+      || !bfd_set_section_alignment (htab->elf.iplt, 3))
     return FALSE;
 
   flags = (SEC_ALLOC | SEC_LOAD | SEC_READONLY
@@ -3526,7 +3532,7 @@ create_linkage_sections (bfd *dynobj, st
   htab->elf.irelplt
     = bfd_make_section_anyway_with_flags (dynobj, ".rela.iplt", flags);
   if (htab->elf.irelplt == NULL
-      || !bfd_set_section_alignment (dynobj, htab->elf.irelplt, 3))
+      || !bfd_set_section_alignment (htab->elf.irelplt, 3))
     return FALSE;
 
   /* Create branch lookup table for plt_branch stubs.  */
@@ -3535,7 +3541,7 @@ create_linkage_sections (bfd *dynobj, st
   htab->brlt = bfd_make_section_anyway_with_flags (dynobj, ".branch_lt",
 						   flags);
   if (htab->brlt == NULL
-      || !bfd_set_section_alignment (dynobj, htab->brlt, 3))
+      || !bfd_set_section_alignment (htab->brlt, 3))
     return FALSE;
 
   /* Local plt entries, put in .branch_lt but a separate section for
@@ -3543,7 +3549,7 @@ create_linkage_sections (bfd *dynobj, st
   htab->pltlocal = bfd_make_section_anyway_with_flags (dynobj, ".branch_lt",
 						       flags);
   if (htab->pltlocal == NULL
-      || !bfd_set_section_alignment (dynobj, htab->pltlocal, 3))
+      || !bfd_set_section_alignment (htab->pltlocal, 3))
     return FALSE;
 
   if (!bfd_link_pic (info))
@@ -3554,13 +3560,13 @@ create_linkage_sections (bfd *dynobj, st
   htab->relbrlt
     = bfd_make_section_anyway_with_flags (dynobj, ".rela.branch_lt", flags);
   if (htab->relbrlt == NULL
-      || !bfd_set_section_alignment (dynobj, htab->relbrlt, 3))
+      || !bfd_set_section_alignment (htab->relbrlt, 3))
     return FALSE;
 
   htab->relpltlocal
     = bfd_make_section_anyway_with_flags (dynobj, ".rela.branch_lt", flags);
   if (htab->relpltlocal == NULL
-      || !bfd_set_section_alignment (dynobj, htab->relpltlocal, 3))
+      || !bfd_set_section_alignment (htab->relpltlocal, 3))
     return FALSE;
 
   return TRUE;
@@ -3756,13 +3762,13 @@ create_got_section (bfd *abfd, struct bf
 
   got = bfd_make_section_anyway_with_flags (abfd, ".got", flags);
   if (!got
-      || !bfd_set_section_alignment (abfd, got, 3))
+      || !bfd_set_section_alignment (got, 3))
     return FALSE;
 
   relgot = bfd_make_section_anyway_with_flags (abfd, ".rela.got",
 					       flags | SEC_READONLY);
   if (!relgot
-      || !bfd_set_section_alignment (abfd, relgot, 3))
+      || !bfd_set_section_alignment (relgot, 3))
     return FALSE;
 
   ppc64_elf_tdata (abfd)->got = got;
@@ -4830,6 +4836,16 @@ ppc64_elf_check_relocs (bfd *abfd, struc
 	case R_PPC64_TOC16_HA:
 	case R_PPC64_TOC16_LO_DS:
 	  sec->has_toc_reloc = 1;
+	  if (h != NULL && bfd_link_executable (info))
+	    {
+	      /* We may need a copy reloc.  */
+	      h->non_got_ref = 1;
+	      /* Strongly prefer a copy reloc over a dynamic reloc.
+		 glibc ld.so as of 2019-08 will error out if one of
+		 these relocations is emitted.  */
+	      h->needs_copy = 1;
+	      goto dodyn;
+	    }
 	  break;
 
 	  /* Marker reloc.  */
@@ -5060,7 +5076,7 @@ ppc64_elf_check_relocs (bfd *abfd, struc
 	case R_PPC64_UADDR32:
 	case R_PPC64_UADDR64:
 	case R_PPC64_TOC:
-	  if (h != NULL && !bfd_link_pic (info))
+	  if (h != NULL && bfd_link_executable (info))
 	    /* We may need a copy reloc.  */
 	    h->non_got_ref = 1;
 
@@ -5090,17 +5106,14 @@ ppc64_elf_check_relocs (bfd *abfd, struc
 	     dynamic library if we manage to avoid copy relocs for the
 	     symbol.  */
 	dodyn:
-	  if ((bfd_link_pic (info)
-	       && (must_be_dyn_reloc (info, r_type)
-		   || (h != NULL
-		       && (!SYMBOLIC_BIND (info, h)
-			   || h->root.type == bfd_link_hash_defweak
-			   || !h->def_regular))))
-	      || (ELIMINATE_COPY_RELOCS
-		  && !bfd_link_pic (info)
-		  && h != NULL
-		  && (h->root.type == bfd_link_hash_defweak
-		      || !h->def_regular))
+	  if ((h != NULL
+	       && (h->root.type == bfd_link_hash_defweak
+		   || !h->def_regular))
+	      || (h != NULL
+		  && !bfd_link_executable (info)
+		  && !SYMBOLIC_BIND (info, h))
+	      || (bfd_link_pic (info)
+		  && must_be_dyn_reloc (info, r_type))
 	      || (!bfd_link_pic (info)
 		  && ifunc != NULL))
 	    {
@@ -6409,7 +6422,7 @@ ppc64_elf_adjust_dynamic_symbol (struct 
      only references to the symbol are via the global offset table.
      For such cases we need not do anything here; the relocations will
      be handled correctly by relocate_section.  */
-  if (bfd_link_pic (info))
+  if (!bfd_link_executable (info))
     return TRUE;
 
   /* If there are no references to this symbol that do not use the
@@ -6425,7 +6438,9 @@ ppc64_elf_adjust_dynamic_symbol (struct 
 
       /* If we don't find any dynamic relocs in read-only sections, then
 	 we'll be keeping the dynamic relocs and avoiding the copy reloc.  */
-      || (ELIMINATE_COPY_RELOCS && !alias_readonly_dynrelocs (h))
+      || (ELIMINATE_COPY_RELOCS
+	  && !h->needs_copy
+	  && !alias_readonly_dynrelocs (h))
 
       /* Protected variables do not work with .dynbss.  The copy in
 	 .dynbss won't be used by the shared library with the protected
@@ -6813,6 +6828,16 @@ dec_dynrel_count (bfd_vma r_info,
     default:
       return TRUE;
 
+    case R_PPC64_TOC16:
+    case R_PPC64_TOC16_DS:
+    case R_PPC64_TOC16_LO:
+    case R_PPC64_TOC16_HI:
+    case R_PPC64_TOC16_HA:
+    case R_PPC64_TOC16_LO_DS:
+      if (h == NULL)
+	return TRUE;
+      break;
+
     case R_PPC64_TPREL16:
     case R_PPC64_TPREL16_LO:
     case R_PPC64_TPREL16_HI:
@@ -6876,17 +6901,18 @@ dec_dynrel_count (bfd_vma r_info,
 	return FALSE;
     }
 
-  if ((bfd_link_pic (info)
-       && (must_be_dyn_reloc (info, r_type)
-	   || (h != NULL
-	       && (!SYMBOLIC_BIND (info, h)
-		   || h->root.type == bfd_link_hash_defweak
-		   || !h->def_regular))))
-      || (ELIMINATE_COPY_RELOCS
-	  && !bfd_link_pic (info)
-	  && h != NULL
-	  && (h->root.type == bfd_link_hash_defweak
-	      || !h->def_regular)))
+  if ((h != NULL
+       && (h->root.type == bfd_link_hash_defweak
+	   || !h->def_regular))
+      || (h != NULL
+	  && !bfd_link_executable (info)
+	  && !SYMBOLIC_BIND (info, h))
+      || (bfd_link_pic (info)
+	  && must_be_dyn_reloc (info, r_type))
+      || (!bfd_link_pic (info)
+	  && (h != NULL
+	      ? h->type == STT_GNU_IFUNC
+	      : ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC)))
     ;
   else
     return TRUE;
@@ -9375,7 +9401,8 @@ allocate_dynrelocs (struct elf_link_hash
   for (gent = h->got.glist; gent != NULL; gent = gent->next)
     if (!gent->is_indirect)
       {
-	/* Make sure this symbol is output as a dynamic symbol.  */
+	/* Ensure we catch all the cases where this symbol should
+	   be made dynamic.  */
 	if (!ensure_undef_dynamic (info, h))
 	  return FALSE;
 
@@ -9410,7 +9437,6 @@ allocate_dynrelocs (struct elf_link_hash
 	 be defined in regular objects.  For the normal shared case,
 	 discard space for relocs that have become local due to symbol
 	 visibility changes.  */
-
       if (bfd_link_pic (info))
 	{
 	  /* Relocs that use pc_count are those that appear on a call
@@ -9435,24 +9461,27 @@ allocate_dynrelocs (struct elf_link_hash
 
 	  if (eh->dyn_relocs != NULL)
 	    {
-	      /* Make sure this symbol is output as a dynamic symbol.  */
+	      /* Ensure we catch all the cases where this symbol
+		 should be made dynamic.  */
 	      if (!ensure_undef_dynamic (info, h))
 		return FALSE;
 	    }
 	}
-      else if (ELIMINATE_COPY_RELOCS && h->type != STT_GNU_IFUNC)
+
+      /* For a fixed position executable, discard space for
+	 relocs against symbols which are not dynamic.  */
+      else if (h->type != STT_GNU_IFUNC)
 	{
-	  /* For the non-pic case, discard space for relocs against
-	     symbols which turn out to need copy relocs or are not
-	     dynamic.  */
 	  if (h->dynamic_adjusted
 	      && !h->def_regular
 	      && !ELF_COMMON_DEF_P (h))
 	    {
-	      /* Make sure this symbol is output as a dynamic symbol.  */
+	      /* Ensure we catch all the cases where this symbol
+		 should be made dynamic.  */
 	      if (!ensure_undef_dynamic (info, h))
 		return FALSE;
 
+	      /* But if that didn't work out, discard dynamic relocs.  */
 	      if (h->dynindx == -1)
 		eh->dyn_relocs = NULL;
 	    }
@@ -14120,6 +14149,66 @@ ppc64_elf_action_discarded (asection *se
   return _bfd_elf_default_action_discarded (sec);
 }
 
+/* These are the dynamic relocations supported by glibc.  */
+
+static bfd_boolean
+ppc64_glibc_dynamic_reloc (enum elf_ppc64_reloc_type r_type)
+{
+  switch (r_type)
+    {
+    case R_PPC64_RELATIVE:
+    case R_PPC64_NONE:
+    case R_PPC64_ADDR64:
+    case R_PPC64_GLOB_DAT:
+    case R_PPC64_IRELATIVE:
+    case R_PPC64_JMP_IREL:
+    case R_PPC64_JMP_SLOT:
+    case R_PPC64_DTPMOD64:
+    case R_PPC64_DTPREL64:
+    case R_PPC64_TPREL64:
+    case R_PPC64_TPREL16_LO_DS:
+    case R_PPC64_TPREL16_DS:
+    case R_PPC64_TPREL16:
+    case R_PPC64_TPREL16_LO:
+    case R_PPC64_TPREL16_HI:
+    case R_PPC64_TPREL16_HIGH:
+    case R_PPC64_TPREL16_HA:
+    case R_PPC64_TPREL16_HIGHA:
+    case R_PPC64_TPREL16_HIGHER:
+    case R_PPC64_TPREL16_HIGHEST:
+    case R_PPC64_TPREL16_HIGHERA:
+    case R_PPC64_TPREL16_HIGHESTA:
+    case R_PPC64_ADDR16_LO_DS:
+    case R_PPC64_ADDR16_LO:
+    case R_PPC64_ADDR16_HI:
+    case R_PPC64_ADDR16_HIGH:
+    case R_PPC64_ADDR16_HA:
+    case R_PPC64_ADDR16_HIGHA:
+    case R_PPC64_REL30:
+    case R_PPC64_COPY:
+    case R_PPC64_UADDR64:
+    case R_PPC64_UADDR32:
+    case R_PPC64_ADDR32:
+    case R_PPC64_ADDR24:
+    case R_PPC64_ADDR16:
+    case R_PPC64_UADDR16:
+    case R_PPC64_ADDR16_DS:
+    case R_PPC64_ADDR16_HIGHER:
+    case R_PPC64_ADDR16_HIGHEST:
+    case R_PPC64_ADDR16_HIGHERA:
+    case R_PPC64_ADDR16_HIGHESTA:
+    case R_PPC64_ADDR14:
+    case R_PPC64_ADDR14_BRTAKEN:
+    case R_PPC64_ADDR14_BRNTAKEN:
+    case R_PPC64_REL32:
+    case R_PPC64_REL64:
+      return TRUE;
+
+    default:
+      return FALSE;
+    }
+}
+
 /* The RELOCATE_SECTION function is called by the ELF backend linker
    to handle the relocations for a section.
 
@@ -14173,6 +14262,7 @@ ppc64_elf_relocate_section (bfd *output_
   bfd_boolean is_opd;
   /* Assume 'at' branch hints.  */
   bfd_boolean is_isa_v2 = TRUE;
+  bfd_boolean warned_dynamic = FALSE;
   bfd_vma d_offset = (bfd_big_endian (input_bfd) ? 2 : 0);
 
   /* Initialize howto table if needed.  */
@@ -15801,6 +15891,8 @@ ppc64_elf_relocate_section (bfd *output_
 	case R_PPC64_TOC16_LO_DS:
 	case R_PPC64_TOC16_HA:
 	  addend -= TOCstart + htab->sec_info[input_section->id].toc_off;
+	  if (h != NULL)
+	    goto dodyn;
 	  break;
 
 	  /* Relocate against the beginning of the section.  */
@@ -16136,6 +16228,19 @@ ppc64_elf_relocate_section (bfd *output_
 	      loc += sreloc->reloc_count++ * sizeof (Elf64_External_Rela);
 	      bfd_elf64_swap_reloca_out (output_bfd, &outrel, loc);
 
+	      if (!warned_dynamic
+		  && !ppc64_glibc_dynamic_reloc (ELF64_R_TYPE (outrel.r_info)))
+		{
+		  info->callbacks->einfo
+		    /* xgettext:c-format */
+		    (_("%X%P: %pB: %s against %pT "
+		       "is not supported by glibc as a dynamic relocation\n"),
+		     input_bfd,
+		     ppc64_elf_howto_table[ELF64_R_TYPE (outrel.r_info)]->name,
+		     sym_name);
+		  warned_dynamic = TRUE;
+		}
+
 	      /* If this reloc is against an external symbol, it will
 		 be computed at runtime, so there's no need to do
 		 anything now.  However, for the sake of prelink ensure
@@ -16734,18 +16839,18 @@ ppc64_elf_finish_dynamic_symbol (bfd *ou
 	  break;
 	}
 
-  if (h->needs_copy)
+  if (h->needs_copy
+      && (h->root.type == bfd_link_hash_defined
+	  || h->root.type == bfd_link_hash_defweak)
+      && (h->root.u.def.section == htab->elf.sdynbss
+	  || h->root.u.def.section == htab->elf.sdynrelro))
     {
       /* This symbol needs a copy reloc.  Set it up.  */
       Elf_Internal_Rela rela;
       asection *srel;
       bfd_byte *loc;
 
-      if (h->dynindx == -1
-	  || (h->root.type != bfd_link_hash_defined
-	      && h->root.type != bfd_link_hash_defweak)
-	  || htab->elf.srelbss == NULL
-	  || htab->elf.sreldynrelro == NULL)
+      if (h->dynindx == -1)
 	abort ();
 
       rela.r_offset = (h->root.u.def.value
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf64-s390.c ./bfd/elf64-s390.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf64-s390.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf64-s390.c	2019-09-24 01:49:09.000000000 +0000
@@ -1957,7 +1957,7 @@ elf_s390_size_dynamic_sections (bfd *out
 	  /* Strip this section if we don't need it; see the
 	     comment below.  */
 	}
-      else if (CONST_STRNEQ (bfd_get_section_name (dynobj, s), ".rela"))
+      else if (CONST_STRNEQ (bfd_section_name (s), ".rela"))
 	{
 	  if (s->size != 0 && s != htab->elf.srelplt)
 	    relocs = TRUE;
@@ -3203,7 +3203,7 @@ elf_s390_relocate_section (bfd *output_b
 	      if (name == NULL)
 		return FALSE;
 	      if (*name == '\0')
-		name = bfd_section_name (input_bfd, sec);
+		name = bfd_section_name (sec);
 	    }
 
 	  if (r == bfd_reloc_overflow)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf64-sparc.c ./bfd/elf64-sparc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf64-sparc.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf64-sparc.c	2019-09-24 01:49:09.000000000 +0000
@@ -748,7 +748,7 @@ elf64_sparc_fake_sections (bfd *abfd ATT
 {
   const char *name;
 
-  name = bfd_get_section_name (abfd, sec);
+  name = bfd_section_name (sec);
 
   if (strcmp (name, ".stab") == 0)
     {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf64-x86-64.c ./bfd/elf64-x86-64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf64-x86-64.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf64-x86-64.c	2019-09-24 01:49:09.000000000 +0000
@@ -3989,7 +3989,7 @@ check_relocation_error:
 	      if (name == NULL)
 		return FALSE;
 	      if (*name == '\0')
-		name = bfd_section_name (input_bfd, sec);
+		name = bfd_section_name (sec);
 	    }
 
 	  if (r == bfd_reloc_overflow)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf-bfd.h ./bfd/elf-bfd.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf-bfd.h	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf-bfd.h	2019-09-24 01:49:09.000000000 +0000
@@ -529,6 +529,13 @@ struct elf_sym_strtab
   unsigned long destshndx_index;
 };
 
+struct bfd_link_needed_list
+{
+  struct bfd_link_needed_list *next;
+  bfd *by;
+  const char *name;
+};
+
 /* ELF linker hash table.  */
 
 struct elf_link_hash_table
@@ -1828,6 +1835,14 @@ typedef struct elf_section_list
   struct elf_section_list *  next;
 } elf_section_list;
 
+enum dynamic_lib_link_class {
+  DYN_NORMAL = 0,
+  DYN_AS_NEEDED = 1,
+  DYN_DT_NEEDED = 2,
+  DYN_NO_ADD_NEEDED = 4,
+  DYN_NO_NEEDED = 8
+};
+
 /* Some private data is stashed away for future use using the tdata pointer
    in the bfd structure.  */
 
@@ -2287,6 +2302,37 @@ extern file_ptr _bfd_elf_assign_file_pos
 extern bfd_boolean _bfd_elf_validate_reloc
   (bfd *, arelent *);
 
+extern bfd_boolean bfd_elf_record_link_assignment
+  (bfd *, struct bfd_link_info *, const char *, bfd_boolean,
+   bfd_boolean);
+extern bfd_boolean bfd_elf_stack_segment_size (bfd *, struct bfd_link_info *,
+					       const char *, bfd_vma);
+extern bfd_boolean bfd_elf_size_dynamic_sections
+  (bfd *, const char *, const char *, const char *, const char *, const char *,
+   const char * const *, struct bfd_link_info *, struct bfd_section **);
+extern bfd_boolean bfd_elf_size_dynsym_hash_dynstr
+  (bfd *, struct bfd_link_info *);
+extern bfd_boolean bfd_elf_get_bfd_needed_list
+  (bfd *, struct bfd_link_needed_list **);
+extern struct bfd_link_needed_list *bfd_elf_get_needed_list
+  (bfd *, struct bfd_link_info *);
+extern void bfd_elf_set_dt_needed_name
+  (bfd *, const char *);
+extern const char *bfd_elf_get_dt_soname
+  (bfd *);
+extern void bfd_elf_set_dyn_lib_class
+  (bfd *, enum dynamic_lib_link_class);
+extern int bfd_elf_get_dyn_lib_class
+  (bfd *);
+extern struct bfd_link_needed_list *bfd_elf_get_runpath_list
+  (bfd *, struct bfd_link_info *);
+extern int bfd_elf_discard_info
+  (bfd *, struct bfd_link_info *);
+extern unsigned int _bfd_elf_default_action_discarded
+  (struct bfd_section *);
+extern struct bfd_section *_bfd_elf_tls_setup
+  (bfd *, struct bfd_link_info *);
+
 extern bfd_boolean _bfd_elf_link_create_dynamic_sections
   (bfd *, struct bfd_link_info *);
 extern bfd_boolean _bfd_elf_omit_section_dynsym_default
@@ -2557,6 +2603,22 @@ extern bfd_boolean _bfd_elf_ppc_set_arch
 extern bfd_boolean _bfd_elf_ppc_merge_fp_attributes
   (bfd *, struct bfd_link_info *);
 
+/* Return an upper bound on the number of bytes required to store a
+   copy of ABFD's program header table entries.  Return -1 if an error
+   occurs; bfd_get_error will return an appropriate code.  */
+extern long bfd_get_elf_phdr_upper_bound
+  (bfd *abfd);
+
+/* Copy ABFD's program header table entries to *PHDRS.  The entries
+   will be stored as an array of Elf_Internal_Phdr structures, as
+   defined in include/elf/internal.h.  To find out how large the
+   buffer needs to be, call bfd_get_elf_phdr_upper_bound.
+
+   Return the number of program header table entries read, or -1 if an
+   error occurs; bfd_get_error will return an appropriate code.  */
+extern int bfd_get_elf_phdrs
+  (bfd *abfd, void *phdrs);
+
 /* Exported interface for writing elf corefile notes.  */
 extern char *elfcore_write_note
   (bfd *, char *, int *, const char *, int, const void *, int);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf.c ./bfd/elf.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf.c	2019-09-24 01:49:09.000000000 +0000
@@ -547,7 +547,7 @@ bfd_elf_sym_name (bfd *abfd,
   if (name == NULL)
     name = "(null)";
   else if (sym_sec && *name == '\0')
-    name = bfd_section_name (abfd, sym_sec);
+    name = bfd_section_name (sym_sec);
 
   return name;
 }
@@ -1049,10 +1049,9 @@ _bfd_elf_make_section_from_shdr (bfd *ab
 
   newsect->filepos = hdr->sh_offset;
 
-  if (! bfd_set_section_vma (abfd, newsect, hdr->sh_addr)
-      || ! bfd_set_section_size (abfd, newsect, hdr->sh_size)
-      || ! bfd_set_section_alignment (abfd, newsect,
-				      bfd_log2 (hdr->sh_addralign)))
+  if (!bfd_set_section_vma (newsect, hdr->sh_addr)
+      || !bfd_set_section_size (newsect, hdr->sh_size)
+      || !bfd_set_section_alignment (newsect, bfd_log2 (hdr->sh_addralign)))
     return FALSE;
 
   flags = SEC_NO_FLAGS;
@@ -1142,7 +1141,7 @@ _bfd_elf_make_section_from_shdr (bfd *ab
     if (! bed->elf_backend_section_flags (&flags, hdr))
       return FALSE;
 
-  if (! bfd_set_section_flags (abfd, newsect, flags))
+  if (!bfd_set_section_flags (newsect, flags))
     return FALSE;
 
   /* We do not parse the PT_NOTE segments as we are interested even in the
@@ -1286,7 +1285,7 @@ _bfd_elf_make_section_from_shdr (bfd *ab
 	      char *new_name = convert_zdebug_to_debug (abfd, name);
 	      if (new_name == NULL)
 		return FALSE;
-	      bfd_rename_section (abfd, newsect, new_name);
+	      bfd_rename_section (newsect, new_name);
 	    }
 	}
       else
@@ -4057,8 +4056,8 @@ sym_is_global (bfd *abfd, asymbol *sym)
     return (*bed->elf_backend_sym_is_global) (abfd, sym);
 
   return ((sym->flags & (BSF_GLOBAL | BSF_WEAK | BSF_GNU_UNIQUE)) != 0
-	  || bfd_is_und_section (bfd_get_section (sym))
-	  || bfd_is_com_section (bfd_get_section (sym)));
+	  || bfd_is_und_section (bfd_asymbol_section (sym))
+	  || bfd_is_com_section (bfd_asymbol_section (sym)));
 }
 
 /* Filter global symbols of ABFD to include in the import library.  All
@@ -5542,7 +5541,7 @@ assign_file_positions_for_load_sections 
 		{
 		  unsigned int secalign;
 
-		  secalign = bfd_get_section_alignment (abfd, *secpp);
+		  secalign = bfd_section_alignment (*secpp);
 		  if (secalign > align_power)
 		    align_power = secalign;
 		}
@@ -5696,7 +5695,7 @@ assign_file_positions_for_load_sections 
 
 	  sec = *secpp;
 	  this_hdr = &elf_section_data (sec)->this_hdr;
-	  align = (bfd_size_type) 1 << bfd_get_section_alignment (abfd, sec);
+	  align = (bfd_size_type) 1 << bfd_section_alignment (sec);
 
 	  if ((p->p_type == PT_LOAD
 	       || p->p_type == PT_TLS)
@@ -6835,8 +6834,7 @@ rewrite_elf_program_header (bfd *ibfd, b
        || (segment->p_paddr						\
 	   ? segment->p_paddr != section->lma				\
 	   : segment->p_vaddr != section->vma)				\
-       || (strcmp (bfd_get_section_name (ibfd, section), ".dynamic")	\
-	   == 0))							\
+       || (strcmp (bfd_section_name (section), ".dynamic") == 0))	\
    && (segment->p_type != PT_LOAD || !section->segment_mark))
 
 /* If the output section of a section in the input segment is NULL,
@@ -8405,7 +8403,7 @@ _bfd_elf_canonicalize_symtab (bfd *abfd,
   long symcount = bed->s->slurp_symbol_table (abfd, allocation, FALSE);
 
   if (symcount >= 0)
-    bfd_get_symcount (abfd) = symcount;
+    abfd->symcount = symcount;
   return symcount;
 }
 
@@ -8417,7 +8415,7 @@ _bfd_elf_canonicalize_dynamic_symtab (bf
   long symcount = bed->s->slurp_symbol_table (abfd, allocation, TRUE);
 
   if (symcount >= 0)
-    bfd_get_dynamic_symcount (abfd) = symcount;
+    abfd->dynsymcount = symcount;
   return symcount;
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elfcore.h ./bfd/elfcore.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elfcore.h	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elfcore.h	2019-09-24 01:49:09.000000000 +0000
@@ -305,7 +305,7 @@ elf_core_file_p (bfd *abfd)
   }
 
   /* Save the entry point from the ELF header.  */
-  bfd_get_start_address (abfd) = i_ehdrp->e_entry;
+  abfd->start_address = i_ehdrp->e_entry;
   return abfd->xvec;
 
 wrong:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf-eh-frame.c ./bfd/elf-eh-frame.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf-eh-frame.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf-eh-frame.c	2019-09-24 01:49:09.000000000 +0000
@@ -1109,7 +1109,7 @@ add_eh_frame_hdr_terminator (asection *s
   if (!sec->rawsize)
     sec->rawsize = sec->size;
 
-  bfd_set_section_size (sec->owner, sec, sec->size + 8);
+  bfd_set_section_size (sec, sec->size + 8);
 }
 
 /* Finish a pass over all .eh_frame_entry sections.  */
@@ -1682,7 +1682,7 @@ _bfd_elf_eh_frame_entry_present (struct 
     {
       for (o = abfd->sections; o; o = o->next)
 	{
-	  const char *name = bfd_get_section_name (abfd, o);
+	  const char *name = bfd_section_name (o);
 
 	  if (strcmp (name, ".eh_frame_entry")
 	      && !bfd_is_abs_section (o->output_section))
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf-hppa.h ./bfd/elf-hppa.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf-hppa.h	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf-hppa.h	2019-09-24 01:49:09.000000000 +0000
@@ -881,7 +881,7 @@ elf_hppa_fake_sections (bfd *abfd, Elf_I
 {
   const char *name;
 
-  name = bfd_get_section_name (abfd, sec);
+  name = bfd_section_name (sec);
 
   if (strcmp (name, ".PARISC.unwind") == 0)
     {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf-ifunc.c ./bfd/elf-ifunc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf-ifunc.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf-ifunc.c	2019-09-24 01:49:09.000000000 +0000
@@ -62,8 +62,7 @@ _bfd_elf_create_ifunc_sections (bfd *abf
       s = bfd_make_section_with_flags (abfd, rel_sec,
 				       flags | SEC_READONLY);
       if (s == NULL
-	  || ! bfd_set_section_alignment (abfd, s,
-					  bed->s->log_file_align))
+	  || !bfd_set_section_alignment (s, bed->s->log_file_align))
 	return FALSE;
       htab->irelifunc = s;
     }
@@ -73,7 +72,7 @@ _bfd_elf_create_ifunc_sections (bfd *abf
 	 for static executables.   */
       s = bfd_make_section_with_flags (abfd, ".iplt", pltflags);
       if (s == NULL
-	  || ! bfd_set_section_alignment (abfd, s, bed->plt_alignment))
+	  || !bfd_set_section_alignment (s, bed->plt_alignment))
 	return FALSE;
       htab->iplt = s;
 
@@ -82,8 +81,7 @@ _bfd_elf_create_ifunc_sections (bfd *abf
 					? ".rela.iplt" : ".rel.iplt"),
 				       flags | SEC_READONLY);
       if (s == NULL
-	  || ! bfd_set_section_alignment (abfd, s,
-					  bed->s->log_file_align))
+	  || !bfd_set_section_alignment (s, bed->s->log_file_align))
 	return FALSE;
       htab->irelplt = s;
 
@@ -94,8 +92,7 @@ _bfd_elf_create_ifunc_sections (bfd *abf
       else
 	s = bfd_make_section_with_flags (abfd, ".igot", flags);
       if (s == NULL
-	  || !bfd_set_section_alignment (abfd, s,
-					 bed->s->log_file_align))
+	  || !bfd_set_section_alignment (s, bed->s->log_file_align))
 	return FALSE;
       htab->igotplt = s;
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elflink.c ./bfd/elflink.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elflink.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elflink.c	2019-09-24 01:49:09.000000000 +0000
@@ -162,13 +162,13 @@ _bfd_elf_create_got_section (bfd *abfd, 
 					  (bed->dynamic_sec_flags
 					   | SEC_READONLY));
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
+      || !bfd_set_section_alignment (s, bed->s->log_file_align))
     return FALSE;
   htab->srelgot = s;
 
   s = bfd_make_section_anyway_with_flags (abfd, ".got", flags);
   if (s == NULL
-      || !bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
+      || !bfd_set_section_alignment (s, bed->s->log_file_align))
     return FALSE;
   htab->sgot = s;
 
@@ -176,8 +176,7 @@ _bfd_elf_create_got_section (bfd *abfd, 
     {
       s = bfd_make_section_anyway_with_flags (abfd, ".got.plt", flags);
       if (s == NULL
-	  || !bfd_set_section_alignment (abfd, s,
-					 bed->s->log_file_align))
+	  || !bfd_set_section_alignment (s, bed->s->log_file_align))
 	return FALSE;
       htab->sgotplt = s;
     }
@@ -286,25 +285,25 @@ _bfd_elf_link_create_dynamic_sections (b
   s = bfd_make_section_anyway_with_flags (abfd, ".gnu.version_d",
 					  flags | SEC_READONLY);
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
+      || !bfd_set_section_alignment (s, bed->s->log_file_align))
     return FALSE;
 
   s = bfd_make_section_anyway_with_flags (abfd, ".gnu.version",
 					  flags | SEC_READONLY);
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, 1))
+      || !bfd_set_section_alignment (s, 1))
     return FALSE;
 
   s = bfd_make_section_anyway_with_flags (abfd, ".gnu.version_r",
 					  flags | SEC_READONLY);
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
+      || !bfd_set_section_alignment (s, bed->s->log_file_align))
     return FALSE;
 
   s = bfd_make_section_anyway_with_flags (abfd, ".dynsym",
 					  flags | SEC_READONLY);
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
+      || !bfd_set_section_alignment (s, bed->s->log_file_align))
     return FALSE;
   elf_hash_table (info)->dynsym = s;
 
@@ -315,7 +314,7 @@ _bfd_elf_link_create_dynamic_sections (b
 
   s = bfd_make_section_anyway_with_flags (abfd, ".dynamic", flags);
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
+      || !bfd_set_section_alignment (s, bed->s->log_file_align))
     return FALSE;
 
   /* The special symbol _DYNAMIC is always set to the start of the
@@ -334,7 +333,7 @@ _bfd_elf_link_create_dynamic_sections (b
       s = bfd_make_section_anyway_with_flags (abfd, ".hash",
 					      flags | SEC_READONLY);
       if (s == NULL
-	  || ! bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
+	  || !bfd_set_section_alignment (s, bed->s->log_file_align))
 	return FALSE;
       elf_section_data (s)->this_hdr.sh_entsize = bed->s->sizeof_hash_entry;
     }
@@ -344,7 +343,7 @@ _bfd_elf_link_create_dynamic_sections (b
       s = bfd_make_section_anyway_with_flags (abfd, ".gnu.hash",
 					      flags | SEC_READONLY);
       if (s == NULL
-	  || ! bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
+	  || !bfd_set_section_alignment (s, bed->s->log_file_align))
 	return FALSE;
       /* For 64-bit ELF, .gnu.hash is a non-uniform entity size section:
 	 4 32-bit words followed by variable count of 64-bit words, then
@@ -395,7 +394,7 @@ _bfd_elf_create_dynamic_sections (bfd *a
 
   s = bfd_make_section_anyway_with_flags (abfd, ".plt", pltflags);
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, bed->plt_alignment))
+      || !bfd_set_section_alignment (s, bed->plt_alignment))
     return FALSE;
   htab->splt = s;
 
@@ -415,7 +414,7 @@ _bfd_elf_create_dynamic_sections (bfd *a
 					   ? ".rela.plt" : ".rel.plt"),
 					  flags | SEC_READONLY);
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
+      || !bfd_set_section_alignment (s, bed->s->log_file_align))
     return FALSE;
   htab->srelplt = s;
 
@@ -466,7 +465,7 @@ _bfd_elf_create_dynamic_sections (bfd *a
 						   ? ".rela.bss" : ".rel.bss"),
 						  flags | SEC_READONLY);
 	  if (s == NULL
-	      || ! bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
+	      || !bfd_set_section_alignment (s, bed->s->log_file_align))
 	    return FALSE;
 	  htab->srelbss = s;
 
@@ -477,8 +476,7 @@ _bfd_elf_create_dynamic_sections (bfd *a
 			   ? ".rela.data.rel.ro" : ".rel.data.rel.ro"),
 		    flags | SEC_READONLY));
 	      if (s == NULL
-		  || ! bfd_set_section_alignment (abfd, s,
-						  bed->s->log_file_align))
+		  || !bfd_set_section_alignment (s, bed->s->log_file_align))
 		return FALSE;
 	      htab->sreldynrelro = s;
 	    }
@@ -3099,7 +3097,7 @@ _bfd_elf_adjust_dynamic_copy (struct bfd
      know the symbol alignment requirement, we start with the
      maximum alignment and check low bits of the symbol address
      for the minimum alignment.  */
-  power_of_two = bfd_get_section_alignment (sec->owner, sec);
+  power_of_two = bfd_section_alignment (sec);
   mask = ((bfd_vma) 1 << power_of_two) - 1;
   while ((h->root.u.def.value & mask) != 0)
     {
@@ -3107,12 +3105,10 @@ _bfd_elf_adjust_dynamic_copy (struct bfd
        --power_of_two;
     }
 
-  if (power_of_two > bfd_get_section_alignment (dynbss->owner,
-						dynbss))
+  if (power_of_two > bfd_section_alignment (dynbss))
     {
       /* Adjust the section alignment if needed.  */
-      if (! bfd_set_section_alignment (dynbss->owner, dynbss,
-				       power_of_two))
+      if (!bfd_set_section_alignment (dynbss, power_of_two))
 	return FALSE;
     }
 
@@ -3949,7 +3945,7 @@ elf_link_add_object_symbols (bfd *abfd, 
     {
       const char *name;
 
-      name = bfd_get_section_name (abfd, s);
+      name = bfd_section_name (s);
       if (CONST_STRNEQ (name, ".gnu.warning."))
 	{
 	  char *msg;
@@ -9481,7 +9477,7 @@ elf_link_output_symstrtab (struct elf_fi
   hash_table->strtab[hash_table->strtabcount].destshndx_index
     = flinfo->symshndxbuf ? bfd_get_symcount (flinfo->output_bfd) : 0;
 
-  bfd_get_symcount (flinfo->output_bfd) += 1;
+  flinfo->output_bfd->symcount += 1;
   hash_table->strtabcount += 1;
 
   return 1;
@@ -11393,8 +11389,7 @@ elf_reloc_link_order (bfd *output_bfd,
 
 	case bfd_reloc_overflow:
 	  if (link_order->type == bfd_section_reloc_link_order)
-	    sym_name = bfd_section_name (output_bfd,
-					 link_order->u.reloc.p->u.section);
+	    sym_name = bfd_section_name (link_order->u.reloc.p->u.section);
 	  else
 	    sym_name = link_order->u.reloc.p->u.name;
 	  (*info->callbacks->reloc_overflow) (info, NULL, sym_name,
@@ -11837,7 +11832,7 @@ bfd_elf_final_link (bfd *abfd, struct bf
 	    }
 
 	  attr_size = bfd_elf_obj_attr_size (abfd);
-	  bfd_set_section_size (abfd, o, attr_size);
+	  bfd_set_section_size (o, attr_size);
 	  /* Skip this section later on.  */
 	  o->map_head.link_order = NULL;
 	  if (attr_size)
@@ -12012,7 +12007,7 @@ bfd_elf_final_link (bfd *abfd, struct bf
   /* Figure out the file positions for everything but the symbol table
      and the relocs.  We set symcount to force assign_section_numbers
      to create a symbol table.  */
-  bfd_get_symcount (abfd) = info->strip != strip_all || emit_relocs;
+  abfd->symcount = info->strip != strip_all || emit_relocs;
   BFD_ASSERT (! abfd->output_has_begun);
   if (! _bfd_elf_compute_section_file_positions (abfd, info))
     goto error_return;
@@ -12057,7 +12052,7 @@ bfd_elf_final_link (bfd *abfd, struct bf
      .symtab, .strtab, and non-loaded reloc sections.  We start the
      .symtab section at the current file position, and write directly
      to it.  We build the .strtab section in memory.  */
-  bfd_get_symcount (abfd) = 0;
+  abfd->symcount = 0;
   symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
   /* sh_name is set in prep_headers.  */
   symtab_hdr->sh_type = SHT_SYMTAB;
@@ -13588,7 +13583,7 @@ bfd_elf_parse_eh_frame_entries (bfd *abf
 
       for (sec = ibfd->sections; sec; sec = sec->next)
 	{
-	  if (CONST_STRNEQ (bfd_section_name (ibfd, sec), ".eh_frame_entry")
+	  if (CONST_STRNEQ (bfd_section_name (sec), ".eh_frame_entry")
 	      && init_reloc_cookie_rels (&cookie, info, ibfd, sec))
 	    {
 	      _bfd_elf_parse_eh_frame_entry (info, sec, &cookie);
@@ -14444,7 +14439,7 @@ get_dynamic_reloc_section_name (bfd *   
 				bfd_boolean is_rela)
 {
   char *name;
-  const char *old_name = bfd_get_section_name (NULL, sec);
+  const char *old_name = bfd_section_name (sec);
   const char *prefix = is_rela ? ".rela" : ".rel";
 
   if (old_name == NULL)
@@ -14527,7 +14522,7 @@ _bfd_elf_make_dynamic_reloc_section (ase
 		 section named "auto" we'll get ".relauto" which is
 		 seen to be a .rela section.  */
 	      elf_section_type (reloc_sec) = is_rela ? SHT_RELA : SHT_REL;
-	      if (! bfd_set_section_alignment (dynobj, reloc_sec, alignment))
+	      if (!bfd_set_section_alignment (reloc_sec, alignment))
 		reloc_sec = NULL;
 	    }
 	}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf-m10200.c ./bfd/elf-m10200.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf-m10200.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf-m10200.c	2019-09-24 01:49:09.000000000 +0000
@@ -413,7 +413,7 @@ mn10200_elf_relocate_section (bfd *outpu
 	      name = (bfd_elf_string_from_elf_section
 		      (input_bfd, symtab_hdr->sh_link, sym->st_name));
 	      if (name == NULL || *name == '\0')
-		name = bfd_section_name (input_bfd, sec);
+		name = bfd_section_name (sec);
 	    }
 
 	  switch (r)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf-m10300.c ./bfd/elf-m10300.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf-m10300.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf-m10300.c	2019-09-24 01:49:09.000000000 +0000
@@ -725,7 +725,7 @@ _bfd_mn10300_elf_create_got_section (bfd
   s = bfd_make_section_anyway_with_flags (abfd, ".plt", pltflags);
   htab->splt = s;
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, bed->plt_alignment))
+      || !bfd_set_section_alignment (s, bed->plt_alignment))
     return FALSE;
 
   /* Define the symbol _PROCEDURE_LINKAGE_TABLE_ at the start of the
@@ -742,7 +742,7 @@ _bfd_mn10300_elf_create_got_section (bfd
   s = bfd_make_section_anyway_with_flags (abfd, ".got", flags);
   htab->sgot = s;
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, ptralign))
+      || !bfd_set_section_alignment (s, ptralign))
     return FALSE;
 
   if (bed->want_got_plt)
@@ -750,7 +750,7 @@ _bfd_mn10300_elf_create_got_section (bfd
       s = bfd_make_section_anyway_with_flags (abfd, ".got.plt", flags);
       htab->sgotplt = s;
       if (s == NULL
-	  || ! bfd_set_section_alignment (abfd, s, ptralign))
+	  || !bfd_set_section_alignment (s, ptralign))
 	return FALSE;
     }
 
@@ -2125,7 +2125,7 @@ mn10300_elf_relocate_section (bfd *outpu
 	      name = (bfd_elf_string_from_elf_section
 		      (input_bfd, symtab_hdr->sh_link, sym->st_name));
 	      if (name == NULL || *name == '\0')
-		name = bfd_section_name (input_bfd, sec);
+		name = bfd_section_name (sec);
 	    }
 
 	  switch (r)
@@ -4821,7 +4821,7 @@ _bfd_mn10300_elf_create_dynamic_sections
 					  flags | SEC_READONLY);
   htab->root.srelplt = s;
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, ptralign))
+      || !bfd_set_section_alignment (s, ptralign))
     return FALSE;
 
   if (! _bfd_mn10300_elf_create_got_section (abfd, info))
@@ -4858,7 +4858,7 @@ _bfd_mn10300_elf_create_dynamic_sections
 						   ? ".rela.bss" : ".rel.bss"),
 						  flags | SEC_READONLY);
 	  if (s == NULL
-	      || ! bfd_set_section_alignment (abfd, s, ptralign))
+	      || !bfd_set_section_alignment (s, ptralign))
 	    return FALSE;
 	}
     }
@@ -5073,7 +5073,7 @@ _bfd_mn10300_elf_size_dynamic_sections (
 
       /* It's OK to base decisions on the section name, because none
 	 of the dynobj section names depend upon the input files.  */
-      name = bfd_get_section_name (dynobj, s);
+      name = bfd_section_name (s);
 
       if (streq (name, ".plt"))
 	{
@@ -5099,8 +5099,7 @@ _bfd_mn10300_elf_size_dynamic_sections (
 		     entry.  The entries in the .rela.plt section
 		     really apply to the .got section, which we
 		     created ourselves and so know is not readonly.  */
-		  outname = bfd_get_section_name (output_bfd,
-						  s->output_section);
+		  outname = bfd_section_name (s->output_section);
 		  target = bfd_get_section_by_name (output_bfd, outname + 5);
 		  if (target != NULL
 		      && (target->flags & SEC_READONLY) != 0
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elfn32-mips.c ./bfd/elfn32-mips.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elfn32-mips.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elfn32-mips.c	2019-09-24 01:49:09.000000000 +0000
@@ -3841,8 +3841,8 @@ mips_elf_sym_is_global (bfd *abfd ATTRIB
     return (sym->flags & BSF_SECTION_SYM) == 0;
   else
     return ((sym->flags & (BSF_GLOBAL | BSF_WEAK | BSF_GNU_UNIQUE)) != 0
-	    || bfd_is_und_section (bfd_get_section (sym))
-	    || bfd_is_com_section (bfd_get_section (sym)));
+	    || bfd_is_und_section (bfd_asymbol_section (sym))
+	    || bfd_is_com_section (bfd_asymbol_section (sym)));
 }
 
 /* Set the right machine number for a MIPS ELF file.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elfnn-aarch64.c ./bfd/elfnn-aarch64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elfnn-aarch64.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elfnn-aarch64.c	2019-09-24 01:49:09.000000000 +0000
@@ -144,6 +144,7 @@
 #include "objalloc.h"
 #include "elf/aarch64.h"
 #include "elfxx-aarch64.h"
+#include "cpu-aarch64.h"
 
 #define ARCH_SIZE	NN
 
@@ -6790,7 +6791,7 @@ elfNN_aarch64_relocate_section (bfd *out
 	  name = (bfd_elf_string_from_elf_section
 		  (input_bfd, symtab_hdr->sh_link, sym->st_name));
 	  if (name == NULL || *name == '\0')
-	    name = bfd_section_name (input_bfd, sec);
+	    name = bfd_section_name (sec);
 	}
 
       if (r_symndx != 0
@@ -7273,7 +7274,7 @@ elfNN_aarch64_merge_private_bfd_data (bf
 
       for (sec = ibfd->sections; sec != NULL; sec = sec->next)
 	{
-	  if ((bfd_get_section_flags (ibfd, sec)
+	  if ((bfd_section_flags (sec)
 	       & (SEC_LOAD | SEC_CODE | SEC_HAS_CONTENTS))
 	      == (SEC_LOAD | SEC_CODE | SEC_HAS_CONTENTS))
 	    only_data_sections = FALSE;
@@ -7519,13 +7520,13 @@ aarch64_elf_create_got_section (bfd *abf
 					  (bed->dynamic_sec_flags
 					   | SEC_READONLY));
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
+      || !bfd_set_section_alignment (s, bed->s->log_file_align))
     return FALSE;
   htab->srelgot = s;
 
   s = bfd_make_section_anyway_with_flags (abfd, ".got", flags);
   if (s == NULL
-      || !bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
+      || !bfd_set_section_alignment (s, bed->s->log_file_align))
     return FALSE;
   htab->sgot = s;
   htab->sgot->size += GOT_ENTRY_SIZE;
@@ -7547,8 +7548,7 @@ aarch64_elf_create_got_section (bfd *abf
     {
       s = bfd_make_section_anyway_with_flags (abfd, ".got.plt", flags);
       if (s == NULL
-	  || !bfd_set_section_alignment (abfd, s,
-					 bed->s->log_file_align))
+	  || !bfd_set_section_alignment (s, bed->s->log_file_align))
 	return FALSE;
       htab->sgotplt = s;
     }
@@ -8042,7 +8042,7 @@ aarch64_elf_find_function (bfd *        
 		  (q->symbol.name, BFD_AARCH64_SPECIAL_SYM_TYPE_ANY)))
 	    continue;
 	  /* Fall through.  */
-	  if (bfd_get_section (&q->symbol) == section
+	  if (bfd_asymbol_section (&q->symbol) == section
 	      && q->symbol.value >= low_func && q->symbol.value <= offset)
 	    {
 	      func = (asymbol *) q;
@@ -9150,7 +9150,7 @@ elfNN_aarch64_size_dynamic_sections (bfd
 	  /* Strip this section if we don't need it; see the
 	     comment below.  */
 	}
-      else if (CONST_STRNEQ (bfd_get_section_name (dynobj, s), ".rela"))
+      else if (CONST_STRNEQ (bfd_section_name (s), ".rela"))
 	{
 	  if (s->size != 0 && s != htab->root.srelplt)
 	    relocs = TRUE;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elfnn-ia64.c ./bfd/elfnn-ia64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elfnn-ia64.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elfnn-ia64.c	2019-09-24 01:49:09.000000000 +0000
@@ -956,7 +956,7 @@ elfNN_ia64_fake_sections (bfd *abfd, Elf
 {
   const char *name;
 
-  name = bfd_get_section_name (abfd, sec);
+  name = bfd_section_name (sec);
 
   if (is_unwind_section_name (abfd, name))
     {
@@ -1561,11 +1561,10 @@ elfNN_ia64_create_dynamic_sections (bfd 
     return FALSE;
 
   {
-    flagword flags = bfd_get_section_flags (abfd, ia64_info->root.sgot);
-    bfd_set_section_flags (abfd, ia64_info->root.sgot,
-			   SEC_SMALL_DATA | flags);
+    flagword flags = bfd_section_flags (ia64_info->root.sgot);
+    bfd_set_section_flags (ia64_info->root.sgot, SEC_SMALL_DATA | flags);
     /* The .got section is always aligned at 8 bytes.  */
-    if (! bfd_set_section_alignment (abfd, ia64_info->root.sgot, 3))
+    if (!bfd_set_section_alignment (ia64_info->root.sgot, 3))
       return FALSE;
   }
 
@@ -1579,7 +1578,7 @@ elfNN_ia64_create_dynamic_sections (bfd 
 					   | SEC_LINKER_CREATED
 					   | SEC_READONLY));
   if (s == NULL
-      || !bfd_set_section_alignment (abfd, s, LOG_SECTION_ALIGN))
+      || !bfd_set_section_alignment (s, LOG_SECTION_ALIGN))
     return FALSE;
   ia64_info->rel_pltoff_sec = s;
 
@@ -1977,11 +1976,11 @@ get_got (bfd *abfd, struct bfd_link_info
       got = ia64_info->root.sgot;
 
       /* The .got section is always aligned at 8 bytes.  */
-      if (!bfd_set_section_alignment (abfd, got, 3))
+      if (!bfd_set_section_alignment (got, 3))
 	return NULL;
 
-      flags = bfd_get_section_flags (abfd, got);
-      if (! bfd_set_section_flags (abfd, got, SEC_SMALL_DATA | flags))
+      flags = bfd_section_flags (got);
+      if (!bfd_set_section_flags (got, SEC_SMALL_DATA | flags))
 	return NULL;
     }
 
@@ -2016,7 +2015,7 @@ get_fptr (bfd *abfd, struct bfd_link_inf
 						     ? 0 : SEC_READONLY)
 						  | SEC_LINKER_CREATED));
       if (!fptr
-	  || !bfd_set_section_alignment (abfd, fptr, 4))
+	  || !bfd_set_section_alignment (fptr, 4))
 	{
 	  BFD_ASSERT (0);
 	  return NULL;
@@ -2034,8 +2033,7 @@ get_fptr (bfd *abfd, struct bfd_link_inf
 							  | SEC_LINKER_CREATED
 							  | SEC_READONLY));
 	  if (fptr_rel == NULL
-	      || !bfd_set_section_alignment (abfd, fptr_rel,
-					     LOG_SECTION_ALIGN))
+	      || !bfd_set_section_alignment (fptr_rel, LOG_SECTION_ALIGN))
 	    {
 	      BFD_ASSERT (0);
 	      return NULL;
@@ -2071,7 +2069,7 @@ get_pltoff (bfd *abfd, struct bfd_link_i
 						    | SEC_SMALL_DATA
 						    | SEC_LINKER_CREATED));
       if (!pltoff
-	  || !bfd_set_section_alignment (abfd, pltoff, 4))
+	  || !bfd_set_section_alignment (pltoff, 4))
 	{
 	  BFD_ASSERT (0);
 	  return NULL;
@@ -2112,8 +2110,7 @@ get_reloc_section (bfd *abfd,
 						  | SEC_LINKER_CREATED
 						  | SEC_READONLY));
       if (srel == NULL
-	  || !bfd_set_section_alignment (dynobj, srel,
-					 LOG_SECTION_ALIGN))
+	  || !bfd_set_section_alignment (srel, LOG_SECTION_ALIGN))
 	return NULL;
     }
 
@@ -3171,7 +3168,7 @@ elfNN_ia64_size_dynamic_sections (bfd *o
 
 	  /* It's OK to base decisions on the section name, because none
 	     of the dynobj section names depend upon the input files.  */
-	  name = bfd_get_section_name (dynobj, sec);
+	  name = bfd_section_name (sec);
 
 	  if (strcmp (name, ".got.plt") == 0)
 	    strip = FALSE;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elfnn-riscv.c ./bfd/elfnn-riscv.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elfnn-riscv.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elfnn-riscv.c	2019-09-24 01:49:09.000000000 +0000
@@ -310,13 +310,13 @@ riscv_elf_create_got_section (bfd *abfd,
 					  (bed->dynamic_sec_flags
 					   | SEC_READONLY));
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
+      || !bfd_set_section_alignment (s, bed->s->log_file_align))
     return FALSE;
   htab->srelgot = s;
 
   s = s_got = bfd_make_section_anyway_with_flags (abfd, ".got", flags);
   if (s == NULL
-      || !bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
+      || !bfd_set_section_alignment (s, bed->s->log_file_align))
     return FALSE;
   htab->sgot = s;
 
@@ -327,8 +327,7 @@ riscv_elf_create_got_section (bfd *abfd,
     {
       s = bfd_make_section_anyway_with_flags (abfd, ".got.plt", flags);
       if (s == NULL
-	  || !bfd_set_section_alignment (abfd, s,
-					 bed->s->log_file_align))
+	  || !bfd_set_section_alignment (s, bed->s->log_file_align))
 	return FALSE;
       htab->sgotplt = s;
 
@@ -1840,7 +1839,7 @@ riscv_elf_relocate_section (bfd *output_
 	  name = (bfd_elf_string_from_elf_section
 		  (input_bfd, symtab_hdr->sh_link, sym->st_name));
 	  if (name == NULL || *name == '\0')
-	    name = bfd_section_name (input_bfd, sec);
+	    name = bfd_section_name (sec);
 	}
 
       resolved_to_zero = (h != NULL
@@ -3160,7 +3159,7 @@ _bfd_riscv_elf_merge_private_bfd_data (b
 
       for (sec = ibfd->sections; sec != NULL; sec = sec->next)
 	{
-	  if ((bfd_get_section_flags (ibfd, sec)
+	  if ((bfd_section_flags (sec)
 	       & (SEC_LOAD | SEC_CODE | SEC_HAS_CONTENTS))
 	      == (SEC_LOAD | SEC_CODE | SEC_HAS_CONTENTS))
 	    only_data_sections = FALSE;
@@ -3320,6 +3319,7 @@ struct riscv_pcgp_hi_reloc
   bfd_vma hi_addr;
   unsigned hi_sym;
   asection *sym_sec;
+  bfd_boolean undefined_weak;
   riscv_pcgp_hi_reloc *next;
 };
 
@@ -3378,7 +3378,8 @@ riscv_free_pcgp_relocs (riscv_pcgp_reloc
 static bfd_boolean
 riscv_record_pcgp_hi_reloc (riscv_pcgp_relocs *p, bfd_vma hi_sec_off,
 			    bfd_vma hi_addend, bfd_vma hi_addr,
-			    unsigned hi_sym, asection *sym_sec)
+			    unsigned hi_sym, asection *sym_sec,
+			    bfd_boolean undefined_weak)
 {
   riscv_pcgp_hi_reloc *new = bfd_malloc (sizeof(*new));
   if (!new)
@@ -3388,6 +3389,7 @@ riscv_record_pcgp_hi_reloc (riscv_pcgp_r
   new->hi_addr = hi_addr;
   new->hi_sym = hi_sym;
   new->sym_sec = sym_sec;
+  new->undefined_weak = undefined_weak;
   new->next = p->hi;
   p->hi = new;
   return TRUE;
@@ -3440,7 +3442,8 @@ typedef bfd_boolean (*relax_func_t) (bfd
 				     struct bfd_link_info *,
 				     Elf_Internal_Rela *,
 				     bfd_vma, bfd_vma, bfd_vma, bfd_boolean *,
-				     riscv_pcgp_relocs *);
+				     riscv_pcgp_relocs *,
+				     bfd_boolean undefined_weak);
 
 /* Relax AUIPC + JALR into JAL.  */
 
@@ -3452,7 +3455,8 @@ _bfd_riscv_relax_call (bfd *abfd, asecti
 		       bfd_vma max_alignment,
 		       bfd_vma reserve_size ATTRIBUTE_UNUSED,
 		       bfd_boolean *again,
-		       riscv_pcgp_relocs *pcgp_relocs ATTRIBUTE_UNUSED)
+		       riscv_pcgp_relocs *pcgp_relocs ATTRIBUTE_UNUSED,
+		       bfd_boolean undefined_weak ATTRIBUTE_UNUSED)
 {
   bfd_byte *contents = elf_section_data (sec)->this_hdr.contents;
   bfd_signed_vma foff = symval - (sec_addr (sec) + rel->r_offset);
@@ -3540,7 +3544,8 @@ _bfd_riscv_relax_lui (bfd *abfd,
 		      bfd_vma max_alignment,
 		      bfd_vma reserve_size,
 		      bfd_boolean *again,
-		      riscv_pcgp_relocs *pcgp_relocs ATTRIBUTE_UNUSED)
+		      riscv_pcgp_relocs *pcgp_relocs ATTRIBUTE_UNUSED,
+		      bfd_boolean undefined_weak)
 {
   bfd_byte *contents = elf_section_data (sec)->this_hdr.contents;
   bfd_vma gp = riscv_global_pointer_value (link_info);
@@ -3562,21 +3567,38 @@ _bfd_riscv_relax_lui (bfd *abfd,
 
   /* Is the reference in range of x0 or gp?
      Valid gp range conservatively because of alignment issue.  */
-  if (VALID_ITYPE_IMM (symval)
-      || (symval >= gp
-	  && VALID_ITYPE_IMM (symval - gp + max_alignment + reserve_size))
-      || (symval < gp
-	  && VALID_ITYPE_IMM (symval - gp - max_alignment - reserve_size)))
+  if (undefined_weak
+      || (VALID_ITYPE_IMM (symval)
+	  || (symval >= gp
+	      && VALID_ITYPE_IMM (symval - gp + max_alignment + reserve_size))
+	  || (symval < gp
+	      && VALID_ITYPE_IMM (symval - gp - max_alignment - reserve_size))))
     {
       unsigned sym = ELFNN_R_SYM (rel->r_info);
       switch (ELFNN_R_TYPE (rel->r_info))
 	{
 	case R_RISCV_LO12_I:
-	  rel->r_info = ELFNN_R_INFO (sym, R_RISCV_GPREL_I);
+	  if (undefined_weak)
+	    {
+	      /* Change the RS1 to zero.  */
+	      bfd_vma insn = bfd_get_32 (abfd, contents + rel->r_offset);
+	      insn &= ~(OP_MASK_RS1 << OP_SH_RS1);
+	      bfd_put_32 (abfd, insn, contents + rel->r_offset);
+	    }
+	  else
+	    rel->r_info = ELFNN_R_INFO (sym, R_RISCV_GPREL_I);
 	  return TRUE;
 
 	case R_RISCV_LO12_S:
-	  rel->r_info = ELFNN_R_INFO (sym, R_RISCV_GPREL_S);
+	  if (undefined_weak)
+	    {
+	      /* Change the RS1 to zero.  */
+	      bfd_vma insn = bfd_get_32 (abfd, contents + rel->r_offset);
+	      insn &= ~(OP_MASK_RS1 << OP_SH_RS1);
+	      bfd_put_32 (abfd, insn, contents + rel->r_offset);
+	    }
+	  else
+	    rel->r_info = ELFNN_R_INFO (sym, R_RISCV_GPREL_S);
 	  return TRUE;
 
 	case R_RISCV_HI20:
@@ -3635,7 +3657,8 @@ _bfd_riscv_relax_tls_le (bfd *abfd,
 			 bfd_vma max_alignment ATTRIBUTE_UNUSED,
 			 bfd_vma reserve_size ATTRIBUTE_UNUSED,
 			 bfd_boolean *again,
-			 riscv_pcgp_relocs *prcel_relocs ATTRIBUTE_UNUSED)
+			 riscv_pcgp_relocs *prcel_relocs ATTRIBUTE_UNUSED,
+			 bfd_boolean undefined_weak ATTRIBUTE_UNUSED)
 {
   /* See if this symbol is in range of tp.  */
   if (RISCV_CONST_HIGH_PART (tpoff (link_info, symval)) != 0)
@@ -3675,7 +3698,8 @@ _bfd_riscv_relax_align (bfd *abfd, asect
 			bfd_vma max_alignment ATTRIBUTE_UNUSED,
 			bfd_vma reserve_size ATTRIBUTE_UNUSED,
 			bfd_boolean *again ATTRIBUTE_UNUSED,
-			riscv_pcgp_relocs *pcrel_relocs ATTRIBUTE_UNUSED)
+			riscv_pcgp_relocs *pcrel_relocs ATTRIBUTE_UNUSED,
+			bfd_boolean undefined_weak ATTRIBUTE_UNUSED)
 {
   bfd_byte *contents = elf_section_data (sec)->this_hdr.contents;
   bfd_vma alignment = 1, pos;
@@ -3733,8 +3757,10 @@ _bfd_riscv_relax_pc  (bfd *abfd ATTRIBUT
 		      bfd_vma max_alignment,
 		      bfd_vma reserve_size,
 		      bfd_boolean *again ATTRIBUTE_UNUSED,
-		      riscv_pcgp_relocs *pcgp_relocs)
+		      riscv_pcgp_relocs *pcgp_relocs,
+		      bfd_boolean undefined_weak)
 {
+  bfd_byte *contents = elf_section_data (sec)->this_hdr.contents;
   bfd_vma gp = riscv_global_pointer_value (link_info);
 
   BFD_ASSERT (rel->r_offset + 4 <= sec->size);
@@ -3764,12 +3790,19 @@ _bfd_riscv_relax_pc  (bfd *abfd ATTRIBUT
 	hi_reloc = *hi;
 	symval = hi_reloc.hi_addr;
 	sym_sec = hi_reloc.sym_sec;
+
+	/* We can not know whether the undefined weak symbol is referenced
+	   according to the information of R_RISCV_PCREL_LO12_I/S.  Therefore,
+	   we have to record the 'undefined_weak' flag when handling the
+	   corresponding R_RISCV_HI20 reloc in riscv_record_pcgp_hi_reloc.  */
+	undefined_weak = hi_reloc.undefined_weak;
       }
       break;
 
     case R_RISCV_PCREL_HI20:
       /* Mergeable symbols and code might later move out of range.  */
-      if (sym_sec->flags & (SEC_MERGE | SEC_CODE))
+      if (! undefined_weak
+	  && sym_sec->flags & (SEC_MERGE | SEC_CODE))
 	return TRUE;
 
       /* If the cooresponding lo relocation has already been seen then it's not
@@ -3797,23 +3830,50 @@ _bfd_riscv_relax_pc  (bfd *abfd ATTRIBUT
 
   /* Is the reference in range of x0 or gp?
      Valid gp range conservatively because of alignment issue.  */
-  if (VALID_ITYPE_IMM (symval)
-      || (symval >= gp
-	  && VALID_ITYPE_IMM (symval - gp + max_alignment + reserve_size))
-      || (symval < gp
-	  && VALID_ITYPE_IMM (symval - gp - max_alignment - reserve_size)))
+  if (undefined_weak
+      || (VALID_ITYPE_IMM (symval)
+	  || (symval >= gp
+	      && VALID_ITYPE_IMM (symval - gp + max_alignment + reserve_size))
+	  || (symval < gp
+	      && VALID_ITYPE_IMM (symval - gp - max_alignment - reserve_size))))
     {
       unsigned sym = hi_reloc.hi_sym;
       switch (ELFNN_R_TYPE (rel->r_info))
 	{
 	case R_RISCV_PCREL_LO12_I:
-	  rel->r_info = ELFNN_R_INFO (sym, R_RISCV_GPREL_I);
-	  rel->r_addend += hi_reloc.hi_addend;
+	  if (undefined_weak)
+	    {
+	      /* Change the RS1 to zero, and then modify the relocation
+		 type to R_RISCV_LO12_I.  */
+	      bfd_vma insn = bfd_get_32 (abfd, contents + rel->r_offset);
+	      insn &= ~(OP_MASK_RS1 << OP_SH_RS1);
+	      bfd_put_32 (abfd, insn, contents + rel->r_offset);
+	      rel->r_info = ELFNN_R_INFO (sym, R_RISCV_LO12_I);
+	      rel->r_addend = hi_reloc.hi_addend;
+	    }
+	  else
+	    {
+	      rel->r_info = ELFNN_R_INFO (sym, R_RISCV_GPREL_I);
+	      rel->r_addend += hi_reloc.hi_addend;
+	    }
 	  return TRUE;
 
 	case R_RISCV_PCREL_LO12_S:
-	  rel->r_info = ELFNN_R_INFO (sym, R_RISCV_GPREL_S);
-	  rel->r_addend += hi_reloc.hi_addend;
+	  if (undefined_weak)
+	    {
+	      /* Change the RS1 to zero, and then modify the relocation
+		 type to R_RISCV_LO12_S.  */
+	      bfd_vma insn = bfd_get_32 (abfd, contents + rel->r_offset);
+	      insn &= ~(OP_MASK_RS1 << OP_SH_RS1);
+	      bfd_put_32 (abfd, insn, contents + rel->r_offset);
+	      rel->r_info = ELFNN_R_INFO (sym, R_RISCV_LO12_S);
+	      rel->r_addend = hi_reloc.hi_addend;
+	    }
+	  else
+	    {
+	      rel->r_info = ELFNN_R_INFO (sym, R_RISCV_GPREL_S);
+	      rel->r_addend += hi_reloc.hi_addend;
+	    }
 	  return TRUE;
 
 	case R_RISCV_PCREL_HI20:
@@ -3822,7 +3882,8 @@ _bfd_riscv_relax_pc  (bfd *abfd ATTRIBUT
 				      rel->r_addend,
 				      symval,
 				      ELFNN_R_SYM(rel->r_info),
-				      sym_sec);
+				      sym_sec,
+				      undefined_weak);
 	  /* We can delete the unnecessary AUIPC and reloc.  */
 	  rel->r_info = ELFNN_R_INFO (0, R_RISCV_DELETE);
 	  rel->r_addend = 4;
@@ -3848,7 +3909,8 @@ _bfd_riscv_relax_delete (bfd *abfd,
 			 bfd_vma max_alignment ATTRIBUTE_UNUSED,
 			 bfd_vma reserve_size ATTRIBUTE_UNUSED,
 			 bfd_boolean *again ATTRIBUTE_UNUSED,
-			 riscv_pcgp_relocs *pcgp_relocs ATTRIBUTE_UNUSED)
+			 riscv_pcgp_relocs *pcgp_relocs ATTRIBUTE_UNUSED,
+			 bfd_boolean undefined_weak ATTRIBUTE_UNUSED)
 {
   if (!riscv_relax_delete_bytes(abfd, sec, rel->r_offset, rel->r_addend,
 				link_info))
@@ -3915,6 +3977,7 @@ _bfd_riscv_relax_section (bfd *abfd, ase
       int type = ELFNN_R_TYPE (rel->r_info);
       bfd_vma symval;
       char symtype;
+      bfd_boolean undefined_weak = FALSE;
 
       relax_func = NULL;
       if (info->relax_pass == 0)
@@ -4009,11 +4072,36 @@ _bfd_riscv_relax_section (bfd *abfd, ase
 		 || h->root.type == bfd_link_hash_warning)
 	    h = (struct elf_link_hash_entry *) h->root.u.i.link;
 
+	  if (h->root.type == bfd_link_hash_undefweak
+	      && (relax_func == _bfd_riscv_relax_lui
+		  || relax_func == _bfd_riscv_relax_pc))
+	    {
+	      /* For the lui and auipc relaxations, since the symbol
+		 value of an undefined weak symbol is always be zero,
+		 we can optimize the patterns into a single LI/MV/ADDI
+		 instruction.
+
+		 Note that, creating shared libraries and pie output may
+		 break the rule above.  Fortunately, since we do not relax
+		 pc relocs when creating shared libraries and pie output,
+		 and the absolute address access for R_RISCV_HI20 isn't
+		 allowed when "-fPIC" is set, the problem of creating shared
+		 libraries can not happen currently.  Once we support the
+		 auipc relaxations when creating shared libraries, then we will
+		 need the more rigorous checking for this optimization.  */
+	      undefined_weak = TRUE;
+	    }
+
 	  if (h->plt.offset != MINUS_ONE)
 	    {
 	      sym_sec = htab->elf.splt;
 	      symval = h->plt.offset;
 	    }
+	  else if (undefined_weak)
+	    {
+	      symval = 0;
+	      sym_sec = bfd_und_section_ptr;
+	    }
 	  else if (h->root.u.def.section->output_section == NULL
 		   || (h->root.type != bfd_link_hash_defined
 		       && h->root.type != bfd_link_hash_defweak))
@@ -4066,7 +4154,7 @@ _bfd_riscv_relax_section (bfd *abfd, ase
 
       if (!relax_func (abfd, sec, sym_sec, info, rel, symval,
 		       max_alignment, reserve_size, again,
-		       &pcgp_relocs))
+		       &pcgp_relocs, undefined_weak))
 	goto fail;
     }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf-properties.c ./bfd/elf-properties.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf-properties.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf-properties.c	2019-09-24 01:49:09.000000000 +0000
@@ -695,12 +695,12 @@ _bfd_elf_convert_gnu_properties (bfd *ib
   align_shift = bed->s->elfclass == ELFCLASS64 ? 3 : 2;
 
   /* Get the output .note.gnu.property section size.  */
-  size = bfd_get_section_size (isec->output_section);
+  size = bfd_section_size (isec->output_section);
 
   /* Update the output .note.gnu.property section alignment.  */
-  bfd_set_section_alignment (obfd, isec->output_section, align_shift);
+  bfd_set_section_alignment (isec->output_section, align_shift);
 
-  if (size > bfd_get_section_size (isec))
+  if (size > bfd_section_size (isec))
     {
       contents = (bfd_byte *) bfd_malloc (size);
       free (*ptr);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf-s390-common.c ./bfd/elf-s390-common.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf-s390-common.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf-s390-common.c	2019-09-24 01:49:09.000000000 +0000
@@ -131,8 +131,7 @@ s390_elf_create_ifunc_sections (bfd *abf
       s = bfd_make_section_with_flags (abfd, ".rela.ifunc",
 				       flags | SEC_READONLY);
       if (s == NULL
-	  || ! bfd_set_section_alignment (abfd, s,
-					  bed->s->log_file_align))
+	  || !bfd_set_section_alignment (s, bed->s->log_file_align))
 	return FALSE;
       htab->irelifunc = s;
     }
@@ -141,21 +140,19 @@ s390_elf_create_ifunc_sections (bfd *abf
   s = bfd_make_section_with_flags (abfd, ".iplt",
 				   flags | SEC_CODE | SEC_READONLY);
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, bed->plt_alignment))
+      || !bfd_set_section_alignment (s, bed->plt_alignment))
     return FALSE;
   htab->iplt = s;
 
   s = bfd_make_section_with_flags (abfd, ".rela.iplt", flags | SEC_READONLY);
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s,
-				      bed->s->log_file_align))
+      || !bfd_set_section_alignment (s, bed->s->log_file_align))
     return FALSE;
   htab->irelplt = s;
 
   s = bfd_make_section_with_flags (abfd, ".igot.plt", flags);
   if (s == NULL
-      || !bfd_set_section_alignment (abfd, s,
-				     bed->s->log_file_align))
+      || !bfd_set_section_alignment (s, bed->s->log_file_align))
     return FALSE;
   htab->igotplt = s;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf-vxworks.c ./bfd/elf-vxworks.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elf-vxworks.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elf-vxworks.c	2019-09-24 01:49:09.000000000 +0000
@@ -97,7 +97,7 @@ elf_vxworks_create_dynamic_sections (bfd
 					      | SEC_READONLY
 					      | SEC_LINKER_CREATED);
       if (s == NULL
-	  || !bfd_set_section_alignment (dynobj, s, bed->s->log_file_align))
+	  || !bfd_set_section_alignment (s, bed->s->log_file_align))
 	return FALSE;
 
       *srelplt2_out = s;
@@ -279,9 +279,7 @@ elf_vxworks_finish_dynamic_entry (bfd *o
 
     case DT_VX_WRS_TLS_DATA_ALIGN:
       sec = bfd_get_section_by_name (output_bfd, ".tls_data");
-      dyn->d_un.d_val
-	= (bfd_size_type)1 << bfd_get_section_alignment (output_bfd,
-							 sec);
+      dyn->d_un.d_val = (bfd_size_type) 1 << bfd_section_alignment (sec);
       break;
 
     case DT_VX_WRS_TLS_VARS_START:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elfxx-aarch64.c ./bfd/elfxx-aarch64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elfxx-aarch64.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elfxx-aarch64.c	2019-09-24 01:49:09.000000000 +0000
@@ -758,11 +758,9 @@ _bfd_aarch64_elf_link_setup_gnu_properti
 	      _("%F%P: failed to create GNU property section\n"));
 
           align = (bfd_get_mach (ebfd) & bfd_mach_aarch64_ilp32) ? 2 : 3;
-          if (!bfd_set_section_alignment (ebfd, sec, align))
-            {
-              info->callbacks->einfo (_("%F%pA: failed to align section\n"),
-                                      sec);
-            }
+	  if (!bfd_set_section_alignment (sec, align))
+	    info->callbacks->einfo (_("%F%pA: failed to align section\n"),
+				    sec);
 
 	  elf_section_type (sec) = SHT_NOTE;
 	}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elfxx-aarch64.h ./bfd/elfxx-aarch64.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elfxx-aarch64.h	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elfxx-aarch64.h	2019-09-24 01:49:09.000000000 +0000
@@ -18,6 +18,84 @@
    along with this program; see the file COPYING3. If not,
    see <http://www.gnu.org/licenses/>.  */
 
+extern void bfd_elf64_aarch64_init_maps
+  (bfd *);
+
+extern void bfd_elf32_aarch64_init_maps
+  (bfd *);
+
+/* Types of PLTs based on the level of security.  This would be a
+   bit-mask to denote which of the combinations of security features
+   are enabled:
+   - No security feature PLTs
+   - PLTs with BTI instruction
+   - PLTs with PAC instruction
+*/
+typedef enum
+{
+  PLT_NORMAL	= 0x0,  /* Normal plts.  */
+  PLT_BTI	= 0x1,  /* plts with bti.  */
+  PLT_PAC	= 0x2,  /* plts with pointer authentication.  */
+  PLT_BTI_PAC	= PLT_BTI | PLT_PAC
+} aarch64_plt_type;
+
+/* To indicate if BTI is enabled with/without warning.  */
+typedef enum
+{
+  BTI_NONE	= 0,  /* BTI is not enabled.  */
+  BTI_WARN	= 1,  /* BTI is enabled with -z force-bti.  */
+} aarch64_enable_bti_type;
+
+/* A structure to encompass all information coming from BTI or PAC
+   related command line options.  This involves the "PLT_TYPE" to determine
+   which version of PLTs to pick and "BTI_TYPE" to determine if
+   BTI should be turned on with any warnings.   */
+typedef struct
+{
+  aarch64_plt_type plt_type;
+  aarch64_enable_bti_type bti_type;
+} aarch64_bti_pac_info;
+
+/* An enum to define what kind of erratum fixes we should apply.  This gives the
+   user a bit more control over the sequences we generate.  */
+typedef enum
+{
+  ERRAT_NONE  = (1 << 0),  /* No erratum workarounds allowed.  */
+  ERRAT_ADR   = (1 << 1),  /* Erratum workarounds using ADR allowed.  */
+  ERRAT_ADRP  = (1 << 2),  /* Erratum workarounds using ADRP are allowed.  */
+} erratum_84319_opts;
+
+extern void bfd_elf64_aarch64_set_options
+  (bfd *, struct bfd_link_info *, int, int, int, int, erratum_84319_opts, int,
+   aarch64_bti_pac_info);
+
+extern void bfd_elf32_aarch64_set_options
+  (bfd *, struct bfd_link_info *, int, int, int, int, erratum_84319_opts, int,
+   aarch64_bti_pac_info);
+
+/* AArch64 stub generation support for ELF64.  Called from the linker.  */
+extern int elf64_aarch64_setup_section_lists
+  (bfd *, struct bfd_link_info *);
+extern void elf64_aarch64_next_input_section
+  (struct bfd_link_info *, struct bfd_section *);
+extern bfd_boolean elf64_aarch64_size_stubs
+  (bfd *, bfd *, struct bfd_link_info *, bfd_signed_vma,
+   struct bfd_section * (*) (const char *, struct bfd_section *),
+   void (*) (void));
+extern bfd_boolean elf64_aarch64_build_stubs
+  (struct bfd_link_info *);
+/* AArch64 stub generation support for ELF32.  Called from the linker.  */
+extern int elf32_aarch64_setup_section_lists
+  (bfd *, struct bfd_link_info *);
+extern void elf32_aarch64_next_input_section
+  (struct bfd_link_info *, struct bfd_section *);
+extern bfd_boolean elf32_aarch64_size_stubs
+  (bfd *, bfd *, struct bfd_link_info *, bfd_signed_vma,
+   struct bfd_section * (*) (const char *, struct bfd_section *),
+   void (*) (void));
+extern bfd_boolean elf32_aarch64_build_stubs
+  (struct bfd_link_info *);
+
 /* Take the PAGE component of an address or offset.  */
 #define PG(x)	     ((x) & ~ (bfd_vma) 0xfff)
 #define PG_OFFSET(x) ((x) &   (bfd_vma) 0xfff)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elfxx-ia64.h ./bfd/elfxx-ia64.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elfxx-ia64.h	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elfxx-ia64.h	2019-09-24 01:49:09.000000000 +0000
@@ -31,3 +31,10 @@ void ia64_elf_relax_ldxmov (bfd_byte *co
 
 bfd_reloc_status_type ia64_elf_install_value (bfd_byte *hit_addr, bfd_vma v,
 					      unsigned int r_type);
+
+/* IA64 Itanium code generation.  Called from linker.  */
+extern void bfd_elf32_ia64_after_parse
+  (int);
+
+extern void bfd_elf64_ia64_after_parse
+  (int);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elfxx-mips.c ./bfd/elfxx-mips.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elfxx-mips.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elfxx-mips.c	2019-09-24 01:49:09.000000000 +0000
@@ -33,6 +33,7 @@
 #include "libbfd.h"
 #include "libiberty.h"
 #include "elf-bfd.h"
+#include "ecoff-bfd.h"
 #include "elfxx-mips.h"
 #include "elf/mips.h"
 #include "elf-vxworks.h"
@@ -1726,7 +1727,7 @@ section_allows_mips16_refs_p (asection *
 {
   const char *name;
 
-  name = bfd_get_section_name (section->owner, section);
+  name = bfd_section_name (section);
   return (FN_STUB_P (name)
 	  || CALL_STUB_P (name)
 	  || CALL_FP_STUB_P (name)
@@ -1937,7 +1938,7 @@ mips_elf_add_la25_intro (struct mips_elf
 
   /* Make sure that any padding goes before the stub.  */
   align = input_section->alignment_power;
-  if (!bfd_set_section_alignment (s->owner, s, align))
+  if (!bfd_set_section_alignment (s, align))
     return FALSE;
   if (align > 3)
     s->size = (1 << align) - 8;
@@ -1974,7 +1975,7 @@ mips_elf_add_la25_trampoline (struct mip
       asection *input_section = stub->h->root.root.u.def.section;
       s = htab->add_stub_section (".text", NULL,
 				  input_section->output_section);
-      if (s == NULL || !bfd_set_section_alignment (s->owner, s, 4))
+      if (s == NULL || !bfd_set_section_alignment (s, 4))
 	return FALSE;
       htab->strampoline = s;
     }
@@ -2531,8 +2532,8 @@ _bfd_mips_elf_got16_reloc (bfd *abfd, ar
 			   bfd *output_bfd, char **error_message)
 {
   if ((symbol->flags & (BSF_GLOBAL | BSF_WEAK)) != 0
-      || bfd_is_und_section (bfd_get_section (symbol))
-      || bfd_is_com_section (bfd_get_section (symbol)))
+      || bfd_is_und_section (bfd_asymbol_section (symbol))
+      || bfd_is_com_section (bfd_asymbol_section (symbol)))
     /* The relocation is against a global symbol.  */
     return _bfd_mips_elf_generic_reloc (abfd, reloc_entry, symbol, data,
 					input_section, output_bfd,
@@ -2992,7 +2993,7 @@ mips_elf_output_extsym (struct mips_elf_
 	    h->esym.asym.sc = scUndefined;
 	  else
 	    {
-	      name = bfd_section_name (output_section->owner, output_section);
+	      name = bfd_section_name (output_section);
 
 	      if (strcmp (name, ".text") == 0)
 		h->esym.asym.sc = scText;
@@ -3265,8 +3266,8 @@ mips_elf_rel_dyn_section (struct bfd_lin
 						    | SEC_LINKER_CREATED
 						    | SEC_READONLY));
       if (sreloc == NULL
-	  || ! bfd_set_section_alignment (dynobj, sreloc,
-					  MIPS_ELF_LOG_FILE_ALIGN (dynobj)))
+	  || !bfd_set_section_alignment (sreloc,
+					 MIPS_ELF_LOG_FILE_ALIGN (dynobj)))
 	return NULL;
     }
   return sreloc;
@@ -5201,8 +5202,7 @@ mips_elf_create_compact_rel_section
 
       s = bfd_make_section_anyway_with_flags (abfd, ".compact_rel", flags);
       if (s == NULL
-	  || ! bfd_set_section_alignment (abfd, s,
-					  MIPS_ELF_LOG_FILE_ALIGN (abfd)))
+	  || !bfd_set_section_alignment (s, MIPS_ELF_LOG_FILE_ALIGN (abfd)))
 	return FALSE;
 
       s->size = sizeof (Elf32_External_compact_rel);
@@ -5236,7 +5236,7 @@ mips_elf_create_got_section (bfd *abfd, 
      in the function stub generation and in the linker script.  */
   s = bfd_make_section_anyway_with_flags (abfd, ".got", flags);
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, 4))
+      || !bfd_set_section_alignment (s, 4))
     return FALSE;
   htab->root.sgot = s;
 
@@ -5537,7 +5537,7 @@ mips_elf_calculate_relocation (bfd *abfd
 						symtab_hdr->sh_link,
 						sym->st_name);
       if (*namep == NULL || **namep == '\0')
-	*namep = bfd_section_name (input_bfd, sec);
+	*namep = bfd_section_name (sec);
 
       /* For relocations against a section symbol and ones against no
 	 symbol (absolute relocations) infer the ISA mode from the addend.  */
@@ -5735,7 +5735,7 @@ mips_elf_calculate_relocation (bfd *abfd
 	      sec = NULL;
 	      for (o = input_bfd->sections; o != NULL; o = o->next)
 		{
-		  if (CALL_FP_STUB_P (bfd_get_section_name (input_bfd, o)))
+		  if (CALL_FP_STUB_P (bfd_section_name (o)))
 		    {
 		      sec = h->call_fp_stub;
 		      break;
@@ -7385,7 +7385,7 @@ _bfd_mips_elf_section_processing (bfd *a
 
   if (hdr->bfd_section != NULL)
     {
-      const char *name = bfd_get_section_name (abfd, hdr->bfd_section);
+      const char *name = bfd_section_name (hdr->bfd_section);
 
       /* .sbss is not handled specially here because the GNU/Linux
 	 prelinker can convert .sbss from NOBITS to PROGBITS and
@@ -7514,10 +7514,9 @@ _bfd_mips_elf_section_from_shdr (bfd *ab
 
   if (flags)
     {
-      if (! bfd_set_section_flags (abfd, hdr->bfd_section,
-				   (bfd_get_section_flags (abfd,
-							   hdr->bfd_section)
-				    | flags)))
+      if (!bfd_set_section_flags (hdr->bfd_section,
+				  (bfd_section_flags (hdr->bfd_section)
+				   | flags)))
 	return FALSE;
     }
 
@@ -7624,7 +7623,7 @@ _bfd_mips_elf_section_from_shdr (bfd *ab
 bfd_boolean
 _bfd_mips_elf_fake_sections (bfd *abfd, Elf_Internal_Shdr *hdr, asection *sec)
 {
-  const char *name = bfd_get_section_name (abfd, sec);
+  const char *name = bfd_section_name (sec);
 
   if (strcmp (name, ".liblist") == 0)
     {
@@ -7764,12 +7763,12 @@ bfd_boolean
 _bfd_mips_elf_section_from_bfd_section (bfd *abfd ATTRIBUTE_UNUSED,
 					asection *sec, int *retval)
 {
-  if (strcmp (bfd_get_section_name (abfd, sec), ".scommon") == 0)
+  if (strcmp (bfd_section_name (sec), ".scommon") == 0)
     {
       *retval = SHN_MIPS_SCOMMON;
       return TRUE;
     }
-  if (strcmp (bfd_get_section_name (abfd, sec), ".acommon") == 0)
+  if (strcmp (bfd_section_name (sec), ".acommon") == 0)
     {
       *retval = SHN_MIPS_ACOMMON;
       return TRUE;
@@ -7996,7 +7995,7 @@ _bfd_mips_elf_create_dynamic_sections (b
       s = bfd_get_linker_section (abfd, ".dynamic");
       if (s != NULL)
 	{
-	  if (! bfd_set_section_flags (abfd, s, flags))
+	  if (!bfd_set_section_flags (s, flags))
 	    return FALSE;
 	}
     }
@@ -8013,8 +8012,7 @@ _bfd_mips_elf_create_dynamic_sections (b
 					  MIPS_ELF_STUB_SECTION_NAME (abfd),
 					  flags | SEC_CODE);
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s,
-				      MIPS_ELF_LOG_FILE_ALIGN (abfd)))
+      || !bfd_set_section_alignment (s, MIPS_ELF_LOG_FILE_ALIGN (abfd)))
     return FALSE;
   htab->sstubs = s;
 
@@ -8025,8 +8023,7 @@ _bfd_mips_elf_create_dynamic_sections (b
       s = bfd_make_section_anyway_with_flags (abfd, ".rld_map",
 					      flags &~ (flagword) SEC_READONLY);
       if (s == NULL
-	  || ! bfd_set_section_alignment (abfd, s,
-					  MIPS_ELF_LOG_FILE_ALIGN (abfd)))
+	  || !bfd_set_section_alignment (s, MIPS_ELF_LOG_FILE_ALIGN (abfd)))
 	return FALSE;
     }
 
@@ -8069,24 +8066,24 @@ _bfd_mips_elf_create_dynamic_sections (b
       /* Change alignments of some sections.  */
       s = bfd_get_linker_section (abfd, ".hash");
       if (s != NULL)
-	(void) bfd_set_section_alignment (abfd, s, MIPS_ELF_LOG_FILE_ALIGN (abfd));
+	bfd_set_section_alignment (s, MIPS_ELF_LOG_FILE_ALIGN (abfd));
 
       s = bfd_get_linker_section (abfd, ".dynsym");
       if (s != NULL)
-	(void) bfd_set_section_alignment (abfd, s, MIPS_ELF_LOG_FILE_ALIGN (abfd));
+	bfd_set_section_alignment (s, MIPS_ELF_LOG_FILE_ALIGN (abfd));
 
       s = bfd_get_linker_section (abfd, ".dynstr");
       if (s != NULL)
-	(void) bfd_set_section_alignment (abfd, s, MIPS_ELF_LOG_FILE_ALIGN (abfd));
+	bfd_set_section_alignment (s, MIPS_ELF_LOG_FILE_ALIGN (abfd));
 
       /* ??? */
       s = bfd_get_section_by_name (abfd, ".reginfo");
       if (s != NULL)
-	(void) bfd_set_section_alignment (abfd, s, MIPS_ELF_LOG_FILE_ALIGN (abfd));
+	bfd_set_section_alignment (s, MIPS_ELF_LOG_FILE_ALIGN (abfd));
 
       s = bfd_get_linker_section (abfd, ".dynamic");
       if (s != NULL)
-	(void) bfd_set_section_alignment (abfd, s, MIPS_ELF_LOG_FILE_ALIGN (abfd));
+	bfd_set_section_alignment (s, MIPS_ELF_LOG_FILE_ALIGN (abfd));
     }
 
   if (bfd_link_executable (info))
@@ -8378,7 +8375,7 @@ _bfd_mips_elf_check_relocs (bfd *abfd, s
 
   /* Check for the mips16 stub sections.  */
 
-  name = bfd_get_section_name (abfd, sec);
+  name = bfd_section_name (sec);
   if (FN_STUB_P (name))
     {
       unsigned long r_symndx;
@@ -9375,12 +9372,12 @@ _bfd_mips_elf_adjust_dynamic_symbol (str
 	     Encourage better cache usage by aligning.  We do this
 	     lazily to avoid pessimizing traditional objects.  */
 	  if (!htab->is_vxworks
-	      && !bfd_set_section_alignment (dynobj, htab->root.splt, 5))
+	      && !bfd_set_section_alignment (htab->root.splt, 5))
 	    return FALSE;
 
 	  /* Make sure that .got.plt is word-aligned.  We do this lazily
 	     for the same reason as above.  */
-	  if (!bfd_set_section_alignment (dynobj, htab->root.sgotplt,
+	  if (!bfd_set_section_alignment (htab->root.sgotplt,
 					  MIPS_ELF_LOG_FILE_ALIGN (dynobj)))
 	    return FALSE;
 
@@ -9588,7 +9585,7 @@ _bfd_mips_elf_always_size_sections (bfd 
   sect = bfd_get_section_by_name (output_bfd, ".reginfo");
   if (sect != NULL)
     {
-      bfd_set_section_size (output_bfd, sect, sizeof (Elf32_External_RegInfo));
+      bfd_set_section_size (sect, sizeof (Elf32_External_RegInfo));
       sect->flags |= SEC_FIXED_SIZE | SEC_HAS_CONTENTS;
     }
 
@@ -9596,8 +9593,7 @@ _bfd_mips_elf_always_size_sections (bfd 
   sect = bfd_get_section_by_name (output_bfd, ".MIPS.abiflags");
   if (sect != NULL)
     {
-      bfd_set_section_size (output_bfd, sect,
-			    sizeof (Elf_External_ABIFlags_v0));
+      bfd_set_section_size (sect, sizeof (Elf_External_ABIFlags_v0));
       sect->flags |= SEC_FIXED_SIZE | SEC_HAS_CONTENTS;
     }
 
@@ -10030,7 +10026,7 @@ _bfd_mips_elf_size_dynamic_sections (bfd
 
       /* It's OK to base decisions on the section name, because none
 	 of the dynobj section names depend upon the input files.  */
-      name = bfd_get_section_name (dynobj, s);
+      name = bfd_section_name (s);
 
       if ((s->flags & SEC_LINKER_CREATED) == 0)
 	continue;
@@ -10048,8 +10044,7 @@ _bfd_mips_elf_size_dynamic_sections (bfd
 		 assert a DT_TEXTREL entry rather than testing whether
 		 there exists a relocation to a read only section or
 		 not.  */
-	      outname = bfd_get_section_name (output_bfd,
-					      s->output_section);
+	      outname = bfd_section_name (s->output_section);
 	      target = bfd_get_section_by_name (output_bfd, outname + 4);
 	      if ((target != NULL
 		   && (target->flags & SEC_READONLY) != 0
@@ -12445,7 +12440,7 @@ _bfd_mips_final_write_processing (bfd *a
 
 	case SHT_MIPS_GPTAB:
 	  BFD_ASSERT ((*hdrpp)->bfd_section != NULL);
-	  name = bfd_get_section_name (abfd, (*hdrpp)->bfd_section);
+	  name = bfd_section_name ((*hdrpp)->bfd_section);
 	  BFD_ASSERT (name != NULL
 		      && CONST_STRNEQ (name, ".gptab."));
 	  sec = bfd_get_section_by_name (abfd, name + sizeof ".gptab" - 1);
@@ -12455,7 +12450,7 @@ _bfd_mips_final_write_processing (bfd *a
 
 	case SHT_MIPS_CONTENT:
 	  BFD_ASSERT ((*hdrpp)->bfd_section != NULL);
-	  name = bfd_get_section_name (abfd, (*hdrpp)->bfd_section);
+	  name = bfd_section_name ((*hdrpp)->bfd_section);
 	  BFD_ASSERT (name != NULL
 		      && CONST_STRNEQ (name, ".MIPS.content"));
 	  sec = bfd_get_section_by_name (abfd,
@@ -12475,7 +12470,7 @@ _bfd_mips_final_write_processing (bfd *a
 
 	case SHT_MIPS_EVENTS:
 	  BFD_ASSERT ((*hdrpp)->bfd_section != NULL);
-	  name = bfd_get_section_name (abfd, (*hdrpp)->bfd_section);
+	  name = bfd_section_name ((*hdrpp)->bfd_section);
 	  BFD_ASSERT (name != NULL);
 	  if (CONST_STRNEQ (name, ".MIPS.events"))
 	    sec = bfd_get_section_by_name (abfd,
@@ -12861,8 +12856,7 @@ _bfd_mips_elf_gc_mark_extra_sections (st
 
       for (o = sub->sections; o != NULL; o = o->next)
 	if (!o->gc_mark
-	    && MIPS_ELF_ABIFLAGS_SECTION_NAME_P
-		 (bfd_get_section_name (sub, o)))
+	    && MIPS_ELF_ABIFLAGS_SECTION_NAME_P (bfd_section_name (o)))
 	  {
 	    if (!_bfd_elf_gc_mark (info, o, gc_mark_hook))
 	      return FALSE;
@@ -15024,7 +15018,7 @@ _bfd_mips_elf_final_link (bfd *abfd, str
 								   ".rtproc",
 								   flags);
 		  if (rtproc_sec == NULL
-		      || ! bfd_set_section_alignment (abfd, rtproc_sec, 4))
+		      || !bfd_set_section_alignment (rtproc_sec, 4))
 		    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-8.3.50.20190917/bfd/elfxx-mips.h ./bfd/elfxx-mips.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elfxx-mips.h	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elfxx-mips.h	2019-09-24 01:49:09.000000000 +0000
@@ -176,6 +176,9 @@ extern int _bfd_mips_elf_cant_unwind_opc
 extern void _bfd_mips_elf_record_xhash_symbol
   (struct elf_link_hash_entry *h, bfd_vma xlat_loc);
 
+/* MIPS ABI flags data access.  For the disassembler.  */
+extern struct elf_internal_abiflags_v0 *bfd_mips_elf_get_abiflags (bfd *);
+
 static inline bfd_boolean
 gprel16_reloc_p (unsigned int r_type)
 {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elfxx-sparc.c ./bfd/elfxx-sparc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elfxx-sparc.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elfxx-sparc.c	2019-09-24 01:49:09.000000000 +0000
@@ -1263,15 +1263,14 @@ create_ifunc_sections (bfd *abfd, struct
 
   s = bfd_make_section_with_flags (abfd, ".iplt", pltflags);
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, bed->plt_alignment))
+      || !bfd_set_section_alignment (s, bed->plt_alignment))
     return FALSE;
   htab->iplt = s;
 
   s = bfd_make_section_with_flags (abfd, ".rela.iplt",
 				   flags | SEC_READONLY);
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s,
-				      bed->s->log_file_align))
+      || !bfd_set_section_alignment (s, bed->s->log_file_align))
     return FALSE;
   htab->irelplt = s;
 
@@ -4164,8 +4163,7 @@ do_relocation:
 		     || r_type == R_SPARC_UA32
 		     || r_type == R_SPARC_DISP32)
 		    && (((input_section->flags & SEC_DEBUGGING) != 0
-			 && strcmp (bfd_section_name (input_bfd,
-						      input_section),
+			 && strcmp (bfd_section_name (input_section),
 				    ".stab") == 0)
 			|| _bfd_elf_section_offset (output_bfd, info,
 						    input_section,
@@ -4194,7 +4192,7 @@ do_relocation:
 		    if (name == NULL)
 		      return FALSE;
 		    if (*name == '\0')
-		      name = bfd_section_name (input_bfd, sec);
+		      name = bfd_section_name (sec);
 		  }
 		(*info->callbacks->reloc_overflow)
 		  (info, (h ? &h->root : NULL), name, howto->name,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elfxx-tilegx.c ./bfd/elfxx-tilegx.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elfxx-tilegx.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elfxx-tilegx.c	2019-09-24 01:49:09.000000000 +0000
@@ -1438,13 +1438,13 @@ tilegx_elf_create_got_section (bfd *abfd
 					  (bed->dynamic_sec_flags
 					   | SEC_READONLY));
   if (s == NULL
-      || ! bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
+      || !bfd_set_section_alignment (s, bed->s->log_file_align))
     return FALSE;
   htab->srelgot = s;
 
   s = s_got = bfd_make_section_anyway_with_flags (abfd, ".got", flags);
   if (s == NULL
-      || !bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
+      || !bfd_set_section_alignment (s, bed->s->log_file_align))
     return FALSE;
   htab->sgot = s;
 
@@ -1455,8 +1455,7 @@ tilegx_elf_create_got_section (bfd *abfd
     {
       s = bfd_make_section_anyway_with_flags (abfd, ".got.plt", flags);
       if (s == NULL
-	  || !bfd_set_section_alignment (abfd, s,
-					 bed->s->log_file_align))
+	  || !bfd_set_section_alignment (s, bed->s->log_file_align))
 	return FALSE;
       htab->sgotplt = s;
 
@@ -3032,7 +3031,7 @@ tilegx_elf_relocate_section (bfd *output
 	  name = (bfd_elf_string_from_elf_section
 		  (input_bfd, symtab_hdr->sh_link, sym->st_name));
 	  if (name == NULL || *name == '\0')
-	    name = bfd_section_name (input_bfd, sec);
+	    name = bfd_section_name (sec);
 	}
 
       switch (r_type)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elfxx-x86.c ./bfd/elfxx-x86.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/elfxx-x86.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/elfxx-x86.c	2019-09-24 01:49:09.000000000 +0000
@@ -1238,7 +1238,7 @@ _bfd_x86_elf_size_dynamic_sections (bfd 
 	{
 	  /* Strip these too.  */
 	}
-      else if (htab->is_reloc_section (bfd_get_section_name (dynobj, s)))
+      else if (htab->is_reloc_section (bfd_section_name (s)))
 	{
 	  if (s->size != 0
 	      && s != htab->elf.srelplt
@@ -1280,8 +1280,7 @@ _bfd_x86_elf_size_dynamic_sections (bfd 
 	 it is empty.  Update its section alignment now since it
 	 is non-empty.  */
       if (s == htab->elf.iplt)
-	bfd_set_section_alignment (s->owner, s,
-				   htab->plt.iplt_alignment);
+	bfd_set_section_alignment (s, htab->plt.iplt_alignment);
 
       /* Allocate memory for the section contents.  We use bfd_zalloc
 	 here in case unused entries are not reclaimed before the
@@ -2625,7 +2624,7 @@ _bfd_x86_elf_link_setup_gnu_properties
 	  if (sec == NULL)
 	    info->callbacks->einfo (_("%F%P: failed to create GNU property section\n"));
 
-	  if (!bfd_set_section_alignment (ebfd, sec, class_align))
+	  if (!bfd_set_section_alignment (sec, class_align))
 	    {
 error_alignment:
 	      info->callbacks->einfo (_("%F%pA: failed to align section\n"),
@@ -2839,11 +2838,11 @@ error_alignment:
      instead of in create_dynamic_sections so that they are always
      properly aligned even if create_dynamic_sections isn't called.  */
   sec = htab->elf.sgot;
-  if (!bfd_set_section_alignment (dynobj, sec, got_align))
+  if (!bfd_set_section_alignment (sec, got_align))
     goto error_alignment;
 
   sec = htab->elf.sgotplt;
-  if (!bfd_set_section_alignment (dynobj, sec, got_align))
+  if (!bfd_set_section_alignment (sec, got_align))
     goto error_alignment;
 
   /* Create the ifunc sections here so that check_relocs can be
@@ -2881,8 +2880,7 @@ error_alignment:
 	    = bfd_log2 (htab->non_lazy_plt->plt_entry_size);
 
 	  sec = pltsec;
-	  if (!bfd_set_section_alignment (sec->owner, sec,
-					  plt_alignment))
+	  if (!bfd_set_section_alignment (sec, plt_alignment))
 	    goto error_alignment;
 
 	  /* Create the GOT procedure linkage table.  */
@@ -2892,8 +2890,7 @@ error_alignment:
 	  if (sec == NULL)
 	    info->callbacks->einfo (_("%F%P: failed to create GOT PLT section\n"));
 
-	  if (!bfd_set_section_alignment (dynobj, sec,
-					  non_lazy_plt_alignment))
+	  if (!bfd_set_section_alignment (sec, non_lazy_plt_alignment))
 	    goto error_alignment;
 
 	  htab->plt_got = sec;
@@ -2913,8 +2910,7 @@ error_alignment:
 		  if (sec == NULL)
 		    info->callbacks->einfo (_("%F%P: failed to create IBT-enabled PLT section\n"));
 
-		  if (!bfd_set_section_alignment (dynobj, sec,
-						  plt_alignment))
+		  if (!bfd_set_section_alignment (sec, plt_alignment))
 		    goto error_alignment;
 		}
 	      else if (htab->params->bndplt && ABI_64_P (dynobj))
@@ -2928,8 +2924,7 @@ error_alignment:
 		  if (sec == NULL)
 		    info->callbacks->einfo (_("%F%P: failed to create BND PLT section\n"));
 
-		  if (!bfd_set_section_alignment (dynobj, sec,
-						  non_lazy_plt_alignment))
+		  if (!bfd_set_section_alignment (sec, non_lazy_plt_alignment))
 		    goto error_alignment;
 		}
 
@@ -2949,7 +2944,7 @@ error_alignment:
 	  if (sec == NULL)
 	    info->callbacks->einfo (_("%F%P: failed to create PLT .eh_frame section\n"));
 
-	  if (!bfd_set_section_alignment (dynobj, sec, class_align))
+	  if (!bfd_set_section_alignment (sec, class_align))
 	    goto error_alignment;
 
 	  htab->plt_eh_frame = sec;
@@ -2962,7 +2957,7 @@ error_alignment:
 	      if (sec == NULL)
 		info->callbacks->einfo (_("%F%P: failed to create GOT PLT .eh_frame section\n"));
 
-	      if (!bfd_set_section_alignment (dynobj, sec, class_align))
+	      if (!bfd_set_section_alignment (sec, class_align))
 		goto error_alignment;
 
 	      htab->plt_got_eh_frame = sec;
@@ -2976,7 +2971,7 @@ error_alignment:
 	      if (sec == NULL)
 		info->callbacks->einfo (_("%F%P: failed to create the second PLT .eh_frame section\n"));
 
-	      if (!bfd_set_section_alignment (dynobj, sec, class_align))
+	      if (!bfd_set_section_alignment (sec, class_align))
 		goto error_alignment;
 
 	      htab->plt_second_eh_frame = sec;
@@ -2995,7 +2990,7 @@ error_alignment:
 	 section backwards, resulting in a warning and section lma not
 	 being set properly.  It later leads to a "File truncated"
 	 error.  */
-      if (!bfd_set_section_alignment (sec->owner, sec, 0))
+      if (!bfd_set_section_alignment (sec, 0))
 	goto error_alignment;
 
       htab->plt.iplt_alignment = (normal_target
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/i386msdos.c ./bfd/i386msdos.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/i386msdos.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/i386msdos.c	2019-09-24 01:49:09.000000000 +0000
@@ -109,7 +109,7 @@ msdos_object_p (bfd *abfd)
       return NULL;
     }
 
-  bfd_set_section_size (abfd, section, size);
+  bfd_set_section_size (section, size);
   section->alignment_power = 4;
 
   return abfd->xvec;
@@ -135,16 +135,16 @@ msdos_write_object_contents (bfd *abfd)
     {
       if (sec->size == 0)
 	continue;
-      if (bfd_get_section_flags (abfd, sec) & SEC_ALLOC)
+      if (bfd_section_flags (sec) & SEC_ALLOC)
 	{
-	  bfd_vma sec_vma = bfd_get_section_vma (abfd, sec) + sec->size;
+	  bfd_vma sec_vma = bfd_section_vma (sec) + sec->size;
 	  if (sec_vma > high_vma)
 	    high_vma = sec_vma;
 	}
-      if (bfd_get_section_flags (abfd, sec) & SEC_LOAD)
+      if (bfd_section_flags (sec) & SEC_LOAD)
 	{
 	  file_ptr sec_end = (sizeof (hdr)
-			      + bfd_get_section_vma (abfd, sec)
+			      + bfd_section_vma (sec)
 			      + sec->size);
 	  if (sec_end > outfile_size)
 	    outfile_size = sec_end;
@@ -195,9 +195,9 @@ msdos_set_section_contents (bfd *abfd,
   if (count == 0)
     return TRUE;
 
-  section->filepos = EXE_PAGE_SIZE + bfd_get_section_vma (abfd, section);
+  section->filepos = EXE_PAGE_SIZE + bfd_section_vma (section);
 
-  if (bfd_get_section_flags (abfd, section) & SEC_LOAD)
+  if (bfd_section_flags (section) & SEC_LOAD)
     {
       if (bfd_seek (abfd, section->filepos + offset, SEEK_SET) != 0
 	  || bfd_bwrite (location, count, abfd) != count)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/linker.c ./bfd/linker.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/linker.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/linker.c	2019-09-24 01:49:09.000000000 +0000
@@ -810,14 +810,13 @@ bfd_generic_link_read_symbols (bfd *abfd
       symsize = bfd_get_symtab_upper_bound (abfd);
       if (symsize < 0)
 	return FALSE;
-      bfd_get_outsymbols (abfd) = (struct bfd_symbol **) bfd_alloc (abfd,
-								    symsize);
+      abfd->outsymbols = bfd_alloc (abfd, symsize);
       if (bfd_get_outsymbols (abfd) == NULL && symsize != 0)
 	return FALSE;
       symcount = bfd_canonicalize_symtab (abfd, bfd_get_outsymbols (abfd));
       if (symcount < 0)
 	return FALSE;
-      bfd_get_symcount (abfd) = symcount;
+      abfd->symcount = symcount;
     }
 
   return TRUE;
@@ -1164,9 +1163,9 @@ generic_link_add_symbol_list (bfd *abfd,
 		       | BSF_GLOBAL
 		       | BSF_CONSTRUCTOR
 		       | BSF_WEAK)) != 0
-	  || bfd_is_und_section (bfd_get_section (p))
-	  || bfd_is_com_section (bfd_get_section (p))
-	  || bfd_is_ind_section (bfd_get_section (p)))
+	  || bfd_is_und_section (bfd_asymbol_section (p))
+	  || bfd_is_com_section (bfd_asymbol_section (p))
+	  || bfd_is_ind_section (bfd_asymbol_section (p)))
 	{
 	  const char *name;
 	  const char *string;
@@ -1192,7 +1191,7 @@ generic_link_add_symbol_list (bfd *abfd,
 
 	  bh = NULL;
 	  if (! (_bfd_generic_link_add_one_symbol
-		 (info, abfd, name, p->flags, bfd_get_section (p),
+		 (info, abfd, name, p->flags, bfd_asymbol_section (p),
 		  p->value, string, FALSE, FALSE, &bh)))
 	    return FALSE;
 	  h = (struct generic_link_hash_entry *) bh;
@@ -1219,15 +1218,15 @@ generic_link_add_symbol_list (bfd *abfd,
 	  if (info->output_bfd->xvec == abfd->xvec)
 	    {
 	      if (h->sym == NULL
-		  || (! bfd_is_und_section (bfd_get_section (p))
-		      && (! bfd_is_com_section (bfd_get_section (p))
-			  || bfd_is_und_section (bfd_get_section (h->sym)))))
+		  || (! bfd_is_und_section (bfd_asymbol_section (p))
+		      && (! bfd_is_com_section (bfd_asymbol_section (p))
+			  || bfd_is_und_section (bfd_asymbol_section (h->sym)))))
 		{
 		  h->sym = p;
 		  /* BSF_OLD_COMMON is a hack to support COFF reloc
 		     reading, and it should go away when the COFF
 		     linker is switched to the new version.  */
-		  if (bfd_is_com_section (bfd_get_section (p)))
+		  if (bfd_is_com_section (bfd_asymbol_section (p)))
 		    p->flags |= BSF_OLD_COMMON;
 		}
 	    }
@@ -1824,8 +1823,8 @@ _bfd_generic_final_link (bfd *abfd, stru
   size_t outsymalloc;
   struct generic_write_global_symbol_info wginfo;
 
-  bfd_get_outsymbols (abfd) = NULL;
-  bfd_get_symcount (abfd) = 0;
+  abfd->outsymbols = NULL;
+  abfd->symcount = 0;
   outsymalloc = 0;
 
   /* Mark all sections which will be included in the output file.  */
@@ -1958,12 +1957,12 @@ generic_add_output_symbol (bfd *output_b
       newsyms = (asymbol **) bfd_realloc (bfd_get_outsymbols (output_bfd), amt);
       if (newsyms == NULL)
 	return FALSE;
-      bfd_get_outsymbols (output_bfd) = newsyms;
+      output_bfd->outsymbols = newsyms;
     }
 
-  bfd_get_outsymbols (output_bfd) [bfd_get_symcount (output_bfd)] = sym;
+  output_bfd->outsymbols[output_bfd->symcount] = sym;
   if (sym != NULL)
-    ++ bfd_get_symcount (output_bfd);
+    ++output_bfd->symcount;
 
   return TRUE;
 }
@@ -2027,9 +2026,9 @@ _bfd_generic_link_output_symbols (bfd *o
 			 | BSF_GLOBAL
 			 | BSF_CONSTRUCTOR
 			 | BSF_WEAK)) != 0
-	  || bfd_is_und_section (bfd_get_section (sym))
-	  || bfd_is_com_section (bfd_get_section (sym))
-	  || bfd_is_ind_section (bfd_get_section (sym)))
+	  || bfd_is_und_section (bfd_asymbol_section (sym))
+	  || bfd_is_com_section (bfd_asymbol_section (sym))
+	  || bfd_is_ind_section (bfd_asymbol_section (sym)))
 	{
 	  if (sym->udata.p != NULL)
 	    h = (struct generic_link_hash_entry *) sym->udata.p;
@@ -2045,7 +2044,7 @@ _bfd_generic_link_output_symbols (bfd *o
 		 the relocs in the output format being used.  */
 	      h = NULL;
 	    }
-	  else if (bfd_is_und_section (bfd_get_section (sym)))
+	  else if (bfd_is_und_section (bfd_asymbol_section (sym)))
 	    h = ((struct generic_link_hash_entry *)
 		 bfd_wrapped_link_hash_lookup (output_bfd, info,
 					       bfd_asymbol_name (sym),
@@ -2397,7 +2396,7 @@ _bfd_generic_reloc_link_order (bfd *abfd
 	  (*info->callbacks->reloc_overflow)
 	    (info, NULL,
 	     (link_order->type == bfd_section_reloc_link_order
-	      ? bfd_section_name (abfd, link_order->u.reloc.p->u.section)
+	      ? bfd_section_name (link_order->u.reloc.p->u.section)
 	      : link_order->u.reloc.p->u.name),
 	     r->howto->name, link_order->u.reloc.p->addend,
 	     NULL, NULL, 0);
@@ -2602,15 +2601,15 @@ default_indirect_link_order (bfd *output
 			     | BSF_GLOBAL
 			     | BSF_CONSTRUCTOR
 			     | BSF_WEAK)) != 0
-	      || bfd_is_und_section (bfd_get_section (sym))
-	      || bfd_is_com_section (bfd_get_section (sym))
-	      || bfd_is_ind_section (bfd_get_section (sym)))
+	      || bfd_is_und_section (bfd_asymbol_section (sym))
+	      || bfd_is_com_section (bfd_asymbol_section (sym))
+	      || bfd_is_ind_section (bfd_asymbol_section (sym)))
 	    {
 	      /* sym->udata may have been set by
 		 generic_link_add_symbol_list.  */
 	      if (sym->udata.p != NULL)
 		h = (struct bfd_link_hash_entry *) sym->udata.p;
-	      else if (bfd_is_und_section (bfd_get_section (sym)))
+	      else if (bfd_is_und_section (bfd_asymbol_section (sym)))
 		h = bfd_wrapped_link_hash_lookup (output_bfd, info,
 						  bfd_asymbol_name (sym),
 						  FALSE, FALSE, TRUE);
@@ -2943,7 +2942,7 @@ _bfd_generic_section_already_linked (bfd
      into a single large link once section, which defeats the purpose
      of having link once sections in the first place.  */
 
-  name = bfd_get_section_name (abfd, sec);
+  name = bfd_section_name (sec);
 
   already_linked_list = bfd_section_already_linked_table_lookup (name);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/mach-o.c ./bfd/mach-o.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/mach-o.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/mach-o.c	2019-09-24 01:49:09.000000000 +0000
@@ -437,7 +437,7 @@ bfd_mach_o_convert_section_name_to_mach_
 					   bfd_mach_o_section *section)
 {
   const mach_o_section_name_xlat *xlat;
-  const char *name = bfd_get_section_name (abfd, sect);
+  const char *name = bfd_section_name (sect);
   const char *segname;
   const char *dot;
   unsigned int len;
@@ -2583,13 +2583,13 @@ bfd_mach_o_mangle_sections (bfd *abfd, b
   target_index = 0;
   for (sec = abfd->sections; sec; sec = sec->next)
     {
-      unsigned bfd_align = bfd_get_section_alignment (abfd, sec);
+      unsigned bfd_align = bfd_section_alignment (sec);
       bfd_mach_o_section *msect = bfd_mach_o_get_mach_o_section (sec);
 
       mdata->sections[target_index] = msect;
 
-      msect->addr = bfd_get_section_vma (abfd, sec);
-      msect->size = bfd_get_section_size (sec);
+      msect->addr = bfd_section_vma (sec);
+      msect->size = bfd_section_size (sec);
 
       /* Use the largest alignment set, in case it was bumped after the
 	 section was created.  */
@@ -2808,7 +2808,7 @@ bfd_mach_o_set_section_flags_from_bfd (b
   bfd_mach_o_section *s = bfd_mach_o_get_mach_o_section (sec);
 
   /* Create default flags.  */
-  bfd_flags = bfd_get_section_flags (abfd, sec);
+  bfd_flags = bfd_section_flags (sec);
   if ((bfd_flags & SEC_CODE) == SEC_CODE)
     s->flags = BFD_MACH_O_S_ATTR_PURE_INSTRUCTIONS
       | BFD_MACH_O_S_ATTR_SOME_INSTRUCTIONS
@@ -2983,7 +2983,7 @@ bfd_mach_o_build_exec_seg_command (bfd *
   for (s = seg->sect_head; s != NULL; s = s->next)
     {
       asection *sec = s->bfdsection;
-      flagword flags = bfd_get_section_flags (abfd, sec);
+      flagword flags = bfd_section_flags (sec);
 
       /* Adjust segment size.  */
       seg->vmsize = FILE_ALIGN (seg->vmsize, s->align);
@@ -3502,7 +3502,7 @@ bfd_boolean
 bfd_mach_o_new_section_hook (bfd *abfd, asection *sec)
 {
   bfd_mach_o_section *s;
-  unsigned bfdalign = bfd_get_section_alignment (abfd, sec);
+  unsigned bfdalign = bfd_section_alignment (sec);
 
   s = bfd_mach_o_get_mach_o_section (sec);
   if (s == NULL)
@@ -3526,10 +3526,10 @@ bfd_mach_o_new_section_hook (bfd *abfd, 
 	  s->flags = xlat->macho_sectype | xlat->macho_secattr;
 	  s->align = xlat->sectalign > bfdalign ? xlat->sectalign
 						: bfdalign;
-	  (void) bfd_set_section_alignment (abfd, sec, s->align);
-	  bfd_flags = bfd_get_section_flags (abfd, sec);
+	  bfd_set_section_alignment (sec, s->align);
+	  bfd_flags = bfd_section_flags (sec);
 	  if (bfd_flags == SEC_NO_FLAGS)
-	    bfd_set_section_flags (abfd, sec, xlat->bfd_flags);
+	    bfd_set_section_flags (sec, xlat->bfd_flags);
 	}
       else
 	/* Create default flags.  */
@@ -3540,13 +3540,12 @@ bfd_mach_o_new_section_hook (bfd *abfd, 
 }
 
 static void
-bfd_mach_o_init_section_from_mach_o (bfd *abfd, asection *sec,
-				     unsigned long prot)
+bfd_mach_o_init_section_from_mach_o (asection *sec, unsigned long prot)
 {
   flagword flags;
   bfd_mach_o_section *section;
 
-  flags = bfd_get_section_flags (abfd, sec);
+  flags = bfd_section_flags (sec);
   section = bfd_mach_o_get_mach_o_section (sec);
 
   /* TODO: see if we should use the xlat system for doing this by
@@ -3584,7 +3583,7 @@ bfd_mach_o_init_section_from_mach_o (bfd
   if (section->nreloc != 0)
     flags |= SEC_RELOC;
 
-  bfd_set_section_flags (abfd, sec, flags);
+  bfd_set_section_flags (sec, flags);
 
   sec->vma = section->addr;
   sec->lma = section->addr;
@@ -3651,7 +3650,7 @@ bfd_mach_o_read_section_32 (bfd *abfd, u
   section->reserved2 = bfd_h_get_32 (abfd, raw.reserved2);
   section->reserved3 = 0;
 
-  bfd_mach_o_init_section_from_mach_o (abfd, sec, prot);
+  bfd_mach_o_init_section_from_mach_o (sec, prot);
 
   return sec;
 }
@@ -3694,7 +3693,7 @@ bfd_mach_o_read_section_64 (bfd *abfd, u
   section->reserved2 = bfd_h_get_32 (abfd, raw.reserved2);
   section->reserved3 = bfd_h_get_32 (abfd, raw.reserved3);
 
-  bfd_mach_o_init_section_from_mach_o (abfd, sec, prot);
+  bfd_mach_o_init_section_from_mach_o (sec, prot);
 
   return sec;
 }
@@ -5417,7 +5416,7 @@ bfd_mach_o_fat_archive_p (bfd *abfd)
    ARCH_TYPE/ARCH_SUBTYPE and corresponding entry in header is ENTRY.
    Set arelt_data and origin fields too.  */
 
-static void
+static bfd_boolean
 bfd_mach_o_fat_member_init (bfd *abfd,
 			    enum bfd_architecture arch_type,
 			    unsigned long arch_subtype,
@@ -5426,27 +5425,35 @@ bfd_mach_o_fat_member_init (bfd *abfd,
   struct areltdata *areltdata;
   /* Create the member filename. Use ARCH_NAME.  */
   const bfd_arch_info_type *ap = bfd_lookup_arch (arch_type, arch_subtype);
+  char *filename;
 
   if (ap)
     {
       /* Use the architecture name if known.  */
-      abfd->filename = xstrdup (ap->printable_name);
+      filename = bfd_strdup (ap->printable_name);
+      if (filename == NULL)
+	return FALSE;
     }
   else
     {
       /* Forge a uniq id.  */
       const size_t namelen = 2 + 8 + 1 + 2 + 8 + 1;
-      char *name = xmalloc (namelen);
-      snprintf (name, namelen, "0x%lx-0x%lx",
+      filename = bfd_malloc (namelen);
+      if (filename == NULL)
+	return FALSE;
+      snprintf (filename, namelen, "0x%lx-0x%lx",
 		entry->cputype, entry->cpusubtype);
-      abfd->filename = name;
     }
+  bfd_set_filename (abfd, filename);
 
   areltdata = bfd_zmalloc (sizeof (struct areltdata));
+  if (areltdata == NULL)
+    return FALSE;
   areltdata->parsed_size = entry->size;
   abfd->arelt_data = areltdata;
   abfd->iostream = NULL;
   abfd->origin = entry->offset;
+  return TRUE;
 }
 
 bfd *
@@ -5502,7 +5509,11 @@ bfd_mach_o_fat_openr_next_archived_file 
   bfd_mach_o_convert_architecture (entry->cputype, entry->cpusubtype,
 				   &arch_type, &arch_subtype);
 
-  bfd_mach_o_fat_member_init (nbfd, arch_type, arch_subtype, entry);
+  if (!bfd_mach_o_fat_member_init (nbfd, arch_type, arch_subtype, entry))
+    {
+      bfd_close (nbfd);
+      return NULL;
+    }
 
   bfd_set_arch_mach (nbfd, arch_type, arch_subtype);
 
@@ -5574,9 +5585,8 @@ bfd_mach_o_fat_extract (bfd *abfd,
       if (res == NULL)
 	return NULL;
 
-      bfd_mach_o_fat_member_init (res, cpu_type, cpu_subtype, e);
-
-      if (bfd_check_format (res, format))
+      if (bfd_mach_o_fat_member_init (res, cpu_type, cpu_subtype, e)
+	  && bfd_check_format (res, format))
 	{
 	  BFD_ASSERT (bfd_get_arch_info (res) == arch);
 	  return res;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/Makefile.am ./bfd/Makefile.am
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/Makefile.am	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/Makefile.am	2019-09-24 01:49:09.000000000 +0000
@@ -684,19 +684,35 @@ BUILD_CFILES = \
 
 CFILES = $(SOURCE_CFILES) $(BUILD_CFILES)
 
-## This is a list of all .h files which are in the source tree.
+## This is a list of all .h files in the source tree minus those that
+## are processed to produce other .h files
 SOURCE_HFILES = \
-	aout-target.h aoutx.h coffcode.h coffswap.h ecoffswap.h \
-	elf-bfd.h elf-hppa.h elf-linux-core.h elf32-hppa.h \
-	elf64-hppa.h elfcode.h elfcore.h \
+	aout-target.h aoutx.h arc-got.h arc-plt.h \
+	coff-arm.h coff-bfd.h coffcode.h coffswap.h \
+	cpu-aarch64.h cpu-arm.h cpu-h8300.h cpu-m68k.h \
+	ecoff-bfd.h ecoffswap.h \
+	elf32-arm.h elf32-avr.h elf32-bfin.h elf32-cr16.h elf32-csky.h \
+	elf32-dlx.h elf32-hppa.h elf32-m68hc1x.h elf32-m68k.h \
+	elf32-metag.h elf32-nds32.h elf32-nios2.h elf32-ppc.h \
+	elf32-rx.h elf32-score.h elf32-sh-relocs.h elf32-spu.h \
+	elf32-tic6x.h elf32-tilegx.h elf32-tilepro.h elf32-v850.h \
+	elf64-hppa.h elf64-ppc.h elf64-tilegx.h \
+	elf-bfd.h elfcode.h elfcore.h elf-hppa.h elf-linker-x86.h \
+	elf-linux-core.h elf-nacl.h elf-s390.h elf-vxworks.h \
+	elfxx-aarch64.h elfxx-ia64.h elfxx-mips.h elfxx-riscv.h \
+	elfxx-sparc.h elfxx-tilegx.h elfxx-x86.h \
 	genlink.h go32stub.h \
 	libaout.h libbfd.h libcoff.h libecoff.h libhppa.h \
-	libpei.h libxcoff.h mach-o.h \
+	libpei.h libxcoff.h \
+	mach-o.h \
 	netbsd.h ns32k.h \
-	pef.h pef-traceback.h peicode.h som.h version.h \
-	vms.h xsym.h
+	pef.h pef-traceback.h peicode.h plugin.h \
+	som.h sysdep.h \
+	version.h vms.h \
+	wasm-module.h \
+	xcofflink.h xsym.h
 
-## ... and all .h files which are in the build tree.
+## ... and .h files which are in the build tree, minus config.h and bfd.h
 BUILD_HFILES = \
 	bfdver.h elf32-target.h elf64-target.h targmatch.h bfd_stdint.h
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/Makefile.in ./bfd/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/Makefile.in	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/Makefile.in	2019-09-24 01:49:09.000000000 +0000
@@ -438,7 +438,6 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
-runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -1109,15 +1108,30 @@ BUILD_CFILES = \
 
 CFILES = $(SOURCE_CFILES) $(BUILD_CFILES)
 SOURCE_HFILES = \
-	aout-target.h aoutx.h coffcode.h coffswap.h ecoffswap.h \
-	elf-bfd.h elf-hppa.h elf-linux-core.h elf32-hppa.h \
-	elf64-hppa.h elfcode.h elfcore.h \
+	aout-target.h aoutx.h arc-got.h arc-plt.h \
+	coff-arm.h coff-bfd.h coffcode.h coffswap.h \
+	cpu-aarch64.h cpu-arm.h cpu-h8300.h cpu-m68k.h \
+	ecoff-bfd.h ecoffswap.h \
+	elf32-arm.h elf32-avr.h elf32-bfin.h elf32-cr16.h elf32-csky.h \
+	elf32-dlx.h elf32-hppa.h elf32-m68hc1x.h elf32-m68k.h \
+	elf32-metag.h elf32-nds32.h elf32-nios2.h elf32-ppc.h \
+	elf32-rx.h elf32-score.h elf32-sh-relocs.h elf32-spu.h \
+	elf32-tic6x.h elf32-tilegx.h elf32-tilepro.h elf32-v850.h \
+	elf64-hppa.h elf64-ppc.h elf64-tilegx.h \
+	elf-bfd.h elfcode.h elfcore.h elf-hppa.h elf-linker-x86.h \
+	elf-linux-core.h elf-nacl.h elf-s390.h elf-vxworks.h \
+	elfxx-aarch64.h elfxx-ia64.h elfxx-mips.h elfxx-riscv.h \
+	elfxx-sparc.h elfxx-tilegx.h elfxx-x86.h \
 	genlink.h go32stub.h \
 	libaout.h libbfd.h libcoff.h libecoff.h libhppa.h \
-	libpei.h libxcoff.h mach-o.h \
+	libpei.h libxcoff.h \
+	mach-o.h \
 	netbsd.h ns32k.h \
-	pef.h pef-traceback.h peicode.h som.h version.h \
-	vms.h xsym.h
+	pef.h pef-traceback.h peicode.h plugin.h \
+	som.h sysdep.h \
+	version.h vms.h \
+	wasm-module.h \
+	xcofflink.h xsym.h
 
 BUILD_HFILES = \
 	bfdver.h elf32-target.h elf64-target.h targmatch.h bfd_stdint.h
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/mmo.c ./bfd/mmo.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/mmo.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/mmo.c	2019-09-24 01:49:09.000000000 +0000
@@ -596,7 +596,7 @@ static bfd_boolean
 mmo_section_has_contents (bfd *abfd ATTRIBUTE_UNUSED, asection *sec, void *p ATTRIBUTE_UNUSED)
 {
   /* The point is to match what --extract-symbols does (well, negated).  */
-  return bfd_get_section_size (sec) != 0;
+  return bfd_section_size (sec) != 0;
 }
 
 /* Find out whether we should omit symbol consistency checks for this
@@ -642,10 +642,10 @@ static void
 mmo_find_sec_w_addr (bfd *abfd ATTRIBUTE_UNUSED, asection *sec, void *p)
 {
   struct mmo_find_sec_info *infop = (struct mmo_find_sec_info *) p;
-  bfd_vma vma = bfd_get_section_vma (abfd, sec);
+  bfd_vma vma = bfd_section_vma (sec);
 
   /* Ignore sections that aren't loaded.  */
-  if ((bfd_get_section_flags (abfd, sec) & (SEC_LOAD | SEC_ALLOC))
+  if ((bfd_section_flags (sec) & (SEC_LOAD | SEC_ALLOC))
       !=  (SEC_LOAD | SEC_ALLOC))
     return;
 
@@ -657,10 +657,10 @@ static void
 mmo_find_sec_w_addr_grow (bfd *abfd ATTRIBUTE_UNUSED, asection *sec, void *p)
 {
   struct mmo_find_sec_info *infop = (struct mmo_find_sec_info *) p;
-  bfd_vma vma = bfd_get_section_vma (abfd, sec);
+  bfd_vma vma = bfd_section_vma (sec);
 
   /* Ignore sections that aren't loaded.  */
-  if ((bfd_get_section_flags (abfd, sec) & (SEC_LOAD | SEC_ALLOC))
+  if ((bfd_section_flags (sec) & (SEC_LOAD | SEC_ALLOC))
       !=  (SEC_LOAD | SEC_ALLOC))
     return;
 
@@ -700,12 +700,11 @@ mmo_decide_section (bfd *abfd, bfd_vma v
       if (sec == NULL)
 	return NULL;
 
-      if (! sec->user_set_vma && ! bfd_set_section_vma (abfd, sec, vma))
+      if (!sec->user_set_vma && !bfd_set_section_vma (sec, vma))
 	return NULL;
 
-      if (! bfd_set_section_flags (abfd, sec,
-				   bfd_get_section_flags (abfd, sec)
-				   | SEC_CODE | SEC_LOAD | SEC_ALLOC))
+      if (!bfd_set_section_flags (sec, (bfd_section_flags (sec)
+					| SEC_CODE | SEC_LOAD | SEC_ALLOC)))
 	return NULL;
     }
   else if ((vma >> 56) == 0x20)
@@ -715,12 +714,11 @@ mmo_decide_section (bfd *abfd, bfd_vma v
       if (sec == NULL)
 	return NULL;
 
-      if (! sec->user_set_vma && ! bfd_set_section_vma (abfd, sec, vma))
+      if (!sec->user_set_vma && !bfd_set_section_vma (sec, vma))
 	return NULL;
 
-      if (! bfd_set_section_flags (abfd, sec,
-				   bfd_get_section_flags (abfd, sec)
-				   | SEC_LOAD | SEC_ALLOC))
+      if (!bfd_set_section_flags (sec, (bfd_section_flags (sec)
+					| SEC_LOAD | SEC_ALLOC)))
 	return NULL;
     }
 
@@ -733,12 +731,11 @@ mmo_decide_section (bfd *abfd, bfd_vma v
   sprintf (sec_name, ".MMIX.sec.%d", abfd->tdata.mmo_data->sec_no++);
   sec = mmo_make_section (abfd, sec_name);
 
-  if (! sec->user_set_vma && ! bfd_set_section_vma (abfd, sec, vma))
+  if (!sec->user_set_vma && !bfd_set_section_vma (sec, vma))
     return NULL;
 
-  if (! bfd_set_section_flags (abfd, sec,
-			       bfd_get_section_flags (abfd, sec)
-			       | SEC_LOAD | SEC_ALLOC))
+  if (!bfd_set_section_flags (sec, (bfd_section_flags (sec)
+				    | SEC_LOAD | SEC_ALLOC)))
     return NULL;
   return sec;
 }
@@ -1136,14 +1133,13 @@ mmo_get_spec_section (bfd *abfd, int spe
 
   /* Add in the section flags we found to those bfd entered during this
      process and set the contents.  */
-  if (! bfd_set_section_flags (abfd, sec,
-			       bfd_sec_flags_from_mmo_flags (flags)
-			       | bfd_get_section_flags (abfd, sec)
-			       | (section_length != 0 ? SEC_HAS_CONTENTS : 0))
-      || ! bfd_set_section_size (abfd, sec, sec->size + section_length)
+  if (!bfd_set_section_flags (sec,
+			      (bfd_sec_flags_from_mmo_flags (flags)
+			       | bfd_section_flags (sec)
+			       | (section_length != 0 ? SEC_HAS_CONTENTS : 0)))
+      || !bfd_set_section_size (sec, sec->size + section_length)
       /* Set VMA only for the first occurrence.  */
-      || (! sec->user_set_vma
-	  && ! bfd_set_section_vma  (abfd, sec, section_vma)))
+      || (!sec->user_set_vma && !bfd_set_section_vma (sec, section_vma)))
     {
       /* If we get an error for any of the calls above, signal more than
 	 just a format error for the spec section.  */
@@ -1561,9 +1557,8 @@ mmo_get_loc (asection *sec, bfd_vma vma,
 
 	  /* We get here for the first time (at other times too) for this
 	     section.  Say we have contents.  */
-	  if (! bfd_set_section_flags (sec->owner, sec,
-				       bfd_get_section_flags (sec->owner, sec)
-				       | SEC_HAS_CONTENTS))
+	  if (!bfd_set_section_flags (sec, (bfd_section_flags (sec)
+					    | SEC_HAS_CONTENTS)))
 	    return NULL;
 	}
     }
@@ -2070,18 +2065,16 @@ mmo_scan (bfd *abfd)
      section flags must be set then.  */
   sec = bfd_get_section_by_name (abfd, MMO_TEXT_SECTION_NAME);
   if (sec != NULL
-      && (bfd_get_section_flags (abfd, sec) & SEC_HAS_CONTENTS)
-      && ! bfd_set_section_flags (abfd, sec,
-				  bfd_get_section_flags (abfd, sec)
-				  | SEC_ALLOC | SEC_LOAD | SEC_CODE))
+      && (bfd_section_flags (sec) & SEC_HAS_CONTENTS)
+      && !bfd_set_section_flags (sec, (bfd_section_flags (sec)
+				       | SEC_ALLOC | SEC_LOAD | SEC_CODE)))
     error = TRUE;
 
   sec = bfd_get_section_by_name (abfd, MMO_DATA_SECTION_NAME);
   if (sec != NULL
-      && (bfd_get_section_flags (abfd, sec) & SEC_HAS_CONTENTS)
-      && ! bfd_set_section_flags (abfd, sec,
-				  bfd_get_section_flags (abfd, sec)
-				  | SEC_ALLOC | SEC_LOAD))
+      && (bfd_section_flags (sec) & SEC_HAS_CONTENTS)
+      && !bfd_set_section_flags (sec, (bfd_section_flags (sec)
+				       | SEC_ALLOC | SEC_LOAD)))
     error = TRUE;
 
   /* Free whatever resources we took.  */
@@ -2432,7 +2425,7 @@ bfd_sec_flags_from_mmo_flags (flagword f
 static bfd_boolean
 mmo_has_leading_or_trailing_zero_tetra_p (bfd *abfd, asection *sec)
 {
-  bfd_vma secaddr = bfd_get_section_vma (abfd, sec);
+  bfd_vma secaddr = bfd_section_vma (sec);
 
   if (sec->size < 4)
     return FALSE;
@@ -2464,7 +2457,7 @@ mmo_internal_write_section (bfd *abfd, a
 
   if (strcmp (sec->name, MMO_TEXT_SECTION_NAME) == 0)
     {
-      bfd_vma secaddr = bfd_get_section_vma (abfd, sec);
+      bfd_vma secaddr = bfd_section_vma (sec);
 
       /* Because leading and trailing zeros are omitted in output, we need to
 	 specify the section boundaries so they're correct when the file
@@ -2485,7 +2478,7 @@ mmo_internal_write_section (bfd *abfd, a
     }
   else if (strcmp (sec->name, MMO_DATA_SECTION_NAME) == 0)
     {
-      bfd_vma secaddr = bfd_get_section_vma (abfd, sec);
+      bfd_vma secaddr = bfd_section_vma (sec);
 
       /* Same goes as for MMO_TEXT_SECTION_NAME above.  */
       if (sec->size != 0
@@ -2519,7 +2512,7 @@ mmo_internal_write_section (bfd *abfd, a
     }
   /* Ignore sections that are just allocated or empty; we write out
      _contents_ here.  */
-  else if ((bfd_get_section_flags (abfd, sec) & SEC_HAS_CONTENTS) != 0
+  else if ((bfd_section_flags (sec) & SEC_HAS_CONTENTS) != 0
 	   && sec->size != 0)
     {
       if (!mmo_write_section_description (abfd, sec))
@@ -2527,7 +2520,7 @@ mmo_internal_write_section (bfd *abfd, a
 
       /* Writing a LOP_LOC ends the LOP_SPEC data, and makes data actually
 	 loaded.  */
-      if (bfd_get_section_flags (abfd, sec) & SEC_LOAD)
+      if (bfd_section_flags (sec) & SEC_LOAD)
 	return (! abfd->tdata.mmo_data->have_error
 		&& mmo_write_loc_chunk_list (abfd,
 					 mmo_section_data (sec)->head));
@@ -2646,10 +2639,9 @@ EXAMPLE
      for all alien sections; perhaps mmo.em should clear that flag.  Might
      be related to weak references.  */
   mmo_write_tetra (abfd,
-		   mmo_sec_flags_from_bfd_flags
-		   (bfd_get_section_flags (abfd, sec)));
+		   mmo_sec_flags_from_bfd_flags (bfd_section_flags (sec)));
   mmo_write_octa (abfd, sec->size);
-  mmo_write_octa (abfd, bfd_get_section_vma (abfd, sec));
+  mmo_write_octa (abfd, bfd_section_vma (sec));
   return TRUE;
 }
 
@@ -3171,7 +3163,7 @@ mmo_write_section_unless_reg_contents (b
   /* Exclude the convenience register section.  */
   if (strcmp (sec->name, MMIX_REG_SECTION_NAME) == 0)
     {
-      if (bfd_get_section_flags (abfd, sec) & SEC_HAS_CONTENTS)
+      if (bfd_section_flags (sec) & SEC_HAS_CONTENTS)
 	{
 	  /* Make sure it hasn't got contents.  It seems impossible to
 	     make it carry contents, so we don't have a test-case for
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/opncls.c ./bfd/opncls.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/opncls.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/opncls.c	2019-09-24 01:49:09.000000000 +0000
@@ -1218,7 +1218,7 @@ bfd_get_debug_link_info_1 (bfd *abfd, vo
   if (sect == NULL)
     return NULL;
 
-  size = bfd_get_section_size (sect);
+  size = bfd_section_size (sect);
 
   /* PR 22794: Make sure that the section has a reasonable size.  */
   if (size < 8 || size >= bfd_get_size (abfd))
@@ -1308,7 +1308,7 @@ bfd_get_alt_debug_link_info (bfd * abfd,
   if (sect == NULL)
     return NULL;
 
-  size = bfd_get_section_size (sect);
+  size = bfd_section_size (sect);
   if (size < 8 || size >= bfd_get_size (abfd))
     return NULL;
 
@@ -1322,7 +1322,7 @@ bfd_get_alt_debug_link_info (bfd * abfd,
   /* BuildID value is stored after the filename.  */
   name = (char *) contents;
   buildid_offset = strnlen (name, size) + 1;
-  if (buildid_offset >= bfd_get_section_size (sect))
+  if (buildid_offset >= bfd_section_size (sect))
     return NULL;
 
   *buildid_len = size - buildid_offset;
@@ -1727,14 +1727,14 @@ bfd_create_gnu_debuglink_section (bfd *a
   debuglink_size &= ~3;
   debuglink_size += 4;
 
-  if (! bfd_set_section_size (abfd, sect, debuglink_size))
+  if (!bfd_set_section_size (sect, debuglink_size))
     /* XXX Should we delete the section from the bfd ?  */
     return NULL;
 
   /* PR 21193: Ensure that the section has 4-byte alignment for the CRC.
      Note - despite the name of the function being called, we are
      setting an alignment power, not a byte alignment value.  */
-  bfd_set_section_alignment (abfd, sect, 2);
+  bfd_set_section_alignment (sect, 2);
 
   return sect;
 }
@@ -1872,7 +1872,7 @@ get_build_id (bfd *abfd)
       return NULL;
     }
 
-  size = bfd_get_section_size (sect);
+  size = bfd_section_size (sect);
   /* FIXME: Should we support smaller build-id notes ?  */
   if (size < 0x24)
     {
@@ -1890,7 +1890,7 @@ get_build_id (bfd *abfd)
   /* FIXME: Paranoia - allow for compressed build-id sections.
      Maybe we should complain if this size is different from
      the one obtained above...  */
-  size = bfd_get_section_size (sect);
+  size = bfd_section_size (sect);
   if (size < sizeof (Elf_External_Note))
     {
       bfd_set_error (bfd_error_invalid_operation);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/pdp11.c ./bfd/pdp11.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/pdp11.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/pdp11.c	2019-09-24 01:49:09.000000000 +0000
@@ -505,10 +505,10 @@ NAME (aout, some_aout_object_p) (bfd *ab
       abort ();
     }
 
-  bfd_get_start_address (abfd) = execp->a_entry;
+  abfd->start_address = execp->a_entry;
 
   obj_aout_symbols (abfd) = NULL;
-  bfd_get_symcount (abfd) = execp->a_syms / sizeof (struct external_nlist);
+  abfd->symcount = execp->a_syms / sizeof (struct external_nlist);
 
   /* The default relocation entry size is that of traditional V7 Unix.  */
   obj_reloc_entry_size (abfd) = RELOC_SIZE;
@@ -1352,7 +1352,7 @@ translate_to_native_sym_flags (bfd *abfd
      to another.  */
   sym_pointer->e_type[0] &= ~N_TYPE;
 
-  sec = bfd_get_section (cache_ptr);
+  sec = bfd_asymbol_section (cache_ptr);
   off = 0;
 
   if (sec == NULL)
@@ -1512,7 +1512,7 @@ NAME (aout, slurp_symbol_table) (bfd *ab
       return FALSE;
     }
 
-  bfd_get_symcount (abfd) = obj_aout_external_sym_count (abfd);
+  abfd->symcount = obj_aout_external_sym_count (abfd);
 
   obj_aout_symbols (abfd) = cached;
 
@@ -2802,17 +2802,17 @@ aout_link_add_symbols (bfd *abfd, struct
 	  break;
 	case N_TEXT | N_EXT:
 	  section = obj_textsec (abfd);
-	  value -= bfd_get_section_vma (abfd, section);
+	  value -= bfd_section_vma (section);
 	  break;
 	case N_DATA | N_EXT:
 	  /* Treat N_SETV symbols as N_DATA symbol; see comment in
 	     translate_from_native_sym_flags.  */
 	  section = obj_datasec (abfd);
-	  value -= bfd_get_section_vma (abfd, section);
+	  value -= bfd_section_vma (section);
 	  break;
 	case N_BSS | N_EXT:
 	  section = obj_bsssec (abfd);
-	  value -= bfd_get_section_vma (abfd, section);
+	  value -= bfd_section_vma (section);
 	  break;
 	}
 
@@ -3151,8 +3151,7 @@ aout_link_reloc_link_order (struct aout_
 	  (*flaginfo->info->callbacks->reloc_overflow)
 	    (flaginfo->info, NULL,
 	     (p->type == bfd_section_reloc_link_order
-	      ? bfd_section_name (flaginfo->output_bfd,
-				  pr->u.section)
+	      ? bfd_section_name (pr->u.section)
 	      : pr->u.name),
 	     howto->name, pr->addend, NULL,
 	     (asection *) NULL, (bfd_vma) 0);
@@ -3477,7 +3476,7 @@ pdp11_aout_link_input_section (struct ao
 		    asection *s;
 
 		    s = aout_reloc_type_to_section (input_bfd, r_type);
-		    name = bfd_section_name (input_bfd, s);
+		    name = bfd_section_name (s);
 		  }
 		(*flaginfo->info->callbacks->reloc_overflow)
 		  (flaginfo->info, (h ? &h->root : NULL), name, howto->name,
@@ -3997,8 +3996,7 @@ aout_link_write_symbols (struct aout_fin
 	return FALSE;
       PUT_WORD (output_bfd, strtab_index, outsym->e_strx);
       PUT_WORD (output_bfd,
-		(bfd_get_section_vma (output_bfd,
-				      obj_textsec (input_bfd)->output_section)
+		(bfd_section_vma (obj_textsec (input_bfd)->output_section)
 		 + obj_textsec (input_bfd)->output_offset),
 		outsym->e_value);
       ++obj_aout_external_sym_count (output_bfd);
@@ -4206,7 +4204,7 @@ aout_link_write_symbols (struct aout_fin
 		  BFD_ASSERT (bfd_is_abs_section (output_section)
 			      || output_section->owner == output_bfd);
 		  val = (hresolve->root.u.def.value
-			 + bfd_get_section_vma (output_bfd, output_section)
+			 + bfd_section_vma (output_section)
 			 + input_section->output_offset);
 
 		  /* Get the correct type based on the section.  If
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/pe-arm.c ./bfd/pe-arm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/pe-arm.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/pe-arm.c	2019-09-24 01:49:09.000000000 +0000
@@ -18,18 +18,6 @@
    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
    MA 02110-1301, USA.  */
 
-
-/* Do this before including bfd.h, so we prototype the right functions.  */
-
-#ifndef bfd_arm_allocate_interworking_sections
-#define bfd_arm_allocate_interworking_sections \
-  bfd_armpe_allocate_interworking_sections
-#define bfd_arm_get_bfd_for_interworking \
-  bfd_armpe_get_bfd_for_interworking
-#define bfd_arm_process_before_allocation \
-  bfd_armpe_process_before_allocation
-#endif
-
 #include "sysdep.h"
 #include "bfd.h"
 
@@ -64,4 +52,13 @@
 { COFF_SECTION_NAME_PARTIAL_MATCH (".gnu.linkonce.wi."), \
   COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 0 }
 
+#ifndef bfd_arm_allocate_interworking_sections
+#define bfd_arm_allocate_interworking_sections \
+  bfd_armpe_allocate_interworking_sections
+#define bfd_arm_get_bfd_for_interworking \
+  bfd_armpe_get_bfd_for_interworking
+#define bfd_arm_process_before_allocation \
+  bfd_armpe_process_before_allocation
+#endif
+
 #include "coff-arm.c"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/pe-arm-wince.c ./bfd/pe-arm-wince.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/pe-arm-wince.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/pe-arm-wince.c	2019-09-24 01:49:09.000000000 +0000
@@ -18,6 +18,9 @@
    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
    MA 02110-1301, USA.  */
 
+#include "sysdep.h"
+#include "bfd.h"
+
 #define TARGET_UNDERSCORE    0
 #define USER_LABEL_PREFIX    ""
 
@@ -26,6 +29,11 @@
 #define TARGET_BIG_SYM       arm_pe_wince_be_vec
 #define TARGET_BIG_NAME      "pe-arm-wince-big"
 
+#define LOCAL_LABEL_PREFIX "."
+
+#undef  bfd_pe_print_pdata
+#define	bfd_pe_print_pdata   _bfd_pe_print_ce_compressed_pdata
+
 #define bfd_arm_allocate_interworking_sections \
   bfd_arm_wince_pe_allocate_interworking_sections
 #define bfd_arm_get_bfd_for_interworking \
@@ -33,13 +41,4 @@
 #define bfd_arm_process_before_allocation \
   bfd_arm_wince_pe_process_before_allocation
 
-#define LOCAL_LABEL_PREFIX "."
-
-#include "sysdep.h"
-#include "bfd.h"
-
-#undef  bfd_pe_print_pdata
-#define	bfd_pe_print_pdata   _bfd_pe_print_ce_compressed_pdata
-
 #include "pe-arm.c"
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/peicode.h ./bfd/peicode.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/peicode.h	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/peicode.h	2019-09-24 01:49:09.000000000 +0000
@@ -608,16 +608,16 @@ pe_ILF_make_a_section (pe_ILF_vars * var
 
   flags = SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_KEEP | SEC_IN_MEMORY;
 
-  bfd_set_section_flags (vars->abfd, sec, flags | extra_flags);
+  bfd_set_section_flags (sec, flags | extra_flags);
 
-  (void) bfd_set_section_alignment (vars->abfd, sec, 2);
+  bfd_set_section_alignment (sec, 2);
 
   /* Check that we will not run out of space.  */
   BFD_ASSERT (vars->data + size < vars->bim->buffer + vars->bim->size);
 
   /* Set the section size and contents.  The actual
      contents are filled in by our parent.  */
-  bfd_set_section_size (vars->abfd, sec, (bfd_size_type) size);
+  bfd_set_section_size (sec, (bfd_size_type) size);
   sec->contents = vars->data;
   sec->target_index = vars->sec_index ++;
 
@@ -1093,7 +1093,7 @@ pe_ILF_build_a_bfd (bfd *	    abfd,
 
   /* Point the bfd at the symbol table.  */
   obj_symbols (abfd) = vars.sym_cache;
-  bfd_get_symcount (abfd) = vars.sym_index;
+  abfd->symcount = vars.sym_index;
 
   obj_raw_syments (abfd) = vars.native_syms;
   obj_raw_syment_count (abfd) = vars.sym_index;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/pei-x86_64.c ./bfd/pei-x86_64.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/pei-x86_64.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/pei-x86_64.c	2019-09-24 01:49:09.000000000 +0000
@@ -770,7 +770,7 @@ pex64_bfd_print_pdata_section (bfd *abfd
 	  if (PEX64_IS_RUNTIME_FUNCTION_CHAINED (&rf))
 	    {
 	      bfd_vma altent = PEX64_GET_UNWINDDATA_UNIFIED_RVA (&rf);
-	      bfd_vma pdata_vma = bfd_get_section_vma (abfd, pdata_section);
+	      bfd_vma pdata_vma = bfd_section_vma (pdata_section);
 	      struct pex64_runtime_function arf;
 
 	      fprintf (file, "\t shares information with ");
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/po/SRC-POTFILES.in ./bfd/po/SRC-POTFILES.in
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/po/SRC-POTFILES.in	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/po/SRC-POTFILES.in	2019-09-24 01:49:09.000000000 +0000
@@ -7,6 +7,8 @@ aout-tic30.c
 aout32.c
 aout64.c
 aoutx.h
+arc-got.h
+arc-plt.h
 archive.c
 archive64.c
 archures.c
@@ -18,7 +20,9 @@ cache.c
 cf-i386lynx.c
 cisco-core.c
 coff-alpha.c
+coff-arm.h
 coff-bfd.c
+coff-bfd.h
 coff-go32.c
 coff-i386.c
 coff-mips.c
@@ -40,9 +44,11 @@ coffswap.h
 compress.c
 corefile.c
 cpu-aarch64.c
+cpu-aarch64.h
 cpu-alpha.c
 cpu-arc.c
 cpu-arm.c
+cpu-arm.h
 cpu-avr.c
 cpu-bfin.c
 cpu-bpf.c
@@ -59,6 +65,7 @@ cpu-fr30.c
 cpu-frv.c
 cpu-ft32.c
 cpu-h8300.c
+cpu-h8300.h
 cpu-hppa.c
 cpu-i386.c
 cpu-ia64.c
@@ -75,6 +82,7 @@ cpu-m32r.c
 cpu-m68hc11.c
 cpu-m68hc12.c
 cpu-m68k.c
+cpu-m68k.h
 cpu-m9s12x.c
 cpu-m9s12xg.c
 cpu-mcore.c
@@ -126,6 +134,7 @@ cpu-z80.c
 cpu-z8k.c
 dwarf1.c
 dwarf2.c
+ecoff-bfd.h
 ecoff.c
 ecofflink.c
 ecoffswap.h
@@ -134,27 +143,37 @@ elf-bfd.h
 elf-eh-frame.c
 elf-hppa.h
 elf-ifunc.c
+elf-linker-x86.h
 elf-linux-core.h
 elf-m10200.c
 elf-m10300.c
 elf-nacl.c
+elf-nacl.h
 elf-properties.c
+elf-s390.h
 elf-strtab.c
 elf-vxworks.c
+elf-vxworks.h
 elf.c
 elf32-am33lin.c
 elf32-arc.c
 elf32-arm.c
+elf32-arm.h
 elf32-avr.c
+elf32-avr.h
 elf32-bfin.c
+elf32-bfin.h
 elf32-cr16.c
+elf32-cr16.h
 elf32-cr16c.c
 elf32-cris.c
 elf32-crx.c
 elf32-csky.c
+elf32-csky.h
 elf32-d10v.c
 elf32-d30v.c
 elf32-dlx.c
+elf32-dlx.h
 elf32-epiphany.c
 elf32-fr30.c
 elf32-frv.c
@@ -172,34 +191,48 @@ elf32-m32r.c
 elf32-m68hc11.c
 elf32-m68hc12.c
 elf32-m68hc1x.c
+elf32-m68hc1x.h
 elf32-m68k.c
+elf32-m68k.h
 elf32-mcore.c
 elf32-mep.c
 elf32-metag.c
+elf32-metag.h
 elf32-microblaze.c
 elf32-mips.c
 elf32-moxie.c
 elf32-msp430.c
 elf32-mt.c
 elf32-nds32.c
+elf32-nds32.h
 elf32-nios2.c
+elf32-nios2.h
 elf32-or1k.c
 elf32-pj.c
 elf32-ppc.c
+elf32-ppc.h
 elf32-pru.c
 elf32-rl78.c
 elf32-rx.c
+elf32-rx.h
 elf32-s12z.c
 elf32-s390.c
 elf32-score.c
+elf32-score.h
 elf32-score7.c
+elf32-sh-relocs.h
 elf32-sh.c
 elf32-sparc.c
 elf32-spu.c
+elf32-spu.h
 elf32-tic6x.c
+elf32-tic6x.h
 elf32-tilegx.c
+elf32-tilegx.h
 elf32-tilepro.c
+elf32-tilepro.h
 elf32-v850.c
+elf32-v850.h
 elf32-vax.c
 elf32-visium.c
 elf32-wasm32.c
@@ -218,9 +251,11 @@ elf64-mips.c
 elf64-mmix.c
 elf64-nfp.c
 elf64-ppc.c
+elf64-ppc.h
 elf64-s390.c
 elf64-sparc.c
 elf64-tilegx.c
+elf64-tilegx.h
 elf64-x86-64.c
 elf64.c
 elfcode.h
@@ -228,13 +263,20 @@ elfcore.h
 elflink.c
 elfn32-mips.c
 elfxx-aarch64.c
+elfxx-aarch64.h
 elfxx-ia64.c
+elfxx-ia64.h
 elfxx-mips.c
+elfxx-mips.h
 elfxx-riscv.c
+elfxx-riscv.h
 elfxx-sparc.c
+elfxx-sparc.h
 elfxx-tilegx.c
+elfxx-tilegx.h
 elfxx-x86.c
 elfxx-x86.c
+elfxx-x86.h
 format.c
 genlink.h
 go32stub.h
@@ -293,6 +335,7 @@ pei-sh.c
 pei-x86_64.c
 peicode.h
 plugin.c
+plugin.h
 ppcboot.c
 reloc.c
 reloc16.c
@@ -306,6 +349,7 @@ srec.c
 stab-syms.c
 stabs.c
 syms.c
+sysdep.h
 targets.c
 tekhex.c
 trad-core.c
@@ -318,7 +362,9 @@ vms-lib.c
 vms-misc.c
 vms.h
 wasm-module.c
+wasm-module.h
 xcofflink.c
+xcofflink.h
 xsym.c
 xsym.h
 xtensa-isa.c
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/reloc.c ./bfd/reloc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/reloc.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/reloc.c	2019-09-24 01:49:09.000000000 +0000
@@ -361,7 +361,7 @@ CODE_FRAGMENT
 .     bfd *, char **);
 .
 .  {* The textual name of the relocation type.  *}
-.  char *name;
+.  const char *name;
 .};
 .
 */
@@ -1526,8 +1526,7 @@ _bfd_clear_contents (reloc_howto_type *h
 
   /* For a range list, use 1 instead of 0 as placeholder.  0
      would terminate the list, hiding any later entries.  */
-  if (strcmp (bfd_get_section_name (input_bfd, input_section),
-	      ".debug_ranges") == 0
+  if (strcmp (bfd_section_name (input_section), ".debug_ranges") == 0
       && (howto->dst_mask & 1) != 0)
     x |= 1;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/section.c ./bfd/section.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/section.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/section.c	2019-09-24 01:49:09.000000000 +0000
@@ -549,31 +549,83 @@ CODE_FRAGMENT
 .  int size;
 .};
 .
+.static inline const char *
+.bfd_section_name (const asection *sec)
+.{
+.  return sec->name;
+.}
+.
+.static inline bfd_size_type
+.bfd_section_size (const asection *sec)
+.{
+.  return sec->size;
+.}
+.
+.static inline bfd_vma
+.bfd_section_vma (const asection *sec)
+.{
+.  return sec->vma;
+.}
+.
+.static inline bfd_vma
+.bfd_section_lma (const asection *sec)
+.{
+.  return sec->lma;
+.}
+.
+.static inline unsigned int
+.bfd_section_alignment (const asection *sec)
+.{
+.  return sec->alignment_power;
+.}
+.
+.static inline flagword
+.bfd_section_flags (const asection *sec)
+.{
+.  return sec->flags;
+.}
+.
+.static inline void *
+.bfd_section_userdata (const asection *sec)
+.{
+.  return sec->userdata;
+.}
+.static inline bfd_boolean
+.bfd_is_com_section (const asection *sec)
+.{
+.  return (sec->flags & SEC_IS_COMMON) != 0;
+.}
+.
 .{* Note: the following are provided as inline functions rather than macros
 .   because not all callers use the return value.  A macro implementation
 .   would use a comma expression, eg: "((ptr)->foo = val, TRUE)" and some
 .   compilers will complain about comma expressions that have no effect.  *}
 .static inline bfd_boolean
-.bfd_set_section_userdata (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr,
-.			   void * val)
+.bfd_set_section_userdata (asection *sec, void *val)
 .{
-.  ptr->userdata = val;
+.  sec->userdata = val;
 .  return TRUE;
 .}
 .
 .static inline bfd_boolean
-.bfd_set_section_vma (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, bfd_vma val)
+.bfd_set_section_vma (asection *sec, bfd_vma val)
 .{
-.  ptr->vma = ptr->lma = val;
-.  ptr->user_set_vma = TRUE;
+.  sec->vma = sec->lma = val;
+.  sec->user_set_vma = TRUE;
 .  return TRUE;
 .}
 .
 .static inline bfd_boolean
-.bfd_set_section_alignment (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr,
-.			    unsigned int val)
+.bfd_set_section_lma (asection *sec, bfd_vma val)
 .{
-.  ptr->alignment_power = val;
+.  sec->lma = val;
+.  return TRUE;
+.}
+.
+.static inline bfd_boolean
+.bfd_set_section_alignment (asection *sec, unsigned int val)
+.{
+.  sec->alignment_power = val;
 .  return TRUE;
 .}
 .
@@ -596,105 +648,39 @@ CODE_FRAGMENT
 .{* Pointer to the indirect section.  *}
 .#define bfd_ind_section_ptr (&_bfd_std_section[3])
 .
-.#define bfd_is_und_section(sec) ((sec) == bfd_und_section_ptr)
-.#define bfd_is_abs_section(sec) ((sec) == bfd_abs_section_ptr)
-.#define bfd_is_ind_section(sec) ((sec) == bfd_ind_section_ptr)
-.
-.#define bfd_is_const_section(SEC)		\
-. (   ((SEC) == bfd_abs_section_ptr)		\
-.  || ((SEC) == bfd_und_section_ptr)		\
-.  || ((SEC) == bfd_com_section_ptr)		\
-.  || ((SEC) == bfd_ind_section_ptr))
-.
-.{* Macros to handle insertion and deletion of a bfd's sections.  These
-.   only handle the list pointers, ie. do not adjust section_count,
-.   target_index etc.  *}
-.#define bfd_section_list_remove(ABFD, S) \
-.  do							\
-.    {							\
-.      asection *_s = S;				\
-.      asection *_next = _s->next;			\
-.      asection *_prev = _s->prev;			\
-.      if (_prev)					\
-.        _prev->next = _next;				\
-.      else						\
-.        (ABFD)->sections = _next;			\
-.      if (_next)					\
-.        _next->prev = _prev;				\
-.      else						\
-.        (ABFD)->section_last = _prev;			\
-.    }							\
-.  while (0)
-.#define bfd_section_list_append(ABFD, S) \
-.  do							\
-.    {							\
-.      asection *_s = S;				\
-.      bfd *_abfd = ABFD;				\
-.      _s->next = NULL;					\
-.      if (_abfd->section_last)				\
-.        {						\
-.          _s->prev = _abfd->section_last;		\
-.          _abfd->section_last->next = _s;		\
-.        }						\
-.      else						\
-.        {						\
-.          _s->prev = NULL;				\
-.          _abfd->sections = _s;			\
-.        }						\
-.      _abfd->section_last = _s;			\
-.    }							\
-.  while (0)
-.#define bfd_section_list_prepend(ABFD, S) \
-.  do							\
-.    {							\
-.      asection *_s = S;				\
-.      bfd *_abfd = ABFD;				\
-.      _s->prev = NULL;					\
-.      if (_abfd->sections)				\
-.        {						\
-.          _s->next = _abfd->sections;			\
-.          _abfd->sections->prev = _s;			\
-.        }						\
-.      else						\
-.        {						\
-.          _s->next = NULL;				\
-.          _abfd->section_last = _s;			\
-.        }						\
-.      _abfd->sections = _s;				\
-.    }							\
-.  while (0)
-.#define bfd_section_list_insert_after(ABFD, A, S) \
-.  do							\
-.    {							\
-.      asection *_a = A;				\
-.      asection *_s = S;				\
-.      asection *_next = _a->next;			\
-.      _s->next = _next;				\
-.      _s->prev = _a;					\
-.      _a->next = _s;					\
-.      if (_next)					\
-.        _next->prev = _s;				\
-.      else						\
-.        (ABFD)->section_last = _s;			\
-.    }							\
-.  while (0)
-.#define bfd_section_list_insert_before(ABFD, B, S) \
-.  do							\
-.    {							\
-.      asection *_b = B;				\
-.      asection *_s = S;				\
-.      asection *_prev = _b->prev;			\
-.      _s->prev = _prev;				\
-.      _s->next = _b;					\
-.      _b->prev = _s;					\
-.      if (_prev)					\
-.        _prev->next = _s;				\
-.      else						\
-.        (ABFD)->sections = _s;				\
-.    }							\
-.  while (0)
-.#define bfd_section_removed_from_list(ABFD, S) \
-.  ((S)->next == NULL ? (ABFD)->section_last != (S) : (S)->next->prev != (S))
+.static inline bfd_boolean
+.bfd_is_und_section (const asection *sec)
+.{
+.  return sec == bfd_und_section_ptr;
+.}
+.
+.static inline bfd_boolean
+.bfd_is_abs_section (const asection *sec)
+.{
+.  return sec == bfd_abs_section_ptr;
+.}
+.
+.static inline bfd_boolean
+.bfd_is_ind_section (const asection *sec)
+.{
+.  return sec == bfd_ind_section_ptr;
+.}
+.
+.static inline bfd_boolean
+.bfd_is_const_section (const asection *sec)
+.{
+.  return sec >= bfd_abs_section_ptr && sec <= bfd_ind_section_ptr;
+.}
+.
+.{* Return TRUE if input section SEC has been discarded.  *}
+.static inline bfd_boolean
+.discarded_section (const asection *sec)
+.{
+.  return (!bfd_is_abs_section (sec)
+.          && bfd_is_abs_section (sec->output_section)
+.          && sec->sec_info_type != SEC_INFO_TYPE_MERGE
+.          && sec->sec_info_type != SEC_INFO_TYPE_JUST_SYMS);
+.}
 .
 .#define BFD_FAKE_SECTION(SEC, SYM, NAME, IDX, FLAGS)			\
 .  {* name, id,  index, next, prev, flags, user_set_vma,            *}	\
@@ -1289,13 +1275,12 @@ FUNCTION
 	bfd_set_section_flags
 
 SYNOPSIS
-	bfd_boolean bfd_set_section_flags
-	  (bfd *abfd, asection *sec, flagword flags);
+	bfd_boolean bfd_set_section_flags (asection *sec, flagword flags);
 
 DESCRIPTION
-	Set the attributes of the section @var{sec} in the BFD
-	@var{abfd} to the value @var{flags}. Return <<TRUE>> on success,
-	<<FALSE>> on error. Possible error returns are:
+	Set the attributes of the section @var{sec} to the value @var{flags}.
+	Return <<TRUE>> on success, <<FALSE>> on error.  Possible error
+	returns are:
 
 	o <<bfd_error_invalid_operation>> -
 	The section cannot have one or more of the attributes
@@ -1305,9 +1290,7 @@ DESCRIPTION
 */
 
 bfd_boolean
-bfd_set_section_flags (bfd *abfd ATTRIBUTE_UNUSED,
-		       sec_ptr section,
-		       flagword flags)
+bfd_set_section_flags (asection *section, flagword flags)
 {
   section->flags = flags;
   return TRUE;
@@ -1319,21 +1302,21 @@ FUNCTION
 
 SYNOPSIS
 	void bfd_rename_section
-	  (bfd *abfd, asection *sec, const char *newname);
+	  (asection *sec, const char *newname);
 
 DESCRIPTION
-	Rename section @var{sec} in @var{abfd} to @var{newname}.
+	Rename section @var{sec} to @var{newname}.
 */
 
 void
-bfd_rename_section (bfd *abfd, sec_ptr sec, const char *newname)
+bfd_rename_section (asection *sec, const char *newname)
 {
   struct section_hash_entry *sh;
 
   sh = (struct section_hash_entry *)
     ((char *) sec - offsetof (struct section_hash_entry, section));
   sh->section.name = newname;
-  bfd_hash_rename (&abfd->section_htab, newname, &sh->root);
+  bfd_hash_rename (&sec->owner->section_htab, newname, &sh->root);
 }
 
 /*
@@ -1417,8 +1400,7 @@ FUNCTION
 	bfd_set_section_size
 
 SYNOPSIS
-	bfd_boolean bfd_set_section_size
-	  (bfd *abfd, asection *sec, bfd_size_type val);
+	bfd_boolean bfd_set_section_size (asection *sec, bfd_size_type val);
 
 DESCRIPTION
 	Set @var{sec} to the size @var{val}. If the operation is
@@ -1431,18 +1413,18 @@ DESCRIPTION
 */
 
 bfd_boolean
-bfd_set_section_size (bfd *abfd, sec_ptr ptr, bfd_size_type val)
+bfd_set_section_size (asection *sec, bfd_size_type val)
 {
   /* Once you've started writing to any section you cannot create or change
      the size of any others.  */
 
-  if (abfd->output_has_begun)
+  if (sec->owner == NULL || sec->owner->output_has_begun)
     {
       bfd_set_error (bfd_error_invalid_operation);
       return FALSE;
     }
 
-  ptr->size = val;
+  sec->size = val;
   return TRUE;
 }
 
@@ -1486,7 +1468,7 @@ bfd_set_section_contents (bfd *abfd,
 {
   bfd_size_type sz;
 
-  if (!(bfd_get_section_flags (abfd, section) & SEC_HAS_CONTENTS))
+  if (!(bfd_section_flags (section) & SEC_HAS_CONTENTS))
     {
       bfd_set_error (bfd_error_no_contents);
       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-8.3.50.20190917/bfd/som.c ./bfd/som.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/som.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/som.c	2019-09-24 01:49:09.000000000 +0000
@@ -2031,12 +2031,12 @@ som_object_setup (bfd *abfd,
 	  || (aux_hdrp->exec_entry & 0x3) != 0
 	  || ! found)
 	{
-	  bfd_get_start_address (abfd) = aux_hdrp->exec_flags;
+	  abfd->start_address = aux_hdrp->exec_flags;
 	  obj_som_exec_data (abfd)->exec_flags = aux_hdrp->exec_entry;
 	}
       else
 	{
-	  bfd_get_start_address (abfd) = aux_hdrp->exec_entry + current_offset;
+	  abfd->start_address = aux_hdrp->exec_entry + current_offset;
 	  obj_som_exec_data (abfd)->exec_flags = aux_hdrp->exec_flags;
 	}
     }
@@ -2044,7 +2044,7 @@ som_object_setup (bfd *abfd,
   obj_som_exec_data (abfd)->version_id = file_hdrp->version_id;
 
   bfd_default_set_arch_mach (abfd, bfd_arch_hppa, pa10);
-  bfd_get_symcount (abfd) = file_hdrp->symbol_total;
+  abfd->symcount = file_hdrp->symbol_total;
 
   /* Initialize the saved symbol table and string table to NULL.
      Save important offsets and sizes from the SOM header into
@@ -4792,7 +4792,7 @@ som_slurp_symbol_table (bfd *abfd)
 
   /* We modify the symbol count to record the number of BFD symbols we
      created.  */
-  bfd_get_symcount (abfd) = sym - symbase;
+  abfd->symcount = sym - symbase;
 
   /* Save our results and return success.  */
   obj_som_symtab (abfd) = symbase;
@@ -5995,6 +5995,7 @@ som_bfd_fill_in_ar_symbols (bfd *abfd,
       unsigned int hash_val;
       unsigned int len;
       unsigned char ext_len[4];
+      char *name;
 
       /* An empty chain has zero as it's file offset.  */
       hash_val = bfd_getb32 (hash_table + 4 * i);
@@ -6025,13 +6026,14 @@ som_bfd_fill_in_ar_symbols (bfd *abfd,
       len = bfd_getb32 (ext_len);
 
       /* Allocate space for the name and null terminate it too.  */
-      set->name = bfd_zalloc (abfd, (bfd_size_type) len + 1);
-      if (!set->name)
+      name = bfd_zalloc (abfd, (bfd_size_type) len + 1);
+      if (!name)
 	goto error_return;
-      if (bfd_bread (set->name, (bfd_size_type) len, abfd) != len)
+      if (bfd_bread (name, (bfd_size_type) len, abfd) != len)
 	goto error_return;
 
-      set->name[len] = 0;
+      name[len] = 0;
+      set->name = name;
 
       /* Fill in the file offset.  Note that the "location" field points
 	 to the SOM itself, not the ar_hdr in front of it.  */
@@ -6068,13 +6070,14 @@ som_bfd_fill_in_ar_symbols (bfd *abfd,
 	  len = bfd_getb32 (ext_len);
 
 	  /* Allocate space for the name and null terminate it too.  */
-	  set->name = bfd_zalloc (abfd, (bfd_size_type) len + 1);
-	  if (!set->name)
+	  name = bfd_zalloc (abfd, (bfd_size_type) len + 1);
+	  if (!name)
 	    goto error_return;
 
-	  if (bfd_bread (set->name, (bfd_size_type) len, abfd) != len)
+	  if (bfd_bread (name, (bfd_size_type) len, abfd) != len)
 	    goto error_return;
-	  set->name[len] = 0;
+	  name[len] = 0;
+	  set->name = name;
 
 	  /* Fill in the file offset.  Note that the "location" field points
 	     to the SOM itself, not the ar_hdr in front of it.  */
@@ -6128,7 +6131,7 @@ som_slurp_armap (bfd *abfd)
   /* For archives without .o files there is no symbol table.  */
   if (! CONST_STRNEQ (nextname, "/               "))
     {
-      bfd_has_map (abfd) = FALSE;
+      abfd->has_armap = FALSE;
       return TRUE;
     }
 
@@ -6198,7 +6201,7 @@ som_slurp_armap (bfd *abfd)
     return FALSE;
 
   /* Notify the generic archive code that we have a symbol map.  */
-  bfd_has_map (abfd) = TRUE;
+  abfd->has_armap = TRUE;
   return TRUE;
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/syms.c ./bfd/syms.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/syms.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/syms.c	2019-09-24 01:49:09.000000000 +0000
@@ -455,8 +455,8 @@ bfd_set_symtab (bfd *abfd, asymbol **loc
       return FALSE;
     }
 
-  bfd_get_outsymbols (abfd) = location;
-  bfd_get_symcount (abfd) = symcount;
+  abfd->outsymbols = location;
+  abfd->symcount = symcount;
   return TRUE;
 }
 
@@ -1290,7 +1290,7 @@ _bfd_stab_section_find_nearest_line (bfd
 
   /* We are passed a section relative offset.  The offsets in the
      stabs information are absolute.  */
-  offset += bfd_get_section_vma (abfd, section);
+  offset += bfd_section_vma (section);
 
 #ifdef ENABLE_CACHING
   if (info->cached_indexentry != NULL
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/targets.c ./bfd/targets.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/targets.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/targets.c	2019-09-24 01:49:09.000000000 +0000
@@ -179,7 +179,7 @@ DESCRIPTION
 .typedef struct bfd_target
 .{
 .  {* Identifies the kind of target, e.g., SunOS4, Ultrix, etc.  *}
-.  char *name;
+.  const char *name;
 .
 . {* The "flavour" of a back end is a general indication about
 .    the contents of a file.  *}
@@ -584,6 +584,74 @@ to find an alternative output format tha
 .
 .} bfd_target;
 .
+.static inline const char *
+.bfd_get_target (const bfd *abfd)
+.{
+.  return abfd->xvec->name;
+.}
+.
+.static inline enum bfd_flavour
+.bfd_get_flavour (const bfd *abfd)
+.{
+.  return abfd->xvec->flavour;
+.}
+.
+.static inline flagword
+.bfd_applicable_file_flags (const bfd *abfd)
+.{
+.  return abfd->xvec->object_flags;
+.}
+.
+.static inline bfd_boolean
+.bfd_family_coff (const bfd *abfd)
+.{
+.  return (bfd_get_flavour (abfd) == bfd_target_coff_flavour
+.          || bfd_get_flavour (abfd) == bfd_target_xcoff_flavour);
+.}
+.
+.static inline bfd_boolean
+.bfd_big_endian (const bfd *abfd)
+.{
+.  return abfd->xvec->byteorder == BFD_ENDIAN_BIG;
+.}
+.static inline bfd_boolean
+.bfd_little_endian (const bfd *abfd)
+.{
+.  return abfd->xvec->byteorder == BFD_ENDIAN_LITTLE;
+.}
+.
+.static inline bfd_boolean
+.bfd_header_big_endian (const bfd *abfd)
+.{
+.  return abfd->xvec->header_byteorder == BFD_ENDIAN_BIG;
+.}
+.
+.static inline bfd_boolean
+.bfd_header_little_endian (const bfd *abfd)
+.{
+.  return abfd->xvec->header_byteorder == BFD_ENDIAN_LITTLE;
+.}
+.
+.static inline flagword
+.bfd_applicable_section_flags (const bfd *abfd)
+.{
+.  return abfd->xvec->section_flags;
+.}
+.
+.static inline char
+.bfd_get_symbol_leading_char (const bfd *abfd)
+.{
+.  return abfd->xvec->symbol_leading_char;
+.}
+.
+.static inline enum bfd_flavour
+.bfd_asymbol_flavour (const asymbol *sy)
+.{
+.  if ((sy->flags & BSF_SYNTHETIC) != 0)
+.    return bfd_target_unknown_flavour;
+.  return sy->the_bfd->xvec->flavour;
+.}
+.
 */
 
 /* All known xvecs (even those that don't compile on all systems).
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/version.h ./bfd/version.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/version.h	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/version.h	2019-09-24 01:49:09.000000000 +0000
@@ -16,7 +16,7 @@
 
    In releases, the date is not included in either version strings or
    sonames.  */
-#define BFD_VERSION_DATE 20190917
+#define BFD_VERSION_DATE 20190924
 #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-8.3.50.20190917/bfd/vms-alpha.c ./bfd/vms-alpha.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/vms-alpha.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/vms-alpha.c	2019-09-24 01:49:09.000000000 +0000
@@ -632,7 +632,7 @@ _bfd_vms_slurp_eisd (bfd *abfd, unsigned
       section->size = size;
       section->vma = vaddr;
 
-      if (!bfd_set_section_flags (abfd, section, bfd_flags))
+      if (!bfd_set_section_flags (section, bfd_flags))
 	return FALSE;
     }
 
@@ -687,7 +687,7 @@ _bfd_vms_slurp_eihs (bfd *abfd, unsigned
       section->size = dstsize;
       section->filepos = VMS_BLOCK_SIZE * (dstvbn - 1);
 
-      if (!bfd_set_section_flags (abfd, section, bfd_flags))
+      if (!bfd_set_section_flags (section, bfd_flags))
 	return FALSE;
 
       PRIV (dst_section) = section;
@@ -705,7 +705,7 @@ _bfd_vms_slurp_eihs (bfd *abfd, unsigned
       section->size = dmtbytes;
       section->filepos = VMS_BLOCK_SIZE * (dmtvbn - 1);
 
-      if (!bfd_set_section_flags (abfd, section, bfd_flags))
+      if (!bfd_set_section_flags (section, bfd_flags))
 	return FALSE;
     }
 
@@ -1261,7 +1261,7 @@ _bfd_vms_slurp_egsd (bfd *abfd)
 		    new_flags |= SEC_CODE;
 		    new_flags &= ~SEC_DATA;
 		  }
-		if (!bfd_set_section_flags (abfd, section, new_flags))
+		if (!bfd_set_section_flags (section, new_flags))
 		  return FALSE;
 
 		/* Give a non-overlapping vma to non absolute sections.  */
@@ -2441,7 +2441,7 @@ vms_slurp_debug (bfd *abfd)
       section = bfd_make_section (abfd, "$DST$");
       if (!section)
 	return FALSE;
-      if (!bfd_set_section_flags (abfd, section, flags))
+      if (!bfd_set_section_flags (section, flags))
 	return FALSE;
       PRIV (dst_section) = section;
     }
@@ -4623,7 +4623,7 @@ build_module_list (bfd *abfd)
 	 section and build the list of modules.  This is sufficient
 	 since we can compute the start address and the end address
 	 of every module from the section contents.  */
-      bfd_size_type size = bfd_get_section_size (dmt);
+      bfd_size_type size = bfd_section_size (dmt);
       unsigned char *ptr, *end;
 
       ptr = (unsigned char *) bfd_alloc (abfd, size);
@@ -8912,8 +8912,8 @@ alpha_vms_bfd_final_link (bfd *abfd, str
       return FALSE;
     }
 
-  bfd_get_outsymbols (abfd) = NULL;
-  bfd_get_symcount (abfd) = 0;
+  abfd->outsymbols = NULL;
+  abfd->symcount = 0;
 
   /* Mark all sections which will be included in the output file.  */
   for (o = abfd->sections; o != NULL; o = o->next)
@@ -9324,7 +9324,7 @@ vms_new_section_hook (bfd * abfd, asecti
   vms_debug2 ((1, "vms_new_section_hook (%p, [%u]%s)\n",
 	       abfd, section->index, section->name));
 
-  if (! bfd_set_section_alignment (abfd, section, 0))
+  if (!bfd_set_section_alignment (section, 0))
     return FALSE;
 
   vms_debug2 ((7, "%u: %s\n", section->index, section->name));
@@ -9412,11 +9412,11 @@ vms_get_symbol_info (bfd * abfd ATTRIBUT
   else if (bfd_is_ind_section (sec))
     ret->type = 'I';
   else if ((symbol->flags & BSF_FUNCTION)
-	   || (bfd_get_section_flags (abfd, sec) & SEC_CODE))
+	   || (bfd_section_flags (sec) & SEC_CODE))
     ret->type = 'T';
-  else if (bfd_get_section_flags (abfd, sec) & SEC_DATA)
+  else if (bfd_section_flags (sec) & SEC_DATA)
     ret->type = 'D';
-  else if (bfd_get_section_flags (abfd, sec) & SEC_ALLOC)
+  else if (bfd_section_flags (sec) & SEC_ALLOC)
     ret->type = 'B';
   else
     ret->type = '?';
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/vms-lib.c ./bfd/vms-lib.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/vms-lib.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/vms-lib.c	2019-09-24 01:49:09.000000000 +0000
@@ -1297,7 +1297,9 @@ _bfd_vms_lib_get_module (bfd *abfd, unsi
   struct lib_tdata *tdata = bfd_libdata (abfd);
   bfd *res;
   file_ptr file_off;
-  char *name;
+  const char *name;
+  char *newname;
+  size_t namelen;
 
   /* Sanity check.  */
   if (modidx >= tdata->nbr_modules)
@@ -1335,18 +1337,22 @@ _bfd_vms_lib_get_module (bfd *abfd, unsi
       if (bfd_bread (buf, tdata->mhd_size, abfd) != tdata->mhd_size)
 	return NULL;
 
+      mhd = (struct vms_mhd *) buf;
+      if (mhd->id != MHD__C_MHDID)
+	return NULL;
+
       res = _bfd_create_empty_archive_element_shell (abfd);
       if (res == NULL)
 	return NULL;
       arelt = bfd_zmalloc (sizeof (*arelt));
       if (arelt == NULL)
-	return NULL;
+	{
+	  bfd_close (res);
+	  return NULL;
+	}
       res->arelt_data = arelt;
 
       /* Get info from mhd.  */
-      mhd = (struct vms_mhd *)buf;
-      if (mhd->id != MHD__C_MHDID)
-	return NULL;
       if (tdata->mhd_size >= offsetof (struct vms_mhd, objstat) + 1)
 	res->selective_search = (mhd->objstat & MHD__M_SELSRC) ? 1 : 0;
       res->mtime = vms_rawtime_to_time_t (mhd->datim);
@@ -1361,23 +1367,25 @@ _bfd_vms_lib_get_module (bfd *abfd, unsi
 
   /* Set filename.  */
   name = tdata->modules[modidx].name;
+  namelen = strlen (name);
+  newname = bfd_malloc (namelen + 4 + 1);
+  if (newname == NULL)
+    {
+      bfd_close (res);
+      return NULL;
+    }
+  strcpy (newname, name);
   switch (tdata->type)
     {
     case LBR__C_TYP_IOBJ:
     case LBR__C_TYP_EOBJ:
       /* For object archives, append .obj to mimic standard behaviour.  */
-      {
-	size_t namelen = strlen (name);
-	char *name1 = bfd_alloc (res, namelen + 4 + 1);
-	memcpy (name1, name, namelen);
-	strcpy (name1 + namelen, ".obj");
-	name = name1;
-      }
+      strcpy (newname + namelen, ".obj");
       break;
     default:
       break;
     }
-  res->filename = xstrdup (name);
+  bfd_set_filename (res, newname);
 
   tdata->cache[modidx] = res;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/xcofflink.c ./bfd/xcofflink.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/xcofflink.c	2019-09-17 01:49:40.000000000 +0000
+++ ./bfd/xcofflink.c	2019-09-24 01:49:09.000000000 +0000
@@ -28,6 +28,7 @@
 #include "libcoff.h"
 #include "libxcoff.h"
 #include "libiberty.h"
+#include "xcofflink.h"
 
 /* This file holds the XCOFF linker code.  */
 
@@ -2080,14 +2081,14 @@ xcoff_link_add_symbols (bfd *abfd, struc
   for (o = abfd->sections; o != first_csect; o = o->next)
     {
       /* Debugging sections have no csects.  */
-      if (bfd_get_section_flags (abfd, o) & SEC_DEBUGGING)
+      if (bfd_section_flags (o) & SEC_DEBUGGING)
 	continue;
 
       /* Reset the section size and the line number count, since the
 	 data is now attached to the csects.  Don't reset the size of
 	 the .debug section, since we need to read it below in
 	 bfd_xcoff_size_dynamic_sections.  */
-      if (strcmp (bfd_get_section_name (abfd, o), ".debug") != 0)
+      if (strcmp (bfd_section_name (o), ".debug") != 0)
 	o->size = 0;
       o->lineno_count = 0;
 
@@ -3019,7 +3020,7 @@ xcoff_sweep (struct bfd_link_info *info)
 		  || o == xcoff_hash_table (info)->loader_section
 		  || o == xcoff_hash_table (info)->linkage_section
 		  || o == xcoff_hash_table (info)->descriptor_section
-		  || (bfd_get_section_flags (sub, o) & SEC_DEBUGGING)
+		  || (bfd_section_flags (o) & SEC_DEBUGGING)
 		  || strcmp (o->name, ".debug") == 0)
 		o->flags |= SEC_MARK;
 	      else
@@ -6412,9 +6413,9 @@ _bfd_xcoff_bfd_final_link (bfd *abfd, st
 	goto error_return;
     }
 
-  /* Setting bfd_get_symcount to 0 will cause write_object_contents to
+  /* Setting symcount to 0 will cause write_object_contents to
      not try to write out the symbols.  */
-  bfd_get_symcount (abfd) = 0;
+  abfd->symcount = 0;
 
   return TRUE;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/xcofflink.h ./bfd/xcofflink.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/bfd/xcofflink.h	1970-01-01 00:00:00.000000000 +0000
+++ ./bfd/xcofflink.h	2019-09-24 01:49:09.000000000 +0000
@@ -0,0 +1,41 @@
+/* POWER/PowerPC XCOFF linker support.
+   Copyright (C) 2019 Free Software Foundation, Inc.
+
+   This file is part of BFD, the Binary File Descriptor library.
+
+   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, write to the Free Software
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
+
+extern bfd_boolean bfd_xcoff_split_import_path
+  (bfd *, const char *, const char **, const char **);
+extern bfd_boolean bfd_xcoff_set_archive_import_path
+  (struct bfd_link_info *, bfd *, const char *);
+extern bfd_boolean bfd_xcoff_link_record_set
+  (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, bfd_size_type);
+extern bfd_boolean bfd_xcoff_import_symbol
+  (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, bfd_vma,
+   const char *, const char *, const char *, unsigned int);
+extern bfd_boolean bfd_xcoff_export_symbol
+  (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *);
+extern bfd_boolean bfd_xcoff_link_count_reloc
+  (bfd *, struct bfd_link_info *, const char *);
+extern bfd_boolean bfd_xcoff_record_link_assignment
+  (bfd *, struct bfd_link_info *, const char *);
+extern bfd_boolean bfd_xcoff_size_dynamic_sections
+  (bfd *, struct bfd_link_info *, const char *, const char *,
+   unsigned long, unsigned long, unsigned long, bfd_boolean,
+   int, bfd_boolean, unsigned int, struct bfd_section **, bfd_boolean);
+extern bfd_boolean bfd_xcoff_link_generate_rtinit
+  (bfd *, const char *, const char *, bfd_boolean);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/djunpack.bat ./djunpack.bat
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/djunpack.bat	2019-09-17 01:53:56.000000000 +0000
+++ ./djunpack.bat	2019-09-24 01:53:31.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-8.3.50.20190917
-if "%GDBVER%"=="$package-8.3.50.20190917" GoTo EnvOk
+set GDBVER=$package-8.3.50.20190924
+if "%GDBVER%"=="$package-8.3.50.20190924" 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-8.3.50.20190917/gdb/aarch64-linux-tdep.c ./gdb/aarch64-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/aarch64-linux-tdep.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/aarch64-linux-tdep.c	2019-09-24 01:49:11.000000000 +0000
@@ -452,7 +452,7 @@ aarch64_linux_core_read_vq (struct gdbar
       return 0;
     }
 
-  size_t size = bfd_section_size (abfd, sve_section);
+  size_t size = bfd_section_size (sve_section);
 
   /* Check extended state size.  */
   if (size < SVE_HEADER_SIZE)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/ada-exp.c ./gdb/ada-exp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/ada-exp.c	2019-09-17 01:53:17.000000000 +0000
+++ ./gdb/ada-exp.c	2019-09-24 01:52:52.000000000 +0000
@@ -3055,7 +3055,7 @@ write_object_renaming (struct parser_sta
 			  renamed_entity_len);
   ada_lookup_encoded_symbol (name, orig_left_context, VAR_DOMAIN, &sym_info);
   if (sym_info.symbol == NULL)
-    error (_("Could not find renamed variable: %s"), ada_decode (name));
+    error (_("Could not find renamed variable: %s"), ada_decode (name).c_str ());
   else if (SYMBOL_CLASS (sym_info.symbol) == LOC_TYPEDEF)
     /* We have a renaming of an old-style renaming symbol.  Don't
        trust the block information.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/ada-exp.y ./gdb/ada-exp.y
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/ada-exp.y	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/ada-exp.y	2019-09-24 01:49:11.000000000 +0000
@@ -816,7 +816,7 @@ write_object_renaming (struct parser_sta
 			  renamed_entity_len);
   ada_lookup_encoded_symbol (name, orig_left_context, VAR_DOMAIN, &sym_info);
   if (sym_info.symbol == NULL)
-    error (_("Could not find renamed variable: %s"), ada_decode (name));
+    error (_("Could not find renamed variable: %s"), ada_decode (name).c_str ());
   else if (SYMBOL_CLASS (sym_info.symbol) == LOC_TYPEDEF)
     /* We have a renaming of an old-style renaming symbol.  Don't
        trust the block information.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/ada-lang.c ./gdb/ada-lang.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/ada-lang.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/ada-lang.c	2019-09-24 01:49:11.000000000 +0000
@@ -358,7 +358,7 @@ maint_show_ada_cmd (const char *args, in
 
 /* The "maintenance ada set/show ignore-descriptive-type" value.  */
 
-static int ada_ignore_descriptive_types_p = 0;
+static bool ada_ignore_descriptive_types_p = false;
 
 			/* Inferior-specific data.  */
 
@@ -1105,22 +1105,16 @@ ada_remove_po_subprogram_suffix (const c
 
 /* If ENCODED follows the GNAT entity encoding conventions, then return
    the decoded form of ENCODED.  Otherwise, return "<%s>" where "%s" is
-   replaced by ENCODED.
+   replaced by ENCODED.  */
 
-   The resulting string is valid until the next call of ada_decode.
-   If the string is unchanged by decoding, the original string pointer
-   is returned.  */
-
-const char *
+std::string
 ada_decode (const char *encoded)
 {
   int i, j;
   int len0;
   const char *p;
-  char *decoded;
   int at_start_name;
-  static char *decoding_buffer = NULL;
-  static size_t decoding_buffer_size = 0;
+  std::string decoded;
 
   /* With function descriptors on PPC64, the value of a symbol named
      ".FN", if it exists, is the entry point of the function "FN".  */
@@ -1179,8 +1173,7 @@ ada_decode (const char *encoded)
 
   /* Make decoded big enough for possible expansion by operator name.  */
 
-  GROW_VECT (decoding_buffer, decoding_buffer_size, 2 * len0 + 1);
-  decoded = decoding_buffer;
+  decoded.resize (2 * len0 + 1, 'X');
 
   /* Remove trailing __{digit}+ or trailing ${digit}+.  */
 
@@ -1217,7 +1210,7 @@ ada_decode (const char *encoded)
                             op_len - 1) == 0)
                   && !isalnum (encoded[i + op_len]))
                 {
-                  strcpy (decoded + j, ada_opname_table[k].decoded);
+                  strcpy (&decoded.front() + j, ada_opname_table[k].decoded);
                   at_start_name = 0;
                   i += op_len;
                   j += strlen (ada_opname_table[k].decoded);
@@ -1338,27 +1331,22 @@ ada_decode (const char *encoded)
           j += 1;
         }
     }
-  decoded[j] = '\000';
+  decoded.resize (j);
 
   /* Decoded names should never contain any uppercase character.
      Double-check this, and abort the decoding if we find one.  */
 
-  for (i = 0; decoded[i] != '\0'; i += 1)
+  for (i = 0; i < decoded.length(); ++i)
     if (isupper (decoded[i]) || decoded[i] == ' ')
       goto Suppress;
 
-  if (strcmp (decoded, encoded) == 0)
-    return encoded;
-  else
-    return decoded;
+  return decoded;
 
 Suppress:
-  GROW_VECT (decoding_buffer, decoding_buffer_size, strlen (encoded) + 3);
-  decoded = decoding_buffer;
   if (encoded[0] == '<')
-    strcpy (decoded, encoded);
+    decoded = encoded;
   else
-    xsnprintf (decoded, decoding_buffer_size, "<%s>", encoded);
+    decoded = '<' + std::string(encoded) + '>';
   return decoded;
 
 }
@@ -1389,13 +1377,13 @@ ada_decode_symbol (const struct general_
 
   if (!gsymbol->ada_mangled)
     {
-      const char *decoded = ada_decode (gsymbol->name);
+      std::string decoded = ada_decode (gsymbol->name);
       struct obstack *obstack = gsymbol->language_specific.obstack;
 
       gsymbol->ada_mangled = 1;
 
       if (obstack != NULL)
-	*resultp = obstack_strdup (obstack, decoded);
+	*resultp = obstack_strdup (obstack, decoded.c_str ());
       else
         {
 	  /* Sometimes, we can't find a corresponding objfile, in
@@ -1404,10 +1392,10 @@ ada_decode_symbol (const struct general_
 	     significant memory leak (FIXME).  */
 
           char **slot = (char **) htab_find_slot (decoded_names_store,
-                                                  decoded, INSERT);
+                                                  decoded.c_str (), INSERT);
 
           if (*slot == NULL)
-            *slot = xstrdup (decoded);
+            *slot = xstrdup (decoded.c_str ());
           *resultp = *slot;
         }
     }
@@ -1418,7 +1406,7 @@ ada_decode_symbol (const struct general_
 static char *
 ada_la_decode (const char *encoded, int options)
 {
-  return xstrdup (ada_decode (encoded));
+  return xstrdup (ada_decode (encoded).c_str ());
 }
 
 /* Implement la_sniff_from_mangled_name for Ada.  */
@@ -1426,11 +1414,11 @@ ada_la_decode (const char *encoded, int 
 static int
 ada_sniff_from_mangled_name (const char *mangled, char **out)
 {
-  const char *demangled = ada_decode (mangled);
+  std::string demangled = ada_decode (mangled);
 
   *out = NULL;
 
-  if (demangled != mangled && demangled != NULL && demangled[0] != '<')
+  if (demangled != mangled && demangled[0] != '<')
     {
       /* Set the gsymbol language to Ada, but still return 0.
 	 Two reasons for that:
@@ -3795,7 +3783,7 @@ sort_choices (struct block_symbol syms[]
 
 /* Whether GDB should display formals and return types for functions in the
    overloads selection menu.  */
-static int print_signatures = 1;
+static bool print_signatures = true;
 
 /* Print the signature for SYM on STREAM according to the FLAGS options.  For
    all but functions, the signature is just the name of the symbol.  For
@@ -5993,7 +5981,7 @@ is_name_suffix (const char *str)
 static int
 is_valid_name_for_wild_match (const char *name0)
 {
-  const char *decoded_name = ada_decode (name0);
+  std::string decoded_name = ada_decode (name0);
   int i;
 
   /* If the decoded name starts with an angle bracket, it means that
@@ -6233,19 +6221,16 @@ ada_lookup_name_info::matches
   if (strncmp (sym_name, text, text_len) == 0)
     match = true;
 
+  std::string decoded_name = ada_decode (sym_name);
   if (match && !m_encoded_p)
     {
       /* One needed check before declaring a positive match is to verify
          that iff we are doing a verbatim match, the decoded version
          of the symbol name starts with '<'.  Otherwise, this symbol name
          is not a suitable completion.  */
-      const char *sym_name_copy = sym_name;
-      bool has_angle_bracket;
 
-      sym_name = ada_decode (sym_name);
-      has_angle_bracket = (sym_name[0] == '<');
+      bool has_angle_bracket = (decoded_name[0] == '<');
       match = (has_angle_bracket == m_verbatim_p);
-      sym_name = sym_name_copy;
     }
 
   if (match && !m_verbatim_p)
@@ -6269,7 +6254,7 @@ ada_lookup_name_info::matches
       /* Since we are doing wild matching, this means that TEXT
          may represent an unqualified symbol name.  We therefore must
          also compare TEXT against the unqualified name of the symbol.  */
-      sym_name = ada_unqualified_name (ada_decode (sym_name));
+      sym_name = ada_unqualified_name (decoded_name.c_str ());
 
       if (strncmp (sym_name, text, text_len) == 0)
 	match = true;
@@ -9299,7 +9284,7 @@ ada_is_string_type (struct type *type)
 
    Set to True if the debugger should trust the contents of PAD types.
    Otherwise, ignore the PAD type if there is a parallel XVS type.  */
-static int trust_pad_over_xvs = 1;
+static bool trust_pad_over_xvs = true;
 
 /* True if TYPE is a struct type introduced by the compiler to force the
    alignment of a value.  Such types have a single field with a
@@ -13494,7 +13479,7 @@ static bool
 name_matches_regex (const char *name, compiled_regex *preg)
 {
   return (preg == NULL
-	  || preg->exec (ada_decode (name), 0, NULL, 0) == 0);
+	  || preg->exec (ada_decode (name).c_str (), 0, NULL, 0) == 0);
 }
 
 /* Add all exceptions defined globally whose name name match
@@ -13527,8 +13512,8 @@ ada_add_global_exceptions (compiled_rege
 			   lookup_name_info::match_any (),
 			   [&] (const char *search_name)
 			   {
-			     const char *decoded = ada_decode (search_name);
-			     return name_matches_regex (decoded, preg);
+			     std::string decoded = ada_decode (search_name);
+			     return name_matches_regex (decoded.c_str (), preg);
 			   },
 			   NULL,
 			   VARIABLES_DOMAIN);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/ada-lang.h ./gdb/ada-lang.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/ada-lang.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/ada-lang.h	2019-09-24 01:49:11.000000000 +0000
@@ -227,7 +227,7 @@ extern struct type *ada_get_decoded_type
 
 extern const char *ada_decode_symbol (const struct general_symbol_info *);
 
-extern const char *ada_decode (const char*);
+extern std::string ada_decode (const char*);
 
 extern enum language ada_update_initial_language (enum language);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/ada-tasks.c ./gdb/ada-tasks.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/ada-tasks.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/ada-tasks.c	2019-09-24 01:49:11.000000000 +0000
@@ -1199,7 +1199,7 @@ info_task (struct ui_out *uiout, const c
 
   /* Print the name of the task.  */
   if (task_info->name[0] != '\0')
-    printf_filtered (_("Name: \"%s\"\n"), task_info->name);
+    printf_filtered (_("Name: %s\n"), task_info->name);
   else
     printf_filtered (_("<no name>\n"));
 
@@ -1220,7 +1220,7 @@ info_task (struct ui_out *uiout, const c
 
       printf_filtered (_("Parent: %d"), parent_taskno);
       if (parent->name[0] != '\0')
-        printf_filtered (" (\"%s\")", parent->name);
+        printf_filtered (" (%s)", parent->name);
       printf_filtered ("\n");
     }
   else
@@ -1253,7 +1253,7 @@ info_task (struct ui_out *uiout, const c
         ada_task_info *target_task_info = &data->task_list[target_taskno - 1];
 
         if (target_task_info->name[0] != '\0')
-          printf_filtered (" (\"%s\")", target_task_info->name);
+          printf_filtered (" (%s)", target_task_info->name);
       }
 
     printf_filtered ("\n");
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/ada-varobj.c ./gdb/ada-varobj.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/ada-varobj.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/ada-varobj.c	2019-09-24 01:49:11.000000000 +0000
@@ -624,6 +624,7 @@ ada_varobj_describe_simple_array_child (
 	 of the array index type when such type qualification is
 	 needed.  */
       const char *index_type_name = NULL;
+      std::string decoded;
 
       /* If the index type is a range type, find the base type.  */
       while (TYPE_CODE (index_type) == TYPE_CODE_RANGE)
@@ -634,7 +635,10 @@ ada_varobj_describe_simple_array_child (
 	{
 	  index_type_name = ada_type_name (index_type);
 	  if (index_type_name)
-	    index_type_name = ada_decode (index_type_name);
+	    {
+	      decoded = ada_decode (index_type_name);
+	      index_type_name = decoded.c_str ();
+	    }
 	}
 
       if (index_type_name != NULL)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/alpha-linux-nat.c ./gdb/alpha-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/alpha-linux-nat.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/alpha-linux-nat.c	2019-09-24 01:49:11.000000000 +0000
@@ -22,6 +22,7 @@
 #include "linux-nat-trad.h"
 
 #include "alpha-tdep.h"
+#include "gdbarch.h"
 
 #include "nat/gdb_ptrace.h"
 #include <alpha/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-8.3.50.20190917/gdb/amd64-dicos-tdep.c ./gdb/amd64-dicos-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/amd64-dicos-tdep.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/amd64-dicos-tdep.c	2019-09-24 01:49:11.000000000 +0000
@@ -35,7 +35,7 @@ amd64_dicos_init_abi (struct gdbarch_inf
 static enum gdb_osabi
 amd64_dicos_osabi_sniffer (bfd *abfd)
 {
-  char *target_name = bfd_get_target (abfd);
+  const char *target_name = bfd_get_target (abfd);
 
   /* On amd64-DICOS, the Load Module's "header" section is 72
      bytes.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/arch/aarch64-insn.c ./gdb/arch/aarch64-insn.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/arch/aarch64-insn.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/arch/aarch64-insn.c	2019-09-24 01:49:11.000000000 +0000
@@ -20,7 +20,7 @@
 #include "aarch64-insn.h"
 
 /* Toggle this file's internal debugging dump.  */
-int aarch64_debug = 0;
+bool aarch64_debug = false;
 
 /* Extract a signed value from a bit field within an instruction
    encoding.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/arch/aarch64-insn.h ./gdb/arch/aarch64-insn.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/arch/aarch64-insn.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/arch/aarch64-insn.h	2019-09-24 01:49:11.000000000 +0000
@@ -19,7 +19,7 @@
 #ifndef ARCH_AARCH64_INSN_H
 #define ARCH_AARCH64_INSN_H
 
-extern int aarch64_debug;
+extern bool aarch64_debug;
 
 /* List of opcodes that we need for building the jump pad and relocating
    an instruction.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/arch/ppc-linux-common.c ./gdb/arch/ppc-linux-common.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/arch/ppc-linux-common.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/arch/ppc-linux-common.c	2019-09-24 01:49:11.000000000 +0000
@@ -50,9 +50,7 @@ ppc_linux_match_description (struct ppc_
 
   if (features.wordsize == 8)
     {
-      if (features.cell)
-	tdesc = tdesc_powerpc_cell64l;
-      else if (features.vsx)
+      if (features.vsx)
 	tdesc = (features.htm? tdesc_powerpc_isa207_htm_vsx64l
 		 : features.isa207? tdesc_powerpc_isa207_vsx64l
 		 : features.ppr_dscr? tdesc_powerpc_isa205_ppr_dscr_vsx64l
@@ -69,9 +67,7 @@ ppc_linux_match_description (struct ppc_
     {
       gdb_assert (features.wordsize == 4);
 
-      if (features.cell)
-	tdesc = tdesc_powerpc_cell32l;
-      else if (features.vsx)
+      if (features.vsx)
 	tdesc = (features.htm? tdesc_powerpc_isa207_htm_vsx32l
 		 : features.isa207? tdesc_powerpc_isa207_vsx32l
 		 : features.ppr_dscr? tdesc_powerpc_isa205_ppr_dscr_vsx32l
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/arch/ppc-linux-common.h ./gdb/arch/ppc-linux-common.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/arch/ppc-linux-common.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/arch/ppc-linux-common.h	2019-09-24 01:49:11.000000000 +0000
@@ -58,7 +58,6 @@ struct ppc_linux_features
   bool ppr_dscr;
   bool isa207;
   bool htm;
-  bool cell;
 };
 
 /* Base value for ppc_linux_features variables.  */
@@ -70,7 +69,6 @@ const struct ppc_linux_features ppc_linu
   false,
   false,
   false,
-  false,
 };
 
 /* Return a target description that matches FEATURES.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/arch/ppc-linux-tdesc.h ./gdb/arch/ppc-linux-tdesc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/arch/ppc-linux-tdesc.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/arch/ppc-linux-tdesc.h	2019-09-24 01:49:11.000000000 +0000
@@ -24,7 +24,6 @@ struct target_desc;
 
 extern struct target_desc *tdesc_powerpc_32l;
 extern struct target_desc *tdesc_powerpc_altivec32l;
-extern struct target_desc *tdesc_powerpc_cell32l;
 extern struct target_desc *tdesc_powerpc_vsx32l;
 extern struct target_desc *tdesc_powerpc_isa205_32l;
 extern struct target_desc *tdesc_powerpc_isa205_altivec32l;
@@ -36,7 +35,6 @@ extern struct target_desc *tdesc_powerpc
 
 extern struct target_desc *tdesc_powerpc_64l;
 extern struct target_desc *tdesc_powerpc_altivec64l;
-extern struct target_desc *tdesc_powerpc_cell64l;
 extern struct target_desc *tdesc_powerpc_vsx64l;
 extern struct target_desc *tdesc_powerpc_isa205_64l;
 extern struct target_desc *tdesc_powerpc_isa205_altivec64l;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/arm-linux-nat.c ./gdb/arm-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/arm-linux-nat.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/arm-linux-nat.c	2019-09-24 01:49:11.000000000 +0000
@@ -66,8 +66,6 @@
 #define PTRACE_SETHBPREGS 30
 #endif
 
-extern int arm_apcs_32;
-
 class arm_linux_nat_target final : public linux_nat_target
 {
 public:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/arm-linux-tdep.c ./gdb/arm-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/arm-linux-tdep.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/arm-linux-tdep.c	2019-09-24 01:49:11.000000000 +0000
@@ -56,7 +56,6 @@
 #include "user-regs.h"
 #include <ctype.h>
 #include "elf/common.h"
-extern int arm_apcs_32;
 
 /* Under ARM GNU/Linux the traditional way of performing a breakpoint
    is to execute a particular software interrupt, rather than use a
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/arm-nbsd-nat.c ./gdb/arm-nbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/arm-nbsd-nat.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/arm-nbsd-nat.c	2019-09-24 01:49:11.000000000 +0000
@@ -40,8 +40,6 @@ public:
 
 static arm_netbsd_nat_target the_arm_netbsd_nat_target;
 
-extern int arm_apcs_32;
-
 static void
 arm_supply_gregset (struct regcache *regcache, struct reg *gregset)
 {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/arm-tdep.c ./gdb/arm-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/arm-tdep.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/arm-tdep.c	2019-09-24 01:49:11.000000000 +0000
@@ -65,7 +65,7 @@
 #include "gdbsupport/selftest.h"
 #endif
 
-static int arm_debug;
+static bool arm_debug;
 
 /* Macros for setting and testing a bit in a minimal symbol that marks
    it as Thumb function.  The MSB of the minimal symbol's "info" field
@@ -294,9 +294,9 @@ static CORE_ADDR arm_analyze_prologue (s
 
 #define DISPLACED_STEPPING_ARCH_VERSION		5
 
-/* Set to true if the 32-bit mode is in use.  */
+/* See arm-tdep.h.  */
 
-int arm_apcs_32 = 1;
+bool arm_apcs_32 = true;
 
 /* Return the bit mask in ARM_PS_REGNUM that indicates Thumb mode.  */
 
@@ -2009,12 +2009,11 @@ arm_obj_section_from_vma (struct objfile
   struct obj_section *osect;
 
   ALL_OBJFILE_OSECTIONS (objfile, osect)
-    if (bfd_get_section_flags (objfile->obfd,
-			       osect->the_bfd_section) & SEC_ALLOC)
+    if (bfd_section_flags (osect->the_bfd_section) & SEC_ALLOC)
       {
 	bfd_vma start, size;
-	start = bfd_get_section_vma (objfile->obfd, osect->the_bfd_section);
-	size = bfd_get_section_size (osect->the_bfd_section);
+	start = bfd_section_vma (osect->the_bfd_section);
+	size = bfd_section_size (osect->the_bfd_section);
 
 	if (start <= vma && vma < start + size)
 	  return osect;
@@ -2054,8 +2053,8 @@ arm_exidx_new_objfile (struct objfile *o
   gdb::byte_vector exidx_data;
   if (exidx)
     {
-      exidx_vma = bfd_section_vma (objfile->obfd, exidx);
-      exidx_data.resize (bfd_get_section_size (exidx));
+      exidx_vma = bfd_section_vma (exidx);
+      exidx_data.resize (bfd_section_size (exidx));
 
       if (!bfd_get_section_contents (objfile->obfd, exidx,
 				     exidx_data.data (), 0,
@@ -2067,8 +2066,8 @@ arm_exidx_new_objfile (struct objfile *o
   gdb::byte_vector extab_data;
   if (extab)
     {
-      extab_vma = bfd_section_vma (objfile->obfd, extab);
-      extab_data.resize (bfd_get_section_size (extab));
+      extab_vma = bfd_section_vma (extab);
+      extab_data.resize (bfd_section_size (extab));
 
       if (!bfd_get_section_contents (objfile->obfd, extab,
 				     extab_data.data (), 0,
@@ -2100,7 +2099,7 @@ arm_exidx_new_objfile (struct objfile *o
       sec = arm_obj_section_from_vma (objfile, idx);
       if (sec == NULL)
 	continue;
-      idx -= bfd_get_section_vma (objfile->obfd, sec->the_bfd_section);
+      idx -= bfd_section_vma (sec->the_bfd_section);
 
       /* Determine address of exception table entry.  */
       if (val == 1)
@@ -8575,7 +8574,7 @@ arm_record_special_symbol (struct gdbarc
     data = arm_objfile_data_key.emplace (objfile,
 					 objfile->obfd->section_count);
   arm_mapping_symbol_vec &map
-    = data->section_maps[bfd_get_section (sym)->index];
+    = data->section_maps[bfd_asymbol_section (sym)->index];
 
   new_map_sym.value = sym->value;
   new_map_sym.type = name[1];
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/arm-tdep.h ./gdb/arm-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/arm-tdep.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/arm-tdep.h	2019-09-24 01:49:11.000000000 +0000
@@ -26,6 +26,10 @@ struct get_next_pcs;
 struct arm_get_next_pcs;
 struct gdb_get_next_pcs;
 
+/* Set to true if the 32-bit mode is in use.  */
+
+extern bool arm_apcs_32;
+
 #include "gdbarch.h"
 #include "arch/arm.h"
 #include "infrun.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/auto-load.c ./gdb/auto-load.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/auto-load.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/auto-load.c	2019-09-24 01:49:11.000000000 +0000
@@ -61,7 +61,7 @@ static void maybe_print_script_not_found
    const char *section_name, unsigned offset);
 
 /* Value of the 'set debug auto-load' configuration variable.  */
-static int debug_auto_load = 0;
+static bool debug_auto_load = false;
 
 /* "show" command for the debug_auto_load configuration variable.  */
 
@@ -79,7 +79,7 @@ show_debug_auto_load (struct ui_file *fi
    set auto-load gdb-scripts on|off
    This is true if we should auto-load associated scripts when an objfile
    is opened, false otherwise.  */
-static int auto_load_gdb_scripts = 1;
+static bool auto_load_gdb_scripts = true;
 
 /* "show" command for the auto_load_gdb_scripts configuration variable.  */
 
@@ -110,16 +110,16 @@ auto_load_gdb_scripts_enabled (const str
    This flag exists to facilitate deferring auto-loading during start-up
    until after ./.gdbinit has been read; it may augment the search directories
    used to find the scripts.  */
-int global_auto_load = 1;
+bool global_auto_load = true;
 
 /* Auto-load .gdbinit file from the current directory?  */
-int auto_load_local_gdbinit = 1;
+bool auto_load_local_gdbinit = true;
 
 /* Absolute pathname to the current directory .gdbinit, if it exists.  */
 char *auto_load_local_gdbinit_pathname = NULL;
 
-/* Boolean value if AUTO_LOAD_LOCAL_GDBINIT_PATHNAME has been loaded.  */
-int auto_load_local_gdbinit_loaded = 0;
+/* if AUTO_LOAD_LOCAL_GDBINIT_PATHNAME has been loaded.  */
+bool auto_load_local_gdbinit_loaded = false;
 
 /* "show" command for the auto_load_local_gdbinit configuration variable.  */
 
@@ -1116,7 +1116,7 @@ auto_load_section_scripts (struct objfil
 
   scripts_sect = bfd_get_section_by_name (abfd, section_name);
   if (scripts_sect == NULL
-      || (bfd_get_section_flags (abfd, scripts_sect) & SEC_HAS_CONTENTS) == 0)
+      || (bfd_section_flags (scripts_sect) & SEC_HAS_CONTENTS) == 0)
     return;
 
   if (!bfd_get_full_section_contents (abfd, scripts_sect, &data))
@@ -1128,7 +1128,7 @@ auto_load_section_scripts (struct objfil
 
       char *p = (char *) data;
       source_section_scripts (objfile, section_name, p,
-			      p + bfd_get_section_size (scripts_sect));
+			      p + bfd_section_size (scripts_sect));
     }
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/auto-load.h ./gdb/auto-load.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/auto-load.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/auto-load.h	2019-09-24 01:49:11.000000000 +0000
@@ -25,11 +25,11 @@ struct program_space;
 struct auto_load_pspace_info;
 struct extension_language_defn;
 
-extern int global_auto_load;
+extern bool global_auto_load;
 
-extern int auto_load_local_gdbinit;
+extern bool auto_load_local_gdbinit;
 extern char *auto_load_local_gdbinit_pathname;
-extern int auto_load_local_gdbinit_loaded;
+extern bool auto_load_local_gdbinit_loaded;
 
 extern struct auto_load_pspace_info *
   get_auto_load_pspace_data_for_loading (struct program_space *pspace);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/block.c ./gdb/block.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/block.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/block.c	2019-09-24 01:49:11.000000000 +0000
@@ -86,7 +86,7 @@ contained_in (const struct block *a, con
     }
   while (a != NULL);
 
-  return true;
+  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-8.3.50.20190917/gdb/breakpoint.c ./gdb/breakpoint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/breakpoint.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/breakpoint.c	2019-09-24 01:49:11.000000000 +0000
@@ -290,7 +290,7 @@ static char *dprintf_channel;
 
 /* True if dprintf commands should continue to operate even if GDB
    has disconnected.  */
-static int disconnected_dprintf = 1;
+static bool disconnected_dprintf = true;
 
 struct command_line *
 breakpoint_commands (struct breakpoint *b)
@@ -301,7 +301,7 @@ breakpoint_commands (struct breakpoint *
 /* Flag indicating that a command has proceeded the inferior past the
    current breakpoint.  */
 
-static int breakpoint_proceeded;
+static bool breakpoint_proceeded;
 
 const char *
 bpdisp_text (enum bpdisp disp)
@@ -346,11 +346,11 @@ show_pending_break_support (struct ui_fi
 		    value);
 }
 
-/* If 1, gdb will automatically use hardware breakpoints for breakpoints
+/* If true, gdb will automatically use hardware breakpoints for breakpoints
    set with "break" but falling in read-only memory.
-   If 0, gdb will warn about such breakpoints, but won't automatically
+   If false, gdb will warn about such breakpoints, but won't automatically
    use hardware breakpoints.  */
-static int automatic_hardware_breakpoints;
+static bool automatic_hardware_breakpoints;
 static void
 show_automatic_hardware_breakpoints (struct ui_file *file, int from_tty,
 				     struct cmd_list_element *c,
@@ -368,7 +368,7 @@ show_automatic_hardware_breakpoints (str
    breakpoints until the next resume, and removes them again when the
    target fully stops.  This is a bit safer in case GDB crashes while
    processing user input.  */
-static int always_inserted_mode = 0;
+static bool always_inserted_mode = false;
 
 static void
 show_always_inserted_mode (struct ui_file *file, int from_tty,
@@ -477,7 +477,7 @@ static int executing_breakpoint_commands
 static int overlay_events_enabled;
 
 /* See description in breakpoint.h. */
-int target_exact_watchpoints = 0;
+bool target_exact_watchpoints = false;
 
 /* Walk the following statement or block through all breakpoints.
    ALL_BREAKPOINTS_SAFE does so even if the statement deletes the
@@ -1727,7 +1727,7 @@ update_watchpoint (struct watchpoint *b,
 	 to the user when the old value and the new value may actually
 	 be completely different objects.  */
       b->val = NULL;
-      b->val_valid = 0;
+      b->val_valid = false;
 
       /* Note that unlike with breakpoints, the watchpoint's condition
 	 expression is stored in the breakpoint object, not in the
@@ -1780,7 +1780,7 @@ update_watchpoint (struct watchpoint *b,
 	  if (b->val_bitsize != 0)
 	    v = extract_bitfield_from_watchpoint_value (b, v);
 	  b->val = release_value (v);
-	  b->val_valid = 1;
+	  b->val_valid = true;
 	}
 
       frame_pspace = get_frame_program_space (get_selected_frame (NULL));
@@ -3900,7 +3900,7 @@ breakpoint_init_inferior (enum inf_conte
 		  /* Reset val field to force reread of starting value in
 		     insert_breakpoints.  */
 		  w->val.reset (nullptr);
-		  w->val_valid = 0;
+		  w->val_valid = false;
 		}
 	    }
 	}
@@ -4877,7 +4877,7 @@ watchpoint_check (bpstat bs)
 	{
 	  bs->old_val = b->val;
 	  b->val = release_value (new_val);
-	  b->val_valid = 1;
+	  b->val_valid = true;
 	  if (new_val != NULL)
 	    value_free_to_mark (mark);
 	  return WP_VALUE_CHANGED;
@@ -10717,7 +10717,7 @@ watch_command_1 (const char *arg, int ac
       w->val = val;
       w->val_bitpos = saved_bitpos;
       w->val_bitsize = saved_bitsize;
-      w->val_valid = 1;
+      w->val_valid = true;
     }
 
   if (cond_start)
@@ -14375,7 +14375,7 @@ invalidate_bp_value_on_memory_change (st
 		  && addr + len > loc->address)
 		{
 		  wp->val = NULL;
-		  wp->val_valid = 0;
+		  wp->val_valid = false;
 		}
 	  }
       }
@@ -15954,7 +15954,7 @@ Usage: agent-printf \"format string\", A
 This supports most C printf format specifications, like %s, %d, etc.\n\
 This is useful for formatted output in user-defined commands."));
 
-  automatic_hardware_breakpoints = 1;
+  automatic_hardware_breakpoints = true;
 
   gdb::observers::about_to_proceed.attach (breakpoint_about_to_proceed);
   gdb::observers::thread_exit.attach (remove_threaded_breakpoints);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/breakpoint.h ./gdb/breakpoint.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/breakpoint.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/breakpoint.h	2019-09-24 01:49:11.000000000 +0000
@@ -387,17 +387,17 @@ public:
   /* Is this particular location enabled.  */
   bool enabled = false;
   
-  /* Nonzero if this breakpoint is now inserted.  */
+  /* True if this breakpoint is now inserted.  */
   bool inserted = false;
 
-  /* Nonzero if this is a permanent breakpoint.  There is a breakpoint
+  /* True if this is a permanent breakpoint.  There is a breakpoint
      instruction hard-wired into the target's code.  Don't try to
      write another breakpoint instruction on top of it, or restore its
      value.  Step over it using the architecture's
      gdbarch_skip_permanent_breakpoint method.  */
   bool permanent = false;
 
-  /* Nonzero if this is not the first breakpoint in the list
+  /* True if this is not the first breakpoint in the list
      for the given address.  location of tracepoint can _never_
      be duplicated with other locations of tracepoints and other
      kinds of breakpoints, because two locations at the same
@@ -675,7 +675,7 @@ enum watchpoint_triggered
    only one register per watchpoint, thus assuming that all acesses that
    modify a memory location happen at its starting address. */
 
-extern int target_exact_watchpoints;
+extern bool target_exact_watchpoints;
 
 /* Note that the ->silent field is not currently used by any commands
    (though the code is in there if it was to be, and set_raw_breakpoint
@@ -817,9 +817,10 @@ struct watchpoint : public breakpoint
      we do not know the value yet or the value was not readable.  VAL
      is never lazy.  */
   value_ref_ptr val;
-  /* Nonzero if VAL is valid.  If VAL_VALID is set but VAL is NULL,
+
+  /* True if VAL is valid.  If VAL_VALID is set but VAL is NULL,
      then an error occurred reading the value.  */
-  int val_valid;
+  bool val_valid;
 
   /* When watching the location of a bitfield, contains the offset and size of
      the bitfield.  Otherwise contains 0.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/btrace.c ./gdb/btrace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/btrace.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/btrace.c	2019-09-24 01:49:11.000000000 +0000
@@ -51,7 +51,7 @@ static struct cmd_list_element *maint_bt
 static struct cmd_list_element *maint_btrace_pt_show_cmdlist;
 
 /* Control whether to skip PAD packets when computing the packet history.  */
-static int maint_btrace_pt_skip_pad = 1;
+static bool maint_btrace_pt_skip_pad = true;
 
 static void btrace_add_pc (struct thread_info *tp);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/ChangeLog ./gdb/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/ChangeLog	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/ChangeLog	2019-09-24 01:49:11.000000000 +0000
@@ -1,3 +1,684 @@
+2019-09-23  Dimitar Dimitrov  <dimitar@dinux.eu>
+
+	* NEWS: Mention new simulator port for PRU.
+
+2019-09-23  Christian Biesinger  <cbiesinger@google.com>
+
+	* ada-exp.y (write_object_remaining): Update.
+	* ada-lang.c (ada_decode): Return a std::string instead of a char*
+	and eliminate the static buffer.
+	(ada_decode_symbol): Update.
+	(ada_la_decode): Update.
+	(ada_sniff_from_mangled_name): Update.
+	(is_valid_name_for_wild_match): Update.
+	(ada_lookup_name_info::matches): Update and simplify.
+	(name_matches_regex): Update.
+	(ada_add_global_exceptions): Update.
+	* ada-lang.h (ada_decode): Update signature.
+	* ada-varobj.c (ada_varobj_describe_simple_array_child): Update.
+	* dwarf-index-write.c (debug_names::insert): Update.
+
+2019-09-21  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* solib-svr4.c (svr4_iterate_over_objfiles_in_search_order): Fix
+	formatting.
+
+2019-09-21  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* breakpoint.h (bp_location) <inserted, permanent, duplicate>:
+	Change "nonzero" to "true" in documentation.
+
+2019-09-20  Christian Biesinger  <cbiesinger@google.com>
+
+	* solib-darwin.c (darwin_lookup_lib_symbol): Remove.
+	(_initialize_darwin_solib): Don't set
+	darwin_so_ops.lookup_lib_global_symbol.
+	* solib-svr4.c (set_solib_svr4_fetch_link_map_offsets): Call
+	set_gdbarch_iterate_over_objfiles_in_search_order.
+	(elf_lookup_lib_symbol): Rename to...
+	(svr4_iterate_over_objfiles_in_search_order): this, and update
+	to iterate semantics.
+	(_initialize_svr4_solib): Don't set lookup_lib_global_symbol.
+	* solib.c (solib_global_lookup): Remove.
+	* solist.h (struct target_so_ops): Remove lookup_lib_global_symbol.
+	(solib_global_lookup): Remove.
+	* symtab.c (lookup_global_or_static_symbol): Remove call to
+	solib_global_lookup.
+
+2019-09-20  Joel Brobecker  <brobecker@adacore.com>
+
+	* NEWS: Move entries about default MI version now being
+	version 3, and about the GDB/MI fix for multi-location
+	breakpoints to the "since GDB 8.3" section.
+
+2019-09-20  Joel Brobecker  <brobecker@adacore.com>
+
+	GDB 8.3.1 released.
+
+2019-09-20  Ulrich Weigand  <uweigand@de.ibm.com>
+
+	* NEWS: Mention that Cell/B.E. debugging support was removed.
+	* MAINTAINERS: Remove spu target.
+
+	* config/djgpp/fnchange.lst: Remove entries for removed files.
+
+	* Makefile.in (ALL_TARGET_OBS): Remove solib-spu.o,
+	spu-multiarch.o, and spu-tdep.o.
+	(HFILES_NO_SRCDIR): Remove solib-spu.h and spu-tdep.h.
+	(ALLDEPFILES): Remove solib-spu.c, spu-linux-nat.c,
+	spu-multiarch.c, and spu-tdep.c.
+	* spu-linux-nat.c: Remove file.
+	* spu-multiarch.c: Remove file.
+	* spu-tdep.c: Remove file.
+	* spu-tdep.h: Remove file.
+	* solib-spu.c: Remove file.
+	* solib-spu.h: Remove file.
+
+	* configure.host (powerpc64*-*-linux*): Remove Cell/B.E. support.
+	* configure.nat (spu-linux): Remove.
+	* configure.tgt (powerpc*-*-linux*): Remove solib-spu.o and
+	solib-multiarch.o from gdb_target_obs.
+	(spu*-*-*): Remove.
+
+	* arch/ppc-linux-common.h (struct ppc_linux_features): Remove "cell"
+	feature flag.
+	(ppc_linux_no_features): Update.
+	* arch/ppc-linux-common.c (ppc_linux_match_description): Remove
+	Cell/B.E. support.
+	* arch/ppc-linux-tdesc.h (tdesc_powerpc_cell32l): Remove declaration.
+	(tdesc_powerpc_cell64l): Likewise.
+	* nat/ppc-linux.h (PPC_FEATURE_CELL): Remove.
+	* ppc-linux-nat.c (ppc_linux_nat_target::read_description): Remove
+	Cell/B.E. support.
+	* ppc-linux-tdep.h: Do not include "solib-spu.h" or "spu-tdep.h".
+	Do not include "features/rs6000/powerpc-cell32l.c" or
+	"features/rs6000/powerpc-cell64l.c".
+	(ppc_linux_spu_section): Remove.
+	(ppc_linux_core_read_description): Remove Cell/B.E. support.
+	(spe_context_objfile, spe_context_lm_addr, spe_context_offset,
+	spe_context_cache_ptid, spe_context_cache_ptid): Remove.
+	(ppc_linux_spe_context_lookup): Remove.
+	(ppc_linux_spe_context_inferior_created): Remove.
+	(ppc_linux_spe_context_solib_loaded): Remove.
+	(ppc_linux_spe_context_solib_unloaded): Remove.
+	(ppc_linux_spe_context): Remove.
+	(struct ppu2spu_cache): Remove.
+	(ppu2spu_prev_arch, ppu2spu_this_id, ppu2spu_prev_register): Remove.
+	(struct ppu2spu_data): Remove.
+	(ppu2spu_unwind_register, ppu2spu_sniffer, ppu2spu_dealloc_cache,
+	ppu2spu_unwind): Remove.
+	(ppc_linux_init_abi): Remove Cell/B.E. support.
+	* rs6000-tdep.h (rs6000_gdbarch_init): Remove Cell/B.E. support.
+
+	* features/Makefile (rs6000/powerpc-cell32l-expedite): Remove.
+	(rs6000/powerpc-cell64l-expedite): Likewise
+	(WHICH): Remove rs6000/powerpc-cell32l and rs6000/powerpc-cell64l.
+	(XMLTOC): Remove rs6000/powerpc-cell32l.xml and
+	rs6000/powerpc-cell64l.xml.
+	* features/rs6000/powerpc-cell32l.xml: Remove.
+	* features/rs6000/powerpc-cell64l.xml: Likewise.
+	* features/rs6000/powerpc-cell32l.c: Remove generated file.
+	* features/rs6000/powerpc-cell64l.c: Likewise.
+	* regformats/rs6000/powerpc-cell32l.dat: Remove generated file.
+	* regformats/rs6000/powerpc-cell64l.dat: Likewise.
+	* regformats/reg-spu.dat: Remove.
+
+	* target.h (enum target_object): Remove TARGET_OBJECT_SPU.
+	* corelow.c (struct spuid_list): Remove.
+	(add_to_spuid_list): Remove.
+	(core_target::xfer_partial): Remove support for TARGET_OBJECT_SPU.
+	* remote.c (PACKET_qXfer_spu_read, PACKET_qXfer_spu_write): Remove.
+	(remote_protocol_features): Remove associated entries.
+	(_initialize_remote): No longer initialize them.
+	(remote_target::xfer_partial): Remove support for TARGET_OBJECT_SPU.
+	* linux-nat.c (SPUFS_MAGIC): Remove.
+	(linux_proc_xfer_spu): Remove.
+	(spu_enumerate_spu_ids): Remove.
+	(linux_nat_target::xfer_partial): Remove support for TARGET_OBJECT_SPU.
+	* linux-tdep.c (-linux_spu_make_corefile_notes): Remove.
+	(linux_make_corefile_notes): No longer call it.
+
+	* regcache.c (cooked_read_test): Remove bfd_arch_spu special case.
+	(cooked_write_test): Likewise.
+
+2019-09-20  Tom Tromey  <tom@tromey.com>
+
+	* NEWS: Mention case-sensitivity of TUI commands.
+	* tui/tui-win.c (tui_set_focus_command): Now case-sensitive.
+	(tui_set_win_height_command, parse_scrolling_args): Likewise.
+	* tui/tui-layout.c (tui_layout_command): Now case-sensitive.
+
+2019-09-20  Tom Tromey  <tom@tromey.com>
+
+	* tui/tui-source.c (tui_source_window::set_contents): Use
+	make_unique_xstrdup.
+	* tui/tui-disasm.c (tui_disasm_window::set_contents): Use
+	make_unique_xstrdup.
+
+2019-09-20  Tom Tromey  <tom@tromey.com>
+
+	* tui/tui-data.c: Remove separator comments.
+	* tui/tui-layout.c: Remove separator comments.
+	* tui/tui-win.c: Remove separator comments.
+	* tui/tui-wingeneral.c: Remove separator comments.
+
+2019-09-20  Tom Tromey  <tom@tromey.com>
+
+	* tui/tui.h (strcat_to_buf): Don't declare.
+	* tui/tui.c (strcat_to_buf): Remove.
+
+2019-09-20  Tom Tromey  <tom@tromey.com>
+
+	* tui/tui-source.h (struct tui_source_window) <m_fullname>: Rename
+	from "fullname".
+	* tui/tui-source.c (tui_source_window::set_contents)
+	(tui_source_window::location_matches_p)
+	(tui_source_window::maybe_update): Update.
+
+2019-09-20  Tom Tromey  <tom@tromey.com>
+
+	* tui/tui-regs.h (struct tui_data_window) <get_current_group>:
+	Update.
+	<m_regs_content, m_regs_column_count, m_current_group>: Add "m_"
+	prefix.
+	* tui/tui-regs.c (tui_data_window::last_regs_line_no)
+	(tui_data_window::line_from_reg_element_no)
+	(tui_data_window::first_reg_element_no_inline)
+	(tui_data_window::show_registers)
+	(tui_data_window::show_register_group)
+	(tui_data_window::display_registers_from)
+	(tui_data_window::display_registers_from_line)
+	(tui_data_window::first_data_item_displayed)
+	(tui_data_window::delete_data_content_windows)
+	(tui_data_window::erase_data_content)
+	(tui_data_window::do_scroll_vertical)
+	(tui_data_window::refresh_window)
+	(tui_data_window::check_register_values): Update.
+
+2019-09-20  Tom Tromey  <tom@tromey.com>
+
+	* tui/tui-stack.h (MAX_LOCATOR_ELEMENT_LEN): Remove define.
+	(struct tui_locator_window) <full_name, proc_name>: Now
+	std::string.
+	* tui/tui-stack.c (tui_locator_window::make_status_line)
+	(tui_locator_window::set_locator_fullname)
+	(tui_locator_window::set_locator_info): Update.
+	* tui/tui-source.c (tui_source_window::set_contents)
+	(tui_source_window::showing_source_p): Update.
+
+2019-09-20  Tom Tromey  <tom@tromey.com>
+
+	* tui/tui-stack.c (tui_locator_window::set_locator_fullname):
+	Don't call tui_locator_win_info_ptr.
+
+2019-09-20  Tom Tromey  <tom@tromey.com>
+
+	* tui/tui-win.c (tui_resize_all): Don't call refresh.
+
+2019-09-20  Tom Tromey  <tom@tromey.com>
+
+	* tui/tui-win.c (tui_resize_all, tui_adjust_win_heights): Use 1 as
+	height for locator.
+	* tui/tui-stack.c (tui_locator_window::rerender): Call scrollok.
+	* tui/tui-layout.c (show_source_disasm_command, show_data)
+	(show_source_or_disasm_and_command): Use 1 as height for locator.
+
+2019-09-20  Tom Tromey  <tom@tromey.com>
+
+	* tui/tui.c (tui_enable): Update.
+	* tui/tui-win.c (tui_sigwinch_handler, tui_async_resize_screen):
+	Update.
+	* tui/tui-data.h (tui_win_resized, tui_set_win_resized_to):
+	Update.
+	* tui/tui-data.c (win_resized): Now bool.
+	(tui_win_resized): Return bool.
+	(tui_set_win_resized_to): Accept a bool.
+
+2019-09-20  Tom Tromey  <tom@tromey.com>
+
+	* tui/tui-regs.h (struct tui_data_window) <show_register_group>:
+	Change type of "refresh_values_only".
+	* tui/tui-regs.c (tui_data_window::show_register_group): Change
+	type of "refresh_values_only".
+
+2019-09-20  Tom Tromey  <tom@tromey.com>
+
+	* tui/tui-disasm.c (struct tui_asm_line) <addr_string, insn>: Now
+	std::string.
+	(tui_disassemble): Add "pos" parameter.
+	(tui_disasm_window::set_contents): Simplify.
+
+2019-09-20  Tom Tromey  <tom@tromey.com>
+
+	* tui/tui-winsource.h (struct tui_source_window_base)
+	<show_source_content>: Now private.
+	* tui/tui-winsource.c
+	(tui_source_window_base::show_source_content): Don't handle empty
+	content case.
+
+2019-09-20  Tom Tromey  <tom@tromey.com>
+
+	* tui/tui-layout.c (show_source_disasm_command)
+	(show_source_or_disasm_and_command): Don't call
+	show_source_content.
+
+2019-09-20  Tom Tromey  <tom@tromey.com>
+
+	* tui/tui-stack.h (struct tui_locator_window) <make_status_line>:
+	Declare.
+	* tui/tui-stack.c (tui_locator_window::make_status_line): Rename
+	from tui_make_status_line.
+	(tui_locator_window::rerender): Update.
+
+2019-09-20  Tom Tromey  <tom@tromey.com>
+
+	* tui/tui-stack.c (tui_make_status_line): Return std::string.
+	(tui_locator_window::rerender): Update.
+
+2019-09-20  Tom Tromey  <tom@tromey.com>
+
+	* tui/tui-winsource.h (struct tui_source_window_base)
+	<~tui_source_window_base>: Don't declare.
+	<fullname>: Remove.
+	* tui/tui-winsource.c (~tui_source_window_base): Remove.
+	* tui/tui-source.h (struct tui_source_window) <fullname>: New
+	member.
+	* tui/tui-source.c (tui_source_window::set_contents): Update.
+	(tui_source_window::location_matches_p)
+	(tui_source_window::maybe_update): Update.
+
+2019-09-20  Tom Tromey  <tom@tromey.com>
+
+	* tui/tui-winsource.h (~tui_source_element): Remove.
+	(tui_source_element): Update.
+	(struct tui_source_element) <line>: Now a unique_xmalloc_ptr.
+	* tui/tui-winsource.c (tui_show_source_line): Update.
+	* tui/tui-source.c (tui_source_window::set_contents): Update.
+	* tui/tui-disasm.c (tui_disasm_window::set_contents): Update.
+
+2019-09-20  Tom Tromey  <tom@tromey.com>
+
+	* tui/tui-data.h (tui_clear_source_windows_detail): Don't
+	declare.
+	* tui/tui-layout.c (tui_add_win_to_layout): Don't call
+	tui_clear_source_windows_detail.
+	* tui/tui-winsource.h (struct tui_source_window_base)
+	<clear_detail>: Don't declare.
+	* tui/tui-winsource.c (tui_source_window_base::clear_detail):
+	Remove.
+	* tui/tui-data.c (tui_clear_source_windows_detail): Remove.
+
+2019-09-20  Tom Tromey  <tromey@adacore.com>
+
+	PR ada/24919:
+	* block.c (contained_in): Fix final return value.
+
+2019-09-20  Alan Modra  <amodra@gmail.com>
+
+	* gdb_bfd.c (gdb_bfd_ref, gdb_bfd_unref): Use bfd_set_usrdata.
+	* dwarf2read.c (dwarf2_read_gdb_index, dwarf2_read_debug_names),
+	(read_indirect_string_from_dwz): Use bfd accessor.
+	* dwarf2read.h (struct dwz_file <filename>): Likewise.
+	* machoread.c (macho_symfile_read_all_oso): Likewise.
+	* solib.c (solib_bfd_open): Likewise.
+
+2019-09-19  Christian Biesinger  <cbiesinger@google.com>
+
+	* eval.c: Move declaration of overload_resolution to...
+	* value.h: ...here.
+
+2019-09-19  Christian Biesinger  <cbiesinger@google.com>
+
+	* arm-linux-nat.c: Remove extern declaration for arm_apcs_32.
+	* arm-linux-tdep.c: Likewise.
+	* arm-nbsd-nat.c: Likewise.
+	* arm-tdep.h: Declare arm_apcs_32.
+	* arm-tdep.c: Move documentation for arm_apcs_32 to arm-tdep.h.
+
+2019-09-19  Christian Biesinger  <cbiesinger@google.com>
+
+	* dwarf2loc.c: Remove extern declaration of dwarf_always_disassemble.
+	* dwarf2read.h: Declare dwarf_always_disassemble.
+
+2019-09-19  Tom de Vries  <tdevries@suse.de>
+
+	PR gdb/25009
+	* source-cache.c (source_cache::ensure): Catch exception thrown during
+	construction of the highlighter.
+
+2019-09-18  Alan Modra  <amodra@gmail.com>
+
+	* aarch64-linux-tdep.c, * arm-tdep.c, * auto-load.c,
+	* coff-pe-read.c, * coffread.c, * corelow.c, * dbxread.c,
+	* dicos-tdep.c, * dwarf2-frame.c, * dwarf2read.c, * elfread.c,
+	* exec.c, * fbsd-tdep.c, * gcore.c, * gdb_bfd.c, * gdb_bfd.h,
+	* hppa-tdep.c, * i386-cygwin-tdep.c, * i386-fbsd-tdep.c,
+	* i386-linux-tdep.c, * jit.c, * linux-tdep.c, * machoread.c,
+	* maint.c, * mdebugread.c, * minidebug.c, * mips-linux-tdep.c,
+	* mips-sde-tdep.c, * mips-tdep.c, * mipsread.c, * nto-tdep.c,
+	* objfiles.c, * objfiles.h, * osabi.c, * ppc-linux-tdep.c,
+	* ppc64-tdep.c, * record-btrace.c, * record-full.c, * remote.c,
+	* rs6000-aix-tdep.c, * rs6000-tdep.c, * s390-linux-tdep.c,
+	* s390-tdep.c, * solib-aix.c, * solib-dsbt.c, * solib-frv.c,
+	* solib-spu.c, * solib-svr4.c, * solib-target.c,
+	* spu-linux-nat.c, * spu-tdep.c, * symfile-mem.c, * symfile.c,
+	* symmisc.c, * symtab.c, * target.c, * windows-nat.c,
+	* xcoffread.c, * cli/cli-dump.c, * compile/compile-object-load.c,
+	* mi/mi-interp.c: Update throughout for bfd section macro and
+	function changes.
+	* gcore (gcore_create_callback): Use bfd_set_section_lma.
+	* spu-tdep.c (spu_overlay_new_objfile): Likewise.
+
+2019-09-18  Tom Tromey  <tom@tromey.com>
+
+	* NEWS: Add entry.
+	* tui/tui.c (tui_initialize_readline): Set name of keymap.  Do not
+	call rl_initialize.
+	(tui_enable): Do not call rl_initialize.
+
+2019-09-18  Christian Groessler  <chris@groessler.org>
+
+	* alpha-linux-nat.c: Include gdbarch.h.
+
+2019-09-18  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* ui-file.c: Include cli/cli-style.h.
+	(term_cli_styling): Remove cli_styling declaration.
+
+2019-09-18  Alan Modra  <amodra@gmail.com>
+
+	* arm-tdep.c (arm_record_special_symbol): Update bfd_get_section
+	to bfd_asymbol_section.
+
+2019-09-18  Alan Modra  <amodra@gmail.com>
+
+	* amd64-dicos-tdep.c (amd64_dicos_osabi_sniffer): Constify target.
+	* i386-cygwin-tdep.c (i386_cygwin_init_abi): Likewise.
+	* i386-dicos-tdep.c (i386_dicos_osabi_sniffer): Likewise.
+
+2019-09-18  Alan Modra  <amodra@gmail.com>
+
+	* solib-spu.c (spu_bfd_open): Use bfd_set_filename.
+	* spu-linux-nat.c (spu_bfd_open): Likewise.
+
+2019-09-18  Christian Biesinger  <cbiesinger@google.com>
+
+	* dwarf2loc.c: Change extern declaration of dwarf_always_disassemble
+	to bool to match definition in dwarf2read.c.
+
+2019-09-17  Christian Biesinger  <cbiesinger@google.com>
+
+	* ada-lang.c (ada_ignore_descriptive_types_p): Change to bool.
+	(print_signatures): Likewise.
+	(trust_pad_over_xvs): Likewise.
+	* arch/aarch64-insn.c (aarch64_debug): Likewise.
+	* arch/aarch64-insn.h (aarch64_debug): Likewise.
+	* arm-linux-nat.c (arm_apcs_32): Likewise.
+	* arm-linux-tdep.c (arm_apcs_32): Likewise.
+	* arm-nbsd-nat.c (arm_apcs_32): Likewise.
+	* arm-tdep.c (arm_debug): Likewise.
+	(arm_apcs_32): Likewise.
+	* auto-load.c (debug_auto_load): Likewise.
+	(auto_load_gdb_scripts): Likewise.
+	(global_auto_load): Likewise.
+	(auto_load_local_gdbinit): Likewise.
+	(auto_load_local_gdbinit_loaded): Likewise.
+	* auto-load.h (global_auto_load): Likewise.
+	(auto_load_local_gdbinit): Likewise.
+	(auto_load_local_gdbinit_loaded): Likewise.
+	* breakpoint.c (disconnected_dprintf): Likewise.
+	(breakpoint_proceeded): Likewise.
+	(automatic_hardware_breakpoints): Likewise.
+	(always_inserted_mode): Likewise.
+	(target_exact_watchpoints): Likewise.
+	(_initialize_breakpoint): Update.
+	* breakpoint.h (target_exact_watchpoints): Change to bool.
+	* btrace.c (maint_btrace_pt_skip_pad): Likewise.
+	* cli/cli-cmds.c (trace_commands): Likewise.
+	* cli/cli-cmds.h (trace_commands): Likewise.
+	* cli/cli-decode.c (add_setshow_boolean_cmd): Change int* argument
+	to bool*.
+	* cli/cli-logging.c (logging_overwrite): Change to bool.
+	(logging_redirect): Likewise.
+	(debug_redirect): Likewise.
+	* cli/cli-option.h (option_def) <boolean>: Change return type to bool*.
+	(struct boolean_option_def) <get_var_address_cb_>: Change return type
+	to bool.
+	<boolean_option_def>: Update.
+	(struct flag_option_def): Change default type of Context to bool
+	from int.
+	<flag_option_def>: Change return type of var_address_cb_ to bool*.
+	* cli/cli-setshow.c (do_set_command): Cast to bool* instead of int*.
+	(get_setshow_command_value_string): Likewise.
+	* cli/cli-style.c (cli_styling): Change to bool.
+	(source_styling): Likewise.
+	* cli/cli-style.h (source_styling): Likewise.
+	(cli_styling): Likewise.
+	* cli/cli-utils.h (struct qcs_flags) <quiet, cont, silent>: Change
+	to bool.
+	* command.h (var_types): Update comment.
+	(add_setshow_boolean_cmd): Change int* var argument to bool*.
+	* compile/compile-cplus-types.c (debug_compile_cplus_types): Change to
+	bool.
+	(debug_compile_cplus_scopes): Likewise.
+	* compile/compile-internal.h (compile_debug): Likewise.
+	* compile/compile.c (compile_debug): Likewise.
+	(struct compile_options) <raw>: Likewise.
+	* cp-support.c (catch_demangler_crashes): Likewise.
+	* cris-tdep.c (usr_cmd_cris_version_valid): Likewise.
+	(usr_cmd_cris_dwarf2_cfi): Likewise.
+	* csky-tdep.c (csky_debug): Likewise.
+	* darwin-nat.c (enable_mach_exceptions): Likewise.
+	* dcache.c (dcache_enabled_p): Likewise.
+	* defs.h (info_verbose): Likewise.
+	* demangle.c (demangle): Likewise.
+	(asm_demangle): Likewise.
+	* dwarf-index-cache.c (debug_index_cache): Likewise.
+	* dwarf2-frame.c (dwarf2_frame_unwinders_enabled_p): Likewise.
+	* dwarf2-frame.h (dwarf2_frame_unwinders_enabled_p): Likewise.
+	* dwarf2read.c (check_physname): Likewise.
+	(use_deprecated_index_sections): Likewise.
+	(dwarf_always_disassemble): Likewise.
+	* eval.c (overload_resolution): Likewise.
+	* event-top.c (set_editing_cmd_var): Likewise.
+	(exec_done_display_p): Likewise.
+	* event-top.h (set_editing_cmd_var): Likewise.
+	(exec_done_display_p): Likewise.
+	* exec.c (write_files): Likewise.
+	* fbsd-nat.c (debug_fbsd_lwp): Likewise
+	(debug_fbsd_nat): Likewise.
+	* frame.h (struct frame_print_options) <print_raw_frame_arguments>:
+	Likewise.
+	(struct set_backtrace_options) <backtrace_past_main>: Likewise.
+	<backtrace_past_entry> Likewise.
+	* gdb-demangle.h (demangle): Likewise.
+	(asm_demangle): Likewise.
+	* gdb_bfd.c (bfd_sharing): Likewise.
+	* gdbcore.h (write_files): Likewise.
+	* gdbsupport/common-debug.c (show_debug_regs): Likewise.
+	* gdbsupport/common-debug.h (show_debug_regs): Likewise.
+	* gdbthread.h (print_thread_events): Likewise.
+	* gdbtypes.c (opaque_type_resolution): Likewise.
+	(strict_type_checking): Likewise.
+	* gnu-nat.c (gnu_debug_flag): Likewise.
+	* guile/scm-auto-load.c (auto_load_guile_scripts): Likewise.
+	* guile/scm-param.c (pascm_variable): Add boolval.
+	(add_setshow_generic): Update.
+	(pascm_param_value): Update.
+	(pascm_set_param_value_x): Update.
+	* hppa-tdep.c (hppa_debug): Change to bool..
+	* infcall.c (may_call_functions_p): Likewise.
+	(coerce_float_to_double_p): Likewise.
+	(unwind_on_signal_p): Likewise.
+	(unwind_on_terminating_exception_p): Likewise.
+	* infcmd.c (startup_with_shell): Likewise.
+	* inferior.c (print_inferior_events): Likewise.
+	* inferior.h (startup_with_shell): Likewise.
+	(print_inferior_events): Likewise.
+	* infrun.c (step_stop_if_no_debug): Likewise.
+	(detach_fork): Likewise.
+	(debug_displaced): Likewise.
+	(disable_randomization): Likewise.
+	(non_stop): Likewise.
+	(non_stop_1): Likewise.
+	(observer_mode): Likewise.
+	(observer_mode_1): Likewise.
+	(set_observer_mode): Update.
+	(sched_multi): Change to bool.
+	* infrun.h (debug_displaced): Likewise.
+	(sched_multi): Likewise.
+	(step_stop_if_no_debug): Likewise.
+	(non_stop): Likewise.
+	(disable_randomization): Likewise.
+	* linux-tdep.c (use_coredump_filter): Likewise.
+	(dump_excluded_mappings): Likewise.
+	* linux-thread-db.c (auto_load_thread_db): Likewise.
+	(check_thread_db_on_load): Likewise.
+	* main.c (captured_main_1): Update.
+	* maint-test-options.c (struct test_options_opts) <flag_opt, xx1_opt,
+	xx2_opt, boolean_opt>: Change to bool.
+	* maint-test-settings.c (maintenance_test_settings_boolean): Likewise.
+	* maint.c (maintenance_profile_p): Likewise.
+	(per_command_time): Likewise.
+	(per_command_space): Likewise.
+	(per_command_symtab): Likewise.
+	* memattr.c (inaccessible_by_default): Likewise.
+	* mi/mi-main.c (mi_async): Likewise.
+	(mi_async_1): Likewise.
+	* mips-tdep.c (mips64_transfers_32bit_regs_p): Likewise.
+	* nat/fork-inferior.h (startup_with_shell): Likewise.
+	* nat/linux-namespaces.c (debug_linux_namespaces): Likewise.
+	* nat/linux-namespaces.h (debug_linux_namespaces): Likewise.
+	* nios2-tdep.c (nios2_debug): Likewise.
+	* or1k-tdep.c (or1k_debug): Likewise.
+	* parse.c (parser_debug): Likewise.
+	* parser-defs.h (parser_debug): Likewise.
+	* printcmd.c (print_symbol_filename): Likewise.
+	* proc-api.c (procfs_trace): Likewise.
+	* python/py-auto-load.c (auto_load_python_scripts): Likewise.
+	* python/py-param.c (union parmpy_variable): Add "bool boolval" field.
+	(set_parameter_value): Update.
+	(add_setshow_generic): Update.
+	* python/py-value.c (copy_py_bool_obj): Change argument from int*
+	to bool*.
+	* python/python.c (gdbpy_parameter_value): Cast to bool* instead of
+	int*.
+	* ravenscar-thread.c (ravenscar_task_support): Change to bool.
+	* record-btrace.c (record_btrace_target::store_registers): Update.
+	* record-full.c (record_full_memory_query): Change to bool.
+	(record_full_stop_at_limit): Likewise.
+	* record-full.h (record_full_memory_query): Likewise.
+	* remote-notif.c (notif_debug): Likewise.
+	* remote-notif.h (notif_debug): Likewise.
+	* remote.c (use_range_stepping): Likewise.
+	(interrupt_on_connect): Likewise.
+	(remote_break): Likewise.
+	* ser-tcp.c (tcp_auto_retry): Likewise.
+	* ser-unix.c (serial_hwflow): Likewise.
+	* skip.c (debug_skip): Likewise.
+	* solib-aix.c (solib_aix_debug): Likewise.
+	* spu-tdep.c (spu_stop_on_load_p): Likewise.
+	(spu_auto_flush_cache_p): Likewise.
+	* stack.c (struct backtrace_cmd_options) <full, no_filters, hide>:
+	Likewise.
+	(struct info_print_options) <quiet>: Likewise.
+	* symfile-debug.c (debug_symfile): Likewise.
+	* symfile.c (auto_solib_add): Likewise.
+	(separate_debug_file_debug): Likewise.
+	* symfile.h (auto_solib_add): Likewise.
+	(separate_debug_file_debug): Likewise.
+	* symtab.c (basenames_may_differ): Likewise.
+	(struct filename_partial_match_opts) <dirname, basename>: Likewise.
+	(struct info_print_options) <quiet, exclude_minsyms>: Likewise.
+	(struct info_types_options) <quiet>: Likewise.
+	* symtab.h (demangle): Likewise.
+	(basenames_may_differ): Likewise.
+	* target-dcache.c (stack_cache_enabled_1): Likewise.
+	(code_cache_enabled_1): Likewise.
+	* target.c (trust_readonly): Likewise.
+	(may_write_registers): Likewise.
+	(may_write_memory): Likewise.
+	(may_insert_breakpoints): Likewise.
+	(may_insert_tracepoints): Likewise.
+	(may_insert_fast_tracepoints): Likewise.
+	(may_stop): Likewise.
+	(auto_connect_native_target): Likewise.
+	(target_stop_and_wait): Update.
+	(target_async_permitted): Change to bool.
+	(target_async_permitted_1): Likewise.
+	(may_write_registers_1): Likewise.
+	(may_write_memory_1): Likewise.
+	(may_insert_breakpoints_1): Likewise.
+	(may_insert_tracepoints_1): Likewise.
+	(may_insert_fast_tracepoints_1): Likewise.
+	(may_stop_1): Likewise.
+	* target.h (target_async_permitted): Likewise.
+	(may_write_registers): Likewise.
+	(may_write_memory): Likewise.
+	(may_insert_breakpoints): Likewise.
+	(may_insert_tracepoints): Likewise.
+	(may_insert_fast_tracepoints): Likewise.
+	(may_stop): Likewise.
+	* thread.c (struct info_threads_opts) <show_global_ids>: Likewise.
+	(make_thread_apply_all_options_def_group): Change argument from int*
+	to bool*.
+	(thread_apply_all_command): Update.
+	(print_thread_events): Change to bool.
+	* top.c (confirm): Likewise.
+	(command_editing_p): Likewise.
+	(history_expansion_p): Likewise.
+	(write_history_p): Likewise.
+	(info_verbose): Likewise.
+	* top.h (confirm): Likewise.
+	(history_expansion_p): Likewise.
+	* tracepoint.c (disconnected_tracing): Likewise.
+	(circular_trace_buffer): Likewise.
+	* typeprint.c (print_methods): Likewise.
+	(print_typedefs): Likewise.
+	* utils.c (debug_timestamp): Likewise.
+	(sevenbit_strings): Likewise.
+	(pagination_enabled): Likewise.
+	* utils.h (sevenbit_strings): Likewise.
+	(pagination_enabled): Likewise.
+	* valops.c (overload_resolution): Likewise.
+	* valprint.h (struct value_print_options) <prettyformat_arrays,
+	prettyformat_structs, vtblprint, unionprint, addressprint, objectprint,
+	stop_print_at_null, print_array_indexes, deref_ref, static_field_print,
+	pascal_static_field_print, raw, summary, symbol_print, finish_print>:
+	Likewise.
+	* windows-nat.c (new_console): Likewise.
+	(cygwin_exceptions): Likewise.
+	(new_group): Likewise.
+	(debug_exec): Likewise.
+	(debug_events): Likewise.
+	(debug_memory): Likewise.
+	(debug_exceptions): Likewise.
+	(useshell): Likewise.
+	* windows-tdep.c (maint_display_all_tib): Likewise.
+	* xml-support.c (debug_xml): Likewise.
+
+2019-09-17  Mike Gulick  <mgulick@mathworks.com>
+
+	* source.c (prepare_path_for_appending): New function.
+	(openp): Make use of new function.
+	(find_and_open_source): Search for the compilation directory and
+	source file as a relative path beneath the directory search path.
+
+2019-09-17  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* source-cache.c (source_cache::get_line_charpos): Catch
+	exceptions and return false, this matches the behaviour documented
+	in the header file.
+
+2019-09-17  Joel Brobecker  <brobecker@adacore.com>
+
+	* ada-tasks.c (info_task): Remove quoting of the task's name.
+
+2019-09-16  Christian Biesinger  <cbiesinger@google.com>
+
+	* symfile.c (auto_solib_add): Replace comment with a reference
+	to the header file.
+
 2019-09-14  Christian Biesinger  <cbiesinger@google.com>
 
 	* NEWS: Mention that gdb can now be compiled with Python 3
@@ -5499,6 +6180,7 @@
 
 2019-05-16  Sergio Durigan Junior  <sergiodj@redhat.com>
 
+	PR breakpoints/24541
 	* stap-probe.c (stap_parse_register_operand): Make "regname" an
 	"std::string", simplifying the algorithm.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/cli/cli-cmds.c ./gdb/cli/cli-cmds.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/cli/cli-cmds.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/cli/cli-cmds.c	2019-09-24 01:49:11.000000000 +0000
@@ -165,7 +165,7 @@ struct cmd_list_element *showchecklist;
 /* Command tracing state.  */
 
 int source_verbose = 0;
-int trace_commands = 0;
+bool trace_commands = false;
 
 /* 'script-extension' option support.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/cli/cli-cmds.h ./gdb/cli/cli-cmds.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/cli/cli-cmds.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/cli/cli-cmds.h	2019-09-24 01:49:11.000000000 +0000
@@ -139,7 +139,7 @@ extern gdb::optional<open_script>
 /* Command tracing state.  */
 
 extern int source_verbose;
-extern int trace_commands;
+extern bool trace_commands;
 
 /* Common code for the "with" and "maintenance with" commands.
    SET_CMD_PREFIX is the spelling of the corresponding "set" command
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/cli/cli-decode.c ./gdb/cli/cli-decode.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/cli/cli-decode.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/cli/cli-decode.c	2019-09-24 01:49:11.000000000 +0000
@@ -589,7 +589,7 @@ const char * const boolean_enums[] = { "
    Returns the new command element.  */
 
 cmd_list_element *
-add_setshow_boolean_cmd (const char *name, enum command_class theclass, int *var,
+add_setshow_boolean_cmd (const char *name, enum command_class theclass, bool *var,
 			 const char *set_doc, const char *show_doc,
 			 const char *help_doc,
 			 cmd_const_sfunc_ftype *set_func,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/cli/cli-dump.c ./gdb/cli/cli-dump.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/cli/cli-dump.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/cli/cli-dump.c	2019-09-24 01:49:11.000000000 +0000
@@ -163,12 +163,10 @@ dump_bfd_file (const char *filename, con
 
   gdb_bfd_ref_ptr obfd (bfd_openw_or_error (filename, target, mode));
   osection = bfd_make_section_anyway (obfd.get (), ".newsec");
-  bfd_set_section_size (obfd.get (), osection, len);
-  bfd_set_section_vma (obfd.get (), osection, vaddr);
-  bfd_set_section_alignment (obfd.get (), osection, 0);
-  bfd_set_section_flags (obfd.get (), osection, (SEC_HAS_CONTENTS
-						 | SEC_ALLOC
-						 | SEC_LOAD));
+  bfd_set_section_size (osection, len);
+  bfd_set_section_vma (osection, vaddr);
+  bfd_set_section_alignment (osection, 0);
+  bfd_set_section_flags (osection, (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD));
   osection->entsize = 0;
   if (!bfd_set_section_contents (obfd.get (), osection, buf, 0, len))
     warning (_("writing dump file '%s' (%s)"), filename,
@@ -403,15 +401,15 @@ static void
 restore_section_callback (bfd *ibfd, asection *isec, void *args)
 {
   struct callback_data *data = (struct callback_data *) args;
-  bfd_vma sec_start  = bfd_section_vma (ibfd, isec);
-  bfd_size_type size = bfd_section_size (ibfd, isec);
+  bfd_vma sec_start  = bfd_section_vma (isec);
+  bfd_size_type size = bfd_section_size (isec);
   bfd_vma sec_end    = sec_start + size;
   bfd_size_type sec_offset = 0;
   bfd_size_type sec_load_count = size;
   int ret;
 
   /* Ignore non-loadable sections, eg. from elf files.  */
-  if (!(bfd_get_section_flags (ibfd, isec) & SEC_LOAD))
+  if (!(bfd_section_flags (isec) & SEC_LOAD))
     return;
 
   /* Does the section overlap with the desired restore range? */
@@ -420,7 +418,7 @@ restore_section_callback (bfd *ibfd, ase
     {
       /* No, no useable data in this section.  */
       printf_filtered (_("skipping section %s...\n"), 
-		       bfd_section_name (ibfd, isec));
+		       bfd_section_name (isec));
       return;
     }
 
@@ -441,7 +439,7 @@ restore_section_callback (bfd *ibfd, ase
 	   bfd_errmsg (bfd_get_error ()));
 
   printf_filtered ("Restoring section %s (0x%lx to 0x%lx)",
-		   bfd_section_name (ibfd, isec), 
+		   bfd_section_name (isec), 
 		   (unsigned long) sec_start, 
 		   (unsigned long) sec_end);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/cli/cli-logging.c ./gdb/cli/cli-logging.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/cli/cli-logging.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/cli/cli-logging.c	2019-09-24 01:49:11.000000000 +0000
@@ -33,7 +33,7 @@ show_logging_filename (struct ui_file *f
 		    value);
 }
 
-static int logging_overwrite;
+static bool logging_overwrite;
 
 static void
 maybe_warn_already_logging ()
@@ -61,8 +61,8 @@ show_logging_overwrite (struct ui_file *
 }
 
 /* Value as configured by the user.  */
-static int logging_redirect;
-static int debug_redirect;
+static bool logging_redirect;
+static bool debug_redirect;
 
 static void
 set_logging_redirect (const char *args,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/cli/cli-option.h ./gdb/cli/cli-option.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/cli/cli-option.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/cli/cli-option.h	2019-09-24 01:49:11.000000000 +0000
@@ -82,7 +82,7 @@ public:
      returns the address of some member.  */
   union
     {
-      int *(*boolean) (const option_def &, void *ctx);
+      bool *(*boolean) (const option_def &, void *ctx);
       unsigned int *(*uinteger) (const option_def &, void *ctx);
       int *(*integer) (const option_def &, void *ctx);
       const char **(*enumeration) (const option_def &, void *ctx);
@@ -155,7 +155,7 @@ template<typename Context>
 struct boolean_option_def : option_def
 {
   boolean_option_def (const char *long_option_,
-		      int *(*get_var_address_cb_) (Context *),
+		      bool *(*get_var_address_cb_) (Context *),
 		      show_value_ftype *show_cmd_cb_,
 		      const char *set_doc_,
 		      const char *show_doc_ = nullptr,
@@ -165,7 +165,7 @@ struct boolean_option_def : option_def
 		  show_cmd_cb_,
 		  set_doc_, show_doc_, help_doc_)
   {
-    var_address.boolean = detail::get_var_address<int, Context>;
+    var_address.boolean = detail::get_var_address<bool, Context>;
   }
 };
 
@@ -173,11 +173,11 @@ struct boolean_option_def : option_def
    hood, but unlike boolean options, flag options don't take an on/off
    argument.  */
 
-template<typename Context = int>
+template<typename Context = bool>
 struct flag_option_def : boolean_option_def<Context>
 {
   flag_option_def (const char *long_option_,
-		     int *(*var_address_cb_) (Context *),
+		     bool *(*var_address_cb_) (Context *),
 		     const char *set_doc_,
 		     const char *help_doc_ = nullptr)
     : boolean_option_def<Context> (long_option_,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/cli/cli-setshow.c ./gdb/cli/cli-setshow.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/cli/cli-setshow.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/cli/cli-setshow.c	2019-09-24 01:49:11.000000000 +0000
@@ -416,9 +416,9 @@ do_set_command (const char *arg, int fro
 
 	if (val < 0)
 	  error (_("\"on\" or \"off\" expected."));
-	if (val != *(int *) c->var)
+	if (val != *(bool *) c->var)
 	  {
-	    *(int *) c->var = val;
+	    *(bool *) c->var = val;
 
 	    option_changed = 1;
 	  }
@@ -588,7 +588,7 @@ do_set_command (const char *arg, int fro
 	  break;
 	case var_boolean:
 	  {
-	    const char *opt = *(int *) c->var ? "on" : "off";
+	    const char *opt = *(bool *) c->var ? "on" : "off";
 
 	    gdb::observers::command_param_changed.notify (name, opt);
 	  }
@@ -645,7 +645,7 @@ get_setshow_command_value_string (cmd_li
 	stb.puts (*(char **) c->var);
       break;
     case var_boolean:
-      stb.puts (*(int *) c->var ? "on" : "off");
+      stb.puts (*(bool *) c->var ? "on" : "off");
       break;
     case var_auto_boolean:
       switch (*(enum auto_boolean*) c->var)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/cli/cli-style.c ./gdb/cli/cli-style.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/cli/cli-style.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/cli/cli-style.c	2019-09-24 01:49:11.000000000 +0000
@@ -26,15 +26,15 @@
 /* True if styling is enabled.  */
 
 #if defined (__MSDOS__) || defined (__CYGWIN__)
-int cli_styling = 0;
+bool cli_styling = false;
 #else
-int cli_styling = 1;
+bool cli_styling = true;
 #endif
 
 /* True if source styling is enabled.  Note that this is only
    consulted when cli_styling is true.  */
 
-int source_styling = 1;
+bool source_styling = true;
 
 /* Name of colors; must correspond to ui_file_style::basic_color.  */
 static const char * const cli_colors[] = {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/cli/cli-style.h ./gdb/cli/cli-style.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/cli/cli-style.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/cli/cli-style.h	2019-09-24 01:49:11.000000000 +0000
@@ -110,9 +110,9 @@ extern cli_style_option title_style;
 
 
 /* True if source styling is enabled.  */
-extern int source_styling;
+extern bool source_styling;
 
 /* True if styling is enabled.  */
-extern int cli_styling;
+extern bool cli_styling;
 
 #endif /* CLI_CLI_STYLE_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/cli/cli-utils.h ./gdb/cli/cli-utils.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/cli/cli-utils.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/cli/cli-utils.h	2019-09-24 01:49:11.000000000 +0000
@@ -215,9 +215,9 @@ check_for_argument (char **str, const ch
 
 struct qcs_flags
 {
-  int quiet = false;
-  int cont = false;
-  int silent = false;
+  bool quiet = false;
+  bool cont = false;
+  bool silent = false;
 };
 
 /* Validate FLAGS.  Throws an error if both FLAGS->CONT and
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/coff-pe-read.c ./gdb/coff-pe-read.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/coff-pe-read.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/coff-pe-read.c	2019-09-24 01:49:11.000000000 +0000
@@ -136,7 +136,7 @@ get_section_vmas (bfd *abfd, asection *s
          bfd_get_section_vma() within memory.  Store the offset.  */
 
       sections[sectix].vma_offset
-	= bfd_get_section_vma (abfd, sectp) - sections[sectix].rva_start;
+	= bfd_section_vma (sectp) - sections[sectix].rva_start;
     }
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/coffread.c ./gdb/coffread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/coffread.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/coffread.c	2019-09-24 01:49:11.000000000 +0000
@@ -222,15 +222,15 @@ coff_locate_sections (bfd *abfd, asectio
   const char *name;
 
   csi = (struct coff_symfile_info *) csip;
-  name = bfd_get_section_name (abfd, sectp);
+  name = bfd_section_name (sectp);
   if (strcmp (name, ".text") == 0)
     {
-      csi->textaddr = bfd_section_vma (abfd, sectp);
-      csi->textsize += bfd_section_size (abfd, sectp);
+      csi->textaddr = bfd_section_vma (sectp);
+      csi->textsize += bfd_section_size (sectp);
     }
   else if (startswith (name, ".text"))
     {
-      csi->textsize += bfd_section_size (abfd, sectp);
+      csi->textsize += bfd_section_size (sectp);
     }
   else if (strcmp (name, ".stabstr") == 0)
     {
@@ -307,7 +307,7 @@ cs_section_address (struct coff_symbol *
   args.resultp = &sect;
   bfd_map_over_sections (abfd, find_targ_sec, &args);
   if (sect != NULL)
-    addr = bfd_get_section_vma (abfd, sect);
+    addr = bfd_section_vma (sect);
   return addr;
 }
 
@@ -692,7 +692,7 @@ coff_symfile_read (struct objfile *objfi
          bfd_get_section_contents?  */
       bfd_seek (abfd, abfd->where, 0);
 
-      stabstrsize = bfd_section_size (abfd, info->stabstrsect);
+      stabstrsize = bfd_section_size (info->stabstrsect);
 
       coffstab_build_psymtabs (objfile,
 			       info->textaddr, info->textsize,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/command.h ./gdb/command.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/command.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/command.h	2019-09-24 01:49:11.000000000 +0000
@@ -62,8 +62,8 @@ cmd_types;
 /* Types of "set" or "show" command.  */
 typedef enum var_types
   {
-    /* "on" or "off".  *VAR is an integer which is nonzero for on,
-       zero for off.  */
+    /* "on" or "off".  *VAR is a bool which is true for on,
+       false for off.  */
     var_boolean,
 
     /* "on" / "true" / "enable" or "off" / "false" / "disable" or
@@ -331,7 +331,7 @@ extern void add_setshow_auto_boolean_cmd
 extern cmd_list_element *
   add_setshow_boolean_cmd (const char *name,
 			   enum command_class theclass,
-			   int *var,
+			   bool *var,
 			   const char *set_doc, const char *show_doc,
 			   const char *help_doc,
 			   cmd_const_sfunc_ftype *set_func,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/compile/compile.c ./gdb/compile/compile.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/compile/compile.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/compile/compile.c	2019-09-24 01:49:11.000000000 +0000
@@ -56,7 +56,7 @@ static struct cmd_list_element *compile_
 
 /* Debug flag for "compile" commands.  */
 
-int compile_debug;
+bool compile_debug;
 
 /* Object of this type are stored in the compiler's symbol_err_map.  */
 
@@ -241,7 +241,7 @@ show_compile_debug (struct ui_file *file
 struct compile_options
 {
   /* For -raw.  */
-  int raw = false;
+  bool raw = false;
 };
 
 using compile_flag_option_def
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/compile/compile-cplus-types.c ./gdb/compile/compile-cplus-types.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/compile/compile-cplus-types.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/compile/compile-cplus-types.c	2019-09-24 01:49:11.000000000 +0000
@@ -41,11 +41,11 @@ const char *compile_cplus_instance::m_de
 
 /* Flag to enable internal debugging.  */
 
-static int debug_compile_cplus_types = 0;
+static bool debug_compile_cplus_types = false;
 
 /* Flag to enable internal scope switching debugging.  */
 
-static int debug_compile_cplus_scopes = 0;
+static bool debug_compile_cplus_scopes = false;
 
 /* Forward declarations.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/compile/compile-internal.h ./gdb/compile/compile-internal.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/compile/compile-internal.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/compile/compile-internal.h	2019-09-24 01:49:11.000000000 +0000
@@ -21,7 +21,7 @@
 
 /* Debugging flag for the "compile" family of commands.  */
 
-extern int compile_debug;
+extern bool compile_debug;
 
 struct block;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/compile/compile-object-load.c ./gdb/compile/compile-object-load.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/compile/compile-object-load.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/compile/compile-object-load.c	2019-09-24 01:49:11.000000000 +0000
@@ -99,30 +99,30 @@ setup_sections (bfd *abfd, asection *sec
       if (sect->output_section == NULL)
 	sect->output_section = sect;
 
-      if ((bfd_get_section_flags (abfd, sect) & SEC_ALLOC) == 0)
+      if ((bfd_section_flags (sect) & SEC_ALLOC) == 0)
 	return;
 
       /* Make the memory always readable.  */
       prot = GDB_MMAP_PROT_READ;
-      if ((bfd_get_section_flags (abfd, sect) & SEC_READONLY) == 0)
+      if ((bfd_section_flags (sect) & SEC_READONLY) == 0)
 	prot |= GDB_MMAP_PROT_WRITE;
-      if ((bfd_get_section_flags (abfd, sect) & SEC_CODE) != 0)
+      if ((bfd_section_flags (sect) & SEC_CODE) != 0)
 	prot |= GDB_MMAP_PROT_EXEC;
 
       if (compile_debug)
 	fprintf_unfiltered (gdb_stdlog,
 			    "module \"%s\" section \"%s\" size %s prot %u\n",
 			    bfd_get_filename (abfd),
-			    bfd_get_section_name (abfd, sect),
+			    bfd_section_name (sect),
 			    paddress (target_gdbarch (),
-				      bfd_get_section_size (sect)),
+				      bfd_section_size (sect)),
 			    prot);
     }
   else
     prot = -1;
 
   if (sect == NULL
-      || (data->last_prot != prot && bfd_get_section_size (sect) != 0))
+      || (data->last_prot != prot && bfd_section_size (sect) != 0))
     {
       CORE_ADDR addr;
       asection *sect_iter;
@@ -150,9 +150,8 @@ setup_sections (bfd *abfd, asection *sec
 
       for (sect_iter = data->last_section_first; sect_iter != sect;
 	   sect_iter = sect_iter->next)
-	if ((bfd_get_section_flags (abfd, sect_iter) & SEC_ALLOC) != 0)
-	  bfd_set_section_vma (abfd, sect_iter,
-			       addr + bfd_get_section_vma (abfd, sect_iter));
+	if ((bfd_section_flags (sect_iter) & SEC_ALLOC) != 0)
+	  bfd_set_section_vma (sect_iter, addr + bfd_section_vma (sect_iter));
 
       data->last_size = 0;
       data->last_section_first = sect;
@@ -163,14 +162,14 @@ setup_sections (bfd *abfd, asection *sec
   if (sect == NULL)
     return;
 
-  alignment = ((CORE_ADDR) 1) << bfd_get_section_alignment (abfd, sect);
+  alignment = ((CORE_ADDR) 1) << bfd_section_alignment (sect);
   data->last_max_alignment = std::max (data->last_max_alignment, alignment);
 
   data->last_size = (data->last_size + alignment - 1) & -alignment;
 
-  bfd_set_section_vma (abfd, sect, data->last_size);
+  bfd_set_section_vma (sect, data->last_size);
 
-  data->last_size += bfd_get_section_size (sect);
+  data->last_size += bfd_section_size (sect);
   data->last_size = (data->last_size + alignment - 1) & -alignment;
 }
 
@@ -197,7 +196,7 @@ link_callbacks_warning (struct bfd_link_
 			bfd_vma address)
 {
   warning (_("Compiled module \"%s\" section \"%s\": warning: %s"),
-	   bfd_get_filename (abfd), bfd_get_section_name (abfd, section),
+	   bfd_get_filename (abfd), bfd_section_name (section),
 	   xwarning);
 }
 
@@ -210,7 +209,7 @@ link_callbacks_undefined_symbol (struct 
 {
   warning (_("Cannot resolve relocation to \"%s\" "
 	     "from compiled module \"%s\" section \"%s\"."),
-	   name, bfd_get_filename (abfd), bfd_get_section_name (abfd, section));
+	   name, bfd_get_filename (abfd), bfd_section_name (section));
 }
 
 /* Helper for link_callbacks callbacks vector.  */
@@ -233,7 +232,7 @@ link_callbacks_reloc_dangerous (struct b
 {
   warning (_("Compiled module \"%s\" section \"%s\": dangerous "
 	     "relocation: %s\n"),
-	   bfd_get_filename (abfd), bfd_get_section_name (abfd, section),
+	   bfd_get_filename (abfd), bfd_section_name (section),
 	   message);
 }
 
@@ -246,7 +245,7 @@ link_callbacks_unattached_reloc (struct 
 {
   warning (_("Compiled module \"%s\" section \"%s\": unattached "
 	     "relocation: %s\n"),
-	   bfd_get_filename (abfd), bfd_get_section_name (abfd, section),
+	   bfd_get_filename (abfd), bfd_section_name (section),
 	   name);
 }
 
@@ -324,11 +323,11 @@ copy_sections (bfd *abfd, asection *sect
   struct bfd_link_order link_order;
   CORE_ADDR inferior_addr;
 
-  if ((bfd_get_section_flags (abfd, sect) & (SEC_ALLOC | SEC_LOAD))
+  if ((bfd_section_flags (sect) & (SEC_ALLOC | SEC_LOAD))
       != (SEC_ALLOC | SEC_LOAD))
     return;
 
-  if (bfd_get_section_size (sect) == 0)
+  if (bfd_section_size (sect) == 0)
     return;
 
   /* Mostly a copy of bfd_simple_get_relocated_section_contents which GDB
@@ -349,11 +348,11 @@ copy_sections (bfd *abfd, asection *sect
   link_order.next = NULL;
   link_order.type = bfd_indirect_link_order;
   link_order.offset = 0;
-  link_order.size = bfd_get_section_size (sect);
+  link_order.size = bfd_section_size (sect);
   link_order.u.indirect.section = sect;
 
   gdb::unique_xmalloc_ptr<gdb_byte> sect_data
-    ((bfd_byte *) xmalloc (bfd_get_section_size (sect)));
+    ((bfd_byte *) xmalloc (bfd_section_size (sect)));
 
   sect_data_got = bfd_get_relocated_section_contents (abfd, &link_info,
 						      &link_order,
@@ -362,19 +361,19 @@ copy_sections (bfd *abfd, asection *sect
 
   if (sect_data_got == NULL)
     error (_("Cannot map compiled module \"%s\" section \"%s\": %s"),
-	   bfd_get_filename (abfd), bfd_get_section_name (abfd, sect),
+	   bfd_get_filename (abfd), bfd_section_name (sect),
 	   bfd_errmsg (bfd_get_error ()));
   gdb_assert (sect_data_got == sect_data.get ());
 
-  inferior_addr = bfd_get_section_vma (abfd, sect);
+  inferior_addr = bfd_section_vma (sect);
   if (0 != target_write_memory (inferior_addr, sect_data.get (),
-				bfd_get_section_size (sect)))
+				bfd_section_size (sect)))
     error (_("Cannot write compiled module \"%s\" section \"%s\" "
 	     "to inferior memory range %s-%s."),
-	   bfd_get_filename (abfd), bfd_get_section_name (abfd, sect),
+	   bfd_get_filename (abfd), bfd_section_name (sect),
 	   paddress (target_gdbarch (), inferior_addr),
 	   paddress (target_gdbarch (),
-		     inferior_addr + bfd_get_section_size (sect)));
+		     inferior_addr + bfd_section_size (sect)));
 }
 
 /* Fetch the type of COMPILE_I_EXPR_PTR_TYPE and COMPILE_I_EXPR_VAL
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/config/djgpp/fnchange.lst ./gdb/config/djgpp/fnchange.lst
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/config/djgpp/fnchange.lst	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/config/djgpp/fnchange.lst	2019-09-24 01:49:11.000000000 +0000
@@ -199,8 +199,6 @@
 @V@/gdb/features/rs6000/powerpc-vsx32l.c @V@/gdb/features/rs6000/ppc-v32l.c
 @V@/gdb/features/rs6000/powerpc-vsx64.c @V@/gdb/features/rs6000/ppc-v64.c
 @V@/gdb/features/rs6000/powerpc-vsx64l.c @V@/gdb/features/rs6000/ppc-v64l.c
-@V@/gdb/features/rs6000/powerpc-cell32l.c @V@/gdb/features/rs6000/ppc-c32l.c
-@V@/gdb/features/rs6000/powerpc-cell64l.c @V@/gdb/features/rs6000/ppc-c64l.c
 @V@/gdb/features/rs6000/powerpc-32.xml @V@/gdb/features/rs6000/ppc-32.xml
 @V@/gdb/features/rs6000/powerpc-32l.xml @V@/gdb/features/rs6000/ppc-32l.xml
 @V@/gdb/features/rs6000/powerpc-403.xml @V@/gdb/features/rs6000/ppc-403.xml
@@ -231,8 +229,6 @@
 @V@/gdb/features/rs6000/powerpc-vsx32l.xml @V@/gdb/features/rs6000/ppc-v32l.xml
 @V@/gdb/features/rs6000/powerpc-vsx64.xml @V@/gdb/features/rs6000/ppc-v64.xml
 @V@/gdb/features/rs6000/powerpc-vsx64l.xml @V@/gdb/features/rs6000/ppc-v64l.xml
-@V@/gdb/features/rs6000/powerpc-cell32l.xml @V@/gdb/features/rs6000/ppc-c32l.xml
-@V@/gdb/features/rs6000/powerpc-cell64l.xml @V@/gdb/features/rs6000/ppc-c64l.xml
 @V@/gdb/features/i386/amd64-avx-linux.c @V@/gdb/features/i386/a64-al.c
 @V@/gdb/features/i386/amd64-avx.c @V@/gdb/features/i386/a64-a.c
 @V@/gdb/features/i386/amd64-avx-linux.xml @V@/gdb/features/i386/a64-al.xml
@@ -356,8 +352,6 @@
 @V@/gdb/regformats/rs6000/powerpc-isa205-vsx64l.dat @V@/gdb/regformats/rs6000/ppciv64l.dat
 @V@/gdb/regformats/rs6000/powerpc-vsx32l.dat @V@/gdb/regformats/rs6000/ppc-v32l.dat
 @V@/gdb/regformats/rs6000/powerpc-vsx64l.dat @V@/gdb/regformats/rs6000/ppc-v64l.dat
-@V@/gdb/regformats/rs6000/powerpc-cell32l.dat @V@/gdb/regformats/rs6000/ppc-c32l.dat
-@V@/gdb/regformats/rs6000/powerpc-cell64l.dat @V@/gdb/regformats/rs6000/ppc-c64l.dat
 @V@/gdb/regformats/tic6x-c62x.dat @V@/gdb/regformats/c6x-62x.dat
 @V@/gdb/regformats/tic6x-c64x.dat @V@/gdb/regformats/c6x-64x.dat
 @V@/gdb/regformats/tic6x-c64xp.dat @V@/gdb/regformats/c6xc64xp.dat
@@ -452,9 +446,6 @@
 @V@/gdb/testsuite/gdb.base/watchpoint-cond-gone.exp @V@/gdb/testsuite/gdb.base/wpcondg.exp
 @V@/gdb/testsuite/gdb.base/watchpoint-cond-gone.c @V@/gdb/testsuite/gdb.base/wpcondg.c
 @V@/gdb/testsuite/gdb.base/watchpoint-cond-gone-stripped.c @V@/gdb/testsuite/gdb.base/wpcondgs.c
-@V@/gdb/testsuite/gdb.cell/coremaker-spu.c @V@/gdb/testsuite/gdb.cell/core-spu.c
-@V@/gdb/testsuite/gdb.cell/ea-cache-spu.c @V@/gdb/testsuite/gdb.cell/ea-spu.c
-@V@/gdb/testsuite/gdb.cell/mem-access-spu.c @V@/gdb/testsuite/gdb.cell/mem-spu.c
 @V@/gdb/testsuite/gdb.cp/m-static1.cc @V@/gdb/testsuite/gdb.cp/m-stat1.cc
 @V@/gdb/testsuite/gdb.cp/namespace1.cc @V@/gdb/testsuite/gdb.cp/namesp1.cc
 @V@/gdb/testsuite/gdb.cp/namespace-nested-import.cc @V@/gdb/testsuite/gdb.cp/nnested.cc
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/configure.host ./gdb/configure.host
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/configure.host	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/configure.host	2019-09-24 01:49:11.000000000 +0000
@@ -140,13 +140,7 @@ powerpc-*-netbsd* | powerpc-*-knetbsd*-g
 			gdb_host=nbsd ;;
 powerpc-*-openbsd*)	gdb_host=obsd ;;
 
-powerpc64*-*-linux*)	gdb_host=ppc64-linux
-                        # Support 'pseudo-native' debugging on the Cell BE
-                        if test "${target_cpu}" = "spu"; then
-				gdb_host=spu-linux
-				gdb_native=yes
-                        fi
-			;;
+powerpc64*-*-linux*)	gdb_host=ppc64-linux ;;
 powerpc*-*-linux*)	gdb_host=linux ;;
 
 riscv*-*-freebsd*)	gdb_host=fbsd ;;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/configure.nat ./gdb/configure.nat
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/configure.nat	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/configure.nat	2019-09-24 01:49:11.000000000 +0000
@@ -484,21 +484,4 @@ case ${gdb_host} in
 		;;
 	esac
 	;;
-    spu-linux)
-	case ${gdb_host_cpu} in
-	    powerpc)
-		# Target: Cell BE (PowerPC64 + SPU)
-		# This implements a 'pseudo-native' GDB running on the
-		# PPU side of the Cell BE and debugging the SPU side.
-		NAT_FILE=
-		NAT_CDEPS=
-		LOADLIBES=
-		NATDEPFILES='spu-linux-nat.o \
-		      inf-ptrace.o fork-child.o nat/fork-inferior.o \
-		      nat/linux-procfs.o nat/linux-ptrace.o \
-		      nat/linux-waitpid.o \
-		      nat/linux-personality.o nat/linux-namespaces.o'
-		;;
-	esac
-	;;
 esac
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/configure.tgt ./gdb/configure.tgt
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/configure.tgt	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/configure.tgt	2019-09-24 01:49:11.000000000 +0000
@@ -514,8 +514,7 @@ powerpc-*-aix* | rs6000-*-* | powerpc64-
 powerpc*-*-linux*)
 	# Target: PowerPC running Linux
 	gdb_target_obs="rs6000-tdep.o ppc-linux-tdep.o ppc-sysv-tdep.o \
-			ppc64-tdep.o solib-svr4.o solib-spu.o \
-			spu-multiarch.o \
+			ppc64-tdep.o solib-svr4.o \
 			glibc-tdep.o symfile-mem.o linux-tdep.o \
 			ravenscar-thread.o ppc-ravenscar-thread.o \
 			linux-record.o \
@@ -668,12 +667,6 @@ sparc64-*-*)
 			ravenscar-thread.o sparc-ravenscar-thread.o"
 	;;
 
-spu*-*-*)
-	# Target: Cell BE SPU
-	gdb_target_obs="spu-tdep.o"
-	build_gdbserver=yes
-	;;
-
 s12z-*-*)
 	# Target: Freescale S12z
 	gdb_target_obs="s12z-tdep.o"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/corelow.c ./gdb/corelow.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/corelow.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/corelow.c	2019-09-24 01:49:11.000000000 +0000
@@ -289,10 +289,10 @@ add_to_thread_list (bfd *abfd, asection 
   bool fake_pid_p = false;
   struct inferior *inf;
 
-  if (!startswith (bfd_section_name (abfd, asect), ".reg/"))
+  if (!startswith (bfd_section_name (asect), ".reg/"))
     return;
 
-  core_tid = atoi (bfd_section_name (abfd, asect) + 5);
+  core_tid = atoi (bfd_section_name (asect) + 5);
 
   pid = bfd_core_file_pid (core_bfd);
   if (pid == 0)
@@ -584,7 +584,7 @@ core_target::get_core_register_section (
       return;
     }
 
-  size = bfd_section_size (core_bfd, section);
+  size = bfd_section_size (section);
   if (size < section_min_size)
     {
       warning (_("Section `%s' in core file too small."),
@@ -614,8 +614,7 @@ core_target::get_core_register_section (
 
   gdb_assert (m_core_vec != nullptr);
   m_core_vec->core_read_registers (regcache, contents, size, which,
-				   ((CORE_ADDR)
-				    bfd_section_vma (core_bfd, section)));
+				   (CORE_ADDR) bfd_section_vma (section));
 }
 
 /* Data passed to gdbarch_iterate_over_regset_sections's callback.  */
@@ -710,36 +709,6 @@ core_target::files_info ()
   print_section_info (&m_core_section_table, core_bfd);
 }
 
-struct spuid_list
-{
-  gdb_byte *buf;
-  ULONGEST offset;
-  LONGEST len;
-  ULONGEST pos;
-  ULONGEST written;
-};
-
-static void
-add_to_spuid_list (bfd *abfd, asection *asect, void *list_p)
-{
-  struct spuid_list *list = (struct spuid_list *) list_p;
-  enum bfd_endian byte_order
-    = bfd_big_endian (abfd) ? BFD_ENDIAN_BIG : BFD_ENDIAN_LITTLE;
-  int fd, pos = 0;
-
-  sscanf (bfd_section_name (abfd, asect), "SPU/%d/regs%n", &fd, &pos);
-  if (pos == 0)
-    return;
-
-  if (list->pos >= list->offset && list->pos + 4 <= list->offset + list->len)
-    {
-      store_unsigned_integer (list->buf + list->pos - list->offset,
-			      4, byte_order, fd);
-      list->written += 4;
-    }
-  list->pos += 4;
-}
-
 enum target_xfer_status
 core_target::xfer_partial (enum target_object object, const char *annex,
 			   gdb_byte *readbuf, const gdb_byte *writebuf,
@@ -768,7 +737,7 @@ core_target::xfer_partial (enum target_o
 	  if (section == NULL)
 	    return TARGET_XFER_E_IO;
 
-	  size = bfd_section_size (core_bfd, section);
+	  size = bfd_section_size (section);
 	  if (offset >= size)
 	    return TARGET_XFER_EOF;
 	  size -= offset;
@@ -803,7 +772,7 @@ core_target::xfer_partial (enum target_o
 	  if (section == NULL)
 	    return TARGET_XFER_E_IO;
 
-	  size = bfd_section_size (core_bfd, section);
+	  size = bfd_section_size (section);
 	  if (offset >= size)
 	    return TARGET_XFER_EOF;
 	  size -= offset;
@@ -866,64 +835,6 @@ core_target::xfer_partial (enum target_o
 	}
       /* FALL THROUGH */
 
-    case TARGET_OBJECT_SPU:
-      if (readbuf && annex)
-	{
-	  /* When the SPU contexts are stored in a core file, BFD
-	     represents this with a fake section called
-	     "SPU/<annex>".  */
-
-	  struct bfd_section *section;
-	  bfd_size_type size;
-	  char sectionstr[100];
-
-	  xsnprintf (sectionstr, sizeof sectionstr, "SPU/%s", annex);
-
-	  section = bfd_get_section_by_name (core_bfd, sectionstr);
-	  if (section == NULL)
-	    return TARGET_XFER_E_IO;
-
-	  size = bfd_section_size (core_bfd, section);
-	  if (offset >= size)
-	    return TARGET_XFER_EOF;
-	  size -= offset;
-	  if (size > len)
-	    size = len;
-
-	  if (size == 0)
-	    return TARGET_XFER_EOF;
-	  if (!bfd_get_section_contents (core_bfd, section, readbuf,
-					 (file_ptr) offset, size))
-	    {
-	      warning (_("Couldn't read SPU section in core file."));
-	      return TARGET_XFER_E_IO;
-	    }
-
-	  *xfered_len = (ULONGEST) size;
-	  return TARGET_XFER_OK;
-	}
-      else if (readbuf)
-	{
-	  /* NULL annex requests list of all present spuids.  */
-	  struct spuid_list list;
-
-	  list.buf = readbuf;
-	  list.offset = offset;
-	  list.len = len;
-	  list.pos = 0;
-	  list.written = 0;
-	  bfd_map_over_sections (core_bfd, add_to_spuid_list, &list);
-
-	  if (list.written == 0)
-	    return TARGET_XFER_EOF;
-	  else
-	    {
-	      *xfered_len = (ULONGEST) list.written;
-	      return TARGET_XFER_OK;
-	    }
-	}
-      return TARGET_XFER_E_IO;
-
     case TARGET_OBJECT_SIGNAL_INFO:
       if (readbuf)
 	{
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/cp-support.c ./gdb/cp-support.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/cp-support.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/cp-support.c	2019-09-24 01:49:11.000000000 +0000
@@ -1469,10 +1469,10 @@ cp_lookup_rtti_type (const char *name, c
 
 #ifdef HAVE_WORKING_FORK
 
-/* If nonzero, attempt to catch crashes in the demangler and print
+/* If true, attempt to catch crashes in the demangler and print
    useful debugging information.  */
 
-static int catch_demangler_crashes = 1;
+static bool catch_demangler_crashes = true;
 
 /* Stack context and environment for demangler crash recovery.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/cris-tdep.c ./gdb/cris-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/cris-tdep.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/cris-tdep.c	2019-09-24 01:49:11.000000000 +0000
@@ -148,7 +148,7 @@ extern const struct cris_spec_reg cris_s
 static unsigned int usr_cmd_cris_version;
 
 /* Indicates whether to trust the above variable.  */
-static int usr_cmd_cris_version_valid = 0;
+static bool usr_cmd_cris_version_valid = false;
 
 static const char cris_mode_normal[] = "normal";
 static const char cris_mode_guru[] = "guru";
@@ -163,7 +163,7 @@ static const char *const cris_modes[] = 
 static const char *usr_cmd_cris_mode = cris_mode_normal;
 
 /* Whether to make use of Dwarf-2 CFI (default on).  */
-static int usr_cmd_cris_dwarf2_cfi = 1;
+static bool usr_cmd_cris_dwarf2_cfi = true;
 
 /* Sigtramp identification code copied from i386-linux-tdep.c.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/csky-tdep.c ./gdb/csky-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/csky-tdep.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/csky-tdep.c	2019-09-24 01:49:11.000000000 +0000
@@ -59,7 +59,7 @@
 #include <vector>
 
 /* Control debugging information emitted in this file.  */
-static int csky_debug = 0;
+static bool csky_debug = false;
 
 static struct reggroup *cr_reggroup;
 static struct reggroup *fr_reggroup;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/darwin-nat.c ./gdb/darwin-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/darwin-nat.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/darwin-nat.c	2019-09-24 01:49:11.000000000 +0000
@@ -120,7 +120,7 @@ static vm_size_t mach_page_size;
 
 /* If Set, catch all mach exceptions (before they are converted to signals
    by the kernel).  */
-static int enable_mach_exceptions;
+static bool enable_mach_exceptions;
 
 /* Inferior that should report a fake stop event.  */
 static struct inferior *darwin_inf_fake_stop;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/dbxread.c ./gdb/dbxread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/dbxread.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/dbxread.c	2019-09-24 01:49:11.000000000 +0000
@@ -207,10 +207,10 @@ find_text_range (bfd * sym_bfd, struct o
   CORE_ADDR end = 0;
 
   for (sec = sym_bfd->sections; sec; sec = sec->next)
-    if (bfd_get_section_flags (sym_bfd, sec) & SEC_CODE)
+    if (bfd_section_flags (sec) & SEC_CODE)
       {
-	CORE_ADDR sec_start = bfd_section_vma (sym_bfd, sec);
-	CORE_ADDR sec_end = sec_start + bfd_section_size (sym_bfd, sec);
+	CORE_ADDR sec_start = bfd_section_vma (sec);
+	CORE_ADDR sec_end = sec_start + bfd_section_size (sec);
 
 	if (found_any)
 	  {
@@ -607,8 +607,8 @@ dbx_symfile_init (struct objfile *objfil
   text_sect = bfd_get_section_by_name (sym_bfd, ".text");
   if (!text_sect)
     error (_("Can't find .text section in symbol file"));
-  DBX_TEXT_ADDR (objfile) = bfd_section_vma (sym_bfd, text_sect);
-  DBX_TEXT_SIZE (objfile) = bfd_section_size (sym_bfd, text_sect);
+  DBX_TEXT_ADDR (objfile) = bfd_section_vma (text_sect);
+  DBX_TEXT_SIZE (objfile) = bfd_section_size (text_sect);
 
   DBX_SYMBOL_SIZE (objfile) = obj_symbol_entry_size (sym_bfd);
   DBX_SYMCOUNT (objfile) = bfd_get_symcount (sym_bfd);
@@ -781,7 +781,7 @@ fill_symbuf (bfd *sym_bfd)
 
 	  if (bfd_seek (sym_bfd, filepos, SEEK_SET) != 0)
 	    perror_with_name (bfd_get_filename (sym_bfd));
-	  symbuf_left = bfd_section_size (sym_bfd, (*symbuf_sections)[sect_idx]);
+	  symbuf_left = bfd_section_size ((*symbuf_sections)[sect_idx]);
 	  symbol_table_offset = filepos - symbuf_read;
 	  ++sect_idx;
 	}
@@ -2980,7 +2980,7 @@ coffstab_build_psymtabs (struct objfile 
     = make_scoped_restore (&symbuf_sections);
   if (stabsects.size () == 1)
     {
-      stabsize = bfd_section_size (sym_bfd, stabsects[0]);
+      stabsize = bfd_section_size (stabsects[0]);
       DBX_SYMCOUNT (objfile) = stabsize / DBX_SYMBOL_SIZE (objfile);
       DBX_SYMTAB_OFFSET (objfile) = stabsects[0]->filepos;
     }
@@ -2989,7 +2989,7 @@ coffstab_build_psymtabs (struct objfile 
       DBX_SYMCOUNT (objfile) = 0;
       for (asection *section : stabsects)
 	{
-	  stabsize = bfd_section_size (sym_bfd, section);
+	  stabsize = bfd_section_size (section);
 	  DBX_SYMCOUNT (objfile) += stabsize / DBX_SYMBOL_SIZE (objfile);
 	}
 
@@ -2997,7 +2997,7 @@ coffstab_build_psymtabs (struct objfile 
 
       sect_idx = 1;
       symbuf_sections = &stabsects;
-      symbuf_left = bfd_section_size (sym_bfd, stabsects[0]);
+      symbuf_left = bfd_section_size (stabsects[0]);
       symbuf_read = 0;
     }
 
@@ -3040,7 +3040,7 @@ elfstab_build_psymtabs (struct objfile *
 #define	ELF_STABS_SYMBOL_SIZE	12	/* XXX FIXME XXX */
   DBX_SYMBOL_SIZE (objfile) = ELF_STABS_SYMBOL_SIZE;
   DBX_SYMCOUNT (objfile)
-    = bfd_section_size (objfile->obfd, stabsect) / DBX_SYMBOL_SIZE (objfile);
+    = bfd_section_size (stabsect) / DBX_SYMBOL_SIZE (objfile);
   DBX_STRINGTAB_SIZE (objfile) = stabstrsize;
   DBX_SYMTAB_OFFSET (objfile) = stabsect->filepos;
   DBX_STAB_SECTION (objfile) = stabsect;
@@ -3067,7 +3067,7 @@ elfstab_build_psymtabs (struct objfile *
   processing_acc_compilation = 1;
 
   symbuf_read = 0;
-  symbuf_left = bfd_section_size (objfile->obfd, stabsect);
+  symbuf_left = bfd_section_size (stabsect);
 
   scoped_restore restore_stabs_data = make_scoped_restore (&stabs_data);
   gdb::unique_xmalloc_ptr<gdb_byte> data_holder;
@@ -3128,13 +3128,13 @@ stabsect_build_psymtabs (struct objfile 
   text_sect = bfd_get_section_by_name (sym_bfd, text_name);
   if (!text_sect)
     error (_("Can't find %s section in symbol file"), text_name);
-  DBX_TEXT_ADDR (objfile) = bfd_section_vma (sym_bfd, text_sect);
-  DBX_TEXT_SIZE (objfile) = bfd_section_size (sym_bfd, text_sect);
+  DBX_TEXT_ADDR (objfile) = bfd_section_vma (text_sect);
+  DBX_TEXT_SIZE (objfile) = bfd_section_size (text_sect);
 
   DBX_SYMBOL_SIZE (objfile) = sizeof (struct external_nlist);
-  DBX_SYMCOUNT (objfile) = bfd_section_size (sym_bfd, stabsect)
+  DBX_SYMCOUNT (objfile) = bfd_section_size (stabsect)
     / DBX_SYMBOL_SIZE (objfile);
-  DBX_STRINGTAB_SIZE (objfile) = bfd_section_size (sym_bfd, stabstrsect);
+  DBX_STRINGTAB_SIZE (objfile) = bfd_section_size (stabstrsect);
   DBX_SYMTAB_OFFSET (objfile) = stabsect->filepos;	/* XXX - FIXME: POKING
 							   INSIDE BFD DATA
 							   STRUCTURES */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/dcache.c ./gdb/dcache.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/dcache.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/dcache.c	2019-09-24 01:49:11.000000000 +0000
@@ -126,7 +126,7 @@ static int dcache_read_line (DCACHE *dca
 
 static struct dcache_block *dcache_alloc (DCACHE *dcache, CORE_ADDR addr);
 
-static int dcache_enabled_p = 0; /* OBSOLETE */
+static bool dcache_enabled_p = false; /* OBSOLETE */
 
 static void
 show_dcache_enabled_p (struct ui_file *file, int from_tty,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/defs.h ./gdb/defs.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/defs.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/defs.h	2019-09-24 01:49:11.000000000 +0000
@@ -314,7 +314,7 @@ struct ui;
 
 extern int input_interactive_p (struct ui *);
 
-extern int info_verbose;
+extern bool info_verbose;
 
 /* From printcmd.c */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/demangle.c ./gdb/demangle.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/demangle.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/demangle.c	2019-09-24 01:49:11.000000000 +0000
@@ -44,7 +44,7 @@
 #endif
 
 /* See documentation in gdb-demangle.h.  */
-int demangle = 1;
+bool demangle = true;
 
 static void
 show_demangle (struct ui_file *file, int from_tty,
@@ -57,7 +57,7 @@ show_demangle (struct ui_file *file, int
 }
 
 /* See documentation in gdb-demangle.h.  */
-int asm_demangle = 0;
+bool asm_demangle = false;
 
 static void
 show_asm_demangle (struct ui_file *file, int from_tty,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/dicos-tdep.c ./gdb/dicos-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/dicos-tdep.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/dicos-tdep.c	2019-09-24 01:49:11.000000000 +0000
@@ -70,7 +70,7 @@ dicos_load_module_p (bfd *abfd, int head
   if (!section)
     return 0;
 
-  if (bfd_section_size (abfd, section) != header_size)
+  if (bfd_section_size (section) != header_size)
     return 0;
 
   /* Dicos LMs always have a "Dicos_loadModuleInfo" symbol
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/doc/ChangeLog ./gdb/doc/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/doc/ChangeLog	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/doc/ChangeLog	2019-09-24 01:49:11.000000000 +0000
@@ -1,3 +1,21 @@
+2019-09-20  Ulrich Weigand  <uweigand@de.ibm.com>
+
+	* doc/gdb.texinfo (Remote Configuration): Remove documentation for
+	qXfer:spu:read and qXfer:spu:write.
+	(General Query Packets): Likewise.
+	(Cell Broadband Engine SPU architecture): Remove subsection.
+
+2019-09-18  Tom Tromey  <tom@tromey.com>
+
+	* gdb.texinfo (Editing): Document readline application name.
+	(TUI Single Key Mode): Document TUI SingleKey keymap name.
+
+2019-09-17  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* gdb.texinfo (Source Path): Additional text to better describe
+	how the source path directory list is used when searching for
+	source files.
+
 2019-09-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
 
 	* gdb.texinfo (Ada Tasks): Tell the task name is printed, update
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/doc/gcore.1 ./gdb/doc/gcore.1
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/doc/gcore.1	2019-09-17 01:53:49.000000000 +0000
+++ ./gdb/doc/gcore.1	2019-09-24 01:53:22.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GCORE 1"
-.TH GCORE 1 "2019-09-17" "gdb-8.3.50.20190917-git" "GNU Development Tools"
+.TH GCORE 1 "2019-09-24" "gdb-8.3.50.20190924-git" "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-8.3.50.20190917/gdb/doc/gdb.1 ./gdb/doc/gdb.1
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/doc/gdb.1	2019-09-17 01:53:48.000000000 +0000
+++ ./gdb/doc/gdb.1	2019-09-24 01:53:22.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDB 1"
-.TH GDB 1 "2019-09-17" "gdb-8.3.50.20190917-git" "GNU Development Tools"
+.TH GDB 1 "2019-09-24" "gdb-8.3.50.20190924-git" "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-8.3.50.20190917/gdb/doc/gdb-add-index.1 ./gdb/doc/gdb-add-index.1
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/doc/gdb-add-index.1	2019-09-17 01:53:49.000000000 +0000
+++ ./gdb/doc/gdb-add-index.1	2019-09-24 01:53:22.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDB-ADD-INDEX 1"
-.TH GDB-ADD-INDEX 1 "2019-09-17" "gdb-8.3.50.20190917-git" "GNU Development Tools"
+.TH GDB-ADD-INDEX 1 "2019-09-24" "gdb-8.3.50.20190924-git" "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-8.3.50.20190917/gdb/doc/gdb.info ./gdb/doc/gdb.info
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/doc/gdb.info	2019-09-17 01:53:46.000000000 +0000
+++ ./gdb/doc/gdb.info	2019-09-24 01:53:19.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    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 8.3.50.20190917-git.
+Source-Level Debugger' for GDB (GDB) Version 8.3.50.20190924-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
@@ -40,12 +40,12 @@ developing GNU and promoting software fr
 Indirect:
 gdb.info-1: 1716
 gdb.info-2: 305398
-gdb.info-3: 604328
-gdb.info-4: 902328
-gdb.info-5: 1203181
-gdb.info-6: 1511166
-gdb.info-7: 1808446
-gdb.info-8: 2197039
+gdb.info-3: 603988
+gdb.info-4: 902552
+gdb.info-5: 1201774
+gdb.info-6: 1511566
+gdb.info-7: 1807309
+gdb.info-8: 2195964
 
 Tag Table:
 (Indirect)
@@ -163,661 +163,658 @@ Node: Edit322985
 Ref: Edit-Footnote-1324461
 Node: Search324696
 Node: Source Path325504
-Ref: set substitute-path331870
-Node: Machine Code334090
-Node: Data344434
-Ref: print options345273
-Node: Expressions355077
-Node: Ambiguous Expressions357180
-Node: Variables360410
-Node: Arrays367008
-Node: Output Formats369539
-Ref: Output Formats-Footnote-1372912
-Node: Memory373069
-Ref: addressable memory unit379254
-Node: Auto Display380748
-Node: Print Settings385290
-Ref: set print address385588
-Ref: set print symbol389250
-Ref: set print array389738
-Ref: set print array-indexes390066
-Ref: set print elements390552
-Ref: set print frame-arguments391217
-Ref: set print raw-frame-arguments393386
-Ref: set print entry-values393802
-Ref: set print frame-info398181
-Ref: set print repeats399847
-Ref: set print max-depth400489
-Ref: set print null-stop402181
-Ref: set print pretty402505
-Ref: set print union403697
-Ref: set print object406003
-Ref: set print static-members406797
-Ref: set print vtbl407474
-Node: Pretty Printing407858
-Node: Pretty-Printer Introduction408372
-Node: Pretty-Printer Example410127
-Node: Pretty-Printer Commands410905
-Node: Value History413329
-Node: Convenience Vars415751
-Node: Convenience Funs423200
-Node: Registers429009
-Ref: standard registers430216
-Ref: Registers-Footnote-1435167
-Node: Floating Point Hardware435562
-Node: Vector Unit436094
-Node: OS Information436481
-Ref: linux info os infotypes438505
-Node: Memory Region Attributes443096
-Node: Dump/Restore Files447760
-Node: Core File Generation450163
-Ref: set use-coredump-filter451723
-Ref: set dump-excluded-mappings453171
-Node: Character Sets453453
-Node: Caching Target Data459818
-Ref: Caching Target Data-Footnote-1462546
-Node: Searching Memory462784
-Node: Value Sizes465927
-Node: Optimized Code467580
-Node: Inline Functions469257
-Node: Tail Call Frames471884
-Ref: set debug entry-values474021
-Node: Macros478083
-Ref: Macros-Footnote-1485659
-Node: Tracepoints485812
-Node: Set Tracepoints487874
-Node: Create and Delete Tracepoints490812
-Node: Enable and Disable Tracepoints497159
-Node: Tracepoint Passcounts498399
-Node: Tracepoint Conditions499810
-Node: Trace State Variables501504
-Node: Tracepoint Actions503699
-Node: Listing Tracepoints510482
-Node: Listing Static Tracepoint Markers512184
-Node: Starting and Stopping Trace Experiments514032
-Ref: disconnected tracing515777
-Node: Tracepoint Restrictions520197
-Node: Analyze Collected Data523966
-Node: tfind525272
-Node: tdump529754
-Node: save tracepoints532269
-Node: Tracepoint Variables532765
-Node: Trace Files533893
-Node: Overlays536269
-Node: How Overlays Work536989
-Ref: A code overlay539544
-Node: Overlay Commands542957
-Node: Automatic Overlay Debugging547139
-Node: Overlay Sample Program549278
-Node: Languages551015
-Node: Setting552178
-Node: Filenames553879
-Node: Manually554690
-Node: Automatically555899
-Node: Show556960
-Ref: show language557248
-Node: Checks558282
-Node: Type Checking559287
-Node: Range Checking561116
-Node: Supported Languages563517
-Node: C564854
-Node: C Operators565818
-Node: C Constants570157
-Node: C Plus Plus Expressions573036
-Node: C Defaults576396
-Node: C Checks577064
-Node: Debugging C577624
-Node: Debugging C Plus Plus578108
-Node: Decimal Floating Point582995
-Node: D584265
-Node: Go584523
-Node: Objective-C585617
-Node: Method Names in Commands586080
-Node: The Print Command with Objective-C587771
-Node: OpenCL C588422
-Node: OpenCL C Datatypes588697
-Node: OpenCL C Expressions589072
-Node: OpenCL C Operators589429
-Node: Fortran589661
-Node: Fortran Operators590382
-Node: Fortran Defaults591238
-Node: Special Fortran Commands591623
-Node: Pascal592129
-Node: Rust592640
-Node: Modula-2595727
-Node: M2 Operators596700
-Node: Built-In Func/Proc599698
-Node: M2 Constants604328
-Node: M2 Types605929
-Node: M2 Defaults609147
-Node: Deviations609748
-Node: M2 Checks610849
-Node: M2 Scope611666
-Node: GDB/M2612690
-Node: Ada613603
-Node: Ada Mode Intro614909
-Node: Omissions from Ada616411
-Node: Additions to Ada620766
-Node: Overloading support for Ada624694
-Node: Stopping Before Main Program626334
-Node: Ada Exceptions626881
-Node: Ada Tasks628080
-Node: Ada Tasks and Core Files634572
-Node: Ravenscar Profile635419
-Node: Ada Settings636490
-Node: Ada Glitches637912
-Node: Unsupported Languages641920
-Node: Symbols642610
-Ref: quoting names643213
-Node: Altering672965
-Node: Assignment674003
-Node: Jumping677109
-Node: Signaling679183
-Node: Returning682112
-Node: Calling685463
-Node: Patching690948
-Node: Compiling and Injecting Code692062
-Ref: set debug compile695689
-Ref: set debug compile-cplus-types695939
-Node: GDB Files705960
-Node: Files706749
-Ref: Shared Libraries720466
-Ref: Files-Footnote-1732664
-Node: File Caching732793
-Node: Separate Debug Files733927
-Ref: debug-file-directory737280
-Node: MiniDebugInfo745895
-Node: Index Files748346
-Node: Symbol Errors752517
-Node: Data Files756133
-Node: Targets757089
-Node: Active Targets758569
-Node: Target Commands759643
-Ref: load764032
-Ref: flash-erase765225
-Node: Byte Order765285
-Node: Remote Debugging766724
-Node: Connecting767986
-Ref: --multi Option in Types of Remote Connnections770212
-Ref: Attaching in Types of Remote Connections771627
-Ref: Host and target files772128
-Node: File Transfer780750
-Node: Server781689
-Ref: Running gdbserver783265
-Ref: Attaching to a program785483
-Ref: Other Command-Line Arguments for gdbserver788008
-Ref: Monitor Commands for gdbserver791327
-Ref: Server-Footnote-1796703
-Node: Remote Configuration796823
-Ref: set remotebreak798083
-Ref: set remote hardware-watchpoint-limit799545
-Ref: set remote hardware-breakpoint-limit799545
-Ref: set remote hardware-watchpoint-length-limit800047
-Ref: set remote exec-file800502
-Node: Remote Stub812511
-Node: Stub Contents815406
-Node: Bootstrapping817513
-Node: Debug Session821328
-Node: Configurations823369
-Node: Native824138
-Node: BSD libkvm Interface824707
-Node: Process Information825759
-Node: DJGPP Native831307
-Node: Cygwin Native837861
-Node: Non-debug DLL Symbols842782
-Node: Hurd Native847021
-Node: Darwin852277
-Node: FreeBSD853554
-Node: Embedded OS854274
-Node: Embedded Processors854685
-Node: ARC855675
-Node: ARM856222
-Node: M68K858769
-Node: MicroBlaze858942
-Node: MIPS Embedded860391
-Node: OpenRISC 1000861688
-Node: PowerPC Embedded862594
-Node: AVR865823
-Node: CRIS866195
-Node: Super-H867171
-Node: Architectures868230
-Node: AArch64868688
-Node: i386870261
-Ref: i386-Footnote-1874471
-Node: Alpha874557
-Node: MIPS874690
-Node: HPPA878584
-Node: SPU879102
-Node: PowerPC881288
-Node: Nios II882023
-Node: Sparc64882428
-Node: S12Z884796
-Node: Controlling GDB885091
-Node: Prompt886034
-Node: Editing887752
-Node: Command History888695
-Node: Screen Size893001
-Node: Output Styling895017
-Node: Numbers898630
-Node: ABI902328
-Node: Auto-loading905501
-Ref: set auto-load off906876
-Ref: show auto-load907512
-Ref: info auto-load908291
-Node: Init File in the Current Directory911258
-Ref: set auto-load local-gdbinit911833
-Ref: show auto-load local-gdbinit912015
-Ref: info auto-load local-gdbinit912179
-Node: libthread_db.so.1 file912327
-Ref: set auto-load libthread-db913266
-Ref: show auto-load libthread-db913397
-Ref: info auto-load libthread-db913534
-Node: Auto-loading safe path913718
-Ref: set auto-load safe-path915024
-Ref: show auto-load safe-path915763
-Ref: add-auto-load-safe-path915886
-Node: Auto-loading verbose mode918788
-Ref: set debug auto-load919951
-Ref: show debug auto-load920052
-Node: Messages/Warnings920174
-Ref: confirmation requests921608
-Node: Debugging Output922812
-Node: Other Misc Settings932632
-Node: Extending GDB933656
-Node: Sequences935509
-Node: Define936170
-Node: Hooks940250
-Node: Command Files942616
-Node: Output947689
-Ref: eval952491
-Node: Auto-loading sequences952653
-Ref: set auto-load gdb-scripts953148
-Ref: show auto-load gdb-scripts953272
-Ref: info auto-load gdb-scripts953402
-Node: Python953633
-Node: Python Commands954919
-Node: Python API957033
-Node: Basic Python959638
-Ref: prompt_hook970675
-Node: Exception Handling971273
-Node: Values From Inferior974175
-Node: Types In Python991510
-Node: Pretty Printing API1001502
-Node: Selecting Pretty-Printers1005945
-Node: Writing a Pretty-Printer1008672
-Node: Type Printing API1013994
-Node: Frame Filter API1016610
-Node: Frame Decorator API1023922
-Ref: frame_args1027663
-Node: Writing a Frame Filter1030993
-Node: Unwinding Frames in Python1042467
-Node: Xmethods In Python1050105
-Node: Xmethod API1053001
-Node: Writing an Xmethod1056813
-Node: Inferiors In Python1062648
-Node: Events In Python1066407
-Node: Threads In Python1075615
-Node: Recordings In Python1078845
-Node: Commands In Python1086179
-Node: Parameters In Python1095592
-Node: Functions In Python1102530
-Node: Progspaces In Python1104747
-Node: Objfiles In Python1109652
-Node: Frames In Python1116314
-Node: Blocks In Python1123320
-Node: Symbols In Python1127987
-Node: Symbol Tables In Python1136014
-Node: Line Tables In Python1139235
-Node: Breakpoints In Python1142072
-Ref: python_breakpoint_thread1148395
-Node: Finish Breakpoints in Python1151428
-Node: Lazy Strings In Python1153534
-Node: Architectures In Python1155762
-Node: Python Auto-loading1157951
-Ref: set auto-load python-scripts1158580
-Ref: show auto-load python-scripts1158680
-Ref: info auto-load python-scripts1158786
-Node: Python modules1159920
-Node: gdb.printing1160306
-Node: gdb.types1161733
-Node: gdb.prompt1164745
-Node: Guile1166394
-Node: Guile Introduction1167053
-Node: Guile Commands1167924
-Node: Guile API1169778
-Node: Basic Guile1171775
-Node: Guile Configuration1177457
-Node: GDB Scheme Data Types1178433
-Node: Guile Exception Handling1180265
-Node: Values From Inferior In Guile1184299
-Node: Arithmetic In Guile1199834
-Node: Types In Guile1203181
-Ref: Fields of a type in Guile1211122
-Node: Guile Pretty Printing API1212510
-Node: Selecting Guile Pretty-Printers1218239
-Node: Writing a Guile Pretty-Printer1220615
-Node: Commands In Guile1225800
-Node: Parameters In Guile1236580
-Ref: Parameters In Guile-Footnote-11243461
-Node: Progspaces In Guile1243577
-Node: Objfiles In Guile1246165
-Node: Frames In Guile1248446
-Node: Blocks In Guile1255024
-Node: Symbols In Guile1259832
-Node: Symbol Tables In Guile1267167
-Node: Breakpoints In Guile1270130
-Node: Lazy Strings In Guile1280391
-Node: Architectures In Guile1282682
-Node: Disassembly In Guile1286989
-Node: I/O Ports in Guile1290191
-Node: Memory Ports in Guile1290747
-Node: Iterators In Guile1294013
-Node: Guile Auto-loading1298302
-Ref: set auto-load guile-scripts1298925
-Ref: show auto-load guile-scripts1299023
-Ref: info auto-load guile-scripts1299127
-Node: Guile Modules1300086
-Node: Guile Printing Module1300408
-Node: Guile Types Module1301227
-Node: Auto-loading extensions1302520
-Node: objfile-gdbdotext file1303718
-Ref: set auto-load scripts-directory1305154
-Ref: with-auto-load-dir1305530
-Ref: show auto-load scripts-directory1306348
-Ref: add-auto-load-scripts-directory1306428
-Node: dotdebug_gdb_scripts section1306904
-Node: Which flavor to choose?1310654
-Node: Multiple Extension Languages1312475
-Node: Aliases1313539
-Node: Interpreters1316404
-Node: TUI1319555
-Node: TUI Overview1320553
-Node: TUI Keys1322986
-Node: TUI Single Key Mode1325290
-Node: TUI Commands1326297
-Node: TUI Configuration1330064
-Node: Emacs1331553
-Node: GDB/MI1336990
-Node: GDB/MI General Design1338964
-Node: Context management1341484
-Node: Asynchronous and non-stop modes1345271
-Node: Thread groups1348245
-Node: GDB/MI Command Syntax1350523
-Node: GDB/MI Input Syntax1350766
-Node: GDB/MI Output Syntax1352316
-Node: GDB/MI Compatibility with CLI1355901
-Node: GDB/MI Development and Front Ends1356638
-Node: GDB/MI Output Records1360157
-Node: GDB/MI Result Records1360563
-Node: GDB/MI Stream Records1361913
-Node: GDB/MI Async Records1363178
-Node: GDB/MI Breakpoint Information1373615
-Node: GDB/MI Frame Information1379250
-Node: GDB/MI Thread Information1380532
-Node: GDB/MI Ada Exception Information1382002
-Node: GDB/MI Simple Examples1382552
-Node: GDB/MI Command Description Format1384788
-Node: GDB/MI Breakpoint Commands1385668
-Ref: -break-insert1392776
-Node: GDB/MI Catchpoint Commands1406350
-Node: Shared Library GDB/MI Catchpoint Commands1406763
-Node: Ada Exception GDB/MI Catchpoint Commands1408421
-Node: C++ Exception GDB/MI Catchpoint Commands1411971
-Node: GDB/MI Program Context1415987
-Node: GDB/MI Thread Commands1420255
-Node: GDB/MI Ada Tasking Commands1423556
-Node: GDB/MI Program Execution1425828
-Node: GDB/MI Stack Manipulation1438095
-Ref: -stack-list-arguments1440019
-Ref: -stack-list-frames1443849
-Ref: -stack-list-locals1448178
-Ref: -stack-list-variables1449668
-Node: GDB/MI Variable Objects1451202
-Ref: -var-set-format1461167
-Ref: -var-list-children1462548
-Ref: -var-update1471356
-Ref: -var-set-frozen1474354
-Ref: -var-set-update-range1475151
-Ref: -var-set-visualizer1475680
-Node: GDB/MI Data Manipulation1477170
-Node: GDB/MI Tracepoint Commands1497659
-Node: GDB/MI Symbol Query1511166
-Node: GDB/MI File Commands1511855
-Node: GDB/MI Target Manipulation1516289
-Node: GDB/MI File Transfer Commands1522947
-Node: GDB/MI Ada Exceptions Commands1524270
-Node: GDB/MI Support Commands1525623
-Node: GDB/MI Miscellaneous Commands1530342
-Ref: -interpreter-exec1540695
-Node: Annotations1544667
-Node: Annotations Overview1545586
-Node: Server Prefix1548049
-Node: Prompting1548783
-Node: Errors1550300
-Node: Invalidation1551196
-Node: Annotations for Running1551675
-Node: Source Annotations1553209
-Node: JIT Interface1554138
-Node: Declarations1555937
-Node: Registering Code1557324
-Node: Unregistering Code1558296
-Node: Custom Debug Info1558923
-Node: Using JIT Debug Info Readers1560219
-Node: Writing JIT Debug Info Readers1561231
-Node: In-Process Agent1563426
-Ref: Control Agent1565369
-Node: In-Process Agent Protocol1566236
-Node: IPA Protocol Objects1567027
-Ref: agent expression object1568025
-Ref: tracepoint action object1568230
-Ref: tracepoint object1568310
-Node: IPA Protocol Commands1570840
-Node: GDB Bugs1572310
-Node: Bug Criteria1573042
-Node: Bug Reporting1573919
-Node: Command Line Editing1581748
-Node: Introduction and Notation1582400
-Node: Readline Interaction1584021
-Node: Readline Bare Essentials1585210
-Node: Readline Movement Commands1586991
-Node: Readline Killing Commands1587949
-Node: Readline Arguments1589865
-Node: Searching1590907
-Node: Readline Init File1593057
-Node: Readline Init File Syntax1594208
-Node: Conditional Init Constructs1614364
-Node: Sample Init File1618558
-Node: Bindable Readline Commands1621673
-Node: Commands For Moving1622725
-Node: Commands For History1624289
-Node: Commands For Text1628551
-Node: Commands For Killing1631990
-Node: Numeric Arguments1634154
-Node: Commands For Completion1635291
-Node: Keyboard Macros1637257
-Node: Miscellaneous Commands1637942
-Node: Readline vi Mode1641861
-Node: Using History Interactively1642771
-Node: History Interaction1643286
-Node: Event Designators1645182
-Node: Word Designators1646319
-Node: Modifiers1647954
-Node: In Memoriam1649175
-Node: Formatting Documentation1650058
-Ref: Formatting Documentation-Footnote-11653434
-Node: Installing GDB1653530
-Node: Requirements1654102
-Ref: Expat1654803
-Ref: MPFR1658096
-Node: Running Configure1659717
-Node: Separate Objdir1662588
-Node: Config Names1665562
-Node: Configure Options1667039
-Node: System-wide configuration1676005
-Node: System-wide Configuration Scripts1677965
-Node: Maintenance Commands1679149
-Ref: maint info breakpoints1680804
-Ref: maint check libthread-db1689269
-Node: Remote Protocol1704756
-Node: Overview1705448
-Ref: Binary Data1707993
-Node: Packets1710518
-Ref: thread-id syntax1711418
-Ref: extended mode1712863
-Ref: ? packet1713121
-Ref: bc1714587
-Ref: bs1714797
-Ref: read registers packet1716414
-Ref: cycle step packet1718269
-Ref: write register packet1720980
-Ref: step with signal packet1721959
-Ref: vCont packet1723435
-Ref: vCtrlC packet1726668
-Ref: vKill packet1729086
-Ref: X packet1730619
-Ref: insert breakpoint or watchpoint packet1730988
-Node: Stop Reply Packets1735314
-Ref: swbreak stop reason1738565
-Ref: thread create event1742162
-Ref: thread exit event1743365
-Node: General Query Packets1745574
-Ref: qCRC packet1748404
-Ref: QEnvironmentHexEncoded1751557
-Ref: QEnvironmentUnset1752787
-Ref: QEnvironmentReset1753731
-Ref: QSetWorkingDir packet1754675
-Ref: QNonStop1761126
-Ref: QCatchSyscalls1761802
-Ref: QPassSignals1763339
-Ref: QProgramSignals1764546
-Ref: QThreadEvents1766113
-Ref: qSearch memory1768131
-Ref: QStartNoAckMode1768639
-Ref: qSupported1769170
-Ref: multiprocess extensions1785177
-Ref: install tracepoint in tracing1787207
-Ref: qXfer read1791730
-Ref: qXfer auxiliary vector read1793337
-Ref: qXfer btrace read1793685
-Ref: qXfer btrace-conf read1794750
-Ref: qXfer executable filename read1795101
-Ref: qXfer target description read1795716
-Ref: qXfer library list read1796150
-Ref: qXfer svr4 library list read1796806
-Ref: qXfer memory map read1798659
-Ref: qXfer sdata read1799046
-Ref: qXfer siginfo read1799512
-Ref: qXfer spu read1799909
-Ref: qXfer threads read1800433
-Ref: qXfer traceframe info read1800836
-Ref: qXfer unwind info block1801254
-Ref: qXfer fdpic loadmap read1801488
-Ref: qXfer osdata read1801904
-Ref: qXfer write1802058
-Ref: qXfer siginfo write1803150
-Ref: qXfer spu write1803547
-Ref: General Query Packets-Footnote-11806403
-Node: Architecture-Specific Protocol Details1808446
-Node: ARM-Specific Protocol Details1808955
-Node: ARM Breakpoint Kinds1809203
-Node: MIPS-Specific Protocol Details1809534
-Node: MIPS Register packet Format1809817
-Node: MIPS Breakpoint Kinds1810744
-Node: Tracepoint Packets1811162
-Ref: QTEnable1820476
-Ref: QTDisable1820672
-Ref: qTfSTM1826209
-Ref: qTsSTM1826209
-Ref: qTSTMat1827286
-Ref: QTBuffer-size1828437
-Node: Host I/O Packets1830410
-Node: Interrupts1835990
-Ref: interrupting remote targets1836134
-Node: Notification Packets1838302
-Node: Remote Non-Stop1843727
-Node: Packet Acknowledgment1846843
-Node: Examples1848958
-Node: File-I/O Remote Protocol Extension1849552
-Node: File-I/O Overview1850014
-Node: Protocol Basics1852213
-Node: The F Request Packet1854442
-Node: The F Reply Packet1855343
-Node: The Ctrl-C Message1856261
-Node: Console I/O1857887
-Node: List of Supported Calls1859103
-Node: open1859465
-Node: close1861973
-Node: read1862356
-Node: write1862965
-Node: lseek1863736
-Node: rename1864620
-Node: unlink1866027
-Node: stat/fstat1866974
-Node: gettimeofday1867867
-Node: isatty1868303
-Node: system1868899
-Node: Protocol-specific Representation of Datatypes1870441
-Node: Integral Datatypes1870818
-Node: Pointer Values1871625
-Node: Memory Transfer1872329
-Node: struct stat1872949
-Node: struct timeval1875151
-Node: Constants1875668
-Node: Open Flags1876117
-Node: mode_t Values1876458
-Node: Errno Values1876950
-Node: Lseek Flags1877760
-Node: Limits1877945
-Node: File-I/O Examples1878305
-Node: Library List Format1879393
-Node: Library List Format for SVR4 Targets1882175
-Node: Memory Map Format1884642
-Node: Thread List Format1887166
-Node: Traceframe Info Format1888170
-Node: Branch Trace Format1889856
-Node: Branch Trace Configuration Format1891556
-Node: Agent Expressions1892730
-Node: General Bytecode Design1895551
-Node: Bytecode Descriptions1900345
-Node: Using Agent Expressions1913812
-Node: Varying Target Capabilities1915789
-Node: Rationale1916950
-Node: Target Descriptions1924339
-Node: Retrieving Descriptions1926282
-Node: Target Description Format1927367
-Node: Predefined Target Types1937242
-Node: Enum Target Types1938687
-Node: Standard Target Features1939682
-Node: AArch64 Features1941682
-Node: ARC Features1942388
-Node: ARM Features1944449
-Node: i386 Features1945963
-Node: MicroBlaze Features1948178
-Node: MIPS Features1948755
-Node: M68K Features1949946
-Node: NDS32 Features1950607
-Node: Nios II Features1951631
-Node: OpenRISC 1000 Features1952036
-Node: PowerPC Features1952402
-Node: RISC-V Features1956372
-Node: RX Features1958062
-Node: S/390 and System z Features1958424
-Node: Sparc Features1960564
-Node: TIC6x Features1961469
-Node: Operating System Information1962018
-Node: Process list1962853
-Node: Trace File Format1963916
-Node: Index Section Format1967130
-Node: Man Pages1975056
-Node: gdb man1975526
-Node: gdbserver man1981500
-Node: gcore man1988897
-Node: gdbinit man1990019
-Node: gdb-add-index man1990928
-Ref: gdb-add-index1991037
-Node: Copying1991911
-Node: GNU Free Documentation License2029472
-Node: Concept Index2054619
-Node: Command and Variable Index2197039
+Ref: set substitute-path334444
+Node: Machine Code336664
+Node: Data347008
+Ref: print options347847
+Node: Expressions357651
+Node: Ambiguous Expressions359754
+Node: Variables362984
+Node: Arrays369582
+Node: Output Formats372113
+Ref: Output Formats-Footnote-1375486
+Node: Memory375643
+Ref: addressable memory unit381828
+Node: Auto Display383322
+Node: Print Settings387864
+Ref: set print address388162
+Ref: set print symbol391824
+Ref: set print array392312
+Ref: set print array-indexes392640
+Ref: set print elements393126
+Ref: set print frame-arguments393791
+Ref: set print raw-frame-arguments395960
+Ref: set print entry-values396376
+Ref: set print frame-info400755
+Ref: set print repeats402421
+Ref: set print max-depth403063
+Ref: set print null-stop404755
+Ref: set print pretty405079
+Ref: set print union406271
+Ref: set print object408577
+Ref: set print static-members409371
+Ref: set print vtbl410048
+Node: Pretty Printing410432
+Node: Pretty-Printer Introduction410946
+Node: Pretty-Printer Example412701
+Node: Pretty-Printer Commands413479
+Node: Value History415903
+Node: Convenience Vars418325
+Node: Convenience Funs425774
+Node: Registers431583
+Ref: standard registers432790
+Ref: Registers-Footnote-1437741
+Node: Floating Point Hardware438136
+Node: Vector Unit438668
+Node: OS Information439055
+Ref: linux info os infotypes441079
+Node: Memory Region Attributes445670
+Node: Dump/Restore Files450334
+Node: Core File Generation452737
+Ref: set use-coredump-filter454297
+Ref: set dump-excluded-mappings455745
+Node: Character Sets456027
+Node: Caching Target Data462392
+Ref: Caching Target Data-Footnote-1465120
+Node: Searching Memory465358
+Node: Value Sizes468501
+Node: Optimized Code470154
+Node: Inline Functions471831
+Node: Tail Call Frames474458
+Ref: set debug entry-values476595
+Node: Macros480657
+Ref: Macros-Footnote-1488233
+Node: Tracepoints488386
+Node: Set Tracepoints490448
+Node: Create and Delete Tracepoints493386
+Node: Enable and Disable Tracepoints499733
+Node: Tracepoint Passcounts500973
+Node: Tracepoint Conditions502384
+Node: Trace State Variables504078
+Node: Tracepoint Actions506273
+Node: Listing Tracepoints513056
+Node: Listing Static Tracepoint Markers514758
+Node: Starting and Stopping Trace Experiments516606
+Ref: disconnected tracing518351
+Node: Tracepoint Restrictions522771
+Node: Analyze Collected Data526540
+Node: tfind527846
+Node: tdump532328
+Node: save tracepoints534843
+Node: Tracepoint Variables535339
+Node: Trace Files536467
+Node: Overlays538843
+Node: How Overlays Work539563
+Ref: A code overlay542118
+Node: Overlay Commands545531
+Node: Automatic Overlay Debugging549713
+Node: Overlay Sample Program551852
+Node: Languages553589
+Node: Setting554752
+Node: Filenames556453
+Node: Manually557264
+Node: Automatically558473
+Node: Show559534
+Ref: show language559822
+Node: Checks560856
+Node: Type Checking561861
+Node: Range Checking563690
+Node: Supported Languages566091
+Node: C567428
+Node: C Operators568392
+Node: C Constants572731
+Node: C Plus Plus Expressions575610
+Node: C Defaults578970
+Node: C Checks579638
+Node: Debugging C580198
+Node: Debugging C Plus Plus580682
+Node: Decimal Floating Point585569
+Node: D586839
+Node: Go587097
+Node: Objective-C588191
+Node: Method Names in Commands588654
+Node: The Print Command with Objective-C590345
+Node: OpenCL C590996
+Node: OpenCL C Datatypes591271
+Node: OpenCL C Expressions591646
+Node: OpenCL C Operators592003
+Node: Fortran592235
+Node: Fortran Operators592956
+Node: Fortran Defaults593812
+Node: Special Fortran Commands594197
+Node: Pascal594703
+Node: Rust595214
+Node: Modula-2598301
+Node: M2 Operators599274
+Node: Built-In Func/Proc603988
+Node: M2 Constants606902
+Node: M2 Types608503
+Node: M2 Defaults611721
+Node: Deviations612322
+Node: M2 Checks613423
+Node: M2 Scope614240
+Node: GDB/M2615264
+Node: Ada616177
+Node: Ada Mode Intro617483
+Node: Omissions from Ada618985
+Node: Additions to Ada623340
+Node: Overloading support for Ada627268
+Node: Stopping Before Main Program628908
+Node: Ada Exceptions629455
+Node: Ada Tasks630654
+Node: Ada Tasks and Core Files637146
+Node: Ravenscar Profile637993
+Node: Ada Settings639064
+Node: Ada Glitches640486
+Node: Unsupported Languages644494
+Node: Symbols645184
+Ref: quoting names645787
+Node: Altering675539
+Node: Assignment676577
+Node: Jumping679683
+Node: Signaling681757
+Node: Returning684686
+Node: Calling688037
+Node: Patching693522
+Node: Compiling and Injecting Code694636
+Ref: set debug compile698263
+Ref: set debug compile-cplus-types698513
+Node: GDB Files708534
+Node: Files709323
+Ref: Shared Libraries723040
+Ref: Files-Footnote-1735238
+Node: File Caching735367
+Node: Separate Debug Files736501
+Ref: debug-file-directory739854
+Node: MiniDebugInfo748469
+Node: Index Files750920
+Node: Symbol Errors755091
+Node: Data Files758707
+Node: Targets759663
+Node: Active Targets761143
+Node: Target Commands762217
+Ref: load766606
+Ref: flash-erase767799
+Node: Byte Order767859
+Node: Remote Debugging769298
+Node: Connecting770560
+Ref: --multi Option in Types of Remote Connnections772786
+Ref: Attaching in Types of Remote Connections774201
+Ref: Host and target files774702
+Node: File Transfer783324
+Node: Server784263
+Ref: Running gdbserver785839
+Ref: Attaching to a program788057
+Ref: Other Command-Line Arguments for gdbserver790582
+Ref: Monitor Commands for gdbserver793901
+Ref: Server-Footnote-1799277
+Node: Remote Configuration799397
+Ref: set remotebreak800657
+Ref: set remote hardware-watchpoint-limit802119
+Ref: set remote hardware-breakpoint-limit802119
+Ref: set remote hardware-watchpoint-length-limit802621
+Ref: set remote exec-file803076
+Node: Remote Stub814881
+Node: Stub Contents817776
+Node: Bootstrapping819883
+Node: Debug Session823698
+Node: Configurations825739
+Node: Native826508
+Node: BSD libkvm Interface827077
+Node: Process Information828129
+Node: DJGPP Native833677
+Node: Cygwin Native840231
+Node: Non-debug DLL Symbols845152
+Node: Hurd Native849391
+Node: Darwin854647
+Node: FreeBSD855924
+Node: Embedded OS856644
+Node: Embedded Processors857055
+Node: ARC858045
+Node: ARM858592
+Node: M68K861139
+Node: MicroBlaze861312
+Node: MIPS Embedded862761
+Node: OpenRISC 1000864058
+Node: PowerPC Embedded864964
+Node: AVR868193
+Node: CRIS868565
+Node: Super-H869541
+Node: Architectures870600
+Node: AArch64870996
+Node: i386872569
+Ref: i386-Footnote-1876779
+Node: Alpha876865
+Node: MIPS876998
+Node: HPPA880892
+Node: PowerPC881414
+Node: Nios II882150
+Node: Sparc64882555
+Node: S12Z884923
+Node: Controlling GDB885216
+Node: Prompt886159
+Node: Editing887877
+Node: Command History888919
+Node: Screen Size893225
+Node: Output Styling895241
+Node: Numbers898854
+Node: ABI902552
+Node: Auto-loading905725
+Ref: set auto-load off907100
+Ref: show auto-load907736
+Ref: info auto-load908515
+Node: Init File in the Current Directory911482
+Ref: set auto-load local-gdbinit912057
+Ref: show auto-load local-gdbinit912239
+Ref: info auto-load local-gdbinit912403
+Node: libthread_db.so.1 file912551
+Ref: set auto-load libthread-db913490
+Ref: show auto-load libthread-db913621
+Ref: info auto-load libthread-db913758
+Node: Auto-loading safe path913942
+Ref: set auto-load safe-path915248
+Ref: show auto-load safe-path915987
+Ref: add-auto-load-safe-path916110
+Node: Auto-loading verbose mode919012
+Ref: set debug auto-load920175
+Ref: show debug auto-load920276
+Node: Messages/Warnings920398
+Ref: confirmation requests921832
+Node: Debugging Output923036
+Node: Other Misc Settings932856
+Node: Extending GDB933880
+Node: Sequences935733
+Node: Define936394
+Node: Hooks940474
+Node: Command Files942840
+Node: Output947913
+Ref: eval952715
+Node: Auto-loading sequences952877
+Ref: set auto-load gdb-scripts953372
+Ref: show auto-load gdb-scripts953496
+Ref: info auto-load gdb-scripts953626
+Node: Python953857
+Node: Python Commands955143
+Node: Python API957257
+Node: Basic Python959862
+Ref: prompt_hook970899
+Node: Exception Handling971497
+Node: Values From Inferior974399
+Node: Types In Python991734
+Node: Pretty Printing API1001726
+Node: Selecting Pretty-Printers1006169
+Node: Writing a Pretty-Printer1008896
+Node: Type Printing API1014218
+Node: Frame Filter API1016834
+Node: Frame Decorator API1024146
+Ref: frame_args1027887
+Node: Writing a Frame Filter1031217
+Node: Unwinding Frames in Python1042691
+Node: Xmethods In Python1050329
+Node: Xmethod API1053225
+Node: Writing an Xmethod1057037
+Node: Inferiors In Python1062872
+Node: Events In Python1066631
+Node: Threads In Python1075839
+Node: Recordings In Python1079069
+Node: Commands In Python1086403
+Node: Parameters In Python1095816
+Node: Functions In Python1102754
+Node: Progspaces In Python1104971
+Node: Objfiles In Python1109876
+Node: Frames In Python1116538
+Node: Blocks In Python1123544
+Node: Symbols In Python1128211
+Node: Symbol Tables In Python1136238
+Node: Line Tables In Python1139459
+Node: Breakpoints In Python1142296
+Ref: python_breakpoint_thread1148619
+Node: Finish Breakpoints in Python1151652
+Node: Lazy Strings In Python1153758
+Node: Architectures In Python1155986
+Node: Python Auto-loading1158175
+Ref: set auto-load python-scripts1158804
+Ref: show auto-load python-scripts1158904
+Ref: info auto-load python-scripts1159010
+Node: Python modules1160144
+Node: gdb.printing1160530
+Node: gdb.types1161957
+Node: gdb.prompt1164969
+Node: Guile1166618
+Node: Guile Introduction1167277
+Node: Guile Commands1168148
+Node: Guile API1170002
+Node: Basic Guile1171999
+Node: Guile Configuration1177681
+Node: GDB Scheme Data Types1178657
+Node: Guile Exception Handling1180489
+Node: Values From Inferior In Guile1184523
+Node: Arithmetic In Guile1201774
+Node: Types In Guile1203405
+Ref: Fields of a type in Guile1211346
+Node: Guile Pretty Printing API1212734
+Node: Selecting Guile Pretty-Printers1218463
+Node: Writing a Guile Pretty-Printer1220839
+Node: Commands In Guile1226024
+Node: Parameters In Guile1236804
+Ref: Parameters In Guile-Footnote-11243685
+Node: Progspaces In Guile1243801
+Node: Objfiles In Guile1246389
+Node: Frames In Guile1248670
+Node: Blocks In Guile1255248
+Node: Symbols In Guile1260056
+Node: Symbol Tables In Guile1267391
+Node: Breakpoints In Guile1270354
+Node: Lazy Strings In Guile1280615
+Node: Architectures In Guile1282906
+Node: Disassembly In Guile1287213
+Node: I/O Ports in Guile1290415
+Node: Memory Ports in Guile1290971
+Node: Iterators In Guile1294237
+Node: Guile Auto-loading1298526
+Ref: set auto-load guile-scripts1299149
+Ref: show auto-load guile-scripts1299247
+Ref: info auto-load guile-scripts1299351
+Node: Guile Modules1300310
+Node: Guile Printing Module1300632
+Node: Guile Types Module1301451
+Node: Auto-loading extensions1302744
+Node: objfile-gdbdotext file1303942
+Ref: set auto-load scripts-directory1305378
+Ref: with-auto-load-dir1305754
+Ref: show auto-load scripts-directory1306572
+Ref: add-auto-load-scripts-directory1306652
+Node: dotdebug_gdb_scripts section1307128
+Node: Which flavor to choose?1310878
+Node: Multiple Extension Languages1312699
+Node: Aliases1313763
+Node: Interpreters1316628
+Node: TUI1319779
+Node: TUI Overview1320777
+Node: TUI Keys1323210
+Node: TUI Single Key Mode1325514
+Node: TUI Commands1326697
+Node: TUI Configuration1330464
+Node: Emacs1331953
+Node: GDB/MI1337390
+Node: GDB/MI General Design1339364
+Node: Context management1341884
+Node: Asynchronous and non-stop modes1345671
+Node: Thread groups1348645
+Node: GDB/MI Command Syntax1350923
+Node: GDB/MI Input Syntax1351166
+Node: GDB/MI Output Syntax1352716
+Node: GDB/MI Compatibility with CLI1356301
+Node: GDB/MI Development and Front Ends1357038
+Node: GDB/MI Output Records1360557
+Node: GDB/MI Result Records1360963
+Node: GDB/MI Stream Records1362313
+Node: GDB/MI Async Records1363578
+Node: GDB/MI Breakpoint Information1374015
+Node: GDB/MI Frame Information1379650
+Node: GDB/MI Thread Information1380932
+Node: GDB/MI Ada Exception Information1382402
+Node: GDB/MI Simple Examples1382952
+Node: GDB/MI Command Description Format1385188
+Node: GDB/MI Breakpoint Commands1386068
+Ref: -break-insert1393176
+Node: GDB/MI Catchpoint Commands1406750
+Node: Shared Library GDB/MI Catchpoint Commands1407163
+Node: Ada Exception GDB/MI Catchpoint Commands1408821
+Node: C++ Exception GDB/MI Catchpoint Commands1412371
+Node: GDB/MI Program Context1416387
+Node: GDB/MI Thread Commands1420655
+Node: GDB/MI Ada Tasking Commands1423956
+Node: GDB/MI Program Execution1426228
+Node: GDB/MI Stack Manipulation1438495
+Ref: -stack-list-arguments1440419
+Ref: -stack-list-frames1444249
+Ref: -stack-list-locals1448578
+Ref: -stack-list-variables1450068
+Node: GDB/MI Variable Objects1451602
+Ref: -var-set-format1461567
+Ref: -var-list-children1462948
+Ref: -var-update1471756
+Ref: -var-set-frozen1474754
+Ref: -var-set-update-range1475551
+Ref: -var-set-visualizer1476080
+Node: GDB/MI Data Manipulation1477570
+Node: GDB/MI Tracepoint Commands1498059
+Node: GDB/MI Symbol Query1511566
+Node: GDB/MI File Commands1512255
+Node: GDB/MI Target Manipulation1516689
+Node: GDB/MI File Transfer Commands1523347
+Node: GDB/MI Ada Exceptions Commands1524670
+Node: GDB/MI Support Commands1526023
+Node: GDB/MI Miscellaneous Commands1530742
+Ref: -interpreter-exec1541095
+Node: Annotations1545067
+Node: Annotations Overview1545986
+Node: Server Prefix1548449
+Node: Prompting1549183
+Node: Errors1550700
+Node: Invalidation1551596
+Node: Annotations for Running1552075
+Node: Source Annotations1553609
+Node: JIT Interface1554538
+Node: Declarations1556337
+Node: Registering Code1557724
+Node: Unregistering Code1558696
+Node: Custom Debug Info1559323
+Node: Using JIT Debug Info Readers1560619
+Node: Writing JIT Debug Info Readers1561631
+Node: In-Process Agent1563826
+Ref: Control Agent1565769
+Node: In-Process Agent Protocol1566636
+Node: IPA Protocol Objects1567427
+Ref: agent expression object1568425
+Ref: tracepoint action object1568630
+Ref: tracepoint object1568710
+Node: IPA Protocol Commands1571240
+Node: GDB Bugs1572710
+Node: Bug Criteria1573442
+Node: Bug Reporting1574319
+Node: Command Line Editing1582148
+Node: Introduction and Notation1582800
+Node: Readline Interaction1584421
+Node: Readline Bare Essentials1585610
+Node: Readline Movement Commands1587391
+Node: Readline Killing Commands1588349
+Node: Readline Arguments1590265
+Node: Searching1591307
+Node: Readline Init File1593457
+Node: Readline Init File Syntax1594608
+Node: Conditional Init Constructs1614764
+Node: Sample Init File1618958
+Node: Bindable Readline Commands1622073
+Node: Commands For Moving1623125
+Node: Commands For History1624689
+Node: Commands For Text1628951
+Node: Commands For Killing1632390
+Node: Numeric Arguments1634554
+Node: Commands For Completion1635691
+Node: Keyboard Macros1637657
+Node: Miscellaneous Commands1638342
+Node: Readline vi Mode1642261
+Node: Using History Interactively1643171
+Node: History Interaction1643686
+Node: Event Designators1645582
+Node: Word Designators1646719
+Node: Modifiers1648354
+Node: In Memoriam1649575
+Node: Formatting Documentation1650458
+Ref: Formatting Documentation-Footnote-11653834
+Node: Installing GDB1653930
+Node: Requirements1654502
+Ref: Expat1655203
+Ref: MPFR1658496
+Node: Running Configure1660117
+Node: Separate Objdir1662988
+Node: Config Names1665962
+Node: Configure Options1667439
+Node: System-wide configuration1676405
+Node: System-wide Configuration Scripts1678365
+Node: Maintenance Commands1679549
+Ref: maint info breakpoints1681204
+Ref: maint check libthread-db1689669
+Node: Remote Protocol1705156
+Node: Overview1705848
+Ref: Binary Data1708393
+Node: Packets1710918
+Ref: thread-id syntax1711818
+Ref: extended mode1713263
+Ref: ? packet1713521
+Ref: bc1714987
+Ref: bs1715197
+Ref: read registers packet1716814
+Ref: cycle step packet1718669
+Ref: write register packet1721380
+Ref: step with signal packet1722359
+Ref: vCont packet1723835
+Ref: vCtrlC packet1727068
+Ref: vKill packet1729486
+Ref: X packet1731019
+Ref: insert breakpoint or watchpoint packet1731388
+Node: Stop Reply Packets1735714
+Ref: swbreak stop reason1738965
+Ref: thread create event1742562
+Ref: thread exit event1743765
+Node: General Query Packets1745974
+Ref: qCRC packet1748804
+Ref: QEnvironmentHexEncoded1751957
+Ref: QEnvironmentUnset1753187
+Ref: QEnvironmentReset1754131
+Ref: QSetWorkingDir packet1755075
+Ref: QNonStop1761526
+Ref: QCatchSyscalls1762202
+Ref: QPassSignals1763739
+Ref: QProgramSignals1764946
+Ref: QThreadEvents1766513
+Ref: qSearch memory1768531
+Ref: QStartNoAckMode1769039
+Ref: qSupported1769570
+Ref: multiprocess extensions1785090
+Ref: install tracepoint in tracing1787120
+Ref: qXfer read1791643
+Ref: qXfer auxiliary vector read1793250
+Ref: qXfer btrace read1793598
+Ref: qXfer btrace-conf read1794663
+Ref: qXfer executable filename read1795014
+Ref: qXfer target description read1795629
+Ref: qXfer library list read1796063
+Ref: qXfer svr4 library list read1796719
+Ref: qXfer memory map read1798572
+Ref: qXfer sdata read1798959
+Ref: qXfer siginfo read1799425
+Ref: qXfer threads read1799821
+Ref: qXfer traceframe info read1800224
+Ref: qXfer unwind info block1800642
+Ref: qXfer fdpic loadmap read1800876
+Ref: qXfer osdata read1801292
+Ref: qXfer write1801446
+Ref: qXfer siginfo write1802538
+Ref: General Query Packets-Footnote-11805266
+Node: Architecture-Specific Protocol Details1807309
+Node: ARM-Specific Protocol Details1807818
+Node: ARM Breakpoint Kinds1808066
+Node: MIPS-Specific Protocol Details1808397
+Node: MIPS Register packet Format1808680
+Node: MIPS Breakpoint Kinds1809607
+Node: Tracepoint Packets1810025
+Ref: QTEnable1819339
+Ref: QTDisable1819535
+Ref: qTfSTM1825072
+Ref: qTsSTM1825072
+Ref: qTSTMat1826149
+Ref: QTBuffer-size1827300
+Node: Host I/O Packets1829273
+Node: Interrupts1834853
+Ref: interrupting remote targets1834997
+Node: Notification Packets1837165
+Node: Remote Non-Stop1842590
+Node: Packet Acknowledgment1845706
+Node: Examples1847821
+Node: File-I/O Remote Protocol Extension1848415
+Node: File-I/O Overview1848877
+Node: Protocol Basics1851076
+Node: The F Request Packet1853305
+Node: The F Reply Packet1854206
+Node: The Ctrl-C Message1855124
+Node: Console I/O1856750
+Node: List of Supported Calls1857966
+Node: open1858328
+Node: close1860836
+Node: read1861219
+Node: write1861828
+Node: lseek1862599
+Node: rename1863483
+Node: unlink1864890
+Node: stat/fstat1865837
+Node: gettimeofday1866730
+Node: isatty1867166
+Node: system1867762
+Node: Protocol-specific Representation of Datatypes1869304
+Node: Integral Datatypes1869681
+Node: Pointer Values1870488
+Node: Memory Transfer1871192
+Node: struct stat1871812
+Node: struct timeval1874014
+Node: Constants1874531
+Node: Open Flags1874980
+Node: mode_t Values1875321
+Node: Errno Values1875813
+Node: Lseek Flags1876623
+Node: Limits1876808
+Node: File-I/O Examples1877168
+Node: Library List Format1878256
+Node: Library List Format for SVR4 Targets1881038
+Node: Memory Map Format1883505
+Node: Thread List Format1886029
+Node: Traceframe Info Format1887033
+Node: Branch Trace Format1888719
+Node: Branch Trace Configuration Format1890419
+Node: Agent Expressions1891593
+Node: General Bytecode Design1894414
+Node: Bytecode Descriptions1899208
+Node: Using Agent Expressions1912675
+Node: Varying Target Capabilities1914652
+Node: Rationale1915813
+Node: Target Descriptions1923202
+Node: Retrieving Descriptions1925145
+Node: Target Description Format1926230
+Node: Predefined Target Types1936105
+Node: Enum Target Types1937550
+Node: Standard Target Features1938545
+Node: AArch64 Features1940545
+Node: ARC Features1941251
+Node: ARM Features1943312
+Node: i386 Features1944826
+Node: MicroBlaze Features1947041
+Node: MIPS Features1947618
+Node: M68K Features1948809
+Node: NDS32 Features1949470
+Node: Nios II Features1950494
+Node: OpenRISC 1000 Features1950899
+Node: PowerPC Features1951265
+Node: RISC-V Features1955235
+Node: RX Features1956925
+Node: S/390 and System z Features1957287
+Node: Sparc Features1959427
+Node: TIC6x Features1960332
+Node: Operating System Information1960881
+Node: Process list1961716
+Node: Trace File Format1962779
+Node: Index Section Format1965993
+Node: Man Pages1973919
+Node: gdb man1974389
+Node: gdbserver man1980363
+Node: gcore man1987760
+Node: gdbinit man1988882
+Node: gdb-add-index man1989791
+Ref: gdb-add-index1989900
+Node: Copying1990774
+Node: GNU Free Documentation License2028335
+Node: Concept Index2053482
+Node: Command and Variable Index2195964
 
 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-8.3.50.20190917/gdb/doc/gdb.info-1 ./gdb/doc/gdb.info-1
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/doc/gdb.info-1	2019-09-17 01:53:32.000000000 +0000
+++ ./gdb/doc/gdb.info-1	2019-09-24 01:53:06.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    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 8.3.50.20190917-git.
+Source-Level Debugger' for GDB (GDB) Version 8.3.50.20190924-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
@@ -44,7 +44,7 @@ Debugging with GDB
 
 This file describes GDB, the GNU symbolic debugger.
 
-   This is the Tenth Edition, for GDB (GDB) Version 8.3.50.20190917-git.
+   This is the Tenth Edition, for GDB (GDB) Version 8.3.50.20190924-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
@@ -507,7 +507,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 8.3.50.20190917-git, Copyright 1999 Free Software Foundation, Inc...
+     GDB 8.3.50.20190924-git, 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-8.3.50.20190917/gdb/doc/gdb.info-2 ./gdb/doc/gdb.info-2
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/doc/gdb.info-2	2019-09-17 01:53:34.000000000 +0000
+++ ./gdb/doc/gdb.info-2	2019-09-24 01:53:08.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    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 8.3.50.20190917-git.
+Source-Level Debugger' for GDB (GDB) Version 8.3.50.20190924-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
@@ -570,21 +570,82 @@ file, it tries all the directories in th
 present in the list, until it finds a file with the desired name.
 
    For example, suppose an executable references the file
-'/usr/src/foo-1.0/lib/foo.c', and our source path is '/mnt/cross'.  The
-file is first looked up literally; if this fails,
-'/mnt/cross/usr/src/foo-1.0/lib/foo.c' is tried; if this fails,
-'/mnt/cross/foo.c' is opened; if this fails, an error message is
-printed.  GDB does not look up the parts of the source file name, such
-as '/mnt/cross/src/foo-1.0/lib/foo.c'.  Likewise, the subdirectories of
-the source path are not searched: if the source path is '/mnt/cross',
-and the binary refers to 'foo.c', GDB would not find it under
-'/mnt/cross/usr/src/foo-1.0/lib'.
+'/usr/src/foo-1.0/lib/foo.c', does not record a compilation directory,
+and the "source path" is '/mnt/cross'.  GDB would look for the source
+file in the following locations:
+
+  1. '/usr/src/foo-1.0/lib/foo.c'
+  2. '/mnt/cross/usr/src/foo-1.0/lib/foo.c'
+  3. '/mnt/cross/foo.c'
+
+   If the source file is not present at any of the above locations then
+an error is printed.  GDB does not look up the parts of the source file
+name, such as '/mnt/cross/src/foo-1.0/lib/foo.c'.  Likewise, the
+subdirectories of the source path are not searched: if the source path
+is '/mnt/cross', and the binary refers to 'foo.c', GDB would not find it
+under '/mnt/cross/usr/src/foo-1.0/lib'.
 
    Plain file names, relative file names with leading directories, file
-names containing dots, etc. are all treated as described above; for
-instance, if the source path is '/mnt/cross', and the source file is
-recorded as '../lib/foo.c', GDB would first try '../lib/foo.c', then
-'/mnt/cross/../lib/foo.c', and after that--'/mnt/cross/foo.c'.
+names containing dots, etc. are all treated as described above, except
+that non-absolute file names are not looked up literally.  If the
+"source path" is '/mnt/cross', the source file is recorded as
+'../lib/foo.c', and no compilation directory is recorded, then GDB will
+search in the following locations:
+
+  1. '/mnt/cross/../lib/foo.c'
+  2. '/mnt/cross/foo.c'
+
+   The "source path" will always include two special entries '$cdir' and
+'$cwd', these refer to the compilation directory (if one is recorded)
+and the current working directory respectively.
+
+   '$cdir' causes GDB to search within the compilation directory, if one
+is recorded in the debug information.  If no compilation directory is
+recorded in the debug information then '$cdir' is ignored.
+
+   '$cwd' is not the same as '.'--the former tracks the current working
+directory as it changes during your GDB session, while the latter is
+immediately expanded to the current directory at the time you add an
+entry to the source path.
+
+   If a compilation directory is recorded in the debug information, and
+GDB has not found the source file after the first search using "source
+path", then GDB will combine the compilation directory and the filename,
+and then search for the source file again using the "source path".
+
+   For example, if the executable records the source file as
+'/usr/src/foo-1.0/lib/foo.c', the compilation directory is recorded as
+'/project/build', and the "source path" is '/mnt/cross:$cdir:$cwd' while
+the current working directory of the GDB session is '/home/user', then
+GDB will search for the source file in the following loctions:
+
+  1. '/usr/src/foo-1.0/lib/foo.c'
+  2. '/mnt/cross/usr/src/foo-1.0/lib/foo.c'
+  3. '/project/build/usr/src/foo-1.0/lib/foo.c'
+  4. '/home/user/usr/src/foo-1.0/lib/foo.c'
+  5. '/mnt/cross/project/build/usr/src/foo-1.0/lib/foo.c'
+  6. '/project/build/project/build/usr/src/foo-1.0/lib/foo.c'
+  7. '/home/user/project/build/usr/src/foo-1.0/lib/foo.c'
+  8. '/mnt/cross/foo.c'
+  9. '/project/build/foo.c'
+  10. '/home/user/foo.c'
+
+   If the file name in the previous example had been recorded in the
+executable as a relative path rather than an absolute path, then the
+first look up would not have occurred, but all of the remaining steps
+would be similar.
+
+   When searching for source files on MS-DOS and MS-Windows, where
+absolute paths start with a drive letter (e.g.  'C:/project/foo.c'), GDB
+will remove the drive letter from the file name before appending it to a
+search directory from "source path"; for instance if the executable
+references the source file 'C:/project/foo.c' and "source path" is set
+to 'D:/mnt/cross', then GDB will search in the following locations for
+the source file:
+
+  1. 'C:/project/foo.c'
+  2. 'D:/mnt/cross/project/foo.c'
+  3. 'D:/mnt/cross/foo.c'
 
    Note that the executable search path is _not_ used to locate the
 source files.
@@ -593,7 +654,7 @@ source files.
 information it has cached about where source files are found and where
 each line is in the file.
 
-   When you start GDB, its source path includes only 'cdir' and 'cwd',
+   When you start GDB, its source path includes only '$cdir' and '$cwd',
 in that order.  To add other directories, use the 'directory' command.
 
    The search path is used to find both program source files and GDB
@@ -661,12 +722,11 @@ being moved together.
      that is already in the source path; this moves it forward, so GDB
      searches it sooner.
 
-     You can use the string '$cdir' to refer to the compilation
-     directory (if one is recorded), and '$cwd' to refer to the current
-     working directory.  '$cwd' is not the same as '.'--the former
-     tracks the current working directory as it changes during your GDB
-     session, while the latter is immediately expanded to the current
-     directory at the time you add an entry to the source path.
+     The special strings '$cdir' (to refer to the compilation directory,
+     if one is recorded), and '$cwd' (to refer to the current working
+     directory) can also be included in the list of directories DIRNAME.
+     Though these will already be in the source path they will be moved
+     forward in the list so GDB searches them sooner.
 
 'directory'
      Reset the source path to its default value ('$cdir:$cwd' on Unix
@@ -7321,118 +7381,3 @@ precedence:
      of operators '+', '-', '*', '/', '=', , '<>', '#', '<=', and '>='
      on sets as an error.
 
-
-File: gdb.info,  Node: Built-In Func/Proc,  Next: M2 Constants,  Prev: M2 Operators,  Up: Modula-2
-
-15.4.9.2 Built-in Functions and Procedures
-..........................................
-
-Modula-2 also makes available several built-in procedures and functions.
-In describing these, the following metavariables are used:
-
-A
-     represents an 'ARRAY' variable.
-
-C
-     represents a 'CHAR' constant or variable.
-
-I
-     represents a variable or constant of integral type.
-
-M
-     represents an identifier that belongs to a set.  Generally used in
-     the same function with the metavariable S.  The type of S should be
-     'SET OF MTYPE' (where MTYPE is the type of M).
-
-N
-     represents a variable or constant of integral or floating-point
-     type.
-
-R
-     represents a variable or constant of floating-point type.
-
-T
-     represents a type.
-
-V
-     represents a variable.
-
-X
-     represents a variable or constant of one of many types.  See the
-     explanation of the function for details.
-
-   All Modula-2 built-in procedures also return a result, described
-below.
-
-'ABS(N)'
-     Returns the absolute value of N.
-
-'CAP(C)'
-     If C is a lower case letter, it returns its upper case equivalent,
-     otherwise it returns its argument.
-
-'CHR(I)'
-     Returns the character whose ordinal value is I.
-
-'DEC(V)'
-     Decrements the value in the variable V by one.  Returns the new
-     value.
-
-'DEC(V,I)'
-     Decrements the value in the variable V by I.  Returns the new
-     value.
-
-'EXCL(M,S)'
-     Removes the element M from the set S.  Returns the new set.
-
-'FLOAT(I)'
-     Returns the floating point equivalent of the integer I.
-
-'HIGH(A)'
-     Returns the index of the last member of A.
-
-'INC(V)'
-     Increments the value in the variable V by one.  Returns the new
-     value.
-
-'INC(V,I)'
-     Increments the value in the variable V by I.  Returns the new
-     value.
-
-'INCL(M,S)'
-     Adds the element M to the set S if it is not already there.
-     Returns the new set.
-
-'MAX(T)'
-     Returns the maximum value of the type T.
-
-'MIN(T)'
-     Returns the minimum value of the type T.
-
-'ODD(I)'
-     Returns boolean TRUE if I is an odd number.
-
-'ORD(X)'
-     Returns the ordinal value of its argument.  For example, the
-     ordinal value of a character is its ASCII value (on machines
-     supporting the ASCII character set).  The argument X must be of an
-     ordered type, which include integral, character and enumerated
-     types.
-
-'SIZE(X)'
-     Returns the size of its argument.  The argument X can be a variable
-     or a type.
-
-'TRUNC(R)'
-     Returns the integral part of R.
-
-'TSIZE(X)'
-     Returns the size of its argument.  The argument X can be a variable
-     or a type.
-
-'VAL(T,I)'
-     Returns the member of the type T whose ordinal value is I.
-
-     _Warning:_ Sets and their operations are not yet supported, so GDB
-     treats the use of procedures 'INCL' and 'EXCL' as an error.
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/doc/gdb.info-3 ./gdb/doc/gdb.info-3
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/doc/gdb.info-3	2019-09-17 01:53:36.000000000 +0000
+++ ./gdb/doc/gdb.info-3	2019-09-24 01:53:10.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    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 8.3.50.20190917-git.
+Source-Level Debugger' for GDB (GDB) Version 8.3.50.20190924-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
@@ -37,6 +37,121 @@ this GNU Manual.  Buying copies from GNU
 developing GNU and promoting software freedom."
 
 
+File: gdb.info,  Node: Built-In Func/Proc,  Next: M2 Constants,  Prev: M2 Operators,  Up: Modula-2
+
+15.4.9.2 Built-in Functions and Procedures
+..........................................
+
+Modula-2 also makes available several built-in procedures and functions.
+In describing these, the following metavariables are used:
+
+A
+     represents an 'ARRAY' variable.
+
+C
+     represents a 'CHAR' constant or variable.
+
+I
+     represents a variable or constant of integral type.
+
+M
+     represents an identifier that belongs to a set.  Generally used in
+     the same function with the metavariable S.  The type of S should be
+     'SET OF MTYPE' (where MTYPE is the type of M).
+
+N
+     represents a variable or constant of integral or floating-point
+     type.
+
+R
+     represents a variable or constant of floating-point type.
+
+T
+     represents a type.
+
+V
+     represents a variable.
+
+X
+     represents a variable or constant of one of many types.  See the
+     explanation of the function for details.
+
+   All Modula-2 built-in procedures also return a result, described
+below.
+
+'ABS(N)'
+     Returns the absolute value of N.
+
+'CAP(C)'
+     If C is a lower case letter, it returns its upper case equivalent,
+     otherwise it returns its argument.
+
+'CHR(I)'
+     Returns the character whose ordinal value is I.
+
+'DEC(V)'
+     Decrements the value in the variable V by one.  Returns the new
+     value.
+
+'DEC(V,I)'
+     Decrements the value in the variable V by I.  Returns the new
+     value.
+
+'EXCL(M,S)'
+     Removes the element M from the set S.  Returns the new set.
+
+'FLOAT(I)'
+     Returns the floating point equivalent of the integer I.
+
+'HIGH(A)'
+     Returns the index of the last member of A.
+
+'INC(V)'
+     Increments the value in the variable V by one.  Returns the new
+     value.
+
+'INC(V,I)'
+     Increments the value in the variable V by I.  Returns the new
+     value.
+
+'INCL(M,S)'
+     Adds the element M to the set S if it is not already there.
+     Returns the new set.
+
+'MAX(T)'
+     Returns the maximum value of the type T.
+
+'MIN(T)'
+     Returns the minimum value of the type T.
+
+'ODD(I)'
+     Returns boolean TRUE if I is an odd number.
+
+'ORD(X)'
+     Returns the ordinal value of its argument.  For example, the
+     ordinal value of a character is its ASCII value (on machines
+     supporting the ASCII character set).  The argument X must be of an
+     ordered type, which include integral, character and enumerated
+     types.
+
+'SIZE(X)'
+     Returns the size of its argument.  The argument X can be a variable
+     or a type.
+
+'TRUNC(R)'
+     Returns the integral part of R.
+
+'TSIZE(X)'
+     Returns the size of its argument.  The argument X can be a variable
+     or a type.
+
+'VAL(T,I)'
+     Returns the member of the type T whose ordinal value is I.
+
+     _Warning:_ Sets and their operations are not yet supported, so GDB
+     treats the use of procedures 'INCL' and 'EXCL' as an error.
+
+
 File: gdb.info,  Node: M2 Constants,  Next: M2 Types,  Prev: Built-In Func/Proc,  Up: Modula-2
 
 15.4.9.3 Constants
@@ -4705,10 +4820,6 @@ Command Name         Remote Packet      
                                              
 'read-sdata-object'  'qXfer:sdata:read'      'print $_sdata'
                                              
-'read-spu-object'    'qXfer:spu:read'        'info spu'
-                                             
-'write-spu-object'   'qXfer:spu:write'       'info spu'
-                                             
 'read-siginfo-object''qXfer:siginfo:read'    'print
                                              $_siginfo'
                                              
@@ -6260,7 +6371,6 @@ uses of GDB with the architecture, both 
 * Alpha::
 * MIPS::
 * HPPA::               HP PA architecture
-* SPU::                Cell Broadband Engine SPU architecture
 * PowerPC::
 * Nios II::
 * Sparc64::
@@ -6520,7 +6630,7 @@ programs:
      Show the current setting of MIPS debugging messages.
 
 
-File: gdb.info,  Node: HPPA,  Next: SPU,  Prev: MIPS,  Up: Architectures
+File: gdb.info,  Node: HPPA,  Next: PowerPC,  Prev: MIPS,  Up: Architectures
 
 21.4.5 HPPA
 -----------
@@ -6540,65 +6650,9 @@ special commands:
      given ADDRESS.
 
 
-File: gdb.info,  Node: SPU,  Next: PowerPC,  Prev: HPPA,  Up: Architectures
-
-21.4.6 Cell Broadband Engine SPU architecture
----------------------------------------------
-
-When GDB is debugging the Cell Broadband Engine SPU architecture, it
-provides the following special commands:
+File: gdb.info,  Node: PowerPC,  Next: Nios II,  Prev: HPPA,  Up: Architectures
 
-'info spu event'
-     Display SPU event facility status.  Shows current event mask and
-     pending event status.
-
-'info spu signal'
-     Display SPU signal notification facility status.  Shows pending
-     signal-control word and signal notification mode of both signal
-     notification channels.
-
-'info spu mailbox'
-     Display SPU mailbox facility status.  Shows all pending entries, in
-     order of processing, in each of the SPU Write Outbound, SPU Write
-     Outbound Interrupt, and SPU Read Inbound mailboxes.
-
-'info spu dma'
-     Display MFC DMA status.  Shows all pending commands in the MFC DMA
-     queue.  For each entry, opcode, tag, class IDs, effective and local
-     store addresses and transfer size are shown.
-
-'info spu proxydma'
-     Display MFC Proxy-DMA status.  Shows all pending commands in the
-     MFC Proxy-DMA queue.  For each entry, opcode, tag, class IDs,
-     effective and local store addresses and transfer size are shown.
-
-   When GDB is debugging a combined PowerPC/SPU application on the Cell
-Broadband Engine, it provides in addition the following special
-commands:
-
-'set spu stop-on-load ARG'
-     Set whether to stop for new SPE threads.  When set to 'on', GDB
-     will give control to the user when a new SPE thread enters its
-     'main' function.  The default is 'off'.
-
-'show spu stop-on-load'
-     Show whether to stop for new SPE threads.
-
-'set spu auto-flush-cache ARG'
-     Set whether to automatically flush the software-managed cache.
-     When set to 'on', GDB will automatically cause the SPE
-     software-managed cache to be flushed whenever SPE execution stops.
-     This provides a consistent view of PowerPC memory that is accessed
-     via the cache.  If an application does not use the software-managed
-     cache, this option has no effect.
-
-'show spu auto-flush-cache'
-     Show whether to automatically flush the software-managed cache.
-
-
-File: gdb.info,  Node: PowerPC,  Next: Nios II,  Prev: SPU,  Up: Architectures
-
-21.4.7 PowerPC
+21.4.6 PowerPC
 --------------
 
 When GDB is debugging the PowerPC architecture, it provides a set of
@@ -6617,7 +6671,7 @@ and 'f3' for '$dl1' and so on.
 
 File: gdb.info,  Node: Nios II,  Next: Sparc64,  Prev: PowerPC,  Up: Architectures
 
-21.4.8 Nios II
+21.4.7 Nios II
 --------------
 
 When GDB is debugging the Nios II architecture, it provides the
@@ -6633,10 +6687,10 @@ following special commands:
 
 File: gdb.info,  Node: Sparc64,  Next: S12Z,  Prev: Nios II,  Up: Architectures
 
-21.4.9 Sparc64
+21.4.8 Sparc64
 --------------
 
-21.4.9.1 ADI Support
+21.4.8.1 ADI Support
 ....................
 
 The M7 processor supports an Application Data Integrity (ADI) feature
@@ -6699,8 +6753,8 @@ cacheline (64 bytes), can be viewed or m
 
 File: gdb.info,  Node: S12Z,  Prev: Sparc64,  Up: Architectures
 
-21.4.10 S12Z
-------------
+21.4.9 S12Z
+-----------
 
 When GDB is debugging the S12Z architecture, it provides the following
 special command:
@@ -6806,6 +6860,9 @@ command 'set'.
 interface.  Users unfamiliar with GNU Emacs or 'vi' are encouraged to
 read that chapter.
 
+   GDB sets the Readline application name to 'gdb'.  This is useful for
+conditions in '.inputrc'.
+
 
 File: gdb.info,  Node: Command History,  Next: Screen Size,  Prev: Editing,  Up: Controlling GDB
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/doc/gdb.info-4 ./gdb/doc/gdb.info-4
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/doc/gdb.info-4	2019-09-17 01:53:38.000000000 +0000
+++ ./gdb/doc/gdb.info-4	2019-09-24 01:53:12.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    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 8.3.50.20190917-git.
+Source-Level Debugger' for GDB (GDB) Version 8.3.50.20190924-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
@@ -7246,69 +7246,3 @@ module.
      Return the string representation (print form) of '<gdb:value>'
      VALUE.
 
-
-File: gdb.info,  Node: Arithmetic In Guile,  Next: Types In Guile,  Prev: Values From Inferior In Guile,  Up: Guile API
-
-23.3.3.6 Arithmetic In Guile
-............................
-
-The '(gdb)' module provides several functions for performing arithmetic
-on '<gdb:value>' objects.  The arithmetic is performed as if it were
-done by the target, and therefore has target semantics which are not
-necessarily those of Scheme.  For example operations work with a fixed
-precision, not the arbitrary precision of Scheme.
-
-   Wherever a function takes an integer or pointer as an operand, GDB
-will convert appropriate Scheme values to perform the operation.
-
- -- Scheme Procedure: value-add a b
-
- -- Scheme Procedure: value-sub a b
-
- -- Scheme Procedure: value-mul a b
-
- -- Scheme Procedure: value-div a b
-
- -- Scheme Procedure: value-rem a b
-
- -- Scheme Procedure: value-mod a b
-
- -- Scheme Procedure: value-pow a b
-
- -- Scheme Procedure: value-not a
-
- -- Scheme Procedure: value-neg a
-
- -- Scheme Procedure: value-pos a
-
- -- Scheme Procedure: value-abs a
-
- -- Scheme Procedure: value-lsh a b
-
- -- Scheme Procedure: value-rsh a b
-
- -- Scheme Procedure: value-min a b
-
- -- Scheme Procedure: value-max a b
-
- -- Scheme Procedure: value-lognot a
-
- -- Scheme Procedure: value-logand a b
-
- -- Scheme Procedure: value-logior a b
-
- -- Scheme Procedure: value-logxor a b
-
- -- Scheme Procedure: value=? a b
-
- -- Scheme Procedure: value<? a b
-
- -- Scheme Procedure: value<=? a b
-
- -- Scheme Procedure: value>? a b
-
- -- Scheme Procedure: value>=? a b
-
-   Scheme does not provide a 'not-equal' function, and thus Guile
-support in GDB does not either.
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/doc/gdb.info-5 ./gdb/doc/gdb.info-5
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/doc/gdb.info-5	2019-09-17 01:53:41.000000000 +0000
+++ ./gdb/doc/gdb.info-5	2019-09-24 01:53:14.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    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 8.3.50.20190917-git.
+Source-Level Debugger' for GDB (GDB) Version 8.3.50.20190924-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
@@ -37,6 +37,72 @@ this GNU Manual.  Buying copies from GNU
 developing GNU and promoting software freedom."
 
 
+File: gdb.info,  Node: Arithmetic In Guile,  Next: Types In Guile,  Prev: Values From Inferior In Guile,  Up: Guile API
+
+23.3.3.6 Arithmetic In Guile
+............................
+
+The '(gdb)' module provides several functions for performing arithmetic
+on '<gdb:value>' objects.  The arithmetic is performed as if it were
+done by the target, and therefore has target semantics which are not
+necessarily those of Scheme.  For example operations work with a fixed
+precision, not the arbitrary precision of Scheme.
+
+   Wherever a function takes an integer or pointer as an operand, GDB
+will convert appropriate Scheme values to perform the operation.
+
+ -- Scheme Procedure: value-add a b
+
+ -- Scheme Procedure: value-sub a b
+
+ -- Scheme Procedure: value-mul a b
+
+ -- Scheme Procedure: value-div a b
+
+ -- Scheme Procedure: value-rem a b
+
+ -- Scheme Procedure: value-mod a b
+
+ -- Scheme Procedure: value-pow a b
+
+ -- Scheme Procedure: value-not a
+
+ -- Scheme Procedure: value-neg a
+
+ -- Scheme Procedure: value-pos a
+
+ -- Scheme Procedure: value-abs a
+
+ -- Scheme Procedure: value-lsh a b
+
+ -- Scheme Procedure: value-rsh a b
+
+ -- Scheme Procedure: value-min a b
+
+ -- Scheme Procedure: value-max a b
+
+ -- Scheme Procedure: value-lognot a
+
+ -- Scheme Procedure: value-logand a b
+
+ -- Scheme Procedure: value-logior a b
+
+ -- Scheme Procedure: value-logxor a b
+
+ -- Scheme Procedure: value=? a b
+
+ -- Scheme Procedure: value<? a b
+
+ -- Scheme Procedure: value<=? a b
+
+ -- Scheme Procedure: value>? a b
+
+ -- Scheme Procedure: value>=? a b
+
+   Scheme does not provide a 'not-equal' function, and thus Guile
+support in GDB does not either.
+
+
 File: gdb.info,  Node: Types In Guile,  Next: Guile Pretty Printing API,  Prev: Arithmetic In Guile,  Up: Guile API
 
 23.3.3.7 Types In Guile
@@ -3192,6 +3258,10 @@ SingleKey mode.  Once the command is ent
 restored.  The only way to permanently leave this mode is by typing 'q'
 or 'C-x s'.
 
+   If GDB was built with Readline 8.0 or later, the TUI SingleKey keymap
+will be named 'SingleKey'.  This can be used in '.inputrc' to add
+additional bindings to this keymap.
+
 
 File: gdb.info,  Node: TUI Commands,  Next: TUI Configuration,  Prev: TUI Single Key Mode,  Up: TUI
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/doc/gdb.info-6 ./gdb/doc/gdb.info-6
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/doc/gdb.info-6	2019-09-17 01:53:43.000000000 +0000
+++ ./gdb/doc/gdb.info-6	2019-09-24 01:53:16.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    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 8.3.50.20190917-git.
+Source-Level Debugger' for GDB (GDB) Version 8.3.50.20190924-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
@@ -3888,7 +3888,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-8.3.50.20190917-git/gdb/gdb.info', and it refers to subordinate
+'gdb-8.3.50.20190924-git/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 standalone 'info'
@@ -3898,8 +3898,8 @@ program, available as part of the GNU Te
 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-8.3.50.20190917-git', in the case of version
-8.3.50.20190917-git), you can make the Info file by typing:
+directory ('gdb-8.3.50.20190924-git', in the case of version
+8.3.50.20190924-git), you can make the Info file by typing:
 
      cd gdb
      make gdb.info
@@ -3924,7 +3924,7 @@ On its own, TeX cannot either read or ty
 
    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-8.3.50.20190917-git/gdb')
+main source directory (for example, to 'gdb-8.3.50.20190924-git/gdb')
 and type:
 
      make gdb.dvi
@@ -3933,8 +3933,8 @@ and type:
 
    ---------- Footnotes ----------
 
-   (1) In 'gdb-8.3.50.20190917-git/gdb/refcard.ps' of the version
-8.3.50.20190917-git release.
+   (1) In 'gdb-8.3.50.20190924-git/gdb/refcard.ps' of the version
+8.3.50.20190924-git release.
 
 
 File: gdb.info,  Node: Installing GDB,  Next: Maintenance Commands,  Prev: Formatting Documentation,  Up: Top
@@ -4085,35 +4085,35 @@ preparing GDB for installation; you can 
 a single directory, whose name is usually composed by appending the
 version number to 'gdb'.
 
-   For example, the GDB version 8.3.50.20190917-git distribution is in
-the 'gdb-8.3.50.20190917-git' directory.  That directory contains:
+   For example, the GDB version 8.3.50.20190924-git distribution is in
+the 'gdb-8.3.50.20190924-git' directory.  That directory contains:
 
-'gdb-8.3.50.20190917-git/configure (and supporting files)'
+'gdb-8.3.50.20190924-git/configure (and supporting files)'
      script for configuring GDB and all its supporting libraries
 
-'gdb-8.3.50.20190917-git/gdb'
+'gdb-8.3.50.20190924-git/gdb'
      the source specific to GDB itself
 
-'gdb-8.3.50.20190917-git/bfd'
+'gdb-8.3.50.20190924-git/bfd'
      source for the Binary File Descriptor library
 
-'gdb-8.3.50.20190917-git/include'
+'gdb-8.3.50.20190924-git/include'
      GNU include files
 
-'gdb-8.3.50.20190917-git/libiberty'
+'gdb-8.3.50.20190924-git/libiberty'
      source for the '-liberty' free software library
 
-'gdb-8.3.50.20190917-git/opcodes'
+'gdb-8.3.50.20190924-git/opcodes'
      source for the library of opcode tables and disassemblers
 
-'gdb-8.3.50.20190917-git/readline'
+'gdb-8.3.50.20190924-git/readline'
      source for the GNU command-line interface
 
    There may be other subdirectories as well.
 
    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-8.3.50.20190917-git' directory.
+the 'gdb-8.3.50.20190924-git' 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
@@ -4121,7 +4121,7 @@ platform on which GDB will run as an arg
 
    For example:
 
-     cd gdb-8.3.50.20190917-git
+     cd gdb-8.3.50.20190924-git
      ./configure
      make
 
@@ -4169,13 +4169,13 @@ to specify a path to find 'configure' it
 directory.  If the path to 'configure' would be the same as the argument
 to '--srcdir', you can leave out the '--srcdir' option; it is assumed.)
 
-   For example, with version 8.3.50.20190917-git, you can build GDB in a
+   For example, with version 8.3.50.20190924-git, you can build GDB in a
 separate directory for a Sun 4 like this:
 
-     cd gdb-8.3.50.20190917-git
+     cd gdb-8.3.50.20190924-git
      mkdir ../gdb-sun4
      cd ../gdb-sun4
-     ../gdb-8.3.50.20190917-git/configure
+     ../gdb-8.3.50.20190924-git/configure
      make
 
    When 'configure' builds a configuration using a remote source
@@ -4186,7 +4186,7 @@ the example, you'd find the Sun 4 librar
 
    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-8.3.50.20190917-git/gdb/configure', you are configuring only one
+'../gdb-8.3.50.20190924-git/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'.
 
@@ -4202,8 +4202,8 @@ a configured directory--whatever directo
 
    The 'Makefile' that 'configure' generates in each source directory
 also runs recursively.  If you type 'make' in a source directory such as
-'gdb-8.3.50.20190917-git' (or in a separate configured directory
-configured with '--srcdir=DIRNAME/gdb-8.3.50.20190917-git'), you will
+'gdb-8.3.50.20190924-git' (or in a separate configured directory
+configured with '--srcdir=DIRNAME/gdb-8.3.50.20190924-git'), you will
 build all the required libraries, and then build GDB.
 
    When you have multiple hosts or targets configured in separate
@@ -4248,7 +4248,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-8.3.50.20190917-git', for version 8.3.50.20190917-git).
+('gdb-8.3.50.20190924-git', for version 8.3.50.20190924-git).
 
 
 File: gdb.info,  Node: Configure Options,  Next: System-wide configuration,  Prev: Config Names,  Up: Installing GDB
@@ -6913,10 +6913,6 @@ GDB packet uses spaces to separate its c
                                                         
      'qXfer:sdata:read'        No             '-'       Yes
                                                         
-     'qXfer:spu:read'          No             '-'       Yes
-                                                        
-     'qXfer:spu:write'         No             '-'       Yes
-                                                        
      'qXfer:siginfo:read'      No             '-'       Yes
                                                         
      'qXfer:siginfo:write'     No             '-'       Yes
@@ -7042,14 +7038,6 @@ GDB packet uses spaces to separate its c
           The remote stub understands the 'qXfer:sdata:read' packet
           (*note qXfer sdata read::).
 
-     'qXfer:spu:read'
-          The remote stub understands the 'qXfer:spu:read' packet (*note
-          qXfer spu read::).
-
-     'qXfer:spu:write'
-          The remote stub understands the 'qXfer:spu:write' packet
-          (*note qXfer spu write::).
-
      'qXfer:siginfo:read'
           The remote stub understands the 'qXfer:siginfo:read' packet
           (*note qXfer siginfo read::).
@@ -7477,17 +7465,6 @@ GDB packet uses spaces to separate its c
           request it, by supplying an appropriate 'qSupported' response
           (*note qSupported::).
 
-     'qXfer:spu:read:ANNEX:OFFSET,LENGTH'
-          Read contents of an 'spufs' file on the target system.  The
-          annex specifies which file to read; it must be of the form
-          'ID/NAME', where ID specifies an SPU context ID in the target
-          process, and NAME identifes the 'spufs' file in that context
-          to be accessed.
-
-          This packet is not probed by default; the remote stub must
-          request it, by supplying an appropriate 'qSupported' response
-          (*note qSupported::).
-
      'qXfer:threads:read::OFFSET,LENGTH'
           Access the list of threads on target.  *Note Thread List
           Format::.  The annex part of the generic 'qXfer' packet must
@@ -7564,17 +7541,6 @@ GDB packet uses spaces to separate its c
           request it, by supplying an appropriate 'qSupported' response
           (*note qSupported::).
 
-     'qXfer:spu:write:ANNEX:OFFSET:DATA...'
-          Write DATA to an 'spufs' file on the target system.  The annex
-          specifies which file to write; it must be of the form
-          'ID/NAME', where ID specifies an SPU context ID in the target
-          process, and NAME identifes the 'spufs' file in that context
-          to be accessed.
-
-          This packet is not probed by default; the remote stub must
-          request it, by supplying an appropriate 'qSupported' response
-          (*note qSupported::).
-
 'qXfer:OBJECT:OPERATION:...'
      Requests of this form may be added in the future.  When a stub does
      not recognize the OBJECT keyword, or its support for OBJECT does
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/doc/gdb.info-7 ./gdb/doc/gdb.info-7
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/doc/gdb.info-7	2019-09-17 01:53:45.000000000 +0000
+++ ./gdb/doc/gdb.info-7	2019-09-24 01:53:18.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    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 8.3.50.20190917-git.
+Source-Level Debugger' for GDB (GDB) Version 8.3.50.20190924-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
@@ -6126,7 +6126,7 @@ Concept Index
 * --version:                             Mode Options.       (line  180)
 * --windows:                             Mode Options.       (line   97)
 * --with-gdb-datadir:                    Data Files.         (line   19)
-* --with-relocated-sources:              Source Path.        (line   88)
+* --with-relocated-sources:              Source Path.        (line  149)
 * --with-sysroot:                        Files.              (line  453)
 * --wrapper, gdbserver option:           Server.             (line  166)
 * --write:                               Mode Options.       (line  171)
@@ -6334,7 +6334,7 @@ Concept Index
 * breakpoint commands for GDB/MI:        GDB/MI Breakpoint Commands.
                                                              (line    6)
 * breakpoint commands, in remote protocol: General Query Packets.
-                                                             (line  995)
+                                                             (line  983)
 * breakpoint conditions:                 Conditions.         (line    6)
 * breakpoint kinds, ARM:                 ARM Breakpoint Kinds.
                                                              (line    6)
@@ -6417,7 +6417,6 @@ Concept Index
                                                              (line  401)
 * catchpoints:                           Breakpoints.        (line   30)
 * catchpoints, setting:                  Set Catchpoints.    (line    6)
-* Cell Broadband Engine:                 SPU.                (line    6)
 * change GDB's working directory:        Working Directory.  (line   32)
 * change inferior's working directory:   Working Directory.  (line   13)
 * character sets:                        Character Sets.     (line    6)
@@ -6466,7 +6465,7 @@ Concept Index
 * common targets:                        Target Commands.    (line   46)
 * compatibility, GDB/MI and CLI:         GDB/MI Compatibility with CLI.
                                                              (line    6)
-* compilation directory:                 Source Path.        (line  106)
+* compilation directory:                 Source Path.        (line   40)
 * compile C++ type conversion:           Compiling and Injecting Code.
                                                              (line   90)
 * compile command debugging info:        Compiling and Injecting Code.
@@ -6523,7 +6522,7 @@ Concept Index
 * Ctrl-BREAK, MS-Windows:                Cygwin Native.      (line    9)
 * ctrl-c message, in file-i/o protocol:  The Ctrl-C Message. (line    6)
 * current Ada task ID:                   Ada Tasks.          (line  105)
-* current directory:                     Source Path.        (line  106)
+* current directory:                     Source Path.        (line   40)
 * current Go package:                    Go.                 (line   11)
 * current thread:                        Threads.            (line   29)
 * current thread, remote request:        General Query Packets.
@@ -6569,7 +6568,7 @@ Concept Index
 * default collection action:             Tracepoint Actions. (line  142)
 * default data directory:                Data Files.         (line   19)
 * default settings, changing:            Command Settings.   (line    6)
-* default source path substitution:      Source Path.        (line   88)
+* default source path substitution:      Source Path.        (line  149)
 * default system root:                   Files.              (line  453)
 * define trace state variable, remote request: Tracepoint Packets.
                                                              (line  121)
@@ -6595,8 +6594,8 @@ Concept Index
 * detach from thread, GNU Hurd:          Hurd Native.        (line  109)
 * direct memory access (DMA) on MS-DOS:  DJGPP Native.       (line   74)
 * directories for source files:          Source Path.        (line    6)
-* directory, compilation:                Source Path.        (line  106)
-* directory, current:                    Source Path.        (line  106)
+* directory, compilation:                Source Path.        (line   40)
+* directory, current:                    Source Path.        (line   40)
 * disable address space randomization, remote request: General Query Packets.
                                                              (line   84)
 * disabling calling functions in the program: Calling.       (line   59)
@@ -7128,7 +7127,7 @@ Concept Index
 * multiple-symbols menu:                 Ambiguous Expressions.
                                                              (line   51)
 * multiprocess extensions, in remote protocol: General Query Packets.
-                                                             (line  925)
+                                                             (line  913)
 * name a thread:                         Threads.            (line  247)
 * names of symbols:                      Symbols.            (line   14)
 * namespace in C++:                      C Plus Plus Expressions.
@@ -7230,7 +7229,7 @@ Concept Index
 * packet acknowledgment, for GDB remote: Packet Acknowledgment.
                                                              (line    6)
 * packet size, remote protocol:          General Query Packets.
-                                                             (line  823)
+                                                             (line  819)
 * packets, notification:                 Notification Packets.
                                                              (line    6)
 * packets, reporting on stdout:          Debugging Output.   (line  159)
@@ -7363,7 +7362,7 @@ Concept Index
 * QAllow packet:                         General Query Packets.
                                                              (line   44)
 * qAttached packet:                      General Query Packets.
-                                                             (line 1415)
+                                                             (line 1381)
 * qC packet:                             General Query Packets.
                                                              (line   55)
 * QCatchSyscalls packet:                 General Query Packets.
@@ -7409,7 +7408,7 @@ Concept Index
 * qSupported packet:                     General Query Packets.
                                                              (line  589)
 * qSymbol packet:                        General Query Packets.
-                                                             (line 1045)
+                                                             (line 1033)
 * qTBuffer packet:                       Tracepoint Packets. (line  393)
 * QTBuffer size packet:                  Tracepoint Packets. (line  406)
 * QTDisable packet:                      Tracepoint Packets. (line  209)
@@ -7425,7 +7424,7 @@ Concept Index
 * QThreadEvents packet:                  General Query Packets.
                                                              (line  509)
 * qThreadExtraInfo packet:               General Query Packets.
-                                                             (line 1088)
+                                                             (line 1076)
 * QTinit packet:                         Tracepoint Packets. (line  214)
 * qTMinFTPILen packet:                   Tracepoint Packets. (line  171)
 * QTNotes packet:                        Tracepoint Packets. (line  411)
@@ -7442,12 +7441,12 @@ Concept Index
 * qTV packet:                            Tracepoint Packets. (line  318)
 * qualified thread ID:                   Threads.            (line   52)
 * query attached, remote request:        General Query Packets.
-                                                             (line 1415)
+                                                             (line 1381)
 * quotes in commands:                    Completion.         (line   83)
 * quoting Ada internal identifiers:      Additions to Ada.   (line   76)
 * quoting names:                         Symbols.            (line   14)
 * qXfer packet:                          General Query Packets.
-                                                             (line 1125)
+                                                             (line 1113)
 * r packet:                              Packets.            (line  300)
 * R packet:                              Packets.            (line  305)
 * range checking:                        Type Checking.      (line   45)
@@ -7458,12 +7457,13 @@ Concept Index
 * Ravenscar Profile:                     Ravenscar Profile.  (line    6)
 * raw printing:                          Output Formats.     (line   76)
 * read special object, remote request:   General Query Packets.
-                                                             (line 1125)
+                                                             (line 1113)
 * read, file-i/o system call:            read.               (line    6)
 * read-only sections:                    Files.              (line  265)
 * reading symbols from relocatable object files: Files.      (line  146)
 * reading symbols immediately:           Files.              (line   94)
 * readline:                              Editing.            (line    6)
+* Readline application name:             Editing.            (line   29)
 * receive rights, GNU Hurd:              Hurd Native.        (line   84)
 * recent tracepoint number:              Create and Delete Tracepoints.
                                                              (line  122)
@@ -7652,6 +7652,8 @@ Concept Index
                                                              (line  469)
 * SIGQUIT signal, dump core of GDB:      Maintenance Commands.
                                                              (line  169)
+* SingleKey keymap name:                 TUI Single Key Mode.
+                                                             (line   53)
 * size of remote memory accesses:        Packets.            (line  247)
 * size of screen:                        Screen Size.        (line    6)
 * skipping over files via glob-style patterns: Skipping Over Functions and Files.
@@ -7674,7 +7676,6 @@ Concept Index
 * Special Fortran commands:              Special Fortran Commands.
                                                              (line    6)
 * specifying location:                   Specify Location.   (line    6)
-* SPU:                                   SPU.                (line    6)
 * SSE registers (x86):                   Registers.          (line   76)
 * stack frame:                           Frames.             (line    6)
 * stack on Alpha:                        MIPS.               (line    6)
@@ -7698,7 +7699,7 @@ Concept Index
                                                              (line    6)
 * static tracepoints:                    Set Tracepoints.    (line   28)
 * static tracepoints, in remote protocol: General Query Packets.
-                                                             (line  973)
+                                                             (line  961)
 * static tracepoints, setting:           Create and Delete Tracepoints.
                                                              (line   75)
 * status of trace data collection:       Starting and Stopping Trace Experiments.
@@ -7718,7 +7719,7 @@ Concept Index
 * stream records in GDB/MI:              GDB/MI Stream Records.
                                                              (line    6)
 * string tracing, in remote protocol:    General Query Packets.
-                                                             (line  990)
+                                                             (line  978)
 * struct gdb_reader_funcs:               Writing JIT Debug Info Readers.
                                                              (line   22)
 * struct gdb_symbol_callbacks:           Writing JIT Debug Info Readers.
@@ -7751,7 +7752,7 @@ Concept Index
 * symbol from address:                   Symbols.            (line   95)
 * symbol lookup:                         Debugging Output.   (line  184)
 * symbol lookup, remote request:         General Query Packets.
-                                                             (line 1045)
+                                                             (line 1033)
 * symbol names:                          Symbols.            (line   14)
 * symbol table:                          Files.              (line    6)
 * symbol table creation:                 Debugging Output.   (line  196)
@@ -7836,7 +7837,7 @@ Concept Index
 * terminal:                              Input/Output.       (line    6)
 * Text User Interface:                   TUI.                (line    6)
 * thread attributes info, remote request: General Query Packets.
-                                                             (line 1088)
+                                                             (line 1076)
 * thread breakpoints:                    Thread-Specific Breakpoints.
                                                              (line   10)
 * thread breakpoints and system calls:   Interrupted System Calls.
@@ -7991,11 +7992,11 @@ Concept Index
 * Wind River Linux system-wide configuration script: System-wide Configuration Scripts.
                                                              (line   22)
 * word completion:                       Completion.         (line    6)
-* working directory:                     Source Path.        (line  106)
+* working directory:                     Source Path.        (line   40)
 * working directory (of your program):   Working Directory.  (line    6)
 * working language:                      Languages.          (line   13)
 * write data into object, remote request: General Query Packets.
-                                                             (line 1361)
+                                                             (line 1338)
 * write, file-i/o system call:           write.              (line    6)
 * writing a frame filter:                Writing a Frame Filter.
                                                              (line    6)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/doc/gdb.info-8 ./gdb/doc/gdb.info-8
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/doc/gdb.info-8	2019-09-17 01:53:45.000000000 +0000
+++ ./gdb/doc/gdb.info-8	2019-09-24 01:53:19.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    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 8.3.50.20190917-git.
+Source-Level Debugger' for GDB (GDB) Version 8.3.50.20190924-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
@@ -48,8 +48,8 @@ Command, Variable, and Function Index
 * !:                                     Shell Commands.      (line  10)
 * # (a comment):                         Command Syntax.      (line  37)
 * $bpnum, convenience variable:          Set Breaks.          (line   6)
-* $cdir, convenience variable:           Source Path.         (line 106)
-* $cwd, convenience variable:            Source Path.         (line 106)
+* $cdir, convenience variable:           Source Path.         (line  40)
+* $cwd, convenience variable:            Source Path.         (line  40)
 * $tpnum:                                Create and Delete Tracepoints.
                                                               (line 122)
 * $tracepoint:                           Tracepoint Variables.
@@ -623,7 +623,7 @@ Command, Variable, and Function Index
 * catch unload:                          Set Catchpoints.     (line 259)
 * catch vfork:                           Set Catchpoints.     (line 255)
 * cd:                                    Working Directory.   (line  32)
-* cdir:                                  Source Path.         (line 106)
+* cdir:                                  Source Path.         (line  40)
 * character-search (C-]):                Miscellaneous Commands.
                                                               (line  42)
 * character-search-backward (M-C-]):     Miscellaneous Commands.
@@ -725,7 +725,7 @@ Command, Variable, and Function Index
                                                               (line  17)
 * current-objfile:                       Objfiles In Guile.   (line  46)
 * current-progspace:                     Progspaces In Guile. (line  26)
-* cwd:                                   Source Path.         (line 106)
+* cwd:                                   Source Path.         (line  40)
 * d (delete):                            Delete Breaks.       (line  41)
 * d (SingleKey TUI key):                 TUI Single Key Mode. (line  13)
 * data-directory:                        Guile Configuration. (line   9)
@@ -758,8 +758,8 @@ Command, Variable, and Function Index
 * detach inferiors INFNO...:             Inferiors and Programs.
                                                               (line 105)
 * digit-argument (M-0, M-1, ... M--):    Numeric Arguments.   (line   6)
-* dir:                                   Source Path.         (line  38)
-* directory:                             Source Path.         (line  38)
+* dir:                                   Source Path.         (line  99)
+* directory:                             Source Path.         (line  99)
 * dis (disable):                         Disabling.           (line  37)
 * disable:                               Disabling.           (line  37)
 * disable display:                       Auto Display.        (line  56)
@@ -1359,7 +1359,6 @@ Command, Variable, and Function Index
 * info source:                           Symbols.             (line 436)
 * info source, show the source language: Show.                (line  21)
 * info sources:                          Symbols.             (line 452)
-* info spu:                              SPU.                 (line  10)
 * info stack:                            Backtrace.           (line  94)
 * info static-tracepoint-markers:        Listing Static Tracepoint Markers.
                                                               (line   6)
@@ -2188,7 +2187,7 @@ Command, Variable, and Function Index
 * set default-collect:                   Tracepoint Actions.  (line 142)
 * set demangle-style:                    Print Settings.      (line 515)
 * set detach-on-fork:                    Forks.               (line  58)
-* set directories:                       Source Path.         (line 118)
+* set directories:                       Source Path.         (line 178)
 * set disable-randomization:             Starting.            (line 212)
 * set disassemble-next-line:             Machine Code.        (line 249)
 * set disassembler-options:              Machine Code.        (line 222)
@@ -2306,7 +2305,6 @@ Command, Variable, and Function Index
 * set sigthread:                         Hurd Native.         (line  21)
 * set solib-absolute-prefix:             Files.               (line 386)
 * set solib-search-path:                 Files.               (line 462)
-* set spu:                               SPU.                 (line  38)
 * set stack-cache:                       Caching Target Data. (line  28)
 * set startup-with-shell:                Starting.            (line 145)
 * set step-mode:                         Continuing and Stepping.
@@ -2315,7 +2313,7 @@ Command, Variable, and Function Index
 * set stopped, Hurd command:             Hurd Native.         (line  31)
 * set struct-convention:                 i386.                (line   7)
 * set style:                             Output Styling.      (line   6)
-* set substitute-path:                   Source Path.         (line 125)
+* set substitute-path:                   Source Path.         (line 185)
 * set sysroot:                           Files.               (line 386)
 * set target-charset:                    Character Sets.      (line  28)
 * set target-file-system-kind (unix|dos-based|auto): Files.   (line 476)
@@ -2460,7 +2458,7 @@ Command, Variable, and Function Index
                                                               (line  75)
 * show default-collect:                  Tracepoint Actions.  (line 150)
 * show detach-on-fork:                   Forks.               (line  73)
-* show directories:                      Source Path.         (line 122)
+* show directories:                      Source Path.         (line 182)
 * show disassemble-next-line:            Machine Code.        (line 249)
 * show disassembler-options:             Machine Code.        (line 234)
 * show disassembly-flavor:               Machine Code.        (line 246)
@@ -2553,13 +2551,12 @@ Command, Variable, and Function Index
 * show sigs, Hurd command:               Hurd Native.         (line  17)
 * show sigthread:                        Hurd Native.         (line  27)
 * show solib-search-path:                Files.               (line 473)
-* show spu:                              SPU.                 (line  43)
 * show stack-cache:                      Caching Target Data. (line  33)
 * show stop-on-solib-events:             Files.               (line 369)
 * show stopped, Hurd command:            Hurd Native.         (line  36)
 * show struct-convention:                i386.                (line  15)
 * show style:                            Output Styling.      (line   6)
-* show substitute-path:                  Source Path.         (line 162)
+* show substitute-path:                  Source Path.         (line 222)
 * show sysroot:                          Files.               (line 459)
 * show target-charset:                   Character Sets.      (line  58)
 * show target-file-system-kind:          Files.               (line 476)
@@ -2929,7 +2926,7 @@ Command, Variable, and Function Index
 * unix-word-rubout (C-w):                Commands For Killing.
                                                               (line  28)
 * unset environment:                     Environment.         (line  65)
-* unset substitute-path:                 Source Path.         (line 154)
+* unset substitute-path:                 Source Path.         (line 214)
 * until:                                 Continuing and Stepping.
                                                               (line 124)
 * until&:                                Background Execution.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/doc/gdbinit.5 ./gdb/doc/gdbinit.5
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/doc/gdbinit.5	2019-09-17 01:53:49.000000000 +0000
+++ ./gdb/doc/gdbinit.5	2019-09-24 01:53:22.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDBINIT 5"
-.TH GDBINIT 5 "2019-09-17" "gdb-8.3.50.20190917-git" "GNU Development Tools"
+.TH GDBINIT 5 "2019-09-24" "gdb-8.3.50.20190924-git" "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-8.3.50.20190917/gdb/doc/gdbserver.1 ./gdb/doc/gdbserver.1
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/doc/gdbserver.1	2019-09-17 01:53:49.000000000 +0000
+++ ./gdb/doc/gdbserver.1	2019-09-24 01:53:22.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDBSERVER 1"
-.TH GDBSERVER 1 "2019-09-17" "gdb-8.3.50.20190917-git" "GNU Development Tools"
+.TH GDBSERVER 1 "2019-09-24" "gdb-8.3.50.20190924-git" "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-8.3.50.20190917/gdb/doc/gdb.texinfo ./gdb/doc/gdb.texinfo
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/doc/gdb.texinfo	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/doc/gdb.texinfo	2019-09-24 01:49:11.000000000 +0000
@@ -8954,11 +8954,21 @@ it tries all the directories in the list
 in the list, until it finds a file with the desired name.
 
 For example, suppose an executable references the file
-@file{/usr/src/foo-1.0/lib/foo.c}, and our source path is
-@file{/mnt/cross}.  The file is first looked up literally; if this
-fails, @file{/mnt/cross/usr/src/foo-1.0/lib/foo.c} is tried; if this
-fails, @file{/mnt/cross/foo.c} is opened; if this fails, an error
-message is printed.  @value{GDBN} does not look up the parts of the
+@file{/usr/src/foo-1.0/lib/foo.c}, does not record a compilation
+directory, and the @dfn{source path} is @file{/mnt/cross}.
+@value{GDBN} would look for the source file in the following
+locations:
+
+@enumerate
+
+@item @file{/usr/src/foo-1.0/lib/foo.c}
+@item @file{/mnt/cross/usr/src/foo-1.0/lib/foo.c}
+@item @file{/mnt/cross/foo.c}
+
+@end enumerate
+
+If the source file is not present at any of the above locations then
+an error is printed.  @value{GDBN} does not look up the parts of the
 source file name, such as @file{/mnt/cross/src/foo-1.0/lib/foo.c}.
 Likewise, the subdirectories of the source path are not searched: if
 the source path is @file{/mnt/cross}, and the binary refers to
@@ -8966,11 +8976,91 @@ the source path is @file{/mnt/cross}, an
 @file{/mnt/cross/usr/src/foo-1.0/lib}.
 
 Plain file names, relative file names with leading directories, file
-names containing dots, etc.@: are all treated as described above; for
-instance, if the source path is @file{/mnt/cross}, and the source file
-is recorded as @file{../lib/foo.c}, @value{GDBN} would first try
-@file{../lib/foo.c}, then @file{/mnt/cross/../lib/foo.c}, and after
-that---@file{/mnt/cross/foo.c}.
+names containing dots, etc.@: are all treated as described above,
+except that non-absolute file names are not looked up literally.  If
+the @dfn{source path} is @file{/mnt/cross}, the source file is
+recorded as @file{../lib/foo.c}, and no compilation directory is
+recorded, then @value{GDBN} will search in the following locations:
+
+@enumerate
+
+@item @file{/mnt/cross/../lib/foo.c}
+@item @file{/mnt/cross/foo.c}
+
+@end enumerate
+
+@kindex cdir
+@kindex cwd
+@vindex $cdir@r{, convenience variable}
+@vindex $cwd@r{, convenience variable}
+@cindex compilation directory
+@cindex current directory
+@cindex working directory
+@cindex directory, current
+@cindex directory, compilation
+The @dfn{source path} will always include two special entries
+@samp{$cdir} and @samp{$cwd}, these refer to the compilation directory
+(if one is recorded) and the current working directory respectively.
+
+@samp{$cdir} causes @value{GDBN} to search within the compilation
+directory, if one is recorded in the debug information.  If no
+compilation directory is recorded in the debug information then
+@samp{$cdir} is ignored.
+
+@samp{$cwd} is not the same as @samp{.}---the former tracks the
+current working directory as it changes during your @value{GDBN}
+session, while the latter is immediately expanded to the current
+directory at the time you add an entry to the source path.
+
+If a compilation directory is recorded in the debug information, and
+@value{GDBN} has not found the source file after the first search
+using @dfn{source path}, then @value{GDBN} will combine the
+compilation directory and the filename, and then search for the source
+file again using the @dfn{source path}.
+
+For example, if the executable records the source file as
+@file{/usr/src/foo-1.0/lib/foo.c}, the compilation directory is
+recorded as @file{/project/build}, and the @dfn{source path} is
+@file{/mnt/cross:$cdir:$cwd} while the current working directory of
+the @value{GDBN} session is @file{/home/user}, then @value{GDBN} will
+search for the source file in the following loctions:
+
+@enumerate
+
+@item @file{/usr/src/foo-1.0/lib/foo.c}
+@item @file{/mnt/cross/usr/src/foo-1.0/lib/foo.c}
+@item @file{/project/build/usr/src/foo-1.0/lib/foo.c}
+@item @file{/home/user/usr/src/foo-1.0/lib/foo.c}
+@item @file{/mnt/cross/project/build/usr/src/foo-1.0/lib/foo.c}
+@item @file{/project/build/project/build/usr/src/foo-1.0/lib/foo.c}
+@item @file{/home/user/project/build/usr/src/foo-1.0/lib/foo.c}
+@item @file{/mnt/cross/foo.c}
+@item @file{/project/build/foo.c}
+@item @file{/home/user/foo.c}
+
+@end enumerate
+
+If the file name in the previous example had been recorded in the
+executable as a relative path rather than an absolute path, then the
+first look up would not have occurred, but all of the remaining steps
+would be similar.
+
+When searching for source files on MS-DOS and MS-Windows, where
+absolute paths start with a drive letter (e.g.
+@file{C:/project/foo.c}), @value{GDBN} will remove the drive letter
+from the file name before appending it to a search directory from
+@dfn{source path}; for instance if the executable references the
+source file @file{C:/project/foo.c} and @dfn{source path} is set to
+@file{D:/mnt/cross}, then @value{GDBN} will search in the following
+locations for the source file:
+
+@enumerate
+
+@item @file{C:/project/foo.c}
+@item @file{D:/mnt/cross/project/foo.c}
+@item @file{D:/mnt/cross/foo.c}
+
+@end enumerate
 
 Note that the executable search path is @emph{not} used to locate the
 source files.
@@ -8981,8 +9071,8 @@ each line is in the file.
 
 @kindex directory
 @kindex dir
-When you start @value{GDBN}, its source path includes only @samp{cdir}
-and @samp{cwd}, in that order.
+When you start @value{GDBN}, its source path includes only @samp{$cdir}
+and @samp{$cwd}, in that order.
 To add other directories, use the @code{directory} command.
 
 The search path is used to find both program source files and @value{GDBN}
@@ -9058,21 +9148,12 @@ part of absolute file names) or
 whitespace.  You may specify a directory that is already in the source
 path; this moves it forward, so @value{GDBN} searches it sooner.
 
-@kindex cdir
-@kindex cwd
-@vindex $cdir@r{, convenience variable}
-@vindex $cwd@r{, convenience variable}
-@cindex compilation directory
-@cindex current directory
-@cindex working directory
-@cindex directory, current
-@cindex directory, compilation
-You can use the string @samp{$cdir} to refer to the compilation
-directory (if one is recorded), and @samp{$cwd} to refer to the current
-working directory.  @samp{$cwd} is not the same as @samp{.}---the former
-tracks the current working directory as it changes during your @value{GDBN}
-session, while the latter is immediately expanded to the current
-directory at the time you add an entry to the source path.
+The special strings @samp{$cdir} (to refer to the compilation
+directory, if one is recorded), and @samp{$cwd} (to refer to the
+current working directory) can also be included in the list of
+directories @var{dirname}.  Though these will already be in the source
+path they will be moved forward in the list so @value{GDBN} searches
+them sooner.
 
 @item directory
 Reset the source path to its default value (@samp{$cdir:$cwd} on Unix systems).  This requires confirmation.
@@ -22482,14 +22563,6 @@ are:
 @tab @code{qXfer:sdata:read}
 @tab @code{print $_sdata}
 
-@item @code{read-spu-object}
-@tab @code{qXfer:spu:read}
-@tab @code{info spu}
-
-@item @code{write-spu-object}
-@tab @code{qXfer:spu:write}
-@tab @code{info spu}
-
 @item @code{read-siginfo-object}
 @tab @code{qXfer:siginfo:read}
 @tab @code{print $_siginfo}
@@ -24357,7 +24430,6 @@ all uses of @value{GDBN} with the archit
 * Alpha::
 * MIPS::
 * HPPA::               HP PA architecture
-* SPU::                Cell Broadband Engine SPU architecture
 * PowerPC::
 * Nios II::
 * Sparc64::
@@ -24672,69 +24744,6 @@ given @var{address}.
 @end table
 
 
-@node SPU
-@subsection Cell Broadband Engine SPU architecture
-@cindex Cell Broadband Engine
-@cindex SPU
-
-When @value{GDBN} is debugging the Cell Broadband Engine SPU architecture,
-it provides the following special commands:
-
-@table @code
-@item info spu event
-@kindex info spu
-Display SPU event facility status.  Shows current event mask
-and pending event status.
-
-@item info spu signal
-Display SPU signal notification facility status.  Shows pending
-signal-control word and signal notification mode of both signal
-notification channels.
-
-@item info spu mailbox
-Display SPU mailbox facility status.  Shows all pending entries,
-in order of processing, in each of the SPU Write Outbound,
-SPU Write Outbound Interrupt, and SPU Read Inbound mailboxes.
-
-@item info spu dma
-Display MFC DMA status.  Shows all pending commands in the MFC
-DMA queue.  For each entry, opcode, tag, class IDs, effective
-and local store addresses and transfer size are shown.
-
-@item info spu proxydma
-Display MFC Proxy-DMA status.  Shows all pending commands in the MFC
-Proxy-DMA queue.  For each entry, opcode, tag, class IDs, effective
-and local store addresses and transfer size are shown.
-
-@end table
- 
-When @value{GDBN} is debugging a combined PowerPC/SPU application
-on the Cell Broadband Engine, it provides in addition the following
-special commands:
-
-@table @code
-@item set spu stop-on-load @var{arg}
-@kindex set spu
-Set whether to stop for new SPE threads.  When set to @code{on}, @value{GDBN}
-will give control to the user when a new SPE thread enters its @code{main}
-function.  The default is @code{off}.
-
-@item show spu stop-on-load
-@kindex show spu
-Show whether to stop for new SPE threads.
-
-@item set spu auto-flush-cache @var{arg}
-Set whether to automatically flush the software-managed cache.  When set to
-@code{on}, @value{GDBN} will automatically cause the SPE software-managed
-cache to be flushed whenever SPE execution stops.  This provides a consistent
-view of PowerPC memory that is accessed via the cache.  If an application
-does not use the software-managed cache, this option has no effect.
-
-@item show spu auto-flush-cache
-Show whether to automatically flush the software-managed cache.
-
-@end table
-
 @node PowerPC
 @subsection PowerPC
 @cindex PowerPC architecture
@@ -24975,6 +24984,10 @@ for more details about the Readline
 interface.  Users unfamiliar with @sc{gnu} Emacs or @code{vi} are
 encouraged to read that chapter.
 
+@cindex Readline application name
+@value{GDBN} sets the Readline application name to @samp{gdb}.  This
+is useful for conditions in @file{.inputrc}.
+
 @node Command History
 @section Command History
 @cindex command history
@@ -27577,6 +27590,10 @@ with the TUI SingleKey mode.  Once the c
 SingleKey mode is restored.  The only way to permanently leave
 this mode is by typing @kbd{q} or @kbd{C-x s}.
 
+@cindex SingleKey keymap name
+If @value{GDBN} was built with Readline 8.0 or later, the TUI
+SingleKey keymap will be named @samp{SingleKey}.  This can be used in
+@file{.inputrc} to add additional bindings to this keymap.
 
 @node TUI Commands
 @section TUI-specific Commands
@@ -40021,16 +40038,6 @@ These are the currently defined stub fea
 @tab @samp{-}
 @tab Yes
 
-@item @samp{qXfer:spu:read}
-@tab No
-@tab @samp{-}
-@tab Yes
-
-@item @samp{qXfer:spu:write}
-@tab No
-@tab @samp{-}
-@tab Yes
-
 @item @samp{qXfer:siginfo:read}
 @tab No
 @tab @samp{-}
@@ -40263,14 +40270,6 @@ The remote stub understands the @samp{qX
 The remote stub understands the @samp{qXfer:sdata:read} packet
 (@pxref{qXfer sdata read}).
 
-@item qXfer:spu:read
-The remote stub understands the @samp{qXfer:spu:read} packet
-(@pxref{qXfer spu read}).
-
-@item qXfer:spu:write
-The remote stub understands the @samp{qXfer:spu:write} packet
-(@pxref{qXfer spu write}).
-
 @item qXfer:siginfo:read
 The remote stub understands the @samp{qXfer:siginfo:read} packet
 (@pxref{qXfer siginfo read}).
@@ -40716,18 +40715,6 @@ This packet is not probed by default; th
 by supplying an appropriate @samp{qSupported} response
 (@pxref{qSupported}).
 
-@item qXfer:spu:read:@var{annex}:@var{offset},@var{length}
-@anchor{qXfer spu read}
-Read contents of an @code{spufs} file on the target system.  The
-annex specifies which file to read; it must be of the form 
-@file{@var{id}/@var{name}}, where @var{id} specifies an SPU context ID
-in the target process, and @var{name} identifes the @code{spufs} file
-in that context to be accessed.
-
-This packet is not probed by default; the remote stub must request it,
-by supplying an appropriate @samp{qSupported} response
-(@pxref{qSupported}).
-
 @item qXfer:threads:read::@var{offset},@var{length}
 @anchor{qXfer threads read}
 Access the list of threads on target.  @xref{Thread List Format}.  The
@@ -40813,17 +40800,6 @@ empty (@pxref{qXfer write}).
 This packet is not probed by default; the remote stub must request it,
 by supplying an appropriate @samp{qSupported} response
 (@pxref{qSupported}).
-
-@item qXfer:spu:write:@var{annex}:@var{offset}:@var{data}@dots{}
-@anchor{qXfer spu write}
-Write @var{data} to an @code{spufs} file on the target system.  The
-annex specifies which file to write; it must be of the form
-@file{@var{id}/@var{name}}, where @var{id} specifies an SPU context ID
-in the target process, and @var{name} identifes the @code{spufs} file
-in that context to be accessed.
-
-This packet is not probed by default; the remote stub must request it,
-by supplying an appropriate @samp{qSupported} response (@pxref{qSupported}).
 @end table
 
 @item qXfer:@var{object}:@var{operation}:@dots{}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/dwarf2-frame.c ./gdb/dwarf2-frame.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/dwarf2-frame.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/dwarf2-frame.c	2019-09-24 01:49:11.000000000 +0000
@@ -171,7 +171,7 @@ static CORE_ADDR read_encoded_value (str
 
 
 /* See dwarf2-frame.h.  */
-int dwarf2_frame_unwinders_enabled_p = 1;
+bool dwarf2_frame_unwinders_enabled_p = true;
 
 /* Store the length the expression for the CFA in the `cfa_reg' field,
    which is unused in that case.  */
@@ -1565,7 +1565,7 @@ read_encoded_value (struct comp_unit *un
       base = 0;
       break;
     case DW_EH_PE_pcrel:
-      base = bfd_get_section_vma (unit->abfd, unit->dwarf_frame_section);
+      base = bfd_section_vma (unit->dwarf_frame_section);
       base += (buf - unit->dwarf_frame_buffer);
       break;
     case DW_EH_PE_datarel:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/dwarf2-frame.h ./gdb/dwarf2-frame.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/dwarf2-frame.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/dwarf2-frame.h	2019-09-24 01:49:11.000000000 +0000
@@ -201,7 +201,7 @@ struct dwarf2_frame_state
    registered with the gdbarch.  Not all architectures can or do use the
    DWARF unwinders.  Setting this to true on a target that does not
    otherwise support the DWARF unwinders has no effect.  */
-extern int dwarf2_frame_unwinders_enabled_p;
+extern bool dwarf2_frame_unwinders_enabled_p;
 
 /* Set the architecture-specific register state initialization
    function for GDBARCH to INIT_REG.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/dwarf2loc.c ./gdb/dwarf2loc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/dwarf2loc.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/dwarf2loc.c	2019-09-24 01:49:11.000000000 +0000
@@ -46,8 +46,6 @@
 #include "gdbsupport/underlying.h"
 #include "gdbsupport/byte-vector.h"
 
-extern int dwarf_always_disassemble;
-
 static struct value *dwarf2_evaluate_loc_desc_full (struct type *type,
 						    struct frame_info *frame,
 						    const gdb_byte *data,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/dwarf2read.c ./gdb/dwarf2read.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/dwarf2read.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/dwarf2read.c	2019-09-24 01:49:11.000000000 +0000
@@ -102,11 +102,11 @@ static unsigned int dwarf_die_debug = 0;
 /* When non-zero, dump line number entries as they are read in.  */
 static unsigned int dwarf_line_debug = 0;
 
-/* When non-zero, cross-check physname against demangler.  */
-static int check_physname = 0;
+/* When true, cross-check physname against demangler.  */
+static bool check_physname = false;
 
-/* When non-zero, do not reject deprecated .gdb_index sections.  */
-static int use_deprecated_index_sections = 0;
+/* When true, do not reject deprecated .gdb_index sections.  */
+static bool use_deprecated_index_sections = false;
 
 static const struct objfile_key<dwarf2_per_objfile> dwarf2_objfile_data_key;
 
@@ -2280,7 +2280,7 @@ get_section_name (const struct dwarf2_se
   asection *sectp = get_section_bfd_section (section);
 
   gdb_assert (sectp != NULL);
-  return bfd_section_name (get_section_bfd_owner (section), sectp);
+  return bfd_section_name (sectp);
 }
 
 /* Return the name of the file SECTION is in.  */
@@ -2315,7 +2315,7 @@ get_section_flags (const struct dwarf2_s
   asection *sectp = get_section_bfd_section (section);
 
   gdb_assert (sectp != NULL);
-  return bfd_get_section_flags (sectp->owner, sectp);
+  return bfd_section_flags (sectp);
 }
 
 /* When loading sections, we look either for uncompressed section or for
@@ -2340,7 +2340,7 @@ void
 dwarf2_per_objfile::locate_sections (bfd *abfd, asection *sectp,
 				     const dwarf2_debug_sections &names)
 {
-  flagword aflag = bfd_get_section_flags (abfd, sectp);
+  flagword aflag = bfd_section_flags (sectp);
 
   if ((aflag & SEC_HAS_CONTENTS) == 0)
     {
@@ -2348,72 +2348,72 @@ dwarf2_per_objfile::locate_sections (bfd
   else if (section_is_p (sectp->name, &names.info))
     {
       this->info.s.section = sectp;
-      this->info.size = bfd_get_section_size (sectp);
+      this->info.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names.abbrev))
     {
       this->abbrev.s.section = sectp;
-      this->abbrev.size = bfd_get_section_size (sectp);
+      this->abbrev.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names.line))
     {
       this->line.s.section = sectp;
-      this->line.size = bfd_get_section_size (sectp);
+      this->line.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names.loc))
     {
       this->loc.s.section = sectp;
-      this->loc.size = bfd_get_section_size (sectp);
+      this->loc.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names.loclists))
     {
       this->loclists.s.section = sectp;
-      this->loclists.size = bfd_get_section_size (sectp);
+      this->loclists.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names.macinfo))
     {
       this->macinfo.s.section = sectp;
-      this->macinfo.size = bfd_get_section_size (sectp);
+      this->macinfo.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names.macro))
     {
       this->macro.s.section = sectp;
-      this->macro.size = bfd_get_section_size (sectp);
+      this->macro.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names.str))
     {
       this->str.s.section = sectp;
-      this->str.size = bfd_get_section_size (sectp);
+      this->str.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names.line_str))
     {
       this->line_str.s.section = sectp;
-      this->line_str.size = bfd_get_section_size (sectp);
+      this->line_str.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names.addr))
     {
       this->addr.s.section = sectp;
-      this->addr.size = bfd_get_section_size (sectp);
+      this->addr.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names.frame))
     {
       this->frame.s.section = sectp;
-      this->frame.size = bfd_get_section_size (sectp);
+      this->frame.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names.eh_frame))
     {
       this->eh_frame.s.section = sectp;
-      this->eh_frame.size = bfd_get_section_size (sectp);
+      this->eh_frame.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names.ranges))
     {
       this->ranges.s.section = sectp;
-      this->ranges.size = bfd_get_section_size (sectp);
+      this->ranges.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names.rnglists))
     {
       this->rnglists.s.section = sectp;
-      this->rnglists.size = bfd_get_section_size (sectp);
+      this->rnglists.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names.types))
     {
@@ -2421,28 +2421,28 @@ dwarf2_per_objfile::locate_sections (bfd
 
       memset (&type_section, 0, sizeof (type_section));
       type_section.s.section = sectp;
-      type_section.size = bfd_get_section_size (sectp);
+      type_section.size = bfd_section_size (sectp);
 
       this->types.push_back (type_section);
     }
   else if (section_is_p (sectp->name, &names.gdb_index))
     {
       this->gdb_index.s.section = sectp;
-      this->gdb_index.size = bfd_get_section_size (sectp);
+      this->gdb_index.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names.debug_names))
     {
       this->debug_names.s.section = sectp;
-      this->debug_names.size = bfd_get_section_size (sectp);
+      this->debug_names.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names.debug_aranges))
     {
       this->debug_aranges.s.section = sectp;
-      this->debug_aranges.size = bfd_get_section_size (sectp);
+      this->debug_aranges.size = bfd_section_size (sectp);
     }
 
-  if ((bfd_get_section_flags (abfd, sectp) & (SEC_LOAD | SEC_ALLOC))
-      && bfd_section_vma (abfd, sectp) == 0)
+  if ((bfd_section_flags (sectp) & (SEC_LOAD | SEC_ALLOC))
+      && bfd_section_vma (sectp) == 0)
     this->has_section_at_zero = true;
 }
 
@@ -2531,7 +2531,7 @@ dwarf2_read_section (struct objfile *obj
     {
       error (_("Dwarf Error: Can't read DWARF data"
 	       " in section %s [in module %s]"),
-	     bfd_section_name (abfd, sectp), bfd_get_filename (abfd));
+	     bfd_section_name (sectp), bfd_get_filename (abfd));
     }
 }
 
@@ -2603,37 +2603,37 @@ locate_dwz_sections (bfd *abfd, asection
   if (section_is_p (sectp->name, &dwarf2_elf_names.abbrev))
     {
       dwz_file->abbrev.s.section = sectp;
-      dwz_file->abbrev.size = bfd_get_section_size (sectp);
+      dwz_file->abbrev.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &dwarf2_elf_names.info))
     {
       dwz_file->info.s.section = sectp;
-      dwz_file->info.size = bfd_get_section_size (sectp);
+      dwz_file->info.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &dwarf2_elf_names.str))
     {
       dwz_file->str.s.section = sectp;
-      dwz_file->str.size = bfd_get_section_size (sectp);
+      dwz_file->str.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &dwarf2_elf_names.line))
     {
       dwz_file->line.s.section = sectp;
-      dwz_file->line.size = bfd_get_section_size (sectp);
+      dwz_file->line.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &dwarf2_elf_names.macro))
     {
       dwz_file->macro.s.section = sectp;
-      dwz_file->macro.size = bfd_get_section_size (sectp);
+      dwz_file->macro.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &dwarf2_elf_names.gdb_index))
     {
       dwz_file->gdb_index.s.section = sectp;
-      dwz_file->gdb_index.size = bfd_get_section_size (sectp);
+      dwz_file->gdb_index.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &dwarf2_elf_names.debug_names))
     {
       dwz_file->debug_names.s.section = sectp;
-      dwz_file->debug_names.size = bfd_get_section_size (sectp);
+      dwz_file->debug_names.size = bfd_section_size (sectp);
     }
 }
 
@@ -3584,14 +3584,14 @@ dwarf2_read_gdb_index
 	return 0;
 
       if (!read_gdb_index_from_buffer (objfile,
-				       bfd_get_filename (dwz->dwz_bfd), 1,
-				       dwz_index_content, &dwz_map,
+				       bfd_get_filename (dwz->dwz_bfd.get ()),
+				       1, dwz_index_content, &dwz_map,
 				       &dwz_list, &dwz_list_elements,
 				       &dwz_types_ignore,
 				       &dwz_types_elements_ignore))
 	{
 	  warning (_("could not read '.gdb_index' section from %s; skipping"),
-		   bfd_get_filename (dwz->dwz_bfd));
+		   bfd_get_filename (dwz->dwz_bfd.get ()));
 	  return 0;
 	}
     }
@@ -5596,11 +5596,11 @@ dwarf2_read_debug_names (struct dwarf2_p
   if (dwz != NULL)
     {
       if (!read_debug_names_from_section (objfile,
-					  bfd_get_filename (dwz->dwz_bfd),
+					  bfd_get_filename (dwz->dwz_bfd.get ()),
 					  &dwz->debug_names, dwz_map))
 	{
 	  warning (_("could not read '.debug_names' section from %s; skipping"),
-		   bfd_get_filename (dwz->dwz_bfd));
+		   bfd_get_filename (dwz->dwz_bfd.get ()));
 	  return false;
 	}
     }
@@ -12311,7 +12311,7 @@ locate_v1_virtual_dwo_sections (asection
       if (sections->abbrev.s.section != NULL)
 	return 0;
       sections->abbrev.s.section = sectp;
-      sections->abbrev.size = bfd_get_section_size (sectp);
+      sections->abbrev.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names->info_dwo)
 	   || section_is_p (sectp->name, &names->types_dwo))
@@ -12320,7 +12320,7 @@ locate_v1_virtual_dwo_sections (asection
       if (sections->info_or_types.s.section != NULL)
 	return 0;
       sections->info_or_types.s.section = sectp;
-      sections->info_or_types.size = bfd_get_section_size (sectp);
+      sections->info_or_types.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names->line_dwo))
     {
@@ -12328,7 +12328,7 @@ locate_v1_virtual_dwo_sections (asection
       if (sections->line.s.section != NULL)
 	return 0;
       sections->line.s.section = sectp;
-      sections->line.size = bfd_get_section_size (sectp);
+      sections->line.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names->loc_dwo))
     {
@@ -12336,7 +12336,7 @@ locate_v1_virtual_dwo_sections (asection
       if (sections->loc.s.section != NULL)
 	return 0;
       sections->loc.s.section = sectp;
-      sections->loc.size = bfd_get_section_size (sectp);
+      sections->loc.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names->macinfo_dwo))
     {
@@ -12344,7 +12344,7 @@ locate_v1_virtual_dwo_sections (asection
       if (sections->macinfo.s.section != NULL)
 	return 0;
       sections->macinfo.s.section = sectp;
-      sections->macinfo.size = bfd_get_section_size (sectp);
+      sections->macinfo.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names->macro_dwo))
     {
@@ -12352,7 +12352,7 @@ locate_v1_virtual_dwo_sections (asection
       if (sections->macro.s.section != NULL)
 	return 0;
       sections->macro.s.section = sectp;
-      sections->macro.size = bfd_get_section_size (sectp);
+      sections->macro.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names->str_offsets_dwo))
     {
@@ -12360,7 +12360,7 @@ locate_v1_virtual_dwo_sections (asection
       if (sections->str_offsets.s.section != NULL)
 	return 0;
       sections->str_offsets.s.section = sectp;
-      sections->str_offsets.size = bfd_get_section_size (sectp);
+      sections->str_offsets.size = bfd_section_size (sectp);
     }
   else
     {
@@ -12558,11 +12558,11 @@ create_dwp_v2_section (struct dwarf2_per
      bounds of the real section.  This is a pretty-rare event, so just
      flag an error (easier) instead of a warning and trying to cope.  */
   if (sectp == NULL
-      || offset + size > bfd_get_section_size (sectp))
+      || offset + size > bfd_section_size (sectp))
     {
       error (_("Dwarf Error: Bad DWP V2 section info, doesn't fit"
 	       " in section %s [in module %s]"),
-	     sectp ? bfd_section_name (abfd, sectp) : "<unknown>",
+	     sectp ? bfd_section_name (sectp) : "<unknown>",
 	     objfile_name (dwarf2_per_objfile->objfile));
     }
 
@@ -12933,42 +12933,42 @@ dwarf2_locate_dwo_sections (bfd *abfd, a
   if (section_is_p (sectp->name, &names->abbrev_dwo))
     {
       dwo_sections->abbrev.s.section = sectp;
-      dwo_sections->abbrev.size = bfd_get_section_size (sectp);
+      dwo_sections->abbrev.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names->info_dwo))
     {
       dwo_sections->info.s.section = sectp;
-      dwo_sections->info.size = bfd_get_section_size (sectp);
+      dwo_sections->info.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names->line_dwo))
     {
       dwo_sections->line.s.section = sectp;
-      dwo_sections->line.size = bfd_get_section_size (sectp);
+      dwo_sections->line.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names->loc_dwo))
     {
       dwo_sections->loc.s.section = sectp;
-      dwo_sections->loc.size = bfd_get_section_size (sectp);
+      dwo_sections->loc.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names->macinfo_dwo))
     {
       dwo_sections->macinfo.s.section = sectp;
-      dwo_sections->macinfo.size = bfd_get_section_size (sectp);
+      dwo_sections->macinfo.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names->macro_dwo))
     {
       dwo_sections->macro.s.section = sectp;
-      dwo_sections->macro.size = bfd_get_section_size (sectp);
+      dwo_sections->macro.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names->str_dwo))
     {
       dwo_sections->str.s.section = sectp;
-      dwo_sections->str.size = bfd_get_section_size (sectp);
+      dwo_sections->str.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names->str_offsets_dwo))
     {
       dwo_sections->str_offsets.s.section = sectp;
-      dwo_sections->str_offsets.size = bfd_get_section_size (sectp);
+      dwo_sections->str_offsets.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names->types_dwo))
     {
@@ -12976,7 +12976,7 @@ dwarf2_locate_dwo_sections (bfd *abfd, a
 
       memset (&type_section, 0, sizeof (type_section));
       type_section.s.section = sectp;
-      type_section.size = bfd_get_section_size (sectp);
+      type_section.size = bfd_section_size (sectp);
       dwo_sections->types.push_back (type_section);
     }
 }
@@ -13040,17 +13040,17 @@ dwarf2_locate_common_dwp_sections (bfd *
   if (section_is_p (sectp->name, &names->str_dwo))
     {
       dwp_file->sections.str.s.section = sectp;
-      dwp_file->sections.str.size = bfd_get_section_size (sectp);
+      dwp_file->sections.str.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names->cu_index))
     {
       dwp_file->sections.cu_index.s.section = sectp;
-      dwp_file->sections.cu_index.size = bfd_get_section_size (sectp);
+      dwp_file->sections.cu_index.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names->tu_index))
     {
       dwp_file->sections.tu_index.s.section = sectp;
-      dwp_file->sections.tu_index.size = bfd_get_section_size (sectp);
+      dwp_file->sections.tu_index.size = bfd_section_size (sectp);
     }
 }
 
@@ -13075,42 +13075,42 @@ dwarf2_locate_v2_dwp_sections (bfd *abfd
   if (section_is_p (sectp->name, &names->abbrev_dwo))
     {
       dwp_file->sections.abbrev.s.section = sectp;
-      dwp_file->sections.abbrev.size = bfd_get_section_size (sectp);
+      dwp_file->sections.abbrev.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names->info_dwo))
     {
       dwp_file->sections.info.s.section = sectp;
-      dwp_file->sections.info.size = bfd_get_section_size (sectp);
+      dwp_file->sections.info.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names->line_dwo))
     {
       dwp_file->sections.line.s.section = sectp;
-      dwp_file->sections.line.size = bfd_get_section_size (sectp);
+      dwp_file->sections.line.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names->loc_dwo))
     {
       dwp_file->sections.loc.s.section = sectp;
-      dwp_file->sections.loc.size = bfd_get_section_size (sectp);
+      dwp_file->sections.loc.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names->macinfo_dwo))
     {
       dwp_file->sections.macinfo.s.section = sectp;
-      dwp_file->sections.macinfo.size = bfd_get_section_size (sectp);
+      dwp_file->sections.macinfo.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names->macro_dwo))
     {
       dwp_file->sections.macro.s.section = sectp;
-      dwp_file->sections.macro.size = bfd_get_section_size (sectp);
+      dwp_file->sections.macro.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names->str_offsets_dwo))
     {
       dwp_file->sections.str_offsets.s.section = sectp;
-      dwp_file->sections.str_offsets.size = bfd_get_section_size (sectp);
+      dwp_file->sections.str_offsets.size = bfd_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names->types_dwo))
     {
       dwp_file->sections.types.s.section = sectp;
-      dwp_file->sections.types.size = bfd_get_section_size (sectp);
+      dwp_file->sections.types.size = bfd_section_size (sectp);
     }
 }
 
@@ -19759,11 +19759,11 @@ read_indirect_string_from_dwz (struct ob
   if (dwz->str.buffer == NULL)
     error (_("DW_FORM_GNU_strp_alt used without .debug_str "
 	     "section [in module %s]"),
-	   bfd_get_filename (dwz->dwz_bfd));
+	   bfd_get_filename (dwz->dwz_bfd.get ()));
   if (str_offset >= dwz->str.size)
     error (_("DW_FORM_GNU_strp_alt pointing outside of "
 	     ".debug_str section [in module %s]"),
-	   bfd_get_filename (dwz->dwz_bfd));
+	   bfd_get_filename (dwz->dwz_bfd.get ()));
   gdb_assert (HOST_CHAR_BIT == 8);
   if (dwz->str.buffer[str_offset] == '\0')
     return NULL;
@@ -25837,7 +25837,7 @@ show_dwarf_cmd (const char *args, int fr
   cmd_show_list (show_dwarf_cmdlist, from_tty, "");
 }
 
-int dwarf_always_disassemble;
+bool dwarf_always_disassemble;
 
 static void
 show_dwarf_always_disassemble (struct ui_file *file, int from_tty,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/dwarf2read.h ./gdb/dwarf2read.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/dwarf2read.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/dwarf2read.h	2019-09-24 01:49:11.000000000 +0000
@@ -33,6 +33,8 @@ extern struct cmd_list_element *show_dwa
 typedef struct dwarf2_per_cu_data *dwarf2_per_cu_ptr;
 DEF_VEC_P (dwarf2_per_cu_ptr);
 
+extern bool dwarf_always_disassemble;
+
 /* A descriptor for dwarf sections.
 
    S.ASECTION, SIZE are typically initialized when the objfile is first
@@ -415,7 +417,7 @@ struct dwz_file
 
   const char *filename () const
   {
-    return bfd_get_filename (this->dwz_bfd);
+    return bfd_get_filename (this->dwz_bfd.get ());
   }
 
   /* A dwz file can only contain a few sections.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/dwarf-index-cache.c ./gdb/dwarf-index-cache.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/dwarf-index-cache.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/dwarf-index-cache.c	2019-09-24 01:49:11.000000000 +0000
@@ -32,8 +32,8 @@
 #include <string>
 #include <stdlib.h>
 
-/* When set to 1, show debug messages about the index cache.  */
-static int debug_index_cache = 0;
+/* When set to true, show debug messages about the index cache.  */
+static bool debug_index_cache = false;
 
 /* The index cache directory, used for "set/show index-cache directory".  */
 static char *index_cache_directory = NULL;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/dwarf-index-write.c ./gdb/dwarf-index-write.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/dwarf-index-write.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/dwarf-index-write.c	2019-09-24 01:49:11.000000000 +0000
@@ -714,13 +714,14 @@ public:
 	   name (of the form "<MumBle>") must be entered without the
 	   angle brackets.  Note that the current index is unusual,
 	   see PR symtab/24820 for details.  */
-	const char *decoded = ada_decode (name);
+	std::string decoded = ada_decode (name);
 	if (decoded[0] == '<')
 	  name = (char *) obstack_copy0 (&m_string_obstack,
-					 decoded + 1,
-					 strlen (decoded + 1) - 1);
+					 decoded.c_str () + 1,
+					 decoded.length () - 2);
 	else
-	  name = obstack_strdup (&m_string_obstack, ada_encode (decoded));
+	  name = obstack_strdup (&m_string_obstack,
+				 ada_encode (decoded.c_str ()));
       }
 
     const auto insertpair
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/elfread.c ./gdb/elfread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/elfread.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/elfread.c	2019-09-24 01:49:11.000000000 +0000
@@ -125,7 +125,7 @@ elf_symfile_segments (bfd *abfd)
     {
       int j;
 
-      if ((bfd_get_section_flags (abfd, sect) & SEC_ALLOC) == 0)
+      if ((bfd_section_flags (sect) & SEC_ALLOC) == 0)
 	continue;
 
       Elf_Internal_Shdr *this_hdr = &elf_section_data (sect)->this_hdr;
@@ -146,10 +146,10 @@ elf_symfile_segments (bfd *abfd)
 	 RealView) use SHT_NOBITS for uninitialized data.  Since it is
 	 uninitialized, it doesn't need a program header.  Such
 	 binaries are not relocatable.  */
-      if (bfd_get_section_size (sect) > 0 && j == num_segments
-	  && (bfd_get_section_flags (abfd, sect) & SEC_LOAD) != 0)
+      if (bfd_section_size (sect) > 0 && j == num_segments
+	  && (bfd_section_flags (sect) & SEC_LOAD) != 0)
 	warning (_("Loadable section \"%s\" outside of ELF segments"),
-		 bfd_section_name (abfd, sect));
+		 bfd_section_name (sect));
     }
 
   return data;
@@ -289,12 +289,12 @@ elf_symtab_read (minimal_symbol_reader &
 	     covers the stub's address.  */
 	  for (sect = abfd->sections; sect != NULL; sect = sect->next)
 	    {
-	      if ((bfd_get_section_flags (abfd, sect) & SEC_ALLOC) == 0)
+	      if ((bfd_section_flags (sect) & SEC_ALLOC) == 0)
 		continue;
 
-	      if (symaddr >= bfd_get_section_vma (abfd, sect)
-		  && symaddr < bfd_get_section_vma (abfd, sect)
-			       + bfd_get_section_size (sect))
+	      if (symaddr >= bfd_section_vma (sect)
+		  && symaddr < bfd_section_vma (sect)
+			       + bfd_section_size (sect))
 		break;
 	    }
 	  if (!sect)
@@ -591,9 +591,9 @@ elf_rel_plt_read (minimal_symbol_reader 
       if (section == NULL)
 	return false;
 
-      return (bfd_get_section_vma (obfd, section) <= address
-	      && (address < bfd_get_section_vma (obfd, section)
-		  + bfd_get_section_size (section)));
+      return (bfd_section_vma (section) <= address
+	      && (address < bfd_section_vma (section)
+		  + bfd_section_size (section)));
     };
 
   reloc_count = relplt->size / elf_section_data (relplt)->this_hdr.sh_entsize;
@@ -1236,7 +1236,7 @@ elf_symfile_read (struct objfile *objfil
 	elfstab_build_psymtabs (objfile,
 				ei.stabsect,
 				str_sect->filepos,
-				bfd_section_size (abfd, str_sect));
+				bfd_section_size (str_sect));
     }
 
   if (dwarf2_has_info (objfile, NULL))
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/eval.c ./gdb/eval.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/eval.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/eval.c	2019-09-24 01:49:11.000000000 +0000
@@ -42,9 +42,6 @@
 #include "typeprint.h"
 #include <ctype.h>
 
-/* This is defined in valops.c */
-extern int overload_resolution;
-
 /* Prototypes for local functions.  */
 
 static struct value *evaluate_subexp_for_sizeof (struct expression *, int *,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/event-top.c ./gdb/event-top.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/event-top.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/event-top.c	2019-09-24 01:49:11.000000000 +0000
@@ -86,11 +86,11 @@ static void async_sigterm_handler (gdb_c
    ezannoni: as of 1999-04-29 I expect that this
    variable will not be used after gdb is changed to use the event
    loop as default engine, and event-top.c is merged into top.c.  */
-int set_editing_cmd_var;
+bool set_editing_cmd_var;
 
 /* This is used to display the notification of the completion of an
    asynchronous execution command.  */
-int exec_done_display_p = 0;
+bool exec_done_display_p = false;
 
 /* Used by the stdin event handler to compensate for missed stdin events.
    Setting this to a non-zero value inside an stdin callback makes the callback
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/event-top.h ./gdb/event-top.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/event-top.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/event-top.h	2019-09-24 01:49:11.000000000 +0000
@@ -52,8 +52,8 @@ extern void async_enable_stdin (void);
 /* Exported variables from event-top.c.
    FIXME: these should really go into top.h.  */
 
-extern int set_editing_cmd_var;
-extern int exec_done_display_p;
+extern bool set_editing_cmd_var;
+extern bool exec_done_display_p;
 extern struct prompts the_prompts;
 extern void (*after_char_processing_hook) (void);
 extern int call_stdin_event_handler_again_p;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/exec.c ./gdb/exec.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/exec.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/exec.c	2019-09-24 01:49:11.000000000 +0000
@@ -84,7 +84,7 @@ static exec_target exec_ops;
 
 /* Whether to open exec and core files read-only or read-write.  */
 
-int write_files = 0;
+bool write_files = false;
 static void
 show_write_files (struct ui_file *file, int from_tty,
 		  struct cmd_list_element *c, const char *value)
@@ -454,14 +454,14 @@ add_to_section_table (bfd *abfd, struct 
      encountered on sparc-solaris 2.10 a shared library with an empty .bss
      section to which a symbol named "_end" was attached.  The address
      of this symbol still needs to be relocated.  */
-  aflag = bfd_get_section_flags (abfd, asect);
+  aflag = bfd_section_flags (asect);
   if (!(aflag & SEC_ALLOC))
     return;
 
   (*table_pp)->owner = NULL;
   (*table_pp)->the_bfd_section = asect;
-  (*table_pp)->addr = bfd_section_vma (abfd, asect);
-  (*table_pp)->endaddr = (*table_pp)->addr + bfd_section_size (abfd, asect);
+  (*table_pp)->addr = bfd_section_vma (asect);
+  (*table_pp)->endaddr = (*table_pp)->addr + bfd_section_size (asect);
   (*table_pp)++;
 }
 
@@ -571,7 +571,7 @@ add_target_sections_of_objfile (struct o
   /* Compute the number of sections to add.  */
   ALL_OBJFILE_OSECTIONS (objfile, osect)
     {
-      if (bfd_get_section_size (osect->the_bfd_section) == 0)
+      if (bfd_section_size (osect->the_bfd_section) == 0)
 	continue;
       count++;
     }
@@ -585,7 +585,7 @@ add_target_sections_of_objfile (struct o
 
   ALL_OBJFILE_OSECTIONS (objfile, osect)
     {
-      if (bfd_get_section_size (osect->the_bfd_section) == 0)
+      if (bfd_section_size (osect->the_bfd_section) == 0)
 	continue;
 
       gdb_assert (ts < table->sections + space + count);
@@ -665,7 +665,7 @@ exec_read_partial_read_only (gdb_byte *r
 	    continue;
 
 	  vma = s->vma;
-	  size = bfd_get_section_size (s);
+	  size = bfd_section_size (s);
 	  if (vma <= offset && offset < (vma + size))
 	    {
 	      ULONGEST amt;
@@ -705,9 +705,7 @@ section_table_available_memory (CORE_ADD
 
   for (target_section *p = sections; p < sections_end; p++)
     {
-      if ((bfd_get_section_flags (p->the_bfd_section->owner,
-				  p->the_bfd_section)
-	   & SEC_READONLY) == 0)
+      if ((bfd_section_flags (p->the_bfd_section) & SEC_READONLY) == 0)
 	continue;
 
       /* Copy the meta-data, adjusted.  */
@@ -894,17 +892,16 @@ print_section_info (struct target_sectio
       for (p = t->sections; p < t->sections_end; p++)
 	{
 	  struct bfd_section *psect = p->the_bfd_section;
-	  bfd *pbfd = psect->owner;
 
-	  if ((bfd_get_section_flags (pbfd, psect) & (SEC_ALLOC | SEC_LOAD))
+	  if ((bfd_section_flags (psect) & (SEC_ALLOC | SEC_LOAD))
 	      != (SEC_ALLOC | SEC_LOAD))
 	    continue;
 
-	  if (bfd_get_section_vma (pbfd, psect) <= abfd->start_address
-	      && abfd->start_address < (bfd_get_section_vma (pbfd, psect)
-					+ bfd_get_section_size (psect)))
+	  if (bfd_section_vma (psect) <= abfd->start_address
+	      && abfd->start_address < (bfd_section_vma (psect)
+					+ bfd_section_size (psect)))
 	    {
-	      displacement = p->addr - bfd_get_section_vma (pbfd, psect);
+	      displacement = p->addr - bfd_section_vma (psect);
 	      break;
 	    }
 	}
@@ -935,7 +932,7 @@ print_section_info (struct target_sectio
       if (info_verbose)
 	printf_filtered (" @ %s",
 			 hex_string_custom (psect->filepos, 8));
-      printf_filtered (" is %s", bfd_section_name (pbfd, psect));
+      printf_filtered (" is %s", bfd_section_name (psect));
       if (pbfd != abfd)
 	printf_filtered (" in %s", bfd_get_filename (pbfd));
       printf_filtered ("\n");
@@ -975,9 +972,8 @@ set_section_command (const char *args, i
   table = current_target_sections;
   for (p = table->sections; p < table->sections_end; p++)
     {
-      if (!strncmp (secname, bfd_section_name (p->bfd,
-					       p->the_bfd_section), seclen)
-	  && bfd_section_name (p->bfd, p->the_bfd_section)[seclen] == '\0')
+      if (!strncmp (secname, bfd_section_name (p->the_bfd_section), seclen)
+	  && bfd_section_name (p->the_bfd_section)[seclen] == '\0')
 	{
 	  offset = secaddr - p->addr;
 	  p->addr += offset;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/fbsd-nat.c ./gdb/fbsd-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/fbsd-nat.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/fbsd-nat.c	2019-09-24 01:49:11.000000000 +0000
@@ -832,8 +832,8 @@ fbsd_nat_target::xfer_partial (enum targ
 }
 
 #ifdef PT_LWPINFO
-static int debug_fbsd_lwp;
-static int debug_fbsd_nat;
+static bool debug_fbsd_lwp;
+static bool debug_fbsd_nat;
 
 static void
 show_fbsd_lwp_debug (struct ui_file *file, int from_tty,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/fbsd-tdep.c ./gdb/fbsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/fbsd-tdep.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/fbsd-tdep.c	2019-09-24 01:49:11.000000000 +0000
@@ -502,10 +502,10 @@ fbsd_core_thread_name (struct gdbarch *g
       thread_section_name section_name (".thrmisc", thr->ptid);
 
       section = bfd_get_section_by_name (core_bfd, section_name.c_str ());
-      if (section != NULL && bfd_section_size (core_bfd, section) > 0)
+      if (section != NULL && bfd_section_size (section) > 0)
 	{
 	  /* Truncate the name if it is longer than "buf".  */
-	  size = bfd_section_size (core_bfd, section);
+	  size = bfd_section_size (section);
 	  if (size > sizeof buf - 1)
 	    size = sizeof buf - 1;
 	  if (bfd_get_section_contents (core_bfd, section, buf, (file_ptr) 0,
@@ -1058,7 +1058,7 @@ fbsd_core_info_proc_files (struct gdbarc
       return;
     }
 
-  size_t note_size = bfd_get_section_size (section);
+  size_t note_size = bfd_section_size (section);
   if (note_size < 4)
     error (_("malformed core note - too short for header"));
 
@@ -1191,7 +1191,7 @@ fbsd_core_info_proc_mappings (struct gdb
       return;
     }
 
-  note_size = bfd_get_section_size (section);
+  note_size = bfd_section_size (section);
   if (note_size < 4)
     error (_("malformed core note - too short for header"));
 
@@ -1239,7 +1239,7 @@ fbsd_core_vnode_path (struct gdbarch *gd
   if (section == NULL)
     return nullptr;
 
-  note_size = bfd_get_section_size (section);
+  note_size = bfd_section_size (section);
   if (note_size < 4)
     error (_("malformed core note - too short for header"));
 
@@ -1344,7 +1344,7 @@ fbsd_core_info_proc_status (struct gdbar
    * structure size, then it must be long enough to access the last
    * field used (ki_rusage_ch.ru_majflt) which is the size of a long.
    */
-  note_size = bfd_get_section_size (section);
+  note_size = bfd_section_size (section);
   if (note_size < (4 + kp->ki_rusage_ch + kp->ru_majflt
 		   + long_bit / TARGET_CHAR_BIT))
     error (_("malformed core note - too short"));
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/features/Makefile ./gdb/features/Makefile
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/features/Makefile	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/features/Makefile	2019-09-24 01:49:11.000000000 +0000
@@ -53,7 +53,7 @@ WHICH = arm/arm-with-iwmmxt arm/arm-with
 	rs6000/powerpc-32 \
 	rs6000/powerpc-32l rs6000/powerpc-altivec32l rs6000/powerpc-e500l \
 	rs6000/powerpc-64l rs6000/powerpc-altivec64l rs6000/powerpc-vsx32l \
-	rs6000/powerpc-vsx64l rs6000/powerpc-cell32l rs6000/powerpc-cell64l \
+	rs6000/powerpc-vsx64l \
 	rs6000/powerpc-isa205-32l rs6000/powerpc-isa205-64l \
 	rs6000/powerpc-isa205-altivec32l rs6000/powerpc-isa205-altivec64l \
 	rs6000/powerpc-isa205-vsx32l rs6000/powerpc-isa205-vsx64l \
@@ -84,8 +84,6 @@ microblaze-expedite = r1,rpc
 nios2-linux-expedite = sp,pc
 or1k-expedite = r1,npc
 powerpc-expedite = r1,pc
-rs6000/powerpc-cell32l-expedite = r1,pc,r0,orig_r3,r4
-rs6000/powerpc-cell64l-expedite = r1,pc,r0,orig_r3,r4
 s390-linux32-expedite = r14,r15,pswa
 s390-linux32v1-expedite = r14,r15,pswa
 s390-linux32v2-expedite = r14,r15,pswa
@@ -140,8 +138,6 @@ XMLTOC = \
 	rs6000/powerpc-altivec32l.xml \
 	rs6000/powerpc-altivec64.xml \
 	rs6000/powerpc-altivec64l.xml \
-	rs6000/powerpc-cell32l.xml \
-	rs6000/powerpc-cell64l.xml \
 	rs6000/powerpc-e500.xml \
 	rs6000/powerpc-e500l.xml \
 	rs6000/powerpc-isa205-32l.xml \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/features/rs6000/powerpc-cell32l.c ./gdb/features/rs6000/powerpc-cell32l.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/features/rs6000/powerpc-cell32l.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-cell32l.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,162 +0,0 @@
-/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
-  Original: powerpc-cell32l.xml */
-
-#include "defs.h"
-#include "osabi.h"
-#include "target-descriptions.h"
-
-struct target_desc *tdesc_powerpc_cell32l;
-static void
-initialize_tdesc_powerpc_cell32l (void)
-{
-  struct target_desc *result = allocate_target_description ();
-  set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common"));
-
-  tdesc_add_compatible (result, bfd_scan_arch ("spu:256K"));
-
-  struct tdesc_feature *feature;
-
-  feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
-  tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r13", 13, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r14", 14, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r15", 15, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r16", 16, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r17", 17, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r18", 18, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r19", 19, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r20", 20, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r21", 21, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r22", 22, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r23", 23, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r24", 24, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r25", 25, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r26", 26, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r27", 27, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r28", 28, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r29", 29, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r30", 30, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r31", 31, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "pc", 64, 1, NULL, 32, "code_ptr");
-  tdesc_create_reg (feature, "msr", 65, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "lr", 67, 1, NULL, 32, "code_ptr");
-  tdesc_create_reg (feature, "ctr", 68, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
-
-  feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
-  tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "fpscr", 70, 1, "float", 32, "int");
-
-  feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
-  tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "trap", 72, 1, NULL, 32, "int");
-
-  feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec");
-  tdesc_type *element_type;
-  element_type = tdesc_named_type (feature, "ieee_single");
-  tdesc_create_vector (feature, "v4f", element_type, 4);
-
-  element_type = tdesc_named_type (feature, "int32");
-  tdesc_create_vector (feature, "v4i32", element_type, 4);
-
-  element_type = tdesc_named_type (feature, "int16");
-  tdesc_create_vector (feature, "v8i16", element_type, 8);
-
-  element_type = tdesc_named_type (feature, "int8");
-  tdesc_create_vector (feature, "v16i8", element_type, 16);
-
-  tdesc_type_with_fields *type_with_fields;
-  type_with_fields = tdesc_create_union (feature, "vec128");
-  tdesc_type *field_type;
-  field_type = tdesc_named_type (feature, "uint128");
-  tdesc_add_field (type_with_fields, "uint128", field_type);
-  field_type = tdesc_named_type (feature, "v4f");
-  tdesc_add_field (type_with_fields, "v4_float", field_type);
-  field_type = tdesc_named_type (feature, "v4i32");
-  tdesc_add_field (type_with_fields, "v4_int32", field_type);
-  field_type = tdesc_named_type (feature, "v8i16");
-  tdesc_add_field (type_with_fields, "v8_int16", field_type);
-  field_type = tdesc_named_type (feature, "v16i8");
-  tdesc_add_field (type_with_fields, "v16_int8", field_type);
-
-  tdesc_create_reg (feature, "vr0", 73, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr1", 74, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr2", 75, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr3", 76, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr4", 77, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr5", 78, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr6", 79, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr7", 80, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr8", 81, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr9", 82, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr10", 83, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr11", 84, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr12", 85, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr13", 86, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr14", 87, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr15", 88, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr16", 89, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr17", 90, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr18", 91, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr19", 92, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr20", 93, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr21", 94, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr22", 95, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr23", 96, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr24", 97, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr25", 98, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr26", 99, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr27", 100, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr28", 101, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr29", 102, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr30", 103, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr31", 104, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vscr", 105, 1, "vector", 32, "int");
-  tdesc_create_reg (feature, "vrsave", 106, 1, "vector", 32, "int");
-
-  tdesc_powerpc_cell32l = result;
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/features/rs6000/powerpc-cell32l.xml ./gdb/features/rs6000/powerpc-cell32l.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/features/rs6000/powerpc-cell32l.xml	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-cell32l.xml	1970-01-01 00:00:00.000000000 +0000
@@ -1,19 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 2009-2019 Free Software Foundation, Inc.
-
-     Copying and distribution of this file, with or without modification,
-     are permitted in any medium without royalty provided the copyright
-     notice and this notice are preserved.  -->
-
-<!-- Cell/B.E. architecture.  Identical to the PowerPC 32-bit Linux UISA,
-     but adds support for the SPU as compatible architecture.  -->
-
-<!DOCTYPE target SYSTEM "gdb-target.dtd">
-<target>
-  <architecture>powerpc:common</architecture>
-  <compatible>spu</compatible>
-  <xi:include href="power-core.xml"/>
-  <xi:include href="power-fpu.xml"/>
-  <xi:include href="power-linux.xml"/>
-  <xi:include href="power-altivec.xml"/>
-</target>
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/features/rs6000/powerpc-cell64l.c ./gdb/features/rs6000/powerpc-cell64l.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/features/rs6000/powerpc-cell64l.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-cell64l.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,162 +0,0 @@
-/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
-  Original: powerpc-cell64l.xml */
-
-#include "defs.h"
-#include "osabi.h"
-#include "target-descriptions.h"
-
-struct target_desc *tdesc_powerpc_cell64l;
-static void
-initialize_tdesc_powerpc_cell64l (void)
-{
-  struct target_desc *result = allocate_target_description ();
-  set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common64"));
-
-  tdesc_add_compatible (result, bfd_scan_arch ("spu:256K"));
-
-  struct tdesc_feature *feature;
-
-  feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
-  tdesc_create_reg (feature, "r0", 0, 1, NULL, 64, "uint64");
-  tdesc_create_reg (feature, "r1", 1, 1, NULL, 64, "uint64");
-  tdesc_create_reg (feature, "r2", 2, 1, NULL, 64, "uint64");
-  tdesc_create_reg (feature, "r3", 3, 1, NULL, 64, "uint64");
-  tdesc_create_reg (feature, "r4", 4, 1, NULL, 64, "uint64");
-  tdesc_create_reg (feature, "r5", 5, 1, NULL, 64, "uint64");
-  tdesc_create_reg (feature, "r6", 6, 1, NULL, 64, "uint64");
-  tdesc_create_reg (feature, "r7", 7, 1, NULL, 64, "uint64");
-  tdesc_create_reg (feature, "r8", 8, 1, NULL, 64, "uint64");
-  tdesc_create_reg (feature, "r9", 9, 1, NULL, 64, "uint64");
-  tdesc_create_reg (feature, "r10", 10, 1, NULL, 64, "uint64");
-  tdesc_create_reg (feature, "r11", 11, 1, NULL, 64, "uint64");
-  tdesc_create_reg (feature, "r12", 12, 1, NULL, 64, "uint64");
-  tdesc_create_reg (feature, "r13", 13, 1, NULL, 64, "uint64");
-  tdesc_create_reg (feature, "r14", 14, 1, NULL, 64, "uint64");
-  tdesc_create_reg (feature, "r15", 15, 1, NULL, 64, "uint64");
-  tdesc_create_reg (feature, "r16", 16, 1, NULL, 64, "uint64");
-  tdesc_create_reg (feature, "r17", 17, 1, NULL, 64, "uint64");
-  tdesc_create_reg (feature, "r18", 18, 1, NULL, 64, "uint64");
-  tdesc_create_reg (feature, "r19", 19, 1, NULL, 64, "uint64");
-  tdesc_create_reg (feature, "r20", 20, 1, NULL, 64, "uint64");
-  tdesc_create_reg (feature, "r21", 21, 1, NULL, 64, "uint64");
-  tdesc_create_reg (feature, "r22", 22, 1, NULL, 64, "uint64");
-  tdesc_create_reg (feature, "r23", 23, 1, NULL, 64, "uint64");
-  tdesc_create_reg (feature, "r24", 24, 1, NULL, 64, "uint64");
-  tdesc_create_reg (feature, "r25", 25, 1, NULL, 64, "uint64");
-  tdesc_create_reg (feature, "r26", 26, 1, NULL, 64, "uint64");
-  tdesc_create_reg (feature, "r27", 27, 1, NULL, 64, "uint64");
-  tdesc_create_reg (feature, "r28", 28, 1, NULL, 64, "uint64");
-  tdesc_create_reg (feature, "r29", 29, 1, NULL, 64, "uint64");
-  tdesc_create_reg (feature, "r30", 30, 1, NULL, 64, "uint64");
-  tdesc_create_reg (feature, "r31", 31, 1, NULL, 64, "uint64");
-  tdesc_create_reg (feature, "pc", 64, 1, NULL, 64, "code_ptr");
-  tdesc_create_reg (feature, "msr", 65, 1, NULL, 64, "uint64");
-  tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "lr", 67, 1, NULL, 64, "code_ptr");
-  tdesc_create_reg (feature, "ctr", 68, 1, NULL, 64, "uint64");
-  tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
-
-  feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
-  tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "fpscr", 70, 1, "float", 32, "int");
-
-  feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
-  tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 64, "int");
-  tdesc_create_reg (feature, "trap", 72, 1, NULL, 64, "int");
-
-  feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec");
-  tdesc_type *element_type;
-  element_type = tdesc_named_type (feature, "ieee_single");
-  tdesc_create_vector (feature, "v4f", element_type, 4);
-
-  element_type = tdesc_named_type (feature, "int32");
-  tdesc_create_vector (feature, "v4i32", element_type, 4);
-
-  element_type = tdesc_named_type (feature, "int16");
-  tdesc_create_vector (feature, "v8i16", element_type, 8);
-
-  element_type = tdesc_named_type (feature, "int8");
-  tdesc_create_vector (feature, "v16i8", element_type, 16);
-
-  tdesc_type_with_fields *type_with_fields;
-  type_with_fields = tdesc_create_union (feature, "vec128");
-  tdesc_type *field_type;
-  field_type = tdesc_named_type (feature, "uint128");
-  tdesc_add_field (type_with_fields, "uint128", field_type);
-  field_type = tdesc_named_type (feature, "v4f");
-  tdesc_add_field (type_with_fields, "v4_float", field_type);
-  field_type = tdesc_named_type (feature, "v4i32");
-  tdesc_add_field (type_with_fields, "v4_int32", field_type);
-  field_type = tdesc_named_type (feature, "v8i16");
-  tdesc_add_field (type_with_fields, "v8_int16", field_type);
-  field_type = tdesc_named_type (feature, "v16i8");
-  tdesc_add_field (type_with_fields, "v16_int8", field_type);
-
-  tdesc_create_reg (feature, "vr0", 73, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr1", 74, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr2", 75, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr3", 76, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr4", 77, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr5", 78, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr6", 79, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr7", 80, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr8", 81, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr9", 82, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr10", 83, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr11", 84, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr12", 85, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr13", 86, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr14", 87, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr15", 88, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr16", 89, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr17", 90, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr18", 91, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr19", 92, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr20", 93, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr21", 94, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr22", 95, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr23", 96, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr24", 97, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr25", 98, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr26", 99, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr27", 100, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr28", 101, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr29", 102, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr30", 103, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vr31", 104, 1, NULL, 128, "vec128");
-  tdesc_create_reg (feature, "vscr", 105, 1, "vector", 32, "int");
-  tdesc_create_reg (feature, "vrsave", 106, 1, "vector", 32, "int");
-
-  tdesc_powerpc_cell64l = result;
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/features/rs6000/powerpc-cell64l.xml ./gdb/features/rs6000/powerpc-cell64l.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/features/rs6000/powerpc-cell64l.xml	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/features/rs6000/powerpc-cell64l.xml	1970-01-01 00:00:00.000000000 +0000
@@ -1,19 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 2009-2019 Free Software Foundation, Inc.
-
-     Copying and distribution of this file, with or without modification,
-     are permitted in any medium without royalty provided the copyright
-     notice and this notice are preserved.  -->
-
-<!-- Cell/B.E. architecture.  Identical to the PowerPC 64-bit Linux UISA,
-     but adds support for the SPU as compatible architecture.  -->
-
-<!DOCTYPE target SYSTEM "gdb-target.dtd">
-<target>
-  <architecture>powerpc:common64</architecture>
-  <compatible>spu</compatible>
-  <xi:include href="power64-core.xml"/>
-  <xi:include href="power-fpu.xml"/>
-  <xi:include href="power64-linux.xml"/>
-  <xi:include href="power-altivec.xml"/>
-</target>
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/frame.h ./gdb/frame.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/frame.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/frame.h	2019-09-24 01:49:11.000000000 +0000
@@ -808,9 +808,9 @@ struct frame_print_options
   const char *print_frame_info = print_frame_info_auto;
   const char *print_entry_values = print_entry_values_default;
 
-  /* If non-zero, don't invoke pretty-printers for frame
+  /* If true, don't invoke pretty-printers for frame
      arguments.  */
-  int print_raw_frame_arguments;
+  bool print_raw_frame_arguments;
 };
 
 /* The values behind the global "set print ..." settings.  */
@@ -931,11 +931,11 @@ struct set_backtrace_options
 {
   /* Flag to indicate whether backtraces should continue past
      main.  */
-  int backtrace_past_main = 0;
+  bool backtrace_past_main = false;
 
   /* Flag to indicate whether backtraces should continue past
      entry.  */
-  int backtrace_past_entry = 0;
+  bool backtrace_past_entry = false;
 
   /* Upper bound on the number of backtrace levels.  Note this is not
      exposed as a command option, because "backtrace" and "frame
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gcore.c ./gdb/gcore.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gcore.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/gcore.c	2019-09-24 01:49:11.000000000 +0000
@@ -95,9 +95,9 @@ write_gcore_file_1 (bfd *obfd)
     error (_("Failed to create 'note' section for corefile: %s"),
 	   bfd_errmsg (bfd_get_error ()));
 
-  bfd_set_section_vma (obfd, note_sec, 0);
-  bfd_set_section_alignment (obfd, note_sec, 0);
-  bfd_set_section_size (obfd, note_sec, note_size);
+  bfd_set_section_vma (note_sec, 0);
+  bfd_set_section_alignment (note_sec, 0);
+  bfd_set_section_size (note_sec, note_size);
 
   /* Now create the memory/load sections.  */
   if (gcore_memory_sections (obfd) == 0)
@@ -332,11 +332,11 @@ derive_heap_segment (bfd *abfd, bfd_vma 
 
   for (sec = abfd->sections; sec; sec = sec->next)
     {
-      if (bfd_get_section_flags (abfd, sec) & SEC_DATA
-	  || strcmp (".bss", bfd_section_name (abfd, sec)) == 0)
+      if (bfd_section_flags (sec) & SEC_DATA
+	  || strcmp (".bss", bfd_section_name (sec)) == 0)
 	{
-	  sec_vaddr = bfd_get_section_vma (abfd, sec);
-	  sec_size = bfd_get_section_size (sec);
+	  sec_vaddr = bfd_section_vma (sec);
+	  sec_size = bfd_section_size (sec);
 	  if (sec_vaddr + sec_size > top_of_data_memory)
 	    top_of_data_memory = sec_vaddr + sec_size;
 	}
@@ -365,17 +365,17 @@ make_output_phdrs (bfd *obfd, asection *
   int p_type = 0;
 
   /* FIXME: these constants may only be applicable for ELF.  */
-  if (startswith (bfd_section_name (obfd, osec), "load"))
+  if (startswith (bfd_section_name (osec), "load"))
     p_type = PT_LOAD;
-  else if (startswith (bfd_section_name (obfd, osec), "note"))
+  else if (startswith (bfd_section_name (osec), "note"))
     p_type = PT_NOTE;
   else
     p_type = PT_NULL;
 
   p_flags |= PF_R;	/* Segment is readable.  */
-  if (!(bfd_get_section_flags (obfd, osec) & SEC_READONLY))
+  if (!(bfd_section_flags (osec) & SEC_READONLY))
     p_flags |= PF_W;	/* Segment is writable.  */
-  if (bfd_get_section_flags (obfd, osec) & SEC_CODE)
+  if (bfd_section_flags (osec) & SEC_CODE)
     p_flags |= PF_X;	/* Segment is executable.  */
 
   bfd_record_phdr (obfd, p_type, 1, p_flags, 0, 0, 0, 0, 1, &osec);
@@ -417,8 +417,7 @@ gcore_create_callback (CORE_ADDR vaddr, 
 	  {
 	    bfd *abfd = objfile->obfd;
 	    asection *asec = objsec->the_bfd_section;
-	    bfd_vma align = (bfd_vma) 1 << bfd_get_section_alignment (abfd,
-								      asec);
+	    bfd_vma align = (bfd_vma) 1 << bfd_section_alignment (asec);
 	    bfd_vma start = obj_section_addr (objsec) & -align;
 	    bfd_vma end = (obj_section_endaddr (objsec) + align - 1) & -align;
 
@@ -464,9 +463,9 @@ gcore_create_callback (CORE_ADDR vaddr, 
 			plongest (size), paddress (target_gdbarch (), vaddr));
     }
 
-  bfd_set_section_size (obfd, osec, size);
-  bfd_set_section_vma (obfd, osec, vaddr);
-  bfd_section_lma (obfd, osec) = 0; /* ??? bfd_set_section_lma?  */
+  bfd_set_section_size (osec, size);
+  bfd_set_section_vma (osec, vaddr);
+  bfd_set_section_lma (osec, 0);
   return 0;
 }
 
@@ -482,9 +481,8 @@ objfile_find_memory_regions (struct targ
   for (objfile *objfile : current_program_space->objfiles ())
     ALL_OBJFILE_OSECTIONS (objfile, objsec)
       {
-	bfd *ibfd = objfile->obfd;
 	asection *isec = objsec->the_bfd_section;
-	flagword flags = bfd_get_section_flags (ibfd, isec);
+	flagword flags = bfd_section_flags (isec);
 
 	/* Separate debug info files are irrelevant for gcore.  */
 	if (objfile->separate_debug_objfile_backlink != NULL)
@@ -492,7 +490,7 @@ objfile_find_memory_regions (struct targ
 
 	if ((flags & SEC_ALLOC) || (flags & SEC_LOAD))
 	  {
-	    int size = bfd_section_size (ibfd, isec);
+	    int size = bfd_section_size (isec);
 	    int ret;
 
 	    ret = (*func) (obj_section_addr (objsec), size, 
@@ -530,15 +528,15 @@ objfile_find_memory_regions (struct targ
 static void
 gcore_copy_callback (bfd *obfd, asection *osec, void *ignored)
 {
-  bfd_size_type size, total_size = bfd_section_size (obfd, osec);
+  bfd_size_type size, total_size = bfd_section_size (osec);
   file_ptr offset = 0;
 
   /* Read-only sections are marked; we don't have to copy their contents.  */
-  if ((bfd_get_section_flags (obfd, osec) & SEC_LOAD) == 0)
+  if ((bfd_section_flags (osec) & SEC_LOAD) == 0)
     return;
 
   /* Only interested in "load" sections.  */
-  if (!startswith (bfd_section_name (obfd, osec), "load"))
+  if (!startswith (bfd_section_name (osec), "load"))
     return;
 
   size = std::min (total_size, (bfd_size_type) MAX_COPY_BYTES);
@@ -549,13 +547,13 @@ gcore_copy_callback (bfd *obfd, asection
       if (size > total_size)
 	size = total_size;
 
-      if (target_read_memory (bfd_section_vma (obfd, osec) + offset,
+      if (target_read_memory (bfd_section_vma (osec) + offset,
 			      memhunk.data (), size) != 0)
 	{
 	  warning (_("Memory read failed for corefile "
 		     "section, %s bytes at %s."),
 		   plongest (size),
-		   paddress (target_gdbarch (), bfd_section_vma (obfd, osec)));
+		   paddress (target_gdbarch (), bfd_section_vma (osec)));
 	  break;
 	}
       if (!bfd_set_section_contents (obfd, osec, memhunk.data (),
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdb_bfd.c ./gdb/gdb_bfd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdb_bfd.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/gdb_bfd.c	2019-09-24 01:49:11.000000000 +0000
@@ -137,7 +137,7 @@ static htab_t gdb_bfd_cache;
 /* When true gdb will reuse an existing bfd object if the filename,
    modification time, and file size all match.  */
 
-static int bfd_sharing = 1;
+static bool bfd_sharing = true;
 static void
 show_bfd_sharing  (struct ui_file *file, int from_tty,
 		   struct cmd_list_element *c, const char *value)
@@ -480,7 +480,7 @@ static void
 free_one_bfd_section (bfd *abfd, asection *sectp, void *ignore)
 {
   struct gdb_bfd_section_data *sect
-    = (struct gdb_bfd_section_data *) bfd_get_section_userdata (abfd, sectp);
+    = (struct gdb_bfd_section_data *) bfd_section_userdata (sectp);
 
   if (sect != NULL && sect->data != NULL)
     {
@@ -546,7 +546,7 @@ gdb_bfd_ref (struct bfd *abfd)
   abfd->flags |= BFD_DECOMPRESS;
 
   gdata = new gdb_bfd_data (abfd);
-  bfd_usrdata (abfd) = gdata;
+  bfd_set_usrdata (abfd, gdata);
   bfd_alloc_data (abfd);
 
   /* This is the first we've seen it, so add it to the hash table.  */
@@ -608,7 +608,7 @@ gdb_bfd_unref (struct bfd *abfd)
 
   bfd_free_data (abfd);
   delete gdata;
-  bfd_usrdata (abfd) = NULL;  /* Paranoia.  */
+  bfd_set_usrdata (abfd, NULL);  /* Paranoia.  */
 
   htab_remove_elt (all_bfds, abfd);
 
@@ -626,14 +626,13 @@ get_section_descriptor (asection *sectio
 {
   struct gdb_bfd_section_data *result;
 
-  result = ((struct gdb_bfd_section_data *)
-	    bfd_get_section_userdata (section->owner, section));
+  result = (struct gdb_bfd_section_data *) bfd_section_userdata (section);
 
   if (result == NULL)
     {
       result = ((struct gdb_bfd_section_data *)
 		bfd_zalloc (section->owner, sizeof (*result)));
-      bfd_set_section_userdata (section->owner, section, result);
+      bfd_set_section_userdata (section, result);
     }
 
   return result;
@@ -671,9 +670,9 @@ gdb_bfd_map_section (asection *sectp, bf
       /* Only try to mmap sections which are large enough: we don't want
 	 to waste space due to fragmentation.  */
 
-      if (bfd_get_section_size (sectp) > 4 * pagesize)
+      if (bfd_section_size (sectp) > 4 * pagesize)
 	{
-	  descriptor->size = bfd_get_section_size (sectp);
+	  descriptor->size = bfd_section_size (sectp);
 	  descriptor->data = bfd_mmap (abfd, 0, descriptor->size, PROT_READ,
 				       MAP_PRIVATE, sectp->filepos,
 				       &descriptor->map_addr,
@@ -697,14 +696,14 @@ gdb_bfd_map_section (asection *sectp, bf
   /* Handle compressed sections, or ordinary uncompressed sections in
      the no-mmap case.  */
 
-  descriptor->size = bfd_get_section_size (sectp);
+  descriptor->size = bfd_section_size (sectp);
   descriptor->data = NULL;
 
   data = NULL;
   if (!bfd_get_full_section_contents (abfd, sectp, &data))
     {
       warning (_("Can't read data for section '%s' in file '%s'"),
-	       bfd_get_section_name (abfd, sectp),
+	       bfd_section_name (sectp),
 	       bfd_get_filename (abfd));
       /* Set size to 0 to prevent further attempts to read the invalid
 	 section.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdb_bfd.h ./gdb/gdb_bfd.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdb_bfd.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/gdb_bfd.h	2019-09-24 01:49:11.000000000 +0000
@@ -106,7 +106,7 @@ void gdb_bfd_record_inclusion (bfd *incl
 
 /* Try to read or map the contents of the section SECT.  If successful, the
    section data is returned and *SIZE is set to the size of the section data;
-   this may not be the same as the size according to bfd_get_section_size if the
+   this may not be the same as the size according to bfd_section_size if the
    section was compressed.  The returned section data is associated with the BFD
    and will be destroyed when the BFD is destroyed.  There is no other way to
    free it; for temporary uses of section data, see bfd_malloc_and_get_section.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbcore.h ./gdb/gdbcore.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbcore.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/gdbcore.h	2019-09-24 01:49:11.000000000 +0000
@@ -137,7 +137,7 @@ extern void specify_exec_file_hook (void
 
 /* Whether to open exec and core files read-only or read-write.  */
 
-extern int write_files;
+extern bool write_files;
 
 /* Open and set up the core file bfd.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdb-demangle.h ./gdb/gdb-demangle.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdb-demangle.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/gdb-demangle.h	2019-09-24 01:49:11.000000000 +0000
@@ -19,14 +19,14 @@
 #ifndef GDB_DEMANGLE_H
 #define GDB_DEMANGLE_H
 
-/* Nonzero means that encoded C++/ObjC names should be printed out in their
+/* True means that encoded C++/ObjC names should be printed out in their
    C++/ObjC form rather than raw.  */
-extern int demangle;
+extern bool demangle;
 
-/* Nonzero means that encoded C++/ObjC names should be printed out in their
+/* True means that encoded C++/ObjC names should be printed out in their
    C++/ObjC form even in assembler language displays.  If this is set, but
-   DEMANGLE is zero, names are printed raw, i.e. DEMANGLE controls.  */
-extern int asm_demangle;
+   DEMANGLE is false, names are printed raw, i.e. DEMANGLE controls.  */
+extern bool asm_demangle;
 
 /* Check if a character is one of the commonly used C++ marker characters.  */
 extern int is_cplus_marker (int);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbserver/ChangeLog ./gdb/gdbserver/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbserver/ChangeLog	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/gdbserver/ChangeLog	2019-09-24 01:49:11.000000000 +0000
@@ -1,3 +1,54 @@
+2019-09-20  Christian Biesinger  <cbiesinger@google.com>
+
+	* debug.c (debug_threads): Remove comment in favor of the header.
+	* debug.h (using_threads): Add declaration.
+	(debug_threads): Add comment.
+	* linux-aarch64-low.c: Include debug.h and remove declaration of
+	debug_threads.
+	* nto-low.c: Likewise.
+	* remote-utils.c: Likewise.
+	* thread-db.c: Likewise.
+
+2019-09-20  Ulrich Weigand  <uweigand@de.ibm.com>
+
+	* configure.srv (ipa_ppc_linux_regobj): Remove powerpc-cell32l-ipa.o
+	and powerpc-cell64l-ipa.o.
+	(powerpc*-*-linux*): Remove powerpc-cell32l.o and powerpc-cell64l.o
+	from srv_regobj.  Remove rs6000/powerpc-cell32l.xml and
+	rs6000/powerpc-cell64l.xml from srv_xmlfiles.
+	(spu*-*-*): Remove.
+
+	* spu-low.c: Remove file.
+
+	* linux-ppc-low.c (INSTR_SC, NR_spu_run): Remove.
+	(parse_spufs_run): Remove.
+	(ppc_get_pc): Remove Cell/B.E. support.
+	(ppc_set_pc): Likewise.
+	(ppc_breakpoint_at): Likewise.
+	(ppc_arch_setup): Likewise.
+	(ppc_get_ipa_tdesc_idx): Do not handle tdesc_powerpc_cell64l or
+	tdesc_powerpc_cell32l.
+	(initialize_low_arch): Do not call init_registers_powerpc_cell64l
+	or init_registers_powerpc_cell32l.
+	* linux-ppc-ipa.c (get_ipa_tdesc): Do not handle PPC_TDESC_CELL.
+	(initialize_low_tracepoint): Do not call init_registers_powerpc_cell64l
+	or init_registers_powerpc_cell32l.
+	* linux-ppc-tdesc-init.h (PPC_TDESC_CELL): Mark as unused.
+	(init_registers_powerpc_cell32l): Remove prototype.
+	(init_registers_powerpc_cell64l): Likewise.
+
+	* target.h (struct target_ops): Remove qxfer_spu member.
+	* server.c (handle_qxfer_spu): Remove.
+	(qxfer_packets): Remove entry for "spu".
+	(handle_query): No longer support qXfer:spu:read or qXfer:spu:write.
+	* linux-low.c (SPUFS_MAGIC): Remove.
+	(spu_enumerate_spu_ids): Remove.
+	(linux_qxfer_spu): Remove.
+	(linux_target_ops): Remove qxfer_spu member.
+	* lynx-low.c (lynx_target_ops): Remove qxfer_spu member.
+	* nto-low.c (nto_target_ops): Remove qxfer_spu member.
+	* win32-low.c (win32_target_ops): Remove qxfer_spu member.
+
 2019-08-23  Sergio Durigan Junior  <sergiodj@redhat.com>
 
 	* Makefile.in (SFILES): Add 'gdbsupport/gdb-dlfcn.c'.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbserver/configure.srv ./gdb/gdbserver/configure.srv
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbserver/configure.srv	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/gdbserver/configure.srv	2019-09-24 01:49:11.000000000 +0000
@@ -24,7 +24,7 @@
 # Default hostio_last_error implementation
 srv_hostio_err_objs="hostio-errno.o"
 
-ipa_ppc_linux_regobj="powerpc-32l-ipa.o powerpc-altivec32l-ipa.o powerpc-cell32l-ipa.o powerpc-vsx32l-ipa.o powerpc-isa205-32l-ipa.o powerpc-isa205-altivec32l-ipa.o powerpc-isa205-vsx32l-ipa.o powerpc-isa205-ppr-dscr-vsx32l-ipa.o powerpc-isa207-vsx32l-ipa.o powerpc-isa207-htm-vsx32l-ipa.o powerpc-e500l-ipa.o powerpc-64l-ipa.o powerpc-altivec64l-ipa.o powerpc-cell64l-ipa.o powerpc-vsx64l-ipa.o powerpc-isa205-64l-ipa.o powerpc-isa205-altivec64l-ipa.o powerpc-isa205-vsx64l-ipa.o powerpc-isa205-ppr-dscr-vsx64l-ipa.o powerpc-isa207-vsx64l-ipa.o powerpc-isa207-htm-vsx64l-ipa.o"
+ipa_ppc_linux_regobj="powerpc-32l-ipa.o powerpc-altivec32l-ipa.o powerpc-vsx32l-ipa.o powerpc-isa205-32l-ipa.o powerpc-isa205-altivec32l-ipa.o powerpc-isa205-vsx32l-ipa.o powerpc-isa205-ppr-dscr-vsx32l-ipa.o powerpc-isa207-vsx32l-ipa.o powerpc-isa207-htm-vsx32l-ipa.o powerpc-e500l-ipa.o powerpc-64l-ipa.o powerpc-altivec64l-ipa.o powerpc-vsx64l-ipa.o powerpc-isa205-64l-ipa.o powerpc-isa205-altivec64l-ipa.o powerpc-isa205-vsx64l-ipa.o powerpc-isa205-ppr-dscr-vsx64l-ipa.o powerpc-isa207-vsx64l-ipa.o powerpc-isa207-htm-vsx64l-ipa.o"
 
 # Linux object files.  This is so we don't have to repeat
 # these files over and over again.
@@ -186,7 +186,6 @@ case "${target}" in
 			;;
   powerpc*-*-linux*)	srv_regobj="powerpc-32l.o"
 			srv_regobj="${srv_regobj} powerpc-altivec32l.o"
-			srv_regobj="${srv_regobj} powerpc-cell32l.o"
 			srv_regobj="${srv_regobj} powerpc-vsx32l.o"
 			srv_regobj="${srv_regobj} powerpc-isa205-32l.o"
 			srv_regobj="${srv_regobj} powerpc-isa205-altivec32l.o"
@@ -197,7 +196,6 @@ case "${target}" in
 			srv_regobj="${srv_regobj} powerpc-e500l.o"
 			srv_regobj="${srv_regobj} powerpc-64l.o"
 			srv_regobj="${srv_regobj} powerpc-altivec64l.o"
-			srv_regobj="${srv_regobj} powerpc-cell64l.o"
 			srv_regobj="${srv_regobj} powerpc-vsx64l.o"
 			srv_regobj="${srv_regobj} powerpc-isa205-64l.o"
 			srv_regobj="${srv_regobj} powerpc-isa205-altivec64l.o"
@@ -209,7 +207,6 @@ case "${target}" in
 			srv_tgtobj="${srv_tgtobj} arch/ppc-linux-common.o"
 			srv_xmlfiles="rs6000/powerpc-32l.xml"
 			srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-altivec32l.xml"
-			srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-cell32l.xml"
 			srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-vsx32l.xml"
 			srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-32l.xml"
 			srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-altivec32l.xml"
@@ -240,7 +237,6 @@ case "${target}" in
 			srv_xmlfiles="${srv_xmlfiles} rs6000/power-spe.xml"
 			srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-64l.xml"
 			srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-altivec64l.xml"
-			srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-cell64l.xml"
 			srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-vsx64l.xml"
 			srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-64l.xml"
 			srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-altivec64l.xml"
@@ -340,9 +336,6 @@ case "${target}" in
 			srv_linux_regsets=yes
 			srv_linux_thread_db=yes
 			;;
-  spu*-*-*)		srv_regobj=reg-spu.o
-			srv_tgtobj="spu-low.o fork-child.o fork-inferior.o"
-			;;
   tic6x-*-uclinux)	if $development; then
 			  srv_regobj="tic6x-c64xp-linux.o"
 			  srv_regobj="${srv_regobj} tic6x-c64x-linux.o"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbserver/debug.c ./gdb/gdbserver/debug.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbserver/debug.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/gdbserver/debug.c	2019-09-24 01:49:11.000000000 +0000
@@ -26,8 +26,7 @@ int remote_debug = 0;
 /* Output file for debugging.  Default to standard error.  */
 FILE *debug_file = stderr;
 
-/* Enable miscellaneous debugging output.  The name is historical - it
-   was originally used to debug LinuxThreads support.  */
+/* See debug.h.  */
 int debug_threads;
 
 /* Include timestamps in debugging output.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbserver/debug.h ./gdb/gdbserver/debug.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbserver/debug.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/gdbserver/debug.h	2019-09-24 01:49:11.000000000 +0000
@@ -28,7 +28,13 @@ extern int remote_debug;
 void debug_set_output (const char *debug_file);
 #endif
 
+extern int using_threads;
+
+/* Enable miscellaneous debugging output.  The name is historical - it
+   was originally used to debug LinuxThreads support.  */
+
 extern int debug_threads;
+
 extern int debug_timestamp;
 
 void debug_flush (void);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbserver/linux-aarch64-low.c ./gdb/gdbserver/linux-aarch64-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbserver/linux-aarch64-low.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/gdbserver/linux-aarch64-low.c	2019-09-24 01:49:11.000000000 +0000
@@ -28,6 +28,7 @@
 #include "elf/common.h"
 #include "ax.h"
 #include "tracepoint.h"
+#include "debug.h"
 
 #include <signal.h>
 #include <sys/user.h>
@@ -153,10 +154,6 @@ aarch64_store_pauthregset (struct regcac
 		   &pauth_regset[1]);
 }
 
-/* Enable miscellaneous debugging output.  The name is historical - it
-   was originally used to debug LinuxThreads support.  */
-extern int debug_threads;
-
 /* Implementation of linux_target_ops method "get_pc".  */
 
 static CORE_ADDR
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbserver/linux-low.c ./gdb/gdbserver/linux-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbserver/linux-low.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/gdbserver/linux-low.c	2019-09-24 01:49:11.000000000 +0000
@@ -60,10 +60,6 @@
 #endif
 #include "nat/linux-namespaces.h"
 
-#ifndef SPUFS_MAGIC
-#define SPUFS_MAGIC 0x23c9b64e
-#endif
-
 #ifdef HAVE_PERSONALITY
 # include <sys/personality.h>
 # if !HAVE_DECL_ADDR_NO_RANDOMIZE
@@ -6358,99 +6354,6 @@ linux_supports_range_stepping (void)
   return (*the_low_target.supports_range_stepping) ();
 }
 
-/* Enumerate spufs IDs for process PID.  */
-static int
-spu_enumerate_spu_ids (long pid, unsigned char *buf, CORE_ADDR offset, int len)
-{
-  int pos = 0;
-  int written = 0;
-  char path[128];
-  DIR *dir;
-  struct dirent *entry;
-
-  sprintf (path, "/proc/%ld/fd", pid);
-  dir = opendir (path);
-  if (!dir)
-    return -1;
-
-  rewinddir (dir);
-  while ((entry = readdir (dir)) != NULL)
-    {
-      struct stat st;
-      struct statfs stfs;
-      int fd;
-
-      fd = atoi (entry->d_name);
-      if (!fd)
-        continue;
-
-      sprintf (path, "/proc/%ld/fd/%d", pid, fd);
-      if (stat (path, &st) != 0)
-        continue;
-      if (!S_ISDIR (st.st_mode))
-        continue;
-
-      if (statfs (path, &stfs) != 0)
-        continue;
-      if (stfs.f_type != SPUFS_MAGIC)
-        continue;
-
-      if (pos >= offset && pos + 4 <= offset + len)
-        {
-          *(unsigned int *)(buf + pos - offset) = fd;
-          written += 4;
-        }
-      pos += 4;
-    }
-
-  closedir (dir);
-  return written;
-}
-
-/* Implements the to_xfer_partial interface for the TARGET_OBJECT_SPU
-   object type, using the /proc file system.  */
-static int
-linux_qxfer_spu (const char *annex, unsigned char *readbuf,
-		 unsigned const char *writebuf,
-		 CORE_ADDR offset, int len)
-{
-  long pid = lwpid_of (current_thread);
-  char buf[128];
-  int fd = 0;
-  int ret = 0;
-
-  if (!writebuf && !readbuf)
-    return -1;
-
-  if (!*annex)
-    {
-      if (!readbuf)
-	return -1;
-      else
-	return spu_enumerate_spu_ids (pid, readbuf, offset, len);
-    }
-
-  sprintf (buf, "/proc/%ld/fd/%s", pid, annex);
-  fd = open (buf, writebuf? O_WRONLY : O_RDONLY);
-  if (fd <= 0)
-    return -1;
-
-  if (offset != 0
-      && lseek (fd, (off_t) offset, SEEK_SET) != (off_t) offset)
-    {
-      close (fd);
-      return 0;
-    }
-
-  if (writebuf)
-    ret = write (fd, writebuf, (size_t) len);
-  else
-    ret = read (fd, readbuf, (size_t) len);
-
-  close (fd);
-  return ret;
-}
-
 #if defined PT_GETDSBT || defined PTRACE_GETFDPIC
 struct target_loadseg
 {
@@ -7496,7 +7399,6 @@ static struct target_ops linux_target_op
 #else
   NULL,
 #endif
-  linux_qxfer_spu,
   hostio_last_error_from_errno,
   linux_qxfer_osdata,
   linux_xfer_siginfo,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbserver/linux-ppc-ipa.c ./gdb/gdbserver/linux-ppc-ipa.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbserver/linux-ppc-ipa.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/gdbserver/linux-ppc-ipa.c	2019-09-24 01:49:11.000000000 +0000
@@ -181,8 +181,6 @@ get_ipa_tdesc (int idx)
       return tdesc_powerpc_64l;
     case PPC_TDESC_ALTIVEC:
       return tdesc_powerpc_altivec64l;
-    case PPC_TDESC_CELL:
-      return tdesc_powerpc_cell64l;
     case PPC_TDESC_VSX:
       return tdesc_powerpc_vsx64l;
     case PPC_TDESC_ISA205:
@@ -202,8 +200,6 @@ get_ipa_tdesc (int idx)
       return tdesc_powerpc_32l;
     case PPC_TDESC_ALTIVEC:
       return tdesc_powerpc_altivec32l;
-    case PPC_TDESC_CELL:
-      return tdesc_powerpc_cell32l;
     case PPC_TDESC_VSX:
       return tdesc_powerpc_vsx32l;
     case PPC_TDESC_ISA205:
@@ -241,7 +237,6 @@ initialize_low_tracepoint (void)
 #ifdef __powerpc64__
   init_registers_powerpc_64l ();
   init_registers_powerpc_altivec64l ();
-  init_registers_powerpc_cell64l ();
   init_registers_powerpc_vsx64l ();
   init_registers_powerpc_isa205_64l ();
   init_registers_powerpc_isa205_altivec64l ();
@@ -252,7 +247,6 @@ initialize_low_tracepoint (void)
 #else
   init_registers_powerpc_32l ();
   init_registers_powerpc_altivec32l ();
-  init_registers_powerpc_cell32l ();
   init_registers_powerpc_vsx32l ();
   init_registers_powerpc_isa205_32l ();
   init_registers_powerpc_isa205_altivec32l ();
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbserver/linux-ppc-low.c ./gdb/gdbserver/linux-ppc-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbserver/linux-ppc-low.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/gdbserver/linux-ppc-low.c	2019-09-24 01:49:11.000000000 +0000
@@ -220,73 +220,10 @@ ppc_supply_ptrace_register (struct regca
     perror_with_name ("Unexpected byte order");
 }
 
-
-#define INSTR_SC        0x44000002
-#define NR_spu_run      0x0116
-
-/* If the PPU thread is currently stopped on a spu_run system call,
-   return to FD and ADDR the file handle and NPC parameter address
-   used with the system call.  Return non-zero if successful.  */
-static int
-parse_spufs_run (struct regcache *regcache, int *fd, CORE_ADDR *addr)
-{
-  CORE_ADDR curr_pc;
-  int curr_insn;
-  int curr_r0;
-
-  if (register_size (regcache->tdesc, 0) == 4)
-    {
-      unsigned int pc, r0, r3, r4;
-      collect_register_by_name (regcache, "pc", &pc);
-      collect_register_by_name (regcache, "r0", &r0);
-      collect_register_by_name (regcache, "orig_r3", &r3);
-      collect_register_by_name (regcache, "r4", &r4);
-      curr_pc = (CORE_ADDR) pc;
-      curr_r0 = (int) r0;
-      *fd = (int) r3;
-      *addr = (CORE_ADDR) r4;
-    }
-  else
-    {
-      unsigned long pc, r0, r3, r4;
-      collect_register_by_name (regcache, "pc", &pc);
-      collect_register_by_name (regcache, "r0", &r0);
-      collect_register_by_name (regcache, "orig_r3", &r3);
-      collect_register_by_name (regcache, "r4", &r4);
-      curr_pc = (CORE_ADDR) pc;
-      curr_r0 = (int) r0;
-      *fd = (int) r3;
-      *addr = (CORE_ADDR) r4;
-    }
-
-  /* Fetch instruction preceding current NIP.  */
-  if ((*the_target->read_memory) (curr_pc - 4,
-				  (unsigned char *) &curr_insn, 4) != 0)
-    return 0;
-  /* It should be a "sc" instruction.  */
-  if (curr_insn != INSTR_SC)
-    return 0;
-  /* System call number should be NR_spu_run.  */
-  if (curr_r0 != NR_spu_run)
-    return 0;
-
-  return 1;
-}
-
 static CORE_ADDR
 ppc_get_pc (struct regcache *regcache)
 {
-  CORE_ADDR addr;
-  int fd;
-
-  if (parse_spufs_run (regcache, &fd, &addr))
-    {
-      unsigned int pc;
-      (*the_target->read_memory) (addr, (unsigned char *) &pc, 4);
-      return ((CORE_ADDR)1 << 63)
-	| ((CORE_ADDR)fd << 32) | (CORE_ADDR) (pc - 4);
-    }
-  else if (register_size (regcache->tdesc, 0) == 4)
+  if (register_size (regcache->tdesc, 0) == 4)
     {
       unsigned int pc;
       collect_register_by_name (regcache, "pc", &pc);
@@ -303,15 +240,7 @@ ppc_get_pc (struct regcache *regcache)
 static void
 ppc_set_pc (struct regcache *regcache, CORE_ADDR pc)
 {
-  CORE_ADDR addr;
-  int fd;
-
-  if (parse_spufs_run (regcache, &fd, &addr))
-    {
-      unsigned int newpc = pc;
-      (*the_target->write_memory) (addr, (unsigned char *) &newpc, 4);
-    }
-  else if (register_size (regcache->tdesc, 0) == 4)
+  if (register_size (regcache->tdesc, 0) == 4)
     {
       unsigned int newpc = pc;
       supply_register_by_name (regcache, "pc", &newpc);
@@ -348,23 +277,11 @@ ppc_breakpoint_at (CORE_ADDR where)
 {
   unsigned int insn;
 
-  if (where & ((CORE_ADDR)1 << 63))
-    {
-      char mem_annex[32];
-      sprintf (mem_annex, "%d/mem", (int)((where >> 32) & 0x7fffffff));
-      (*the_target->qxfer_spu) (mem_annex, (unsigned char *) &insn,
-				NULL, where & 0xffffffff, 4);
-      if (insn == 0x3fff)
-	return 1;
-    }
-  else
-    {
-      (*the_target->read_memory) (where, (unsigned char *) &insn, 4);
-      if (insn == ppc_breakpoint)
-	return 1;
-      /* If necessary, recognize more trap instructions here.  GDB only uses
-	 the one.  */
-    }
+  (*the_target->read_memory) (where, (unsigned char *) &insn, 4);
+  if (insn == ppc_breakpoint)
+    return 1;
+  /* If necessary, recognize more trap instructions here.  GDB only uses
+     the one.  */
 
   return 0;
 }
@@ -941,9 +858,6 @@ ppc_arch_setup (void)
 	}
     }
 
-  if (ppc_hwcap & PPC_FEATURE_CELL)
-    features.cell = true;
-
   tdesc = ppc_linux_match_description (features);
 
   /* On 32-bit machines, check for SPE registers.
@@ -3416,8 +3330,6 @@ ppc_get_ipa_tdesc_idx (void)
     return PPC_TDESC_BASE;
   if (tdesc == tdesc_powerpc_altivec64l)
     return PPC_TDESC_ALTIVEC;
-  if (tdesc == tdesc_powerpc_cell64l)
-    return PPC_TDESC_CELL;
   if (tdesc == tdesc_powerpc_vsx64l)
     return PPC_TDESC_VSX;
   if (tdesc == tdesc_powerpc_isa205_64l)
@@ -3438,8 +3350,6 @@ ppc_get_ipa_tdesc_idx (void)
     return PPC_TDESC_BASE;
   if (tdesc == tdesc_powerpc_altivec32l)
     return PPC_TDESC_ALTIVEC;
-  if (tdesc == tdesc_powerpc_cell32l)
-    return PPC_TDESC_CELL;
   if (tdesc == tdesc_powerpc_vsx32l)
     return PPC_TDESC_VSX;
   if (tdesc == tdesc_powerpc_isa205_32l)
@@ -3507,7 +3417,6 @@ initialize_low_arch (void)
 
   init_registers_powerpc_32l ();
   init_registers_powerpc_altivec32l ();
-  init_registers_powerpc_cell32l ();
   init_registers_powerpc_vsx32l ();
   init_registers_powerpc_isa205_32l ();
   init_registers_powerpc_isa205_altivec32l ();
@@ -3519,7 +3428,6 @@ initialize_low_arch (void)
 #if __powerpc64__
   init_registers_powerpc_64l ();
   init_registers_powerpc_altivec64l ();
-  init_registers_powerpc_cell64l ();
   init_registers_powerpc_vsx64l ();
   init_registers_powerpc_isa205_64l ();
   init_registers_powerpc_isa205_altivec64l ();
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbserver/linux-ppc-tdesc-init.h ./gdb/gdbserver/linux-ppc-tdesc-init.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbserver/linux-ppc-tdesc-init.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/gdbserver/linux-ppc-tdesc-init.h	2019-09-24 01:49:11.000000000 +0000
@@ -27,7 +27,7 @@
 enum ppc_linux_tdesc {
   PPC_TDESC_BASE,
   PPC_TDESC_ALTIVEC,
-  PPC_TDESC_CELL,
+  PPC_TDESC_CELL,  /* No longer used, but kept to avoid ABI changes.  */
   PPC_TDESC_VSX,
   PPC_TDESC_ISA205,
   PPC_TDESC_ISA205_ALTIVEC,
@@ -46,9 +46,6 @@ void init_registers_powerpc_32l (void);
 /* Defined in auto-generated file powerpc-altivec32l.c.  */
 void init_registers_powerpc_altivec32l (void);
 
-/* Defined in auto-generated file powerpc-cell32l.c.  */
-void init_registers_powerpc_cell32l (void);
-
 /* Defined in auto-generated file powerpc-vsx32l.c.  */
 void init_registers_powerpc_vsx32l (void);
 
@@ -83,9 +80,6 @@ void init_registers_powerpc_64l (void);
 /* Defined in auto-generated file powerpc-altivec64l.c.  */
 void init_registers_powerpc_altivec64l (void);
 
-/* Defined in auto-generated file powerpc-cell64l.c.  */
-void init_registers_powerpc_cell64l (void);
-
 /* Defined in auto-generated file powerpc-vsx64l.c.  */
 void init_registers_powerpc_vsx64l (void);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbserver/lynx-low.c ./gdb/gdbserver/lynx-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbserver/lynx-low.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/gdbserver/lynx-low.c	2019-09-24 01:49:11.000000000 +0000
@@ -753,7 +753,6 @@ static struct target_ops lynx_target_ops
   NULL,  /* stopped_data_address */
   NULL,  /* read_offsets */
   NULL,  /* get_tls_address */
-  NULL,  /* qxfer_spu */
   NULL,  /* hostio_last_error */
   NULL,  /* qxfer_osdata */
   NULL,  /* qxfer_siginfo */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbserver/nto-low.c ./gdb/gdbserver/nto-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbserver/nto-low.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/gdbserver/nto-low.c	2019-09-24 01:49:11.000000000 +0000
@@ -22,6 +22,7 @@
 #include "gdbthread.h"
 #include "nto-low.h"
 #include "hostio.h"
+#include "debug.h"
 
 #include <limits.h>
 #include <fcntl.h>
@@ -32,7 +33,6 @@
 #include <sys/neutrino.h>
 
 
-extern int using_threads;
 int using_threads = 1;
 
 const struct target_desc *nto_tdesc;
@@ -963,7 +963,6 @@ static struct target_ops nto_target_ops 
   nto_stopped_data_address,
   NULL, /* nto_read_offsets */
   NULL, /* thread_db_set_tls_address */
-  NULL,
   hostio_last_error_from_errno,
   NULL, /* nto_qxfer_osdata */
   NULL, /* xfer_siginfo */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbserver/remote-utils.c ./gdb/gdbserver/remote-utils.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbserver/remote-utils.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/gdbserver/remote-utils.c	2019-09-24 01:49:11.000000000 +0000
@@ -23,6 +23,7 @@
 #include "target.h"
 #include "gdbthread.h"
 #include "tdesc.h"
+#include "debug.h"
 #include "dll.h"
 #include "gdbsupport/rsp-low.h"
 #include "gdbsupport/netstuff.h"
@@ -109,10 +110,6 @@ static int remote_is_stdio = 0;
 static gdb_fildes_t remote_desc = INVALID_DESCRIPTOR;
 static gdb_fildes_t listen_desc = INVALID_DESCRIPTOR;
 
-/* FIXME headerize? */
-extern int using_threads;
-extern int debug_threads;
-
 #ifdef USE_WIN32API
 # define read(fd, buf, len) recv (fd, (char *) buf, len, 0)
 # define write(fd, buf, len) send (fd, (char *) buf, len, 0)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbserver/server.c ./gdb/gdbserver/server.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbserver/server.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/gdbserver/server.c	2019-09-24 01:49:11.000000000 +0000
@@ -1613,22 +1613,6 @@ handle_qxfer_siginfo (const char *annex,
   return (*the_target->qxfer_siginfo) (annex, readbuf, writebuf, offset, len);
 }
 
-/* Handle qXfer:spu:read and qXfer:spu:write.  */
-
-static int
-handle_qxfer_spu (const char *annex,
-		  gdb_byte *readbuf, const gdb_byte *writebuf,
-		  ULONGEST offset, LONGEST len)
-{
-  if (the_target->qxfer_spu == NULL)
-    return -2;
-
-  if (current_thread == NULL)
-    return -1;
-
-  return (*the_target->qxfer_spu) (annex, readbuf, writebuf, offset, len);
-}
-
 /* Handle qXfer:statictrace:read.  */
 
 static int
@@ -1985,7 +1969,6 @@ static const struct qxfer qxfer_packets[
     { "libraries-svr4", handle_qxfer_libraries_svr4 },
     { "osdata", handle_qxfer_osdata },
     { "siginfo", handle_qxfer_siginfo },
-    { "spu", handle_qxfer_spu },
     { "statictrace", handle_qxfer_statictrace },
     { "threads", handle_qxfer_threads },
     { "traceframe-info", handle_qxfer_traceframe_info },
@@ -2397,9 +2380,6 @@ handle_query (char *own_buf, int packet_
       if (the_target->read_auxv != NULL)
 	strcat (own_buf, ";qXfer:auxv:read+");
 
-      if (the_target->qxfer_spu != NULL)
-	strcat (own_buf, ";qXfer:spu:read+;qXfer:spu:write+");
-
       if (the_target->qxfer_siginfo != NULL)
 	strcat (own_buf, ";qXfer:siginfo:read+;qXfer:siginfo:write+");
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbserver/spu-low.c ./gdb/gdbserver/spu-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbserver/spu-low.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/gdbserver/spu-low.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,732 +0,0 @@
-/* Low level interface to SPUs, for the remote server for GDB.
-   Copyright (C) 2006-2019 Free Software Foundation, Inc.
-
-   Contributed by Ulrich Weigand <uweigand@de.ibm.com>.
-
-   This file is part of GDB.
-
-   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 "server.h"
-
-#include "gdbsupport/gdb_wait.h"
-#include <sys/ptrace.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <sys/syscall.h>
-#include "gdbsupport/filestuff.h"
-#include "hostio.h"
-#include "nat/fork-inferior.h"
-
-/* Some older glibc versions do not define this.  */
-#ifndef __WNOTHREAD
-#define __WNOTHREAD     0x20000000      /* Don't wait on children of other
-					   threads in this group */
-#endif
-
-#define PTRACE_TYPE_RET long
-#define PTRACE_TYPE_ARG3 long
-
-/* Number of registers.  */
-#define SPU_NUM_REGS         130
-#define SPU_NUM_CORE_REGS    128
-
-/* Special registers.  */
-#define SPU_ID_REGNUM        128
-#define SPU_PC_REGNUM        129
-
-/* PPU side system calls.  */
-#define INSTR_SC	0x44000002
-#define NR_spu_run	0x0116
-
-/* These are used in remote-utils.c.  */
-int using_threads = 0;
-
-/* Defined in auto-generated file reg-spu.c.  */
-void init_registers_spu (void);
-extern const struct target_desc *tdesc_spu;
-
-/* Software breakpoint instruction.  */
-static const gdb_byte breakpoint[] = { 0x00, 0x00, 0x3f, 0xff };
-
-/* Fetch PPU register REGNO.  */
-static CORE_ADDR
-fetch_ppc_register (int regno)
-{
-  PTRACE_TYPE_RET res;
-
-  int tid = current_ptid.lwp ();
-
-#ifndef __powerpc64__
-  /* If running as a 32-bit process on a 64-bit system, we attempt
-     to get the full 64-bit register content of the target process.
-     If the PPC special ptrace call fails, we're on a 32-bit system;
-     just fall through to the regular ptrace call in that case.  */
-  {
-    char buf[8];
-
-    errno = 0;
-    ptrace ((PTRACE_TYPE_ARG1) PPC_PTRACE_PEEKUSR_3264, tid,
-	    (PTRACE_TYPE_ARG3) (regno * 8), buf);
-    if (errno == 0)
-      ptrace ((PTRACE_TYPE_ARG1) PPC_PTRACE_PEEKUSR_3264, tid,
-	      (PTRACE_TYPE_ARG3) (regno * 8 + 4), buf + 4);
-    if (errno == 0)
-      return (CORE_ADDR) *(unsigned long long *)buf;
-  }
-#endif
-
-  errno = 0;
-  res = ptrace (PT_READ_U, tid,
-		(PTRACE_TYPE_ARG3) (regno * sizeof (PTRACE_TYPE_RET)), 0);
-  if (errno != 0)
-    {
-      char mess[128];
-      sprintf (mess, "reading PPC register #%d", regno);
-      perror_with_name (mess);
-    }
-
-  return (CORE_ADDR) (unsigned long) res;
-}
-
-/* Fetch WORD from PPU memory at (aligned) MEMADDR in thread TID.  */
-static int
-fetch_ppc_memory_1 (int tid, CORE_ADDR memaddr, PTRACE_TYPE_RET *word)
-{
-  errno = 0;
-
-#ifndef __powerpc64__
-  if (memaddr >> 32)
-    {
-      unsigned long long addr_8 = (unsigned long long) memaddr;
-      ptrace ((PTRACE_TYPE_ARG1) PPC_PTRACE_PEEKTEXT_3264, tid,
-	      (PTRACE_TYPE_ARG3) &addr_8, word);
-    }
-  else
-#endif
-    *word = ptrace (PT_READ_I, tid, (PTRACE_TYPE_ARG3) (size_t) memaddr, 0);
-
-  return errno;
-}
-
-/* Store WORD into PPU memory at (aligned) MEMADDR in thread TID.  */
-static int
-store_ppc_memory_1 (int tid, CORE_ADDR memaddr, PTRACE_TYPE_RET word)
-{
-  errno = 0;
-
-#ifndef __powerpc64__
-  if (memaddr >> 32)
-    {
-      unsigned long long addr_8 = (unsigned long long) memaddr;
-      ptrace ((PTRACE_TYPE_ARG1) PPC_PTRACE_POKEDATA_3264, tid,
-	      (PTRACE_TYPE_ARG3) &addr_8, word);
-    }
-  else
-#endif
-    ptrace (PT_WRITE_D, tid, (PTRACE_TYPE_ARG3) (size_t) memaddr, word);
-
-  return errno;
-}
-
-/* Fetch LEN bytes of PPU memory at MEMADDR to MYADDR.  */
-static int
-fetch_ppc_memory (CORE_ADDR memaddr, char *myaddr, int len)
-{
-  int i, ret;
-
-  CORE_ADDR addr = memaddr & -(CORE_ADDR) sizeof (PTRACE_TYPE_RET);
-  int count = ((((memaddr + len) - addr) + sizeof (PTRACE_TYPE_RET) - 1)
-	       / sizeof (PTRACE_TYPE_RET));
-  PTRACE_TYPE_RET *buffer;
-
-  int tid = current_ptid.lwp ();
-
-  buffer = XALLOCAVEC (PTRACE_TYPE_RET, count);
-  for (i = 0; i < count; i++, addr += sizeof (PTRACE_TYPE_RET))
-    if ((ret = fetch_ppc_memory_1 (tid, addr, &buffer[i])) != 0)
-      return ret;
-
-  memcpy (myaddr,
-	  (char *) buffer + (memaddr & (sizeof (PTRACE_TYPE_RET) - 1)),
-	  len);
-
-  return 0;
-}
-
-/* Store LEN bytes from MYADDR to PPU memory at MEMADDR.  */
-static int
-store_ppc_memory (CORE_ADDR memaddr, char *myaddr, int len)
-{
-  int i, ret;
-
-  CORE_ADDR addr = memaddr & -(CORE_ADDR) sizeof (PTRACE_TYPE_RET);
-  int count = ((((memaddr + len) - addr) + sizeof (PTRACE_TYPE_RET) - 1)
-	       / sizeof (PTRACE_TYPE_RET));
-  PTRACE_TYPE_RET *buffer;
-
-  int tid = current_ptid.lwp ();
-
-  buffer = XALLOCAVEC (PTRACE_TYPE_RET, count);
-
-  if (addr != memaddr || len < (int) sizeof (PTRACE_TYPE_RET))
-    if ((ret = fetch_ppc_memory_1 (tid, addr, &buffer[0])) != 0)
-      return ret;
-
-  if (count > 1)
-    if ((ret = fetch_ppc_memory_1 (tid, addr + (count - 1)
-					       * sizeof (PTRACE_TYPE_RET),
-				   &buffer[count - 1])) != 0)
-      return ret;
-
-  memcpy ((char *) buffer + (memaddr & (sizeof (PTRACE_TYPE_RET) - 1)),
-	  myaddr, len);
-
-  for (i = 0; i < count; i++, addr += sizeof (PTRACE_TYPE_RET))
-    if ((ret = store_ppc_memory_1 (tid, addr, buffer[i])) != 0)
-      return ret;
-
-  return 0;
-}
-
-
-/* If the PPU thread is currently stopped on a spu_run system call,
-   return to FD and ADDR the file handle and NPC parameter address
-   used with the system call.  Return non-zero if successful.  */
-static int
-parse_spufs_run (int *fd, CORE_ADDR *addr)
-{
-  unsigned int insn;
-  CORE_ADDR pc = fetch_ppc_register (32);  /* nip */
-
-  /* Fetch instruction preceding current NIP.  */
-  if (fetch_ppc_memory (pc-4, (char *) &insn, 4) != 0)
-    return 0;
-  /* It should be a "sc" instruction.  */
-  if (insn != INSTR_SC)
-    return 0;
-  /* System call number should be NR_spu_run.  */
-  if (fetch_ppc_register (0) != NR_spu_run)
-    return 0;
-
-  /* Register 3 contains fd, register 4 the NPC param pointer.  */
-  *fd = fetch_ppc_register (34);  /* orig_gpr3 */
-  *addr = fetch_ppc_register (4);
-  return 1;
-}
-
-
-/* Copy LEN bytes at OFFSET in spufs file ANNEX into/from READBUF or WRITEBUF,
-   using the /proc file system.  */
-static int
-spu_proc_xfer_spu (const char *annex, unsigned char *readbuf,
-		   const unsigned char *writebuf,
-		   CORE_ADDR offset, int len)
-{
-  char buf[128];
-  int fd = 0;
-  int ret = -1;
-
-  if (!annex)
-    return 0;
-
-  sprintf (buf, "/proc/%ld/fd/%s", current_ptid.lwp (), annex);
-  fd = open (buf, writebuf? O_WRONLY : O_RDONLY);
-  if (fd <= 0)
-    return -1;
-
-  if (offset != 0
-      && lseek (fd, (off_t) offset, SEEK_SET) != (off_t) offset)
-    {
-      close (fd);
-      return 0;
-    }
-
-  if (writebuf)
-    ret = write (fd, writebuf, (size_t) len);
-  else if (readbuf)
-    ret = read (fd, readbuf, (size_t) len);
-
-  close (fd);
-  return ret;
-}
-
-/* Callback to be used when calling fork_inferior, responsible for
-   actually initiating the tracing of the inferior.  */
-
-static void
-spu_ptrace_fun ()
-{
-  if (ptrace (PTRACE_TRACEME, 0, 0, 0) < 0)
-    trace_start_error_with_name ("ptrace");
-  if (setpgid (0, 0) < 0)
-    trace_start_error_with_name ("setpgid");
-}
-
-/* Start an inferior process and returns its pid.
-   PROGRAM is the name of the program to be started, and PROGRAM_ARGS
-   are its arguments.  */
-
-static int
-spu_create_inferior (const char *program,
-		     const std::vector<char *> &program_args)
-{
-  int pid;
-  ptid_t ptid;
-  struct process_info *proc;
-  std::string str_program_args = stringify_argv (program_args);
-
-  pid = fork_inferior (program,
-		       str_program_args.c_str (),
-		       get_environ ()->envp (), spu_ptrace_fun,
-		       NULL, NULL, NULL, NULL);
-
-  post_fork_inferior (pid, program);
-
-  proc = add_process (pid, 0);
-  proc->tdesc = tdesc_spu;
-
-  ptid = ptid_t (pid, pid, 0);
-  add_thread (ptid, NULL);
-  return pid;
-}
-
-/* Attach to an inferior process.  */
-int
-spu_attach (unsigned long  pid)
-{
-  ptid_t ptid;
-  struct process_info *proc;
-
-  if (ptrace (PTRACE_ATTACH, pid, 0, 0) != 0)
-    {
-      fprintf (stderr, "Cannot attach to process %ld: %s (%d)\n", pid,
-	       strerror (errno), errno);
-      fflush (stderr);
-      _exit (0177);
-    }
-
-  proc = add_process (pid, 1);
-  proc->tdesc = tdesc_spu;
-  ptid = ptid_t (pid, pid, 0);
-  add_thread (ptid, NULL);
-  return 0;
-}
-
-/* Kill the inferior process.  */
-static int
-spu_kill (process_info *process)
-{
-  int status, ret;
-  int pid = process->pid;
-
-  ptrace (PTRACE_KILL, pid, 0, 0);
-
-  do {
-    ret = waitpid (pid, &status, 0);
-    if (WIFEXITED (status) || WIFSIGNALED (status))
-      break;
-  } while (ret != -1 || errno != ECHILD);
-
-  clear_inferiors ();
-  remove_process (process);
-  return 0;
-}
-
-/* Detach from inferior process.  */
-static int
-spu_detach (process_info *process)
-{
-  ptrace (PTRACE_DETACH, process->pid, 0, 0);
-
-  clear_inferiors ();
-  remove_process (process);
-  return 0;
-}
-
-static void
-spu_mourn (struct process_info *process)
-{
-  remove_process (process);
-}
-
-static void
-spu_join (int pid)
-{
-  int status, ret;
-
-  do {
-    ret = waitpid (pid, &status, 0);
-    if (WIFEXITED (status) || WIFSIGNALED (status))
-      break;
-  } while (ret != -1 || errno != ECHILD);
-}
-
-/* Return nonzero if the given thread is still alive.  */
-static int
-spu_thread_alive (ptid_t ptid)
-{
-  return ptid == current_ptid;
-}
-
-/* Resume process.  */
-static void
-spu_resume (struct thread_resume *resume_info, size_t n)
-{
-  struct thread_info *thr = get_first_thread ();
-  size_t i;
-
-  for (i = 0; i < n; i++)
-    if (resume_info[i].thread == minus_one_ptid
-	|| resume_info[i].thread == ptid_of (thr))
-      break;
-
-  if (i == n)
-    return;
-
-  /* We don't support hardware single-stepping right now, assume
-     GDB knows to use software single-stepping.  */
-  if (resume_info[i].kind == resume_step)
-    fprintf (stderr, "Hardware single-step not supported.\n");
-
-  regcache_invalidate ();
-
-  errno = 0;
-  ptrace (PTRACE_CONT, ptid_of (thr).lwp (), 0, resume_info[i].sig);
-  if (errno)
-    perror_with_name ("ptrace");
-}
-
-/* Wait for process, returns status.  */
-static ptid_t
-spu_wait (ptid_t ptid, struct target_waitstatus *ourstatus, int options)
-{
-  int pid = ptid.pid ();
-  int w;
-  int ret;
-
-  while (1)
-    {
-      ret = waitpid (pid, &w, WNOHANG | __WALL | __WNOTHREAD);
-
-      if (ret == -1)
-	{
-	  if (errno != ECHILD)
-	    perror_with_name ("waitpid");
-	}
-      else if (ret > 0)
-	break;
-
-      usleep (1000);
-    }
-
-  /* On the first wait, continue running the inferior until we are
-     blocked inside an spu_run system call.  */
-  if (!server_waiting)
-    {
-      int fd;
-      CORE_ADDR addr;
-
-      while (!parse_spufs_run (&fd, &addr))
-	{
-	  ptrace (PT_SYSCALL, pid, (PTRACE_TYPE_ARG3) 0, 0);
-	  waitpid (pid, NULL, __WALL | __WNOTHREAD);
-	}
-    }
-
-  if (WIFEXITED (w))
-    {
-      fprintf (stderr, "\nChild exited with retcode = %x \n", WEXITSTATUS (w));
-      ourstatus->kind =  TARGET_WAITKIND_EXITED;
-      ourstatus->value.integer = WEXITSTATUS (w);
-      clear_inferiors ();
-      return ptid_t (ret);
-    }
-  else if (!WIFSTOPPED (w))
-    {
-      fprintf (stderr, "\nChild terminated with signal = %x \n", WTERMSIG (w));
-      ourstatus->kind = TARGET_WAITKIND_SIGNALLED;
-      ourstatus->value.sig = gdb_signal_from_host (WTERMSIG (w));
-      clear_inferiors ();
-      return ptid_t (ret);
-    }
-
-  /* After attach, we may have received a SIGSTOP.  Do not return this
-     as signal to GDB, or else it will try to continue with SIGSTOP ...  */
-  if (!server_waiting)
-    {
-      ourstatus->kind = TARGET_WAITKIND_STOPPED;
-      ourstatus->value.sig = GDB_SIGNAL_0;
-      return ptid_t (ret, ret, 0);
-    }
-
-  ourstatus->kind = TARGET_WAITKIND_STOPPED;
-  ourstatus->value.sig = gdb_signal_from_host (WSTOPSIG (w));
-  return ptid_t (ret, ret, 0);
-}
-
-/* Fetch inferior registers.  */
-static void
-spu_fetch_registers (struct regcache *regcache, int regno)
-{
-  int fd;
-  CORE_ADDR addr;
-
-  /* We must be stopped on a spu_run system call.  */
-  if (!parse_spufs_run (&fd, &addr))
-    return;
-
-  /* The ID register holds the spufs file handle.  */
-  if (regno == -1 || regno == SPU_ID_REGNUM)
-    supply_register (regcache, SPU_ID_REGNUM, (char *)&fd);
-
-  /* The NPC register is found at ADDR.  */
-  if (regno == -1 || regno == SPU_PC_REGNUM)
-    {
-      char buf[4];
-      if (fetch_ppc_memory (addr, buf, 4) == 0)
-	supply_register (regcache, SPU_PC_REGNUM, buf);
-    }
-
-  /* The GPRs are found in the "regs" spufs file.  */
-  if (regno == -1 || (regno >= 0 && regno < SPU_NUM_CORE_REGS))
-    {
-      unsigned char buf[16*SPU_NUM_CORE_REGS];
-      char annex[32];
-      int i;
-
-      sprintf (annex, "%d/regs", fd);
-      if (spu_proc_xfer_spu (annex, buf, NULL, 0, sizeof buf) == sizeof buf)
-	for (i = 0; i < SPU_NUM_CORE_REGS; i++)
-	  supply_register (regcache, i, buf + i*16);
-    }
-}
-
-/* Store inferior registers.  */
-static void
-spu_store_registers (struct regcache *regcache, int regno)
-{
-  int fd;
-  CORE_ADDR addr;
-
-  /* ??? Some callers use 0 to mean all registers.  */
-  if (regno == 0)
-    regno = -1;
-
-  /* We must be stopped on a spu_run system call.  */
-  if (!parse_spufs_run (&fd, &addr))
-    return;
-
-  /* The NPC register is found at ADDR.  */
-  if (regno == -1 || regno == SPU_PC_REGNUM)
-    {
-      char buf[4];
-      collect_register (regcache, SPU_PC_REGNUM, buf);
-      store_ppc_memory (addr, buf, 4);
-    }
-
-  /* The GPRs are found in the "regs" spufs file.  */
-  if (regno == -1 || (regno >= 0 && regno < SPU_NUM_CORE_REGS))
-    {
-      unsigned char buf[16*SPU_NUM_CORE_REGS];
-      char annex[32];
-      int i;
-
-      for (i = 0; i < SPU_NUM_CORE_REGS; i++)
-	collect_register (regcache, i, buf + i*16);
-
-      sprintf (annex, "%d/regs", fd);
-      spu_proc_xfer_spu (annex, NULL, buf, 0, sizeof buf);
-    }
-}
-
-/* Copy LEN bytes from inferior's memory starting at MEMADDR
-   to debugger memory starting at MYADDR.  */
-static int
-spu_read_memory (CORE_ADDR memaddr, unsigned char *myaddr, int len)
-{
-  int fd, ret;
-  CORE_ADDR addr;
-  char annex[32], lslr_annex[32], buf[32];
-  CORE_ADDR lslr;
-
-  /* We must be stopped on a spu_run system call.  */
-  if (!parse_spufs_run (&fd, &addr))
-    return 0;
-
-  /* Use the "mem" spufs file to access SPU local store.  */
-  sprintf (annex, "%d/mem", fd);
-  ret = spu_proc_xfer_spu (annex, myaddr, NULL, memaddr, len);
-  if (ret > 0)
-    return ret == len ? 0 : EIO;
-
-  /* SPU local store access wraps the address around at the
-     local store limit.  We emulate this here.  To avoid needing
-     an extra access to retrieve the LSLR, we only do that after
-     trying the original address first, and getting end-of-file.  */
-  sprintf (lslr_annex, "%d/lslr", fd);
-  memset (buf, 0, sizeof buf);
-  if (spu_proc_xfer_spu (lslr_annex, (unsigned char *)buf, NULL,
-			 0, sizeof buf) <= 0)
-    return ret;
-
-  lslr = strtoul (buf, NULL, 16);
-  ret = spu_proc_xfer_spu (annex, myaddr, NULL, memaddr & lslr, len);
-
-  return ret == len ? 0 : EIO;
-}
-
-/* Copy LEN bytes of data from debugger memory at MYADDR
-   to inferior's memory at MEMADDR.
-   On failure (cannot write the inferior)
-   returns the value of errno.  */
-static int
-spu_write_memory (CORE_ADDR memaddr, const unsigned char *myaddr, int len)
-{
-  int fd, ret;
-  CORE_ADDR addr;
-  char annex[32], lslr_annex[32], buf[32];
-  CORE_ADDR lslr;
-
-  /* We must be stopped on a spu_run system call.  */
-  if (!parse_spufs_run (&fd, &addr))
-    return 0;
-
-  /* Use the "mem" spufs file to access SPU local store.  */
-  sprintf (annex, "%d/mem", fd);
-  ret = spu_proc_xfer_spu (annex, NULL, myaddr, memaddr, len);
-  if (ret > 0)
-    return ret == len ? 0 : EIO;
-
-  /* SPU local store access wraps the address around at the
-     local store limit.  We emulate this here.  To avoid needing
-     an extra access to retrieve the LSLR, we only do that after
-     trying the original address first, and getting end-of-file.  */
-  sprintf (lslr_annex, "%d/lslr", fd);
-  memset (buf, 0, sizeof buf);
-  if (spu_proc_xfer_spu (lslr_annex, (unsigned char *)buf, NULL,
-			 0, sizeof buf) <= 0)
-    return ret;
-
-  lslr = strtoul (buf, NULL, 16);
-  ret = spu_proc_xfer_spu (annex, NULL, myaddr, memaddr & lslr, len);
-
-  return ret == len ? 0 : EIO;
-}
-
-/* Look up special symbols -- unneded here.  */
-static void
-spu_look_up_symbols (void)
-{
-}
-
-/* Send signal to inferior.  */
-static void
-spu_request_interrupt (void)
-{
-  struct thread_info *thr = get_first_thread ();
-
-  syscall (SYS_tkill, lwpid_of (thr), SIGINT);
-}
-
-/* Implementation of the target_ops method "sw_breakpoint_from_kind".  */
-
-static const gdb_byte *
-spu_sw_breakpoint_from_kind (int kind, int *size)
-{
-  *size = sizeof breakpoint;
-  return breakpoint;
-}
-
-static struct target_ops spu_target_ops = {
-  spu_create_inferior,
-  NULL,  /* post_create_inferior */
-  spu_attach,
-  spu_kill,
-  spu_detach,
-  spu_mourn,
-  spu_join,
-  spu_thread_alive,
-  spu_resume,
-  spu_wait,
-  spu_fetch_registers,
-  spu_store_registers,
-  NULL, /* prepare_to_access_memory */
-  NULL, /* done_accessing_memory */
-  spu_read_memory,
-  spu_write_memory,
-  spu_look_up_symbols,
-  spu_request_interrupt,
-  NULL,
-  NULL,  /* supports_z_point_type */
-  NULL,
-  NULL,
-  NULL, /* stopped_by_sw_breakpoint */
-  NULL, /* supports_stopped_by_sw_breakpoint */
-  NULL, /* stopped_by_hw_breakpoint */
-  NULL, /* supports_stopped_by_hw_breakpoint */
-  NULL, /* supports_hardware_single_step */
-  NULL,
-  NULL,
-  NULL,
-  NULL,
-  spu_proc_xfer_spu,
-  hostio_last_error_from_errno,
-  NULL, /* qxfer_osdata */
-  NULL, /* qxfer_siginfo */
-  NULL, /* supports_non_stop */
-  NULL, /* async */
-  NULL, /* start_non_stop */
-  NULL, /* supports_multi_process */
-  NULL, /* supports_fork_events */
-  NULL, /* supports_vfork_events */
-  NULL, /* supports_exec_events */
-  NULL, /* handle_new_gdb_connection */
-  NULL, /* handle_monitor_command */
-  NULL, /* core_of_thread */
-  NULL, /* read_loadmap */
-  NULL, /* process_qsupported */
-  NULL, /* supports_tracepoints */
-  NULL, /* read_pc */
-  NULL, /* write_pc */
-  NULL, /* thread_stopped */
-  NULL, /* get_tib_address */
-  NULL, /* pause_all */
-  NULL, /* unpause_all */
-  NULL, /* stabilize_threads */
-  NULL, /* install_fast_tracepoint_jump_pad */
-  NULL, /* emit_ops */
-  NULL, /* supports_disable_randomization */
-  NULL, /* get_min_fast_tracepoint_insn_len */
-  NULL, /* qxfer_libraries_svr4 */
-  NULL, /* support_agent */
-  NULL, /* enable_btrace */
-  NULL, /* disable_btrace */
-  NULL, /* read_btrace */
-  NULL, /* read_btrace_conf */
-  NULL, /* supports_range_stepping */
-  NULL, /* pid_to_exec_file */
-  NULL, /* multifs_open */
-  NULL, /* multifs_unlink */
-  NULL, /* multifs_readlink */
-  NULL, /* breakpoint_kind_from_pc */
-  spu_sw_breakpoint_from_kind,
-};
-
-void
-initialize_low (void)
-{
-  set_target_ops (&spu_target_ops);
-  init_registers_spu ();
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbserver/target.h ./gdb/gdbserver/target.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbserver/target.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/gdbserver/target.h	2019-09-24 01:49:11.000000000 +0000
@@ -256,10 +256,6 @@ struct target_ops
   int (*get_tls_address) (struct thread_info *thread, CORE_ADDR offset,
 			  CORE_ADDR load_module, CORE_ADDR *address);
 
-   /* Read/Write from/to spufs using qXfer packets.  */
-  int (*qxfer_spu) (const char *annex, unsigned char *readbuf,
-		    unsigned const char *writebuf, CORE_ADDR offset, int len);
-
   /* Fill BUF with an hostio error packet representing the last hostio
      error.  */
   void (*hostio_last_error) (char *buf);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbserver/thread-db.c ./gdb/gdbserver/thread-db.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbserver/thread-db.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/gdbserver/thread-db.c	2019-09-24 01:49:11.000000000 +0000
@@ -22,8 +22,7 @@
 
 #include "linux-low.h"
 
-extern int debug_threads;
-
+#include "debug.h"
 #include "gdb_proc_service.h"
 #include "nat/gdb_thread_db.h"
 #include "gdbsupport/gdb_vecs.h"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbserver/win32-low.c ./gdb/gdbserver/win32-low.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbserver/win32-low.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/gdbserver/win32-low.c	2019-09-24 01:49:11.000000000 +0000
@@ -1809,7 +1809,6 @@ static struct target_ops win32_target_op
   win32_stopped_data_address,
   NULL, /* read_offsets */
   NULL, /* get_tls_address */
-  NULL, /* qxfer_spu */
 #ifdef _WIN32_WCE
   wince_hostio_last_error,
 #else
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbsupport/common-debug.c ./gdb/gdbsupport/common-debug.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbsupport/common-debug.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/gdbsupport/common-debug.c	2019-09-24 01:49:11.000000000 +0000
@@ -22,7 +22,7 @@
 
 /* See gdbsupport/common-debug.h.  */
 
-int show_debug_regs;
+bool show_debug_regs;
 
 /* See gdbsupport/common-debug.h.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbsupport/common-debug.h ./gdb/gdbsupport/common-debug.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbsupport/common-debug.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/gdbsupport/common-debug.h	2019-09-24 01:49:11.000000000 +0000
@@ -20,10 +20,10 @@
 #ifndef COMMON_COMMON_DEBUG_H
 #define COMMON_COMMON_DEBUG_H
 
-/* Set to nonzero to enable debugging of hardware breakpoint/
+/* Set to true to enable debugging of hardware breakpoint/
    watchpoint support code.  */
 
-extern int show_debug_regs;
+extern bool show_debug_regs;
 
 /* Print a formatted message to the appropriate channel for
    debugging output for the client.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbthread.h ./gdb/gdbthread.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbthread.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/gdbthread.h	2019-09-24 01:49:11.000000000 +0000
@@ -623,7 +623,7 @@ extern void thread_command (const char *
 
 /* Print notices on thread events (attach, detach, etc.), set with
    `set print thread-events'.  */
-extern int print_thread_events;
+extern bool print_thread_events;
 
 /* Prints the list of threads and their details on UIOUT.  If
    REQUESTED_THREADS, a list of GDB ids/ranges, is not NULL, only
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbtypes.c ./gdb/gdbtypes.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gdbtypes.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/gdbtypes.c	2019-09-24 01:49:11.000000000 +0000
@@ -116,7 +116,7 @@ const struct floatformat *floatformats_i
 
 /* Should opaque types be resolved?  */
 
-static int opaque_type_resolution = 1;
+static bool opaque_type_resolution = true;
 
 /* A flag to enable printing of debugging information of C++
    overloading.  */
@@ -125,7 +125,7 @@ unsigned int overload_debug = 0;
 
 /* A flag to enable strict type checking.  */
 
-static int strict_type_checking = 1;
+static bool strict_type_checking = true;
 
 /* A function to show whether opaque types are resolved.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gnu-nat.c ./gdb/gnu-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/gnu-nat.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/gnu-nat.c	2019-09-24 01:49:11.000000000 +0000
@@ -93,7 +93,7 @@ int proc_wait_pid = 0;
 /* The number of wait requests we've sent, and expect replies from.  */
 int proc_waits_pending = 0;
 
-int gnu_debug_flag = 0;
+bool gnu_debug_flag = false;
 
 /* Forward decls */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/guile/scm-auto-load.c ./gdb/guile/scm-auto-load.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/guile/scm-auto-load.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/guile/scm-auto-load.c	2019-09-24 01:49:11.000000000 +0000
@@ -30,7 +30,7 @@
    set auto-load guile-scripts on|off
    This is true if we should auto-load associated Guile scripts when an
    objfile is opened, false otherwise.  */
-static int auto_load_guile_scripts = 1;
+static bool auto_load_guile_scripts = true;
 
 /* "show" command for the auto_load_guile_scripts configuration variable.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/guile/scm-param.c ./gdb/guile/scm-param.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/guile/scm-param.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/guile/scm-param.c	2019-09-24 01:49:11.000000000 +0000
@@ -31,7 +31,10 @@
 
 union pascm_variable
 {
-  /* Hold an integer value, for boolean and integer types.  */
+  /* Hold an boolean value.  */
+  bool boolval;
+
+  /* Hold an integer value.  */
   int intval;
 
   /* Hold an auto_boolean.  */
@@ -365,7 +368,7 @@ add_setshow_generic (enum var_types para
     {
     case var_boolean:
       add_setshow_boolean_cmd (cmd_name, cmd_class,
-			       &self->value.intval,
+			       &self->value.boolval,
 			       set_doc, show_doc, help_doc,
 			       set_func, show_func,
 			       set_list, show_list);
@@ -606,7 +609,7 @@ pascm_param_value (enum var_types type, 
 
     case var_boolean:
       {
-	if (* (int *) var)
+	if (* (bool *) var)
 	  return SCM_BOOL_T;
 	else
 	  return SCM_BOOL_F;
@@ -717,7 +720,7 @@ pascm_set_param_value_x (enum var_types 
     case var_boolean:
       SCM_ASSERT_TYPE (gdbscm_is_bool (value), value, arg_pos, func_name,
 		       _("boolean"));
-      var->intval = gdbscm_is_true (value);
+      var->boolval = gdbscm_is_true (value);
       break;
 
     case var_auto_boolean:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/hppa-tdep.c ./gdb/hppa-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/hppa-tdep.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/hppa-tdep.c	2019-09-24 01:49:11.000000000 +0000
@@ -41,7 +41,7 @@
 #include "hppa-tdep.h"
 #include <algorithm>
 
-static int hppa_debug = 0;
+static bool hppa_debug = false;
 
 /* Some local constants.  */
 static const int hppa32_num_regs = 128;
@@ -380,7 +380,7 @@ read_unwind_info (struct objfile *objfil
       if (strcmp (unwind_sec->name, "$UNWIND_START$") == 0
 	  || strcmp (unwind_sec->name, ".PARISC.unwind") == 0)
 	{
-	  unwind_size = bfd_section_size (objfile->obfd, unwind_sec);
+	  unwind_size = bfd_section_size (unwind_sec);
 	  unwind_entries = unwind_size / UNWIND_ENTRY_SIZE;
 
 	  total_entries += unwind_entries;
@@ -393,7 +393,7 @@ read_unwind_info (struct objfile *objfil
 
   if (stub_unwind_sec)
     {
-      stub_unwind_size = bfd_section_size (objfile->obfd, stub_unwind_sec);
+      stub_unwind_size = bfd_section_size (stub_unwind_sec);
       stub_entries = stub_unwind_size / STUB_UNWIND_ENTRY_SIZE;
     }
   else
@@ -421,7 +421,7 @@ read_unwind_info (struct objfile *objfil
       if (strcmp (unwind_sec->name, "$UNWIND_START$") == 0
 	  || strcmp (unwind_sec->name, ".PARISC.unwind") == 0)
 	{
-	  unwind_size = bfd_section_size (objfile->obfd, unwind_sec);
+	  unwind_size = bfd_section_size (unwind_sec);
 	  unwind_entries = unwind_size / UNWIND_ENTRY_SIZE;
 
 	  internalize_unwinds (objfile, &ui->table[index], unwind_sec,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/i386-cygwin-tdep.c ./gdb/i386-cygwin-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/i386-cygwin-tdep.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/i386-cygwin-tdep.c	2019-09-24 01:49:11.000000000 +0000
@@ -110,14 +110,14 @@ core_process_module_section (bfd *abfd, 
   if (!startswith (sect->name, ".module"))
     return;
 
-  buf = (gdb_byte *) xmalloc (bfd_get_section_size (sect) + 1);
+  buf = (gdb_byte *) xmalloc (bfd_section_size (sect) + 1);
   if (!buf)
     {
       printf_unfiltered ("memory allocation failed for %s\n", sect->name);
       goto out;
     }
   if (!bfd_get_section_contents (abfd, sect,
-				 buf, 0, bfd_get_section_size (sect)))
+				 buf, 0, bfd_section_size (sect)))
     goto out;
 
 
@@ -130,7 +130,7 @@ core_process_module_section (bfd *abfd, 
   module_name_size =
     extract_unsigned_integer (buf + 8, 4, byte_order);
 
-  if (12 + module_name_size > bfd_get_section_size (sect))
+  if (12 + module_name_size > bfd_section_size (sect))
     goto out;
   module_name = (char *) buf + 12;
 
@@ -229,7 +229,7 @@ i386_cygwin_init_abi (struct gdbarch_inf
 static enum gdb_osabi
 i386_cygwin_osabi_sniffer (bfd *abfd)
 {
-  char *target_name = bfd_get_target (abfd);
+  const char *target_name = bfd_get_target (abfd);
 
   if (strcmp (target_name, "pei-i386") == 0)
     return GDB_OSABI_CYGWIN;
@@ -240,7 +240,7 @@ i386_cygwin_osabi_sniffer (bfd *abfd)
     {
       asection *section = bfd_get_section_by_name (abfd, ".reg");
       if (section
-	  && bfd_section_size (abfd, section) == I386_WINDOWS_SIZEOF_GREGSET)
+	  && bfd_section_size (section) == I386_WINDOWS_SIZEOF_GREGSET)
 	return GDB_OSABI_CYGWIN;
     }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/i386-dicos-tdep.c ./gdb/i386-dicos-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/i386-dicos-tdep.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/i386-dicos-tdep.c	2019-09-24 01:49:11.000000000 +0000
@@ -31,7 +31,7 @@ i386_dicos_init_abi (struct gdbarch_info
 static enum gdb_osabi
 i386_dicos_osabi_sniffer (bfd *abfd)
 {
-  char *target_name = bfd_get_target (abfd);
+  const char *target_name = bfd_get_target (abfd);
 
   /* On x86-DICOS, the Load Module's "header" section is 36 bytes.  */
   if (strcmp (target_name, "elf32-i386") == 0
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/i386-fbsd-tdep.c ./gdb/i386-fbsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/i386-fbsd-tdep.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/i386-fbsd-tdep.c	2019-09-24 01:49:11.000000000 +0000
@@ -233,7 +233,7 @@ i386fbsd_core_read_xcr0 (bfd *abfd)
 
   if (xstate)
     {
-      size_t size = bfd_section_size (abfd, xstate);
+      size_t size = bfd_section_size (xstate);
 
       /* Check extended state size.  */
       if (size < X86_XSTATE_AVX_SIZE)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/i386-linux-tdep.c ./gdb/i386-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/i386-linux-tdep.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/i386-linux-tdep.c	2019-09-24 01:49:11.000000000 +0000
@@ -646,7 +646,7 @@ i386_linux_core_read_xcr0 (bfd *abfd)
 
   if (xstate)
     {
-      size_t size = bfd_section_size (abfd, xstate);
+      size_t size = bfd_section_size (xstate);
 
       /* Check extended state size.  */
       if (size < X86_XSTATE_AVX_SIZE)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/infcall.c ./gdb/infcall.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/infcall.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/infcall.c	2019-09-24 01:49:11.000000000 +0000
@@ -55,7 +55,7 @@
    asynchronous inferior function call implementation, and that in
    turn means restructuring the code so that it is event driven.  */
 
-static int may_call_functions_p = 1;
+static bool may_call_functions_p = true;
 static void
 show_may_call_functions_p (struct ui_file *file, int from_tty,
 			   struct cmd_list_element *c,
@@ -86,7 +86,7 @@ show_may_call_functions_p (struct ui_fil
    trust the debug information; the user can override this behavior
    with "set coerce-float-to-double 0".  */
 
-static int coerce_float_to_double_p = 1;
+static bool coerce_float_to_double_p = true;
 static void
 show_coerce_float_to_double_p (struct ui_file *file, int from_tty,
 			       struct cmd_list_element *c, const char *value)
@@ -104,7 +104,7 @@ show_coerce_float_to_double_p (struct ui
 
    The default is to stop in the frame where the signal was received.  */
 
-static int unwind_on_signal_p = 0;
+static bool unwind_on_signal_p = false;
 static void
 show_unwind_on_signal_p (struct ui_file *file, int from_tty,
 			 struct cmd_list_element *c, const char *value)
@@ -127,7 +127,7 @@ show_unwind_on_signal_p (struct ui_file 
    The default is to unwind the frame if a std::terminate call is
    made.  */
 
-static int unwind_on_terminating_exception_p = 1;
+static bool unwind_on_terminating_exception_p = true;
 
 static void
 show_unwind_on_terminating_exception_p (struct ui_file *file, int from_tty,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/infcmd.c ./gdb/infcmd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/infcmd.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/infcmd.c	2019-09-24 01:49:11.000000000 +0000
@@ -105,7 +105,7 @@ int stopped_by_random_signal;
 
 /* See inferior.h.  */
 
-int startup_with_shell = 1;
+bool startup_with_shell = true;
 
 
 /* Accessor routines.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/inferior.c ./gdb/inferior.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/inferior.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/inferior.c	2019-09-24 01:49:11.000000000 +0000
@@ -46,7 +46,7 @@ struct inferior *inferior_list = NULL;
 static int highest_inferior_num;
 
 /* See inferior.h.  */
-int print_inferior_events = 1;
+bool print_inferior_events = true;
 
 /* The Current Inferior.  This is a strong reference.  I.e., whenever
    an inferior is the current inferior, its refcount is
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/inferior.h ./gdb/inferior.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/inferior.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/inferior.h	2019-09-24 01:49:11.000000000 +0000
@@ -244,7 +244,7 @@ extern void prepare_execution_command (s
 
    The catch-exec traps expected during start-up will be one more if
    the target is started up with a shell.  */
-extern int startup_with_shell;
+extern bool startup_with_shell;
 
 /* Nonzero if stopped due to completion of a stack dummy routine.  */
 
@@ -257,7 +257,7 @@ extern int stopped_by_random_signal;
 
 /* Print notices on inferior events (attach, detach, etc.), set with
    `set print inferior-events'.  */
-extern int print_inferior_events;
+extern bool print_inferior_events;
 
 /* Anything but NO_STOP_QUIETLY means we expect a trap and the caller
    will handle it themselves.  STOP_QUIETLY is used when running in
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/infrun.c ./gdb/infrun.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/infrun.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/infrun.c	2019-09-24 01:49:11.000000000 +0000
@@ -136,7 +136,7 @@ mark_infrun_async_event_handler (void)
 /* When set, stop the 'step' command if we enter a function which has
    no line number information.  The normal behavior is that we step
    over such function.  */
-int step_stop_if_no_debug = 0;
+bool step_stop_if_no_debug = false;
 static void
 show_step_stop_if_no_debug (struct ui_file *file, int from_tty,
 			    struct cmd_list_element *c, const char *value)
@@ -155,9 +155,9 @@ static ptid_t previous_inferior_ptid;
    Exactly which branch is detached depends on 'set follow-fork-mode'
    setting.  */
 
-static int detach_fork = 1;
+static bool detach_fork = true;
 
-int debug_displaced = 0;
+bool debug_displaced = false;
 static void
 show_debug_displaced (struct ui_file *file, int from_tty,
 		      struct cmd_list_element *c, const char *value)
@@ -176,7 +176,7 @@ show_debug_infrun (struct ui_file *file,
 
 /* Support for disabling address space randomization.  */
 
-int disable_randomization = 1;
+bool disable_randomization = true;
 
 static void
 show_disable_randomization (struct ui_file *file, int from_tty,
@@ -205,8 +205,8 @@ set_disable_randomization (const char *a
 
 /* User interface for non-stop mode.  */
 
-int non_stop = 0;
-static int non_stop_1 = 0;
+bool non_stop = false;
+static bool non_stop_1 = false;
 
 static void
 set_non_stop (const char *args, int from_tty,
@@ -234,8 +234,8 @@ show_non_stop (struct ui_file *file, int
    non-stop, in which all GDB operations that might affect the
    target's execution have been disabled.  */
 
-int observer_mode = 0;
-static int observer_mode_1 = 0;
+bool observer_mode = false;
+static bool observer_mode_1 = false;
 
 static void
 set_observer_mode (const char *args, int from_tty,
@@ -256,7 +256,7 @@ set_observer_mode (const char *args, int
   /* We can insert fast tracepoints in or out of observer mode,
      but enable them if we're going into this mode.  */
   if (observer_mode)
-    may_insert_fast_tracepoints = 1;
+    may_insert_fast_tracepoints = true;
   may_stop = !observer_mode;
   update_target_permissions ();
 
@@ -265,7 +265,7 @@ set_observer_mode (const char *args, int
   if (observer_mode)
     {
       pagination_enabled = 0;
-      non_stop = non_stop_1 = 1;
+      non_stop = non_stop_1 = true;
     }
 
   if (from_tty)
@@ -289,13 +289,11 @@ show_observer_mode (struct ui_file *file
 void
 update_observer_mode (void)
 {
-  int newval;
-
-  newval = (!may_insert_breakpoints
-	    && !may_insert_tracepoints
-	    && may_insert_fast_tracepoints
-	    && !may_stop
-	    && non_stop);
+  bool newval = (!may_insert_breakpoints
+		 && !may_insert_tracepoints
+		 && may_insert_fast_tracepoints
+		 && !may_stop
+		 && non_stop);
 
   /* Let the user know if things change.  */
   if (newval != observer_mode)
@@ -2089,7 +2087,7 @@ set_schedlock_func (const char *args, in
 /* True if execution commands resume all threads of all processes by
    default; otherwise, resume only threads of the current inferior
    process.  */
-int sched_multi = 0;
+bool sched_multi = false;
 
 /* Try to setup for software single stepping over the specified location.
    Return 1 if target_resume() should use hardware single step.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/infrun.h ./gdb/infrun.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/infrun.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/infrun.h	2019-09-24 01:49:11.000000000 +0000
@@ -30,7 +30,7 @@ struct return_value_info;
 extern unsigned int debug_infrun;
 
 /* True if we are debugging displaced stepping.  */
-extern int debug_displaced;
+extern bool debug_displaced;
 
 /* Nonzero if we want to give control to the user when we're notified
    of shared library events by the dynamic linker.  */
@@ -39,24 +39,24 @@ extern int stop_on_solib_events;
 /* True if execution commands resume all threads of all processes by
    default; otherwise, resume only threads of the current inferior
    process.  */
-extern int sched_multi;
+extern bool sched_multi;
 
 /* When set, stop the 'step' command if we enter a function which has
    no line number information.  The normal behavior is that we step
    over such function.  */
-extern int step_stop_if_no_debug;
+extern bool step_stop_if_no_debug;
 
 /* If set, the inferior should be controlled in non-stop mode.  In
    this mode, each thread is controlled independently.  Execution
    commands apply only to the selected thread by default, and stop
    events stop only the thread that had the event -- the other threads
    are kept running freely.  */
-extern int non_stop;
+extern bool non_stop;
 
 /* When set (default), the target should attempt to disable the
    operating system's address space randomization feature when
    starting an inferior.  */
-extern int disable_randomization;
+extern bool disable_randomization;
 
 /* Returns a unique identifier for the current stop.  This can be used
    to tell whether a command has proceeded the inferior past the
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/jit.c ./gdb/jit.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/jit.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/jit.c	2019-09-24 01:49:11.000000000 +0000
@@ -910,12 +910,12 @@ JITed symbol file is not an object file,
      addresses that we care about.  */
   section_addr_info sai;
   for (sec = nbfd->sections; sec != NULL; sec = sec->next)
-    if ((bfd_get_section_flags (nbfd.get (), sec) & (SEC_ALLOC|SEC_LOAD)) != 0)
+    if ((bfd_section_flags (sec) & (SEC_ALLOC|SEC_LOAD)) != 0)
       {
         /* We assume that these virtual addresses are absolute, and do not
            treat them as offsets.  */
-	sai.emplace_back (bfd_get_section_vma (nbfd.get (), sec),
-			  bfd_get_section_name (nbfd.get (), sec),
+	sai.emplace_back (bfd_section_vma (sec),
+			  bfd_section_name (sec),
 			  sec->index);
       }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/linux-nat.c ./gdb/linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/linux-nat.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/linux-nat.c	2019-09-24 01:49:11.000000000 +0000
@@ -68,10 +68,6 @@
 #include "gdbsupport/fileio.h"
 #include "gdbsupport/scope-exit.h"
 
-#ifndef SPUFS_MAGIC
-#define SPUFS_MAGIC 0x23c9b64e
-#endif
-
 /* This comment documents high-level logic of this file.
 
 Waiting for events in sync mode
@@ -3842,12 +3838,6 @@ linux_nat_xfer_osdata (enum target_objec
 		       ULONGEST *xfered_len);
 
 static enum target_xfer_status
-linux_proc_xfer_spu (enum target_object object,
-		     const char *annex, gdb_byte *readbuf,
-		     const gdb_byte *writebuf,
-		     ULONGEST offset, ULONGEST len, ULONGEST *xfered_len);
-
-static enum target_xfer_status
 linux_proc_xfer_partial (enum target_object object,
 			 const char *annex, gdb_byte *readbuf,
 			 const gdb_byte *writebuf,
@@ -3879,10 +3869,6 @@ linux_nat_target::xfer_partial (enum tar
     return linux_nat_xfer_osdata (object, annex, readbuf, writebuf,
 				  offset, len, xfered_len);
 
-  if (object == TARGET_OBJECT_SPU)
-    return linux_proc_xfer_spu (object, annex, readbuf, writebuf,
-				offset, len, xfered_len);
-
   /* GDB calculates all addresses in the largest possible address
      width.
      The address width must be masked before its final use - either by
@@ -4020,121 +4006,6 @@ linux_proc_xfer_partial (enum target_obj
 }
 
 
-/* Enumerate spufs IDs for process PID.  */
-static LONGEST
-spu_enumerate_spu_ids (int pid, gdb_byte *buf, ULONGEST offset, ULONGEST len)
-{
-  enum bfd_endian byte_order = gdbarch_byte_order (target_gdbarch ());
-  LONGEST pos = 0;
-  LONGEST written = 0;
-  char path[128];
-  DIR *dir;
-  struct dirent *entry;
-
-  xsnprintf (path, sizeof path, "/proc/%d/fd", pid);
-  dir = opendir (path);
-  if (!dir)
-    return -1;
-
-  rewinddir (dir);
-  while ((entry = readdir (dir)) != NULL)
-    {
-      struct stat st;
-      struct statfs stfs;
-      int fd;
-
-      fd = atoi (entry->d_name);
-      if (!fd)
-	continue;
-
-      xsnprintf (path, sizeof path, "/proc/%d/fd/%d", pid, fd);
-      if (stat (path, &st) != 0)
-	continue;
-      if (!S_ISDIR (st.st_mode))
-	continue;
-
-      if (statfs (path, &stfs) != 0)
-	continue;
-      if (stfs.f_type != SPUFS_MAGIC)
-	continue;
-
-      if (pos >= offset && pos + 4 <= offset + len)
-	{
-	  store_unsigned_integer (buf + pos - offset, 4, byte_order, fd);
-	  written += 4;
-	}
-      pos += 4;
-    }
-
-  closedir (dir);
-  return written;
-}
-
-/* Implement the to_xfer_partial interface for the TARGET_OBJECT_SPU
-   object type, using the /proc file system.  */
-
-static enum target_xfer_status
-linux_proc_xfer_spu (enum target_object object,
-		     const char *annex, gdb_byte *readbuf,
-		     const gdb_byte *writebuf,
-		     ULONGEST offset, ULONGEST len, ULONGEST *xfered_len)
-{
-  char buf[128];
-  int fd = 0;
-  int ret = -1;
-  int pid = inferior_ptid.lwp ();
-
-  if (!annex)
-    {
-      if (!readbuf)
-	return TARGET_XFER_E_IO;
-      else
-	{
-	  LONGEST l = spu_enumerate_spu_ids (pid, readbuf, offset, len);
-
-	  if (l < 0)
-	    return TARGET_XFER_E_IO;
-	  else if (l == 0)
-	    return TARGET_XFER_EOF;
-	  else
-	    {
-	      *xfered_len = (ULONGEST) l;
-	      return TARGET_XFER_OK;
-	    }
-	}
-    }
-
-  xsnprintf (buf, sizeof buf, "/proc/%d/fd/%s", pid, annex);
-  fd = gdb_open_cloexec (buf, writebuf? O_WRONLY : O_RDONLY, 0);
-  if (fd <= 0)
-    return TARGET_XFER_E_IO;
-
-  if (offset != 0
-      && lseek (fd, (off_t) offset, SEEK_SET) != (off_t) offset)
-    {
-      close (fd);
-      return TARGET_XFER_EOF;
-    }
-
-  if (writebuf)
-    ret = write (fd, writebuf, (size_t) len);
-  else if (readbuf)
-    ret = read (fd, readbuf, (size_t) len);
-
-  close (fd);
-
-  if (ret < 0)
-    return TARGET_XFER_E_IO;
-  else if (ret == 0)
-    return TARGET_XFER_EOF;
-  else
-    {
-      *xfered_len = (ULONGEST) ret;
-      return TARGET_XFER_OK;
-    }
-}
-
-
 /* Parse LINE as a signal set and add its set bits to SIGS.  */
 
 static void
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/linux-tdep.c ./gdb/linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/linux-tdep.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/linux-tdep.c	2019-09-24 01:49:11.000000000 +0000
@@ -91,12 +91,12 @@ struct smaps_vmflags
 /* Whether to take the /proc/PID/coredump_filter into account when
    generating a corefile.  */
 
-static int use_coredump_filter = 1;
+static bool use_coredump_filter = true;
 
 /* Whether the value of smaps_vmflags->exclude_coredump should be
    ignored, including mappings marked with the VM_DONTDUMP flag in
    the dump.  */
-static int dump_excluded_mappings = 0;
+static bool dump_excluded_mappings = false;
 
 /* This enum represents the signals' numbers on a generic architecture
    running the Linux kernel.  The definition of "generic" comes from
@@ -1046,7 +1046,7 @@ linux_core_info_proc_mappings (struct gd
 
   addr_size_bits = gdbarch_addr_bit (core_gdbarch);
   addr_size = addr_size_bits / 8;
-  note_size = bfd_get_section_size (section);
+  note_size = bfd_section_size (section);
 
   if (note_size < 2 * addr_size)
     error (_("malformed core note - too short for header"));
@@ -1413,73 +1413,6 @@ find_signalled_thread (struct thread_inf
   return 0;
 }
 
-/* Generate corefile notes for SPU contexts.  */
-
-static char *
-linux_spu_make_corefile_notes (bfd *obfd, char *note_data, int *note_size)
-{
-  static const char *spu_files[] =
-    {
-      "object-id",
-      "mem",
-      "regs",
-      "fpcr",
-      "lslr",
-      "decr",
-      "decr_status",
-      "signal1",
-      "signal1_type",
-      "signal2",
-      "signal2_type",
-      "event_mask",
-      "event_status",
-      "mbox_info",
-      "ibox_info",
-      "wbox_info",
-      "dma_info",
-      "proxydma_info",
-   };
-
-  enum bfd_endian byte_order = gdbarch_byte_order (target_gdbarch ());
-
-  /* Determine list of SPU ids.  */
-  gdb::optional<gdb::byte_vector>
-    spu_ids = target_read_alloc (current_top_target (),
-				 TARGET_OBJECT_SPU, NULL);
-
-  if (!spu_ids)
-    return note_data;
-
-  /* Generate corefile notes for each SPU file.  */
-  for (size_t i = 0; i < spu_ids->size (); i += 4)
-    {
-      int fd = extract_unsigned_integer (spu_ids->data () + i, 4, byte_order);
-
-      for (size_t j = 0; j < sizeof (spu_files) / sizeof (spu_files[0]); j++)
-	{
-	  char annex[32], note_name[32];
-
-	  xsnprintf (annex, sizeof annex, "%d/%s", fd, spu_files[j]);
-	  gdb::optional<gdb::byte_vector> spu_data
-	    = target_read_alloc (current_top_target (), TARGET_OBJECT_SPU, annex);
-
-	  if (spu_data && !spu_data->empty ())
-	    {
-	      xsnprintf (note_name, sizeof note_name, "SPU/%s", annex);
-	      note_data = elfcore_write_note (obfd, note_data, note_size,
-					      note_name, NT_SPU,
-					      spu_data->data (),
-					      spu_data->size ());
-
-	      if (!note_data)
-		return nullptr;
-	    }
-	}
-    }
-
-  return note_data;
-}
-
 /* This is used to pass information from
    linux_make_mappings_corefile_notes through
    linux_find_memory_regions_full.  */
@@ -2008,11 +1941,6 @@ linux_make_corefile_notes (struct gdbarc
 	return NULL;
     }
 
-  /* SPU information.  */
-  note_data = linux_spu_make_corefile_notes (obfd, note_data, note_size);
-  if (!note_data)
-    return NULL;
-
   /* File mappings.  */
   note_data = linux_make_mappings_corefile_notes (gdbarch, obfd,
 						  note_data, note_size);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/linux-thread-db.c ./gdb/linux-thread-db.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/linux-thread-db.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/linux-thread-db.c	2019-09-24 01:49:11.000000000 +0000
@@ -110,13 +110,13 @@ public:
 
 static char *libthread_db_search_path;
 
-/* Set to non-zero if thread_db auto-loading is enabled
+/* Set to true if thread_db auto-loading is enabled
    by the "set auto-load libthread-db" command.  */
-static int auto_load_thread_db = 1;
+static bool auto_load_thread_db = true;
 
-/* Set to non-zero if load-time libthread_db tests have been enabled
+/* Set to true if load-time libthread_db tests have been enabled
    by the "maintenence set check-libthread-db" command.  */
-static int check_thread_db_on_load = 0;
+static bool check_thread_db_on_load = false;
 
 /* "show" command for the auto_load_thread_db configuration variable.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/machoread.c ./gdb/machoread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/machoread.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/machoread.c	2019-09-24 01:49:11.000000000 +0000
@@ -575,7 +575,7 @@ macho_add_oso_symfile (oso_el *oso, cons
                          sec->name, sym->name,
                          paddress (arch, res));
                     }
-                  bfd_set_section_vma (abfd.get (), sec, res);
+                  bfd_set_section_vma (sec, res);
                   sections_rebased[sec->index] = 1;
                 }
             }
@@ -671,7 +671,7 @@ macho_symfile_read_all_oso (std::vector<
           /* Load all oso in this library.  */
 	  while (member_bfd != NULL)
 	    {
-	      const char *member_name = member_bfd->filename;
+	      const char *member_name = bfd_get_filename (member_bfd.get ());
               int member_len = strlen (member_name);
 
               /* If this member is referenced, add it as a symfile.  */
@@ -685,7 +685,7 @@ macho_symfile_read_all_oso (std::vector<
                                   member_len))
                     {
                       macho_add_oso_symfile (oso2, member_bfd,
-					     bfd_get_filename (member_bfd),
+					     bfd_get_filename (member_bfd.get ()),
                                              main_objfile, symfile_flags);
                       oso2->name = NULL;
                       break;
@@ -854,8 +854,7 @@ macho_symfile_read (struct objfile *objf
             {
               if (strcmp (asect->name, dsect->name) != 0)
                 break;
-              bfd_set_section_size (dsym_bfd.get (), dsect,
-                                    bfd_get_section_size (asect));
+              bfd_set_section_size (dsect, bfd_section_size (asect));
             }
 
 	  /* Add the dsym file as a separate file.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/main.c ./gdb/main.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/main.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/main.c	2019-09-24 01:49:11.000000000 +0000
@@ -594,6 +594,9 @@ captured_main_1 (struct captured_main_ar
       OPT_READNOW,
       OPT_READNEVER
     };
+    /* This struct requires int* in the struct, but write_files is a bool.
+       So use this temporary int that we write back after argument parsing.  */
+    int write_files_1 = 0;
     static struct option long_options[] =
     {
       {"tui", no_argument, 0, OPT_TUI},
@@ -658,7 +661,7 @@ captured_main_1 (struct captured_main_ar
       {"w", no_argument, NULL, OPT_WINDOWS},
       {"windows", no_argument, NULL, OPT_WINDOWS},
       {"statistics", no_argument, 0, OPT_STATISTICS},
-      {"write", no_argument, &write_files, 1},
+      {"write", no_argument, &write_files_1, 1},
       {"args", no_argument, &set_args, 1},
       {"l", required_argument, 0, 'l'},
       {"return-child-result", no_argument, &return_child_result, 1},
@@ -842,6 +845,7 @@ captured_main_1 (struct captured_main_ar
 		   gdb_program_name);
 	  }
       }
+    write_files = (write_files_1 != 0);
 
     if (batch_flag)
       {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/MAINTAINERS ./gdb/MAINTAINERS
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/MAINTAINERS	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/MAINTAINERS	2019-09-24 01:49:11.000000000 +0000
@@ -319,9 +319,6 @@ the native maintainer when resolving ABI
 	sparc		--target=sparc64-solaris2.10 ,-Werror
 			(--target=sparc-elf broken)
 
-	spu		--target=spu-elf ,-Werror
-			Ulrich Weigand		uweigand@de.ibm.com
-
 	tic6x		--target=tic6x-elf ,-Werror
 			Yao Qi			qiyao@sourceware.org
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/maint.c ./gdb/maint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/maint.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/maint.c	2019-09-24 01:49:11.000000000 +0000
@@ -335,8 +335,8 @@ print_bfd_section_info (bfd *abfd,
 			asection *asect,
 			void *datum)
 {
-  flagword flags = bfd_get_section_flags (abfd, asect);
-  const char *name = bfd_section_name (abfd, asect);
+  flagword flags = bfd_section_flags (asect);
+  const char *name = bfd_section_name (asect);
   maint_print_section_data *print_data = (maint_print_section_data *) datum;
   const char *arg = print_data->arg;
 
@@ -348,8 +348,8 @@ print_bfd_section_info (bfd *abfd,
       int addr_size = gdbarch_addr_bit (gdbarch) / 8;
       CORE_ADDR addr, endaddr;
 
-      addr = bfd_section_vma (abfd, asect);
-      endaddr = addr + bfd_section_size (abfd, asect);
+      addr = bfd_section_vma (asect);
+      endaddr = addr + bfd_section_size (asect);
       print_section_index (abfd, asect, print_data->index_digits);
       maint_print_section_info (name, flags, addr, endaddr,
 				asect->filepos, addr_size);
@@ -366,8 +366,8 @@ print_objfile_section_info (bfd *abfd,
 			    struct obj_section *asect,
 			    maint_print_section_data *print_data)
 {
-  flagword flags = bfd_get_section_flags (abfd, asect->the_bfd_section);
-  const char *name = bfd_section_name (abfd, asect->the_bfd_section);
+  flagword flags = bfd_section_flags (asect->the_bfd_section);
+  const char *name = bfd_section_name (asect->the_bfd_section);
   const char *string = print_data->arg;
 
   if (string == NULL || *string == '\0'
@@ -770,7 +770,7 @@ maintenance_with_cmd_completer (struct c
 
 /* Profiling support.  */
 
-static int maintenance_profile_p;
+static bool maintenance_profile_p;
 static void
 show_maintenance_profile_p (struct ui_file *file, int from_tty,
 			    struct cmd_list_element *c, const char *value)
@@ -841,17 +841,17 @@ maintenance_set_profile_cmd (const char 
 }
 #endif
 
-/* If nonzero, display time usage both at startup and for each command.  */
+/* If true, display time usage both at startup and for each command.  */
 
-static int per_command_time;
+static bool per_command_time;
 
-/* If nonzero, display space usage both at startup and for each command.  */
+/* If true, display space usage both at startup and for each command.  */
 
-static int per_command_space;
+static bool per_command_space;
 
-/* If nonzero, display basic symtab stats for each command.  */
+/* If true, display basic symtab stats for each command.  */
 
-static int per_command_symtab;
+static bool per_command_symtab;
 
 /* mt per-command commands.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/maint-test-options.c ./gdb/maint-test-options.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/maint-test-options.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/maint-test-options.c	2019-09-24 01:49:11.000000000 +0000
@@ -126,10 +126,10 @@ static const char *const test_options_en
 
 struct test_options_opts
 {
-  int flag_opt = 0;
-  int xx1_opt = 0;
-  int xx2_opt = 0;
-  int boolean_opt = 0;
+  bool flag_opt = false;
+  bool xx1_opt = false;
+  bool xx2_opt = false;
+  bool boolean_opt = false;
   const char *enum_opt = test_options_enum_values_xxx;
   unsigned int uint_opt = 0;
   int zuint_unl_opt = 0;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/maint-test-settings.c ./gdb/maint-test-settings.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/maint-test-settings.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/maint-test-settings.c	2019-09-24 01:49:11.000000000 +0000
@@ -50,7 +50,7 @@ maintenance_show_test_settings_cmd (cons
 /* Control variables for all the "maintenance set/show test-settings
    xxx" commands.  */
 
-static int maintenance_test_settings_boolean;
+static bool maintenance_test_settings_boolean;
 
 static auto_boolean maintenance_test_settings_auto_boolean = AUTO_BOOLEAN_AUTO;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/Makefile.in ./gdb/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/Makefile.in	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/Makefile.in	2019-09-24 01:49:11.000000000 +0000
@@ -776,7 +776,6 @@ ALL_TARGET_OBS = \
 	solib-darwin.o \
 	solib-dsbt.o \
 	solib-frv.o \
-	solib-spu.o \
 	solib-svr4.o \
 	sparc-linux-tdep.o \
 	sparc-nbsd-tdep.o \
@@ -784,8 +783,6 @@ ALL_TARGET_OBS = \
 	sparc-ravenscar-thread.o \
 	sparc-sol2-tdep.o \
 	sparc-tdep.o \
-	spu-multiarch.o \
-	spu-tdep.o \
 	symfile-mem.o \
 	tic6x-linux-tdep.o \
 	tic6x-tdep.o \
@@ -1382,7 +1379,6 @@ HFILES_NO_SRCDIR = \
 	solib.h \
 	solib-aix.h \
 	solib-darwin.h \
-	solib-spu.h \
 	solib-svr4.h \
 	solib-target.h \
 	solist.h \
@@ -1392,7 +1388,6 @@ HFILES_NO_SRCDIR = \
 	sparc-ravenscar-thread.h \
 	sparc-tdep.h \
 	sparc64-tdep.h \
-	spu-tdep.h \
 	stabsread.h \
 	stack.h \
 	stap-probe.h \
@@ -2304,7 +2299,6 @@ ALLDEPFILES = \
 	sh-tdep.c \
 	sol2-tdep.c \
 	solib-aix.c \
-	solib-spu.c \
 	solib-svr4.c \
 	sparc-linux-nat.c \
 	sparc-linux-tdep.c \
@@ -2327,9 +2321,6 @@ ALLDEPFILES = \
 	sparc64-obsd-tdep.c \
 	sparc64-sol2-tdep.c \
 	sparc64-tdep.c \
-	spu-linux-nat.c \
-	spu-multiarch.c \
-	spu-tdep.c \
 	tilegx-linux-nat.c \
 	tilegx-linux-tdep.c \
 	tilegx-tdep.c \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/mdebugread.c ./gdb/mdebugread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/mdebugread.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/mdebugread.c	2019-09-24 01:49:11.000000000 +0000
@@ -2338,7 +2338,7 @@ parse_partial_symbols (minimal_symbol_re
      the text section (and fh->adr) really starts at zero.  */
   text_sect = bfd_get_section_by_name (cur_bfd, ".text");
   if (text_sect != NULL
-      && (bfd_get_section_flags (cur_bfd, text_sect) & SEC_RELOC))
+      && (bfd_section_flags (text_sect) & SEC_RELOC))
     relocatable = 1;
 
   extern_tab = XOBNEWVEC (&objfile->objfile_obstack, EXTR, hdr->iextMax);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/memattr.c ./gdb/memattr.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/memattr.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/memattr.c	2019-09-24 01:49:11.000000000 +0000
@@ -53,7 +53,7 @@ static bool target_mem_regions_valid;
 /* If this flag is set, gdb will assume that memory ranges not
    specified by the memory map have type MEM_NONE, and will
    emit errors on all accesses to that memory.  */
-static int inaccessible_by_default = 1;
+static bool inaccessible_by_default = true;
 
 static void
 show_inaccessible_by_default (struct ui_file *file, int from_tty,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/mi/mi-interp.c ./gdb/mi/mi-interp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/mi/mi-interp.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/mi/mi-interp.c	2019-09-24 01:49:11.000000000 +0000
@@ -1179,8 +1179,7 @@ mi_memory_changed (struct inferior *infe
       sec = find_pc_section (memaddr);
       if (sec != NULL && sec->objfile != NULL)
 	{
-	  flagword flags = bfd_get_section_flags (sec->objfile->obfd,
-						  sec->the_bfd_section);
+	  flagword flags = bfd_section_flags (sec->the_bfd_section);
 
 	  if (flags & SEC_CODE)
 	    mi_uiout->field_string ("type", "code");
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/mi/mi-main.c ./gdb/mi/mi-main.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/mi/mi-main.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/mi/mi-main.c	2019-09-24 01:49:11.000000000 +0000
@@ -101,11 +101,11 @@ static void output_register (struct fram
 			     int skip_unavailable);
 
 /* Controls whether the frontend wants MI in async mode.  */
-static int mi_async = 0;
+static bool mi_async = false;
 
 /* The set command writes to this variable.  If the inferior is
    executing, mi_async is *not* updated.  */
-static int mi_async_1 = 0;
+static bool mi_async_1 = false;
 
 static void
 set_mi_async_command (const char *args, int from_tty,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/minidebug.c ./gdb/minidebug.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/minidebug.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/minidebug.c	2019-09-24 01:49:11.000000000 +0000
@@ -87,7 +87,7 @@ lzma_open (struct bfd *nbfd, void *open_
   struct gdb_lzma_stream *lstream;
   size_t pos;
 
-  size = bfd_get_section_size (section);
+  size = bfd_section_size (section);
   offset = section->filepos + size - LZMA_STREAM_HEADER_SIZE;
   if (size < LZMA_STREAM_HEADER_SIZE
       || bfd_seek (section->owner, offset, SEEK_SET) != 0
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/mips-linux-tdep.c ./gdb/mips-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/mips-linux-tdep.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/mips-linux-tdep.c	2019-09-24 01:49:11.000000000 +0000
@@ -562,7 +562,7 @@ mips_linux_core_read_description (struct
   if (! section)
     return NULL;
 
-  switch (bfd_section_size (abfd, section))
+  switch (bfd_section_size (section))
     {
     case sizeof (mips_elf_gregset_t):
       return mips_tdesc_gp32;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/mipsread.c ./gdb/mipsread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/mipsread.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/mipsread.c	2019-09-24 01:49:11.000000000 +0000
@@ -200,10 +200,10 @@ read_alphacoff_dynamic_symtab (minimal_s
       || si.dyninfo_sect == NULL || si.got_sect == NULL)
     return;
 
-  gdb::byte_vector sym_sec (bfd_get_section_size (si.sym_sect));
-  gdb::byte_vector str_sec (bfd_get_section_size (si.str_sect));
-  gdb::byte_vector dyninfo_sec (bfd_get_section_size (si.dyninfo_sect));
-  gdb::byte_vector got_sec (bfd_get_section_size (si.got_sect));
+  gdb::byte_vector sym_sec (bfd_section_size (si.sym_sect));
+  gdb::byte_vector str_sec (bfd_section_size (si.str_sect));
+  gdb::byte_vector dyninfo_sec (bfd_section_size (si.dyninfo_sect));
+  gdb::byte_vector got_sec (bfd_section_size (si.got_sect));
 
   if (!bfd_get_section_contents (abfd, si.sym_sect, sym_sec.data (),
 				 (file_ptr) 0, sym_sec.size ()))
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/mips-sde-tdep.c ./gdb/mips-sde-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/mips-sde-tdep.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/mips-sde-tdep.c	2019-09-24 01:49:11.000000000 +0000
@@ -208,7 +208,7 @@ mips_sde_elf_osabi_sniff_abi_tag_section
   enum gdb_osabi *os_ident_ptr = (enum gdb_osabi *) obj;
   const char *name;
 
-  name = bfd_get_section_name (abfd, sect);
+  name = bfd_section_name (sect);
 
   /* The presence of a section with a ".sde" prefix is indicative
      of an SDE binary.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/mips-tdep.c ./gdb/mips-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/mips-tdep.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/mips-tdep.c	2019-09-24 01:49:11.000000000 +0000
@@ -858,7 +858,7 @@ static int heuristic_fence_post = 0;
    register N.  NOTE: This defines the pseudo register type so need to
    rebuild the architecture vector.  */
 
-static int mips64_transfers_32bit_regs_p = 0;
+static bool mips64_transfers_32bit_regs_p = false;
 
 static void
 set_mips64_transfers_32bit_regs (const char *args, int from_tty,
@@ -7975,7 +7975,7 @@ static void
 mips_find_abi_section (bfd *abfd, asection *sect, void *obj)
 {
   enum mips_abi *abip = (enum mips_abi *) obj;
-  const char *name = bfd_get_section_name (abfd, sect);
+  const char *name = bfd_section_name (sect);
 
   if (*abip != MIPS_ABI_UNKNOWN)
     return;
@@ -8003,7 +8003,7 @@ static void
 mips_find_long_section (bfd *abfd, asection *sect, void *obj)
 {
   int *lbp = (int *) obj;
-  const char *name = bfd_get_section_name (abfd, sect);
+  const char *name = bfd_section_name (sect);
 
   if (startswith (name, ".gcc_compiled_long32"))
     *lbp = 32;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/nat/fork-inferior.h ./gdb/nat/fork-inferior.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/nat/fork-inferior.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/nat/fork-inferior.h	2019-09-24 01:49:11.000000000 +0000
@@ -72,7 +72,7 @@ extern ptid_t startup_inferior (pid_t pi
 
    The catch-exec traps expected during start-up will be one more if
    the target is started up with a shell.  */
-extern int startup_with_shell;
+extern bool startup_with_shell;
 
 /* Perform any necessary tasks before a fork/vfork takes place.  ARGS
    is a string containing all the arguments received by the inferior.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/nat/linux-namespaces.c ./gdb/nat/linux-namespaces.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/nat/linux-namespaces.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/nat/linux-namespaces.c	2019-09-24 01:49:11.000000000 +0000
@@ -31,7 +31,7 @@
 #include "gdbsupport/scope-exit.h"
 
 /* See nat/linux-namespaces.h.  */
-int debug_linux_namespaces;
+bool debug_linux_namespaces;
 
 /* Handle systems without fork.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/nat/linux-namespaces.h ./gdb/nat/linux-namespaces.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/nat/linux-namespaces.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/nat/linux-namespaces.h	2019-09-24 01:49:11.000000000 +0000
@@ -20,9 +20,9 @@
 #ifndef NAT_LINUX_NAMESPACES_H
 #define NAT_LINUX_NAMESPACES_H
 
-/* Set to nonzero to enable debugging of Linux namespaces code.  */
+/* Set to true to enable debugging of Linux namespaces code.  */
 
-extern int debug_linux_namespaces;
+extern bool debug_linux_namespaces;
 
 /* Enumeration of Linux namespace types.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/nat/ppc-linux.h ./gdb/nat/ppc-linux.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/nat/ppc-linux.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/nat/ppc-linux.h	2019-09-24 01:49:11.000000000 +0000
@@ -33,9 +33,6 @@
    If they aren't, we can provide them ourselves (their values are fixed
    because they are part of the kernel ABI).  They are used in the AT_HWCAP
    entry of the AUXV.  */
-#ifndef PPC_FEATURE_CELL
-#define PPC_FEATURE_CELL 0x00010000
-#endif
 #ifndef PPC_FEATURE_BOOKE
 #define PPC_FEATURE_BOOKE 0x00008000
 #endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/NEWS ./gdb/NEWS
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/NEWS	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/NEWS	2019-09-24 01:49:11.000000000 +0000
@@ -186,6 +186,9 @@ maint show test-options-completion-resul
   Commands used by the testsuite to validate the command options
   framework.
 
+focus, winheight, +, -, >, <
+  These commands are now case-sensitive.
+
 * New command options, command completion
 
   GDB now has a standard infrastructure to support dash-style command
@@ -301,6 +304,20 @@ maint show test-options-completion-resul
 
 * Other MI changes
 
+ ** The default version of the MI interpreter is now 3 (-i=mi3).
+
+  ** The output of information about multi-location breakpoints (which is
+     syntactically incorrect in MI 2) has changed in MI 3.  This affects
+     the following commands and events:
+
+	- -break-insert
+	- -break-info
+	- =breakpoint-created
+	- =breakpoint-modified
+
+     The -fix-multi-location-breakpoint-output command can be used to enable
+     this behavior with previous MI versions.
+
  ** Backtraces and frames include a new optional field addr_flags which is
     given after the addr field.  On AArch64 this contains PAC if the address
     has been masked in the frame.  On all other targets the field is not
@@ -323,6 +340,20 @@ maint show test-options-completion-resul
   GDB now bundles GNU readline 8.0, but if you choose to use
   --with-system-readline, only readline >= 7.0 can be used.
 
+* The TUI SingleKey keymap is now named "SingleKey".  This can be used
+  from .inputrc to bind keys in this keymap.  This feature is only
+  available when gdb is built against GNU readline 8.0 or later.
+
+* Removed targets and native configurations
+
+  GDB no longer supports debugging the Cell Broadband Engine.  This includes
+  both debugging standalone Cell/B.E. SPU applications and integrated debugging
+  of Cell/B.E. applications that use both the PPU and SPU architectures.
+
+* New Simulators
+
+TI PRU					pru-*-elf
+
 *** Changes in GDB 8.3
 
 * GDB and GDBserver now support access to additional registers on
@@ -488,8 +519,6 @@ set style address intensity VALUE
 
 * MI changes
 
-  ** The default version of the MI interpreter is now 3 (-i=mi3).
-
   ** The '-data-disassemble' MI command now accepts an '-a' option to
      disassemble the whole function surrounding the given program
      counter value or function name.  Support for this feature can be
@@ -499,18 +528,6 @@ set style address intensity VALUE
   ** Command responses and notifications that include a frame now include
      the frame's architecture in a new "arch" attribute.
 
-  ** The output of information about multi-location breakpoints (which is
-     syntactically incorrect in MI 2) has changed in MI 3.  This affects
-     the following commands and events:
-
-	- -break-insert
-	- -break-info
-	- =breakpoint-created
-	- =breakpoint-modified
-
-     The -fix-multi-location-breakpoint-output command can be used to enable
-     this behavior with previous MI versions.
-
 * New native configurations
 
 GNU/Linux/RISC-V		riscv*-*-linux*
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/nios2-tdep.c ./gdb/nios2-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/nios2-tdep.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/nios2-tdep.c	2019-09-24 01:49:11.000000000 +0000
@@ -52,7 +52,7 @@
 
 /* Control debugging information emitted in this file.  */
 
-static int nios2_debug = 0;
+static bool nios2_debug = false;
 
 /* The following structures are used in the cache for prologue
    analysis; see the reg_value and reg_saved tables in
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/nto-tdep.c ./gdb/nto-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/nto-tdep.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/nto-tdep.c	2019-09-24 01:49:11.000000000 +0000
@@ -319,8 +319,8 @@ nto_sniff_abi_note_section (bfd *abfd, a
   const char *name;
   const unsigned sizeof_Elf_Nhdr = 12;
 
-  sectname = bfd_get_section_name (abfd, sect);
-  sectsize = bfd_section_size (abfd, sect);
+  sectname = bfd_section_name (sect);
+  sectsize = bfd_section_size (sect);
 
   if (sectsize > 128)
     sectsize = 128;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/objfiles.c ./gdb/objfiles.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/objfiles.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/objfiles.c	2019-09-24 01:49:11.000000000 +0000
@@ -271,7 +271,7 @@ add_to_objfile_sections_full (struct bfd
     {
       flagword aflag;
 
-      aflag = bfd_get_section_flags (abfd, asect);
+      aflag = bfd_section_flags (asect);
       if (!(aflag & SEC_ALLOC))
 	return;
     }
@@ -1119,15 +1119,15 @@ static int
 insert_section_p (const struct bfd *abfd,
 		  const struct bfd_section *section)
 {
-  const bfd_vma lma = bfd_section_lma (abfd, section);
+  const bfd_vma lma = bfd_section_lma (section);
 
-  if (overlay_debugging && lma != 0 && lma != bfd_section_vma (abfd, section)
+  if (overlay_debugging && lma != 0 && lma != bfd_section_vma (section)
       && (bfd_get_file_flags (abfd) & BFD_IN_MEMORY) == 0)
     /* This is an overlay section.  IN_MEMORY check is needed to avoid
        discarding sections from the "system supplied DSO" (aka vdso)
        on some Linux systems (e.g. Fedora 11).  */
     return 0;
-  if ((bfd_get_section_flags (abfd, section) & SEC_THREAD_LOCAL) != 0)
+  if ((bfd_section_flags (section) & SEC_THREAD_LOCAL) != 0)
     /* This is a TLS section.  */
     return 0;
 
@@ -1220,10 +1220,10 @@ filter_overlapping_sections (struct obj_
 			   " (A) section `%s' from `%s' [%s, %s)\n"
 			   " (B) section `%s' from `%s' [%s, %s).\n"
 			   "Will ignore section B"),
-			 bfd_section_name (abfd1, bfds1), objfile_name (objf1),
+			 bfd_section_name (bfds1), objfile_name (objf1),
 			 paddress (gdbarch, sect1_addr),
 			 paddress (gdbarch, sect1_endaddr),
-			 bfd_section_name (abfd2, bfds2), objfile_name (objf2),
+			 bfd_section_name (bfds2), objfile_name (objf2),
 			 paddress (gdbarch, sect2_addr),
 			 paddress (gdbarch, sect2_endaddr));
 	    }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/objfiles.h ./gdb/objfiles.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/objfiles.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/objfiles.h	2019-09-24 01:49:11.000000000 +0000
@@ -143,14 +143,14 @@ struct obj_section
 
 /* The memory address of section S (vma + offset).  */
 #define obj_section_addr(s)				      		\
-  (bfd_get_section_vma ((s)->objfile->obfd, s->the_bfd_section)		\
+  (bfd_section_vma (s->the_bfd_section)					\
    + obj_section_offset (s))
 
 /* The one-passed-the-end memory address of section S
    (vma + size + offset).  */
 #define obj_section_endaddr(s)						\
-  (bfd_get_section_vma ((s)->objfile->obfd, s->the_bfd_section)		\
-   + bfd_get_section_size ((s)->the_bfd_section)			\
+  (bfd_section_vma (s->the_bfd_section)					\
+   + bfd_section_size ((s)->the_bfd_section)				\
    + obj_section_offset (s))
 
 /* The "objstats" structure provides a place for gdb to record some
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/or1k-tdep.c ./gdb/or1k-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/or1k-tdep.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/or1k-tdep.c	2019-09-24 01:49:11.000000000 +0000
@@ -50,7 +50,7 @@
 
 /* Global debug flag.  */
 
-static int or1k_debug = 0;
+static bool or1k_debug = false;
 
 static void
 show_or1k_debug (struct ui_file *file, int from_tty,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/osabi.c ./gdb/osabi.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/osabi.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/osabi.c	2019-09-24 01:49:11.000000000 +0000
@@ -416,7 +416,7 @@ check_note (bfd *abfd, asection *sect, c
   gdb_assert (notesz <= MAX_NOTESZ);
 
   /* Check whether SECT is big enough to comtain the complete note.  */
-  if (notesz > bfd_section_size (abfd, sect))
+  if (notesz > bfd_section_size (sect))
     return 0;
 
   /* Check the note name.  */
@@ -445,8 +445,8 @@ generic_elf_osabi_sniff_abi_tag_sections
   unsigned int sectsize;
   char *note;
 
-  name = bfd_get_section_name (abfd, sect);
-  sectsize = bfd_section_size (abfd, sect);
+  name = bfd_section_name (sect);
+  sectsize = bfd_section_size (sect);
 
   /* Limit the amount of data to read.  */
   if (sectsize > MAX_NOTESZ)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/parse.c ./gdb/parse.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/parse.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/parse.c	2019-09-24 01:49:11.000000000 +0000
@@ -74,8 +74,8 @@ show_expressiondebug (struct ui_file *fi
 }
 
 
-/* Non-zero if an expression parser should set yydebug.  */
-int parser_debug;
+/* True if an expression parser should set yydebug.  */
+bool parser_debug;
 
 static void
 show_parserdebug (struct ui_file *file, int from_tty,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/parser-defs.h ./gdb/parser-defs.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/parser-defs.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/parser-defs.h	2019-09-24 01:49:11.000000000 +0000
@@ -32,7 +32,7 @@ struct language_defn;
 struct internalvar;
 class innermost_block_tracker;
 
-extern int parser_debug;
+extern bool parser_debug;
 
 /* A class that can be used to build a "struct expression".  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/po/gdb.pot ./gdb/po/gdb.pot
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/po/gdb.pot	2019-09-17 01:53:20.000000000 +0000
+++ ./gdb/po/gdb.pot	2019-09-24 01:52:55.000000000 +0000
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-09-17 01:53+0000\n"
+"POT-Creation-Date: 2019-09-24 01:52+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"
@@ -72,16 +72,16 @@ msgstr ""
 msgid "Couldn't write floating point status"
 msgstr ""
 
-#: aarch64-linux-nat.c:231 aarch64-linux-nat.c:268 arm-linux-nat.c:229
-#: arm-linux-nat.c:257
+#: aarch64-linux-nat.c:231 aarch64-linux-nat.c:268 arm-linux-nat.c:227
+#: arm-linux-nat.c:255
 msgid "Unable to fetch general registers."
 msgstr ""
 
-#: aarch64-linux-nat.c:283 arm-linux-nat.c:274
+#: aarch64-linux-nat.c:283 arm-linux-nat.c:272
 msgid "Unable to store general registers."
 msgstr ""
 
-#: aarch64-linux-nat.c:311 aarch64-linux-nat.c:357 arm-linux-nat.c:361
+#: aarch64-linux-nat.c:311 aarch64-linux-nat.c:357 arm-linux-nat.c:359
 msgid "Unable to fetch VFP registers."
 msgstr ""
 
@@ -93,7 +93,7 @@ msgstr ""
 msgid "Unable to fetch FP/SIMD registers."
 msgstr ""
 
-#: aarch64-linux-nat.c:386 arm-linux-nat.c:407
+#: aarch64-linux-nat.c:386 arm-linux-nat.c:405
 msgid "Unable to store VFP registers."
 msgstr ""
 
@@ -153,13 +153,13 @@ msgstr ""
 msgid "SVE Vector length in core file is invalid. (VQ=%s"
 msgstr ""
 
-#: aarch64-linux-tdep.c:718 arm-linux-tdep.c:1205 i386-tdep.c:4133
-#: i386-tdep.c:4242 i386-tdep.c:4257 ppc-linux-tdep.c:1725 stap-probe.c:770
+#: aarch64-linux-tdep.c:718 arm-linux-tdep.c:1204 i386-tdep.c:4133
+#: i386-tdep.c:4242 i386-tdep.c:4257 ppc-linux-tdep.c:1711 stap-probe.c:770
 #, possible-c-format
 msgid "Invalid register name `%s' on expression `%s'."
 msgstr ""
 
-#: aarch64-linux-tdep.c:1398 amd64-linux-tdep.c:1498 arm-linux-tdep.c:1667
+#: aarch64-linux-tdep.c:1398 amd64-linux-tdep.c:1498 arm-linux-tdep.c:1666
 #: i386-linux-tdep.c:468 s390-linux-tdep.c:817
 #, possible-c-format
 msgid "Process record and replay target doesn't support syscall number %s\n"
@@ -170,7 +170,7 @@ msgstr ""
 msgid "AArch64 debugging is %s.\n"
 msgstr ""
 
-#: aarch64-tdep.c:1129 arm-tdep.c:3079
+#: aarch64-tdep.c:1129 arm-tdep.c:3078
 #, possible-c-format
 msgid "Unexpected register %d"
 msgstr ""
@@ -218,7 +218,7 @@ msgid "When on, AArch64 specific debuggi
 msgstr ""
 
 #. We need to save SPSR value, which is not yet done.
-#: aarch64-tdep.c:4403 arm-tdep.c:11054 arm-tdep.c:12073
+#: aarch64-tdep.c:4403 arm-tdep.c:11053 arm-tdep.c:12072
 #, possible-c-format
 msgid "Process record does not support instruction 0x%0x at address %s.\n"
 msgstr ""
@@ -305,7 +305,7 @@ msgstr ""
 
 #: ada-exp.y:1328 c-exp.y:1088 c-exp.y:1141 cli/cli-cmds.c:1161 d-exp.y:493
 #: f-exp.y:504 go-exp.y:579 linespec.c:1623 linespec.c:3825 p-exp.y:707
-#: p-exp.y:766 source.c:194 symtab.c:4294
+#: p-exp.y:766 source.c:194 symtab.c:4287
 msgid "No symbol table is loaded.  Use the \"file\" command."
 msgstr ""
 
@@ -354,427 +354,427 @@ msgstr ""
 msgid "invalid Ada operator name: %s"
 msgstr ""
 
-#: ada-lang.c:1660 ada-lang.c:1678 ada-lang.c:1692 ada-lang.c:1760
+#: ada-lang.c:1648 ada-lang.c:1666 ada-lang.c:1680 ada-lang.c:1748
 msgid "Bad GNAT array descriptor"
 msgstr ""
 
-#: ada-lang.c:1797
+#: ada-lang.c:1785
 msgid "Bad GNAT array descriptor bounds"
 msgstr ""
 
-#: ada-lang.c:2040
+#: ada-lang.c:2028
 msgid "Bounds unavailable for null array pointer."
 msgstr ""
 
-#: ada-lang.c:2129
+#: ada-lang.c:2117
 msgid "could not understand bit size information on packed array"
 msgstr ""
 
-#: ada-lang.c:2227
+#: ada-lang.c:2215
 msgid "could not find bounds information on packed array"
 msgstr ""
 
-#: ada-lang.c:2234
+#: ada-lang.c:2222
 msgid "could not understand bounds information on packed array"
 msgstr ""
 
-#: ada-lang.c:2268
+#: ada-lang.c:2256
 msgid "can't unpack array"
 msgstr ""
 
-#: ada-lang.c:2321
+#: ada-lang.c:2309
 msgid "attempt to do packed indexing of something other than a packed array"
 msgstr ""
 
-#: ada-lang.c:2331
+#: ada-lang.c:2319
 msgid "don't know bounds of array"
 msgstr ""
 
-#: ada-lang.c:2337
+#: ada-lang.c:2325
 #, possible-c-format
 msgid "packed array index %ld out of bounds"
 msgstr ""
 
-#: ada-lang.c:2409
+#: ada-lang.c:2397
 #, possible-c-format
 msgid "Cannot unpack %d bits into buffer of %d bytes"
 msgstr ""
 
-#: ada-lang.c:2638 ada-lang.c:9851 valops.c:990
+#: ada-lang.c:2626 ada-lang.c:9836 valops.c:990
 msgid "Left operand of assignment is not a modifiable lvalue."
 msgstr ""
 
-#: ada-lang.c:2760 ada-lang.c:2818
+#: ada-lang.c:2748 ada-lang.c:2806
 #, possible-c-format
 msgid "too many subscripts (%d expected)"
 msgstr ""
 
-#: ada-lang.c:2853 ada-lang.c:2881
+#: ada-lang.c:2841 ada-lang.c:2869
 msgid "unable to get positions in slice, use bounds instead"
 msgstr ""
 
-#: ada-lang.c:2976
+#: ada-lang.c:2964
 #, possible-c-format
 msgid "invalid dimension number to '%s"
 msgstr ""
 
-#: ada-lang.c:2995
+#: ada-lang.c:2983
 msgid "attempt to take bound of something that is not an array"
 msgstr ""
 
-#: ada-lang.c:3159
+#: ada-lang.c:3147
 msgid "Could not find operator name for opcode"
 msgstr ""
 
-#: ada-lang.c:3354
+#: ada-lang.c:3342
 msgid "Unexpected operator during name resolution"
 msgstr ""
 
-#: ada-lang.c:3419
+#: ada-lang.c:3407
 #, possible-c-format
 msgid "No definition found for %s"
 msgstr ""
 
-#: ada-lang.c:3431 ada-lang.c:3482
+#: ada-lang.c:3419 ada-lang.c:3470
 #, possible-c-format
 msgid "Could not find a match for %s"
 msgstr ""
 
-#: ada-lang.c:3436 ada-lang.c:3726
+#: ada-lang.c:3424 ada-lang.c:3714
 #, possible-c-format
 msgid "Multiple matches for %s\n"
 msgstr ""
 
-#: ada-lang.c:3857
+#: ada-lang.c:3845
 msgid "Request to select 0 symbols!"
 msgstr ""
 
-#: ada-lang.c:3862 linespec.c:1541
+#: ada-lang.c:3850 linespec.c:1541
 msgid ""
 "canceled because the command is ambiguous\n"
 "See set/show multiple-symbol."
 msgstr ""
 
-#: ada-lang.c:3872
+#: ada-lang.c:3860
 msgid "[0] cancel\n"
 msgstr ""
 
-#: ada-lang.c:3874
+#: ada-lang.c:3862
 msgid "[1] all\n"
 msgstr ""
 
-#: ada-lang.c:3892
+#: ada-lang.c:3880
 #, possible-c-format
 msgid " at <no source file available>:%d\n"
 msgstr ""
 
-#: ada-lang.c:3895 ada-lang.c:3916
+#: ada-lang.c:3883 ada-lang.c:3904
 #, possible-c-format
 msgid " at %s:%d\n"
 msgstr ""
 
-#: ada-lang.c:3926
+#: ada-lang.c:3914
 #, possible-c-format
 msgid "'(%s) (enumeral)\n"
 msgstr ""
 
-#: ada-lang.c:3937
+#: ada-lang.c:3925
 #, possible-c-format
 msgid " in %s (enumeral)\n"
 msgstr ""
 
-#: ada-lang.c:3938
+#: ada-lang.c:3926
 #, possible-c-format
 msgid " at %s:?\n"
 msgstr ""
 
-#: ada-lang.c:3942
+#: ada-lang.c:3930
 msgid " (enumeral)\n"
 msgstr ""
 
-#: ada-lang.c:3943
+#: ada-lang.c:3931
 msgid " at ?\n"
 msgstr ""
 
-#: ada-lang.c:3989 ada-lang.c:4002 linespec.c:1562
+#: ada-lang.c:3977 ada-lang.c:3990 linespec.c:1562
 msgid "one or more choice numbers"
 msgstr ""
 
-#: ada-lang.c:4009
+#: ada-lang.c:3997
 msgid "Argument must be choice number"
 msgstr ""
 
-#: ada-lang.c:4013
+#: ada-lang.c:4001
 msgid "cancelled"
 msgstr ""
 
-#: ada-lang.c:4040
+#: ada-lang.c:4028
 #, possible-c-format
 msgid "Select no more than %d of the above"
 msgstr ""
 
 #. PNH: Do we ever get here?  See ada_search_struct_field,
 #. find_struct_field.
-#: ada-lang.c:7403
+#: ada-lang.c:7388
 msgid "Cannot assign this kind of variant record"
 msgstr ""
 
-#: ada-lang.c:7528 valops.c:2162
+#: ada-lang.c:7513 valops.c:2162
 #, possible-c-format
 msgid "There is no member named %s."
 msgstr ""
 
-#: ada-lang.c:7534
+#: ada-lang.c:7519
 msgid "Attempt to extract a component of a value that is not a record."
 msgstr ""
 
-#: ada-lang.c:7597
+#: ada-lang.c:7582
 #, possible-c-format
 msgid "Type %s is not a structure or union type"
 msgstr ""
 
-#: ada-lang.c:7598
+#: ada-lang.c:7583
 msgid "(null)"
 msgstr ""
 
-#: ada-lang.c:7681 inferior.c:420
+#: ada-lang.c:7666 inferior.c:420
 msgid "<null>"
 msgstr ""
 
-#: ada-lang.c:7683
+#: ada-lang.c:7668
 #, possible-c-format
 msgid "Type %s has no component named %s"
 msgstr ""
 
-#: ada-lang.c:7967
+#: ada-lang.c:7952
 msgid "unexpected null name on descriptive type"
 msgstr ""
 
-#: ada-lang.c:8356
+#: ada-lang.c:8341
 #, possible-c-format
 msgid "Invalid type size for `%s' detected: %s."
 msgstr ""
 
-#: ada-lang.c:8359
+#: ada-lang.c:8344
 #, possible-c-format
 msgid "Invalid type size for <unnamed> detected: %s."
 msgstr ""
 
-#: ada-lang.c:8370
+#: ada-lang.c:8355
 msgid "record type with dynamic size is larger than varsize-limit"
 msgstr ""
 
-#: ada-lang.c:8810
+#: ada-lang.c:8795
 msgid "array type with dynamic size is larger than varsize-limit"
 msgstr ""
 
-#: ada-lang.c:8919
+#: ada-lang.c:8904
 #, possible-c-format
 msgid "unable to read value of %s (%s)"
 msgstr ""
 
-#: ada-lang.c:9208
+#: ada-lang.c:9193
 msgid "'POS only defined on discrete types"
 msgstr ""
 
-#: ada-lang.c:9211
+#: ada-lang.c:9196
 msgid "enumeration value is invalid: can't find 'POS"
 msgstr ""
 
-#: ada-lang.c:9228
+#: ada-lang.c:9213
 msgid "'VAL only defined on discrete types"
 msgstr ""
 
-#: ada-lang.c:9230
+#: ada-lang.c:9215
 msgid "'VAL requires integral argument"
 msgstr ""
 
-#: ada-lang.c:9237
+#: ada-lang.c:9222
 msgid "argument to 'VAL out of range"
 msgstr ""
 
-#: ada-lang.c:9563 ada-lang.c:9601
+#: ada-lang.c:9548 ada-lang.c:9586
 msgid "unable to determine array bounds"
 msgstr ""
 
-#: ada-lang.c:9642
+#: ada-lang.c:9627
 msgid "cannot assign arrays of different length"
 msgstr ""
 
-#: ada-lang.c:9656
+#: ada-lang.c:9641
 msgid "Incompatible types in assignment"
 msgstr ""
 
-#: ada-lang.c:9690
+#: ada-lang.c:9675
 #, possible-c-format
 msgid "second operand of %s must not be zero."
 msgstr ""
 
-#: ada-lang.c:9741
+#: ada-lang.c:9726
 msgid "Attempt to compare array with non-array"
 msgstr ""
 
-#: ada-lang.c:9867
+#: ada-lang.c:9852
 msgid "Left-hand side must be array or record."
 msgstr ""
 
-#: ada-lang.c:9892
+#: ada-lang.c:9877
 msgid "Misplaced 'others' clause"
 msgstr ""
 
-#: ada-lang.c:9897
+#: ada-lang.c:9882
 msgid "Internal error: bad aggregate clause"
 msgstr ""
 
-#: ada-lang.c:9919
+#: ada-lang.c:9904
 msgid "Extra components in aggregate ignored."
 msgstr ""
 
-#: ada-lang.c:9986
+#: ada-lang.c:9971
 msgid "Invalid record component association."
 msgstr ""
 
-#: ada-lang.c:9992
+#: ada-lang.c:9977
 #, possible-c-format
 msgid "Unknown component name: %s."
 msgstr ""
 
-#: ada-lang.c:9997
+#: ada-lang.c:9982
 msgid "Index in component association out of bounds."
 msgstr ""
 
-#: ada-lang.c:10073
+#: ada-lang.c:10058
 msgid "Internal error: miscounted aggregate components."
 msgstr ""
 
-#: ada-lang.c:10497
+#: ada-lang.c:10482
 msgid "Fixed-point values must be assigned to fixed-point variables"
 msgstr ""
 
-#: ada-lang.c:10518
+#: ada-lang.c:10503
 msgid "Operands of fixed-point addition must have the same type"
 msgstr ""
 
-#: ada-lang.c:10544
+#: ada-lang.c:10529
 msgid "Operands of fixed-point subtraction must have the same type"
 msgstr ""
 
 #. Only encountered when an unresolved symbol occurs in a
 #. context other than a function call, in which case, it is
 #. invalid.
-#: ada-lang.c:10647 ada-lang.c:10737
+#: ada-lang.c:10632 ada-lang.c:10722
 #, possible-c-format
 msgid "Unexpected unresolved symbol, %s, during evaluation"
 msgstr ""
 
-#: ada-lang.c:10793
+#: ada-lang.c:10778
 #, possible-c-format
 msgid "cannot subscript or call something of type `%s'"
 msgstr ""
 
-#: ada-lang.c:10829
+#: ada-lang.c:10814
 msgid "cannot subscript or call a record"
 msgstr ""
 
-#: ada-lang.c:10831
+#: ada-lang.c:10816
 #, possible-c-format
 msgid "wrong number of subscripts; expecting %d"
 msgstr ""
 
-#: ada-lang.c:10843 ada-lang.c:10857
+#: ada-lang.c:10828 ada-lang.c:10842
 msgid "element type of array unknown"
 msgstr ""
 
-#: ada-lang.c:10866
+#: ada-lang.c:10851
 msgid "Attempt to index or call something other than an array or function"
 msgstr ""
 
-#: ada-lang.c:10896
+#: ada-lang.c:10881
 msgid "cannot slice a packed array"
 msgstr ""
 
-#: ada-lang.c:10925 valops.c:3802
+#: ada-lang.c:10910 valops.c:3802
 msgid "cannot take slice of non-array"
 msgstr ""
 
-#: ada-lang.c:10964
+#: ada-lang.c:10949
 msgid "Membership test incompletely implemented; always returns true"
 msgstr ""
 
-#: ada-lang.c:11053
+#: ada-lang.c:11038
 #, possible-c-format
 msgid "Invalid operand to '%s"
 msgstr ""
 
 #. Should never happen.
-#: ada-lang.c:11072 ada-lang.c:11106 ada-lang.c:11131 ada-lang.c:11163
+#: ada-lang.c:11057 ada-lang.c:11091 ada-lang.c:11116 ada-lang.c:11148
 msgid "unexpected attribute encountered"
 msgstr ""
 
-#: ada-lang.c:11139
+#: ada-lang.c:11124
 msgid "the 'length attribute applies only to array types"
 msgstr ""
 
-#: ada-lang.c:11143
+#: ada-lang.c:11128
 msgid "unimplemented type attribute"
 msgstr ""
 
-#: ada-lang.c:11213
+#: ada-lang.c:11198
 msgid "'modulus must be applied to modular type"
 msgstr ""
 
-#: ada-lang.c:11310
+#: ada-lang.c:11295
 msgid "Attempt to dereference null array pointer."
 msgstr ""
 
-#: ada-lang.c:11354 eval.c:2685 eval.c:3174 valops.c:1578
+#: ada-lang.c:11339 eval.c:2682 eval.c:3171 valops.c:1578
 msgid "Attempt to take contents of a non-pointer value."
 msgstr ""
 
-#: ada-lang.c:11433 eval.c:2896
+#: ada-lang.c:11418 eval.c:2893
 msgid "Attempt to use a type name as an expression"
 msgstr ""
 
-#: ada-lang.c:11445
+#: ada-lang.c:11430
 #, possible-c-format
 msgid ""
 "Undefined name, ambiguous name, or renaming used in component association: %"
 "s."
 msgstr ""
 
-#: ada-lang.c:11448
+#: ada-lang.c:11433
 msgid "Aggregates only allowed on the right of an assignment"
 msgstr ""
 
-#: ada-lang.c:11451
+#: ada-lang.c:11436
 msgid "aggregate apparently mangled"
 msgstr ""
 
-#: ada-lang.c:11729
+#: ada-lang.c:11714
 msgid "Unknown lower bound, using 1."
 msgstr ""
 
-#: ada-lang.c:11745
+#: ada-lang.c:11730
 #, possible-c-format
 msgid "Unknown upper bound, using %ld."
 msgstr ""
 
-#: ada-lang.c:11949 ada-lang.c:11972
+#: ada-lang.c:11934 ada-lang.c:11957
 msgid ""
 "Your Ada runtime appears to be missing some debugging information.\n"
 "Cannot insert Ada exception catchpoint in this configuration."
 msgstr ""
 
-#: ada-lang.c:11960 ada-lang.c:11983
+#: ada-lang.c:11945 ada-lang.c:11968
 #, possible-c-format
 msgid "Symbol \"%s\" is not a function (class = %d)"
 msgstr ""
 
-#: ada-lang.c:12034
+#: ada-lang.c:12019
 msgid "Unable to insert catchpoint.  Is this an Ada main program?"
 msgstr ""
 
-#: ada-lang.c:12042
+#: ada-lang.c:12027
 msgid "Unable to insert catchpoint. Try to start the program first."
 msgstr ""
 
@@ -784,134 +784,134 @@ msgstr ""
 #. configurable run time mode, or that a-except as been optimized
 #. out by the linker...  In any case, at this point it is not worth
 #. supporting this feature.
-#: ada-lang.c:12051
+#: ada-lang.c:12036
 msgid "Cannot insert Ada exception catchpoints in this configuration."
 msgstr ""
 
-#: ada-lang.c:12221 ada-lang.c:12640 ada-lang.c:12694 ada-lang.c:12729
+#: ada-lang.c:12206 ada-lang.c:12625 ada-lang.c:12679 ada-lang.c:12714
 msgid "unexpected catchpoint type"
 msgstr ""
 
-#: ada-lang.c:12306
+#: ada-lang.c:12291
 #, possible-c-format
 msgid "failed to get exception name: %s"
 msgstr ""
 
-#: ada-lang.c:12412
+#: ada-lang.c:12397
 #, possible-c-format
 msgid "failed to reevaluate internal exception condition for catchpoint %d: %s"
 msgstr ""
 
-#: ada-lang.c:12484
+#: ada-lang.c:12469
 msgid "Error in testing exception condition:\n"
 msgstr ""
 
-#: ada-lang.c:12610 ada-lang.c:12665
+#: ada-lang.c:12595 ada-lang.c:12650
 #, possible-c-format
 msgid "`%s' Ada exception"
 msgstr ""
 
-#: ada-lang.c:12628 ada-lang.c:12681
+#: ada-lang.c:12613 ada-lang.c:12666
 #, possible-c-format
 msgid "`%s' Ada exception handlers"
 msgstr ""
 
-#: ada-lang.c:12655 break-catch-throw.c:315
+#: ada-lang.c:12640 break-catch-throw.c:315
 msgid "Temporary catchpoint "
 msgstr ""
 
-#: ada-lang.c:12656
+#: ada-lang.c:12641
 msgid "Catchpoint "
 msgstr ""
 
-#: ada-lang.c:12670
+#: ada-lang.c:12655
 msgid "all Ada exceptions"
 msgstr ""
 
-#: ada-lang.c:12674
+#: ada-lang.c:12659
 msgid "unhandled Ada exceptions"
 msgstr ""
 
-#: ada-lang.c:12686
+#: ada-lang.c:12671
 msgid "all Ada exceptions handlers"
 msgstr ""
 
-#: ada-lang.c:12690
+#: ada-lang.c:12675
 msgid "failed Ada assertions"
 msgstr ""
 
-#: ada-lang.c:12972
+#: ada-lang.c:12957
 msgid "Condition missing after `if' keyword"
 msgstr ""
 
-#: ada-lang.c:12982 breakpoint.c:877 breakpoint.c:891
+#: ada-lang.c:12967 breakpoint.c:877 breakpoint.c:891
 msgid "Junk at end of expression"
 msgstr ""
 
-#: ada-lang.c:13036 ada-lang.c:13062
+#: ada-lang.c:13021 ada-lang.c:13047
 #, possible-c-format
 msgid "unexpected catchpoint kind (%d)"
 msgstr ""
 
-#: ada-lang.c:13163
+#: ada-lang.c:13148
 #, possible-c-format
 msgid "Catchpoint symbol not found: %s"
 msgstr ""
 
-#: ada-lang.c:13166
+#: ada-lang.c:13151
 #, possible-c-format
 msgid "Unable to insert catchpoint. %s is not a function."
 msgstr ""
 
-#: ada-lang.c:13300
+#: ada-lang.c:13285
 msgid "condition missing after `if' keyword"
 msgstr ""
 
-#: ada-lang.c:13307 break-catch-throw.c:440 breakpoint.c:9132
+#: ada-lang.c:13292 break-catch-throw.c:440 breakpoint.c:9132
 #: breakpoint.c:10997 breakpoint.c:11129 breakpoint.c:11173 breakpoint.c:14783
 msgid "Junk at end of arguments."
 msgstr ""
 
-#: ada-lang.c:13623
+#: ada-lang.c:13608
 msgid "invalid regular expression"
 msgstr ""
 
-#: ada-lang.c:13638
+#: ada-lang.c:13623
 #, possible-c-format
 msgid "All Ada exceptions matching regular expression \"%s\":\n"
 msgstr ""
 
-#: ada-lang.c:13640
+#: ada-lang.c:13625
 msgid "All defined Ada exceptions:\n"
 msgstr ""
 
 #. XXX: gdb_sprint_host_address, type_sprint
-#: ada-lang.c:13820
+#: ada-lang.c:13805
 msgid "Type @"
 msgstr ""
 
-#: ada-lang.c:14374
+#: ada-lang.c:14359
 msgid "\"set ada\" must be followed by the name of a setting.\n"
 msgstr ""
 
-#: ada-lang.c:14457
+#: ada-lang.c:14442
 msgid "Prefix command for changing Ada-specific settings."
 msgstr ""
 
-#: ada-lang.c:14461
+#: ada-lang.c:14446
 msgid "Generic command for showing Ada-specific settings."
 msgstr ""
 
-#: ada-lang.c:14465
+#: ada-lang.c:14450
 msgid "Enable or disable an optimization trusting PAD types over XVS types."
 msgstr ""
 
-#: ada-lang.c:14466
+#: ada-lang.c:14451
 msgid ""
 "Show whether an optimization trusting PAD types over XVS types is activated."
 msgstr ""
 
-#: ada-lang.c:14468
+#: ada-lang.c:14453
 msgid ""
 "This is related to the encoding used by the GNAT compiler.  The debugger\n"
 "should normally trust the contents of PAD types, but certain older versions\n"
@@ -923,19 +923,19 @@ msgid ""
 "this option to \"off\" unless necessary."
 msgstr ""
 
-#: ada-lang.c:14479
+#: ada-lang.c:14464
 msgid ""
 "Enable or disable the output of formal and return types for functions in the "
 "overloads selection menu."
 msgstr ""
 
-#: ada-lang.c:14481
+#: ada-lang.c:14466
 msgid ""
 "Show whether the output of formal and return types for functions in the "
 "overloads selection menu is activated."
 msgstr ""
 
-#: ada-lang.c:14486
+#: ada-lang.c:14471
 msgid ""
 "Catch Ada exceptions, when raised.\n"
 "Usage: catch exception [ARG] [if CONDITION]\n"
@@ -949,7 +949,7 @@ msgid ""
 "exception should cause a stop."
 msgstr ""
 
-#: ada-lang.c:14502
+#: ada-lang.c:14487
 msgid ""
 "Catch Ada exceptions, when handled.\n"
 "Usage: catch handlers [ARG] [if CONDITION]\n"
@@ -959,7 +959,7 @@ msgid ""
 "exception should cause a stop."
 msgstr ""
 
-#: ada-lang.c:14513
+#: ada-lang.c:14498
 msgid ""
 "Catch failed Ada assertions, when raised.\n"
 "Usage: catch assert [if CONDITION]\n"
@@ -967,21 +967,21 @@ msgid ""
 "exception should cause a stop."
 msgstr ""
 
-#: ada-lang.c:14525
+#: ada-lang.c:14510
 msgid "Set the maximum number of bytes allowed in a variable-size object."
 msgstr ""
 
-#: ada-lang.c:14526
+#: ada-lang.c:14511
 msgid "Show the maximum number of bytes allowed in a variable-size object."
 msgstr ""
 
-#: ada-lang.c:14527
+#: ada-lang.c:14512
 msgid ""
 "Attempts to access an object whose size is not a compile-time constant\n"
 "and exceeds this limit will cause an error."
 msgstr ""
 
-#: ada-lang.c:14533
+#: ada-lang.c:14518
 msgid ""
 "List all Ada exception names.\n"
 "Usage: info exceptions [REGEXP]\n"
@@ -989,23 +989,23 @@ msgid ""
 "the regular expression are listed."
 msgstr ""
 
-#: ada-lang.c:14540
+#: ada-lang.c:14525
 msgid "Set Ada maintenance-related variables."
 msgstr ""
 
-#: ada-lang.c:14545
+#: ada-lang.c:14530
 msgid "Show Ada maintenance-related variables."
 msgstr ""
 
-#: ada-lang.c:14552
+#: ada-lang.c:14537
 msgid "Set whether descriptive types generated by GNAT should be ignored."
 msgstr ""
 
-#: ada-lang.c:14553
+#: ada-lang.c:14538
 msgid "Show whether descriptive types generated by GNAT should be ignored."
 msgstr ""
 
-#: ada-lang.c:14554
+#: ada-lang.c:14539
 msgid ""
 "When enabled, the debugger will stop using the DW_AT_GNAT_descriptive_type\n"
 "DWARF attribute."
@@ -1186,7 +1186,7 @@ msgstr ""
 
 #: ada-tasks.c:1202
 #, possible-c-format
-msgid "Name: \"%s\"\n"
+msgid "Name: %s\n"
 msgstr ""
 
 #: ada-tasks.c:1204
@@ -1769,241 +1769,241 @@ msgstr ""
 msgid "Non-zero enables ARC specific debugging."
 msgstr ""
 
-#: arm-linux-nat.c:140 arm-linux-nat.c:177
+#: arm-linux-nat.c:138 arm-linux-nat.c:175
 msgid "Unable to fetch the floating point registers."
 msgstr ""
 
-#: arm-linux-nat.c:201
+#: arm-linux-nat.c:199
 msgid "Unable to store floating point registers."
 msgstr ""
 
-#: arm-linux-nat.c:291 arm-linux-nat.c:316
+#: arm-linux-nat.c:289 arm-linux-nat.c:314
 msgid "Unable to fetch WMMX registers."
 msgstr ""
 
-#: arm-linux-nat.c:335
+#: arm-linux-nat.c:333
 msgid "Unable to store WMMX registers."
 msgstr ""
 
-#: arm-linux-nat.c:390
+#: arm-linux-nat.c:388
 msgid "Unable to fetch VFP registers (for update)."
 msgstr ""
 
-#: arm-linux-nat.c:625
+#: arm-linux-nat.c:623
 #, possible-c-format
 msgid ""
 "arm-linux-gdb supports %d hardware watchpoints but "
 "target                       supports %d"
 msgstr ""
 
-#: arm-linux-nat.c:632
+#: arm-linux-nat.c:630
 #, possible-c-format
 msgid ""
 "arm-linux-gdb supports %d hardware breakpoints but "
 "target                       supports %d"
 msgstr ""
 
-#: arm-linux-nat.c:1250 arm-linux-nat.c:1255
+#: arm-linux-nat.c:1248 arm-linux-nat.c:1253
 msgid "Unexpected error setting breakpoint"
 msgstr ""
 
-#: arm-linux-nat.c:1267 arm-linux-nat.c:1272
+#: arm-linux-nat.c:1265 arm-linux-nat.c:1270
 msgid "Unexpected error setting watchpoint"
 msgstr ""
 
-#: arm-linux-tdep.c:1774
+#: arm-linux-tdep.c:1773
 msgid "arm_linux_init_abi: Floating point model not supported"
 msgstr ""
 
-#: arm-nbsd-nat.c:90
+#: arm-nbsd-nat.c:88
 msgid "unable to fetch general register"
 msgstr ""
 
-#: arm-nbsd-nat.c:139 arm-nbsd-nat.c:187 arm-nbsd-nat.c:224
+#: arm-nbsd-nat.c:137 arm-nbsd-nat.c:185 arm-nbsd-nat.c:222
 msgid "unable to fetch general registers"
 msgstr ""
 
-#: arm-nbsd-nat.c:157
+#: arm-nbsd-nat.c:155
 msgid "unable to fetch floating-point register"
 msgstr ""
 
-#: arm-nbsd-nat.c:281 arm-nbsd-nat.c:358
+#: arm-nbsd-nat.c:279 arm-nbsd-nat.c:356
 #, possible-c-format
 msgid "unable to write register %d to inferior"
 msgstr ""
 
-#: arm-nbsd-nat.c:323
+#: arm-nbsd-nat.c:321
 msgid "unable to store general registers"
 msgstr ""
 
-#: arm-nbsd-nat.c:337
+#: arm-nbsd-nat.c:335
 msgid "unable to fetch floating-point registers"
 msgstr ""
 
-#: arm-nbsd-nat.c:380
+#: arm-nbsd-nat.c:378
 msgid "unable to store floating-point registers"
 msgstr ""
 
-#: arm-nbsd-nat.c:412
+#: arm-nbsd-nat.c:410
 msgid "wrong size of register set in core file"
 msgstr ""
 
-#: arm-nbsd-nat.c:424
+#: arm-nbsd-nat.c:422
 msgid "wrong size of FPA register set in core file"
 msgstr ""
 
-#: arm-nbsd-tdep.c:63 arm-tdep.c:9280
+#: arm-nbsd-tdep.c:63 arm-tdep.c:9279
 msgid "arm_gdbarch_init: bad byte order for float format"
 msgstr ""
 
-#: arm-tdep.c:3352 arm-tdep.c:3374
+#: arm-tdep.c:3351 arm-tdep.c:3373
 #, possible-c-format
 msgid "Invalid VFP CPRC type: %d."
 msgstr ""
 
-#: arm-tdep.c:3874
+#: arm-tdep.c:3873
 #, possible-c-format
 msgid "Hardware FPU type %d\n"
 msgstr ""
 
-#: arm-tdep.c:3876
+#: arm-tdep.c:3875
 #, possible-c-format
 msgid "Software FPU type %d\n"
 msgstr ""
 
 #. i18n: [floating point unit] mask
-#: arm-tdep.c:3878
+#: arm-tdep.c:3877
 msgid "mask: "
 msgstr ""
 
 #. i18n: [floating point unit] flags
-#: arm-tdep.c:3881
+#: arm-tdep.c:3880
 msgid "flags: "
 msgstr ""
 
-#: arm-tdep.c:4110
+#: arm-tdep.c:4109
 #, possible-c-format
 msgid "Bad REGNUM %d"
 msgstr ""
 
 #. Unpredictable behaviour.  Try to do something sensible (switch to ARM
 #. mode, align dest to 4 bytes).
-#: arm-tdep.c:4416
+#: arm-tdep.c:4415
 msgid "Single-stepping BX to non-word-aligned ARM instruction."
 msgstr ""
 
-#: arm-tdep.c:4478
+#: arm-tdep.c:4477
 msgid "Instruction wrote to PC in an unexpected way when single-stepping"
 msgstr ""
 
-#: arm-tdep.c:4484
+#: arm-tdep.c:4483
 msgid "Invalid argument to displaced_write_reg"
 msgstr ""
 
-#: arm-tdep.c:5444
+#: arm-tdep.c:5443
 msgid "copy_extra_ld_st: instruction decode error"
 msgstr ""
 
-#: arm-tdep.c:5758
+#: arm-tdep.c:5757
 msgid "Cannot single-step exception return"
 msgstr ""
 
-#: arm-tdep.c:5878
+#: arm-tdep.c:5877
 #, possible-c-format
 msgid "displaced: LDM: move loaded register r%d to r%d\n"
 msgstr ""
 
-#: arm-tdep.c:5883
+#: arm-tdep.c:5882
 #, possible-c-format
 msgid "displaced: LDM: register r%d already in the right place\n"
 msgstr ""
 
-#: arm-tdep.c:5903
+#: arm-tdep.c:5902
 #, possible-c-format
 msgid "displaced: LDM: restored clobbered register r%d\n"
 msgstr ""
 
-#: arm-tdep.c:5946 arm-tdep.c:6057
+#: arm-tdep.c:5945 arm-tdep.c:6056
 msgid "displaced: Unpredictable LDM or STM with base register r15"
 msgstr ""
 
-#: arm-tdep.c:6015 arm-tdep.c:6101
+#: arm-tdep.c:6014 arm-tdep.c:6100
 #, possible-c-format
 msgid ""
 "displaced: LDM r%d%s, {..., pc}: original reg list %.4x, modified list %.4x\n"
 msgstr ""
 
-#: arm-tdep.c:7117
+#: arm-tdep.c:7116
 #, possible-c-format
 msgid "displaced: POP {..., pc}: original reg list %.4x, modified list %.4x\n"
 msgstr ""
 
-#: arm-tdep.c:7234
+#: arm-tdep.c:7233
 msgid "thumb_process_displaced_16bit_insn: Instruction decode error"
 msgstr ""
 
-#: arm-tdep.c:7441
+#: arm-tdep.c:7440
 msgid "thumb_process_displaced_32bit_insn: Instruction decode error"
 msgstr ""
 
-#: arm-tdep.c:7525
+#: arm-tdep.c:7524
 msgid "arm_process_displaced_insn: Instruction decode error"
 msgstr ""
 
-#: arm-tdep.c:7838
+#: arm-tdep.c:7837
 msgid "arm_extract_return_value: Floating point model not supported"
 msgstr ""
 
-#: arm-tdep.c:8042
+#: arm-tdep.c:8041
 msgid "arm_store_return_value: Floating point model not supported"
 msgstr ""
 
-#: arm-tdep.c:8331
+#: arm-tdep.c:8330
 msgid "\"set arm\" must be followed by an apporpriate subcommand.\n"
 msgstr ""
 
-#: arm-tdep.c:8355 rs6000-tdep.c:7209 rs6000-tdep.c:7236
+#: arm-tdep.c:8354 rs6000-tdep.c:7199 rs6000-tdep.c:7226
 msgid "could not update architecture"
 msgstr ""
 
-#: arm-tdep.c:8372
+#: arm-tdep.c:8371
 #, possible-c-format
 msgid "Invalid fp model accepted: %s."
 msgstr ""
 
-#: arm-tdep.c:8386
+#: arm-tdep.c:8385
 #, possible-c-format
 msgid "The current ARM floating point model is \"auto\" (currently \"%s\").\n"
 msgstr ""
 
-#: arm-tdep.c:8390
+#: arm-tdep.c:8389
 #, possible-c-format
 msgid "The current ARM floating point model is \"%s\".\n"
 msgstr ""
 
-#: arm-tdep.c:8409
+#: arm-tdep.c:8408
 #, possible-c-format
 msgid "Invalid ABI accepted: %s."
 msgstr ""
 
-#: arm-tdep.c:8423
+#: arm-tdep.c:8422
 #, possible-c-format
 msgid "The current ARM ABI is \"auto\" (currently \"%s\").\n"
 msgstr ""
 
-#: arm-tdep.c:8427
+#: arm-tdep.c:8426
 #, possible-c-format
 msgid "The current ARM ABI is \"%s\".\n"
 msgstr ""
 
-#: arm-tdep.c:8436
+#: arm-tdep.c:8435
 #, possible-c-format
 msgid ""
 "The current execution mode assumed (when symbols are unavailable) is \"%s"
 "\".\n"
 msgstr ""
 
-#: arm-tdep.c:8446
+#: arm-tdep.c:8445
 #, possible-c-format
 msgid ""
 "The current execution mode assumed (even when symbols are available) is \"%s"
@@ -2011,57 +2011,57 @@ msgid ""
 msgstr ""
 
 #. Leave it as "auto".
-#: arm-tdep.c:8972
+#: arm-tdep.c:8971
 #, possible-c-format
 msgid "unknown ARM EABI version 0x%x"
 msgstr ""
 
-#: arm-tdep.c:9473
+#: arm-tdep.c:9472
 #, possible-c-format
 msgid "arm_dump_tdep: Lowest pc = 0x%lx"
 msgstr ""
 
-#: arm-tdep.c:9504 arm-tdep.c:9508
+#: arm-tdep.c:9503 arm-tdep.c:9507
 msgid "Various ARM-specific commands."
 msgstr ""
 
-#: arm-tdep.c:9539
+#: arm-tdep.c:9538
 msgid "The valid values are:\n"
 msgstr ""
 
-#: arm-tdep.c:9541
+#: arm-tdep.c:9540
 msgid "The default is \"std\"."
 msgstr ""
 
-#: arm-tdep.c:9545
+#: arm-tdep.c:9544
 msgid "Set the disassembly style."
 msgstr ""
 
-#: arm-tdep.c:9546
+#: arm-tdep.c:9545
 msgid "Show the disassembly style."
 msgstr ""
 
-#: arm-tdep.c:9553
+#: arm-tdep.c:9552
 msgid "Set usage of ARM 32-bit mode."
 msgstr ""
 
-#: arm-tdep.c:9554
+#: arm-tdep.c:9553
 msgid "Show usage of ARM 32-bit mode."
 msgstr ""
 
-#: arm-tdep.c:9555
+#: arm-tdep.c:9554
 msgid "When off, a 26-bit PC will be used."
 msgstr ""
 
-#: arm-tdep.c:9563
+#: arm-tdep.c:9562
 msgid "Set the floating point type."
 msgstr ""
 
-#: arm-tdep.c:9564
+#: arm-tdep.c:9563
 msgid "Show the floating point type."
 msgstr ""
 
-#: arm-tdep.c:9565
+#: arm-tdep.c:9564
 msgid ""
 "auto - Determine the FP typefrom the OS-ABI.\n"
 "softfpa - Software FP, mixed-endian doubles on little-endian ARMs.\n"
@@ -2070,47 +2070,47 @@ msgid ""
 "vfp - VFP co-processor."
 msgstr ""
 
-#: arm-tdep.c:9575
+#: arm-tdep.c:9574
 msgid "Set the ABI."
 msgstr ""
 
-#: arm-tdep.c:9576
+#: arm-tdep.c:9575
 msgid "Show the ABI."
 msgstr ""
 
-#: arm-tdep.c:9584
+#: arm-tdep.c:9583
 msgid "Set the mode assumed when symbols are unavailable."
 msgstr ""
 
-#: arm-tdep.c:9585
+#: arm-tdep.c:9584
 msgid "Show the mode assumed when symbols are unavailable."
 msgstr ""
 
-#: arm-tdep.c:9590
+#: arm-tdep.c:9589
 msgid "Set the mode assumed even when symbols are available."
 msgstr ""
 
-#: arm-tdep.c:9591
+#: arm-tdep.c:9590
 msgid "Show the mode assumed even when symbols are available."
 msgstr ""
 
-#: arm-tdep.c:9597
+#: arm-tdep.c:9596
 msgid "Set ARM debugging."
 msgstr ""
 
-#: arm-tdep.c:9598
+#: arm-tdep.c:9597
 msgid "Show ARM debugging."
 msgstr ""
 
-#: arm-tdep.c:9599
+#: arm-tdep.c:9598
 msgid "When on, arm-specific debugging is enabled."
 msgstr ""
 
-#: arm-tdep.c:11641 arm-tdep.c:12164 rs6000-tdep.c:5850 s390-tdep.c:3095
+#: arm-tdep.c:11640 arm-tdep.c:12163 rs6000-tdep.c:5850 s390-tdep.c:3093
 msgid "no syscall record support\n"
 msgstr ""
 
-#: arm-tdep.c:13075 arm-tdep.c:13290
+#: arm-tdep.c:13074 arm-tdep.c:13289
 #, possible-c-format
 msgid "Process record: error reading memory at addr %s len = %d.\n"
 msgstr ""
@@ -2720,10 +2720,9 @@ msgid ""
 msgstr ""
 
 #: avr-tdep.c:402 avr-tdep.c:420 i386-tdep.c:475 i386-tdep.c:3244
-#: i386-tdep.c:3445 i386-tdep.c:3582 i386-tdep.c:3664 s390-tdep.c:1290
-#: s390-tdep.c:1313 s390-tdep.c:1388 s390-tdep.c:1445 s390-tdep.c:1507
-#: s390-tdep.c:1553 sparc64-tdep.c:897 spu-tdep.c:178 spu-tdep.c:248
-#: spu-tdep.c:309 spu-tdep.c:331 spu-tdep.c:353
+#: i386-tdep.c:3445 i386-tdep.c:3582 i386-tdep.c:3664 s390-tdep.c:1288
+#: s390-tdep.c:1311 s390-tdep.c:1386 s390-tdep.c:1443 s390-tdep.c:1505
+#: s390-tdep.c:1551 sparc64-tdep.c:897
 msgid "invalid regnum"
 msgstr ""
 
@@ -2879,7 +2878,7 @@ msgstr ""
 msgid "Cannot reference non-static field \"%s\""
 msgstr ""
 
-#: ax-gdb.c:1631 eval.c:1000 valops.c:3567
+#: ax-gdb.c:1631 eval.c:997 valops.c:3567
 #, possible-c-format
 msgid "No symbol \"%s\" in namespace \"%s\"."
 msgstr ""
@@ -2948,7 +2947,7 @@ msgstr ""
 msgid "no `%s' found"
 msgstr ""
 
-#: ax-gdb.c:2258 eval.c:1287 eval.c:3071
+#: ax-gdb.c:2258 eval.c:1284 eval.c:3068
 #, possible-c-format
 msgid "There is no field named %s"
 msgstr ""
@@ -2966,12 +2965,12 @@ msgstr ""
 msgid "cannot subscript requested type: cannot call user defined functions"
 msgstr ""
 
-#: ax-gdb.c:2358 eval.c:2313 eval.c:2354 eval.c:2378 m2-lang.c:275
+#: ax-gdb.c:2358 eval.c:2310 eval.c:2351 eval.c:2375 m2-lang.c:275
 #, possible-c-format
 msgid "cannot subscript something of type `%s'"
 msgstr ""
 
-#: ax-gdb.c:2361 eval.c:2316 eval.c:2381 m2-lang.c:278
+#: ax-gdb.c:2361 eval.c:2313 eval.c:2378 m2-lang.c:278
 msgid "cannot subscript requested type"
 msgstr ""
 
@@ -3687,7 +3686,7 @@ msgstr ""
 msgid "Catchpoint %d (%s)"
 msgstr ""
 
-#: breakpoint.c:8069 stack.c:2351 symtab.c:4325 symtab.c:4544 symtab.c:4551
+#: breakpoint.c:8069 stack.c:2351 symtab.c:4318 symtab.c:4537 symtab.c:4544
 msgid "Invalid regexp"
 msgstr ""
 
@@ -5012,7 +5011,7 @@ msgid ""
 msgstr ""
 
 #: btrace.c:2374 btrace.c:2391 btrace.c:2663 btrace.c:2676 record-btrace.c:260
-#: record-btrace.c:2045 record-btrace.c:2797
+#: record-btrace.c:2044 record-btrace.c:2796
 msgid "No trace."
 msgstr ""
 
@@ -5049,8 +5048,8 @@ msgstr ""
 msgid "'%u' is out of range."
 msgstr ""
 
-#: btrace.c:3342 btrace.c:3361 btrace.c:3424 record-btrace.c:2881
-#: record-btrace.c:2902 record-btrace.c:2923
+#: btrace.c:3342 btrace.c:3361 btrace.c:3424 record-btrace.c:2880
+#: record-btrace.c:2901 record-btrace.c:2922
 msgid "Invalid argument."
 msgstr ""
 
@@ -5150,7 +5149,7 @@ msgstr ""
 msgid "File \"%s\" has a different build-id, file skipped"
 msgstr ""
 
-#: build-id.c:78 symfile.c:1298
+#: build-id.c:78 symfile.c:1289
 #, possible-c-format
 msgid "  Trying %s..."
 msgstr ""
@@ -5159,7 +5158,7 @@ msgstr ""
 msgid " no, unable to compute real path\n"
 msgstr ""
 
-#: build-id.c:101 symfile.c:1307
+#: build-id.c:101 symfile.c:1298
 msgid " no, unable to open.\n"
 msgstr ""
 
@@ -5167,7 +5166,7 @@ msgstr ""
 msgid " no, build-id does not match.\n"
 msgstr ""
 
-#: build-id.c:115 symfile.c:1381
+#: build-id.c:115 symfile.c:1372
 msgid " yes!\n"
 msgstr ""
 
@@ -5247,7 +5246,7 @@ msgstr ""
 msgid "@entry can be used only for function parameters, not for \"%s\""
 msgstr ""
 
-#: c-exp.y:1007 eval.c:1370 m2-exp.y:548 p-exp.y:656
+#: c-exp.y:1007 eval.c:1367 m2-exp.y:548 p-exp.y:656
 #, possible-c-format
 msgid "No symbol \"%s\" in specified context."
 msgstr ""
@@ -5454,7 +5453,7 @@ msgstr ""
 msgid "unhandled c_string_type"
 msgstr ""
 
-#: c-lang.c:328 eval.c:3089 valops.c:1425 valops.c:1440 valops.c:1489
+#: c-lang.c:328 eval.c:3086 valops.c:1425 valops.c:1440 valops.c:1489
 msgid "Attempt to take address of value not located in memory."
 msgstr ""
 
@@ -5484,7 +5483,7 @@ msgid "Could not convert character const
 msgstr ""
 
 #. To avoid memory corruption.
-#: c-lang.c:710 eval.c:1486
+#: c-lang.c:710 eval.c:1483
 msgid "Too many array elements"
 msgstr ""
 
@@ -5561,207 +5560,207 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cli/cli-dump.c:174
+#: cli/cli-dump.c:172
 #, possible-c-format
 msgid "writing dump file '%s' (%s)"
 msgstr ""
 
-#: cli/cli-dump.c:191
+#: cli/cli-dump.c:189
 msgid "Missing start address."
 msgstr ""
 
-#: cli/cli-dump.c:196
+#: cli/cli-dump.c:194
 msgid "Missing stop address."
 msgstr ""
 
-#: cli/cli-dump.c:202
+#: cli/cli-dump.c:200
 msgid "Invalid memory address range (start >= end)."
 msgstr ""
 
-#: cli/cli-dump.c:233
+#: cli/cli-dump.c:231
 #, possible-c-format
 msgid "No value to %s."
 msgstr ""
 
-#: cli/cli-dump.c:236
+#: cli/cli-dump.c:234
 msgid "Invalid expression."
 msgstr ""
 
-#: cli/cli-dump.c:253
+#: cli/cli-dump.c:251
 msgid "value is not an lval: address assumed to be zero"
 msgstr ""
 
 #. No, no useable data in this section.
-#: cli/cli-dump.c:422
+#: cli/cli-dump.c:420
 #, possible-c-format
 msgid "skipping section %s...\n"
 msgstr ""
 
-#: cli/cli-dump.c:440
+#: cli/cli-dump.c:438
 #, possible-c-format
 msgid "Failed to read bfd file %s: '%s'."
 msgstr ""
 
-#: cli/cli-dump.c:463 cli/cli-dump.c:515
+#: cli/cli-dump.c:461 cli/cli-dump.c:513
 #, possible-c-format
 msgid "restore: memory write failed (%s)."
 msgstr ""
 
-#: cli/cli-dump.c:473
+#: cli/cli-dump.c:471
 #, possible-c-format
 msgid "Failed to open %s: %s"
 msgstr ""
 
-#: cli/cli-dump.c:486
+#: cli/cli-dump.c:484
 #, possible-c-format
 msgid "Start address is greater than length of binary file %s."
 msgstr ""
 
-#: cli/cli-dump.c:559
+#: cli/cli-dump.c:557
 msgid "Start must be less than end."
 msgstr ""
 
-#: cli/cli-dump.c:587
+#: cli/cli-dump.c:585
 msgid "\"dump srec\" must be followed by a subcommand.\n"
 msgstr ""
 
-#: cli/cli-dump.c:594
+#: cli/cli-dump.c:592
 msgid "\"dump ihex\" must be followed by a subcommand.\n"
 msgstr ""
 
-#: cli/cli-dump.c:601
+#: cli/cli-dump.c:599
 msgid "\"dump verilog\" must be followed by a subcommand.\n"
 msgstr ""
 
-#: cli/cli-dump.c:608
+#: cli/cli-dump.c:606
 msgid "\"dump tekhex\" must be followed by a subcommand.\n"
 msgstr ""
 
-#: cli/cli-dump.c:615
+#: cli/cli-dump.c:613
 msgid "\"dump binary\" must be followed by a subcommand.\n"
 msgstr ""
 
-#: cli/cli-dump.c:622
+#: cli/cli-dump.c:620
 msgid "\"append binary\" must be followed by a subcommand.\n"
 msgstr ""
 
-#: cli/cli-dump.c:633
+#: cli/cli-dump.c:631
 msgid "Dump target code/data to a local file."
 msgstr ""
 
-#: cli/cli-dump.c:638
+#: cli/cli-dump.c:636
 msgid "Append target code/data to a local file."
 msgstr ""
 
-#: cli/cli-dump.c:654
+#: cli/cli-dump.c:652
 msgid "Write target code/data to an srec file."
 msgstr ""
 
-#: cli/cli-dump.c:660
+#: cli/cli-dump.c:658
 msgid "Write target code/data to an intel hex file."
 msgstr ""
 
-#: cli/cli-dump.c:666
+#: cli/cli-dump.c:664
 msgid "Write target code/data to a verilog hex file."
 msgstr ""
 
-#: cli/cli-dump.c:672
+#: cli/cli-dump.c:670
 msgid "Write target code/data to a tekhex file."
 msgstr ""
 
-#: cli/cli-dump.c:678
+#: cli/cli-dump.c:676
 msgid "Write target code/data to a raw binary file."
 msgstr ""
 
-#: cli/cli-dump.c:684
+#: cli/cli-dump.c:682
 msgid "Append target code/data to a raw binary file."
 msgstr ""
 
-#: cli/cli-dump.c:689
+#: cli/cli-dump.c:687
 msgid ""
 "Write contents of memory to an srec file.\n"
 "Arguments are FILE START STOP.  Writes the contents of memory\n"
 "within the range [START .. STOP) to the specified FILE in srec format."
 msgstr ""
 
-#: cli/cli-dump.c:695
+#: cli/cli-dump.c:693
 msgid ""
 "Write the value of an expression to an srec file.\n"
 "Arguments are FILE EXPRESSION.  Writes the value of EXPRESSION\n"
 "to the specified FILE in srec format."
 msgstr ""
 
-#: cli/cli-dump.c:701
+#: cli/cli-dump.c:699
 msgid ""
 "Write contents of memory to an ihex file.\n"
 "Arguments are FILE START STOP.  Writes the contents of memory within\n"
 "the range [START .. STOP) to the specified FILE in intel hex format."
 msgstr ""
 
-#: cli/cli-dump.c:707
+#: cli/cli-dump.c:705
 msgid ""
 "Write the value of an expression to an ihex file.\n"
 "Arguments are FILE EXPRESSION.  Writes the value of EXPRESSION\n"
 "to the specified FILE in intel hex format."
 msgstr ""
 
-#: cli/cli-dump.c:713
+#: cli/cli-dump.c:711
 msgid ""
 "Write contents of memory to a verilog hex file.\n"
 "Arguments are FILE START STOP.  Writes the contents of memory within\n"
 "the range [START .. STOP) to the specified FILE in verilog hex format."
 msgstr ""
 
-#: cli/cli-dump.c:719
+#: cli/cli-dump.c:717
 msgid ""
 "Write the value of an expression to a verilog hex file.\n"
 "Arguments are FILE EXPRESSION.  Writes the value of EXPRESSION\n"
 "to the specified FILE in verilog hex format."
 msgstr ""
 
-#: cli/cli-dump.c:725
+#: cli/cli-dump.c:723
 msgid ""
 "Write contents of memory to a tekhex file.\n"
 "Arguments are FILE START STOP.  Writes the contents of memory\n"
 "within the range [START .. STOP) to the specified FILE in tekhex format."
 msgstr ""
 
-#: cli/cli-dump.c:731
+#: cli/cli-dump.c:729
 msgid ""
 "Write the value of an expression to a tekhex file.\n"
 "Arguments are FILE EXPRESSION.  Writes the value of EXPRESSION\n"
 "to the specified FILE in tekhex format."
 msgstr ""
 
-#: cli/cli-dump.c:737
+#: cli/cli-dump.c:735
 msgid ""
 "Write contents of memory to a raw binary file.\n"
 "Arguments are FILE START STOP.  Writes the contents of memory\n"
 "within the range [START .. STOP) to the specified FILE in binary format."
 msgstr ""
 
-#: cli/cli-dump.c:743
+#: cli/cli-dump.c:741
 msgid ""
 "Write the value of an expression to a raw binary file.\n"
 "Arguments are FILE EXPRESSION.  Writes the value of EXPRESSION\n"
 "to the specified FILE in raw target ordered bytes."
 msgstr ""
 
-#: cli/cli-dump.c:749
+#: cli/cli-dump.c:747
 msgid ""
 "Append contents of memory to a raw binary file.\n"
 "Arguments are FILE START STOP.  Writes the contents of memory within the\n"
 "range [START .. STOP) to the specified FILE in raw target ordered bytes."
 msgstr ""
 
-#: cli/cli-dump.c:755
+#: cli/cli-dump.c:753
 msgid ""
 "Append the value of an expression to a raw binary file.\n"
 "Arguments are FILE EXPRESSION.  Writes the value of EXPRESSION\n"
 "to the specified FILE in raw target ordered bytes."
 msgstr ""
 
-#: cli/cli-dump.c:761
+#: cli/cli-dump.c:759
 msgid ""
 "Restore the contents of FILE to target memory.\n"
 "Arguments are FILE OFFSET START END where all except FILE are optional.\n"
@@ -5889,8 +5888,8 @@ msgid "%s%s %s\n"
 msgstr ""
 
 #: cli/cli-cmds.c:434 cli/cli-script.c:1431 infcmd.c:1224 infcmd.c:1241
-#: infcmd.c:1337 infcmd.c:1951 infcmd.c:2492 symfile.c:1101 symfile.c:1261
-#: symfile.c:2365 symfile.c:2452 tracepoint.c:2063 tracepoint.c:2069
+#: infcmd.c:1337 infcmd.c:1951 infcmd.c:2492 symfile.c:1092 symfile.c:1252
+#: symfile.c:2356 symfile.c:2443 tracepoint.c:2063 tracepoint.c:2069
 msgid "Not confirmed."
 msgstr ""
 
@@ -6017,7 +6016,7 @@ msgstr ""
 msgid "Address range %s to %s:\n"
 msgstr ""
 
-#: cli/cli-cmds.c:1387 dwarf2loc.c:576 dwarf2loc.c:2035 dwarf2loc.c:2071
+#: cli/cli-cmds.c:1387 dwarf2loc.c:574 dwarf2loc.c:2033 dwarf2loc.c:2069
 #: python/py-symbol.c:391 stack.c:2491 stack.c:2602 valops.c:1291
 msgid "No frame selected."
 msgstr ""
@@ -6598,8 +6597,8 @@ msgstr ""
 #: hppa-tdep.c:3127 hppa-tdep.c:3140 infcall.c:945 infcmd.c:1585
 #: language.c:465 mi/mi-out.c:226 mi/mi-out.c:246 mips-tdep.c:305
 #: mips-tdep.c:509 mips-tdep.c:2235 mips-tdep.c:5762 mips-tdep.c:6927
-#: mn10300-tdep.c:127 reggroups.c:274 remote.c:2120 remote.c:8670
-#: remote.c:9945 utils.c:379 utils.c:407
+#: mn10300-tdep.c:127 reggroups.c:274 remote.c:2118 remote.c:8664
+#: remote.c:9937 utils.c:379 utils.c:407
 msgid "bad switch"
 msgstr ""
 
@@ -7197,15 +7196,15 @@ msgid ""
 "current thread in compiled code."
 msgstr ""
 
-#: compile/compile-loc2c.c:876 dwarf2loc.c:3129
+#: compile/compile-loc2c.c:876 dwarf2loc.c:3127
 msgid "No block found for address"
 msgstr ""
 
-#: compile/compile-loc2c.c:881 dwarf2loc.c:3134
+#: compile/compile-loc2c.c:881 dwarf2loc.c:3132
 msgid "No function found for block"
 msgstr ""
 
-#: compile/compile-loc2c.c:958 dwarf2loc.c:3191
+#: compile/compile-loc2c.c:958 dwarf2loc.c:3189
 #, possible-c-format
 msgid "Unsupported size %d in %s"
 msgstr ""
@@ -7497,172 +7496,172 @@ msgstr ""
 msgid "Inferior compiled module address %s is not aligned to BFD required %s."
 msgstr ""
 
-#: compile/compile-object-load.c:188
+#: compile/compile-object-load.c:187
 #, possible-c-format
 msgid "Compiled module \"%s\": multiple symbol definitions: %s"
 msgstr ""
 
-#: compile/compile-object-load.c:199
+#: compile/compile-object-load.c:198
 #, possible-c-format
 msgid "Compiled module \"%s\" section \"%s\": warning: %s"
 msgstr ""
 
-#: compile/compile-object-load.c:211
+#: compile/compile-object-load.c:210
 #, possible-c-format
 msgid ""
 "Cannot resolve relocation to \"%s\" from compiled module \"%s\" section \"%s"
 "\"."
 msgstr ""
 
-#: compile/compile-object-load.c:234
+#: compile/compile-object-load.c:233
 #, possible-c-format
 msgid "Compiled module \"%s\" section \"%s\": dangerous relocation: %s\n"
 msgstr ""
 
-#: compile/compile-object-load.c:247
+#: compile/compile-object-load.c:246
 #, possible-c-format
 msgid "Compiled module \"%s\" section \"%s\": unattached relocation: %s\n"
 msgstr ""
 
-#: compile/compile-object-load.c:267
+#: compile/compile-object-load.c:266
 #, possible-c-format
 msgid "Compile module: warning: %s"
 msgstr ""
 
-#: compile/compile-object-load.c:364
+#: compile/compile-object-load.c:363
 #, possible-c-format
 msgid "Cannot map compiled module \"%s\" section \"%s\": %s"
 msgstr ""
 
-#: compile/compile-object-load.c:372
+#: compile/compile-object-load.c:371
 #, possible-c-format
 msgid ""
 "Cannot write compiled module \"%s\" section \"%s\" to inferior memory range %"
 "s-%s."
 msgstr ""
 
-#: compile/compile-object-load.c:443 compile/compile-object-load.c:452
+#: compile/compile-object-load.c:442 compile/compile-object-load.c:451
 #, possible-c-format
 msgid "No \"%s\" symbol found"
 msgstr ""
 
-#: compile/compile-object-load.c:456
+#: compile/compile-object-load.c:455
 #, possible-c-format
 msgid "Type of \"%s\" is not a pointer"
 msgstr ""
 
-#: compile/compile-object-load.c:462
+#: compile/compile-object-load.c:461
 #, possible-c-format
 msgid "Expected address scope in compiled module \"%s\"."
 msgstr ""
 
-#: compile/compile-object-load.c:468 compile/compile-object-load.c:482
+#: compile/compile-object-load.c:467 compile/compile-object-load.c:481
 #, possible-c-format
 msgid "Invalid type code %d of symbol \"%s\" in compiled module \"%s\"."
 msgstr ""
 
-#: compile/compile-object-load.c:489
+#: compile/compile-object-load.c:488
 #, possible-c-format
 msgid ""
 "Referenced types do not match for symbols \"%s\" and \"%s\" in compiled "
 "module \"%s\"."
 msgstr ""
 
-#: compile/compile-object-load.c:513
+#: compile/compile-object-load.c:512
 #, possible-c-format
 msgid ""
 "Invalid type code %d of first parameter of function \"%s\" in compiled "
 "module \"%s\"."
 msgstr ""
 
-#: compile/compile-object-load.c:520
+#: compile/compile-object-load.c:519
 #, possible-c-format
 msgid ""
 "Invalid type code %d of dereferenced first parameter of function \"%s\" in "
 "compiled module \"%s\"."
 msgstr ""
 
-#: compile/compile-object-load.c:554
+#: compile/compile-object-load.c:553
 #, possible-c-format
 msgid "Invalid register \"%s\" position %s bits or size %s bits"
 msgstr ""
 
-#: compile/compile-object-load.c:560
+#: compile/compile-object-load.c:559
 #, possible-c-format
 msgid "Invalid register \"%s\" type code %d"
 msgstr ""
 
-#: compile/compile-object-load.c:567
+#: compile/compile-object-load.c:566
 #, possible-c-format
 msgid "Register \"%s\" is optimized out."
 msgstr ""
 
-#: compile/compile-object-load.c:569
+#: compile/compile-object-load.c:568
 #, possible-c-format
 msgid "Register \"%s\" is not available."
 msgstr ""
 
-#: compile/compile-object-load.c:574
+#: compile/compile-object-load.c:573
 #, possible-c-format
 msgid "Cannot write register \"%s\" to inferior memory at %s."
 msgstr ""
 
-#: compile/compile-object-load.c:609
+#: compile/compile-object-load.c:608
 #, possible-c-format
 msgid "\"%s\": could not open as compiled module: %s"
 msgstr ""
 
-#: compile/compile-object-load.c:613
+#: compile/compile-object-load.c:612
 #, possible-c-format
 msgid "\"%s\": not in loadable format: %s"
 msgstr ""
 
-#: compile/compile-object-load.c:618
+#: compile/compile-object-load.c:617
 #, possible-c-format
 msgid "\"%s\": not in object format."
 msgstr ""
 
-#: compile/compile-object-load.c:631
+#: compile/compile-object-load.c:630
 #, possible-c-format
 msgid "Cannot read symbols of compiled module \"%s\": %s"
 msgstr ""
 
-#: compile/compile-object-load.c:646
+#: compile/compile-object-load.c:645
 #, possible-c-format
 msgid "Cannot find function \"%s\" in compiled module \"%s\"."
 msgstr ""
 
-#: compile/compile-object-load.c:650
+#: compile/compile-object-load.c:649
 #, possible-c-format
 msgid "Invalid type code %d of function \"%s\" in compiled module \"%s\"."
 msgstr ""
 
-#: compile/compile-object-load.c:671
+#: compile/compile-object-load.c:670
 #, possible-c-format
 msgid "invalid scope %d"
 msgstr ""
 
-#: compile/compile-object-load.c:674
+#: compile/compile-object-load.c:673
 #, possible-c-format
 msgid "Invalid %d parameters of function \"%s\" in compiled module \"%s\"."
 msgstr ""
 
-#: compile/compile-object-load.c:679
+#: compile/compile-object-load.c:678
 #, possible-c-format
 msgid "Invalid return type of function \"%s\" in compiled module \"%s\"."
 msgstr ""
 
-#: compile/compile-object-load.c:690
+#: compile/compile-object-load.c:689
 #, possible-c-format
 msgid "Cannot parse symbols of compiled module \"%s\": %s"
 msgstr ""
 
-#: compile/compile-object-load.c:740
+#: compile/compile-object-load.c:739
 #, possible-c-format
 msgid "Could not find symbol \"%s\" for compiled module \"%s\"."
 msgstr ""
 
-#: compile/compile-object-load.c:747
+#: compile/compile-object-load.c:746
 #, possible-c-format
 msgid "%ld symbols were missing, cannot continue."
 msgstr ""
@@ -7871,18 +7870,14 @@ msgstr ""
 msgid "Couldn't read %s registers from `%s' section in core file."
 msgstr ""
 
-#: corelow.c:783
+#: corelow.c:752
 msgid "Couldn't read NT_AUXV note in core file."
 msgstr ""
 
-#: corelow.c:818
+#: corelow.c:787
 msgid "Couldn't read StackGhost cookie in core file."
 msgstr ""
 
-#: corelow.c:898
-msgid "Couldn't read SPU section in core file."
-msgstr ""
-
 #: cp-abi.c:39
 msgid "ABI doesn't define required function is_constructor_name"
 msgstr ""
@@ -8671,12 +8666,12 @@ msgstr ""
 msgid "I refuse to debug myself!"
 msgstr ""
 
-#: darwin-nat.c:2051 inf-ptrace.c:216 remote.c:5805
+#: darwin-nat.c:2051 inf-ptrace.c:216 remote.c:5799
 #, possible-c-format
 msgid "Attaching to program: %s, %s\n"
 msgstr ""
 
-#: darwin-nat.c:2054 inf-ptrace.c:219 procfs.c:1889 remote.c:5808
+#: darwin-nat.c:2054 inf-ptrace.c:219 procfs.c:1889 remote.c:5802
 #, possible-c-format
 msgid "Attaching to %s\n"
 msgstr ""
@@ -9340,7 +9335,7 @@ msgstr ""
 msgid "block start larger than block end"
 msgstr ""
 
-#: dbxread.c:2720 exec.c:521 exec.c:789 gdbsupport/print-utils.c:77
+#: dbxread.c:2720 exec.c:521 exec.c:787 gdbsupport/print-utils.c:77
 #: gdbsupport/print-utils.c:120 gdbsupport/print-utils.c:288 mdebugread.c:3590
 #: printcmd.c:1013 printcmd.c:2692 psymtab.c:695 psymtab.c:708 target.c:651
 #: utils.c:1599 valprint.c:1362
@@ -9702,7 +9697,7 @@ msgstr ""
 msgid "DWARF-2 expression error: Loop detected (%d)."
 msgstr ""
 
-#: dwarf2expr.c:758 dwarf2loc.c:3045
+#: dwarf2expr.c:758 dwarf2loc.c:3043
 msgid "DW_OP_implicit_value: too few bytes available."
 msgstr ""
 
@@ -9890,110 +9885,110 @@ msgid ""
 "architecture that doesn't support them will have no effect."
 msgstr ""
 
-#: dwarf2loc.c:109
+#: dwarf2loc.c:107
 msgid "access outside bounds of object referenced via synthetic pointer"
 msgstr ""
 
-#: dwarf2loc.c:326
+#: dwarf2loc.c:324
 msgid "dwarf2_find_location_expression: Corrupted DWARF expression."
 msgstr ""
 
-#: dwarf2loc.c:528
+#: dwarf2loc.c:526
 #, possible-c-format
 msgid "Could not find the frame base for \"%s\"."
 msgstr ""
 
-#: dwarf2loc.c:567
+#: dwarf2loc.c:565
 msgid "Bad DW_OP_GNU_variable_value DIE."
 msgstr ""
 
-#: dwarf2loc.c:573
+#: dwarf2loc.c:571
 msgid "Type of DW_OP_GNU_variable_value DIE must be an integer or pointer."
 msgstr ""
 
-#: dwarf2loc.c:633
+#: dwarf2loc.c:631
 msgid "Could not find type for DW_OP_const_type"
 msgstr ""
 
-#: dwarf2loc.c:635
+#: dwarf2loc.c:633
 msgid "DW_OP_const_type has different sizes for type and data"
 msgstr ""
 
-#: dwarf2loc.c:653
+#: dwarf2loc.c:651
 msgid "Location address is not set."
 msgstr ""
 
-#: dwarf2loc.c:685 dwarf2loc.c:1369
+#: dwarf2loc.c:683 dwarf2loc.c:1367
 msgid "Cannot resolve DW_AT_call_data_value"
 msgstr ""
 
-#: dwarf2loc.c:717
+#: dwarf2loc.c:715
 msgid "frame address is not available."
 msgstr ""
 
-#: dwarf2loc.c:773
+#: dwarf2loc.c:771
 #, possible-c-format
 msgid "Entry values and tail call frames debugging is %s.\n"
 msgstr ""
 
-#: dwarf2loc.c:802
+#: dwarf2loc.c:800
 #, possible-c-format
 msgid "DW_AT_call_target is not specified at %s in %s"
 msgstr ""
 
-#: dwarf2loc.c:814
+#: dwarf2loc.c:812
 #, possible-c-format
 msgid ""
 "DW_AT_call_target DWARF block resolving requires known frame which is "
 "currently not available at %s in %s"
 msgstr ""
 
-#: dwarf2loc.c:847
+#: dwarf2loc.c:845
 #, possible-c-format
 msgid "Cannot find function \"%s\" for a call site target at %s in %s"
 msgstr ""
 
-#: dwarf2loc.c:861
+#: dwarf2loc.c:859
 msgid "invalid call site target kind"
 msgstr ""
 
-#: dwarf2loc.c:877
+#: dwarf2loc.c:875
 #, possible-c-format
 msgid "DW_TAG_call_site resolving failed to find function name for address %s"
 msgstr ""
 
-#: dwarf2loc.c:935
+#: dwarf2loc.c:933
 #, possible-c-format
 msgid ""
 "DW_OP_entry_value resolving has found function \"%s\" at %s can call itself "
 "via tail calls"
 msgstr ""
 
-#: dwarf2loc.c:1087
+#: dwarf2loc.c:1085
 #, possible-c-format
 msgid "Unable to find function for PC %s"
 msgstr ""
 
-#: dwarf2loc.c:1174
+#: dwarf2loc.c:1172
 #, possible-c-format
 msgid ""
 "There are no unambiguously determinable intermediate callers or callees "
 "between caller function \"%s\" at %s and callee function \"%s\" at %s"
 msgstr ""
 
-#: dwarf2loc.c:1276
+#: dwarf2loc.c:1274
 #, possible-c-format
 msgid ""
 "DW_OP_entry_value resolving callee gdbarch %s (of %s (%s)) does not match "
 "caller gdbarch %s"
 msgstr ""
 
-#: dwarf2loc.c:1290
+#: dwarf2loc.c:1288
 #, possible-c-format
 msgid "DW_OP_entry_value resolving requires caller of %s (%s)"
 msgstr ""
 
-#: dwarf2loc.c:1307
+#: dwarf2loc.c:1305
 #, possible-c-format
 msgid ""
 "DW_OP_entry_value resolving expects callee %s at %s but the called frame is "
@@ -10002,211 +9997,211 @@ msgstr ""
 
 #. DW_TAG_call_site_parameter will be missing just if GCC could not
 #. determine its value.
-#: dwarf2loc.c:1333
+#: dwarf2loc.c:1331
 #, possible-c-format
 msgid "Cannot find matching parameter at DW_TAG_call_site %s at %s"
 msgstr ""
 
-#: dwarf2loc.c:1512
+#: dwarf2loc.c:1510
 msgid ""
 "DWARF-2 expression error: DW_OP_entry_value is supported only for single "
 "DW_OP_reg* or for DW_OP_fbreg(*)"
 msgstr ""
 
-#: dwarf2loc.c:1594
+#: dwarf2loc.c:1592
 msgid "Should not be able to create a lazy value with an enclosing type"
 msgstr ""
 
-#: dwarf2loc.c:1688
+#: dwarf2loc.c:1686
 msgid ""
 "Can't do read-modify-write to update bitfield; containing word has been "
 "optimized out"
 msgstr ""
 
-#: dwarf2loc.c:1693
+#: dwarf2loc.c:1691
 msgid ""
 "Can't do read-modify-write to update bitfield; containing word is unavailable"
 msgstr ""
 
-#: dwarf2loc.c:1847 dwarf2loc.c:2333
+#: dwarf2loc.c:1845 dwarf2loc.c:2331
 msgid "invalid location type"
 msgstr ""
 
-#: dwarf2loc.c:2028
+#: dwarf2loc.c:2026
 msgid "Invalid use of DW_OP_implicit_pointer"
 msgstr ""
 
-#: dwarf2loc.c:2224
+#: dwarf2loc.c:2222
 msgid "cannot use offset on synthetic pointer to register"
 msgstr ""
 
-#: dwarf2loc.c:2527
+#: dwarf2loc.c:2525
 msgid "cannot find reference address for offset property"
 msgstr ""
 
-#: dwarf2loc.c:2735
+#: dwarf2loc.c:2733
 #, possible-c-format
 msgid "DWARF operator %s cannot be translated to an agent expression"
 msgstr ""
 
-#: dwarf2loc.c:2738
+#: dwarf2loc.c:2736
 #, possible-c-format
 msgid ""
 "Unknown DWARF operator 0x%02x cannot be translated to an agent expression"
 msgstr ""
 
-#: dwarf2loc.c:2756
+#: dwarf2loc.c:2754
 #, possible-c-format
 msgid "bad DWARF register number %d"
 msgstr ""
 
-#: dwarf2loc.c:2771
+#: dwarf2loc.c:2769
 #, possible-c-format
 msgid "Unable to access DWARF register number %d"
 msgstr ""
 
-#: dwarf2loc.c:2772
+#: dwarf2loc.c:2770
 #, possible-c-format
 msgid "Unable to access DWARF register number %s"
 msgstr ""
 
-#: dwarf2loc.c:3047
+#: dwarf2loc.c:3045
 #, possible-c-format
 msgid "Cannot translate DW_OP_implicit_value of %d bytes"
 msgstr ""
 
-#: dwarf2loc.c:3410
+#: dwarf2loc.c:3408
 msgid "Cannot translate empty pieces to agent expressions"
 msgstr ""
 
-#: dwarf2loc.c:3423
+#: dwarf2loc.c:3421
 msgid "Expression pieces exceed word size"
 msgstr ""
 
-#: dwarf2loc.c:3512
+#: dwarf2loc.c:3510
 msgid "invalid label"
 msgstr ""
 
 #. The text is output as "$bad_register_number".
 #. That is why we use the underscores.
-#: dwarf2loc.c:3586
+#: dwarf2loc.c:3584
 msgid "bad_register_number"
 msgstr ""
 
-#: dwarf2loc.c:3609 dwarf2loc.c:3618
+#: dwarf2loc.c:3607 dwarf2loc.c:3616
 #, possible-c-format
 msgid "a variable in $%s"
 msgstr ""
 
-#: dwarf2loc.c:3639
+#: dwarf2loc.c:3637
 #, possible-c-format
 msgid "No block found for address for symbol \"%s\"."
 msgstr ""
 
-#: dwarf2loc.c:3645
+#: dwarf2loc.c:3643
 #, possible-c-format
 msgid "No function found for block for symbol \"%s\"."
 msgstr ""
 
-#: dwarf2loc.c:3658
+#: dwarf2loc.c:3656
 #, possible-c-format
 msgid "Unexpected opcode after DW_OP_breg%u for symbol \"%s\"."
 msgstr ""
 
-#: dwarf2loc.c:3676
+#: dwarf2loc.c:3674
 #, possible-c-format
 msgid "a variable at frame base reg $%s offset %s+%s"
 msgstr ""
 
-#: dwarf2loc.c:3688
+#: dwarf2loc.c:3686
 #, possible-c-format
 msgid "a variable at offset %s from base reg $%s"
 msgstr ""
 
-#: dwarf2loc.c:3720 dwarf2loc.c:3744
+#: dwarf2loc.c:3718 dwarf2loc.c:3742
 #, possible-c-format
 msgid ""
 "a thread-local variable at offset 0x%s in the thread-local storage for `%s'"
 msgstr ""
 
-#: dwarf2loc.c:3755
+#: dwarf2loc.c:3753
 #, possible-c-format
 msgid "the constant %d"
 msgstr ""
 
-#: dwarf2loc.c:3789
+#: dwarf2loc.c:3787
 #, possible-c-format
 msgid "Unrecognized DWARF opcode 0x%02x at %ld"
 msgstr ""
 
-#: dwarf2loc.c:4164
+#: dwarf2loc.c:4162
 msgid ", and "
 msgstr ""
 
-#: dwarf2loc.c:4180
+#: dwarf2loc.c:4178
 msgid "a complex DWARF expression:\n"
 msgstr ""
 
-#: dwarf2loc.c:4202
+#: dwarf2loc.c:4200
 #, possible-c-format
 msgid "an empty %s-byte piece"
 msgstr ""
 
-#: dwarf2loc.c:4205
+#: dwarf2loc.c:4203
 #, possible-c-format
 msgid " [%s-byte piece]"
 msgstr ""
 
-#: dwarf2loc.c:4217
+#: dwarf2loc.c:4215
 #, possible-c-format
 msgid "an empty %s-bit piece"
 msgstr ""
 
-#: dwarf2loc.c:4221
+#: dwarf2loc.c:4219
 #, possible-c-format
 msgid " [%s-bit piece, offset %s bits]"
 msgstr ""
 
-#: dwarf2loc.c:4233
+#: dwarf2loc.c:4231
 #, possible-c-format
 msgid "Corrupted DWARF2 expression for \"%s\"."
 msgstr ""
 
-#: dwarf2loc.c:4287 dwarf2loc.c:4500
+#: dwarf2loc.c:4285 dwarf2loc.c:4498
 #, possible-c-format
 msgid "symbol \"%s\" is optimized out"
 msgstr ""
 
-#: dwarf2loc.c:4397
+#: dwarf2loc.c:4395
 msgid "multi-location:\n"
 msgstr ""
 
-#: dwarf2loc.c:4424
+#: dwarf2loc.c:4422
 #, possible-c-format
 msgid "  Base address %s"
 msgstr ""
 
-#: dwarf2loc.c:4432
+#: dwarf2loc.c:4430
 #, possible-c-format
 msgid "Corrupted DWARF expression for symbol \"%s\"."
 msgstr ""
 
 #. (It would improve readability to print only the minimum
 #. necessary digits of the second number of the range.)
-#: dwarf2loc.c:4450
+#: dwarf2loc.c:4448
 #, possible-c-format
 msgid "  Range %s-%s: "
 msgstr ""
 
-#: dwarf2loc.c:4525
+#: dwarf2loc.c:4523
 msgid "Set entry values and tail call frames debugging."
 msgstr ""
 
-#: dwarf2loc.c:4527
+#: dwarf2loc.c:4525
 msgid "Show entry values and tail call frames debugging."
 msgstr ""
 
-#: dwarf2loc.c:4529
+#: dwarf2loc.c:4527
 msgid ""
 "When non-zero, the process of determining parameter values from function "
 "entry point and tail call frames will be printed."
@@ -11731,34 +11726,34 @@ msgid ""
 "Ada is not currently supported by the index; use the DWARF 5 index instead"
 msgstr ""
 
-#: dwarf-index-write.c:972
+#: dwarf-index-write.c:973
 #, possible-c-format
 msgid "Duplicate string \"%s\" in .debug_str section [in module %s]"
 msgstr ""
 
-#: dwarf-index-write.c:1638
+#: dwarf-index-write.c:1639
 #, possible-c-format
 msgid "Can't open `%s' for writing"
 msgstr ""
 
-#: dwarf-index-write.c:1677
+#: dwarf-index-write.c:1678
 msgid "Cannot use an index to create the index"
 msgstr ""
 
-#: dwarf-index-write.c:1680
+#: dwarf-index-write.c:1681
 msgid "Cannot make an index when the file has multiple .debug_types sections"
 msgstr ""
 
-#: dwarf-index-write.c:1743
+#: dwarf-index-write.c:1744
 msgid "usage: save gdb-index [-dwarf-5] DIRECTORY"
 msgstr ""
 
-#: dwarf-index-write.c:1773
+#: dwarf-index-write.c:1774
 #, possible-c-format
 msgid "Error while writing index for `%s': "
 msgstr ""
 
-#: dwarf-index-write.c:1785
+#: dwarf-index-write.c:1786
 msgid ""
 "Save a gdb-index file.\n"
 "Usage: save gdb-index [-dwarf-5] DIRECTORY\n"
@@ -11793,127 +11788,127 @@ msgstr ""
 msgid "Can't read symbols from %s: %s"
 msgstr ""
 
-#: eval.c:306
+#: eval.c:303
 msgid "too many initializers"
 msgstr ""
 
-#: eval.c:310
+#: eval.c:307
 msgid "don't know which variant you want to set"
 msgstr ""
 
-#: eval.c:371
+#: eval.c:368
 msgid "tuple index out of range"
 msgstr ""
 
-#: eval.c:769
+#: eval.c:766
 msgid "Cannot evaluate function -- may be inlined"
 msgstr ""
 
-#: eval.c:794 valarith.c:493 valarith.c:607
+#: eval.c:791 valarith.c:493 valarith.c:607
 msgid "Xmethod is missing return type."
 msgstr ""
 
-#: eval.c:820
+#: eval.c:817
 msgid ""
 "Expression of type other than \"Function returning ...\" used as function"
 msgstr ""
 
-#: eval.c:915
+#: eval.c:912
 msgid "Non-pointer-to-member value used in pointer-to-member construct"
 msgstr ""
 
 #. For the time being, we don't handle this.
-#: eval.c:1148
+#: eval.c:1145
 #, possible-c-format
 msgid "Call to overloaded function %s requires `this' pointer"
 msgstr ""
 
-#: eval.c:1347
+#: eval.c:1344
 #, possible-c-format
 msgid "Symbol \"%s\" does not have any specific entry value"
 msgstr ""
 
-#: eval.c:1390
+#: eval.c:1387
 #, possible-c-format
 msgid "Register $%s not available."
 msgstr ""
 
-#: eval.c:1403
+#: eval.c:1400
 #, possible-c-format
 msgid "Value of register %s not available."
 msgstr ""
 
-#: eval.c:1512
+#: eval.c:1509
 msgid "(power)set type with unknown size"
 msgstr ""
 
 #. different element modes.
-#: eval.c:1535
+#: eval.c:1532
 msgid "POWERSET tuple elements of different mode"
 msgstr ""
 
-#: eval.c:1539
+#: eval.c:1536
 msgid "incompatible POWERSET tuple elements"
 msgstr ""
 
-#: eval.c:1542
+#: eval.c:1539
 msgid "empty POWERSET tuple range"
 msgstr ""
 
-#: eval.c:1546
+#: eval.c:1543
 msgid "POWERSET tuple element out of range"
 msgstr ""
 
-#: eval.c:1711
+#: eval.c:1708
 msgid "no 'respondsTo:' or 'respondsToSelector:' method"
 msgstr ""
 
-#: eval.c:1720
+#: eval.c:1717
 msgid "no 'methodFor:' or 'methodForSelector:' method"
 msgstr ""
 
-#: eval.c:1739
+#: eval.c:1736
 msgid "Target does not respond to this message selector."
 msgstr ""
 
-#: eval.c:1824
+#: eval.c:1821
 msgid "method address has symbol information with non-function type; skipping"
 msgstr ""
 
-#: eval.c:1877
+#: eval.c:1874
 msgid "Expression of type other than \"method returning ...\" used as a method"
 msgstr ""
 
-#: eval.c:2010
+#: eval.c:2007
 msgid "Cannot perform substring on this type"
 msgstr ""
 
-#: eval.c:2126
+#: eval.c:2123
 msgid "non-pointer-to-member value used in pointer-to-member construct"
 msgstr ""
 
-#: eval.c:2394
+#: eval.c:2391
 #, possible-c-format
 msgid "Too many subscripts for F77 (%d Max)"
 msgstr ""
 
-#: eval.c:2399
+#: eval.c:2396
 msgid "Wrong number of subscripts"
 msgstr ""
 
-#: eval.c:2594
+#: eval.c:2591
 msgid "Non-integral right operand for \"@\" operator."
 msgstr ""
 
-#: eval.c:2664
+#: eval.c:2661
 msgid "Attempt to dereference pointer to member without an object"
 msgstr ""
 
-#: eval.c:2729
+#: eval.c:2726
 msgid "could not determine alignment of type"
 msgstr ""
 
-#: eval.c:2935
+#: eval.c:2932
 msgid "Attempt to use a type as an expression"
 msgstr ""
 
@@ -11925,19 +11920,19 @@ msgstr ""
 #. If there are any cases landing here which mean a user error,
 #. then they should be separate cases, with more descriptive
 #. error messages.
-#: eval.c:2964
+#: eval.c:2961
 msgid "GDB does not (yet) know how to evaluate that kind of expression"
 msgstr ""
 
-#: eval.c:3040
+#: eval.c:3037
 msgid "Attempt to take address of register or constant."
 msgstr ""
 
-#: eval.c:3339
+#: eval.c:3336
 msgid "Internal error in eval_type."
 msgstr ""
 
-#: eval.c:3350
+#: eval.c:3347
 msgid "Can't get dimensions for a non-array type"
 msgstr ""
 
@@ -12039,39 +12034,39 @@ msgstr ""
 msgid "No executable file name was specified"
 msgstr ""
 
-#: exec.c:886 maint.c:445 maint.c:480
+#: exec.c:884 maint.c:445 maint.c:480
 #, possible-c-format
 msgid "file type %s.\n"
 msgstr ""
 
-#: exec.c:912
+#: exec.c:909
 #, possible-c-format
 msgid "Cannot find section for the entry point of %s."
 msgstr ""
 
-#: exec.c:918
+#: exec.c:915
 #, possible-c-format
 msgid "\tEntry point: %s\n"
 msgstr ""
 
-#: exec.c:951
+#: exec.c:948
 msgid "\t<no file loaded>\n"
 msgstr ""
 
-#: exec.c:966
+#: exec.c:963
 msgid "Must specify section name and its virtual address"
 msgstr ""
 
-#: exec.c:994
+#: exec.c:990
 #, possible-c-format
 msgid "Section %s not found"
 msgstr ""
 
-#: exec.c:1030
+#: exec.c:1026
 msgid "Can't create a corefile"
 msgstr ""
 
-#: exec.c:1046
+#: exec.c:1042
 msgid ""
 "Use FILE as program to be debugged.\n"
 "It is read for its symbols, for getting the contents of pure memory,\n"
@@ -12081,7 +12076,7 @@ msgid ""
 "No arg means to have no executable file and no symbols."
 msgstr ""
 
-#: exec.c:1056
+#: exec.c:1052
 msgid ""
 "Use FILE as program for getting contents of pure memory.\n"
 "If FILE cannot be found as specified, your execution directory path\n"
@@ -12089,7 +12084,7 @@ msgid ""
 "No arg means have no executable file."
 msgstr ""
 
-#: exec.c:1063
+#: exec.c:1059
 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"
@@ -12098,11 +12093,11 @@ msgid ""
 "``info files'' command lists all the sections and their addresses."
 msgstr ""
 
-#: exec.c:1070
+#: exec.c:1066
 msgid "Set writing into executable and core files."
 msgstr ""
 
-#: exec.c:1071
+#: exec.c:1067
 msgid "Show writing into executable and core files."
 msgstr ""
 
@@ -12204,7 +12199,7 @@ msgstr ""
 msgid "Debugging of FreeBSD native target is %s.\n"
 msgstr ""
 
-#: fbsd-nat.c:1351 linux-nat.c:1013 procfs.c:2287 procfs.c:2408
+#: fbsd-nat.c:1351 linux-nat.c:1009 procfs.c:2287 procfs.c:2408
 #, possible-c-format
 msgid "[%s exited]\n"
 msgstr ""
@@ -12217,7 +12212,7 @@ msgstr ""
 msgid "Show debugging of FreeBSD lwp module."
 msgstr ""
 
-#: fbsd-nat.c:1678 fbsd-nat.c:1686 linux-nat.c:4669 linux-nat.c:4678
+#: fbsd-nat.c:1678 fbsd-nat.c:1686 linux-nat.c:4540 linux-nat.c:4549
 msgid "Enables printf debugging output."
 msgstr ""
 
@@ -12601,7 +12596,7 @@ msgstr ""
 msgid "Show use of shell to start subprocesses."
 msgstr ""
 
-#: frame.c:308 infrun.c:8744 stack.c:2041 stack.c:2329
+#: frame.c:308 infrun.c:8742 stack.c:2041 stack.c:2329
 msgid "Unable to restore previously selected frame."
 msgstr ""
 
@@ -12852,22 +12847,22 @@ msgstr ""
 msgid "Can't find bfd architecture for corefile (need execfile)."
 msgstr ""
 
-#: gcore.c:456
+#: gcore.c:455
 #, possible-c-format
 msgid "Couldn't make gcore segment: %s"
 msgstr ""
 
-#: gcore.c:555
+#: gcore.c:553
 #, possible-c-format
 msgid "Memory read failed for corefile section, %s bytes at %s."
 msgstr ""
 
-#: gcore.c:564
+#: gcore.c:562
 #, possible-c-format
 msgid "Failed to write corefile contents (%s)."
 msgstr ""
 
-#: gcore.c:598
+#: gcore.c:596
 msgid ""
 "Save a core file with the current state of the debugged process.\n"
 "Usage: generate-core-file [FILENAME]\n"
@@ -12910,7 +12905,7 @@ msgstr ""
 msgid "When non-zero, architecture debugging is enabled."
 msgstr ""
 
-#: gdbarch-selftests.c:77 regcache.c:1526 regcache.c:1696
+#: gdbarch-selftests.c:77 regcache.c:1526 regcache.c:1693
 msgid "target already pushed"
 msgstr ""
 
@@ -12929,49 +12924,49 @@ msgstr ""
 msgid "cannot close \"%s\": %s"
 msgstr ""
 
-#: gdb_bfd.c:706
+#: gdb_bfd.c:705
 #, possible-c-format
 msgid "Can't read data for section '%s' in file '%s'"
 msgstr ""
 
-#: gdb_bfd.c:733 gdb_bfd.c:746
+#: gdb_bfd.c:732 gdb_bfd.c:745
 #, possible-c-format
 msgid "Problem reading \"%s\" for CRC: %s"
 msgstr ""
 
-#: gdb_bfd.c:973
+#: gdb_bfd.c:972
 msgid "List the BFDs that are currently open."
 msgstr ""
 
-#: gdb_bfd.c:978
+#: gdb_bfd.c:977
 msgid "Set whether gdb will share bfds that appear to be the same file."
 msgstr ""
 
-#: gdb_bfd.c:979
+#: gdb_bfd.c:978
 msgid "Show whether gdb will share bfds that appear to be the same file."
 msgstr ""
 
-#: gdb_bfd.c:980
+#: gdb_bfd.c:979
 msgid ""
 "When enabled gdb will reuse existing bfds rather than reopening the\n"
 "same file.  To decide if two files are the same then gdb compares the\n"
 "filename, file size, file modification time, and file inode."
 msgstr ""
 
-#: gdb_bfd.c:990
+#: gdb_bfd.c:989
 msgid "Set bfd cache debugging."
 msgstr ""
 
-#: gdb_bfd.c:991
+#: gdb_bfd.c:990
 msgid "Show bfd cache debugging."
 msgstr ""
 
-#: gdb_bfd.c:992
+#: gdb_bfd.c:991
 msgid "When non-zero, bfd cache specific debugging is enabled."
 msgstr ""
 
-#: gdbserver/target.h:628 gdbserver/target.h:637 gdbserver/target.h:648
-#: gdbserver/target.h:658 remote.c:13774 remote.c:13823 remote.c:13864
+#: gdbserver/target.h:624 gdbserver/target.h:633 gdbserver/target.h:644
+#: gdbserver/target.h:654 remote.c:13752 remote.c:13801 remote.c:13842
 msgid "Target does not support branch tracing."
 msgstr ""
 
@@ -13001,32 +12996,32 @@ msgstr ""
 msgid "That operation is not available on integers of more than%d bytes."
 msgstr ""
 
-#: gdbserver/remote-utils.c:200
+#: gdbserver/remote-utils.c:197
 #, c-format
 msgid "Could not obtain remote address: %s\n"
 msgstr ""
 
-#: gdbserver/remote-utils.c:203
+#: gdbserver/remote-utils.c:200
 #, c-format
 msgid "Remote debugging from host %s, port %s\n"
 msgstr ""
 
-#: gdbserver/remote-utils.c:278
+#: gdbserver/remote-utils.c:275
 #, possible-c-format
 msgid "%s: cannot resolve name: %s"
 msgstr ""
 
-#: gdbserver/remote-utils.c:311
+#: gdbserver/remote-utils.c:308
 #, possible-c-format
 msgid "Invalid 'ai_family' %d\n"
 msgstr ""
 
-#: gdbserver/remote-utils.c:407
+#: gdbserver/remote-utils.c:404
 #, c-format
 msgid "Can't obtain port where we are listening: %s"
 msgstr ""
 
-#: gdbserver/remote-utils.c:410
+#: gdbserver/remote-utils.c:407
 #, c-format
 msgid "Listening on port %s\n"
 msgstr ""
@@ -13098,12 +13093,12 @@ msgstr ""
 msgid "[Unset the inferior's current directory; will use gdbserver's cwd]\n"
 msgstr ""
 
-#: gdbserver/server.c:3586
+#: gdbserver/server.c:3566
 #, possible-c-format
 msgid "Could not find current working directory: %s"
 msgstr ""
 
-#: gdbserver/server.c:3795 maint.c:1089 maint.c:1103
+#: gdbserver/server.c:3775 maint.c:1089 maint.c:1103
 #, c-format
 msgid "Selftests have been disabled for this build.\n"
 msgstr ""
@@ -13113,32 +13108,32 @@ msgstr ""
 msgid "Missing port on hostname '%s'"
 msgstr ""
 
-#: gdbserver/thread-db.c:667
+#: gdbserver/thread-db.c:666
 #, possible-c-format
 msgid "libthread-db-search-path component too long, ignored: %s."
 msgstr ""
 
-#: gdbserver/linux-low.c:748 linux-nat.c:2118
+#: gdbserver/linux-low.c:744 linux-nat.c:2114
 #, possible-c-format
 msgid "unknown ptrace event %d"
 msgstr ""
 
-#: gdbserver/linux-low.c:1174 linux-nat.c:1141
+#: gdbserver/linux-low.c:1170 linux-nat.c:1137
 #, possible-c-format
 msgid "Cannot attach to lwp %d: %s"
 msgstr ""
 
-#: gdbserver/linux-low.c:1566 linux-nat.c:1426
+#: gdbserver/linux-low.c:1562 linux-nat.c:1422
 #, possible-c-format
 msgid "Couldn't reap LWP %d while detaching: %s"
 msgstr ""
 
-#: gdbserver/linux-low.c:1571 linux-nat.c:1431
+#: gdbserver/linux-low.c:1567 linux-nat.c:1427
 #, possible-c-format
 msgid "Reaping LWP %d while detaching returned unexpected status 0x%x"
 msgstr ""
 
-#: gdbserver/linux-low.c:1578 linux-nat.c:1438
+#: gdbserver/linux-low.c:1574 linux-nat.c:1434
 #, possible-c-format
 msgid "Can't detach %s: %s"
 msgstr ""
@@ -14214,125 +14209,125 @@ msgstr ""
 msgid "no frame selected"
 msgstr ""
 
-#: guile/scm-param.c:241 guile/scm-cmd.c:685 python/py-cmd.c:540
-#: python/py-param.c:339
+#: guile/scm-param.c:244 guile/scm-cmd.c:685 python/py-cmd.c:540
+#: python/py-param.c:342
 msgid "This command is not documented."
 msgstr ""
 
-#: guile/scm-param.c:286
+#: guile/scm-param.c:289
 msgid "Error occurred setting parameter."
 msgstr ""
 
-#: guile/scm-param.c:290
+#: guile/scm-param.c:293
 #, possible-c-format
 msgid "Result of %s set-func is not a string."
 msgstr ""
 
-#: guile/scm-param.c:297 guile/scm-param.c:341
+#: guile/scm-param.c:300 guile/scm-param.c:344
 msgid "Error converting show text to host string."
 msgstr ""
 
-#: guile/scm-param.c:322
+#: guile/scm-param.c:325
 #, possible-c-format
 msgid "Error converting parameter value \"%s\" to Scheme string."
 msgstr ""
 
-#: guile/scm-param.c:333
+#: guile/scm-param.c:336
 msgid "Error occurred showing parameter."
 msgstr ""
 
-#: guile/scm-param.c:491 guile/scm-objfile.c:290 guile/scm-value.c:705
+#: guile/scm-param.c:494 guile/scm-objfile.c:290 guile/scm-value.c:705
 #: guile/scm-pretty-print.c:255 guile/scm-progspace.c:330
 msgid "list"
 msgstr ""
 
-#: guile/scm-param.c:497
+#: guile/scm-param.c:500
 msgid "enumeration list is empty"
 msgstr ""
 
-#: guile/scm-param.c:511 guile/scm-param.c:698 guile/scm-type.c:987
+#: guile/scm-param.c:514 guile/scm-param.c:701 guile/scm-type.c:987
 #: guile/scm-type.c:1028 guile/scm-utils.c:205 guile/scm-value.c:618
 #: guile/scm-pretty-print.c:156
 msgid "string"
 msgstr ""
 
-#: guile/scm-param.c:648
+#: guile/scm-param.c:651
 msgid "program error: unhandled type"
 msgstr ""
 
-#: guile/scm-param.c:670
+#: guile/scm-param.c:673
 msgid "string or #f for non-PARAM_FILENAME parameters"
 msgstr ""
 
-#: guile/scm-param.c:711
+#: guile/scm-param.c:714
 msgid "not member of enumeration"
 msgstr ""
 
-#: guile/scm-param.c:719 guile/scm-utils.c:215 guile/scm-breakpoint.c:589
+#: guile/scm-param.c:722 guile/scm-utils.c:215 guile/scm-breakpoint.c:589
 #: guile/scm-breakpoint.c:628
 msgid "boolean"
 msgstr ""
 
-#: guile/scm-param.c:727
+#: guile/scm-param.c:730
 msgid "boolean or #:auto"
 msgstr ""
 
-#: guile/scm-param.c:746
+#: guile/scm-param.c:749
 msgid "integer or #:unlimited"
 msgstr ""
 
-#: guile/scm-param.c:759 guile/scm-type.c:1110 guile/scm-ports.c:1179
+#: guile/scm-param.c:762 guile/scm-type.c:1110 guile/scm-ports.c:1179
 #: guile/scm-ports.c:1221 guile/scm-breakpoint.c:666
 #: guile/scm-breakpoint.c:707
 msgid "integer"
 msgstr ""
 
-#: guile/scm-param.c:778
+#: guile/scm-param.c:781
 msgid "must be >= -1"
 msgstr ""
 
-#: guile/scm-param.c:891 guile/scm-cmd.c:712
+#: guile/scm-param.c:894 guile/scm-cmd.c:712
 msgid "invalid command class argument"
 msgstr ""
 
-#: guile/scm-param.c:897
+#: guile/scm-param.c:900
 msgid "invalid parameter type argument"
 msgstr ""
 
-#: guile/scm-param.c:902
+#: guile/scm-param.c:905
 msgid "#:enum-values can only be provided with PARAM_ENUM"
 msgstr ""
 
-#: guile/scm-param.c:907
+#: guile/scm-param.c:910
 msgid "PARAM_ENUM requires an enum-values argument"
 msgstr ""
 
-#: guile/scm-param.c:912 guile/scm-param.c:917 guile/scm-iterator.c:162
+#: guile/scm-param.c:915 guile/scm-param.c:920 guile/scm-iterator.c:162
 #: guile/scm-cmd.c:705 guile/scm-pretty-print.c:158
 msgid "procedure"
 msgstr ""
 
-#: guile/scm-param.c:988
+#: guile/scm-param.c:991
 msgid "parameter is already registered"
 msgstr ""
 
-#: guile/scm-param.c:1001
+#: guile/scm-param.c:1004
 msgid "parameter exists, \"set\" command is already defined"
 msgstr ""
 
-#: guile/scm-param.c:1006
+#: guile/scm-param.c:1009
 msgid "parameter exists, \"show\" command is already defined"
 msgstr ""
 
-#: guile/scm-param.c:1045
+#: guile/scm-param.c:1048
 msgid "<gdb:parameter> or string"
 msgstr ""
 
-#: guile/scm-param.c:1082
+#: guile/scm-param.c:1085
 msgid "parameter not found"
 msgstr ""
 
-#: guile/scm-param.c:1087
+#: guile/scm-param.c:1090
 msgid "not a parameter"
 msgstr ""
 
@@ -15342,7 +15337,7 @@ msgstr ""
 
 #: i387-tdep.c:111 i387-tdep.c:149 i387-tdep.c:297 i387-tdep.c:307
 #: i387-tdep.c:309 i387-tdep.c:311 i387-tdep.c:313 i387-tdep.c:315
-#: i387-tdep.c:319 tui/tui-stack.c:361 valprint.c:384
+#: i387-tdep.c:319 tui/tui-stack.c:331 valprint.c:384
 msgid "<unavailable>"
 msgstr ""
 
@@ -15926,7 +15921,7 @@ msgstr ""
 msgid "In %s,\n"
 msgstr ""
 
-#: infcmd.c:2710 target.c:1995
+#: infcmd.c:2710 target.c:1993
 msgid "A program is being debugged already.  Kill it? "
 msgstr ""
 
@@ -16286,7 +16281,7 @@ msgstr ""
 msgid "[New inferior %d]\n"
 msgstr ""
 
-#: inferior.c:248 remote.c:5688
+#: inferior.c:248 remote.c:5682
 #, possible-c-format
 msgid "[Inferior %d (%s) detached]\n"
 msgstr ""
@@ -16529,8 +16524,8 @@ msgid ""
 "this platform."
 msgstr ""
 
-#: infrun.c:218 infrun.c:247 mi/mi-main.c:117 target.c:3857 target.c:3910
-#: target.c:3966
+#: infrun.c:218 infrun.c:247 mi/mi-main.c:117 target.c:3855 target.c:3908
+#: target.c:3964
 msgid "Cannot change this setting while the inferior is running."
 msgstr ""
 
@@ -16539,7 +16534,7 @@ msgstr ""
 msgid "Controlling the inferior in non-stop mode is %s.\n"
 msgstr ""
 
-#: infrun.c:272 infrun.c:302
+#: infrun.c:272 infrun.c:300
 #, possible-c-format
 msgid "Observer mode is now %s.\n"
 msgstr ""
@@ -16549,12 +16544,12 @@ msgstr ""
 msgid "Observer mode is %s.\n"
 msgstr ""
 
-#: infrun.c:375
+#: infrun.c:373
 #, possible-c-format
 msgid "Stopping for shared library events is %s.\n"
 msgstr ""
 
-#: infrun.c:406
+#: infrun.c:404
 #, possible-c-format
 msgid "Debugger response to a program call of fork or vfork is \"%s\".\n"
 msgstr ""
@@ -16564,24 +16559,24 @@ msgstr ""
 #. the parent stays blocked.  If we're telling the parent to run
 #. in the foreground, the user will not be able to ctrl-c to get
 #. back the terminal, effectively hanging the debug session.
-#: infrun.c:439
+#: infrun.c:437
 msgid ""
 "Can not resume the parent process over vfork in the foreground while\n"
 "holding the child stopped.  Try \"set detach-on-fork\" or \"set schedule-"
 "multiple\".\n"
 msgstr ""
 
-#: infrun.c:472
+#: infrun.c:470
 #, possible-c-format
 msgid "[Detaching after %s from child %s]\n"
 msgstr ""
 
-#: infrun.c:560
+#: infrun.c:558
 #, possible-c-format
 msgid "[Attaching after %s %s to child %s]\n"
 msgstr ""
 
-#: infrun.c:608
+#: infrun.c:606
 #, possible-c-format
 msgid "[Detaching after fork from parent %s]\n"
 msgstr ""
@@ -16592,191 +16587,191 @@ msgstr ""
 #. forked.  In that case, the resume command
 #. issued is most likely not applicable to the
 #. child, so just warn, and refuse to resume.
-#: infrun.c:798
+#: infrun.c:796
 msgid "Not resuming: switched threads before following fork child."
 msgstr ""
 
-#: infrun.c:978
+#: infrun.c:976
 #, possible-c-format
 msgid "[Detaching vfork parent %s after child exec]\n"
 msgstr ""
 
-#: infrun.c:984
+#: infrun.c:982
 #, possible-c-format
 msgid "[Detaching vfork parent %s after child exit]\n"
 msgstr ""
 
-#: infrun.c:1075
+#: infrun.c:1073
 #, possible-c-format
 msgid "Follow exec mode is \"%s\".\n"
 msgstr ""
 
-#: infrun.c:1157
+#: infrun.c:1155
 #, possible-c-format
 msgid "%s is executing new program: %s\n"
 msgstr ""
 
-#: infrun.c:1174
+#: infrun.c:1172
 #, possible-c-format
 msgid ""
 "Could not load symbols for executable %s.\n"
 "Do you need \"set sysroot\"?"
 msgstr ""
 
-#: infrun.c:1562
+#: infrun.c:1560
 #, possible-c-format
 msgid ""
 "Debugger's willingness to use displaced stepping to step over breakpoints is "
 "%s (currently %s).\n"
 msgstr ""
 
-#: infrun.c:1567
+#: infrun.c:1565
 #, possible-c-format
 msgid ""
 "Debugger's willingness to use displaced stepping to step over breakpoints is "
 "%s.\n"
 msgstr ""
 
-#: infrun.c:1722
+#: infrun.c:1720
 #, possible-c-format
 msgid ""
 "Error accessing memory address %s (%s) for displaced-stepping scratch space."
 msgstr ""
 
-#: infrun.c:1799
+#: infrun.c:1797
 #, possible-c-format
 msgid "disabling displaced stepping: %s"
 msgstr ""
 
-#: infrun.c:2013 infrun.c:3033 infrun.c:3043 utils.c:438
+#: infrun.c:2011 infrun.c:3031 infrun.c:3041 utils.c:438
 msgid "Command aborted."
 msgstr ""
 
-#: infrun.c:2074
+#: infrun.c:2072
 #, possible-c-format
 msgid "Mode for locking scheduler during execution is \"%s\".\n"
 msgstr ""
 
-#: infrun.c:2085
+#: infrun.c:2083
 #, possible-c-format
 msgid "Target '%s' cannot support this command."
 msgstr ""
 
-#: infrun.c:2268
+#: infrun.c:2266
 #, possible-c-format
 msgid "Couldn't deliver signal %s to %s."
 msgstr ""
 
-#: infrun.c:3508
+#: infrun.c:3506
 msgid "Program exited while detaching"
 msgstr ""
 
-#: infrun.c:3811
+#: infrun.c:3809
 msgid "completed.\n"
 msgstr ""
 
-#: infrun.c:4821
+#: infrun.c:4819
 #, possible-c-format
 msgid "unhandled stop_soon: %d"
 msgstr ""
 
-#: infrun.c:4888
+#: infrun.c:4886
 msgid "Cannot fill $_exitsignal with the correct signal number.\n"
 msgstr ""
 
-#: infrun.c:7800
+#: infrun.c:7798
 msgid "Unknown value."
 msgstr ""
 
-#: infrun.c:7855
+#: infrun.c:7853
 msgid ""
 "Cannot remove breakpoints because program is no longer writable.\n"
 "Further execution is probably impossible.\n"
 msgstr ""
 
-#: infrun.c:8008 linux-fork.c:354 linux-fork.c:387
+#: infrun.c:8006 linux-fork.c:354 linux-fork.c:387
 #, possible-c-format
 msgid "[Switching to %s]\n"
 msgstr ""
 
-#: infrun.c:8021
+#: infrun.c:8019
 msgid "No unwaited-for children left.\n"
 msgstr ""
 
-#: infrun.c:8205
+#: infrun.c:8203
 msgid "Signal        Stop\tPrint\tPass to program\tDescription\n"
 msgstr ""
 
-#: infrun.c:8238
+#: infrun.c:8236
 msgid "signal to handle"
 msgstr ""
 
 #. Not a number and not a recognized flag word => complain.
-#: infrun.c:8337
+#: infrun.c:8335
 #, possible-c-format
 msgid "Unrecognized or ambiguous flag word: \"%s\"."
 msgstr ""
 
-#: infrun.c:8352
+#: infrun.c:8350
 #, possible-c-format
 msgid ""
 "%s is used by the debugger.\n"
 "Are you sure you want to change it? "
 msgstr ""
 
-#: infrun.c:8359
+#: infrun.c:8357
 msgid "Not confirmed, unchanged.\n"
 msgstr ""
 
-#: infrun.c:8424
+#: infrun.c:8422
 msgid ""
 "Only signals 1-15 are valid as numeric signals.\n"
 "Use \"info signals\" for a list of symbolic signals."
 msgstr ""
 
-#: infrun.c:8467
+#: infrun.c:8465
 msgid ""
 "\n"
 "Use the \"handle\" command to change these tables.\n"
 msgstr ""
 
-#: infrun.c:8501
+#: infrun.c:8499
 msgid "Unable to read siginfo"
 msgstr ""
 
-#: infrun.c:8524
+#: infrun.c:8522
 msgid "Unable to write siginfo"
 msgstr ""
 
-#: infrun.c:8853
+#: infrun.c:8851
 msgid "Target does not support this operation."
 msgstr ""
 
-#: infrun.c:8863
+#: infrun.c:8861
 msgid "Forward.\n"
 msgstr ""
 
-#: infrun.c:8866
+#: infrun.c:8864
 msgid "Reverse.\n"
 msgstr ""
 
-#: infrun.c:8870
+#: infrun.c:8868
 #, possible-c-format
 msgid "bogus execution_direction value: %d"
 msgstr ""
 
-#: infrun.c:8879
+#: infrun.c:8877
 #, possible-c-format
 msgid "Resuming the execution of threads of all processes is %s.\n"
 msgstr ""
 
-#: infrun.c:8910
+#: infrun.c:8908
 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:8915
+#: infrun.c:8913
 msgid ""
 "Specify how to handle signals.\n"
 "Usage: handle SIGNAL [ACTIONS]\n"
@@ -16803,46 +16798,46 @@ msgid ""
 "all signals cumulatively specified."
 msgstr ""
 
-#: infrun.c:8943
+#: infrun.c:8941
 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:8948
+#: infrun.c:8946
 msgid "Set inferior debugging."
 msgstr ""
 
-#: infrun.c:8949
+#: infrun.c:8947
 msgid "Show inferior debugging."
 msgstr ""
 
-#: infrun.c:8950
+#: infrun.c:8948
 msgid "When non-zero, inferior specific debugging is enabled."
 msgstr ""
 
-#: infrun.c:8957
+#: infrun.c:8955
 msgid "Set displaced stepping debugging."
 msgstr ""
 
-#: infrun.c:8958
+#: infrun.c:8956
 msgid "Show displaced stepping debugging."
 msgstr ""
 
-#: infrun.c:8959
+#: infrun.c:8957
 msgid "When non-zero, displaced stepping specific debugging is enabled."
 msgstr ""
 
-#: infrun.c:8966
+#: infrun.c:8964
 msgid "Set whether gdb controls the inferior in non-stop mode."
 msgstr ""
 
-#: infrun.c:8967
+#: infrun.c:8965
 msgid "Show whether gdb controls the inferior in non-stop mode."
 msgstr ""
 
-#: infrun.c:8968
+#: infrun.c:8966
 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"
@@ -16857,30 +16852,30 @@ msgid ""
 "leave it stopped or free to run as needed."
 msgstr ""
 
-#: infrun.c:9046
+#: infrun.c:9044
 msgid "Set stopping for shared library events."
 msgstr ""
 
-#: infrun.c:9047
+#: infrun.c:9045
 msgid "Show stopping for shared library events."
 msgstr ""
 
-#: infrun.c:9048
+#: infrun.c:9046
 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:9058
+#: infrun.c:9056
 msgid "Set debugger response to a program call of fork or vfork."
 msgstr ""
 
-#: infrun.c:9059
+#: infrun.c:9057
 msgid "Show debugger response to a program call of fork or vfork."
 msgstr ""
 
-#: infrun.c:9060
+#: infrun.c:9058
 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"
@@ -16889,15 +16884,15 @@ msgid ""
 "By default, the debugger will follow the parent process."
 msgstr ""
 
-#: infrun.c:9072
+#: infrun.c:9070
 msgid "Set debugger response to a program call of exec."
 msgstr ""
 
-#: infrun.c:9073
+#: infrun.c:9071
 msgid "Show debugger response to a program call of exec."
 msgstr ""
 
-#: infrun.c:9074
+#: infrun.c:9072
 msgid ""
 "An exec call replaces the program image of a process.\n"
 "\n"
@@ -16916,15 +16911,15 @@ msgid ""
 "By default, the debugger will use the same inferior."
 msgstr ""
 
-#: infrun.c:9095
+#: infrun.c:9093
 msgid "Set mode for locking scheduler during execution."
 msgstr ""
 
-#: infrun.c:9096
+#: infrun.c:9094
 msgid "Show mode for locking scheduler during execution."
 msgstr ""
 
-#: infrun.c:9097
+#: infrun.c:9095
 msgid ""
 "off    == no locking (threads may preempt at any time)\n"
 "on     == full locking (no thread except the current thread may run)\n"
@@ -16937,15 +16932,15 @@ msgid ""
 "execution."
 msgstr ""
 
-#: infrun.c:9109
+#: infrun.c:9107
 msgid "Set mode for resuming threads of all processes."
 msgstr ""
 
-#: infrun.c:9110
+#: infrun.c:9108
 msgid "Show mode for resuming threads of all processes."
 msgstr ""
 
-#: infrun.c:9111
+#: infrun.c:9109
 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"
@@ -16954,30 +16949,30 @@ msgid ""
 "mode (see help set scheduler-locking)."
 msgstr ""
 
-#: infrun.c:9121
+#: infrun.c:9119
 msgid "Set mode of the step operation."
 msgstr ""
 
-#: infrun.c:9122
+#: infrun.c:9120
 msgid "Show mode of the step operation."
 msgstr ""
 
-#: infrun.c:9123
+#: infrun.c:9121
 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:9132
+#: infrun.c:9130
 msgid "Set debugger's willingness to use displaced stepping."
 msgstr ""
 
-#: infrun.c:9133
+#: infrun.c:9131
 msgid "Show debugger's willingness to use displaced stepping."
 msgstr ""
 
-#: infrun.c:9134
+#: infrun.c:9132
 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"
@@ -16989,57 +16984,57 @@ msgid ""
 "use it in all-stop mode (see help set non-stop)."
 msgstr ""
 
-#: infrun.c:9146
+#: infrun.c:9144
 msgid ""
 "Set direction of execution.\n"
 "Options are 'forward' or 'reverse'."
 msgstr ""
 
-#: infrun.c:9148
+#: infrun.c:9146
 msgid "Show direction of execution (forward/reverse)."
 msgstr ""
 
-#: infrun.c:9149
+#: infrun.c:9147
 msgid "Tells gdb whether to execute forward or backward."
 msgstr ""
 
 #. Set/show detach-on-fork: user-settable mode.
-#: infrun.c:9155
+#: infrun.c:9153
 msgid "Set whether gdb will detach the child of a fork."
 msgstr ""
 
-#: infrun.c:9156
+#: infrun.c:9154
 msgid "Show whether gdb will detach the child of a fork."
 msgstr ""
 
-#: infrun.c:9157
+#: infrun.c:9155
 msgid "Tells gdb whether to detach the child of a fork."
 msgstr ""
 
-#: infrun.c:9164
+#: infrun.c:9162
 msgid "Set disabling of debuggee's virtual address space randomization."
 msgstr ""
 
-#: infrun.c:9165
+#: infrun.c:9163
 msgid "Show disabling of debuggee's virtual address space randomization."
 msgstr ""
 
-#: infrun.c:9166
+#: infrun.c:9164
 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:9190
+#: infrun.c:9188
 msgid "Set whether gdb controls the inferior in observer mode."
 msgstr ""
 
-#: infrun.c:9191
+#: infrun.c:9189
 msgid "Show whether gdb controls the inferior in observer mode."
 msgstr ""
 
-#: infrun.c:9192
+#: infrun.c:9190
 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"
@@ -17590,75 +17585,75 @@ msgstr ""
 msgid "IDs of currently known checkpoints."
 msgstr ""
 
-#: linux-nat.c:200
+#: linux-nat.c:196
 #, possible-c-format
 msgid "Debugging of GNU/Linux lwp module is %s.\n"
 msgstr ""
 
-#: linux-nat.c:499
+#: linux-nat.c:495
 msgid "Couldn't do single step"
 msgstr ""
 
-#: linux-nat.c:501
+#: linux-nat.c:497
 msgid "Couldn't wait vfork process"
 msgstr ""
 
-#: linux-nat.c:1224
+#: linux-nat.c:1220
 msgid "Unable to attach: program exited normally."
 msgstr ""
 
-#: linux-nat.c:1226
+#: linux-nat.c:1222
 #, possible-c-format
 msgid "Unable to attach: program exited with code %d."
 msgstr ""
 
-#: linux-nat.c:1237
+#: linux-nat.c:1233
 #, possible-c-format
 msgid "Unable to attach: program terminated with signal %s, %s."
 msgstr ""
 
-#: linux-nat.c:1244
+#: linux-nat.c:1240
 #, possible-c-format
 msgid "unexpected status %d for PID %ld"
 msgstr ""
 
-#: linux-nat.c:1961
+#: linux-nat.c:1957
 msgid "waiting for new child"
 msgstr ""
 
-#: linux-nat.c:1964
+#: linux-nat.c:1960
 #, possible-c-format
 msgid "wait returned unexpected PID %d"
 msgstr ""
 
-#: linux-nat.c:1967
+#: linux-nat.c:1963
 #, possible-c-format
 msgid "wait returned unexpected status 0x%x"
 msgstr ""
 
-#: linux-nat.c:4148 linux-nat.c:4161
+#: linux-nat.c:4019 linux-nat.c:4032
 #, possible-c-format
 msgid "Could not parse signal set: %s"
 msgstr ""
 
-#: linux-nat.c:4193
+#: linux-nat.c:4064
 #, possible-c-format
 msgid "Could not open %s"
 msgstr ""
 
-#: linux-nat.c:4667
+#: linux-nat.c:4538
 msgid "Set debugging of GNU/Linux lwp module."
 msgstr ""
 
-#: linux-nat.c:4668
+#: linux-nat.c:4539
 msgid "Show debugging of GNU/Linux lwp module."
 msgstr ""
 
-#: linux-nat.c:4676
+#: linux-nat.c:4547
 msgid "Set debugging of GNU/Linux namespaces module."
 msgstr ""
 
-#: linux-nat.c:4677
+#: linux-nat.c:4548
 msgid "Show debugging of GNU/Linux namespaces module."
 msgstr ""
 
@@ -17711,7 +17706,7 @@ msgid ""
 "Do you want to stop the program?"
 msgstr ""
 
-#: linux-record.c:2035 ppc-linux-tdep.c:1425
+#: linux-record.c:2035 ppc-linux-tdep.c:1421
 #, possible-c-format
 msgid "Process record and replay target doesn't support syscall number %d\n"
 msgstr ""
@@ -17743,7 +17738,7 @@ msgid "process %ld\n"
 msgstr ""
 
 #: linux-tdep.c:795 linux-tdep.c:876 linux-tdep.c:886 linux-tdep.c:1022
-#: linux-tdep.c:2356 nat/linux-procfs.c:40 nat/linux-procfs.c:137
+#: linux-tdep.c:2284 nat/linux-procfs.c:40 nat/linux-procfs.c:137
 #: sparc64-tdep.c:335
 #, possible-c-format
 msgid "unable to open /proc file '%s'"
@@ -17954,39 +17949,39 @@ msgstr ""
 msgid "Error parsing {s,}maps file '%s' number"
 msgstr ""
 
-#: linux-tdep.c:2425
+#: linux-tdep.c:2353
 #, possible-c-format
 msgid "Failed inferior mmap call for %s bytes, errno is changed."
 msgstr ""
 
-#: linux-tdep.c:2454
+#: linux-tdep.c:2382
 #, possible-c-format
 msgid "Failed inferior munmap call at %s for %s bytes, errno is changed."
 msgstr ""
 
-#: linux-tdep.c:2475
+#: linux-tdep.c:2403
 msgid "Cannot find AT_ENTRY auxiliary vector entry."
 msgstr ""
 
-#: linux-tdep.c:2520
+#: linux-tdep.c:2448
 #, possible-c-format
 msgid "Use of /proc/PID/coredump_filter file to generate corefiles is %s.\n"
 msgstr ""
 
-#: linux-tdep.c:2531
+#: linux-tdep.c:2459
 #, possible-c-format
 msgid "Dumping of mappings marked with the VM_DONTDUMP flag is %s.\n"
 msgstr ""
 
-#: linux-tdep.c:2570
+#: linux-tdep.c:2498
 msgid "Set whether gcore should consider /proc/PID/coredump_filter."
 msgstr ""
 
-#: linux-tdep.c:2572
+#: linux-tdep.c:2500
 msgid "Show whether gcore should consider /proc/PID/coredump_filter."
 msgstr ""
 
-#: linux-tdep.c:2574
+#: linux-tdep.c:2502
 msgid ""
 "Use this command to set whether gcore should consider the contents\n"
 "of /proc/PID/coredump_filter when generating the corefile.  For more "
@@ -17994,17 +17989,17 @@ msgid ""
 "about this file, refer to the manpage of core(5)."
 msgstr ""
 
-#: linux-tdep.c:2582
+#: linux-tdep.c:2510
 msgid ""
 "Set whether gcore should dump mappings marked with the VM_DONTDUMP flag."
 msgstr ""
 
-#: linux-tdep.c:2584
+#: linux-tdep.c:2512
 msgid ""
 "Show whether gcore should dump mappings marked with the VM_DONTDUMP flag."
 msgstr ""
 
-#: linux-tdep.c:2586
+#: linux-tdep.c:2514
 msgid ""
 "Use this command to set whether gcore should dump mappings marked with the\n"
 "VM_DONTDUMP flag (\"dd\" in /proc/PID/smaps) when generating the corefile.  "
@@ -18507,7 +18502,7 @@ msgstr ""
 msgid "Loading debugging symbols from oso: %s\n"
 msgstr ""
 
-#: machoread.c:431 symfile.c:1771
+#: machoread.c:431 symfile.c:1762
 #, possible-c-format
 msgid "`%s': can't read symbols: %s."
 msgstr ""
@@ -18557,7 +18552,7 @@ msgstr ""
 msgid "Could not find specified archive member for OSO name \"%s\""
 msgstr ""
 
-#: machoread.c:712 symfile.c:1764
+#: machoread.c:712 symfile.c:1755
 #, possible-c-format
 msgid "`%s': can't open to read symbols: %s."
 msgstr ""
@@ -18586,16 +18581,16 @@ msgstr ""
 msgid "dsym file found\n"
 msgstr ""
 
-#: machoread.c:893
+#: machoread.c:892
 #, possible-c-format
 msgid "Relocate section '%s' of %s\n"
 msgstr ""
 
-#: machoread.c:978
+#: machoread.c:977
 msgid "Set if printing Mach-O symbols processing."
 msgstr ""
 
-#: machoread.c:979
+#: machoread.c:978
 msgid "Show if printing Mach-O symbols processing."
 msgstr ""
 
@@ -18818,62 +18813,62 @@ msgstr ""
 msgid "error finding working directory"
 msgstr ""
 
-#: main.c:708
+#: main.c:711
 #, possible-c-format
 msgid "%s: TUI mode is not supported"
 msgstr ""
 
-#: main.c:758
+#: main.c:761
 #, possible-c-format
 msgid "%s: empty path for `--data-directory'"
 msgstr ""
 
-#: main.c:769
+#: main.c:772
 #, possible-c-format
 msgid "%s: unable to load tclcommand file \"%s\""
 msgstr ""
 
-#: main.c:806
+#: main.c:809
 #, possible-c-format
 msgid "could not set baud rate to `%s'."
 msgstr ""
 
-#: main.c:819
+#: main.c:822
 #, possible-c-format
 msgid "could not set timeout limit to `%s'."
 msgstr ""
 
-#: main.c:841
+#: main.c:844
 #, possible-c-format
 msgid "Use `%s --help' for a complete list of options."
 msgstr ""
 
-#: main.c:871
+#: main.c:875
 #, possible-c-format
 msgid "%s: `--args' specified but no program specified"
 msgstr ""
 
-#: main.c:906
+#: main.c:910
 #, possible-c-format
 msgid "Excess command line arguments ignored. (%s%s)\n"
 msgstr ""
 
-#: main.c:988
+#: main.c:992
 msgid ""
 "\n"
 "warning: "
 msgstr ""
 
-#: main.c:1062
+#: main.c:1066
 msgid "Can't attach to process and specify a core file at the same time."
 msgstr ""
 
 #. Error messages should no longer be distinguished with extra output.
-#: main.c:1102
+#: main.c:1106
 msgid "warning: "
 msgstr ""
 
-#: main.c:1113
+#: main.c:1117
 #, possible-c-format
 msgid "auto-load: Loading .gdbinit file \"%s\".\n"
 msgstr ""
@@ -18881,7 +18876,7 @@ msgstr ""
 #. Note: The options in the list below are only approximately sorted
 #. in the alphabetical order, so as to group closely related options
 #. together.
-#: main.c:1222
+#: main.c:1226
 msgid ""
 "This is the GNU debugger.  Usage:\n"
 "\n"
@@ -18890,7 +18885,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: main.c:1227
+#: main.c:1231
 msgid ""
 "Selection of debuggee and its files:\n"
 "\n"
@@ -18907,7 +18902,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: main.c:1240
+#: main.c:1244
 msgid ""
 "Initial commands and command files:\n"
 "\n"
@@ -18925,7 +18920,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: main.c:1254
+#: main.c:1258
 msgid ""
 "Output and user interface control:\n"
 "\n"
@@ -18938,11 +18933,11 @@ msgid ""
 "  --nw               Do not use the GUI interface.\n"
 msgstr ""
 
-#: main.c:1264
+#: main.c:1268
 msgid "  --tui              Use a terminal user interface.\n"
 msgstr ""
 
-#: main.c:1268
+#: main.c:1272
 msgid ""
 "  --dbx              DBX compatibility mode.\n"
 "  -q, --quiet, --silent\n"
@@ -18950,7 +18945,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: main.c:1273
+#: main.c:1277
 msgid ""
 "Operating modes:\n"
 "\n"
@@ -18974,35 +18969,35 @@ msgid ""
 "                     Set GDB's data-directory to DIR.\n"
 msgstr ""
 
-#: main.c:1290
+#: main.c:1294
 msgid ""
 "\n"
 "At startup, GDB reads the following init files and executes their commands:\n"
 msgstr ""
 
-#: main.c:1294
+#: main.c:1298
 #, possible-c-format
 msgid "   * system-wide init file: %s\n"
 msgstr ""
 
-#: main.c:1298
+#: main.c:1302
 #, possible-c-format
 msgid "   * user-specific init file: %s\n"
 msgstr ""
 
-#: main.c:1302
+#: main.c:1306
 #, possible-c-format
 msgid "   * local init file (see also 'set auto-load local-gdbinit'): ./%s\n"
 msgstr ""
 
-#: main.c:1305
+#: main.c:1309
 msgid ""
 "\n"
 "For more information, type \"help\" from within GDB, or consult the\n"
 "GDB manual (available as on-line info or a printed manual).\n"
 msgstr ""
 
-#: main.c:1310
+#: main.c:1314
 #, possible-c-format
 msgid "Report bugs to \"%s\".\n"
 msgstr ""
@@ -21713,7 +21708,7 @@ msgstr ""
 msgid "The given mask covers kernel address space and cannot be used.\n"
 msgstr ""
 
-#: ppc-linux-tdep.c:2177
+#: ppc-linux-tdep.c:1882
 msgid "unexpected wordsize"
 msgstr ""
 
@@ -22395,7 +22390,7 @@ msgstr ""
 msgid "Attaching to program `%s', %s\n"
 msgstr ""
 
-#: procfs.c:1912 target.c:3181
+#: procfs.c:1912 target.c:3179
 #, possible-c-format
 msgid "Detaching from program: %s, %s\n"
 msgstr ""
@@ -22532,7 +22527,7 @@ msgstr ""
 msgid "Reading symbols from %s...\n"
 msgstr ""
 
-#: psymtab.c:116 symfile.c:1146
+#: psymtab.c:116 symfile.c:1137
 #, possible-c-format
 msgid "(No debugging symbols found in %s)\n"
 msgstr ""
@@ -22554,29 +22549,29 @@ msgstr ""
 msgid "  Number of psym tables (not yet expanded): %d\n"
 msgstr ""
 
-#: psymtab.c:1815 symmisc.c:410
+#: psymtab.c:1815 symmisc.c:409
 msgid "Missing pc value"
 msgstr ""
 
-#: psymtab.c:1821 symmisc.c:416
+#: psymtab.c:1821 symmisc.c:415
 msgid "Missing source file"
 msgstr ""
 
-#: psymtab.c:1827 symmisc.c:422 symmisc.c:699
+#: psymtab.c:1827 symmisc.c:421 symmisc.c:694
 msgid "Missing objfile name"
 msgstr ""
 
 #. Future proofing: Don't allow OUTFILE to begin with "-".
-#: psymtab.c:1839 symmisc.c:434 symmisc.c:711
+#: psymtab.c:1839 symmisc.c:433 symmisc.c:706
 #, possible-c-format
 msgid "Unknown option: %s"
 msgstr ""
 
-#: psymtab.c:1847 symmisc.c:442
+#: psymtab.c:1847 symmisc.c:441
 msgid "Must specify at most one of -pc and -source"
 msgstr ""
 
-#: psymtab.c:1854 symmisc.c:449 symmisc.c:723
+#: psymtab.c:1854 symmisc.c:448 symmisc.c:718
 msgid "Junk at end of command"
 msgstr ""
 
@@ -22673,7 +22668,7 @@ msgstr ""
 msgid "Command object already initialized."
 msgstr ""
 
-#: python/py-cmd.c:476 python/py-param.c:679
+#: python/py-cmd.c:476 python/py-param.c:682
 msgid "Invalid command class argument."
 msgstr ""
 
@@ -23221,7 +23216,7 @@ msgid "Must be gdb.RecordInstruction"
 msgstr ""
 
 #: python/py-record-btrace.c:90 python/py-record-btrace.c:96
-#: record-btrace.c:2837
+#: record-btrace.c:2836
 msgid "No such instruction."
 msgstr ""
 
@@ -23356,67 +23351,67 @@ msgstr ""
 msgid "Error while creating breakpoint from GDB."
 msgstr ""
 
-#: python/py-param.c:139
+#: python/py-param.c:142
 msgid "String required for filename."
 msgstr ""
 
-#: python/py-param.c:170
+#: python/py-param.c:173
 msgid "ENUM arguments must be a string."
 msgstr ""
 
-#: python/py-param.c:184
+#: python/py-param.c:187
 msgid "The value must be member of an enumeration."
 msgstr ""
 
-#: python/py-param.c:195
+#: python/py-param.c:198
 msgid "A boolean argument is required."
 msgstr ""
 
-#: python/py-param.c:208
+#: python/py-param.c:211
 msgid "A boolean or None is required"
 msgstr ""
 
-#: python/py-param.c:238
+#: python/py-param.c:241
 msgid "The value must be integer."
 msgstr ""
 
-#: python/py-param.c:276
+#: python/py-param.c:279
 msgid "Range exceeded."
 msgstr ""
 
-#: python/py-param.c:289
+#: python/py-param.c:292
 msgid "Unhandled type in parameter value."
 msgstr ""
 
-#: python/py-param.c:310
+#: python/py-param.c:313
 msgid "Cannot delete a parameter's value."
 msgstr ""
 
-#: python/py-param.c:365
+#: python/py-param.c:368
 msgid "Parameter must return a string value."
 msgstr ""
 
-#: python/py-param.c:589
+#: python/py-param.c:592
 msgid "An enumeration is required for PARAM_ENUM."
 msgstr ""
 
-#: python/py-param.c:596
+#: python/py-param.c:599
 msgid "The enumeration is not a sequence."
 msgstr ""
 
-#: python/py-param.c:606
+#: python/py-param.c:609
 msgid "The enumeration is empty."
 msgstr ""
 
-#: python/py-param.c:622
+#: python/py-param.c:625
 msgid "The enumeration item not a string."
 msgstr ""
 
-#: python/py-param.c:692
+#: python/py-param.c:695
 msgid "Invalid parameter class argument."
 msgstr ""
 
-#: python/py-param.c:699
+#: python/py-param.c:702
 msgid "Only PARAM_ENUM accepts a fourth argument."
 msgstr ""
 
@@ -23674,104 +23669,104 @@ msgstr ""
 msgid "Bad record function-call-history-size."
 msgstr ""
 
-#: record-btrace.c:1561
+#: record-btrace.c:1560
 msgid "Cannot write registers while replaying."
 msgstr ""
 
-#: record-btrace.c:1726
+#: record-btrace.c:1725
 msgid "Registers are not available in btrace record history"
 msgstr ""
 
-#: record-btrace.c:1734
+#: record-btrace.c:1733
 msgid "No caller in btrace record history"
 msgstr ""
 
-#: record-btrace.c:2445
+#: record-btrace.c:2444
 msgid "invalid stepping type."
 msgstr ""
 
-#: record-btrace.c:2829
+#: record-btrace.c:2828
 msgid "Instruction number out of range."
 msgstr ""
 
-#: record-btrace.c:2952
+#: record-btrace.c:2951
 msgid "\"set record btrace\" must be followed by an appropriate subcommand.\n"
 msgstr ""
 
-#: record-btrace.c:2972
+#: record-btrace.c:2971
 #, possible-c-format
 msgid "Replay memory access is %s.\n"
 msgstr ""
 
-#: record-btrace.c:2982 record-btrace.c:2993 record-btrace.c:3013
-#: record-btrace.c:3018 record-btrace.c:3048
+#: record-btrace.c:2981 record-btrace.c:2992 record-btrace.c:3012
+#: record-btrace.c:3017 record-btrace.c:3047
 #, possible-c-format
 msgid "Trailing junk: '%s'."
 msgstr ""
 
-#: record-btrace.c:3023
+#: record-btrace.c:3022
 msgid "Bad format.  See \"help set record btrace cpu\"."
 msgstr ""
 
-#: record-btrace.c:3026
+#: record-btrace.c:3025
 msgid "Cpu family too big."
 msgstr ""
 
-#: record-btrace.c:3029
+#: record-btrace.c:3028
 msgid "Cpu model too big."
 msgstr ""
 
-#: record-btrace.c:3032
+#: record-btrace.c:3031
 msgid "Cpu stepping too big."
 msgstr ""
 
-#: record-btrace.c:3053
+#: record-btrace.c:3052
 msgid "btrace cpu is 'auto'.\n"
 msgstr ""
 
-#: record-btrace.c:3057
+#: record-btrace.c:3056
 msgid "btrace cpu is 'none'.\n"
 msgstr ""
 
-#: record-btrace.c:3065
+#: record-btrace.c:3064
 #, possible-c-format
 msgid "btrace cpu is 'intel: %u/%u'.\n"
 msgstr ""
 
-#: record-btrace.c:3069
+#: record-btrace.c:3068
 #, possible-c-format
 msgid "btrace cpu is 'intel: %u/%u/%u'.\n"
 msgstr ""
 
-#: record-btrace.c:3077
+#: record-btrace.c:3076
 msgid "Internal error: bad cpu state."
 msgstr ""
 
-#: record-btrace.c:3085
+#: record-btrace.c:3084
 msgid ""
 "\"set record btrace bts\" must be followed by an appropriate subcommand.\n"
 msgstr ""
 
-#: record-btrace.c:3104
+#: record-btrace.c:3103
 msgid ""
 "\"set record btrace pt\" must be followed by an appropriate subcommand.\n"
 msgstr ""
 
-#: record-btrace.c:3125
+#: record-btrace.c:3124
 #, possible-c-format
 msgid "The record/replay bts buffer size is %s.\n"
 msgstr ""
 
-#: record-btrace.c:3136
+#: record-btrace.c:3135
 #, possible-c-format
 msgid "The record/replay pt buffer size is %s.\n"
 msgstr ""
 
-#: record-btrace.c:3146
+#: record-btrace.c:3145
 msgid "Start branch trace recording."
 msgstr ""
 
-#: record-btrace.c:3151
+#: record-btrace.c:3150
 msgid ""
 "Start branch trace recording in Branch Trace Store (BTS) format.\n"
 "\n"
@@ -23779,30 +23774,30 @@ msgid ""
 "This format may not be available on all processors."
 msgstr ""
 
-#: record-btrace.c:3159
+#: record-btrace.c:3158
 msgid ""
 "Start branch trace recording in Intel Processor Trace format.\n"
 "\n"
 "This format may not be available on all processors."
 msgstr ""
 
-#: record-btrace.c:3166 record.c:811 record-full.c:2835
+#: record-btrace.c:3165 record.c:811 record-full.c:2834
 msgid "Set record options."
 msgstr ""
 
-#: record-btrace.c:3170 record.c:815 record-full.c:2839
+#: record-btrace.c:3169 record.c:815 record-full.c:2838
 msgid "Show record options."
 msgstr ""
 
-#: record-btrace.c:3174
+#: record-btrace.c:3173
 msgid "Set what memory accesses are allowed during replay."
 msgstr ""
 
-#: record-btrace.c:3175
+#: record-btrace.c:3174
 msgid "Show what memory accesses are allowed during replay."
 msgstr ""
 
-#: record-btrace.c:3177
+#: record-btrace.c:3176
 msgid ""
 "Default is READ-ONLY.\n"
 "\n"
@@ -23815,7 +23810,7 @@ msgid ""
 "replay."
 msgstr ""
 
-#: record-btrace.c:3189
+#: record-btrace.c:3188
 msgid ""
 "Set the cpu to be used for trace decode.\n"
 "\n"
@@ -23832,35 +23827,35 @@ msgid ""
 "When set to \"none\", errata workarounds are disabled."
 msgstr ""
 
-#: record-btrace.c:3202
+#: record-btrace.c:3201
 msgid "Automatically determine the cpu to be used for trace decode."
 msgstr ""
 
-#: record-btrace.c:3206
+#: record-btrace.c:3205
 msgid "Do not enable errata workarounds for trace decode."
 msgstr ""
 
-#: record-btrace.c:3210
+#: record-btrace.c:3209
 msgid "Show the cpu to be used for trace decode."
 msgstr ""
 
-#: record-btrace.c:3215
+#: record-btrace.c:3214
 msgid "Set record btrace bts options."
 msgstr ""
 
-#: record-btrace.c:3220
+#: record-btrace.c:3219
 msgid "Show record btrace bts options."
 msgstr ""
 
-#: record-btrace.c:3226
+#: record-btrace.c:3225
 msgid "Set the record/replay bts buffer size."
 msgstr ""
 
-#: record-btrace.c:3227
+#: record-btrace.c:3226
 msgid "Show the record/replay bts buffer size."
 msgstr ""
 
-#: record-btrace.c:3227
+#: record-btrace.c:3226
 msgid ""
 "When starting recording request a trace buffer of this size.  The actual "
 "buffer size may differ from the requested size.  Use \"info record\" to see "
@@ -23872,23 +23867,23 @@ msgid ""
 "The trace buffer size may not be changed while recording."
 msgstr ""
 
-#: record-btrace.c:3239
+#: record-btrace.c:3238
 msgid "Set record btrace pt options."
 msgstr ""
 
-#: record-btrace.c:3244
+#: record-btrace.c:3243
 msgid "Show record btrace pt options."
 msgstr ""
 
-#: record-btrace.c:3250
+#: record-btrace.c:3249
 msgid "Set the record/replay pt buffer size."
 msgstr ""
 
-#: record-btrace.c:3251
+#: record-btrace.c:3250
 msgid "Show the record/replay pt buffer size."
 msgstr ""
 
-#: record-btrace.c:3251
+#: record-btrace.c:3250
 msgid ""
 "Bigger buffers allow longer recording but also take more time to process the "
 "recorded execution.\n"
@@ -24257,35 +24252,35 @@ msgid "Failed to create 'precord' sectio
 msgstr ""
 
 #. Succeeded.
-#: record-full.c:2729
+#: record-full.c:2728
 #, possible-c-format
 msgid "Saved core file %s with execution log.\n"
 msgstr ""
 
-#: record-full.c:2790
+#: record-full.c:2789
 msgid "\"set record full\" must be followed by an appropriate subcommand.\n"
 msgstr ""
 
-#: record-full.c:2819
+#: record-full.c:2818
 msgid "Start full execution recording."
 msgstr ""
 
-#: record-full.c:2823
+#: record-full.c:2822
 msgid ""
 "Restore the execution log from a file.\n"
 "Argument is filename.  File must be created with 'record save'."
 msgstr ""
 
-#: record-full.c:2844
+#: record-full.c:2843
 msgid "Set whether record/replay stops when record/replay buffer becomes full."
 msgstr ""
 
-#: record-full.c:2845
+#: record-full.c:2844
 msgid ""
 "Show whether record/replay stops when record/replay buffer becomes full."
 msgstr ""
 
-#: record-full.c:2847
+#: record-full.c:2846
 msgid ""
 "Default is ON.\n"
 "When ON, if the record/replay buffer becomes full, ask user what to do.\n"
@@ -24293,32 +24288,32 @@ msgid ""
 "delete the oldest recorded instruction to make room for each new one."
 msgstr ""
 
-#: record-full.c:2864
+#: record-full.c:2863
 msgid "Set record/replay buffer limit."
 msgstr ""
 
-#: record-full.c:2865
+#: record-full.c:2864
 msgid "Show record/replay buffer limit."
 msgstr ""
 
-#: record-full.c:2865
+#: record-full.c:2864
 msgid ""
 "Set the maximum number of instructions to be stored in the\n"
 "record/replay buffer.  A value of either \"unlimited\" or zero means no\n"
 "limit.  Default is 200000."
 msgstr ""
 
-#: record-full.c:2882
+#: record-full.c:2881
 msgid ""
 "Set whether query if PREC cannot record memory change of next instruction."
 msgstr ""
 
-#: record-full.c:2884
+#: record-full.c:2883
 msgid ""
 "Show whether query if PREC cannot record memory change of next instruction."
 msgstr ""
 
-#: record-full.c:2886
+#: record-full.c:2885
 msgid ""
 "Default is OFF.\n"
 "When ON, query if PREC cannot record memory change of next instruction."
@@ -24340,7 +24335,7 @@ msgstr ""
 msgid "Register cache flushed.\n"
 msgstr ""
 
-#: regcache.c:1816
+#: regcache.c:1809
 msgid "Force gdb to flush its register cache (maintainer command)."
 msgstr ""
 
@@ -24444,7 +24439,7 @@ msgid ""
 "interrupt the execution of Linux kernel.\n"
 msgstr ""
 
-#: remote.c:1487 remote.c:4223
+#: remote.c:1487 remote.c:4221
 #, possible-c-format
 msgid "Invalid value for interrupt_sequence_mode: %s."
 msgstr ""
@@ -24531,7 +24526,7 @@ msgstr ""
 msgid "Enabled packet %s (%s) not recognized by stub"
 msgstr ""
 
-#: remote.c:2152
+#: remote.c:2150
 #, possible-c-format
 msgid "Could not find config for %s"
 msgstr ""
@@ -24540,39 +24535,39 @@ msgstr ""
 #. We're out of sync with the target now.  Did it continue
 #. or not?  We can't tell which thread it was in non-stop,
 #. so just ignore this.
-#: remote.c:2324 remote.c:3934 remote.c:3959 remote.c:4071 remote.c:5286
-#: remote.c:7673 remote.c:7771 remote.c:10526 remote.c:14121
+#: remote.c:2322 remote.c:3932 remote.c:3957 remote.c:4069 remote.c:5280
+#: remote.c:7667 remote.c:7765 remote.c:10518 remote.c:14099
 #, possible-c-format
 msgid "Remote failure reply: %s"
 msgstr ""
 
-#: remote.c:2964
+#: remote.c:2962
 #, possible-c-format
 msgid "invalid remote ptid: %s"
 msgstr ""
 
-#: remote.c:3247
+#: remote.c:3245
 msgid "Incomplete response to threadinfo request."
 msgstr ""
 
 #. This is an answer to a different request.
-#: remote.c:3250
+#: remote.c:3248
 msgid "ERROR RMT Thread info mismatch."
 msgstr ""
 
-#: remote.c:3264
+#: remote.c:3262
 msgid "ERROR RMT: threadinfo tag mismatch."
 msgstr ""
 
-#: remote.c:3272
+#: remote.c:3270
 msgid "ERROR RMT: length of threadid is not 16."
 msgstr ""
 
-#: remote.c:3287
+#: remote.c:3285
 msgid "ERROR RMT: 'exists' length too long."
 msgstr ""
 
-#: remote.c:3311
+#: remote.c:3309
 msgid "ERROR RMT: unknown thread info tag."
 msgstr ""
 
@@ -24584,907 +24579,907 @@ msgstr ""
 #. exit
 #. wait for packet, then exit
 #.
-#: remote.c:3423
+#: remote.c:3421
 msgid "HMM: threadlist did not echo arg thread, dropping it."
 msgstr ""
 
-#: remote.c:3430
+#: remote.c:3428
 msgid "RMT ERROR : failed to get remote thread list."
 msgstr ""
 
-#: remote.c:3438
+#: remote.c:3436
 msgid "RMT ERROR: threadlist response longer than requested."
 msgstr ""
 
-#: remote.c:3466
+#: remote.c:3464
 msgid "Remote fetch threadlist -infinite loop-."
 msgstr ""
 
-#: remote.c:3701
+#: remote.c:3699
 msgid "threads"
 msgstr ""
 
-#: remote.c:3850
+#: remote.c:3848
 msgid "remote_threads_extra_info"
 msgstr ""
 
-#: remote.c:4106 remote.c:4133
+#: remote.c:4104 remote.c:4131
 #, possible-c-format
 msgid "Target reported unsupported offsets: %s"
 msgstr ""
 
-#: remote.c:4131
+#: remote.c:4129
 #, possible-c-format
 msgid "Malformed response to offset query, %s"
 msgstr ""
 
-#: remote.c:4179
+#: remote.c:4177
 msgid "Can not handle qOffsets TextSeg response with this symbol file"
 msgstr ""
 
-#: remote.c:4558
+#: remote.c:4556
 #, possible-c-format
 msgid "Remote replied unexpectedly to '%s': %s"
 msgstr ""
 
-#: remote.c:4611
+#: remote.c:4609
 msgid "Non-stop mode requested, but remote does not support non-stop"
 msgstr ""
 
-#: remote.c:4618
+#: remote.c:4616
 #, possible-c-format
 msgid "Remote refused setting non-stop mode with: %s"
 msgstr ""
 
-#: remote.c:4635
+#: remote.c:4633
 #, possible-c-format
 msgid "Remote refused setting all-stop mode with: %s"
 msgstr ""
 
-#: remote.c:4659 remote.c:4768
+#: remote.c:4657 remote.c:4766
 msgid "The target is not running (try extended-remote?)"
 msgstr ""
 
-#: remote.c:4805
+#: remote.c:4803
 msgid "Trace is already running on the target.\n"
 msgstr ""
 
-#: remote.c:4948
+#: remote.c:4946
 msgid ""
 "The remote protocol may be unreliable over UDP.\n"
 "Some events may be lost, rendering further debugging impossible."
 msgstr ""
 
-#: remote.c:4984
+#: remote.c:4982
 #, possible-c-format
 msgid "Remote refused setting permissions with: %s"
 msgstr ""
 
-#: remote.c:5023
+#: remote.c:5021
 #, possible-c-format
 msgid "Remote qSupported response supplied an unexpected value for \"%s\"."
 msgstr ""
 
-#: remote.c:5045
+#: remote.c:5043
 #, possible-c-format
 msgid "Remote target reported \"%s\" without a size."
 msgstr ""
 
-#: remote.c:5054
+#: remote.c:5052
 #, possible-c-format
 msgid "Remote target reported \"%s\" with a bad size: \"%s\"."
 msgstr ""
 
-#: remote.c:5316
+#: remote.c:5310
 msgid "empty item in \"qSupported\" response"
 msgstr ""
 
-#: remote.c:5347
+#: remote.c:5341
 #, possible-c-format
 msgid "unrecognized item \"%s\" in \"qSupported\" response"
 msgstr ""
 
-#: remote.c:5420
+#: remote.c:5414
 msgid ""
 "The target is not responding to GDB commands.\n"
 "Stop debugging it? "
 msgstr ""
 
-#: remote.c:5459 remote.c:6751
+#: remote.c:5453 remote.c:6745
 msgid "Disconnected from target."
 msgstr ""
 
-#: remote.c:5468
+#: remote.c:5462
 msgid ""
 "To open a remote debug connection, you need to specify what\n"
 "serial device is attached to the remote system\n"
 "(e.g. /dev/ttyS0, /dev/ttya, COM1, etc.)."
 msgstr ""
 
-#: remote.c:5478
+#: remote.c:5472
 msgid "Already connected to a remote target.  Disconnect? "
 msgstr ""
 
-#: remote.c:5479
+#: remote.c:5473
 msgid "Still connected."
 msgstr ""
 
-#: remote.c:5641
+#: remote.c:5635
 msgid "Remote doesn't know how to detach"
 msgstr ""
 
-#: remote.c:5643
+#: remote.c:5637
 msgid "Can't detach process."
 msgstr ""
 
-#: remote.c:5660
+#: remote.c:5654
 msgid "No process to detach from."
 msgstr ""
 
-#: remote.c:5669
+#: remote.c:5663
 msgid "Ending remote debugging.\n"
 msgstr ""
 
-#: remote.c:5770
+#: remote.c:5764
 msgid "Argument given to \"disconnect\" when remotely debugging."
 msgstr ""
 
-#: remote.c:5798 remote.c:5832
+#: remote.c:5792 remote.c:5826
 msgid "This target does not support attaching to a process"
 msgstr ""
 
-#: remote.c:5827
+#: remote.c:5821
 #, possible-c-format
 msgid "Attaching to %s failed with: %s"
 msgstr ""
 
-#: remote.c:5834
+#: remote.c:5828
 #, possible-c-format
 msgid "Attaching to %s failed"
 msgstr ""
 
-#: remote.c:6113
+#: remote.c:6107
 #, possible-c-format
 msgid " - Can't pass signal %d to target in reverse: ignored."
 msgstr ""
 
-#: remote.c:6117
+#: remote.c:6111
 msgid "Remote reverse-step not supported."
 msgstr ""
 
-#: remote.c:6119
+#: remote.c:6113
 msgid "Remote reverse-continue not supported."
 msgstr ""
 
-#: remote.c:6216 remote.c:6369
+#: remote.c:6210 remote.c:6363
 #, possible-c-format
 msgid "Unexpected vCont reply in non-stop mode: %s"
 msgstr ""
 
-#: remote.c:6597
+#: remote.c:6591
 msgid "Remote server does not support stopping threads"
 msgstr ""
 
-#: remote.c:6630
+#: remote.c:6624
 #, possible-c-format
 msgid "Stopping %s failed: %s"
 msgstr ""
 
-#: remote.c:6679
+#: remote.c:6673
 msgid "No support for interrupting the remote target."
 msgstr ""
 
-#: remote.c:6681
+#: remote.c:6675
 #, possible-c-format
 msgid "Interrupting target failed: %s"
 msgstr ""
 
-#: remote.c:6747
+#: remote.c:6741
 msgid ""
 "The target is not responding to interrupt requests.\n"
 "Stop debugging it? "
 msgstr ""
 
-#: remote.c:6756
+#: remote.c:6750
 msgid ""
 "Interrupted while waiting for the program.\n"
 "Give up waiting? "
 msgstr ""
 
 #. We got an unknown stop reply.
-#: remote.c:6857
+#: remote.c:6851
 msgid "Unknown stop reply"
 msgstr ""
 
-#: remote.c:7194
+#: remote.c:7188
 #, possible-c-format
 msgid ""
 "Malformed packet(a) (missing colon): %s\n"
 "Packet: '%s'\n"
 msgstr ""
 
-#: remote.c:7198
+#: remote.c:7192
 #, possible-c-format
 msgid ""
 "Malformed packet(a) (missing register number): %s\n"
 "Packet: '%s'\n"
 msgstr ""
 
-#: remote.c:7242
+#: remote.c:7236
 msgid "Unexpected swbreak stop reason"
 msgstr ""
 
-#: remote.c:7256
+#: remote.c:7250
 msgid "Unexpected hwbreak stop reason"
 msgstr ""
 
-#: remote.c:7393
+#: remote.c:7387
 #, possible-c-format
 msgid ""
 "Remote sent bad register number %s: %s\n"
 "Packet: '%s'\n"
 msgstr ""
 
-#: remote.c:7406
+#: remote.c:7400
 #, possible-c-format
 msgid "Remote reply is too short: %s"
 msgstr ""
 
-#: remote.c:7419
+#: remote.c:7413
 #, possible-c-format
 msgid ""
 "Remote register badly formatted: %s\n"
 "here: %s"
 msgstr ""
 
-#: remote.c:7448
+#: remote.c:7442
 #, possible-c-format
 msgid "stop reply packet badly formatted: %s"
 msgstr ""
 
-#: remote.c:7498 remote.c:7501
+#: remote.c:7492 remote.c:7495
 #, possible-c-format
 msgid "unknown stop reply packet: %s"
 msgstr ""
 
-#: remote.c:7512
+#: remote.c:7506
 #, possible-c-format
 msgid "No process or thread specified in stop reply: %s"
 msgstr ""
 
-#: remote.c:7679 remote.c:7821
+#: remote.c:7673 remote.c:7815
 #, possible-c-format
 msgid "Invalid remote reply: %s"
 msgstr ""
 
-#: remote.c:7911
+#: remote.c:7905
 #, possible-c-format
 msgid "Could not fetch register \"%s\"; remote failure reply '%s'"
 msgstr ""
 
-#: remote.c:7930
+#: remote.c:7924
 msgid "fetch_register_using_p: early buf termination"
 msgstr ""
 
-#: remote.c:7951
+#: remote.c:7945
 #, possible-c-format
 msgid "Could not read registers; remote failure reply '%s'"
 msgstr ""
 
-#: remote.c:7972
+#: remote.c:7966
 #, possible-c-format
 msgid "Remote 'g' packet reply is of odd length: %s"
 msgstr ""
 
-#: remote.c:7991
+#: remote.c:7985
 #, possible-c-format
 msgid ""
 "Remote 'g' packet reply is too long (expected %ld bytes, got %d bytes): %s"
 msgstr ""
 
-#: remote.c:8021
+#: remote.c:8015
 #, possible-c-format
 msgid "Truncated register %d in remote 'g' packet"
 msgstr ""
 
-#: remote.c:8050 remote.c:8069
+#: remote.c:8044 remote.c:8063
 msgid "unexpected end of 'g' packet reply"
 msgstr ""
 
-#: remote.c:8110
+#: remote.c:8104
 msgid "could not set remote traceframe"
 msgstr ""
 
-#: remote.c:8219
+#: remote.c:8213
 #, possible-c-format
 msgid "Could not write register \"%s\"; remote failure reply '%s'"
 msgstr ""
 
-#: remote.c:8224 remote.c:9761
+#: remote.c:8218 remote.c:9753
 msgid "Bad result from packet_ok"
 msgstr ""
 
-#: remote.c:8263
+#: remote.c:8257
 #, possible-c-format
 msgid "Could not write registers; remote failure reply '%s'"
 msgstr ""
 
-#: remote.c:8502
+#: remote.c:8496
 msgid "remote_write_bytes_aux: bad packet format"
 msgstr ""
 
-#: remote.c:8552
+#: remote.c:8546
 msgid "minimum packet size too small to write data"
 msgstr ""
 
-#: remote.c:8668
+#: remote.c:8662
 msgid "remote_write_bytes: bad internal state"
 msgstr ""
 
-#: remote.c:8873
+#: remote.c:8865
 msgid "Too long remote packet."
 msgstr ""
 
-#: remote.c:8876 remote.c:11167
+#: remote.c:8868 remote.c:11146
 msgid "Communication problem with target."
 msgstr ""
 
-#: remote.c:8903
+#: remote.c:8895
 msgid "Remote target does not support flash erase"
 msgstr ""
 
-#: remote.c:8905
+#: remote.c:8897
 msgid "Error erasing flash with vFlashErase packet"
 msgstr ""
 
-#: remote.c:8935
+#: remote.c:8927
 msgid "Remote target does not support vFlashDone"
 msgstr ""
 
-#: remote.c:8937
+#: remote.c:8929
 msgid "Error finishing flash operation"
 msgstr ""
 
-#: remote.c:9000
+#: remote.c:8992
 msgid "Remote connection closed"
 msgstr ""
 
-#: remote.c:9003 remote.c:9032
+#: remote.c:8995 remote.c:9024
 msgid "Remote communication error.  Target disconnected."
 msgstr ""
 
-#: remote.c:9108
+#: remote.c:9100
 msgid ""
 "Cannot execute this command while the target is running.\n"
 "Use the \"interrupt\" command to stop the target\n"
 "and then try again."
 msgstr ""
 
-#: remote.c:9434
+#: remote.c:9426
 #, possible-c-format
 msgid "Invalid run length encoding: %s\n"
 msgstr ""
 
-#: remote.c:9463
+#: remote.c:9455
 #, possible-c-format
 msgid "Watchdog timer is %s.\n"
 msgstr ""
 
-#: remote.c:9552
+#: remote.c:9544
 msgid "Watchdog timeout has expired.  Target detached."
 msgstr ""
 
 #. We have tried hard enough, and just can't receive the
 #. packet/notification.  Give up.
-#: remote.c:9574
+#: remote.c:9566
 msgid "Ignoring packet error, continuing...\n"
 msgstr ""
 
-#: remote.c:9671 remote.c:9686
+#: remote.c:9663 remote.c:9678
 #, possible-c-format
 msgid "Can't kill fork child process %d"
 msgstr ""
 
-#: remote.c:9733
+#: remote.c:9725
 msgid "Can't kill process"
 msgstr ""
 
-#: remote.c:9885
+#: remote.c:9877
 msgid "Target does not support QDisableRandomization."
 msgstr ""
 
-#: remote.c:9887
+#: remote.c:9879
 #, possible-c-format
 msgid "Bogus QDisableRandomization reply from target: %s"
 msgstr ""
 
-#: remote.c:9906
+#: remote.c:9898
 msgid "Remote file name too long for run packet"
 msgstr ""
 
-#: remote.c:9918
+#: remote.c:9910
 msgid "Argument list too long for run packet"
 msgstr ""
 
-#: remote.c:9939
+#: remote.c:9931
 msgid ""
 "Running the default executable on the remote target failed; try \"set remote "
 "exec-file\"?"
 msgstr ""
 
-#: remote.c:9942
+#: remote.c:9934
 #, possible-c-format
 msgid "Running \"%s\" on the remote target failed"
 msgstr ""
 
-#: remote.c:9972
+#: remote.c:9964
 #, possible-c-format
 msgid "Unable to %s environment variable '%s' on remote."
 msgstr ""
 
-#: remote.c:9988
+#: remote.c:9980
 msgid "Unable to reset environment on remote."
 msgstr ""
 
-#: remote.c:10035
+#: remote.c:10027
 #, possible-c-format
 msgid ""
 "Remote replied unexpectedly while setting the inferior's working\n"
 "directory: %s"
 msgstr ""
 
-#: remote.c:10077
+#: remote.c:10069
 #, possible-c-format
 msgid "Remote replied unexpectedly while setting startup-with-shell: %s"
 msgstr ""
 
-#: remote.c:10093
+#: remote.c:10085
 msgid "Remote target does not support \"set remote exec-file\""
 msgstr ""
 
-#: remote.c:10095
+#: remote.c:10087
 msgid "Remote target does not support \"set args\" or run ARGS"
 msgstr ""
 
-#: remote.c:10221
+#: remote.c:10213
 msgid "Target doesn't support breakpoints that have target side commands."
 msgstr ""
 
-#: remote.c:10278
+#: remote.c:10270
 #, possible-c-format
 msgid "hw_bp_to_z: bad watchpoint type %d"
 msgstr ""
 
-#: remote.c:10318
+#: remote.c:10310
 msgid "remote_insert_watchpoint: reached end of function"
 msgstr ""
 
-#: remote.c:10365
+#: remote.c:10357
 msgid "remote_remove_watchpoint: reached end of function"
 msgstr ""
 
-#: remote.c:10535
+#: remote.c:10527
 msgid "remote_insert_hw_breakpoint: reached end of function"
 msgstr ""
 
-#: remote.c:10576
+#: remote.c:10568
 msgid "remote_remove_hw_breakpoint: reached end of function"
 msgstr ""
 
-#: remote.c:10643
+#: remote.c:10635
 msgid "command cannot be used without an exec file"
 msgstr ""
 
-#: remote.c:10676
+#: remote.c:10668
 #, possible-c-format
 msgid "target memory fault, section %s, range %s -- %s"
 msgstr ""
 
-#: remote.c:10692
+#: remote.c:10684
 msgid ""
 "One or more sections of the target image does not match\n"
 "the loaded file\n"
 msgstr ""
 
-#: remote.c:10695
+#: remote.c:10687
 #, possible-c-format
 msgid "No loaded section named '%s'.\n"
 msgstr ""
 
-#: remote.c:10798
+#: remote.c:10790
 #, possible-c-format
 msgid "Unknown remote qXfer reply: %s"
 msgstr ""
 
-#: remote.c:10804
+#: remote.c:10796
 msgid "Remote qXfer reply contained no data."
 msgstr ""
 
-#: remote.c:11006
+#: remote.c:10985
 msgid "remote query is only available after target open"
 msgstr ""
 
-#: remote.c:11110
+#: remote.c:11089
 msgid "Pattern is too large to transmit to remote target."
 msgstr ""
 
-#: remote.c:11132 remote.c:11137
+#: remote.c:11111 remote.c:11116
 #, possible-c-format
 msgid "Unknown qSearch:memory reply: %s"
 msgstr ""
 
-#: remote.c:11149
+#: remote.c:11128
 msgid "remote rcmd is only available after target open"
 msgstr ""
 
-#: remote.c:11161
+#: remote.c:11140
 #, possible-c-format
 msgid "\"monitor\" command ``%s'' is too long."
 msgstr ""
 
-#: remote.c:11188 remote.c:12700 remote.c:13019 remote.c:13117 remote.c:13228
-#: remote.c:13278 remote.c:13356 remote.c:13419 remote.c:13449
+#: remote.c:11167 remote.c:12679 remote.c:12998 remote.c:13095 remote.c:13206
+#: remote.c:13256 remote.c:13334 remote.c:13397 remote.c:13427
 msgid "Target does not support this command."
 msgstr ""
 
-#: remote.c:11199
+#: remote.c:11178
 msgid "Protocol error with Rcmd"
 msgstr ""
 
-#: remote.c:11230 remote.c:12398 remote.c:12490 remote.c:12549
+#: remote.c:11209 remote.c:12377 remote.c:12469 remote.c:12528
 msgid "command can only be used with remote target"
 msgstr ""
 
-#: remote.c:11239
+#: remote.c:11218
 msgid "remote-packet command requires packet text as argument"
 msgstr ""
 
-#: remote.c:11282
+#: remote.c:11261
 msgid "Remote threadset test\n"
 msgstr ""
 
-#: remote.c:11388
+#: remote.c:11367
 msgid "Fetch and print the remote list of thread identifiers, one pkt only."
 msgstr ""
 
-#: remote.c:11391
+#: remote.c:11370
 msgid "Fetch and display info about one thread."
 msgstr ""
 
-#: remote.c:11393
+#: remote.c:11372
 msgid "Test setting to a different thread."
 msgstr ""
 
-#: remote.c:11395
+#: remote.c:11374
 msgid "Iterate through updating all remote thread info."
 msgstr ""
 
-#: remote.c:11397
+#: remote.c:11376
 msgid "Remote thread alive test."
 msgstr ""
 
-#: remote.c:11480
+#: remote.c:11459
 msgid "Remote target doesn't support qGetTLSAddr packet"
 msgstr ""
 
-#: remote.c:11483
+#: remote.c:11462
 msgid "Remote target failed to process qGetTLSAddr request"
 msgstr ""
 
-#: remote.c:11487
+#: remote.c:11466
 msgid "TLS not supported or disabled on this target"
 msgstr ""
 
-#: remote.c:11523
+#: remote.c:11502
 msgid "Remote target doesn't support qGetTIBAddr packet"
 msgstr ""
 
-#: remote.c:11525
+#: remote.c:11504
 msgid "Remote target failed to process qGetTIBAddr request"
 msgstr ""
 
-#: remote.c:11528
+#: remote.c:11507
 msgid "qGetTIBAddr not supported or disabled on this target"
 msgstr ""
 
-#: remote.c:11577
+#: remote.c:11556
 #, possible-c-format
 msgid "Duplicate g packet description added for size %d"
 msgstr ""
 
-#: remote.c:11637 remote.c:11658 remote.c:11680
+#: remote.c:11616 remote.c:11637 remote.c:11659
 msgid "Packet too long for target."
 msgstr ""
 
-#: remote.c:11891
+#: remote.c:11870
 #, possible-c-format
 msgid "Reading %s from remote target...\n"
 msgstr ""
 
-#: remote.c:11896
+#: remote.c:11875
 msgid ""
 "File transfers from remote targets can be slow. Use \"set sysroot\" to "
 "access files locally instead."
 msgstr ""
 
-#: remote.c:12000
+#: remote.c:11979
 #, possible-c-format
 msgid "Read returned %d, but %d bytes."
 msgstr ""
 
-#: remote.c:12164
+#: remote.c:12143
 #, possible-c-format
 msgid "Readlink returned %d, but %d bytes."
 msgstr ""
 
-#: remote.c:12216
+#: remote.c:12195
 #, possible-c-format
 msgid "vFile:fstat returned %d, but %d bytes."
 msgstr ""
 
-#: remote.c:12219
+#: remote.c:12198
 #, possible-c-format
 msgid "vFile:fstat returned %d bytes, but expecting %d."
 msgstr ""
 
-#: remote.c:12265
+#: remote.c:12244
 msgid ""
 "remote target does not support file transfer, attempting to access files "
 "from local filesystem."
 msgstr ""
 
-#: remote.c:12335
+#: remote.c:12314
 #, possible-c-format
 msgid "Unknown remote I/O error %d"
 msgstr ""
 
-#: remote.c:12337
+#: remote.c:12316
 #, possible-c-format
 msgid "Remote I/O error: %s"
 msgstr ""
 
-#: remote.c:12442
+#: remote.c:12421
 #, possible-c-format
 msgid "Error reading %s."
 msgstr ""
 
-#: remote.c:12465
+#: remote.c:12444
 #, possible-c-format
 msgid "Remote write of %d bytes returned 0!"
 msgstr ""
 
-#: remote.c:12481
+#: remote.c:12460
 #, possible-c-format
 msgid "Successfully sent file \"%s\".\n"
 msgstr ""
 
-#: remote.c:12540
+#: remote.c:12519
 #, possible-c-format
 msgid "Successfully fetched file \"%s\".\n"
 msgstr ""
 
-#: remote.c:12564
+#: remote.c:12543
 #, possible-c-format
 msgid "Successfully deleted file \"%s\".\n"
 msgstr ""
 
-#: remote.c:12571
+#: remote.c:12550
 msgid "file to put"
 msgstr ""
 
-#: remote.c:12575
+#: remote.c:12554
 msgid "Invalid parameters to remote put"
 msgstr ""
 
-#: remote.c:12584
+#: remote.c:12563
 msgid "file to get"
 msgstr ""
 
-#: remote.c:12588
+#: remote.c:12567
 msgid "Invalid parameters to remote get"
 msgstr ""
 
-#: remote.c:12597
+#: remote.c:12576
 msgid "file to delete"
 msgstr ""
 
-#: remote.c:12601
+#: remote.c:12580
 msgid "Invalid parameters to remote delete"
 msgstr ""
 
-#: remote.c:12723 remote.c:12738 remote.c:12950 remote.c:12966
+#: remote.c:12702 remote.c:12717 remote.c:12929 remote.c:12945
 msgid "Target does not support source download."
 msgstr ""
 
-#: remote.c:12755
+#: remote.c:12734
 msgid "Tracepoint packet too large for target."
 msgstr ""
 
-#: remote.c:12799
+#: remote.c:12778
 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:12806
+#: remote.c:12785
 #, possible-c-format
 msgid ""
 "Target does not support fast tracepoints, downloading %d as regular "
 "tracepoint"
 msgstr ""
 
-#: remote.c:12827
+#: remote.c:12806
 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:12833
+#: remote.c:12812
 msgid "Target does not support static tracepoints"
 msgstr ""
 
-#: remote.c:12868
+#: remote.c:12847
 #, possible-c-format
 msgid "Target does not support conditional tracepoints, ignoring tp %d cond"
 msgstr ""
 
-#: remote.c:12886
+#: remote.c:12865
 msgid "Target does not support tracepoints."
 msgstr ""
 
-#: remote.c:12908 remote.c:12931
+#: remote.c:12887 remote.c:12910
 msgid "Error on target while setting tracepoints."
 msgstr ""
 
-#: remote.c:13013
+#: remote.c:12992
 msgid "Trace state variable name too long for tsv definition packet"
 msgstr ""
 
-#: remote.c:13021
+#: remote.c:13000
 msgid "Error on target while downloading trace state variable."
 msgstr ""
 
-#: remote.c:13036
+#: remote.c:13015
 msgid ""
 "Target does not support enabling tracepoints while a trace run is ongoing."
 msgstr ""
 
-#: remote.c:13038
+#: remote.c:13017
 msgid "Error on target while enabling tracepoint."
 msgstr ""
 
-#: remote.c:13053
+#: remote.c:13032
 msgid ""
 "Target does not support disabling tracepoints while a trace run is ongoing."
 msgstr ""
 
-#: remote.c:13055
+#: remote.c:13034
 msgid "Error on target while disabling tracepoint."
 msgstr ""
 
-#: remote.c:13094
+#: remote.c:13072
 msgid "Too many sections for read-only sections definition packet."
 msgstr ""
 
-#: remote.c:13119 remote.c:13230 remote.c:13303 remote.c:13306 remote.c:13358
-#: remote.c:13421 remote.c:13451 remote.c:13527 remote.c:13572
+#: remote.c:13097 remote.c:13208 remote.c:13281 remote.c:13284 remote.c:13336
+#: remote.c:13399 remote.c:13429 remote.c:13505 remote.c:13550
 #, possible-c-format
 msgid "Bogus reply from target: %s"
 msgstr ""
 
-#: remote.c:13164
+#: remote.c:13142
 #, possible-c-format
 msgid "Bogus trace status reply from target: %s"
 msgstr ""
 
-#: remote.c:13272
+#: remote.c:13250
 #, possible-c-format
 msgid "Unknown trace find type %d"
 msgstr ""
 
-#: remote.c:13287
+#: remote.c:13265
 msgid "Unable to parse trace frame number"
 msgstr ""
 
-#: remote.c:13297
+#: remote.c:13275
 msgid "Unable to parse tracepoint number"
 msgstr ""
 
-#: remote.c:13350
+#: remote.c:13328
 msgid "Remote file name too long for trace save packet"
 msgstr ""
 
-#: remote.c:13424
+#: remote.c:13402
 msgid "Target does not support disconnected tracing."
 msgstr ""
 
-#: remote.c:13649
+#: remote.c:13627
 #, possible-c-format
 msgid "Failed to configure the BTS buffer size: %s"
 msgstr ""
 
-#: remote.c:13651
+#: remote.c:13629
 msgid "Failed to configure the BTS buffer size."
 msgstr ""
 
-#: remote.c:13671
+#: remote.c:13649
 #, possible-c-format
 msgid "Failed to configure the trace buffer size: %s"
 msgstr ""
 
-#: remote.c:13673
+#: remote.c:13651
 msgid "Failed to configure the trace buffer size."
 msgstr ""
 
-#: remote.c:13726
+#: remote.c:13704
 msgid ""
 "Target is recording using Intel Processor Trace but support was disabled at "
 "compile time."
 msgstr ""
 
-#: remote.c:13741
+#: remote.c:13719
 #, possible-c-format
 msgid "Target is recording using %s.\n"
 msgstr ""
 
-#: remote.c:13787 x86-linux-nat.c:226
+#: remote.c:13765 x86-linux-nat.c:226
 #, possible-c-format
 msgid "Could not enable branch tracing for %s: %s"
 msgstr ""
 
-#: remote.c:13790
+#: remote.c:13768
 #, possible-c-format
 msgid "Could not enable branch tracing for %s."
 msgstr ""
 
-#: remote.c:13834
+#: remote.c:13812
 #, possible-c-format
 msgid "Could not disable branch tracing for %s: %s"
 msgstr ""
 
-#: remote.c:13837
+#: remote.c:13815
 #, possible-c-format
 msgid "Could not disable branch tracing for %s."
 msgstr ""
 
-#: remote.c:13867
+#: remote.c:13845
 msgid "Cannot process branch tracing result. XML parsing not supported."
 msgstr ""
 
-#: remote.c:13883
+#: remote.c:13861
 #, possible-c-format
 msgid "Bad branch tracing read type: %u."
 msgstr ""
 
-#: remote.c:13935
+#: remote.c:13913
 #, possible-c-format
 msgid "not currently attached to process %d"
 msgstr ""
 
-#: remote.c:14000
+#: remote.c:13978
 #, possible-c-format
 msgid "Thread handle size mismatch: %d vs %zu (from remote)"
 msgstr ""
 
-#: remote.c:14118
+#: remote.c:14096
 #, possible-c-format
 msgid "Remote refused setting thread events: %s"
 msgstr ""
 
-#: remote.c:14229
+#: remote.c:14207
 #, possible-c-format
 msgid "Debugger's willingness to use range stepping is %s.\n"
 msgstr ""
 
-#: remote.c:14259
+#: remote.c:14237
 msgid "Range stepping is not supported by the current target"
 msgstr ""
 
 #. set/show remote ...
 #. allow-unknown
-#: remote.c:14285 remote.c:14291
+#: remote.c:14263 remote.c:14269
 msgid ""
 "Remote protocol specific variables.\n"
 "Configure various remote-protocol specific variables such as\n"
@@ -25492,14 +25487,14 @@ msgid ""
 msgstr ""
 
 #. allow-unknown
-#: remote.c:14298
+#: remote.c:14276
 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:14304
+#: remote.c:14282
 msgid ""
 "Send an arbitrary packet to a remote target.\n"
 "   maintenance packet TEXT\n"
@@ -25509,57 +25504,57 @@ msgid ""
 "terminating `#' character and checksum."
 msgstr ""
 
-#: remote.c:14313
+#: remote.c:14291
 msgid "Set whether to send break if interrupted."
 msgstr ""
 
-#: remote.c:14314
+#: remote.c:14292
 msgid "Show whether to send break if interrupted."
 msgstr ""
 
-#: remote.c:14315
+#: remote.c:14293
 msgid "If set, a break, instead of a cntrl-c, is sent to the remote target."
 msgstr ""
 
-#: remote.c:14328
+#: remote.c:14306
 msgid "Set interrupt sequence to remote target."
 msgstr ""
 
-#: remote.c:14329
+#: remote.c:14307
 msgid "Show interrupt sequence to remote target."
 msgstr ""
 
-#: remote.c:14330
+#: remote.c:14308
 msgid ""
 "Valid value is \"Ctrl-C\", \"BREAK\" or \"BREAK-g\". The default is \"Ctrl-C"
 "\"."
 msgstr ""
 
-#: remote.c:14337
+#: remote.c:14315
 msgid ""
 "Set whether interrupt-sequence is sent to remote target when gdb connects to."
 msgstr ""
 
-#: remote.c:14338
+#: remote.c:14316
 msgid ""
 "Show whether interrupt-sequence is sent to remote target when gdb connects "
 "to."
 msgstr ""
 
-#: remote.c:14339
+#: remote.c:14317
 msgid "If set, interrupt sequence is sent to remote target."
 msgstr ""
 
 #. Install commands for configuring memory read/write packets.
-#: remote.c:14346
+#: remote.c:14324
 msgid "Set the maximum number of bytes per memory write packet (deprecated)."
 msgstr ""
 
-#: remote.c:14349
+#: remote.c:14327
 msgid "Show the maximum number of bytes per memory write packet (deprecated)."
 msgstr ""
 
-#: remote.c:14353
+#: remote.c:14331
 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"
@@ -25568,7 +25563,7 @@ msgid ""
 "further restriction and ``limit'' to enable that restriction."
 msgstr ""
 
-#: remote.c:14361
+#: remote.c:14339
 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"
@@ -25577,107 +25572,107 @@ msgid ""
 "further restriction and ``limit'' to enable that restriction."
 msgstr ""
 
-#: remote.c:14370
+#: remote.c:14348
 msgid "Show the maximum number of bytes per memory-write packet."
 msgstr ""
 
-#: remote.c:14374
+#: remote.c:14352
 msgid "Show the maximum number of bytes per memory-read packet."
 msgstr ""
 
-#: remote.c:14378
+#: remote.c:14356
 msgid "Set the maximum number of target hardware watchpoints."
 msgstr ""
 
-#: remote.c:14379
+#: remote.c:14357
 msgid "Show the maximum number of target hardware watchpoints."
 msgstr ""
 
-#: remote.c:14380
+#: remote.c:14358
 msgid "Specify \"unlimited\" for unlimited hardware watchpoints."
 msgstr ""
 
-#: remote.c:14387
+#: remote.c:14365
 msgid "Set the maximum length (in bytes) of a target hardware watchpoint."
 msgstr ""
 
-#: remote.c:14388
+#: remote.c:14366
 msgid "Show the maximum length (in bytes) of a target hardware watchpoint."
 msgstr ""
 
-#: remote.c:14389
+#: remote.c:14367
 msgid "Specify \"unlimited\" to allow watchpoints of unlimited size."
 msgstr ""
 
-#: remote.c:14394
+#: remote.c:14372
 msgid "Set the maximum number of target hardware breakpoints."
 msgstr ""
 
-#: remote.c:14395
+#: remote.c:14373
 msgid "Show the maximum number of target hardware breakpoints."
 msgstr ""
 
-#: remote.c:14396
+#: remote.c:14374
 msgid "Specify \"unlimited\" for unlimited hardware breakpoints."
 msgstr ""
 
-#: remote.c:14402
+#: remote.c:14380
 msgid "Set the maximum size of the address (in bits) in a memory packet."
 msgstr ""
 
-#: remote.c:14403
+#: remote.c:14381
 msgid "Show the maximum size of the address (in bits) in a memory packet."
 msgstr ""
 
-#: remote.c:14706
+#: remote.c:14678
 msgid "Set use of remote protocol `Z' packets."
 msgstr ""
 
-#: remote.c:14707
+#: remote.c:14679
 msgid "Show use of remote protocol `Z' packets."
 msgstr ""
 
-#: remote.c:14708
+#: remote.c:14680
 msgid ""
 "When set, GDB will attempt to use the remote breakpoint and watchpoint\n"
 "packets."
 msgstr ""
 
-#: remote.c:14717
+#: remote.c:14689
 msgid ""
 "Manipulate files on the remote system.\n"
 "Transfer files to and from the remote target system."
 msgstr ""
 
-#: remote.c:14724
+#: remote.c:14696
 msgid "Copy a local file to the remote system."
 msgstr ""
 
-#: remote.c:14728
+#: remote.c:14700
 msgid "Copy a remote file to the local system."
 msgstr ""
 
-#: remote.c:14732
+#: remote.c:14704
 msgid "Delete a remote file."
 msgstr ""
 
-#: remote.c:14736
+#: remote.c:14708
 msgid "Set the remote pathname for \"run\"."
 msgstr ""
 
-#: remote.c:14737
+#: remote.c:14709
 msgid "Show the remote pathname for \"run\"."
 msgstr ""
 
-#: remote.c:14745
+#: remote.c:14717
 msgid "Enable or disable range stepping."
 msgstr ""
 
-#: remote.c:14746
+#: remote.c:14718
 msgid "Show whether target-assisted range stepping is enabled."
 msgstr ""
 
-#: remote.c:14747
+#: remote.c:14719
 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 "
@@ -25687,15 +25682,15 @@ msgid ""
 "stepping is supported by the target.  The default is on."
 msgstr ""
 
-#: remote.c:14758
+#: remote.c:14730
 msgid "Set watchdog timer."
 msgstr ""
 
-#: remote.c:14759
+#: remote.c:14731
 msgid "Show watchdog timer."
 msgstr ""
 
-#: remote.c:14760
+#: remote.c:14732
 msgid ""
 "When non-zero, this timeout is used instead of waiting forever for a target\n"
 "to finish a low-level step or continue operation.  If the specified amount\n"
@@ -26131,49 +26126,49 @@ msgstr ""
 msgid "rs6000_pseudo_register_collect: called on unexpected register '%s' (%d)"
 msgstr ""
 
-#: rs6000-tdep.c:7189
+#: rs6000-tdep.c:7179
 msgid "\"set powerpc\" must be followed by an appropriate subcommand.\n"
 msgstr ""
 
-#: rs6000-tdep.c:7230
+#: rs6000-tdep.c:7220
 #, possible-c-format
 msgid "Invalid vector ABI accepted: %s."
 msgstr ""
 
-#: rs6000-tdep.c:7246
+#: rs6000-tdep.c:7236
 #, possible-c-format
 msgid "Use of exact watchpoints is %s.\n"
 msgstr ""
 
-#: rs6000-tdep.c:7350 rs6000-tdep.c:7354
+#: rs6000-tdep.c:7340 rs6000-tdep.c:7344
 msgid "Various PowerPC-specific commands."
 msgstr ""
 
-#: rs6000-tdep.c:7360
+#: rs6000-tdep.c:7350
 msgid "Set whether to use a soft-float ABI."
 msgstr ""
 
-#: rs6000-tdep.c:7361
+#: rs6000-tdep.c:7351
 msgid "Show whether to use a soft-float ABI."
 msgstr ""
 
-#: rs6000-tdep.c:7368
+#: rs6000-tdep.c:7358
 msgid "Set the vector ABI."
 msgstr ""
 
-#: rs6000-tdep.c:7369
+#: rs6000-tdep.c:7359
 msgid "Show the vector ABI."
 msgstr ""
 
-#: rs6000-tdep.c:7375
+#: rs6000-tdep.c:7365
 msgid "Set whether to use just one debug register for watchpoints on scalars."
 msgstr ""
 
-#: rs6000-tdep.c:7377
+#: rs6000-tdep.c:7367
 msgid "Show whether to use just one debug register for watchpoints on scalars."
 msgstr ""
 
-#: rs6000-tdep.c:7379
+#: rs6000-tdep.c:7369
 msgid ""
 "If true, GDB will use only one debug register when watching a variable of\n"
 "scalar type, thus assuming that the variable is accessed through the "
@@ -26458,19 +26453,19 @@ msgid ""
 "and when the inferior triggers a breakpoint or watchpoint."
 msgstr ""
 
-#: s390-tdep.c:1940
+#: s390-tdep.c:1938
 msgid "Stack overflow"
 msgstr ""
 
-#: s390-tdep.c:2058
+#: s390-tdep.c:2056
 msgid "invalid return type"
 msgstr ""
 
-#: s390-tdep.c:2096 spu-tdep.c:1550
+#: s390-tdep.c:2094
 msgid "Cannot set function return value."
 msgstr ""
 
-#: s390-tdep.c:2098 spu-tdep.c:1566
+#: s390-tdep.c:2096
 msgid "Function return value unknown."
 msgstr ""
 
@@ -26971,63 +26966,63 @@ msgstr ""
 msgid "%s (missing XML support?)"
 msgstr ""
 
-#: solib-aix.c:466
+#: solib-aix.c:464
 msgid "unable to relocate main executable (no info from loader)"
 msgstr ""
 
 #. Should never happen, but recover as best as we can (trying
 #. to open pathname without decoding, possibly leading to
 #. a failure), rather than triggering an assert failure).
-#: solib-aix.c:581
+#: solib-aix.c:579
 #, possible-c-format
 msgid "missing '(' in shared object pathname: %s"
 msgstr ""
 
 #. Arrange to free PATHNAME when the error is thrown.
-#: solib-aix.c:601 solib.c:471
+#: solib-aix.c:599 solib.c:471
 #, possible-c-format
 msgid "Could not open `%s' as an executable file: %s"
 msgstr ""
 
-#: solib-aix.c:611
+#: solib-aix.c:609
 #, possible-c-format
 msgid "\"%s\": not in executable format: %s."
 msgstr ""
 
-#: solib-aix.c:629
+#: solib-aix.c:627
 #, possible-c-format
 msgid "\"%s\": member \"%s\" missing."
 msgstr ""
 
-#: solib-aix.c:636
+#: solib-aix.c:634
 #, possible-c-format
 msgid "%s(%s): not in object format: %s."
 msgstr ""
 
-#: solib-aix.c:682
+#: solib-aix.c:679
 #, possible-c-format
 msgid "unable to find TOC entry for pc %s (no section contains this PC)"
 msgstr ""
 
-#: solib-aix.c:688
+#: solib-aix.c:685
 #, possible-c-format
 msgid "unable to find TOC entry for pc %s (%s has no data section)"
 msgstr ""
 
-#: solib-aix.c:723
+#: solib-aix.c:720
 #, possible-c-format
 msgid "solib-aix debugging is %s.\n"
 msgstr ""
 
-#: solib-aix.c:749
+#: solib-aix.c:746
 msgid "Control the debugging traces for the solib-aix module."
 msgstr ""
 
-#: solib-aix.c:750
+#: solib-aix.c:747
 msgid "Show whether solib-aix debugging traces are enabled."
 msgstr ""
 
-#: solib-aix.c:751
+#: solib-aix.c:748
 msgid "When on, solib-aix debugging traces are enabled."
 msgstr ""
 
@@ -27123,27 +27118,27 @@ msgstr ""
 msgid "Autoloading of shared library symbols is %s.\n"
 msgstr ""
 
-#: solib.c:1600
+#: solib.c:1585
 msgid "Load shared object library symbols for files matching REGEXP."
 msgstr ""
 
-#: solib.c:1602
+#: solib.c:1587
 msgid "Status of loaded shared object libraries."
 msgstr ""
 
-#: solib.c:1605
+#: solib.c:1590
 msgid "Unload all shared object library symbols."
 msgstr ""
 
-#: solib.c:1608
+#: solib.c:1593
 msgid "Set autoloading of shared library symbols."
 msgstr ""
 
-#: solib.c:1609
+#: solib.c:1594
 msgid "Show autoloading of shared library symbols."
 msgstr ""
 
-#: solib.c:1610
+#: solib.c:1595
 msgid ""
 "If \"on\", symbols from all shared object libraries will be loaded\n"
 "automatically when the inferior begins execution, when the dynamic linker\n"
@@ -27151,32 +27146,32 @@ msgid ""
 "inferior.  Otherwise, symbols must be loaded manually, using `sharedlibrary'."
 msgstr ""
 
-#: solib.c:1621
+#: solib.c:1606
 msgid "Set an alternate system root."
 msgstr ""
 
-#: solib.c:1622
+#: solib.c:1607
 msgid "Show the current system root."
 msgstr ""
 
-#: solib.c:1623
+#: solib.c:1608
 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:1637
+#: solib.c:1622
 msgid ""
 "Set the search path for loading non-absolute shared library symbol files."
 msgstr ""
 
-#: solib.c:1639
+#: solib.c:1624
 msgid ""
 "Show the search path for loading non-absolute shared library symbol files."
 msgstr ""
 
-#: solib.c:1641
+#: solib.c:1626
 msgid ""
 "This takes precedence over the environment variables PATH and "
 "LD_LIBRARY_PATH."
@@ -27187,7 +27182,7 @@ msgstr ""
 msgid "unhandled dyld version (%d)"
 msgstr ""
 
-#: solib-darwin.c:667
+#: solib-darwin.c:659
 #, possible-c-format
 msgid "`%s': not a shared-library: %s"
 msgstr ""
@@ -27235,24 +27230,24 @@ msgid ""
 "and track explicitly loaded dynamic code."
 msgstr ""
 
-#: solib-dsbt.c:975 solib-frv.c:849
+#: solib-dsbt.c:971 solib-frv.c:845
 msgid "shared library handler failed to enable breakpoint"
 msgstr ""
 
-#: solib-dsbt.c:1025
+#: solib-dsbt.c:1021
 #, possible-c-format
 msgid "solib-dsbt debugging is %s.\n"
 msgstr ""
 
-#: solib-dsbt.c:1044
+#: solib-dsbt.c:1040
 msgid "Set internal debugging of shared library code for DSBT ELF."
 msgstr ""
 
-#: solib-dsbt.c:1045
+#: solib-dsbt.c:1041
 msgid "Show internal debugging of shared library code for DSBT ELF."
 msgstr ""
 
-#: solib-dsbt.c:1046
+#: solib-dsbt.c:1042
 msgid "When non-zero, DSBT solib specific internal debugging is enabled."
 msgstr ""
 
@@ -27277,57 +27272,52 @@ msgstr ""
 msgid "Unable to load dynamic linker loadmap at address %s."
 msgstr ""
 
-#: solib-frv.c:630
+#: solib-frv.c:626
 msgid "Could not find symbol _dl_debug_addr in dynamic linker"
 msgstr ""
 
-#: solib-frv.c:653
+#: solib-frv.c:649
 #, possible-c-format
 msgid ""
 "Unable to fetch contents of _dl_debug_addr (at address %s) from dynamic "
 "linker"
 msgstr ""
 
-#: solib-frv.c:679
+#: solib-frv.c:675
 #, possible-c-format
 msgid ""
 "Unable to fetch _dl_debug_addr->r_brk (at address %s) from dynamic linker"
 msgstr ""
 
-#: solib-frv.c:690
+#: solib-frv.c:686
 #, possible-c-format
 msgid ""
 "Unable to fetch _dl_debug_addr->.r_brk entry point (at address %s) from "
 "dynamic linker"
 msgstr ""
 
-#: solib-frv.c:786
+#: solib-frv.c:782
 msgid "Unable to load the executable's loadmap."
 msgstr ""
 
-#: solib-frv.c:1164
+#: solib-frv.c:1160
 msgid "Set internal debugging of shared library code for FR-V."
 msgstr ""
 
-#: solib-frv.c:1165
+#: solib-frv.c:1161
 msgid "Show internal debugging of shared library code for FR-V."
 msgstr ""
 
-#: solib-frv.c:1166
+#: solib-frv.c:1162
 msgid "When non-zero, FR-V solib specific internal debugging is enabled."
 msgstr ""
 
-#: solib-spu.c:361
-#, possible-c-format
-msgid "Cannot read SPE executable at %s"
-msgstr ""
-
-#: solib-svr4.c:185
+#: solib-svr4.c:189
 #, possible-c-format
 msgid "Error reading shared library list entry at %s"
 msgstr ""
 
-#: solib-svr4.c:291
+#: solib-svr4.c:295
 #, possible-c-format
 msgid ""
 "Using PIC (Position Independent Code) prelink displacement %s for \"%s\".\n"
@@ -27341,48 +27331,48 @@ msgstr ""
 #. verification if it they match.  One could do a verification
 #. of the DYNAMIC segment.  Still the found address is the best
 #. one GDB could find.
-#: solib-svr4.c:307
+#: solib-svr4.c:311
 #, possible-c-format
 msgid ""
 ".dynamic section for \"%s\" is not at the expected address (wrong library or "
 "version mismatch?)"
 msgstr ""
 
-#: solib-svr4.c:969
+#: solib-svr4.c:973
 msgid "Attempt to reload symbols from process? "
 msgstr ""
 
-#: solib-svr4.c:996
+#: solib-svr4.c:1000
 #, possible-c-format
 msgid "failed to read exec filename from attached file: %s"
 msgstr ""
 
-#: solib-svr4.c:1146
+#: solib-svr4.c:1150
 #, possible-c-format
 msgid "SVR4 Library list has unsupported version \"%s\""
 msgstr ""
 
-#: solib-svr4.c:1205 solib-target.c:218
+#: solib-svr4.c:1209 solib-target.c:218
 msgid "target library list"
 msgstr ""
 
-#: solib-svr4.c:1310
+#: solib-svr4.c:1314
 #, possible-c-format
 msgid "Corrupted shared library list: %s != %s"
 msgstr ""
 
-#: solib-svr4.c:1338
+#: solib-svr4.c:1342
 #, possible-c-format
 msgid "Can't read pathname for load map: %s."
 msgstr ""
 
-#: solib-svr4.c:1860
+#: solib-svr4.c:1864
 msgid ""
 "Probes-based dynamic linker interface failed.\n"
 "Reverting to original interface."
 msgstr ""
 
-#: solib-svr4.c:2117
+#: solib-svr4.c:2121
 msgid ""
 "Initializing probes-based dynamic linker interface failed.\n"
 "Reverting to original interface."
@@ -27593,74 +27583,74 @@ msgstr ""
 msgid "%s preprocessor macro info.\n"
 msgstr ""
 
-#: source.c:1120
+#: source.c:1167
 msgid "invalid filename_display_string"
 msgstr ""
 
-#: source.c:1222
+#: source.c:1269
 #, possible-c-format
 msgid "Line number %d out of range; %s has %d lines."
 msgstr ""
 
-#: source.c:1359
+#: source.c:1406
 msgid "No line number information available"
 msgstr ""
 
 #. Is there any case in which we get here, and have an address
 #. which the user would want to see?  If we have debugging symbols
 #. and no line numbers?
-#: source.c:1419
+#: source.c:1466
 #, possible-c-format
 msgid "Line number %d is out of range for \"%s\".\n"
 msgstr ""
 
-#: source.c:1452
+#: source.c:1499
 msgid "Expression not found"
 msgstr ""
 
-#: source.c:1512
+#: source.c:1559
 msgid "Expression not found\n"
 msgstr ""
 
-#: source.c:1629
+#: source.c:1676
 msgid "Too many arguments in command"
 msgstr ""
 
-#: source.c:1638
+#: source.c:1685
 #, possible-c-format
 msgid "Source path substitution rule matching `%s':\n"
 msgstr ""
 
-#: source.c:1640
+#: source.c:1687
 msgid "List of all source path substitution rules:\n"
 msgstr ""
 
-#: source.c:1663 source.c:1714
+#: source.c:1710 source.c:1761
 msgid "Incorrect usage, too many arguments in command"
 msgstr ""
 
-#: source.c:1673
+#: source.c:1720
 msgid "Delete all source path substitution rules? "
 msgstr ""
 
-#: source.c:1674
+#: source.c:1721
 msgid "Canceled"
 msgstr ""
 
-#: source.c:1696
+#: source.c:1743
 #, possible-c-format
 msgid "No substitution rule defined for `%s'"
 msgstr ""
 
-#: source.c:1711
+#: source.c:1758
 msgid "Incorrect usage, too few arguments in command"
 msgstr ""
 
-#: source.c:1717
+#: source.c:1764
 msgid "First argument must be at least one character long"
 msgstr ""
 
-#: source.c:1779
+#: source.c:1826
 msgid ""
 "Add directory DIR to beginning of search path for source files.\n"
 "Forget cached info on source file locations and line positions.\n"
@@ -27669,15 +27659,15 @@ msgid ""
 "With no argument, reset the search path to $cdir:$cwd, the default."
 msgstr ""
 
-#: source.c:1795
+#: source.c:1842
 msgid "Set the search path for finding source files."
 msgstr ""
 
-#: source.c:1797
+#: source.c:1844
 msgid "Show the search path for finding source files."
 msgstr ""
 
-#: source.c:1799
+#: source.c:1846
 msgid ""
 "$cwd in the path means the current working directory.\n"
 "$cdir in the path means the compilation directory of the source file.\n"
@@ -27686,11 +27676,11 @@ msgid ""
 "Setting the value to an empty string sets it to $cdir:$cwd, the default."
 msgstr ""
 
-#: source.c:1810
+#: source.c:1857
 msgid "Information about the current source file."
 msgstr ""
 
-#: source.c:1812
+#: source.c:1859
 msgid ""
 "Core addresses of the code for a source line.\n"
 "Line can be specified as\n"
@@ -27705,35 +27695,35 @@ msgid ""
 "The address is also stored as the value of \"$_\"."
 msgstr ""
 
-#: source.c:1824
+#: source.c:1871
 msgid ""
 "Search for regular expression (see regex(3)) from last line listed.\n"
 "The matching line number is also stored as the value of \"$_\"."
 msgstr ""
 
-#: source.c:1830
+#: source.c:1877
 msgid ""
 "Search backward for regular expression (see regex(3)) from last line "
 "listed.\n"
 "The matching line number is also stored as the value of \"$_\"."
 msgstr ""
 
-#: source.c:1835
+#: source.c:1882
 msgid "Set number of source lines gdb will list by default."
 msgstr ""
 
-#: source.c:1836
+#: source.c:1883
 msgid "Show number of source lines gdb will list by default."
 msgstr ""
 
-#: source.c:1837
+#: source.c:1884
 msgid ""
 "Use this to choose how many source lines the \"list\" displays (unless\n"
 "the \"list\" argument explicitly specifies some other number).\n"
 "A value of \"unlimited\", or zero, means there's no limit."
 msgstr ""
 
-#: source.c:1846
+#: source.c:1893
 msgid ""
 "Add a substitution rule to rewrite the source directories.\n"
 "Usage: set substitute-path FROM TO\n"
@@ -27743,7 +27733,7 @@ msgid ""
 "is replaced by the new one."
 msgstr ""
 
-#: source.c:1856
+#: source.c:1903
 msgid ""
 "Delete one or all substitution rules rewriting the source directories.\n"
 "Usage: unset substitute-path [FROM]\n"
@@ -27752,7 +27742,7 @@ msgid ""
 "If the debugger cannot find a rule for FROM, it will display a warning."
 msgstr ""
 
-#: source.c:1865
+#: source.c:1912
 msgid ""
 "Show one or all substitution rules rewriting the source directories.\n"
 "Usage: show substitute-path [FROM]\n"
@@ -27760,15 +27750,15 @@ msgid ""
 "is not specified, print all substitution rules."
 msgstr ""
 
-#: source.c:1874
+#: source.c:1921
 msgid "Set how to display filenames."
 msgstr ""
 
-#: source.c:1875
+#: source.c:1922
 msgid "Show how to display filenames."
 msgstr ""
 
-#: source.c:1876
+#: source.c:1923
 msgid ""
 "filename-display can be:\n"
 "  basename - display only basename of a filename\n"
@@ -27868,207 +27858,6 @@ msgstr ""
 msgid "sparc32_pseudo_register_type: bad register number %d"
 msgstr ""
 
-#: spu-linux-nat.c:496
-#, possible-c-format
-msgid "Child process unexpectedly missing: %s"
-msgstr ""
-
-#: spu-multiarch.c:41 spu-multiarch.c:42
-msgid "SPU multi-architecture support."
-msgstr ""
-
-#: spu-tdep.c:1631
-#, possible-c-format
-msgid "Could not read instruction at %s."
-msgstr ""
-
-#: spu-tdep.c:2077 spu-tdep.c:2125 spu-tdep.c:2241 spu-tdep.c:2473
-#: spu-tdep.c:2550
-msgid "\"info spu\" is only supported on the SPU architecture."
-msgstr ""
-
-#: spu-tdep.c:2085
-msgid "Could not read event_status."
-msgstr ""
-
-#: spu-tdep.c:2093
-msgid "Could not read event_mask."
-msgstr ""
-
-#: spu-tdep.c:2099
-msgid "Event Status "
-msgstr ""
-
-#: spu-tdep.c:2102
-msgid "Event Mask   "
-msgstr ""
-
-#: spu-tdep.c:2133
-msgid "Could not read signal1."
-msgstr ""
-
-#: spu-tdep.c:2144
-msgid "Could not read signal1_type."
-msgstr ""
-
-#: spu-tdep.c:2152
-msgid "Could not read signal2."
-msgstr ""
-
-#: spu-tdep.c:2163
-msgid "Could not read signal2_type."
-msgstr ""
-
-#: spu-tdep.c:2181
-#, possible-c-format
-msgid "Signal 1 control word 0x%s "
-msgstr ""
-
-#: spu-tdep.c:2183
-msgid "Signal 1 not pending "
-msgstr ""
-
-#: spu-tdep.c:2186 spu-tdep.c:2196
-msgid "(Type Or)\n"
-msgstr ""
-
-#: spu-tdep.c:2188 spu-tdep.c:2198
-msgid "(Type Overwrite)\n"
-msgstr ""
-
-#: spu-tdep.c:2191
-#, possible-c-format
-msgid "Signal 2 control word 0x%s "
-msgstr ""
-
-#: spu-tdep.c:2193
-msgid "Signal 2 not pending "
-msgstr ""
-
-#: spu-tdep.c:2251
-msgid "Could not read mbox_info."
-msgstr ""
-
-#: spu-tdep.c:2260
-msgid "Could not read ibox_info."
-msgstr ""
-
-#: spu-tdep.c:2269
-msgid "Could not read wbox_info."
-msgstr ""
-
-#: spu-tdep.c:2481
-msgid "Could not read dma_info."
-msgstr ""
-
-#: spu-tdep.c:2511 spu-tdep.c:2581
-msgid "no query pending"
-msgstr ""
-
-#: spu-tdep.c:2516 spu-tdep.c:2582
-msgid "'any' query pending"
-msgstr ""
-
-#: spu-tdep.c:2517 spu-tdep.c:2583
-msgid "'all' query pending"
-msgstr ""
-
-#: spu-tdep.c:2518 spu-tdep.c:2584
-msgid "undefined query type"
-msgstr ""
-
-#: spu-tdep.c:2521 spu-tdep.c:2587
-#, possible-c-format
-msgid "Tag-Group Status  0x%s\n"
-msgstr ""
-
-#: spu-tdep.c:2523 spu-tdep.c:2589
-#, possible-c-format
-msgid "Tag-Group Mask    0x%s (%s)\n"
-msgstr ""
-
-#: spu-tdep.c:2525
-#, possible-c-format
-msgid "Stall-and-Notify  0x%s\n"
-msgstr ""
-
-#: spu-tdep.c:2527
-#, possible-c-format
-msgid "Atomic Cmd Status 0x%s\n"
-msgstr ""
-
-#: spu-tdep.c:2558
-msgid "Could not read proxydma_info."
-msgstr ""
-
-#: spu-tdep.c:2600
-msgid "\"info spu\" must be followed by the name of an SPU facility.\n"
-msgstr ""
-
-#: spu-tdep.c:2624
-#, possible-c-format
-msgid "Stopping for new SPE threads is %s.\n"
-msgstr ""
-
-#: spu-tdep.c:2632
-#, possible-c-format
-msgid "Automatic software-cache flush is %s.\n"
-msgstr ""
-
-#: spu-tdep.c:2778 spu-tdep.c:2781 spu-tdep.c:2816
-msgid "Various SPU specific commands."
-msgstr ""
-
-#: spu-tdep.c:2787
-msgid "Set whether to stop for new SPE threads."
-msgstr ""
-
-#: spu-tdep.c:2789
-msgid "Show whether to stop for new SPE threads."
-msgstr ""
-
-#: spu-tdep.c:2791
-msgid ""
-"Use \"on\" to give control to the user when a new SPE thread\n"
-"enters its \"main\" function.\n"
-"Use \"off\" to disable stopping for new SPE threads."
-msgstr ""
-
-#: spu-tdep.c:2802
-msgid "Set whether to automatically flush the software-managed cache."
-msgstr ""
-
-#: spu-tdep.c:2804
-msgid "Show whether to automatically flush the software-managed cache."
-msgstr ""
-
-#: spu-tdep.c:2806
-msgid ""
-"Use \"on\" to automatically flush the software-managed cache\n"
-"whenever SPE execution stops.\n"
-"Use \"off\" to never automatically flush the software-managed cache."
-msgstr ""
-
-#: spu-tdep.c:2821
-msgid "Display SPU event facility status."
-msgstr ""
-
-#: spu-tdep.c:2824
-msgid "Display SPU signal notification facility status."
-msgstr ""
-
-#: spu-tdep.c:2827
-msgid "Display SPU mailbox facility status."
-msgstr ""
-
-#: spu-tdep.c:2830
-msgid "Display MFC DMA status."
-msgstr ""
-
-#: spu-tdep.c:2833
-msgid "Display MFC Proxy-DMA status."
-msgstr ""
-
 #: stabsread.c:177
 #, possible-c-format
 msgid "invalid C++ abbreviation `%s'"
@@ -28831,145 +28620,145 @@ msgstr ""
 msgid "Standard register ``$ps'' is not available for this target"
 msgstr ""
 
-#: symfile.c:516
+#: symfile.c:507
 #, possible-c-format
 msgid "no loadable sections found in added symbol-file %s"
 msgstr ""
 
-#: symfile.c:629
+#: symfile.c:620
 #, possible-c-format
 msgid "section %s not found in %s"
 msgstr ""
 
-#: symfile.c:1100
+#: symfile.c:1091
 #, possible-c-format
 msgid "Load new symbol table from \"%s\"? "
 msgstr ""
 
-#: symfile.c:1119
+#: symfile.c:1110
 msgid "Reading symbols from "
 msgstr ""
 
-#: symfile.c:1134
+#: symfile.c:1125
 #, possible-c-format
 msgid "Expanding full symbols from %s...\n"
 msgstr ""
 
-#: symfile.c:1258
+#: symfile.c:1249
 #, possible-c-format
 msgid "Discard symbol table from `%s'? "
 msgstr ""
 
-#: symfile.c:1260
+#: symfile.c:1251
 msgid "Discard symbol table? "
 msgstr ""
 
-#: symfile.c:1271
+#: symfile.c:1262
 msgid "No symbol file now.\n"
 msgstr ""
 
-#: symfile.c:1331
+#: symfile.c:1322
 msgid " no, same file as the objfile.\n"
 msgstr ""
 
-#: symfile.c:1345 symfile.c:1363
+#: symfile.c:1336 symfile.c:1354
 msgid " no, error computing CRC.\n"
 msgstr ""
 
-#: symfile.c:1370
+#: symfile.c:1361
 #, possible-c-format
 msgid ""
 "the debug information found in \"%s\" does not match \"%s\" (CRC mismatch).\n"
 msgstr ""
 
-#: symfile.c:1375
+#: symfile.c:1366
 msgid " no, CRC doesn't match.\n"
 msgstr ""
 
-#: symfile.c:1392
+#: symfile.c:1383
 #, possible-c-format
 msgid ""
 "The directory where separate debug symbols are searched for is \"%s\".\n"
 msgstr ""
 
-#: symfile.c:1416
+#: symfile.c:1407
 #, possible-c-format
 msgid ""
 "\n"
 "Looking for separate debug info (debug link) for %s\n"
 msgstr ""
 
-#: symfile.c:1603
+#: symfile.c:1594
 msgid "-readnow and -readnever cannot be used simultaneously"
 msgstr ""
 
-#: symfile.c:1650 symfile.c:1667 symfile.c:2279 symfile.c:2309
+#: symfile.c:1641 symfile.c:1658 symfile.c:2270 symfile.c:2300
 #, possible-c-format
 msgid "Unrecognized argument \"%s\""
 msgstr ""
 
-#: symfile.c:1660 symfile.c:2301
+#: symfile.c:1651 symfile.c:2292
 msgid "Missing argument to -o"
 msgstr ""
 
-#: symfile.c:1671
+#: symfile.c:1662
 msgid "no symbol file name was specified"
 msgstr ""
 
-#: symfile.c:1822
+#: symfile.c:1813
 #, possible-c-format
 msgid "I'm sorry, Dave, I can't do that.  Symbol format `%s' unknown."
 msgstr ""
 
-#: symfile.c:1981
+#: symfile.c:1972
 #, possible-c-format
 msgid "Download verify read failed at %s"
 msgstr ""
 
-#: symfile.c:1984
+#: symfile.c:1975
 #, possible-c-format
 msgid "Download verify compare failed at %s"
 msgstr ""
 
-#: symfile.c:1996
+#: symfile.c:1987
 msgid "Canceled the download"
 msgstr ""
 
-#: symfile.c:2048
+#: symfile.c:2039
 msgid "file to load"
 msgstr ""
 
-#: symfile.c:2063
+#: symfile.c:2054
 #, possible-c-format
 msgid "Invalid download offset:%s."
 msgstr ""
 
-#: symfile.c:2066
+#: symfile.c:2057
 msgid "Too many parameters."
 msgstr ""
 
-#: symfile.c:2076
+#: symfile.c:2067
 #, possible-c-format
 msgid "\"%s\" is not an object file: %s"
 msgstr ""
 
-#: symfile.c:2091
+#: symfile.c:2082
 msgid "Load failed"
 msgstr ""
 
-#: symfile.c:2256
+#: symfile.c:2247
 msgid "add-symbol-file takes a file name and an address"
 msgstr ""
 
-#: symfile.c:2288
+#: symfile.c:2279
 msgid "Missing section name after \"-s\""
 msgstr ""
 
-#: symfile.c:2290
+#: symfile.c:2281
 msgid "Missing section address after \"-s\""
 msgstr ""
 
-#: symfile.c:2313
+#: symfile.c:2304
 msgid "You must provide a filename to be loaded."
 msgstr ""
 
@@ -28978,157 +28767,157 @@ msgstr ""
 #. functions.  We have to split this up into separate print
 #. statements because hex_string returns a local static
 #. string.
-#: symfile.c:2323
+#: symfile.c:2314
 #, possible-c-format
 msgid "add symbol table from file \"%s\""
 msgstr ""
 
-#: symfile.c:2336
+#: symfile.c:2327
 msgid " at\n"
 msgstr ""
 
-#: symfile.c:2356
+#: symfile.c:2347
 #, possible-c-format
 msgid "%s offset by %s\n"
 msgstr ""
 
-#: symfile.c:2358
+#: symfile.c:2349
 msgid " with all sections"
 msgstr ""
 
-#: symfile.c:2359
+#: symfile.c:2350
 msgid "with other sections"
 msgstr ""
 
-#: symfile.c:2370
+#: symfile.c:2361
 #, possible-c-format
 msgid "newly-added symbol file \"%s\" does not provide any symbols"
 msgstr ""
 
-#: symfile.c:2395
+#: symfile.c:2386
 msgid "remove-symbol-file: no symbol file provided"
 msgstr ""
 
-#: symfile.c:2405
+#: symfile.c:2396
 msgid "Missing address argument"
 msgstr ""
 
-#: symfile.c:2408 symfile.c:2429
+#: symfile.c:2399 symfile.c:2420
 #, possible-c-format
 msgid "Junk after %s"
 msgstr ""
 
-#: symfile.c:2447
+#: symfile.c:2438
 msgid "No symbol file found"
 msgstr ""
 
-#: symfile.c:2450
+#: symfile.c:2441
 #, possible-c-format
 msgid "Remove symbol table from file \"%s\"? "
 msgstr ""
 
 #. FIXME, should use print_sys_errmsg but it's not filtered.
-#: symfile.c:2488
+#: symfile.c:2479
 #, possible-c-format
 msgid "`%s' has disappeared; keeping its symbols.\n"
 msgstr ""
 
-#: symfile.c:2498
+#: symfile.c:2489
 #, possible-c-format
 msgid "`%s' has changed; re-reading symbols.\n"
 msgstr ""
 
-#: symfile.c:2559
+#: symfile.c:2550
 #, possible-c-format
 msgid "Can't open %s to read symbols."
 msgstr ""
 
-#: symfile.c:2566
+#: symfile.c:2557
 #, possible-c-format
 msgid "Can't read symbols from %s: %s."
 msgstr ""
 
-#: symfile.c:2651
+#: symfile.c:2642
 msgid "(no debugging symbols found)\n"
 msgstr ""
 
-#: symfile.c:2720
+#: symfile.c:2711
 #, possible-c-format
 msgid "Mapping between filename extension and source language is \"%s\".\n"
 msgstr ""
 
-#: symfile.c:2734
+#: symfile.c:2725
 #, possible-c-format
 msgid "'%s': Filename extension must begin with '.'"
 msgstr ""
 
-#: symfile.c:2741 symfile.c:2752
+#: symfile.c:2732 symfile.c:2743
 #, possible-c-format
 msgid "'%s': two arguments required -- filename extension and language"
 msgstr ""
 
-#: symfile.c:2787
+#: symfile.c:2778
 msgid "Filename extensions and the languages they represent:"
 msgstr ""
 
-#: symfile.c:3271
+#: symfile.c:3260
 msgid "No sections are mapped.\n"
 msgstr ""
 
-#: symfile.c:3283 symfile.c:3331
+#: symfile.c:3272 symfile.c:3318
 msgid ""
 "Overlay debugging not enabled.  Use either the 'overlay auto' or\n"
 "the 'overlay manual' command."
 msgstr ""
 
-#: symfile.c:3288 symfile.c:3336
+#: symfile.c:3277 symfile.c:3323
 msgid "Argument required: name of an overlay section"
 msgstr ""
 
-#: symfile.c:3311
+#: symfile.c:3299
 #, possible-c-format
 msgid "Note: section %s unmapped by overlap\n"
 msgstr ""
 
-#: symfile.c:3318 symfile.c:3348
+#: symfile.c:3305 symfile.c:3335
 #, possible-c-format
 msgid "No overlay section called %s"
 msgstr ""
 
-#: symfile.c:3344
+#: symfile.c:3331
 #, possible-c-format
 msgid "Section %s is not mapped"
 msgstr ""
 
-#: symfile.c:3361
+#: symfile.c:3348
 msgid "Automatic overlay debugging enabled."
 msgstr ""
 
-#: symfile.c:3374
+#: symfile.c:3361
 msgid "Overlay debugging enabled."
 msgstr ""
 
-#: symfile.c:3387
+#: symfile.c:3374
 msgid "Overlay debugging disabled."
 msgstr ""
 
-#: symfile.c:3398
+#: symfile.c:3385
 msgid "This target does not know how to read its overlay state."
 msgstr ""
 
-#: symfile.c:3501
+#: symfile.c:3488
 msgid ""
 "Error reading inferior's overlay table: couldn't find `_novlys' variable\n"
 "in inferior.  Use `overlay manual' mode."
 msgstr ""
 
-#: symfile.c:3510 symfile.c:3590
+#: symfile.c:3497 symfile.c:3577
 msgid ""
 "Error reading inferior's overlay table: couldn't find `_ovly_table' array\n"
 "in inferior.  Use `overlay manual' mode."
 msgstr ""
 
-#: symfile.c:3925
+#: symfile.c:3912
 msgid ""
 "Load symbol table from executable file FILE.\n"
 "Usage: symbol-file [-readnow | -readnever] [-o OFF] FILE\n"
@@ -29137,7 +28926,7 @@ msgid ""
 "to execute.\n"
 msgstr ""
 
-#: symfile.c:3933
+#: symfile.c:3920
 msgid ""
 "Load symbols from FILE, assuming FILE has been dynamically loaded.\n"
 "Usage: add-symbol-file FILE [-readnow | -readnever] [-o OFF] [ADDR] [-s SECT-"
@@ -29150,7 +28939,7 @@ msgid ""
 "of all sections for which no other address was specified.\n"
 msgstr ""
 
-#: symfile.c:3948
+#: symfile.c:3935
 msgid ""
 "Remove a symbol file added via the add-symbol-file command.\n"
 "Usage: remove-symbol-file FILENAME\n"
@@ -29159,7 +28948,7 @@ msgid ""
 "that lies within the boundaries of this symbol file in memory."
 msgstr ""
 
-#: symfile.c:3956
+#: symfile.c:3943
 msgid ""
 "Dynamically load FILE into the running program.\n"
 "FILE symbols are recorded for access from GDB.\n"
@@ -29169,77 +28958,77 @@ msgid ""
 "on its own."
 msgstr ""
 
-#: symfile.c:3966
+#: symfile.c:3953
 msgid "Commands for debugging overlays."
 msgstr ""
 
-#: symfile.c:3973
+#: symfile.c:3960
 msgid "Assert that an overlay section is mapped."
 msgstr ""
 
-#: symfile.c:3976
+#: symfile.c:3963
 msgid "Assert that an overlay section is unmapped."
 msgstr ""
 
-#: symfile.c:3979
+#: symfile.c:3966
 msgid "List mappings of overlay sections."
 msgstr ""
 
-#: symfile.c:3982
+#: symfile.c:3969
 msgid "Enable overlay debugging."
 msgstr ""
 
-#: symfile.c:3984
+#: symfile.c:3971
 msgid "Disable overlay debugging."
 msgstr ""
 
-#: symfile.c:3986
+#: symfile.c:3973
 msgid "Enable automatic overlay debugging."
 msgstr ""
 
-#: symfile.c:3988
+#: symfile.c:3975
 msgid "Read the overlay mapping state from the target."
 msgstr ""
 
-#: symfile.c:3992
+#: symfile.c:3979
 msgid "Set mapping between filename extension and source language."
 msgstr ""
 
-#: symfile.c:3993
+#: symfile.c:3980
 msgid "Show mapping between filename extension and source language."
 msgstr ""
 
-#: symfile.c:3994
+#: symfile.c:3981
 msgid "Usage: set extension-language .foo bar"
 msgstr ""
 
-#: symfile.c:4001
+#: symfile.c:3988
 msgid "All filename extensions associated with a source language."
 msgstr ""
 
-#: symfile.c:4004
+#: symfile.c:3991
 msgid "Set the directories where separate debug symbols are searched for."
 msgstr ""
 
-#: symfile.c:4005
+#: symfile.c:3992
 msgid "Show the directories where separate debug symbols are searched for."
 msgstr ""
 
-#: symfile.c:4006
+#: symfile.c:3993
 msgid ""
 "Separate debug symbols are first searched for in the same\n"
 "directory as the binary, then in the `"
 msgstr ""
 
-#: symfile.c:4017
+#: symfile.c:4004
 msgid "Set printing of symbol loading messages."
 msgstr ""
 
-#: symfile.c:4018
+#: symfile.c:4005
 msgid "Show printing of symbol loading messages."
 msgstr ""
 
-#: symfile.c:4019
+#: symfile.c:4006
 msgid ""
 "off   == turn all messages off\n"
 "brief == print messages for the executable,\n"
@@ -29248,15 +29037,15 @@ msgid ""
 "         and messages for each shared library."
 msgstr ""
 
-#: symfile.c:4030
+#: symfile.c:4017
 msgid "Set printing of separate debug info file search debug."
 msgstr ""
 
-#: symfile.c:4031
+#: symfile.c:4018
 msgid "Show printing of separate debug info file search debug."
 msgstr ""
 
-#: symfile.c:4032
+#: symfile.c:4019
 msgid ""
 "When on, GDB prints the searched locations while looking for separate debug "
 "info files."
@@ -29390,78 +29179,78 @@ msgstr ""
 msgid "  Total memory used for file name cache: %d\n"
 msgstr ""
 
-#: symmisc.c:264
+#: symmisc.c:263
 #, possible-c-format
 msgid "internal error:  minimal symbol count %d != %d"
 msgstr ""
 
-#: symmisc.c:463
+#: symmisc.c:462
 #, possible-c-format
 msgid "No symtab for address: %s"
 msgstr ""
 
-#: symmisc.c:503
+#: symmisc.c:502
 #, possible-c-format
 msgid "No symtab for source file: %s"
 msgstr ""
 
-#: symmisc.c:916
+#: symmisc.c:911
 msgid "Extra arguments after regexp."
 msgstr ""
 
-#: symmisc.c:974
+#: symmisc.c:969
 #, possible-c-format
 msgid "objfile: %s ((struct objfile *) %s)\n"
 msgstr ""
 
-#: symmisc.c:977
+#: symmisc.c:972
 #, possible-c-format
 msgid "compunit_symtab: ((struct compunit_symtab *) %s)\n"
 msgstr ""
 
-#: symmisc.c:979
+#: symmisc.c:974
 #, possible-c-format
 msgid "symtab: %s ((struct symtab *) %s)\n"
 msgstr ""
 
-#: symmisc.c:983
+#: symmisc.c:978
 #, possible-c-format
 msgid "linetable: ((struct linetable *) %s):\n"
 msgstr ""
 
-#: symmisc.c:987
+#: symmisc.c:982
 msgid "No line table.\n"
 msgstr ""
 
-#: symmisc.c:989
+#: symmisc.c:984
 msgid "Line table has no lines.\n"
 msgstr ""
 
 #. Leave space for 6 digits of index and line number.  After that the
 #. tables will just not format as well.
-#: symmisc.c:996
+#: symmisc.c:991
 #, possible-c-format
 msgid "%-6s %6s %s\n"
 msgstr ""
 
-#: symmisc.c:997
+#: symmisc.c:992
 msgid "INDEX"
 msgstr ""
 
-#: symmisc.c:997
+#: symmisc.c:992
 msgid "LINE"
 msgstr ""
 
-#: symmisc.c:997
+#: symmisc.c:992
 msgid "ADDRESS"
 msgstr ""
 
-#: symmisc.c:1004
+#: symmisc.c:999
 #, possible-c-format
 msgid "%-6d %6d %s\n"
 msgstr ""
 
-#: symmisc.c:1052
+#: symmisc.c:1047
 msgid ""
 "Print dump of current symbol definitions.\n"
 "Usage: mt print symbols [-pc ADDRESS] [--] [OUTFILE]\n"
@@ -29473,7 +29262,7 @@ msgid ""
 "If OBJFILE is provided, dump only that file's minimal symbols."
 msgstr ""
 
-#: symmisc.c:1063
+#: symmisc.c:1058
 msgid ""
 "Print dump of current minimal symbol definitions.\n"
 "Usage: mt print msymbols [-objfile OBJFILE] [--] [OUTFILE]\n"
@@ -29482,13 +29271,13 @@ msgid ""
 "If OBJFILE is provided, dump only that file's minimal symbols."
 msgstr ""
 
-#: symmisc.c:1072
+#: symmisc.c:1067
 msgid ""
 "Print dump of current object file definitions.\n"
 "With an argument REGEXP, list the object files with matching names."
 msgstr ""
 
-#: symmisc.c:1076
+#: symmisc.c:1071
 msgid ""
 "List the full symbol tables for all object files.\n"
 "This does not include information about individual symbols, blocks, or\n"
@@ -29496,48 +29285,48 @@ msgid ""
 "With an argument REGEXP, list the symbol tables with matching names."
 msgstr ""
 
-#: symmisc.c:1083
+#: symmisc.c:1078
 msgid ""
 "List the contents of all line tables, from all symbol tables.\n"
 "With an argument REGEXP, list just the line tables for the symbol\n"
 "tables with matching names."
 msgstr ""
 
-#: symmisc.c:1090
+#: symmisc.c:1085
 msgid "Check consistency of currently expanded symtabs."
 msgstr ""
 
-#: symmisc.c:1095
+#: symmisc.c:1090
 msgid ""
 "Expand symbol tables.\n"
 "With an argument REGEXP, only expand the symbol tables with matching names."
 msgstr ""
 
-#: symtab.c:1287
+#: symtab.c:1284
 #, possible-c-format
 msgid "Symbol cache size is too large, max is %u."
 msgstr ""
 
-#: symtab.c:1529
+#: symtab.c:1526
 #, possible-c-format
 msgid ""
 "Symbol cache for pspace %d\n"
 "%s:\n"
 msgstr ""
 
-#: symtab.c:1600
+#: symtab.c:1597
 #, possible-c-format
 msgid ""
 "Symbol cache statistics for pspace %d\n"
 "%s:\n"
 msgstr ""
 
-#: symtab.c:2072
+#: symtab.c:2069
 #, possible-c-format
 msgid "Internal error: `%s' is not an aggregate"
 msgstr ""
 
-#: symtab.c:2343
+#: symtab.c:2340
 #, possible-c-format
 msgid ""
 "Internal: %s symbol `%s' found in %s psymtab but not in symtab.\n"
@@ -29545,128 +29334,128 @@ msgid ""
 "\t (if a template, try specifying an instantiation: %s<type>)."
 msgstr ""
 
-#: symtab.c:4039
+#: symtab.c:4032
 msgid "mismatched quoting on brackets, try 'operator\\[\\]'"
 msgstr ""
 
-#: symtab.c:4047
+#: symtab.c:4040
 msgid "nothing is allowed between '[' and ']'"
 msgstr ""
 
-#: symtab.c:4103
+#: symtab.c:4096
 msgid "`operator ()' must be specified without whitespace in `()'"
 msgstr ""
 
-#: symtab.c:4109
+#: symtab.c:4102
 msgid "`operator ?:' must be specified without whitespace in `?:'"
 msgstr ""
 
-#: symtab.c:4115
+#: symtab.c:4108
 msgid "`operator []' must be specified without whitespace in `[]'"
 msgstr ""
 
-#: symtab.c:4120
+#: symtab.c:4113
 #, possible-c-format
 msgid "`operator %s' not supported"
 msgstr ""
 
-#: symtab.c:4229
+#: symtab.c:4222
 msgid "Show only the files having a dirname matching REGEXP."
 msgstr ""
 
-#: symtab.c:4235
+#: symtab.c:4228
 msgid "Show only the files having a basename matching REGEXP."
 msgstr ""
 
-#: symtab.c:4262
+#: symtab.c:4255
 #, possible-c-format
 msgid "(dirname matching regular expression \"%s\")"
 msgstr ""
 
-#: symtab.c:4265
+#: symtab.c:4258
 #, possible-c-format
 msgid "(basename matching regular expression \"%s\")"
 msgstr ""
 
-#: symtab.c:4268
+#: symtab.c:4261
 #, possible-c-format
 msgid "(filename matching regular expression \"%s\")"
 msgstr ""
 
-#: symtab.c:4311
+#: symtab.c:4304
 msgid "You cannot give both -basename and -dirname to 'info sources'."
 msgstr ""
 
-#: symtab.c:4314
+#: symtab.c:4307
 msgid "Missing REGEXP for 'info sources'."
 msgstr ""
 
-#: symtab.c:4329
+#: symtab.c:4322
 msgid "Source files for which symbols have been read in:\n"
 msgstr ""
 
-#: symtab.c:4346
+#: symtab.c:4339
 msgid "Source files for which symbols will be read in on demand:\n"
 msgstr ""
 
-#: symtab.c:4864
+#: symtab.c:4857
 #, possible-c-format
 msgid ""
 "All %ss matching regular expression \"%s\" with type matching regular "
 "expression \"%s\":\n"
 msgstr ""
 
-#: symtab.c:4868
+#: symtab.c:4861
 #, possible-c-format
 msgid "All %ss matching regular expression \"%s\":\n"
 msgstr ""
 
-#: symtab.c:4875
+#: symtab.c:4868
 #, possible-c-format
 msgid "All defined %ss with type matching regular expression \"%s\" :\n"
 msgstr ""
 
-#: symtab.c:4879
+#: symtab.c:4872
 #, possible-c-format
 msgid "All defined %ss:\n"
 msgstr ""
 
-#: symtab.c:4892
+#: symtab.c:4885
 msgid ""
 "\n"
 "Non-debugging symbols:\n"
 msgstr ""
 
-#: symtab.c:6296
+#: symtab.c:6289
 msgid ""
 "All global and static variable names or those matching REGEXPs.\n"
 "Usage: info variables [-q] [-n] [-t TYPEREGEXP] [NAMEREGEXP]\n"
 "Prints the global and static variables.\n"
 msgstr ""
 
-#: symtab.c:6300 symtab.c:6310
+#: symtab.c:6293 symtab.c:6303
 msgid "global and static variables"
 msgstr ""
 
-#: symtab.c:6306
+#: symtab.c:6299
 msgid ""
 "All global and static variable names, or those matching REGEXPs.\n"
 "Usage: whereis [-q] [-n] [-t TYPEREGEXP] [NAMEREGEXP]\n"
 "Prints the global and static variables.\n"
 msgstr ""
 
-#: symtab.c:6316
+#: symtab.c:6309
 msgid ""
 "All function names or those matching REGEXPs.\n"
 "Usage: info functions [-q] [-n] [-t TYPEREGEXP] [NAMEREGEXP]\n"
 "Prints the functions.\n"
 msgstr ""
 
-#: symtab.c:6320
+#: symtab.c:6313
 msgid "functions"
 msgstr ""
 
-#: symtab.c:6324
+#: symtab.c:6317
 msgid ""
 "All type names, or those matching REGEXP.\n"
 "Usage: info types [-q] [REGEXP]\n"
@@ -29674,7 +29463,7 @@ msgid ""
 "REGEXP is given.  The optional flag -q disables printing of headers."
 msgstr ""
 
-#: symtab.c:6334
+#: symtab.c:6327
 msgid ""
 "All source files in the program or those matching REGEXP.\n"
 "Usage: info sources [OPTION]... [REGEXP]\n"
@@ -29684,32 +29473,32 @@ msgid ""
 "%OPTIONS%"
 msgstr ""
 
-#: symtab.c:6347
+#: symtab.c:6340
 msgid "Set a breakpoint for all functions matching REGEXP."
 msgstr ""
 
-#: symtab.c:6351
+#: symtab.c:6344
 msgid "Set how the debugger handles ambiguities in expressions."
 msgstr ""
 
-#: symtab.c:6352
+#: symtab.c:6345
 msgid "Show how the debugger handles ambiguities in expressions."
 msgstr ""
 
-#: symtab.c:6353
+#: symtab.c:6346
 msgid ""
 "Valid values are \"ask\", \"all\", \"cancel\", and the default is \"all\"."
 msgstr ""
 
-#: symtab.c:6358
+#: symtab.c:6351
 msgid "Set whether a source file may have multiple base names."
 msgstr ""
 
-#: symtab.c:6359
+#: symtab.c:6352
 msgid "Show whether a source file may have multiple base names."
 msgstr ""
 
-#: symtab.c:6360
+#: symtab.c:6353
 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"
@@ -29720,56 +29509,56 @@ msgid ""
 "one base name, and gdb will do file name comparisons more efficiently."
 msgstr ""
 
-#: symtab.c:6372
+#: symtab.c:6365
 msgid "Set debugging of symbol table creation."
 msgstr ""
 
-#: symtab.c:6373
+#: symtab.c:6366
 msgid "Show debugging of symbol table creation."
 msgstr ""
 
-#: symtab.c:6373
+#: symtab.c:6366
 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:6382
+#: symtab.c:6375
 msgid "Set debugging of symbol lookup."
 msgstr ""
 
-#: symtab.c:6383
+#: symtab.c:6376
 msgid "Show debugging of symbol lookup."
 msgstr ""
 
-#: symtab.c:6384
+#: symtab.c:6377
 msgid "When enabled (non-zero), symbol lookups are logged."
 msgstr ""
 
-#: symtab.c:6391
+#: symtab.c:6384
 msgid "Set the size of the symbol cache."
 msgstr ""
 
-#: symtab.c:6392
+#: symtab.c:6385
 msgid "Show the size of the symbol cache."
 msgstr ""
 
-#: symtab.c:6392
+#: symtab.c:6385
 msgid ""
 "The size of the symbol cache.\n"
 "If zero then the symbol cache is disabled."
 msgstr ""
 
-#: symtab.c:6400
+#: symtab.c:6393
 msgid "Dump the symbol cache for each program space."
 msgstr ""
 
-#: symtab.c:6405
+#: symtab.c:6398
 msgid "Print symbol cache statistics for each program space."
 msgstr ""
 
-#: symtab.c:6410
+#: symtab.c:6403
 msgid "Flush the symbol cache for each program space."
 msgstr ""
 
@@ -29857,60 +29646,60 @@ msgstr ""
 msgid "Writing to flash memory forbidden in this context"
 msgstr ""
 
-#: target.c:1171
+#: target.c:1169
 #, possible-c-format
 msgid "Writing to memory is not allowed (addr %s, len %s)"
 msgstr ""
 
-#: target.c:1387
+#: target.c:1385
 msgid "Overlapping regions in memory map: ignoring"
 msgstr ""
 
-#: target.c:1414
+#: target.c:1412
 #, possible-c-format
 msgid "Mode for reading from readonly sections is %s.\n"
 msgstr ""
 
-#: target.c:1814
+#: target.c:1812
 #, possible-c-format
 msgid "target object %d, annex %s, contained unexpected null characters"
 msgstr ""
 
-#: target.c:1857
+#: target.c:1855
 msgid "May not insert breakpoints"
 msgstr ""
 
-#: target.c:1877
+#: target.c:1875
 msgid "May not remove breakpoints"
 msgstr ""
 
-#: target.c:1890
+#: target.c:1888
 #, possible-c-format
 msgid "Symbols from \"%s\".\n"
 msgstr ""
 
-#: target.c:1901
+#: target.c:1899
 msgid "\tWhile running this, GDB does not access memory from...\n"
 msgstr ""
 
-#: target.c:1998
+#: target.c:1996
 msgid "Program not killed."
 msgstr ""
 
-#: target.c:2163
+#: target.c:2161
 msgid "could not find a target to follow fork"
 msgstr ""
 
-#: target.c:2187
+#: target.c:2185
 msgid "could not find a target to follow mourn inferior"
 msgstr ""
 
-#: target.c:2241 target.c:2296
+#: target.c:2239 target.c:2294
 #, possible-c-format
 msgid "Unable to access %s bytes of target memory at %s, halting search."
 msgstr ""
 
-#: target.c:2364
+#: target.c:2362
 #, possible-c-format
 msgid ""
 "The \"%s\" target does not support \"run\".  Try \"help target\" or "
@@ -29920,236 +29709,236 @@ msgstr ""
 #. This function is only called if the target is running.  In that
 #. case there should have been a process_stratum target and it
 #. should either know how to create inferiors, or not...
-#: target.c:2372
+#: target.c:2370
 msgid "No targets found"
 msgstr ""
 
-#: target.c:2384
+#: target.c:2382
 #, possible-c-format
 msgid "Whether GDB may automatically connect to the native target is %s.\n"
 msgstr ""
 
-#: target.c:2401
+#: target.c:2399
 #, possible-c-format
 msgid "native target already set (\"%s\")."
 msgstr ""
 
-#: target.c:2429
+#: target.c:2427
 #, possible-c-format
 msgid "Don't know how to %s.  Try \"help target\"."
 msgstr ""
 
-#: target.c:3117
+#: target.c:3115
 #, possible-c-format
 msgid "target file %s contained unexpected null characters"
 msgstr ""
 
-#: target.c:3236 target.c:3245
+#: target.c:3234 target.c:3243
 msgid "Command not implemented for this target."
 msgstr ""
 
-#: target.c:3258
+#: target.c:3256
 msgid "None"
 msgstr ""
 
-#: target.c:3318 target.c:3330
+#: target.c:3316 target.c:3328
 msgid "May not interrupt or stop the target, ignoring attempt"
 msgstr ""
 
-#: target.c:3442
+#: target.c:3440
 #, possible-c-format
 msgid "Writing to registers is not allowed (regno %d)"
 msgstr ""
 
-#: target.c:3763
+#: target.c:3761
 msgid "\"monitor\" command not supported by this target."
 msgstr ""
 
-#: target.c:3795
+#: target.c:3793
 msgid "Erasing flash memory region at address "
 msgstr ""
 
-#: target.c:3807
+#: target.c:3805
 msgid "No flash memory regions found.\n"
 msgstr ""
 
-#: target.c:3815
+#: target.c:3813
 msgid "The current target stack is:\n"
 msgstr ""
 
-#: target.c:3869
+#: target.c:3867
 #, possible-c-format
 msgid "Controlling the inferior in asynchronous mode is %s.\n"
 msgstr ""
 
-#: target.c:3925
+#: target.c:3923
 #, possible-c-format
 msgid "Whether the target is always in non-stop mode is %s (currently %s).\n"
 msgstr ""
 
-#: target.c:3930
+#: target.c:3928
 #, possible-c-format
 msgid "Whether the target is always in non-stop mode is %s.\n"
 msgstr ""
 
-#: target.c:3999
+#: target.c:3997
 msgid "Set target debugging."
 msgstr ""
 
-#: target.c:4000
+#: target.c:3998
 msgid "Show target debugging."
 msgstr ""
 
-#: target.c:4001
+#: target.c:3999
 msgid ""
 "When non-zero, target debugging is enabled.  Higher numbers are more\n"
 "verbose."
 msgstr ""
 
-#: target.c:4009
+#: target.c:4007
 msgid "Set mode for reading from readonly sections."
 msgstr ""
 
-#: target.c:4010
+#: target.c:4008
 msgid "Show mode for reading from readonly sections."
 msgstr ""
 
-#: target.c:4011
+#: target.c:4009
 msgid ""
 "When this mode is on, memory reads from readonly sections (such as .text)\n"
 "will be read from the object file instead of from the target.  This will\n"
 "result in significant performance improvement for remote targets."
 msgstr ""
 
-#: target.c:4020
+#: target.c:4018
 msgid "Send a command to the remote monitor (remote targets only)."
 msgstr ""
 
-#: target.c:4023
+#: target.c:4021
 msgid "Print the name of each layer of the internal target stack."
 msgstr ""
 
-#: target.c:4027
+#: target.c:4025
 msgid "Set whether gdb controls the inferior in asynchronous mode."
 msgstr ""
 
-#: target.c:4028
+#: target.c:4026
 msgid "Show whether gdb controls the inferior in asynchronous mode."
 msgstr ""
 
-#: target.c:4029
+#: target.c:4027
 msgid "Tells gdb whether to control the inferior in asynchronous mode."
 msgstr ""
 
-#: target.c:4037
+#: target.c:4035
 msgid "Set whether gdb always controls the inferior in non-stop mode."
 msgstr ""
 
-#: target.c:4038
+#: target.c:4036
 msgid "Show whether gdb always controls the inferior in non-stop mode."
 msgstr ""
 
-#: target.c:4039
+#: target.c:4037
 msgid "Tells gdb whether to control the inferior in non-stop mode."
 msgstr ""
 
-#: target.c:4047
+#: target.c:4045
 msgid "Set permission to write into registers."
 msgstr ""
 
-#: target.c:4048
+#: target.c:4046
 msgid "Show permission to write into registers."
 msgstr ""
 
-#: target.c:4049
+#: target.c:4047
 msgid ""
 "When this permission is on, GDB may write into the target's registers.\n"
 "Otherwise, any sort of write attempt will result in an error."
 msgstr ""
 
-#: target.c:4056
+#: target.c:4054
 msgid "Set permission to write into target memory."
 msgstr ""
 
-#: target.c:4057
+#: target.c:4055
 msgid "Show permission to write into target memory."
 msgstr ""
 
-#: target.c:4058
+#: target.c:4056
 msgid ""
 "When this permission is on, GDB may write into the target's memory.\n"
 "Otherwise, any sort of write attempt will result in an error."
 msgstr ""
 
-#: target.c:4065
+#: target.c:4063
 msgid "Set permission to insert breakpoints in the target."
 msgstr ""
 
-#: target.c:4066
+#: target.c:4064
 msgid "Show permission to insert breakpoints in the target."
 msgstr ""
 
-#: target.c:4067
+#: target.c:4065
 msgid ""
 "When this permission is on, GDB may insert breakpoints in the program.\n"
 "Otherwise, any sort of insertion attempt will result in an error."
 msgstr ""
 
-#: target.c:4074
+#: target.c:4072
 msgid "Set permission to insert tracepoints in the target."
 msgstr ""
 
-#: target.c:4075
+#: target.c:4073
 msgid "Show permission to insert tracepoints in the target."
 msgstr ""
 
-#: target.c:4076
+#: target.c:4074
 msgid ""
 "When this permission is on, GDB may insert tracepoints in the program.\n"
 "Otherwise, any sort of insertion attempt will result in an error."
 msgstr ""
 
-#: target.c:4083
+#: target.c:4081
 msgid "Set permission to insert fast tracepoints in the target."
 msgstr ""
 
-#: target.c:4084
+#: target.c:4082
 msgid "Show permission to insert fast tracepoints in the target."
 msgstr ""
 
-#: target.c:4085
+#: target.c:4083
 msgid ""
 "When this permission is on, GDB may insert fast tracepoints.\n"
 "Otherwise, any sort of insertion attempt will result in an error."
 msgstr ""
 
-#: target.c:4092
+#: target.c:4090
 msgid "Set permission to interrupt or signal the target."
 msgstr ""
 
-#: target.c:4093
+#: target.c:4091
 msgid "Show permission to interrupt or signal the target."
 msgstr ""
 
-#: target.c:4094
+#: target.c:4092
 msgid ""
 "When this permission is on, GDB may interrupt/stop the target's execution.\n"
 "Otherwise, any attempt to interrupt or stop will be ignored."
 msgstr ""
 
-#: target.c:4101
+#: target.c:4099
 msgid "Erase all flash memory regions."
 msgstr ""
 
-#: target.c:4104
+#: target.c:4102
 msgid "Set whether GDB may automatically connect to the native target."
 msgstr ""
 
-#: target.c:4105
+#: target.c:4103
 msgid "Show whether GDB may automatically connect to the native target."
 msgstr ""
 
-#: target.c:4106
+#: target.c:4104
 msgid ""
 "When on, and GDB is not connected to a target yet, GDB\n"
 "attempts \"run\" and other commands with the native target."
@@ -31861,35 +31650,35 @@ msgstr ""
 msgid "[ No Assembly Available ]"
 msgstr ""
 
-#: tui/tui.c:420
+#: tui/tui.c:424
 #, possible-c-format
 msgid "Cannot enable the TUI when the interpreter is '%s'"
 msgstr ""
 
-#: tui/tui.c:425
+#: tui/tui.c:429
 msgid "Cannot enable the TUI when output is not a terminal"
 msgstr ""
 
-#: tui/tui.c:436
+#: tui/tui.c:440
 #, possible-c-format
 msgid "Cannot enable the TUI: error opening terminal [TERM=%s]"
 msgstr ""
 
-#: tui/tui.c:458
+#: tui/tui.c:462
 #, possible-c-format
 msgid ""
 "Cannot enable the TUI: terminal doesn't support cursor addressing [TERM=%s]"
 msgstr ""
 
-#: tui/tui.c:689
+#: tui/tui.c:679
 msgid "Enable TUI display mode."
 msgstr ""
 
-#: tui/tui.c:692
+#: tui/tui.c:682
 msgid "Disable TUI display mode."
 msgstr ""
 
-#: tui/tui-stack.c:416
+#: tui/tui-stack.c:386
 msgid ""
 "Update the source window and locator to display the current execution point."
 msgstr ""
@@ -31902,7 +31691,7 @@ msgstr ""
 msgid "Cannot redirect readline output"
 msgstr ""
 
-#: tui/tui-layout.c:326
+#: tui/tui-layout.c:318
 msgid ""
 "Change the layout of windows.\n"
 "Usage: layout prev | next | LAYOUT-NAME\n"
@@ -31918,15 +31707,15 @@ msgid ""
 "           the window that has current logical focus."
 msgstr ""
 
-#: tui/tui-layout.c:358
+#: tui/tui-layout.c:344
 msgid "Usage: layout prev | next | LAYOUT-NAME"
 msgstr ""
 
-#: tui/tui-layout.c:367
+#: tui/tui-layout.c:348
 msgid "Ambiguous command input."
 msgstr ""
 
-#: tui/tui-layout.c:388
+#: tui/tui-layout.c:369
 #, possible-c-format
 msgid "Unrecognized layout: %s"
 msgstr ""
@@ -31963,139 +31752,143 @@ msgstr ""
 msgid "TUI command to control the register window."
 msgstr ""
 
-#: tui/tui-win.c:205
+#: tui/tui-win.c:195
 #, possible-c-format
 msgid "The attribute mode to use for the active TUI window border is \"%s\".\n"
 msgstr ""
 
-#: tui/tui-win.c:217
+#: tui/tui-win.c:207
 #, possible-c-format
 msgid "The attribute mode to use for the TUI window borders is \"%s\".\n"
 msgstr ""
 
-#: tui/tui-win.c:229
+#: tui/tui-win.c:219
 #, possible-c-format
 msgid "The kind of border for TUI windows is \"%s\".\n"
 msgstr ""
 
-#: tui/tui-win.c:328
+#: tui/tui-win.c:318
 msgid "\"tui\" must be followed by the name of a tui command.\n"
 msgstr ""
 
-#: tui/tui-win.c:338
+#: tui/tui-win.c:328
 msgid "Text User Interface commands."
 msgstr ""
 
-#: tui/tui-win.c:811 tui/tui-win.c:962
-msgid ""
-"Invalid window specified. \n"
-"The window name specified must be valid and visible.\n"
+#: tui/tui-win.c:789 tui/tui-win.c:935
+#, possible-c-format
+msgid "Unrecognized window name \"%s\""
+msgstr ""
+
+#: tui/tui-win.c:791 tui/tui-win.c:937
+#, possible-c-format
+msgid "Window \"%s\" is not visible"
 msgstr ""
 
-#: tui/tui-win.c:820
+#: tui/tui-win.c:795
 #, possible-c-format
 msgid "Focus set to %s window.\n"
 msgstr ""
 
-#: tui/tui-win.c:824
+#: tui/tui-win.c:799
 #, possible-c-format
 msgid ""
 "Incorrect Number of Arguments.\n"
 "%s"
 msgstr ""
 
-#: tui/tui-win.c:847
+#: tui/tui-win.c:822
 msgid "(has focus)"
 msgstr ""
 
-#: tui/tui-win.c:894
+#: tui/tui-win.c:869
 msgid "Tab width must not be 0"
 msgstr ""
 
-#: tui/tui-win.c:907
+#: tui/tui-win.c:882
 #, possible-c-format
 msgid "TUI tab width is %s spaces.\n"
 msgstr ""
 
-#: tui/tui-win.c:923
+#: tui/tui-win.c:898
 msgid "Tab widths greater than 0 must be specified."
 msgstr ""
 
-#: tui/tui-win.c:997 tui/tui-win.c:1003
+#: tui/tui-win.c:969 tui/tui-win.c:975
 #, possible-c-format
 msgid ""
 "Invalid window height specified.\n"
 "%s"
 msgstr ""
 
-#: tui/tui-win.c:1351
+#: tui/tui-win.c:1311
 #, possible-c-format
 msgid "Unrecognized window `%s'"
 msgstr ""
 
-#: tui/tui-win.c:1353
+#: tui/tui-win.c:1313
 msgid "Window is not visible"
 msgstr ""
 
-#: tui/tui-win.c:1373 tui/tui-win.c:1377
+#: tui/tui-win.c:1334 tui/tui-win.c:1338
 msgid "TUI configuration variables."
 msgstr ""
 
-#: tui/tui-win.c:1382
+#: tui/tui-win.c:1343
 msgid "Refresh the terminal display."
 msgstr ""
 
-#: tui/tui-win.c:1384
+#: tui/tui-win.c:1345
 msgid ""
 "Set the width (in characters) of tab stops.\n"
 "Usage: tabset N"
 msgstr ""
 
-#: tui/tui-win.c:1389
+#: tui/tui-win.c:1350
 msgid "Set or modify the height of a specified window.\n"
 msgstr ""
 
-#: tui/tui-win.c:1400
+#: tui/tui-win.c:1361
 msgid "List of all displayed windows."
 msgstr ""
 
-#: tui/tui-win.c:1401
+#: tui/tui-win.c:1362
 msgid "Set focus to named window or next/prev window.\n"
 msgstr ""
 
-#: tui/tui-win.c:1411
+#: tui/tui-win.c:1372
 msgid ""
 "Scroll window forward.\n"
 "Usage: + [WIN] [N]"
 msgstr ""
 
-#: tui/tui-win.c:1414
+#: tui/tui-win.c:1375
 msgid ""
 "Scroll window backward.\n"
 "Usage: - [WIN] [N]"
 msgstr ""
 
-#: tui/tui-win.c:1417
+#: tui/tui-win.c:1378
 msgid ""
 "Scroll window text to the left.\n"
 "Usage: < [WIN] [N]"
 msgstr ""
 
-#: tui/tui-win.c:1420
+#: tui/tui-win.c:1381
 msgid ""
 "Scroll window text to the right.\n"
 "Usage: > [WIN] [N]"
 msgstr ""
 
-#: tui/tui-win.c:1426
+#: tui/tui-win.c:1387
 msgid "Set the kind of border for TUI windows."
 msgstr ""
 
-#: tui/tui-win.c:1427
+#: tui/tui-win.c:1388
 msgid "Show the kind of border for TUI windows."
 msgstr ""
 
-#: tui/tui-win.c:1428
+#: tui/tui-win.c:1389
 msgid ""
 "This variable controls the border of TUI windows:\n"
 "   space           use a white space\n"
@@ -32103,15 +31896,15 @@ msgid ""
 "   acs             use the Alternate Character Set"
 msgstr ""
 
-#: tui/tui-win.c:1438
+#: tui/tui-win.c:1399
 msgid "Set the attribute mode to use for the TUI window borders."
 msgstr ""
 
-#: tui/tui-win.c:1439
+#: tui/tui-win.c:1400
 msgid "Show the attribute mode to use for the TUI window borders."
 msgstr ""
 
-#: tui/tui-win.c:1440
+#: tui/tui-win.c:1401
 msgid ""
 "This variable controls the attributes to use for the window borders:\n"
 "   normal          normal display\n"
@@ -32123,15 +31916,15 @@ msgid ""
 "   bold-standout   use extra bright or bold with standout mode"
 msgstr ""
 
-#: tui/tui-win.c:1454
+#: tui/tui-win.c:1415
 msgid "Set the attribute mode to use for the active TUI window border."
 msgstr ""
 
-#: tui/tui-win.c:1455
+#: tui/tui-win.c:1416
 msgid "Show the attribute mode to use for the active TUI window border."
 msgstr ""
 
-#: tui/tui-win.c:1456
+#: tui/tui-win.c:1417
 msgid ""
 "This variable controls the attributes to use for the active window border:\n"
 "   normal          normal display\n"
@@ -32143,15 +31936,15 @@ msgid ""
 "   bold-standout   use extra bright or bold with standout mode"
 msgstr ""
 
-#: tui/tui-win.c:1470
+#: tui/tui-win.c:1431
 msgid "Set the tab width, in characters, for the TUI."
 msgstr ""
 
-#: tui/tui-win.c:1471
+#: tui/tui-win.c:1432
 msgid "Show the tab witdh, in characters, for the TUI."
 msgstr ""
 
-#: tui/tui-win.c:1472
+#: tui/tui-win.c:1433
 msgid ""
 "This variable controls how many spaces are used to display a tab character."
 msgstr ""
@@ -33634,94 +33427,94 @@ msgstr ""
 #. 4 mysterious UNLOAD_DLL_DEBUG_EVENTs during the startup phase (these
 #. events are apparently caused by the WOW layer, the interface between
 #. 32bit and 64bit worlds).
-#: windows-nat.c:935
+#: windows-nat.c:934
 #, possible-c-format
 msgid "dll starting at %s not found."
 msgstr ""
 
-#: windows-nat.c:970
+#: windows-nat.c:969
 msgid "signal-event requires an argument (integer event id)"
 msgstr ""
 
-#: windows-nat.c:976
+#: windows-nat.c:975
 #, possible-c-format
 msgid "Failed to convert `%s' to event id"
 msgstr ""
 
-#: windows-nat.c:1385
+#: windows-nat.c:1384
 #, possible-c-format
 msgid ""
 "Failed to resume program execution (ContinueDebugEvent failed, error %u)"
 msgstr ""
 
-#: windows-nat.c:1404
+#: windows-nat.c:1403
 #, possible-c-format
 msgid "OpenProcess call failed, GetLastError = %u"
 msgstr ""
 
-#: windows-nat.c:1526
+#: windows-nat.c:1525
 msgid "Could not interrupt program.  Press Ctrl-c in the program console."
 msgstr ""
 
-#: windows-nat.c:1631
+#: windows-nat.c:1630
 #, possible-c-format
 msgid "During startup program exited with code 0x%x."
 msgstr ""
 
-#: windows-nat.c:2002
+#: windows-nat.c:2001
 msgid "Can't attach to process."
 msgstr ""
 
-#: windows-nat.c:2032
+#: windows-nat.c:2031
 #, possible-c-format
 msgid "Can't detach process %u (error %u)"
 msgstr ""
 
-#: windows-nat.c:2089 windows-nat.c:2099
+#: windows-nat.c:2088 windows-nat.c:2098
 #, possible-c-format
 msgid "Error getting executable filename: %u."
 msgstr ""
 
-#: windows-nat.c:2093
+#: windows-nat.c:2092
 #, possible-c-format
 msgid "Error converting executable filename to POSIX: %d."
 msgstr ""
 
-#: windows-nat.c:2566
+#: windows-nat.c:2565
 msgid "No executable specified, use `target exec'."
 msgstr ""
 
-#: windows-nat.c:2594 windows-nat.c:2599
+#: windows-nat.c:2593 windows-nat.c:2598
 #, possible-c-format
 msgid "Error starting executable: %d"
 msgstr ""
 
-#: windows-nat.c:2610
+#: windows-nat.c:2609
 #, possible-c-format
 msgid "Error starting executable via shell: %d"
 msgstr ""
 
-#: windows-nat.c:2629
+#: windows-nat.c:2628
 #, possible-c-format
 msgid "Error converting inferior cwd: %d"
 msgstr ""
 
-#: windows-nat.c:2728
+#: windows-nat.c:2727
 #, possible-c-format
 msgid "Error in redirection: %s."
 msgstr ""
 
-#: windows-nat.c:2745
+#: windows-nat.c:2744
 #, possible-c-format
 msgid "Warning: Failed to open TTY %s, error %#x."
 msgstr ""
 
-#: windows-nat.c:2829
+#: windows-nat.c:2828
 #, possible-c-format
 msgid "Error creating process %s, (error %u)."
 msgstr ""
 
-#: windows-nat.c:3068
+#: windows-nat.c:3067
 msgid ""
 "Signal a crashed process with event ID, to allow its debugging.\n"
 "This command is needed in support of setting up GDB as JIT debugger on MS-"
@@ -33730,87 +33523,87 @@ msgid ""
 "process will be supplied by the Windows JIT debugging mechanism."
 msgstr ""
 
-#: windows-nat.c:3076
+#: windows-nat.c:3075
 msgid "Set use of shell to start subprocess."
 msgstr ""
 
-#: windows-nat.c:3077
+#: windows-nat.c:3076
 msgid "Show use of shell to start subprocess."
 msgstr ""
 
-#: windows-nat.c:3084
+#: windows-nat.c:3083
 msgid "Break when an exception is detected in the Cygwin DLL itself."
 msgstr ""
 
-#: windows-nat.c:3085
+#: windows-nat.c:3084
 msgid "Show whether gdb breaks on exceptions in the Cygwin DLL itself."
 msgstr ""
 
-#: windows-nat.c:3092
+#: windows-nat.c:3091
 msgid "Set creation of new console when creating child process."
 msgstr ""
 
-#: windows-nat.c:3093
+#: windows-nat.c:3092
 msgid "Show creation of new console when creating child process."
 msgstr ""
 
-#: windows-nat.c:3099
+#: windows-nat.c:3098
 msgid "Set creation of new group when creating child process."
 msgstr ""
 
-#: windows-nat.c:3100
+#: windows-nat.c:3099
 msgid "Show creation of new group when creating child process."
 msgstr ""
 
-#: windows-nat.c:3106
+#: windows-nat.c:3105
 msgid "Set whether to display execution in child process."
 msgstr ""
 
-#: windows-nat.c:3107
+#: windows-nat.c:3106
 msgid "Show whether to display execution in child process."
 msgstr ""
 
-#: windows-nat.c:3113
+#: windows-nat.c:3112
 msgid "Set whether to display kernel events in child process."
 msgstr ""
 
-#: windows-nat.c:3114
+#: windows-nat.c:3113
 msgid "Show whether to display kernel events in child process."
 msgstr ""
 
-#: windows-nat.c:3120
+#: windows-nat.c:3119
 msgid "Set whether to display memory accesses in child process."
 msgstr ""
 
-#: windows-nat.c:3121
+#: windows-nat.c:3120
 msgid "Show whether to display memory accesses in child process."
 msgstr ""
 
-#: windows-nat.c:3128
+#: windows-nat.c:3127
 msgid "Set whether to display kernel exceptions in child process."
 msgstr ""
 
-#: windows-nat.c:3129
+#: windows-nat.c:3128
 msgid "Show whether to display kernel exceptions in child process."
 msgstr ""
 
-#: windows-nat.c:3138
+#: windows-nat.c:3137
 msgid "Display selectors infos."
 msgstr ""
 
-#: windows-nat.c:3152
+#: windows-nat.c:3151
 #, possible-c-format
 msgid "Invalid register %d in cygwin_set_dr.\n"
 msgstr ""
 
-#: windows-nat.c:3236
+#: windows-nat.c:3235
 #, possible-c-format
 msgid "obsolete '%s' found. Rename to '%s'."
 msgstr ""
 
 #. This will probably fail on Windows 9x/Me.  Let the user know
 #. that we're missing some functionality.
-#: windows-nat.c:3361
+#: windows-nat.c:3360
 msgid ""
 "cannot automatically find executable file or library to read symbols.\n"
 "Use \"file\" or \"dll\" command to load executable/libraries directly."
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/ppc64-tdep.c ./gdb/ppc64-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/ppc64-tdep.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/ppc64-tdep.c	2019-09-24 01:49:11.000000000 +0000
@@ -593,8 +593,8 @@ ppc64_convert_from_func_ptr_addr (struct
 				      s->the_bfd_section,
 				      &buf, addr - s->addr, 8);
       if (res != 0)
-	return extract_unsigned_integer (buf, 8, byte_order)
-		- bfd_section_vma (s->bfd, s->the_bfd_section) + s->addr;
+	return (extract_unsigned_integer (buf, 8, byte_order)
+		- bfd_section_vma (s->the_bfd_section) + s->addr);
    }
 
   return addr;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/ppc-linux-nat.c ./gdb/ppc-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/ppc-linux-nat.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/ppc-linux-nat.c	2019-09-24 01:49:11.000000000 +0000
@@ -2646,9 +2646,6 @@ ppc_linux_nat_target::read_description (
 	perror_with_name (_("Unable to fetch AltiVec registers"));
     }
 
-  if (hwcap & PPC_FEATURE_CELL)
-    features.cell = true;
-
   features.isa205 = ppc_linux_has_isa205 (hwcap);
 
   if ((hwcap2 & PPC_FEATURE2_DSCR)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/ppc-linux-tdep.c ./gdb/ppc-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/ppc-linux-tdep.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/ppc-linux-tdep.c	2019-09-24 01:49:11.000000000 +0000
@@ -31,7 +31,6 @@
 #include "osabi.h"
 #include "regset.h"
 #include "solib-svr4.h"
-#include "solib-spu.h"
 #include "solib.h"
 #include "solist.h"
 #include "ppc-tdep.h"
@@ -48,7 +47,6 @@
 #include "elf/common.h"
 #include "elf/ppc64.h"
 #include "arch-utils.h"
-#include "spu-tdep.h"
 #include "xml-syscall.h"
 #include "linux-tdep.h"
 #include "linux-record.h"
@@ -66,7 +64,6 @@
 
 #include "features/rs6000/powerpc-32l.c"
 #include "features/rs6000/powerpc-altivec32l.c"
-#include "features/rs6000/powerpc-cell32l.c"
 #include "features/rs6000/powerpc-vsx32l.c"
 #include "features/rs6000/powerpc-isa205-32l.c"
 #include "features/rs6000/powerpc-isa205-altivec32l.c"
@@ -76,7 +73,6 @@
 #include "features/rs6000/powerpc-isa207-htm-vsx32l.c"
 #include "features/rs6000/powerpc-64l.c"
 #include "features/rs6000/powerpc-altivec64l.c"
-#include "features/rs6000/powerpc-cell64l.c"
 #include "features/rs6000/powerpc-vsx64l.c"
 #include "features/rs6000/powerpc-isa205-64l.c"
 #include "features/rs6000/powerpc-isa205-altivec64l.c"
@@ -1555,19 +1551,12 @@ ppc_linux_write_pc (struct regcache *reg
     regcache_cooked_write_unsigned (regcache, PPC_TRAP_REGNUM, -1);
 }
 
-static int
-ppc_linux_spu_section (bfd *abfd, asection *asect, void *user_data)
-{
-  return startswith (bfd_section_name (abfd, asect), "SPU/");
-}
-
 static const struct target_desc *
 ppc_linux_core_read_description (struct gdbarch *gdbarch,
 				 struct target_ops *target,
 				 bfd *abfd)
 {
   struct ppc_linux_features features = ppc_linux_no_features;
-  asection *cell = bfd_sections_find_if (abfd, ppc_linux_spu_section, NULL);
   asection *altivec = bfd_get_section_by_name (abfd, ".reg-ppc-vmx");
   asection *vsx = bfd_get_section_by_name (abfd, ".reg-ppc-vsx");
   asection *section = bfd_get_section_by_name (abfd, ".reg");
@@ -1580,7 +1569,7 @@ ppc_linux_core_read_description (struct 
   if (! section)
     return NULL;
 
-  switch (bfd_section_size (abfd, section))
+  switch (bfd_section_size (section))
     {
     case 48 * 4:
       features.wordsize = 4;
@@ -1592,9 +1581,6 @@ ppc_linux_core_read_description (struct 
       return NULL;
     }
 
-  if (cell)
-    features.cell = true;
-
   if (altivec)
     features.altivec = true;
 
@@ -1743,287 +1729,6 @@ ppc_stap_parse_special_token (struct gdb
   return 1;
 }
 
-/* Cell/B.E. active SPE context tracking support.  */
-
-static struct objfile *spe_context_objfile = NULL;
-static CORE_ADDR spe_context_lm_addr = 0;
-static CORE_ADDR spe_context_offset = 0;
-
-static ptid_t spe_context_cache_ptid;
-static CORE_ADDR spe_context_cache_address;
-
-/* Hook into inferior_created, solib_loaded, and solib_unloaded observers
-   to track whether we've loaded a version of libspe2 (as static or dynamic
-   library) that provides the __spe_current_active_context variable.  */
-static void
-ppc_linux_spe_context_lookup (struct objfile *objfile)
-{
-  struct bound_minimal_symbol sym;
-
-  if (!objfile)
-    {
-      spe_context_objfile = NULL;
-      spe_context_lm_addr = 0;
-      spe_context_offset = 0;
-      spe_context_cache_ptid = minus_one_ptid;
-      spe_context_cache_address = 0;
-      return;
-    }
-
-  sym = lookup_minimal_symbol ("__spe_current_active_context", NULL, objfile);
-  if (sym.minsym)
-    {
-      spe_context_objfile = objfile;
-      spe_context_lm_addr = svr4_fetch_objfile_link_map (objfile);
-      spe_context_offset = MSYMBOL_VALUE_RAW_ADDRESS (sym.minsym);
-      spe_context_cache_ptid = minus_one_ptid;
-      spe_context_cache_address = 0;
-      return;
-    }
-}
-
-static void
-ppc_linux_spe_context_inferior_created (struct target_ops *t, int from_tty)
-{
-  ppc_linux_spe_context_lookup (NULL);
-  for (objfile *objfile : current_program_space->objfiles ())
-    ppc_linux_spe_context_lookup (objfile);
-}
-
-static void
-ppc_linux_spe_context_solib_loaded (struct so_list *so)
-{
-  if (strstr (so->so_original_name, "/libspe") != NULL)
-    {
-      solib_read_symbols (so, 0);
-      ppc_linux_spe_context_lookup (so->objfile);
-    }
-}
-
-static void
-ppc_linux_spe_context_solib_unloaded (struct so_list *so)
-{
-  if (so->objfile == spe_context_objfile)
-    ppc_linux_spe_context_lookup (NULL);
-}
-
-/* Retrieve contents of the N'th element in the current thread's
-   linked SPE context list into ID and NPC.  Return the address of
-   said context element, or 0 if not found.  */
-static CORE_ADDR
-ppc_linux_spe_context (int wordsize, enum bfd_endian byte_order,
-		       int n, int *id, unsigned int *npc)
-{
-  CORE_ADDR spe_context = 0;
-  gdb_byte buf[16];
-  int i;
-
-  /* Quick exit if we have not found __spe_current_active_context.  */
-  if (!spe_context_objfile)
-    return 0;
-
-  /* Look up cached address of thread-local variable.  */
-  if (spe_context_cache_ptid != inferior_ptid)
-    {
-      struct target_ops *target = current_top_target ();
-
-      try
-	{
-	  /* We do not call target_translate_tls_address here, because
-	     svr4_fetch_objfile_link_map may invalidate the frame chain,
-	     which must not do while inside a frame sniffer.
-
-	     Instead, we have cached the lm_addr value, and use that to
-	     directly call the target's to_get_thread_local_address.  */
-	  spe_context_cache_address
-	    = target->get_thread_local_address (inferior_ptid,
-						spe_context_lm_addr,
-						spe_context_offset);
-	  spe_context_cache_ptid = inferior_ptid;
-	}
-
-      catch (const gdb_exception_error &ex)
-	{
-	  return 0;
-	}
-    }
-
-  /* Read variable value.  */
-  if (target_read_memory (spe_context_cache_address, buf, wordsize) == 0)
-    spe_context = extract_unsigned_integer (buf, wordsize, byte_order);
-
-  /* Cyle through to N'th linked list element.  */
-  for (i = 0; i < n && spe_context; i++)
-    if (target_read_memory (spe_context + align_up (12, wordsize),
-			    buf, wordsize) == 0)
-      spe_context = extract_unsigned_integer (buf, wordsize, byte_order);
-    else
-      spe_context = 0;
-
-  /* Read current context.  */
-  if (spe_context
-      && target_read_memory (spe_context, buf, 12) != 0)
-    spe_context = 0;
-
-  /* Extract data elements.  */
-  if (spe_context)
-    {
-      if (id)
-	*id = extract_signed_integer (buf, 4, byte_order);
-      if (npc)
-	*npc = extract_unsigned_integer (buf + 4, 4, byte_order);
-    }
-
-  return spe_context;
-}
-
-
-/* Cell/B.E. cross-architecture unwinder support.  */
-
-struct ppu2spu_cache
-{
-  struct frame_id frame_id;
-  readonly_detached_regcache *regcache;
-};
-
-static struct gdbarch *
-ppu2spu_prev_arch (struct frame_info *this_frame, void **this_cache)
-{
-  struct ppu2spu_cache *cache = (struct ppu2spu_cache *) *this_cache;
-  return cache->regcache->arch ();
-}
-
-static void
-ppu2spu_this_id (struct frame_info *this_frame,
-		 void **this_cache, struct frame_id *this_id)
-{
-  struct ppu2spu_cache *cache = (struct ppu2spu_cache *) *this_cache;
-  *this_id = cache->frame_id;
-}
-
-static struct value *
-ppu2spu_prev_register (struct frame_info *this_frame,
-		       void **this_cache, int regnum)
-{
-  struct ppu2spu_cache *cache = (struct ppu2spu_cache *) *this_cache;
-  struct gdbarch *gdbarch = cache->regcache->arch ();
-  gdb_byte *buf;
-
-  buf = (gdb_byte *) alloca (register_size (gdbarch, regnum));
-
-  cache->regcache->cooked_read (regnum, buf);
-  return frame_unwind_got_bytes (this_frame, regnum, buf);
-}
-
-struct ppu2spu_data
-{
-  struct gdbarch *gdbarch;
-  int id;
-  unsigned int npc;
-  gdb_byte gprs[128*16];
-};
-
-static enum register_status
-ppu2spu_unwind_register (ppu2spu_data *data, int regnum, gdb_byte *buf)
-{
-  enum bfd_endian byte_order = gdbarch_byte_order (data->gdbarch);
-
-  if (regnum >= 0 && regnum < SPU_NUM_GPRS)
-    memcpy (buf, data->gprs + 16*regnum, 16);
-  else if (regnum == SPU_ID_REGNUM)
-    store_unsigned_integer (buf, 4, byte_order, data->id);
-  else if (regnum == SPU_PC_REGNUM)
-    store_unsigned_integer (buf, 4, byte_order, data->npc);
-  else
-    return REG_UNAVAILABLE;
-
-  return REG_VALID;
-}
-
-static int
-ppu2spu_sniffer (const struct frame_unwind *self,
-		 struct frame_info *this_frame, void **this_prologue_cache)
-{
-  struct gdbarch *gdbarch = get_frame_arch (this_frame);
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  struct ppu2spu_data data;
-  struct frame_info *fi;
-  CORE_ADDR base, func, backchain, spe_context;
-  gdb_byte buf[8];
-  int n = 0;
-
-  /* Count the number of SPU contexts already in the frame chain.  */
-  for (fi = get_next_frame (this_frame); fi; fi = get_next_frame (fi))
-    if (get_frame_type (fi) == ARCH_FRAME
-	&& gdbarch_bfd_arch_info (get_frame_arch (fi))->arch == bfd_arch_spu)
-      n++;
-
-  base = get_frame_sp (this_frame);
-  func = get_frame_pc (this_frame);
-  if (target_read_memory (base, buf, tdep->wordsize))
-    return 0;
-  backchain = extract_unsigned_integer (buf, tdep->wordsize, byte_order);
-
-  spe_context = ppc_linux_spe_context (tdep->wordsize, byte_order,
-				       n, &data.id, &data.npc);
-  if (spe_context && base <= spe_context && spe_context < backchain)
-    {
-      char annex[32];
-
-      /* Find gdbarch for SPU.  */
-      struct gdbarch_info info;
-      gdbarch_info_init (&info);
-      info.bfd_arch_info = bfd_lookup_arch (bfd_arch_spu, bfd_mach_spu);
-      info.byte_order = BFD_ENDIAN_BIG;
-      info.osabi = GDB_OSABI_LINUX;
-      info.id = &data.id;
-      data.gdbarch = gdbarch_find_by_info (info);
-      if (!data.gdbarch)
-	return 0;
-
-      xsnprintf (annex, sizeof annex, "%d/regs", data.id);
-      if (target_read (current_top_target (), TARGET_OBJECT_SPU, annex,
-		       data.gprs, 0, sizeof data.gprs)
-	  == sizeof data.gprs)
-	{
-	  auto cooked_read = [&data] (int regnum, gdb_byte *out_buf)
-	    {
-	      return ppu2spu_unwind_register (&data, regnum, out_buf);
-	    };
-	  struct ppu2spu_cache *cache
-	    = FRAME_OBSTACK_CALLOC (1, struct ppu2spu_cache);
-	  std::unique_ptr<readonly_detached_regcache> regcache
-	    (new readonly_detached_regcache (data.gdbarch, cooked_read));
-
-	  cache->frame_id = frame_id_build (base, func);
-	  cache->regcache = regcache.release ();
-	  *this_prologue_cache = cache;
-	  return 1;
-	}
-    }
-
-  return 0;
-}
-
-static void
-ppu2spu_dealloc_cache (struct frame_info *self, void *this_cache)
-{
-  struct ppu2spu_cache *cache = (struct ppu2spu_cache *) this_cache;
-  delete cache->regcache;
-}
-
-static const struct frame_unwind ppu2spu_unwind = {
-  ARCH_FRAME,
-  default_frame_unwind_stop_reason,
-  ppu2spu_this_id,
-  ppu2spu_prev_register,
-  NULL,
-  ppu2spu_sniffer,
-  ppu2spu_dealloc_cache,
-  ppu2spu_prev_arch,
-};
-
 /* Initialize linux_record_tdep if not initialized yet.
    WORDSIZE is 4 or 8 for 32- or 64-bit PowerPC Linux respectively.
    Sizes of data structures are initialized accordingly.  */
@@ -2439,21 +2144,6 @@ ppc_linux_init_abi (struct gdbarch_info 
 	}
     }
 
-  /* Enable Cell/B.E. if supported by the target.  */
-  if (tdesc_compatible_p (info.target_desc,
-			  bfd_lookup_arch (bfd_arch_spu, bfd_mach_spu)))
-    {
-      /* Cell/B.E. multi-architecture support.  */
-      set_spu_solib_ops (gdbarch);
-
-      /* Cell/B.E. cross-architecture unwinder support.  */
-      frame_unwind_prepend_unwinder (gdbarch, &ppu2spu_unwind);
-
-      /* We need to support more than "addr_bit" significant address bits
-         in order to support SPUADDR_ADDR encoded values.  */
-      set_gdbarch_significant_addr_bit (gdbarch, 64);
-    }
-
   set_gdbarch_displaced_step_location (gdbarch,
 				       linux_displaced_step_location);
 
@@ -2478,15 +2168,9 @@ _initialize_ppc_linux_tdep (void)
   gdbarch_register_osabi (bfd_arch_rs6000, bfd_mach_rs6k, GDB_OSABI_LINUX,
                          ppc_linux_init_abi);
 
-  /* Attach to observers to track __spe_current_active_context.  */
-  gdb::observers::inferior_created.attach (ppc_linux_spe_context_inferior_created);
-  gdb::observers::solib_loaded.attach (ppc_linux_spe_context_solib_loaded);
-  gdb::observers::solib_unloaded.attach (ppc_linux_spe_context_solib_unloaded);
-
   /* Initialize the Linux target descriptions.  */
   initialize_tdesc_powerpc_32l ();
   initialize_tdesc_powerpc_altivec32l ();
-  initialize_tdesc_powerpc_cell32l ();
   initialize_tdesc_powerpc_vsx32l ();
   initialize_tdesc_powerpc_isa205_32l ();
   initialize_tdesc_powerpc_isa205_altivec32l ();
@@ -2496,7 +2180,6 @@ _initialize_ppc_linux_tdep (void)
   initialize_tdesc_powerpc_isa207_htm_vsx32l ();
   initialize_tdesc_powerpc_64l ();
   initialize_tdesc_powerpc_altivec64l ();
-  initialize_tdesc_powerpc_cell64l ();
   initialize_tdesc_powerpc_vsx64l ();
   initialize_tdesc_powerpc_isa205_64l ();
   initialize_tdesc_powerpc_isa205_altivec64l ();
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/printcmd.c ./gdb/printcmd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/printcmd.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/printcmd.c	2019-09-24 01:49:11.000000000 +0000
@@ -100,7 +100,7 @@ show_max_symbolic_offset (struct ui_file
 
 /* Append the source filename and linenumber of the symbol when
    printing a symbolic value as `<symbol at filename:linenum>' if set.  */
-static int print_symbol_filename = 0;
+static bool print_symbol_filename = false;
 static void
 show_print_symbol_filename (struct ui_file *file, int from_tty,
 			    struct cmd_list_element *c, const char *value)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/proc-api.c ./gdb/proc-api.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/proc-api.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/proc-api.c	2019-09-24 01:49:11.000000000 +0000
@@ -50,7 +50,7 @@ struct trans {
   const char *desc;             /* Short description of value */
 };
 
-static int   procfs_trace    = 0;
+static bool  procfs_trace   = false;
 static FILE *procfs_file     = NULL;
 static char *procfs_filename;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/python/py-auto-load.c ./gdb/python/py-auto-load.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/python/py-auto-load.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/python/py-auto-load.c	2019-09-24 01:49:11.000000000 +0000
@@ -29,7 +29,7 @@
    set auto-load python-scripts on|off
    This is true if we should auto-load associated Python scripts when an
    objfile is opened, false otherwise.  */
-static int auto_load_python_scripts = 1;
+static bool auto_load_python_scripts = true;
 
 /* "show" command for the auto_load_python_scripts configuration variable.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/python/py-param.c ./gdb/python/py-param.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/python/py-param.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/python/py-param.c	2019-09-24 01:49:11.000000000 +0000
@@ -55,7 +55,10 @@ struct parm_constant parm_constants[] =
 /* A union that can hold anything described by enum var_types.  */
 union parmpy_variable
 {
-  /* Hold an integer value, for boolean and integer types.  */
+  /* Hold a boolean value.  */
+  bool boolval;
+
+  /* Hold an integer value.  */
   int intval;
 
   /* Hold an auto_boolean.  */
@@ -198,7 +201,7 @@ set_parameter_value (parmpy_object *self
       cmp = PyObject_IsTrue (value);
       if (cmp < 0)
 	  return -1;
-      self->value.intval = cmp;
+      self->value.boolval = cmp;
       break;
 
     case var_auto_boolean:
@@ -475,7 +478,7 @@ add_setshow_generic (int parmclass, enum
     case var_boolean:
 
       add_setshow_boolean_cmd (cmd_name, cmdclass,
-			       &self->value.intval, set_doc, show_doc,
+			       &self->value.boolval, set_doc, show_doc,
 			       help_doc, get_set_value, get_show_value,
 			       set_list, show_list);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/python/python.c ./gdb/python/python.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/python/python.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/python/python.c	2019-09-24 01:49:11.000000000 +0000
@@ -441,7 +441,7 @@ gdbpy_parameter_value (enum var_types ty
 
     case var_boolean:
       {
-	if (* (int *) var)
+	if (* (bool *) var)
 	  Py_RETURN_TRUE;
 	else
 	  Py_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-8.3.50.20190917/gdb/python/py-value.c ./gdb/python/py-value.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/python/py-value.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/python/py-value.c	2019-09-24 01:49:11.000000000 +0000
@@ -580,7 +580,7 @@ valpy_string (PyObject *self, PyObject *
 			   encoding, errors);
 }
 
-/* Given a Python object, copy its truth value to a C int (the value
+/* Given a Python object, copy its truth value to a C bool (the value
    pointed by dest).
    If src_obj is NULL, then *dest is not modified.
 
@@ -588,7 +588,7 @@ valpy_string (PyObject *self, PyObject *
    in case of error.  */
 
 static bool
-copy_py_bool_obj (int *dest, PyObject *src_obj)
+copy_py_bool_obj (bool *dest, PyObject *src_obj)
 {
   if (src_obj)
     {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/ravenscar-thread.c ./gdb/ravenscar-thread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/ravenscar-thread.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/ravenscar-thread.c	2019-09-24 01:49:11.000000000 +0000
@@ -57,8 +57,8 @@
    is running, switching to its corresponding ptid, and then performing
    the operation on that ptid using the target beneath us.  */
 
-/* If non-null, ravenscar task support is enabled.  */
-static int ravenscar_task_support = 1;
+/* If true, ravenscar task support is enabled.  */
+static bool ravenscar_task_support = true;
 
 static const char running_thread_name[] = "__gnat_running_thread_table";
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/record-btrace.c ./gdb/record-btrace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/record-btrace.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/record-btrace.c	2019-09-24 01:49:11.000000000 +0000
@@ -1435,8 +1435,7 @@ record_btrace_target::xfer_partial (enum
 	    if (section != NULL)
 	      {
 		/* Check if the section we found is readonly.  */
-		if ((bfd_get_section_flags (section->the_bfd_section->owner,
-					    section->the_bfd_section)
+		if ((bfd_section_flags (section->the_bfd_section)
 		     & SEC_READONLY) != 0)
 		  {
 		    /* Truncate the request to fit into this section.  */
@@ -1560,7 +1559,7 @@ record_btrace_target::store_registers (s
       && record_is_replaying (regcache->ptid ()))
     error (_("Cannot write registers while replaying."));
 
-  gdb_assert (may_write_registers != 0);
+  gdb_assert (may_write_registers);
 
   this->beneath ()->store_registers (regcache, regno);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/record-full.c ./gdb/record-full.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/record-full.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/record-full.c	2019-09-24 01:49:11.000000000 +0000
@@ -159,7 +159,7 @@ struct record_full_entry
 
 /* If true, query if PREC cannot record memory
    change of next instruction.  */
-int record_full_memory_query = 0;
+bool record_full_memory_query = false;
 
 struct record_full_core_buf_entry
 {
@@ -196,8 +196,8 @@ static struct record_full_entry *record_
 static struct record_full_entry *record_full_arch_list_head = NULL;
 static struct record_full_entry *record_full_arch_list_tail = NULL;
 
-/* 1 ask user. 0 auto delete the last struct record_full_entry.  */
-static int record_full_stop_at_limit = 1;
+/* true ask user. false auto delete the last struct record_full_entry.  */
+static bool record_full_stop_at_limit = true;
 /* Maximum allowed number of insns in execution log.  */
 static unsigned int record_full_insn_max_num
 	= DEFAULT_RECORD_FULL_INSN_MAX_NUM;
@@ -2350,9 +2350,9 @@ record_full_restore (void)
 			osec ? "succeeded" : "failed");
   if (osec == NULL)
     return;
-  osec_size = bfd_section_size (core_bfd, osec);
+  osec_size = bfd_section_size (osec);
   if (record_debug)
-    fprintf_unfiltered (gdb_stdlog, "%s", bfd_section_name (core_bfd, osec));
+    fprintf_unfiltered (gdb_stdlog, "%s", bfd_section_name (osec));
 
   /* Check the magic code.  */
   bfdcore_read (core_bfd, osec, &magic, sizeof (magic), &bfd_offset);
@@ -2599,10 +2599,9 @@ record_full_base_target::save_record (co
     error (_("Failed to create 'precord' section for corefile %s: %s"),
 	   recfilename,
            bfd_errmsg (bfd_get_error ()));
-  bfd_set_section_size (obfd.get (), osec, save_size);
-  bfd_set_section_vma (obfd.get (), osec, 0);
-  bfd_set_section_alignment (obfd.get (), osec, 0);
-  bfd_section_lma (obfd.get (), osec) = 0;
+  bfd_set_section_size (osec, save_size);
+  bfd_set_section_vma (osec, 0);
+  bfd_set_section_alignment (osec, 0);
 
   /* Save corefile state.  */
   write_gcore_file (obfd.get ());
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/record-full.h ./gdb/record-full.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/record-full.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/record-full.h	2019-09-24 01:49:11.000000000 +0000
@@ -20,7 +20,7 @@
 #ifndef RECORD_FULL_H
 #define RECORD_FULL_H
 
-extern int record_full_memory_query;
+extern bool record_full_memory_query;
 
 extern int record_full_arch_list_add_reg (struct regcache *regcache, int num);
 extern int record_full_arch_list_add_mem (CORE_ADDR addr, int len);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/regcache.c ./gdb/regcache.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/regcache.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/regcache.c	2019-09-24 01:49:11.000000000 +0000
@@ -1605,10 +1605,7 @@ cooked_read_test (struct gdbarch *gdbarc
 
       SELF_CHECK (mock_target.fetch_registers_called == 0);
       SELF_CHECK (mock_target.store_registers_called == 0);
-
-      /* Some SPU pseudo registers are got via TARGET_OBJECT_SPU.  */
-      if (gdbarch_bfd_arch_info (gdbarch)->arch != bfd_arch_spu)
-	SELF_CHECK (mock_target.xfer_partial_called == 0);
+      SELF_CHECK (mock_target.xfer_partial_called == 0);
 
       mock_target.reset ();
     }
@@ -1724,16 +1721,12 @@ cooked_write_test (struct gdbarch *gdbar
 
       auto bfd_arch = gdbarch_bfd_arch_info (gdbarch)->arch;
 
-      if ((bfd_arch == bfd_arch_sparc
-	   /* SPARC64_CWP_REGNUM, SPARC64_PSTATE_REGNUM,
-	      SPARC64_ASI_REGNUM and SPARC64_CCR_REGNUM are hard to test.  */
-	   && gdbarch_ptr_bit (gdbarch) == 64
-	   && (regnum >= gdbarch_num_regs (gdbarch)
-	       && regnum <= gdbarch_num_regs (gdbarch) + 4))
-	  || (bfd_arch == bfd_arch_spu
-	      /* SPU pseudo registers except SPU_SP_REGNUM are got by
-		 TARGET_OBJECT_SPU.  */
-	      && regnum >= gdbarch_num_regs (gdbarch) && regnum != 130))
+      if (bfd_arch == bfd_arch_sparc
+	  /* SPARC64_CWP_REGNUM, SPARC64_PSTATE_REGNUM,
+	     SPARC64_ASI_REGNUM and SPARC64_CCR_REGNUM are hard to test.  */
+	  && gdbarch_ptr_bit (gdbarch) == 64
+	  && (regnum >= gdbarch_num_regs (gdbarch)
+	      && regnum <= gdbarch_num_regs (gdbarch) + 4))
 	continue;
 
       std::vector<gdb_byte> expected (register_size (gdbarch, regnum), 0);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/regformats/reg-spu.dat ./gdb/regformats/reg-spu.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/regformats/reg-spu.dat	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/regformats/reg-spu.dat	1970-01-01 00:00:00.000000000 +0000
@@ -1,133 +0,0 @@
-name:spu
-xmlarch:spu
-expedite:r0,r1,npc
-128:r0
-128:r1
-128:r2
-128:r3
-128:r4
-128:r5
-128:r6
-128:r7
-128:r8
-128:r9
-128:r10
-128:r11
-128:r12
-128:r13
-128:r14
-128:r15
-128:r16
-128:r17
-128:r18
-128:r19
-128:r20
-128:r21
-128:r22
-128:r23
-128:r24
-128:r25
-128:r26
-128:r27
-128:r28
-128:r29
-128:r30
-128:r31
-128:r32
-128:r33
-128:r34
-128:r35
-128:r36
-128:r37
-128:r38
-128:r39
-128:r40
-128:r41
-128:r42
-128:r43
-128:r44
-128:r45
-128:r46
-128:r47
-128:r48
-128:r49
-128:r50
-128:r51
-128:r52
-128:r53
-128:r54
-128:r55
-128:r56
-128:r57
-128:r58
-128:r59
-128:r60
-128:r61
-128:r62
-128:r63
-128:r64
-128:r65
-128:r66
-128:r67
-128:r68
-128:r69
-128:r70
-128:r71
-128:r72
-128:r73
-128:r74
-128:r75
-128:r76
-128:r77
-128:r78
-128:r79
-128:r80
-128:r81
-128:r82
-128:r83
-128:r84
-128:r85
-128:r86
-128:r87
-128:r88
-128:r89
-128:r90
-128:r91
-128:r92
-128:r93
-128:r94
-128:r95
-128:r96
-128:r97
-128:r98
-128:r99
-128:r100
-128:r101
-128:r102
-128:r103
-128:r104
-128:r105
-128:r106
-128:r107
-128:r108
-128:r109
-128:r110
-128:r111
-128:r112
-128:r113
-128:r114
-128:r115
-128:r116
-128:r117
-128:r118
-128:r119
-128:r120
-128:r121
-128:r122
-128:r123
-128:r124
-128:r125
-128:r126
-128:r127
-32:id
-32:npc
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/regformats/rs6000/powerpc-cell32l.dat ./gdb/regformats/rs6000/powerpc-cell32l.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/regformats/rs6000/powerpc-cell32l.dat	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/regformats/rs6000/powerpc-cell32l.dat	1970-01-01 00:00:00.000000000 +0000
@@ -1,112 +0,0 @@
-# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
-# Generated from: rs6000/powerpc-cell32l.xml
-name:powerpc_cell32l
-xmltarget:powerpc-cell32l.xml
-expedite:r1,pc,r0,orig_r3,r4
-32:r0
-32:r1
-32:r2
-32:r3
-32:r4
-32:r5
-32:r6
-32:r7
-32:r8
-32:r9
-32:r10
-32:r11
-32:r12
-32:r13
-32:r14
-32:r15
-32:r16
-32:r17
-32:r18
-32:r19
-32:r20
-32:r21
-32:r22
-32:r23
-32:r24
-32:r25
-32:r26
-32:r27
-32:r28
-32:r29
-32:r30
-32:r31
-64:f0
-64:f1
-64:f2
-64:f3
-64:f4
-64:f5
-64:f6
-64:f7
-64:f8
-64:f9
-64:f10
-64:f11
-64:f12
-64:f13
-64:f14
-64:f15
-64:f16
-64:f17
-64:f18
-64:f19
-64:f20
-64:f21
-64:f22
-64:f23
-64:f24
-64:f25
-64:f26
-64:f27
-64:f28
-64:f29
-64:f30
-64:f31
-32:pc
-32:msr
-32:cr
-32:lr
-32:ctr
-32:xer
-32:fpscr
-32:orig_r3
-32:trap
-128:vr0
-128:vr1
-128:vr2
-128:vr3
-128:vr4
-128:vr5
-128:vr6
-128:vr7
-128:vr8
-128:vr9
-128:vr10
-128:vr11
-128:vr12
-128:vr13
-128:vr14
-128:vr15
-128:vr16
-128:vr17
-128:vr18
-128:vr19
-128:vr20
-128:vr21
-128:vr22
-128:vr23
-128:vr24
-128:vr25
-128:vr26
-128:vr27
-128:vr28
-128:vr29
-128:vr30
-128:vr31
-32:vscr
-32:vrsave
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/regformats/rs6000/powerpc-cell64l.dat ./gdb/regformats/rs6000/powerpc-cell64l.dat
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/regformats/rs6000/powerpc-cell64l.dat	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/regformats/rs6000/powerpc-cell64l.dat	1970-01-01 00:00:00.000000000 +0000
@@ -1,112 +0,0 @@
-# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
-# Generated from: rs6000/powerpc-cell64l.xml
-name:powerpc_cell64l
-xmltarget:powerpc-cell64l.xml
-expedite:r1,pc,r0,orig_r3,r4
-64:r0
-64:r1
-64:r2
-64:r3
-64:r4
-64:r5
-64:r6
-64:r7
-64:r8
-64:r9
-64:r10
-64:r11
-64:r12
-64:r13
-64:r14
-64:r15
-64:r16
-64:r17
-64:r18
-64:r19
-64:r20
-64:r21
-64:r22
-64:r23
-64:r24
-64:r25
-64:r26
-64:r27
-64:r28
-64:r29
-64:r30
-64:r31
-64:f0
-64:f1
-64:f2
-64:f3
-64:f4
-64:f5
-64:f6
-64:f7
-64:f8
-64:f9
-64:f10
-64:f11
-64:f12
-64:f13
-64:f14
-64:f15
-64:f16
-64:f17
-64:f18
-64:f19
-64:f20
-64:f21
-64:f22
-64:f23
-64:f24
-64:f25
-64:f26
-64:f27
-64:f28
-64:f29
-64:f30
-64:f31
-64:pc
-64:msr
-32:cr
-64:lr
-64:ctr
-32:xer
-32:fpscr
-64:orig_r3
-64:trap
-128:vr0
-128:vr1
-128:vr2
-128:vr3
-128:vr4
-128:vr5
-128:vr6
-128:vr7
-128:vr8
-128:vr9
-128:vr10
-128:vr11
-128:vr12
-128:vr13
-128:vr14
-128:vr15
-128:vr16
-128:vr17
-128:vr18
-128:vr19
-128:vr20
-128:vr21
-128:vr22
-128:vr23
-128:vr24
-128:vr25
-128:vr26
-128:vr27
-128:vr28
-128:vr29
-128:vr30
-128:vr31
-32:vscr
-32:vrsave
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/remote.c ./gdb/remote.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/remote.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/remote.c	2019-09-24 01:49:11.000000000 +0000
@@ -1038,7 +1038,7 @@ static struct cmd_list_element *remote_s
 
 /* Controls whether GDB is willing to use range stepping.  */
 
-static int use_range_stepping = 1;
+static bool use_range_stepping = true;
 
 /* The max number of chars in debug output.  The rest of chars are
    omitted.  */
@@ -1492,12 +1492,12 @@ show_interrupt_sequence (struct ui_file 
    to the remote target when gdb connects to it.
    This is mostly needed when you debug the Linux kernel: The Linux kernel
    expects BREAK g which is Magic SysRq g for connecting gdb.  */
-static int interrupt_on_connect = 0;
+static bool interrupt_on_connect = false;
 
 /* This variable is used to implement the "set/show remotebreak" commands.
    Since these commands are now deprecated in favor of "set/show remote
    interrupt-sequence", it no longer has any effect on the code.  */
-static int remote_break;
+static bool remote_break;
 
 static void
 set_remotebreak (const char *args, int from_tty, struct cmd_list_element *c)
@@ -1970,8 +1970,6 @@ enum {
   PACKET_qXfer_libraries,
   PACKET_qXfer_libraries_svr4,
   PACKET_qXfer_memory_map,
-  PACKET_qXfer_spu_read,
-  PACKET_qXfer_spu_write,
   PACKET_qXfer_osdata,
   PACKET_qXfer_threads,
   PACKET_qXfer_statictrace_read,
@@ -5083,10 +5081,6 @@ static const struct protocol_feature rem
     remote_supported_packet, PACKET_augmented_libraries_svr4_read_feature },
   { "qXfer:memory-map:read", PACKET_DISABLE, remote_supported_packet,
     PACKET_qXfer_memory_map },
-  { "qXfer:spu:read", PACKET_DISABLE, remote_supported_packet,
-    PACKET_qXfer_spu_read },
-  { "qXfer:spu:write", PACKET_DISABLE, remote_supported_packet,
-    PACKET_qXfer_spu_write },
   { "qXfer:osdata:read", PACKET_DISABLE, remote_supported_packet,
     PACKET_qXfer_osdata },
   { "qXfer:threads:read", PACKET_DISABLE, remote_supported_packet,
@@ -8749,9 +8743,7 @@ remote_target::remote_xfer_live_readonly
 
   secp = target_section_by_addr (this, memaddr);
   if (secp != NULL
-      && (bfd_get_section_flags (secp->the_bfd_section->owner,
-				 secp->the_bfd_section)
-	  & SEC_READONLY))
+      && (bfd_section_flags (secp->the_bfd_section) & SEC_READONLY))
     {
       struct target_section *p;
       ULONGEST memend = memaddr + len;
@@ -10656,11 +10648,11 @@ compare_sections_command (const char *ar
       if (read_only && (s->flags & SEC_READONLY) == 0)
 	continue;		/* Skip writeable sections */
 
-      size = bfd_get_section_size (s);
+      size = bfd_section_size (s);
       if (size == 0)
 	continue;		/* Skip zero-length section.  */
 
-      sectname = bfd_get_section_name (exec_bfd, s);
+      sectname = bfd_section_name (s);
       if (args && strcmp (args, sectname) != 0)
 	continue;		/* Not the section selected by user.  */
 
@@ -10860,19 +10852,6 @@ remote_target::xfer_partial (enum target
 				  xfered_len);
     }
 
-  /* Handle SPU memory using qxfer packets.  */
-  if (object == TARGET_OBJECT_SPU)
-    {
-      if (readbuf)
-	return remote_read_qxfer ("spu", annex, readbuf, offset, len,
-				  xfered_len, &remote_protocol_packets
-				  [PACKET_qXfer_spu_read]);
-      else
-	return remote_write_qxfer ("spu", annex, writebuf, offset, len,
-				   xfered_len, &remote_protocol_packets
-				   [PACKET_qXfer_spu_write]);
-    }
-
   /* Handle extra signal info using qxfer packets.  */
   if (object == TARGET_OBJECT_SIGNAL_INFO)
     {
@@ -13059,7 +13038,6 @@ void
 remote_target::trace_set_readonly_regions ()
 {
   asection *s;
-  bfd *abfd = NULL;
   bfd_size_type size;
   bfd_vma vma;
   int anysecs = 0;
@@ -13083,8 +13061,8 @@ remote_target::trace_set_readonly_region
 	continue;
 
       anysecs = 1;
-      vma = bfd_get_section_vma (abfd, s);
-      size = bfd_get_section_size (s);
+      vma = bfd_section_vma (s);
+      size = bfd_section_size (s);
       sprintf_vma (tmp1, vma);
       sprintf_vma (tmp2, vma + size);
       sec_length = 1 + strlen (tmp1) + 1 + strlen (tmp2);
@@ -14484,12 +14462,6 @@ Show the maximum size of the address (in
   add_packet_config_cmd (&remote_protocol_packets[PACKET_qXfer_memory_map],
 			 "qXfer:memory-map:read", "memory-map", 0);
 
-  add_packet_config_cmd (&remote_protocol_packets[PACKET_qXfer_spu_read],
-                         "qXfer:spu:read", "read-spu-object", 0);
-
-  add_packet_config_cmd (&remote_protocol_packets[PACKET_qXfer_spu_write],
-                         "qXfer:spu:write", "write-spu-object", 0);
-
   add_packet_config_cmd (&remote_protocol_packets[PACKET_qXfer_osdata],
                         "qXfer:osdata:read", "osdata", 0);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/remote-notif.c ./gdb/remote-notif.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/remote-notif.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/remote-notif.c	2019-09-24 01:49:11.000000000 +0000
@@ -41,7 +41,7 @@
 #include "infrun.h"
 #include "gdbcmd.h"
 
-int notif_debug = 0;
+bool notif_debug = false;
 
 /* Supported clients of notifications.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/remote-notif.h ./gdb/remote-notif.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/remote-notif.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/remote-notif.h	2019-09-24 01:49:11.000000000 +0000
@@ -129,6 +129,6 @@ remote_notif_state *remote_notif_state_a
 
 extern struct notif_client notif_client_stop;
 
-extern int notif_debug;
+extern bool notif_debug;
 
 #endif /* REMOTE_NOTIF_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/rs6000-aix-tdep.c ./gdb/rs6000-aix-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/rs6000-aix-tdep.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/rs6000-aix-tdep.c	2019-09-24 01:49:11.000000000 +0000
@@ -1110,7 +1110,7 @@ rs6000_aix_core_xfer_shared_libraries_ai
   if (ldinfo_sec == NULL)
     error (_("cannot find .ldinfo section from core file: %s"),
 	   bfd_errmsg (bfd_get_error ()));
-  ldinfo_size = bfd_get_section_size (ldinfo_sec);
+  ldinfo_size = bfd_section_size (ldinfo_sec);
 
   gdb::byte_vector ldinfo_buf (ldinfo_size);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/rs6000-tdep.c ./gdb/rs6000-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/rs6000-tdep.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/rs6000-tdep.c	2019-09-24 01:49:11.000000000 +0000
@@ -3866,7 +3866,7 @@ bfd_uses_spe_extensions (bfd *abfd)
   if (!sect)
     return 0;
 
-  size = bfd_get_section_size (sect);
+  size = bfd_section_size (sect);
   contents = (gdb_byte *) xmalloc (size);
   if (!bfd_get_section_contents (abfd, sect, contents, 0, size))
     {
@@ -6141,16 +6141,6 @@ rs6000_gdbarch_init (struct gdbarch_info
   int num_pseudoregs = 0;
   int cur_reg;
 
-  /* INFO may refer to a binary that is not of the PowerPC architecture,
-     e.g. when debugging a stand-alone SPE executable on a Cell/B.E. system.
-     In this case, we must not attempt to infer properties of the (PowerPC
-     side) of the target system from properties of that executable.  Trust
-     the target description instead.  */
-  if (info.abfd
-      && bfd_get_arch (info.abfd) != bfd_arch_powerpc
-      && bfd_get_arch (info.abfd) != bfd_arch_rs6000)
-    info.abfd = NULL;
-
   from_xcoff_exec = info.abfd && info.abfd->format == bfd_object &&
     bfd_get_flavour (info.abfd) == bfd_target_xcoff_flavour;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/s390-linux-tdep.c ./gdb/s390-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/s390-linux-tdep.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/s390-linux-tdep.c	2019-09-24 01:49:11.000000000 +0000
@@ -346,7 +346,7 @@ s390_core_read_description (struct gdbar
   te = (hwcap & HWCAP_S390_TE);
   gs = (hwcap & HWCAP_S390_GS);
 
-  switch (bfd_section_size (abfd, section))
+  switch (bfd_section_size (section))
     {
     case s390_sizeof_gregset:
       if (high_gprs)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/s390-tdep.c ./gdb/s390-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/s390-tdep.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/s390-tdep.c	2019-09-24 01:49:11.000000000 +0000
@@ -697,9 +697,7 @@ s390_load (struct s390_prologue_data *da
       struct target_section *secp;
       secp = target_section_by_addr (current_top_target (), addr.k);
       if (secp != NULL
-	  && (bfd_get_section_flags (secp->the_bfd_section->owner,
-				     secp->the_bfd_section)
-	      & SEC_READONLY))
+	  && (bfd_section_flags (secp->the_bfd_section) & SEC_READONLY))
 	return pv_constant (read_memory_integer (addr.k, size,
 						 data->byte_order));
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/ser-tcp.c ./gdb/ser-tcp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/ser-tcp.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/ser-tcp.c	2019-09-24 01:49:11.000000000 +0000
@@ -72,7 +72,7 @@ static struct cmd_list_element *tcp_show
 
 /* Whether to auto-retry refused connections.  */
 
-static int tcp_auto_retry = 1;
+static bool tcp_auto_retry = true;
 
 /* Timeout period for connections, in seconds.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/ser-unix.c ./gdb/ser-unix.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/ser-unix.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/ser-unix.c	2019-09-24 01:49:11.000000000 +0000
@@ -41,7 +41,7 @@ struct hardwire_ttystate
 
 #ifdef CRTSCTS
 /* Boolean to explicitly enable or disable h/w flow control.  */
-static int serial_hwflow;
+static bool serial_hwflow;
 static void
 show_serial_hwflow (struct ui_file *file, int from_tty,
 		    struct cmd_list_element *c, const char *value)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/skip.c ./gdb/skip.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/skip.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/skip.c	2019-09-24 01:49:11.000000000 +0000
@@ -39,7 +39,7 @@
 
 /* True if we want to print debug printouts related to file/function
    skipping. */
-static int debug_skip = 0;
+static bool debug_skip = false;
 
 class skiplist_entry
 {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/solib-aix.c ./gdb/solib-aix.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/solib-aix.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/solib-aix.c	2019-09-24 01:49:11.000000000 +0000
@@ -30,7 +30,7 @@
 
 /* Variable controlling the output of the debugging traces for
    this module.  */
-static int solib_aix_debug;
+static bool solib_aix_debug;
 
 /* Our private data in struct so_list.  */
 
@@ -303,15 +303,13 @@ solib_aix_bss_data_overlap (bfd *abfd)
      section after the .data section (the problem has only been
      observed when using the GNU linker, and the default linker
      script always places the .data and .bss sections in that order).  */
-  if (bfd_section_vma (abfd, bss_sect)
-      < bfd_section_vma (abfd, data_sect))
+  if (bfd_section_vma (bss_sect) < bfd_section_vma (data_sect))
     return 0;
 
-  if (bfd_section_vma (abfd, bss_sect)
-      < bfd_section_vma (abfd, data_sect) + bfd_get_section_size (data_sect))
-    return ((bfd_section_vma (abfd, data_sect)
-	     + bfd_get_section_size (data_sect))
-	    - bfd_section_vma (abfd, bss_sect));
+  if (bfd_section_vma (bss_sect)
+      < bfd_section_vma (data_sect) + bfd_section_size (data_sect))
+    return (bfd_section_vma (data_sect) + bfd_section_size (data_sect)
+	    - bfd_section_vma (bss_sect));
 
   return 0;
 }
@@ -324,7 +322,7 @@ solib_aix_relocate_section_addresses (st
 {
   struct bfd_section *bfd_sect = sec->the_bfd_section;
   bfd *abfd = bfd_sect->owner;
-  const char *section_name = bfd_section_name (abfd, bfd_sect);
+  const char *section_name = bfd_section_name (bfd_sect);
   lm_info_aix *info = (lm_info_aix *) so->lm_info;
 
   if (strcmp (section_name, ".text") == 0)
@@ -355,17 +353,17 @@ solib_aix_relocate_section_addresses (st
       CORE_ADDR data_offset = 0;
 
       if (data_sect != NULL)
-	data_offset = info->data_addr - bfd_section_vma (abfd, data_sect);
+	data_offset = info->data_addr - bfd_section_vma (data_sect);
 
-      sec->addr = bfd_section_vma (abfd, bfd_sect) + data_offset;
+      sec->addr = bfd_section_vma (bfd_sect) + data_offset;
       sec->addr += solib_aix_bss_data_overlap (abfd);
-      sec->endaddr = sec->addr + bfd_section_size (abfd, bfd_sect);
+      sec->endaddr = sec->addr + bfd_section_size (bfd_sect);
     }
   else
     {
       /* All other sections should not be relocated.  */
-      sec->addr = bfd_section_vma (abfd, bfd_sect);
-      sec->endaddr = sec->addr + bfd_section_size (abfd, bfd_sect);
+      sec->addr = bfd_section_vma (bfd_sect);
+      sec->endaddr = sec->addr + bfd_section_size (bfd_sect);
     }
 }
 
@@ -414,7 +412,7 @@ solib_aix_get_section_offsets (struct ob
 	= objfile->sections[objfile->sect_index_text].the_bfd_section;
 
       offsets->offsets[objfile->sect_index_text]
-	= info->text_addr + sect->filepos - bfd_section_vma (abfd, sect);
+	= info->text_addr + sect->filepos - bfd_section_vma (sect);
     }
 
   /* .data */
@@ -425,7 +423,7 @@ solib_aix_get_section_offsets (struct ob
 	= objfile->sections[objfile->sect_index_data].the_bfd_section;
 
       offsets->offsets[objfile->sect_index_data]
-	= info->data_addr - bfd_section_vma (abfd, sect);
+	= info->data_addr - bfd_section_vma (sect);
     }
 
   /* .bss
@@ -661,8 +659,7 @@ data_obj_section_from_objfile (struct ob
   struct obj_section *osect;
 
   ALL_OBJFILE_OSECTIONS (objfile, osect)
-    if (strcmp (bfd_section_name (objfile->obfd, osect->the_bfd_section),
-		".data") == 0)
+    if (strcmp (bfd_section_name (osect->the_bfd_section), ".data") == 0)
       return osect;
 
   return NULL;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/solib.c ./gdb/solib.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/solib.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/solib.c	2019-09-24 01:49:11.000000000 +0000
@@ -502,14 +502,14 @@ solib_bfd_open (const char *pathname)
   /* Check bfd format.  */
   if (!bfd_check_format (abfd.get (), bfd_object))
     error (_("`%s': not in executable format: %s"),
-	   bfd_get_filename (abfd), bfd_errmsg (bfd_get_error ()));
+	   bfd_get_filename (abfd.get ()), bfd_errmsg (bfd_get_error ()));
 
   /* Check bfd arch.  */
   b = gdbarch_bfd_arch_info (target_gdbarch ());
   if (!b->compatible (b, bfd_get_arch_info (abfd.get ())))
     warning (_("`%s': Shared library architecture %s is not compatible "
-               "with target architecture %s."), bfd_get_filename (abfd),
-             bfd_get_arch_info (abfd.get ())->printable_name,
+	       "with target architecture %s."), bfd_get_filename (abfd.get ()),
+	     bfd_get_arch_info (abfd.get ())->printable_name,
 	     b->printable_name);
 
   return abfd;
@@ -1441,21 +1441,6 @@ show_auto_solib_add (struct ui_file *fil
 }
 
 
-/* Handler for library-specific lookup of global symbol NAME in OBJFILE.  Call
-   the library-specific handler if it is installed for the current target.  */
-
-struct block_symbol
-solib_global_lookup (struct objfile *objfile,
-		     const char *name,
-		     const domain_enum domain)
-{
-  const struct target_so_ops *ops = solib_ops (target_gdbarch ());
-
-  if (ops->lookup_lib_global_symbol != NULL)
-    return ops->lookup_lib_global_symbol (objfile, name, domain);
-  return {};
-}
-
 /* Lookup the value for a specific symbol from dynamic symbol table.  Look
    up symbol from ABFD.  MATCH_SYM is a callback function to determine
    whether to pick up a symbol.  DATA is the input of this callback
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/solib-darwin.c ./gdb/solib-darwin.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/solib-darwin.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/solib-darwin.c	2019-09-24 01:49:11.000000000 +0000
@@ -638,14 +638,6 @@ darwin_relocate_section_addresses (struc
     so->addr_low = sec->addr;
 }
 
-static struct block_symbol
-darwin_lookup_lib_symbol (struct objfile *objfile,
-			  const char *name,
-			  const domain_enum domain)
-{
-  return {};
-}
-
 static gdb_bfd_ref_ptr
 darwin_bfd_open (const char *pathname)
 {
@@ -687,6 +679,5 @@ _initialize_darwin_solib (void)
   darwin_so_ops.current_sos = darwin_current_sos;
   darwin_so_ops.open_symbol_file_object = open_symbol_file_object;
   darwin_so_ops.in_dynsym_resolve_code = darwin_in_dynsym_resolve_code;
-  darwin_so_ops.lookup_lib_global_symbol = darwin_lookup_lib_symbol;
   darwin_so_ops.bfd_open = darwin_bfd_open;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/solib-dsbt.c ./gdb/solib-dsbt.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/solib-dsbt.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/solib-dsbt.c	2019-09-24 01:49:11.000000000 +0000
@@ -438,12 +438,12 @@ scan_dyntag (int dyntag, bfd *abfd, CORE
 	 such fallback to the file VMA address without the possibility of
 	 having the section relocated to its actual in-memory address.  */
 
-      dyn_addr = bfd_section_vma (abfd, sect);
+      dyn_addr = bfd_section_vma (sect);
     }
 
   /* Read in .dynamic from the BFD.  We will get the actual value
      from memory later.  */
-  sect_size = bfd_section_size (abfd, sect);
+  sect_size = bfd_section_size (sect);
   buf = bufstart = (gdb_byte *) alloca (sect_size);
   if (!bfd_get_section_contents (abfd, sect,
 				 buf, 0, sect_size))
@@ -807,7 +807,7 @@ enable_break (void)
 
       /* Read the contents of the .interp section into a local buffer;
 	 the contents specify the dynamic linker this program uses.  */
-      interp_sect_size = bfd_section_size (exec_bfd, interp_sect);
+      interp_sect_size = bfd_section_size (interp_sect);
       buf = (char *) alloca (interp_sect_size);
       bfd_get_section_contents (exec_bfd, interp_sect,
 				buf, 0, interp_sect_size);
@@ -839,24 +839,20 @@ enable_break (void)
       interp_sect = bfd_get_section_by_name (tmp_bfd.get (), ".text");
       if (interp_sect)
 	{
-	  info->interp_text_sect_low
-	    = bfd_section_vma (tmp_bfd.get (), interp_sect);
+	  info->interp_text_sect_low = bfd_section_vma (interp_sect);
 	  info->interp_text_sect_low
 	    += displacement_from_map (ldm, info->interp_text_sect_low);
 	  info->interp_text_sect_high
-	    = info->interp_text_sect_low
-	    + bfd_section_size (tmp_bfd.get (), interp_sect);
+	    = info->interp_text_sect_low + bfd_section_size (interp_sect);
 	}
       interp_sect = bfd_get_section_by_name (tmp_bfd.get (), ".plt");
       if (interp_sect)
 	{
-	  info->interp_plt_sect_low =
-	    bfd_section_vma (tmp_bfd.get (), interp_sect);
+	  info->interp_plt_sect_low = bfd_section_vma (interp_sect);
 	  info->interp_plt_sect_low
 	    += displacement_from_map (ldm, info->interp_plt_sect_low);
-	  info->interp_plt_sect_high =
-	    info->interp_plt_sect_low + bfd_section_size (tmp_bfd.get (),
-							  interp_sect);
+	  info->interp_plt_sect_high
+	    = info->interp_plt_sect_low + bfd_section_size (interp_sect);
 	}
 
       addr = gdb_bfd_lookup_symbol (tmp_bfd.get (), cmp_name,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/solib-frv.c ./gdb/solib-frv.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/solib-frv.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/solib-frv.c	2019-09-24 01:49:11.000000000 +0000
@@ -546,7 +546,7 @@ enable_break2 (void)
 
       /* Read the contents of the .interp section into a local buffer;
          the contents specify the dynamic linker this program uses.  */
-      interp_sect_size = bfd_section_size (exec_bfd, interp_sect);
+      interp_sect_size = bfd_section_size (interp_sect);
       buf = (char *) alloca (interp_sect_size);
       bfd_get_section_contents (exec_bfd, interp_sect,
 				buf, 0, interp_sect_size);
@@ -603,24 +603,20 @@ enable_break2 (void)
       interp_sect = bfd_get_section_by_name (tmp_bfd.get (), ".text");
       if (interp_sect)
 	{
-	  interp_text_sect_low
-	    = bfd_section_vma (tmp_bfd.get (), interp_sect);
+	  interp_text_sect_low = bfd_section_vma (interp_sect);
 	  interp_text_sect_low
 	    += displacement_from_map (ldm, interp_text_sect_low);
 	  interp_text_sect_high
-	    = interp_text_sect_low + bfd_section_size (tmp_bfd.get (),
-						       interp_sect);
+	    = interp_text_sect_low + bfd_section_size (interp_sect);
 	}
       interp_sect = bfd_get_section_by_name (tmp_bfd.get (), ".plt");
       if (interp_sect)
 	{
-	  interp_plt_sect_low =
-	    bfd_section_vma (tmp_bfd.get (), interp_sect);
+	  interp_plt_sect_low = bfd_section_vma (interp_sect);
 	  interp_plt_sect_low
 	    += displacement_from_map (ldm, interp_plt_sect_low);
 	  interp_plt_sect_high =
-	    interp_plt_sect_low + bfd_section_size (tmp_bfd.get (),
-						    interp_sect);
+	    interp_plt_sect_low + bfd_section_size (interp_sect);
 	}
 
       addr = gdb_bfd_lookup_symbol (tmp_bfd.get (), cmp_name, "_dl_debug_addr");
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/solib-spu.c ./gdb/solib-spu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/solib-spu.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/solib-spu.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,548 +0,0 @@
-/* Cell SPU GNU/Linux support -- shared library handling.
-   Copyright (C) 2009-2019 Free Software Foundation, Inc.
-
-   Contributed by Ulrich Weigand <uweigand@de.ibm.com>.
-
-   This file is part of GDB.
-
-   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 "defs.h"
-#include "solib-spu.h"
-#include "gdbcore.h"
-#include <sys/stat.h>
-#include "arch-utils.h"
-#include "bfd.h"
-#include "symtab.h"
-#include "solib.h"
-#include "solib-svr4.h"
-#include "solist.h"
-#include "inferior.h"
-#include "objfiles.h"
-#include "observable.h"
-#include "breakpoint.h"
-#include "gdbthread.h"
-#include "gdb_bfd.h"
-
-#include "spu-tdep.h"
-
-/* Highest SPE id (file handle) the inferior may have.  */
-#define MAX_SPE_FD 1024
-
-/* Stand-alone SPE executable?  */
-#define spu_standalone_p() \
-  (symfile_objfile && symfile_objfile->obfd \
-   && bfd_get_arch (symfile_objfile->obfd) == bfd_arch_spu)
-
-
-/* Relocate main SPE executable.  */
-static void
-spu_relocate_main_executable (int spufs_fd)
-{
-  struct section_offsets *new_offsets;
-  int i;
-
-  if (symfile_objfile == NULL)
-    return;
-
-  new_offsets = XALLOCAVEC (struct section_offsets,
-			    symfile_objfile->num_sections);
-
-  for (i = 0; i < symfile_objfile->num_sections; i++)
-    new_offsets->offsets[i] = SPUADDR (spufs_fd, 0);
-
-  objfile_relocate (symfile_objfile, new_offsets);
-}
-
-/* When running a stand-alone SPE executable, we may need to skip one more
-   exec event on startup, to get past the binfmt_misc loader.  */
-static void
-spu_skip_standalone_loader (void)
-{
-  if (target_has_execution && !current_inferior ()->attach_flag)
-    {
-      struct target_waitstatus ws;
-
-      /* Only some kernels report an extra SIGTRAP with the binfmt_misc
-	 loader; others do not.  In addition, if we have attached to an
-	 already running inferior instead of starting a new one, we will
-	 not see the extra SIGTRAP -- and we cannot readily distinguish
-	 the two cases, in particular with the extended-remote target.
-
-	 Thus we issue a single-step here.  If no extra SIGTRAP was pending,
-	 this will step past the first instruction of the stand-alone SPE
-	 executable loader, but we don't care about that.  */
-
-      inferior_thread ()->control.in_infcall = 1; /* Suppress MI messages.  */
-
-      target_resume (inferior_ptid, 1, GDB_SIGNAL_0);
-      target_wait (minus_one_ptid, &ws, 0);
-      set_executing (minus_one_ptid, 0);
-
-      inferior_thread ()->control.in_infcall = 0;
-    }
-}
-
-static objfile_key<CORE_ADDR, gdb::noop_deleter<CORE_ADDR>>
-  ocl_program_data_key;
-
-/* Appends OpenCL programs to the list of `struct so_list' objects.  */
-static void
-append_ocl_sos (struct so_list **link_ptr)
-{
-  CORE_ADDR *ocl_program_addr_base;
-
-  for (objfile *objfile : current_program_space->objfiles ())
-    {
-      ocl_program_addr_base = ocl_program_data_key.get (objfile);
-      if (ocl_program_addr_base != NULL)
-        {
-	  enum bfd_endian byte_order = bfd_big_endian (objfile->obfd)?
-					 BFD_ENDIAN_BIG : BFD_ENDIAN_LITTLE;
-	  try
-	    {
-	      CORE_ADDR data =
-		read_memory_unsigned_integer (*ocl_program_addr_base,
-					      sizeof (CORE_ADDR),
-					      byte_order);
-	      if (data != 0x0)
-		{
-		  struct so_list *newobj;
-
-		  /* Allocate so_list structure.  */
-		  newobj = XCNEW (struct so_list);
-
-		  /* Encode FD and object ID in path name.  */
-		  xsnprintf (newobj->so_name, sizeof newobj->so_name, "@%s <%d>",
-			     hex_string (data),
-			     SPUADDR_SPU (*ocl_program_addr_base));
-		  strcpy (newobj->so_original_name, newobj->so_name);
-
-		  *link_ptr = newobj;
-		  link_ptr = &newobj->next;
-		}
-	    }
-	  catch (const gdb_exception &ex)
-	    {
-	      /* Ignore memory errors.  */
-	      switch (ex.error)
-		{
-		case MEMORY_ERROR:
-		  break;
-		default:
-		  throw;
-		  break;
-		}
-	    }
-	}
-    }
-}
-
-/* Build a list of `struct so_list' objects describing the shared
-   objects currently loaded in the inferior.  */
-static struct so_list *
-spu_current_sos (void)
-{
-  enum bfd_endian byte_order = gdbarch_byte_order (target_gdbarch ());
-  struct so_list *head;
-  struct so_list **link_ptr;
-
-  gdb_byte buf[MAX_SPE_FD * 4];
-  int i, size;
-
-  /* First, retrieve the SVR4 shared library list.  */
-  head = svr4_so_ops.current_sos ();
-
-  /* Append our libraries to the end of the list.  */
-  for (link_ptr = &head; *link_ptr; link_ptr = &(*link_ptr)->next)
-    ;
-
-  /* Determine list of SPU ids.  */
-  size = target_read (current_top_target (), TARGET_OBJECT_SPU, NULL,
-		      buf, 0, sizeof buf);
-
-  /* Do not add stand-alone SPE executable context as shared library,
-     but relocate main SPE executable objfile.  */
-  if (spu_standalone_p ())
-    {
-      if (size == 4)
-	{
-	  int fd = extract_unsigned_integer (buf, 4, byte_order);
-
-	  spu_relocate_main_executable (fd);
-
-	  /* Re-enable breakpoints after main SPU context was established;
-	     see also comments in spu_solib_create_inferior_hook.  */
-	  enable_breakpoints_after_startup ();
-	}
-
-      return head;
-    }
-
-  /* Create an so_list entry for each SPU id.  */
-  for (i = 0; i < size; i += 4)
-    {
-      int fd = extract_unsigned_integer (buf + i, 4, byte_order);
-      struct so_list *newobj;
-
-      unsigned long long addr;
-      char annex[32], id[100];
-      int len;
-
-      /* Read object ID.  There's a race window where the inferior may have
-	 already created the SPE context, but not installed the object-id
-	 yet.  Skip such entries; we'll be back for them later.  */
-      xsnprintf (annex, sizeof annex, "%d/object-id", fd);
-      len = target_read (current_top_target (), TARGET_OBJECT_SPU, annex,
-			 (gdb_byte *) id, 0, sizeof id);
-      if (len <= 0 || len >= sizeof id)
-	continue;
-      id[len] = 0;
-      if (sscanf (id, "0x%llx", &addr) != 1 || !addr)
-	continue;
-
-      /* Allocate so_list structure.  */
-      newobj = XCNEW (struct so_list);
-
-      /* Encode FD and object ID in path name.  Choose the name so as not
-	 to conflict with any (normal) SVR4 library path name.  */
-      xsnprintf (newobj->so_name, sizeof newobj->so_name, "@%s <%d>",
-		 hex_string (addr), fd);
-      strcpy (newobj->so_original_name, newobj->so_name);
-
-      *link_ptr = newobj;
-      link_ptr = &newobj->next;
-    }
-
-  /* Append OpenCL sos.  */
-  append_ocl_sos (link_ptr);
-
-  return head;
-}
-
-/* Free so_list information.  */
-static void
-spu_free_so (struct so_list *so)
-{
-  if (so->so_original_name[0] != '@')
-    svr4_so_ops.free_so (so);
-}
-
-/* Relocate section addresses.  */
-static void
-spu_relocate_section_addresses (struct so_list *so,
-				struct target_section *sec)
-{
-  if (so->so_original_name[0] != '@')
-    svr4_so_ops.relocate_section_addresses (so, sec);
-  else
-    {
-      unsigned long long addr;
-      int fd;
-
-      /* Set addr_low/high to just LS offset for display.  */
-      if (so->addr_low == 0 && so->addr_high == 0
-          && strcmp (sec->the_bfd_section->name, ".text") == 0)
-        {
-          so->addr_low = sec->addr;
-          so->addr_high = sec->endaddr;
-        }
-
-      /* Decode object ID.  */
-      if (sscanf (so->so_original_name, "@0x%llx <%d>", &addr, &fd) != 2)
-	internal_error (__FILE__, __LINE__, "bad object ID");
-
-      sec->addr = SPUADDR (fd, sec->addr);
-      sec->endaddr = SPUADDR (fd, sec->endaddr);
-    }
-}
-
-
-/* Inferior memory should contain an SPE executable image at location ADDR.
-   Allocate a BFD representing that executable.  Return NULL on error.  */
-
-static void *
-spu_bfd_iovec_open (bfd *nbfd, void *open_closure)
-{
-  return open_closure;
-}
-
-static int
-spu_bfd_iovec_close (bfd *nbfd, void *stream)
-{
-  xfree (stream);
-
-  /* Zero means success.  */
-  return 0;
-}
-
-static file_ptr
-spu_bfd_iovec_pread (bfd *abfd, void *stream, void *buf,
-                     file_ptr nbytes, file_ptr offset)
-{
-  CORE_ADDR addr = *(CORE_ADDR *)stream;
-  int ret;
-
-  ret = target_read_memory (addr + offset, (gdb_byte *) buf, nbytes);
-  if (ret != 0)
-    {
-      bfd_set_error (bfd_error_invalid_operation);
-      return -1;
-    }
-
-  return nbytes;
-}
-
-static int
-spu_bfd_iovec_stat (bfd *abfd, void *stream, struct stat *sb)
-{
-  /* We don't have an easy way of finding the size of embedded spu
-     images.  We could parse the in-memory ELF header and section
-     table to find the extent of the last section but that seems
-     pointless when the size is needed only for checks of other
-     parsed values in dbxread.c.  */
-  memset (sb, 0, sizeof (struct stat));
-  sb->st_size = INT_MAX;
-  return 0;
-}
-
-static gdb_bfd_ref_ptr
-spu_bfd_fopen (const char *name, CORE_ADDR addr)
-{
-  CORE_ADDR *open_closure = XNEW (CORE_ADDR);
-
-  *open_closure = addr;
-
-  gdb_bfd_ref_ptr nbfd (gdb_bfd_openr_iovec (name, "elf32-spu",
-					     spu_bfd_iovec_open, open_closure,
-					     spu_bfd_iovec_pread,
-					     spu_bfd_iovec_close,
-					     spu_bfd_iovec_stat));
-  if (nbfd == NULL)
-    return NULL;
-
-  if (!bfd_check_format (nbfd.get (), bfd_object))
-    return NULL;
-
-  return nbfd;
-}
-
-/* Open shared library BFD.  */
-static gdb_bfd_ref_ptr
-spu_bfd_open (const char *pathname)
-{
-  const char *original_name = strrchr (pathname, '@');
-  asection *spu_name;
-  unsigned long long addr;
-  int fd;
-
-  /* Handle regular SVR4 libraries.  */
-  if (!original_name)
-    return svr4_so_ops.bfd_open (pathname);
-
-  /* Decode object ID.  */
-  if (sscanf (original_name, "@0x%llx <%d>", &addr, &fd) != 2)
-    internal_error (__FILE__, __LINE__, "bad object ID");
-
-  /* Open BFD representing SPE executable.  */
-  gdb_bfd_ref_ptr abfd (spu_bfd_fopen (original_name, (CORE_ADDR) addr));
-  if (abfd == NULL)
-    error (_("Cannot read SPE executable at %s"), original_name);
-
-  /* Retrieve SPU name note.  */
-  spu_name = bfd_get_section_by_name (abfd.get (), ".note.spu_name");
-  if (spu_name)
-    {
-      int sect_size = bfd_section_size (abfd.get (), spu_name);
-
-      if (sect_size > 20)
-	{
-	  char *buf
-	    = (char *) alloca (sect_size - 20 + strlen (original_name) + 1);
-
-	  bfd_get_section_contents (abfd.get (), spu_name, buf, 20,
-				    sect_size - 20);
-	  buf[sect_size - 20] = '\0';
-
-	  strcat (buf, original_name);
-
-	  xfree ((char *)abfd->filename);
-	  abfd->filename = xstrdup (buf);
-	}
-    }
-
-  return abfd;
-}
-
-/* Lookup global symbol in a SPE executable.  */
-static struct block_symbol
-spu_lookup_lib_symbol (struct objfile *objfile,
-		       const char *name,
-		       const domain_enum domain)
-{
-  if (bfd_get_arch (objfile->obfd) == bfd_arch_spu)
-    return lookup_global_symbol_from_objfile (objfile, GLOBAL_BLOCK, name,
-					      domain);
-
-  if (svr4_so_ops.lookup_lib_global_symbol != NULL)
-    return svr4_so_ops.lookup_lib_global_symbol (objfile, name, domain);
-  return {};
-}
-
-/* Enable shared library breakpoint.  */
-static int
-spu_enable_break (struct objfile *objfile)
-{
-  struct bound_minimal_symbol spe_event_sym;
-
-  /* The libspe library will call __spe_context_update_event whenever any
-     SPE context is allocated or destroyed.  */
-  spe_event_sym = lookup_minimal_symbol ("__spe_context_update_event",
-					 NULL, objfile);
-
-  /* Place a solib_event breakpoint on the symbol.  */
-  if (spe_event_sym.minsym)
-    {
-      CORE_ADDR addr = BMSYMBOL_VALUE_ADDRESS (spe_event_sym);
-
-      addr = gdbarch_convert_from_func_ptr_addr (target_gdbarch (), addr,
-						 current_top_target ());
-      create_solib_event_breakpoint (target_gdbarch (), addr);
-      return 1;
-    }
-
-  return 0;
-}
-
-/* Enable shared library breakpoint for the
-   OpenCL runtime running on the SPU.  */
-static void
-ocl_enable_break (struct objfile *objfile)
-{
-  struct bound_minimal_symbol event_sym;
-  struct bound_minimal_symbol addr_sym;
-
-  /* The OpenCL runtime on the SPU will call __opencl_program_update_event
-     whenever an OpenCL program is loaded.  */
-  event_sym = lookup_minimal_symbol ("__opencl_program_update_event", NULL,
-				     objfile);
-  /* The PPU address of the OpenCL program can be found
-     at opencl_elf_image_address.  */
-  addr_sym = lookup_minimal_symbol ("opencl_elf_image_address", NULL, objfile);
-
-  if (event_sym.minsym && addr_sym.minsym)
-    {
-      /* Place a solib_event breakpoint on the symbol.  */
-      CORE_ADDR event_addr = BMSYMBOL_VALUE_ADDRESS (event_sym);
-      create_solib_event_breakpoint (get_objfile_arch (objfile), event_addr);
-
-      /* Store the address of the symbol that will point to OpenCL program
-         using the per-objfile private data mechanism.  */
-      if (ocl_program_data_key.get (objfile) == NULL)
-        {
-          CORE_ADDR *ocl_program_addr_base = OBSTACK_CALLOC (
-		  &objfile->objfile_obstack,
-		  objfile->sections_end - objfile->sections,
-		  CORE_ADDR);
-	  *ocl_program_addr_base = BMSYMBOL_VALUE_ADDRESS (addr_sym);
-	  ocl_program_data_key.set (objfile, ocl_program_addr_base);
-        }
-    }
-}
-
-/* Create inferior hook.  */
-static void
-spu_solib_create_inferior_hook (int from_tty)
-{
-  /* Handle SPE stand-alone executables.  */
-  if (spu_standalone_p ())
-    {
-      /* After an SPE stand-alone executable was loaded, we'll receive
-	 an additional trap due to the binfmt_misc handler.  Make sure
-	 to skip that trap.  */
-      spu_skip_standalone_loader ();
-
-      /* If the user established breakpoints before starting the inferior, GDB
-	 would attempt to insert those now.  This would fail because the SPU
-	 context has not yet been created and the SPU executable has not yet
-	 been loaded.  To prevent such failures, we disable all user-created
-	 breakpoints now; they will be re-enabled in spu_current_sos once the
-	 main SPU context has been detected.  */
-      disable_breakpoints_before_startup ();
-
-      /* A special case arises when re-starting an executable, because at
-	 this point it still resides at the relocated address range that was
-	 determined during its last execution.  We need to undo the relocation
-	 so that that multi-architecture target recognizes the stand-alone
-	 initialization special case.  */
-      spu_relocate_main_executable (-1);
-    }
-
-  /* Call SVR4 hook -- this will re-insert the SVR4 solib breakpoints.  */
-  svr4_so_ops.solib_create_inferior_hook (from_tty);
-
-  /* If the inferior is statically linked against libspe, we need to install
-     our own solib breakpoint right now.  Otherwise, it will be installed by
-     the solib_loaded observer below as soon as libspe is loaded.  */
-  spu_enable_break (NULL);
-}
-
-/* Install SPE "shared library" handling.  This is called by -tdep code
-   that wants to support SPU as a secondary architecture.  */
-void
-set_spu_solib_ops (struct gdbarch *gdbarch)
-{
-  static struct target_so_ops spu_so_ops;
-
-  /* Initialize this lazily, to avoid an initialization order
-     dependency on solib-svr4.c's _initialize routine.  */
-  if (spu_so_ops.current_sos == NULL)
-    {
-      spu_so_ops = svr4_so_ops;
-      spu_so_ops.solib_create_inferior_hook = spu_solib_create_inferior_hook;
-      spu_so_ops.relocate_section_addresses = spu_relocate_section_addresses;
-      spu_so_ops.free_so = spu_free_so;
-      spu_so_ops.current_sos = spu_current_sos;
-      spu_so_ops.bfd_open = spu_bfd_open;
-      spu_so_ops.lookup_lib_global_symbol = spu_lookup_lib_symbol;
-    }
-
-  set_solib_ops (gdbarch, &spu_so_ops);
-}
-
-/* Observer for the solib_loaded event.  Used to install our breakpoint
-   if libspe is a shared library.  */
-static void
-spu_solib_loaded (struct so_list *so)
-{
-  if (strstr (so->so_original_name, "/libspe") != NULL)
-    {
-      solib_read_symbols (so, 0);
-      spu_enable_break (so->objfile);
-    }
-  /* In case the OpenCL runtime is loaded we install a breakpoint
-     to get notified whenever an OpenCL program gets loaded.  */
-  if (strstr (so->so_name, "CLRuntimeAccelCellSPU@") != NULL)
-    {
-      solib_read_symbols (so, 0);
-      ocl_enable_break (so->objfile);
-    }
-}
-
-void
-_initialize_spu_solib (void)
-{
-  gdb::observers::solib_loaded.attach (spu_solib_loaded);
-}
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/solib-spu.h ./gdb/solib-spu.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/solib-spu.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/solib-spu.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,25 +0,0 @@
-/* Cell SPU GNU/Linux support -- shared library handling.
-
-   Copyright (C) 2009-2019 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   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/>.  */
-
-#ifndef SOLIB_SPU_H
-#define SOLIB_SPU_H
-
-extern void set_spu_solib_ops (struct gdbarch *gdbarch);
-
-#endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/solib-svr4.c ./gdb/solib-svr4.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/solib-svr4.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/solib-svr4.c	2019-09-24 01:49:11.000000000 +0000
@@ -51,6 +51,10 @@ static int svr4_have_link_map_offsets (v
 static void svr4_relocate_main_executable (void);
 static void svr4_free_library_list (void *p_list);
 static void probes_table_remove_objfile_probes (struct objfile *objfile);
+static void svr4_iterate_over_objfiles_in_search_order (
+  struct gdbarch *gdbarch, iterate_over_objfiles_in_search_order_cb_ftype *cb,
+  void *cb_data, struct objfile *objfile);
+
 
 /* On SVR4 systems, a list of symbols in the dynamic linker where
    GDB can try to place a breakpoint to monitor shared library
@@ -234,7 +238,7 @@ lm_addr_check (const struct so_list *so,
       if (dyninfo_sect == NULL)
 	goto set_addr;
 
-      dynaddr = bfd_section_vma (abfd, dyninfo_sect);
+      dynaddr = bfd_section_vma (dyninfo_sect);
 
       if (dynaddr + l_addr != l_dynaddr)
 	{
@@ -559,7 +563,7 @@ find_program_interpreter (void)
      interp_sect = bfd_get_section_by_name (exec_bfd, ".interp");
      if (interp_sect != NULL)
       {
-	int sect_size = bfd_section_size (exec_bfd, interp_sect);
+	int sect_size = bfd_section_size (interp_sect);
 
 	gdb::byte_vector buf (sect_size);
 	bfd_get_section_contents (exec_bfd, interp_sect, buf.data (), 0,
@@ -618,12 +622,12 @@ scan_dyntag (const int desired_dyntag, b
 	 such fallback to the file VMA address without the possibility of
 	 having the section relocated to its actual in-memory address.  */
 
-      dyn_addr = bfd_section_vma (abfd, sect);
+      dyn_addr = bfd_section_vma (sect);
     }
 
   /* Read in .dynamic from the BFD.  We will get the actual value
      from memory later.  */
-  sect_size = bfd_section_size (abfd, sect);
+  sect_size = bfd_section_size (sect);
   buf = bufstart = (gdb_byte *) alloca (sect_size);
   if (!bfd_get_section_contents (abfd, sect,
 				 buf, 0, sect_size))
@@ -2255,20 +2259,18 @@ enable_break (struct svr4_info *info, in
 	  interp_sect = bfd_get_section_by_name (tmp_bfd, ".text");
 	  if (interp_sect)
 	    {
-	      info->interp_text_sect_low =
-		bfd_section_vma (tmp_bfd, interp_sect) + load_addr;
-	      info->interp_text_sect_high =
-		info->interp_text_sect_low
-		+ bfd_section_size (tmp_bfd, interp_sect);
+	      info->interp_text_sect_low
+		= bfd_section_vma (interp_sect) + load_addr;
+	      info->interp_text_sect_high
+		= info->interp_text_sect_low + bfd_section_size (interp_sect);
 	    }
 	  interp_sect = bfd_get_section_by_name (tmp_bfd, ".plt");
 	  if (interp_sect)
 	    {
-	      info->interp_plt_sect_low =
-		bfd_section_vma (tmp_bfd, interp_sect) + load_addr;
-	      info->interp_plt_sect_high =
-		info->interp_plt_sect_low
-		+ bfd_section_size (tmp_bfd, interp_sect);
+	      info->interp_plt_sect_low
+		= bfd_section_vma (interp_sect) + load_addr;
+	      info->interp_plt_sect_high
+		= info->interp_plt_sect_low + bfd_section_size (interp_sect);
 	    }
 
 	  svr4_create_solib_event_breakpoints (info, target_gdbarch (), sym_addr);
@@ -2392,20 +2394,18 @@ enable_break (struct svr4_info *info, in
       interp_sect = bfd_get_section_by_name (tmp_bfd.get (), ".text");
       if (interp_sect)
 	{
-	  info->interp_text_sect_low =
-	    bfd_section_vma (tmp_bfd.get (), interp_sect) + load_addr;
-	  info->interp_text_sect_high =
-	    info->interp_text_sect_low
-	    + bfd_section_size (tmp_bfd.get (), interp_sect);
+	  info->interp_text_sect_low
+	    = bfd_section_vma (interp_sect) + load_addr;
+	  info->interp_text_sect_high
+	    = info->interp_text_sect_low + bfd_section_size (interp_sect);
 	}
       interp_sect = bfd_get_section_by_name (tmp_bfd.get (), ".plt");
       if (interp_sect)
 	{
-	  info->interp_plt_sect_low =
-	    bfd_section_vma (tmp_bfd.get (), interp_sect) + load_addr;
-	  info->interp_plt_sect_high =
-	    info->interp_plt_sect_low
-	    + bfd_section_size (tmp_bfd.get (), interp_sect);
+	  info->interp_plt_sect_low
+	    = bfd_section_vma (interp_sect) + load_addr;
+	  info->interp_plt_sect_high
+	    = info->interp_plt_sect_low + bfd_section_size (interp_sect);
 	}
 
       /* Now try to set a breakpoint in the dynamic linker.  */
@@ -2733,7 +2733,7 @@ svr4_exec_displacement (CORE_ADDR *displ
 		      gdb_byte *buf_filesz_p = (gdb_byte *) &phdrp->p_filesz;
 		      CORE_ADDR filesz;
 
-		      content2 = (bfd_get_section_flags (exec_bfd, plt2_asect)
+		      content2 = (bfd_section_flags (plt2_asect)
 				  & SEC_HAS_CONTENTS) != 0;
 
 		      filesz = extract_unsigned_integer (buf_filesz_p, 4,
@@ -2742,9 +2742,9 @@ svr4_exec_displacement (CORE_ADDR *displ
 		      /* PLT2_ASECT is from on-disk file (exec_bfd) while
 			 FILESZ is from the in-memory image.  */
 		      if (content2)
-			filesz += bfd_get_section_size (plt2_asect);
+			filesz += bfd_section_size (plt2_asect);
 		      else
-			filesz -= bfd_get_section_size (plt2_asect);
+			filesz -= bfd_section_size (plt2_asect);
 
 		      store_unsigned_integer (buf_filesz_p, 4, byte_order,
 					      filesz);
@@ -2867,7 +2867,7 @@ svr4_exec_displacement (CORE_ADDR *displ
 		      gdb_byte *buf_filesz_p = (gdb_byte *) &phdrp->p_filesz;
 		      CORE_ADDR filesz;
 
-		      content2 = (bfd_get_section_flags (exec_bfd, plt2_asect)
+		      content2 = (bfd_section_flags (plt2_asect)
 				  & SEC_HAS_CONTENTS) != 0;
 
 		      filesz = extract_unsigned_integer (buf_filesz_p, 8,
@@ -2876,9 +2876,9 @@ svr4_exec_displacement (CORE_ADDR *displ
 		      /* PLT2_ASECT is from on-disk file (exec_bfd) while
 			 FILESZ is from the in-memory image.  */
 		      if (content2)
-			filesz += bfd_get_section_size (plt2_asect);
+			filesz += bfd_section_size (plt2_asect);
 		      else
-			filesz -= bfd_get_section_size (plt2_asect);
+			filesz -= bfd_section_size (plt2_asect);
 
 		      store_unsigned_integer (buf_filesz_p, 8, byte_order,
 					      filesz);
@@ -2972,8 +2972,7 @@ svr4_relocate_main_executable (void)
 
       for (asect = exec_bfd->sections; asect != NULL; asect = asect->next)
 	exec_set_section_address (bfd_get_filename (exec_bfd), asect->index,
-				  (bfd_section_vma (exec_bfd, asect)
-				   + displacement));
+				  bfd_section_vma (asect) + displacement);
     }
 }
 
@@ -3107,6 +3106,8 @@ set_solib_svr4_fetch_link_map_offsets (s
   ops->fetch_link_map_offsets = flmo;
 
   set_solib_ops (gdbarch, &svr4_so_ops);
+  set_gdbarch_iterate_over_objfiles_in_search_order
+    (gdbarch, svr4_iterate_over_objfiles_in_search_order);
 }
 
 /* Fetch a link_map_offsets structure using the architecture-specific
@@ -3205,32 +3206,45 @@ svr4_lp64_fetch_link_map_offsets (void)
 
 struct target_so_ops svr4_so_ops;
 
-/* Lookup global symbol for ELF DSOs linked with -Bsymbolic.  Those DSOs have a
+/* Search order for ELF DSOs linked with -Bsymbolic.  Those DSOs have a
    different rule for symbol lookup.  The lookup begins here in the DSO, not in
    the main executable.  */
 
-static struct block_symbol
-elf_lookup_lib_symbol (struct objfile *objfile,
-		       const char *name,
-		       const domain_enum domain)
+static void
+svr4_iterate_over_objfiles_in_search_order
+  (struct gdbarch *gdbarch,
+   iterate_over_objfiles_in_search_order_cb_ftype *cb,
+   void *cb_data, struct objfile *current_objfile)
 {
-  bfd *abfd;
-
-  if (objfile == symfile_objfile)
-    abfd = exec_bfd;
-  else
+  bool checked_current_objfile = false;
+  if (current_objfile != nullptr)
     {
-      /* OBJFILE should have been passed as the non-debug one.  */
-      gdb_assert (objfile->separate_debug_objfile_backlink == NULL);
+      bfd *abfd;
 
-      abfd = objfile->obfd;
-    }
+      if (current_objfile->separate_debug_objfile_backlink != nullptr)
+        current_objfile = current_objfile->separate_debug_objfile_backlink;
 
-  if (abfd == NULL || scan_dyntag (DT_SYMBOLIC, abfd, NULL, NULL) != 1)
-    return {};
+      if (current_objfile == symfile_objfile)
+	abfd = exec_bfd;
+      else
+	abfd = current_objfile->obfd;
+
+      if (abfd != nullptr
+	  && scan_dyntag (DT_SYMBOLIC, abfd, nullptr, nullptr) == 1)
+	{
+	  checked_current_objfile = true;
+	  if (cb (current_objfile, cb_data) != 0)
+	    return;
+	}
+    }
 
-  return lookup_global_symbol_from_objfile (objfile, GLOBAL_BLOCK, name,
-					    domain);
+  for (objfile *objfile : current_program_space->objfiles ())
+    {
+      if (checked_current_objfile && objfile == current_objfile)
+	continue;
+      if (cb (objfile, cb_data) != 0)
+	return;
+    }
 }
 
 void
@@ -3247,7 +3261,6 @@ _initialize_svr4_solib (void)
   svr4_so_ops.open_symbol_file_object = open_symbol_file_object;
   svr4_so_ops.in_dynsym_resolve_code = svr4_in_dynsym_resolve_code;
   svr4_so_ops.bfd_open = solib_bfd_open;
-  svr4_so_ops.lookup_lib_global_symbol = elf_lookup_lib_symbol;
   svr4_so_ops.same = svr4_same;
   svr4_so_ops.keep_data_in_core = svr4_keep_data_in_core;
   svr4_so_ops.update_breakpoints = svr4_update_solib_event_breakpoints;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/solib-target.c ./gdb/solib-target.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/solib-target.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/solib-target.c	2019-09-24 01:49:11.000000000 +0000
@@ -323,7 +323,7 @@ solib_target_relocate_section_addresses 
 	  for (i = 0, sect = so->abfd->sections;
 	       sect != NULL;
 	       i++, sect = sect->next)
-	    if ((bfd_get_section_flags (so->abfd, sect) & SEC_ALLOC))
+	    if ((bfd_section_flags (sect) & SEC_ALLOC))
 	      num_alloc_sections++;
 
 	  if (num_alloc_sections != li->section_bases.size ())
@@ -341,14 +341,14 @@ Could not relocate shared library \"%s\"
 		   sect != NULL;
 		   i++, sect = sect->next)
 		{
-		  if (!(bfd_get_section_flags (so->abfd, sect) & SEC_ALLOC))
+		  if (!(bfd_section_flags (sect) & SEC_ALLOC))
 		    continue;
-		  if (bfd_section_size (so->abfd, sect) > 0)
+		  if (bfd_section_size (sect) > 0)
 		    {
 		      CORE_ADDR low, high;
 
 		      low = li->section_bases[i];
-		      high = low + bfd_section_size (so->abfd, sect) - 1;
+		      high = low + bfd_section_size (sect) - 1;
 
 		      if (low < so->addr_low)
 			so->addr_low = low;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/solist.h ./gdb/solist.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/solist.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/solist.h	2019-09-24 01:49:11.000000000 +0000
@@ -139,12 +139,6 @@ struct target_so_ops
 			      unsigned o_flags,
 			      gdb::unique_xmalloc_ptr<char> *temp_pathname);
 
-  /* Hook for looking up global symbols in a library-specific way.  */
-  struct block_symbol (*lookup_lib_global_symbol)
-    (struct objfile *objfile,
-     const char *name,
-     const domain_enum domain);
-
   /* Given two so_list objects, one from the GDB thread list
      and another from the list returned by current_sos, return 1
      if they represent the same library.
@@ -209,9 +203,4 @@ extern gdb_bfd_ref_ptr solib_bfd_open (c
 /* FIXME: gdbarch needs to control this variable.  */
 extern struct target_so_ops *current_target_so_ops;
 
-/* Handler for library-specific global symbol lookup in solib.c.  */
-struct block_symbol solib_global_lookup (struct objfile *objfile,
-					    const char *name,
-					    const domain_enum domain);
-
 #endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/source.c ./gdb/source.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/source.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/source.c	2019-09-24 01:49:11.000000000 +0000
@@ -654,6 +654,36 @@ info_source_command (const char *ignore,
 }
 
 
+/* Helper function to remove characters from the start of PATH so that
+   PATH can then be appended to a directory name.  We remove leading drive
+   letters (for dos) as well as leading '/' characters and './'
+   sequences.  */
+
+const char *
+prepare_path_for_appending (const char *path)
+{
+  /* For dos paths, d:/foo -> /foo, and d:foo -> foo.  */
+  if (HAS_DRIVE_SPEC (path))
+    path = STRIP_DRIVE_SPEC (path);
+
+  const char *old_path;
+  do
+    {
+      old_path = path;
+
+      /* /foo => foo, to avoid multiple slashes that Emacs doesn't like.  */
+      while (IS_DIR_SEPARATOR(path[0]))
+	path++;
+
+      /* ./foo => foo */
+      while (path[0] == '.' && IS_DIR_SEPARATOR (path[1]))
+	path += 2;
+    }
+  while (old_path != path);
+
+  return path;
+}
+
 /* Open a file named STRING, searching path PATH (dir names sep by some char)
    using mode MODE in the calls to open.  You cannot use this function to
    create files (O_CREAT).
@@ -747,17 +777,9 @@ openp (const char *path, openp_flags opt
 	    goto done;
     }
 
-  /* For dos paths, d:/foo -> /foo, and d:foo -> foo.  */
-  if (HAS_DRIVE_SPEC (string))
-    string = STRIP_DRIVE_SPEC (string);
-
-  /* /foo => foo, to avoid multiple slashes that Emacs doesn't like.  */
-  while (IS_DIR_SEPARATOR(string[0]))
-    string++;
-
-  /* ./foo => foo */
-  while (string[0] == '.' && IS_DIR_SEPARATOR (string[1]))
-    string += 2;
+  /* Remove characters from the start of PATH that we don't need when PATH
+     is appended to a directory name.  */
+  string = prepare_path_for_appending (string);
 
   alloclen = strlen (path) + strlen (string) + 2;
   filename = (char *) alloca (alloclen);
@@ -1033,7 +1055,32 @@ find_and_open_source (const char *filena
   openp_flags flags = OPF_SEARCH_IN_PATH;
   if (basenames_may_differ)
     flags |= OPF_RETURN_REALPATH;
+
+  /* Try to locate file using filename.  */
   result = openp (path, flags, filename, OPEN_MODE, fullname);
+  if (result < 0 && dirname != NULL)
+    {
+      /* Remove characters from the start of PATH that we don't need when
+	 PATH is appended to a directory name.  */
+      const char *filename_start = prepare_path_for_appending (filename);
+
+      /* Try to locate file using compilation dir + filename.  This is
+	 helpful if part of the compilation directory was removed,
+	 e.g. using gcc's -fdebug-prefix-map, and we have added the missing
+	 prefix to source_path.  */
+      std::string cdir_filename (dirname);
+
+      /* Remove any trailing directory separators.  */
+      while (IS_DIR_SEPARATOR (cdir_filename.back ()))
+	cdir_filename.pop_back ();
+
+      /* Add our own directory separator.  */
+      cdir_filename.append (SLASH_STRING);
+      cdir_filename.append (filename_start);
+
+      result = openp (path, flags, cdir_filename.c_str (), OPEN_MODE,
+		      fullname);
+    }
   if (result < 0)
     {
       /* Didn't work.  Try using just the basename.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/source-cache.c ./gdb/source-cache.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/source-cache.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/source-cache.c	2019-09-24 01:49:11.000000000 +0000
@@ -190,14 +190,14 @@ source_cache::ensure (struct symtab *s)
 	     conditional compilation in source-cache.h.  */
 	  static srchilite::SourceHighlight *highlighter;
 
-	  if (highlighter == nullptr)
-	    {
-	      highlighter = new srchilite::SourceHighlight ("esc.outlang");
-	      highlighter->setStyleFile ("esc.style");
-	    }
-
 	  try
 	    {
+	      if (highlighter == nullptr)
+		{
+		  highlighter = new srchilite::SourceHighlight ("esc.outlang");
+		  highlighter->setStyleFile ("esc.style");
+		}
+
 	      std::istringstream input (contents);
 	      std::ostringstream output;
 	      highlighter->highlight (input, output, lang_name, fullname);
@@ -231,19 +231,26 @@ bool
 source_cache::get_line_charpos (struct symtab *s,
 				const std::vector<off_t> **offsets)
 {
-  std::string fullname = symtab_to_fullname (s);
+  try
+    {
+      std::string fullname = symtab_to_fullname (s);
 
-  auto iter = m_offset_cache.find (fullname);
-  if (iter == m_offset_cache.end ())
+      auto iter = m_offset_cache.find (fullname);
+      if (iter == m_offset_cache.end ())
+	{
+	  ensure (s);
+	  iter = m_offset_cache.find (fullname);
+	  /* cache_source_text ensured this was entered.  */
+	  gdb_assert (iter != m_offset_cache.end ());
+	}
+
+      *offsets = &iter->second;
+      return true;
+    }
+  catch (const gdb_exception_error &e)
     {
-      ensure (s);
-      iter = m_offset_cache.find (fullname);
-      /* cache_source_text ensured this was entered.  */
-      gdb_assert (iter != m_offset_cache.end ());
+      return false;
     }
-
-  *offsets = &iter->second;
-  return true;
 }
 
 /* A helper function that extracts the desired source lines from TEXT,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/spu-linux-nat.c ./gdb/spu-linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/spu-linux-nat.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/spu-linux-nat.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,662 +0,0 @@
-/* SPU native-dependent code for GDB, the GNU debugger.
-   Copyright (C) 2006-2019 Free Software Foundation, Inc.
-
-   Contributed by Ulrich Weigand <uweigand@de.ibm.com>.
-
-   This file is part of GDB.
-
-   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 "defs.h"
-#include "gdbcore.h"
-#include "target.h"
-#include "inferior.h"
-#include "inf-child.h"
-#include "inf-ptrace.h"
-#include "regcache.h"
-#include "symfile.h"
-#include "gdbsupport/gdb_wait.h"
-#include "gdbthread.h"
-#include "gdb_bfd.h"
-
-#include "nat/gdb_ptrace.h"
-#include <asm/ptrace.h>
-#include <sys/types.h>
-
-#include "spu-tdep.h"
-
-/* PPU side system calls.  */
-#define INSTR_SC	0x44000002
-#define NR_spu_run	0x0116
-
-class spu_linux_nat_target final : public inf_ptrace_target
-{
-public:
-  void fetch_registers (struct regcache *regcache, int regnum) override;
-  void store_registers (struct regcache *regcache, int regnum) override;
-
-  void post_attach (int) override;
-  void post_startup_inferior (ptid_t) override;
-
-  ptid_t wait (ptid_t, struct target_waitstatus *, int options) override;
-
-  enum target_xfer_status xfer_partial (enum target_object object,
-					const char *annex,
-					gdb_byte *readbuf,
-					const gdb_byte *writebuf,
-					ULONGEST offset, ULONGEST len,
-					ULONGEST *xfered_len) override;
-
-  int can_use_hw_breakpoint (enum bptype, int, int) override;
-};
-
-static spu_linux_nat_target the_spu_linux_nat_target;
-
-/* Fetch PPU register REGNO.  */
-static ULONGEST
-fetch_ppc_register (int regno)
-{
-  PTRACE_TYPE_RET res;
-
-  int tid = inferior_ptid.lwp ();
-  if (tid == 0)
-    tid = inferior_ptid.pid ();
-
-#ifndef __powerpc64__
-  /* If running as a 32-bit process on a 64-bit system, we attempt
-     to get the full 64-bit register content of the target process.
-     If the PPC special ptrace call fails, we're on a 32-bit system;
-     just fall through to the regular ptrace call in that case.  */
-  {
-    gdb_byte buf[8];
-
-    errno = 0;
-    ptrace (PPC_PTRACE_PEEKUSR_3264, tid,
-	    (PTRACE_TYPE_ARG3) (regno * 8), buf);
-    if (errno == 0)
-      ptrace (PPC_PTRACE_PEEKUSR_3264, tid,
-	      (PTRACE_TYPE_ARG3) (regno * 8 + 4), buf + 4);
-    if (errno == 0)
-      return (ULONGEST) *(uint64_t *)buf;
-  }
-#endif
-
-  errno = 0;
-  res = ptrace (PT_READ_U, tid,
-	 	(PTRACE_TYPE_ARG3) (regno * sizeof (PTRACE_TYPE_RET)), 0);
-  if (errno != 0)
-    {
-      char mess[128];
-      xsnprintf (mess, sizeof mess, "reading PPC register #%d", regno);
-      perror_with_name (_(mess));
-    }
-
-  return (ULONGEST) (unsigned long) res;
-}
-
-/* Fetch WORD from PPU memory at (aligned) MEMADDR in thread TID.  */
-static int
-fetch_ppc_memory_1 (int tid, ULONGEST memaddr, PTRACE_TYPE_RET *word)
-{
-  errno = 0;
-
-#ifndef __powerpc64__
-  if (memaddr >> 32)
-    {
-      uint64_t addr_8 = (uint64_t) memaddr;
-      ptrace (PPC_PTRACE_PEEKTEXT_3264, tid, (PTRACE_TYPE_ARG3) &addr_8, word);
-    }
-  else
-#endif
-    *word = ptrace (PT_READ_I, tid, (PTRACE_TYPE_ARG3) (size_t) memaddr, 0);
-
-  return errno;
-}
-
-/* Store WORD into PPU memory at (aligned) MEMADDR in thread TID.  */
-static int
-store_ppc_memory_1 (int tid, ULONGEST memaddr, PTRACE_TYPE_RET word)
-{
-  errno = 0;
-
-#ifndef __powerpc64__
-  if (memaddr >> 32)
-    {
-      uint64_t addr_8 = (uint64_t) memaddr;
-      ptrace (PPC_PTRACE_POKEDATA_3264, tid, (PTRACE_TYPE_ARG3) &addr_8, word);
-    }
-  else
-#endif
-    ptrace (PT_WRITE_D, tid, (PTRACE_TYPE_ARG3) (size_t) memaddr, word);
-
-  return errno;
-}
-
-/* Fetch LEN bytes of PPU memory at MEMADDR to MYADDR.  */
-static int
-fetch_ppc_memory (ULONGEST memaddr, gdb_byte *myaddr, int len)
-{
-  int i, ret;
-
-  ULONGEST addr = memaddr & -(ULONGEST) sizeof (PTRACE_TYPE_RET);
-  int count = ((((memaddr + len) - addr) + sizeof (PTRACE_TYPE_RET) - 1)
-	       / sizeof (PTRACE_TYPE_RET));
-  PTRACE_TYPE_RET *buffer;
-
-  int tid = inferior_ptid.lwp ();
-  if (tid == 0)
-    tid = inferior_ptid.pid ();
-
-  buffer = (PTRACE_TYPE_RET *) alloca (count * sizeof (PTRACE_TYPE_RET));
-  for (i = 0; i < count; i++, addr += sizeof (PTRACE_TYPE_RET))
-    {
-      ret = fetch_ppc_memory_1 (tid, addr, &buffer[i]);
-      if (ret)
-	return ret;
-    }
-
-  memcpy (myaddr,
-	  (char *) buffer + (memaddr & (sizeof (PTRACE_TYPE_RET) - 1)),
-	  len);
-
-  return 0;
-}
-
-/* Store LEN bytes from MYADDR to PPU memory at MEMADDR.  */
-static int
-store_ppc_memory (ULONGEST memaddr, const gdb_byte *myaddr, int len)
-{
-  int i, ret;
-
-  ULONGEST addr = memaddr & -(ULONGEST) sizeof (PTRACE_TYPE_RET);
-  int count = ((((memaddr + len) - addr) + sizeof (PTRACE_TYPE_RET) - 1)
-	       / sizeof (PTRACE_TYPE_RET));
-  PTRACE_TYPE_RET *buffer;
-
-  int tid = inferior_ptid.lwp ();
-  if (tid == 0)
-    tid = inferior_ptid.pid ();
-
-  buffer = (PTRACE_TYPE_RET *) alloca (count * sizeof (PTRACE_TYPE_RET));
-
-  if (addr != memaddr || len < (int) sizeof (PTRACE_TYPE_RET))
-    {
-      ret = fetch_ppc_memory_1 (tid, addr, &buffer[0]);
-      if (ret)
-	return ret;
-    }
-
-  if (count > 1)
-    {
-      ret = fetch_ppc_memory_1 (tid, addr + (count - 1)
-					       * sizeof (PTRACE_TYPE_RET),
-				&buffer[count - 1]);
-      if (ret)
-	return ret;
-    }
-
-  memcpy ((char *) buffer + (memaddr & (sizeof (PTRACE_TYPE_RET) - 1)),
-          myaddr, len);
-
-  for (i = 0; i < count; i++, addr += sizeof (PTRACE_TYPE_RET))
-    {
-      ret = store_ppc_memory_1 (tid, addr, buffer[i]);
-      if (ret)
-	return ret;
-    }
-
-  return 0;
-}
-
-
-/* If the PPU thread is currently stopped on a spu_run system call,
-   return to FD and ADDR the file handle and NPC parameter address
-   used with the system call.  Return non-zero if successful.  */
-static int 
-parse_spufs_run (int *fd, ULONGEST *addr)
-{
-  enum bfd_endian byte_order = gdbarch_byte_order (target_gdbarch ());
-  gdb_byte buf[4];
-  ULONGEST pc = fetch_ppc_register (32);  /* nip */
-
-  /* Fetch instruction preceding current NIP.  */
-  if (fetch_ppc_memory (pc-4, buf, 4) != 0)
-    return 0;
-  /* It should be a "sc" instruction.  */
-  if (extract_unsigned_integer (buf, 4, byte_order) != INSTR_SC)
-    return 0;
-  /* System call number should be NR_spu_run.  */
-  if (fetch_ppc_register (0) != NR_spu_run)
-    return 0;
-
-  /* Register 3 contains fd, register 4 the NPC param pointer.  */
-  *fd = fetch_ppc_register (34);  /* orig_gpr3 */
-  *addr = fetch_ppc_register (4);
-  return 1;
-}
-
-
-/* Implement the to_xfer_partial target_ops method for TARGET_OBJECT_SPU.
-   Copy LEN bytes at OFFSET in spufs file ANNEX into/from READBUF or WRITEBUF,
-   using the /proc file system.  */
-
-static enum target_xfer_status
-spu_proc_xfer_spu (const char *annex, gdb_byte *readbuf,
-		   const gdb_byte *writebuf,
-		   ULONGEST offset, ULONGEST len, ULONGEST *xfered_len)
-{
-  char buf[128];
-  int fd = 0;
-  int ret = -1;
-  int pid = inferior_ptid.pid ();
-
-  if (!annex)
-    return TARGET_XFER_EOF;
-
-  xsnprintf (buf, sizeof buf, "/proc/%d/fd/%s", pid, annex);
-  fd = open (buf, writebuf? O_WRONLY : O_RDONLY);
-  if (fd <= 0)
-    return TARGET_XFER_E_IO;
-
-  if (offset != 0
-      && lseek (fd, (off_t) offset, SEEK_SET) != (off_t) offset)
-    {
-      close (fd);
-      return TARGET_XFER_EOF;
-    }
-
-  if (writebuf)
-    ret = write (fd, writebuf, (size_t) len);
-  else if (readbuf)
-    ret = read (fd, readbuf, (size_t) len);
-
-  close (fd);
-  if (ret < 0)
-    return TARGET_XFER_E_IO;
-  else if (ret == 0)
-    return TARGET_XFER_EOF;
-  else
-    {
-      *xfered_len = (ULONGEST) ret;
-      return TARGET_XFER_OK;
-    }
-}
-
-
-/* Inferior memory should contain an SPE executable image at location ADDR.
-   Allocate a BFD representing that executable.  Return NULL on error.  */
-
-static void *
-spu_bfd_iovec_open (struct bfd *nbfd, void *open_closure)
-{
-  return open_closure;
-}
-
-static int
-spu_bfd_iovec_close (struct bfd *nbfd, void *stream)
-{
-  xfree (stream);
-
-  /* Zero means success.  */
-  return 0;
-}
-
-static file_ptr
-spu_bfd_iovec_pread (struct bfd *abfd, void *stream, void *buf,
-	             file_ptr nbytes, file_ptr offset)
-{
-  ULONGEST addr = *(ULONGEST *)stream;
-
-  if (fetch_ppc_memory (addr + offset, (gdb_byte *)buf, nbytes) != 0)
-    {
-      bfd_set_error (bfd_error_invalid_operation);
-      return -1;
-    }
-
-  return nbytes;
-}
-
-static int
-spu_bfd_iovec_stat (struct bfd *abfd, void *stream, struct stat *sb)
-{
-  /* We don't have an easy way of finding the size of embedded spu
-     images.  We could parse the in-memory ELF header and section
-     table to find the extent of the last section but that seems
-     pointless when the size is needed only for checks of other
-     parsed values in dbxread.c.  */
-  memset (sb, 0, sizeof (struct stat));
-  sb->st_size = INT_MAX;
-  return 0;
-}
-
-static gdb_bfd_ref_ptr
-spu_bfd_open (ULONGEST addr)
-{
-  asection *spu_name;
-
-  ULONGEST *open_closure = XNEW (ULONGEST);
-  *open_closure = addr;
-
-  gdb_bfd_ref_ptr nbfd (gdb_bfd_openr_iovec ("<in-memory>", "elf32-spu",
-					     spu_bfd_iovec_open, open_closure,
-					     spu_bfd_iovec_pread,
-					     spu_bfd_iovec_close,
-					     spu_bfd_iovec_stat));
-  if (nbfd == NULL)
-    return NULL;
-
-  if (!bfd_check_format (nbfd.get (), bfd_object))
-    return NULL;
-
-  /* Retrieve SPU name note and update BFD name.  */
-  spu_name = bfd_get_section_by_name (nbfd.get (), ".note.spu_name");
-  if (spu_name)
-    {
-      int sect_size = bfd_section_size (nbfd.get (), spu_name);
-      if (sect_size > 20)
-	{
-	  char *buf = (char *)alloca (sect_size - 20 + 1);
-	  bfd_get_section_contents (nbfd.get (), spu_name, buf, 20,
-				    sect_size - 20);
-	  buf[sect_size - 20] = '\0';
-
-	  xfree ((char *)nbfd->filename);
-	  nbfd->filename = xstrdup (buf);
-	}
-    }
-
-  return nbfd;
-}
-
-/* INFERIOR_FD is a file handle passed by the inferior to the
-   spu_run system call.  Assuming the SPE context was allocated
-   by the libspe library, try to retrieve the main SPE executable
-   file from its copy within the target process.  */
-static void
-spu_symbol_file_add_from_memory (int inferior_fd)
-{
-  ULONGEST addr;
-
-  gdb_byte id[128];
-  char annex[32];
-  ULONGEST len;
-  enum target_xfer_status status;
-
-  /* Read object ID.  */
-  xsnprintf (annex, sizeof annex, "%d/object-id", inferior_fd);
-  status = spu_proc_xfer_spu (annex, id, NULL, 0, sizeof id, &len);
-  if (status != TARGET_XFER_OK || len >= sizeof id)
-    return;
-  id[len] = 0;
-  addr = strtoulst ((const char *) id, NULL, 16);
-  if (!addr)
-    return;
-
-  /* Open BFD representing SPE executable and read its symbols.  */
-  gdb_bfd_ref_ptr nbfd (spu_bfd_open (addr));
-  if (nbfd != NULL)
-    {
-      symbol_file_add_from_bfd (nbfd.get (), bfd_get_filename (nbfd),
-				SYMFILE_VERBOSE | SYMFILE_MAINLINE,
-				NULL, 0, NULL);
-    }
-}
-
-
-/* Override the post_startup_inferior routine to continue running
-   the inferior until the first spu_run system call.  */
-void
-spu_linux_nat_target::post_startup_inferior (ptid_t ptid)
-{
-  int fd;
-  ULONGEST addr;
-
-  int tid = ptid.lwp ();
-  if (tid == 0)
-    tid = ptid.pid ();
-  
-  while (!parse_spufs_run (&fd, &addr))
-    {
-      ptrace (PT_SYSCALL, tid, (PTRACE_TYPE_ARG3) 0, 0);
-      waitpid (tid, NULL, __WALL | __WNOTHREAD);
-    }
-}
-
-/* Override the post_attach routine to try load the SPE executable
-   file image from its copy inside the target process.  */
-void
-spu_linux_nat_target::post_attach (int pid)
-{
-  int fd;
-  ULONGEST addr;
-
-  /* Like child_post_startup_inferior, if we happened to attach to
-     the inferior while it wasn't currently in spu_run, continue 
-     running it until we get back there.  */
-  while (!parse_spufs_run (&fd, &addr))
-    {
-      ptrace (PT_SYSCALL, pid, (PTRACE_TYPE_ARG3) 0, 0);
-      waitpid (pid, NULL, __WALL | __WNOTHREAD);
-    }
-
-  /* If the user has not provided an executable file, try to extract
-     the image from inside the target process.  */
-  if (!get_exec_file (0))
-    spu_symbol_file_add_from_memory (fd);
-}
-
-/* Wait for child PTID to do something.  Return id of the child,
-   minus_one_ptid in case of error; store status into *OURSTATUS.  */
-ptid_t
-spu_linux_nat_target::wait (ptid_t ptid, struct target_waitstatus *ourstatus,
-			    int options)
-{
-  int save_errno;
-  int status;
-  pid_t pid;
-
-  do
-    {
-      set_sigint_trap ();	/* Causes SIGINT to be passed on to the
-				   attached process.  */
-
-      pid = waitpid (ptid.pid (), &status, 0);
-      if (pid == -1 && errno == ECHILD)
-	/* Try again with __WCLONE to check cloned processes.  */
-	pid = waitpid (ptid.pid (), &status, __WCLONE);
-
-      save_errno = errno;
-
-      /* Make sure we don't report an event for the exit of the
-         original program, if we've detached from it.  */
-      if (pid != -1 && !WIFSTOPPED (status)
-	  && pid != inferior_ptid.pid ())
-	{
-	  pid = -1;
-	  save_errno = EINTR;
-	}
-
-      clear_sigint_trap ();
-    }
-  while (pid == -1 && save_errno == EINTR);
-
-  if (pid == -1)
-    {
-      warning (_("Child process unexpectedly missing: %s"),
-	       safe_strerror (save_errno));
-
-      /* Claim it exited with unknown signal.  */
-      ourstatus->kind = TARGET_WAITKIND_SIGNALLED;
-      ourstatus->value.sig = GDB_SIGNAL_UNKNOWN;
-      return inferior_ptid;
-    }
-
-  store_waitstatus (ourstatus, status);
-  return ptid_t (pid);
-}
-
-/* Override the fetch_inferior_register routine.  */
-void
-spu_linux_nat_target::fetch_registers (struct regcache *regcache, int regno)
-{
-  int fd;
-  ULONGEST addr;
-
-  /* Since we use functions that rely on inferior_ptid, we need to set and
-     restore it.  */
-  scoped_restore save_ptid
-    = make_scoped_restore (&inferior_ptid, regcache->ptid ());
-
-  /* We must be stopped on a spu_run system call.  */
-  if (!parse_spufs_run (&fd, &addr))
-    return;
-
-  /* The ID register holds the spufs file handle.  */
-  if (regno == -1 || regno == SPU_ID_REGNUM)
-    {
-      struct gdbarch *gdbarch = regcache->arch ();
-      enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-      gdb_byte buf[4];
-      store_unsigned_integer (buf, 4, byte_order, fd);
-      regcache->raw_supply (SPU_ID_REGNUM, buf);
-    }
-
-  /* The NPC register is found at ADDR.  */
-  if (regno == -1 || regno == SPU_PC_REGNUM)
-    {
-      gdb_byte buf[4];
-      if (fetch_ppc_memory (addr, buf, 4) == 0)
-	regcache->raw_supply (SPU_PC_REGNUM, buf);
-    }
-
-  /* The GPRs are found in the "regs" spufs file.  */
-  if (regno == -1 || (regno >= 0 && regno < SPU_NUM_GPRS))
-    {
-      gdb_byte buf[16 * SPU_NUM_GPRS];
-      char annex[32];
-      int i;
-      ULONGEST len;
-
-      xsnprintf (annex, sizeof annex, "%d/regs", fd);
-      if ((spu_proc_xfer_spu (annex, buf, NULL, 0, sizeof buf, &len)
-	   == TARGET_XFER_OK)
-	  && len == sizeof buf)
-	for (i = 0; i < SPU_NUM_GPRS; i++)
-	  regcache->raw_supply (i, buf + i*16);
-    }
-}
-
-/* Override the store_inferior_register routine.  */
-void
-spu_linux_nat_target::store_registers (struct regcache *regcache, int regno)
-{
-  int fd;
-  ULONGEST addr;
-
-  /* Since we use functions that rely on inferior_ptid, we need to set and
-     restore it.  */
-  scoped_restore save_ptid
-    = make_scoped_restore (&inferior_ptid, regcache->ptid ());
-
-  /* We must be stopped on a spu_run system call.  */
-  if (!parse_spufs_run (&fd, &addr))
-    return;
-
-  /* The NPC register is found at ADDR.  */
-  if (regno == -1 || regno == SPU_PC_REGNUM)
-    {
-      gdb_byte buf[4];
-      regcache->raw_collect (SPU_PC_REGNUM, buf);
-      store_ppc_memory (addr, buf, 4);
-    }
-
-  /* The GPRs are found in the "regs" spufs file.  */
-  if (regno == -1 || (regno >= 0 && regno < SPU_NUM_GPRS))
-    {
-      gdb_byte buf[16 * SPU_NUM_GPRS];
-      char annex[32];
-      int i;
-      ULONGEST len;
-
-      for (i = 0; i < SPU_NUM_GPRS; i++)
-	regcache->raw_collect (i, buf + i*16);
-
-      xsnprintf (annex, sizeof annex, "%d/regs", fd);
-      spu_proc_xfer_spu (annex, NULL, buf, 0, sizeof buf, &len);
-    }
-}
-
-/* Override the to_xfer_partial routine.  */
-enum target_xfer_status
-spu_linux_nat_target::xfer_partial (enum target_object object, const char *annex,
-				    gdb_byte *readbuf, const gdb_byte *writebuf,
-				    ULONGEST offset, ULONGEST len,
-				    ULONGEST *xfered_len)
-{
-  if (object == TARGET_OBJECT_SPU)
-    return spu_proc_xfer_spu (annex, readbuf, writebuf, offset, len,
-			      xfered_len);
-
-  if (object == TARGET_OBJECT_MEMORY)
-    {
-      int fd;
-      ULONGEST addr;
-      char mem_annex[32], lslr_annex[32];
-      gdb_byte buf[32];
-      ULONGEST lslr;
-      enum target_xfer_status ret;
-
-      /* We must be stopped on a spu_run system call.  */
-      if (!parse_spufs_run (&fd, &addr))
-	return TARGET_XFER_EOF;
-
-      /* Use the "mem" spufs file to access SPU local store.  */
-      xsnprintf (mem_annex, sizeof mem_annex, "%d/mem", fd);
-      ret = spu_proc_xfer_spu (mem_annex, readbuf, writebuf, offset, len,
-			       xfered_len);
-      if (ret == TARGET_XFER_OK)
-	return ret;
-
-      /* SPU local store access wraps the address around at the
-	 local store limit.  We emulate this here.  To avoid needing
-	 an extra access to retrieve the LSLR, we only do that after
-	 trying the original address first, and getting end-of-file.  */
-      xsnprintf (lslr_annex, sizeof lslr_annex, "%d/lslr", fd);
-      memset (buf, 0, sizeof buf);
-      if (spu_proc_xfer_spu (lslr_annex, buf, NULL, 0, sizeof buf, xfered_len)
-	  != TARGET_XFER_OK)
-	return ret;
-
-      lslr = strtoulst ((const char *) buf, NULL, 16);
-      return spu_proc_xfer_spu (mem_annex, readbuf, writebuf,
-				offset & lslr, len, xfered_len);
-    }
-
-  return TARGET_XFER_E_IO;
-}
-
-/* Override the to_can_use_hw_breakpoint routine.  */
-int
-spu_linux_nat_target::can_use_hw_breakpoint (enum bptype type,
-					     int cnt, int othertype)
-{
-  return 0;
-}
-
-/* Initialize SPU native target.  */
-void 
-_initialize_spu_nat (void)
-{
-  add_inf_child_target (&the_spu_linux_nat_target);
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/spu-multiarch.c ./gdb/spu-multiarch.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/spu-multiarch.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/spu-multiarch.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,417 +0,0 @@
-/* Cell SPU GNU/Linux multi-architecture debugging support.
-   Copyright (C) 2009-2019 Free Software Foundation, Inc.
-
-   Contributed by Ulrich Weigand <uweigand@de.ibm.com>.
-
-   This file is part of GDB.
-
-   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 "defs.h"
-#include "gdbcore.h"
-#include "gdbcmd.h"
-#include "arch-utils.h"
-#include "observable.h"
-#include "inferior.h"
-#include "regcache.h"
-#include "symfile.h"
-#include "objfiles.h"
-#include "solib.h"
-#include "solist.h"
-
-#include "ppc-tdep.h"
-#include "ppc-linux-tdep.h"
-#include "spu-tdep.h"
-
-/* The SPU multi-architecture support target.  */
-
-static const target_info spu_multiarch_target_info = {
-  "spu",
-  N_("SPU multi-architecture support."),
-  N_("SPU multi-architecture support.")
-};
-
-struct spu_multiarch_target final : public target_ops
-{
-  const target_info &info () const override
-  { return spu_multiarch_target_info; }
-
-  strata stratum () const override { return arch_stratum; }
-
-  void mourn_inferior () override;
-
-  void fetch_registers (struct regcache *, int) override;
-  void store_registers (struct regcache *, int) override;
-
-  enum target_xfer_status xfer_partial (enum target_object object,
-					const char *annex,
-					gdb_byte *readbuf,
-					const gdb_byte *writebuf,
-					ULONGEST offset, ULONGEST len,
-					ULONGEST *xfered_len) override;
-
-  int search_memory (CORE_ADDR start_addr, ULONGEST search_space_len,
-		     const gdb_byte *pattern, ULONGEST pattern_len,
-		     CORE_ADDR *found_addrp) override;
-
-  int region_ok_for_hw_watchpoint (CORE_ADDR, int) override;
-
-  struct gdbarch *thread_architecture (ptid_t) override;
-};
-
-static spu_multiarch_target spu_ops;
-
-/* Number of SPE objects loaded into the current inferior.  */
-static int spu_nr_solib;
-
-/* Stand-alone SPE executable?  */
-#define spu_standalone_p() \
-  (symfile_objfile && symfile_objfile->obfd \
-   && bfd_get_arch (symfile_objfile->obfd) == bfd_arch_spu)
-
-/* PPU side system calls.  */
-#define INSTR_SC	0x44000002
-#define NR_spu_run	0x0116
-
-/* If the PPU thread is currently stopped on a spu_run system call,
-   return to FD and ADDR the file handle and NPC parameter address
-   used with the system call.  Return non-zero if successful.  */
-static int
-parse_spufs_run (ptid_t ptid, int *fd, CORE_ADDR *addr)
-{
-  enum bfd_endian byte_order = gdbarch_byte_order (target_gdbarch ());
-  struct gdbarch_tdep *tdep;
-  struct regcache *regcache;
-  gdb_byte buf[4];
-  ULONGEST regval;
-
-  /* If we're not on PPU, there's nothing to detect.  */
-  if (gdbarch_bfd_arch_info (target_gdbarch ())->arch != bfd_arch_powerpc)
-    return 0;
-
-  /* If we're called too early (e.g. after fork), we cannot
-     access the inferior yet.  */
-  if (find_inferior_ptid (ptid) == NULL)
-    return 0;
-
-  /* Get PPU-side registers.  */
-  regcache = get_thread_arch_regcache (ptid, target_gdbarch ());
-  tdep = gdbarch_tdep (target_gdbarch ());
-
-  /* Fetch instruction preceding current NIP.  */
-  {
-    scoped_restore save_inferior_ptid = make_scoped_restore (&inferior_ptid);
-    inferior_ptid = ptid;
-    regval = target_read_memory (regcache_read_pc (regcache) - 4, buf, 4);
-  }
-  if (regval != 0)
-    return 0;
-  /* It should be a "sc" instruction.  */
-  if (extract_unsigned_integer (buf, 4, byte_order) != INSTR_SC)
-    return 0;
-  /* System call number should be NR_spu_run.  */
-  regcache_cooked_read_unsigned (regcache, tdep->ppc_gp0_regnum, &regval);
-  if (regval != NR_spu_run)
-    return 0;
-
-  /* Register 3 contains fd, register 4 the NPC param pointer.  */
-  regcache_cooked_read_unsigned (regcache, PPC_ORIG_R3_REGNUM, &regval);
-  *fd = (int) regval;
-  regcache_cooked_read_unsigned (regcache, tdep->ppc_gp0_regnum + 4, &regval);
-  *addr = (CORE_ADDR) regval;
-  return 1;
-}
-
-/* Find gdbarch for SPU context SPUFS_FD.  */
-static struct gdbarch *
-spu_gdbarch (int spufs_fd)
-{
-  struct gdbarch_info info;
-  gdbarch_info_init (&info);
-  info.bfd_arch_info = bfd_lookup_arch (bfd_arch_spu, bfd_mach_spu);
-  info.byte_order = BFD_ENDIAN_BIG;
-  info.osabi = GDB_OSABI_LINUX;
-  info.id = &spufs_fd;
-  return gdbarch_find_by_info (info);
-}
-
-/* Override the to_thread_architecture routine.  */
-struct gdbarch *
-spu_multiarch_target::thread_architecture (ptid_t ptid)
-{
-  int spufs_fd;
-  CORE_ADDR spufs_addr;
-
-  if (parse_spufs_run (ptid, &spufs_fd, &spufs_addr))
-    return spu_gdbarch (spufs_fd);
-
-  return beneath ()->thread_architecture (ptid);
-}
-
-/* Override the to_region_ok_for_hw_watchpoint routine.  */
-
-int
-spu_multiarch_target::region_ok_for_hw_watchpoint (CORE_ADDR addr, int len)
-{
-  /* We cannot watch SPU local store.  */
-  if (SPUADDR_SPU (addr) != -1)
-    return 0;
-
-  return beneath ()->region_ok_for_hw_watchpoint (addr, len);
-}
-
-/* Override the to_fetch_registers routine.  */
-
-void
-spu_multiarch_target::fetch_registers (struct regcache *regcache, int regno)
-{
-  struct gdbarch *gdbarch = regcache->arch ();
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  int spufs_fd;
-  CORE_ADDR spufs_addr;
-
-  /* Since we use functions that rely on inferior_ptid, we need to set and
-     restore it.  */
-  scoped_restore save_ptid
-    = make_scoped_restore (&inferior_ptid, regcache->ptid ());
-
-  /* This version applies only if we're currently in spu_run.  */
-  if (gdbarch_bfd_arch_info (gdbarch)->arch != bfd_arch_spu)
-    {
-      beneath ()->fetch_registers (regcache, regno);
-      return;
-    }
-
-  /* We must be stopped on a spu_run system call.  */
-  if (!parse_spufs_run (inferior_ptid, &spufs_fd, &spufs_addr))
-    return;
-
-  /* The ID register holds the spufs file handle.  */
-  if (regno == -1 || regno == SPU_ID_REGNUM)
-    {
-      gdb_byte buf[4];
-      store_unsigned_integer (buf, 4, byte_order, spufs_fd);
-      regcache->raw_supply (SPU_ID_REGNUM, buf);
-    }
-
-  /* The NPC register is found in PPC memory at SPUFS_ADDR.  */
-  if (regno == -1 || regno == SPU_PC_REGNUM)
-    {
-      gdb_byte buf[4];
-
-      if (target_read (beneath (), TARGET_OBJECT_MEMORY, NULL,
-		       buf, spufs_addr, sizeof buf) == sizeof buf)
-	regcache->raw_supply (SPU_PC_REGNUM, buf);
-    }
-
-  /* The GPRs are found in the "regs" spufs file.  */
-  if (regno == -1 || (regno >= 0 && regno < SPU_NUM_GPRS))
-    {
-      gdb_byte buf[16 * SPU_NUM_GPRS];
-      char annex[32];
-      int i;
-
-      xsnprintf (annex, sizeof annex, "%d/regs", spufs_fd);
-      if (target_read (beneath (), TARGET_OBJECT_SPU, annex,
-		       buf, 0, sizeof buf) == sizeof buf)
-	for (i = 0; i < SPU_NUM_GPRS; i++)
-	  regcache->raw_supply (i, buf + i*16);
-    }
-}
-
-/* Override the to_store_registers routine.  */
-
-void
-spu_multiarch_target::store_registers (struct regcache *regcache, int regno)
-{
-  struct gdbarch *gdbarch = regcache->arch ();
-  int spufs_fd;
-  CORE_ADDR spufs_addr;
-
-  /* Since we use functions that rely on inferior_ptid, we need to set and
-     restore it.  */
-  scoped_restore save_ptid
-    = make_scoped_restore (&inferior_ptid, regcache->ptid ());
-
-  /* This version applies only if we're currently in spu_run.  */
-  if (gdbarch_bfd_arch_info (gdbarch)->arch != bfd_arch_spu)
-    {
-      beneath ()->store_registers (regcache, regno);
-      return;
-    }
-
-  /* We must be stopped on a spu_run system call.  */
-  if (!parse_spufs_run (inferior_ptid, &spufs_fd, &spufs_addr))
-    return;
-
-  /* The NPC register is found in PPC memory at SPUFS_ADDR.  */
-  if (regno == -1 || regno == SPU_PC_REGNUM)
-    {
-      gdb_byte buf[4];
-      regcache->raw_collect (SPU_PC_REGNUM, buf);
-
-      target_write (beneath (), TARGET_OBJECT_MEMORY, NULL,
-		    buf, spufs_addr, sizeof buf);
-    }
-
-  /* The GPRs are found in the "regs" spufs file.  */
-  if (regno == -1 || (regno >= 0 && regno < SPU_NUM_GPRS))
-    {
-      gdb_byte buf[16 * SPU_NUM_GPRS];
-      char annex[32];
-      int i;
-
-      for (i = 0; i < SPU_NUM_GPRS; i++)
-	regcache->raw_collect (i, buf + i*16);
-
-      xsnprintf (annex, sizeof annex, "%d/regs", spufs_fd);
-      target_write (beneath (), TARGET_OBJECT_SPU, annex,
-		    buf, 0, sizeof buf);
-    }
-}
-
-/* Override the to_xfer_partial routine.  */
-
-enum target_xfer_status
-spu_multiarch_target::xfer_partial (enum target_object object,
-				    const char *annex, gdb_byte *readbuf,
-				    const gdb_byte *writebuf, ULONGEST offset, ULONGEST len,
-				    ULONGEST *xfered_len)
-{
-  struct target_ops *ops_beneath = this->beneath ();
-
-  /* Use the "mem" spufs file to access SPU local store.  */
-  if (object == TARGET_OBJECT_MEMORY)
-    {
-      int fd = SPUADDR_SPU (offset);
-      CORE_ADDR addr = SPUADDR_ADDR (offset);
-      char mem_annex[32], lslr_annex[32];
-      gdb_byte buf[32];
-      ULONGEST lslr;
-      enum target_xfer_status ret;
-
-      if (fd >= 0)
-	{
-	  xsnprintf (mem_annex, sizeof mem_annex, "%d/mem", fd);
-	  ret = ops_beneath->xfer_partial (TARGET_OBJECT_SPU,
-					   mem_annex, readbuf, writebuf,
-					   addr, len, xfered_len);
-	  if (ret == TARGET_XFER_OK)
-	    return ret;
-
-	  /* SPU local store access wraps the address around at the
-	     local store limit.  We emulate this here.  To avoid needing
-	     an extra access to retrieve the LSLR, we only do that after
-	     trying the original address first, and getting end-of-file.  */
-	  xsnprintf (lslr_annex, sizeof lslr_annex, "%d/lslr", fd);
-	  memset (buf, 0, sizeof buf);
-	  if (ops_beneath->xfer_partial (TARGET_OBJECT_SPU,
-					 lslr_annex, buf, NULL,
-					 0, sizeof buf, xfered_len)
-	      != TARGET_XFER_OK)
-	    return ret;
-
-	  lslr = strtoulst ((char *) buf, NULL, 16);
-	  return ops_beneath->xfer_partial (TARGET_OBJECT_SPU,
-					    mem_annex, readbuf, writebuf,
-					    addr & lslr, len, xfered_len);
-	}
-    }
-
-  return ops_beneath->xfer_partial (object, annex,
-				    readbuf, writebuf, offset, len, xfered_len);
-}
-
-/* Override the to_search_memory routine.  */
-int
-spu_multiarch_target::search_memory (CORE_ADDR start_addr, ULONGEST search_space_len,
-				     const gdb_byte *pattern, ULONGEST pattern_len,
-				     CORE_ADDR *found_addrp)
-{
-  /* For SPU local store, always fall back to the simple method.  */
-  if (SPUADDR_SPU (start_addr) >= 0)
-    return simple_search_memory (this, start_addr, search_space_len,
-				 pattern, pattern_len, found_addrp);
-
-  return beneath ()->search_memory (start_addr, search_space_len,
-				    pattern, pattern_len, found_addrp);
-}
-
-
-/* Push and pop the SPU multi-architecture support target.  */
-
-static void
-spu_multiarch_activate (void)
-{
-  /* If GDB was configured without SPU architecture support,
-     we cannot install SPU multi-architecture support either.  */
-  if (spu_gdbarch (-1) == NULL)
-    return;
-
-  push_target (&spu_ops);
-
-  /* Make sure the thread architecture is re-evaluated.  */
-  registers_changed ();
-}
-
-static void
-spu_multiarch_deactivate (void)
-{
-  unpush_target (&spu_ops);
-
-  /* Make sure the thread architecture is re-evaluated.  */
-  registers_changed ();
-}
-
-static void
-spu_multiarch_inferior_created (struct target_ops *ops, int from_tty)
-{
-  if (spu_standalone_p ())
-    spu_multiarch_activate ();
-}
-
-static void
-spu_multiarch_solib_loaded (struct so_list *so)
-{
-  if (!spu_standalone_p ())
-    if (so->abfd && bfd_get_arch (so->abfd) == bfd_arch_spu)
-      if (spu_nr_solib++ == 0)
-	spu_multiarch_activate ();
-}
-
-static void
-spu_multiarch_solib_unloaded (struct so_list *so)
-{
-  if (!spu_standalone_p ())
-    if (so->abfd && bfd_get_arch (so->abfd) == bfd_arch_spu)
-      if (--spu_nr_solib == 0)
-	spu_multiarch_deactivate ();
-}
-
-void
-spu_multiarch_target::mourn_inferior ()
-{
-  beneath ()->mourn_inferior ();
-  spu_multiarch_deactivate ();
-}
-
-void
-_initialize_spu_multiarch (void)
-{
-  /* Install observers to watch for SPU objects.  */
-  gdb::observers::inferior_created.attach (spu_multiarch_inferior_created);
-  gdb::observers::solib_loaded.attach (spu_multiarch_solib_loaded);
-  gdb::observers::solib_unloaded.attach (spu_multiarch_solib_unloaded);
-}
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/spu-tdep.c ./gdb/spu-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/spu-tdep.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/spu-tdep.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,2835 +0,0 @@
-/* SPU target-dependent code for GDB, the GNU debugger.
-   Copyright (C) 2006-2019 Free Software Foundation, Inc.
-
-   Contributed by Ulrich Weigand <uweigand@de.ibm.com>.
-   Based on a port by Sid Manning <sid@us.ibm.com>.
-
-   This file is part of GDB.
-
-   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 "defs.h"
-#include "arch-utils.h"
-#include "gdbtypes.h"
-#include "gdbcmd.h"
-#include "gdbcore.h"
-#include "frame.h"
-#include "frame-unwind.h"
-#include "frame-base.h"
-#include "trad-frame.h"
-#include "symtab.h"
-#include "symfile.h"
-#include "value.h"
-#include "inferior.h"
-#include "dis-asm.h"
-#include "disasm.h"
-#include "objfiles.h"
-#include "language.h"
-#include "regcache.h"
-#include "reggroups.h"
-#include "block.h"
-#include "observable.h"
-#include "infcall.h"
-#include "dwarf2.h"
-#include "dwarf2-frame.h"
-#include "ax.h"
-#include "spu-tdep.h"
-#include "location.h"
-
-/* The list of available "set spu " and "show spu " commands.  */
-static struct cmd_list_element *setspucmdlist = NULL;
-static struct cmd_list_element *showspucmdlist = NULL;
-
-/* Whether to stop for new SPE contexts.  */
-static int spu_stop_on_load_p = 0;
-/* Whether to automatically flush the SW-managed cache.  */
-static int spu_auto_flush_cache_p = 1;
-
-
-/* The tdep structure.  */
-struct gdbarch_tdep
-{
-  /* The spufs ID identifying our address space.  */
-  int id;
-
-  /* SPU-specific vector type.  */
-  struct type *spu_builtin_type_vec128;
-};
-
-
-/* SPU-specific vector type.  */
-static struct type *
-spu_builtin_type_vec128 (struct gdbarch *gdbarch)
-{
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-
-  if (!tdep->spu_builtin_type_vec128)
-    {
-      const struct builtin_type *bt = builtin_type (gdbarch);
-      struct type *t;
-
-      t = arch_composite_type (gdbarch,
-			       "__spu_builtin_type_vec128", TYPE_CODE_UNION);
-      append_composite_type_field (t, "uint128", bt->builtin_int128);
-      append_composite_type_field (t, "v2_int64",
-				   init_vector_type (bt->builtin_int64, 2));
-      append_composite_type_field (t, "v4_int32",
-				   init_vector_type (bt->builtin_int32, 4));
-      append_composite_type_field (t, "v8_int16",
-				   init_vector_type (bt->builtin_int16, 8));
-      append_composite_type_field (t, "v16_int8",
-				   init_vector_type (bt->builtin_int8, 16));
-      append_composite_type_field (t, "v2_double",
-				   init_vector_type (bt->builtin_double, 2));
-      append_composite_type_field (t, "v4_float",
-				   init_vector_type (bt->builtin_float, 4));
-
-      TYPE_VECTOR (t) = 1;
-      TYPE_NAME (t) = "spu_builtin_type_vec128";
-
-      tdep->spu_builtin_type_vec128 = t;
-    }
-
-  return tdep->spu_builtin_type_vec128;
-}
-
-
-/* The list of available "info spu " commands.  */
-static struct cmd_list_element *infospucmdlist = NULL;
-
-/* Registers.  */
-
-static const char *
-spu_register_name (struct gdbarch *gdbarch, int reg_nr)
-{
-  static const char *register_names[] =
-    {
-      "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
-      "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15",
-      "r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23",
-      "r24", "r25", "r26", "r27", "r28", "r29", "r30", "r31",
-      "r32", "r33", "r34", "r35", "r36", "r37", "r38", "r39",
-      "r40", "r41", "r42", "r43", "r44", "r45", "r46", "r47",
-      "r48", "r49", "r50", "r51", "r52", "r53", "r54", "r55",
-      "r56", "r57", "r58", "r59", "r60", "r61", "r62", "r63",
-      "r64", "r65", "r66", "r67", "r68", "r69", "r70", "r71",
-      "r72", "r73", "r74", "r75", "r76", "r77", "r78", "r79",
-      "r80", "r81", "r82", "r83", "r84", "r85", "r86", "r87",
-      "r88", "r89", "r90", "r91", "r92", "r93", "r94", "r95",
-      "r96", "r97", "r98", "r99", "r100", "r101", "r102", "r103",
-      "r104", "r105", "r106", "r107", "r108", "r109", "r110", "r111",
-      "r112", "r113", "r114", "r115", "r116", "r117", "r118", "r119",
-      "r120", "r121", "r122", "r123", "r124", "r125", "r126", "r127",
-      "id", "pc", "sp", "fpscr", "srr0", "lslr", "decr", "decr_status"
-    };
-
-  if (reg_nr < 0)
-    return NULL;
-  if (reg_nr >= sizeof register_names / sizeof *register_names)
-    return NULL;
-
-  return register_names[reg_nr];
-}
-
-static struct type *
-spu_register_type (struct gdbarch *gdbarch, int reg_nr)
-{
-  if (reg_nr < SPU_NUM_GPRS)
-    return spu_builtin_type_vec128 (gdbarch);
-
-  switch (reg_nr)
-    {
-    case SPU_ID_REGNUM:
-      return builtin_type (gdbarch)->builtin_uint32;
-
-    case SPU_PC_REGNUM:
-      return builtin_type (gdbarch)->builtin_func_ptr;
-
-    case SPU_SP_REGNUM:
-      return builtin_type (gdbarch)->builtin_data_ptr;
-
-    case SPU_FPSCR_REGNUM:
-      return builtin_type (gdbarch)->builtin_uint128;
-
-    case SPU_SRR0_REGNUM:
-      return builtin_type (gdbarch)->builtin_uint32;
-
-    case SPU_LSLR_REGNUM:
-      return builtin_type (gdbarch)->builtin_uint32;
-
-    case SPU_DECR_REGNUM:
-      return builtin_type (gdbarch)->builtin_uint32;
-
-    case SPU_DECR_STATUS_REGNUM:
-      return builtin_type (gdbarch)->builtin_uint32;
-
-    default:
-      internal_error (__FILE__, __LINE__, _("invalid regnum"));
-    }
-}
-
-/* Pseudo registers for preferred slots - stack pointer.  */
-
-static enum register_status
-spu_pseudo_register_read_spu (readable_regcache *regcache, const char *regname,
-			      gdb_byte *buf)
-{
-  struct gdbarch *gdbarch = regcache->arch ();
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  enum register_status status;
-  gdb_byte reg[32];
-  char annex[32];
-  ULONGEST id;
-  ULONGEST ul;
-
-  status = regcache->raw_read (SPU_ID_REGNUM, &id);
-  if (status != REG_VALID)
-    return status;
-  xsnprintf (annex, sizeof annex, "%d/%s", (int) id, regname);
-  memset (reg, 0, sizeof reg);
-  target_read (current_top_target (), TARGET_OBJECT_SPU, annex,
-	       reg, 0, sizeof reg);
-
-  ul = strtoulst ((char *) reg, NULL, 16);
-  store_unsigned_integer (buf, 4, byte_order, ul);
-  return REG_VALID;
-}
-
-static enum register_status
-spu_pseudo_register_read (struct gdbarch *gdbarch, readable_regcache *regcache,
-                          int regnum, gdb_byte *buf)
-{
-  gdb_byte reg[16];
-  char annex[32];
-  ULONGEST id;
-  enum register_status status;
-
-  switch (regnum)
-    {
-    case SPU_SP_REGNUM:
-      status = regcache->raw_read (SPU_RAW_SP_REGNUM, reg);
-      if (status != REG_VALID)
-	return status;
-      memcpy (buf, reg, 4);
-      return status;
-
-    case SPU_FPSCR_REGNUM:
-      status = regcache->raw_read (SPU_ID_REGNUM, &id);
-      if (status != REG_VALID)
-	return status;
-      xsnprintf (annex, sizeof annex, "%d/fpcr", (int) id);
-      target_read (current_top_target (), TARGET_OBJECT_SPU, annex, buf, 0, 16);
-      return status;
-
-    case SPU_SRR0_REGNUM:
-      return spu_pseudo_register_read_spu (regcache, "srr0", buf);
-
-    case SPU_LSLR_REGNUM:
-      return spu_pseudo_register_read_spu (regcache, "lslr", buf);
-
-    case SPU_DECR_REGNUM:
-      return spu_pseudo_register_read_spu (regcache, "decr", buf);
-
-    case SPU_DECR_STATUS_REGNUM:
-      return spu_pseudo_register_read_spu (regcache, "decr_status", buf);
-
-    default:
-      internal_error (__FILE__, __LINE__, _("invalid regnum"));
-    }
-}
-
-static void
-spu_pseudo_register_write_spu (struct regcache *regcache, const char *regname,
-			       const gdb_byte *buf)
-{
-  struct gdbarch *gdbarch = regcache->arch ();
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  char reg[32];
-  char annex[32];
-  ULONGEST id;
-
-  regcache_raw_read_unsigned (regcache, SPU_ID_REGNUM, &id);
-  xsnprintf (annex, sizeof annex, "%d/%s", (int) id, regname);
-  xsnprintf (reg, sizeof reg, "0x%s",
-	     phex_nz (extract_unsigned_integer (buf, 4, byte_order), 4));
-  target_write (current_top_target (), TARGET_OBJECT_SPU, annex,
-		(gdb_byte *) reg, 0, strlen (reg));
-}
-
-static void
-spu_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache,
-                           int regnum, const gdb_byte *buf)
-{
-  gdb_byte reg[16];
-  char annex[32];
-  ULONGEST id;
-
-  switch (regnum)
-    {
-    case SPU_SP_REGNUM:
-      regcache->raw_read (SPU_RAW_SP_REGNUM, reg);
-      memcpy (reg, buf, 4);
-      regcache->raw_write (SPU_RAW_SP_REGNUM, reg);
-      break;
-
-    case SPU_FPSCR_REGNUM:
-      regcache_raw_read_unsigned (regcache, SPU_ID_REGNUM, &id);
-      xsnprintf (annex, sizeof annex, "%d/fpcr", (int) id);
-      target_write (current_top_target (), TARGET_OBJECT_SPU, annex, buf, 0, 16);
-      break;
-
-    case SPU_SRR0_REGNUM:
-      spu_pseudo_register_write_spu (regcache, "srr0", buf);
-      break;
-
-    case SPU_LSLR_REGNUM:
-      spu_pseudo_register_write_spu (regcache, "lslr", buf);
-      break;
-
-    case SPU_DECR_REGNUM:
-      spu_pseudo_register_write_spu (regcache, "decr", buf);
-      break;
-
-    case SPU_DECR_STATUS_REGNUM:
-      spu_pseudo_register_write_spu (regcache, "decr_status", buf);
-      break;
-
-    default:
-      internal_error (__FILE__, __LINE__, _("invalid regnum"));
-    }
-}
-
-static int
-spu_ax_pseudo_register_collect (struct gdbarch *gdbarch,
-				struct agent_expr *ax, int regnum)
-{
-  switch (regnum)
-    {
-    case SPU_SP_REGNUM:
-      ax_reg_mask (ax, SPU_RAW_SP_REGNUM);
-      return 0;
-
-    case SPU_FPSCR_REGNUM:
-    case SPU_SRR0_REGNUM:
-    case SPU_LSLR_REGNUM:
-    case SPU_DECR_REGNUM:
-    case SPU_DECR_STATUS_REGNUM:
-      return -1;
-
-    default:
-      internal_error (__FILE__, __LINE__, _("invalid regnum"));
-    }
-}
-
-static int
-spu_ax_pseudo_register_push_stack (struct gdbarch *gdbarch,
-				   struct agent_expr *ax, int regnum)
-{
-  switch (regnum)
-    {
-    case SPU_SP_REGNUM:
-      ax_reg (ax, SPU_RAW_SP_REGNUM);
-      return 0;
-
-    case SPU_FPSCR_REGNUM:
-    case SPU_SRR0_REGNUM:
-    case SPU_LSLR_REGNUM:
-    case SPU_DECR_REGNUM:
-    case SPU_DECR_STATUS_REGNUM:
-      return -1;
-
-    default:
-      internal_error (__FILE__, __LINE__, _("invalid regnum"));
-    }
-}
-
-
-/* Value conversion -- access scalar values at the preferred slot.  */
-
-static struct value *
-spu_value_from_register (struct gdbarch *gdbarch, struct type *type,
-			 int regnum, struct frame_id frame_id)
-{
-  struct value *value = default_value_from_register (gdbarch, type,
-						     regnum, frame_id);
-  LONGEST len = TYPE_LENGTH (type);
-
-  if (regnum < SPU_NUM_GPRS && len < 16)
-    {
-      int preferred_slot = len < 4 ? 4 - len : 0;
-      set_value_offset (value, preferred_slot);
-    }
-
-  return value;
-}
-
-/* Register groups.  */
-
-static int
-spu_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
-			 struct reggroup *group)
-{
-  /* Registers displayed via 'info regs'.  */
-  if (group == general_reggroup)
-    return 1;
-
-  /* Registers displayed via 'info float'.  */
-  if (group == float_reggroup)
-    return 0;
-
-  /* Registers that need to be saved/restored in order to
-     push or pop frames.  */
-  if (group == save_reggroup || group == restore_reggroup)
-    return 1;
-
-  return default_register_reggroup_p (gdbarch, regnum, group);
-}
-
-/* DWARF-2 register numbers.  */
-
-static int
-spu_dwarf_reg_to_regnum (struct gdbarch *gdbarch, int reg)
-{
-  /* Use cooked instead of raw SP.  */
-  return (reg == SPU_RAW_SP_REGNUM)? SPU_SP_REGNUM : reg;
-}
-
-
-/* Address handling.  */
-
-static int
-spu_gdbarch_id (struct gdbarch *gdbarch)
-{
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  int id = tdep->id;
-
-  /* The objfile architecture of a standalone SPU executable does not
-     provide an SPU ID.  Retrieve it from the objfile's relocated
-     address range in this special case.  */
-  if (id == -1
-      && symfile_objfile && symfile_objfile->obfd
-      && bfd_get_arch (symfile_objfile->obfd) == bfd_arch_spu
-      && symfile_objfile->sections != symfile_objfile->sections_end)
-    id = SPUADDR_SPU (obj_section_addr (symfile_objfile->sections));
-
-  return id;
-}
-
-static int
-spu_address_class_type_flags (int byte_size, int dwarf2_addr_class)
-{
-  if (dwarf2_addr_class == 1)
-    return TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1;
-  else
-    return 0;
-}
-
-static const char *
-spu_address_class_type_flags_to_name (struct gdbarch *gdbarch, int type_flags)
-{
-  if (type_flags & TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1)
-    return "__ea";
-  else
-    return NULL;
-}
-
-static int
-spu_address_class_name_to_type_flags (struct gdbarch *gdbarch,
-				      const char *name, int *type_flags_ptr)
-{
-  if (strcmp (name, "__ea") == 0)
-    {
-      *type_flags_ptr = TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1;
-      return 1;
-    }
-  else
-   return 0;
-}
-
-static void
-spu_address_to_pointer (struct gdbarch *gdbarch,
-			struct type *type, gdb_byte *buf, CORE_ADDR addr)
-{
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  store_unsigned_integer (buf, TYPE_LENGTH (type), byte_order,
-			  SPUADDR_ADDR (addr));
-}
-
-static CORE_ADDR
-spu_pointer_to_address (struct gdbarch *gdbarch,
-			struct type *type, const gdb_byte *buf)
-{
-  int id = spu_gdbarch_id (gdbarch);
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  ULONGEST addr
-    = extract_unsigned_integer (buf, TYPE_LENGTH (type), byte_order);
-
-  /* Do not convert __ea pointers.  */
-  if (TYPE_ADDRESS_CLASS_1 (type))
-    return addr;
-
-  return addr? SPUADDR (id, addr) : 0;
-}
-
-static CORE_ADDR
-spu_integer_to_address (struct gdbarch *gdbarch,
-			struct type *type, const gdb_byte *buf)
-{
-  int id = spu_gdbarch_id (gdbarch);
-  ULONGEST addr = unpack_long (type, buf);
-
-  return SPUADDR (id, addr);
-}
-
-
-/* Decoding SPU instructions.  */
-
-enum
-  {
-    op_lqd   = 0x34,
-    op_lqx   = 0x3c4,
-    op_lqa   = 0x61,
-    op_lqr   = 0x67,
-    op_stqd  = 0x24,
-    op_stqx  = 0x144,
-    op_stqa  = 0x41,
-    op_stqr  = 0x47,
-
-    op_il    = 0x081,
-    op_ila   = 0x21,
-    op_a     = 0x0c0,
-    op_ai    = 0x1c,
-
-    op_selb  = 0x8,
-
-    op_br    = 0x64,
-    op_bra   = 0x60,
-    op_brsl  = 0x66,
-    op_brasl = 0x62,
-    op_brnz  = 0x42,
-    op_brz   = 0x40,
-    op_brhnz = 0x46,
-    op_brhz  = 0x44,
-    op_bi    = 0x1a8,
-    op_bisl  = 0x1a9,
-    op_biz   = 0x128,
-    op_binz  = 0x129,
-    op_bihz  = 0x12a,
-    op_bihnz = 0x12b,
-  };
-
-static int
-is_rr (unsigned int insn, int op, int *rt, int *ra, int *rb)
-{
-  if ((insn >> 21) == op)
-    {
-      *rt = insn & 127;
-      *ra = (insn >> 7) & 127;
-      *rb = (insn >> 14) & 127;
-      return 1;
-    }
-
-  return 0;
-}
-
-static int
-is_rrr (unsigned int insn, int op, int *rt, int *ra, int *rb, int *rc)
-{
-  if ((insn >> 28) == op)
-    {
-      *rt = (insn >> 21) & 127;
-      *ra = (insn >> 7) & 127;
-      *rb = (insn >> 14) & 127;
-      *rc = insn & 127;
-      return 1;
-    }
-
-  return 0;
-}
-
-static int
-is_ri7 (unsigned int insn, int op, int *rt, int *ra, int *i7)
-{
-  if ((insn >> 21) == op)
-    {
-      *rt = insn & 127;
-      *ra = (insn >> 7) & 127;
-      *i7 = (((insn >> 14) & 127) ^ 0x40) - 0x40;
-      return 1;
-    }
-
-  return 0;
-}
-
-static int
-is_ri10 (unsigned int insn, int op, int *rt, int *ra, int *i10)
-{
-  if ((insn >> 24) == op)
-    {
-      *rt = insn & 127;
-      *ra = (insn >> 7) & 127;
-      *i10 = (((insn >> 14) & 0x3ff) ^ 0x200) - 0x200;
-      return 1;
-    }
-
-  return 0;
-}
-
-static int
-is_ri16 (unsigned int insn, int op, int *rt, int *i16)
-{
-  if ((insn >> 23) == op)
-    {
-      *rt = insn & 127;
-      *i16 = (((insn >> 7) & 0xffff) ^ 0x8000) - 0x8000;
-      return 1;
-    }
-
-  return 0;
-}
-
-static int
-is_ri18 (unsigned int insn, int op, int *rt, int *i18)
-{
-  if ((insn >> 25) == op)
-    {
-      *rt = insn & 127;
-      *i18 = (((insn >> 7) & 0x3ffff) ^ 0x20000) - 0x20000;
-      return 1;
-    }
-
-  return 0;
-}
-
-static int
-is_branch (unsigned int insn, int *offset, int *reg)
-{
-  int rt, i7, i16;
-
-  if (is_ri16 (insn, op_br, &rt, &i16)
-      || is_ri16 (insn, op_brsl, &rt, &i16)
-      || is_ri16 (insn, op_brnz, &rt, &i16)
-      || is_ri16 (insn, op_brz, &rt, &i16)
-      || is_ri16 (insn, op_brhnz, &rt, &i16)
-      || is_ri16 (insn, op_brhz, &rt, &i16))
-    {
-      *reg = SPU_PC_REGNUM;
-      *offset = i16 << 2;
-      return 1;
-    }
-
-  if (is_ri16 (insn, op_bra, &rt, &i16)
-      || is_ri16 (insn, op_brasl, &rt, &i16))
-    {
-      *reg = -1;
-      *offset = i16 << 2;
-      return 1;
-    }
-
-  if (is_ri7 (insn, op_bi, &rt, reg, &i7)
-      || is_ri7 (insn, op_bisl, &rt, reg, &i7)
-      || is_ri7 (insn, op_biz, &rt, reg, &i7)
-      || is_ri7 (insn, op_binz, &rt, reg, &i7)
-      || is_ri7 (insn, op_bihz, &rt, reg, &i7)
-      || is_ri7 (insn, op_bihnz, &rt, reg, &i7))
-    {
-      *offset = 0;
-      return 1;
-    }
-
-  return 0;
-}
-
-
-/* Prolog parsing.  */
-
-struct spu_prologue_data
-  {
-    /* Stack frame size.  -1 if analysis was unsuccessful.  */
-    int size;
-
-    /* How to find the CFA.  The CFA is equal to SP at function entry.  */
-    int cfa_reg;
-    int cfa_offset;
-
-    /* Offset relative to CFA where a register is saved.  -1 if invalid.  */
-    int reg_offset[SPU_NUM_GPRS];
-  };
-
-static CORE_ADDR
-spu_analyze_prologue (struct gdbarch *gdbarch,
-		      CORE_ADDR start_pc, CORE_ADDR end_pc,
-                      struct spu_prologue_data *data)
-{
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  int found_sp = 0;
-  int found_fp = 0;
-  int found_lr = 0;
-  int found_bc = 0;
-  int reg_immed[SPU_NUM_GPRS];
-  gdb_byte buf[16];
-  CORE_ADDR prolog_pc = start_pc;
-  CORE_ADDR pc;
-  int i;
-
-
-  /* Initialize DATA to default values.  */
-  data->size = -1;
-
-  data->cfa_reg = SPU_RAW_SP_REGNUM;
-  data->cfa_offset = 0;
-
-  for (i = 0; i < SPU_NUM_GPRS; i++)
-    data->reg_offset[i] = -1;
-
-  /* Set up REG_IMMED array.  This is non-zero for a register if we know its
-     preferred slot currently holds this immediate value.  */
-  for (i = 0; i < SPU_NUM_GPRS; i++)
-      reg_immed[i] = 0;
-
-  /* Scan instructions until the first branch.
-
-     The following instructions are important prolog components:
-
-	- The first instruction to set up the stack pointer.
-	- The first instruction to set up the frame pointer.
-	- The first instruction to save the link register.
-	- The first instruction to save the backchain.
-
-     We return the instruction after the latest of these four,
-     or the incoming PC if none is found.  The first instruction
-     to set up the stack pointer also defines the frame size.
-
-     Note that instructions saving incoming arguments to their stack
-     slots are not counted as important, because they are hard to
-     identify with certainty.  This should not matter much, because
-     arguments are relevant only in code compiled with debug data,
-     and in such code the GDB core will advance until the first source
-     line anyway, using SAL data.
-
-     For purposes of stack unwinding, we analyze the following types
-     of instructions in addition:
-
-      - Any instruction adding to the current frame pointer.
-      - Any instruction loading an immediate constant into a register.
-      - Any instruction storing a register onto the stack.
-
-     These are used to compute the CFA and REG_OFFSET output.  */
-
-  for (pc = start_pc; pc < end_pc; pc += 4)
-    {
-      unsigned int insn;
-      int rt, ra, rb, rc, immed;
-
-      if (target_read_memory (pc, buf, 4))
-	break;
-      insn = extract_unsigned_integer (buf, 4, byte_order);
-
-      /* AI is the typical instruction to set up a stack frame.
-         It is also used to initialize the frame pointer.  */
-      if (is_ri10 (insn, op_ai, &rt, &ra, &immed))
-	{
-	  if (rt == data->cfa_reg && ra == data->cfa_reg)
-	    data->cfa_offset -= immed;
-
-	  if (rt == SPU_RAW_SP_REGNUM && ra == SPU_RAW_SP_REGNUM
-	      && !found_sp)
-	    {
-	      found_sp = 1;
-	      prolog_pc = pc + 4;
-
-	      data->size = -immed;
-	    }
-	  else if (rt == SPU_FP_REGNUM && ra == SPU_RAW_SP_REGNUM
-		   && !found_fp)
-	    {
-	      found_fp = 1;
-	      prolog_pc = pc + 4;
-
-	      data->cfa_reg = SPU_FP_REGNUM;
-	      data->cfa_offset -= immed;
-	    }
-	}
-
-      /* A is used to set up stack frames of size >= 512 bytes.
-         If we have tracked the contents of the addend register,
-         we can handle this as well.  */
-      else if (is_rr (insn, op_a, &rt, &ra, &rb))
-	{
-	  if (rt == data->cfa_reg && ra == data->cfa_reg)
-	    {
-	      if (reg_immed[rb] != 0)
-		data->cfa_offset -= reg_immed[rb];
-	      else
-		data->cfa_reg = -1;  /* We don't know the CFA any more.  */
-	    }
-
-	  if (rt == SPU_RAW_SP_REGNUM && ra == SPU_RAW_SP_REGNUM
-	      && !found_sp)
-	    {
-	      found_sp = 1;
-	      prolog_pc = pc + 4;
-
-	      if (reg_immed[rb] != 0)
-		data->size = -reg_immed[rb];
-	    }
-	}
-
-      /* We need to track IL and ILA used to load immediate constants
-         in case they are later used as input to an A instruction.  */
-      else if (is_ri16 (insn, op_il, &rt, &immed))
-	{
-	  reg_immed[rt] = immed;
-
-	  if (rt == SPU_RAW_SP_REGNUM && !found_sp)
-	    found_sp = 1;
-	}
-
-      else if (is_ri18 (insn, op_ila, &rt, &immed))
-	{
-	  reg_immed[rt] = immed & 0x3ffff;
-
-	  if (rt == SPU_RAW_SP_REGNUM && !found_sp)
-	    found_sp = 1;
-	}
-
-      /* STQD is used to save registers to the stack.  */
-      else if (is_ri10 (insn, op_stqd, &rt, &ra, &immed))
-	{
-	  if (ra == data->cfa_reg)
-	    data->reg_offset[rt] = data->cfa_offset - (immed << 4);
-
-	  if (ra == data->cfa_reg && rt == SPU_LR_REGNUM
-              && !found_lr)
-	    {
-	      found_lr = 1;
-	      prolog_pc = pc + 4;
-	    }
-
-	  if (ra == SPU_RAW_SP_REGNUM
-	      && (found_sp? immed == 0 : rt == SPU_RAW_SP_REGNUM)
-	      && !found_bc)
-	    {
-	      found_bc = 1;
-	      prolog_pc = pc + 4;
-	    }
-	}
-
-      /* _start uses SELB to set up the stack pointer.  */
-      else if (is_rrr (insn, op_selb, &rt, &ra, &rb, &rc))
-	{
-	  if (rt == SPU_RAW_SP_REGNUM && !found_sp)
-	    found_sp = 1;
-	}
-
-      /* We terminate if we find a branch.  */
-      else if (is_branch (insn, &immed, &ra))
-	break;
-    }
-
-
-  /* If we successfully parsed until here, and didn't find any instruction
-     modifying SP, we assume we have a frameless function.  */
-  if (!found_sp)
-    data->size = 0;
-
-  /* Return cooked instead of raw SP.  */
-  if (data->cfa_reg == SPU_RAW_SP_REGNUM)
-    data->cfa_reg = SPU_SP_REGNUM;
-
-  return prolog_pc;
-}
-
-/* Return the first instruction after the prologue starting at PC.  */
-static CORE_ADDR
-spu_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
-{
-  struct spu_prologue_data data;
-  return spu_analyze_prologue (gdbarch, pc, (CORE_ADDR)-1, &data);
-}
-
-/* Return the frame pointer in use at address PC.  */
-static void
-spu_virtual_frame_pointer (struct gdbarch *gdbarch, CORE_ADDR pc,
-			   int *reg, LONGEST *offset)
-{
-  struct spu_prologue_data data;
-  spu_analyze_prologue (gdbarch, pc, (CORE_ADDR)-1, &data);
-
-  if (data.size != -1 && data.cfa_reg != -1)
-    {
-      /* The 'frame pointer' address is CFA minus frame size.  */
-      *reg = data.cfa_reg;
-      *offset = data.cfa_offset - data.size;
-    }
-  else
-    {
-      /* ??? We don't really know ...  */
-      *reg = SPU_SP_REGNUM;
-      *offset = 0;
-    }
-}
-
-/* Implement the stack_frame_destroyed_p gdbarch method.
-
-   1) scan forward from the point of execution:
-       a) If you find an instruction that modifies the stack pointer
-          or transfers control (except a return), execution is not in
-          an epilogue, return.
-       b) Stop scanning if you find a return instruction or reach the
-          end of the function or reach the hard limit for the size of
-          an epilogue.
-   2) scan backward from the point of execution:
-        a) If you find an instruction that modifies the stack pointer,
-            execution *is* in an epilogue, return.
-        b) Stop scanning if you reach an instruction that transfers
-           control or the beginning of the function or reach the hard
-           limit for the size of an epilogue.  */
-
-static int
-spu_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
-{
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  CORE_ADDR scan_pc, func_start, func_end, epilogue_start, epilogue_end;
-  bfd_byte buf[4];
-  unsigned int insn;
-  int rt, ra, rb, immed;
-
-  /* Find the search limits based on function boundaries and hard limit.
-     We assume the epilogue can be up to 64 instructions long.  */
-
-  const int spu_max_epilogue_size = 64 * 4;
-
-  if (!find_pc_partial_function (pc, NULL, &func_start, &func_end))
-    return 0;
-
-  if (pc - func_start < spu_max_epilogue_size)
-    epilogue_start = func_start;
-  else
-    epilogue_start = pc - spu_max_epilogue_size;
-
-  if (func_end - pc < spu_max_epilogue_size)
-    epilogue_end = func_end;
-  else
-    epilogue_end = pc + spu_max_epilogue_size;
-
-  /* Scan forward until next 'bi $0'.  */
-
-  for (scan_pc = pc; scan_pc < epilogue_end; scan_pc += 4)
-    {
-      if (target_read_memory (scan_pc, buf, 4))
-	return 0;
-      insn = extract_unsigned_integer (buf, 4, byte_order);
-
-      if (is_branch (insn, &immed, &ra))
-	{
-	  if (immed == 0 && ra == SPU_LR_REGNUM)
-	    break;
-
-	  return 0;
-	}
-
-      if (is_ri10 (insn, op_ai, &rt, &ra, &immed)
-	  || is_rr (insn, op_a, &rt, &ra, &rb)
-	  || is_ri10 (insn, op_lqd, &rt, &ra, &immed))
-	{
-	  if (rt == SPU_RAW_SP_REGNUM)
-	    return 0;
-	}
-    }
-
-  if (scan_pc >= epilogue_end)
-    return 0;
-
-  /* Scan backward until adjustment to stack pointer (R1).  */
-
-  for (scan_pc = pc - 4; scan_pc >= epilogue_start; scan_pc -= 4)
-    {
-      if (target_read_memory (scan_pc, buf, 4))
-	return 0;
-      insn = extract_unsigned_integer (buf, 4, byte_order);
-
-      if (is_branch (insn, &immed, &ra))
-	return 0;
-
-      if (is_ri10 (insn, op_ai, &rt, &ra, &immed)
-	  || is_rr (insn, op_a, &rt, &ra, &rb)
-	  || is_ri10 (insn, op_lqd, &rt, &ra, &immed))
-	{
-	  if (rt == SPU_RAW_SP_REGNUM)
-	    return 1;
-	}
-    }
-
-  return 0;
-}
-
-
-/* Normal stack frames.  */
-
-struct spu_unwind_cache
-{
-  CORE_ADDR func;
-  CORE_ADDR frame_base;
-  CORE_ADDR local_base;
-
-  struct trad_frame_saved_reg *saved_regs;
-};
-
-static struct spu_unwind_cache *
-spu_frame_unwind_cache (struct frame_info *this_frame,
-			void **this_prologue_cache)
-{
-  struct gdbarch *gdbarch = get_frame_arch (this_frame);
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  struct spu_unwind_cache *info;
-  struct spu_prologue_data data;
-  CORE_ADDR id = tdep->id;
-  gdb_byte buf[16];
-
-  if (*this_prologue_cache)
-    return (struct spu_unwind_cache *) *this_prologue_cache;
-
-  info = FRAME_OBSTACK_ZALLOC (struct spu_unwind_cache);
-  *this_prologue_cache = info;
-  info->saved_regs = trad_frame_alloc_saved_regs (this_frame);
-  info->frame_base = 0;
-  info->local_base = 0;
-
-  /* Find the start of the current function, and analyze its prologue.  */
-  info->func = get_frame_func (this_frame);
-  if (info->func == 0)
-    {
-      /* Fall back to using the current PC as frame ID.  */
-      info->func = get_frame_pc (this_frame);
-      data.size = -1;
-    }
-  else
-    spu_analyze_prologue (gdbarch, info->func, get_frame_pc (this_frame),
-			  &data);
-
-  /* If successful, use prologue analysis data.  */
-  if (data.size != -1 && data.cfa_reg != -1)
-    {
-      CORE_ADDR cfa;
-      int i;
-
-      /* Determine CFA via unwound CFA_REG plus CFA_OFFSET.  */
-      get_frame_register (this_frame, data.cfa_reg, buf);
-      cfa = extract_unsigned_integer (buf, 4, byte_order) + data.cfa_offset;
-      cfa = SPUADDR (id, cfa);
-
-      /* Call-saved register slots.  */
-      for (i = 0; i < SPU_NUM_GPRS; i++)
-	if (i == SPU_LR_REGNUM
-	    || (i >= SPU_SAVED1_REGNUM && i <= SPU_SAVEDN_REGNUM))
-	  if (data.reg_offset[i] != -1)
-	    info->saved_regs[i].addr = cfa - data.reg_offset[i];
-
-      /* Frame bases.  */
-      info->frame_base = cfa;
-      info->local_base = cfa - data.size;
-    }
-
-  /* Otherwise, fall back to reading the backchain link.  */
-  else
-    {
-      CORE_ADDR reg;
-      LONGEST backchain;
-      ULONGEST lslr;
-      int status;
-
-      /* Get local store limit.  */
-      lslr = get_frame_register_unsigned (this_frame, SPU_LSLR_REGNUM);
-      if (!lslr)
-	lslr = (ULONGEST) -1;
-
-      /* Get the backchain.  */
-      reg = get_frame_register_unsigned (this_frame, SPU_SP_REGNUM);
-      status = safe_read_memory_integer (SPUADDR (id, reg), 4, byte_order,
-					 &backchain);
-
-      /* A zero backchain terminates the frame chain.  Also, sanity
-         check against the local store size limit.  */
-      if (status && backchain > 0 && backchain <= lslr)
-	{
-	  /* Assume the link register is saved into its slot.  */
-	  if (backchain + 16 <= lslr)
-	    info->saved_regs[SPU_LR_REGNUM].addr = SPUADDR (id,
-							    backchain + 16);
-
-          /* Frame bases.  */
-	  info->frame_base = SPUADDR (id, backchain);
-	  info->local_base = SPUADDR (id, reg);
-	}
-    }
-
-  /* If we didn't find a frame, we cannot determine SP / return address.  */
-  if (info->frame_base == 0)
-    return info;
-
-  /* The previous SP is equal to the CFA.  */
-  trad_frame_set_value (info->saved_regs, SPU_SP_REGNUM,
-			SPUADDR_ADDR (info->frame_base));
-
-  /* Read full contents of the unwound link register in order to
-     be able to determine the return address.  */
-  if (trad_frame_addr_p (info->saved_regs, SPU_LR_REGNUM))
-    target_read_memory (info->saved_regs[SPU_LR_REGNUM].addr, buf, 16);
-  else
-    get_frame_register (this_frame, SPU_LR_REGNUM, buf);
-
-  /* Normally, the return address is contained in the slot 0 of the
-     link register, and slots 1-3 are zero.  For an overlay return,
-     slot 0 contains the address of the overlay manager return stub,
-     slot 1 contains the partition number of the overlay section to
-     be returned to, and slot 2 contains the return address within
-     that section.  Return the latter address in that case.  */
-  if (extract_unsigned_integer (buf + 8, 4, byte_order) != 0)
-    trad_frame_set_value (info->saved_regs, SPU_PC_REGNUM,
-			  extract_unsigned_integer (buf + 8, 4, byte_order));
-  else
-    trad_frame_set_value (info->saved_regs, SPU_PC_REGNUM,
-			  extract_unsigned_integer (buf, 4, byte_order));
- 
-  return info;
-}
-
-static void
-spu_frame_this_id (struct frame_info *this_frame,
-		   void **this_prologue_cache, struct frame_id *this_id)
-{
-  struct spu_unwind_cache *info =
-    spu_frame_unwind_cache (this_frame, this_prologue_cache);
-
-  if (info->frame_base == 0)
-    return;
-
-  *this_id = frame_id_build (info->frame_base, info->func);
-}
-
-static struct value *
-spu_frame_prev_register (struct frame_info *this_frame,
-			 void **this_prologue_cache, int regnum)
-{
-  struct spu_unwind_cache *info
-    = spu_frame_unwind_cache (this_frame, this_prologue_cache);
-
-  /* Special-case the stack pointer.  */
-  if (regnum == SPU_RAW_SP_REGNUM)
-    regnum = SPU_SP_REGNUM;
-
-  return trad_frame_get_prev_register (this_frame, info->saved_regs, regnum);
-}
-
-static const struct frame_unwind spu_frame_unwind = {
-  NORMAL_FRAME,
-  default_frame_unwind_stop_reason,
-  spu_frame_this_id,
-  spu_frame_prev_register,
-  NULL,
-  default_frame_sniffer
-};
-
-static CORE_ADDR
-spu_frame_base_address (struct frame_info *this_frame, void **this_cache)
-{
-  struct spu_unwind_cache *info
-    = spu_frame_unwind_cache (this_frame, this_cache);
-  return info->local_base;
-}
-
-static const struct frame_base spu_frame_base = {
-  &spu_frame_unwind,
-  spu_frame_base_address,
-  spu_frame_base_address,
-  spu_frame_base_address
-};
-
-static CORE_ADDR
-spu_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame)
-{
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  CORE_ADDR pc = frame_unwind_register_unsigned (next_frame, SPU_PC_REGNUM);
-  /* Mask off interrupt enable bit.  */
-  return SPUADDR (tdep->id, pc & -4);
-}
-
-static CORE_ADDR
-spu_unwind_sp (struct gdbarch *gdbarch, struct frame_info *next_frame)
-{
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  CORE_ADDR sp = frame_unwind_register_unsigned (next_frame, SPU_SP_REGNUM);
-  return SPUADDR (tdep->id, sp);
-}
-
-static CORE_ADDR
-spu_read_pc (readable_regcache *regcache)
-{
-  struct gdbarch_tdep *tdep = gdbarch_tdep (regcache->arch ());
-  ULONGEST pc;
-
-  regcache->cooked_read (SPU_PC_REGNUM, &pc);
-  /* Mask off interrupt enable bit.  */
-  return SPUADDR (tdep->id, pc & -4);
-}
-
-static void
-spu_write_pc (struct regcache *regcache, CORE_ADDR pc)
-{
-  /* Keep interrupt enabled state unchanged.  */
-  ULONGEST old_pc;
-
-  regcache_cooked_read_unsigned (regcache, SPU_PC_REGNUM, &old_pc);
-  regcache_cooked_write_unsigned (regcache, SPU_PC_REGNUM,
-				  (SPUADDR_ADDR (pc) & -4) | (old_pc & 3));
-}
-
-
-/* Cell/B.E. cross-architecture unwinder support.  */
-
-struct spu2ppu_cache
-{
-  struct frame_id frame_id;
-  readonly_detached_regcache *regcache;
-};
-
-static struct gdbarch *
-spu2ppu_prev_arch (struct frame_info *this_frame, void **this_cache)
-{
-  struct spu2ppu_cache *cache = (struct spu2ppu_cache *) *this_cache;
-  return cache->regcache->arch ();
-}
-
-static void
-spu2ppu_this_id (struct frame_info *this_frame,
-		 void **this_cache, struct frame_id *this_id)
-{
-  struct spu2ppu_cache *cache = (struct spu2ppu_cache *) *this_cache;
-  *this_id = cache->frame_id;
-}
-
-static struct value *
-spu2ppu_prev_register (struct frame_info *this_frame,
-		       void **this_cache, int regnum)
-{
-  struct spu2ppu_cache *cache = (struct spu2ppu_cache *) *this_cache;
-  struct gdbarch *gdbarch = cache->regcache->arch ();
-  gdb_byte *buf;
-
-  buf = (gdb_byte *) alloca (register_size (gdbarch, regnum));
-  cache->regcache->cooked_read (regnum, buf);
-  return frame_unwind_got_bytes (this_frame, regnum, buf);
-}
-
-static int
-spu2ppu_sniffer (const struct frame_unwind *self,
-		 struct frame_info *this_frame, void **this_prologue_cache)
-{
-  struct gdbarch *gdbarch = get_frame_arch (this_frame);
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  CORE_ADDR base, func, backchain;
-  gdb_byte buf[4];
-
-  if (gdbarch_bfd_arch_info (target_gdbarch ())->arch == bfd_arch_spu)
-    return 0;
-
-  base = get_frame_sp (this_frame);
-  func = get_frame_pc (this_frame);
-  if (target_read_memory (base, buf, 4))
-    return 0;
-  backchain = extract_unsigned_integer (buf, 4, byte_order);
-
-  if (!backchain)
-    {
-      struct frame_info *fi;
-
-      struct spu2ppu_cache *cache
-	= FRAME_OBSTACK_CALLOC (1, struct spu2ppu_cache);
-
-      cache->frame_id = frame_id_build (base + 16, func);
-
-      for (fi = get_next_frame (this_frame); fi; fi = get_next_frame (fi))
-	if (gdbarch_bfd_arch_info (get_frame_arch (fi))->arch != bfd_arch_spu)
-	  break;
-
-      if (fi)
-	{
-	  cache->regcache = frame_save_as_regcache (fi).release ();
-	  *this_prologue_cache = cache;
-	  return 1;
-	}
-      else
-	{
-	  struct regcache *regcache;
-	  regcache = get_thread_arch_regcache (inferior_ptid, target_gdbarch ());
-	  cache->regcache = new readonly_detached_regcache (*regcache);
-	  *this_prologue_cache = cache;
-	  return 1;
-	}
-    }
-
-  return 0;
-}
-
-static void
-spu2ppu_dealloc_cache (struct frame_info *self, void *this_cache)
-{
-  struct spu2ppu_cache *cache = (struct spu2ppu_cache *) this_cache;
-  delete cache->regcache;
-}
-
-static const struct frame_unwind spu2ppu_unwind = {
-  ARCH_FRAME,
-  default_frame_unwind_stop_reason,
-  spu2ppu_this_id,
-  spu2ppu_prev_register,
-  NULL,
-  spu2ppu_sniffer,
-  spu2ppu_dealloc_cache,
-  spu2ppu_prev_arch,
-};
-
-
-/* Function calling convention.  */
-
-static CORE_ADDR
-spu_frame_align (struct gdbarch *gdbarch, CORE_ADDR sp)
-{
-  return sp & ~15;
-}
-
-static CORE_ADDR
-spu_push_dummy_code (struct gdbarch *gdbarch, CORE_ADDR sp, CORE_ADDR funaddr,
-		     struct value **args, int nargs, struct type *value_type,
-		     CORE_ADDR *real_pc, CORE_ADDR *bp_addr,
-		     struct regcache *regcache)
-{
-  /* Allocate space sufficient for a breakpoint, keeping the stack aligned.  */
-  sp = (sp - 4) & ~15;
-  /* Store the address of that breakpoint */
-  *bp_addr = sp;
-  /* The call starts at the callee's entry point.  */
-  *real_pc = funaddr;
-
-  return sp;
-}
-
-static int
-spu_scalar_value_p (struct type *type)
-{
-  switch (TYPE_CODE (type))
-    {
-    case TYPE_CODE_INT:
-    case TYPE_CODE_ENUM:
-    case TYPE_CODE_RANGE:
-    case TYPE_CODE_CHAR:
-    case TYPE_CODE_BOOL:
-    case TYPE_CODE_PTR:
-    case TYPE_CODE_REF:
-    case TYPE_CODE_RVALUE_REF:
-      return TYPE_LENGTH (type) <= 16;
-
-    default:
-      return 0;
-    }
-}
-
-static void
-spu_value_to_regcache (struct regcache *regcache, int regnum,
-		       struct type *type, const gdb_byte *in)
-{
-  int len = TYPE_LENGTH (type);
-
-  if (spu_scalar_value_p (type))
-    {
-      int preferred_slot = len < 4 ? 4 - len : 0;
-      regcache->cooked_write_part (regnum, preferred_slot, len, in);
-    }
-  else
-    {
-      while (len >= 16)
-	{
-	  regcache->cooked_write (regnum++, in);
-	  in += 16;
-	  len -= 16;
-	}
-
-      if (len > 0)
-	regcache->cooked_write_part (regnum, 0, len, in);
-    }
-}
-
-static void
-spu_regcache_to_value (struct regcache *regcache, int regnum,
-		       struct type *type, gdb_byte *out)
-{
-  int len = TYPE_LENGTH (type);
-
-  if (spu_scalar_value_p (type))
-    {
-      int preferred_slot = len < 4 ? 4 - len : 0;
-      regcache->cooked_read_part (regnum, preferred_slot, len, out);
-    }
-  else
-    {
-      while (len >= 16)
-	{
-	  regcache->cooked_read (regnum++, out);
-	  out += 16;
-	  len -= 16;
-	}
-
-      if (len > 0)
-	regcache->cooked_read_part (regnum, 0, len, out);
-    }
-}
-
-static CORE_ADDR
-spu_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
-		     struct regcache *regcache, CORE_ADDR bp_addr,
-		     int nargs, struct value **args, CORE_ADDR sp,
-		     function_call_return_method return_method,
-		     CORE_ADDR struct_addr)
-{
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  CORE_ADDR sp_delta;
-  int i;
-  int regnum = SPU_ARG1_REGNUM;
-  int stack_arg = -1;
-  gdb_byte buf[16];
-
-  /* Set the return address.  */
-  memset (buf, 0, sizeof buf);
-  store_unsigned_integer (buf, 4, byte_order, SPUADDR_ADDR (bp_addr));
-  regcache->cooked_write (SPU_LR_REGNUM, buf);
-
-  /* If STRUCT_RETURN is true, then the struct return address (in
-     STRUCT_ADDR) will consume the first argument-passing register.
-     Both adjust the register count and store that value.  */
-  if (return_method == return_method_struct)
-    {
-      memset (buf, 0, sizeof buf);
-      store_unsigned_integer (buf, 4, byte_order, SPUADDR_ADDR (struct_addr));
-      regcache->cooked_write (regnum++, buf);
-    }
-
-  /* Fill in argument registers.  */
-  for (i = 0; i < nargs; i++)
-    {
-      struct value *arg = args[i];
-      struct type *type = check_typedef (value_type (arg));
-      const gdb_byte *contents = value_contents (arg);
-      int n_regs = align_up (TYPE_LENGTH (type), 16) / 16;
-
-      /* If the argument doesn't wholly fit into registers, it and
-	 all subsequent arguments go to the stack.  */
-      if (regnum + n_regs - 1 > SPU_ARGN_REGNUM)
-	{
-	  stack_arg = i;
-	  break;
-	}
-
-      spu_value_to_regcache (regcache, regnum, type, contents);
-      regnum += n_regs;
-    }
-
-  /* Overflow arguments go to the stack.  */
-  if (stack_arg != -1)
-    {
-      CORE_ADDR ap;
-
-      /* Allocate all required stack size.  */
-      for (i = stack_arg; i < nargs; i++)
-	{
-	  struct type *type = check_typedef (value_type (args[i]));
-	  sp -= align_up (TYPE_LENGTH (type), 16);
-	}
-
-      /* Fill in stack arguments.  */
-      ap = sp;
-      for (i = stack_arg; i < nargs; i++)
-	{
-	  struct value *arg = args[i];
-	  struct type *type = check_typedef (value_type (arg));
-	  int len = TYPE_LENGTH (type);
-	  int preferred_slot;
-	  
-	  if (spu_scalar_value_p (type))
-	    preferred_slot = len < 4 ? 4 - len : 0;
-	  else
-	    preferred_slot = 0;
-
-	  target_write_memory (ap + preferred_slot, value_contents (arg), len);
-	  ap += align_up (TYPE_LENGTH (type), 16);
-	}
-    }
-
-  /* Allocate stack frame header.  */
-  sp -= 32;
-
-  /* Store stack back chain.  */
-  regcache->cooked_read (SPU_RAW_SP_REGNUM, buf);
-  target_write_memory (sp, buf, 16);
-
-  /* Finally, update all slots of the SP register.  */
-  sp_delta = sp - extract_unsigned_integer (buf, 4, byte_order);
-  for (i = 0; i < 4; i++)
-    {
-      CORE_ADDR sp_slot = extract_unsigned_integer (buf + 4*i, 4, byte_order);
-      store_unsigned_integer (buf + 4*i, 4, byte_order, sp_slot + sp_delta);
-    }
-  regcache->cooked_write (SPU_RAW_SP_REGNUM, buf);
-
-  return sp;
-}
-
-static struct frame_id
-spu_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame)
-{
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  CORE_ADDR pc = get_frame_register_unsigned (this_frame, SPU_PC_REGNUM);
-  CORE_ADDR sp = get_frame_register_unsigned (this_frame, SPU_SP_REGNUM);
-  return frame_id_build (SPUADDR (tdep->id, sp), SPUADDR (tdep->id, pc & -4));
-}
-
-/* Function return value access.  */
-
-static enum return_value_convention
-spu_return_value (struct gdbarch *gdbarch, struct value *function,
-		  struct type *type, struct regcache *regcache,
-		  gdb_byte *out, const gdb_byte *in)
-{
-  struct type *func_type = function ? value_type (function) : NULL;
-  enum return_value_convention rvc;
-  int opencl_vector = 0;
-
-  if (func_type)
-    {
-      func_type = check_typedef (func_type);
-
-      if (TYPE_CODE (func_type) == TYPE_CODE_PTR)
-	func_type = check_typedef (TYPE_TARGET_TYPE (func_type));
-
-      if (TYPE_CODE (func_type) == TYPE_CODE_FUNC
-	  && TYPE_CALLING_CONVENTION (func_type) == DW_CC_GDB_IBM_OpenCL
-	  && TYPE_CODE (type) == TYPE_CODE_ARRAY
-	  && TYPE_VECTOR (type))
-	opencl_vector = 1;
-    }
-
-  if (TYPE_LENGTH (type) <= (SPU_ARGN_REGNUM - SPU_ARG1_REGNUM + 1) * 16)
-    rvc = RETURN_VALUE_REGISTER_CONVENTION;
-  else
-    rvc = RETURN_VALUE_STRUCT_CONVENTION;
-
-  if (in)
-    {
-      switch (rvc)
-	{
-	case RETURN_VALUE_REGISTER_CONVENTION:
-	  if (opencl_vector && TYPE_LENGTH (type) == 2)
-	    regcache->cooked_write_part (SPU_ARG1_REGNUM, 2, 2, in);
-	  else
-	    spu_value_to_regcache (regcache, SPU_ARG1_REGNUM, type, in);
-	  break;
-
-	case RETURN_VALUE_STRUCT_CONVENTION:
-	  error (_("Cannot set function return value."));
-	  break;
-	}
-    }
-  else if (out)
-    {
-      switch (rvc)
-	{
-	case RETURN_VALUE_REGISTER_CONVENTION:
-	  if (opencl_vector && TYPE_LENGTH (type) == 2)
-	    regcache->cooked_read_part (SPU_ARG1_REGNUM, 2, 2, out);
-	  else
-	    spu_regcache_to_value (regcache, SPU_ARG1_REGNUM, type, out);
-	  break;
-
-	case RETURN_VALUE_STRUCT_CONVENTION:
-	  error (_("Function return value unknown."));
-	  break;
-	}
-    }
-
-  return rvc;
-}
-
-
-/* Breakpoints.  */
-constexpr gdb_byte spu_break_insn[] = { 0x00, 0x00, 0x3f, 0xff };
-
-typedef BP_MANIPULATION (spu_break_insn) spu_breakpoint;
-
-static int
-spu_memory_remove_breakpoint (struct gdbarch *gdbarch,
-			      struct bp_target_info *bp_tgt)
-{
-  /* We work around a problem in combined Cell/B.E. debugging here.  Consider
-     that in a combined application, we have some breakpoints inserted in SPU
-     code, and now the application forks (on the PPU side).  GDB common code
-     will assume that the fork system call copied all breakpoints into the new
-     process' address space, and that all those copies now need to be removed
-     (see breakpoint.c:detach_breakpoints).
-
-     While this is certainly true for PPU side breakpoints, it is not true
-     for SPU side breakpoints.  fork will clone the SPU context file
-     descriptors, so that all the existing SPU contexts are in accessible
-     in the new process.  However, the contents of the SPU contexts themselves
-     are *not* cloned.  Therefore the effect of detach_breakpoints is to
-     remove SPU breakpoints from the *original* SPU context's local store
-     -- this is not the correct behaviour.
-
-     The workaround is to check whether the PID we are asked to remove this
-     breakpoint from (i.e. inferior_ptid.pid ()) is different from the
-     PID of the current inferior (i.e. current_inferior ()->pid).  This is only
-     true in the context of detach_breakpoints.  If so, we simply do nothing.
-     [ Note that for the fork child process, it does not matter if breakpoints
-     remain inserted, because those SPU contexts are not runnable anyway --
-     the Linux kernel allows only the original process to invoke spu_run.  */
-
-  if (inferior_ptid.pid () != current_inferior ()->pid) 
-    return 0;
-
-  return default_memory_remove_breakpoint (gdbarch, bp_tgt);
-}
-
-
-/* Software single-stepping support.  */
-
-static std::vector<CORE_ADDR>
-spu_software_single_step (struct regcache *regcache)
-{
-  struct gdbarch *gdbarch = regcache->arch ();
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  CORE_ADDR pc, next_pc;
-  unsigned int insn;
-  int offset, reg;
-  gdb_byte buf[4];
-  ULONGEST lslr;
-  std::vector<CORE_ADDR> next_pcs;
-
-  pc = regcache_read_pc (regcache);
-
-  if (target_read_memory (pc, buf, 4))
-    throw_error (MEMORY_ERROR, _("Could not read instruction at %s."),
-		 paddress (gdbarch, pc));
-
-  insn = extract_unsigned_integer (buf, 4, byte_order);
-
-  /* Get local store limit.  */
-  if ((regcache_cooked_read_unsigned (regcache, SPU_LSLR_REGNUM, &lslr)
-       != REG_VALID) || !lslr)
-    lslr = (ULONGEST) -1;
-
-  /* Next sequential instruction is at PC + 4, except if the current
-     instruction is a PPE-assisted call, in which case it is at PC + 8.
-     Wrap around LS limit to be on the safe side.  */
-  if ((insn & 0xffffff00) == 0x00002100)
-    next_pc = (SPUADDR_ADDR (pc) + 8) & lslr;
-  else
-    next_pc = (SPUADDR_ADDR (pc) + 4) & lslr;
-
-  next_pcs.push_back (SPUADDR (SPUADDR_SPU (pc), next_pc));
-
-  if (is_branch (insn, &offset, &reg))
-    {
-      CORE_ADDR target = offset;
-
-      if (reg == SPU_PC_REGNUM)
-	target += SPUADDR_ADDR (pc);
-      else if (reg != -1)
-      {
-	regcache->raw_read_part (reg, 0, 4, buf);
-	target += extract_unsigned_integer (buf, 4, byte_order) & -4;
-      }
-
-      target = target & lslr;
-      if (target != next_pc)
-	next_pcs.push_back (SPUADDR (SPUADDR_SPU (pc), target));
-    }
-
-  return next_pcs;
-}
-
-
-/* Longjmp support.  */
-
-static int
-spu_get_longjmp_target (struct frame_info *frame, CORE_ADDR *pc)
-{
-  struct gdbarch *gdbarch = get_frame_arch (frame);
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  gdb_byte buf[4];
-  CORE_ADDR jb_addr;
-  int optim, unavail;
-
-  /* Jump buffer is pointed to by the argument register $r3.  */
-  if (!get_frame_register_bytes (frame, SPU_ARG1_REGNUM, 0, 4, buf,
-				 &optim, &unavail))
-    return 0;
-
-  jb_addr = extract_unsigned_integer (buf, 4, byte_order);
-  if (target_read_memory (SPUADDR (tdep->id, jb_addr), buf, 4))
-    return 0;
-
-  *pc = extract_unsigned_integer (buf, 4, byte_order);
-  *pc = SPUADDR (tdep->id, *pc);
-  return 1;
-}
-
-
-/* Disassembler.  */
-
-struct spu_dis_asm_info : disassemble_info
-{
-  int id;
-};
-
-static void
-spu_dis_asm_print_address (bfd_vma addr, struct disassemble_info *info)
-{
-  struct spu_dis_asm_info *data = (struct spu_dis_asm_info *) info;
-  gdb_disassembler *di
-    = static_cast<gdb_disassembler *>(info->application_data);
-
-  print_address (di->arch (), SPUADDR (data->id, addr),
-		 (struct ui_file *) info->stream);
-}
-
-static int
-gdb_print_insn_spu (bfd_vma memaddr, struct disassemble_info *info)
-{
-  /* The opcodes disassembler does 18-bit address arithmetic.  Make
-     sure the SPU ID encoded in the high bits is added back when we
-     call print_address.  */
-  struct spu_dis_asm_info spu_info;
-
-  memcpy (&spu_info, info, sizeof (*info));
-  spu_info.id = SPUADDR_SPU (memaddr);
-  spu_info.print_address_func = spu_dis_asm_print_address;
-  return default_print_insn (memaddr, &spu_info);
-}
-
-
-/* Target overlays for the SPU overlay manager.
-
-   See the documentation of simple_overlay_update for how the
-   interface is supposed to work.
-
-   Data structures used by the overlay manager:
-
-   struct ovly_table
-     {
-        u32 vma;
-        u32 size;
-        u32 pos;
-        u32 buf;
-     } _ovly_table[];   -- one entry per overlay section
-
-   struct ovly_buf_table
-     {
-        u32 mapped;
-     } _ovly_buf_table[];  -- one entry per overlay buffer
-
-   _ovly_table should never change.
-
-   Both tables are aligned to a 16-byte boundary, the symbols
-   _ovly_table and _ovly_buf_table are of type STT_OBJECT and their
-   size set to the size of the respective array. buf in _ovly_table is
-   an index into _ovly_buf_table.
-
-   mapped is an index into _ovly_table.  Both the mapped and buf indices start
-   from one to reference the first entry in their respective tables.  */
-
-/* Using the per-objfile private data mechanism, we store for each
-   objfile an array of "struct spu_overlay_table" structures, one
-   for each obj_section of the objfile.  This structure holds two
-   fields, MAPPED_PTR and MAPPED_VAL.  If MAPPED_PTR is zero, this
-   is *not* an overlay section.  If it is non-zero, it represents
-   a target address.  The overlay section is mapped iff the target
-   integer at this location equals MAPPED_VAL.  */
-
-struct spu_overlay_table
-  {
-    CORE_ADDR mapped_ptr;
-    CORE_ADDR mapped_val;
-  };
-
-static objfile_key<spu_overlay_table,
-		   gdb::noop_deleter<spu_overlay_table>> spu_overlay_data;
-
-/* Retrieve the overlay table for OBJFILE.  If not already cached, read
-   the _ovly_table data structure from the target and initialize the
-   spu_overlay_table data structure from it.  */
-static struct spu_overlay_table *
-spu_get_overlay_table (struct objfile *objfile)
-{
-  enum bfd_endian byte_order = bfd_big_endian (objfile->obfd)?
-		   BFD_ENDIAN_BIG : BFD_ENDIAN_LITTLE;
-  struct bound_minimal_symbol ovly_table_msym, ovly_buf_table_msym;
-  CORE_ADDR ovly_table_base, ovly_buf_table_base;
-  unsigned ovly_table_size, ovly_buf_table_size;
-  struct spu_overlay_table *tbl;
-  struct obj_section *osect;
-  gdb_byte *ovly_table;
-  int i;
-
-  tbl = spu_overlay_data.get (objfile);
-  if (tbl)
-    return tbl;
-
-  ovly_table_msym = lookup_minimal_symbol ("_ovly_table", NULL, objfile);
-  if (!ovly_table_msym.minsym)
-    return NULL;
-
-  ovly_buf_table_msym = lookup_minimal_symbol ("_ovly_buf_table",
-					       NULL, objfile);
-  if (!ovly_buf_table_msym.minsym)
-    return NULL;
-
-  ovly_table_base = BMSYMBOL_VALUE_ADDRESS (ovly_table_msym);
-  ovly_table_size = MSYMBOL_SIZE (ovly_table_msym.minsym);
-
-  ovly_buf_table_base = BMSYMBOL_VALUE_ADDRESS (ovly_buf_table_msym);
-  ovly_buf_table_size = MSYMBOL_SIZE (ovly_buf_table_msym.minsym);
-
-  ovly_table = (gdb_byte *) xmalloc (ovly_table_size);
-  read_memory (ovly_table_base, ovly_table, ovly_table_size);
-
-  tbl = OBSTACK_CALLOC (&objfile->objfile_obstack,
-			objfile->sections_end - objfile->sections,
-			struct spu_overlay_table);
-
-  for (i = 0; i < ovly_table_size / 16; i++)
-    {
-      CORE_ADDR vma  = extract_unsigned_integer (ovly_table + 16*i + 0,
-						 4, byte_order);
-      /* Note that this skips the "size" entry, which is at offset
-	 4.  */
-      CORE_ADDR pos  = extract_unsigned_integer (ovly_table + 16*i + 8,
-						 4, byte_order);
-      CORE_ADDR buf  = extract_unsigned_integer (ovly_table + 16*i + 12,
-						 4, byte_order);
-
-      if (buf == 0 || (buf - 1) * 4 >= ovly_buf_table_size)
-	continue;
-
-      ALL_OBJFILE_OSECTIONS (objfile, osect)
-	if (vma == bfd_section_vma (objfile->obfd, osect->the_bfd_section)
-	    && pos == osect->the_bfd_section->filepos)
-	  {
-	    int ndx = osect - objfile->sections;
-	    tbl[ndx].mapped_ptr = ovly_buf_table_base + (buf - 1) * 4;
-	    tbl[ndx].mapped_val = i + 1;
-	    break;
-	  }
-    }
-
-  xfree (ovly_table);
-  spu_overlay_data.set (objfile, tbl);
-  return tbl;
-}
-
-/* Read _ovly_buf_table entry from the target to dermine whether
-   OSECT is currently mapped, and update the mapped state.  */
-static void
-spu_overlay_update_osect (struct obj_section *osect)
-{
-  enum bfd_endian byte_order = bfd_big_endian (osect->objfile->obfd)?
-		   BFD_ENDIAN_BIG : BFD_ENDIAN_LITTLE;
-  struct spu_overlay_table *ovly_table;
-  CORE_ADDR id, val;
-
-  ovly_table = spu_get_overlay_table (osect->objfile);
-  if (!ovly_table)
-    return;
-
-  ovly_table += osect - osect->objfile->sections;
-  if (ovly_table->mapped_ptr == 0)
-    return;
-
-  id = SPUADDR_SPU (obj_section_addr (osect));
-  val = read_memory_unsigned_integer (SPUADDR (id, ovly_table->mapped_ptr),
-				      4, byte_order);
-  osect->ovly_mapped = (val == ovly_table->mapped_val);
-}
-
-/* If OSECT is NULL, then update all sections' mapped state.
-   If OSECT is non-NULL, then update only OSECT's mapped state.  */
-static void
-spu_overlay_update (struct obj_section *osect)
-{
-  /* Just one section.  */
-  if (osect)
-    spu_overlay_update_osect (osect);
-
-  /* All sections.  */
-  else
-    {
-      for (objfile *objfile : current_program_space->objfiles ())
-	ALL_OBJFILE_OSECTIONS (objfile, osect)
-	  if (section_is_overlay (osect))
-	    spu_overlay_update_osect (osect);
-    }
-}
-
-/* Whenever a new objfile is loaded, read the target's _ovly_table.
-   If there is one, go through all sections and make sure for non-
-   overlay sections LMA equals VMA, while for overlay sections LMA
-   is larger than SPU_OVERLAY_LMA.  */
-static void
-spu_overlay_new_objfile (struct objfile *objfile)
-{
-  struct spu_overlay_table *ovly_table;
-  struct obj_section *osect;
-
-  /* If we've already touched this file, do nothing.  */
-  if (!objfile || spu_overlay_data.get (objfile) != NULL)
-    return;
-
-  /* Consider only SPU objfiles.  */
-  if (bfd_get_arch (objfile->obfd) != bfd_arch_spu)
-    return;
-
-  /* Check if this objfile has overlays.  */
-  ovly_table = spu_get_overlay_table (objfile);
-  if (!ovly_table)
-    return;
-
-  /* Now go and fiddle with all the LMAs.  */
-  ALL_OBJFILE_OSECTIONS (objfile, osect)
-    {
-      asection *bsect = osect->the_bfd_section;
-      int ndx = osect - objfile->sections;
-
-      if (ovly_table[ndx].mapped_ptr == 0)
-	bfd_section_lma (obfd, bsect) = bfd_section_vma (obfd, bsect);
-      else
-	bfd_section_lma (obfd, bsect) = SPU_OVERLAY_LMA + bsect->filepos;
-    }
-}
-
-
-/* Insert temporary breakpoint on "main" function of newly loaded
-   SPE context OBJFILE.  */
-static void
-spu_catch_start (struct objfile *objfile)
-{
-  struct bound_minimal_symbol minsym;
-  struct compunit_symtab *cust;
-  CORE_ADDR pc;
-
-  /* Do this only if requested by "set spu stop-on-load on".  */
-  if (!spu_stop_on_load_p)
-    return;
-
-  /* Consider only SPU objfiles.  */
-  if (!objfile || bfd_get_arch (objfile->obfd) != bfd_arch_spu)
-    return;
-
-  /* The main objfile is handled differently.  */
-  if (objfile == symfile_objfile)
-    return;
-
-  /* There can be multiple symbols named "main".  Search for the
-     "main" in *this* objfile.  */
-  minsym = lookup_minimal_symbol ("main", NULL, objfile);
-  if (!minsym.minsym)
-    return;
-
-  /* If we have debugging information, try to use it -- this
-     will allow us to properly skip the prologue.  */
-  pc = BMSYMBOL_VALUE_ADDRESS (minsym);
-  cust
-    = find_pc_sect_compunit_symtab (pc, MSYMBOL_OBJ_SECTION (minsym.objfile,
-							     minsym.minsym));
-  if (cust != NULL)
-    {
-      const struct blockvector *bv = COMPUNIT_BLOCKVECTOR (cust);
-      const struct block *block = BLOCKVECTOR_BLOCK (bv, GLOBAL_BLOCK);
-      struct symbol *sym;
-      struct symtab_and_line sal;
-
-      sym = block_lookup_symbol (block, "main",
-				 symbol_name_match_type::SEARCH_NAME,
-				 VAR_DOMAIN);
-      if (sym)
-	{
-	  fixup_symbol_section (sym, objfile);
-	  sal = find_function_start_sal (sym, 1);
-	  pc = sal.pc;
-	}
-    }
-
-  /* Use a numerical address for the set_breakpoint command to avoid having
-     the breakpoint re-set incorrectly.  */
-  event_location_up location = new_address_location (pc, NULL, 0);
-  create_breakpoint (get_objfile_arch (objfile), location.get (),
-		     NULL /* cond_string */, -1 /* thread */,
-		     NULL /* extra_string */,
-		     0 /* parse_condition_and_thread */, 1 /* tempflag */,
-		     bp_breakpoint /* type_wanted */,
-		     0 /* ignore_count */,
-		     AUTO_BOOLEAN_FALSE /* pending_break_support */,
-		     &bkpt_breakpoint_ops /* ops */, 0 /* from_tty */,
-		     1 /* enabled */, 0 /* internal  */, 0);
-}
-
-
-/* Look up OBJFILE loaded into FRAME's SPU context.  */
-static struct objfile *
-spu_objfile_from_frame (struct frame_info *frame)
-{
-  struct gdbarch *gdbarch = get_frame_arch (frame);
-  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
-
-  if (gdbarch_bfd_arch_info (gdbarch)->arch != bfd_arch_spu)
-    return NULL;
-
-  for (objfile *obj : current_program_space->objfiles ())
-    {
-      if (obj->sections != obj->sections_end
-	  && SPUADDR_SPU (obj_section_addr (obj->sections)) == tdep->id)
-	return obj;
-    }
-
-  return NULL;
-}
-
-/* Flush cache for ea pointer access if available.  */
-static void
-flush_ea_cache (void)
-{
-  struct bound_minimal_symbol msymbol;
-  struct objfile *obj;
-
-  if (!has_stack_frames ())
-    return;
-
-  obj = spu_objfile_from_frame (get_current_frame ());
-  if (obj == NULL)
-    return;
-
-  /* Lookup inferior function __cache_flush.  */
-  msymbol = lookup_minimal_symbol ("__cache_flush", NULL, obj);
-  if (msymbol.minsym != NULL)
-    {
-      struct type *type;
-      CORE_ADDR addr;
-
-      type = objfile_type (obj)->builtin_void;
-      type = lookup_function_type (type);
-      type = lookup_pointer_type (type);
-      addr = BMSYMBOL_VALUE_ADDRESS (msymbol);
-
-      call_function_by_hand (value_from_pointer (type, addr), NULL, {});
-    }
-}
-
-/* This handler is called when the inferior has stopped.  If it is stopped in
-   SPU architecture then flush the ea cache if used.  */
-static void
-spu_attach_normal_stop (struct bpstats *bs, int print_frame)
-{
-  if (!spu_auto_flush_cache_p)
-    return;
-
-  /* Temporarily reset spu_auto_flush_cache_p to avoid recursively
-     re-entering this function when __cache_flush stops.  */
-  spu_auto_flush_cache_p = 0;
-  flush_ea_cache ();
-  spu_auto_flush_cache_p = 1;
-}
-
-
-/* "info spu" commands.  */
-
-static void
-info_spu_event_command (const char *args, int from_tty)
-{
-  struct frame_info *frame = get_selected_frame (NULL);
-  ULONGEST event_status = 0;
-  ULONGEST event_mask = 0;
-  gdb_byte buf[100];
-  char annex[32];
-  LONGEST len;
-  int id;
-
-  if (gdbarch_bfd_arch_info (get_frame_arch (frame))->arch != bfd_arch_spu)
-    error (_("\"info spu\" is only supported on the SPU architecture."));
-
-  id = get_frame_register_unsigned (frame, SPU_ID_REGNUM);
-
-  xsnprintf (annex, sizeof annex, "%d/event_status", id);
-  len = target_read (current_top_target (), TARGET_OBJECT_SPU, annex,
-		     buf, 0, (sizeof (buf) - 1));
-  if (len <= 0)
-    error (_("Could not read event_status."));
-  buf[len] = '\0';
-  event_status = strtoulst ((char *) buf, NULL, 16);
- 
-  xsnprintf (annex, sizeof annex, "%d/event_mask", id);
-  len = target_read (current_top_target (), TARGET_OBJECT_SPU, annex,
-		     buf, 0, (sizeof (buf) - 1));
-  if (len <= 0)
-    error (_("Could not read event_mask."));
-  buf[len] = '\0';
-  event_mask = strtoulst ((char *) buf, NULL, 16);
- 
-  ui_out_emit_tuple tuple_emitter (current_uiout, "SPUInfoEvent");
-
-  current_uiout->text (_("Event Status "));
-  current_uiout->field_fmt ("event_status", "0x%s", phex (event_status, 4));
-  current_uiout->text ("\n");
-  current_uiout->text (_("Event Mask   "));
-  current_uiout->field_fmt ("event_mask", "0x%s", phex (event_mask, 4));
-  current_uiout->text ("\n");
-}
-
-static void
-info_spu_signal_command (const char *args, int from_tty)
-{
-  struct frame_info *frame = get_selected_frame (NULL);
-  struct gdbarch *gdbarch = get_frame_arch (frame);
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  ULONGEST signal1 = 0;
-  ULONGEST signal1_type = 0;
-  int signal1_pending = 0;
-  ULONGEST signal2 = 0;
-  ULONGEST signal2_type = 0;
-  int signal2_pending = 0;
-  char annex[32];
-  gdb_byte buf[100];
-  LONGEST len;
-  int id;
-
-  if (gdbarch_bfd_arch_info (gdbarch)->arch != bfd_arch_spu)
-    error (_("\"info spu\" is only supported on the SPU architecture."));
-
-  id = get_frame_register_unsigned (frame, SPU_ID_REGNUM);
-
-  xsnprintf (annex, sizeof annex, "%d/signal1", id);
-  len = target_read (current_top_target (), TARGET_OBJECT_SPU,
-		     annex, buf, 0, 4);
-  if (len < 0)
-    error (_("Could not read signal1."));
-  else if (len == 4)
-    {
-      signal1 = extract_unsigned_integer (buf, 4, byte_order);
-      signal1_pending = 1;
-    }
-    
-  xsnprintf (annex, sizeof annex, "%d/signal1_type", id);
-  len = target_read (current_top_target (), TARGET_OBJECT_SPU, annex,
-		     buf, 0, (sizeof (buf) - 1));
-  if (len <= 0)
-    error (_("Could not read signal1_type."));
-  buf[len] = '\0';
-  signal1_type = strtoulst ((char *) buf, NULL, 16);
-
-  xsnprintf (annex, sizeof annex, "%d/signal2", id);
-  len = target_read (current_top_target (), TARGET_OBJECT_SPU,
-		     annex, buf, 0, 4);
-  if (len < 0)
-    error (_("Could not read signal2."));
-  else if (len == 4)
-    {
-      signal2 = extract_unsigned_integer (buf, 4, byte_order);
-      signal2_pending = 1;
-    }
-    
-  xsnprintf (annex, sizeof annex, "%d/signal2_type", id);
-  len = target_read (current_top_target (), TARGET_OBJECT_SPU, annex,
-		     buf, 0, (sizeof (buf) - 1));
-  if (len <= 0)
-    error (_("Could not read signal2_type."));
-  buf[len] = '\0';
-  signal2_type = strtoulst ((char *) buf, NULL, 16);
-
-  ui_out_emit_tuple tuple_emitter (current_uiout, "SPUInfoSignal");
-
-  if (current_uiout->is_mi_like_p ())
-    {
-      current_uiout->field_signed ("signal1_pending", signal1_pending);
-      current_uiout->field_fmt ("signal1", "0x%s", phex_nz (signal1, 4));
-      current_uiout->field_signed ("signal1_type", signal1_type);
-      current_uiout->field_signed ("signal2_pending", signal2_pending);
-      current_uiout->field_fmt ("signal2", "0x%s", phex_nz (signal2, 4));
-      current_uiout->field_signed ("signal2_type", signal2_type);
-    }
-  else
-    {
-      if (signal1_pending)
-	printf_filtered (_("Signal 1 control word 0x%s "), phex (signal1, 4));
-      else
-	printf_filtered (_("Signal 1 not pending "));
-
-      if (signal1_type)
-	printf_filtered (_("(Type Or)\n"));
-      else
-	printf_filtered (_("(Type Overwrite)\n"));
-
-      if (signal2_pending)
-	printf_filtered (_("Signal 2 control word 0x%s "), phex (signal2, 4));
-      else
-	printf_filtered (_("Signal 2 not pending "));
-
-      if (signal2_type)
-	printf_filtered (_("(Type Or)\n"));
-      else
-	printf_filtered (_("(Type Overwrite)\n"));
-    }
-}
-
-static void
-info_spu_mailbox_list (gdb_byte *buf, int nr, enum bfd_endian byte_order,
-		       const char *field, const char *msg)
-{
-  int i;
-
-  if (nr <= 0)
-    return;
-
-  ui_out_emit_table table_emitter (current_uiout, 1, nr, "mbox");
-
-  current_uiout->table_header (32, ui_left, field, msg);
-  current_uiout->table_body ();
-
-  for (i = 0; i < nr; i++)
-    {
-      {
-	ULONGEST val;
-	ui_out_emit_tuple tuple_emitter (current_uiout, "mbox");
-	val = extract_unsigned_integer (buf + 4*i, 4, byte_order);
-	current_uiout->field_fmt (field, "0x%s", phex (val, 4));
-      }
-
-      current_uiout->text ("\n");
-    }
-}
-
-static void
-info_spu_mailbox_command (const char *args, int from_tty)
-{
-  struct frame_info *frame = get_selected_frame (NULL);
-  struct gdbarch *gdbarch = get_frame_arch (frame);
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  char annex[32];
-  gdb_byte buf[1024];
-  LONGEST len;
-  int id;
-
-  if (gdbarch_bfd_arch_info (gdbarch)->arch != bfd_arch_spu)
-    error (_("\"info spu\" is only supported on the SPU architecture."));
-
-  id = get_frame_register_unsigned (frame, SPU_ID_REGNUM);
-
-  ui_out_emit_tuple tuple_emitter (current_uiout, "SPUInfoMailbox");
-
-  xsnprintf (annex, sizeof annex, "%d/mbox_info", id);
-  len = target_read (current_top_target (), TARGET_OBJECT_SPU, annex,
-		     buf, 0, sizeof buf);
-  if (len < 0)
-    error (_("Could not read mbox_info."));
-
-  info_spu_mailbox_list (buf, len / 4, byte_order,
-			 "mbox", "SPU Outbound Mailbox");
-
-  xsnprintf (annex, sizeof annex, "%d/ibox_info", id);
-  len = target_read (current_top_target (), TARGET_OBJECT_SPU, annex,
-		     buf, 0, sizeof buf);
-  if (len < 0)
-    error (_("Could not read ibox_info."));
-
-  info_spu_mailbox_list (buf, len / 4, byte_order,
-			 "ibox", "SPU Outbound Interrupt Mailbox");
-
-  xsnprintf (annex, sizeof annex, "%d/wbox_info", id);
-  len = target_read (current_top_target (), TARGET_OBJECT_SPU, annex,
-		     buf, 0, sizeof buf);
-  if (len < 0)
-    error (_("Could not read wbox_info."));
-
-  info_spu_mailbox_list (buf, len / 4, byte_order,
-			 "wbox", "SPU Inbound Mailbox");
-}
-
-static ULONGEST
-spu_mfc_get_bitfield (ULONGEST word, int first, int last)
-{
-  ULONGEST mask = ~(~(ULONGEST)0 << (last - first + 1));
-  return (word >> (63 - last)) & mask;
-}
-
-static void
-info_spu_dma_cmdlist (gdb_byte *buf, int nr, enum bfd_endian byte_order)
-{
-  static const char *spu_mfc_opcode[256] =
-    {
-    /* 00 */ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
-             NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
-    /* 10 */ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
-             NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
-    /* 20 */ "put", "putb", "putf", NULL, "putl", "putlb", "putlf", NULL,
-             "puts", "putbs", "putfs", NULL, NULL, NULL, NULL, NULL,
-    /* 30 */ "putr", "putrb", "putrf", NULL, "putrl", "putrlb", "putrlf", NULL,
-             NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
-    /* 40 */ "get", "getb", "getf", NULL, "getl", "getlb", "getlf", NULL,
-             "gets", "getbs", "getfs", NULL, NULL, NULL, NULL, NULL,
-    /* 50 */ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
-             NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
-    /* 60 */ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
-             NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
-    /* 70 */ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
-             NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
-    /* 80 */ "sdcrt", "sdcrtst", NULL, NULL, NULL, NULL, NULL, NULL,
-             NULL, "sdcrz", NULL, NULL, NULL, "sdcrst", NULL, "sdcrf",
-    /* 90 */ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
-             NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
-    /* a0 */ "sndsig", "sndsigb", "sndsigf", NULL, NULL, NULL, NULL, NULL,
-             NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
-    /* b0 */ "putlluc", NULL, NULL, NULL, "putllc", NULL, NULL, NULL,
-             "putqlluc", NULL, NULL, NULL, NULL, NULL, NULL, NULL,
-    /* c0 */ "barrier", NULL, NULL, NULL, NULL, NULL, NULL, NULL,
-             "mfceieio", NULL, NULL, NULL, "mfcsync", NULL, NULL, NULL,
-    /* d0 */ "getllar", NULL, NULL, NULL, NULL, NULL, NULL, NULL,
-             NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
-    /* e0 */ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
-             NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
-    /* f0 */ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
-             NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
-    };
-
-  int *seq = XALLOCAVEC (int, nr);
-  int done = 0;
-  int i, j;
-
-
-  /* Determine sequence in which to display (valid) entries.  */
-  for (i = 0; i < nr; i++)
-    {
-      /* Search for the first valid entry all of whose
-	 dependencies are met.  */
-      for (j = 0; j < nr; j++)
-	{
-          ULONGEST mfc_cq_dw3;
-	  ULONGEST dependencies;
-
-	  if (done & (1 << (nr - 1 - j)))
-	    continue;
-
-	  mfc_cq_dw3
-	    = extract_unsigned_integer (buf + 32*j + 24,8, byte_order);
-	  if (!spu_mfc_get_bitfield (mfc_cq_dw3, 16, 16))
-	    continue;
-
-	  dependencies = spu_mfc_get_bitfield (mfc_cq_dw3, 0, nr - 1);
-	  if ((dependencies & done) != dependencies)
-	    continue;
-
-	  seq[i] = j;
-	  done |= 1 << (nr - 1 - j);
-	  break;
-	}
-
-      if (j == nr)
-	break;
-    }
-
-  nr = i;
-
-
-  ui_out_emit_table table_emitter (current_uiout, 10, nr, "dma_cmd");
-
-  current_uiout->table_header (7, ui_left, "opcode", "Opcode");
-  current_uiout->table_header (3, ui_left, "tag", "Tag");
-  current_uiout->table_header (3, ui_left, "tid", "TId");
-  current_uiout->table_header (3, ui_left, "rid", "RId");
-  current_uiout->table_header (18, ui_left, "ea", "EA");
-  current_uiout->table_header (7, ui_left, "lsa", "LSA");
-  current_uiout->table_header (7, ui_left, "size", "Size");
-  current_uiout->table_header (7, ui_left, "lstaddr", "LstAddr");
-  current_uiout->table_header (7, ui_left, "lstsize", "LstSize");
-  current_uiout->table_header (1, ui_left, "error_p", "E");
-
-  current_uiout->table_body ();
-
-  for (i = 0; i < nr; i++)
-    {
-      ULONGEST mfc_cq_dw0;
-      ULONGEST mfc_cq_dw1;
-      ULONGEST mfc_cq_dw2;
-      int mfc_cmd_opcode, mfc_cmd_tag, rclass_id, tclass_id;
-      int list_lsa, list_size, mfc_lsa, mfc_size;
-      ULONGEST mfc_ea;
-      int list_valid_p, qw_valid_p, ea_valid_p, cmd_error_p;
-
-      /* Decode contents of MFC Command Queue Context Save/Restore Registers.
-	 See "Cell Broadband Engine Registers V1.3", section 3.3.2.1.  */
-
-      mfc_cq_dw0
-	= extract_unsigned_integer (buf + 32*seq[i], 8, byte_order);
-      mfc_cq_dw1
-	= extract_unsigned_integer (buf + 32*seq[i] + 8, 8, byte_order);
-      mfc_cq_dw2
-	= extract_unsigned_integer (buf + 32*seq[i] + 16, 8, byte_order);
-
-      list_lsa = spu_mfc_get_bitfield (mfc_cq_dw0, 0, 14);
-      list_size = spu_mfc_get_bitfield (mfc_cq_dw0, 15, 26);
-      mfc_cmd_opcode = spu_mfc_get_bitfield (mfc_cq_dw0, 27, 34);
-      mfc_cmd_tag = spu_mfc_get_bitfield (mfc_cq_dw0, 35, 39);
-      list_valid_p = spu_mfc_get_bitfield (mfc_cq_dw0, 40, 40);
-      rclass_id = spu_mfc_get_bitfield (mfc_cq_dw0, 41, 43);
-      tclass_id = spu_mfc_get_bitfield (mfc_cq_dw0, 44, 46);
-
-      mfc_ea = spu_mfc_get_bitfield (mfc_cq_dw1, 0, 51) << 12
-		| spu_mfc_get_bitfield (mfc_cq_dw2, 25, 36);
-
-      mfc_lsa = spu_mfc_get_bitfield (mfc_cq_dw2, 0, 13);
-      mfc_size = spu_mfc_get_bitfield (mfc_cq_dw2, 14, 24);
-      qw_valid_p = spu_mfc_get_bitfield (mfc_cq_dw2, 38, 38);
-      ea_valid_p = spu_mfc_get_bitfield (mfc_cq_dw2, 39, 39);
-      cmd_error_p = spu_mfc_get_bitfield (mfc_cq_dw2, 40, 40);
-
-      {
-	ui_out_emit_tuple tuple_emitter (current_uiout, "cmd");
-
-	if (spu_mfc_opcode[mfc_cmd_opcode])
-	  current_uiout->field_string ("opcode", spu_mfc_opcode[mfc_cmd_opcode]);
-	else
-	  current_uiout->field_signed ("opcode", mfc_cmd_opcode);
-
-	current_uiout->field_signed ("tag", mfc_cmd_tag);
-	current_uiout->field_signed ("tid", tclass_id);
-	current_uiout->field_signed ("rid", rclass_id);
-
-	if (ea_valid_p)
-	  current_uiout->field_fmt ("ea", "0x%s", phex (mfc_ea, 8));
-	else
-	  current_uiout->field_skip ("ea");
-
-	current_uiout->field_fmt ("lsa", "0x%05x", mfc_lsa << 4);
-	if (qw_valid_p)
-	  current_uiout->field_fmt ("size", "0x%05x", mfc_size << 4);
-	else
-	  current_uiout->field_fmt ("size", "0x%05x", mfc_size);
-
-	if (list_valid_p)
-	  {
-	    current_uiout->field_fmt ("lstaddr", "0x%05x", list_lsa << 3);
-	    current_uiout->field_fmt ("lstsize", "0x%05x", list_size << 3);
-	  }
-	else
-	  {
-	    current_uiout->field_skip ("lstaddr");
-	    current_uiout->field_skip ("lstsize");
-	  }
-
-	if (cmd_error_p)
-	  current_uiout->field_string ("error_p", "*");
-	else
-	  current_uiout->field_skip ("error_p");
-      }
-
-      current_uiout->text ("\n");
-    }
-}
-
-static void
-info_spu_dma_command (const char *args, int from_tty)
-{
-  struct frame_info *frame = get_selected_frame (NULL);
-  struct gdbarch *gdbarch = get_frame_arch (frame);
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  ULONGEST dma_info_type;
-  ULONGEST dma_info_mask;
-  ULONGEST dma_info_status;
-  ULONGEST dma_info_stall_and_notify;
-  ULONGEST dma_info_atomic_command_status;
-  char annex[32];
-  gdb_byte buf[1024];
-  LONGEST len;
-  int id;
-
-  if (gdbarch_bfd_arch_info (get_frame_arch (frame))->arch != bfd_arch_spu)
-    error (_("\"info spu\" is only supported on the SPU architecture."));
-
-  id = get_frame_register_unsigned (frame, SPU_ID_REGNUM);
-
-  xsnprintf (annex, sizeof annex, "%d/dma_info", id);
-  len = target_read (current_top_target (), TARGET_OBJECT_SPU, annex,
-		     buf, 0, 40 + 16 * 32);
-  if (len <= 0)
-    error (_("Could not read dma_info."));
-
-  dma_info_type
-    = extract_unsigned_integer (buf, 8, byte_order);
-  dma_info_mask
-    = extract_unsigned_integer (buf + 8, 8, byte_order);
-  dma_info_status
-    = extract_unsigned_integer (buf + 16, 8, byte_order);
-  dma_info_stall_and_notify
-    = extract_unsigned_integer (buf + 24, 8, byte_order);
-  dma_info_atomic_command_status
-    = extract_unsigned_integer (buf + 32, 8, byte_order);
-  
-  ui_out_emit_tuple tuple_emitter (current_uiout, "SPUInfoDMA");
-
-  if (current_uiout->is_mi_like_p ())
-    {
-      current_uiout->field_fmt ("dma_info_type", "0x%s",
-				phex_nz (dma_info_type, 4));
-      current_uiout->field_fmt ("dma_info_mask", "0x%s",
-				phex_nz (dma_info_mask, 4));
-      current_uiout->field_fmt ("dma_info_status", "0x%s",
-				phex_nz (dma_info_status, 4));
-      current_uiout->field_fmt ("dma_info_stall_and_notify", "0x%s",
-				phex_nz (dma_info_stall_and_notify, 4));
-      current_uiout->field_fmt ("dma_info_atomic_command_status", "0x%s",
-				phex_nz (dma_info_atomic_command_status, 4));
-    }
-  else
-    {
-      const char *query_msg = _("no query pending");
-
-      if (dma_info_type & 4)
-	switch (dma_info_type & 3)
-	  {
-	    case 1: query_msg = _("'any' query pending"); break;
-	    case 2: query_msg = _("'all' query pending"); break;
-	    default: query_msg = _("undefined query type"); break;
-	  }
-
-      printf_filtered (_("Tag-Group Status  0x%s\n"),
-		       phex (dma_info_status, 4));
-      printf_filtered (_("Tag-Group Mask    0x%s (%s)\n"),
-		       phex (dma_info_mask, 4), query_msg);
-      printf_filtered (_("Stall-and-Notify  0x%s\n"),
-		       phex (dma_info_stall_and_notify, 4));
-      printf_filtered (_("Atomic Cmd Status 0x%s\n"),
-		       phex (dma_info_atomic_command_status, 4));
-      printf_filtered ("\n");
-    }
-
-  info_spu_dma_cmdlist (buf + 40, 16, byte_order);
-}
-
-static void
-info_spu_proxydma_command (const char *args, int from_tty)
-{
-  struct frame_info *frame = get_selected_frame (NULL);
-  struct gdbarch *gdbarch = get_frame_arch (frame);
-  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
-  ULONGEST dma_info_type;
-  ULONGEST dma_info_mask;
-  ULONGEST dma_info_status;
-  char annex[32];
-  gdb_byte buf[1024];
-  LONGEST len;
-  int id;
-
-  if (gdbarch_bfd_arch_info (gdbarch)->arch != bfd_arch_spu)
-    error (_("\"info spu\" is only supported on the SPU architecture."));
-
-  id = get_frame_register_unsigned (frame, SPU_ID_REGNUM);
-
-  xsnprintf (annex, sizeof annex, "%d/proxydma_info", id);
-  len = target_read (current_top_target (), TARGET_OBJECT_SPU, annex,
-		     buf, 0, 24 + 8 * 32);
-  if (len <= 0)
-    error (_("Could not read proxydma_info."));
-
-  dma_info_type = extract_unsigned_integer (buf, 8, byte_order);
-  dma_info_mask = extract_unsigned_integer (buf + 8, 8, byte_order);
-  dma_info_status = extract_unsigned_integer (buf + 16, 8, byte_order);
-  
-  ui_out_emit_tuple tuple_emitter (current_uiout, "SPUInfoProxyDMA");
-
-  if (current_uiout->is_mi_like_p ())
-    {
-      current_uiout->field_fmt ("proxydma_info_type", "0x%s",
-				phex_nz (dma_info_type, 4));
-      current_uiout->field_fmt ("proxydma_info_mask", "0x%s",
-				phex_nz (dma_info_mask, 4));
-      current_uiout->field_fmt ("proxydma_info_status", "0x%s",
-				phex_nz (dma_info_status, 4));
-    }
-  else
-    {
-      const char *query_msg;
-
-      switch (dma_info_type & 3)
-	{
-	case 0: query_msg = _("no query pending"); break;
-	case 1: query_msg = _("'any' query pending"); break;
-	case 2: query_msg = _("'all' query pending"); break;
-	default: query_msg = _("undefined query type"); break;
-	}
-
-      printf_filtered (_("Tag-Group Status  0x%s\n"),
-		       phex (dma_info_status, 4));
-      printf_filtered (_("Tag-Group Mask    0x%s (%s)\n"),
-		       phex (dma_info_mask, 4), query_msg);
-      printf_filtered ("\n");
-    }
-
-  info_spu_dma_cmdlist (buf + 24, 8, byte_order);
-}
-
-static void
-info_spu_command (const char *args, int from_tty)
-{
-  printf_unfiltered (_("\"info spu\" must be followed by "
-		       "the name of an SPU facility.\n"));
-  help_list (infospucmdlist, "info spu ", all_commands, gdb_stdout);
-}
-
-
-/* Root of all "set spu "/"show spu " commands.  */
-
-static void
-show_spu_command (const char *args, int from_tty)
-{
-  help_list (showspucmdlist, "show spu ", all_commands, gdb_stdout);
-}
-
-static void
-set_spu_command (const char *args, int from_tty)
-{
-  help_list (setspucmdlist, "set spu ", all_commands, gdb_stdout);
-}
-
-static void
-show_spu_stop_on_load (struct ui_file *file, int from_tty,
-                       struct cmd_list_element *c, const char *value)
-{
-  fprintf_filtered (file, _("Stopping for new SPE threads is %s.\n"),
-                    value);
-}
-
-static void
-show_spu_auto_flush_cache (struct ui_file *file, int from_tty,
-			   struct cmd_list_element *c, const char *value)
-{
-  fprintf_filtered (file, _("Automatic software-cache flush is %s.\n"),
-                    value);
-}
-
-
-/* Set up gdbarch struct.  */
-
-static struct gdbarch *
-spu_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
-{
-  struct gdbarch *gdbarch;
-  struct gdbarch_tdep *tdep;
-  int id = -1;
-
-  /* Which spufs ID was requested as address space?  */
-  if (info.id)
-    id = *info.id;
-  /* For objfile architectures of SPU solibs, decode the ID from the name.
-     This assumes the filename convention employed by solib-spu.c.  */
-  else if (info.abfd)
-    {
-      const char *name = strrchr (info.abfd->filename, '@');
-      if (name)
-	sscanf (name, "@0x%*x <%d>", &id);
-    }
-
-  /* Find a candidate among extant architectures.  */
-  for (arches = gdbarch_list_lookup_by_info (arches, &info);
-       arches != NULL;
-       arches = gdbarch_list_lookup_by_info (arches->next, &info))
-    {
-      tdep = gdbarch_tdep (arches->gdbarch);
-      if (tdep && tdep->id == id)
-	return arches->gdbarch;
-    }
-
-  /* None found, so create a new architecture.  */
-  tdep = XCNEW (struct gdbarch_tdep);
-  tdep->id = id;
-  gdbarch = gdbarch_alloc (&info, tdep);
-
-  /* Disassembler.  */
-  set_gdbarch_print_insn (gdbarch, gdb_print_insn_spu);
-
-  /* Registers.  */
-  set_gdbarch_num_regs (gdbarch, SPU_NUM_REGS);
-  set_gdbarch_num_pseudo_regs (gdbarch, SPU_NUM_PSEUDO_REGS);
-  set_gdbarch_sp_regnum (gdbarch, SPU_SP_REGNUM);
-  set_gdbarch_pc_regnum (gdbarch, SPU_PC_REGNUM);
-  set_gdbarch_read_pc (gdbarch, spu_read_pc);
-  set_gdbarch_write_pc (gdbarch, spu_write_pc);
-  set_gdbarch_register_name (gdbarch, spu_register_name);
-  set_gdbarch_register_type (gdbarch, spu_register_type);
-  set_gdbarch_pseudo_register_read (gdbarch, spu_pseudo_register_read);
-  set_gdbarch_pseudo_register_write (gdbarch, spu_pseudo_register_write);
-  set_gdbarch_value_from_register (gdbarch, spu_value_from_register);
-  set_gdbarch_register_reggroup_p (gdbarch, spu_register_reggroup_p);
-  set_gdbarch_dwarf2_reg_to_regnum (gdbarch, spu_dwarf_reg_to_regnum);
-  set_gdbarch_ax_pseudo_register_collect
-    (gdbarch, spu_ax_pseudo_register_collect);
-  set_gdbarch_ax_pseudo_register_push_stack
-    (gdbarch, spu_ax_pseudo_register_push_stack);
-
-  /* Data types.  */
-  set_gdbarch_char_signed (gdbarch, 0);
-  set_gdbarch_ptr_bit (gdbarch, 32);
-  set_gdbarch_addr_bit (gdbarch, 32);
-  set_gdbarch_short_bit (gdbarch, 16);
-  set_gdbarch_int_bit (gdbarch, 32);
-  set_gdbarch_long_bit (gdbarch, 32);
-  set_gdbarch_long_long_bit (gdbarch, 64);
-  set_gdbarch_float_bit (gdbarch, 32);
-  set_gdbarch_double_bit (gdbarch, 64);
-  set_gdbarch_long_double_bit (gdbarch, 64);
-  set_gdbarch_float_format (gdbarch, floatformats_ieee_single);
-  set_gdbarch_double_format (gdbarch, floatformats_ieee_double);
-  set_gdbarch_long_double_format (gdbarch, floatformats_ieee_double);
-
-  /* Address handling.  */
-  set_gdbarch_address_to_pointer (gdbarch, spu_address_to_pointer);
-  set_gdbarch_pointer_to_address (gdbarch, spu_pointer_to_address);
-  set_gdbarch_integer_to_address (gdbarch, spu_integer_to_address);
-  set_gdbarch_address_class_type_flags (gdbarch, spu_address_class_type_flags);
-  set_gdbarch_address_class_type_flags_to_name
-    (gdbarch, spu_address_class_type_flags_to_name);
-  set_gdbarch_address_class_name_to_type_flags
-    (gdbarch, spu_address_class_name_to_type_flags);
-
-  /* We need to support more than "addr_bit" significant address bits
-     in order to support SPUADDR_ADDR encoded values.  */
-  set_gdbarch_significant_addr_bit (gdbarch, 64);
-
-  /* Inferior function calls.  */
-  set_gdbarch_call_dummy_location (gdbarch, ON_STACK);
-  set_gdbarch_frame_align (gdbarch, spu_frame_align);
-  set_gdbarch_frame_red_zone_size (gdbarch, 2000);
-  set_gdbarch_push_dummy_code (gdbarch, spu_push_dummy_code);
-  set_gdbarch_push_dummy_call (gdbarch, spu_push_dummy_call);
-  set_gdbarch_dummy_id (gdbarch, spu_dummy_id);
-  set_gdbarch_return_value (gdbarch, spu_return_value);
-
-  /* Frame handling.  */
-  set_gdbarch_inner_than (gdbarch, core_addr_lessthan);
-  dwarf2_append_unwinders (gdbarch);
-  frame_unwind_append_unwinder (gdbarch, &spu_frame_unwind);
-  frame_base_set_default (gdbarch, &spu_frame_base);
-  set_gdbarch_unwind_pc (gdbarch, spu_unwind_pc);
-  set_gdbarch_unwind_sp (gdbarch, spu_unwind_sp);
-  set_gdbarch_virtual_frame_pointer (gdbarch, spu_virtual_frame_pointer);
-  set_gdbarch_frame_args_skip (gdbarch, 0);
-  set_gdbarch_skip_prologue (gdbarch, spu_skip_prologue);
-  set_gdbarch_stack_frame_destroyed_p (gdbarch, spu_stack_frame_destroyed_p);
-
-  /* Cell/B.E. cross-architecture unwinder support.  */
-  frame_unwind_prepend_unwinder (gdbarch, &spu2ppu_unwind);
-
-  /* Breakpoints.  */
-  set_gdbarch_decr_pc_after_break (gdbarch, 4);
-  set_gdbarch_breakpoint_kind_from_pc (gdbarch, spu_breakpoint::kind_from_pc);
-  set_gdbarch_sw_breakpoint_from_kind (gdbarch, spu_breakpoint::bp_from_kind);
-  set_gdbarch_memory_remove_breakpoint (gdbarch, spu_memory_remove_breakpoint);
-  set_gdbarch_software_single_step (gdbarch, spu_software_single_step);
-  set_gdbarch_get_longjmp_target (gdbarch, spu_get_longjmp_target);
-
-  /* Overlays.  */
-  set_gdbarch_overlay_update (gdbarch, spu_overlay_update);
-
-  return gdbarch;
-}
-
-void
-_initialize_spu_tdep (void)
-{
-  register_gdbarch_init (bfd_arch_spu, spu_gdbarch_init);
-
-  /* Add ourselves to objfile event chain.  */
-  gdb::observers::new_objfile.attach (spu_overlay_new_objfile);
-
-  /* Install spu stop-on-load handler.  */
-  gdb::observers::new_objfile.attach (spu_catch_start);
-
-  /* Add ourselves to normal_stop event chain.  */
-  gdb::observers::normal_stop.attach (spu_attach_normal_stop);
-
-  /* Add root prefix command for all "set spu"/"show spu" commands.  */
-  add_prefix_cmd ("spu", no_class, set_spu_command,
-		  _("Various SPU specific commands."),
-		  &setspucmdlist, "set spu ", 0, &setlist);
-  add_prefix_cmd ("spu", no_class, show_spu_command,
-		  _("Various SPU specific commands."),
-		  &showspucmdlist, "show spu ", 0, &showlist);
-
-  /* Toggle whether or not to add a temporary breakpoint at the "main"
-     function of new SPE contexts.  */
-  add_setshow_boolean_cmd ("stop-on-load", class_support,
-                          &spu_stop_on_load_p, _("\
-Set whether to stop for new SPE threads."),
-                           _("\
-Show whether to stop for new SPE threads."),
-                           _("\
-Use \"on\" to give control to the user when a new SPE thread\n\
-enters its \"main\" function.\n\
-Use \"off\" to disable stopping for new SPE threads."),
-                          NULL,
-                          show_spu_stop_on_load,
-                          &setspucmdlist, &showspucmdlist);
-
-  /* Toggle whether or not to automatically flush the software-managed
-     cache whenever SPE execution stops.  */
-  add_setshow_boolean_cmd ("auto-flush-cache", class_support,
-                          &spu_auto_flush_cache_p, _("\
-Set whether to automatically flush the software-managed cache."),
-                           _("\
-Show whether to automatically flush the software-managed cache."),
-                           _("\
-Use \"on\" to automatically flush the software-managed cache\n\
-whenever SPE execution stops.\n\
-Use \"off\" to never automatically flush the software-managed cache."),
-                          NULL,
-                          show_spu_auto_flush_cache,
-                          &setspucmdlist, &showspucmdlist);
-
-  /* Add root prefix command for all "info spu" commands.  */
-  add_prefix_cmd ("spu", class_info, info_spu_command,
-		  _("Various SPU specific commands."),
-		  &infospucmdlist, "info spu ", 0, &infolist);
-
-  /* Add various "info spu" commands.  */
-  add_cmd ("event", class_info, info_spu_event_command,
-	   _("Display SPU event facility status."),
-	   &infospucmdlist);
-  add_cmd ("signal", class_info, info_spu_signal_command,
-	   _("Display SPU signal notification facility status."),
-	   &infospucmdlist);
-  add_cmd ("mailbox", class_info, info_spu_mailbox_command,
-	   _("Display SPU mailbox facility status."),
-	   &infospucmdlist);
-  add_cmd ("dma", class_info, info_spu_dma_command,
-	   _("Display MFC DMA status."),
-	   &infospucmdlist);
-  add_cmd ("proxydma", class_info, info_spu_proxydma_command,
-	   _("Display MFC Proxy-DMA status."),
-	   &infospucmdlist);
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/spu-tdep.h ./gdb/spu-tdep.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/spu-tdep.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/spu-tdep.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,117 +0,0 @@
-/* SPU target-dependent code for GDB, the GNU debugger.
-   Copyright (C) 2006-2019 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   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/>.  */
-
-#ifndef SPU_TDEP_H
-#define SPU_TDEP_H
-
-/* Number of registers.  */
-#define SPU_NUM_REGS         130
-#define SPU_NUM_PSEUDO_REGS  6
-#define SPU_NUM_GPRS	     128
-
-/* Register numbers of various important registers.  */
-enum spu_regnum
-{
-  /* SPU calling convention.  */
-  SPU_LR_REGNUM = 0,		/* Link register.  */
-  SPU_RAW_SP_REGNUM = 1,	/* Stack pointer (full register).  */
-  SPU_ARG1_REGNUM = 3,		/* First argument register.  */
-  SPU_ARGN_REGNUM = 74,		/* Last argument register.  */
-  SPU_SAVED1_REGNUM = 80,	/* First call-saved register.  */
-  SPU_SAVEDN_REGNUM = 127,	/* Last call-saved register.  */
-  SPU_FP_REGNUM = 127,		/* Frame pointer.  */
-
-  /* Special registers.  */
-  SPU_ID_REGNUM = 128,		/* SPU ID register.  */
-  SPU_PC_REGNUM = 129,		/* Next program counter.  */
-  SPU_SP_REGNUM = 130,		/* Stack pointer (preferred slot).  */
-  SPU_FPSCR_REGNUM = 131,	/* Floating point status/control register.  */
-  SPU_SRR0_REGNUM = 132,	/* SRR0 register.  */
-  SPU_LSLR_REGNUM = 133,	/* Local store limit register.  */
-  SPU_DECR_REGNUM = 134,	/* Decrementer value.  */
-  SPU_DECR_STATUS_REGNUM = 135	/* Decrementer status.  */
-};
-
-/* Address conversions.
-
-   In a combined PPU/SPU debugging session, we have to consider multiple
-   address spaces: the PPU 32- or 64-bit address space, and the 32-bit
-   local store address space for each SPU context.  As it is currently
-   not yet possible to use the program_space / address_space mechanism
-   to represent this, we encode all those addresses into one single
-   64-bit address for the whole process.  For SPU programs using overlays,
-   this address space must also include separate ranges reserved for the
-   LMA of overlay sections.
-
-
-   The following combinations are supported for combined debugging:
-
-   PPU address (this relies on the fact that PPC 64-bit user space
-   addresses can never have the highest-most bit set):
-
-      +-+---------------------------------+
-      |0|              ADDR [63]          |
-      +-+---------------------------------+
-
-   SPU address for SPU context with id SPU (this assumes that SPU
-   IDs, which are file descriptors, are never larger than 2^30):
-
-      +-+-+--------------+----------------+
-      |1|0|    SPU [30]  |    ADDR [32]   |
-      +-+-+--------------+----------------+
-
-   SPU overlay section LMA for SPU context with id SPU:
-
-      +-+-+--------------+----------------+
-      |1|1|    SPU [30]  |    ADDR [32]   |
-      +-+-+--------------+----------------+
-
-
-   In SPU stand-alone debugging mode (using spu-linux-nat.c),
-   the following combinations are supported:
-
-   SPU address:
-
-      +-+-+--------------+----------------+
-      |0|0|     0        |    ADDR [32]   |
-      +-+-+--------------+----------------+
-
-   SPU overlay section LMA:
-
-      +-+-+--------------+----------------+
-      |0|1|     0        |    ADDR [32]   |
-      +-+-+--------------+----------------+
-
-
-   The following macros allow manipulation of addresses in the
-   above formats.  */
-
-#define SPUADDR(spu, addr) \
-  ((spu) != -1? (ULONGEST)1 << 63 | (ULONGEST)(spu) << 32 | (addr) : (addr))
-
-#define SPUADDR_SPU(addr) \
-  (((addr) & (ULONGEST)1 << 63) \
-   ? (int) ((ULONGEST)(addr) >> 32 & 0x3fffffff) \
-   : -1)
-
-#define SPUADDR_ADDR(addr) \
-  (((addr) & (ULONGEST)1 << 63)? (ULONGEST)(addr) & 0xffffffff : (addr))
-
-#define SPU_OVERLAY_LMA ((ULONGEST)1 << 62)
-
-#endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/stack.c ./gdb/stack.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/stack.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/stack.c	2019-09-24 01:49:11.000000000 +0000
@@ -183,9 +183,9 @@ pretty-printers for that value.")
 
 struct backtrace_cmd_options
 {
-  int full = 0;
-  int no_filters = 0;
-  int hide = 0;
+  bool full = false;
+  bool no_filters = false;
+  bool hide = false;
 };
 
 using bt_flag_option_def
@@ -2423,7 +2423,7 @@ print_frame_local_vars (struct frame_inf
 
 struct info_print_options
 {
-  int quiet = false;
+  bool quiet = false;
   char *type_regexp = nullptr;
 
   ~info_print_options ()
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/symfile.c ./gdb/symfile.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/symfile.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/symfile.c	2019-09-24 01:49:11.000000000 +0000
@@ -141,17 +141,9 @@ static const char *print_symbol_loading_
 };
 static const char *print_symbol_loading = print_symbol_loading_full;
 
-/* If non-zero, shared library symbols will be added automatically
-   when the inferior is created, new libraries are loaded, or when
-   attaching to the inferior.  This is almost always what users will
-   want to have happen; but for very large programs, the startup time
-   will be excessive, and so if this is a problem, the user can clear
-   this flag and then add the shared library symbols as needed.  Note
-   that there is a potential for confusion, since if the shared
-   library symbols are not loaded, commands like "info fun" will *not*
-   report all the functions that are actually present.  */
+/* See symfile.h.  */
 
-int auto_solib_add = 1;
+bool auto_solib_add = true;
 
 
 /* Return non-zero if symbol-loading messages should be printed.
@@ -208,15 +200,14 @@ find_lowest_section (bfd *abfd, asection
 {
   asection **lowest = (asection **) obj;
 
-  if (0 == (bfd_get_section_flags (abfd, sect) & (SEC_ALLOC | SEC_LOAD)))
+  if (0 == (bfd_section_flags (sect) & (SEC_ALLOC | SEC_LOAD)))
     return;
   if (!*lowest)
     *lowest = sect;		/* First loadable section */
-  else if (bfd_section_vma (abfd, *lowest) > bfd_section_vma (abfd, sect))
+  else if (bfd_section_vma (*lowest) > bfd_section_vma (sect))
     *lowest = sect;		/* A lower loadable section */
-  else if (bfd_section_vma (abfd, *lowest) == bfd_section_vma (abfd, sect)
-	   && (bfd_section_size (abfd, (*lowest))
-	       <= bfd_section_size (abfd, sect)))
+  else if (bfd_section_vma (*lowest) == bfd_section_vma (sect)
+	   && (bfd_section_size (*lowest) <= bfd_section_size (sect)))
     *lowest = sect;
 }
 
@@ -236,10 +227,10 @@ build_section_addr_info_from_section_tab
       struct bfd_section *asect = stp->the_bfd_section;
       bfd *abfd = asect->owner;
 
-      if (bfd_get_section_flags (abfd, asect) & (SEC_ALLOC | SEC_LOAD)
+      if (bfd_section_flags (asect) & (SEC_ALLOC | SEC_LOAD)
 	  && sap.size () < end - start)
 	sap.emplace_back (stp->addr,
-			  bfd_section_name (abfd, asect),
+			  bfd_section_name (asect),
 			  gdb_bfd_section_index (abfd, asect));
     }
 
@@ -255,9 +246,9 @@ build_section_addr_info_from_bfd (bfd *a
 
   section_addr_info sap;
   for (sec = abfd->sections; sec != NULL; sec = sec->next)
-    if (bfd_get_section_flags (abfd, sec) & (SEC_ALLOC | SEC_LOAD))
-      sap.emplace_back (bfd_get_section_vma (abfd, sec),
-			bfd_get_section_name (abfd, sec),
+    if (bfd_section_flags (sec) & (SEC_ALLOC | SEC_LOAD))
+      sap.emplace_back (bfd_section_vma (sec),
+			bfd_section_name (sec),
 			gdb_bfd_section_index (abfd, sec));
 
   return sap;
@@ -361,10 +352,10 @@ place_section (bfd *abfd, asection *sect
   struct place_section_arg *arg = (struct place_section_arg *) obj;
   CORE_ADDR *offsets = arg->offsets->offsets, start_addr;
   int done;
-  ULONGEST align = ((ULONGEST) 1) << bfd_get_section_alignment (abfd, sect);
+  ULONGEST align = ((ULONGEST) 1) << bfd_section_alignment (sect);
 
   /* We are only interested in allocated sections.  */
-  if ((bfd_get_section_flags (abfd, sect) & SEC_ALLOC) == 0)
+  if ((bfd_section_flags (sect) & SEC_ALLOC) == 0)
     return;
 
   /* If the user specified an offset, honor it.  */
@@ -388,7 +379,7 @@ place_section (bfd *abfd, asection *sect
 	  continue;
 
 	/* We can only conflict with allocated sections.  */
-	if ((bfd_get_section_flags (abfd, cur_sec) & SEC_ALLOC) == 0)
+	if ((bfd_section_flags (cur_sec) & SEC_ALLOC) == 0)
 	  continue;
 
 	/* If the section offset is 0, either the section has not been placed
@@ -398,10 +389,10 @@ place_section (bfd *abfd, asection *sect
 	  continue;
 
 	/* If this section would overlap us, then we must move up.  */
-	if (start_addr + bfd_get_section_size (sect) > offsets[indx]
-	    && start_addr < offsets[indx] + bfd_get_section_size (cur_sec))
+	if (start_addr + bfd_section_size (sect) > offsets[indx]
+	    && start_addr < offsets[indx] + bfd_section_size (cur_sec))
 	  {
-	    start_addr = offsets[indx] + bfd_get_section_size (cur_sec);
+	    start_addr = offsets[indx] + bfd_section_size (cur_sec);
 	    start_addr = (start_addr + align - 1) & -align;
 	    done = 0;
 	    break;
@@ -413,7 +404,7 @@ place_section (bfd *abfd, asection *sect
   while (!done);
 
   offsets[gdb_bfd_section_index (abfd, sect)] = start_addr;
-  arg->lowest = start_addr + bfd_get_section_size (sect);
+  arg->lowest = start_addr + bfd_section_size (sect);
 }
 
 /* Store section_addr_info as prepared (made relative and with SECTINDEX
@@ -518,7 +509,7 @@ addr_info_make_relative (section_addr_in
       lower_offset = 0;
     }
   else
-    lower_offset = bfd_section_vma (bfd_get_filename (abfd), lower_sect);
+    lower_offset = bfd_section_vma (lower_sect);
 
   /* Create ADDRS_TO_ABFD_ADDRS array to map the sections in ADDRS to sections
      in ABFD.  Section names are not unique - there can be multiple sections of
@@ -666,7 +657,7 @@ default_symfile_offsets (struct objfile 
       for (cur_sec = abfd->sections; cur_sec != NULL; cur_sec = cur_sec->next)
 	/* We do not expect this to happen; just skip this step if the
 	   relocatable file has a section with an assigned VMA.  */
-	if (bfd_section_vma (abfd, cur_sec) != 0)
+	if (bfd_section_vma (cur_sec) != 0)
 	  break;
 
       if (cur_sec == NULL)
@@ -708,10 +699,10 @@ default_symfile_offsets (struct objfile 
 	  for (cur_sec = abfd->sections; cur_sec != NULL;
 	       cur_sec = cur_sec->next)
 	    {
-	      if ((bfd_get_section_flags (abfd, cur_sec) & SEC_ALLOC) == 0)
+	      if ((bfd_section_flags (cur_sec) & SEC_ALLOC) == 0)
 		continue;
 
-	      bfd_set_section_vma (abfd, cur_sec, offsets[cur_sec->index]);
+	      bfd_set_section_vma (cur_sec, offsets[cur_sec->index]);
 	      exec_set_section_address (bfd_get_filename (abfd),
 					cur_sec->index,
 					offsets[cur_sec->index]);
@@ -748,7 +739,7 @@ default_symfile_segments (bfd *abfd)
   /* Make sure there is at least one loadable section in the file.  */
   for (sect = abfd->sections; sect != NULL; sect = sect->next)
     {
-      if ((bfd_get_section_flags (abfd, sect) & SEC_ALLOC) == 0)
+      if ((bfd_section_flags (sect) & SEC_ALLOC) == 0)
 	continue;
 
       break;
@@ -756,8 +747,8 @@ default_symfile_segments (bfd *abfd)
   if (sect == NULL)
     return NULL;
 
-  low = bfd_get_section_vma (abfd, sect);
-  high = low + bfd_get_section_size (sect);
+  low = bfd_section_vma (sect);
+  high = low + bfd_section_size (sect);
 
   data = XCNEW (struct symfile_segment_data);
   data->num_segments = 1;
@@ -771,14 +762,14 @@ default_symfile_segments (bfd *abfd)
     {
       CORE_ADDR vma;
 
-      if ((bfd_get_section_flags (abfd, sect) & SEC_ALLOC) == 0)
+      if ((bfd_section_flags (sect) & SEC_ALLOC) == 0)
 	continue;
 
-      vma = bfd_get_section_vma (abfd, sect);
+      vma = bfd_section_vma (sect);
       if (vma < low)
 	low = vma;
-      if (vma + bfd_get_section_size (sect) > high)
-	high = vma + bfd_get_section_size (sect);
+      if (vma + bfd_section_size (sect) > high)
+	high = vma + bfd_section_size (sect);
 
       data->segment_info[i] = 1;
     }
@@ -880,9 +871,9 @@ init_entry_point_info (struct objfile *o
 	{
 	  struct bfd_section *sect = osect->the_bfd_section;
 
-	  if (entry_point >= bfd_get_section_vma (objfile->obfd, sect)
-	      && entry_point < (bfd_get_section_vma (objfile->obfd, sect)
-				+ bfd_get_section_size (sect)))
+	  if (entry_point >= bfd_section_vma (sect)
+	      && entry_point < (bfd_section_vma (sect)
+				+ bfd_section_size (sect)))
 	    {
 	      ei->the_bfd_section_index
 		= gdb_bfd_section_index (objfile->obfd, sect);
@@ -1273,7 +1264,7 @@ symbol_file_clear (int from_tty)
 
 /* See symfile.h.  */
 
-int separate_debug_file_debug = 0;
+bool separate_debug_file_debug = false;
 
 static int
 separate_debug_file_exists (const std::string &name, unsigned long crc,
@@ -1886,7 +1877,7 @@ add_section_size_callback (bfd *abfd, as
 {
   bfd_size_type *sum = (bfd_size_type *) data;
 
-  *sum += bfd_get_section_size (asec);
+  *sum += bfd_section_size (asec);
 }
 
 /* Opaque data for load_progress.  */
@@ -2009,16 +2000,16 @@ static void
 load_section_callback (bfd *abfd, asection *asec, void *data)
 {
   struct load_section_data *args = (struct load_section_data *) data;
-  bfd_size_type size = bfd_get_section_size (asec);
-  const char *sect_name = bfd_get_section_name (abfd, asec);
+  bfd_size_type size = bfd_section_size (asec);
+  const char *sect_name = bfd_section_name (asec);
 
-  if ((bfd_get_section_flags (abfd, asec) & SEC_LOAD) == 0)
+  if ((bfd_section_flags (asec) & SEC_LOAD) == 0)
     return;
 
   if (size == 0)
     return;
 
-  ULONGEST begin = bfd_section_lma (abfd, asec) + args->load_offset;
+  ULONGEST begin = bfd_section_lma (asec) + args->load_offset;
   ULONGEST end = begin + size;
   gdb_byte *buffer = (gdb_byte *) xmalloc (size);
   bfd_get_section_contents (abfd, asec, buffer, 0, size);
@@ -2996,9 +2987,8 @@ section_is_overlay (struct obj_section *
     {
       asection *bfd_section = section->the_bfd_section;
 
-      if (bfd_section_lma (abfd, bfd_section) != 0
-	  && bfd_section_lma (abfd, bfd_section)
-	     != bfd_section_vma (abfd, bfd_section))
+      if (bfd_section_lma (bfd_section) != 0
+	  && bfd_section_lma (bfd_section) != bfd_section_vma (bfd_section))
 	return 1;
     }
 
@@ -3069,15 +3059,14 @@ pc_in_unmapped_range (CORE_ADDR pc, stru
 {
   if (section_is_overlay (section))
     {
-      bfd *abfd = section->objfile->obfd;
       asection *bfd_section = section->the_bfd_section;
 
       /* We assume the LMA is relocated by the same offset as the VMA.  */
-      bfd_vma size = bfd_get_section_size (bfd_section);
+      bfd_vma size = bfd_section_size (bfd_section);
       CORE_ADDR offset = obj_section_offset (section);
 
-      if (bfd_get_section_lma (abfd, bfd_section) + offset <= pc
-	  && pc < bfd_get_section_lma (abfd, bfd_section) + offset + size)
+      if (bfd_section_lma (bfd_section) + offset <= pc
+	  && pc < bfd_section_lma (bfd_section) + offset + size)
 	return 1;
     }
 
@@ -3125,8 +3114,8 @@ overlay_unmapped_address (CORE_ADDR pc, 
     {
       asection *bfd_section = section->the_bfd_section;
 
-      return pc + bfd_section_lma (abfd, bfd_section)
-		- bfd_section_vma (abfd, bfd_section);
+      return (pc + bfd_section_lma (bfd_section)
+	      - bfd_section_vma (bfd_section));
     }
 
   return pc;
@@ -3143,8 +3132,8 @@ overlay_mapped_address (CORE_ADDR pc, st
     {
       asection *bfd_section = section->the_bfd_section;
 
-      return pc + bfd_section_vma (abfd, bfd_section)
-		- bfd_section_lma (abfd, bfd_section);
+      return (pc + bfd_section_vma (bfd_section)
+	      - bfd_section_lma (bfd_section));
     }
 
   return pc;
@@ -3249,10 +3238,10 @@ list_overlays_command (const char *args,
 	      bfd_vma lma, vma;
 	      int size;
 
-	      vma = bfd_section_vma (objfile->obfd, osect->the_bfd_section);
-	      lma = bfd_section_lma (objfile->obfd, osect->the_bfd_section);
-	      size = bfd_get_section_size (osect->the_bfd_section);
-	      name = bfd_section_name (objfile->obfd, osect->the_bfd_section);
+	      vma = bfd_section_vma (osect->the_bfd_section);
+	      lma = bfd_section_lma (osect->the_bfd_section);
+	      size = bfd_section_size (osect->the_bfd_section);
+	      name = bfd_section_name (osect->the_bfd_section);
 
 	      printf_filtered ("Section %s, loaded at ", name);
 	      fputs_filtered (paddress (gdbarch, lma), gdb_stdout);
@@ -3290,8 +3279,7 @@ map_overlay_command (const char *args, i
   /* First, find a section matching the user supplied argument.  */
   for (objfile *obj_file : current_program_space->objfiles ())
     ALL_OBJFILE_OSECTIONS (obj_file, sec)
-      if (!strcmp (bfd_section_name (obj_file->obfd, sec->the_bfd_section),
-		   args))
+      if (!strcmp (bfd_section_name (sec->the_bfd_section), args))
 	{
 	  /* Now, check to see if the section is an overlay.  */
 	  if (!section_is_overlay (sec))
@@ -3309,8 +3297,7 @@ map_overlay_command (const char *args, i
 		{
 		  if (info_verbose)
 		    printf_unfiltered (_("Note: section %s unmapped by overlap\n"),
-				       bfd_section_name (obj_file->obfd,
-							 sec2->the_bfd_section));
+				       bfd_section_name (sec2->the_bfd_section));
 		  sec2->ovly_mapped = 0; /* sec2 overlaps sec: unmap sec2.  */
 		}
 	  return;
@@ -3338,7 +3325,7 @@ unmap_overlay_command (const char *args,
   /* First, find a section matching the user supplied argument.  */
   for (objfile *objfile : current_program_space->objfiles ())
     ALL_OBJFILE_OSECTIONS (objfile, sec)
-      if (!strcmp (bfd_section_name (objfile->obfd, sec->the_bfd_section), args))
+      if (!strcmp (bfd_section_name (sec->the_bfd_section), args))
 	{
 	  if (!sec->ovly_mapped)
 	    error (_("Section %s is not mapped"), args);
@@ -3547,14 +3534,14 @@ simple_overlay_update_1 (struct obj_sect
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
 
   for (i = 0; i < cache_novlys; i++)
-    if (cache_ovly_table[i][VMA] == bfd_section_vma (obfd, bsect)
-	&& cache_ovly_table[i][LMA] == bfd_section_lma (obfd, bsect))
+    if (cache_ovly_table[i][VMA] == bfd_section_vma (bsect)
+	&& cache_ovly_table[i][LMA] == bfd_section_lma (bsect))
       {
 	read_target_long_array (cache_ovly_table_base + i * word_size,
 				(unsigned int *) cache_ovly_table[i],
 				4, word_size, byte_order);
-	if (cache_ovly_table[i][VMA] == bfd_section_vma (obfd, bsect)
-	    && cache_ovly_table[i][LMA] == bfd_section_lma (obfd, bsect))
+	if (cache_ovly_table[i][VMA] == bfd_section_vma (bsect)
+	    && cache_ovly_table[i][LMA] == bfd_section_lma (bsect))
 	  {
 	    osect->ovly_mapped = cache_ovly_table[i][MAPPED];
 	    return 1;
@@ -3615,8 +3602,8 @@ simple_overlay_update (struct obj_sectio
 	  asection *bsect = osect->the_bfd_section;
 
 	  for (i = 0; i < cache_novlys; i++)
-	    if (cache_ovly_table[i][VMA] == bfd_section_vma (obfd, bsect)
-		&& cache_ovly_table[i][LMA] == bfd_section_lma (obfd, bsect))
+	    if (cache_ovly_table[i][VMA] == bfd_section_vma (bsect)
+		&& cache_ovly_table[i][LMA] == bfd_section_lma (bsect))
 	      { /* obj_section matches i'th entry in ovly_table.  */
 		osect->ovly_mapped = cache_ovly_table[i][MAPPED];
 		break;		/* finished with inner for loop: break out.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/symfile-debug.c ./gdb/symfile-debug.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/symfile-debug.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/symfile-debug.c	2019-09-24 01:49:11.000000000 +0000
@@ -48,8 +48,8 @@ struct debug_sym_fns_data
 static const struct objfile_key<debug_sym_fns_data>
   symfile_debug_objfile_data_key;
 
-/* If non-zero all calls to the symfile functions are logged.  */
-static int debug_symfile = 0;
+/* If true all calls to the symfile functions are logged.  */
+static bool debug_symfile = false;
 
 /* Return non-zero if symfile debug logging is installed.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/symfile.h ./gdb/symfile.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/symfile.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/symfile.h	2019-09-24 01:49:11.000000000 +0000
@@ -439,7 +439,7 @@ extern section_addr_info
 
 			/*   Variables   */
 
-/* If non-zero, shared library symbols will be added automatically
+/* If true, shared library symbols will be added automatically
    when the inferior is created, new libraries are loaded, or when
    attaching to the inferior.  This is almost always what users will
    want to have happen; but for very large programs, the startup time
@@ -449,7 +449,7 @@ extern section_addr_info
    library symbols are not loaded, commands like "info fun" will *not*
    report all the functions that are actually present.  */
 
-extern int auto_solib_add;
+extern bool auto_solib_add;
 
 /* From symfile.c */
 
@@ -625,6 +625,6 @@ extern gdb_bfd_ref_ptr find_separate_deb
 
 /* True if we are printing debug output about separate debug info files.  */
 
-extern int separate_debug_file_debug;
+extern bool separate_debug_file_debug;
 
 #endif /* !defined(SYMFILE_H) */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/symfile-mem.c ./gdb/symfile-mem.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/symfile-mem.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/symfile-mem.c	2019-09-24 01:49:11.000000000 +0000
@@ -111,9 +111,9 @@ symbol_file_add_from_memory (struct bfd 
 
   section_addr_info sai;
   for (sec = nbfd->sections; sec != NULL; sec = sec->next)
-    if ((bfd_get_section_flags (nbfd, sec) & (SEC_ALLOC|SEC_LOAD)) != 0)
-      sai.emplace_back (bfd_get_section_vma (nbfd, sec) + loadbase,
-			bfd_get_section_name (nbfd, sec),
+    if ((bfd_section_flags (sec) & (SEC_ALLOC|SEC_LOAD)) != 0)
+      sai.emplace_back (bfd_section_vma (sec) + loadbase,
+			bfd_section_name (sec),
 			sec->index);
 
   if (from_tty)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/symmisc.c ./gdb/symmisc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/symmisc.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/symmisc.c	2019-09-24 01:49:11.000000000 +0000
@@ -244,8 +244,7 @@ dump_msymbols (struct objfile *objfile, 
 	{
 	  if (section->the_bfd_section != NULL)
 	    fprintf_filtered (outfile, " section %s",
-			      bfd_section_name (objfile->obfd,
-						section->the_bfd_section));
+			      bfd_section_name (section->the_bfd_section));
 	  else
 	    fprintf_filtered (outfile, " spurious section %ld",
 			      (long) (section - objfile->sections));
@@ -525,8 +524,7 @@ print_symbol (struct gdbarch *gdbarch, s
 		      outfile);
       if (section)
 	fprintf_filtered (outfile, " section %s\n",
-			  bfd_section_name (section->the_bfd_section->owner,
-					    section->the_bfd_section));
+			  bfd_section_name (section->the_bfd_section));
       else
 	fprintf_filtered (outfile, "\n");
       return;
@@ -596,8 +594,7 @@ print_symbol (struct gdbarch *gdbarch, s
 			  outfile);
 	  if (section)
 	    fprintf_filtered (outfile, " section %s",
-			      bfd_section_name (section->the_bfd_section->owner,
-						section->the_bfd_section));
+			      bfd_section_name (section->the_bfd_section));
 	  break;
 
 	case LOC_REGISTER:
@@ -638,8 +635,7 @@ print_symbol (struct gdbarch *gdbarch, s
 			  outfile);
 	  if (section)
 	    fprintf_filtered (outfile, " section %s",
-			      bfd_section_name (section->the_bfd_section->owner,
-						section->the_bfd_section));
+			      bfd_section_name (section->the_bfd_section));
 	  break;
 
 	case LOC_BLOCK:
@@ -655,8 +651,7 @@ print_symbol (struct gdbarch *gdbarch, s
 			  outfile);
 	  if (section)
 	    fprintf_filtered (outfile, " section %s",
-			      bfd_section_name (section->the_bfd_section->owner,
-						section->the_bfd_section));
+			      bfd_section_name (section->the_bfd_section));
 	  break;
 
 	case LOC_COMPUTED:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/symtab.c ./gdb/symtab.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/symtab.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/symtab.c	2019-09-24 01:49:11.000000000 +0000
@@ -241,10 +241,10 @@ static unsigned int new_symbol_cache_siz
    the original value from here.  */
 static unsigned int symbol_cache_size = DEFAULT_SYMBOL_CACHE_SIZE;
 
-/* Non-zero if a file may be known by two different basenames.
+/* True if a file may be known by two different basenames.
    This is the uncommon case, and significantly slows down gdb.
    Default set to "off" to not slow down the common case.  */
-int basenames_may_differ = 0;
+bool basenames_may_differ = false;
 
 /* Allow the user to configure the debugger behavior with respect
    to multiple-choice menus when more than one symbol matches during
@@ -1033,20 +1033,17 @@ matching_obj_sections (struct obj_sectio
      have the same size, address, and name.  We can't compare section indexes,
      which would be more reliable, because some sections may have been
      stripped.  */
-  if (bfd_get_section_size (first) != bfd_get_section_size (second))
+  if (bfd_section_size (first) != bfd_section_size (second))
     return 0;
 
   /* In-memory addresses may start at a different offset, relativize them.  */
-  if (bfd_get_section_vma (first->owner, first)
-      - bfd_get_start_address (first->owner)
-      != bfd_get_section_vma (second->owner, second)
-	 - bfd_get_start_address (second->owner))
+  if (bfd_section_vma (first) - bfd_get_start_address (first->owner)
+      != bfd_section_vma (second) - bfd_get_start_address (second->owner))
     return 0;
 
-  if (bfd_get_section_name (first->owner, first) == NULL
-      || bfd_get_section_name (second->owner, second) == NULL
-      || strcmp (bfd_get_section_name (first->owner, first),
-		 bfd_get_section_name (second->owner, second)) != 0)
+  if (bfd_section_name (first) == NULL
+      || bfd_section_name (second) == NULL
+      || strcmp (bfd_section_name (first), bfd_section_name (second)) != 0)
     return 0;
 
   /* Otherwise check that they are in corresponding objfiles.  */
@@ -2637,11 +2634,7 @@ lookup_global_or_static_symbol (const ch
       return result;
     }
 
-  /* Call library-specific lookup procedure.  */
-  if (objfile != NULL)
-    result = solib_global_lookup (objfile, name, domain);
-
-  /* If that didn't work go a global search (of global blocks, heh).  */
+  /* Do a global search (of global blocks, heh).  */
   if (result.symbol == NULL)
     {
       memset (&lookup_data, 0, sizeof (lookup_data));
@@ -4131,10 +4124,10 @@ operator_chars (const char *p, const cha
 struct filename_partial_match_opts
 {
   /* Only match the directory name part.   */
-  int dirname = false;
+  bool dirname = false;
 
   /* Only match the basename part.  */
-  int basename = false;
+  bool basename = false;
 };
 
 /* Data structure to maintain printing state for output_source_filename.  */
@@ -4912,8 +4905,8 @@ symtab_symbol_info (bool quiet, bool exc
 
 struct info_print_options
 {
-  int quiet = false;
-  int exclude_minsyms = false;
+  bool quiet = false;
+  bool exclude_minsyms = false;
   char *type_regexp = nullptr;
 
   ~info_print_options ()
@@ -5010,7 +5003,7 @@ info_functions_command (const char *args
 
 struct info_types_options
 {
-  int quiet = false;
+  bool quiet = false;
 };
 
 /* The options used by the 'info types' command.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/symtab.h ./gdb/symtab.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/symtab.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/symtab.h	2019-09-24 01:49:11.000000000 +0000
@@ -544,7 +544,7 @@ extern const char *symbol_demangled_name
 
 #define SYMBOL_PRINT_NAME(symbol)					\
   (demangle ? SYMBOL_NATURAL_NAME (symbol) : SYMBOL_LINKAGE_NAME (symbol))
-extern int demangle;
+extern bool demangle;
 
 /* Macro that returns the name to be used when sorting and searching symbols.
    In C++, we search for the demangled form of a name,
@@ -2064,7 +2064,7 @@ extern unsigned int symtab_create_debug;
 
 extern unsigned int symbol_lookup_debug;
 
-extern int basenames_may_differ;
+extern bool basenames_may_differ;
 
 int compare_filenames_for_search (const char *filename,
 				  const char *search_name);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/target.c ./gdb/target.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/target.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/target.c	2019-09-24 01:49:11.000000000 +0000
@@ -128,10 +128,10 @@ current_top_target ()
 
 static struct cmd_list_element *targetlist = NULL;
 
-/* Nonzero if we should trust readonly sections from the
+/* True if we should trust readonly sections from the
    executable when reading memory.  */
 
-static int trust_readonly = 0;
+static bool trust_readonly = false;
 
 /* Nonzero if we should show true memory content including
    memory breakpoint inserted by gdb.  */
@@ -142,17 +142,17 @@ static int show_memory_breakpoints = 0;
    operations; they are useful for targets that need to prevent
    inadvertant disruption, such as in non-stop mode.  */
 
-int may_write_registers = 1;
+bool may_write_registers = true;
 
-int may_write_memory = 1;
+bool may_write_memory = true;
 
-int may_insert_breakpoints = 1;
+bool may_insert_breakpoints = true;
 
-int may_insert_tracepoints = 1;
+bool may_insert_tracepoints = true;
 
-int may_insert_fast_tracepoints = 1;
+bool may_insert_fast_tracepoints = true;
 
-int may_stop = 1;
+bool may_stop = true;
 
 /* Non-zero if we want to see trace of target level stuff.  */
 
@@ -1042,9 +1042,7 @@ memory_xfer_partial_1 (struct target_ops
 
       secp = target_section_by_addr (ops, memaddr);
       if (secp != NULL
-	  && (bfd_get_section_flags (secp->the_bfd_section->owner,
-				     secp->the_bfd_section)
-	      & SEC_READONLY))
+	  && (bfd_section_flags (secp->the_bfd_section) & SEC_READONLY))
 	{
 	  table = target_get_section_table (ops);
 	  return section_table_xfer_memory_partial (readbuf, writebuf,
@@ -2374,7 +2372,7 @@ target_require_runnable (void)
 
 /* Whether GDB is allowed to fall back to the default run target for
    "run", "attach", etc. when no target is connected yet.  */
-static int auto_connect_native_target = 1;
+static bool auto_connect_native_target = true;
 
 static void
 show_auto_connect_native_target (struct ui_file *file, int from_tty,
@@ -3356,9 +3354,9 @@ void
 target_stop_and_wait (ptid_t ptid)
 {
   struct target_waitstatus status;
-  int was_non_stop = non_stop;
+  bool was_non_stop = non_stop;
 
-  non_stop = 1;
+  non_stop = true;
   target_stop (ptid);
 
   memset (&status, 0, sizeof (status));
@@ -3841,11 +3839,11 @@ target_thread_events (int enable)
 
 /* Controls if targets can report that they can/are async.  This is
    just for maintainers to use when debugging gdb.  */
-int target_async_permitted = 1;
+bool target_async_permitted = true;
 
 /* The set command writes to this variable.  If the inferior is
    executing, target_async_permitted is *not* updated.  */
-static int target_async_permitted_1 = 1;
+static bool target_async_permitted_1 = true;
 
 static void
 maint_set_target_async_command (const char *args, int from_tty,
@@ -3933,12 +3931,12 @@ maint_show_target_non_stop_command (stru
 
 /* Temporary copies of permission settings.  */
 
-static int may_write_registers_1 = 1;
-static int may_write_memory_1 = 1;
-static int may_insert_breakpoints_1 = 1;
-static int may_insert_tracepoints_1 = 1;
-static int may_insert_fast_tracepoints_1 = 1;
-static int may_stop_1 = 1;
+static bool may_write_registers_1 = true;
+static bool may_write_memory_1 = true;
+static bool may_insert_breakpoints_1 = true;
+static bool may_insert_tracepoints_1 = true;
+static bool may_insert_fast_tracepoints_1 = true;
+static bool may_stop_1 = true;
 
 /* Make the user-set values match the real values again.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/target-dcache.c ./gdb/target-dcache.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/target-dcache.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/target-dcache.c	2019-09-24 01:49:11.000000000 +0000
@@ -77,7 +77,7 @@ target_dcache_get_or_init (void)
 }
 
 /* The option sets this.  */
-static int stack_cache_enabled_1 = 1;
+static bool stack_cache_enabled_1 = true;
 /* And set_stack_cache updates this.
    The reason for the separation is so that we don't flush the cache for
    on->on transitions.  */
@@ -114,7 +114,7 @@ stack_cache_enabled_p (void)
 
 /* The option sets this.  */
 
-static int code_cache_enabled_1 = 1;
+static bool code_cache_enabled_1 = true;
 
 /* And set_code_cache updates this.
    The reason for the separation is so that we don't flush the cache for
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/target.h ./gdb/target.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/target.h	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/target.h	2019-09-24 01:49:11.000000000 +0000
@@ -137,8 +137,6 @@ enum target_object
 {
   /* AVR target specific transfer.  See "avr-tdep.c" and "remote.c".  */
   TARGET_OBJECT_AVR,
-  /* SPU target specific transfer.  See "spu-tdep.c".  */
-  TARGET_OBJECT_SPU,
   /* Transfer up-to LEN bytes of memory starting at OFFSET.  */
   TARGET_OBJECT_MEMORY,
   /* Memory, avoiding GDB's data cache and trusting the executable.
@@ -1802,7 +1800,7 @@ extern int target_has_execution_current 
   (current_top_target ()->get_thread_control_capabilities () & tc_schedlock)
 
 /* Controls whether async mode is permitted.  */
-extern int target_async_permitted;
+extern bool target_async_permitted;
 
 /* Can the target support asynchronous execution?  */
 #define target_can_async_p() (current_top_target ()->can_async_p ())
@@ -2482,12 +2480,12 @@ extern int remote_timeout;
 extern scoped_restore_tmpl<int>
     make_scoped_restore_show_memory_breakpoints (int show);
 
-extern int may_write_registers;
-extern int may_write_memory;
-extern int may_insert_breakpoints;
-extern int may_insert_tracepoints;
-extern int may_insert_fast_tracepoints;
-extern int may_stop;
+extern bool may_write_registers;
+extern bool may_write_memory;
+extern bool may_insert_breakpoints;
+extern bool may_insert_tracepoints;
+extern bool may_insert_fast_tracepoints;
+extern bool may_stop;
 
 extern void update_target_permissions (void);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/ChangeLog ./gdb/testsuite/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/ChangeLog	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/ChangeLog	2019-09-24 01:49:11.000000000 +0000
@@ -1,3 +1,67 @@
+2019-09-22  Tom de Vries  <tdevries@suse.de>
+
+	* gdb.base/restore.exp: Allow register variables to be optimized out at
+	-O0.
+
+2019-09-20  Ulrich Weigand  <uweigand@de.ibm.com>
+
+	* gdb.arch/spu-info.exp: Remove file.
+	* gdb.arch/spu-info.c: Remove file.
+	* gdb.arch/spu-ls.exp: Remove file.
+	* gdb.arch/spu-ls.c: Remove file.
+
+	* gdb.asm/asm-source.exp: Remove support for spu*-*-*.
+	* gdb.asm/spu.inc: Remove file.
+
+	* gdb.base/dump.exp: Remove support for spu*-*-*.
+	* gdb.base/stack-checking.exp: Likewise.
+	* gdb.base/overlays.exp: Likewise.
+	* gdb.base/ovlymgr.c: Likewise.
+	* gdb.base/spu.ld: Remove file.
+
+	* gdb.cp/bs15503.exp: Remove support for spu*-*-*.
+	* gdb.cp/cpexprs.exp: Likewise.
+	* gdb.cp/exception.exp: Likewise.
+	* gdb.cp/gdb2495.exp: Likewise.
+	* gdb.cp/mb-templates.exp: Likewise.
+	* gdb.cp/pr9167.exp: Likewise.
+	* gdb.cp/userdef.exp: Likewise.
+
+	* gdb.xml/tdesc-regs.exp: Remove support for spu*-*-*.
+
+	* gdb.cell: Remove directory.
+	* lib/cell.exp: Remove file.
+
+2019-09-19  Tom de Vries  <tdevries@suse.de>
+
+	* lib/gdb.exp (gdb_test): Eliminate "^FOOBAR$" pattern.
+
+2019-09-19  Tom de Vries  <tdevries@suse.de>
+
+	* lib/gdbserver-support.exp (gdb_target_cmd): Fix argument passing.
+
+2019-09-19  Tom de Vries  <tdevries@suse.de>
+
+	* lib/gdbserver-support.exp (gdb_target_cmd_ext): Return 2 (meaning
+	UNSUPPORTED) for 'Network is unreachable' message.  Factor out of ...
+	(gdb_target_cmd): ... here.
+	* gdb.server/server-connect.exp: Use gdb_target_cmd_ext, handle return
+	value 2.
+
+2019-09-18  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* gdb.base/source-dir.exp: Avoid having directory names in test
+	names.
+
+2019-09-17  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* gdb.base/source-dir.exp: Add extra test for mapped compilation
+	directory.
+
+2019-09-17  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* gdb.base/list-missing-source.exp: New file.
+
 2019-09-14  Tom de Vries  <tdevries@suse.de>
 
 	PR teststuite/24599
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.arch/spu-info.c ./gdb/testsuite/gdb.arch/spu-info.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.arch/spu-info.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/spu-info.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,235 +0,0 @@
-/* Copyright 2007-2019 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.
-
-   Contributed by Markus Deuling <deuling@de.ibm.com>.
-   Tests for 'info spu' commands.  */
-
-#include <stdio.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <spu_mfcio.h>
-
-
-/* PPE-assisted call interface.  */
-void
-send_to_ppe (unsigned int signalcode, unsigned int opcode, void *data)
-{
-  __vector unsigned int stopfunc =
-    {
-      signalcode,     /* stop */
-      (opcode << 24) | (unsigned int) data,
-      0x4020007f,     /* nop */
-      0x35000000      /* bi $0 */
-    };
-
-  void (*f) (void) = (void *) &stopfunc;
-  asm ("sync");
-  f ();
-}
-
-/* PPE-assisted call to mmap from SPU.  */
-unsigned long long
-mmap_ea (unsigned long long start, size_t length,
-         int prot, int flags, int fd, off_t offset)
-{
-  struct mmap_args
-    {
-      unsigned long long start __attribute__ ((aligned (16)));
-      size_t length __attribute__ ((aligned (16)));
-      int prot __attribute__ ((aligned (16)));
-      int flags __attribute__ ((aligned (16)));
-      int fd __attribute__ ((aligned (16)));
-      off_t offset __attribute__ ((aligned (16)));
-    } args;
-
-  args.start = start;
-  args.length = length;
-  args.prot = prot;
-  args.flags = flags;
-  args.fd = fd;
-  args.offset = offset;
-
-  send_to_ppe (0x2101, 11, &args);
-  return args.start;
-}
-
-/* This works only in a Linux environment with <= 1024 open
-   file descriptors for one process. Result is the file
-   descriptor for the current context if available.  */
-int
-find_context_fd (void)
-{
-  int dir_fd = -1;
-  int i;
-
-  for (i = 0; i < 1024; i++)
-    {
-      struct stat stat;
-
-      if (fstat (i, &stat) < 0)
-        break;
-      if (S_ISDIR (stat.st_mode))
-        dir_fd = dir_fd == -1 ? i : -2;
-    }
-  return dir_fd < 0 ? -1 : dir_fd;
-}
-
-/* Open the context file and return the file handler.  */
-int
-open_context_file (int context_fd, char *name, int flags)
-{
-  char buf[128];
-
-  if (context_fd < 0)
-    return -1;
-
-  sprintf (buf, "/proc/self/fd/%d/%s", context_fd, name);
-  return open (buf, flags);
-}
-
-
-int
-do_event_test ()
-{
-  spu_write_event_mask (MFC_MULTI_SRC_SYNC_EVENT); /* 0x1000 */  /* Marker Event */
-  spu_write_event_mask (MFC_PRIV_ATTN_EVENT); /* 0x0800 */
-  spu_write_event_mask (MFC_LLR_LOST_EVENT); /* 0x0400 */
-  spu_write_event_mask (MFC_SIGNAL_NOTIFY_1_EVENT); /* 0x0200 */
-  spu_write_event_mask (MFC_SIGNAL_NOTIFY_2_EVENT); /* 0x0100 */
-  spu_write_event_mask (MFC_OUT_MBOX_AVAILABLE_EVENT); /* 0x0080 */
-  spu_write_event_mask (MFC_OUT_INTR_MBOX_AVAILABLE_EVENT); /* 0x0040 */
-  spu_write_event_mask (MFC_DECREMENTER_EVENT); /* 0x0020 */
-  spu_write_event_mask (MFC_IN_MBOX_AVAILABLE_EVENT); /* 0x0010 */
-  spu_write_event_mask (MFC_COMMAND_QUEUE_AVAILABLE_EVENT); /* 0x0008 */
-  spu_write_event_mask (MFC_LIST_STALL_NOTIFY_EVENT); /* 0x0002 */
-  spu_write_event_mask (MFC_TAG_STATUS_UPDATE_EVENT); /* 0x0001 */
-
-  return 0;
-}
-
-int
-do_dma_test ()
-{
-  #define MAP_FAILED      (-1ULL)
-  #define PROT_READ       0x1
-  #define MAP_PRIVATE     0x002
-  #define BSIZE 128
-  static char buf[BSIZE] __attribute__ ((aligned (128)));
-  char *file = "/var/tmp/tmp_buf";
-  struct stat fdstat;
-  int fd, cnt;
-  unsigned long long src;
-
-  /* Create a file and fill it with some bytes.  */
-  fd = open (file, O_CREAT | O_RDWR | O_TRUNC, 0777);
-  if (fd == -1)
-    return -1;
-  memset ((void *)buf, '1', BSIZE);
-  write (fd, buf, BSIZE);
-  write (fd, buf, BSIZE);
-  memset ((void *)buf, 0, BSIZE);
-
-  if (fstat (fd, &fdstat) != 0
-      || !fdstat.st_size)
-    return -2;
-
-  src = mmap_ea(0ULL, fdstat.st_size, PROT_READ, MAP_PRIVATE, fd, 0);
-  if (src == MAP_FAILED)
-    return -3;
-
-  /* Copy some data via DMA.  */
-  mfc_get (&buf, src, BSIZE, 5, 0, 0);   /* Marker DMA */
-  mfc_write_tag_mask (1<<5);   /* Marker DMAWait */
-  spu_mfcstat (MFC_TAG_UPDATE_ALL);
-
-  /* Close the file.  */
-  close (fd);
-
-  return cnt;
-}
-
-int
-do_mailbox_test ()
-{
-  /* Write to SPU Outbound Mailbox.  */
-  if (spu_stat_out_mbox ())            /* Marker Mbox */
-    spu_write_out_mbox (0x12345678);
-
-  /* Write to SPU Outbound Interrupt Mailbox.  */
-  if (spu_stat_out_intr_mbox ())
-    spu_write_out_intr_mbox (0x12345678);
-
-  return 0;       /* Marker MboxEnd */
-}
-
-int
-do_signal_test ()
-{
-  struct stat fdstat;
-  int context_fd = find_context_fd ();
-  int ret, buf, fd;
-
-  buf = 23;    /* Marker Signal */
-  /* Write to signal1.  */
-  fd = open_context_file (context_fd, "signal1", O_RDWR);
-  if (fstat (fd, &fdstat) != 0)
-    return -1;
-  ret = write (fd, &buf, sizeof (int));
-  close (fd);  /* Marker Signal1 */
-
-  /* Write to signal2.  */
-  fd = open_context_file (context_fd, "signal2", O_RDWR);
-  if (fstat (fd, &fdstat) != 0)
-    return -1;
-  ret = write (fd, &buf, sizeof (int));
-  close (fd);  /* Marker Signal2 */
-
-  /* Read signal1.  */
-  if (spu_stat_signal1 ())
-    ret = spu_read_signal1 ();
-
-  /* Read signal2.  */
-  if (spu_stat_signal2 ())
-    ret = spu_read_signal2 ();   /* Marker SignalRead */
-
-  return 0;
-}
-
-int
-main (unsigned long long speid, unsigned long long argp, 
-      unsigned long long envp)
-{
-  int res;
-
-  /* info spu event  */
-  res = do_event_test ();
-
-  /* info spu dma  */
-  res = do_dma_test ();
-
-  /* info spu mailbox  */
-  res = do_mailbox_test ();
-
-  /* info spu signal  */
-  res = do_signal_test ();
-
-  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-8.3.50.20190917/gdb/testsuite/gdb.arch/spu-info.exp ./gdb/testsuite/gdb.arch/spu-info.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.arch/spu-info.exp	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/spu-info.exp	1970-01-01 00:00:00.000000000 +0000
@@ -1,241 +0,0 @@
-# Copyright 2007-2019 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.
-#
-# Contributed by Markus Deuling <deuling@de.ibm.com>.
-# Tests for 'info spu' commands.
-
-
-if { ![istarget "spu-*-elf"] } then {
-  verbose "Skipping SPU-only testcase"
-  return
-}
-
-standard_testfile
-
-if { [prepare_for_testing "failed to prepare" $testfile $srcfile {debug}] } {
-  fail "cannot compile test program"
-  return -1
-}
-
-
-# Continue to MARKER
-proc c_to { marker } {
-  global srcfile
-  set line [gdb_get_line_number $marker]
-  gdb_test "break $line" \
-	   "Breakpoint.*at.*file.*$srcfile.*line $line.*" \
-	   "break $line"
-  gdb_test "continue" \
-	   "Continuing.*Breakpoint.*at.*$srcfile.*$line.*" \
-	   "continue to $line"
-}
-
-
-
-if ![runto_main] then {
-  fail "can't run to main"
-  return 0
-}
-
-# Check the help.
-gdb_test "info spu" \
-	 ".*info spu.* must be followed by the name of an SPU facility.*" \
-	 "info spu"
-gdb_test "help info spu" \
-	 "Various SPU specific commands.*List of info spu subcommands.*" \
-	 "help info spu"
-
-gdb_test "help info spu dma" \
-	 "Display MFC DMA status." \
-	 "help info spu dma"
-gdb_test "help info spu event" \
-	 "Display SPU event facility status." \
-	 "help info spu event"
-gdb_test "help info spu mailbox" \
-	 "Display SPU mailbox facility status." \
-	 "help info spu mailbox"
-gdb_test "help info spu proxydma" \
-	 "Display MFC Proxy-DMA status." \
-	 "help info spu proxydma"
-gdb_test "help info spu signal" \
-	 "Display SPU signal notification facility status." \
-	 "help info spu signal"
-
-
-# architecture should be spu:256K.
-gdb_test "show architecture" \
-	 "The target architecture is set automatically.*currently spu:256K.*" \
-	 "architecture = spu256K"
-
-# 'info spu event'.
-gdb_test "info spu event" \
-	 "Event Status.*Event Mask.*" \
-	 "info spu event"
-
-# 'info spu signal'.
-gdb_test "info spu signal" \
-	 "Signal 1 not pending.*\(Type.*\).*Signal 2 not pending.*\(Type.*\).*" \
-	 "info spu signal"
-
-# 'info spu mailbox'.
-gdb_test "info spu mailbox" \
-	 "" \
-	 "info spu mailbox"
-
-# 'info spu dma'.
-gdb_test "info spu dma" \
-	 "Tag-Group Status.*Tag-Group Mask.*Stall-and-Notify .*Atomic Cmd Status.*" \
-	 "info spu dma"
-
-# 'info spu proxydma'.
-gdb_test "info spu proxydma" \
-	 "Tag-Group Status.*Tag-Group Mask.*" \
-	  "info spu proxydma"
-
-# Event tests.
-c_to "Marker Event"
-gdb_test "info spu event" \
-	"Event Status 0x00000000.*Event Mask   0x00000000.*" \
-	"empty event status"
-
-# MFC_MULTI_SRC_SYNC_EVENT.
-gdb_test "next" "" "next"
-gdb_test "info spu event" \
-	"Event Status 0x0000.*Event Mask   0x00001000.*" \
-	"event mask 0x1000"
-# MFC_PRIV_ATTN_EVENT.
-gdb_test "next" "" "next"
-gdb_test "info spu event" \
-	"Event Status 0x0000.*Event Mask   0x00000800.*" \
-	"event mask 0x0800"
-# MFC_LLR_LOST_EVENT.
-gdb_test "next" "" "next"
-gdb_test "info spu event" \
-	"Event Status 0x0000.*Event Mask   0x00000400.*" \
-	"event mask 0x0400"
-# MFC_SIGNAL_NOTIFY_1_EVENT.
-gdb_test "next" "" "next"
-gdb_test "info spu event" \
-	"Event Status 0x0000.*Event Mask   0x00000200.*" \
-	"event mask 0x0200"
-# MFC_SIGNAL_NOTIFY_2_EVENT.
-gdb_test "next" "" "next"
-gdb_test "info spu event" \
-	"Event Status 0x0000.*Event Mask   0x00000100.*" \
-	"event mask 0x0100"
-# MFC_OUT_MBOX_AVAILABLE_EVENT.
-gdb_test "next" "" "next"
-gdb_test "info spu event" \
-	"Event Status 0x0000.*Event Mask   0x00000080.*" \
-	"event mask 0x0080"
-# MFC_OUT_INTR_MBOX_AVAILABLE_EVENT.
-gdb_test "next" "" "next"
-gdb_test "info spu event" \
-	"Event Status 0x0000.*Event Mask   0x00000040.*" \
-	"event mask 0x0040"
-# MFC_DECREMENTER_EVENT.
-gdb_test "next" "" "next"
-gdb_test "info spu event" \
-	"Event Status 0x0000.*Event Mask   0x00000020.*" \
-	"event mask 0x0020"
-# MFC_IN_MBOX_AVAILABLE_EVENT.
-gdb_test "next" "" "next"
-gdb_test "info spu event" \
-	"Event Status 0x0000.*Event Mask   0x00000010.*" \
-	"event mask 0x0010"
-# MFC_COMMAND_QUEUE_AVAILABLE_EVENT.
-gdb_test "next" "" "next"
-gdb_test "info spu event" \
-	"Event Status 0x0000.*Event Mask   0x00000008.*" \
-	"event mask 0x0008"
-# MFC_LIST_STALL_NOTIFY_EVENT.
-gdb_test "next" "" "next"
-gdb_test "info spu event" \
-	"Event Status 0x0000.*Event Mask   0x00000002.*" \
-	"event mask 0x0002"
-# MFC_TAG_STATUS_UPDATE_EVENT.
-gdb_test "next" "" "next"
-gdb_test "info spu event" \
-	"Event Status 0x0000.*Event Mask   0x00000001.*" \
-	"event mask 0x0001"
-
-
-# DMA tests.
-# 'info spu dma' should be empty.
-c_to "Marker DMA"
-gdb_test "info spu dma" \
-	 "Tag-Group Status.*0x00000000.*Tag-Group Mask.*0x00000000.*Stall-and-Notify.*0x00000000.*Atomic Cmd Status.*0x00000000\[\r\n\]+" \
-	 "info spu dma (empty)"
-
-# 'info spu dma' should be filled with some data.
-c_to "Marker DMAWait"
-gdb_test "next" "" "next"
-gdb_test "info spu dma" \
-	 "Tag-Group Status.*0x00000000.*Tag-Group Mask.*0x00000020.*Stall-and-Notify.*0x00000000.*Atomic Cmd Status.*0x00000000.*Opcode.*Tag.*TId.*RId.*EA.*LSA.*Size.*LstAddr.*LstSize.*E.*get.*5.*0.*0.*0x00080\[ \r\n\]+" \
-	 "info spu dma (non-empty)"
-gdb_test "finish" "" "finish"
-
-# Mailbox Test
-# 'info spu mailbox' should be empty.
-c_to "Marker Mbox"
-set msg "info spu mailbox"
-gdb_test_multiple "info spu mailbox" $msg {
-    -re "$gdb_prompt $" {
-      pass $msg
-    }
-    -re "SPU Outbound Mailbox.*0x.*SPU Outbound Interrupt Mailbox.*0x.*$gdb_prompt $" {
-      # Older kernels had a bug that caused them to return arbitrary values
-      # when attempting to read from an empty mailbox via spufs.
-      xfail $msg
-    }
-}
-
-# 'info spu mailbox' should now contain data.
-c_to "Marker MboxEnd"
-gdb_test "info spu mailbox" \
-	 "SPU Outbound Mailbox.*0x12345678.*SPU Outbound Interrupt Mailbox.*0x12345678.*" \
-	 "info spu mailbox"
-
-# Signal Test
-# 'info spu signal'.
-c_to "Marker Signal"
-gdb_test "info spu signal" \
-	 "Signal 1 not pending.*\(Type.*\).*Signal 2 not pending.*\(Type.*\).*" \
-	 "info spu signal"
-
-# 'info spu signal' with signal1 pending.
-c_to "Marker Signal1"
-gdb_test "info spu signal" \
-	 "Signal 1 control word 0x00000017.*Signal 2 not pending.*\(Type.*\).*" \
-	 "info spu signal"
-
-# 'info spu signal' with signal1 and signal2 pending.
-c_to "Marker Signal2"
-gdb_test "info spu signal" \
-	 "Signal 1 control word 0x00000017.*Signal 2 control word 0x00000017.*" \
-	 "info spu signal"
-
-# Read signal1. Only signal2 is pending.
-c_to "Marker SignalRead"
-gdb_test "info spu signal" \
-	 "Signal 1 not pending.*Signal 2 control word 0x00000017.*" \
-	 "info spu signal"
-
-
-gdb_exit
-
-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-8.3.50.20190917/gdb/testsuite/gdb.arch/spu-ls.c ./gdb/testsuite/gdb.arch/spu-ls.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.arch/spu-ls.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/spu-ls.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,31 +0,0 @@
-/* Copyright 2010-2019 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.
-
-   Contributed by Ulrich Weigand <uweigand@de.ibm.com>.
-   Tests for SPU local-store access.  */
-
-char *ptr = (char *)0x12345678;
-
-char array[256];
-
-int
-main (unsigned long long speid, unsigned long long argp, 
-      unsigned long long envp)
-{
-  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-8.3.50.20190917/gdb/testsuite/gdb.arch/spu-ls.exp ./gdb/testsuite/gdb.arch/spu-ls.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.arch/spu-ls.exp	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.arch/spu-ls.exp	1970-01-01 00:00:00.000000000 +0000
@@ -1,47 +0,0 @@
-# Copyright 2010-2019 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.
-#
-# Contributed by Ulrich Weigand  <uweigand@de.ibm.com>.
-# Tests for SPU local-store access.
-
-if { ![istarget "spu-*-elf"] } then {
-  verbose "Skipping SPU-only testcase"
-  return
-}
-
-standard_testfile
-
-if { [prepare_for_testing "failed to prepare" $testfile $srcfile {debug}] } {
-  fail "cannot compile test program"
-  return -1
-}
-
-if ![runto_main] then {
-  fail "can't run to main"
-  return 0
-}
-
-gdb_test "print ptr" " = 0x12345678 \".*\"" "print ptr"
-gdb_test_no_output "set ptr = array + \$lslr + 1" "set ptr = array + \$lslr + 1"
-gdb_test_no_output "set array\[0\] = 1" "set array\[0\] = 1"
-gdb_test "print *ptr" " = 1 '\\\\001'" "print *ptr"
-gdb_test_no_output "set *ptr = 2" "set *ptr = 2"
-gdb_test "print array\[0\]" " = 2 '\\\\002'" "print array\[0\]"
-
-gdb_exit
-
-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-8.3.50.20190917/gdb/testsuite/gdb.asm/asm-source.exp ./gdb/testsuite/gdb.asm/asm-source.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.asm/asm-source.exp	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.asm/asm-source.exp	2019-09-24 01:49:11.000000000 +0000
@@ -128,11 +128,6 @@ switch -glob -- [istarget] {
         set asm-flags "-xarch=v9 -I${srcdir}/${subdir} $obj_include"
 	set debug-flags "-gdwarf-2"
     }
-    "spu*-*-*" {
-       set asm-arch spu
-       set asm-flags "-I${srcdir}/${subdir} $obj_include --no-warn"
-       set debug-flags "-gdwarf-2"
-    }
     "xstormy16-*-*" {
         set asm-arch xstormy16
 	set debug-flags "-gdwarf-2"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.asm/spu.inc ./gdb/testsuite/gdb.asm/spu.inc
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.asm/spu.inc	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.asm/spu.inc	1970-01-01 00:00:00.000000000 +0000
@@ -1,42 +0,0 @@
-	comment "subroutine prologue"
-	.macro gdbasm_enter
-	stqd    $lr, 16($sp)
-	stqd    $sp, -32($sp)
-	ai      $sp, $sp, -32
-	.endm
-
-	comment "subroutine epilogue"
-	.macro gdbasm_leave
-	ai	$sp, $sp, 32
-	lqd     $lr, 16($sp)
-	bi	$lr	
-	.endm
-
-	.macro gdbasm_call subr
-	brsl	$lr, \subr
-	.endm
-
-	.macro gdbasm_several_nops
-	nop
-	nop
-	nop
-	nop
-	.endm
-
-	comment "exit (0)"
-	.macro gdbasm_exit0
-	stop	0x2000
-	stop 
-	stop 
-	stop 
-	.endm
-
-	comment "startup"
-	.macro gdbasm_startup
-	il	$0, 0
-	ila	$sp, 16368
-	stqd	$0, 0($sp)
-	stqd	$sp, -32($sp)
-	ai	$sp, $sp, -32
-	stqd	$0, 16($sp)
-	.endm
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.base/dump.exp ./gdb/testsuite/gdb.base/dump.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.base/dump.exp	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.base/dump.exp	2019-09-24 01:49:11.000000000 +0000
@@ -30,12 +30,6 @@ if [istarget "alpha*-*-*"] then {
     lappend options "additional_flags=-Wl,-taso"
 }
 
-if {[istarget "spu*-*-*"]} then {
-    # The internal address format used for the combined Cell/B.E.
-    # debugger requires 64-bit.
-    set is64bitonly "yes"
-}
-
 # Debian9/Ubuntu16.10 onwards default to PIE enabled. Ensure it is disabled as
 # this causes addresses to be out of range for IHEX.
 lappend options {nopie}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.base/list-missing-source.exp ./gdb/testsuite/gdb.base/list-missing-source.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.base/list-missing-source.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/list-missing-source.exp	2019-09-24 01:49:11.000000000 +0000
@@ -0,0 +1,63 @@
+# Copyright 2019 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 test checks how GDB handles missing source files around the
+# 'list' and 'info source' commands.
+
+standard_testfile
+
+# Create a source file in the output directory.
+set srcfile [standard_output_file main.c]
+set fd [open "$srcfile" w]
+puts $fd {
+int
+main ()
+{
+  return 0;
+}
+}
+close $fd
+
+# Compile the source file.
+set options "debug"
+if  { [gdb_compile "${srcfile}" "${binfile}" \
+	   executable $options] != "" } {
+    untested "failed to compile"
+    return -1
+}
+
+# Now delete the source file.
+file delete $srcfile
+
+# Now start GDB, run to main and try to list the source.
+clean_restart ${binfile}
+
+if ![runto_main] then {
+    fail "can't run to main"
+    return 0
+}
+
+gdb_test "list" "1\[ \t\]+in\[ \t\]+$srcfile"
+
+gdb_test "info source" \
+    [multi_line \
+	 "info source" \
+	 "Current source file is $srcfile" \
+	 "Compilation directory is \[^\n\r\]+" \
+	 "Source language is c." \
+	 "Producer is \[^\n\r\]+" \
+	 "Compiled with DWARF $decimal debugging format." \
+	 "Does not include preprocessor macro info." ]
+
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.base/overlays.exp ./gdb/testsuite/gdb.base/overlays.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.base/overlays.exp	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.base/overlays.exp	2019-09-24 01:49:11.000000000 +0000
@@ -24,9 +24,6 @@ set data_overlays 1
 
 if [istarget "m32r-*-*"] then {
     set linker_script "${srcdir}/${subdir}/m32r.ld"
-} elseif [istarget "spu-*-*"] then {
-    set linker_script "${srcdir}/${subdir}/spu.ld"
-    set data_overlays 0
 } else {
     verbose "Skipping overlay test -- not implemented for this target."
     return 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.base/ovlymgr.c ./gdb/testsuite/gdb.base/ovlymgr.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.base/ovlymgr.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.base/ovlymgr.c	2019-09-24 01:49:11.000000000 +0000
@@ -5,18 +5,6 @@
 
 #include "ovlymgr.h"
 
-#ifdef __SPU__
-/* SPU tool chain provides its own overlay manager.  */
-bool
-OverlayLoad (unsigned long ovlyno)
-{
-}
-bool
-OverlayUnload (unsigned long ovlyno)
-{
-}
-#else /* __SPU__ */
-
 /* Local functions and data: */
 
 extern unsigned long _ovly_table[][4];
@@ -243,4 +231,3 @@ ovly_copy (unsigned long dst, unsigned l
   return;
 }
 
-#endif /* __SPU__ */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.base/restore.exp ./gdb/testsuite/gdb.base/restore.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.base/restore.exp	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.base/restore.exp	2019-09-24 01:49:11.000000000 +0000
@@ -73,8 +73,17 @@ proc restore_tests { } {
 	    # they should be.
             for {set var 1} {$var <= $c} {incr var} {
                 set expected [expr 0x7eeb + $var]
-	        gdb_test "print l$var" " = $expected" \
-		    "caller$c calls callee$e; return restored l$var to $expected"
+		set test "caller$c calls callee$e; return restored l$var to $expected"
+		set pass_pattern " = $expected"
+		set unsupported_pattern " = <optimized out>"
+	        gdb_test_multiple "print l$var" $test {
+		    -re "\[\r\n\]*(?:$pass_pattern)\[\r\n\]+$gdb_prompt $" {
+			pass $test
+		    }
+		    -re "\[\r\n\]*(?:$unsupported_pattern)\[\r\n\]+$gdb_prompt $" {
+			unsupported $test
+		    }
+		}
             }
         }
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.base/source-dir.c ./gdb/testsuite/gdb.base/source-dir.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.base/source-dir.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/source-dir.c	2019-09-24 01:49:11.000000000 +0000
@@ -0,0 +1,22 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2019 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
+main ()
+{
+  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-8.3.50.20190917/gdb/testsuite/gdb.base/source-dir.exp ./gdb/testsuite/gdb.base/source-dir.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.base/source-dir.exp	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.base/source-dir.exp	2019-09-24 01:49:11.000000000 +0000
@@ -15,9 +15,143 @@
 
 standard_testfile
 
-gdb_start
+# Take a list of directories DIRS, and return a regular expression
+# that will match against the output of the 'directory' command
+# assuming that DIRS are all of the directories that should appear in
+# the results.
+proc search_dir_list { dirs } {
+    set output "\r\nSource directories searched: "
+    append output [join $dirs "\[:;\]"]
 
-set foo "/nOtExStInG"
+    return ${output}
+}
 
-gdb_test "directory $foo/a $foo/b $foo/c" "\r\nSource directories searched: $foo/a\[:;\]$foo/b\[:;\]$foo/c\[:;\]\\\$cdir\[:;\]\\\$cwd"
-gdb_test "directory $foo/b $foo/d $foo/c" "\r\nSource directories searched: $foo/b\[:;\]$foo/d\[:;\]$foo/c\[:;\]$foo/a\[:;\]\\\$cdir\[:;\]\\\$cwd"
+# Check that adding directories to the search path changes the order
+# in which directories are searched.
+proc test_changing_search_directory {} {
+    gdb_start
+
+    set foo "/nOtExStInG"
+
+    gdb_test "directory $foo/a $foo/b $foo/c" \
+	[search_dir_list [list \
+			      "$foo/a" \
+			      "$foo/b" \
+			      "$foo/c" \
+			      "\\\$cdir" \
+			      "\\\$cwd"]]
+    gdb_test "directory $foo/b $foo/d $foo/c" \
+	[search_dir_list [list \
+			      "$foo/b" \
+			      "$foo/d" \
+			      "$foo/c" \
+			      "$foo/a" \
+			      "\\\$cdir" \
+			      "\\\$cwd"]]
+    gdb_exit
+}
+
+# Test that the compilation directory can also be extended with a
+# prefix from the directory search path in order to find source files.
+proc test_truncated_comp_dir {} {
+    global srcfile srcdir subdir binfile
+    global decimal
+
+    # When we run this test the current directory will be something
+    # like this:
+    #     /some/path/to/gdb/build/testsuite/
+    # We are going to copy the source file out of the source tree into
+    # a location like this:
+    #     /some/path/to/gdb/build/testsuite/output/gdb.base/soure-dir/
+    #
+    # We will then switch to this directory and compile the source
+    # file, however, we will ask GCC to remove this prefix from the
+    # compilation directory in the debug info:
+    #     /some/path/to/gdb/build/testsuite/output/
+    #
+    # As a result the debug information will look like this:
+    #
+    #     DW_AT_name        : source-dir.c
+    #     DW_AT_comp_dir    : /gdb.base/source-dir
+    #
+    # Finally we switch back to this directory:
+    #     /some/path/to/gdb/build/testsuite/
+    #
+    # and start GDB.  There was a time when GDB would be unable to
+    # find the source file no matter what we added to the directory
+    # search path, this should now be fixed.
+
+    set original_dir [pwd]
+    set working_dir [standard_output_file ""]
+    cd ${working_dir}
+
+    set strip_dir [file normalize "${working_dir}/../.."]
+
+    set new_srcfile [standard_output_file ${srcfile}]
+    set fd [open "$new_srcfile" w]
+    puts $fd "int
+    main ()
+    {
+      return 0;
+    }"
+    close $fd
+
+    set options \
+	"debug additional_flags=-fdebug-prefix-map=${strip_dir}="
+    if  { [gdb_compile "${srcfile}" "${binfile}" \
+	       executable ${options}] != "" } {
+	untested "failed to compile"
+	return -1
+    }
+
+    cd ${original_dir}
+
+    clean_restart ${binfile}
+
+    gdb_test_no_output "set directories \$cdir:\$cwd"
+    gdb_test "show directories" \
+	"\r\nSource directories searched: \\\$cdir\[:;\]\\\$cwd"
+
+    if ![runto_main] then {
+	fail "can't run to main"
+	return 0
+    }
+
+    gdb_test "info source" \
+    [multi_line \
+	 "Current source file is ${srcfile}" \
+	 "Compilation directory is \[^\n\r\]+" \
+	 "Source language is c." \
+	 "Producer is \[^\n\r\]+" \
+	 "Compiled with DWARF $decimal debugging format." \
+	 "Does not include preprocessor macro info." ] \
+	"info source before setting directory search list"
+
+    gdb_test "dir $strip_dir" \
+	[search_dir_list [list \
+			      "$strip_dir" \
+			      "\\\$cdir" \
+			      "\\\$cwd"]] \
+	"setup source path search directory"
+    gdb_test "list" [multi_line \
+			 "1\[ \t\]+int" \
+			 "2\[ \t\]+main \\(\\)" \
+			 "3\[ \t\]+\\{" \
+			 "4\[ \t\]+return 0;" \
+			 "5\[ \t\]+\\}" ]
+
+    gdb_test "info source" \
+	[multi_line \
+	     "Current source file is ${srcfile}" \
+	     "Compilation directory is \[^\n\r\]+" \
+	     "Located in ${new_srcfile}" \
+	     "Contains 5 lines." \
+	     "Source language is c." \
+	     "Producer is \[^\n\r\]+" \
+	     "\[^\n\r\]+" \
+	     "\[^\n\r\]+" ] \
+	"info source after setting directory search list"
+}
+
+test_changing_search_directory
+test_truncated_comp_dir
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.base/spu.ld ./gdb/testsuite/gdb.base/spu.ld
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.base/spu.ld	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.base/spu.ld	1970-01-01 00:00:00.000000000 +0000
@@ -1,202 +0,0 @@
-/* Script for -z combreloc: combine and sort reloc sections */
-OUTPUT_FORMAT("elf32-spu", "elf32-spu",
-	      "elf32-spu")
-OUTPUT_ARCH(spu)
-ENTRY(_start)
-SEARCH_DIR("/usr/spu/lib");
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
-SECTIONS
-{
-  /* Read-only sections, merged into text segment: */
-  PROVIDE (__executable_start = 0); . = 0;
-  .interrupt : { KEEP(*(.interrupt)) }
-  .interp         : { *(.interp) }
-  .hash           : { *(.hash) }
-  .dynsym         : { *(.dynsym) }
-  .dynstr         : { *(.dynstr) }
-  .gnu.version    : { *(.gnu.version) }
-  .gnu.version_d  : { *(.gnu.version_d) }
-  .gnu.version_r  : { *(.gnu.version_r) }
-  .rel.dyn        :
-    {
-      *(.rel.init)
-      *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
-      *(.rel.fini)
-      *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
-      *(.rel.data.rel.ro*)
-      *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
-      *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*)
-      *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*)
-      *(.rel.ctors)
-      *(.rel.dtors)
-      *(.rel.got)
-      *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
-    }
-  .rela.dyn       :
-    {
-      *(.rela.init)
-      *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
-      *(.rela.fini)
-      *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
-      *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
-      *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
-      *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
-      *(.rela.ctors)
-      *(.rela.dtors)
-      *(.rela.got)
-      *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
-    }
-  .rel.plt        : { *(.rel.plt) }
-  .rela.plt       : { *(.rela.plt) }
-  .init           :
-  {
-    KEEP (*(.init))
-  } =0
-  .plt            : { *(.plt) }
-  .text           :
-  {
-    *(EXCLUDE_FILE (foo.o bar.o baz.o grbx.o) .text .stub .text.* .gnu.linkonce.t.*)
-    KEEP (*(.text.*personality*))
-    *(.spu.elf)
-    /* .gnu.warning sections are handled specially by elf32.em.  */
-    *(.gnu.warning)
-  } =0
-  .fini           :
-  {
-    KEEP (*(.fini))
-  } =0
-  PROVIDE (__etext = .);
-  PROVIDE (_etext = .);
-  PROVIDE (etext = .);
-  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
-  .rodata1        : { *(.rodata1) }
-  .eh_frame_hdr : { *(.eh_frame_hdr) }
-  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
-  .gcc_except_table   : ONLY_IF_RO { KEEP (*(.gcc_except_table)) *(.gcc_except_table.*) }
-  /* Adjust the address for the data segment.  We want to adjust up to
-     the same address within the page on the next page up.  */
-  . = ALIGN(0x80);
-  /* Exception handling  */
-  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
-  .gcc_except_table   : ONLY_IF_RW { KEEP (*(.gcc_except_table)) *(.gcc_except_table.*) }
-  /* Thread Local Storage sections  */
-  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
-  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
-  /* Ensure the __preinit_array_start label is properly aligned.  We
-     could instead move the label definition inside the section, but
-     the linker would then create the section even if it turns out to
-     be empty, which isn't pretty.  */
-  . = ALIGN(16);
-  PROVIDE (__preinit_array_start = .);
-  .preinit_array     : { KEEP (*(.preinit_array)) }
-  PROVIDE (__preinit_array_end = .);
-  PROVIDE (__init_array_start = .);
-  .init_array     : { KEEP (*(.init_array)) }
-  PROVIDE (__init_array_end = .);
-  PROVIDE (__fini_array_start = .);
-  .fini_array     : { KEEP (*(.fini_array)) }
-  PROVIDE (__fini_array_end = .);
-  .ctors          :
-  {
-    /* gcc uses crtbegin.o to find the start of
-       the constructors, so we make sure it is
-       first.  Because this is a wildcard, it
-       doesn't matter if the user does not
-       actually link against crtbegin.o; the
-       linker won't look for a file to match a
-       wildcard.  The wildcard also means that it
-       doesn't matter which directory crtbegin.o
-       is in.  */
-    KEEP (*crtbegin*.o(.ctors))
-    /* We don't want to include the .ctor section from
-       from the crtend.o file until after the sorted ctors.
-       The .ctor section from the crtend file contains the
-       end of ctors marker and it must be last */
-    KEEP (*(EXCLUDE_FILE (*crtend*.o ) .ctors))
-    KEEP (*(SORT(.ctors.*)))
-    KEEP (*(.ctors))
-  }
-  .dtors          :
-  {
-    KEEP (*crtbegin*.o(.dtors))
-    KEEP (*(EXCLUDE_FILE (*crtend*.o ) .dtors))
-    KEEP (*(SORT(.dtors.*)))
-    KEEP (*(.dtors))
-  }
-  .jcr            : { KEEP (*(.jcr)) }
-  .data.rel.ro : { *(.data.rel.ro.local) *(.data.rel.ro*) }
-  .dynamic        : { *(.dynamic) }
-  .got            : { *(.got.plt) *(.got) }
-  .data           :
-  {
-    *(.data .data.* .gnu.linkonce.d.*)
-    KEEP (*(.gnu.linkonce.d.*personality*))
-    SORT(CONSTRUCTORS)
-  }
-  .data1          : { *(.data1) }
-  _edata = .;
-  PROVIDE (edata = .);
-  __bss_start = .;
-  .bss            :
-  {
-   *(.dynbss)
-   *(.bss .bss.* .gnu.linkonce.b.*)
-   *(COMMON)
-   /* Align here to ensure that the .bss section occupies space up to
-      _end.  Align after .bss to ensure correct alignment even if the
-      .bss section disappears because there are no input sections.  */
-   . = ALIGN(16);
-  }
-  .toe ALIGN(128) : { *(.toe) } = 0
-  . = ALIGN(16);
-  OVERLAY :
-    {
-      .ovly0 { foo.o(.text) }
-      .ovly1 { bar.o(.text) }
-    }
-  OVERLAY :
-    {
-      .ovly2 { baz.o(.text) }
-      .ovly3 { grbx.o(.text) }
-    }
-  _end = .;
-  PROVIDE (end = .);
-  /* Stabs debugging sections.  */
-  .stab          0 : { *(.stab) }
-  .stabstr       0 : { *(.stabstr) }
-  .stab.excl     0 : { *(.stab.excl) }
-  .stab.exclstr  0 : { *(.stab.exclstr) }
-  .stab.index    0 : { *(.stab.index) }
-  .stab.indexstr 0 : { *(.stab.indexstr) }
-  .comment       0 : { *(.comment) }
-  /* DWARF debug sections.
-     Symbols in the DWARF debugging sections are relative to the beginning
-     of the section so we begin them at 0.  */
-  /* DWARF 1 */
-  .debug          0 : { *(.debug) }
-  .line           0 : { *(.line) }
-  /* GNU DWARF 1 extensions */
-  .debug_srcinfo  0 : { *(.debug_srcinfo) }
-  .debug_sfnames  0 : { *(.debug_sfnames) }
-  /* DWARF 1.1 and DWARF 2 */
-  .debug_aranges  0 : { *(.debug_aranges) }
-  .debug_pubnames 0 : { *(.debug_pubnames) }
-  /* DWARF 2 */
-  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
-  .debug_abbrev   0 : { *(.debug_abbrev) }
-  .debug_line     0 : { *(.debug_line) }
-  .debug_frame    0 : { *(.debug_frame) }
-  .debug_str      0 : { *(.debug_str) }
-  .debug_loc      0 : { *(.debug_loc) }
-  .debug_macinfo  0 : { *(.debug_macinfo) }
-  /* SGI/MIPS DWARF 2 extensions */
-  .debug_weaknames 0 : { *(.debug_weaknames) }
-  .debug_funcnames 0 : { *(.debug_funcnames) }
-  .debug_typenames 0 : { *(.debug_typenames) }
-  .debug_varnames  0 : { *(.debug_varnames) }
-  .note.spu_name 0 : { *(.note.spu_name) }
-  PROVIDE (__stack = 0x3fff0);
-  /DISCARD/ : { *(.note.GNU-stack) }
-}
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.base/stack-checking.c ./gdb/testsuite/gdb.base/stack-checking.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.base/stack-checking.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.base/stack-checking.c	2019-09-24 01:49:11.000000000 +0000
@@ -36,11 +36,7 @@ void medium_frame ()
 
 void big_frame ()
 {
-#ifdef __SPU__
-  char S [131072];
-#else
   char S [524188];
-#endif
   small_frame ();
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/arch.exp ./gdb/testsuite/gdb.cell/arch.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/arch.exp	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/arch.exp	1970-01-01 00:00:00.000000000 +0000
@@ -1,116 +0,0 @@
-# Copyright 2009-2019 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/>.
-#
-# Contributed by Markus Deuling <deuling@de.ibm.com>.
-#
-# Testsuite for Cell Broadband Engine combined debugger
-# This testcase checks if the "show architecture" command works properly.
-
-load_lib cell.exp
-
-set ppu_file "break"
-set ppu_src ${srcdir}/${subdir}/${ppu_file}.c
-set ppu_bin [standard_output_file ${ppu_file}]
-set spu_file "break-spu"
-set spu_src ${srcdir}/${subdir}/${spu_file}.c
-set spu_bin [standard_output_file ${spu_file}]
-
-if {[skip_cell_tests]} {
-    return 0
-}
-
-# Compile SPU binary.
-if { [gdb_compile_cell_spu $spu_src $spu_bin executable {debug}]  != "" } {
-  unsupported "compiling spu binary failed."
-  return -1
-}
-# Compile PPU binary.
-if { [gdb_cell_embedspu $spu_bin $spu_bin-embed.o {debug}]  != "" } {
-  unsupported "embedding spu binary failed."
-  return -1
-}
-if { [gdb_compile_cell_ppu [list $ppu_src $spu_bin-embed.o] $ppu_bin executable {debug}] != "" } {
-  unsupported "compiling ppu binary failed."
-  return -1
-}
-
-if [get_compiler_info] {
-  return -1
-}
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${ppu_bin}
-
-# No programm running, default architecture should be powerpc:common.
-gdb_test "show architecture" \
-	 "The target architecture is set automatically.*currently powerpc:common.*" \
-	 "startup architecture is powerpc:common"
-
-if ![runto_main] then {
-  fail "can't run to main"
-  return 0
-}
-
-# In PPU thread, architecture should be powerpc:common.
-gdb_test "show architecture" \
-	 "The target architecture is set automatically.*currently powerpc:common.*" \
-	 "ppu architecture is powerpc:common"
-
-# Switch to SPU thread.
-cont_spu_main
-check_spu_arch ""
-
-# Remember thread ID of first thread to hit SPU main.
-send_gdb "thread\n"
-gdb_expect 10 {
-    -re "Current thread is (\[0-9\]*) .*\r\n$gdb_prompt $" {
-	pass "retrieve current thread"
-	set thread_id $expect_out(1,string)
-    }
-    -re "$gdb_prompt $" {
-	fail "retrieve current thread"
-	return 0
-    }
-    timeout {
-	fail "retrieve current thread (timed out)"
-	return 0
-    }
-}
-
-# Stress Test: Switching from PPU- to SPU-Thread and back 'rep' times.
-set rep 100
-for {set i 0} {$i < $rep} {incr i} {
-  # Switch to PPU Thread.
-  gdb_test "t 1" \
-	   "Switching to thread 1.*" \
-	   "switch back to thread 1 (PPU) #$i"
-  # In PPU Thread, architecture should again be powerpc:common.
-  gdb_test "show architecture" \
-	   "The target architecture is set automatically.*currently powerpc:common.*" \
-	   "ppu architecture is powerpc:common again #$i"
-  # Thread switching to SPU.
-  gdb_test "t $thread_id" \
-	   "Switching to thread $thread_id.*at.*$spu_file.c.*" \
-	   "switch back to thread $thread_id (spu) #$i"
-  # Standing in SPU thread again, architecture should be spu:256K again.
-  check_spu_arch "spu architecture is spu256K again #$i"
-}
-# End of Stress Test loop
-
-gdb_exit
-
-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-8.3.50.20190917/gdb/testsuite/gdb.cell/break.c ./gdb/testsuite/gdb.cell/break.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/break.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/break.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,71 +0,0 @@
-/* This testcase is part of GDB, the GNU debugger.
-
-   Copyright 2009-2019 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/>.
-
-   Contributed by Markus Deuling <deuling@de.ibm.com>  */
-
-#include <stdio.h>
-#include <libspe2.h>
-#include <pthread.h>
-#include <sys/wait.h>
-
-extern spe_program_handle_t break_spu;
-#define nr_t 5
-
-void *
-spe_thread (void * arg)
-{
-  int flags = 0;
-  unsigned int entry = SPE_DEFAULT_ENTRY;
-  spe_context_ptr_t *ctx = (spe_context_ptr_t *) arg;
-
-  spe_program_load (*ctx, &break_spu);
-  spe_context_run (*ctx, &entry, flags, NULL, NULL, NULL);
-
-  pthread_exit (NULL);
-}
-
-int
-main (void)
-{
-  int thread_id[nr_t];
-  pthread_t pts[nr_t];
-  spe_context_ptr_t ctx[nr_t];
-  int value = 1;
-  int cnt;
-
-  for (cnt = 0; cnt < nr_t; cnt++)
-    {
-      ctx[cnt] = spe_context_create (0, NULL);
-      thread_id[cnt]
-	= pthread_create (&pts[cnt], NULL, &spe_thread, &ctx[cnt]);
-    }
-
-  for (cnt = 0; cnt < nr_t; cnt++)
-    pthread_join (pts[cnt], NULL);
-
-  for (cnt = 0; cnt < nr_t; cnt++)
-    spe_context_destroy (ctx[cnt]);
-
-  return 0;
-}
-
-void
-foo ()
-{
-  printf ("foo in break\n");
-  return;
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/break.exp ./gdb/testsuite/gdb.cell/break.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/break.exp	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/break.exp	1970-01-01 00:00:00.000000000 +0000
@@ -1,103 +0,0 @@
-# Copyright 2009-2019 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/>.
-#
-# Contributed by Markus Deuling <deuling@de.ibm.com>.
-#
-# Testsuite for Cell Broadband Engine combined debugger
-# This testcases tests setting and deleting breakpoints on PPU and SPU.
-
-load_lib cell.exp
-
-set testfile "break"
-set ppu_file "break"
-set ppu_src ${srcdir}/${subdir}/${ppu_file}.c
-set ppu_bin [standard_output_file ${ppu_file}]
-set spu_file "break-spu"
-set spu_src ${srcdir}/${subdir}/${spu_file}.c
-set spu_bin [standard_output_file ${spu_file}]
-
-if {[skip_cell_tests]} {
-    return 0
-}
-
-# Compile SPU binary.
-if { [gdb_compile_cell_spu $spu_src $spu_bin executable {debug}]  != "" } {
-  unsupported "compiling spu binary failed."
-  return -1
-}
-# Compile PPU binary.
-if { [gdb_cell_embedspu $spu_bin $spu_bin-embed.o {debug}]  != "" } {
-  unsupported "embedding spu binary failed."
-  return -1
-}
-if { [gdb_compile_cell_ppu [list $ppu_src $spu_bin-embed.o] $ppu_bin executable {debug}] != "" } {
-  unsupported "compiling ppu binary failed."
-  return -1
-}
-
-if [get_compiler_info] {
-  return -1
-}
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${ppu_bin}
-
-# Delete breakpoints before starting the application. The debugger
-# shouldn't prompt for anything.
-gdb_test "delete breakpoints" \
-	 "" \
-	 "no prompt when deleting non-existing breakpoints"
-
-gdb_test "break main" \
-	 "Breakpoint.*at.* file .*$testfile.c, line.*" \
-	 "breakpoint main in ppu"
-
-if ![runto_main] then {
-  fail "can't run to main"
-  return 0
-}
-
-delete_breakpoints
-
-# Re-set breakpoint at main in PPU binary.
-gdb_test "break main" \
-	 "Breakpoint.*at.* file .*$testfile.c, line.*" \
-	 "breakpoint function"
-
-# Set breakpoint in SPU binary.
-send_gdb "break $spu_file.c:10\n"
-gdb_expect {
-  -re ".*$spu_file.c.*Make breakpoint pending.*y or \\\[n\\\]. $" {
-    gdb_test "y" "Breakpoint.*$spu_file.*pending." "set pending breakpoint"
-  }
-  timeout { fail "timeout while setting breakpoint in spu binary" }
-}
-
-# Check breakpoints.
-gdb_test "info break" \
-	 "Num\[ \]+Type\[ \]+Disp\[ \]+Enb\[ \]+Address\[ \]+What.*
-\[0-9\]+\[\t \]+breakpoint     keep y.*in main at.*$testfile.c.*
-\[0-9\]+\[\t \]+breakpoint     keep y.*PENDING.*$spu_file.c:10.*" \
-	 "breakpoint info"
-
-gdb_test "continue" \
-	 "Continuing.*Switching to Thread.*Breakpoint.*main.*at.*$spu_file.c.*" \
-	 "continuing to spu thread"
-
-gdb_exit
-
-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-8.3.50.20190917/gdb/testsuite/gdb.cell/break-spu.c ./gdb/testsuite/gdb.cell/break-spu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/break-spu.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/break-spu.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,43 +0,0 @@
-/* This testcase is part of GDB, the GNU debugger.
-
-   Copyright 2009-2019 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/>.
-
-   Contributed by Markus Deuling <deuling@de.ibm.com>  */
-
-#include <stdio.h>
-
-void foo (void);
-
-int
-main (unsigned long long speid, unsigned long long argp,
-      unsigned long long envp)
-{
-  int i;
-
-  printf ("Hello World! from spu\n");
-
-  i = 5;
-  foo ();
-  printf ("i = %d\n", i);
-
-  return 0;
-}
-
-void
-foo (void)
-{
-  printf ("in foo\n");
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/bt2-spu.c ./gdb/testsuite/gdb.cell/bt2-spu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/bt2-spu.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/bt2-spu.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,30 +0,0 @@
-/* This testcase is part of GDB, the GNU debugger.
-
-   Copyright 2009-2019 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/>.
-
-   Contributed by Markus Deuling <deuling@de.ibm.com>  */
-
-#include <stdio.h>
-#include <sys/syscall.h>
-
-int
-main (unsigned long long speid, unsigned long long argp,
-      unsigned long long envp)
-{
-  __send_to_ppe (0x2112, 0, NULL);
-  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-8.3.50.20190917/gdb/testsuite/gdb.cell/bt.c ./gdb/testsuite/gdb.cell/bt.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/bt.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/bt.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,101 +0,0 @@
-/* This testcase is part of GDB, the GNU debugger.
-
-   Copyright 2009-2019 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/>.
-
-   Contributed by Markus Deuling <deuling@de.ibm.com>  */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <libspe2.h>
-#include <pthread.h>
-#include <sys/wait.h>
-
-extern spe_program_handle_t bt_spu;
-extern spe_program_handle_t bt2_spu;
-#define nr_t 5
-
-void *
-spe_thread (void * arg)
-{
-  int flags = 0;
-  unsigned int entry = SPE_DEFAULT_ENTRY;
-  spe_context_ptr_t *ctx = (spe_context_ptr_t *) arg;
-
-  spe_program_load (*ctx, &bt_spu);
-  spe_context_run (*ctx, &entry, flags, NULL, NULL, NULL);
-
-  pthread_exit (NULL);
-}
-
-int
-indirect_handler (unsigned char *base, unsigned long offset)
-{
-  int flags = 0;
-  unsigned int entry = SPE_DEFAULT_ENTRY;
-  spe_context_ptr_t ctx = spe_context_create (0, NULL);
-
-  spe_program_load (ctx, &bt2_spu);
-  spe_context_run (ctx, &entry, flags, NULL, NULL, NULL);
-
-  return 0;
-}
-
-static pthread_mutex_t crash_mutex = PTHREAD_MUTEX_INITIALIZER;
-static int crash_count = 0;
-
-int
-crash_handler (unsigned char *base, unsigned long offset)
-{
-  int count;
-
-  pthread_mutex_lock (&crash_mutex);
-  count = ++crash_count;
-  pthread_mutex_unlock (&crash_mutex);
-
-  while (count < nr_t)
-    ;
-
-  abort ();
-}
-
-int
-main (void)
-{
-  int thread_id[nr_t];
-  pthread_t pts[nr_t];
-  spe_context_ptr_t ctx[nr_t];
-  int value = 1;
-  int cnt;
-
-  spe_callback_handler_register (indirect_handler, 0x11, SPE_CALLBACK_NEW);
-  spe_callback_handler_register (crash_handler, 0x12, SPE_CALLBACK_NEW);
-
-  for (cnt = 0; cnt < nr_t; cnt++)
-    {
-      ctx[cnt] = spe_context_create (0, NULL);
-      thread_id[cnt]
-	= pthread_create (&pts[cnt], NULL, &spe_thread, &ctx[cnt]);
-    }
-
-  for (cnt = 0; cnt < nr_t; cnt++)
-    pthread_join (pts[cnt], NULL);
-
-  for (cnt = 0; cnt < nr_t; cnt++)
-    spe_context_destroy (ctx[cnt]);
-
-  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-8.3.50.20190917/gdb/testsuite/gdb.cell/bt.exp ./gdb/testsuite/gdb.cell/bt.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/bt.exp	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/bt.exp	1970-01-01 00:00:00.000000000 +0000
@@ -1,91 +0,0 @@
-# Copyright 2009-2019 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/>.
-#
-# Contributed by Markus Deuling <deuling@de.ibm.com>.
-#
-# Testsuite for Cell Broadband Engine combined debugger
-# This testcases tests mixed-architecture backtrace support
-
-load_lib cell.exp
-
-set testfile "bt"
-set ppu_file "bt"
-set ppu_src ${srcdir}/${subdir}/${ppu_file}.c
-set ppu_bin [standard_output_file ${ppu_file}]
-set spu_file "bt-spu"
-set spu_src ${srcdir}/${subdir}/${spu_file}.c
-set spu_bin [standard_output_file ${spu_file}]
-set spu2_file "bt2-spu"
-set spu2_src ${srcdir}/${subdir}/${spu2_file}.c
-set spu2_bin [standard_output_file ${spu2_file}]
-
-if {[skip_cell_tests]} {
-    return 0
-}
-
-# Compile SPU binaries.
-if { [gdb_compile_cell_spu $spu_src $spu_bin executable {debug}]  != "" } {
-  unsupported "compiling spu binary failed."
-  return -1
-}
-if { [gdb_compile_cell_spu $spu2_src $spu2_bin executable {debug}]  != "" } {
-  unsupported "compiling spu binary failed."
-  return -1
-}
-# Compile PPU binary.
-if { [gdb_cell_embedspu $spu_bin $spu_bin-embed.o {debug}]  != "" } {
-  unsupported "embedding spu binary failed."
-  return -1
-}
-if { [gdb_cell_embedspu $spu2_bin $spu2_bin-embed.o {debug}]  != "" } {
-  unsupported "embedding spu binary failed."
-  return -1
-}
-if { [gdb_compile_cell_ppu [list $ppu_src $spu_bin-embed.o $spu2_bin-embed.o] $ppu_bin executable {debug}] != "" } {
-  unsupported "compiling ppu binary failed."
-  return -1
-}
-
-if [get_compiler_info] {
-  return -1
-}
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${ppu_bin}
-
-if ![runto_main] then {
-  fail "can't run to main"
-  return 0
-}
-
-delete_breakpoints
-gdb_test "continue" ".*received signal SIGABRT, Aborted.*"
-
-gdb_test "backtrace" ".*abort.*crash_handler.*base.*offset.*<cross-architecture call>.*main.*speid.*argp.*envp.*at.*$spu2_file.c.*<cross-architecture call>.*spe_context_run.*indirect_handler.*base.*offset.*<cross-architecture call>.*main.*speid.*argp.*envp.*at.*$spu_file.c.*<cross-architecture call>.*spe_context_run.*spe_thread.*at.*$ppu_file.c.*"
-
-for {set thread_id 2} {$thread_id < 7} {incr thread_id} {
-  gdb_test "t $thread_id" \
-           "Switching to thread $thread_id.*" \
-           "switch to thread $thread_id"
-  gdb_test "backtrace" \
-	   ".*crash_handler.*base.*offset.*<cross-architecture call>.*main.*speid.*argp.*envp.*at.*$spu2_file.c.*<cross-architecture call>.*spe_context_run.*indirect_handler.*base.*offset.*<cross-architecture call>.*main.*speid.*argp.*envp.*at.*$spu_file.c.*<cross-architecture call>.*spe_context_run.*spe_thread.*at.*$ppu_file.c.*" \
-	   "backtrace in thread $thread_id"
-}
-
-gdb_exit
-
-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-8.3.50.20190917/gdb/testsuite/gdb.cell/bt-spu.c ./gdb/testsuite/gdb.cell/bt-spu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/bt-spu.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/bt-spu.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,30 +0,0 @@
-/* This testcase is part of GDB, the GNU debugger.
-
-   Copyright 2009-2019 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/>.
-
-   Contributed by Markus Deuling <deuling@de.ibm.com>  */
-
-#include <stdio.h>
-#include <sys/syscall.h>
-
-int
-main (unsigned long long speid, unsigned long long argp,
-      unsigned long long envp)
-{
-  __send_to_ppe (0x2111, 0, NULL);
-  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-8.3.50.20190917/gdb/testsuite/gdb.cell/core.exp ./gdb/testsuite/gdb.cell/core.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/core.exp	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/core.exp	1970-01-01 00:00:00.000000000 +0000
@@ -1,105 +0,0 @@
-# Copyright 2009-2019 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/>.
-#
-# Contributed by Markus Deuling <deuling@de.ibm.com>.
-#
-# Testsuite for Cell Broadband Engine combined debugger
-# This testcases tests mixed-architecture core file support
-
-load_lib cell.exp
-
-set testfile "coremaker"
-set ppu_file "coremaker"
-set ppu_src ${srcdir}/${subdir}/${ppu_file}.c
-set ppu_bin [standard_output_file ${ppu_file}]
-set spu_file "coremaker-spu"
-set spu_src ${srcdir}/${subdir}/${spu_file}.c
-set spu_bin [standard_output_file ${spu_file}]
-
-if {![isnative]} then {
-    return 0
-}
-
-if {[skip_cell_tests]} {
-    return 0
-}
-
-# Compile SPU binary.
-if { [gdb_compile_cell_spu $spu_src $spu_bin executable {debug}]  != "" } {
-  unsupported "compiling spu binary failed."
-  return -1
-}
-# Compile PPU binary.
-if { [gdb_cell_embedspu $spu_bin $spu_bin-embed.o {debug}]  != "" } {
-  unsupported "embedding spu binary failed."
-  return -1
-}
-if { [gdb_compile_cell_ppu [list $ppu_src $spu_bin-embed.o] $ppu_bin executable {debug}] != "" } {
-  unsupported "compiling ppu binary failed."
-  return -1
-}
-
-if [get_compiler_info] {
-  return -1
-}
-
-# Run program to generate a core file -- see gdb.base/corefile.exp
-set found 0
-set coredir "${objdir}/${subdir}/coredir.[getpid]"
-file mkdir $coredir
-catch "system \"(cd ${coredir}; ulimit -c unlimited; ${ppu_bin}; true) >/dev/null 2>&1\""
-set names [glob -nocomplain -directory $coredir core.*]
-if {[llength $names] == 1} {
-    set corefile [file join $coredir [lindex $names 0]]
-    remote_exec build "mv $corefile ${objdir}/${subdir}/corefile"
-    set found 1
-}
-remote_exec build "rmdir $coredir"
-if { $found == 0  } {
-    warning "can't generate a core file - core tests suppressed - check ulimit -c"
-    return 0
-}
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${ppu_bin}
-
-send_gdb "core-file $objdir/$subdir/corefile\n"
-gdb_expect {
-    -re "Core was generated by .*coremaker.*\r\n\#0  .*\(\).*\r\n$gdb_prompt $" {
-	pass "core-file command"
-    }
-    -re "Core was generated by .*\r\n\#0  .*\(\).*\r\n$gdb_prompt $" {
-	pass "core-file command (with bad program name)"
-    }
-    -re ".*$gdb_prompt $"	{ fail "core-file command" }
-    timeout			{ fail "(timeout) core-file command" }
-}
-
-gdb_test "backtrace" ".*abort.*main.*at.*$ppu_file.c.*"
-
-for {set thread_id 2} {$thread_id < 7} {incr thread_id} {
-  gdb_test "t $thread_id" \
-           "Switching to thread $thread_id.*" \
-           "switch to thread $thread_id"
-  gdb_test "backtrace" \
-	   ".*terminal_func.*factorial_func.*value=1.*factorial_func.*value=2.*factorial_func.*value=3.*factorial_func.*value=4.*factorial_func.*value=5.*factorial_func.*value=6.*main.*speid.*argp.*envp.*at.*$spu_file.c.*<cross-architecture call>.*spe_context_run.*spe_thread.*at.*$ppu_file.c.*" \
-	   "backtrace in thread $thread_id"
-}
-
-gdb_exit
-
-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-8.3.50.20190917/gdb/testsuite/gdb.cell/coremaker.c ./gdb/testsuite/gdb.cell/coremaker.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/coremaker.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/coremaker.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,70 +0,0 @@
-/* This testcase is part of GDB, the GNU debugger.
-
-   Copyright 2009-2019 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/>.
-
-   Contributed by Markus Deuling <deuling@de.ibm.com>  */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <libspe2.h>
-#include <pthread.h>
-#include <sys/wait.h>
-
-extern spe_program_handle_t coremaker_spu;
-#define nr_t 5
-
-void *
-spe_thread (void * arg)
-{
-  int flags = 0;
-  unsigned int entry = SPE_DEFAULT_ENTRY;
-  spe_context_ptr_t *ctx = (spe_context_ptr_t *) arg;
-
-  spe_program_load (*ctx, &coremaker_spu);
-  spe_context_run (*ctx, &entry, flags, NULL, NULL, NULL);
-
-  pthread_exit (NULL);
-}
-
-int
-main (void)
-{
-  int thread_id[nr_t];
-  pthread_attr_t attr;
-  pthread_t pts[nr_t];
-  spe_context_ptr_t ctx[nr_t];
-  unsigned int value;
-  int cnt;
-
-  /* Use small thread stacks to speed up writing out core file.  */
-  pthread_attr_init (&attr);
-  pthread_attr_setstacksize (&attr, 2*PTHREAD_STACK_MIN);
-
-  for (cnt = 0; cnt < nr_t; cnt++)
-    {
-      ctx[cnt] = spe_context_create (0, NULL);
-      thread_id[cnt]
-	= pthread_create (&pts[cnt], &attr, &spe_thread, &ctx[cnt]);
-    }
-
-  pthread_attr_destroy (&attr);
-
-  for (cnt = 0; cnt < nr_t; cnt++)
-    spe_out_intr_mbox_read (ctx[cnt], &value, 1, SPE_MBOX_ALL_BLOCKING);
-
-  abort ();
-}
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/coremaker-spu.c ./gdb/testsuite/gdb.cell/coremaker-spu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/coremaker-spu.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/coremaker-spu.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,46 +0,0 @@
-/* This testcase is part of GDB, the GNU debugger.
-
-   Copyright 2009-2019 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/>.
-
-   Contributed by Markus Deuling <deuling@de.ibm.com>  */
-
-#include <spu_mfcio.h>
-
-void
-terminal_func ()
-{
-  spu_write_out_intr_mbox (0);
-  spu_read_in_mbox ();
-}
-
-int
-factorial_func (int value)
-{
-  if (value > 1)
-    value *= factorial_func (value - 1);
-
-  terminal_func ();
-  return value;
-}
-
-int
-main (unsigned long long speid, unsigned long long argp,
-      unsigned long long envp)
-{
-  factorial_func (6);
-  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-8.3.50.20190917/gdb/testsuite/gdb.cell/data.c ./gdb/testsuite/gdb.cell/data.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/data.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/data.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,72 +0,0 @@
-/* This testcase is part of GDB, the GNU debugger.
-
-   Copyright 2009-2019 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/>.
-
-   Contributed by Markus Deuling <deuling@de.ibm.com>  */
-
-#include <stdio.h>
-#include <libspe2.h>
-#include <pthread.h>
-#include <sys/wait.h>
-
-extern spe_program_handle_t data_spu;
-#define nr_t 1
-
-void *
-spe_thread (void *arg)
-{
-  int flags = 0;
-  unsigned int entry = SPE_DEFAULT_ENTRY;
-  spe_context_ptr_t *ctx = (spe_context_ptr_t *) arg;
-
-  spe_program_load (*ctx, &data_spu);
-  spe_context_run (*ctx, &entry, flags, NULL, NULL, NULL);
-
-  pthread_exit (NULL);
-}
-
-int main (void)
-{
-  int thread_id[nr_t];
-  pthread_t pts[nr_t];
-  spe_context_ptr_t ctx[nr_t];
-
-  int cnt;
-
-  char var_char = 'c';
-  short var_short = 7;
-  int var_int = 1337;
-  long var_long = 123456;
-  long long var_longlong = 123456789;
-  float var_float = 1.23;
-  double var_double = 2.3456;
-  long double var_longdouble = 3.45678;
-
-  for (cnt = 0; cnt < nr_t; cnt++)
-    {
-      ctx[cnt] = spe_context_create(0, NULL);
-      thread_id[cnt]
-	= pthread_create (&pts[cnt], NULL, &spe_thread, &ctx[cnt]);
-    }
-
-  for (cnt = 0; cnt < nr_t; cnt++)
-    pthread_join (pts[cnt], NULL);
-
-  for (cnt = 0; cnt < nr_t; cnt++)
-    spe_context_destroy (ctx[cnt]);
-
-  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-8.3.50.20190917/gdb/testsuite/gdb.cell/data.exp ./gdb/testsuite/gdb.cell/data.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/data.exp	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/data.exp	1970-01-01 00:00:00.000000000 +0000
@@ -1,125 +0,0 @@
-# Copyright 2009-2019 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/>.
-#
-# Contributed by Markus Deuling <deuling@de.ibm.com>.
-#
-# Testsuite for Cell Broadband Engine combined debugger
-# This testcases tries to read variables of each kind both on PPU and SPU.
-
-load_lib cell.exp
-
-set testfile "data"
-set ppu_file "data"
-set ppu_src ${srcdir}/${subdir}/${ppu_file}.c
-set ppu_bin [standard_output_file ${ppu_file}]
-set spu_file "data-spu"
-set spu_src ${srcdir}/${subdir}/${spu_file}.c
-set spu_bin [standard_output_file ${spu_file}]
-
-if {[skip_cell_tests]} {
-    return 0
-}
-
-# Compile SPU binary.
-if { [gdb_compile_cell_spu $spu_src $spu_bin executable {debug}]  != "" } {
-  unsupported "compiling spu binary failed."
-  return -1
-}
-# Compile PPU binary.
-if { [gdb_cell_embedspu $spu_bin $spu_bin-embed.o {debug}]  != "" } {
-  unsupported "embedding spu binary failed."
-  return -1
-}
-if { [gdb_compile_cell_ppu [list $ppu_src $spu_bin-embed.o] $ppu_bin executable {debug}] != "" } {
-  unsupported "compiling ppu binary failed."
-  return -1
-}
-
-if [get_compiler_info] {
-  return -1
-}
-
-proc check_var { name value } {
-  gdb_test "print $name" \
-	   ".*=.*$value" \
-	   "check_var $name = $value"
-}
-
-proc set_var { name value } {
-  gdb_test "set var $name = $value" \
-	   "" \
-	   "set var $name = $value"
-}
-
-proc dotest { name value } {
-  set_var $name $value
-  check_var $name $value
-}
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${ppu_bin}
-
-if ![runto_main] then {
-  fail "can't run to main"
-  return 0
-}
-
-# Set values.
-dotest var_char 'z'
-dotest var_short 8
-dotest var_int 321
-dotest var_long 523442
-dotest var_longlong 235354533
-xfail "dotest var_float 33.2113"
-xfail "dotest var_double 2.3456"
-xfail "dotest var_longdouble 3.456789"
-
-gdb_test "break 55" \
-	 "Breakpoint.*at.*file.*$testfile.c, line 55.*" \
-	 "set breakpoint"
-gdb_test "continue" \
-	 "Breakpoint.*at.*$testfile.c.*55.*" \
-	 "continue to bp at line 55"
-
-# Lookup variables.
-check_var var_char 'c'
-check_var var_short 7
-check_var var_int 1337
-check_var var_long 123456
-check_var var_longlong 123456789
-xfail "check_var var_float 1.23"
-xfail "check_var var_double 2.3456"
-xfail "check_var var_longdouble 3.456789"
-
-cont_spu_main
-c_to "Marker SPU End" $spu_file.c
-
-# In SPU Thread, arch should now be spu:256K.
-check_spu_arch ""
-
-# Lookup variables.
-check_var var_char 'c'
-check_var var_short 7
-check_var var_int 1337
-check_var var_long 123456
-check_var var_longlong 123456789
-xfail "check_var var_float 1.23"
-xfail "check_var var_double 2.3456"
-xfail "check_var var_longdouble 3.456789"
-
-gdb_exit
-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-8.3.50.20190917/gdb/testsuite/gdb.cell/data-spu.c ./gdb/testsuite/gdb.cell/data-spu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/data-spu.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/data-spu.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,36 +0,0 @@
-/* This testcase is part of GDB, the GNU debugger.
-
-   Copyright 2009-2019 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/>.
-
-   Contributed by Markus Deuling <deuling@de.ibm.com>  */
-
-#include <stdio.h>
-
-int
-main (unsigned long long speid, unsigned long long argp,
-      unsigned long long envp)
-{
-  char var_char = 'c';
-  short var_short = 7;
-  int var_int = 1337;
-  long var_long = 123456;
-  long long var_longlong = 123456789;
-  float var_float = 1.23;
-  double var_double = 2.3456;
-  long double var_longdouble = 3.45678;
-  return 0; /* Marker SPU End */
-}
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/dwarfaddr.exp ./gdb/testsuite/gdb.cell/dwarfaddr.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/dwarfaddr.exp	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/dwarfaddr.exp	1970-01-01 00:00:00.000000000 +0000
@@ -1,53 +0,0 @@
-# Copyright 2010-2019 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.
-#
-# Contributed by Ulrich Weigand  <uweigand@de.ibm.com>.
-# Tests for SPU addresses resulting from complex DWARF expressions.
-
-load_lib cell.exp
-
-set testfile "dwarfaddr"
-set srcfile ${srcdir}/${subdir}/${testfile}.S
-set binary [standard_output_file ${testfile}]
-
-if {[skip_cell_tests]} {
-    return 0
-}
-
-# Compile SPU binary.
-if { [gdb_compile_cell_spu $srcfile $binary executable {debug}]  != "" } {
-  unsupported "compiling spu binary failed."
-  return -1
-}
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binary}
-
-if ![runto_main] then {
-  fail "can't run to main"
-  return 0
-}
-
-gdb_test "print x" " = \\{0 <repeats 16 times>\\}" "print x"
-gdb_test "print &x" " = \\(int \\(\\*\\)\\\[16\\\]\\) 0x\[0-9a-f\]*" "print &x"
-gdb_test "info address x" "Symbol \"x\" is a complex DWARF expression.*DW_OP_and\[\r\n\]+\." "info address x"
-
-gdb_exit
-
-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-8.3.50.20190917/gdb/testsuite/gdb.cell/dwarfaddr.S ./gdb/testsuite/gdb.cell/dwarfaddr.S
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/dwarfaddr.S	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/dwarfaddr.S	1970-01-01 00:00:00.000000000 +0000
@@ -1,190 +0,0 @@
-/* Copyright 2010-2019 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.
-
-   Contributed by Ulrich Weigand <uweigand@de.ibm.com>.
-   Tests for SPU addresses resulting from complex DWARF expressions.  */
-
-	.text
-main:
-.Ltext_s:
-.LFB1:
-	stqd        $1,-240($1)
-	ai          $1,$1,-240
-	ai          $2,$1,32
-	ai          $2,$2,127
-	il          $3,127
-	andc        $3,$2,$3
-	il          $2,1
-	lqd         $4,0($3)
-	cwd         $5,0($3)
-	shufb       $2,$2,$4,$5
-	stqd        $2,0($3)
-	lqd         $1,0($1)
-	bi          $0
-.LFE1:
-	.global main
-	.type	main,@function
-	.size	main,.LFE1-.LFB1
-.Ltext_e:
-
-	.section	.debug_info,"",@progbits
-.Ldebug_info_s:
-	.int	.debug_info_size-4
-	.short	0x2
-	.int	.Ldebug_abbrev_s
-	.byte	0x4
-.Ldie0:
-	.uleb128	0x1
-	.string	"test.c"
-	.int	.Ltext_s
-	.int	.Ltext_e
-	.byte	0x1
-.Ldie1:
-	.uleb128	0x2
-	.string	"int"
-	.byte	0x4
-	.byte	0x5
-.Ldie2:
-	.uleb128	0x3
-	.int	.Ldie4-.Ldebug_info_s
-	.int	.Ldie1-.Ldebug_info_s
-.Ldie3:
-	.uleb128	0x4
-	.byte	0
-	.byte	0xf
-	.uleb128	0
-.Ldie4:
-	.uleb128	0x5
-	.string	"main"
-	.int	.LFB1
-	.int	.LFE1
-	.byte	0x1
-	.byte	0x1
-	.byte	0x3
-	.byte	0x1
-	.byte	0x1
-	.byte	0x51
-.Ldie5:
-	.uleb128	0x6
-	.byte	0xe
-	.byte	0x91
-	.sleb128	0x20
-	.byte	0xd
-	.int	0x7f
-	.byte	0x22
-	.byte	0xd
-	.int	0xffffff80
-	.byte	0x1a
-	.string	"x"
-	.byte	0x1
-	.byte	0
-	.int	.Ldie2-.Ldebug_info_s
-	.uleb128	0
-	.uleb128	0
-.Ldebug_info_e:
-	.set	.debug_info_size,.Ldebug_info_e-.Ldebug_info_s
-
-
-	.section	.debug_abbrev,"",@progbits
-.Ldebug_abbrev_s:
-	.uleb128	0x1
-	.uleb128	0x11
-	.byte	0x1
-	.uleb128	0x3
-	.uleb128	0x8
-	.uleb128	0x11
-	.uleb128	0x1
-	.uleb128	0x12
-	.uleb128	0x1
-	.uleb128	0x13
-	.uleb128	0xb
-	.uleb128	0
-	.uleb128	0
-
-	.uleb128	0x2
-	.uleb128	0x24
-	.byte	0
-	.uleb128	0x3
-	.uleb128	0x8
-	.uleb128	0xb
-	.uleb128	0xb
-	.uleb128	0x3e
-	.uleb128	0xb
-	.uleb128	0
-	.uleb128	0
-
-	.uleb128	0x3
-	.uleb128	0x1
-	.byte	0x1
-	.uleb128	0x1
-	.uleb128	0x13
-	.uleb128	0x49
-	.uleb128	0x13
-	.uleb128	0
-	.uleb128	0
-
-	.uleb128	0x4
-	.uleb128	0x21
-	.byte	0
-	.uleb128	0x22
-	.uleb128	0xb
-	.uleb128	0x2f
-	.uleb128	0xb
-	.uleb128	0
-	.uleb128	0
-
-	.uleb128	0x5
-	.uleb128	0x2e
-	.byte	0x1
-	.uleb128	0x3
-	.uleb128	0x8
-	.uleb128	0x11
-	.uleb128	0x1
-	.uleb128	0x12
-	.uleb128	0x1
-	.uleb128	0x27
-	.uleb128	0xc
-	.uleb128	0x3a
-	.uleb128	0xb
-	.uleb128	0x3b
-	.uleb128	0xb
-	.uleb128	0x3f
-	.uleb128	0xc
-	.uleb128	0x40
-	.uleb128	0xa
-	.uleb128	0
-	.uleb128	0
-
-	.uleb128	0x6
-	.uleb128	0x34
-	.byte	0
-	.uleb128	0x2
-	.uleb128	0xa
-	.uleb128	0x3
-	.uleb128	0x8
-	.uleb128	0x3a
-	.uleb128	0xb
-	.uleb128	0x3b
-	.uleb128	0xb
-	.uleb128	0x49
-	.uleb128	0x13
-	.uleb128	0
-	.uleb128	0
-	.uleb128	0
-.Ldebug_abbrev_e:
-	.set	.debug_abbrev_size,.Ldebug_abbrev_e-.Ldebug_abbrev_s
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/ea-cache.c ./gdb/testsuite/gdb.cell/ea-cache.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/ea-cache.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/ea-cache.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,64 +0,0 @@
-/* This testcase is part of GDB, the GNU debugger.
-
-   Copyright 2009-2019 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/>.
-
-   Contributed by Markus Deuling <deuling@de.ibm.com>  */
-
-#include <stdio.h>
-#include <libspe2.h>
-#include <pthread.h>
-#include <sys/wait.h>
-
-extern spe_program_handle_t ea_cache_spu;
-int int_var = 23;
-
-void *
-spe_thread (void *arg)
-{
-  int flags = 0;
-  unsigned int entry = SPE_DEFAULT_ENTRY;
-  spe_context_ptr_t *ctx = (spe_context_ptr_t *) arg;
-
-  spe_program_load (*ctx, &ea_cache_spu);
-  spe_context_run (*ctx, &entry, flags, &int_var, NULL, NULL);
-
-  pthread_exit (NULL);
-}
-
-int
-main (void)
-{
-  spe_context_ptr_t ctx;
-  pthread_t pts;
-  int thread_id;
-
-  printf ("ppe.c | int_var vor %d | adr int_var %p\n", int_var, &int_var);
-
-  /* Create SPE context and pthread.  */
-  ctx = spe_context_create (0, NULL);
-  thread_id = pthread_create (&pts, NULL, &spe_thread, &ctx);
-
-  /* Join the pthread.  */
-  pthread_join (pts, NULL);
-
-  /* Destroy the SPE context.  */
-  spe_context_destroy (ctx);
-
-  printf ("ppe.c | int_var nach %d\n", int_var);
-
-  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-8.3.50.20190917/gdb/testsuite/gdb.cell/ea-cache.exp ./gdb/testsuite/gdb.cell/ea-cache.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/ea-cache.exp	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/ea-cache.exp	1970-01-01 00:00:00.000000000 +0000
@@ -1,90 +0,0 @@
-# Copyright 2009-2019 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/>.
-#
-# Contributed by Markus Deuling <deuling@de.ibm.com>.
-#
-# Testsuite for Cell Broadband Engine combined debugger
-# Testcase for ea software managed cache.
-
-load_lib cell.exp
-
-set ppu_file "ea-cache"
-set ppu_src ${srcdir}/${subdir}/${ppu_file}.c
-set ppu_bin [standard_output_file ${ppu_file}]
-set spu_file "ea-cache-spu"
-set spu_src ${srcdir}/${subdir}/${spu_file}.c
-set spu_bin [standard_output_file ${spu_file}]
-
-if {[skip_cell_tests]} {
-    return 0
-}
-
-# Compile SPU binary.
-if { [gdb_compile_cell_spu $spu_src $spu_bin executable {debug}]  != "" } {
-  unsupported "compiling spu binary failed."
-  return -1
-}
-# Compile PPU binary.
-if { [gdb_cell_embedspu $spu_bin $spu_bin-embed.o {debug}]  != "" } {
-  unsupported "embedding spu binary failed."
-  return -1
-}
-if { [gdb_compile_cell_ppu [list $ppu_src $spu_bin-embed.o] $ppu_bin executable {debug}] != "" } {
-  unsupported "compiling ppu binary failed."
-  return -1
-}
-
-if [get_compiler_info] {
-  return -1
-}
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${ppu_bin}
-
-if ![runto_main] then {
-  fail "can't run to main"
-  return 0
-}
-
-# Set breakpoint in SPU binary.
-cont_spu_main
-c_to "Marker SPUEA" $spu_file.c
-
-gdb_test "p *ppe_int_ptr" \
-	 ".*=.*23.*" \
-	 "p *ppe_int_ptr"
-
-gdb_test "set *ppe_int_ptr=42" "" ""
-
-gdb_test "p *ppe_int_ptr" \
-	 ".*=.*42.*" \
-	 "p *ppe_int_ptr"
-
-# Now switch to thread 1 (PPU) and look at int_var.  ppe_int_ptr points to
-# int_var and should now also contain 42 (ea cache has been flushed).
-gdb_test "t 1" \
-	 ".*Switching to thread 1.*" \
-	 "switch to thread 1"
-
-gdb_test "p int_var" \
-	 ".*=.*42.*" \
-	 "p int_var on ppu"
-
-gdb_exit
-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-8.3.50.20190917/gdb/testsuite/gdb.cell/ea-cache-spu.c ./gdb/testsuite/gdb.cell/ea-cache-spu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/ea-cache-spu.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/ea-cache-spu.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,41 +0,0 @@
-/* This testcase is part of GDB, the GNU debugger.
-
-   Copyright 2009-2019 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/>.
-
-   Contributed by Markus Deuling <deuling@de.ibm.com>  */
-
-#include <stdio.h>
-#include <spu_mfcio.h>
-
-__ea int *ppe_int_ptr;
-
-int
-main (unsigned long long speid, unsigned long long argp,
-      unsigned long long envp)
-{
-  printf ("spe.c | argp = 0x%llx\n", argp);
-
-#ifdef __EA32__
-  ppe_int_ptr = (__ea int *)(unsigned long)argp;
-#else
-  ppe_int_ptr = (__ea int *)argp;
-#endif
-  printf ("spe.c | value = %d\n", *ppe_int_ptr);
-  *ppe_int_ptr = 42; /* Marker SPUEA */
-  printf ("spe.c | value = %d\n", *ppe_int_ptr);
-
-  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-8.3.50.20190917/gdb/testsuite/gdb.cell/ea-standalone.c ./gdb/testsuite/gdb.cell/ea-standalone.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/ea-standalone.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/ea-standalone.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,34 +0,0 @@
-/* This testcase is part of GDB, the GNU debugger.
-
-   Copyright 2009-2019 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/>.
-
-   Contributed by Markus Deuling <deuling@de.ibm.com>  */
-
-#include <stdio.h>
-#include <ea.h>
-
-int
-main (unsigned long long speid, unsigned long long argp,
-      unsigned long long envp)
-{
-  int a;
-  __ea int *myarray = malloc_ea (3 * sizeof (int));
-
-  memset_ea (myarray, 0, 3 * sizeof (int));
-  a = ++myarray[0]; /* Marker SPUEA1  */
-  printf("a: %d, myarray[0]: %d\n", a, myarray[0]); /* Marker SPUEA2  */
-  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-8.3.50.20190917/gdb/testsuite/gdb.cell/ea-standalone.exp ./gdb/testsuite/gdb.cell/ea-standalone.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/ea-standalone.exp	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/ea-standalone.exp	1970-01-01 00:00:00.000000000 +0000
@@ -1,64 +0,0 @@
-# Copyright 2009-2019 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/>.
-#
-# Contributed by Markus Deuling <deuling@de.ibm.com>.
-#
-# Testsuite for Cell Broadband Engine combined debugger
-# Testcase for ea software managed cache in a standalone binary.
-
-load_lib cell.exp
-
-set testfile "ea-standalone"
-set srcfile ${srcdir}/${subdir}/${testfile}.c
-set binary [standard_output_file ${testfile}]
-
-if {[skip_cell_tests]} {
-    return 0
-}
-
-# Compile SPU binary.
-if { [gdb_compile_cell_spu $srcfile $binary executable {debug}]  != "" } {
-  unsupported "failed to compile"
-  return -1
-}
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binary}
-
-if ![runto_main] then {
-  fail "can't run to main"
-  return 0
-}
-
-c_to "Marker SPUEA1" $testfile.c
-gdb_test "p myarray\[0\]" \
-	 ".*= 0" \
-	 "p myarray\[0\]"
-
-c_to "Marker SPUEA2" $testfile.c
-gdb_test "p myarray\[0\]" \
-	 ".*= 1" \
-	 "p myarray\[0\]"
-gdb_test "call __cache_flush()" "" "call cache_flush()"
-gdb_test "p myarray\[0\]" \
-	 ".*= 1" \
-	 "p myarray\[0\]"
-
-gdb_exit
-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-8.3.50.20190917/gdb/testsuite/gdb.cell/ea-test.c ./gdb/testsuite/gdb.cell/ea-test.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/ea-test.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/ea-test.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,33 +0,0 @@
-/* This testcase is part of GDB, the GNU debugger.
-
-   Copyright 2009-2019 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/>.
-
-   Contributed by Markus Deuling <deuling@de.ibm.com>  */
-
-#include <stdio.h>
-
-__ea int *ppe_pointer;
-int *normal_pointer;
-
-int
-main (unsigned long long speid, unsigned long long argp,
-      unsigned long long envp)
-{
-  static __ea int *local_ppe_pointer;
-  static int *local_normal_pointer;
-  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-8.3.50.20190917/gdb/testsuite/gdb.cell/ea-test.exp ./gdb/testsuite/gdb.cell/ea-test.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/ea-test.exp	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/ea-test.exp	1970-01-01 00:00:00.000000000 +0000
@@ -1,124 +0,0 @@
-# Copyright 2009-2019 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/>.
-#
-# Contributed by Markus Deuling <deuling@de.ibm.com>.
-#
-# Testsuite for Cell Broadband Engine combined debugger
-# Testcase for __ea pointer
-
-load_lib cell.exp
-
-set testfile "ea-test"
-set source ${srcdir}/${subdir}/${testfile}.c
-set binary [standard_output_file ${testfile}]
-
-if {[skip_cell_tests]} {
-    return 0
-}
-
-# Compile SPU binary.
-if { [gdb_compile_cell_spu $source $binary executable {debug}]  != "" } {
-  unsupported "failed to compile"
-  return -1
-}
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binary}
-
-if ![runto_main] then {
-  fail "can't run to main"
-  return 0
-}
-
-# p
-gdb_test "p ppe_pointer" \
-	 "(int.*@__ea).*0x0.*" \
-	 "p ppe_pointer"
-
-gdb_test "p normal_pointer" \
-	 "(int.*).*0x0.*" \
-	 "p normal_pointer"
-
-gdb_test "p local_ppe_pointer" \
-	 "(int.*@__ea).*0x0.*" \
-	 "p local_ppe_pointer"
-
-gdb_test "p local_normal_pointer" \
-	 "(int.*).*0x0.*" \
-	 "p local_normal_pointer"
-
-# ptype
-gdb_test "ptype ppe_pointer" \
-	 "type = int.*@__ea" \
-	 "ptype ppe_pointer"
-
-gdb_test "ptype normal_pointer" \
-	 "type = int.*" \
-	 "ptype normal_pointer"
-
-gdb_test "ptype local_ppe_pointer" \
-	 "type = int.*@__ea" \
-	 "ptype local_ppe_pointer"
-
-gdb_test "ptype local_normal_pointer" \
-	 "type = int.*" \
-	 "ptype local_normal_pointer"
-
-# info locals
-gdb_test "info locals" \
-	 ".*local_ppe_pointer =.*0x0.*local_normal_pointer =.*0x0.*" \
-	 "info locals"
-
-# p &
-gdb_test "p &ppe_pointer" \
-	 ".*=.*(int.*@__ea.*).*0x.*" \
-	 "p &ppe_pointer"
-
-gdb_test "p &normal_pointer" \
-	 ".*=.*(int.*).*0x.*" \
-	 "p &normal_pointer"
-
-gdb_test "p &local_ppe_pointer" \
-	 ".*=.*(int.*@__ea.*).*0x.*" \
-	 "p &local_ppe_pointer"
-
-gdb_test "p &local_normal_pointer" \
-	 ".*=.*(int.*).*0x.*" \
-	 "p &local_normal_pointer"
-
-# ptype *
-gdb_test "ptype *ppe_pointer" \
-	 "type = int" \
-	 "ptype *ppe_pointer"
-
-gdb_test "ptype *normal_pointer" \
-	 "type = int" \
-	 "ptype *normal_pointer"
-
-gdb_test "ptype *local_ppe_pointer" \
-	 "type = int" \
-	 "ptype *local_ppe_pointer"
-
-gdb_test "ptype *local_normal_pointer" \
-	 "type = int" \
-	 "ptype *local_normal_pointer"
-
-gdb_exit
-
-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-8.3.50.20190917/gdb/testsuite/gdb.cell/fork.c ./gdb/testsuite/gdb.cell/fork.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/fork.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/fork.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,77 +0,0 @@
-/* This testcase is part of GDB, the GNU debugger.
-
-   Copyright 2010-2019 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/>.
-
-   Contributed by Ulrich Weigand <uweigand@de.ibm.com>  */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <libspe2.h>
-#include <pthread.h>
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <unistd.h>
-
-extern spe_program_handle_t fork_spu;
-
-void *
-spe_thread (void * arg)
-{
-  int flags = 0;
-  unsigned int entry = SPE_DEFAULT_ENTRY;
-  spe_context_ptr_t *ctx = (spe_context_ptr_t *) arg;
-
-  spe_program_load (*ctx, &fork_spu);
-  spe_context_run (*ctx, &entry, flags, NULL, NULL, NULL);
-
-  pthread_exit (NULL);
-}
-
-int
-main (void)
-{
-  pthread_t pts;
-  spe_context_ptr_t ctx;
-  unsigned int value;
-  unsigned int pid;
-
-  ctx = spe_context_create (0, NULL);
-  pthread_create (&pts, NULL, &spe_thread, &ctx);
-
-  /* Wait until the SPU thread is running.  */
-  spe_out_intr_mbox_read (ctx, &value, 1, SPE_MBOX_ALL_BLOCKING);
-
-  pid = fork ();
-  if (pid == 0)
-    {
-      /* This is the child.  Just exit immediately.  */
-      exit (0);
-    }
-  else
-    {
-      /* This is the parent.  Wait for the child to exit.  */
-      waitpid (pid, NULL, 0);
-    }
-
-  /* Tell SPU to continue.  */
-  spe_in_mbox_write (ctx, &value, 1, SPE_MBOX_ALL_BLOCKING);
-  
-  pthread_join (pts, NULL);
-  spe_context_destroy (ctx);
-
-  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-8.3.50.20190917/gdb/testsuite/gdb.cell/fork.exp ./gdb/testsuite/gdb.cell/fork.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/fork.exp	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/fork.exp	1970-01-01 00:00:00.000000000 +0000
@@ -1,86 +0,0 @@
-# Copyright 2010-2019 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/>.
-#
-# Contributed by Ulrich Weigand <uweigand@de.ibm.com>.
-#
-# Testsuite for Cell Broadband Engine combined debugger
-# This testcases tests support for PPU-side fork during SPU debugging
-
-load_lib cell.exp
-
-set testfile "fork"
-set ppu_file "fork"
-set ppu_src ${srcdir}/${subdir}/${ppu_file}.c
-set ppu_bin [standard_output_file ${ppu_file}]
-set spu_file "fork-spu"
-set spu_src ${srcdir}/${subdir}/${spu_file}.c
-set spu_bin [standard_output_file ${spu_file}]
-
-if {[skip_cell_tests]} {
-    return 0
-}
-
-# Compile SPU binary.
-if { [gdb_compile_cell_spu $spu_src $spu_bin executable {debug}]  != "" } {
-  unsupported "compiling spu binary failed."
-  return -1
-}
-# Compile PPU binary.
-if { [gdb_cell_embedspu $spu_bin $spu_bin-embed.o {debug}]  != "" } {
-  unsupported "embedding spu binary failed."
-  return -1
-}
-if { [gdb_compile_cell_ppu [list $ppu_src $spu_bin-embed.o] $ppu_bin executable {debug}] != "" } {
-  unsupported "compiling ppu binary failed."
-  return -1
-}
-
-if [get_compiler_info] {
-  return -1
-}
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${ppu_bin}
-
-if ![runto_main] then {
-  fail "can't run to main"
-  return 0
-}
-
-delete_breakpoints
-
-gdb_test_no_output "set spu stop-on-load" "set spu stop-on-load"
-
-gdb_test "continue" "Continuing\\..*Temporary breakpoint \[0-9\]+, main \\(speid=.*, argp=.*, envp=.*\\) at .*$spu_file\\.c:.*spu_write_out_intr_mbox.*" \
-	 "run until SPU main"
-
-gdb_test "break func" "Breakpoint \[0-9\]+ at.* file .*$spu_file.c, line \[0-9\]+\\." "break func"
-gdb_test "watch var" "Watchpoint \[0-9\]+: var" "watch var"
-
-gdb_test "continue" "Continuing\\..*Watchpoint.*Old value = 0.*New value = 1.*" \
-	 "run until watchpoint hit"
-
-gdb_test_no_output "delete \$bpnum" "delete watchpoint"
-
-gdb_test "continue" "Continuing\\..*Breakpoint \[0-9\]+, func \\(\\) at .*$spu_file.c:.*" \
-	 "run until breakpoint hit"
-
-gdb_continue_to_end "" continue 1
-
-gdb_exit
-
-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-8.3.50.20190917/gdb/testsuite/gdb.cell/fork-spu.c ./gdb/testsuite/gdb.cell/fork-spu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/fork-spu.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/fork-spu.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,47 +0,0 @@
-/* This testcase is part of GDB, the GNU debugger.
-
-   Copyright 2010-2019 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/>.
-
-   Contributed by Ulrich Weigand <uweigand@de.ibm.com>  */
-
-#include <spu_mfcio.h>
-
-int var;
-
-void
-func (void)
-{
-}
-
-int
-main (unsigned long long speid, unsigned long long argp,
-      unsigned long long envp)
-{
-  /* Signal to PPU side that it should fork now.  */
-  spu_write_out_intr_mbox (0);
-
-  /* Wait until fork completed.  */
-  spu_read_in_mbox ();
-
-  /* Trigger watchpoint.  */
-  var = 1;
-
-  /* Now call some function to trigger breakpoint.  */
-  func ();
-
-  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-8.3.50.20190917/gdb/testsuite/gdb.cell/f-regs.exp ./gdb/testsuite/gdb.cell/f-regs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/f-regs.exp	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/f-regs.exp	1970-01-01 00:00:00.000000000 +0000
@@ -1,89 +0,0 @@
-# Copyright 2009-2019 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/>.
-#
-# Contributed by Markus Deuling <deuling@de.ibm.com>.
-#
-# Testsuite for Cell Broadband Engine combined debugger
-# This testcase tests access to SPU vector registers while language is fortran.
-
-load_lib cell.exp
-
-set ppu_file "break"
-set ppu_src ${srcdir}/${subdir}/${ppu_file}.c
-set ppu_bin [standard_output_file ${ppu_file}]
-set spu_file "break-spu"
-set spu_src ${srcdir}/${subdir}/${spu_file}.c
-set spu_bin [standard_output_file ${spu_file}]
-
-if {[skip_cell_tests]} {
-    return 0
-}
-
-# Compile SPU binary.
-if { [gdb_compile_cell_spu $spu_src $spu_bin executable {debug}]  != "" } {
-  unsupported "compiling spu binary failed."
-  return -1
-}
-# Compile PPU binary.
-if { [gdb_cell_embedspu $spu_bin $spu_bin-embed.o {debug}]  != "" } {
-  unsupported "embedding spu binary failed."
-  return -1
-}
-if { [gdb_compile_cell_ppu [list $ppu_src $spu_bin-embed.o] $ppu_bin executable {debug}] != "" } {
-  unsupported "compiling ppu binary failed."
-  return -1
-}
-
-if [get_compiler_info] {
-  return -1
-}
-
-proc check_vector_regs {} {
-  for {set check_reg 0} {$check_reg < 128} {incr check_reg} {
-
-    gdb_test "p \$r$check_reg" \
-	     "r$check_reg.*=.*\(.*\).*" \
-	     "p \$r$check_reg"
-
-    gdb_test "ptype \$r$check_reg" \
-	     "type = Type,.*C_Union :: __spu_builtin_type_vec128.*int128_t :: uint128.*int64_t :: v2_int64.*int32_t :: v4_int32\(.*\).*int16_t :: v8_int16\(.*\).*int8_t :: v16_int8\(.*\).*double :: v2_double\(.*\).*float :: v4_float\(.*\).*End Type __spu_builtin_type_vec128.*" \
-	     "ptype \$r$check_reg"
-  }
-}
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${ppu_bin}
-
-# No programm running, no registers should be available.
-gdb_test "info all-registers" \
-         "The program has no registers now." \
-         "info all-registers"
-
-if ![runto_main] then {
-  fail "can't run to main"
-  return 0
-}
-
-cont_spu_main
-gdb_test "set language fortran" \
-	 "Warning: the current language does not match this frame.*" \
-	 "set language fortran"
-check_vector_regs
-
-gdb_exit
-
-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-8.3.50.20190917/gdb/testsuite/gdb.cell/gcore.exp ./gdb/testsuite/gdb.cell/gcore.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/gcore.exp	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/gcore.exp	1970-01-01 00:00:00.000000000 +0000
@@ -1,108 +0,0 @@
-# Copyright 2009-2019 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/>.
-#
-# Contributed by Markus Deuling <deuling@de.ibm.com>.
-#
-# Testsuite for Cell Broadband Engine combined debugger
-# This testcases tests mixed-architecture core file support
-
-load_lib cell.exp
-
-set testfile "coremaker"
-set ppu_file "coremaker"
-set ppu_src ${srcdir}/${subdir}/${ppu_file}.c
-set ppu_bin [standard_output_file ${ppu_file}]
-set spu_file "coremaker-spu"
-set spu_src ${srcdir}/${subdir}/${spu_file}.c
-set spu_bin [standard_output_file ${spu_file}]
-
-if {![isnative]} then {
-    return 0
-}
-
-if {[skip_cell_tests]} {
-    return 0
-}
-
-# Compile SPU binary.
-if { [gdb_compile_cell_spu $spu_src $spu_bin executable {debug}]  != "" } {
-  unsupported "compiling spu binary failed."
-  return -1
-}
-# Compile PPU binary.
-if { [gdb_cell_embedspu $spu_bin $spu_bin-embed.o {debug}]  != "" } {
-  unsupported "embedding spu binary failed."
-  return -1
-}
-if { [gdb_compile_cell_ppu [list $ppu_src $spu_bin-embed.o] $ppu_bin executable {debug}] != "" } {
-  unsupported "compiling ppu binary failed."
-  return -1
-}
-
-if [get_compiler_info] {
-  return -1
-}
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${ppu_bin}
-
-if ![runto_main] then {
-  fail "can't run to main"
-  return 0
-}
-
-delete_breakpoints
-
-gdb_test "continue" ".*Aborted.*"
-
-if {![gdb_gcore_cmd "${objdir}/${subdir}/gcore.test" \
-	  "save a corefile"]} {
-    return -1
-}
-
-# Now restart gdb and load the corefile.
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${ppu_bin}
-
-send_gdb "core-file $objdir/$subdir/gcore.test\n"
-gdb_expect {
-    -re "Core was generated by .*coremaker.*\r\n\#0  .*\(\).*\r\n$gdb_prompt $" {
-	pass "core-file command"
-    }
-    -re "Core was generated by .*\r\n\#0  .*\(\).*\r\n$gdb_prompt $" {
-	pass "core-file command (with bad program name)"
-    }
-    -re ".*$gdb_prompt $"	{ fail "core-file command" }
-    timeout			{ fail "(timeout) core-file command" }
-}
-
-gdb_test "backtrace" ".*abort.*main.*at.*$ppu_file.c.*"
-
-for {set thread_id 2} {$thread_id < 7} {incr thread_id} {
-  gdb_test "t $thread_id" \
-           "Switching to thread $thread_id.*" \
-           "switch to thread $thread_id"
-  gdb_test "backtrace" \
-	   ".*terminal_func.*factorial_func.*value=1.*factorial_func.*value=2.*factorial_func.*value=3.*factorial_func.*value=4.*factorial_func.*value=5.*factorial_func.*value=6.*main.*speid.*argp.*envp.*at.*$spu_file.c.*<cross-architecture call>.*spe_context_run.*spe_thread.*at.*$ppu_file.c.*" \
-	   "backtrace in thread $thread_id"
-}
-
-gdb_exit
-
-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-8.3.50.20190917/gdb/testsuite/gdb.cell/mem-access.c ./gdb/testsuite/gdb.cell/mem-access.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/mem-access.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/mem-access.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,67 +0,0 @@
-/* This testcase is part of GDB, the GNU debugger.
-
-   Copyright 2009-2019 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/>.
-
-   Contributed by Markus Deuling <deuling@de.ibm.com>  */
-
-#include <stdio.h>
-#include <libspe2.h>
-#include <pthread.h>
-#include <sys/wait.h>
-
-extern spe_program_handle_t mem_access_spu;
-#define nr_t 1
-
-void *
-spe_thread (void *arg)
-{
-  int flags = 0;
-  unsigned int entry = SPE_DEFAULT_ENTRY;
-  spe_context_ptr_t *ctx = (spe_context_ptr_t *) arg;
-
-  spe_program_load (*ctx, &mem_access_spu);
-  spe_context_run (*ctx, &entry, flags, NULL, NULL, NULL);
-
-  pthread_exit (NULL);
-}
-
-int
-main (void)
-{
-  int thread_id[nr_t];
-  pthread_t pts[nr_t];
-  spe_context_ptr_t ctx[nr_t];
-  int value = 1;
-  int cnt;
-  static int test_var;
-
-  test_var = 5;
-  for (cnt = 0; cnt < nr_t; cnt++) /* Marker PPUEA */
-    {
-      ctx[cnt] = spe_context_create (0, NULL);
-      thread_id[cnt]
-	= pthread_create (&pts[cnt], NULL, &spe_thread, &ctx[cnt]);
-    }
-
-  for (cnt = 0; cnt < nr_t; cnt++)
-    pthread_join (pts[cnt], NULL);
-
-  for (cnt = 0; cnt < nr_t; cnt++)
-    spe_context_destroy (ctx[cnt]);
-
-  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-8.3.50.20190917/gdb/testsuite/gdb.cell/mem-access.exp ./gdb/testsuite/gdb.cell/mem-access.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/mem-access.exp	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/mem-access.exp	1970-01-01 00:00:00.000000000 +0000
@@ -1,170 +0,0 @@
-# Copyright 2009-2019 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/>.
-#
-# Contributed by Markus Deuling <deuling@de.ibm.com>.
-#
-# Testsuite for Cell Broadband Engine combined debugger
-# This testcases tests on PPU and SPU if variables and registers are accessible
-# via print and set by using names and adresses.
-
-load_lib cell.exp
-
-set ppu_file "mem-access"
-set ppu_src ${srcdir}/${subdir}/${ppu_file}.c
-set ppu_bin [standard_output_file ${ppu_file}]
-set spu_file "mem-access-spu"
-set spu_src ${srcdir}/${subdir}/${spu_file}.c
-set spu_bin [standard_output_file ${spu_file}]
-
-if {[skip_cell_tests]} {
-    return 0
-}
-
-# Compile SPU binary.
-if { [gdb_compile_cell_spu $spu_src $spu_bin executable {debug}]  != "" } {
-  unsupported "compiling spu binary failed."
-  return -1
-}
-# Compile PPU binary.
-if { [gdb_cell_embedspu $spu_bin $spu_bin-embed.o {debug}]  != "" } {
-  unsupported "embedding spu binary failed."
-  return -1
-}
-if { [gdb_compile_cell_ppu [list $ppu_src $spu_bin-embed.o] $ppu_bin executable {debug}] != "" } {
-  unsupported "compiling ppu binary failed."
-  return -1
-}
-
-if [get_compiler_info] {
-  return -1
-}
-
-# Get the adress to symbol name. If $reg
-# is set to 1, get address from a register.
-proc get_adress_from_name { name reg } {
-  global gdb_prompt
-  set adr ""
-
-  if { $reg == 1 } {
-    set q "x/x $name"
-  } else {
-    set q "x/x &$name"
-  }
-
-  gdb_test_multiple $q "get address from $name" {
-    -re "(0x.....):.*$gdb_prompt $" { # Registers.
-      set adr $expect_out(1,string)
-      pass "get adress from $name = $adr"
-    }
-    -re "(0x........) <.*$gdb_prompt $" { # PPU address.
-      set adr $expect_out(1,string)
-      pass "get adress from $name = $adr"
-    }
-    -re "(0x....) <.*$gdb_prompt $" { # SPU address.
-      set adr $expect_out(1,string)
-      pass "get adress from $name = $adr"
-    }
-    -re "(0x...) <.*$gdb_prompt $" { # SPU address.
-      set adr $expect_out(1,string)
-      pass "get adress from $name = $adr"
-    }
-  }
-
-  return ${adr}
-}
-
-# Try to set a $value at adress $adr.
-proc set_adr_content { adr value } {
-  gdb_test "set *$adr=$value" \
-	   "" \
-	   "set *$adr=$value"
-}
-
-# Try to set a $value for $symbol.
-proc set_symbol_content { symbol value } {
-  gdb_test "set $symbol=$value" \
-	   "" \
-	   "set *$symbol=$value"
-}
-
-# Check if $value is at *adr
-proc test_adr_content { adr value } {
-  gdb_test "p *$adr" \
-           ".*=.*$value.*" \
-           "(ptr) *$adr==$value"
-}
-
-proc test_symbol_content { symbol value } {
-  gdb_test "p $symbol" \
-	   ".*=.*$value.*" \
-	   "(symbol) $symbol==$value"
-}
-
-# Check VARNAME. Check if it has the inital
-# value INITIALVALUE. Set it to NEWVALUE.
-# Check if set properly. Do it via symbols and
-# pointers.
-proc check_var { varname initalvalue newvalue } {
-
-  # Initial value should be $initalvalue.
-  test_symbol_content $varname $initalvalue
-
-  # Get pointer to symbol and check if the
-  # initial value is found.
-  set adr [get_adress_from_name $varname 0]
-  test_adr_content $adr $initalvalue
-
-  # Re-set value using the pointer.
-  set_adr_content $adr $newvalue
-
-  # Test values by pointer and by symbol.
-  test_adr_content $adr $newvalue
-  test_symbol_content $varname $newvalue
-
-  # Set value back to initalvalue using symbol
-  # name and check it.
-  set_symbol_content $varname $initalvalue
-  test_adr_content $adr $initalvalue
-  test_symbol_content $varname $initalvalue
-}
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${ppu_bin}
-
-if ![runto_main] then {
-  fail "can't run to main"
-  return 0
-}
-
-# Check in PPU thread.
-c_to "Marker PPUEA" $ppu_file.c
-check_var "test_var" 5 7
-
-# Go to SPU thread.
-cont_spu_main
-c_to "Marker SPUEA" $spu_file.c
-check_spu_arch ""
-
-# Check in SPU thread.
-check_var "test_var" 5 7
-# Check $sp register.
-set adr [get_adress_from_name "\$sp" 1]
-set_adr_content $adr 8
-test_adr_content $adr 8
-
-gdb_exit
-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-8.3.50.20190917/gdb/testsuite/gdb.cell/mem-access-spu.c ./gdb/testsuite/gdb.cell/mem-access-spu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/mem-access-spu.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/mem-access-spu.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,36 +0,0 @@
-/* This testcase is part of GDB, the GNU debugger.
-
-   Copyright 2009-2019 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/>.
-
-   Contributed by Markus Deuling <deuling@de.ibm.com>  */
-
-#include <stdio.h>
-
-int
-main (unsigned long long speid, unsigned long long argp,
-      unsigned long long envp)
-{
-  int i;
-  static int test_var;
-
-  printf ("Hello World! from spu\n");
-
-  test_var = 5;
-  i = 5; /* Marker SPUEA */
-  printf ("i = %d\n", i);
-
-  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-8.3.50.20190917/gdb/testsuite/gdb.cell/ptype.exp ./gdb/testsuite/gdb.cell/ptype.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/ptype.exp	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/ptype.exp	1970-01-01 00:00:00.000000000 +0000
@@ -1,145 +0,0 @@
-# Copyright 2009-2019 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/>.
-#
-# Contributed by Markus Deuling <deuling@de.ibm.com>.
-#
-# Testsuite for Cell Broadband Engine combined debugger
-# Test ptype and print/set of SPU-side registers.
-
-load_lib cell.exp
-
-set ppu_file "break"
-set ppu_src ${srcdir}/${subdir}/${ppu_file}.c
-set ppu_bin [standard_output_file ${ppu_file}]
-set spu_file "break-spu"
-set spu_src ${srcdir}/${subdir}/${spu_file}.c
-set spu_bin [standard_output_file ${spu_file}]
-
-if {[skip_cell_tests]} {
-    return 0
-}
-
-# Compile SPU binary.
-if { [gdb_compile_cell_spu $spu_src $spu_bin executable {debug}]  != "" } {
-  unsupported "compiling spu binary failed."
-  return -1
-}
-# Compile PPU binary.
-if { [gdb_cell_embedspu $spu_bin $spu_bin-embed.o {debug}]  != "" } {
-  unsupported "embedding spu binary failed."
-  return -1
-}
-if { [gdb_compile_cell_ppu [list $ppu_src $spu_bin-embed.o] $ppu_bin executable {debug}] != "" } {
-  unsupported "compiling ppu binary failed."
-  return -1
-}
-
-if [get_compiler_info] {
-  return -1
-}
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${ppu_bin}
-
-if ![runto_main] then {
-  fail "can't run to main"
-  return 0
-}
-
-# Continue to SPU
-cont_spu_main
-
-gdb_test "info registers r2"  \
-	 "r2.*\{uint128 =.*v2_int64 =.*v4_int32 =.*v8_int16 =.*v16_int8 =.*v2_double =.*v4_float =.*\}.*" \
-	 "info registers r2"
-
-for {set check_reg 10} {$check_reg < 12} {incr check_reg} {
-  gdb_test "print \$r$check_reg\.v4_int32" \
-	   ".*= \{.*,.*,.*,.*\}" \
-	   "print \$r$check_reg\.v4_int32"
-
-  gdb_test "ptype \$r$check_reg" \
-	   "type = union __spu_builtin_type_vec128.*\{.*int128_t uint128.* \
-	    int64_t v2_int64.*int32_t v4_int32.*int16_t v8_int16.* \
-	    int8_t v16_int8.*double v2_double.*float v4_float.*\}" \
-	   "ptype \$r$check_reg"
-
-  gdb_test "set \$r$check_reg\.v4_int32 = {1,2,3,4}" \
-	   "" \
-	   "set \$r$check_reg\.v4_int32 = {1,2,3,4}"
-
-  gdb_test "print \$r$check_reg\.v4_int32" \
-	   ".*= \{.*1, 2, 3, 4.*\}" \
-	   "print \$r$check_reg\.v4_int32"
-
-  gdb_test "print \$r$check_reg.v4_int32\[0\]" \
-	   ".*= 1.*" \
-	   "print \$r$check_reg.v4_int32\[0\]"
-
-  gdb_test "print \$r$check_reg.v4_int32\[1\]" \
-	   ".*= 2.*" \
-	   "print \$r$check_reg.v4_int32\[1\]"
-
-  gdb_test "print \$r$check_reg.v4_int32\[2\]" \
-	   ".*= 3.*" \
-	   "print \$r$check_reg.v4_int32\[2\]"
-
-  gdb_test "print \$r$check_reg.v4_int32\[3\]" \
-	   ".*= 4.*" \
-	   "print \$r$check_reg.v4_int32\[3\]"
-
-  gdb_test "print \$r$check_reg.v4_int32\[4\]" \
-	   "no such vector element" \
-	   "print \$r$check_reg.v4_int32\[4\]"
-
-  # Set single array elements to other values and check the results.
-  gdb_test "set \$r$check_reg\.v4_int32\[0\] = 5" \
-	   "" \
-	   "set \$r$check_reg\.v4_int32\[0\] = 5"
-  gdb_test "print \$r$check_reg.v4_int32\[0\]" \
-	   ".*= 5.*" \
-	   "print \$r$check_reg.v4_int32\[0\]"
-
-  gdb_test "set \$r$check_reg\.v4_int32\[1\] = 6" \
-	   "" \
-	   "set \$r$check_reg\.v4_int32\[1\] = 6"
-  gdb_test "print \$r$check_reg.v4_int32\[1\]" \
-	   ".*= 6.*" \
-	   "print \$r$check_reg.v4_int32\[1\]"
-
-  gdb_test "set \$r$check_reg\.v4_int32\[2\] = 7" \
-	   "" \
-	   "set \$r$check_reg\.v4_int32\[2\] = 7"
-  gdb_test "print \$r$check_reg.v4_int32\[2\]" \
-	   ".*= 7.*" \
-	   "print \$r$check_reg.v4_int32\[2\]"
-
-  gdb_test "set \$r$check_reg\.v4_int32\[3\] = 8" \
-	   "" \
-	   "set \$r$check_reg\.v4_int32\[3\] = 8"
-  gdb_test "print \$r$check_reg.v4_int32\[3\]" \
-	   ".*= 8.*" \
-	   "print \$r$check_reg.v4_int32\[3\]"
-
-  # Now there should be {5, 6, 7, 8} in that array.
-  gdb_test "print \$r$check_reg\.v4_int32" \
-	   ".*= \{.*5, 6, 7, 8.*\}" \
-	   "print \$r$check_reg\.v4_int32"
-}
-
-gdb_exit
-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-8.3.50.20190917/gdb/testsuite/gdb.cell/registers.exp ./gdb/testsuite/gdb.cell/registers.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/registers.exp	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/registers.exp	1970-01-01 00:00:00.000000000 +0000
@@ -1,106 +0,0 @@
-# Copyright 2009-2019 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/>.
-#
-# Contributed by Markus Deuling <deuling@de.ibm.com>.
-#
-# Testsuite for Cell Broadband Engine combined debugger
-# This testcase tests registers on PPU and SPU.
-
-load_lib cell.exp
-
-set ppu_file "break"
-set ppu_src ${srcdir}/${subdir}/${ppu_file}.c
-set ppu_bin [standard_output_file ${ppu_file}]
-set spu_file "break-spu"
-set spu_src ${srcdir}/${subdir}/${spu_file}.c
-set spu_bin [standard_output_file ${spu_file}]
-
-if {[skip_cell_tests]} {
-    return 0
-}
-
-# Compile SPU binary.
-if { [gdb_compile_cell_spu $spu_src $spu_bin executable {debug}]  != "" } {
-  unsupported "compiling spu binary failed."
-  return -1
-}
-# Compile PPU binary.
-if { [gdb_cell_embedspu $spu_bin $spu_bin-embed.o {debug}]  != "" } {
-  unsupported "embedding spu binary failed."
-  return -1
-}
-if { [gdb_compile_cell_ppu [list $ppu_src $spu_bin-embed.o] $ppu_bin executable {debug}] != "" } {
-  unsupported "compiling ppu binary failed."
-  return -1
-}
-
-if [get_compiler_info] {
-  return -1
-}
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${ppu_bin}
-
-# No programm running, no registers should be available.
-gdb_test "info all-registers" \
-	  "The program has no registers now." \
-	  "info all-registers"
-
-if ![runto_main] then {
-  fail "can't run to main"
-  return 0
-}
-
-# Check registers in PPU thread.
-gdb_test "info reg r0" "r0.*" "info register r0"
-gdb_test "info reg r31" "r31.*" "info register r31"
-gdb_test "info reg r32" "Invalid register.*r32.*" "(invalid) info register r32"
-gdb_test "info reg pc" "pc.*" "info register pc"
-gdb_test "info reg cr" "cr.*" "info register cr"
-gdb_test "info reg lr" "lr.*" "info register lr"
-gdb_test "info reg ctr" "ctr.*" "info register ctr"
-gdb_test "info reg xer" "xer.*" "info register xer"
-
-# Continue to SPU thread.
-cont_spu_main
-
-# In SPU thread, check SPU registers.
-for {set check_reg 0} {$check_reg < 128} {incr check_reg} {
-  gdb_test "info reg r$check_reg" \
-	   "r$check_reg.*uint128.*=.*v2\_int64.*v4\_int32.*v8\_int16.*v16\_int8.*v2\_double.*v4\_float.*" \
-	   "info register r$check_reg"
-}
-gdb_test "info reg r128" \
-	 "Invalid register.*r128.*" \
-	 "(invalid) info register r128"
-
-gdb_test "info reg pc" "pc.*main.*" "info register pc"
-gdb_test "info reg id" "id.*" "info register id"
-gdb_test "info reg sp" "sp.*" "info register sp"
-gdb_test "info reg fpscr" "fpscr.*" "info register fpscr"
-gdb_test "info reg srr0" "srr0.*" "info register srr0"
-gdb_test "info reg lslr" "lslr.*" "info register lslr"
-gdb_test "info reg decr" "decr.*" "info register decr"
-gdb_test "info reg decr_status" "decr_status.*" "info register decr-status"
-
-gdb_test "info reg cr" "Invalid register.*cr.*" "info register cr"
-gdb_test "info reg lr" "Invalid register.*lr.*" "info register lr"
-gdb_test "info reg ctr" "Invalid register.*ctr.*" "info register ctr"
-gdb_test "info reg xer" "Invalid register.*xer.*" "info register xer"
-
-gdb_exit
-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-8.3.50.20190917/gdb/testsuite/gdb.cell/size.c ./gdb/testsuite/gdb.cell/size.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/size.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/size.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,87 +0,0 @@
-/* This testcase is part of GDB, the GNU debugger.
-
-   Copyright 2009-2019 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/>.
-
-   Contributed by Markus Deuling <deuling@de.ibm.com>  */
-
-#include <stdio.h>
-#include <libspe2.h>
-#include <pthread.h>
-#include <sys/wait.h>
-
-extern spe_program_handle_t size_spu;
-#define nr_t 1
-
-void *
-spe_thread (void *arg)
-{
-  int flags = 0;
-  unsigned int entry = SPE_DEFAULT_ENTRY;
-  spe_context_ptr_t *ctx = (spe_context_ptr_t *) arg;
-
-  spe_program_load (*ctx, &size_spu);
-  spe_context_run (*ctx, &entry, flags, NULL, NULL, NULL);
-
-  pthread_exit (NULL);
-}
-
-int
-main (void)
-{
-  int thread_id[nr_t];
-  pthread_t pts[nr_t];
-  spe_context_ptr_t ctx[nr_t];
-  int cnt;
-
-  int c  = sizeof (char);
-  printf ("sizeof(char)=%d\n", c);
-
-  int s  = sizeof (short);
-  printf ("sizeof(short)=%d\n", s);
-
-  int i  = sizeof (int);
-  printf ("sizeof(int)=%d\n", i);
-
-  int l  = sizeof (long);
-  printf ("sizeof(long)=%d\n", l);
-
-  int ll = sizeof (long long);
-  printf ("sizeof(long long)=%d\n", ll);
-
-  int f  = sizeof (float);
-  printf ("sizeof(float)=%d\n", f);
-
-  int d  = sizeof (double);
-  printf ("sizeof(double)=%d\n", d);
-
-  int ld = sizeof (long double);
-  printf ("sizeof(long double)=%d\n", ld);
-
-  for (cnt = 0; cnt < nr_t; cnt++)
-    {
-      ctx[cnt] = spe_context_create (0, NULL);
-      thread_id[cnt]
-	= pthread_create (&pts[cnt], NULL, &spe_thread, &ctx[cnt]);
-    }
-
-  for (cnt = 0; cnt < nr_t; cnt++)
-    pthread_join (pts[cnt], NULL);
-
-  for (cnt = 0; cnt < nr_t; cnt++)
-    spe_context_destroy (ctx[cnt]);
-
-  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-8.3.50.20190917/gdb/testsuite/gdb.cell/sizeof.exp ./gdb/testsuite/gdb.cell/sizeof.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/sizeof.exp	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/sizeof.exp	1970-01-01 00:00:00.000000000 +0000
@@ -1,120 +0,0 @@
-# Copyright 2009-2019 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/>.
-#
-# Contributed by Markus Deuling <deuling@de.ibm.com>.
-#
-# Testsuite for Cell Broadband Engine combined debugger
-# Check size of data types both on PPU and SPU.
-
-load_lib cell.exp
-
-set ppu_file "size"
-set ppu_src ${srcdir}/${subdir}/${ppu_file}.c
-set ppu_bin [standard_output_file ${ppu_file}]
-set spu_file "size-spu"
-set spu_src ${srcdir}/${subdir}/${spu_file}.c
-set spu_bin [standard_output_file ${spu_file}]
-
-if {[skip_cell_tests]} {
-    return 0
-}
-
-# Compile SPU binary.
-if { [gdb_compile_cell_spu $spu_src $spu_bin executable {debug}]  != "" } {
-  unsupported "compiling spu binary failed."
-  return -1
-}
-# Compile PPU binary.
-if { [gdb_cell_embedspu $spu_bin $spu_bin-embed.o {debug}]  != "" } {
-  unsupported "embedding spu binary failed."
-  return -1
-}
-if { [gdb_compile_cell_ppu [list $ppu_src $spu_bin-embed.o] $ppu_bin executable {debug}] != "" } {
-  unsupported "compiling ppu binary failed."
-  return -1
-}
-
-if [get_compiler_info] {
-  return -1
-}
-
-
-# Ask GDB about the sizes of data types.  This has
-# to be done in PPU thread and SPU thread.
-proc get_gdb_size { type } {
-  global gdb_prompt
-
-  set val "0"
-  gdb_test_multiple "print/d sizeof(${type})" "get sizeof(${type})" {
-    -re "\\$\[0-9\]* = (\[-\]*\[0-9\]*).*$gdb_prompt $" {
-	set val $expect_out(1,string)
-	pass "get sizeof ($type) = $val"
-    }
-  }
-  return ${val}
-}
-
-# Compare sizes from GDB and sizeof().
-proc size_compare { type gdb_size } {
-  set expr [string_to_regexp "sizeof(${type})=${gdb_size}"]
-  gdb_test "next" \
-           ".*" \
-           "next"
-  # Checks against string_to_regexp fails in remote testing.
-  if ![is_remote target] {
-    gdb_test "next" \
-             "${expr}.*" \
-             "check sizeof \"$type\" \"$gdb_size\" "
-  } else {
-    gdb_test "next" ".*" "check sizeof deactivate in remote testing"
-  }
-}
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${ppu_bin}
-
-if ![runto_main] then {
-  fail "can't run to main"
-  return 0
-}
-
-# Compare sizes.
-size_compare "char" [get_gdb_size "char"]
-size_compare "short" [get_gdb_size "short"]
-size_compare "int" [get_gdb_size "int"]
-size_compare "long" [get_gdb_size "long"]
-size_compare "long long" [get_gdb_size "long long"]
-size_compare "float" [get_gdb_size "float"]
-size_compare "double" [get_gdb_size "double"]
-size_compare "long double" [get_gdb_size "long double"]
-
-# Continue to SPU thread.
-cont_spu_main
-check_spu_arch ""
-
-# Compare sizes in SPU thread.
-size_compare "char" [get_gdb_size "char"]
-size_compare "short" [get_gdb_size "short"]
-size_compare "int" [get_gdb_size "int"]
-size_compare "long" [get_gdb_size "long"]
-size_compare "long long" [get_gdb_size "long long"]
-size_compare "float" [get_gdb_size "float"]
-size_compare "double" [get_gdb_size "double"]
-size_compare "long double" [get_gdb_size "long double"]
-
-gdb_exit
-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-8.3.50.20190917/gdb/testsuite/gdb.cell/size-spu.c ./gdb/testsuite/gdb.cell/size-spu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/size-spu.c	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/size-spu.c	1970-01-01 00:00:00.000000000 +0000
@@ -1,53 +0,0 @@
-/* This testcase is part of GDB, the GNU debugger.
-
-   Copyright 2009-2019 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/>.
-
-   Contributed by Markus Deuling <deuling@de.ibm.com>  */
-
-#include <stdio.h>
-
-
-int
-main (unsigned long long speid, unsigned long long argp,
-      unsigned long long envp)
-{
-  int c  = sizeof (char); /* Break here.  */
-  printf ("sizeof(char)=%d\n", c);
-
-  int s  = sizeof (short);
-  printf ("sizeof(short)=%d\n", s);
-
-  int i  = sizeof (int);
-  printf ("sizeof(int)=%d\n", i);
-
-  int l  = sizeof (long);
-  printf ("sizeof(long)=%d\n", l);
-
-  int ll = sizeof (long long);
-  printf ("sizeof(long long)=%d\n", ll);
-
-  int f  = sizeof (float);
-  printf ("sizeof(float)=%d\n", f);
-
-  int d  = sizeof (double);
-  printf ("sizeof(double)=%d\n", d);
-
-  int ld = sizeof (long double);
-  printf ("sizeof(long double)=%d\n", ld);
-
-  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-8.3.50.20190917/gdb/testsuite/gdb.cell/solib.exp ./gdb/testsuite/gdb.cell/solib.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/solib.exp	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/solib.exp	1970-01-01 00:00:00.000000000 +0000
@@ -1,86 +0,0 @@
-# Copyright 2009-2019 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/>.
-#
-# Contributed by Markus Deuling <deuling@de.ibm.com>.
-#
-# Testsuite for Cell Broadband Engine combined debugger
-# This testcase checks 'info sharedlibrary ' command.
-
-load_lib cell.exp
-
-set ppu_file "break"
-set ppu_src ${srcdir}/${subdir}/${ppu_file}.c
-set ppu_bin [standard_output_file ${ppu_file}]
-set spu_file "break-spu"
-set spu_src ${srcdir}/${subdir}/${spu_file}.c
-set spu_bin [standard_output_file ${spu_file}]
-
-if {[skip_cell_tests]} {
-    return 0
-}
-
-# Compile SPU binary.
-if { [gdb_compile_cell_spu $spu_src $spu_bin executable {debug}]  != "" } {
-  unsupported "compiling spu binary failed."
-  return -1
-}
-# Compile PPU binary.
-if { [gdb_cell_embedspu $spu_bin $spu_bin-embed.o {debug}]  != "" } {
-  unsupported "embedding spu binary failed."
-  return -1
-}
-if { [gdb_compile_cell_ppu [list $ppu_src $spu_bin-embed.o] $ppu_bin executable {debug}] != "" } {
-  unsupported "compiling ppu binary failed."
-  return -1
-}
-
-if [get_compiler_info] {
-  return -1
-}
-
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${ppu_bin}
-
-# No programm running, no libraries should be loaded.
-gdb_test "info sharedlibrary" \
-	 "No shared libraries loaded at this time." \
-	 "no shared library is loaded"
-
-if ![runto_main] then {
-  fail "can't run to main"
-  return 0
-}
-
-# Standing in PPU thread, now some libs should be loaded
-# including libspe library.
-gdb_test "info sharedlibrary" \
-	 "From.*To.*Syms Read.*Shared Object Library.*libspe.*" \
-	 "binary started, some libraries loaded"
-
-# Continue to SPU
-cont_spu_main
-check_spu_arch ""
-
-# In SPU thread now, the SPU binary should now appear in the list
-# of shared libraries.
-gdb_test "info sharedlibrary" \
-	 "From.*To.*Syms Read.*Shared Object Library.*libspe.*$spu_bin.*@.*x.*" \
-	 "spu thread, spu binary as shared library"
-
-gdb_exit
-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-8.3.50.20190917/gdb/testsuite/gdb.cell/solib-symbol.exp ./gdb/testsuite/gdb.cell/solib-symbol.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cell/solib-symbol.exp	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cell/solib-symbol.exp	1970-01-01 00:00:00.000000000 +0000
@@ -1,79 +0,0 @@
-# Copyright 2009-2019 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/>.
-#
-# Contributed by Markus Deuling <deuling@de.ibm.com>.
-#
-# Testsuite for Cell Broadband Engine combined debugger
-# Testcase for multiple symbol disambiguation patch.
-
-load_lib cell.exp
-
-set ppu_file "break"
-set ppu_src ${srcdir}/${subdir}/${ppu_file}.c
-set ppu_bin [standard_output_file ${ppu_file}]
-set spu_file "break-spu"
-set spu_src ${srcdir}/${subdir}/${spu_file}.c
-set spu_bin [standard_output_file ${spu_file}]
-
-if {[skip_cell_tests]} {
-    return 0
-}
-
-# Compile SPU binary.
-if { [gdb_compile_cell_spu $spu_src $spu_bin executable {debug}]  != "" } {
-  unsupported "compiling spu binary failed."
-  return -1
-}
-# Compile PPU binary.
-if { [gdb_cell_embedspu $spu_bin $spu_bin-embed.o {debug}]  != "" } {
-  unsupported "embedding spu binary failed."
-  return -1
-}
-if { [gdb_compile_cell_ppu [list $ppu_src $spu_bin-embed.o] $ppu_bin executable {debug}] != "" } {
-  unsupported "compiling ppu binary failed."
-  return -1
-}
-
-if [get_compiler_info] {
-  return -1
-}
-
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${ppu_bin}
-
-if ![runto_main] then {
-  fail "can't run to main"
-  return 0
-}
-
-# Symbol resolved in PPU thread.
-gdb_test "info symbol foo" \
-	 "foo in section \.text of .*$ppu_file\[\r\n\]+.*" \
-	 "info symbol foo in break"
-
-# Continue to SPU
-cont_spu_main
-check_spu_arch ""
-
-# Symbol resolved in SPU thread.
-gdb_test "info symbol foo" \
-	 "foo in section \.text of .*$spu_file@.*" \
-	 "info symbol foo in break-spu"
-
-gdb_exit
-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-8.3.50.20190917/gdb/testsuite/gdb.cp/bs15503.exp ./gdb/testsuite/gdb.cp/bs15503.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cp/bs15503.exp	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/bs15503.exp	2019-09-24 01:49:12.000000000 +0000
@@ -19,11 +19,6 @@
 
 if { [skip_stl_tests] } { continue }
 
-# On SPU this test fails because the executable exceeds local storage size.
-if { [istarget "spu*-*-*"] } {
-        return 0
-}
-
 standard_testfile .cc
 
 if [get_compiler_info] {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cp/cpexprs.exp ./gdb/testsuite/gdb.cp/cpexprs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cp/cpexprs.exp	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/cpexprs.exp	2019-09-24 01:49:12.000000000 +0000
@@ -681,11 +681,6 @@ add {policyd5::function} \
 # Start the test
 if {[skip_cplus_tests]} { continue }
 
-# On SPU this test fails because the executable exceeds local storage size.
-if { [istarget "spu*-*-*"] } {
-        return 0
-}
-
 #
 # test running programs
 #
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cp/exception.exp ./gdb/testsuite/gdb.cp/exception.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cp/exception.exp	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/exception.exp	2019-09-24 01:49:12.000000000 +0000
@@ -35,11 +35,6 @@ set nl	"\[\r\n\]+"
 
 if { [skip_stl_tests] } { continue }
 
-# On SPU this test fails because the executable exceeds local storage size.
-if { [istarget "spu*-*-*"] } {
-        return 0
-}
-
 standard_testfile .cc
  
 if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug c++}]} {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cp/gdb2495.exp ./gdb/testsuite/gdb.cp/gdb2495.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cp/gdb2495.exp	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/gdb2495.exp	2019-09-24 01:49:12.000000000 +0000
@@ -38,11 +38,6 @@ if [target_info exists gdb,nosignals] {
     continue
 }
 
-# On SPU this test fails because the executable exceeds local storage size.
-if { [istarget "spu*-*-*"] } {
-        return 0
-}
-
 standard_testfile .cc
 
 # Create and source the file that provides information about the compiler
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cp/mb-templates.exp ./gdb/testsuite/gdb.cp/mb-templates.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cp/mb-templates.exp	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/mb-templates.exp	2019-09-24 01:49:12.000000000 +0000
@@ -18,11 +18,6 @@
 
 if { [skip_stl_tests] } { continue }
 
-# On SPU this test fails because the executable exceeds local storage size.
-if { [istarget "spu*-*-*"] } {
-        return 0
-}
-
 
 standard_testfile .cc
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cp/pr9167.exp ./gdb/testsuite/gdb.cp/pr9167.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cp/pr9167.exp	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/pr9167.exp	2019-09-24 01:49:12.000000000 +0000
@@ -13,11 +13,6 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# On SPU this test fails because the executable exceeds local storage size.
-if { [istarget "spu*-*-*"] } {
-        return 0
-}
-
 standard_testfile .cc
 
 if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug c++}]} {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cp/userdef.exp ./gdb/testsuite/gdb.cp/userdef.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.cp/userdef.exp	2019-09-17 01:49:42.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/userdef.exp	2019-09-24 01:49:12.000000000 +0000
@@ -21,11 +21,6 @@
 
 if { [skip_stl_tests] } { continue }
 
-# On SPU this test fails because the executable exceeds local storage size.
-if { [istarget "spu*-*-*"] } {
-        return 0
-}
-
 standard_testfile .cc
 
 if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug c++}]} {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.server/server-connect.exp ./gdb/testsuite/gdb.server/server-connect.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.server/server-connect.exp	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/testsuite/gdb.server/server-connect.exp	2019-09-24 01:49:12.000000000 +0000
@@ -101,10 +101,13 @@ save_vars { GDB_TEST_SOCKETHOST } {
 	    set gdbserver_gdbport [lindex $res 1]
 	    set test "connect to gdbserver using $sockhost"
 
-	    if { [gdb_target_cmd $gdbserver_protocol $gdbserver_gdbport] == 0 } {
+	    set res [gdb_target_cmd_ext $gdbserver_protocol $gdbserver_gdbport]
+	    if { $res == 0 } {
 		pass $test
-	    } else {
+	    } elseif { $res == 1 }  {
 		fail $test
+	    } else {
+		unsupported $test
 	    }
 	}
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.xml/tdesc-regs.exp ./gdb/testsuite/gdb.xml/tdesc-regs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/gdb.xml/tdesc-regs.exp	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/testsuite/gdb.xml/tdesc-regs.exp	2019-09-24 01:49:12.000000000 +0000
@@ -69,16 +69,6 @@ switch -glob -- [istarget] {
 	set regdir "sparc/"
         set core-regs {sparc64-cpu.xml sparc64-fpu.xml sparc64-cp0.xml}
     }
-    "spu*-*-*" {
-	# This may be either the spu-linux-nat target, or the Cell/B.E.
-	# multi-architecture debugger in SPU standalone executable mode.
-	# We do not support XML register sets on SPU in either case.
-	# However, the multi-arch debugger will accept XML registers sets
-	# (on the PowerPC side), hence the test below would fail.
-	# Simply return unconditionally here.
-	unsupported "register tests"
-	return 0
-    }
     "tic6x-*-*" {
 	set core-regs {tic6x-core.xml}
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/lib/cell.exp ./gdb/testsuite/lib/cell.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/lib/cell.exp	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/testsuite/lib/cell.exp	1970-01-01 00:00:00.000000000 +0000
@@ -1,181 +0,0 @@
-# Copyright 2009-2019 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/>.
-#
-# Contributed by Markus Deuling <deuling@de.ibm.com>.
-#
-# Support library for testing the combined debugger for Linux
-# on the Cell Broadband Engine.
-
-# Compile SPU objects.
-proc gdb_compile_cell_spu {source dest type options} {
-  global board
-
-  # Save and unset multilib flags; these are not appropriate
-  # for the SPU compiler.
-  set board [target_info name]
-  set save_multilib_flag [board_info $board multilib_flags]
-  unset_board_info "multilib_flags"
-
-  set options_spu [concat $options [list compiler=spu-gcc]]
-  set ccout [gdb_compile $source $dest $type $options_spu]
-
-  set_board_info multilib_flags $save_multilib_flag
-  return $ccout
-}
-
-# Compile PPU objects.  This is just like gdb_compile_pthreads, except that we
-# always add the libspe2 library for compiling Cell/B.E. programs.
-proc gdb_compile_cell_ppu {source dest type options} {
-    # We do not need to try multiple names for the pthread library
-    # -lpthread works on all Cell/B.E. systems
-    set lib "-lspe2 -lpthread"
-    set options_ppu [concat $options [list libs=$lib]]
-    return [gdb_compile $source $dest $type $options_ppu]
-}
-
-# Embed SPU executable into a PPU object.
-proc gdb_cell_embedspu {source dest options} {
-    global CC_FOR_TARGET
-
-    if [info exists CC_FOR_TARGET] {
-        set compiler $CC_FOR_TARGET
-    } else {
-	set compiler [board_info [target_info name] compiler]
-    }
-
-    # We assume the PPU compiler is called gcc or ppu-gcc,
-    # and find the appropriate embedspu based on that.
-    regsub gcc "$compiler" embedspu embedspu
-
-    # Determine default embedded symbol name from source filename.
-    set path [split "$source" /]
-    set filename [lindex $path [expr [llength $path] - 1]]
-    regsub -all -- "\[-\.\]" "$filename" "_" symbol
-
-    set options_embed [concat $options [list compiler=$embedspu]]
-    return [gdb_compile "$symbol $source $dest" "" none $options_embed]
-}
-
-# Run a test on the target to see if it supports Cell/B.E. hardware.
-# Return 0 if so, 1 if it does not.
-gdb_caching_proc skip_cell_tests {
-    global srcdir subdir gdb_prompt inferior_exited_re
-
-    set me "skip_cell_tests"
-
-    # Set up, compile, and execute a combined Cell/B.E. test program.
-    # Include the current process ID in the file names to prevent conflicts
-    # with invocations for multiple testsuites.
-    set src [standard_temp_file cell[pid].c]
-    set exe [standard_temp_file cell[pid].x]
-    set src_spu [standard_temp_file cell[pid]-spu.c]
-    set exe_spu [standard_temp_file cell[pid]-spu.x]
-
-    set f [open $src "w"]
-    puts $f "#include <libspe2.h>"
-    puts $f "extern spe_program_handle_t cell[pid]_spu_x;"
-    puts $f "int main (void) {"
-    puts $f "unsigned int entry = SPE_DEFAULT_ENTRY;"
-    puts $f "spe_context_ptr_t ctx = spe_context_create (0, NULL);"
-    puts $f "spe_program_load (ctx, &cell[pid]_spu_x);"
-    puts $f "return spe_context_run (ctx, &entry, 0, NULL, NULL, NULL); }"
-    close $f
-
-    set f [open $src_spu "w"]
-    puts $f "int main (void) { return 0; }"
-    close $f
-
-    verbose "$me:  compiling testfile $src" 2
-    set compile_flags {debug nowarnings quiet}
-
-    set skip 0
-    if { [gdb_compile_cell_spu $src_spu $exe_spu executable $compile_flags] != "" } {
-        verbose "$me:  compiling spu binary failed, returning 1" 2
-	set skip 1
-    }
-    if { ! $skip && [gdb_cell_embedspu $exe_spu $exe_spu-embed.o $compile_flags]  != "" } {
-        verbose "$me:  embedding spu binary failed, returning 1" 2
-	set skip 1
-    }
-    if { ! $skip && [gdb_compile_cell_ppu [list $src $exe_spu-embed.o] $exe executable $compile_flags] != "" } {
-        verbose "$me:  compiling ppu binary failed, returning 1" 2
-	set skip 1
-    }
-    file delete $src
-    file delete $src_spu
-    file delete $exe_spu
-    file delete $exe_spu-embed.o
-
-    if { $skip } {
-        return 1
-    }
-
-    # Compilation succeeded so now run it via gdb.
-
-    gdb_exit
-    gdb_start
-    gdb_reinitialize_dir $srcdir/$subdir
-    gdb_load "$exe"
-    gdb_run_cmd
-    gdb_expect {
-        -re ".*$inferior_exited_re normally.*${gdb_prompt} $" {
-            verbose -log "\n$me: Cell/B.E. hardware detected"
-            set result 0
-        }
-        -re ".*$inferior_exited_re with code.*${gdb_prompt} $" {
-            verbose -log "\n$me: Cell/B.E. hardware not detected"
-            set result 1
-        }
-        default {
-            unresolved "$me: unexpected failure"
-            set result 1
-        }
-    }
-    gdb_exit
-    remote_file build delete $exe
-
-    verbose "$me:  returning $result" 2
-    return $result
-}
-
-# Delete all breakpoints and stop on the next new SPU thread
-proc cont_spu_main { } {
-  delete_breakpoints
-  gdb_test "set spu stop-on-load on"
-  gdb_test "continue" \
-           "Continuing.*Temporary breakpoint .*main .*" \
-           "continue to SPU main"
-}
-
-# Continue to MARKER
-proc c_to { marker srcfile } {
-  set line [gdb_get_line_number $marker $srcfile]
-  gdb_test "break $line" \
-	   "Breakpoint.*at.*file.*$srcfile.*line $line.*" \
-	   "break $line"
-  gdb_test "continue" \
-	   "Continuing.*Breakpoint.*at.*$srcfile.*$line.*" \
-	   "continue to $line"
-}
-
-# Check if the current thread has SPU architecture
-proc check_spu_arch { msg } {
-  if { $msg == "" } {
-    set msg "spu architecture is spu256K"
-  }
-  gdb_test "show architecture" \
-	   "The target architecture is set automatically.*currently spu:256K.*" \
-	   $msg
-}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/lib/gdb.exp ./gdb/testsuite/lib/gdb.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/lib/gdb.exp	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/testsuite/lib/gdb.exp	2019-09-24 01:49:12.000000000 +0000
@@ -1083,24 +1083,28 @@ proc gdb_test { args } {
     set command [lindex $args 0]
     set pattern [lindex $args 1]
 
-    if [llength $args]==5 {
-	set question_string [lindex $args 3]
-	set response_string [lindex $args 4]
-    } else {
-	set question_string "^FOOBAR$"
-    }
-
-    return [gdb_test_multiple $command $message {
+    set user_code {}
+    lappend user_code {
 	-re "\[\r\n\]*(?:$pattern)\[\r\n\]+$gdb_prompt $" {
 	    if ![string match "" $message] then {
 		pass "$message"
             }
         }
-	-re "(${question_string})$" {
-	    send_gdb "$response_string\n"
-	    exp_continue
+    }
+
+    if { [llength $args] == 5 } {
+	set question_string [lindex $args 3]
+	set response_string [lindex $args 4]
+	lappend user_code {
+	    -re "(${question_string})$" {
+		send_gdb "$response_string\n"
+		exp_continue
+	    }
 	}
-     }]
+     }
+
+    set user_code [join $user_code]
+    return [gdb_test_multiple $command $message $user_code]
 }
 
 # Return 1 if version MAJOR.MINOR is at least AT_LEAST_MAJOR.AT_LEAST_MINOR.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/lib/gdbserver-support.exp ./gdb/testsuite/lib/gdbserver-support.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/testsuite/lib/gdbserver-support.exp	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/testsuite/lib/gdbserver-support.exp	2019-09-24 01:49:12.000000000 +0000
@@ -41,12 +41,13 @@
 #
 
 #
-# gdb_target_cmd
-# Send gdb the "target" command.  Returns 0 on success, 1 on failure.
+# gdb_target_cmd_ext
+# Send gdb the "target" command.  Returns 0 on success, 1 on failure, 2 on
+# unsupported.
 # If specified, then ADDITIONAL_TEXT must match the text that comes after
 # the connection message in order for the procedure to succeed.
 #
-proc gdb_target_cmd { targetname serialport {additional_text ""} } {
+proc gdb_target_cmd_ext { targetname serialport {additional_text ""} } {
     global gdb_prompt
 
     set serialport_re [string_to_regexp $serialport]
@@ -97,6 +98,9 @@ proc gdb_target_cmd { targetname serialp
 		# Leave it there for the test to diagnose.
 		return 1
 	    }
+	    -re ": Network is unreachable.\r\n.*$gdb_prompt $" {
+		return 2
+	    }
 	    timeout {
 		send_gdb ""
 		break
@@ -106,6 +110,12 @@ proc gdb_target_cmd { targetname serialp
     return 1
 }
 
+# Like gdb_target_cmd_ext, but returns 0 on success, 1 on failure.
+
+proc gdb_target_cmd { args } {
+    set res [eval gdb_target_cmd_ext $args]
+    return [expr $res == 0 ? 0 : 1]
+}
 
 global portnum
 set portnum "2345"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/thread.c ./gdb/thread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/thread.c	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/thread.c	2019-09-24 01:49:12.000000000 +0000
@@ -1204,7 +1204,7 @@ print_thread_info (struct ui_out *uiout,
 struct info_threads_opts
 {
   /* For "-gid".  */
-  int show_global_ids = 0;
+  bool show_global_ids = false;
 };
 
 static const gdb::option::option_def info_threads_option_defs[] = {
@@ -1574,7 +1574,7 @@ static const gdb::option::option_def thr
    ASCENDING and FLAGS as context.  */
 
 static inline std::array<gdb::option::option_def_group, 2>
-make_thread_apply_all_options_def_group (int *ascending,
+make_thread_apply_all_options_def_group (bool *ascending,
 					 qcs_flags *flags)
 {
   return {{
@@ -1603,7 +1603,7 @@ make_thread_apply_options_def_group (qcs
 static void
 thread_apply_all_command (const char *cmd, int from_tty)
 {
-  int ascending = false;
+  bool ascending = false;
   qcs_flags flags;
 
   auto group = make_thread_apply_all_options_def_group (&ascending,
@@ -1951,7 +1951,7 @@ thread_find_command (const char *arg, in
 }
 
 /* Print notices when new threads are attached and detached.  */
-int print_thread_events = 1;
+bool print_thread_events = true;
 static void
 show_print_thread_events (struct ui_file *file, int from_tty,
 			  struct cmd_list_element *c, const char *value)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/top.c ./gdb/top.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/top.c	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/top.c	2019-09-24 01:49:12.000000000 +0000
@@ -115,7 +115,7 @@ extern char lang_frame_mismatch_warn[];	
 /* Flag for whether we want to confirm potentially dangerous
    operations.  Default is yes.  */
 
-int confirm = 1;
+bool confirm = true;
 
 static void
 show_confirm (struct ui_file *file, int from_tty,
@@ -850,15 +850,15 @@ gdb_readline_no_editing (const char *pro
 /* Variables which control command line editing and history
    substitution.  These variables are given default values at the end
    of this file.  */
-static int command_editing_p;
+static bool command_editing_p;
 
 /* NOTE 1999-04-29: This variable will be static again, once we modify
    gdb to use the event loop as the default command loop and we merge
    event-top.c into this file, top.c.  */
 
-/* static */ int history_expansion_p;
+/* static */ bool history_expansion_p;
 
-static int write_history_p;
+static bool write_history_p;
 static void
 show_write_history_p (struct ui_file *file, int from_tty,
 		      struct cmd_list_element *c, const char *value)
@@ -1876,7 +1876,7 @@ show_history (const char *args, int from
   cmd_show_list (showhistlist, from_tty, "");
 }
 
-int info_verbose = 0;		/* Default verbose msgs off.  */
+bool info_verbose = false;	/* Default verbose msgs off.  */
 
 /* Called by do_set_command.  An elaborate joke.  */
 void
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/top.h ./gdb/top.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/top.h	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/top.h	2019-09-24 01:49:12.000000000 +0000
@@ -217,7 +217,7 @@ extern void ui_register_input_event_hand
 extern void ui_unregister_input_event_handler (struct ui *ui);
 
 /* From top.c.  */
-extern int confirm;
+extern bool confirm;
 extern int inhibit_gdbinit;
 
 /* Print the GDB version banner to STREAM.  If INTERACTIVE is false,
@@ -280,7 +280,7 @@ extern void gdb_init (char *);
 /* Variables from top.c.  */
 extern int source_line_number;
 extern std::string source_file_name;
-extern int history_expansion_p;
+extern bool history_expansion_p;
 extern int server_command;
 extern char *lim_at_start;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/tracepoint.c ./gdb/tracepoint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/tracepoint.c	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/tracepoint.c	2019-09-24 01:49:12.000000000 +0000
@@ -131,12 +131,12 @@ static struct cmd_list_element *tfindlis
 /* List of expressions to collect by default at each tracepoint hit.  */
 char *default_collect;
 
-static int disconnected_tracing;
+static bool disconnected_tracing;
 
 /* This variable controls whether we ask the target for a linear or
    circular trace buffer.  */
 
-static int circular_trace_buffer;
+static bool circular_trace_buffer;
 
 /* This variable is the requested trace buffer size, or -1 to indicate
    that we don't care and leave it up to the target to set a size.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/tui/tui.c ./gdb/tui/tui.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/tui/tui.c	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/tui/tui.c	2019-09-24 01:49:12.000000000 +0000
@@ -329,13 +329,17 @@ tui_initialize_readline (void)
   int i;
   Keymap tui_ctlx_keymap;
 
-  rl_initialize ();
-
   rl_add_defun ("tui-switch-mode", tui_rl_switch_mode, -1);
   rl_add_defun ("gdb-command", tui_rl_command_key, -1);
   rl_add_defun ("next-keymap", tui_rl_next_keymap, -1);
 
   tui_keymap = rl_make_bare_keymap ();
+
+  /* The named keymap feature was added in Readline 8.0.  */
+#if RL_READLINE_VERSION >= 0x800
+  rl_set_keymap_name ("SingleKey", tui_keymap);
+#endif
+
   tui_ctlx_keymap = rl_make_bare_keymap ();
   tui_readline_standard_keymap = rl_get_keymap ();
 
@@ -467,7 +471,6 @@ tui_enable (void)
       nodelay(w, FALSE);
       nl();
       keypad (w, TRUE);
-      rl_initialize ();
       tui_set_term_height_to (LINES);
       tui_set_term_width_to (COLS);
       def_prog_mode ();
@@ -501,7 +504,7 @@ tui_enable (void)
      window.  */
   if (tui_win_resized ())
     {
-      tui_set_win_resized_to (FALSE);
+      tui_set_win_resized_to (false);
       tui_resize_all ();
     }
 
@@ -567,19 +570,6 @@ tui_disable_command (const char *args, i
   tui_disable ();
 }
 
-void
-strcat_to_buf (char *buf, int buflen, 
-	       const char *item_to_add)
-{
-  if (item_to_add != NULL && buf != NULL)
-    {
-      if ((strlen (buf) + strlen (item_to_add)) <= buflen)
-	strcat (buf, item_to_add);
-      else
-	strncat (buf, item_to_add, (buflen - strlen (buf)));
-    }
-}
-
 #if 0
 /* Solaris <sys/termios.h> defines CTRL.  */
 #ifndef CTRL
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/tui/tui-data.c ./gdb/tui/tui-data.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/tui/tui-data.c	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/tui/tui-data.c	2019-09-24 01:49:12.000000000 +0000
@@ -27,23 +27,12 @@
 #include "tui/tui-winsource.h"
 #include "gdb_curses.h"
 
-/****************************
-** GLOBAL DECLARATIONS
-****************************/
 struct tui_win_info *tui_win_list[MAX_MAJOR_WINDOWS];
 
-/***************************
-** Private data
-****************************/
 static int term_height, term_width;
 static struct tui_win_info *win_with_focus = NULL;
 
-static int win_resized = FALSE;
-
-
-/*********************************
-** PUBLIC FUNCTIONS
-**********************************/
+static bool win_resized = false;
 
 int
 tui_win_is_auxiliary (enum tui_win_type win_type)
@@ -51,13 +40,9 @@ tui_win_is_auxiliary (enum tui_win_type 
   return (win_type > MAX_MAJOR_WINDOWS);
 }
 
-/******************************************
-** ACCESSORS & MUTATORS FOR PRIVATE DATA
-******************************************/
-
 /* Answer a whether the terminal window has been resized or not.  */
-int
-tui_win_resized (void)
+bool
+tui_win_resized ()
 {
   return win_resized;
 }
@@ -65,7 +50,7 @@ tui_win_resized (void)
 
 /* Set a whether the terminal window has been resized or not.  */
 void
-tui_set_win_resized_to (int resized)
+tui_set_win_resized_to (bool resized)
 {
   win_resized = resized;
 }
@@ -87,15 +72,6 @@ tui_set_win_with_focus (struct tui_win_i
 }
 
 
-/* Clear the pertinent detail in the source windows.  */
-void
-tui_clear_source_windows_detail ()
-{
-  for (tui_source_window_base *win : tui_source_windows ())
-    win->clear_detail ();
-}
-
-
 /* Accessor for the term_height.  */
 int
 tui_term_height (void)
@@ -128,11 +104,6 @@ tui_set_term_width_to (int w)
 }
 
 
-/*****************************
-** OTHER PUBLIC FUNCTIONS
-*****************************/
-
-
 /* Answer the next window in the list, cycling back to the top if
    necessary.  */
 struct tui_win_info *
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/tui/tui-data.h ./gdb/tui/tui-data.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/tui/tui-data.h	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/tui/tui-data.h	2019-09-24 01:49:12.000000000 +0000
@@ -295,11 +295,10 @@ extern void tui_set_term_height_to (int)
 extern int tui_term_width (void);
 extern void tui_set_term_width_to (int);
 extern struct tui_locator_window *tui_locator_win_info_ptr (void);
-extern void tui_clear_source_windows_detail (void);
 extern struct tui_win_info *tui_win_with_focus (void);
 extern void tui_set_win_with_focus (struct tui_win_info *);
-extern int tui_win_resized (void);
-extern void tui_set_win_resized_to (int);
+extern bool tui_win_resized ();
+extern void tui_set_win_resized_to (bool);
 
 extern struct tui_win_info *tui_next_win (struct tui_win_info *);
 extern struct tui_win_info *tui_prev_win (struct tui_win_info *);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/tui/tui-disasm.c ./gdb/tui/tui-disasm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/tui/tui-disasm.c	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/tui/tui-disasm.c	2019-09-24 01:49:12.000000000 +0000
@@ -44,34 +44,32 @@
 struct tui_asm_line 
 {
   CORE_ADDR addr;
-  char *addr_string;
-  char *insn;
+  std::string addr_string;
+  std::string insn;
 };
 
 /* Function to set the disassembly window's content.
    Disassemble count lines starting at pc.
    Return address of the count'th instruction after pc.  */
 static CORE_ADDR
-tui_disassemble (struct gdbarch *gdbarch, struct tui_asm_line *asm_lines,
-		 CORE_ADDR pc, int count)
+tui_disassemble (struct gdbarch *gdbarch,
+		 std::vector<tui_asm_line> &asm_lines,
+		 CORE_ADDR pc, int pos, int count)
 {
   string_file gdb_dis_out;
 
   /* Now construct each line.  */
-  for (; count > 0; count--, asm_lines++)
+  for (int i = 0; i < count; ++i)
     {
-      xfree (asm_lines->addr_string);
-      xfree (asm_lines->insn);
-      
       print_address (gdbarch, pc, &gdb_dis_out);
-      asm_lines->addr = pc;
-      asm_lines->addr_string = xstrdup (gdb_dis_out.c_str ());
+      asm_lines[pos + i].addr = pc;
+      asm_lines[pos + i].addr_string = std::move (gdb_dis_out.string ());
 
       gdb_dis_out.clear ();
 
       pc = pc + gdb_print_insn (gdbarch, pc, &gdb_dis_out, NULL);
 
-      asm_lines->insn = xstrdup (gdb_dis_out.c_str ());
+      asm_lines[pos + i].insn = std::move (gdb_dis_out.string ());
 
       /* Reset the buffer to empty.  */
       gdb_dis_out.clear ();
@@ -87,20 +85,17 @@ tui_find_disassembly_address (struct gdb
 {
   CORE_ADDR new_low;
   int max_lines;
-  int i;
-  struct tui_asm_line *asm_lines;
 
   max_lines = (from > 0) ? from : - from;
   if (max_lines <= 1)
-     return pc;
+    return pc;
 
-  asm_lines = XALLOCAVEC (struct tui_asm_line, max_lines);
-  memset (asm_lines, 0, sizeof (struct tui_asm_line) * max_lines);
+  std::vector<tui_asm_line> asm_lines (max_lines);
 
   new_low = pc;
   if (from > 0)
     {
-      tui_disassemble (gdbarch, asm_lines, pc, max_lines);
+      tui_disassemble (gdbarch, asm_lines, pc, 0, max_lines);
       new_low = asm_lines[max_lines - 1].addr;
     }
   else
@@ -122,7 +117,7 @@ tui_find_disassembly_address (struct gdb
          else
             new_low += 1 * max_lines;
 
-         tui_disassemble (gdbarch, asm_lines, new_low, max_lines);
+         tui_disassemble (gdbarch, asm_lines, new_low, 0, max_lines);
          last_addr = asm_lines[pos].addr;
       } while (last_addr > pc && msymbol.minsym);
 
@@ -139,8 +134,8 @@ tui_find_disassembly_address (struct gdb
             if (pos >= max_lines)
               pos = 0;
 
-            next_addr = tui_disassemble (gdbarch, &asm_lines[pos],
-					 last_addr, 1);
+            next_addr = tui_disassemble (gdbarch, asm_lines,
+					 last_addr, pos, 1);
 
             /* If there are some problems while disassembling exit.  */
             if (next_addr <= last_addr)
@@ -152,11 +147,6 @@ tui_find_disassembly_address (struct gdb
          pos = 0;
       new_low = asm_lines[pos].addr;
     }
-  for (i = 0; i < max_lines; i++)
-    {
-      xfree (asm_lines[i].addr_string);
-      xfree (asm_lines[i].insn);
-    }
   return new_low;
 }
 
@@ -172,10 +162,8 @@ tui_disasm_window::set_contents (struct 
   CORE_ADDR cur_pc;
   struct tui_locator_window *locator = tui_locator_win_info_ptr ();
   int tab_len = tui_tab_width;
-  struct tui_asm_line *asm_lines;
   int insn_pos;
   int addr_size, insn_size;
-  char *line;
   
   gdb_assert (line_or_addr.loa == LOA_ADDRESS);
   CORE_ADDR pc = line_or_addr.u.addr;
@@ -192,22 +180,21 @@ tui_disasm_window::set_contents (struct 
   line_width = width - TUI_EXECINFO_SIZE - 2;
 
   /* Get temporary table that will hold all strings (addr & insn).  */
-  asm_lines = XALLOCAVEC (struct tui_asm_line, max_lines);
-  memset (asm_lines, 0, sizeof (struct tui_asm_line) * max_lines);
+  std::vector<tui_asm_line> asm_lines (max_lines);
 
-  tui_disassemble (gdbarch, asm_lines, pc, max_lines);
+  tui_disassemble (gdbarch, asm_lines, pc, 0, max_lines);
 
   /* Determine maximum address- and instruction lengths.  */
   addr_size = 0;
   insn_size = 0;
   for (i = 0; i < max_lines; i++)
     {
-      size_t len = strlen (asm_lines[i].addr_string);
+      size_t len = asm_lines[i].addr_string.size ();
 
       if (len > addr_size)
         addr_size = len;
 
-      len = strlen (asm_lines[i].insn);
+      len = asm_lines[i].insn.size ();
       if (len > insn_size)
 	insn_size = len;
     }
@@ -215,34 +202,27 @@ tui_disasm_window::set_contents (struct 
   /* Align instructions to the same column.  */
   insn_pos = (1 + (addr_size / tab_len)) * tab_len;
 
-  /* Allocate memory to create each line.  */
-  line = (char*) alloca (insn_pos + insn_size + 1);
-
   /* Now construct each line.  */
   content.resize (max_lines);
   for (i = 0; i < max_lines; i++)
     {
-      int cur_len;
-
       tui_source_element *src = &content[i];
-      strcpy (line, asm_lines[i].addr_string);
-      cur_len = strlen (line);
-      memset (line + cur_len, ' ', insn_pos - cur_len);
-      strcpy (line + insn_pos, asm_lines[i].insn);
+
+      std::string line
+	= (asm_lines[i].addr_string
+	   + n_spaces (insn_pos
+		       - asm_lines[i].addr_string.size ())
+	   + asm_lines[i].insn);
 
       /* Now copy the line taking the offset into account.  */
-      xfree (src->line);
-      if (strlen (line) > offset)
-	src->line = xstrndup (&line[offset], line_width);
+      if (line.size() > offset)
+	src->line.reset (xstrndup (&line[offset], line_width));
       else
-	src->line = xstrdup ("");
+	src->line = make_unique_xstrdup ("");
 
       src->line_or_addr.loa = LOA_ADDRESS;
       src->line_or_addr.u.addr = asm_lines[i].addr;
       src->is_exec_point = asm_lines[i].addr == cur_pc;
-
-      xfree (asm_lines[i].addr_string);
-      xfree (asm_lines[i].insn);
     }
   return TUI_SUCCESS;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/tui/tui.h ./gdb/tui/tui.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/tui/tui.h	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/tui/tui.h	2019-09-24 01:49:12.000000000 +0000
@@ -24,8 +24,6 @@
 
 struct ui_file;
 
-extern void strcat_to_buf (char *, int, const char *);
-
 /* Types of error returns.  */
 enum tui_status
 {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/tui/tui-layout.c ./gdb/tui/tui-layout.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/tui/tui-layout.c	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/tui/tui-layout.c	2019-09-24 01:49:12.000000000 +0000
@@ -40,9 +40,6 @@
 #include "tui/tui-source.h"
 #include "gdb_curses.h"
 
-/*******************************
-** Static Local Decls
-********************************/
 static void show_layout (enum tui_layout_type);
 static void show_source_or_disasm_and_command (enum tui_layout_type);
 static void show_source_command (void);
@@ -64,9 +61,6 @@ tui_current_layout (void)
   return current_layout;
 }
 
-/***************************************
-** DEFINITIONS
-***************************************/
 
 /* Show the screen layout defined.  */
 static void
@@ -207,7 +201,6 @@ tui_add_win_to_layout (enum tui_win_type
 	  && cur_layout != SRC_DISASSEM_COMMAND
 	  && cur_layout != SRC_DATA_COMMAND)
 	{
-	  tui_clear_source_windows_detail ();
 	  if (cur_layout == DISASSEM_DATA_COMMAND)
 	    show_layout (SRC_DATA_COMMAND);
 	  else
@@ -219,7 +212,6 @@ tui_add_win_to_layout (enum tui_win_type
 	  && cur_layout != SRC_DISASSEM_COMMAND
 	  && cur_layout != DISASSEM_DATA_COMMAND)
 	{
-	  tui_clear_source_windows_detail ();
 	  if (cur_layout == SRC_DATA_COMMAND)
 	    show_layout (DISASSEM_DATA_COMMAND);
 	  else
@@ -340,39 +332,28 @@ Layout names are:\n\
 }
 
 
-/*************************
-** STATIC LOCAL FUNCTIONS
-**************************/
-
-
 /* Function to set the layout to SRC, ASM, SPLIT, NEXT, PREV, DATA, or
    REGS. */
 static void
 tui_layout_command (const char *layout_name, int from_tty)
 {
-  int i;
   enum tui_layout_type new_layout = UNDEFINED_LAYOUT;
   enum tui_layout_type cur_layout = tui_current_layout ();
 
-  if (layout_name == NULL)
+  if (layout_name == NULL || *layout_name == '\0')
     error (_("Usage: layout prev | next | LAYOUT-NAME"));
 
-  std::string copy = layout_name;
-  for (i = 0; i < copy.size (); i++)
-    copy[i] = toupper (copy[i]);
-  const char *buf_ptr = copy.c_str ();
-
   /* First check for ambiguous input.  */
-  if (strlen (buf_ptr) <= 1 && *buf_ptr == 'S')
+  if (strcmp (layout_name, "s") == 0)
     error (_("Ambiguous command input."));
 
-  if (subset_compare (buf_ptr, "SRC"))
+  if (subset_compare (layout_name, "src"))
     new_layout = SRC_COMMAND;
-  else if (subset_compare (buf_ptr, "ASM"))
+  else if (subset_compare (layout_name, "asm"))
     new_layout = DISASSEM_COMMAND;
-  else if (subset_compare (buf_ptr, "SPLIT"))
+  else if (subset_compare (layout_name, "split"))
     new_layout = SRC_DISASSEM_COMMAND;
-  else if (subset_compare (buf_ptr, "REGS"))
+  else if (subset_compare (layout_name, "regs"))
     {
       if (cur_layout == SRC_COMMAND
 	  || cur_layout == SRC_DATA_COMMAND)
@@ -380,9 +361,9 @@ tui_layout_command (const char *layout_n
       else
 	new_layout = DISASSEM_DATA_COMMAND;
     }
-  else if (subset_compare (buf_ptr, "NEXT"))
+  else if (subset_compare (layout_name, "next"))
     new_layout = next_layout ();
-  else if (subset_compare (buf_ptr, "PREV"))
+  else if (subset_compare (layout_name, "prev"))
     new_layout = prev_layout ();
   else
     error (_("Unrecognized layout: %s"), layout_name);
@@ -507,18 +488,14 @@ show_source_disasm_command (void)
   struct tui_locator_window *locator = tui_locator_win_info_ptr ();
   gdb_assert (locator != nullptr);
 
-  TUI_SRC_WIN->show_source_content ();
   if (TUI_DISASM_WIN == NULL)
     tui_win_list[DISASSEM_WIN] = new tui_disasm_window ();
   TUI_DISASM_WIN->resize (asm_height,
 			  tui_term_width (),
 			  0,
 			  src_height - 1);
-  locator->resize (2 /* 1 */ ,
-		   tui_term_width (),
-		   0,
-		   (src_height + asm_height) - 1);
-  TUI_DISASM_WIN->show_source_content ();
+  locator->resize (1, tui_term_width (),
+		   0, (src_height + asm_height) - 1);
 
   if (TUI_CMD_WIN == NULL)
     tui_win_list[CMD_WIN] = new tui_cmd_window ();
@@ -565,10 +542,8 @@ show_data (enum tui_layout_type new_layo
 				  tui_term_width (),
 				  0,
 				  data_height - 1);
-  locator->resize (2 /* 1 */ ,
-		   tui_term_width (),
-		   0,
-		   total_height - 1);
+  locator->resize (1, tui_term_width (),
+		   0, total_height - 1);
   TUI_CMD_WIN->resize (TUI_CMD_WIN->height, tui_term_width (),
 		       0, total_height);
 
@@ -639,17 +614,13 @@ show_source_or_disasm_and_command (enum 
       win_info = TUI_DISASM_WIN;
     }
 
-  locator->resize (2 /* 1 */ ,
-		   tui_term_width (),
-		   0,
-		   src_height - 1);
+  locator->resize (1, tui_term_width (),
+		   0, src_height - 1);
   win_info->resize (src_height - 1,
 		    tui_term_width (),
 		    0,
 		    0);
 
-  win_info->show_source_content ();
-
   if (TUI_CMD_WIN == NULL)
     tui_win_list[CMD_WIN] = new tui_cmd_window ();
   TUI_CMD_WIN->resize (cmd_height,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/tui/tui-regs.c ./gdb/tui/tui-regs.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/tui/tui-regs.c	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/tui/tui-regs.c	2019-09-24 01:49:12.000000000 +0000
@@ -96,8 +96,8 @@ tui_get_register (struct frame_info *fra
 int
 tui_data_window::last_regs_line_no () const
 {
-  int num_lines = regs_content.size () / regs_column_count;
-  if (regs_content.size () % regs_column_count)
+  int num_lines = m_regs_content.size () / m_regs_column_count;
+  if (m_regs_content.size () % m_regs_column_count)
     num_lines++;
   return num_lines;
 }
@@ -107,14 +107,14 @@ tui_data_window::last_regs_line_no () co
 int
 tui_data_window::line_from_reg_element_no (int element_no) const
 {
-  if (element_no < regs_content.size ())
+  if (element_no < m_regs_content.size ())
     {
       int i, line = (-1);
 
       i = 1;
       while (line == (-1))
 	{
-	  if (element_no < regs_column_count * i)
+	  if (element_no < m_regs_column_count * i)
 	    line = i - 1;
 	  else
 	    i++;
@@ -131,8 +131,8 @@ tui_data_window::line_from_reg_element_n
 int
 tui_data_window::first_reg_element_no_inline (int line_no) const
 {
-  if (line_no * regs_column_count <= regs_content.size ())
-    return ((line_no + 1) * regs_column_count) - regs_column_count;
+  if (line_no * m_regs_column_count <= m_regs_content.size ())
+    return ((line_no + 1) * m_regs_column_count) - m_regs_column_count;
   else
     return (-1);
 }
@@ -148,17 +148,17 @@ tui_data_window::show_registers (struct 
   if (target_has_registers && target_has_stack && target_has_memory)
     {
       show_register_group (group, get_selected_frame (NULL),
-			   group == current_group);
+			   group == m_current_group);
 
       /* Clear all notation of changed values.  */
-      for (auto &&data_item_win : regs_content)
+      for (auto &&data_item_win : m_regs_content)
 	data_item_win.highlight = false;
-      current_group = group;
+      m_current_group = group;
       rerender ();
     }
   else
     {
-      current_group = 0;
+      m_current_group = 0;
       erase_data_content (_("[ Register Values Unavailable ]"));
     }
 }
@@ -166,12 +166,12 @@ tui_data_window::show_registers (struct 
 
 /* Set the data window to display the registers of the register group
    using the given frame.  Values are refreshed only when
-   refresh_values_only is TRUE.  */
+   refresh_values_only is true.  */
 
 void
 tui_data_window::show_register_group (struct reggroup *group,
 				      struct frame_info *frame, 
-				      int refresh_values_only)
+				      bool refresh_values_only)
 {
   struct gdbarch *gdbarch = get_frame_arch (frame);
   int nr_regs;
@@ -199,7 +199,7 @@ tui_data_window::show_register_group (st
       nr_regs++;
     }
 
-  regs_content.resize (nr_regs);
+  m_regs_content.resize (nr_regs);
 
   /* Now set the register names and values.  */
   pos = 0;
@@ -218,7 +218,7 @@ tui_data_window::show_register_group (st
       if (name == 0 || *name == '\0')
 	continue;
 
-      data_item_win = &regs_content[pos];
+      data_item_win = &m_regs_content[pos];
       if (data_item_win)
 	{
 	  if (!refresh_values_only)
@@ -241,7 +241,7 @@ tui_data_window::display_registers_from 
   int j, item_win_width, cur_y;
 
   int max_len = 0;
-  for (auto &&data_item_win : regs_content)
+  for (auto &&data_item_win : m_regs_content)
     {
       const char *p;
       int len;
@@ -257,24 +257,24 @@ tui_data_window::display_registers_from 
   item_win_width = max_len + 1;
   int i = start_element_no;
 
-  regs_column_count = (width - 2) / item_win_width;
-  if (regs_column_count == 0)
-    regs_column_count = 1;
-  item_win_width = (width - 2) / regs_column_count;
+  m_regs_column_count = (width - 2) / item_win_width;
+  if (m_regs_column_count == 0)
+    m_regs_column_count = 1;
+  item_win_width = (width - 2) / m_regs_column_count;
 
   /* Now create each data "sub" window, and write the display into
      it.  */
   cur_y = 1;
-  while (i < regs_content.size ()
+  while (i < m_regs_content.size ()
 	 && cur_y <= viewport_height)
     {
       for (j = 0;
-	   j < regs_column_count && i < regs_content.size ();
+	   j < m_regs_column_count && i < m_regs_content.size ();
 	   j++)
 	{
 	  /* Create the window if necessary.  */
-	  regs_content[i].resize (1, item_win_width,
-				  (item_win_width * j) + 1, cur_y);
+	  m_regs_content[i].resize (1, item_win_width,
+				    (item_win_width * j) + 1, cur_y);
 	  i++;		/* Next register.  */
 	}
       cur_y++;		/* Next row.  */
@@ -322,14 +322,14 @@ tui_data_window::display_registers_from_
 	 registers.  */
       if (line_no >= last_regs_line_no ())
 	{
-	  line_no = line_from_reg_element_no (regs_content.size () - 1);
+	  line_no = line_from_reg_element_no (m_regs_content.size () - 1);
 	  if (line_no < 0)
 	    line_no = 0;
 	}
     }
 
   element_no = first_reg_element_no_inline (line_no);
-  if (element_no < regs_content.size ())
+  if (element_no < m_regs_content.size ())
     display_reg_element_at_line (element_no, line_no);
   else
     line_no = (-1);
@@ -343,11 +343,11 @@ tui_data_window::display_registers_from_
 int
 tui_data_window::first_data_item_displayed ()
 {
-  for (int i = 0; i < regs_content.size (); i++)
+  for (int i = 0; i < m_regs_content.size (); i++)
     {
       struct tui_gen_win_info *data_item_win;
 
-      data_item_win = &regs_content[i];
+      data_item_win = &m_regs_content[i];
       if (data_item_win->is_visible ())
 	return i;
     }
@@ -360,7 +360,7 @@ tui_data_window::first_data_item_display
 void
 tui_data_window::delete_data_content_windows ()
 {
-  for (auto &&win : regs_content)
+  for (auto &&win : m_regs_content)
     {
       tui_delete_win (win.handle);
       win.handle = NULL;
@@ -392,7 +392,7 @@ tui_data_window::erase_data_content (con
 void
 tui_data_window::rerender ()
 {
-  if (regs_content.empty ())
+  if (m_regs_content.empty ())
     erase_data_content (_("[ Register Values Unavailable ]"));
   else
     {
@@ -411,7 +411,7 @@ tui_data_window::do_scroll_vertical (int
   int first_line = (-1);
 
   first_element_no = first_data_item_displayed ();
-  if (first_element_no < regs_content.size ())
+  if (first_element_no < m_regs_content.size ())
     first_line = line_from_reg_element_no (first_element_no);
   else
     { /* Calculate the first line from the element number which is in
@@ -433,7 +433,7 @@ void
 tui_data_window::refresh_window ()
 {
   tui_gen_win_info::refresh_window ();
-  for (auto &&win : regs_content)
+  for (auto &&win : m_regs_content)
     win.refresh_window ();
 }
 
@@ -443,11 +443,11 @@ tui_data_window::refresh_window ()
 void
 tui_data_window::check_register_values (struct frame_info *frame)
 {
-  if (regs_content.empty ())
-    show_registers (current_group);
+  if (m_regs_content.empty ())
+    show_registers (m_current_group);
   else
     {
-      for (auto &&data_item_win : regs_content)
+      for (auto &&data_item_win : m_regs_content)
 	{
 	  int was_hilighted;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/tui/tui-regs.h ./gdb/tui/tui-regs.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/tui/tui-regs.h	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/tui/tui-regs.h	2019-09-24 01:49:12.000000000 +0000
@@ -71,7 +71,7 @@ struct tui_data_window : public tui_win_
 
   struct reggroup *get_current_group () const
   {
-    return current_group;
+    return m_current_group;
   }
 
 protected:
@@ -108,7 +108,7 @@ private:
 
   void show_register_group (struct reggroup *group,
 			    struct frame_info *frame,
-			    int refresh_values_only);
+			    bool refresh_values_only);
 
   /* Answer the number of the last line in the regs display.  If there
      are no registers (-1) is returned.  */
@@ -130,9 +130,9 @@ private:
   void erase_data_content (const char *prompt);
 
   /* Windows that are used to display registers.  */
-  std::vector<tui_data_item_window> regs_content;
-  int regs_column_count = 0;
-  struct reggroup *current_group = nullptr;
+  std::vector<tui_data_item_window> m_regs_content;
+  int m_regs_column_count = 0;
+  struct reggroup *m_current_group = nullptr;
 };
 
 #endif /* TUI_TUI_REGS_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/tui/tui-source.c ./gdb/tui/tui-source.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/tui/tui-source.c	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/tui/tui-source.c	2019-09-24 01:49:12.000000000 +0000
@@ -155,8 +155,7 @@ tui_source_window::set_contents (struct 
 
 	  title = s_filename;
 
-	  xfree (fullname);
-	  fullname = xstrdup (symtab_to_fullname (s));
+	  m_fullname = make_unique_xstrdup (symtab_to_fullname (s));
 
 	  cur_line = 0;
 	  gdbarch = get_objfile_arch (SYMTAB_OBJFILE (s));
@@ -180,13 +179,11 @@ tui_source_window::set_contents (struct 
 	      element->line_or_addr.loa = LOA_LINE;
 	      element->line_or_addr.u.line_no = cur_line_no;
 	      element->is_exec_point
-		= (filename_cmp (locator->full_name,
+		= (filename_cmp (locator->full_name.c_str (),
 				 symtab_to_fullname (s)) == 0
 		   && cur_line_no == locator->line_no);
 
-	      xfree (content[cur_line].line);
-	      content[cur_line].line
-		= xstrdup (text.c_str ());
+	      content[cur_line].line = make_unique_xstrdup (text.c_str ());
 
 	      cur_line++;
 	      cur_line_no++;
@@ -216,7 +213,7 @@ bool
 tui_source_window::showing_source_p (const char *fullname) const
 {
   return (!content.empty ()
-	  && (filename_cmp (tui_locator_win_info_ptr ()->full_name,
+	  && (filename_cmp (tui_locator_win_info_ptr ()->full_name.c_str (),
 			    fullname) == 0));
 }
 
@@ -278,7 +275,7 @@ tui_source_window::location_matches_p (s
   return (content[line_no].line_or_addr.loa == LOA_LINE
 	  && content[line_no].line_or_addr.u.line_no == loc->line_number
 	  && loc->symtab != NULL
-	  && filename_cmp (fullname,
+	  && filename_cmp (m_fullname.get (),
 			   symtab_to_fullname (loc->symtab)) == 0);
 }
 
@@ -310,7 +307,7 @@ tui_source_window::maybe_update (struct 
     start_line = 1;
 
   bool source_already_displayed = (sal.symtab != 0
-				   && showing_source_p (fullname));
+				   && showing_source_p (m_fullname.get ()));
 
   struct tui_line_or_address l;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/tui/tui-source.h ./gdb/tui/tui-source.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/tui/tui-source.h	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/tui/tui-source.h	2019-09-24 01:49:12.000000000 +0000
@@ -76,6 +76,9 @@ private:
      in the current source window.  */
   bool line_is_displayed (int line) const;
 
+  /* It is the resolved form as returned by symtab_to_fullname.  */
+  gdb::unique_xmalloc_ptr<char> m_fullname;
+
   /* A token used to register and unregister an observer.  */
   gdb::observers::token m_observable;
 };
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/tui/tui-stack.c ./gdb/tui/tui-stack.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/tui/tui-stack.c	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/tui/tui-stack.c	2019-09-24 01:49:12.000000000 +0000
@@ -63,17 +63,12 @@ tui_locator_win_info_ptr (void)
   return &_locator;
 }
 
-/* Create the status line to display as much information as we can on
-   this single line: target name, process number, current function,
-   current line, current PC, SingleKey mode.  */
-static char *
-tui_make_status_line (struct tui_locator_window *loc)
+std::string
+tui_locator_window::make_status_line () const
 {
-  char *string;
-  char line_buf[50], *pname;
-  char *buf;
+  char line_buf[50];
   int status_size;
-  int i, proc_width;
+  int proc_width;
   const char *pid_name;
   int target_width;
   int pid_width;
@@ -96,13 +91,11 @@ tui_make_status_line (struct tui_locator
   if (pid_width > MAX_PID_WIDTH)
     pid_width = MAX_PID_WIDTH;
 
-  status_size = tui_term_width ();
-  string = (char *) xmalloc (status_size + 1);
-  buf = (char*) alloca (status_size + 1);
+  status_size = width;
 
   /* Translate line number and obtain its size.  */
-  if (loc->line_no > 0)
-    xsnprintf (line_buf, sizeof (line_buf), "%d", loc->line_no);
+  if (line_no > 0)
+    xsnprintf (line_buf, sizeof (line_buf), "%d", line_no);
   else
     strcpy (line_buf, "??");
   line_width = strlen (line_buf);
@@ -110,8 +103,8 @@ tui_make_status_line (struct tui_locator
     line_width = MIN_LINE_WIDTH;
 
   /* Translate PC address.  */
-  std::string pc_out (loc->gdbarch
-		      ? paddress (loc->gdbarch, loc->addr)
+  std::string pc_out (gdbarch
+		      ? paddress (gdbarch, addr)
 		      : "??");
   const char *pc_buf = pc_out.c_str ();
   int pc_width = pc_out.size ();
@@ -154,65 +147,48 @@ tui_make_status_line (struct tui_locator
         }
     }
 
-  /* Now convert elements to string form.  */
-  pname = loc->proc_name;
-
   /* Now create the locator line from the string version of the
-     elements.  We could use sprintf() here but that wouldn't ensure
-     that we don't overrun the size of the allocated buffer.
-     strcat_to_buf() will.  */
-  *string = (char) 0;
+     elements.  */
+  string_file string;
 
   if (target_width > 0)
-    {
-      sprintf (buf, "%*.*s ",
-               -target_width, target_width, target_shortname);
-      strcat_to_buf (string, status_size, buf);
-    }
+    string.printf ("%*.*s ", -target_width, target_width, target_shortname);
   if (pid_width > 0)
-    {
-      sprintf (buf, "%*.*s ",
-               -pid_width, pid_width, pid_name);
-      strcat_to_buf (string, status_size, buf);
-    }
-  
+    string.printf ("%*.*s ", -pid_width, pid_width, pid_name);
+
   /* Show whether we are in SingleKey mode.  */
   if (tui_current_key_mode == TUI_SINGLE_KEY_MODE)
     {
-      strcat_to_buf (string, status_size, SINGLE_KEY);
-      strcat_to_buf (string, status_size, " ");
+      string.puts (SINGLE_KEY);
+      string.puts (" ");
     }
 
   /* Procedure/class name.  */
   if (proc_width > 0)
     {
-      if (strlen (pname) > proc_width)
-        sprintf (buf, "%s%*.*s* ", PROC_PREFIX,
-                 1 - proc_width, proc_width - 1, pname);
+      if (proc_name.size () > proc_width)
+        string.printf ("%s%*.*s* ", PROC_PREFIX,
+		       1 - proc_width, proc_width - 1, proc_name.c_str ());
       else
-        sprintf (buf, "%s%*.*s ", PROC_PREFIX,
-                 -proc_width, proc_width, pname);
-      strcat_to_buf (string, status_size, buf);
+        string.printf ("%s%*.*s ", PROC_PREFIX,
+		       -proc_width, proc_width, proc_name.c_str ());
     }
 
   if (line_width > 0)
-    {
-      sprintf (buf, "%s%*.*s ", LINE_PREFIX,
-               -line_width, line_width, line_buf);
-      strcat_to_buf (string, status_size, buf);
-    }
+    string.printf ("%s%*.*s ", LINE_PREFIX,
+		   -line_width, line_width, line_buf);
   if (pc_width > 0)
     {
-      strcat_to_buf (string, status_size, PC_PREFIX);
-      strcat_to_buf (string, status_size, pc_buf);
+      string.puts (PC_PREFIX);
+      string.puts (pc_buf);
     }
-  
-  
-  for (i = strlen (string); i < status_size; i++)
-    string[i] = ' ';
-  string[status_size] = (char) 0;
 
-  return string;
+  if (string.size () < status_size)
+    string.puts (n_spaces (status_size - string.size ()));
+  else if (string.size () > status_size)
+    string.string ().erase (status_size, string.size ());
+
+  return std::move (string.string ());
 }
 
 /* Get a printable name for the function at the address.  The symbol
@@ -252,7 +228,8 @@ tui_locator_window::rerender ()
 {
   if (handle != NULL)
     {
-      char *string = tui_make_status_line (this);
+      std::string string = make_status_line ();
+      scrollok (handle, FALSE);
       wmove (handle, 0, 0);
       /* We ignore the return value from wstandout and wstandend, casting
 	 them to void in order to avoid a compiler warning.  The warning
@@ -260,12 +237,11 @@ tui_locator_window::rerender ()
 	 changing these macro to expand to code that causes the compiler
 	 to generate an unused-value warning.  */
       (void) wstandout (handle);
-      waddstr (handle, string);
+      waddstr (handle, string.c_str ());
       wclrtoeol (handle);
       (void) wstandend (handle);
       refresh_window ();
       wmove (handle, 0, 0);
-      xfree (string);
     }
 }
 
@@ -274,10 +250,7 @@ tui_locator_window::rerender ()
 void
 tui_locator_window::set_locator_fullname (const char *fullname)
 {
-  struct tui_locator_window *locator = tui_locator_win_info_ptr ();
-
-  locator->full_name[0] = 0;
-  strcat_to_buf (locator->full_name, MAX_LOCATOR_ELEMENT_LEN, fullname);
+  full_name = fullname;
   rerender ();
 }
 
@@ -298,16 +271,13 @@ tui_locator_window::set_locator_info (st
   if (fullname == NULL)
     fullname = "";
 
-  locator_changed_p |= strncmp (proc_name, procname,
-				MAX_LOCATOR_ELEMENT_LEN) != 0;
+  locator_changed_p |= proc_name != procname;
   locator_changed_p |= lineno != line_no;
   locator_changed_p |= addr_in != addr;
   locator_changed_p |= gdbarch_in != gdbarch;
-  locator_changed_p |= strncmp (full_name, fullname,
-				MAX_LOCATOR_ELEMENT_LEN) != 0;
+  locator_changed_p |= full_name != fullname;
 
-  proc_name[0] = (char) 0;
-  strcat_to_buf (proc_name, MAX_LOCATOR_ELEMENT_LEN, procname);
+  proc_name = procname;
   line_no = lineno;
   addr = addr_in;
   gdbarch = gdbarch_in;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/tui/tui-stack.h ./gdb/tui/tui-stack.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/tui/tui-stack.h	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/tui/tui-stack.h	2019-09-24 01:49:12.000000000 +0000
@@ -26,12 +26,6 @@
 
 struct frame_info;
 
-#ifdef PATH_MAX
-# define MAX_LOCATOR_ELEMENT_LEN        PATH_MAX
-#else
-# define MAX_LOCATOR_ELEMENT_LEN        1024
-#endif
-
 /* Locator window class.  */
 
 struct tui_locator_window : public tui_gen_win_info
@@ -57,12 +51,20 @@ struct tui_locator_window : public tui_g
   /* Set the full_name portion of the locator.  */
   void set_locator_fullname (const char *fullname);
 
-  char full_name[MAX_LOCATOR_ELEMENT_LEN];
-  char proc_name[MAX_LOCATOR_ELEMENT_LEN];
+  std::string full_name;
+  std::string proc_name;
   int line_no = 0;
   CORE_ADDR addr = 0;
   /* Architecture associated with code at this location.  */
   struct gdbarch *gdbarch = nullptr;
+
+private:
+
+  /* Create the status line to display as much information as we can
+     on this single line: target name, process number, current
+     function, current line, current PC, SingleKey mode.  */
+
+  std::string make_status_line () const;
 };
 
 extern void tui_update_locator_fullname (const char *);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/tui/tui-win.c ./gdb/tui/tui-win.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/tui/tui-win.c	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/tui/tui-win.c	2019-09-24 01:49:12.000000000 +0000
@@ -53,9 +53,6 @@
 
 #include <signal.h>
 
-/*******************************
-** Static Local Decls
-********************************/
 static enum tui_status tui_adjust_win_heights (struct tui_win_info *, 
 					       int);
 static int new_height_ok (struct tui_win_info *, int);
@@ -71,16 +68,9 @@ static void parse_scrolling_args (const 
 				  int *);
 
 
-/***************************************
-** DEFINITIONS
-***************************************/
 #define WIN_HEIGHT_USAGE    "Usage: winheight WINDOW-NAME [+ | -] NUM-LINES\n"
 #define FOCUS_USAGE         "Usage: focus [WINDOW-NAME | next | prev]\n"
 
-/***************************************
-** PUBLIC FUNCTIONS
-***************************************/
-
 #ifndef ACS_LRCORNER
 #  define ACS_LRCORNER '+'
 #endif
@@ -561,7 +551,6 @@ tui_resize_all (void)
          AIX 5.3 does not define clear.  */
       erase ();
       clearok (curscr, TRUE);
-      refresh ();
       switch (cur_layout)
        {
 	case SRC_COMMAND:
@@ -580,8 +569,7 @@ tui_resize_all (void)
 
 	  src_win->resize (new_height, screenwidth, 0, 0);
 
-	  locator->resize (2 /* 1 */, screenwidth,
-			   0, new_height);
+	  locator->resize (1, screenwidth, 0, new_height);
 
 	  new_height = screenheight - (new_height + 1);
 	  TUI_CMD_WIN->resize (new_height, screenwidth,
@@ -637,7 +625,7 @@ tui_resize_all (void)
 	  second_win->resize (new_height, screenwidth,
 			      0, first_win->height - 1);
 
-	  locator->resize (2 /* 1 */, screenwidth,
+	  locator->resize (1, screenwidth,
 			   0, second_win->origin.y + new_height);
 
 	  /* Change the command window's height/width.  */
@@ -664,7 +652,7 @@ static void
 tui_sigwinch_handler (int signal)
 {
   mark_async_signal_handler (tui_sigwinch_token);
-  tui_set_win_resized_to (TRUE);
+  tui_set_win_resized_to (true);
 }
 
 /* Callback for asynchronously resizing TUI following a SIGWINCH signal.  */
@@ -685,7 +673,7 @@ tui_async_resize_screen (gdb_client_data
     }
   else
     {
-      tui_set_win_resized_to (FALSE);
+      tui_set_win_resized_to (false);
       tui_resize_all ();
       tui_refresh_all_win ();
       tui_update_gdb_sizes ();
@@ -722,11 +710,6 @@ tui_initialize_win (void)
 }
 
 
-/*************************
-** STATIC LOCAL FUNCTIONS
-**************************/
-
-
 static void
 tui_scroll_forward_command (const char *arg, int from_tty)
 {
@@ -793,35 +776,27 @@ tui_set_focus_command (const char *arg, 
 
   if (arg != NULL)
     {
-      char *buf_ptr = xstrdup (arg);
-      int i;
       struct tui_win_info *win_info = NULL;
 
-      for (i = 0; (i < strlen (buf_ptr)); i++)
-	buf_ptr[i] = tolower (arg[i]);
-
-      if (subset_compare (buf_ptr, "next"))
+      if (subset_compare (arg, "next"))
 	win_info = tui_next_win (tui_win_with_focus ());
-      else if (subset_compare (buf_ptr, "prev"))
+      else if (subset_compare (arg, "prev"))
 	win_info = tui_prev_win (tui_win_with_focus ());
       else
-	win_info = tui_partial_win_by_name (buf_ptr);
+	win_info = tui_partial_win_by_name (arg);
 
-      if (win_info == NULL || !win_info->is_visible ())
-	warning (_("Invalid window specified. \n\
-The window name specified must be valid and visible.\n"));
-      else
-	{
-	  tui_set_win_focus_to (win_info);
-	  keypad (TUI_CMD_WIN->handle, (win_info != TUI_CMD_WIN));
-	}
+      if (win_info == NULL)
+	error (_("Unrecognized window name \"%s\""), arg);
+      if (!win_info->is_visible ())
+	error (_("Window \"%s\" is not visible"), arg);
 
-      xfree (buf_ptr);
+      tui_set_win_focus_to (win_info);
+      keypad (TUI_CMD_WIN->handle, (win_info != TUI_CMD_WIN));
       printf_filtered (_("Focus set to %s window.\n"),
 		       tui_win_with_focus ()->name ());
     }
   else
-    warning (_("Incorrect Number of Arguments.\n%s"), FOCUS_USAGE);
+    error (_("Incorrect Number of Arguments.\n%s"), FOCUS_USAGE);
 }
 
 static void
@@ -944,65 +919,61 @@ tui_set_win_height_command (const char *
       char *buf = &copy[0];
       char *buf_ptr = buf;
       char *wname = NULL;
-      int new_height, i;
+      int new_height;
       struct tui_win_info *win_info;
 
       wname = buf_ptr;
       buf_ptr = strchr (buf_ptr, ' ');
       if (buf_ptr != NULL)
 	{
-	  *buf_ptr = (char) 0;
+	  *buf_ptr = '\0';
 
 	  /* Validate the window name.  */
-	  for (i = 0; i < strlen (wname); i++)
-	    wname[i] = tolower (wname[i]);
 	  win_info = tui_partial_win_by_name (wname);
 
-	  if (win_info == NULL || !win_info->is_visible ())
-	    warning (_("Invalid window specified. \n\
-The window name specified must be valid and visible.\n"));
-	  else
-	    {
-	      /* Process the size.  */
-	      while (*(++buf_ptr) == ' ')
-		;
+	  if (win_info == NULL)
+	    error (_("Unrecognized window name \"%s\""), arg);
+	  if (!win_info->is_visible ())
+	    error (_("Window \"%s\" is not visible"), arg);
 
-	      if (*buf_ptr != (char) 0)
-		{
-		  int negate = FALSE;
-		  int fixed_size = TRUE;
-		  int input_no;;
+	  /* Process the size.  */
+	  buf_ptr = skip_spaces (buf_ptr);
 
-		  if (*buf_ptr == '+' || *buf_ptr == '-')
-		    {
-		      if (*buf_ptr == '-')
-			negate = TRUE;
-		      fixed_size = FALSE;
-		      buf_ptr++;
-		    }
-		  input_no = atoi (buf_ptr);
-		  if (input_no > 0)
-		    {
-		      if (negate)
-			input_no *= (-1);
-		      if (fixed_size)
-			new_height = input_no;
-		      else
-			new_height = win_info->height + input_no;
+	  if (*buf_ptr != '\0')
+	    {
+	      bool negate = false;
+	      bool fixed_size = true;
+	      int input_no;;
 
-		      /* Now change the window's height, and adjust
-		         all other windows around it.  */
-		      if (tui_adjust_win_heights (win_info,
-						new_height) == TUI_FAILURE)
-			warning (_("Invalid window height specified.\n%s"),
-				 WIN_HEIGHT_USAGE);
-		      else
-                        tui_update_gdb_sizes ();
-		    }
+	      if (*buf_ptr == '+' || *buf_ptr == '-')
+		{
+		  if (*buf_ptr == '-')
+		    negate = true;
+		  fixed_size = false;
+		  buf_ptr++;
+		}
+	      input_no = atoi (buf_ptr);
+	      if (input_no > 0)
+		{
+		  if (negate)
+		    input_no *= (-1);
+		  if (fixed_size)
+		    new_height = input_no;
 		  else
+		    new_height = win_info->height + input_no;
+
+		  /* Now change the window's height, and adjust
+		     all other windows around it.  */
+		  if (tui_adjust_win_heights (win_info,
+					      new_height) == TUI_FAILURE)
 		    warning (_("Invalid window height specified.\n%s"),
 			     WIN_HEIGHT_USAGE);
+		  else
+		    tui_update_gdb_sizes ();
 		}
+	      else
+		warning (_("Invalid window height specified.\n%s"),
+			 WIN_HEIGHT_USAGE);
 	    }
 	}
       else
@@ -1119,7 +1090,7 @@ tui_adjust_win_heights (struct tui_win_i
 		  second_win->resize (second_win->height + second_split_diff,
 				      width,
 				      0, first_win->height - 1);
-		  locator->resize (2 /* 1 */, width,
+		  locator->resize (1, width,
 				   0, (second_win->origin.y
 				       + second_win->height + 1));
 
@@ -1155,7 +1126,7 @@ tui_adjust_win_heights (struct tui_win_i
 		  else
 		    second_win->resize (second_win->height, width,
 					0, first_win->height - 1);
-		  locator->resize (2 /* 1 */, width,
+		  locator->resize (1, width,
 				   0, (second_win->origin.y
 				       + second_win->height + 1));
 		  TUI_CMD_WIN->origin.y = locator->origin.y + 1;
@@ -1316,7 +1287,7 @@ parse_scrolling_args (const char *arg, 
 	  buf_ptr = strchr (buf_ptr, ' ');
 	  if (buf_ptr != NULL)
 	    {
-	      *buf_ptr = (char) 0;
+	      *buf_ptr = '\0';
 	      if (num_to_scroll)
 		*num_to_scroll = atoi (num_str);
 	      buf_ptr++;
@@ -1330,29 +1301,19 @@ parse_scrolling_args (const char *arg, 
 	{
 	  const char *wname;
 
-	  if (*buf_ptr == ' ')
-	    while (*(++buf_ptr) == ' ')
-	      ;
+	  wname = skip_spaces (buf_ptr);
 
-	  if (*buf_ptr != (char) 0)
+	  if (*wname != '\0')
 	    {
-	      /* Validate the window name.  */
-	      for (char *p = buf_ptr; *p != '\0'; p++)
-		*p = tolower (*p);
+	      *win_to_scroll = tui_partial_win_by_name (wname);
 
-	      wname = buf_ptr;
+	      if (*win_to_scroll == NULL)
+		error (_("Unrecognized window `%s'"), wname);
+	      if (!(*win_to_scroll)->is_visible ())
+		error (_("Window is not visible"));
+	      else if (*win_to_scroll == TUI_CMD_WIN)
+		*win_to_scroll = *(tui_source_windows ().begin ());
 	    }
-	  else
-	    wname = "?";
-	  
-	  *win_to_scroll = tui_partial_win_by_name (wname);
-
-	  if (*win_to_scroll == NULL)
-	    error (_("Unrecognized window `%s'"), wname);
-	  if (!(*win_to_scroll)->is_visible ())
-	    error (_("Window is not visible"));
-	  else if (*win_to_scroll == TUI_CMD_WIN)
-	    *win_to_scroll = *(tui_source_windows ().begin ());
 	}
     }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/tui/tui-wingeneral.c ./gdb/tui/tui-wingeneral.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/tui/tui-wingeneral.c	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/tui/tui-wingeneral.c	2019-09-24 01:49:12.000000000 +0000
@@ -28,10 +28,6 @@
 
 #include "gdb_curses.h"
 
-/***********************
-** PUBLIC FUNCTIONS
-***********************/
-
 /* See tui-data.h.  */
 
 void
@@ -191,8 +187,3 @@ tui_refresh_all ()
   if (locator->is_visible ())
     locator->refresh_window ();
 }
-
-
-/*********************************
-** Local Static Functions
-*********************************/
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/tui/tui-winsource.c ./gdb/tui/tui-winsource.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/tui/tui-winsource.c	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/tui/tui-winsource.c	2019-09-24 01:49:12.000000000 +0000
@@ -222,8 +222,7 @@ tui_show_source_line (struct tui_source_
     tui_set_reverse_mode (win_info->handle, true);
 
   wmove (win_info->handle, lineno, TUI_EXECINFO_SIZE);
-  tui_puts (line->line,
-	    win_info->handle);
+  tui_puts (line->line.get (), win_info->handle);
   if (line->is_exec_point)
     tui_set_reverse_mode (win_info->handle, false);
 
@@ -239,31 +238,15 @@ tui_show_source_line (struct tui_source_
 void
 tui_source_window_base::show_source_content ()
 {
-  if (!content.empty ())
-    {
-      int lineno;
+  gdb_assert (!content.empty ());
 
-      for (lineno = 1; lineno <= content.size (); lineno++)
-        tui_show_source_line (this, lineno);
-    }
-  else
-    erase_source_content ();
+  for (int lineno = 1; lineno <= content.size (); lineno++)
+    tui_show_source_line (this, lineno);
 
   check_and_display_highlight_if_needed ();
   refresh_window ();
 }
 
-/* See tui-data.h.  */
-
-void
-tui_source_window_base::clear_detail ()
-{
-  gdbarch = NULL;
-  start_line_or_addr.loa = LOA_ADDRESS;
-  start_line_or_addr.u.addr = 0;
-  horizontal_offset = 0;
-}
-
 tui_source_window_base::tui_source_window_base (enum tui_win_type type)
   : tui_win_info (type)
 {
@@ -273,11 +256,6 @@ tui_source_window_base::tui_source_windo
 }
 
 
-tui_source_window_base::~tui_source_window_base ()
-{
-  xfree (fullname);
-}  
-
 /* See tui-data.h.  */
 
 void
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/tui/tui-winsource.h ./gdb/tui/tui-winsource.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/tui/tui-winsource.h	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/tui/tui-winsource.h	2019-09-24 01:49:12.000000000 +0000
@@ -54,23 +54,17 @@ struct tui_source_element
     line_or_addr.u.line_no = 0;
   }
 
-  ~tui_source_element ()
-  {
-    xfree (line);
-  }
-
   DISABLE_COPY_AND_ASSIGN (tui_source_element);
 
   tui_source_element (tui_source_element &&other)
-    : line (other.line),
+    : line (std::move (other.line)),
       line_or_addr (other.line_or_addr),
       is_exec_point (other.is_exec_point),
       break_mode (other.break_mode)
   {
-    other.line = nullptr;
   }
 
-  char *line = nullptr;
+  gdb::unique_xmalloc_ptr<char> line;
   struct tui_line_or_address line_or_addr;
   bool is_exec_point = false;
   tui_bp_flags break_mode = 0;
@@ -82,9 +76,12 @@ struct tui_source_element
 
 struct tui_source_window_base : public tui_win_info
 {
+private:
+  void show_source_content ();
+
 protected:
   explicit tui_source_window_base (enum tui_win_type type);
-  ~tui_source_window_base () override;
+
   DISABLE_COPY_AND_ASSIGN (tui_source_window_base);
 
   void do_scroll_horizontal (int num_to_scroll) override;
@@ -101,8 +98,6 @@ protected:
 
 public:
 
-  void clear_detail ();
-
   /* Refill the source window's source cache and update it.  If this
      is a disassembly window, then just update it.  */
   void refill ();
@@ -114,8 +109,6 @@ public:
 
   virtual bool location_matches_p (struct bp_location *loc, int line_no) = 0;
 
-  void show_source_content ();
-
   void update_exec_info ();
 
   /* Update the window to display the given location.  Does nothing if
@@ -145,9 +138,6 @@ public:
   int horizontal_offset = 0;
   struct tui_line_or_address start_line_or_addr;
 
-  /* It is the resolved form as returned by symtab_to_fullname.  */
-  char *fullname = nullptr;
-
   /* Architecture associated with code at this location.  */
   struct gdbarch *gdbarch = nullptr;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/typeprint.c ./gdb/typeprint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/typeprint.c	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/typeprint.c	2019-09-24 01:49:12.000000000 +0000
@@ -727,7 +727,7 @@ show_print_type (const char *args, int f
   cmd_show_list (showprinttypelist, from_tty, "");
 }
 
-static int print_methods = 1;
+static bool print_methods = true;
 
 static void
 set_print_type_methods (const char *args,
@@ -744,7 +744,7 @@ show_print_type_methods (struct ui_file 
 		    value);
 }
 
-static int print_typedefs = 1;
+static bool print_typedefs = true;
 
 static void
 set_print_type_typedefs (const char *args,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/ui-file.c ./gdb/ui-file.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/ui-file.c	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/ui-file.c	2019-09-24 01:49:12.000000000 +0000
@@ -24,6 +24,7 @@
 #include "gdb_obstack.h"
 #include "gdb_select.h"
 #include "gdbsupport/filestuff.h"
+#include "cli/cli-style.h"
 
 null_file null_stream;
 
@@ -106,8 +107,6 @@ ui_file_isatty (struct ui_file *file)
 static bool
 term_cli_styling ()
 {
-  extern int cli_styling;
-
   if (!cli_styling)
     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-8.3.50.20190917/gdb/utils.c ./gdb/utils.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/utils.c	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/utils.c	2019-09-24 01:49:12.000000000 +0000
@@ -99,13 +99,13 @@ static std::chrono::steady_clock::durati
 
 /* A flag indicating whether to timestamp debugging messages.  */
 
-static int debug_timestamp = 0;
+static bool debug_timestamp = false;
 
-/* Nonzero means that strings with character values >0x7F should be printed
-   as octal escapes.  Zero means just print the value (e.g. it's an
+/* True means that strings with character values >0x7F should be printed
+   as octal escapes.  False means just print the value (e.g. it's an
    international character, and the terminal or window can cope.)  */
 
-int sevenbit_strings = 0;
+bool sevenbit_strings = false;
 static void
 show_sevenbit_strings (struct ui_file *file, int from_tty,
 		       struct cmd_list_element *c, const char *value)
@@ -119,7 +119,7 @@ show_sevenbit_strings (struct ui_file *f
 
 const char *warning_pre_print = "\nwarning: ";
 
-int pagination_enabled = 1;
+bool pagination_enabled = true;
 static void
 show_pagination_enabled (struct ui_file *file, int from_tty,
 			 struct cmd_list_element *c, const char *value)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/utils.h ./gdb/utils.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/utils.h	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/utils.h	2019-09-24 01:49:12.000000000 +0000
@@ -32,7 +32,7 @@ extern void initialize_utils (void);
 
 /* String utilities.  */
 
-extern int sevenbit_strings;
+extern bool sevenbit_strings;
 
 /* Modes of operation for strncmp_iw_with_mode.  */
 
@@ -316,7 +316,7 @@ extern void wrap_here (const char *);
 
 extern void reinitialize_more_filter (void);
 
-extern int pagination_enabled;
+extern bool pagination_enabled;
 
 extern struct ui_file **current_ui_gdb_stdout_ptr (void);
 extern struct ui_file **current_ui_gdb_stdin_ptr (void);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/valops.c ./gdb/valops.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/valops.c	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/valops.c	2019-09-24 01:49:12.000000000 +0000
@@ -97,7 +97,7 @@ static CORE_ADDR allocate_space_in_infer
 
 static struct value *cast_into_complex (struct type *, struct value *);
 
-int overload_resolution = 0;
+bool overload_resolution = false;
 static void
 show_overload_resolution (struct ui_file *file, int from_tty,
 			  struct cmd_list_element *c, 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/valprint.h ./gdb/valprint.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/valprint.h	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/valprint.h	2019-09-24 01:49:12.000000000 +0000
@@ -30,23 +30,23 @@ struct value_print_options
   enum val_prettyformat prettyformat;
 
   /* Controls pretty formatting of arrays.  */
-  int prettyformat_arrays;
+  bool prettyformat_arrays;
 
   /* Controls pretty formatting of structures.  */
-  int prettyformat_structs;
+  bool prettyformat_structs;
 
   /* Controls printing of virtual tables.  */
-  int vtblprint;
+  bool vtblprint;
 
   /* Controls printing of nested unions.  */
-  int unionprint;
+  bool unionprint;
 
   /* Controls printing of addresses.  */
-  int addressprint;
+  bool addressprint;
 
   /* Controls looking up an object's derived type using what we find
      in its vtables.  */
-  int objectprint;
+  bool objectprint;
 
   /* Maximum number of chars to print for a string pointer value or vector
      contents, or UINT_MAX for no limit.  Note that "set print elements 0"
@@ -66,40 +66,40 @@ struct value_print_options
   int format;
 
   /* Stop printing at null character?  */
-  int stop_print_at_null;
+  bool stop_print_at_null;
 
   /* True if we should print the index of each element when printing
      an array.  */
-  int print_array_indexes;
+  bool print_array_indexes;
 
-  /* If nonzero, then dereference references, otherwise just print
+  /* If true, then dereference references, otherwise just print
      them like pointers.  */
-  int deref_ref;
+  bool deref_ref;
 
-  /* If nonzero, print static fields.  */
-  int static_field_print;
+  /* If true, print static fields.  */
+  bool static_field_print;
 
-  /* If nonzero, print static fields for Pascal.  FIXME: C++ has a
+  /* If true, print static fields for Pascal.  FIXME: C++ has a
      flag, why not share with Pascal too?  */
-  int pascal_static_field_print;
+  bool pascal_static_field_print;
 
-  /* If non-zero don't do Python pretty-printing.  */
-  int raw;
+  /* If true, don't do Python pretty-printing.  */
+  bool raw;
 
-  /* If nonzero, print the value in "summary" form.
-     If raw and summary are both non-zero, don't print non-scalar values
+  /* If true, print the value in "summary" form.
+     If raw and summary are both true, don't print non-scalar values
      ("..." is printed instead).  */
-  int summary;
+  bool summary;
 
-  /* If nonzero, when printing a pointer, print the symbol to which it
+  /* If true, when printing a pointer, print the symbol to which it
      points, if any.  */
-  int symbol_print;
+  bool symbol_print;
 
   /* Maximum print depth when printing nested aggregates.  */
   int max_depth;
 
   /* Whether "finish" should print the value.  */
-  int finish_print;
+  bool finish_print;
 };
 
 /* Create an option_def_group for the value_print options, with OPTS
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/value.h ./gdb/value.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/value.h	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/value.h	2019-09-24 01:49:12.000000000 +0000
@@ -81,6 +81,8 @@ struct value_print_options;
   value_contents_eq for more info.
 */
 
+extern bool overload_resolution;
+
 /* The structure which defines the type of a value.  It should never
    be possible for a program lval value to survive over a call to the
    inferior (i.e. to be put into the history list or an internal
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/windows-nat.c ./gdb/windows-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/windows-nat.c	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/windows-nat.c	2019-09-24 01:49:12.000000000 +0000
@@ -245,16 +245,16 @@ static int saw_create;
 static int open_process_used = 0;
 
 /* User options.  */
-static int new_console = 0;
+static bool new_console = false;
 #ifdef __CYGWIN__
-static int cygwin_exceptions = 0;
+static bool cygwin_exceptions = false;
 #endif
-static int new_group = 1;
-static int debug_exec = 0;		/* show execution */
-static int debug_events = 0;		/* show events from kernel */
-static int debug_memory = 0;		/* show target memory accesses */
-static int debug_exceptions = 0;	/* show target exceptions */
-static int useshell = 0;		/* use shell for subprocesses */
+static bool new_group = true;
+static bool debug_exec = false;		/* show execution */
+static bool debug_events = false;	/* show events from kernel */
+static bool debug_memory = false;	/* show target memory accesses */
+static bool debug_exceptions = false;	/* show target exceptions */
+static bool useshell = false;		/* use shell for subprocesses */
 
 /* This vector maps GDB's idea of a register's number into an offset
    in the windows exception context vector.
@@ -794,8 +794,7 @@ windows_make_so (const char *name, LPVOI
 	 file header and the section alignment.  */
       cygwin_load_start = (CORE_ADDR) (uintptr_t) ((char *)
 						   load_addr + 0x1000);
-      cygwin_load_end = cygwin_load_start + bfd_section_size (abfd.get (),
-							      text);
+      cygwin_load_end = cygwin_load_start + bfd_section_size (text);
     }
 #endif
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/windows-tdep.c ./gdb/windows-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/windows-tdep.c	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/windows-tdep.c	2019-09-24 01:49:12.000000000 +0000
@@ -100,7 +100,7 @@ static const int MAX_TIB64 =
   sizeof (thread_information_64) / sizeof (uint64_t);
 static const int FULL_TIB_SIZE = 0x1000;
 
-static int maint_display_all_tib = 0;
+static bool maint_display_all_tib = false;
 
 /* Define Thread Local Base pointer type.  */
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/xcoffread.c ./gdb/xcoffread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/xcoffread.c	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/xcoffread.c	2019-09-24 01:49:12.000000000 +0000
@@ -267,9 +267,9 @@ find_targ_sec (bfd *abfd, asection *sect
   if (sect->target_index == args->targ_index)
     {
       /* This is the section.  Figure out what SECT_OFF_* code it is.  */
-      if (bfd_get_section_flags (abfd, sect) & SEC_CODE)
+      if (bfd_section_flags (sect) & SEC_CODE)
 	*args->resultp = SECT_OFF_TEXT (objfile);
-      else if (bfd_get_section_flags (abfd, sect) & SEC_LOAD)
+      else if (bfd_section_flags (sect) & SEC_LOAD)
 	*args->resultp = SECT_OFF_DATA (objfile);
       else
 	*args->resultp = gdb_bfd_section_index (abfd, sect);
@@ -2354,7 +2354,7 @@ scan_xcoff_symtab (minimal_symbol_reader
 		       section.  */
 		    bfd_sect = secnum_to_bfd_section (symbol.n_scnum, objfile);
 		    if (bfd_sect)
-		      toc_offset -= bfd_section_vma (objfile->obfd, bfd_sect);
+		      toc_offset -= bfd_section_vma (bfd_sect);
 		    break;
 
 		  case XMC_TC:
@@ -2952,7 +2952,7 @@ xcoff_initial_scan (struct objfile *objf
 	  secp = bfd_get_section_by_name (abfd, ".debug");
 	  if (secp)
 	    {
-	      length = bfd_section_size (abfd, secp);
+	      length = bfd_section_size (secp);
 	      if (length)
 		{
 		  debugsec
@@ -3029,8 +3029,7 @@ xcoff_symfile_offsets (struct objfile *o
   if (objfile->num_sections == 0)
     return; /* Is that even possible?  Better safe than sorry.  */
 
-  first_section_name
-    = bfd_section_name (objfile->obfd, objfile->sections[0].the_bfd_section);
+  first_section_name = bfd_section_name (objfile->sections[0].the_bfd_section);
 
   if (objfile->sect_index_text == 0
       && strcmp (first_section_name, ".text") != 0)
@@ -3089,7 +3088,7 @@ xcoff_get_core_n_import_files (bfd *abfd
   if (sect == NULL)
     return -1;  /* Not a core file.  */
 
-  for (offset = 0; offset < bfd_get_section_size (sect);)
+  for (offset = 0; offset < bfd_section_size (sect);)
     {
       int next;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/xml-support.c ./gdb/xml-support.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/gdb/xml-support.c	2019-09-17 01:49:43.000000000 +0000
+++ ./gdb/xml-support.c	2019-09-24 01:49:12.000000000 +0000
@@ -26,7 +26,7 @@
 #include <string>
 
 /* Debugging flag.  */
-static int debug_xml;
+static bool debug_xml;
 
 /* The contents of this file are only useful if XML support is
    available.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/include/bfdlink.h ./include/bfdlink.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/include/bfdlink.h	2019-09-17 01:49:43.000000000 +0000
+++ ./include/bfdlink.h	2019-09-24 01:49:12.000000000 +0000
@@ -42,6 +42,12 @@ enum bfd_link_discard
   discard_all		/* Discard all locals.  */
 };
 
+enum notice_asneeded_action {
+  notice_as_needed,
+  notice_not_needed,
+  notice_needed
+};
+
 /* Whether to generate ELF common symbols with the STT_COMMON type
    during a relocatable link.  */
 enum bfd_link_elf_stt_common
@@ -852,6 +858,20 @@ struct bfd_link_order_reloc
 /* Allocate a new link_order for a section.  */
 extern struct bfd_link_order *bfd_new_link_order (bfd *, asection *);
 
+struct bfd_section_already_linked;
+
+extern bfd_boolean bfd_section_already_linked_table_init (void);
+extern void bfd_section_already_linked_table_free (void);
+extern bfd_boolean _bfd_handle_already_linked
+  (struct bfd_section *, struct bfd_section_already_linked *,
+   struct bfd_link_info *);
+
+extern struct bfd_section *_bfd_nearby_section
+  (bfd *, struct bfd_section *, bfd_vma);
+
+extern void _bfd_fix_excluded_sec_syms
+  (bfd *, struct bfd_link_info *);
+
 /* These structures are used to describe version information for the
    ELF linker.  These structures could be manipulated entirely inside
    BFD, but it would be a pain.  Instead, the regular linker sets up
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/include/ChangeLog ./include/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/include/ChangeLog	2019-09-17 01:49:43.000000000 +0000
+++ ./include/ChangeLog	2019-09-24 01:49:12.000000000 +0000
@@ -1,3 +1,21 @@
+2019-09-23  Alan Modra  <amodra@gmail.com>
+
+	* bfdlink.h (struct bfd_section_already_linked): Forward declare.
+	(bfd_section_already_linked_table_init),
+	(bfd_section_already_linked_table_free),
+	(_bfd_handle_already_linked, _bfd_nearby_section),
+	(_bfd_fix_excluded_sec_syms): Declare.
+
+2019-09-23  Alan Modra  <amodra@gmail.com>
+
+	* bfdlink.h (enum notice_asneeded_action): Define.
+
+2019-09-17  Maxim Blinov  <maxim.blinov@embecosm.com>
+
+	* opcode/riscv.h (riscv_insn_class): New enum.
+	* opcode/riscv.h (struct riscv_opcode): Change
+	subset field to insn_class field.
+
 2019-09-09  Phil Blundell  <pb@pbcl.net>
 
 	binutils 2.33 branch created.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/include/opcode/riscv.h ./include/opcode/riscv.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/include/opcode/riscv.h	2019-09-17 01:49:43.000000000 +0000
+++ ./include/opcode/riscv.h	2019-09-24 01:49:12.000000000 +0000
@@ -294,6 +294,23 @@ static const char * const riscv_pred_suc
 /* The maximal number of subset can be required. */
 #define MAX_SUBSET_NUM 4
 
+/* All RISC-V instructions belong to at least one of these classes.  */
+
+enum riscv_insn_class
+  {
+   INSN_CLASS_NONE,
+
+   INSN_CLASS_I,
+   INSN_CLASS_C,
+   INSN_CLASS_A,
+   INSN_CLASS_M,
+   INSN_CLASS_F,
+   INSN_CLASS_D,
+   INSN_CLASS_D_AND_C,
+   INSN_CLASS_F_AND_C,
+   INSN_CLASS_Q,
+  };
+
 /* This structure holds information for a particular instruction.  */
 
 struct riscv_opcode
@@ -302,9 +319,9 @@ struct riscv_opcode
   const char *name;
   /* The requirement of xlen for the instruction, 0 if no requirement.  */
   unsigned xlen_requirement;
-  /* An array of ISA subset name (I, M, A, F, D, Xextension), must ended
-     with a NULL pointer sential.  */
-  const char *subset[MAX_SUBSET_NUM];
+  /* Class to which this instruction belongs.  Used to decide whether or
+     not this instruction is legal in the current -march context.  */
+  enum riscv_insn_class insn_class;
   /* A string describing the arguments for this instruction.  */
   const char *args;
   /* The basic opcode for the instruction.  When assembling, this
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/md5.sum ./md5.sum
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/md5.sum	2019-09-17 01:53:56.000000000 +0000
+++ ./md5.sum	2019-09-24 01:53:31.000000000 +0000
@@ -1,109 +1,113 @@
 a657821f65bab77f4fbf3a75cdee6da9  ar-lib
 9404e13ea7b152453c548082da92b8da  bfd/cpu-pru.c
 deb393f679e2cb9d8afcf5d8f94ef4d5  bfd/tekhex.c
-b12853b89a339ff22751266be9f62d96  bfd/reloc.c
-3478d2550cc442f81eb2e21b1a64f14a  bfd/dwarf2.c
+d3a441477076825693ea3d1a18fc3479  bfd/reloc.c
+5bbe4d010de8602184d5016074030dab  bfd/dwarf2.c
 4b342d0aa45059d99009ff2dcdb68664  bfd/libbfd.h
 8b8a453da673107291f4754c544a2ebe  bfd/cpu-nds32.c
 fb32050ffb28a5c4858c29991be30938  bfd/vaxnetbsd.c
-f78cba59008ceb6b413296a4d93102d8  bfd/elf64-ppc.c
-c8265d86bf8cceeffd4dfe3d8cafaae1  bfd/elf32-mcore.c
-a5115b71b0ee38809af0b3d256a0124e  bfd/archures.c
+7f98d4abd115e9cdbe23e3c13931731a  bfd/elf64-ppc.c
+ea3becf9543146e194d9dd435b550f2a  bfd/elf32-mcore.c
+58ee1669265cf8296820ddf3dc22cb12  bfd/archures.c
 b026e9477cdd5d8a19e171c0853e35b3  bfd/i386lynx.c
 13bc94a622c79acc31d4458e0fa47e1f  bfd/bfdwin.c
 e41bf4306979bec62eb8430fb41df6a5  bfd/ChangeLog-2013
 d9c4ce8c578e8ee1229a8491347fae47  bfd/aout32.c
-05a3c75c480e94f482b34a823edbcb13  bfd/elf32-xstormy16.c
+8f12cd8d06a62b6c9f80f12acedbef81  bfd/elf32-xstormy16.c
 f0a62cff931a49bccf00d3d49d81fc03  bfd/elf32-m68hc11.c
-c0d9ba456ec7ccefc0c566d9393a2516  bfd/elfxx-tilegx.c
+6d89f76305e9a5ee5ae9c2eceeeba54f  bfd/elfxx-tilegx.c
 5ddd7325e4cba21950fe2d391072cf87  bfd/ChangeLog-2011
 3d294fa1486685370ae737b3c6a4cc39  bfd/libcoff.h
-c6f53f4d6e58d351c6bd14e16c194a73  bfd/elf32-cr16c.c
+a15942c43e3137a59c468b77718e80b7  bfd/elf32-cr16c.c
 37304b794e3b8b998aaca897b535ead8  bfd/cpu-m68hc12.c
 298f150e2045887fc8b3c42fae166954  bfd/xsym.h
 5118f470d1115d196c762d40cad6b7d8  bfd/cpu-mcore.c
-740a570b122b82fd430c2274efe86188  bfd/syms.c
+eaf8b6a2559406eec76ebd54b0625177  bfd/syms.c
 e99e51200393107a815bd747025b5408  bfd/cpu-crx.c
-0eb57e4eaf4d1bb7b9f4092b4ff60b2b  bfd/Makefile.in
+419ed2ce758a86f0d79ed261ef40d576  bfd/Makefile.in
 b9db2071c7bc32852e81a431ad3aa010  bfd/elf32-tilegx.c
 e05d639087c91b2b9b51f2d49324cdcf  bfd/cpu-hppa.c
 dad496c68df8395b3cdb8e3187c37eb1  bfd/dep-in.sed
 743e286b52ab0d250c6e98f549dbe185  bfd/elf32-metag.h
 b4d0673436b3645cf04cfba9583bd8c4  bfd/cpu-cris.c
-b0921fcca0e3ba890011123314d52d09  bfd/pei-x86_64.c
+1ae0da80783890f98662b5f92fd0eece  bfd/pei-x86_64.c
 d0578eaa5673bacaae79739ea01c5fbc  bfd/cpu-d10v.c
 f73502530f3abf5e11406d868ea1af80  bfd/xtensa-modules.c
-bd4de43d501a0122abfcdc4688b01e31  bfd/elfcore.h
+1a41456d9f3313cb628f18f6873542dc  bfd/elfcore.h
 5cb0eef365977eb8c7430c04738a9e2c  bfd/wasm-module.c
 ce93ef6cd4c0ba0799b9d6d75b36638a  bfd/elf64-mips.c
 c4d082a9c0c27456afe3357c4987b675  bfd/cpu-m9s12x.c
-4de49912e94cc64406eba5124cdc6a7d  bfd/version.h
+b82839e01dc4f5237d12c05c55fa521f  bfd/version.h
 f635e95e06957e744083b2160029e168  bfd/cpu-tilegx.c
 f2af796af1efd1971472837a26010b6f  bfd/coff-mcore.c
 89637e92fbef834ef0c545805106bcc4  bfd/cpu-avr.c
 177bd7b4c84ba5c009fb078257ef06cb  bfd/aout64.c
-48c63c70edb40dc45f8ae0f2d734a732  bfd/elf32-pru.c
+cd3bf9fe5458c06ca0a4cc5abdfbc796  bfd/elf32-pru.c
 f5ad372cf681a57b9a43f6975c05e33c  bfd/ChangeLog-2012
-90455413d39ccb5c5f4eb2be9ee8fffe  bfd/elf.c
+fb1ac9f3c9938e467e8d68b0b1e737c8  bfd/elf.c
 0b76fafe89d70f2ea04f6b9a1e79989f  bfd/hppabsd-core.c
 8f4546a5e1b4bfb7045af3f6a958973e  bfd/elf32-xgate.c
 0b89057e69f67bd9835a9160e89333e7  bfd/elf32-nds32.h
-994074885891382d5f90b25144738046  bfd/coff-bfd.h
-399c7e404aef704cafc9294492e9c2ca  bfd/ecoff.c
+edaa4c4a5b377cabf9e17e30762b76a0  bfd/coff-bfd.h
+72a78281f3eb7326f7ad5ad599e61635  bfd/ecoff.c
 a652e1b7bb38b7c4378e613c12204310  bfd/cpu-moxie.c
-a59b538bc78103de0b6cb0043c896597  bfd/mach-o.c
-b9e9de1b66374dafe626f4255934a5bc  bfd/elf32-vax.c
-02478e4d8571094661b1413454795ff5  bfd/pe-arm-wince.c
+d8f435cc08217e1b50108a271efe13bc  bfd/mach-o.c
+a6a10045faa3f4cb9847d86506029762  bfd/elf32-vax.c
+d3bd0a60b47cd43b306af9acd9b32772  bfd/pe-arm-wince.c
 573cf721e4a3e0b182772495388b6774  bfd/cpu-rx.c
 f6dc4257b12673ac54b6cf79e50e0908  bfd/cpu-ip2k.c
 d409d08248526f735f15722cfc595872  bfd/elf32-tilepro.h
-d3618327798f30d504749ea9e6d967f4  bfd/elf32-s390.c
+5c399f0e20296ccbdc501aaea7455ea7  bfd/elf32-s390.c
 db8c5846f5a187cf6f8eb455a1975b0a  bfd/libaout.h
-166b5ae42b8dc78dc0b2c63570327ff0  bfd/elfxx-aarch64.h
-f40824f92c511e70bf51df08d075c6ea  bfd/elf-vxworks.c
-aa1ab5a363f06cfd900378485f2893c2  bfd/elfxx-mips.c
-fc0b2f55f45b9d68d571342dab145ae0  bfd/archive.c
+f528f4062ebaa7f218a73b5ab504e069  bfd/elfxx-aarch64.h
+8b31e3f09dc7f5ea410459c61f469a2c  bfd/elf-vxworks.c
+59c2e684366757fe2ce3e75daa84c6bd  bfd/elfxx-mips.c
+109932b937fe9744c33276a58ce2b528  bfd/archive.c
 a0f20c7aaf8a06d11a0e7a01c26c2496  bfd/aix5ppc-core.c
 a8e426a4574de4afff59fd1278cf92b7  bfd/pei-ppc.c
 9341247d2adc42b144ea0fe0221a2e54  bfd/elfxx-ia64.c
+1ee0f4acdb7c04719f15fb9cf08676c4  bfd/elf32-cr16.h
 0428e46d3051a9991f0ad7e7add905f5  bfd/elf32-dlx.c
 087d260accbc21c09d3ef6b4660d7fa5  bfd/elf64-tilegx.h
-3d47600033c0cd4acb87042ad8a9e126  bfd/peicode.h
-c0ea88fad2640acbfa0c962f1978a434  bfd/coff-mips.c
+d34ec5de7c940e55451f8c3c87dbd363  bfd/peicode.h
+62b9cbd75164be53879cc16b8c504e93  bfd/coff-mips.c
 e30966ef29fe693c13f459696be4f2c0  bfd/cf-i386lynx.c
-8cf1c199db8e52314612ec7e3d1cc78d  bfd/elf32-mep.c
-8941b6685f022a707e6e9de5d313563b  bfd/elf32-v850.c
+d0e758e112856793cd3a712354f4df7a  bfd/elf32-mep.c
+6be0f669d2bc712770564a394e1900e6  bfd/elf32-v850.c
+fadcf2c5cfa64b81de06174f1a298f85  bfd/elf32-csky.h
+1d7409f6ae264c3d82b309caf87f1968  bfd/elf32-m68k.h
 007d341f935081dbbbc1696d73a184ad  bfd/mach-o.h
-b0397a63a56cf89910b1e3526faa5e81  bfd/elfxx-mips.h
+e730e5dec4285621c0cc82be9423c1aa  bfd/elfxx-mips.h
 5c2824363a61dc1245e400c19572fe3e  bfd/elfxx-target.h
 279608772cc90e04d5477ac96c7c9781  bfd/elf-linker-x86.h
-b995eab131e236ccff82c4fe732b2b60  bfd/ecofflink.c
+405b1277341558625bcbb847f26623b6  bfd/ecofflink.c
+10dafcfda5f31c10ac58ffdbe6089c19  bfd/coff-arm.h
 6d282f0e256602a0a8f465611bebb586  bfd/ptrace-core.c
 80d4a5c65d3b563e8846bdb8bf6ec80f  bfd/cpu-ft32.c
-e128357d7e390f552d2d9a0318e72eac  bfd/xcofflink.c
+642b99ebed4c6bdaf1004d49db48ebec  bfd/xcofflink.c
 53357a9b87dd158b90cf790c316fd438  bfd/targmatch.sed
-095bb40e71687156b13bfa5be31d1b4f  bfd/coff-ppc.c
+3e8ce0c8b9aa15bae34a0366cd0957fa  bfd/coff-ppc.c
 f8b732eb1fe247a9e3a9b14718cff320  bfd/pef-traceback.h
 fc09e2d477a8cbc01aacecb862594a44  bfd/cpu-m68hc11.c
 509e906ab77e7a1df4f6ebb206f08649  bfd/coff-go32.c
 85220b55d79d5fdb04ecf76ae4e33d8d  bfd/config.in
 a6cc9df7078aed83a2c9ad0cf21e4425  bfd/hash.c
 41477cd3b36a6ff7793871182bb2f78b  bfd/configure.ac
-63fb26e13356abd93884f1ebc070d791  bfd/compress.c
+3acf2e4513982531aed75645d54b8207  bfd/compress.c
 d359597f7e027264df0e13ccdd2d4b30  bfd/ChangeLog-2015
 bf2cb9504090f9b98f9846b65acbc38b  bfd/README
 278263ab939262f8654d0cdb69be20a2  bfd/cpu-xstormy16.c
 58a3fb1e054b540ef5c1329799b824bb  bfd/ChangeLog-2005
 67004c3da1f73e992ef428dfd5e0f5fe  bfd/development.sh
-d89ae8474e2f24d94ec798d6a025469d  bfd/elf32-tilepro.c
+0a58e5135c9545232bfffd4e30ebb47e  bfd/elf32-tilepro.c
 ce363ffcdb2993ee84530554d0fb5a78  bfd/ChangeLog-9697
 fcb60d90a91ff13356e70c9ea0713ba1  bfd/cpu-cr16.c
-f85025a198579bbb0b5bc05c16e11cb5  bfd/i386msdos.c
+88588d1f8c22bc72ad5e19b10196723c  bfd/i386msdos.c
 d97dde7108578eea9417c70f39d97775  bfd/bfd.m4
 58bc56d7dd9219f5efdfa1803bcb27aa  bfd/libxcoff.h
 da3bfcdfa700bc2340bc467012bd56c6  bfd/i386bsd.c
 d86e0e4100a7bd9dadceadd1e4d9a175  bfd/hpux-core.c
-700f95238cf8c383e3791a5318a8da80  bfd/elf-bfd.h
+c9ea5b049ea87e6e0ab6e4514081d034  bfd/elf-bfd.h
 2aeedee8927595bec83bf600ce9a405c  bfd/mach-o-target.c
 29b3cafaa78a412cdebf668ae986299e  bfd/elf-strtab.c
 79ab00617c0c7ff26c848dbcdf8b5643  bfd/peXXigen.c
@@ -113,53 +117,55 @@ b967a433433ae3829243f460e1dbfa3f  bfd/pe
 fb580cf1eae401fecb692071051b5b67  bfd/cpu-bfin.c
 3b66c510837544cfb32b92d7d8ced23e  bfd/elf-nacl.h
 6b36a3e48fb4c7948da9953785bc8261  bfd/config.bfd
-d01d4efaf6f4847b4fa54301a11e139d  bfd/elf32-bfin.c
+d7dc85b82b8542cee78915a90ed427ff  bfd/elf32-bfin.c
 9720f56db01cbda0af2d48a9a4111762  bfd/makefile.vms
 82604bf0c056c2b0efd67982153bbeda  bfd/cpu-mips.c
 cf5fa3dd93efb73d781c5cf982c9a01c  bfd/gen-aout.c
-18fd103cd960523b930ccfbf09ccccb4  bfd/elfnn-ia64.c
+8a6ae821fc71bfd2fd5b2bffc50ddc39  bfd/elfnn-ia64.c
 306057d633122a2eac0a314340b49b04  bfd/cpu-xtensa.c
 2d517320c32f0f1a701c519338353aee  bfd/pe-ppc.c
-ad0269aea2f0ecbc769d15991f01e08d  bfd/elf-properties.c
-3d7ca4f971cb5a24ccc45f4d2f5a1a31  bfd/opncls.c
-0312d7d0f3df3c4c15ac6c0f35699f3e  bfd/elf32-cris.c
+3b3b56d679ef110304d14ccfc2093e0e  bfd/elf-properties.c
+c2e18d094c08a71654a7f85db3568d5d  bfd/opncls.c
+644528a05c3054bb4d3ec45b23afdfa8  bfd/elf32-cris.c
 73228b9ddcb1bd9c00ae745b1e3b8015  bfd/cpu-z80.c
 60cca4bf1335ebf7f7c1eb45fa14ed11  bfd/coff-i386.c
 d18153119cfcc6612a634314ffc3dee8  bfd/aout-target.h
-9bfe7d882a466a97a8ff68b3be340e18  bfd/elf32-spu.c
+e13a810b586ac00a706c1abfaf70a135  bfd/elf32-spu.c
 15ed0a7456c64faec0a6ca51b3670d69  bfd/elf32-gen.c
 1f4b35b52ee7768f95749d04d733c892  bfd/cache.c
 a69a83eb2b13faf3e5a079cb0dd3d5e5  bfd/cpu-wasm32.c
 a39b56afb128754a2f6008f1baee3032  bfd/coff-tic80.c
-9117fa10fbf0ad70f00c58f6fb5f301e  bfd/elf64-s390.c
+4db64f0fae81c88c910d3ae812208fab  bfd/elf64-s390.c
 408ef1462276b75d3708877103c85eb8  bfd/.gitignore
 35da234da3932e732132b7bb518e4862  bfd/elf32-m68hc1x.h
 b23607d352e1aa6a14fc77338b9c6889  bfd/cpu-spu.c
 54dc6753ba31d1ba1d4fd92f5fa9e97f  bfd/warning.m4
-ab95131b0694c3f5a44e3474901faa28  bfd/elf32-moxie.c
+c91e8d2b513e09475d566fb85d23345b  bfd/elf32-moxie.c
 c32be227fcc3dd00493299d20a75828d  bfd/pc532-mach.c
 fcc67a779dcd381af3a557c8e5b3b509  bfd/configure.host
-f37b9143a9576d765b98d6db3f7920cd  bfd/cpu-aarch64.c
-e0fc89a2acf3538e5ba7012c638957f4  bfd/elf32-ft32.c
-1b82e5dfa80154da8bcd6d9b79355672  bfd/bfd-in2.h
+0d7cbe6cd7b24362d5e0d95b5a0405e1  bfd/cpu-aarch64.c
+7dfeef54f96f69d4c808b89e4d048605  bfd/elf32-ft32.c
+228be51fe5b45fcd697372153c92a7f8  bfd/bfd-in2.h
 ef5ce2816e009df3c5babd78e62050c9  bfd/cpu-nfp.c
 bd53d90e8f59b0fc0d91113809b7ba97  bfd/cpu-k1om.c
 bed3ebb05c76beb310263894a90540e3  bfd/cpu-lm32.c
 d2fe64a8b492db908855a402c6b975d3  bfd/sco5-core.c
 fc7c2d6dabf90fa448ca683f950b97d6  bfd/cpu-m32c.c
 650c4029e6c1b99375e264917eb8e3c1  bfd/cpu-pdp11.c
+c82c9be2b327a90a22ccfef126d1eb3b  bfd/elf32-bfin.h
 5872cf5ca40fd29e9adc03043fa457bf  bfd/coff-tic4x.c
-ec9a6b725affdd71e5363e55aed6545b  bfd/elfxx-x86.c
+78cd4eabcbdfe5e0a0ff62350b95faea  bfd/elfxx-x86.c
 86d298205604be86e5c5820e0d62b350  bfd/cpu-m10300.c
 372e446f49da372fa75bd5bfa662aa17  bfd/elf32.c
 a7a547331e1cb44e3a48e980ff4d5ec8  bfd/elf-nacl.c
 05f66176583e5b58c47328aa5564bfbe  bfd/libbfd.c
-58fdf56268be78941836e6234ca9038b  bfd/elf32-d10v.c
-f226a8779fb5aea904484fa8bedf1607  bfd/coff-arm.c
+daf85abb65bf8fdbc8b9a19c8facd808  bfd/elf32-d10v.c
+4c4a83c18e417ea01441fc57d26aad7c  bfd/coff-arm.c
 f6c3020c281ee5297cef09822108fd85  bfd/elf32-score.h
 8834af971bbaccff8d1244771c70f839  bfd/cpu-d30v.c
 bbf88fdf4e23c9cba924526076284b78  bfd/ChangeLog-2010
-a83af6261f8d9767a783be02ac7afd29  bfd/coffcode.h
+d89df69f99d1232814c609c6e20e51e6  bfd/ecoff-bfd.h
+fdec41e5fe2428d1c2d298f3b22d08f1  bfd/coffcode.h
 aadd0e3c552b62ea5231b8f8e1f29c48  bfd/vms.h
 926ddb51ed56c431fe7f8c9deb5909a2  bfd/coff-sh.c
 9cae02eefe2e22422234706b5f9a8892  bfd/cpu-csky.c
@@ -168,20 +174,21 @@ bbcba73fa5056239bb44500e9ec00d90  bfd/ci
 3419b03546d9c8690ec02c4e0d6e07bb  bfd/elf32-wasm32.c
 f429a221c87ad5751721df36245fba7a  bfd/cpu-i386.c
 ed6baa180c313066fcaf71503df9156f  bfd/rs6000-core.c
-0a598eaac71fb621dd8609354ba373b5  bfd/elf-eh-frame.c
+57d01ff4b5ed1debb233c8c75e051f2d  bfd/elf-eh-frame.c
 7c747b42264a2a2f5b18c5e346c3f9ff  bfd/netbsd.h
 a6e415e05baf84511c3d62d58056870f  bfd/elf32-hppa.h
 97996874ca7c27a7fc1311616e406158  bfd/elf32-rx.h
-dcbb47324c0da7e4aea896a53306cbdb  bfd/elf32-cr16.c
-dbde5a4f1ca16e28b6f4c3f0dfeb5acd  bfd/pe-arm.c
-2d4fb51210cf6dd29e9cf585f584db32  bfd/elf32-frv.c
+45cb45921c67b79fa3f6b5ae7d7ea34a  bfd/elf32-cr16.c
+a840edd00502ae1fb6ad77c6e9aea36d  bfd/pe-arm.c
+c290f0e5bcbb5bbeb313e253517aa4ad  bfd/elf32-frv.c
 d9d91776e871b403933bd4b6aabafb14  bfd/pei-sh.c
-df93cfd44a5b661ceb6a09920fac0249  bfd/elf32-arc.c
-6e34ea763bce4b57f52e942634dcf9c2  bfd/elfnn-aarch64.c
+45037694df23448bf2fd28c2fac03b38  bfd/elf32-arc.c
+afb78bf061b2a2c8878aa3441514f218  bfd/elfnn-aarch64.c
+6ba81570a415f64ae3906377cc5415a8  bfd/cpu-aarch64.h
 e7453491dcc0635b84ebb5907d25d8e2  bfd/mach-o-i386.c
 c326eafd6d594ebb26df7bdb1441fe35  bfd/elf32-am33lin.c
-9ad6a9a6297a1daf96e8ea6bcf0d5df2  bfd/elf32-mt.c
-fb8c95b270c1f16fbe8b9bb6b029140d  bfd/elf-ifunc.c
+bea46a7e12b2f492b48866c808b191f5  bfd/elf32-mt.c
+ee87609e727ca93f94b2727e062827f8  bfd/elf-ifunc.c
 8a604782f5cc44679f4e350c4ae61e69  bfd/cpu-plugin.c
 3a83ad486532ac5a4c93d0f686dc681a  bfd/som.h
 478adb2deb9af088f46355eb33522c1d  bfd/aout-ns32k.c
@@ -189,11 +196,11 @@ fb8c95b270c1f16fbe8b9bb6b029140d  bfd/el
 7dc6ebd4b3c528052d040c4c8ced6dd0  bfd/doc/libbfd.texi
 f06f2eb2d0f895dc76222fd862da6279  bfd/doc/init.texi
 930173859dab35d4c1c03efd5ddb18e3  bfd/doc/format.texi
-8633e856c690c927f91e4d86381c5e7b  bfd/doc/reloc.texi
+fae955320131cf362f46f966dc255cb2  bfd/doc/reloc.texi
 072910d553f79906db69fa7c0e956bba  bfd/doc/fdl.texi
 884c457392e56f773fabfa63ccc2d171  bfd/doc/ChangeLog-0415
-e88d75528602e596c883bcb96faac8a6  bfd/doc/section.texi
-2b8d005fc35c327ea9822849476cf2c8  bfd/doc/Makefile.in
+54f37a567a82e782e79f343efe60ad61  bfd/doc/section.texi
+f4044f1d530b3c842402863ae056ebc9  bfd/doc/Makefile.in
 236e856bb13ee47adc5d7d253037640d  bfd/doc/bfdwin.texi
 a11231531c5c3cd6e7babf06426a657e  bfd/doc/ChangeLog-9103
 f32b11f47b666164ab1aa78183a50b1e  bfd/doc/hash.texi
@@ -201,13 +208,13 @@ f32b11f47b666164ab1aa78183a50b1e  bfd/do
 4882eb4df9ab9b38bcaab1d0a4f1eaa5  bfd/doc/bfdver.texi
 3d524b7e195fb38eb168045e4a2d18aa  bfd/doc/coffcode.texi
 11ed9773e30ff48eaba6617cf24b1f83  bfd/doc/makefile.vms
-bbc7bf050fe7628941492cc152260c24  bfd/doc/bfd.info
-877bd147f80832dfa8fec1958ee9e107  bfd/doc/bfdt.texi
+08efb59780157513db8198a96568b77e  bfd/doc/bfd.info
+8e1a2cdf9c18cd4d511d54e270484be9  bfd/doc/bfdt.texi
 e67d8b07516154c4ddbee2e3bab3d75e  bfd/doc/doc.str
 9a6e644c9e94d7b18073f5cc6ef4395a  bfd/doc/header.sed
 fceb179f1a1bc85df44ec0ae3b917c1c  bfd/doc/archive.texi
 2cbab54168732518540f83c27e8bd625  bfd/doc/bfdint.texi
-d3515e6aed08f6d669a1bc867199c92b  bfd/doc/archures.texi
+c482f5c75f2edb002a55c7edc83df78d  bfd/doc/archures.texi
 51139f6af786e74446d01ec49807fc28  bfd/doc/elf.texi
 e6369d24c358e39140f51b3ef04b1120  bfd/doc/bfd.texi
 0d83f7d997b7dc94f4648637128ae80b  bfd/doc/Makefile.am
@@ -223,14 +230,14 @@ d7a37304ccd7b245f93df4be02797477  bfd/do
 2fcb7fad5bee8e2df5992b3f8505b94b  bfd/doc/aoutx.texi
 84a99eb217f66a88f8897fbca35b0d10  bfd/doc/mmo.texi
 6dd9da257666139a061d6905349d9614  bfd/doc/core.texi
-d124b600e1fa46a9b674c3ed4c69ba35  bfd/doc/targets.texi
+252ced00e27e403e8294e3f1aa00b910  bfd/doc/targets.texi
 ac72ac8b81029816c53e7e39767f568c  bfd/elf32-spu.h
-a3de5803d5d9f4cd49deb36962000720  bfd/elf32-microblaze.c
+cca1c9ee2db37efc6ece90cf29d106a5  bfd/elf32-microblaze.c
 eefbd6b690ba3052c86693a711df5d4d  bfd/cpu-sh.c
 4aa22c83bf1e15a4f4a59afced9874e0  bfd/osf-core.c
 deb79fe5a923aef5423323445c7335be  bfd/cpu-ia64-opc.c
 8f36fdc3d5ece457f9525fc91a8a8224  bfd/cpu-iamcu.c
-3aa0cca90c819aa55fcd049c470c6ffe  bfd/elf32-crx.c
+8f917f82a4133d3b325f960327e3a7ec  bfd/elf32-crx.c
 4730a96df3fe1a657289c366a4f39344  bfd/ChangeLog-2006
 4390b7939ac6a37fc2dd095669a7cb48  bfd/pe-mcore.c
 ed42f4a928d002f161a0af07e8479c9a  bfd/cpu-mmix.c
@@ -238,24 +245,26 @@ ed42f4a928d002f161a0af07e8479c9a  bfd/cp
 76d99d44c1db5ede96089464cf218327  bfd/bfdio.c
 7c9b66d0d8f289bd851a12fc0fcee7c2  bfd/cpu-s390.c
 d0db836c13f112e8b7bcfbb58d415567  bfd/pef.h
-eb0b114cc2c732ff80ae6a8031792ae2  bfd/elf32-tic6x.h
-8fced70bdf78427e61690618b13ec429  bfd/coff-alpha.c
-f14260c8c3cecc002e4210df58e8bf78  bfd/bfd-in.h
-07c48cf3c44a1ce0b39defbd8ff528fa  bfd/elf32-nds32.c
-374c62b41788d0b6ea987a484c4e00ac  bfd/elf32-i386.c
-9a7c2bf1ff48b2f0508f7febec7f9bdc  bfd/elf32-ppc.c
+b94e8f6e672578f7b5d42acc731230d5  bfd/elf32-tic6x.h
+a6233c0e696c8b5bdc8415a7c9cecd6c  bfd/coff-alpha.c
+d5e1a602431b0bf7049a07418937d087  bfd/bfd-in.h
+a8f6bdd7209b4d9a6550b071226c7e88  bfd/elf32-nds32.c
+6faafd2cb88b1e0e7941e460f3a4646f  bfd/elf32-i386.c
+15c381a539fe29866e7f9d5eb7d8069f  bfd/elf32-ppc.c
 7d710529ca3fafb2bb57132df24957e3  bfd/ChangeLog-2004
-492d501fd9254f1a5321f4468f8e6c33  bfd/elfxx-sparc.c
+bb2db44e83a1cbe7833da3279d111694  bfd/elfxx-sparc.c
 fba04df4d8eb0bafdc8c2daf590c743f  bfd/cpu-powerpc.c
 3d59f30f8c6d07e9109d717a6778fa36  bfd/cpu-xgate.c
 4c332152b46c1beb01a8e4939a286062  bfd/cpu-rs6000.c
 a5847be30208674e1a19ae938073dbae  bfd/PORTING
 46c2dfc428db1186b5b5d7247435d3ee  bfd/vms-misc.c
 6e23cea97986c8894d760f743ea39b65  bfd/coff-z80.c
-563508fee5b8ce4d4368d0466c671fdf  bfd/elfnn-riscv.c
+05577ece8ea4563b4033dc36f478da6b  bfd/elfnn-riscv.c
 b7d5394e489e57d9f335d7c2d7a3af72  bfd/cpu-epiphany.c
 e505b27a063d4e9fa9a6f59c639e57d0  bfd/ns32knetbsd.c
-4c47ae705f880f7a910121c8e19d751b  bfd/cofflink.c
+073af6019c66c51374866cc7a39f9073  bfd/elf32-arm.h
+44fe8bd5fb3810c49ea9ccf67c646b55  bfd/cofflink.c
+b519d3fd1506aab9a5a8fc08fd693a1d  bfd/elf32-v850.h
 0f3cd5149b9a8865cd9a596e1455aadd  bfd/dwarf1.c
 2c466fe0efda71375d6d9827b9e7ce73  bfd/coff-ia64.c
 05c3a18d3b446ed07b05921c490c8b88  bfd/elf32-pj.c
@@ -263,23 +272,24 @@ e505b27a063d4e9fa9a6f59c639e57d0  bfd/ns
 e0db75d136d9b1d6b0ec400f569abd85  bfd/cpu-pj.c
 710f308772ff4f8ac4d3c701b432363c  bfd/irix-core.c
 9e1e83753ff70399f18d493a8ae1cc78  bfd/pei-arm.c
-5adeef7f1597a074f969b6b744a58493  bfd/elf-m10300.c
+7bb4a2b210c82a82a8048fcf1c927c5f  bfd/elf-m10300.c
 e63de121021d70eb72f129a7fe901ea0  bfd/configure.com
 ea936e5bce59cd5374f4e24460ffe796  bfd/elf32-nios2.h
 b33c66a2abdcd15d765e5a3ab5d345b7  bfd/trad-core.c
-78c4fb29e89529c80dca6a23cc392ca2  bfd/elf64-hppa.c
+834d904e054c60838c5b0e653d5331cd  bfd/elf64-hppa.c
 ad9c01e22a288090bebe95e80bdafd81  bfd/pef.c
-a5a3d6484585e1796f3f8e5f8fd88157  bfd/aout-cris.c
+5fd0f436dc56f5b2531b6da609424b0a  bfd/aout-cris.c
 e159a7db37a96b86d7e83d385f0ac6ed  bfd/cpu-tic6x.c
 1ded054093de910d9786c62bc4fe8cc6  bfd/stamp-h.in
 f279e57181c4f1e840aa544b373001b7  bfd/cpu-or1k.c
-de2c3420515b53971423d5ec2345a0fa  bfd/elf32-mips.c
+f359668de3466771c10381d4b0e29e93  bfd/elf32-mips.c
 00d953b42aec467dd9741571e2fd4593  bfd/stab-syms.c
-058ad7b1d34957d71798adf1e3e74608  bfd/elf32-visium.c
+9368e3b21ad2746aae3f3f7da5856f1d  bfd/cpu-h8300.h
+a3dd9c46cd23389f58c08f2aa327c08c  bfd/elf32-visium.c
 4a5dcdb239f6b29c7a42feb915c73c36  bfd/cpu-rl78.c
 db8a6dc9294042cba496c42749b98ef9  bfd/xsym.c
 cfd3f204743e4d2bb202c590de6e6f95  bfd/cpu-mep.c
-ea8f72a49d796c43a14feca71f5f46db  bfd/cpu-m68k.c
+4b60565047660a8d775764bc435a4fe7  bfd/cpu-m68k.c
 3d38ec3ae2d962c41b117608faca95e1  bfd/hosts/alphavms.h
 ebf3980129664a3f2e0f9542209d41da  bfd/hosts/alphalinux.h
 6bea925cb0fabe6501a7badec8703744  bfd/hosts/symmetry.h
@@ -301,43 +311,43 @@ f08e0ff000a936b171a17db1b3506380  bfd/ho
 232e1d3a2ef4667ac8299fe3bbb2f245  bfd/hosts/decstation.h
 59527e3809175e8399033e55d476f247  bfd/hosts/vaxult.h
 2b9ea29665f8e4e2f78b646567059733  bfd/ChangeLog-2017
-d2aad9426b99824f6fe48b8788fe62f2  bfd/mmo.c
+6649caae338d0e16683951a11af37c08  bfd/mmo.c
 0a7459c02c604d85f758af880d4dbcab  bfd/coff-z8k.c
 60e5353a5e95211e247d675985ff9f90  bfd/cpu-alpha.c
-3ec8643dcb6e334ac07692fa2209d7d1  bfd/elf32-tic6x.c
+6e2589a26c40f4428f74803c81023c62  bfd/elf32-tic6x.c
 734306dc77344a12f318b9c19b1afd41  bfd/arc-plt.h
 7213a571d671caf6edca6fd6d1823843  bfd/stabs.c
 3ae6edcb848490dcbc5e109c46039e60  bfd/elf64.c
 bcf99df76a4837a1b2d0dfea57bbd6db  bfd/ChangeLog-2016
 63e8e8fa6fb01abae014f2b3cd7f39ca  bfd/xtensa-isa.c
-47fa4280947e7f69c180aee7663ca4c5  bfd/elf32-epiphany.c
+d6bd4f6d0c2627b13c05ef7cb49b2d7d  bfd/elf32-epiphany.c
 fa97c17a75dc2bd5d51931e1dd1f0693  bfd/elf32-m68hc12.c
-179280ee56cbc593c085042fbf7c4b98  bfd/elf32-m32c.c
+05cedb42f6a9cc65a191a092e591bf32  bfd/elf32-m32c.c
 8f7b5397a7bb5d502a9997e19d244cea  bfd/ChangeLog-2014
-ca960b511a539d143b24d97d120d8264  bfd/elflink.c
-8043090ef2adf087850f8cf0085d2546  bfd/elf32-iq2000.c
+47b0c872ef15706fc50daa1fd2bbfd6b  bfd/elflink.c
+784c80a5abc1b2693d0a0f8438e82545  bfd/elf32-iq2000.c
 506e4cf89b13520b65527de435f6e4b4  bfd/arc-plt.def
-2ba1f07b5dd4fd7f32338bafdb0deacc  bfd/elf-hppa.h
-f990aed831c1a9f9c8dfdff5a6577a72  bfd/elf32-sh.c
+0dcd615606a2ea2fdc30b601c1e9d7bc  bfd/elf-hppa.h
+116a7c9c8d5bcbff8fdbff548c075a89  bfd/elf32-sh.c
 7d954b3eb28da5e5bf8feac3d3f19b48  bfd/cpu-xc16x.c
 bca184954cc2c57197d736dc7f25132f  bfd/elf64-hppa.h
 3178422f328ae18f3cb23a79cd858a82  bfd/cpu-arc.c
 cbf14399c1158112659f20b19bf639a0  bfd/cpu-bpf.c
 45e16c20be3601f601d542d601f9a3a9  bfd/acinclude.m4
-4d748045a12756c24be8e4c7d7a15e37  bfd/configure
-8247fa35629d5269a8d329dcdb9bafce  bfd/cpu-arm.c
+7bfa2d79bfa2375a5a45693bab01ead8  bfd/configure
+509f476c308d3d5fe7e6e8f2ea678c52  bfd/cpu-arm.c
 3c03d91f3448be3458211466de006a1f  bfd/elf64-ppc.h
 695d5cf1c477b93b0394ebef625048b5  bfd/merge.c
 1f1325edeff7aad1ad008630a1bb648e  bfd/elf32-sparc.c
 893c3a18a139a8b229de58575a8b9f0d  bfd/libcoff-in.h
 bcad77989a3489f28cead1c82231f641  bfd/elf32-tilegx.h
-0ac0730ed8b8c3989b7d30488e6a7283  bfd/elfxx-aarch64.c
-f3c5157c055f4287c37e5eec2da9f291  bfd/linker.c
+2ce8eb2c83eeb75f065e367a233cc087  bfd/elfxx-aarch64.c
+2845f1cb2cd9312aaeca1ba2da49518c  bfd/linker.c
 e8b25364d1ad7e7d5b5b6cce78cabb4d  bfd/aclocal.m4
 a3365b24e606b76f00a84e3b3256bbba  bfd/ihex.c
 329c8b1d5dee672289101e98ed6bd1c9  bfd/srec.c
-a4f5f06192b34a1a5f651ca35a559477  bfd/elf32-score.c
-d578f397bd9fc634e4c74e25ae8c6789  bfd/coff-rs6000.c
+fa56018dee910d5e191b4c0e4beba7a9  bfd/elf32-score.c
+3bf2c55ce6f89df29ab9b579b0b627f5  bfd/coff-rs6000.c
 db9dd4a0b20b67e4ef912c9fd4cda91b  bfd/po/vi.po
 c4019a694f03cae81694f9c1c595e750  bfd/po/ja.gmo
 c47c7a53f52ded3368c3bd458b8b7d20  bfd/po/tr.gmo
@@ -364,7 +374,7 @@ d136618e5e6a6dcc192e39a77c231f94  bfd/po
 ed0372f4ddff71fb0e948338cc9d8559  bfd/po/id.gmo
 e92e0c0fdb85a3e07602d6d891f3c9f4  bfd/po/fi.po
 4f0accd17949a6118dfa8b0fca5d5f1d  bfd/po/ru.gmo
-032ddab33737aa30beff760af86246e8  bfd/po/SRC-POTFILES.in
+f49b2e5fde55179e92c97d713e7b80dc  bfd/po/SRC-POTFILES.in
 0df7e50992986ea8a85eb6baa50bd279  bfd/po/da.po
 c7515f4b454a1fa630412fa279a3164a  bfd/po/id.po
 0ac8b8067067b849aeb810162fa751fa  bfd/po/fi.gmo
@@ -381,49 +391,49 @@ f9ff8b13a6fefaac92f65f4255fadeca  bfd/cp
 4e8efbace7c277a957afa2907291adf4  bfd/cpu-cr16c.c
 b51644907c79a3995d7ec5c2568e3864  bfd/elf32-dlx.h
 265e90e69dc5cf305cb7ab705f227667  bfd/elf64-tilegx.c
-865738ee7f78980a2c0885d99139b728  bfd/Makefile.am
+3846368344d30d305af6727953d581ed  bfd/Makefile.am
 e63f6d01a376008a89e252c7b5cc1f6f  bfd/ChangeLog-9899
-e4ec01312a1e721900f406513e7fefb0  bfd/elf32-score7.c
+3e1d03e428e6021184e5a7590d6baf1a  bfd/elf32-score7.c
 b89ca73fa73e75dd24a36c988bb87f06  bfd/binary.c
 2cbd25be1243136c5ddb52a4a6f5cc7b  bfd/libecoff.h
-92aab99400698cfca2de4e84ea775e7a  bfd/elf32-avr.c
+b7e8aa27ac68ab62ec40e9c8eb2d7b70  bfd/elf32-avr.c
 5f531477abaf07cba5168dfea773ba86  bfd/elfxx-tilegx.h
-47df951736dd2e6475d78152b19123cf  bfd/elf32-h8300.c
+d4b5744766450e4eae329a6bdeda9f32  bfd/elf32-h8300.c
 ceb9657e68ea3f9d6179773dc75c2276  bfd/mep-relocs.pl
-bd54d5f992f565d50368dd0a485ced6f  bfd/elf32-nios2.c
-36f373b163fce0478140ab6a1aa794fb  bfd/som.c
-52546846078c4a54c89426ea6b2a89d8  bfd/elfxx-ia64.h
-b25100af453823b73a36b19dc677c145  bfd/elf32-or1k.c
-175041fccca34906bde74452b9f9a37a  bfd/targets.c
-d08e175929f023f15b14bdf2422c497b  bfd/ChangeLog
-ac611afa742fbbd3854e8e32f064c9d1  bfd/section.c
-23e355e449767e6b17013aeb86465b61  bfd/elf-s390-common.c
-d629d8f2d332441dcde322edf36f36f1  bfd/elf32-lm32.c
+bf3124212f297f533195226f5574c9d1  bfd/elf32-nios2.c
+1911c3a1cf3c9da303138a9b70b86368  bfd/som.c
+4f64387cc2f68f7f980105d0a6443858  bfd/elfxx-ia64.h
+72fd73fc0277b8c62634baabecbda132  bfd/elf32-or1k.c
+104a70b5229947c59091790c37236944  bfd/targets.c
+2d34e996bd0920a3fcd36bd8136d0e0b  bfd/ChangeLog
+80e643d9b80b026d0cb49c1a9844db85  bfd/section.c
+2fddd07f100af0551285d028f9fe8eb0  bfd/elf-s390-common.c
+07d1c3689bb0c5e5b6d5dfce7aee122e  bfd/elf32-lm32.c
 af4db43d12e2cfdaeffb10ef7befa9c4  bfd/elf32-avr.h
-dfda9cfeaa10bbe9e0796523a892a7cc  bfd/elf64-alpha.c
+f7fd1bb09e58d6bc02c65a935bc67797  bfd/elf64-alpha.c
 f0a888c9c67dcd490a8d43be3bf7dc2a  bfd/verilog.c
 5dc4e75b7f08006b31a9c45f1de5465a  bfd/libhppa.h
 0dffd8ff7e8c42c17ab131e57dcd0b3e  bfd/pei-arm-wince.c
 e67cd64ef3f0bd715917161f23c09e0c  bfd/arc-got.h
-c7991a8ff43035560a53371b53ca455e  bfd/coff-tic54x.c
+e28af36cb79f67521514af0004f56fb6  bfd/coff-tic54x.c
 d0e637d31bb8db88f182f848feae9501  bfd/mach-o-x86-64.c
-1c4d6c260cf1a11e8751be6ac59b333a  bfd/vms-alpha.c
+8a5806e0767d56237c8ce8d22274145e  bfd/vms-alpha.c
 e138ad26562e544aa3418ddecdd72d34  bfd/aout-tic30.c
-2fe9809ecc41f3d3701d2712cbbb432d  bfd/elf32-hppa.c
+d03afa16e49cab904301f9a9f6f060f2  bfd/elf32-hppa.c
 aad16216ad94dd14c4e0349b231e1acc  bfd/TODO
-fd6069c10ee01db0d1a1809ce99c6c38  bfd/vms-lib.c
+92bb96b178a87a60e3782c0e28a4d94e  bfd/vms-lib.c
 c50e59518604f040f78c62d4c1dba3a6  bfd/pei-ia64.c
 48097790cbee8800147ba96a6dd07fc8  bfd/ChangeLog-0203
 e4d2dc1f4dd23b77953636bf0a721cd1  bfd/cpu-tic30.c
 5dbf7dda55d75e9a4ba95e6e4c9de3ea  bfd/cpu-m32r.c
-093dd8e1640b5eb5bf1d964f555d51ac  bfd/elf32-csky.c
-f66615cd5c7e68028cf3b331bf2f0653  bfd/elf32-arm.c
+7450da4150ff19cb98e15abd7f3acbbd  bfd/elf32-csky.c
+8cdf7b257f8e95f75c3bb0bf18240bf3  bfd/elf32-arm.c
 b639c27d91e37fef6304c7e483f9d511  bfd/elf32-ppc.h
 1304eb5ab3399fa008542bc27b4f4798  bfd/cpu-msp430.c
 68a4c622bb1c6da72efb21da56fc15d3  bfd/cpu-fr30.c
 388e029a362018c55d19164385492050  bfd/corefile.c
 619da52e4cab3b1e7c4d396bf1e287ea  bfd/cpu-vax.c
-19787eea30e6c854ecccc28bfa5830ba  bfd/elf64-mmix.c
+9152c2d8c576e424a1c2f9886a9b980e  bfd/elf64-mmix.c
 7f81b244c8305093a105b156d9000f8b  bfd/elfxx-x86.h
 c98248cc167eed32cc6ca602077a45c3  bfd/elf64-gen.c
 bb9167856dbac0178298a5bb064fe8b7  bfd/plugin.h
@@ -431,12 +441,12 @@ bb9167856dbac0178298a5bb064fe8b7  bfd/pl
 ebb7a01077109e20a75d6542ab924aee  bfd/elf-s390.h
 8192b508e5ee41b50ea4cb8520e36303  bfd/i386aout.c
 224c9f8124d7b664bb057554d88b8b94  bfd/cpu-sparc.c
-df5eb007bebe3e0bbf7d8640c09b4cf2  bfd/elf32-metag.c
+4385d73bfc573168b918760f8641259d  bfd/elf32-metag.c
 036b37876b5f49d476fc723d86a09e17  bfd/elf-vxworks.h
 502da5f655e885f8085c0794f6f0f3a6  bfd/ChangeLog-9193
 d32239bcb673463ab874e80d47fae504  bfd/COPYING
 8ae483e536e27a1cbc449f8feb89d662  bfd/ChangeLog-2018
-3ec601ca0a693bce14929be01a3e49fd  bfd/elf32-xtensa.c
+f90be8841225cca5973e9b3d38ca2aa7  bfd/elf32-xtensa.c
 40cbaf8a1ebc7495016672b264d9b2b9  bfd/cpu-riscv.c
 dc7a1818389db5b1a7be3c8c5f07de9d  bfd/cpu-microblaze.c
 e5f50db9fb5c91581d5e66179fc3ff8c  bfd/coff-bfd.c
@@ -445,23 +455,24 @@ fc4ad6786bc11c7ff3ac383e9c02eafe  bfd/li
 3f8878b7beb8fda7df2fedab47c3f6e8  bfd/cpu-tilepro.c
 1616089974633cf0fb24b7e9152a7f47  bfd/ChangeLog-2008
 ce11be331333e8ea990d53c22bee8b0b  bfd/cpu-mt.c
+91e371948e4cd5ba274d217d949d0f6c  bfd/xcofflink.h
 a42a25cc4b62c32c87574318761ef95c  bfd/version.m4
 2f79a6fd764a90962ec2f13c03168519  bfd/cpu-dlx.c
-a1df7c2b3a34c5653695544b5f972eed  bfd/elfn32-mips.c
+3cab2f542321e9ecadba8f9c65f4b4dd  bfd/elfn32-mips.c
 12d078caa9c7818876927ef24f3e35fd  bfd/cpu-tic4x.c
 7b81e5a6ce6ac6e271413b859ff11eed  bfd/cpu-ia64.c
 6474afde93f8e964e3d6dddffde3c41e  bfd/ChangeLog-0001
-902213a07addc9bb19d394dd5b203984  bfd/elf64-ia64-vms.c
+a88e6c869efe816c6d23a026668127f0  bfd/elf64-ia64-vms.c
 a7383db12dc840ea810427bfef7208af  bfd/cpu-metag.c
-4ded2ff99b8587b0ba2e5b11316005f1  bfd/coff64-rs6000.c
-063342ebc90b76a32da178ba97b1f781  bfd/coffgen.c
+3590c3451d87fa2d6d6ef7b697c43b38  bfd/coff64-rs6000.c
+e970a076474b87903af44c55d879e5a5  bfd/coffgen.c
 26b45c216f273fafbdd686b5ad2e9234  bfd/cpu-visium.c
 15cdfd7b5500a342bb89992c1638f683  bfd/ChangeLog-2007
 76c1478798dcce1938f1af9679b19724  bfd/netbsd-core.c
-ffb554187e297b977e935281f06487f5  bfd/elf32-m32r.c
+a65ccf15e3247dee46695e4bd0e1015f  bfd/elf32-m32r.c
 8bcfd53dd7ad3786d490c0fd0540ef94  bfd/cpu-iq2000.c
 deb1e042c88dc5c5c2f91eddd848b5a3  bfd/coff-stgo32.c
-ed5642901cb09e82ce43e3df2959efab  bfd/elf32-m68k.c
+0f9b240d8b6c1bdc24d6aef79337f6ff  bfd/elf32-m68k.c
 ebb37f96555d788124b48e484f419feb  bfd/ns32k.h
 5886830d17a1bca1023a4adab4a69585  bfd/coffswap.h
 d6c41f04b788bb59cc650297ff8428a7  bfd/pei-mcore.c
@@ -470,38 +481,39 @@ d6c41f04b788bb59cc650297ff8428a7  bfd/pe
 e60551d97475bf322042c33aa6b3b172  bfd/elf-linux-core.h
 dcb71a648329e371cd77e891c315c485  bfd/vax1knetbsd.c
 69e4e7b8a5683532aa7137b68c9765a4  bfd/lynx-core.c
-b4d9f7e6e349e4984897e248930e84b4  bfd/bfd.c
+cbd86f34ae7bfefb659c4bd39fcac1f0  bfd/bfd.c
 87e4b6d819e83f6523ce04d2b6cc4e0a  bfd/wasm-module.h
 f738ded1af56f28e05cf307d4fc00b50  bfd/elf32-d30v.c
 0d25b3166d9d9b475e3b67576d871749  bfd/elf32-xc16x.c
-e4969a56769954fbf00bac4b0d6fb6a2  bfd/elf64-bpf.c
+3d0b3ef34ef193dc72141dd61969556b  bfd/elf64-bpf.c
 9ff7c07063fab364692d99911be11ae0  bfd/cpu-s12z.c
-73d99fd3ba456db12fb881e8e0161db6  bfd/elf32-msp430.c
-4675e8f3c4da7a30e22bc456835181a3  bfd/elf32-m68hc1x.c
+3a2c5a91d74ea33c594e4cababa0d37d  bfd/elf32-msp430.c
+90cfcfd988f47bcc8c44d04c1418f57d  bfd/elf32-m68hc1x.c
 a69a7febe17dcd39458f62c09053dbfd  bfd/genlink.h
 13ea895ad29abd9a641340b1f92fb869  bfd/plugin.c
 bd4dd19da6bf6939c9eb1f53ccbb6274  bfd/mach-o-arm.c
-fe4fa4eab14a3915b12ef625216f00eb  bfd/elf32-ip2k.c
+766fa1795cc3b43a978b5a6665adc96a  bfd/elf32-ip2k.c
 97113d65dc129458dfb58f269bc2de29  bfd/elf-attrs.c
 a4f656b1a62df5078f7f59917ea39b56  bfd/elfxx-riscv.h
-3e446020a24a1364240150f5c45a47a9  bfd/cpu-h8300.c
+94dade1d589be63dd514244716aaab4e  bfd/cpu-h8300.c
 c7111da5688d7c20a74b5532cd61310f  bfd/cpu-nios2.c
 232bf9daefa89c1d90efc78720719978  bfd/MAINTAINERS
 640c0e2aa4fdb7104b909561e290a7bf  bfd/format.c
-d370e66bfb0470c6fe9b04271a90e123  bfd/elf32-rl78.c
+694111f3c4213b3a169327bff1fcbf97  bfd/elf32-rl78.c
 56d84c76975f41c74f5d45e7a5b1c8fe  bfd/cpu-tic80.c
-0e8e724092cf0e0e8ebf170bd3d82b9e  bfd/elf64-sparc.c
-d64505b0145fab5b7fbe5642479eaa17  bfd/elf32-rx.c
-54c9d34fc8578889487de34562f289d6  bfd/archive64.c
+6b145a5c7771eed832bfb873accfdd2d  bfd/elf64-sparc.c
+f288c550e192efef79ffe09e0cae93e5  bfd/elf32-rx.c
+5b0977bb4338376d1924620d43c0b4e8  bfd/archive64.c
 306fba5aea8fc84b37bbc362cd2ebbd9  bfd/cpu-v850.c
 76cb6c46fc8b0dda19c34c8815ff75b6  bfd/cpu-l1om.c
 caca36ea8abf0e5da1c1d06e1ece4a12  bfd/pe-sh.c
 3fc6e232e041cced582e450eb9b23698  bfd/libpei.h
 b9c061935040919312f55d3cfe40c41a  bfd/aix386-core.c
 b0ae53bcc2ddea0fd7073bc1efbe4b6e  bfd/elf64-nfp.c
-fcb823a9bbd5546a830979d2f33578b7  bfd/elf64-x86-64.c
+7a63c342759f7196ac5535808e9f092e  bfd/elf64-x86-64.c
 a373c190fe47abf9ea979688f9a15e5e  bfd/cpu-tic54x.c
 4ff8ffbc8b265e9eb8ca7c079a729acc  bfd/pe-i386.c
+d15f17640f3f202411b963c41cc0e037  bfd/cpu-arm.h
 447306e27d9e7adee88b945ae3bf9099  bfd/cpu-m9s12xg.c
 620ebbae8ae4e65362c8e4272103a83c  bfd/sysdep.h
 86d7d0f64855d60c9576ddb274b84336  bfd/coff-tic30.c
@@ -509,15 +521,16 @@ a373c190fe47abf9ea979688f9a15e5e  bfd/cp
 a8e93735551a79546434f549b857495b  bfd/cpu-z8k.c
 896717cfe0195cd4a9252de36607a36e  bfd/reloc16.c
 fe1b91398a0374401d981c29a5f2c5d1  bfd/ecoffswap.h
-391016edde20f9677e37d0e498e1d7a8  bfd/elf32-fr30.c
+5091492b4902a9a2c325e0327404859e  bfd/elf32-fr30.c
 4f4957cc3240fbe693208be2b7258ac9  bfd/cpu-v850_rh850.c
-1f6cd3a6fad927cdb6dfd4dc648c6bc9  bfd/elf-m10200.c
-db9606a62d3ace8454e0a6fabf721f71  bfd/pdp11.c
+86fcdbc7c65e00546c15ce49c6b3fc38  bfd/elf-m10200.c
+b80fec9a1a6e23f638e22db7a6ebe846  bfd/pdp11.c
 860010ba2f6c2fd091ab83bdce032d8b  bfd/cpu-ns32k.c
 00372f12a27e2b0bec626dfdf5a2ee9a  bfd/pei-i386.c
 5a65560b265e4b8906456875a3d6d96c  bfd/elfcode.h
-535018bbe6acb8d85d2124dc09842e8a  bfd/aoutx.h
+c87a9a389c6b8183619d5ec56fdddf84  bfd/aoutx.h
 c3b9a80f7b7b63e87af2f74210ca46cc  bfd/elf32-sh-relocs.h
+82ee3ab98de753aefddbf322bb89c13b  bfd/cpu-m68k.h
 a1d55ed3f4aa1f53d6c783858a66e382  bfd/elfxx-riscv.c
 447741e3f8791198214f96779cefeabf  bfd/mach-o-aarch64.c
 0dda9a118a71e9a455b6a3b7e8ed5690  ChangeLog
@@ -690,7 +703,7 @@ cbb74cae47b3ee140382c8cf2ae9d28f  gdb/co
 3f42885aafe669fe9cd726e9e5f0d2d0  gdb/config/sparc/nm-sol2.h
 6f77e81e9901631d875f51e72983e548  gdb/config/djgpp/README
 24d81d22afc6287efa343a363310e82c  gdb/config/djgpp/langinfo.h
-fce89a8549ba38b6a8b8c9ea93115944  gdb/config/djgpp/fnchange.lst
+9b968677b52b8cead46a0f78e3c24932  gdb/config/djgpp/fnchange.lst
 cdc11406d9e6e5c91f7643088983ff30  gdb/config/djgpp/config.sed
 7fa0cb7e90a735a3b1c4f974740e40ad  gdb/config/djgpp/nl_types.h
 56a56ca874a812c6a120fe8e43e70454  gdb/config/djgpp/djcheck.sh
@@ -700,16 +713,16 @@ bd7838cfdec440c25d3cfa9e8e88a3dc  gdb/co
 30492c373724f4f08197599268732b67  gdb/config/i386/i386gnu.mn
 457f5e51768bc592e1fe919fb538dbc8  gdb/regset.h
 263d54e063dafbd63a0b93dce4a38e58  gdb/event-loop.c
-c4602d0ac318596e4dc0cb7a7f06a593  gdb/solist.h
+875f76b523ff8200c7091cafb5e8c60f  gdb/solist.h
 967f9e171cb4f15fb782d1c9d6c7682c  gdb/d-exp.y
-cb4a49a2a686ef3d9aaad37eab8d028a  gdb/ada-varobj.c
+7bc61f026a6fc60e0717ab77748c212d  gdb/ada-varobj.c
 551c8d8e62a81c00685466c71ed8a767  gdb/ser-event.h
 dc4a20809b96d81ff8056738c7e8d185  gdb/i386-nbsd-nat.c
-b35ddafaa3c69b940d39ad2fee126143  gdb/ppc-linux-nat.c
+b270f0f14e3ff8d460c2d8fa9fa909de  gdb/ppc-linux-nat.c
 440ee11435de5ec90320b04f5a7bc2e2  gdb/charset-list.h
 5c16d905f8bb767ad3eae8e52404dfa4  gdb/m2-lang.c
 4059bdae2cb8752e4cd11edd7c1b1e07  gdb/target-float.h
-39d4dbd9ae955295e35a0c163a3c2dcb  gdb/corelow.c
+a858ef262892b52f8054d6598f63fe4b  gdb/corelow.c
 4c8af26a9d9474284d6b5c5e6284543b  gdb/ppc-linux-tdep.h
 9fa0e1a75ea46cb1b721a15b772c6c63  gdb/dwarf2-frame-tailcall.h
 349b188907736d3ac349e30e509f4e37  gdb/ChangeLog-1996
@@ -718,12 +731,12 @@ b35ddafaa3c69b940d39ad2fee126143  gdb/pp
 d3b4d67e5858562f6201c1f31ca7baa8  gdb/mips-nbsd-tdep.c
 6948d25392efed0dd176677a02e054ed  gdb/ppc-ravenscar-thread.h
 044631df7dfaf9d67375aac502aa8de2  gdb/memrange.h
-a608b643b2b85c4c2c7af0900181ecfc  gdb/solib-svr4.c
+e70d1de428a0d5134b1530f03f9e099b  gdb/solib-svr4.c
 fd601b5312a3f82c5f513f8788d83e9e  gdb/ChangeLog-2013
 24a9207ebf549c985a53348e1891ec92  gdb/f-exp.c
 922523cd1b563bedcb2e90b3a38b9ae7  gdb/remote.h
 cc2084317970add66c3a0a173724b149  gdb/gdb_regex.h
-4265e102eb9e7be08ae1aadec8f12ab1  gdb/defs.h
+d9c9acc581f92d110fcbf9acf29188fd  gdb/defs.h
 0e6aa81313c3e27623e048d35273c94f  gdb/observable.c
 4084698cbbd05b8aeca7f8891566d05c  gdb/aarch32-tdep.c
 e5e589fe4f10abb8957a8c2e4cddb7f8  gdb/ChangeLog-1995
@@ -733,7 +746,7 @@ b01c12dfbe91ef5bc2884a40348c3e5f  gdb/so
 92979c83995d2f89da2f0217ba666a14  gdb/cp-name-parser.c
 d5ad18c25761383f3f08c529ea3afb57  gdb/microblaze-tdep.h
 27f7bf0b4d6d5f0221b2e51df8a4f91f  gdb/namespace.c
-fdabb43bed113c07d072598ade4e0599  gdb/exec.c
+c5ad66c38c8d96af989f121930ae2b93  gdb/exec.c
 852e059171c93cbeae3e2d995fbdc934  gdb/prologue-value.c
 614ebd7777b2b4b0f4aeda9f4406b1d4  gdb/ChangeLog-2011
 c923fbcaa47240f82d7ef756c59c87ba  gdb/ChangeLog-2001
@@ -759,10 +772,10 @@ e9997e2172abcf61263e4170d1f324fb  gdb/am
 a2d28e81edc84b98a380f6fbf79a302f  gdb/aarch32-linux-nat.c
 47e9bdc28d2a1b1a0863e65999c2e997  gdb/filename-seen-cache.c
 e4ad0e0363c34db7802550035d3757aa  gdb/tramp-frame.h
-05306bff7039056b39982d8331828de4  gdb/gdb-demangle.h
+da0c4f593154c753ed53afc5f32aa17d  gdb/gdb-demangle.h
 02f0c034ef0f6c556acfed96a299d6a2  gdb/process-stratum-target.c
-b65933508df7f07b120f526dd10792eb  gdb/ravenscar-thread.c
-663cbddcda30988f04bab5251401689b  gdb/Makefile.in
+78c6359a047e4d5483a90c021196a18a  gdb/ravenscar-thread.c
+d5ae44e105490c206491e8fea1400c44  gdb/Makefile.in
 eef16a70a96168b59fb11b0fe0709b4e  gdb/btrace.h
 ed316f4adf752b73da1c357437cfa771  gdb/x86-bsd-nat.c
 2cc0e89d09628e04609b0d799c1784bf  gdb/windows-nat.h
@@ -771,7 +784,7 @@ c82987de8310e2bf54a41501beea3df5  gdb/sp
 a3e2eab3f675ede38d26697497bc0000  gdb/sim-regno.h
 e6441bf52ce0c783b9536b4cede70f4e  gdb/mips64-obsd-tdep.c
 307b1ae2d53e97c61d0d965da50e45d7  gdb/ia64-libunwind-tdep.c
-b796bbb0998d2c99599be4dce111d174  gdb/rs6000-aix-tdep.c
+94a9b6d47081699fcb69fd0ecd512db0  gdb/rs6000-aix-tdep.c
 5b7d600fa479574abbf7c34722f49b28  gdb/macrotab.c
 5c1eb5863bd908ee8d3cbc89841b2329  gdb/rust-lang.h
 32017876168b2ca9f06906b1991a429e  gdb/agent.c
@@ -786,23 +799,22 @@ a9b71fd14417841a731468b55136751a  gdb/gd
 fba14c4c8245a6c527f861d51230a1fd  gdb/dwarf-index-common.h
 6b0edeb3a7c9fc596c05e166e9e88e45  gdb/amd64-nbsd-tdep.c
 7e10bd5d0c761a7fdcc87daf873731cc  gdb/user-regs.c
-7836d672281ea3cbcbe5e145391ddca2  gdb/record-full.h
-63357ec676affdc23ce36e673c0fdd93  gdb/spu-tdep.c
+d2a2e8637cabe2067c64c373df3b2561  gdb/record-full.h
 964fd1e21dfca4e8f8aa26722d597a2a  gdb/gdb.c
 a5843e056f4a29811ef70df0054a6998  gdb/linux-record.h
 8502008258dde5e90855eef89b85559b  gdb/disasm-selftests.c
-02f07565a5772760ca3191a956e24c11  gdb/solib.c
+2000bd575e3ebba7d92475780705fceb  gdb/solib.c
 53cf114ff5719cd047da9d38dd318599  gdb/ChangeLog-2012
 42b9f7c51223e595f66c2210064be682  gdb/ChangeLog-1990
 ae85ebb79aa1d55c6df133be5f7e0319  gdb/nto-procfs.c
 626a2513f9bd8417f3e13765d7bc78f1  gdb/d-exp.c
-dfc73bb95d8bb84c637f5b115de8c64a  gdb/infcall.c
+bd1c1fb4146b51eb100da49fd4e3375e  gdb/infcall.c
 ce736dbe663f54bda1bbf9f6192271c2  gdb/remote-fileio.h
 7e403845cc28afa61662060061bbd642  gdb/ft32-tdep.c
 ba0466b0eee924d482fd8fd7bbedff0a  gdb/c-typeprint.c
 c218854704fa85d7aec326178202b6d7  gdb/xtensa-tdep.c
 2e53e0b3e32b64a7ab61addbe43704db  gdb/or1k-linux-tdep.c
-fa9ca30168095997469fce54135a66df  gdb/top.c
+6e94de39a38f29e016caadf33ef93186  gdb/top.c
 8d79f8f089a47be11386029a964cfa99  gdb/python/py-record-full.h
 33b83c6e0fdea4b3a6d17cd64e61f9bf  gdb/python/py-cmd.c
 6c72fc62b04884b670d728ade6b79ba9  gdb/python/py-infthread.c
@@ -816,7 +828,7 @@ d9b1e78876f51bedd9c157159bace883  gdb/py
 5193b461d4711640c90bd69bbd34fc1c  gdb/python/py-frame.c
 af27a6ac111aabb8ce2d8f62be70de87  gdb/python/py-record-full.c
 06f1b0cb4daacbbd09a57abfdc5fdd4e  gdb/python/python-config.py
-02052750224a8675ccb2a4b8004206ae  gdb/python/py-value.c
+a47e037b48318e9a4307fb9de7d40832  gdb/python/py-value.c
 87c569f54eb5bdb4a5eae09dedc956e6  gdb/python/py-unwind.c
 7b1f4ba6e64e94a0b5d46b1fa49a4d2e  gdb/python/py-instruction.h
 3fe9d82226dc57fbce80a5f653147289  gdb/python/py-type.c
@@ -846,7 +858,7 @@ d5162dde02f2501227aeec72e9aa3156  gdb/py
 5e2170253929107830a4dd030c700543  gdb/python/lib/gdb/function/__init__.py
 9125af5d3de55ee79d9812049e63e938  gdb/python/lib/gdb/function/strfns.py
 410a6e8b8665c3b251fda88a9ee40775  gdb/python/lib/gdb/printing.py
-472c1f06b220daeeac0dfe7eddf176e9  gdb/python/python.c
+19922a6f7f5decbda3fd8ef44055c8e1  gdb/python/python.c
 a26fdfdb8e844a2b2186198c91e6ffe9  gdb/python/py-inferior.c
 7aa465c543db0a3f518ded80030edf4f  gdb/python/py-symbol.c
 0bd477e403c1ee99548ac5cfcab86f2a  gdb/python/py-block.c
@@ -866,7 +878,7 @@ c152cf7651318dfb4bff8bb8c8f815e6  gdb/py
 f1042d8229b84413ea2487c3c6ba6e40  gdb/python/py-signalevent.c
 5b83b8544d62999cc0b968278e7ee22a  gdb/python/py-breakpoint.c
 d262230254a03b37628d51ce9dd07956  gdb/python/py-newobjfileevent.c
-2c76a299d3269169d7adfdf3f777bcde  gdb/python/py-param.c
+45407a8f22e38332b27fbcfd47e34ac3  gdb/python/py-param.c
 1f4e9c6528d73fba26a0a374db1023f2  gdb/python/py-varobj.c
 f2d4d29d83e712c5a7d4490b84fdbc05  gdb/python/py-lazy-string.c
 acdfdfe9ab00edd2560e5ef0f67d44c7  gdb/python/py-record.h
@@ -876,22 +888,21 @@ df220f824d96b1f0036d3ac11df2566b  gdb/py
 7a80b37132e01f22060b4071dad32360  gdb/python/py-bpevent.c
 81458b0afa7e9034d651eabac7852e29  gdb/python/py-arch.c
 14b3ecdedd2efe2a43000dc2c4defe08  gdb/python/py-infevents.c
-e001710a6c054de4a8cedb68348bec81  gdb/python/py-auto-load.c
+8e586924c64926b44f4f0bbed3375d2f  gdb/python/py-auto-load.c
 aa9982c875a8c643dc5fd6b1ae4620d3  gdb/python/py-threadevent.c
 16ab373798f4f72dff5266bc6e701046  gdb/python/py-finishbreakpoint.c
 fb55ea980692a4579ec6929f5e4f0f98  gdb/python/py-prettyprint.c
 73b8fd394f91ea4cb94438a37dd56d26  gdb/python/py-evts.c
-10d638ae102fd166e3a5e7dc5d39d6ac  gdb/target.h
+953e30b2c2d8d71696d4ac926d77c4fd  gdb/target.h
 eb2a102ed912c94add37ac67958f80cf  gdb/obsd-nat.h
 813f0015bfd7a536037b336c7d01ec79  gdb/frame-base.c
 b62bc59731c61a04212d6cb73a63b0bb  gdb/riscv-tdep.c
 31ee13e36c08a35b9a2c85f60d90b7cb  gdb/fork-child.c
-c43e8dcf99afd8d72473ee6f6a59229a  gdb/spu-multiarch.c
 22f04f05ce6611c197f6f88f545f9336  gdb/ax-general.c
 b035f977dcbf13d0a320e601f99aedfa  gdb/record.c
-fcaa62c722f24e0d8ea42bdfb762e13e  gdb/ppc64-tdep.c
+9098942c684a997551cfda1f300f19a6  gdb/ppc64-tdep.c
 c061a5ff57f9c2891a0c1c91f3070edd  gdb/i386-gnu-nat.c
-5a60e7098beec7c5957f26a817dfd5d1  gdb/source-cache.c
+a65a25394acd87612fe5a8f86ef24d25  gdb/source-cache.c
 73d248eb61de8211da15f4dab80b95f4  gdb/iq2000-tdep.c
 f325ab547e4cd4ef97b2c857f919dd26  gdb/ser-base.c
 a2d5616a2be04977fbe0938452c8615e  gdb/version.in
@@ -899,25 +910,25 @@ a2d5616a2be04977fbe0938452c8615e  gdb/ve
 52f5df9e620fc58ef3b04c2aa1588696  gdb/sparc64-sol2-tdep.c
 2c2cd5cc1ba76c4529eeeb4825892903  gdb/amd64-nat.c
 b4681cf21f79615beaed6c1b9dad5f81  gdb/ppc-ravenscar-thread.c
-1d488febc1c0dc13b90185e80b225cdb  gdb/symfile.c
+f856d158fe9de788b2107ebdcad13a97  gdb/symfile.c
 246ae174b54a1e47630bc1858558a01f  gdb/auxv.c
 e5019f9b26d33b511e0dc7994b8d2995  gdb/bfin-linux-tdep.c
 81e45b37ce840a9d11a1c45e3edc473e  gdb/m2-lang.h
-d7aa821fb42b00379a3375860ecbb9eb  gdb/s390-linux-tdep.c
+a1a7179f6aa1fd20ff77c84ed26bb1bb  gdb/s390-linux-tdep.c
 deb9ce3a196ff161eceaa19b6424af5a  gdb/riscv-fbsd-tdep.c
-2ca0e15945b3916d1667584db3a9085f  gdb/auto-load.c
+b87ba1d74559c0b06f7998170c010a65  gdb/auto-load.c
 6b3894d0fc586b052969976d990132a5  gdb/interps.h
-d5bcc4f260ee81aebfe10518ddc5b29a  gdb/arm-linux-nat.c
+fb0f557a46592d6e03288e2eed21da18  gdb/arm-linux-nat.c
 8f92811187527b8e51173f279347fb9d  gdb/arc-tdep.c
 e86d8af434e8126e1bedaab61c8d45ab  gdb/sh-tdep.c
-f385b3c19c2b49e2f9beaa3a33906d8f  gdb/linux-tdep.c
+22e2dcb609cbc0c1cab5d1a3d0094fa6  gdb/linux-tdep.c
 8ee2919c7282a4e26f1b4359a2c88c54  gdb/hppa-nbsd-tdep.c
 e401cf632129c067967af70b42d84e73  gdb/proc-flags.c
 34116c4afa055d95ecadbb10ce09dfd2  gdb/copying.c
 fee7321284a7b6a7ae764203deeba115  gdb/xtensa-config.c
 7fad796ebc9041b5aa5339973cd73781  gdb/go32-nat.c
 2c2e18008574a6f886c4f051254c6c49  gdb/inline-frame.h
-e55ca57877cb36073e2f9eb9afdd8019  gdb/nat/fork-inferior.h
+1fa1648c2d00f2b7938937fbdf8d1334  gdb/nat/fork-inferior.h
 7f779a60c3978e5a6272a8fafadb3a26  gdb/nat/aarch64-sve-linux-sigcontext.h
 87c25db96519445c2ef6ae351c404953  gdb/nat/linux-ptrace.h
 2271b51761445de1a5620dd0230fadf9  gdb/nat/linux-waitpid.h
@@ -925,8 +936,8 @@ e55ca57877cb36073e2f9eb9afdd8019  gdb/na
 04ab1cb7ce047011b93cdacf82bb3d1c  gdb/nat/ppc-linux.c
 6a8f76df57b2768e4dd0fbcf8ed0a6ca  gdb/nat/linux-ptrace.c
 75bdc14dd0cc8e8b1c9b682cbf86f4d7  gdb/nat/gdb_thread_db.h
-0db425050f7415f0b572edb14bda3939  gdb/nat/ppc-linux.h
-e3436fd0dfc8bd554c70fdea8b1cf415  gdb/nat/linux-namespaces.c
+7f050d658e669cf21555156b9f18a2df  gdb/nat/ppc-linux.h
+d7bb8630ddd0da470f38e9f2cf341995  gdb/nat/linux-namespaces.c
 70f9a50ff7600b9921168b753bb7cc7d  gdb/nat/linux-osdata.h
 9632bb8060997395d2879ee7b6365155  gdb/nat/x86-linux-dregs.c
 5f338d3881352baea6245f59423efcd5  gdb/nat/mips-linux-watch.c
@@ -951,7 +962,7 @@ ec1db2f79eb0f24ba67be0a43de2ee2e  gdb/na
 62cb48717a79ccea45019765fa6c2a28  gdb/nat/linux-personality.h
 4ae5a4d9aaa10288192fbe9b9a332d46  gdb/nat/x86-dregs.c
 b70646d20114511e379fa5316da75cab  gdb/nat/linux-btrace.h
-31e6d71f0d442bf46c8d803f8c631d5f  gdb/nat/linux-namespaces.h
+8722137f5e8647e12e7a697fa2fafe68  gdb/nat/linux-namespaces.h
 02c97663795c64da86cf3bc62cf5fea4  gdb/nat/gdb_ptrace.h
 1296b5ab0e04a62e89ceaaaae24afa77  gdb/nat/aarch64-linux-hw-point.h
 87f0efdd5d3819bb9d317c7234a3c528  gdb/nat/fork-inferior.c
@@ -959,7 +970,7 @@ b70646d20114511e379fa5316da75cab  gdb/na
 b9aac858de41b445c1517352fd65e139  gdb/nat/linux-personality.c
 d995828d8ddf49372908cf07d229a686  gdb/nat/linux-waitpid.c
 7a0f9fe89b5a1826ca4282dd192a9d47  gdb/go-valprint.c
-aff99c8f9ffc3d14b2fae3d61f249acb  gdb/dwarf2loc.c
+33141abb5fc64cad8e1fea27e9481be1  gdb/dwarf2loc.c
 02c50a8251b0ddad2c026aa558add95e  gdb/tracepoint.h
 f42d2454a33eb7ee3e2e13d0ec114765  gdb/gnu-v3-abi.c
 f5e7a9733585a00f5fbaaac39846c216  gdb/extension.h
@@ -968,7 +979,7 @@ f5e7a9733585a00f5fbaaac39846c216  gdb/ex
 206f338681e0c7f1b0c85fceaac447fd  gdb/x86-linux-nat.h
 d086ad8a6055d51c9f552457bae3cf44  gdb/sol-thread.c
 02601273c3288de3fa9c0c068f5f18db  gdb/xtensa-linux-tdep.c
-ac3da9cde31c757e4201f54f820e4036  gdb/configure.tgt
+651ee25f81c3589a8002c078e09fae28  gdb/configure.tgt
 272788b8145e2f04ad2e54bcea2a2159  gdb/solib-aix.h
 552119bec5e570b81091d69f99e95455  gdb/event-loop.h
 14ddca48a69c4d1cc463ecfe1fc18512  gdb/ax.h
@@ -978,51 +989,51 @@ d5c366705f53d1ec50d63239936df921  gdb/re
 cb9f835e3a121de058bd9cb6f0c1ab60  gdb/complaints.c
 c680423c62c038fceef0c35d64da5c20  gdb/f-typeprint.c
 4eb896112e0c0580f58df5e0793f2b6c  gdb/interps.c
-fbf1b3869568c8c41b679a36d7ecc081  gdb/skip.c
+cb6242fdfe5c2548019ea5d614b56aa1  gdb/skip.c
 283653c748736cdad3e4633a8f8c4cf1  gdb/i386-gnu-tdep.c
 a6cf3c46df0fd70b6d266a1db9c4567a  gdb/ppc-fbsd-tdep.c
-1cac1d5f952bbdc3ed6d2304423de8d6  gdb/mips-sde-tdep.c
-9575fbebbe037b0ca268be19c13cf619  gdb/arm-nbsd-nat.c
+121ab65cb4c9b88eaffd3a8bf64e1d24  gdb/mips-sde-tdep.c
+e31ac563bdee8456c5926c7c894e36e8  gdb/arm-nbsd-nat.c
 e29e38bfd5dd34ec69271a3378013e6a  gdb/ser-unix.h
 10f1ab52f1493708bbbe37fd10ad91dd  gdb/inferior-iter.h
 a57677b1ee596d9d19609afd283422f1  gdb/csky-linux-tdep.c
-e9f7574a57922c7cf16d0751016e9588  gdb/utils.c
+e25d328baeaeae6c00e800ab2e052440  gdb/utils.c
 90e56dea65beb67443d6c83cbc5fed7f  gdb/ChangeLog-1997
 0d5ba3c2e32c43e5417a9d08edfdb968  gdb/trad-frame.h
-cd49cd27a3ad9c4402baad72a2a1879d  gdb/arm-tdep.c
+9ce1a134feb7e75a30fb4cd8a15bb64f  gdb/arm-tdep.c
 885f2d2bac75f91f4bcc343522f127c8  gdb/aarch64-fbsd-tdep.c
-01a28150bcabfd82b7a83e97ffae5db5  gdb/cris-tdep.c
+a8fa662603dce12f8b83b237e7e08d87  gdb/cris-tdep.c
 dff29ccd9f923e5e452e28827e015380  gdb/dictionary.c
 ec6cb2c74194cbbea66086050bf84b3e  gdb/cli/cli-option.c
-dacc82bfe556a477c13d4cd35f341b5f  gdb/cli/cli-style.h
-8afcf4ac8bd637527f540c5b4d70adf7  gdb/cli/cli-dump.c
+67116dfca8f95824724c25cd7d608031  gdb/cli/cli-style.h
+148dedd0bf8d4c9b38f32d538f379d68  gdb/cli/cli-dump.c
 0e0572092cff3fd670610e39cf89a72b  gdb/cli/cli-interp.c
 be38836f5b8d23456edf044e0c440d3b  gdb/cli/cli-script.h
-511a6943cbeba9c069371c3abe7bee84  gdb/cli/cli-cmds.h
+7ac5596d53f05a37337d5a4076d645eb  gdb/cli/cli-cmds.h
 e2afd267ae0a2a6a72798cf9140035fa  gdb/cli/cli-setshow.h
-c2bedfb356283e6b0ac2a59c1c370d60  gdb/cli/cli-setshow.c
+6682a9e5e87cd84e8a14b301c07ce84d  gdb/cli/cli-setshow.c
 c44242b7139b3bfb6e107f716e8dbc28  gdb/cli/cli-interp.h
-954e48fd2623802c2a8a184d4548567e  gdb/cli/cli-decode.c
-089148f6bc07bd524291cc18502785e8  gdb/cli/cli-cmds.c
-12492bd6c05dd1c71149960ccf7f38fe  gdb/cli/cli-utils.h
+1c1c12913e0dec60f427ad71bf4e3734  gdb/cli/cli-decode.c
+1caac4a4300b5b0dd2785ac45782b542  gdb/cli/cli-cmds.c
+e03f9420ac23898c95ed9f2d838d496a  gdb/cli/cli-utils.h
 33a9aee33ddfefb42ee5f9df38b38af3  gdb/cli/cli-script.c
-e54947ef2becdb28747003d2eaa800ed  gdb/cli/cli-logging.c
+64e6f3eab8b599ccf85f8e72a24a008a  gdb/cli/cli-logging.c
 fb92fe19241f8a516bd6a0922479e78f  gdb/cli/cli-decode.h
-ea999d34d2d850254820b9ecb9369896  gdb/cli/cli-style.c
+578d9683c37cd9406ad61f22347e1341  gdb/cli/cli-style.c
 cd657a4e8ed2d45e7bd6bac5a702c10c  gdb/cli/cli-utils.c
-64011b7f6b34ea55b399bcf7243fa7a4  gdb/cli/cli-option.h
+09304ec3c1277123e9d2beff2a20863c  gdb/cli/cli-option.h
 00f89ff2b81028c32352996aa07f7b4f  gdb/copyright.py
 d9f0d08ec721da16fe1bc2a950bf514e  gdb/cp-namespace.c
 21b85dc2ed09d1125c8ab4fbdb043c7a  gdb/notify.defs
 82899e567314d0cadf3c96f25d6548eb  gdb/bsd-uthread.h
-f718fbd200a224c7fa81aac018c621e6  gdb/inferior.h
+1c026d380923030808ed833e621bf000  gdb/inferior.h
 123020c82ab80c6c777cbff26d3f4c1b  gdb/csky-tdep.h
 1fd63a67946e65e50c4e9ea89a7714d8  gdb/reggroups.h
 0995979778608fe7203391a85d13e743  gdb/copying.awk
-ade3315ed86e73e5a454fc20853bc08d  gdb/valprint.h
+4ed2da8b0ab38abf23afadc1c2171adf  gdb/valprint.h
 0110a020b84a78ca16939ce417bf9caf  gdb/amd64-fbsd-nat.c
 ef066d07ce477b1c1eacd6ca754bb7a8  gdb/ravenscar-thread.h
-4afae2dae02819eb53eb5bbd29e847f4  gdb/objfiles.h
+f0bc8f640ea870b926d0338afdb765be  gdb/objfiles.h
 429546b995763d93b68e72b3c3e0b543  gdb/reply_mig_hack.awk
 0affd1e5b89d0a34bd8be605a4c4c42e  gdb/nto-tdep.h
 24096aca3294cab3717506c2c69a7272  gdb/msg_reply.defs
@@ -1031,7 +1042,7 @@ ef066d07ce477b1c1eacd6ca754bb7a8  gdb/ra
 f3ef592138aec2ab7d9360ad3e63278f  gdb/inf-loop.c
 064e98acfa2c4806ab231a22de4fe4d4  gdb/ia64-tdep.c
 8a94a4a7c6795755d240097e367ee4c5  gdb/bfd-target.c
-5317a5afe9890c34644e04d78a75af4c  gdb/ada-tasks.c
+33e82c6d08d82d598b494aacc2c59928  gdb/ada-tasks.c
 a6d3f15103a34003f117ad8cd3d620ac  gdb/mips64-obsd-nat.c
 e7e6eaf8ad874ef36051184e9c509085  gdb/ser-tcp.h
 e75b23e6e87f65fbe648895cb8c46e18  gdb/ui-file.h
@@ -1047,22 +1058,22 @@ ff6f680f23dad45d62b0b88e006cd1da  gdb/PR
 4b6dc166d93358b59c4d7187ead71b6f  gdb/README
 726c7279928f259999c506ca13b9cd8d  gdb/riscv-fbsd-tdep.h
 ee4a61e6937e01529f64a6d89f2f4613  gdb/fbsd-nat.h
-2388667cd5e727cc22072232dcf8b67f  gdb/inferior.c
-5fa2030d11b4c7eb5add0da716be60a3  gdb/mips-tdep.c
-40ff6c1a733458506dc57de2b4eca370  gdb/solib-dsbt.c
+4c7745fc5a005d4a68eea43ea0e51311  gdb/inferior.c
+ea9ce25675b2fb073100ed3416b0ad74  gdb/mips-tdep.c
+85bb40c5d02876059100091fbfff9353  gdb/solib-dsbt.c
 13750fee5e1cdfe006db24ef528eaba1  gdb/minsyms.c
 b07e7518c328d95f3a34b942636c2c13  gdb/i386-darwin-tdep.c
 eeeb11bd5598871af4fab7bd1438faf1  gdb/m68k-bsd-nat.c
 ac941da2de4682fd470093be06df6fc1  gdb/linux-nat-trad.h
 7b8a5048cfb6f899a8199897f0864c8f  gdb/ChangeLog-2005
-8265c94f27060107c0a48651eee75e40  gdb/event-top.c
+f6783af0d367b77e59f1d7ac33d0593d  gdb/event-top.c
 141fb605ccd4c086d7e66e6086581201  gdb/mem-break.c
 22f0b85440bf90f031e702fdb51a4f3b  gdb/riscv-linux-nat.c
 90414846decf57a411e267db8a73653e  gdb/charset.c
 c9d4a29e443989ed5faa234c4218ff6c  gdb/riscv-fbsd-nat.c
 b88a81acbdf98136de907a31c38ffdd7  gdb/sparc-nat.h
-7173df2916cc03f453559286063a4677  gdb/record-btrace.c
-64ba611106c020a3090968420a7a3a80  gdb/proc-api.c
+e817de87c6cb78bfe31b909f8df93dd4  gdb/record-btrace.c
+36e82b4c66d54bc463cb0ed09a27826b  gdb/proc-api.c
 b35cf181e5134ab8febfed56f5572ea0  gdb/target-memory.c
 706cad8ab29edf45cc6ce50325f98144  gdb/syscalls/ppc-linux.xml
 316132f7e8dfe1c8030f8d1a58f4058f  gdb/syscalls/freebsd.xml
@@ -1103,13 +1114,13 @@ b7682d3ae7df80ad208a73c734a253a4  gdb/pr
 1ff8f75e9c2fe639c6e1b18d250e874c  gdb/posix-hdep.c
 99bfd70f9c0d6881ee7ee7ff07f7c447  gdb/filename-seen-cache.h
 a409c92040ea28c1ced63c23e366e8bf  gdb/varobj.h
-ecb70caa49c484a6f1c3fd4d354c95d8  gdb/tracepoint.c
+a215006b811f3f4dde18b9e3c46b33c0  gdb/tracepoint.c
 f922efd2532f212e3e9292fec8257136  gdb/selftest-arch.c
 07ecb567a41c4930d6ad6163a1caa724  gdb/cris-tdep.h
 d6fa06eb365baa1d4afccb8eba2085f4  gdb/target-delegates.c
 27dccc9d4f9f4c94114636cd7f0b2846  gdb/i386-go32-tdep.c
 9a73d56be040c0a92dd5a61dd3d9f462  gdb/ax_cxx_compile_stdcxx.m4
-7e7e6b89162025fcce19868a6a38a66c  gdb/solib-frv.c
+7fb764685f6d8396030928b978682f76  gdb/solib-frv.c
 4e0d516374ca9f57767192ca684ed775  gdb/amd64-tdep.c
 55877877b944f97d1a6b5408a25e2eb7  gdb/nbsd-tdep.h
 274531d49f64f6aa88bc4831f38bb40c  gdb/amd64-fbsd-tdep.c
@@ -1126,80 +1137,79 @@ a9649c7fdf801b6ed0d8ef4b01ec4ecc  gdb/ta
 b603230bbc87ecc66b5cb5e11a3ed948  gdb/target/waitstatus.c
 0cd62bb6f75c4ee96be50a8120bbda6a  gdb/memrange.c
 8138729bc324402c5539bc22cee4e243  gdb/gdbarch-selftests.c
-cd72d422f92c8c793d4e13e13b6aeb71  gdb/windows-tdep.c
+4f465abeee57fc8d8c68a1b88917974c  gdb/windows-tdep.c
 14b7b59842ba57eaf6f7e3b4ed70a279  gdb/coff-pe-read.h
 687697892dc2ce95a152d1b139b49693  gdb/go-lang.c
-db4c4560dff1e222e2397f9e8d877f3a  gdb/infrun.c
+897314b63c287eed674b1074fc7773a2  gdb/infrun.c
 c450b4fedef864650f5f53610decac0f  gdb/ppc-fbsd-nat.c
 f317cde2d1b97efdeb83c3a4700df844  gdb/jit-reader.in
 acfd797c5a1a04039f4ad0bcc5f46727  gdb/darwin-nat-info.c
 1a7dc4515006ad84eedcf72af8a90c84  gdb/ada-typeprint.c
 e432650f349837ea0344c360fdbc4092  gdb/sparc64-nbsd-tdep.c
 f971d36e35ec0c3fce64b819d7891f15  gdb/ChangeLog-1993
-63f30fca007443167486447151d9df89  gdb/regcache.c
-693d35267639a7866622b750c8021e80  gdb/thread.c
+f9cc8b094bb2d94a31214e353808d959  gdb/regcache.c
+2d21fb696ff1bcb344f2b2ef5ca822c9  gdb/thread.c
 60b4873a6bdd481029ee36a2c1c9280b  gdb/gdb_buildall.sh
 120a64af4bbb73278ad2e12a99b9ee3d  gdb/target-descriptions.c
-4957f0f1ad93c22cd5532bd2675bba3d  gdb/target.c
+bae7de497e38c17dfb1e7d7130c4bcf6  gdb/target.c
 2c2b564c141fab1ac6dd294021f0d4ce  gdb/remote-sim.c
 ab960dd28873265f19e9a83458aa498e  gdb/rl78-tdep.c
 aa2a7f6fd9f90abd11c4788816931fa6  gdb/i386-sol2-tdep.c
-196e4b9267dcfeb82f07cdf622e25904  gdb/frame.h
-ccf6ec83f43e5b7b90678699050a5920  gdb/spu-tdep.h
-c7edae3d44edcb21cb6007e4b0e94277  gdb/darwin-nat.c
-1cd35ea72b9b4b8e50d41e7f51397bba  gdb/symfile-debug.c
-ff1ef1754b756cb42d6b405a3bbf60ef  gdb/stack.c
-d20b67c0636ec1591a3e3376349ef02f  gdb/ser-tcp.c
+3c583e8ad991e67fed9c6ee08c566884  gdb/frame.h
+1f5036f3d9d983ce70dd5b35f5d139d7  gdb/darwin-nat.c
+cd48a447305aa41ba9525cdf1cdbc876  gdb/symfile-debug.c
+96d07406c4266e9691edd287c6a05982  gdb/stack.c
+f6e679111ecd2784aaf0372aa6319fa5  gdb/ser-tcp.c
 aef891e489ec61945aa539060447dd83  gdb/vax-tdep.h
 923e62f97e0d12603992f06db4646984  gdb/ptrace.m4
 35833248530de7868f9a0b09371fd3a2  gdb/mips-linux-tdep.h
 b2d5a45589b9ee835a1f891ffdba728a  gdb/ser-uds.c
-c57a8e547f8a6416424c98c9a202a863  gdb/i386-cygwin-tdep.c
+2c12925482d7f69d35e89f46266012eb  gdb/i386-cygwin-tdep.c
 6836bc248eafc4f5da383053bdd811fc  gdb/mips-linux-nat.c
 20c30da4b77ccbc4c24061a4fd942c64  gdb/s390-linux-nat.c
 192ff6b5e04237ffccc7a984e09e48de  gdb/linux-nat.h
 a4c73d37d6721188cdfc0afb5c39b3d1  gdb/sh-linux-tdep.c
 dddb3052d3013584839f41f44ea31015  gdb/go-exp.y
-08332f63c8c4995593f81c4ad8b47086  gdb/dbxread.c
-441077e976d4f96cf891578fa1e5a040  gdb/remote-notif.c
+1135a38f6b68ad60af5a965f0c254921  gdb/dbxread.c
+a12c129c6a322b6da6f3be28d5c64855  gdb/remote-notif.c
 1b9023495f4606b354761e1adc7fbf38  gdb/aarch64-linux-tdep.h
-209dbeca43b4da03df606aca738c0e07  gdb/aarch64-linux-tdep.c
+210f3f42e33de3bab7df4c63a38c8bbb  gdb/aarch64-linux-tdep.c
 64dc7da92b99941d8b1571f6557ea1c1  gdb/f-lang.c
 5849b004ac8a54dad31586d8124b58ec  gdb/break-catch-throw.c
 3456e2eb17d78fe98353c160e67c309d  gdb/rs6000-aix-tdep.h
 10ee5f4b49970d9cbe338ab9e0c1baa9  gdb/gnu-v2-abi.c
-5164236bea4ffef35dc4a720ffe008d7  gdb/block.c
+58fea978657445505d9b99efcee5a396  gdb/block.c
 46d4d315ccc5bbd3d3c8a7489262aa53  gdb/.gitignore
 78ade55423ae602ce2cba2cfe099b65e  gdb/alpha-bsd-tdep.h
 6dc456c86b8c2c852bde5ec941e3a92c  gdb/x86-tdep.c
 174db9faf7adec8cc6a655d59637b1f5  gdb/aarch64-tdep.c
 87659b373492330002b3aa4944d094b5  gdb/sparc-ravenscar-thread.h
 b57cda336e0adf8ed7402d4504ea1bbf  gdb/m68k-tdep.h
-07748a58e1ccf877b1307796b6a6416b  gdb/typeprint.c
-38efb07b888bb39ab52d90812216ebdd  gdb/solib-aix.c
+af75a57e08d729201d3150d90ce786f3  gdb/typeprint.c
+10170bcc45e5064e3013691e6857f69c  gdb/solib-aix.c
 3e7ef614cc92115ce3aa3634b318e752  gdb/warning.m4
 edec052cc10283b10d0e0974527ed28b  gdb/ppc-tdep.h
 2bf58e8b7697ba6f203b54a0429ef147  gdb/dtrace-probe.c
 ffb73c16332236ccb8a9eab222ba7030  gdb/aarch32-tdep.h
-a63aea3cc94c0817c58eb3328cd11c08  gdb/configure.host
+66ba9cc284028eae0e4ec61d0de4007a  gdb/configure.host
 571e330082c5dd4082eda6115b062735  gdb/observable.h
 3170729bee05cd70f51519617c669e40  gdb/x86-nat.h
-5f43ff78ade31af7f3923c4f1c6f165a  gdb/linux-thread-db.c
+fa43ee34141f05bbf584fc88427d8757  gdb/linux-thread-db.c
 87f5231a48b4ac6c0e4d03613440cd33  gdb/c-exp.c
-79db1540c77a4eb38a3d7b177cf210e7  gdb/alpha-linux-nat.c
+06d80438c468e3b5e61b2dec2ae1d7ef  gdb/alpha-linux-nat.c
 cdaa654bddaff716531556c9f599dfd5  gdb/type-stack.h
-3a54fa79589345ec424b3fa67485c617  gdb/ada-exp.c
+6617450816b60ee311a5f57037879970  gdb/ada-exp.c
 87c90e30f0cd3c13664b7161960aa754  gdb/tilegx-linux-tdep.c
 304a177a9b8e8e43814a4388158b470d  gdb/mips-fbsd-tdep.c
 ad0a28559cae16d5c6917cd8223dec0f  gdb/m32r-linux-nat.c
 963c0b6541094fe70dd3a064c26c13f9  gdb/sparc64-nbsd-nat.c
-89bd379150a08e07ebe3499453b4ee20  gdb/gdb_bfd.c
-477a06b639fb4dd2148cc7860bcf818d  gdb/NEWS
+c2bc018bbf48b3f8cae91818bb152c34  gdb/gdb_bfd.c
+a24fc5487d368fa703b8b9f0e9deccca  gdb/NEWS
 97fdbf06d19ca02ff16730e400dc2cfc  gdb/x86-nat.c
-ec1c38a3515df06ec9bc1b16ee221e5e  gdb/dcache.c
+30ff5e95978bca6e0d6b8a7fa988c4c9  gdb/dcache.c
 c4f2c8bc152abb23fccef51af4ead140  gdb/ada-lex.l
 5ceebbe25e4e8c8580779482d34eb032  gdb/cp-support.h
-291df95699b846f8c1d29814f0c2c00f  gdb/demangle.c
+04f4d07e051eee39b02a2994b7e848bd  gdb/demangle.c
 d10c6691c94ca7f97fdcb5797839118b  gdb/yy-remap.h
 aee24077523f9c92d85a75dbb3d8002d  gdb/gdb_expat.h
 f54370e78b91eeaa046c2a5407f7fc2f  gdb/aarch64-tdep.h
@@ -1234,68 +1244,68 @@ d51f44c8ab876081f50968884126342a  gdb/ar
 9c23f700bf128acd07789bc1782ab4c1  gdb/target-debug.h
 27478eae1fb263995247f2f02d8e3195  gdb/ia64-linux-nat.c
 2ffe7504b4f9f12c584c34af5ca3d1cb  gdb/cli-out.c
-58eee4e4fe767f16e42dce1f796f2687  gdb/main.c
+c73cf96b4469ba6995ca80181ba6b0bf  gdb/main.c
 d50de449e9c5cab033b421990b667cb6  gdb/acx_configure_dir.m4
 8f1ce8d07c78de019b75982aab7be105  gdb/proc-service.c
 a5b9e71c4651fdd32c99b54c632efaef  gdb/inflow.h
 16676b9547f9a7ac95c648ec5962cbc5  gdb/ChangeLog-2010
 c3bdb06abe5d95a1c9d0b5de22a4c84c  gdb/glibc-tdep.c
-231e3b8711fcd2e507c069525e9c199f  gdb/gdbcore.h
+ba791ae012c88482992494d24cfb73bd  gdb/gdbcore.h
 69f0088e8fcd3825505ae41fb0a0aa75  gdb/inf-loop.h
 0df84340e4904a4350440ef9806fef94  gdb/alpha-nbsd-tdep.c
 b8f2648363fc0a590196f4b53ad087c8  gdb/ui-out.h
 2e3b312273d12252d74a4d5d50a1487c  gdb/addrmap.c
 45ec9abd1b2d4826e8e0f221a7f1474a  gdb/sentinel-frame.c
 e626c8d9e613c75ce8e3d3a606d2e89c  gdb/score-tdep.h
-c80cb5efccb9a74bc1108181d9ad0a83  gdb/coff-pe-read.c
+0743564b65b51700bca9b6fdefd705d3  gdb/coff-pe-read.c
 2c84ff008ab307866ea5b37fb785c5bb  gdb/bcache.c
 e82e1a53dbb63d792fc8645192a4b2cb  gdb/gdb-gdb.gdb.in
 543325f9e22ed049a50e82db916a7046  gdb/rust-exp.c
 3003aeb2f0a62020daf165042967653a  gdb/i386-linux-tdep.h
-bfcf16605e893cc3c43d7cea5dab61f5  gdb/tui/tui-winsource.h
-9f8096c264f5f8a0f829bed011e2fe97  gdb/tui/tui-stack.h
+aa63642dfa0c574e58b2d6cc03564b69  gdb/tui/tui-winsource.h
+4938d1612eed96c389ba7d89136a6fdb  gdb/tui/tui-stack.h
 645a0d06902d4b7d5ac946f9f056c2ff  gdb/tui/tui-disasm.h
 b717727d3a07a9556bfce8141e26d612  gdb/tui/tui-command.c
 a12f3617ffba20c72097f7acddc82c68  gdb/tui/tui-hooks.h
 e03ab98feeb13c8d5a6a27626f587b30  gdb/tui/tui-hooks.c
 52e423abd8556c1a57b2c73ccf6a4032  gdb/tui/tui-out.h
-d187b1e4646f89a92f65a404e12cc46a  gdb/tui/tui.c
-58d50c7b89e01d8d2f3681153f9cad82  gdb/tui/tui-disasm.c
+0e08f67cba84917708a87ffe750acdd7  gdb/tui/tui.c
+b0decbc342d03960c888522b6dcb5c33  gdb/tui/tui-disasm.c
 1a89bc00e9b0a9a632fbef244118a11c  gdb/tui/tui-io.h
 fefbcaa6dd2b0f3921732fcab8e400b7  gdb/tui/tui-layout.h
 f00b9440570015cf7a33ce89334f5c25  gdb/tui/tui-command.h
-c9f7772a9650d0b7a44fce03c10246ec  gdb/tui/tui-stack.c
-a7edf0f65f793c9dbc72a264d44bd64e  gdb/tui/tui-source.c
+2001976f452b19053820ddcfcb3ad0f0  gdb/tui/tui-stack.c
+604911111f810f2e8b8508e489976c14  gdb/tui/tui-source.c
 6117a5614a7a18f22ea3325dde4e7cd8  gdb/tui/tui-io.c
-ffded38c27082d9da5241a88e0788eb7  gdb/tui/tui-layout.c
+15c294bdeb348532257b6893293eb378  gdb/tui/tui-layout.c
 b9279b16e5e01c507bbccd65ee28f1bc  gdb/tui/tui-wingeneral.h
 314cf0049792d6914bdaafcb24ca0faf  gdb/tui/tui-interp.c
-e8b0a86fbd75518d32843830963accb1  gdb/tui/tui-source.h
-b50a18b943b0e5dadcc57410b85423ef  gdb/tui/tui-winsource.c
-c98a120814ece04f64d27d5b97a654bc  gdb/tui/tui-data.c
-9e1113eba646eda8df17c93af8e252de  gdb/tui/tui-regs.h
-8077ba91ceb6d459d6b64dd00473c1db  gdb/tui/tui-regs.c
+a6b46261708ae774ae0d9cac32efcb4f  gdb/tui/tui-source.h
+ac2bd5be89245b8d58612459a2314500  gdb/tui/tui-winsource.c
+0a50000d4780124838cdbedca480157f  gdb/tui/tui-data.c
+f24255c78455cae3d79938aa022f7af0  gdb/tui/tui-regs.h
+2a138058521d575ff0c8ed83381de58f  gdb/tui/tui-regs.c
 75c9dc88d38c06de1770a866dce36db6  gdb/tui/tui-file.c
 db9e1004ab1d2295d604d54012a3f355  gdb/tui/tui-file.h
 0415f3bd7a379430b752618c1e8c7cd4  gdb/tui/ChangeLog-1998-2003
-5182ee45a802d3eb99f33d39ddd12575  gdb/tui/tui-wingeneral.c
+0ded4658b8be91bb9bd7ce4fcae5e9e3  gdb/tui/tui-wingeneral.c
 6161622280e24df5ab2810b3a6a1b79a  gdb/tui/tui-out.c
-ac52aa03b910c5a4d5e1b5d1eae747fd  gdb/tui/tui-win.c
-1183532221976d5dbaa7759b7e4043c9  gdb/tui/tui-data.h
+24b02e38ab7b3f0efeeff5daf024d379  gdb/tui/tui-win.c
+193a5fc32745c717233fbc771a5fbe48  gdb/tui/tui-data.h
 0ce586573e6740f65110921c31318d98  gdb/tui/tui-win.h
-85f4ba486f173c144d8a424d9cdc44c8  gdb/tui/tui.h
+c1301464113090696e49e330316e6c6b  gdb/tui/tui.h
 1c4827e1487d0d3852b24fc243af7a8f  gdb/target-dcache.h
-271916ee95e5accd94e33dd80080a1ae  gdb/ui-file.c
+5c594f36a3a4c1cd26c04c565181c092  gdb/ui-file.c
 43b1580f440d14ab98d54191fc2ea29b  gdb/m2-exp.c
 b05d438c126e44cabe19eb5c84fc92cb  gdb/ser-base.h
 c815c1d921ff65e1fdbf9f40e1b5e2ad  gdb/progspace-and-thread.c
-15610fb5c8e27764d24b05b37ed40980  gdb/record-full.c
-cf46a5903b7a6f01711fb09f553f04ef  gdb/nto-tdep.c
+c02a7d25c630cc754c9c23102d839922  gdb/record-full.c
+17f382e0b274fcb166e292f29199d963  gdb/nto-tdep.c
 16352588eb28f027496397e6c42e92cc  gdb/m68hc11-tdep.c
 8ab8bba098bf11b2e0ed41197b582332  gdb/registry.c
 b71196b7893a4b14864bf8c376152ca1  gdb/d-valprint.c
-176d2ca61b2d81269aa66775877c88c2  gdb/ada-lang.h
-3ca1f1cc8f135d99e9abd781bd17b3d7  gdb/gnu-nat.c
+2eeffb680e3fdda45da9abf8fa55b5f6  gdb/ada-lang.h
+38b3f82f0ae832b2d4f2c87436a58544  gdb/gnu-nat.c
 31c83b4bb1c5c9c771fe8e1ec3f1e9ba  gdb/msg.defs
 02060e177950be53a77fba7ce2c7c542  gdb/arm-linux-tdep.h
 82a7dbf220022ed11a58e7db5c5396b4  gdb/bsd-uthread.c
@@ -1311,8 +1321,8 @@ a98b2d29c1bbc5814ca007b2d8b81060  gdb/ma
 f48d4eeceeac9d5a468d149b0e5ed7c4  gdb/arch-utils.c
 b70b40ccb91b179cbd9c2909f1bf6938  gdb/cp-valprint.c
 df393c602e6b20bc1b0caa1b02df828f  gdb/disable-implicit-rules.mk
-0410a4bc96d55ab98ae9353eb6a1e499  gdb/dwarf2read.c
-cd2c1b3cf9a70ba2528074f1e1bd0f6d  gdb/or1k-tdep.c
+3837edbc517dd5217c42e3d6d6a4412b  gdb/dwarf2read.c
+34fe1660581407efc4e2e7e0cfef32ae  gdb/or1k-tdep.c
 653ccb0f91b7f978ac58d80833158b97  gdb/amd64-windows-tdep.c
 e4708e4b23e4e6ddd07c7245736d37b3  gdb/testsuite/config/cygmon.exp
 c5f15f6f7bda7cded10dfc457c317126  gdb/testsuite/config/default.exp
@@ -1381,44 +1391,6 @@ df17f90126a8807e23e7730804c27cd9  gdb/te
 005da156872f71aa1087baff32e0bdfa  gdb/testsuite/gdb.compile/compile-ops.exp
 3a7fafccc53db52c602e20b6a4bb4f26  gdb/testsuite/Makefile.in
 614b92616ac356fd013e0574aec138f1  gdb/testsuite/print-ts.py
-5fbff99fbc32d87fc09dc4111c78e461  gdb/testsuite/gdb.cell/data.exp
-08cd547f18a5bb0b8106a0ea55cfa6ee  gdb/testsuite/gdb.cell/ea-cache.exp
-850efc8bc8edbd44adf6b73229a71557  gdb/testsuite/gdb.cell/ptype.exp
-ab148836fdc143a43572c6b696271a72  gdb/testsuite/gdb.cell/fork-spu.c
-520e4ed01c13fae3432bbd0eba3bdf24  gdb/testsuite/gdb.cell/solib.exp
-04f10943cc382a458625c604d81dedc6  gdb/testsuite/gdb.cell/bt.exp
-f1b6a95df5a21156eaaea78eaf6d39bd  gdb/testsuite/gdb.cell/arch.exp
-6879542894070b92b0b6b407117d5ec8  gdb/testsuite/gdb.cell/data-spu.c
-ce1b9fca4dd00160fa9b13d88e185a55  gdb/testsuite/gdb.cell/break.c
-b26eac92a4e0e449ce2e92cf577f2636  gdb/testsuite/gdb.cell/size-spu.c
-f2153481280ff8d14bcd45d3ff74e0d2  gdb/testsuite/gdb.cell/ea-cache-spu.c
-648510b6558987471b8fb86ea8a544b0  gdb/testsuite/gdb.cell/ea-standalone.exp
-5fdcc3da623f78dbe63ec9078206861f  gdb/testsuite/gdb.cell/ea-cache.c
-9ceff8558cd634215ba766c5ba3a962f  gdb/testsuite/gdb.cell/fork.c
-bff21810200b6df7fc001ea895c54aaa  gdb/testsuite/gdb.cell/mem-access-spu.c
-9282d1c55f000ab1f09dd009abb4d710  gdb/testsuite/gdb.cell/registers.exp
-373039c65680fc35ab3d729736015b9f  gdb/testsuite/gdb.cell/break-spu.c
-c11e2d17d536d944e062f5d61f836b10  gdb/testsuite/gdb.cell/mem-access.exp
-5d5662dab361b6af09c3991e9c284f5b  gdb/testsuite/gdb.cell/dwarfaddr.exp
-34a81a65f97e47d403c63477699962c6  gdb/testsuite/gdb.cell/data.c
-1f65ca06908f24e0786fef78efd0fc24  gdb/testsuite/gdb.cell/bt-spu.c
-514a093b5148e6e808fa76a14e9348fa  gdb/testsuite/gdb.cell/bt2-spu.c
-e6203cf987e3473969b7c2927a619fdd  gdb/testsuite/gdb.cell/gcore.exp
-109430072b17dc47b26aab094acf8c14  gdb/testsuite/gdb.cell/dwarfaddr.S
-06441a3ec2637bdf46c76401f0c558ab  gdb/testsuite/gdb.cell/fork.exp
-68652abcb2c40f3f0745bae7fbd19e6d  gdb/testsuite/gdb.cell/solib-symbol.exp
-4a2d68d80b55b95e1c6696072178fef0  gdb/testsuite/gdb.cell/break.exp
-7ae6aa7f63e943c542b948b2f741481c  gdb/testsuite/gdb.cell/coremaker.c
-3caee6f45a1ab5c21da9ab187787db7d  gdb/testsuite/gdb.cell/mem-access.c
-4aff4ec2d44b41fd70d97c9ce9c0e761  gdb/testsuite/gdb.cell/ea-test.exp
-088908399a3878a952c9b84e9d3b8247  gdb/testsuite/gdb.cell/sizeof.exp
-ca7a98b2b92da86b59c90515b6f744f7  gdb/testsuite/gdb.cell/ea-test.c
-b3906b8d30da63d4b2254b3f8445d859  gdb/testsuite/gdb.cell/core.exp
-4b16d1704c19661b6c5ac58dd7616068  gdb/testsuite/gdb.cell/ea-standalone.c
-03ad7e6fdcb4b2343b64b70667423997  gdb/testsuite/gdb.cell/f-regs.exp
-d8744de31daf3a5b59383d48c08dd8dc  gdb/testsuite/gdb.cell/bt.c
-37709ed8ad105318d26dfde8fc3d673d  gdb/testsuite/gdb.cell/coremaker-spu.c
-e4a7ee7a7ad8b1637f86a0d829986dab  gdb/testsuite/gdb.cell/size.c
 209fbbe4596429a512b0ebe3f7b8c3ba  gdb/testsuite/gdb.perf/skip-command.exp
 e79b0743c001526e3de34dbf94d4e665  gdb/testsuite/gdb.perf/skip-prologue.c
 6785bd4a3f94b1f72fa833c76fe7ed7e  gdb/testsuite/gdb.perf/gm-std.h
@@ -1525,7 +1497,7 @@ a5a05c2b1503321ab4c33c795914b7a4  gdb/te
 89f70140e72e27531dc4e94ee1e65c3c  gdb/testsuite/gdb.cp/casts.cc
 81cd1958e0571e0111f1847b6d2e5a95  gdb/testsuite/gdb.cp/impl-this.exp
 3925c78307d80b25a915374e77ad0fbe  gdb/testsuite/gdb.cp/fpointer.exp
-be7fcd75042ae146d6ed26be0d19a88c  gdb/testsuite/gdb.cp/bs15503.exp
+44a73b49b0b1450e4b331bae9ba1cbe2  gdb/testsuite/gdb.cp/bs15503.exp
 f0b58f800605482a4f86dccc32c91eca  gdb/testsuite/gdb.cp/psmang1.cc
 c3650ff1c82ea298f6de098f59a0b192  gdb/testsuite/gdb.cp/psmang.exp
 75fac918afbb2c1bcc0b994eacb5f668  gdb/testsuite/gdb.cp/try_catch.cc
@@ -1590,7 +1562,7 @@ b600411579a212de593a34e38df51ba6  gdb/te
 fdc89f7c644d57dd2ef9c0640a2e0cb4  gdb/testsuite/gdb.cp/classes.cc
 bf230eb3cc1a75da9b4dbf8178932907  gdb/testsuite/gdb.cp/pr10728.exp
 ae9414178f91765294365881e27698e0  gdb/testsuite/gdb.cp/subtypes-2.cc
-630f69b541e0ec2f1b2344c6b8f1bb89  gdb/testsuite/gdb.cp/gdb2495.exp
+a851ed26babad31f7f12b301c6d3529f  gdb/testsuite/gdb.cp/gdb2495.exp
 9ca2d098397637bccd438ef83f07ddd1  gdb/testsuite/gdb.cp/gdb2384.cc
 2fc7bfaf2d14530395fe60207b9d8f68  gdb/testsuite/gdb.cp/virtbase2.exp
 2073f045c78990789c6ea8e19affaf33  gdb/testsuite/gdb.cp/pr10728-x.h
@@ -1627,13 +1599,13 @@ a3c80a0b291239bc5f0921f3168bbe8e  gdb/te
 012db6d893fae932179152a4085dda4d  gdb/testsuite/gdb.cp/pr9631.exp
 c1d37f68507e48f2ff2f5a1919fa1ce6  gdb/testsuite/gdb.cp/no-dmgl-verbose.cc
 33e6d7afd7c318893a5bbe2335a57cd8  gdb/testsuite/gdb.cp/fpointer.cc
-faba9e8323f34f4832cf1d2074d47cc3  gdb/testsuite/gdb.cp/mb-templates.exp
+c598906764493ab4fdca683b4e6e006e  gdb/testsuite/gdb.cp/mb-templates.exp
 76f917e53829108df8be4b4dec93743f  gdb/testsuite/gdb.cp/anon-ns.cc
 76d3e3c902a19b369c2ef8430befad2b  gdb/testsuite/gdb.cp/var-tag-4.cc
 48f66c1a781511d36e8e50a79bb527b0  gdb/testsuite/gdb.cp/minsym-fallback-main.cc
 84477a45c3303f7200d272d6e081bdf0  gdb/testsuite/gdb.cp/ena-dis-br-range.exp
 612232da187bc18a2c5a0ed73acee76c  gdb/testsuite/gdb.cp/debug-expr.exp
-0434565a10e80b18b8f3056f91331103  gdb/testsuite/gdb.cp/pr9167.exp
+54dc5320d3a2cd0a9ef51b610000ffbd  gdb/testsuite/gdb.cp/pr9167.exp
 7356b291b65f3595630313cdf845d8dc  gdb/testsuite/gdb.cp/hang1.cc
 53ff3f67002eed557101f82bad8b2a48  gdb/testsuite/gdb.cp/baseenum.exp
 149596dcc2d05c286ea517bcccd2f0c0  gdb/testsuite/gdb.cp/annota2.exp
@@ -1657,7 +1629,7 @@ c8951cee54ec3b77158ccb9313106b9d  gdb/te
 28ccbb5781fde3926d6d0be4212e901a  gdb/testsuite/gdb.cp/templates.exp
 77df3107df3b157b84ff642421e15048  gdb/testsuite/gdb.cp/pr10687.cc
 a961c899c59720d3bdb68aae6be3dee0  gdb/testsuite/gdb.cp/vla-cxx.exp
-23d9c69ec525eedb90e41434141890ce  gdb/testsuite/gdb.cp/userdef.exp
+398901ab2d84f06d6813aabcb1d5645c  gdb/testsuite/gdb.cp/userdef.exp
 f7f53b3cf0869046ae4d69cf0cb0e38b  gdb/testsuite/gdb.cp/operator.exp
 7afed6685bfe308ec1d2ec5ebb6752d0  gdb/testsuite/gdb.cp/pr9631.cc
 d0b75718aebe587d1b64d1a3df09f888  gdb/testsuite/gdb.cp/infcall-dlopen.cc
@@ -1694,7 +1666,7 @@ a1cfb1cbde8c25ffd0acca56490e8033  gdb/te
 4d85ca5207071741e44bcc2ebb9ba842  gdb/testsuite/gdb.cp/koenig.exp
 d1e264b726419a72f7f58bcc5072b1cc  gdb/testsuite/gdb.cp/userdef.cc
 46fc81a0ad928e9bcbcfb8c7f3f2f7d6  gdb/testsuite/gdb.cp/cpcompletion.exp
-1467de98dbff98747e647416f0990d83  gdb/testsuite/gdb.cp/exception.exp
+80e4dc9382c85ff13330f1da8285089a  gdb/testsuite/gdb.cp/exception.exp
 495e5630adf7674e34ae10fdf7eff5f5  gdb/testsuite/gdb.cp/nsnoimports.exp
 79ea0e50e4d82a9d52c6057c8a0051d3  gdb/testsuite/gdb.cp/includefile
 ddca6bf357b7e953564f3534a591ed9c  gdb/testsuite/gdb.cp/rtti1.cc
@@ -1809,7 +1781,7 @@ ed61cdd7b26ba520f28af8d7d42b1780  gdb/te
 4e402d8c3d4006f294952831e26242fa  gdb/testsuite/gdb.cp/method2.cc
 20b6757e7d8cd276c4fa5d8579688beb  gdb/testsuite/gdb.cp/local-static.exp
 f4bbb155a25136264457ad77942d615f  gdb/testsuite/gdb.cp/static-method.exp
-71643cb1a88a55cecfe4444be4474813  gdb/testsuite/gdb.cp/cpexprs.exp
+c08a4610c54a8616027386cf53c5f1df  gdb/testsuite/gdb.cp/cpexprs.exp
 de28a705c2ece829611f015aa519e070  gdb/testsuite/gdb.cp/templates.cc
 4b1557ca2d2d17c8b4a96bf9fd97960a  gdb/testsuite/gdb.cp/mb-templates.cc
 00d47a289065d5e6362a963c2fa3e02a  gdb/testsuite/gdb.cp/member-ptr.exp
@@ -2145,7 +2117,7 @@ eaa6557baf8994f3490e54674afef1f1  gdb/te
 b74728e74f4abd2c8f73e9c1e3669c47  gdb/testsuite/gdb.server/reconnect-ctrl-c.c
 5070e8dd9f81b2b2b71fd9decf3e2ba5  gdb/testsuite/gdb.server/no-thread-db.c
 a9a69c0d3046d3eefec4a0ddf701e00b  gdb/testsuite/gdb.server/connect-with-no-symbol-file.exp
-b10c309f7efde7ec09bbc782739e0255  gdb/testsuite/gdb.server/server-connect.exp
+8d7aad37be5eb6cb41d71208a4ce74ec  gdb/testsuite/gdb.server/server-connect.exp
 6d7da8ef127b33fad1e8a5cbef5e4431  gdb/testsuite/gdb.server/ext-attach.exp
 1a9b3ee76d27bb737bb68092b841235e  gdb/testsuite/gdb.server/ext-restart.exp
 edbb9eaaf7c7af473bc997e5e50ce162  gdb/testsuite/gdb.server/solib-list-lib.c
@@ -2392,7 +2364,7 @@ afe92a620f0a15fa350676b0ca8abdc5  gdb/te
 1b7821af49a874e9c8cf241fc1f3fc90  gdb/testsuite/gdb.base/infcall-nested-structs.c
 df6d84ce742f4f11e0a93db84c35e609  gdb/testsuite/gdb.base/bigcore.c
 292891208136e535bee1e2adf9f27406  gdb/testsuite/gdb.base/coredump-filter-build-id.exp
-f7aec7811932b17ea2e12b59c13e377e  gdb/testsuite/gdb.base/ovlymgr.c
+6fa3516a413a089a2bed7b00775ed95b  gdb/testsuite/gdb.base/ovlymgr.c
 8b3d4710c55a7d8405939906e5e4d7be  gdb/testsuite/gdb.base/msym-lang-main.c
 3022e77476d5151f808ce281c66ccb9c  gdb/testsuite/gdb.base/maint.exp
 beb7ddd8ac440e541b4ff7458987281f  gdb/testsuite/gdb.base/ovlymgr.h
@@ -2445,7 +2417,7 @@ e64ede1084f1cc9dd9ba3ee3b6d3d434  gdb/te
 2918d84bbfa57ab8dc3307734a8e3d8b  gdb/testsuite/gdb.base/branch-to-self.exp
 52591c1123dec14d9425dd031feecd91  gdb/testsuite/gdb.base/watch-bitfields.exp
 ecdda3f5d7ff21ff9bce5dd6277c41da  gdb/testsuite/gdb.base/bigcore.exp
-aded7bff647ac499c02a35178803b94f  gdb/testsuite/gdb.base/dump.exp
+f6ab674adbbc30f5cae9e9986d782431  gdb/testsuite/gdb.base/dump.exp
 e132a0bda6a789c75e20e8d4eb4ebc02  gdb/testsuite/gdb.base/consecutive.c
 a3052bdecf7fb3ee6cefa063907f4db1  gdb/testsuite/gdb.base/jit-so.exp
 3347e4877239b7bc9e0f51f3c38de95d  gdb/testsuite/gdb.base/dfp-test.exp
@@ -2475,6 +2447,7 @@ f33d119dc9af931a02c94d829b92dab8  gdb/te
 682d2ab1e125d39cf1f944de129c3ca9  gdb/testsuite/gdb.base/duplicate-bp.c
 349ba1105ff647224dc330fbf9f9b4d9  gdb/testsuite/gdb.base/break-idempotent.exp
 2ecbcc59cc9b119bc859137c0c9bb9b5  gdb/testsuite/gdb.base/return-nodebug.exp
+fa0b2f4394f837310373a9544133138c  gdb/testsuite/gdb.base/list-missing-source.exp
 844b8e82fc777c1369da8b32d99c0816  gdb/testsuite/gdb.base/start.exp
 e71a09a5bd4b5457c6f2ea1e4e5fa498  gdb/testsuite/gdb.base/nested-subp3.exp
 ec6a496413bcedc4623a7c643dae3848  gdb/testsuite/gdb.base/share-env-with-gdbserver.c
@@ -2489,7 +2462,6 @@ b565d01adcf7ee875be6cc90386e9926  gdb/te
 5b3ea45a56acf8bda8dcfdc9fe52cd41  gdb/testsuite/gdb.base/jit-attach-pie.exp
 63e7f25aaee6e9c0e0242b58fbe7a719  gdb/testsuite/gdb.base/filesym.exp
 f99777771c1f13f6b6b3d54cd89a94c8  gdb/testsuite/gdb.base/compare-sections.c
-b4816e4b91e99aa3e905b5d44802e907  gdb/testsuite/gdb.base/spu.ld
 93e084ab4c5f0d8e8f208ea6cb98cd56  gdb/testsuite/gdb.base/async.c
 38871e38992cff199b860c879b5ac59a  gdb/testsuite/gdb.base/break-idempotent.c
 b5d81c91198d35bb44f7a3ac3f8410b1  gdb/testsuite/gdb.base/pc-fp.exp
@@ -2664,6 +2636,7 @@ d74013487d75d86d6930b43cc2f51303  gdb/te
 cdc6d2498ab1f383801366cbd1cbadc1  gdb/testsuite/gdb.base/watchpoint-cond-gone-stripped.c
 a1a321704d4e5f6aebccdf00c088989f  gdb/testsuite/gdb.base/watchpoint.exp
 7795f27d3493b8a545e87cd368380b65  gdb/testsuite/gdb.base/skip-solib-lib.c
+e73914d32b6fe1c0dcc7d33cc8ad56c2  gdb/testsuite/gdb.base/source-dir.c
 3a58e87a34e9b13f57030bbc95b7dd67  gdb/testsuite/gdb.base/dtrace-probe.exp
 18c6ff194343e8a5871298a78b3d985c  gdb/testsuite/gdb.base/jit-reader.exp
 a3bbbaaebe1bd4168a37b11c401b3109  gdb/testsuite/gdb.base/call-rt-st.c
@@ -3100,7 +3073,7 @@ f484128bf0e68c27c3fcbf758e60baa5  gdb/te
 3de8c3c34885b01afe4f2bdd4c7f8b7a  gdb/testsuite/gdb.base/catch-signal.exp
 b4fa0e45cf3d0710614ca482c704bb0f  gdb/testsuite/gdb.base/execd-prog.c
 47fc682ee028e845e223a6ed23b50517  gdb/testsuite/gdb.base/weaklib2.c
-a4dae1a9f2a9f0fda9f9b648543f60c8  gdb/testsuite/gdb.base/overlays.exp
+ba97433b465725267e1056205edcb151  gdb/testsuite/gdb.base/overlays.exp
 c111ac05d57ce8ae2cf6076c71d93932  gdb/testsuite/gdb.base/range-stepping.exp
 746a747e2102012fb19e0b210cf47319  gdb/testsuite/gdb.base/complex.c
 8808216bd125c99d294c188b0578bd52  gdb/testsuite/gdb.base/nofield.c
@@ -3149,7 +3122,7 @@ e3b254f86c3fed16c4464ed0d647e961  gdb/te
 8839fd7bcef1fe23f6dcd828e1062058  gdb/testsuite/gdb.base/async-shell.exp
 c5cd31d9e1a3bc68ed15614abddae67f  gdb/testsuite/gdb.base/ctxobj-f.c
 38c2355278c4eea198e8cb3addcf039f  gdb/testsuite/gdb.base/gdb1250.exp
-392691601bfd6b7686210ec6541883da  gdb/testsuite/gdb.base/source-dir.exp
+75e747b13a0258e5ffe125ff1c74e5e4  gdb/testsuite/gdb.base/source-dir.exp
 464b2792aefce1bd5b913c87cb4e030b  gdb/testsuite/gdb.base/return.exp
 7ea18a24d9d28cbcb1f4c5fe6442697a  gdb/testsuite/gdb.base/macscp1.c
 a860e3157bb7def2b0e5b24f6eb0213d  gdb/testsuite/gdb.base/solib-search-lib1.c
@@ -3169,7 +3142,7 @@ f93bae8e16afcf615c88dfb3c59e0230  gdb/te
 243d3cabf2b9345a9a78ee7aae200060  gdb/testsuite/gdb.base/eu-strip-infcall.c
 7756491aa461039e86154992ca464106  gdb/testsuite/gdb.base/bp-permanent.exp
 fc20872594ecbb293969681d3e18b352  gdb/testsuite/gdb.base/whatis.exp
-498ba7971f27c8d8ab089926f40ec42d  gdb/testsuite/gdb.base/stack-checking.c
+a497509110d659eadf323c08345591e9  gdb/testsuite/gdb.base/stack-checking.c
 0e15694f1733bfacdb01cd411e6ba382  gdb/testsuite/gdb.base/vla-stub.exp
 61d16b24f61dd2261db80e69a9d82278  gdb/testsuite/gdb.base/bp-cmds-execution-x-script.exp
 ec537ef10b3263781b845d0a9fec69da  gdb/testsuite/gdb.base/psymtab.exp
@@ -3183,7 +3156,7 @@ ef2f4f2614aaba0ffd89471c8736d950  gdb/te
 b628f691880445bae3d464ccfc5d5f91  gdb/testsuite/gdb.base/watchpoint-stops-at-right-insn.c
 63f8c4b52aa9552861675aa446f41d59  gdb/testsuite/gdb.base/sepsymtab.c
 439c9c43ed0a17d1908a37e7a1bc1aa0  gdb/testsuite/gdb.base/expand-psymtabs.exp
-bc1a1bd4cf7784005a523bae932e6a36  gdb/testsuite/gdb.base/restore.exp
+02f6dd435dc728409e7977967267dd23  gdb/testsuite/gdb.base/restore.exp
 8aad61c3a545c7df57784b0d27fe06df  gdb/testsuite/gdb.base/enumval.exp
 2a4aa59203d24147b833015285f9e825  gdb/testsuite/gdb.base/opaque1.c
 e7d4a34455ca6d3d13bb7d9b544c20c1  gdb/testsuite/gdb.base/linespecs.exp
@@ -3807,7 +3780,6 @@ d459166db83075dd199d64be1238309f  gdb/te
 0b7dd18c1684a6a902472e8b86d7c123  gdb/testsuite/gdb.arch/powerpc-stackless.S
 59edfee301fa0e2be8c2a5c28772cc89  gdb/testsuite/gdb.arch/i386-sse-stack-align.S
 c26ffd829677e05b642abcebaa3423d5  gdb/testsuite/gdb.arch/i386-avx.c
-41cabcf62be7f8956a23199828da8b29  gdb/testsuite/gdb.arch/spu-info.c
 a2c9967b3dc5ed933d53d48ae86c5f73  gdb/testsuite/gdb.arch/arm-neon.exp
 71c0eea90e212ad319f57cb7fc376ae4  gdb/testsuite/gdb.arch/i386-unwind.c
 59fbb910890c197f20de753b3737a29d  gdb/testsuite/gdb.arch/ppc-fp.exp
@@ -3855,7 +3827,6 @@ fa2a64988ce73d4b0365770ac973adc7  gdb/te
 15bab3ba1b7063c6bf0aad91b15eb3bc  gdb/testsuite/gdb.arch/powerpc-prologue-frame.c
 de0c729a7e1897a4c19d063715744e95  gdb/testsuite/gdb.arch/powerpc-vsx-gcore.exp
 6950bdef2be0308ea20f8519c13a2041  gdb/testsuite/gdb.arch/amd64-break-on-asm-line.S
-1058dcf983929d7647a6f88e81003a74  gdb/testsuite/gdb.arch/spu-ls.exp
 9e57bc9b0bb73ccc0faa650e223fec37  gdb/testsuite/gdb.arch/i386-sse.exp
 4856dc87af9eb733748ee023b7c9a1f8  gdb/testsuite/gdb.arch/powerpc-vector-regs.exp
 19d5d7507bce76e9ca88070248830a61  gdb/testsuite/gdb.arch/altivec-abi.c
@@ -3896,7 +3867,6 @@ e2a4c98d9398d39d767713e8c246ba41  gdb/te
 7d879875e99f4d480c40dc1484134535  gdb/testsuite/gdb.arch/mips-fpregset-core.exp
 51f0fe330101eab76eedb1f653a1211c  gdb/testsuite/gdb.arch/mips-disassembler-options.exp
 7611ea3c918d178a8fd9e9a5ee8ac4c5  gdb/testsuite/gdb.arch/i386-mpx-simple_segv.c
-aea2f54c9f93e1516c846d9963fb081a  gdb/testsuite/gdb.arch/spu-info.exp
 2ca4140a17400d3179fafd0b2611230c  gdb/testsuite/gdb.arch/amd64-stap-wrong-subexp.S
 1ee98c4b84812357b5d9d3f2599ad6c6  gdb/testsuite/gdb.arch/amd64-pseudo.c
 804d9a499aa3c73ee7c44b9cdf27981c  gdb/testsuite/gdb.arch/ppc64-isa207-atomic-inst.c
@@ -3912,7 +3882,6 @@ ce447f01f7152679e65d1cdf10080d61  gdb/te
 7bd8835500df46f0ee630978bbb675ab  gdb/testsuite/gdb.arch/s390-vregs.S
 72f19dd98111a58db42ccb99b21e1202  gdb/testsuite/gdb.arch/amd64-tailcall-noret.exp
 498ff9718bb2ac104fe76a3cf3830bd9  gdb/testsuite/gdb.arch/i386-pkru.c
-bbfdff36a1874068a7350847bca4bf2a  gdb/testsuite/gdb.arch/spu-ls.c
 827d34515341328bdf2ce0a87034583e  gdb/testsuite/gdb.arch/ftrace-insn-reloc.exp
 63fb5846ad9b600cdbcfea9b604e3df0  gdb/testsuite/gdb.arch/ia64-breakpoint-shadow.exp
 dd7072554e3f415b7a74a840ee2a2ec0  gdb/testsuite/gdb.arch/amd64-byte.exp
@@ -4070,9 +4039,8 @@ dd3a0c6a8b6678c975a5d613f4580475  gdb/te
 d581ddf431d451de08f3a2c26384aeb8  gdb/testsuite/lib/data-structures.exp
 40f141a9f69a3c2ae8ffdda09d04fe2d  gdb/testsuite/lib/cp-support.exp
 c0fe6c8e0de72edaa6bda65eed641ca4  gdb/testsuite/lib/go.exp
-de1ddeb244d76ca5e32f937cf381e643  gdb/testsuite/lib/cell.exp
 bf569ed82a74dfb7e87f5331093c5010  gdb/testsuite/lib/gdb-python.exp
-d870fb76ab1086f62f6c36938aa6c71e  gdb/testsuite/lib/gdbserver-support.exp
+75024eae2704c29eddc21ab66c6aaa97  gdb/testsuite/lib/gdbserver-support.exp
 13a72fc90ec6d032a94d488f5fb625a3  gdb/testsuite/lib/rust-support.exp
 14c2d312396df9b9c591e7eeed3619ab  gdb/testsuite/lib/prompt.exp
 812ad72bd819e88457849d251eb9b9d9  gdb/testsuite/lib/future.exp
@@ -4094,7 +4062,7 @@ ad7c35ff788ad968c44b9b05d466bdd9  gdb/te
 449fdf67df4f576905fe2d430029f636  gdb/testsuite/lib/prelink-support.exp
 02afb85a1fb26fbc069e4c97b3933a8f  gdb/testsuite/lib/opencl.exp
 0d0ccc80941c04e2e66a189f3faa1fb9  gdb/testsuite/lib/perftest.exp
-4c7c912e0f30b9117830d67bb4cf1d72  gdb/testsuite/lib/gdb.exp
+ffdfe2ff6905fe2b8053418c00fdfb43  gdb/testsuite/lib/gdb.exp
 634c9eb78e3905d8a44450eda92f6543  gdb/testsuite/lib/compiler.cc
 2ce5f63e3001d2cbd1ad5daf077b18a0  gdb/testsuite/lib/opencl_hostapp.c
 4c4f00f092de08a5b41182a813508d9f  gdb/testsuite/lib/valgrind.exp
@@ -4449,9 +4417,9 @@ a73456a413ec206c45a1c05bede47b75  gdb/te
 3ae360ac3827f64fb894dcbec57961b3  gdb/testsuite/gdb.go/max-depth.go
 68d17058fa82304a192749f0eadc138d  gdb/testsuite/gdb.go/strings.go
 81b7ed6cb92c627d245bd2efc4b953b9  gdb/testsuite/gdb.go/methods.go
-891c16a5f71ccf41ed2d69b55db8c06f  gdb/testsuite/ChangeLog
+f93606b64540c4ce6794950222c5cbaa  gdb/testsuite/ChangeLog
 b3f11b21e5921c419a43f93720dedf85  gdb/testsuite/gdb.asm/empty.inc
-a331ee70db75cabf8b9cd7fbc60b8f01  gdb/testsuite/gdb.asm/asm-source.exp
+2f2be836393e53a114f382c2872fd5fc  gdb/testsuite/gdb.asm/asm-source.exp
 f1621bbbb2acbec5adef86d7d9549975  gdb/testsuite/gdb.asm/bfin.inc
 583de4033345bc72fc5e10e2c913c70d  gdb/testsuite/gdb.asm/m68hc11.inc
 7acbc0a93ecaf3183a8c43ccb7af5585  gdb/testsuite/gdb.asm/powerpc64.inc
@@ -4468,7 +4436,6 @@ bc2f2b56b97a741661cae171ca969cf0  gdb/te
 561956b7afd2c11c4c23bede641b024d  gdb/testsuite/gdb.asm/h8300.inc
 59ed9adaed6dc7b887446707cf6c2d5f  gdb/testsuite/gdb.asm/s390x.inc
 c2ab6abca2f2009bd9b4b7f2501e8f9a  gdb/testsuite/gdb.asm/s390.inc
-fec2ca2fbcc0b02d6f21dcf2d73970b3  gdb/testsuite/gdb.asm/spu.inc
 6c5e7f66709dbbc4e4fbbdec9be6297f  gdb/testsuite/gdb.asm/xstormy16.inc
 577585273ffc0fef150e7e01df7cebf9  gdb/testsuite/gdb.asm/alpha.inc
 7450e0fb35df49b1087ec197a4046ac1  gdb/testsuite/gdb.asm/common.inc
@@ -5244,7 +5211,7 @@ ed2d0101de32e84354f6c6e55be0a960  gdb/te
 e14e8cc3e96d350310aaac726d4ea5e3  gdb/testsuite/gdb.disasm/t11_logs.s
 b3f174c3fe41a9e28a05a491b2185545  gdb/testsuite/gdb.disasm/t06_ari2.exp
 1531e9f2d8c5fe8c476a72c8621ac6f5  gdb/testsuite/gdb.disasm/hppa.s
-cce3f48bbfda1adcbe6aa3d388469998  gdb/testsuite/gdb.xml/tdesc-regs.exp
+94359769b199cd0a411e3939118f6400  gdb/testsuite/gdb.xml/tdesc-regs.exp
 43cad971a8dcaf438a7cbb1ccfa5e188  gdb/testsuite/gdb.xml/maint_print_struct.exp
 4f957259a1af66b87b45b94b81dba00d  gdb/testsuite/gdb.xml/loop.xml
 00844293bfccb8b505cde3049f20755f  gdb/testsuite/gdb.xml/maint_print_struct.xml
@@ -5271,55 +5238,55 @@ fc41122ade5af8a08f4674de7e688c82  gdb/te
 9ac5514a454173af6d2ce46435dde817  gdb/testsuite/gdb.modula2/unbounded1.c
 9bbed41578331d2318d5d7ddb0fe58d6  gdb/testsuite/gdb.modula2/max-depth.c
 29e88756c6c310c96a2006047bfcbe23  gdb/tilegx-tdep.h
-fc0bb53c6c8831412cfd577e1e04ab5b  gdb/symtab.h
+638fb8bd91ce0a4580224a3b5d6e88df  gdb/symtab.h
 963f19eec56494e075c8ef5b7eba4c2a  gdb/f-valprint.c
 b4661232e1c651351e7aab789eebdb61  gdb/gdb_curses.h
 8108dd8f906f2654fecc74958cf383db  gdb/doc/psrc.sed
-0f1ff225c703609a6470245e0f5a9ab9  gdb/doc/gdb.info-3
-f2f32bfce55aec1f05c50b54af9fbf01  gdb/doc/gdb.info-4
+ee1a761fc11e6d467a2f632b08849dc8  gdb/doc/gdb.info-3
+871b96f86fc1c110e70bba8c2805c0e1  gdb/doc/gdb.info-4
 ab0fe311032294b952da80585b8b90e7  gdb/doc/fdl.texi
 16678295b5adc8b919f4a12d3ed4dbb5  gdb/doc/Makefile.in
-58873c6850262fcc5c1254ec5bd9dc78  gdb/doc/gdb.info-7
-40080055755db0b0169c9e5a95d7c06b  gdb/doc/gdbserver.1
+a7ff4b9feb1cc34346345a433cd12ebb  gdb/doc/gdb.info-7
+e81d39008e5c73efe42f9fae5b661de5  gdb/doc/gdbserver.1
 409e53fb962f88c74cea98080d0da8a3  gdb/doc/guile.texi
 f81a0e00e0cb9e41b078069fb9bedb07  gdb/doc/stack_frame.txt
 a07e6b7f88c558d15d03adeeaca94c74  gdb/doc/stabs.info
-195154b97d4ff8c0601a93b86f00e58a  gdb/doc/gdb.info-5
-a7a5938f3c836a5d3b14a406600e62e1  gdb/doc/gdb.info-8
+ab95350218eda9cf9c6d10e39cca1ac4  gdb/doc/gdb.info-5
+e9a10cb3642f0c9d927ca585deb5136f  gdb/doc/gdb.info-8
 9137c9e47e1692b8efec8e28482aa6fb  gdb/doc/agentexpr.texi
 66674dc351ba95941f422dc18cae24bb  gdb/doc/.gitignore
-a6ee994c407443774c0fc44fe0310bd6  gdb/doc/gdb.info-1
+075e39fbb48e6e225dbca43c7dffedf8  gdb/doc/gdb.info-1
 d5d06eaf9b4d44aa442a4a281aa9aea4  gdb/doc/a4rc.sed
-378d99e3410fafc31668b4a1b0e8b231  gdb/doc/gdb.info-6
-4207db93c431111a02cc9c15fa262c43  gdb/doc/gdb.texinfo
-4964119467f642188a594a40f2ae91af  gdb/doc/gdb-add-index.1
+4e57f251286c9e0fbef68bcb7de6ac30  gdb/doc/gdb.info-6
+274592e440f5ae286b206931a4d15333  gdb/doc/gdb.texinfo
+dcf0e02ad5951d73c0e597053bf474f3  gdb/doc/gdb-add-index.1
 553b7fe1bf4b5d8b96fdb8cd83503de1  gdb/doc/stack_frame.svg
 04c82b1da7e894a6555868e4f86225af  gdb/doc/filter-for-doxygen
 5a0374965ab816741c91c7eaea412912  gdb/doc/Doxyfile-gdb-api.in
 e41a962402414f62e2f16a22a2783703  gdb/doc/annotate.info
-c868a56b4d546defd0c2c9992cb1dc4b  gdb/doc/gdb.info-2
+9caf05cf86f739ea74269194e1604ffe  gdb/doc/gdb.info-2
 fdd79e6125e56c1eb7e28b2a71d5b48e  gdb/doc/refcard.tex
 6076d300a46651562d4ecd0604442414  gdb/doc/stack_frame.png
-b64d5d914d0bf15d68eb8726cc840de1  gdb/doc/gdb.info
+f2b71a4b396a770bcd9e57568633b3dd  gdb/doc/gdb.info
 f5ef40cd45a167ae864b19c4595c4686  gdb/doc/python.texi
 3b39212c16d58cf203006a2a3c3edcd4  gdb/doc/stabs.texinfo
-c53d8061d2dbafe0567b8da1db730490  gdb/doc/ChangeLog
-ec893b6c8488d2d6a94ca185b37b0221  gdb/doc/gdb.1
-56bfa9171bb72d49dd2d2972756b0ec6  gdb/doc/gcore.1
+f63741b8a5836a87a88d396cab01c167  gdb/doc/ChangeLog
+a4c4ab81733d262430de0edcc15c6391  gdb/doc/gdb.1
+e4beece8db44226d08419c63b1b665a7  gdb/doc/gcore.1
 d39233c86ed6a6dc9e853ae6a11fe03e  gdb/doc/stack_frame.pdf
 cb7ea97486937341d6ae27968ee40d23  gdb/doc/Doxyfile-base.in
 29393ec87c7921291f54ee7b57ccb1d9  gdb/doc/all-cfg.texi
 bf96494e6e4d346175babd5ef9781882  gdb/doc/gpl.texi
 cd5e3faa9bd1b684a73c7d527cdb4988  gdb/doc/filter-params.pl
 7bfdb0765c5d050d204fbb30aeeba0d8  gdb/doc/stack_frame.eps
-885ba7094fae95da94045041722d018a  gdb/doc/gdbinit.5
+c7da1a87039941f821ee91951f947057  gdb/doc/gdbinit.5
 24d4f8b6396da16d9a8dd98281ac40ff  gdb/doc/Doxyfile-gdb-xref.in
 6f3b23a5f42aba8cbac1bcf7329942e4  gdb/doc/annotate.texinfo
 0b3e26fe6db92700f1e51071ff475193  gdb/doc/doxy-index.in
 1716190b9b7ca4294d581e2b27a19184  gdb/doc/Doxyfile-gdbserver.in
 73ec71cd3b2e7f61bc530f19d4b35056  gdb/doc/lpsrc.sed
-d2f82e66f9317d851b305055aed7839b  gdb/parse.c
-0f5c68d6ee523d6d18cade272512bea7  gdb/fbsd-nat.c
+f4c6742793e1a0fc464a468c9a433fa7  gdb/parse.c
+1fbbb184e51da27c54307ec336fda6f8  gdb/fbsd-nat.c
 308628cf14ff3b071b1f409c534fbbfd  gdb/windows-tdep.h
 d08a9379f46f6cbf7f54188e6f7fc001  gdb/stap-probe.h
 1f68d3272b33b380724fe731f1716f7b  gdb/ChangeLog-3.x
@@ -5342,7 +5309,7 @@ d64378f7b661a0855882876e367b5718  gdb/mi
 0d602d583002185b9e5d6fd1db7bab3f  gdb/mi/mi-cmd-catch.c
 7dee2d54b4214b70c44418b02ca3b541  gdb/mi/mi-cmd-disas.c
 ea5d56f9799edeca9679652eb450bfd8  gdb/mi/mi-getopt.h
-752356c73fd2a90c6d7d229f56240c03  gdb/mi/mi-interp.c
+a933ac3d09ee6406bec4fe8be3ddbbdd  gdb/mi/mi-interp.c
 f1a2202d78f7e766ce4cb95377988621  gdb/mi/mi-symbol-cmds.c
 34898c50b11372898f008f7418d5758b  gdb/mi/mi-cmd-target.c
 7abd291bbf07e3262288549cdd7f91fb  gdb/mi/mi-cmd-var.c
@@ -5350,7 +5317,7 @@ d1b2be78858f84a199c8da4d88bc00d9  gdb/mi
 90b81f951a2351c88c1b4a1fedbb492f  gdb/mi/ChangeLog-1999-2003
 9fe46998c55457562abe330a2e2662b8  gdb/mi/mi-cmds.c
 7c22c60889b5e3b237f31259b88c55e2  gdb/mi/mi-cmds.h
-8c3a38832220e2f1ca50e3bd1b2bd7af  gdb/mi/mi-main.c
+d8fb6f2c24eb8864a53e663de4a7a94a  gdb/mi/mi-main.c
 7330863f8e8705d45e875b1d8061462a  gdb/mi/mi-cmd-break.h
 6e40be07c2928ece4676d9d05456f942  gdb/mi/mi-out.h
 c050b1f758db6f5a20452f60703b608e  gdb/mi/mi-console.h
@@ -5363,27 +5330,27 @@ cb55a4b25e672480dbe61545a40a5285  gdb/mn
 1072827838500e659fbdfe5e79e74de6  gdb/skip.h
 d87f8f330dda7f736350ea5dcff5b709  gdb/ChangeLog-2006
 68d3a06637a7716de76104baf340cd40  gdb/location.c
-70c80ebbd58ea58e7a413034f5020e42  gdb/minidebug.c
+c200bdcee840d298ad6c3e21a8e5d119  gdb/minidebug.c
 936fa184407273a47b8b7790758cfe34  gdb/ada-valprint.c
 d72c0a28942309f3c94ae825059c1bc3  gdb/ppc-obsd-tdep.h
 2cf27bcfcc332ddedfd8ffe5a916c02d  gdb/dwarf-index-common.c
 d134a8c83098ecec6847dcbb51c76264  gdb/annotate.c
 f8ef1c4fdc043ed02cb189ab003d69de  gdb/addrmap.h
 8da4250b89c13c719d31b61041ced134  gdb/valarith.c
-83aef65a96cd0d5ec773c4a4f3e11be1  gdb/rs6000-tdep.c
+f9a5c82f247a236626bee44af674467f  gdb/rs6000-tdep.c
 3c39c68cc78f76d3d9197dd8e3c8d71f  gdb/linux-fork.h
-1db41c05890b7a7c907db203726d00ff  gdb/dwarf2-frame.c
+275f81533c45f9811afc23b3b0298070  gdb/dwarf2-frame.c
 6258d6a52141a0c56486958f497f18fb  gdb/mips-tdep.h
 7289821942d7a0e8bcf00df35790b435  gdb/sparc-nbsd-tdep.c
 858c838fa8f5374353e60f26a8dd001e  gdb/target-float.c
 2f0873dea04d36b4068c68a98383e353  gdb/riscv-tdep.h
 2950b97545109b369bc3da0a5a51421f  gdb/mips-fbsd-tdep.h
 809b3c403e85c83729ef5fc3bcfd43f6  gdb/gdb_select.h
-7efdd08ccfa82133f8780ccdc61c76b5  gdb/dicos-tdep.c
+331bc73a351e321b0919dec2ca4f362d  gdb/dicos-tdep.c
 8231b684b7d88405d04d2bef46a24822  gdb/ChangeLog-2004
 0262f02056540c63aa04699bbfe073ac  gdb/record-btrace.h
-db0857390bb545e3e55555164fb751ed  gdb/machoread.c
-a98ad7735054bab8111e0edafd9b954b  gdb/printcmd.c
+306eaf503fc34db3e4391f21842c3576  gdb/machoread.c
+035d8f92c137b929f38855949449c108  gdb/printcmd.c
 3a6eb757ea7c63d8924d634edc88da51  gdb/serial.c
 81e6fc400bf5d122718f1170d2dbefb1  gdb/gcore.in
 e4de310e4bbe418a317e96ef3070afa6  gdb/ser-go32.c
@@ -5396,39 +5363,39 @@ e84e425e4fb11ea693f19116a25c35da  gdb/mi
 69b82dfcd8294490c6e773ca0c6781e7  gdb/objc-lang.c
 8df0746e96c7723eb9e890b62fb8150d  gdb/rs6000-tdep.h
 c097c299b26748e960222bc9a73a951d  gdb/sanitize.m4
-ad516e6ee8665eb625478072baa8769a  gdb/dwarf2-frame.h
+63f7476ea9f19699746892feffd4a14a  gdb/dwarf2-frame.h
 ed352bc1d75f4f66d80bc2fdd88938de  gdb/aarch64-ravenscar-thread.c
 fa65e5caeea359892241390569065984  gdb/ft32-tdep.h
 cc8d949a11ca64c3ccff8b7e92449d12  gdb/tic6x-tdep.c
 652e9b357cacf96ad83c4cd7b134e146  gdb/gregset.h
 ddd9418104ebb329f260f6d8483780f3  gdb/infcall.h
-a2086ede1438c798dc8c636d5c6ab8b9  gdb/source.c
+f95c57c8fc1ebd215ec86c83270c2283  gdb/source.c
 e80bcdf714445215a7895be33ffe0f26  gdb/sparc64-linux-nat.c
 282b55eac069eb15c13cb719dbab4438  gdb/build-id.h
-b40288d93552cb69afe313f98d60d66d  gdb/xcoffread.c
-4bf8d64cdab69482aa5f62b1a22e2472  gdb/valops.c
+e5a15d39ae92e4a0e7d0db3d51dd0e9d  gdb/xcoffread.c
+993644193f0c975a4c69a84b925eb00c  gdb/valops.c
 652eeae5b48e928e984068969b0579d4  gdb/d-namespace.c
 227313391cdf00500b2018c18352e00c  gdb/sparc-nat.c
 b0d7765cde908403b2a60a419e8e5e7c  gdb/test-target.c
 9c2ef671f91314480a7eaa8cfcda58b0  gdb/continuations.h
-48a5c422086f3712c4b64aefdfb77add  gdb/infrun.h
-f2b5b8a33f78c5f1922a51da27a3c3fb  gdb/jit.c
+d3c3774037b52a130908c5b0e77b5519  gdb/infrun.h
+b9065fbed5aa45232577043fb58a9cac  gdb/jit.c
 5dd4f42bee6ff8d579a1ff2ffc9b0130  gdb/rx-tdep.c
 fdfb2d67eb9914bdf64b90817eab97c0  gdb/frame-base.h
 877d596f16a709c318819ffcf4ab0de1  gdb/xml-syscall.c
-b1bb1e71c5bca2339bea72fc2ee5dc4e  gdb/symfile-mem.c
+42df6d9f65c9d49a8f837dfca804db0b  gdb/symfile-mem.c
 28eab3a728df901c64f8ae9eec04ab10  gdb/c-lang.c
 c2e44c70bb6c500907865666c02806d2  gdb/hppa-bsd-tdep.c
 13271d97270bcc25dd88f25432867e6e  gdb/typeprint.h
 0cc2bebe355d24d3412e8d657cf4a580  gdb/osabi.h
-a9bc04cbb9ef3e7faf3d4f66b2c82316  gdb/symfile.h
+1e984ec2027b41613e675d78332956ea  gdb/symfile.h
 be3ebe24b6c7611f1d04f11bc4730889  gdb/aarch64-ravenscar-thread.h
-b4956fb0cbcb532c3d6d67da7b8dbe25  gdb/fbsd-tdep.c
+a48f2ab60600256ed32aae7e1cdf053c  gdb/fbsd-tdep.c
 301431026f0926203ae5ae1022d2bbe1  gdb/gdb_vfork.h
 23a038d879b168bda8eaf8e70c7cbff1  gdb/hppa-linux-nat.c
 03f537ef6c8a3da120e30330748ea5b1  gdb/avr-tdep.c
 5674ff7dd13f37fcf7c6fd01309bce05  gdb/obsd-nat.c
-3300929aab3612b42b1ee863272a94c0  gdb/gdb_bfd.h
+33ef8f6f9955e8dea851712d2b7dabd0  gdb/gdb_bfd.h
 cd9264f4a0a08c80dca6789693d7f3b3  gdb/v850-tdep.c
 31ad92b6b49509d5ede56d2dfc0dbf83  gdb/cli-out.h
 27c4e332088f3d88f93eb0d5623b2b58  gdb/build-id.c
@@ -5508,7 +5475,7 @@ cec2619b3c2417192ab8b3787173e30e  gdb/fe
 c6a6eb27e8556a9259cca0e370304aab  gdb/features/riscv/64bit-cpu.xml
 8fc57b32e4925dbb9e7acd0bdb846fb2  gdb/features/library-list.dtd
 61e311df2ade221d31be64f8dd89e137  gdb/features/s390-acr.xml
-5808394d5e358b174734378fe360842e  gdb/features/Makefile
+abb859c4470189f0fa889cf54416e0da  gdb/features/Makefile
 46ccf8c890261e177392d97f53ba787b  gdb/features/aarch64-sve.c
 1338a2b6ba2b0d7cfe60654415d0c299  gdb/features/tic6x-c62x-linux.xml
 69febcba8a169f98cdcf218a5c76d6b9  gdb/features/s390x-vx-linux64.c
@@ -5573,7 +5540,6 @@ d8edfb8a6266967568118f8a2ee4a1d2  gdb/fe
 e7fcfe186aad04edb46a155897d694ac  gdb/features/rs6000/powerpc-isa205-32l.c
 0fdf21d93c8305dd40c6eef4f94093b4  gdb/features/rs6000/powerpc-e500.xml
 83e81a9fda1babdd1b0cb586e1bd55de  gdb/features/rs6000/powerpc-isa207-vsx64l.c
-980f3c578ff349f4a2410aca8066ec97  gdb/features/rs6000/powerpc-cell64l.c
 c0cd3d604efc205b6fdd4b9a1bbb70e8  gdb/features/rs6000/power-htm-tar.xml
 0ba581781150c25e0770506f364a3eb7  gdb/features/rs6000/powerpc-e500l.c
 51391af866c9a5b883de4ae86f8fb5c8  gdb/features/rs6000/power-htm-altivec.xml
@@ -5593,7 +5559,6 @@ c17f01ffc0892138bd0e8b22671a2b82  gdb/fe
 7ef5e0ad007c62548c651ffe8d100568  gdb/features/rs6000/powerpc-604.c
 356354bfd2f92e2cb90521bfc75e7ecb  gdb/features/rs6000/powerpc-e500.c
 6480474eb9038c03d2dd8f5d16e9703e  gdb/features/rs6000/power-vsx.xml
-6802db34b741ed7093f12c40149fed16  gdb/features/rs6000/powerpc-cell32l.c
 501c361ebc672e5d273f83fde6702d97  gdb/features/rs6000/power-altivec.xml
 4d8fd19b05d7e50dffd876dca212c262  gdb/features/rs6000/powerpc-altivec64.xml
 aec50c25a9a20036d2e5cf13560470e1  gdb/features/rs6000/powerpc-32.xml
@@ -5657,14 +5622,12 @@ bd6e3d285a7ff47662cb057b218411d2  gdb/fe
 9d95b4747031032ef1c768707f641288  gdb/features/rs6000/powerpc-isa205-32l.xml
 5eb4b85d8597a982f401aca5fa491468  gdb/features/rs6000/powerpc-vsx32l.c
 95f8bd1761d8af1dac6e03dae79209a3  gdb/features/rs6000/powerpc-403gc.xml
-2f76c403571562367169d0fc4488a478  gdb/features/rs6000/powerpc-cell64l.xml
 d2c5ea8707d6e8a8aad47cdc24952ca0  gdb/features/rs6000/powerpc-601.c
 c99e66f8811705305d4dadba387d977b  gdb/features/rs6000/power-htm-dscr.xml
 fd5408b63b9dfcf28cec25cff29615fd  gdb/features/rs6000/powerpc-altivec64.c
 a267357188d9ecf8aba1451567b61d98  gdb/features/rs6000/powerpc-isa207-htm-vsx32l.c
 0f8fc527a93c3733755b63a2764fc844  gdb/features/rs6000/powerpc-isa205-altivec64l.c
 069d30747d66ed2e6fdeb203de81be6c  gdb/features/rs6000/powerpc-altivec64l.xml
-f18d2c8b5ec4ccd06d7d3e7eba1f7f08  gdb/features/rs6000/powerpc-cell32l.xml
 9203f1ea7d43f65e52f5ed59e671410f  gdb/features/rs6000/powerpc-7400.c
 f96217c18f50d3accb1028bde07ba56a  gdb/features/rs6000/power-core.xml
 f981ce8e06cdf08c83e7d2321d44fb88  gdb/features/rs6000/powerpc-altivec32l.xml
@@ -5735,12 +5698,12 @@ dbc4dc4321858d3d314ff9201176f4f5  gdb/fe
 6073001c3661aa6680d35a3b59b2915b  gdb/features/aarch64-pauth.xml
 e11c46ffce0d2817a18d200fe9afbccb  gdb/features/aarch64-fpu.xml
 9d9baf6ee79baadc2a660370cb2c1afc  gdb/gdb_indent.sh
-874731f02cde91546af216de503c1d0c  gdb/infcmd.c
+e850ba31c3169583f95c80fa8f75f35b  gdb/infcmd.c
 0ccee919cf44d7e817befc820282ab19  gdb/valprint.c
-82d766c9212802e2244b24833ca87e77  gdb/solib-target.c
+44c090c066a4e432d2215ffacb328502  gdb/solib-target.c
 7d40f66ff5bf4c4d11a2623bdc59f0ea  gdb/tilegx-tdep.c
 2e6267d5d216949fcb3d17ac4cce0a65  gdb/c-lang.h
-2b37bd73ebb88b7536f2c77938883984  gdb/breakpoint.c
+3d3a2aeeb6782f405f2b444c0b2f3a24  gdb/breakpoint.c
 d084976038b3fd35a55721c22a6c90ab  gdb/block.h
 c622629ce98d348a92a1d82095ac28ee  gdb/type-stack.c
 95ed11db0f3cb80ed86362e2b3d8b479  gdb/s390-tdep.h
@@ -5748,29 +5711,27 @@ f79e51315091116b80eeac46a4a32f8f  gdb/ax
 1e38fa088cbd55691e3255c9d29f56df  gdb/i386-obsd-nat.c
 d71fe72add3d11f0bea0d05e69bd4965  gdb/selftest-arch.h
 7652cb4a6989ceb23cf3d460c9bea630  gdb/prologue-value.h
-d73b97ebe3f33ecab14ead9301fdbf18  gdb/auto-load.h
-7a17708e33d1250962d01dcf57e4e91b  gdb/maint.c
+6ce01f5f6d16f8a7bf879c0bd920c0da  gdb/auto-load.h
+43c21d11363bafc50fe3dcf739c83682  gdb/maint.c
 c086e7b7f948f2285c1cbb4d6656689c  gdb/x86-bsd-nat.h
 48c2ee89b5c925233062d6e56c0ae6b5  gdb/moxie-tdep.c
-8fbf5d4c97a423300a5f7764e76036e8  gdb/gdbtypes.c
+ed8be94ad9918f5817e0fd33d0b39b26  gdb/gdbtypes.c
 c5ffbe634b4abf2108700a75ba62aa0f  gdb/ppc-obsd-nat.c
 11e488d83e18c4036892ff4450937c16  gdb/mips-nbsd-nat.c
-facd654b9efb079f9b24a26d0a176b74  gdb/elfread.c
+30ea1e2afcf30daa2239a02ada5f3127  gdb/elfread.c
 f15d1e283f9e847ae3b36dc2408ea6b7  gdb/thread-iter.h
 dd5e9cd4b794e2d0b2e0ab3cf71ee6a7  gdb/aarch64-linux-nat.c
 b62b5f777230687f3911fc1e1cdf283c  gdb/gdb_obstack.c
 9079db3b5117a1ccef2979d9a88fa921  gdb/inflow.c
-0ab636a641f79b6846ffe82b3201bf32  gdb/spu-linux-nat.c
 5ab96067d16345760a73ed40974c00d7  gdb/bfin-tdep.c
 0bcc5c5f4ef70e70030d71625c0db150  gdb/linux-tdep.h
 1e4f41404acdc9bbc4ddeabc8d2af13b  gdb/i387-tdep.h
 dbf06537c23bdc4fb8155bfc7a8c1471  gdb/gcore
 b52468a6f6f9622c8cfafd8bf3a35263  gdb/gcore.h
-4ce753046e2f4582532c2f5aea879a89  gdb/arm-linux-tdep.c
+790f85580c083f15f32e07165e8ad0ba  gdb/arm-linux-tdep.c
 d760bd3e64a0a0d3bb44615cdc5f52fc  gdb/gdb_usleep.c
 0cea409b6e8fe72a91f44aa956dd2ac4  gdb/hppa-tdep.h
 cc7ee464d34e24673fc5e7c9cdc57b72  gdb/completer.c
-8972cd8589618151d5e6184d3acd288e  gdb/solib-spu.c
 e52cd6aeee07bcb30ad90254f6f416c4  gdb/dwarf2expr.c
 f5b912301b8191b05fd28a9d8e4027dc  gdb/vax-bsd-nat.c
 367431cad6c1444071757850b589e0b8  gdb/cp-name-parser.y
@@ -5780,8 +5741,8 @@ a5bd4b138b25f7d66d7cded1550621c5  gdb/mi
 5ec8a13039f178b86804ff04e7cbdf99  gdb/ChangeLog-1998
 7376cc9e20f5726c6c1e9780c66052f4  gdb/aarch64-fbsd-tdep.h
 5c50e0deb5e3f3202e14bd7025a15132  gdb/nios2-tdep.h
-d0f4967f8ae2048a25533c0354ca01a2  gdb/i386-linux-tdep.c
-c78c0a6d07a654e616b2df3add6987b5  gdb/mips-linux-tdep.c
+661d3d6c7c744d684b7dd77031a3b484  gdb/i386-linux-tdep.c
+d34e2c6824843e56bc190057113db218  gdb/mips-linux-tdep.c
 9c6d008fb101f14ab6b2730c8dee14a8  gdb/inf-ptrace.c
 f596cad60804c5f89cc904ee78b43657  gdb/amd64-linux-nat.c
 97aafef4ff4ff238ec2477e252bba831  gdb/hppa-obsd-tdep.c
@@ -5801,16 +5762,16 @@ c88416a9f0d2988fd610dc1ee314665b  gdb/ia
 ff8a4408bf4c628d400cef5087fa71eb  gdb/c-varobj.c
 043bfb3ebe09fd0397c4bc9290842278  gdb/or1k-tdep.h
 10ceb558191ba9e006ac05a11f389806  gdb/i386-tdep.c
-da62c1f09322b644b028b0015e613a03  gdb/symtab.c
-6f46b4f0e55d23cb8db685c6cf7843f8  gdb/osabi.c
+6e665564fca1b34530051d4067bce089  gdb/symtab.c
+108e090a7700b6c24cc0220a75175b3d  gdb/osabi.c
 d3170a8bbbd34d38a15902a5b596654d  gdb/m32r-linux-tdep.c
 840e0e0e830e2fd302199c92f049e9a5  gdb/inf-child.c
 de9373569b0f760ec6ee8d2a6c917ab2  gdb/selftest.m4
-f60675b0b425306557bd98506bb81486  gdb/ada-exp.y
+15f43a65d2cbbe48250d5c3d87fb9c2f  gdb/ada-exp.y
 9a068736d3084aadea48ab854945e5aa  gdb/x86-tdep.h
 0cb2dad0557a0517616f3bf6ea822480  gdb/frame-unwind.c
 c9c36fea3fd2139bf8abb5d1ceee2074  gdb/acinclude.m4
-80de26236842b787dc0447a471498301  gdb/arm-tdep.h
+a31e3a75542af8ef237965b13e287606  gdb/arm-tdep.h
 c386be304aa029119f51fc0558cdd04d  gdb/configure
 2761ea60a99dfb77555b2a525464d874  gdb/main.h
 e3a764210b5f4132c85cab00e873b964  gdb/alpha-tdep.c
@@ -5825,15 +5786,15 @@ fd7264992cc379ea32d7310ec9794216  gdb/ps
 2ea7cff28a922f84e6a33e423ffe50c1  gdb/aclocal.m4
 7ebb0bc09809687f5ec86c69bce1d052  gdb/p-lang.h
 54a58e9cfc36eb7b94da0947b41c07f0  gdb/solib-darwin.h
-9f9fb092bd3d97cd9f54db98cf6a4a87  gdb/command.h
+2caec02fa7592d7230456c3265e16676  gdb/command.h
 05aa0839346a2ef68dc2064615c958fa  gdb/buildsym-legacy.c
 7242736b5bba9098c974d0e015b167a5  gdb/std-regs.c
 90d72be4c884a79ded08fa4fbbcb6b9b  gdb/go-lang.h
 9a1fd6216061720bf8556e23cf224721  gdb/i386-windows-nat.c
-c5957315727ec3160d1862ff5cb850f0  gdb/po/gdb.pot
+e0b93a1920be00e4b346706918b24c2a  gdb/po/gdb.pot
 1851bff0653201a488dcae18dde7efad  gdb/po/gdbtext
 c28f3e359bd8b7031f9f06b0ae250328  gdb/break-catch-syscall.c
-164f69e35aff369a3af67738eb5a1bfd  gdb/ada-lang.c
+ba4c37925e63da54dc163be709601347  gdb/ada-lang.c
 9ec348d0857f0352bf1397e00da1c706  gdb/dcache.h
 b02475bdd50d3c99a983b9a13686dc1d  gdb/system-gdbinit/elinos.py
 3f5b967cd5953ac63c43eae4dcdd511f  gdb/system-gdbinit/wrs-linux.py
@@ -5842,12 +5803,12 @@ d9f3607bab1323c62234289837760737  gdb/m6
 10bdeb1aff6fa8a352971037aae1661d  gdb/gdb_wchar.h
 91b2b08c3416065aac5e2ae74a414365  gdb/annotate.h
 d38535504d883ed3480bb4c0dd414b66  gdb/ppc-fbsd-tdep.h
-2c95ec3c21c78e4d2c66a633986e88fd  gdb/parser-defs.h
+b41ef90809fe1f03fa389dd9173b503c  gdb/parser-defs.h
 e6deed32ce356ea42ff419b0f484b720  gdb/disasm.c
 137fab3675e658b2048896b5a7f5d7a1  gdb/memattr.h
 9a38a0074f73b566a8cac7d2615897c8  gdb/moxie-tdep.h
 7f33f67bc62c18988b19f18c381f1a1c  gdb/tic6x-tdep.h
-ba5086b294bf17472d0502d9be5fc120  gdb/dwarf2read.h
+764e4000855b8cd47489d1fc36264ec0  gdb/dwarf2read.h
 2df2e6a577389d2a78ef4d7cbefc21d5  gdb/regcache-dump.c
 a28ef3d93a58aad81a6f04ba9d0ed8f1  gdb/sparc64-fbsd-tdep.c
 5e06d10b1356f1d9d51774a8687bb844  gdb/location.h
@@ -5856,13 +5817,13 @@ a28ef3d93a58aad81a6f04ba9d0ed8f1  gdb/sp
 9a59ceb5a7ba66d0ceb3a0349842537a  gdb/sol2-tdep.c
 bc1fe71637d712bf582a2bb5d733362b  gdb/cris-linux-tdep.c
 3bf730b09828bcbae14d312e06272df9  gdb/arc-newlib-tdep.c
-b3f265c219442737691348c5fdbc0263  gdb/maint-test-options.c
+0628f32b427ca3bce5bac2616ba82ef7  gdb/maint-test-options.c
 05326405717c560a5bb68f8c817062ea  gdb/expression.h
 e3e2430aebaf80b6aca6759cfa9612d4  gdb/nbsd-nat.h
 0d4182edc7beb626c56d423668383a2b  gdb/i386-fbsd-nat.c
-c0e6c36bbe6e2cc622968fcfb73c52dd  gdb/mipsread.c
+094e893d632874e14e92917b8c57c5fd  gdb/mipsread.c
 d4e47464ef8b510c11c547fb163d603a  gdb/amd64-darwin-tdep.c
-0a5d9238144d5e2ce45dc2ebfb6eb460  gdb/ChangeLog
+89eaea4ca1c7268d2170f6a9d1ce9311  gdb/ChangeLog
 2fd8f81fb260df7b31ffaaaa44e1d4b9  gdb/go-typeprint.c
 72844164dd4f7823c2ad86ed48f0b44a  gdb/score-tdep.c
 d53f4e4aa4335ee525083954f4c2293b  gdb/xml-support.h
@@ -5873,11 +5834,11 @@ b882ca969c2b633c8a8513e0da4dcbf6  gdb/i3
 07403fb44ca46dd8e4c2e5deb96adf85  gdb/sparc64-tdep.h
 961d72c5e50893530090fff4cd4e8d3f  gdb/macroscope.c
 9cfe6317d50afe29f99b750eaa8be877  gdb/proc-why.c
-ed6b15cd94847838846b7ee347c2b8db  gdb/cp-support.c
+65efda740f65c4f1ed294fc42ab225d0  gdb/cp-support.c
 1de2e2c8bd6fc22a95d8484cbf584e4d  gdb/process_reply.defs
 f62b48ff444e0f85fbbb22c1f2adf0e2  gdb/amd64-windows-nat.c
 6bbfadc90a3683bdfbb0348a041a80da  gdb/ctf.c
-2ce965f0d0a0a6c2a03702b413485281  gdb/remote.c
+82cea3295eab9ef319c02d8fc535700b  gdb/remote.c
 ec36b21691136ef0467817b5aed78b57  gdb/amd64-obsd-tdep.c
 9db106f64fd1c01393d7c4c61909868a  gdb/inf-child.h
 c3753169ffe91178ce189a46e7eb01ee  gdb/frame-unwind.h
@@ -5888,9 +5849,9 @@ a685f4c46fd956888d41d71abbc9a0cc  gdb/hp
 410f8ea4e580e26c93b006a69dc79435  gdb/proc-service.list
 232d4608389ab06ecb9d8eb50dc130b7  gdb/gdb-stabs.h
 dcc09de945cf86f1c77e306e5bf5c1ea  gdb/p-exp.c
-8913aaa132647406bf71ba5344954a14  gdb/btrace.c
+91b84037c38b69e18f3b1b211bb25482  gdb/btrace.c
 0c1bb8b0d2e1453631b78d1d4ba2fa6e  gdb/m68k-tdep.c
-168a72477b955619db775e94dc1c5242  gdb/coffread.c
+c5b8a08bbdcb7f4a7ed18fbc1baea80f  gdb/coffread.c
 3629f4a01bae6eb86b9eacda4a317361  gdb/findcmd.c
 cd502899e31326c96cb88a08903831d6  gdb/i386-tdep.h
 0118abe07c4d50638985083868d0db78  gdb/linux-nat-trad.c
@@ -5899,14 +5860,14 @@ e15b66cf521662a3d42008410ed3a2c7  gdb/hp
 49feb8c24c5d669f7863e10fa0b25ec5  gdb/gdb_mbuild.sh
 0c27ec22c579ae676e468f7fb8631916  gdb/memory-map.h
 715bf52c6b52204b62c04d9d8d1d39d9  gdb/symfile-add-flags.h
-240c69afb390f3e730a0a67c31d2a122  gdb/nios2-tdep.c
+4bdf40b20d58db64ad1472ffdb078b73  gdb/nios2-tdep.c
 71c03f2c9096cbbe8cc106d11dec770c  gdb/inline-frame.c
 f1b6501076d78b5217e2f36caf797044  gdb/p-typeprint.c
-423d0f837f30477f47c4239d733971dd  gdb/xml-support.c
+546d5058fb10744f8ff30c4f5f1dab13  gdb/xml-support.c
 b34bd52f65001ae47a617326da9290a3  gdb/amd64-nbsd-nat.c
 48ba8416a477d2f51e300b6c1ad1dd33  gdb/arch-utils.h
 5cfa770b39facd51d62a7ffd5e39dd39  gdb/darwin-nat.h
-8d4ad76636bb3d0e3b2d622d0376687a  gdb/s390-tdep.c
+506d974aed9e21f528579637d9777fea  gdb/s390-tdep.c
 10b2a31d970d7f71efca58420f604bc4  gdb/riscv-linux-tdep.c
 bd6c9d93598798ba0f16d33d0b417aab  gdb/linespec.c
 e0a9eef361e1d520b164856f8d56b4b1  gdb/proc-utils.h
@@ -5945,7 +5906,6 @@ af2244f4f4df3b1efe1f188b3b2c78a7  gdb/re
 804cd0c318f49e2da247a3f965fcb5b6  gdb/regformats/reg-m32r.dat
 0d2da26a79c9d2705465a5afe9fdab08  gdb/regformats/s390-linux32.dat
 767b3762219584b4953a737251b6347f  gdb/regformats/reg-m68k.dat
-5bf224ddaee9fb46ea4c9ac7d14ac56c  gdb/regformats/reg-spu.dat
 7102f1bedd1a2fa9b677437166b92c40  gdb/regformats/s390-te-linux64.dat
 ccc2e6c9eebe99b681af91142607fb6e  gdb/regformats/reg-xtensa.dat
 b7986be86b460d6dcdc745c89639d712  gdb/regformats/s390-linux32v1.dat
@@ -5960,7 +5920,6 @@ c1a2013b0acda7beb71a8e8c221ee6c1  gdb/re
 94971b6efbfee04cd1635005a1be5bad  gdb/regformats/rs6000/powerpc-isa205-vsx64l.dat
 0ceb8d8c4de4ec95ac10edbfcbc7b83a  gdb/regformats/rs6000/powerpc-e500l.dat
 de9360bc7bc27d3795e5d58de9303f94  gdb/regformats/rs6000/powerpc-isa205-64l.dat
-7a99da99136faa4820321d69982fdfd2  gdb/regformats/rs6000/powerpc-cell32l.dat
 596006b276b01ec86e018e93555f58b0  gdb/regformats/rs6000/powerpc-isa205-altivec32l.dat
 f3fd12ba7974ac3dc18a14246b2d1252  gdb/regformats/rs6000/powerpc-vsx64l.dat
 2ea607f9ced77ac6a49cd464ae9f1834  gdb/regformats/rs6000/powerpc-altivec64l.dat
@@ -5970,7 +5929,6 @@ f3fd12ba7974ac3dc18a14246b2d1252  gdb/re
 21aeb783caf98f30df5f424e15596f10  gdb/regformats/rs6000/powerpc-32.dat
 6d8d9563b1237674548090d3d82db49b  gdb/regformats/rs6000/powerpc-isa207-vsx64l.dat
 824208fa84cc25216d1198884d378642  gdb/regformats/rs6000/powerpc-isa205-ppr-dscr-vsx32l.dat
-9a194c98a2749d4e8cb150b1ee47d628  gdb/regformats/rs6000/powerpc-cell64l.dat
 bc486ecca2fd0c52c52b02036289ec3a  gdb/regformats/rs6000/powerpc-32l.dat
 c016ee34079bfc9541a8b1aeb90092d1  gdb/regformats/arm/arm-with-iwmmxt.dat
 48e4338e40e3a68993c379264e3f2563  gdb/regformats/arm/arm-with-vfpv3.dat
@@ -5987,21 +5945,21 @@ b09b0ee5da44df728eb552f6bf6ed138  gdb/re
 7d521124886bd1a212ec6ac542743020  gdb/regformats/s390x-linux64.dat
 40ba412a0b4d6cebeef61c90e6f6629d  gdb/regformats/s390-linux64.dat
 5b7809bbc018af8b2c2bd6f0c2842351  gdb/arm-obsd-tdep.c
-8b89ccea32bd5624fb846558bfd79155  gdb/utils.h
+e22f3fa81684635216c25e4a8e1d2c16  gdb/utils.h
 3c99a3f8471159fdf478429762fd1127  gdb/sparc-sol2-tdep.c
 d97beaede16360a10475271a06a10e9e  gdb/procfs.c
 ea3a0339e53fcacc45f5b891634f3e2d  gdb/solib-svr4.h
 d166f603116e1f1ca46dec27d458f4ad  gdb/psympriv.h
 420730b20c461c6724a8ed92154639ce  gdb/rust-lang.c
 e3cecacdfe4a5f4957ea7a6a3f1d677c  gdb/m32r-tdep.c
-c5a59f0cf21ab36d1923e8bda4e02206  gdb/hppa-tdep.c
+973af4cc4b094b7f4899f04dbd820f33  gdb/hppa-tdep.c
 dea2b5a6b03948793599866325415211  gdb/exceptions.h
-89aaf56d47d194a3163d1e86f75d3787  gdb/csky-tdep.c
+f10ff16a74769a43765d05059c14de0e  gdb/csky-tdep.c
 d32239bcb673463ab874e80d47fae504  gdb/COPYING
 5825c6591dfff63c10abb3f15f916eba  gdb/arm-symbian-tdep.c
 718e7b059ad8ac542700adb4d1359d75  gdb/guile/scm-symbol.c
-372ffa75312750f0f42be37b6f37ae0a  gdb/guile/scm-param.c
-0ca1d997c6c9239d64aa6fac39756908  gdb/guile/scm-auto-load.c
+d5fd1a463ba492ee6ae7caa6b8207281  gdb/guile/scm-param.c
+0f6eaac6b81775186d856dc9834594be  gdb/guile/scm-auto-load.c
 67799b109abe62fae418fa1356aa8cce  gdb/guile/scm-arch.c
 733ee850db0a4e35bb30cd993ccf0bc2  gdb/guile/scm-objfile.c
 651a5eb9533cc6fe61e7a427fe63dd72  gdb/guile/scm-frame.c
@@ -6039,14 +5997,14 @@ d75e5df7abee3d614831bf2e9e9e48d7  gdb/ob
 b57628c489d12a55931c64a1c75bee2b  gdb/charset.h
 97273dc809ad6327b606ddbb85a547ce  gdb/fortran-operator.def
 ec37492833a420567b71a6afa1840bc7  gdb/memory-map.c
-b84f25947d4874aef1367e4a6a41f5cd  gdb/mdebugread.c
+1dee3bd6ec357794da35892a77900bd1  gdb/mdebugread.c
 e627ef90ea5e10cf66b83c23af44839d  gdb/progspace.c
 695314fdd81787b828c240a9c7256046  gdb/ChangeLog-2018
 35ae8edab0076f180bd5dd69040556d5  gdb/sparc64-fbsd-nat.c
 571119fb533af599ec89544556ddaf5c  gdb/nbsd-tdep.c
 90aae6c441eafe7d212c29cadb179315  gdb/macroscope.h
 c80d092b8fdc97cd661a06b8e0aa32af  gdb/ada-lex.c
-88fcca61547df6b9ad8c94991f0a3404  gdb/solib-darwin.c
+f12c702a6569f5a8f3b19676c377fcea  gdb/solib-darwin.c
 b9dbd4649c63d0688c812324a075b401  gdb/tilegx-linux-nat.c
 a815180cb046df97ef4f152844a43480  gdb/filesystem.c
 70a77fd6898743da19391f432f32be37  gdb/ChangeLog-2008
@@ -6057,22 +6015,22 @@ b2df5dbbf0d834f91c93f802e200fbb8  gdb/d-
 2bc56b3e27346385bea489d2b570e35a  gdb/sparc64-tdep.c
 02eb8c180801e4232a888f9b56ced2e0  gdb/sparc64-obsd-nat.c
 22d637bae4ae86efd76edbde63490dbc  gdb/rs6000-lynx178-tdep.c
-1bd165ab1dd97c2bd6a93035235f4a6d  gdb/arch/aarch64-insn.h
+0cb67823d7b1cafe3b5c272bf1fc8347  gdb/arch/aarch64-insn.h
 271469798e02d1bd87222e2f6c523660  gdb/arch/xtensa.h
 70bde87ab6d1d026e9b59c9e077dfdef  gdb/arch/tic6x.h
 f8d75ffad07777b71bd7b5336e98da80  gdb/arch/arm.h
-bdecc35bc605f291f78565dac28658d1  gdb/arch/ppc-linux-common.h
+8a98afe013c8ebca22f8661e0dd27744  gdb/arch/ppc-linux-common.h
 a5673e40a4d54345f2315e7eb2ae1dc2  gdb/arch/arm.c
 52b1d9f0830f479ecb3eb4fd27a2e21e  gdb/arch/aarch32.c
 fa52ea5ffee814c32f5a4465bb297cf6  gdb/arch/amd64.c
 4066f3a9686c2d6687794f14bf05b356  gdb/arch/i386.c
 f3010e2cbb11f694db9c3446f9457c1b  gdb/arch/riscv.c
-f43c740dfa72cb73f9e754befa564955  gdb/arch/ppc-linux-common.c
+52061023d4ca609c1daf5f5cfc38abe7  gdb/arch/ppc-linux-common.c
 d5052d0a7c7b944d72e90b21f4e7cdbf  gdb/arch/aarch32.h
-4a3a842cc9a7b3254053615819279961  gdb/arch/ppc-linux-tdesc.h
+e996fae2e038e8cef05864a8677f5c0a  gdb/arch/ppc-linux-tdesc.h
 11d0c5898dfcb0c61840a2ebad839ebb  gdb/arch/aarch64.c
 ca5e50854f11f2ed3534248758d388a4  gdb/arch/aarch64.h
-f1f6c5821731ebfd019c683a86964410  gdb/arch/aarch64-insn.c
+e6249e642bfbee964305757886420571  gdb/arch/aarch64-insn.c
 42c2455cfc014b3132d5158a7e0b61ec  gdb/arch/riscv.h
 7caa6043a57c789d9ee57700825c400d  gdb/arch/arm-linux.h
 a86e833ef41ec4e1c106d9742f14dde0  gdb/arch/arm-linux.c
@@ -6095,22 +6053,22 @@ a87f7cbcd23b4518bff2a47427b45219  gdb/gd
 6a7cf3def14023d9725682de58da3bfa  gdb/gdbserver/hostio-errno.c
 c49759dff0e29276ffbfbdc87aa8f26f  gdb/gdbserver/dll.h
 c11610420f502917645a862d906e71c8  gdb/gdbserver/nto-x86-low.c
-1eb9a961f12496db1c6b166170d36c9f  gdb/gdbserver/target.h
+a446d88155931510a752cd3cf3ab3ed9  gdb/gdbserver/target.h
 9573d3b6e5c1c10bca64d1f218153d03  gdb/gdbserver/fork-child.c
 5a827a410593f085ac486c1205da290c  gdb/gdbserver/linux-low.h
 4506010618220054012a21624fdd475d  gdb/gdbserver/linux-aarch64-tdesc.c
 26a88aec922b4086a60232ffa2290f93  gdb/gdbserver/linux-ia64-low.c
-7c781f4eaab52a2932e38c8a1b152aae  gdb/gdbserver/configure.srv
+75d20eca2ef12eba2029f0455b1b93ab  gdb/gdbserver/configure.srv
 5d50b7d93133549803ab08b428fa8774  gdb/gdbserver/linux-arm-low.c
 6963952ec8c53155c409a9db4a42c1ba  gdb/gdbserver/tracepoint.h
-e4b3c0363f2140394bfb5820d0948320  gdb/gdbserver/linux-aarch64-low.c
+4b6636342045e38a5ee2deb9d6fb9b4e  gdb/gdbserver/linux-aarch64-low.c
 ef1cfffc0a9d3a88639916e59159451b  gdb/gdbserver/event-loop.h
 b52e9745665d69a43692ba6b627161e3  gdb/gdbserver/ax.h
 abb9dd637a82bca099ae82841f561518  gdb/gdbserver/linux-m68k-low.c
 1ab405625de3d01e5d4eef4343fdbeae  gdb/gdbserver/mem-break.h
 eb4cd5b79f74dc6387dd91ba4b8fc289  gdb/gdbserver/wincecompat.c
 67374ce23417974ab48d6508ae468f18  gdb/gdbserver/utils.c
-cb343bb02d7a8ad98270d67f9903e791  gdb/gdbserver/win32-low.c
+bb378357b29d2d9a7a4bff8cb995268a  gdb/gdbserver/win32-low.c
 93c3c895d1b799e240a747917cfc51b9  gdb/gdbserver/linux-x86-tdesc.c
 e21ca15762adda3e74d0dee7d6ce2d64  gdb/gdbserver/lynx-low.h
 2bcb6204c811a07009e8cddbc6a2fadc  gdb/gdbserver/tdesc.c
@@ -6125,7 +6083,7 @@ bec2b49bb19933a66ffa16d7de189074  gdb/gd
 946b41840f1b80f78df22141b304ae52  gdb/gdbserver/nto-low.h
 be5efeb7416f8532b1f78848186ba1c1  gdb/gdbserver/win32-i386-low.c
 a1832d769b372593b9130df5ce7e48e4  gdb/gdbserver/linux-nios2-low.c
-1be5148d196fa296fab03aa0f5a3be9c  gdb/gdbserver/linux-ppc-tdesc-init.h
+801ae6c1f8825e51d3a19a8029b0b8c7  gdb/gdbserver/linux-ppc-tdesc-init.h
 9ea14aad863809477c84c0c188cf8066  gdb/gdbserver/lynx-ppc-low.c
 b9055c97bb8cb32a290a83ce54f019e7  gdb/gdbserver/ax.c
 8ed2399860092118e617b92ad34bcdf8  gdb/gdbserver/regcache.c
@@ -6134,25 +6092,24 @@ b263e3c3d4d5c1dca3f5ed3c77be3798  gdb/gd
 fc25825af970ab717c85c8b3e4d3bf08  gdb/gdbserver/linux-i386-ipa.c
 117ca7c66926a45a859c23ea406f929d  gdb/gdbserver/.gitignore
 8a8792901d00c88a71c202ef053608d4  gdb/gdbserver/lynx-i386-low.c
-5f7c668e5e28ddbf29903fe4b020e6d9  gdb/gdbserver/lynx-low.c
+e069cfacaf68148a2e054a767c14c4b5  gdb/gdbserver/lynx-low.c
 9df5ffef99389a9fac6d47a8cb3eb89c  gdb/gdbserver/linux-s390-tdesc.h
 e0f05329b0bbb96b897830f34e7cfeed  gdb/gdbserver/linux-sh-low.c
-a9472f09ce96690a1b774d4545ede777  gdb/gdbserver/spu-low.c
 3344da962201e2fe1cb7403b53e84da6  gdb/gdbserver/symbol.c
 f49b5cf9276f7efdd3b0fb4fed7a1ae3  gdb/gdbserver/gdb_proc_service.h
 2c434d9f08ff1d56221e4be3fe3ef0a9  gdb/gdbserver/linux-crisv32-low.c
-bfc537649a34b98a498c28d9bb7a0c09  gdb/gdbserver/linux-ppc-ipa.c
+baa6e939a9ac5c4c308673d191fd2ff9  gdb/gdbserver/linux-ppc-ipa.c
 ddce5ea4e05ee37b2a83c7560d310027  gdb/gdbserver/proc-service.c
 547950569434000bb41d9c0be4ebed40  gdb/gdbserver/linux-arm-tdesc.h
-562767064b83eb33015708706161ebb2  gdb/gdbserver/remote-utils.c
+e16962118ed8e2547b542204dfd336bb  gdb/gdbserver/remote-utils.c
 882162f55f552b93d71d3071179ea861  gdb/gdbserver/hostio.h
 08486ffffea6e1e470808efcb8a6c576  gdb/gdbserver/notif.h
 3c0613be065b957f79f0b7f3dac36434  gdb/gdbserver/linux-arm-tdesc.c
 e655892808369d4bf0ee51cd2768f1ff  gdb/gdbserver/linux-x86-low.c
-04b4b4d6b40f7c16a20e67f749b447d0  gdb/gdbserver/server.c
+93e272248288549ac230d0b5abfbf052  gdb/gdbserver/server.c
 b9d24de1a2b2b930e6b8f57b7b0d3e01  gdb/gdbserver/dll.c
-c2c996ab93968b41980b6df3c98e94c6  gdb/gdbserver/debug.h
-f4ffbaf4a817032a48f235bc742e91de  gdb/gdbserver/nto-low.c
+54d753cd22397bbe52c7ff1d07b60cbc  gdb/gdbserver/debug.h
+486fb9cb4f577430a4ef14275a74b84f  gdb/gdbserver/nto-low.c
 306a391a1f195725832de86f84d2a8cc  gdb/gdbserver/x86-low.c
 937ae585e458e8ed3ac0686de51b2601  gdb/gdbserver/gdbreplay.c
 be7fdbe955109fb778edd90bee18fece  gdb/gdbserver/regcache.h
@@ -6161,12 +6118,12 @@ be7fdbe955109fb778edd90bee18fece  gdb/gd
 6c3297ee3f0a24c92a5a71dc901c8711  gdb/gdbserver/notif.c
 eea815266498b2bf0b6eb3ea7c00f156  gdb/gdbserver/linux-cris-low.c
 14e3f51a1c926c2938db5a287828196b  gdb/gdbserver/aclocal.m4
-9bbb2919f886352c24a5d0942982c10d  gdb/gdbserver/thread-db.c
+bf9d83d872573e7591621faa8ff8063d  gdb/gdbserver/thread-db.c
 7967452c1a174dbbaf9addf7039b767d  gdb/gdbserver/linux-s390-ipa.c
 d66371af32c6b6d99d5bad5cc116998f  gdb/gdbserver/linux-tile-low.c
-1ecc7c4d93382af2388aa4353db050c2  gdb/gdbserver/ChangeLog
-05eb2261152b57e35e98a13d2f2863c5  gdb/gdbserver/linux-ppc-low.c
-deda41999a970453da7340d7447531e9  gdb/gdbserver/linux-low.c
+5c84e721c1f0bb5052852b07769d44ec  gdb/gdbserver/ChangeLog
+d6d57c407b1e1f570138c5b6219bea3a  gdb/gdbserver/linux-ppc-low.c
+0a0f92907f27033d40c0390cf48f80d8  gdb/gdbserver/linux-low.c
 3bb976eb624e5c4cebf34f9652d67b50  gdb/gdbserver/proc-service.list
 40a1ece39d85775acb990697a91b498f  gdb/gdbserver/linux-s390-low.c
 487dbdd8c7cb1ac94d7331038a648687  gdb/gdbserver/utils.h
@@ -6177,7 +6134,7 @@ deda41999a970453da7340d7447531e9  gdb/gd
 ed4b1cfbfa83e279241e55d600073ca2  gdb/gdbserver/wincecompat.h
 b4f883b66de5f68f24ad2d32d87214b8  gdb/gdbserver/i387-fp.c
 133e33e6f13f19bf08d9d62da4d82f6b  gdb/gdbserver/tdesc.h
-43eda4b580c196e390222b16930b2a51  gdb/gdbserver/debug.c
+09256dc62d61c13224b5baf9a7ec7778  gdb/gdbserver/debug.c
 6f9a5e225f3e02d0ab9b643b904c5a92  gdb/gdbserver/gdbthread.h
 0ce888299411ad100e4319edfa7cc339  gdb/gdbserver/linux-aarch32-low.c
 797602a900a151519e740d078aaadd18  gdb/gdbserver/win32-low.h
@@ -6204,18 +6161,18 @@ ef7f67e5720cf7b193349f8687243947  gdb/st
 8edc014e1b5928dd9761408fa7df0d64  gdb/stubs/sparc-stub.c
 ffc93e69a8813484cec63da022b68375  gdb/stubs/sh-stub.c
 aecbdeb81381984cd344df02cca0948f  gdb/buildsym.c
-505cd0a78b11398e2d82666afd8f0df7  gdb/breakpoint.h
-1ff73d10ee0365c12457b015a38e17bf  gdb/objfiles.c
+a430ed9fcd721ad7ea5593bea0c25415  gdb/breakpoint.h
+108ab91a018a09d8294c94775b12838b  gdb/objfiles.c
 336df5aa02e0c34ca27f7c40a8731e7b  gdb/debug.c
 91a2751fd55fc5eee28d4ff5ed905e4a  gdb/sol2-tdep.h
-5e746a62e38e6c0cbb197d89f972f861  gdb/ppc-linux-tdep.c
+6c6b05fa57cf08cea265405cd821daa3  gdb/ppc-linux-tdep.c
 34e4c5a82017c9074d70a036a1195776  gdb/amd64-bsd-nat.h
 33e82795b3de28ec33551530ec362c2c  gdb/ChangeLog-2007
-8d6bb25842a907523a2347495253c15f  gdb/gdbthread.h
+0a44125c1ca5b2bb07caeb1c74c43f42  gdb/gdbthread.h
 0c9e8145cfa947216c425c17fb0878b6  gdb/silent-rules.mk
 72ef16422ecc629a54f50ebfdaf4d16c  gdb/macroexp.c
 677680d11d3fce6ad32ad8cd17cf93e3  gdb/blockframe.c
-3e4216bb12ae9b076d2408e918afdc64  gdb/maint-test-settings.c
+d200fe4af2d41a112f3dfbf50e5b2f01  gdb/maint-test-settings.c
 73c6726fa7a050ee086bf0400751f940  gdb/ia64-vms-tdep.c
 7b64fe0e9f15710eafefbdb1e2dafa60  gdb/rs6000-nat.c
 9ee15968432b3607548f45113699f6fe  gdb/ppc-sysv-tdep.c
@@ -6234,11 +6191,11 @@ d54dab3401ff05ddaa799b4e58843913  gdb/ma
 2b3c57e308e207c12b1159656d0f7cb4  gdb/m68k-linux-nat.c
 be7b69d04d3312d5b6820502e5e55d7f  gdb/arm-nbsd-tdep.c
 c04d9e5e211d2865a07560d241ba52d2  gdb/rust-exp.y
-4dc1dbae32a9876ae667aa05fb076ae3  gdb/linux-nat.c
+aef598e437e02519a3965db861556348  gdb/linux-nat.c
 a589b8fa2d251d722fc439789006dbf3  gdb/producer.h
 473f33ba921545be6c0c70ad25c103f4  gdb/nds32-tdep.h
 f2a08a5058f2f62a08f8e61839b7ac80  gdb/sh-tdep.h
-13c7e902015e8862f3f6f500b6e4845a  gdb/top.h
+5c0b667e724eb595390dbb1b22e642e1  gdb/top.h
 2e30eda3e044bbe5e6b89a9de95702aa  gdb/xml-syscall.h
 f6a8bc868aad0f7d193f9c2c12fb9b34  gdb/xtensa-linux-nat.c
 1f6b545be0b6822eca215d0b5f1edfc2  gdb/exc_request.defs
@@ -6246,38 +6203,38 @@ f6a8bc868aad0f7d193f9c2c12fb9b34  gdb/xt
 842c0bdb7f1e2a5b8906bd851148a72e  gdb/alpha-bsd-tdep.c
 8f5a03c189727d347a330548f3ea9c98  gdb/ChangeLog-1991
 c318ef7599f816722fa0bad86a1f0b34  gdb/amd64-nat.h
-3ce1024c817e1b70512a0cb3b5d0189f  gdb/windows-nat.c
-cef2e998aa06b6467aed236bd9967089  gdb/target-dcache.c
+94ff244eb64268539cec147a8bf6ba6f  gdb/windows-nat.c
+515ab46bb14f15c859c83a0b9e977146  gdb/target-dcache.c
 56d40eefc754edd90f4c3899c7bda35f  gdb/alpha-mdebug-tdep.c
-2a754a9031d6058efec932a2057340c8  gdb/symmisc.c
+719c1d0d3b43e867e71c104dc86d67bd  gdb/symmisc.c
 9154d59dde7ab48320c6c8d537707734  gdb/compile/compile-loc2c.c
-f1426c38d9244abfc97b923f087b7f8f  gdb/compile/compile-cplus-types.c
-14654623de8a4d9448eea03a55b6b337  gdb/compile/compile.c
+7d8316bb21438675ae2cb7f997592d91  gdb/compile/compile-cplus-types.c
+cc1dce68cb114961d021bb9c2566f3bf  gdb/compile/compile.c
 7434d2f140262cb34ef1cd8812448686  gdb/compile/compile.h
 474bf329004d8ddb08cfda80dd543e43  gdb/compile/compile-c-symbols.c
 971182606de181459a7067a1fb2deded  gdb/compile/compile-c.h
 a5ad2aab1501687cb087b22b3d6898ed  gdb/compile/compile-object-run.h
-9b00bf640bb31713d46906a7413c35f2  gdb/compile/compile-object-load.c
+bf6a5fcc6784a50f17b6e57e5a32ba46  gdb/compile/compile-object-load.c
 fd7fb73193ab5d850ef4fc560475344e  gdb/compile/gcc-cp-plugin.h
 ac0bb6f379fac722f4bbbfa4b779cc1b  gdb/compile/compile-c-support.c
 71e692cd45d1b2f559118f45f7df87b4  gdb/compile/compile-cplus.h
 98d04c23167a12fcbf1821a3620fddd1  gdb/compile/gcc-c-plugin.h
 e5af3e53aff80b6b24c3d5841ec8d6e7  gdb/compile/compile-object-run.c
 ef248232f84d0de0b47f74f9bf82b53e  gdb/compile/compile-cplus-symbols.c
-576fcfdd3ab69573d1737170d6e275cd  gdb/compile/compile-internal.h
+797504580fb7b0cebd6e088c4e816f09  gdb/compile/compile-internal.h
 057e21b49faf3a8c53eddb9ef82b3686  gdb/compile/compile-object-load.h
 323a2dd57092c6e5677a50aad2a70faf  gdb/compile/compile-c-types.c
-52248e85a561992f6ee8bf5d252c47e1  gdb/value.h
+a8350e52c74ed018cec0c4ad4374340a  gdb/value.h
 ed5ee5ceb8418a3c9bdd4ac3368802f2  gdb/ppc-nbsd-nat.c
 bd9f3ddf10aa5822382e4b1b7894c911  gdb/auxv.h
-321fb8563cd948193deeef8991f8e3d7  gdb/i386-dicos-tdep.c
+334796bc6963d95f52f05c9f7f3179b0  gdb/i386-dicos-tdep.c
 09a48bb1cec7698af852f589046abc27  gdb/aarch64-newlib-tdep.c
 060b7403b1b67c9dc4acb19bf57f4bb9  gdb/gdb_usleep.h
 46a8c765ccff4cbf2fa3083ac30b570b  gdb/i387-tdep.c
 cef7717ad443ecddf064ffdc1977d469  gdb/ada-operator.def
 1469e8b56bbb43dc3c5eb0f5b4071844  gdb/libiberty.m4
-c93f2db5d33b78244f4f5c2416235049  gdb/dwarf-index-write.c
-c96862e301fe995839f3e4000d357a30  gdb/gcore.c
+f931332c389265d9a6de85de1be58a21  gdb/dwarf-index-write.c
+d4bce23a7af3129a6ab7cc56cb9b182b  gdb/gcore.c
 b8361790d5bf10aa0a3a48493e9a2571  gdb/hppa-linux-tdep.c
 1db93c25702b328960d3421d02910e19  gdb/p-exp.y
 68c817d3c62b0dfe214a03b22e6f8a2f  gdb/ia64-linux-tdep.c
@@ -6286,20 +6243,20 @@ ea3666bda49432777051c610649b5ab8  gdb/xs
 43de4283edd0c940a9e8b13715c553e5  gdb/i386-obsd-tdep.c
 527a92f93c7693f095fbe432ab6ad918  gdb/ppc-nbsd-tdep.c
 14dbc13965d0ce622f91cd5ab1077011  gdb/stabsread.c
-af2132b1cd335f4e01a1c8c99b802db4  gdb/MAINTAINERS
+a2fad7c3a343fa966549dec04c4867a0  gdb/MAINTAINERS
 f47044c0373443bbd1b7db7d37d267a1  gdb/arm-fbsd-tdep.c
 684b3f8393021bcde657ce22c1fe785b  gdb/i386-bsd-nat.c
 56c37046ecd5dcc744a9d91597a77e1a  gdb/terminal.h
 763dbec47832daf83835796cf0ecbdae  gdb/filesystem.h
-d59be39ccec0cb522467e962b1f2dcfd  gdb/remote-notif.h
+1c957f45a79b88b66b34de0f65751739  gdb/remote-notif.h
 42eac25e538fd827ff61b4e1cc0fb210  gdb/i386-bsd-tdep.c
 7d87655dcd7e7ce18fa8ab4265658fd4  gdb/lm32-tdep.c
 9182d056dfb72a75e131d2265247a45f  gdb/continuations.c
 87f51a66cf71a1a32d8b51d4555690a9  gdb/amd64-bsd-nat.c
 bb87c608ca2c65e1bd64d1f02f4c11d7  gdb/bfin-tdep.h
-e3cb3a30970833029cb1a1f508968716  gdb/eval.c
+37037bcefcc88b4aa766c6577c2a7bb9  gdb/eval.c
 84d195a807c1db51a9430773d14838c2  gdb/ui-out.c
-2d719fc78d2e6f5b251a2e97b380a6ce  gdb/amd64-dicos-tdep.c
+c5bb4c01723316a1fffafcc5afaa6d52  gdb/amd64-dicos-tdep.c
 df4034a9a8ac1a6ebb31e15d0dc142d3  gdb/sh-nbsd-tdep.c
 d5a7ad65edefed2e0994ffca3c4e5e47  gdb/break-catch-sig.c
 2e41aaee4fd6d474c215a6b212931b65  gdb/std-operator.def
@@ -6317,23 +6274,23 @@ a697abb4daa22bf0b858cba76ca7195e  gdb/bf
 114e5ca151b64e86d094a1b7a482da55  gdb/stabsread.h
 aef8af5b7f965be05d6aaec0892aae72  gdb/aarch64-fbsd-nat.c
 010060e94e9afd02e5ac0ec6edf26f4b  gdb/sparc-ravenscar-thread.c
-ac5f69bba2d73240ee8f754199b39127  gdb/ser-unix.c
+9f915954c9a73eb875089c19ecf3c0a2  gdb/ser-unix.c
 c80a7818e550364ede361dec90921187  gdb/m32c-tdep.c
 85784b597d09bd05f6b8f8fff92090b2  gdb/amd64-linux-tdep.c
 f8ca8e5d7f279e4085702ef1b8a7fbb8  gdb/sparc-linux-tdep.c
 29904ab3925bae5e9a6e36f4a6e8ef39  gdb/sparc-linux-nat.c
-6f95b48659bf5194a5c7d41ad718a159  gdb/i386-fbsd-tdep.c
+558909100b98bf896965fe30e7010653  gdb/i386-fbsd-tdep.c
 3f4875d68f7e2ead62ed7b19c43e7b66  gdb/cp-abi.c
 79ac31e86365163702a2749f78198988  gdb/frv-tdep.h
 275d10c5394c4f6e04f67f6b3679f221  gdb/exceptions.c
 ceb187eef73fbf6e87359f603204ef67  gdb/i386-linux-nat.h
 1d4e59e0fbddd775e98b42b6d142ae21  gdb/ppc-obsd-tdep.c
-0e613c76915e67fe2ff78d7c12f9e310  gdb/configure.nat
-1df6cde836f4b501b3d8fa0633335d49  gdb/memattr.c
-a3cd87c32f484e929ea847078c4c4875  gdb/event-top.h
+e6586473312ae5226130efcc391c42b3  gdb/configure.nat
+824aa084665d99025642f14f094146fe  gdb/memattr.c
+cf11f4e005cc1523e81eac4c9351f9d3  gdb/event-top.h
 2c18846c066c2ad77936cb50faf778d5  gdb/gdbarch.h
 9198f7b1807c968098814aa2a3901aee  gdb/gdb.gdb
-9027cc726fd9e959078e9c9f1f81c4e5  gdb/dwarf-index-cache.c
+b77f981fd2a258c825464ee189a8e630  gdb/dwarf-index-cache.c
 5a1e58f8f3b24992f6ab38a45e8fcda4  gdb/gdbcmd.h
 ba902fbefd7a3d011967d9ce25118fa8  gdb/sparc64-obsd-tdep.c
 5bc5aaf9c1d68de018cb5849fbd7ac11  gdb/.dir-locals.el
@@ -6342,14 +6299,13 @@ cff725733e3973ad9439f0b23c0a24c5  gdb/co
 7558218831b634834f73ead04cee3b94  gdb/msp430-tdep.c
 7742ecdd35e24a4d79767ec820302686  gdb/m2-typeprint.c
 9ec5eaa81809574b860587bbe81ae0b0  gdb/ax-gdb.h
-68f96d0c18f93d7534b4300dae8b5196  gdb/solib-spu.h
 1a4c4056b4be0418b7a30e908cdcfb5f  gdb/bsd-kvm.c
 1cb85c021d0fdf0a8c77626cf49763ab  gdb/gdb_regex.c
 072e96cf597ad46ab5a35760e6ea5650  gdb/i386-fbsd-tdep.h
 a3be6d8cc29663c059e5488e8f4b60ac  gdb/gdbsupport/valid-expr.h
 7d423978ee66b62ed8ccfe31b3edb23a  gdb/gdbsupport/environ.c
 3425f85ba2bb0ad51d00a5ca9c4be86e  gdb/gdbsupport/safe-iterator.h
-3166c13efc07577f1fbd527834a859c3  gdb/gdbsupport/common-debug.h
+1a721dceca4a52676e68799414efe297  gdb/gdbsupport/common-debug.h
 3d335074ef439d0cbd74d586373864df  gdb/gdbsupport/common-defs.h
 07c3f92849c212e23f0d01a522ffe132  gdb/gdbsupport/buffer.c
 640ec4d9621b1f6df2449bc35ac2b102  gdb/gdbsupport/gdb_locale.h
@@ -6380,7 +6336,7 @@ c9bd55b91d8daa169e82c6f633744a05  gdb/gd
 744943299afa005fda265315c2ab9f8c  gdb/gdbsupport/common-inferior.h
 9f928512b902e02c3de6035321c0fa6e  gdb/gdbsupport/tdesc.c
 df32514a7454ab34784e66cb097751aa  gdb/gdbsupport/underlying.h
-6d83f6c2e1ddebc108a64dd2bb08b23f  gdb/gdbsupport/common-debug.c
+e7a8408bfd74f52a34285ef21cc1edbb  gdb/gdbsupport/common-debug.c
 013a8a62d3fe96d8f459b556359ed27d  gdb/gdbsupport/selftest.h
 fa9784c8764eba3d2de8ecb26d702d48  gdb/gdbsupport/common-gdbthread.h
 73698edfb213430c0bdd26e9585bb923  gdb/gdbsupport/filtered-iterator.h
@@ -6999,7 +6955,7 @@ bfc592a59cf0cdbc1a4131b602fdd37e  includ
 42b6173dac586010dac4a5853e8ea569  include/opcode/pn.h
 e230b20031573fe683d55634f24ac595  include/opcode/ppc.h
 14f74881c049e81692a2c94887ffa98b  include/opcode/s390.h
-516cf0565f460abd648cc7dcf53cbd7c  include/opcode/riscv.h
+68962da4e536e648362eedbe48c3e050  include/opcode/riscv.h
 c3959f65910b2252ee6437f1d6de1a10  include/opcode/pdp11.h
 fbc138c2cff4fc32cbce1757d9fad6bf  include/opcode/avr.h
 26e9d7d99f846ff8c42e798f2abd2e3a  include/opcode/spu.h
@@ -7101,7 +7057,7 @@ ac5c6fe8de400c9792753b5db5b255d5  includ
 ae5154ba0c6bf41452c1e4e3938fde52  include/gdb/callback.h
 d3976907c9252ef4d60b9ac80987eafc  include/hashtab.h
 8673aa12a3493cb537f1220aa799b950  include/gcc-interface.h
-937ce1c186c02255ce2c92fe733a90d7  include/ChangeLog
+a128f86009d5c9ed1476af87cda6d72c  include/ChangeLog
 88586319cd45959f54a1776d5d769a05  include/dis-asm.h
 2e19107e7906229570c084b790923d48  include/splay-tree.h
 352ce75976e0a5970298d574ffdf743e  include/filenames.h
@@ -7223,7 +7179,7 @@ b69b57e5b98d9f30a80c6e9739539b30  includ
 75d1ff50f74ca90cf99a952ee5a6cc0d  include/diagnostics.h
 16a43b00f972676ab7aed849e6921845  include/bout.h
 df72d70431e61fbed5436c090ca7d172  include/demangle.h
-536ce1a2e88c248ea08717b407bf8034  include/bfdlink.h
+a4dcb67adf7dd119b596a2eebac1ffb7  include/bfdlink.h
 def665a8553c0865c88d58a554d87473  include/xregex2.h
 361482dd6b5b5eb7090fff3986fba68a  install-sh
 12ff40e8c89d99dc7b704bac9434124a  intl/plural-exp.c
@@ -7519,7 +7475,7 @@ f54b9c221462fec13cdc02b98e915a66  opcode
 8e786067e487eb6a028eeaac6c7ba86f  opcodes/i386-opc.c
 22fad5413c93cf5595cda3875e96cca2  opcodes/fr30-desc.h
 2cd4a17f5984229495651cace665fce3  opcodes/lm32-asm.c
-d6c30b5e2076c2e899103fd27d58d50a  opcodes/i386-opc.tbl
+e34b3a00c6d22df7348beec770fa8c57  opcodes/i386-opc.tbl
 d53e6a0bad0618b8e0b6dfe07a024146  opcodes/xstormy16-ibld.c
 331e039f15b7c141e1434ed8fef4263e  opcodes/mep-asm.c
 ec3b79e12fafc6731e6da93a3f4f3a83  opcodes/microblaze-dis.h
@@ -7532,13 +7488,13 @@ cd7f298ea8c90ece6d6636caa2663922  opcode
 1f5acd3452a0a360529d00ef50d69b58  opcodes/ChangeLog-2011
 5cda21d9ce150e4ad3e2c100d548990a  opcodes/epiphany-ibld.c
 c5c2b41393a7be2985845e58b6c53467  opcodes/m10200-opc.c
-4ab52ae1f15c4fda035865f1dcc97729  opcodes/arc-ext.c
+c825caabde2126bbbc946b16fb98e72c  opcodes/arc-ext.c
 571df8ee9b230b640fdedbb34676186d  opcodes/or1k-dis.c
 eefb6b283c1f5f324ddc347cb0c1c5e0  opcodes/m32c-asm.c
 7e97fdd557f57096066757c05ddd3999  opcodes/mcore-opc.h
 80f77954e03c43da64f82b89d9c3473e  opcodes/crx-opc.c
 947c93fc1402eb82fbb7d19a902a7bd4  opcodes/fr30-opc.c
-acee05366b6ae0d23f932dda736ba583  opcodes/Makefile.in
+4a4030d4da3dc16f1f677c97b76744b9  opcodes/Makefile.in
 574537d9972c9161d297dcfd7eca0282  opcodes/dep-in.sed
 1801462a3689707e6089fd618aa7be40  opcodes/m32r-desc.c
 9847f1cf7054293f2abe92bd43320c39  opcodes/microblaze-dis.c
@@ -7665,7 +7621,7 @@ ba8859bd07937a25f0dc06b68b4033c3  opcode
 44b4c920f22fa36202d20614b90889db  opcodes/aarch64-gen.c
 7a0278302e523c84ba412f8b8000c902  opcodes/arc-fxi.h
 c098c5cde9b3dc17ecf3f4f5626dc002  opcodes/score7-dis.c
-8b7b8ed31bd9458602d211b3c81d1ab3  opcodes/i386-tbl.h
+b90f038e7c4cd052d883a8e79f5c7c34  opcodes/i386-tbl.h
 100e2e595b5cff71e4b7abf50787a9c3  opcodes/arc-dis.c
 435c73db4c63944bdc8fbfeb19338f0a  opcodes/ip2k-asm.c
 5877ba5e080a7c281d631fa730cf3f50  opcodes/spu-opc.c
@@ -7679,7 +7635,7 @@ fa2e7775fb32f003537ff547c2d5bc7b  opcode
 ce914fe9eed08941164781e2be28336b  opcodes/lm32-desc.c
 424e463343068b76fab4ab5ea38bb382  opcodes/xstormy16-dis.c
 0b37ada88ba8bbede8fe6f53c0306e55  opcodes/cgen-dis.in
-1467c5084e36ba1a0c76ee8c90bfa738  opcodes/mips-dis.c
+491ce2b9d8011e43064bf96d1588e9c7  opcodes/mips-dis.c
 16592cc3d9ba55d3cf00ea43f0babec4  opcodes/csky-dis.c
 39b7e834f46b8cf1879169b1f12c6ed3  opcodes/arc-regs.h
 e90f5d03a7dd2d3bcf05962da4859f16  opcodes/msp430-decode.opc
@@ -7717,7 +7673,7 @@ f0a206c54c70887184e723f3421f774a  opcode
 a45596ef612ac96732500f5301d4e679  opcodes/s12z-dis.c
 ff759b14d99f00316b5c017dba1f04e5  opcodes/ia64-opc-m.c
 d679d499a60c06d7cdb14aa5b211c0ec  opcodes/mt-desc.h
-9dc995fa7c9f08d0f3f69f5632415165  opcodes/configure
+2e2a209db97e825ea60f38aa9071979d  opcodes/configure
 6cbf1fbb631097976d9c0c68bfe90387  opcodes/pj-opc.c
 237e54af83f0143bd2a6e7eb1b712eed  opcodes/bpf-desc.h
 4c2d4b7e53ddee31ba4b96db69eaad0e  opcodes/bpf-dis.c
@@ -7774,7 +7730,7 @@ f54be2e715ceb6cebb98fab5bc37e7db  opcode
 62a30cfb1b506ee2c3916ee13e9eda8a  opcodes/m10300-dis.c
 1b1854422db842d0dfa01c932a5f86ae  opcodes/nds32-opc.h
 713fb26f79662b078390d218dc5d977c  opcodes/aarch64-opc.h
-b62a86db7eef50666ca217f981c23221  opcodes/ChangeLog
+8aeac322e9fa564a72cabdff5296c7ed  opcodes/ChangeLog
 327cf11f5c08b578f3b0cdb7f3923280  opcodes/ia64-raw.tbl
 bd6d6d07bd75b0bc4ef5b8c67ca29532  opcodes/frv-dis.c
 41d07b69354e5907ff4d81d7efc89b49  opcodes/aarch64-opc.c
@@ -7795,7 +7751,7 @@ bc9cf729403d92b2815dc9c347b2cfe0  opcode
 141833764eabef4523c245ca3a57c975  opcodes/fr30-dis.c
 fd90d45321bd491542004915f1f35020  opcodes/i386-dis-evex.h
 27516f861e393d748f8fc2e352eb6b97  opcodes/arc-dis.h
-333efd42fdf8da4e21e4efa1298f036b  opcodes/riscv-opc.c
+f1619c2795daa7543b3a65dc9aee6de9  opcodes/riscv-opc.c
 51395560752391d402b0bd2305a4e4a5  opcodes/xc16x-dis.c
 6ddcbd5446c1c731f798369c87951e2f  opcodes/epiphany-desc.c
 f7b8b18ab2b5f1cb03ab99b1cca821ef  opcodes/ChangeLog-2018
@@ -7818,7 +7774,7 @@ c4269744352d0a75be362f62e2ef5ebc  opcode
 6c6987fe76c43f80aef01734d591e155  opcodes/ia64-opc.c
 c4d4746528ee77d52df99f4fe0e00d72  opcodes/hppa-dis.c
 ac3b79f9f3c7075b5efc499b8a62eb62  opcodes/d10v-opc.c
-94b0965f23aa725fd1250de16a30e090  opcodes/m68k-dis.c
+273c1c1579d83ec5604eb84d38abd5b9  opcodes/m68k-dis.c
 f15a55fe8848eff9739f8f1df7e1edfd  opcodes/sparc-opc.c
 b79d16649809f0b2320b186a18ec7465  opcodes/frv-ibld.c
 f5b2c3d266c917c8af5ce44c16e788da  opcodes/or1k-opinst.c
@@ -7946,7 +7902,7 @@ f9f0bab9b1fe9bec4372062f4e0e5276  readli
 c1742d5a25821afaf1fa4745e79f5a0f  readline/.gitignore
 ac922dcd0b2c91ee5b68125a7ec17d37  readline/rldefs.h
 298f7b579431967fd3d4ee940ca591db  readline/NEWS
-b64c2d6795923eca2af9f53415520b93  readline/display.c
+fb775f581f20b33e3e4d976624d2846e  readline/display.c
 5433ab5561fd4f71a33cd2de1791bdf4  readline/text.c
 75ad677f6feb3097e69d1431dafd10e6  readline/cross-build/cygwin.cache
 1f4c5f8ef40d5dca1f522e1825536034  readline/rlprivate.h
@@ -7988,7 +7944,7 @@ b5fc756b0f152e134278645b689bd27a  readli
 0bab71b938eb344efbe8916f3d57bc65  readline/ansi_stdlib.h
 cb9d167c3cbb645b1462b49d9f06ed49  readline/kill.c
 e8cf9ce0ae23eb40b5e2b191515ce1e9  readline/posixselect.h
-83720c72a041fd56fd12cd5fa0b87e77  readline/ChangeLog.gdb
+b8c6a0087bc6f0e178ef905e366514c9  readline/ChangeLog.gdb
 620c7e85b5587e6fb2729b9e9140ba68  readline/posixdir.h
 fc7abc510c5fe4fab6b2986ea9ffa48d  readline/CHANGES
 3c09a65ac02197e7bbb64a5f3c8ed954  readline/shlib/Makefile.in
@@ -8006,7 +7962,7 @@ c66c7ac238318948f0cfbd70013bcc20  readli
 5a71fb717996d2d8c0789217e7ea25c7  readline/colors.c
 07c33a285703b40cd6f93a478e97e03b  README
 2786c6bad129ff44b217c1fe6042176a  README-maintainer-mode
-e91eab765c266ff5abf1f36a9c1f1fd6  sim/common/nltvals.def
+a97ae88267992580a0ae490e041f9582  sim/common/nltvals.def
 48ad82ed2baa17eec6024baecd19e1fc  sim/common/sim-endian.h
 5cbd1823f4e6b24f0a86fc4ac269e050  sim/common/sim-basics.h
 904c3dae72e1188f832c55cfa0708408  sim/common/sim-io.h
@@ -8075,7 +8031,7 @@ d59d87afd3645f0947ea1b49a951c1c8  sim/co
 4be67fcedabf06341965d046d6ca74e2  sim/common/sim-signal.c
 10250802e3ea03e5a0049f8fae69b6d8  sim/common/cgen-accfp.c
 b28526135c6a0a4406d4162ed8f0d549  sim/common/hw-alloc.h
-2b3891a854454533b6ca481c4fc6b649  sim/common/sim-load.c
+45395be673e823bc23ee1bc6ccb66f3b  sim/common/sim-load.c
 184996725bcc9ff4849b55703a0fc1a3  sim/common/syscall.c
 c364e55b177b9f86230fd3d9145d776a  sim/common/cgen-utils.c
 3f1ec454a20d1baa9defcf68e70cc724  sim/common/sim-signal.h
@@ -8101,7 +8057,7 @@ f7b12e2a6caa8b656f36313c83c13097  sim/co
 f68ab555dad7404665f357beca48b2c8  sim/common/sim-hw.h
 06f146a292c2944dcc4ae7db51bc07a0  sim/common/sim-close.c
 bee349fb280c1bf5cf583c05a5bffba9  sim/common/cgen-trace.c
-522872c680f6b6bb90960ab5fae2d83e  sim/common/ChangeLog
+d5b086fb00538cf06d3576ce23447f77  sim/common/ChangeLog
 b78b842e0cdb3283601a77fe7bb1a2cd  sim/common/sim-inline.c
 53ad424cd286fe11d7874aa2885e3051  sim/common/sim-hw.c
 bd3c9e065328d5a0218823dc80dbdb1e  sim/common/sim-module.h
@@ -8122,10 +8078,10 @@ cc2b0c341597bdc71cc9508c51c7598e  sim/co
 2e1e9807a28c91c5ee8bb4475ebc8fe0  sim/common/cgen-types.h
 7bd90684eae18acc5f1332dacf9e1df2  sim/common/hw-properties.h
 8ef609c56c4c2a6c0a6594bd390c78f0  sim/common/dv-sockser.h
-5ffa863f521faaa3731af42d76f1a5f9  sim/common/sim-utils.c
+819d4463c22c1f08266ad24682fc0354  sim/common/sim-utils.c
 6932dbcc806f80994e6797c4ca368d3b  sim/common/sim-reason.c
 e56ed85b93f031099a016738cc7e7b27  sim/common/sim-core.h
-6bc94529e71ae6b6cf4413123d7e9f06  sim/common/gennltvals.sh
+fa132ce436ba593279b1eb9d89590862  sim/common/gennltvals.sh
 373ee9ac8e856e8241924a9de986662e  sim/common/hw-tree.h
 3c4f161ae0959a5bcd63c2892821a344  sim/common/sim-memopt.h
 60cdec181e481f70ff06c07688b82f53  sim/common/gentmap.c
@@ -8266,7 +8222,7 @@ d4e9408336bcc046928b49e2c3af7a42  sim/fr
 249fdc11872412bd177e94a10cb3041d  sim/rl78/cpu.h
 09d6a57f399102d2cbc1562433d12aac  sim/rl78/config.in
 d268d1a1bb25e7b12967a19404575a62  sim/rl78/configure.ac
-d141655bb64a9447fcd992c0b226a881  sim/rl78/trace.c
+d044df769c6bec403e031293712a6fbb  sim/rl78/trace.c
 02e7a7bd2ebbe31a43dd9b849735f86b  sim/rl78/load.h
 687f359c4206f4f6b2788948790e2cce  sim/rl78/main.c
 dd5bb3e970ab467960a1200d19a934bb  sim/rl78/mem.h
@@ -8277,8 +8233,8 @@ dd5bb3e970ab467960a1200d19a934bb  sim/rl
 8d99b27a6dc99226bfa068bdca53dec3  sim/rl78/trace.h
 d4590af4fa8e2da72f2be8cd19a281ee  sim/rl78/cpu.c
 d5a134f3500da1abc461010d0b7855fa  sim/rl78/mem.c
-6eff96775be8b593881a5db4838b63bd  sim/rl78/load.c
-620b4601dcd506639adac3dfabd7d2c4  sim/configure.tgt
+d70c6f36793627c60bc012e494a0100d  sim/rl78/load.c
+842c11bd44343fe75399cada812a5f38  sim/configure.tgt
 78a8b3da6c7d67225c37947267c80aa3  sim/configure.ac
 071749598bc079bfc57c77b17e484809  sim/v850/v850.igen
 343bbcec33069e5661e14fc16b9adf16  sim/v850/simops.h
@@ -10509,6 +10465,18 @@ e72c1ba5c42bc26baf3997a515d411dc  sim/te
 f6119ae18fa0133c2c9818b18e01ebc6  sim/testsuite/sim/cris/c/kill3.c
 88553eaf83703a59cbc8361643680b59  sim/testsuite/sim/cris/c/setrlimit1.c
 bd5bc121e85df515345f34f12c3c294d  sim/testsuite/sim/cris/c/sjlj.c
+2c774915b5bbd573637af2af56310d62  sim/testsuite/sim/pru/add.s
+5dba210cd6d74e2cb78f4fa9297ceee7  sim/testsuite/sim/pru/dram.s
+7a1bac005ad60c64f4e5d5e2ab175449  sim/testsuite/sim/pru/dmem-zero-trap.s
+15e6148df829e22069778ac471e5957e  sim/testsuite/sim/pru/jmp.s
+438671bfbfe61e7f9bf42db0e9598dff  sim/testsuite/sim/pru/allinsn.exp
+bcdbbc4c738412e389c6299f81af1a1a  sim/testsuite/sim/pru/loop-reg.s
+925b83cb2dc1a069b68e168ef58a8699  sim/testsuite/sim/pru/loop-imm.s
+5a0e5c7ea002051e4a13dd641210b4f9  sim/testsuite/sim/pru/dmem-zero-pass.s
+466993d26fd6df575577debb2f9b2986  sim/testsuite/sim/pru/ChangeLog
+35b005918e20300ce5e2846c21c5a61c  sim/testsuite/sim/pru/mul.s
+6bdda22b4ec94b1de277f89f6819a973  sim/testsuite/sim/pru/subreg.s
+947201296ae511db9d05074a3a95eca4  sim/testsuite/sim/pru/testutils.inc
 70c90d8aec77ce26c8a0b4fbdcd933b9  sim/testsuite/sim/m32c/blinky.s
 d7dac6b9896a38048110d6cf94ffba46  sim/testsuite/sim/m32c/sample.s
 ee2e2048ad3b20e96eacce714c3eeff8  sim/testsuite/sim/m32c/allinsn.exp
@@ -11674,8 +11642,8 @@ cc16675e19f20d246b81ba1aa64e2c05  sim/te
 ca5d7345bde4b101f716cc24502fc90b  sim/testsuite/frv-elf/configure
 b03f73b590c393cd710f753106cd5184  sim/testsuite/frv-elf/ChangeLog
 e30b4c8b1165f133ffd45b28034a33a7  sim/testsuite/frv-elf/grloop.s
-2a28c4c1d5a338c2010ed9b69a59f78d  sim/testsuite/configure
-8125b34e96a1751a078ecd537b1a6068  sim/testsuite/ChangeLog
+ef26cafa99e7d92b40b300450fc033f5  sim/testsuite/configure
+b2d586e0be32d33bff00c21da82c36db  sim/testsuite/ChangeLog
 a9a94f30b8e704a124e2ce33b7b1a8e3  sim/testsuite/mips64el-elf/Makefile.in
 cdfd13107641dc366d7f36ada4f5ad87  sim/testsuite/mips64el-elf/configure.ac
 ca5d7345bde4b101f716cc24502fc90b  sim/testsuite/mips64el-elf/configure
@@ -11774,7 +11742,7 @@ f3f2de28d8073fad39d41df967d2b49c  sim/lm
 9227818224fba36a0ad21126e5bae966  sim/lm32/dv-lm32timer.c
 5e18c0f340e1348266e064ef4a3a621f  sim/lm32/sim-main.h
 b3798ac34f91413583604c26b4a801f4  sim/lm32/sem-switch.c
-af936be41a54c399a4f8a34eec001564  sim/lm32/sim-if.c
+d79029eb2a28bf9120dd30738d8e6a0f  sim/lm32/sim-if.c
 8cac90448deedceea31dda5f3334b389  sim/cr16/Makefile.in
 db58fce3f3739dd8d25d24103b13ffde  sim/cr16/simops.c
 018763eb585b2114cc6aedbfab4b9da0  sim/cr16/cr16_sim.h
@@ -11821,7 +11789,7 @@ fc7a3358676fc9ff26e3cd503ee1c462  sim/pp
 585f396f24a29eeae1e0ba6b2102d79c  sim/ppc/cpu.h
 919bcf59528202fd52436649b6d82683  sim/ppc/psim.c
 ee19c4a4b84cad5f9cd916356307b90b  sim/ppc/hw_core.c
-4012934e3fabf18c156ebfb97d8d491b  sim/ppc/hw_htab.c
+496f8527ffce7739e15730ff11ada160  sim/ppc/hw_htab.c
 c9161f846ee1137f57c103c9b50b8010  sim/ppc/ld-decode.h
 1c42372728ec198fcf8ab57a40c64bb1  sim/ppc/os_emul.c
 e23e8c6cddd60e621d2597fcc485d2c3  sim/ppc/config.in
@@ -11836,7 +11804,7 @@ cb29959db2f92c8b4323cc8e8d4d53d0  sim/pp
 8e019657ad96f38584486921e012ceee  sim/ppc/events.h
 70f65f76fd8dfe5d4b30379d840ee025  sim/ppc/INSTALL
 ff28ed7f8ae18dca9b6db08f8944d882  sim/ppc/std-config.h
-d20494ea7a65ca865f27979046e845da  sim/ppc/hw_init.c
+23b263bfd0a912a10aaf9d40923b9f0f  sim/ppc/hw_init.c
 ce94f94481dc7b857345a34aff0491a5  sim/ppc/emul_bugapi.h
 305357a3d264db7fa8f2b88bfe07ca74  sim/ppc/hw_glue.c
 eab5f7804f4041ff963a48f3e6c67711  sim/ppc/tree.c
@@ -11884,7 +11852,7 @@ dfbacfc1474588e6305d5f3c016d7f10  sim/pp
 df6ce308b6164a82f216e6dc70667ced  sim/ppc/gen-model.h
 ac8af167df5e2cc9c80ab1bb813764bb  sim/ppc/emul_unix.h
 ec3fa1403681d642d8cf406d33e46555  sim/ppc/dp-bit.c
-9a0ecd71253cc8e01812639dcfe6385f  sim/ppc/emul_generic.c
+4cb3d54ea2a86e64c7e2ef3386b46fef  sim/ppc/emul_generic.c
 27bb4b315b610c06d3d617036128ea66  sim/ppc/configure
 9e8810a61d4a6fa162efcf8c18061f26  sim/ppc/emul_generic.h
 4f90dac25651b90137e08d0dc8b280e2  sim/ppc/hw_register.c
@@ -11975,8 +11943,18 @@ ab489c58fa2a3596ff620b9b491daa02  sim/cr
 d4ad13b9f2e17589b237f34d1a5d4ac7  sim/cris/modelv10.c
 483fcfb671ec689c643aa121379d3a47  sim/cris/sim-main.h
 125fb8f2015e5b03f8d263271253bdb3  sim/cris/dv-cris_900000xx.c
-671ab403d44cef9a568d2232c8dc7106  sim/cris/sim-if.c
-5ef13968dd4e75897757d12486f09daf  sim/configure
+0af9a3268494961d8061e5af5e2d1a7a  sim/cris/sim-if.c
+0e424ac45cb0ea71a653104d432f5352  sim/pru/Makefile.in
+79b3f19a4a961715ed1b3fc266e073d6  sim/pru/config.in
+f95343e104904c5df30ba0b3d87abac3  sim/pru/configure.ac
+5745833bc31fa40cd8c85b8af5ec62ed  sim/pru/pru.h
+463aa4525c7c9d0e38089568b17c9ec3  sim/pru/interp.c
+04ad3df23bb6f7c4004830468272d5ca  sim/pru/pru.isa
+6ef545eaa66a20600537024b6bcc93cb  sim/pru/configure
+4ab55a35c7007d58ee370d38587e6907  sim/pru/aclocal.m4
+0465ce5365b6a1ff3b5f5b3e49074496  sim/pru/ChangeLog
+f474d2d4051e91e9c65a43bbef0b56fd  sim/pru/sim-main.h
+d975f30e912fb10330910163755fe02c  sim/configure
 3f9588a875f66bc63e3ca010da20d8ef  sim/m32c/srcdest.c
 6d546a9418de298b7596edc9e4164175  sim/m32c/m32c.opc
 32f54c4dc56ce6b7d46dc6705e0ae663  sim/m32c/Makefile.in
@@ -11987,7 +11965,7 @@ c511801f9070900f940358970fed1ed6  sim/m3
 2cf84db6ac7f0c70d454b0cacde2a068  sim/m32c/int.h
 67c907781e848b132a4bab0cb842a534  sim/m32c/config.in
 470d500997101feffd4bf501e6af770a  sim/m32c/configure.ac
-a99b1fc555d5f1bcb8bcd77990e91f83  sim/m32c/trace.c
+0e61b032c8bf1beded0cd1a43e9e38d8  sim/m32c/trace.c
 20ecfcfd466000e09f9b39e63cf73ced  sim/m32c/load.h
 973937af0780a0530b0e31c4f03ea3e7  sim/m32c/r8c.opc
 220788594a8237e7a2003c8b2ddfb931  sim/m32c/int.c
@@ -12005,9 +11983,9 @@ c9658374bdc333e363837db7c13651c1  sim/m3
 8f1473b069472486896ea82509157cbe  sim/m32c/misc.h
 932a5c3e46b872b283347e8f3a5155a3  sim/m32c/opc2c.c
 a3b98054d79e9b03a761d9d274db5e31  sim/m32c/mem.c
-659392022d6710b0e5cbecf0af41369f  sim/m32c/load.c
+d846ddd4acc9fc2f70c3cba79373a26f  sim/m32c/load.c
 c498da2f525b22b9861a83455f4f17bc  sim/m32c/safe-fgets.h
-eea67fc828f0f7bebced06562dd72692  sim/ChangeLog
+260b8586b3154a4f98851342a825f4af  sim/ChangeLog
 34165224aa85ae8ea61e80956e6473c6  sim/m32r/mloopx.in
 635db4e4492a61834b7095b6c356cc82  sim/m32r/model.c
 12b7209016fcc4b47e107d2e4dca9be6  sim/m32r/cpu2.c
@@ -12078,7 +12056,7 @@ ee6204d38cb123315367b9faf2a7959c  sim/er
 dc35e1bcbcddd3ae8f15a92e2f71a40e  sim/erc32/help.c
 72fececbe452af10d0adb31b037040dc  sim/erc32/README.erc32
 8d0b5212c0ce4ec7e01d67b407af3ba8  sim/erc32/README.sis
-03256cf1742b1de18229673b2721568f  sim/erc32/func.c
+afcb53998c62073e2dcd113730cafa80  sim/erc32/func.c
 fc813ce89b76b6730718b0509c4b72b1  sim/erc32/float.c
 8800301072bed4c811e8e59fa54086d9  sim/erc32/sis.h
 79b3f19a4a961715ed1b3fc266e073d6  sim/erc32/config.in
@@ -12250,7 +12228,7 @@ fbd242f37720c7fde52606b13d1d7c45  sim/bf
 1f2b2ce55236b4e52afa89029a525174  sim/bfin/dv-bfin_uart2.c
 bb37b4f3c7f1febb31058f17953af94e  sim/bfin/dv-bfin_sic.c
 eca74320b025d64864d198418a38537c  sim/bfin/dv-bfin_gptimer.c
-c8650588cea2557854e5320c07c122f1  sim/MAINTAINERS
+3e8a863fd6280046b96efee9e2b2db10  sim/MAINTAINERS
 c0bf8137f40a5afdf5bfb8ca366eac87  sim/m68hc11/dv-m68hc11.c
 404496d1fc733b9f8957b6901fd26cc9  sim/m68hc11/Makefile.in
 963ae05fd417d5b2f41853d60d292ff9  sim/m68hc11/dv-m68hc11sio.c
@@ -12258,7 +12236,7 @@ c0bf8137f40a5afdf5bfb8ca366eac87  sim/m6
 25db879fe7da456e6a213895ebcc1017  sim/m68hc11/configure.ac
 b8f1af499faf02a5a23acaa9f34d7fb7  sim/m68hc11/gencode.c
 c29dcef5b575aad72dcc43f7fdfed21d  sim/m68hc11/dv-m68hc11spi.c
-d457afe68fd3e25b53182b7d15d5d9a3  sim/m68hc11/interp.c
+dde05509394bb7431bec7e35fdfb520a  sim/m68hc11/interp.c
 08fc09d9bb1c53d6540a4dd7ec0133dc  sim/m68hc11/interrupts.h
 742df88e72a12418232e2bf807b1ad0f  sim/m68hc11/dv-nvram.c
 ffb0ad065e0dd9b8f5cc698ac2f98b90  sim/m68hc11/configure
@@ -12273,12 +12251,12 @@ b74382a03971e82dae17ed0cc0d34453  sim/m6
 c1b2c0b2ffef1ba72a8a6e24677c8653  sim/rx/README.txt
 97412d4b98eb30daaf645b889a9816c7  sim/rx/Makefile.in
 e73a3938a2b3697c2031c80fb3c13f3a  sim/rx/rx.c
-8b2b1fba4d84c70642f5bd35fb3cd75e  sim/rx/gdb-if.c
+acfb31e5e64cb87d2d9d35cd19a21dbb  sim/rx/gdb-if.c
 97e2cd18c8790593a4722a5da0d40d87  sim/rx/err.h
 a35903bcce735f0e2f4bfca964fe2bbd  sim/rx/cpu.h
 e578cd645e2feba9820aad48ab71267d  sim/rx/config.in
 7150496faaf6d231767f6fe636d4ea97  sim/rx/configure.ac
-ce3cd10b9729fb5988f206653f37888b  sim/rx/trace.c
+e34239bd62beb3a44da5be4e8fac3884  sim/rx/trace.c
 20e9ac49f66895936bd31be72351f2d6  sim/rx/load.h
 7267b532cbeede11fe7cd1f5787c59c8  sim/rx/misc.c
 13162a66cb21fa6df03e669db0a1b740  sim/rx/main.c
@@ -12296,7 +12274,7 @@ ae9184e432f9d5373f7723aacf667734  sim/rx
 d4609e6ecf4830db04572b2435de185c  sim/rx/fpu.h
 3f13c285b8f53f160f50495fb568fdaf  sim/rx/misc.h
 b71616c2c348cfadee009291e72aa6be  sim/rx/mem.c
-299768a8612f88dcff4920777e0f46f9  sim/rx/load.c
+8735bad1ca28813b4cccac5008e5f9af  sim/rx/load.c
 d10a027d86b2cd8715bda3744ebbc7fe  sim/igen/filter.h
 a5dfb1a55ccde0010a69bd637c43d9e1  sim/igen/Makefile.in
 c657b0c5fb596d15e29263736fcd7abf  sim/igen/ld-cache.h
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/opcodes/arc-ext.c ./opcodes/arc-ext.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/opcodes/arc-ext.c	2019-09-17 01:49:44.000000000 +0000
+++ ./opcodes/arc-ext.c	2019-09-24 01:49:13.000000000 +0000
@@ -438,7 +438,7 @@ build_ARC_extmap (bfd *text_bfd)
 	  sizeof (".gnu.linkonce.arcextmap.") - 1)
 	|| !strcmp (sect->name,".arcextmap"))
       {
-	bfd_size_type  count  = bfd_get_section_size (sect);
+	bfd_size_type  count  = bfd_section_size (sect);
 	unsigned char* buffer = xmalloc (count);
 
 	if (buffer)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/opcodes/ChangeLog ./opcodes/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/opcodes/ChangeLog	2019-09-17 01:49:44.000000000 +0000
+++ ./opcodes/ChangeLog	2019-09-24 01:49:13.000000000 +0000
@@ -1,3 +1,34 @@
+2019-09-23  Alan Modra  <amodra@gmail.com>
+
+	* m68k-dis.c: Include cpu-m68k.h
+
+2019-09-23  Alan Modra  <amodra@gmail.com>
+
+	* mips-dis.c: Include elfxx-mips.h.  Move "elf-bfd.h" and
+	"elf/mips.h" earlier.
+
+2018-09-20  Jan Beulich  <jbeulich@suse.com>
+
+	PR gas/25012
+	* i386-opc.tbl (push, pop): Re-instate distinct Cpu64 templates
+	with SReg operand.
+	* i386-tbl.h: Re-generate.
+
+2019-09-18  Alan Modra  <amodra@gmail.com>
+
+	* arc-ext.c: Update throughout for bfd section macro changes.
+
+2019-09-18  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* Makefile.in: Re-generate.
+	* configure: Re-generate.
+
+2019-09-17  Maxim Blinov  <maxim.blinov@embecosm.com>
+
+	* riscv-opc.c (riscv_opcodes): Change subset field
+	to insn_class field for all instructions.
+	(riscv_insn_types): Likewise.
+
 2019-09-16  Phil Blundell  <pb@pbcl.net>
 
 	* configure: Regenerated.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/opcodes/configure ./opcodes/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/opcodes/configure	2019-09-17 01:49:44.000000000 +0000
+++ ./opcodes/configure	2019-09-24 01:49:13.000000000 +0000
@@ -769,7 +769,6 @@ infodir
 docdir
 oldincludedir
 includedir
-runstatedir
 localstatedir
 sharedstatedir
 sysconfdir
@@ -855,7 +854,6 @@ datadir='${datarootdir}'
 sysconfdir='${prefix}/etc'
 sharedstatedir='${prefix}/com'
 localstatedir='${prefix}/var'
-runstatedir='${localstatedir}/run'
 includedir='${prefix}/include'
 oldincludedir='/usr/include'
 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@@ -1108,15 +1106,6 @@ do
   | -silent | --silent | --silen | --sile | --sil)
     silent=yes ;;
 
-  -runstatedir | --runstatedir | --runstatedi | --runstated \
-  | --runstate | --runstat | --runsta | --runst | --runs \
-  | --run | --ru | --r)
-    ac_prev=runstatedir ;;
-  -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
-  | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
-  | --run=* | --ru=* | --r=*)
-    runstatedir=$ac_optarg ;;
-
   -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
     ac_prev=sbindir ;;
   -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1254,7 +1243,7 @@ fi
 for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
 		datadir sysconfdir sharedstatedir localstatedir includedir \
 		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-		libdir localedir mandir runstatedir
+		libdir localedir mandir
 do
   eval ac_val=\$$ac_var
   # Remove trailing slashes.
@@ -1407,7 +1396,6 @@ Fine tuning of the installation director
   --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
   --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
   --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
-  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]
   --libdir=DIR            object code libraries [EPREFIX/lib]
   --includedir=DIR        C header files [PREFIX/include]
   --oldincludedir=DIR     C header files for non-gcc [/usr/include]
@@ -11451,7 +11439,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 11454 "configure"
+#line 11442 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11557,7 +11545,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 11560 "configure"
+#line 11548 "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-8.3.50.20190917/opcodes/i386-opc.tbl ./opcodes/i386-opc.tbl
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/opcodes/i386-opc.tbl	2019-09-17 01:49:44.000000000 +0000
+++ ./opcodes/i386-opc.tbl	2019-09-24 01:49:14.000000000 +0000
@@ -116,22 +116,24 @@ push, 1, 0x50, None, 1, CpuNo64, ShortFo
 push, 1, 0xff, 0x6, 1, CpuNo64, Modrm|DefaultSize|No_bSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg16|Reg32|Word|Dword|Unspecified|BaseIndex }
 push, 1, 0x6a, None, 1, Cpu186|CpuNo64, DefaultSize|No_bSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8S }
 push, 1, 0x68, None, 1, Cpu186|CpuNo64, DefaultSize|No_bSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm16|Imm32 }
-push, 1, 0x6, None, 1, 0, ShortForm|DefaultSize|No_bSuf|No_sSuf|No_qSuf|No_ldSuf, { SReg }
+push, 1, 0x6, None, 1, CpuNo64, ShortForm|DefaultSize|No_bSuf|No_sSuf|No_qSuf|No_ldSuf, { SReg }
 // In 64bit mode, the operand size is implicitly 64bit.
 push, 1, 0x50, None, 1, Cpu64, ShortForm|DefaultSize|No_bSuf|No_lSuf|No_sSuf|No_ldSuf|NoRex64, { Reg16|Reg64 }
 push, 1, 0xff, 0x6, 1, Cpu64, Modrm|DefaultSize|No_bSuf|No_lSuf|No_sSuf|No_ldSuf|NoRex64, { Reg16|Reg64|Word|Qword|Unspecified|BaseIndex }
 push, 1, 0x6a, None, 1, Cpu64, DefaultSize|No_bSuf|No_lSuf|No_sSuf|No_ldSuf|NoRex64, { Imm8S }
 push, 1, 0x68, None, 1, Cpu64, DefaultSize|No_bSuf|No_lSuf|No_sSuf|No_ldSuf|NoRex64, { Imm16|Imm32S }
+push, 1, 0xfa0, None, 2, Cpu64, ShortForm|DefaultSize|No_bSuf|No_lSuf|No_sSuf|No_ldSuf|NoRex64, { SReg }
 
 pusha, 0, 0x60, None, 1, Cpu186|CpuNo64, DefaultSize|No_bSuf|No_sSuf|No_qSuf|No_ldSuf, { 0 }
 
 // Pop instructions.
 pop, 1, 0x58, None, 1, CpuNo64, ShortForm|DefaultSize|No_bSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg16|Reg32 }
 pop, 1, 0x8f, 0x0, 1, CpuNo64, Modrm|DefaultSize|No_bSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg16|Reg32|Word|Dword|Unspecified|BaseIndex }
-pop, 1, 0x7, None, 1, 0, ShortForm|DefaultSize|No_bSuf|No_sSuf|No_qSuf|No_ldSuf, { SReg }
+pop, 1, 0x7, None, 1, CpuNo64, ShortForm|DefaultSize|No_bSuf|No_sSuf|No_qSuf|No_ldSuf, { SReg }
 // In 64bit mode, the operand size is implicitly 64bit.
 pop, 1, 0x58, None, 1, Cpu64, ShortForm|DefaultSize|No_bSuf|No_lSuf|No_sSuf|No_ldSuf|NoRex64, { Reg16|Reg64 }
 pop, 1, 0x8f, 0x0, 1, Cpu64, Modrm|DefaultSize|No_bSuf|No_lSuf|No_sSuf|No_ldSuf|NoRex64, { Reg16|Reg64|Word|Qword|Unspecified|BaseIndex }
+pop, 1, 0xfa1, None, 2, Cpu64, ShortForm|DefaultSize|No_bSuf|No_lSuf|No_sSuf|No_ldSuf|NoRex64, { SReg }
 
 popa, 0, 0x61, None, 1, Cpu186|CpuNo64, DefaultSize|No_bSuf|No_sSuf|No_qSuf|No_ldSuf, { 0 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/opcodes/i386-tbl.h ./opcodes/i386-tbl.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/opcodes/i386-tbl.h	2019-09-17 01:49:44.000000000 +0000
+++ ./opcodes/i386-tbl.h	2019-09-24 01:49:14.000000000 +0000
@@ -635,7 +635,7 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 1, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1,
       1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -694,6 +694,19 @@ const insn_template i386_optab[] =
       0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
 	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+  { "push", 1, 0xfa0, None, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0,
+      1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "pusha", 0, 0x60, None, 1,
     { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -739,7 +752,7 @@ const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+        0, 0, 0, 0, 0, 0, 0, 1, 0 } },
     { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1,
       1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -772,6 +785,19 @@ const insn_template i386_optab[] =
       0 },
     { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0,
 	  0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0 } } } },
+  { "pop", 1, 0xfa1, None, 2,
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 1, 0, 0 } },
+    { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0,
+      1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+      0 },
+    { { { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
   { "popa", 0, 0x61, None, 1,
     { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/opcodes/m68k-dis.c ./opcodes/m68k-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/opcodes/m68k-dis.c	2019-09-17 01:49:44.000000000 +0000
+++ ./opcodes/m68k-dis.c	2019-09-24 01:49:14.000000000 +0000
@@ -23,7 +23,7 @@
 #include "floatformat.h"
 #include "libiberty.h"
 #include "opintl.h"
-
+#include "cpu-m68k.h"
 #include "opcode/m68k.h"
 
 /* Local function prototypes.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/opcodes/Makefile.in ./opcodes/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/opcodes/Makefile.in	2019-09-17 01:49:44.000000000 +0000
+++ ./opcodes/Makefile.in	2019-09-24 01:49:13.000000000 +0000
@@ -408,7 +408,6 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
-runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/opcodes/mips-dis.c ./opcodes/mips-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/opcodes/mips-dis.c	2019-09-17 01:49:44.000000000 +0000
+++ ./opcodes/mips-dis.c	2019-09-24 01:49:14.000000000 +0000
@@ -24,6 +24,9 @@
 #include "libiberty.h"
 #include "opcode/mips.h"
 #include "opintl.h"
+#include "elf-bfd.h"
+#include "elf/mips.h"
+#include "elfxx-mips.h"
 
 /* FIXME: These are needed to figure out if the code is mips16 or
    not. The low bit of the address is often a good indicator.  No
@@ -32,8 +35,6 @@
 
 #if !defined(EMBEDDED_ENV)
 #define SYMTAB_AVAILABLE 1
-#include "elf-bfd.h"
-#include "elf/mips.h"
 #endif
 
 /* Mips instructions are at maximum this many bytes long.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/opcodes/riscv-opc.c ./opcodes/riscv-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/opcodes/riscv-opc.c	2019-09-17 01:49:44.000000000 +0000
+++ ./opcodes/riscv-opc.c	2019-09-24 01:49:14.000000000 +0000
@@ -198,687 +198,687 @@ match_srxi_as_c_srxi (const struct riscv
 const struct riscv_opcode riscv_opcodes[] =
 {
 /* name,     xlen, isa,   operands, match, mask, match_func, pinfo.  */
-{"unimp",       0, {"C", 0},   "",  0, 0xffffU,  match_opcode, INSN_ALIAS },
-{"unimp",       0, {"I", 0},   "",  MATCH_CSRRW | (CSR_CYCLE << OP_SH_CSR), 0xffffffffU,  match_opcode, 0 }, /* csrw cycle, x0 */
-{"ebreak",      0, {"C", 0},   "",  MATCH_C_EBREAK, MASK_C_EBREAK, match_opcode, INSN_ALIAS },
-{"ebreak",      0, {"I", 0},   "",    MATCH_EBREAK, MASK_EBREAK, match_opcode, 0 },
-{"sbreak",      0, {"C", 0},   "",  MATCH_C_EBREAK, MASK_C_EBREAK, match_opcode, INSN_ALIAS },
-{"sbreak",      0, {"I", 0},   "",    MATCH_EBREAK, MASK_EBREAK, match_opcode, INSN_ALIAS },
-{"ret",         0, {"C", 0},   "",  MATCH_C_JR | (X_RA << OP_SH_RD), MASK_C_JR | MASK_RD, match_opcode, INSN_ALIAS|INSN_BRANCH },
-{"ret",         0, {"I", 0},   "",  MATCH_JALR | (X_RA << OP_SH_RS1), MASK_JALR | MASK_RD | MASK_RS1 | MASK_IMM, match_opcode, INSN_ALIAS|INSN_BRANCH },
-{"jr",          0, {"C", 0},   "d",  MATCH_C_JR, MASK_C_JR, match_rd_nonzero, INSN_ALIAS|INSN_BRANCH },
-{"jr",          0, {"I", 0},   "s",  MATCH_JALR, MASK_JALR | MASK_RD | MASK_IMM, match_opcode, INSN_ALIAS|INSN_BRANCH },
-{"jr",          0, {"I", 0},   "o(s)",  MATCH_JALR, MASK_JALR | MASK_RD, match_opcode, INSN_ALIAS|INSN_BRANCH },
-{"jr",          0, {"I", 0},   "s,j",  MATCH_JALR, MASK_JALR | MASK_RD, match_opcode, INSN_ALIAS|INSN_BRANCH },
-{"jalr",        0, {"C", 0},   "d",  MATCH_C_JALR, MASK_C_JALR, match_rd_nonzero, INSN_ALIAS|INSN_JSR },
-{"jalr",        0, {"I", 0},   "s",  MATCH_JALR | (X_RA << OP_SH_RD), MASK_JALR | MASK_RD | MASK_IMM, match_opcode, INSN_ALIAS|INSN_JSR },
-{"jalr",        0, {"I", 0},   "o(s)",  MATCH_JALR | (X_RA << OP_SH_RD), MASK_JALR | MASK_RD, match_opcode, INSN_ALIAS|INSN_JSR },
-{"jalr",        0, {"I", 0},   "s,j",  MATCH_JALR | (X_RA << OP_SH_RD), MASK_JALR | MASK_RD, match_opcode, INSN_ALIAS|INSN_JSR },
-{"jalr",        0, {"I", 0},   "d,s",  MATCH_JALR, MASK_JALR | MASK_IMM, match_opcode, INSN_ALIAS|INSN_JSR },
-{"jalr",        0, {"I", 0},   "d,o(s)",  MATCH_JALR, MASK_JALR, match_opcode, INSN_JSR },
-{"jalr",        0, {"I", 0},   "d,s,j",  MATCH_JALR, MASK_JALR, match_opcode, INSN_JSR },
-{"j",           0, {"C", 0},   "Ca",  MATCH_C_J, MASK_C_J, match_opcode, INSN_ALIAS|INSN_BRANCH },
-{"j",           0, {"I", 0},   "a",  MATCH_JAL, MASK_JAL | MASK_RD, match_opcode, INSN_ALIAS|INSN_BRANCH },
-{"jal",         0, {"I", 0},   "d,a",  MATCH_JAL, MASK_JAL, match_opcode, INSN_JSR },
-{"jal",        32, {"C", 0},   "Ca",  MATCH_C_JAL, MASK_C_JAL, match_opcode, INSN_ALIAS|INSN_JSR },
-{"jal",         0, {"I", 0},   "a",  MATCH_JAL | (X_RA << OP_SH_RD), MASK_JAL | MASK_RD, match_opcode, INSN_ALIAS|INSN_JSR },
-{"call",        0, {"I", 0},   "d,c", (X_T1 << OP_SH_RS1), (int) M_CALL,  match_never, INSN_MACRO },
-{"call",        0, {"I", 0},   "c", (X_RA << OP_SH_RS1) | (X_RA << OP_SH_RD), (int) M_CALL,  match_never, INSN_MACRO },
-{"tail",        0, {"I", 0},   "c", (X_T1 << OP_SH_RS1), (int) M_CALL,  match_never, INSN_MACRO },
-{"jump",        0, {"I", 0},   "c,s", 0, (int) M_CALL,  match_never, INSN_MACRO },
-{"nop",         0, {"C", 0},   "",  MATCH_C_ADDI, 0xffff, match_opcode, INSN_ALIAS },
-{"nop",         0, {"I", 0},   "",         MATCH_ADDI, MASK_ADDI | MASK_RD | MASK_RS1 | MASK_IMM, match_opcode, INSN_ALIAS },
-{"lui",         0, {"C", 0},   "d,Cu",  MATCH_C_LUI, MASK_C_LUI, match_c_lui, INSN_ALIAS },
-{"lui",         0, {"I", 0},   "d,u",  MATCH_LUI, MASK_LUI, match_opcode, 0 },
-{"li",          0, {"C", 0},   "d,Cv",  MATCH_C_LUI, MASK_C_LUI, match_c_lui, INSN_ALIAS },
-{"li",          0, {"C", 0},   "d,Co",  MATCH_C_LI, MASK_C_LI, match_rd_nonzero, INSN_ALIAS },
-{"li",          0, {"I", 0},   "d,j",      MATCH_ADDI, MASK_ADDI | MASK_RS1, match_opcode, INSN_ALIAS }, /* addi */
-{"li",          0, {"I", 0},   "d,I",  0,    (int) M_LI,  match_never, INSN_MACRO },
-{"mv",          0, {"C", 0},   "d,CV",  MATCH_C_MV, MASK_C_MV, match_c_add, INSN_ALIAS },
-{"mv",          0, {"I", 0},   "d,s",  MATCH_ADDI, MASK_ADDI | MASK_IMM, match_opcode, INSN_ALIAS },
-{"move",        0, {"C", 0},   "d,CV",  MATCH_C_MV, MASK_C_MV, match_c_add, INSN_ALIAS },
-{"move",        0, {"I", 0},   "d,s",  MATCH_ADDI, MASK_ADDI | MASK_IMM, match_opcode, INSN_ALIAS },
-{"andi",        0, {"C", 0},   "Cs,Cw,Co",  MATCH_C_ANDI, MASK_C_ANDI, match_opcode, INSN_ALIAS },
-{"andi",        0, {"I", 0},   "d,s,j",  MATCH_ANDI, MASK_ANDI, match_opcode, 0 },
-{"and",         0, {"C", 0},   "Cs,Cw,Ct",  MATCH_C_AND, MASK_C_AND, match_opcode, INSN_ALIAS },
-{"and",         0, {"C", 0},   "Cs,Ct,Cw",  MATCH_C_AND, MASK_C_AND, match_opcode, INSN_ALIAS },
-{"and",         0, {"C", 0},   "Cs,Cw,Co",  MATCH_C_ANDI, MASK_C_ANDI, match_opcode, INSN_ALIAS },
-{"and",         0, {"I", 0},   "d,s,t",  MATCH_AND, MASK_AND, match_opcode, 0 },
-{"and",         0, {"I", 0},   "d,s,j",  MATCH_ANDI, MASK_ANDI, match_opcode, INSN_ALIAS },
-{"beqz",        0, {"C", 0},   "Cs,Cp",  MATCH_C_BEQZ, MASK_C_BEQZ, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
-{"beqz",        0, {"I", 0},   "s,p",  MATCH_BEQ, MASK_BEQ | MASK_RS2, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
-{"beq",         0, {"C", 0},   "Cs,Cz,Cp",  MATCH_C_BEQZ, MASK_C_BEQZ, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
-{"beq",         0, {"I", 0},   "s,t,p",  MATCH_BEQ, MASK_BEQ, match_opcode, INSN_CONDBRANCH },
-{"blez",        0, {"I", 0},   "t,p",  MATCH_BGE, MASK_BGE | MASK_RS1, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
-{"bgez",        0, {"I", 0},   "s,p",  MATCH_BGE, MASK_BGE | MASK_RS2, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
-{"bge",         0, {"I", 0},   "s,t,p",  MATCH_BGE, MASK_BGE, match_opcode, INSN_CONDBRANCH },
-{"bgeu",        0, {"I", 0},   "s,t,p",  MATCH_BGEU, MASK_BGEU, match_opcode, INSN_CONDBRANCH },
-{"ble",         0, {"I", 0},   "t,s,p",  MATCH_BGE, MASK_BGE, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
-{"bleu",        0, {"I", 0},   "t,s,p",  MATCH_BGEU, MASK_BGEU, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
-{"bltz",        0, {"I", 0},   "s,p",  MATCH_BLT, MASK_BLT | MASK_RS2, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
-{"bgtz",        0, {"I", 0},   "t,p",  MATCH_BLT, MASK_BLT | MASK_RS1, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
-{"blt",         0, {"I", 0},   "s,t,p",  MATCH_BLT, MASK_BLT, match_opcode, INSN_CONDBRANCH },
-{"bltu",        0, {"I", 0},   "s,t,p",  MATCH_BLTU, MASK_BLTU, match_opcode, INSN_CONDBRANCH },
-{"bgt",         0, {"I", 0},   "t,s,p",  MATCH_BLT, MASK_BLT, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
-{"bgtu",        0, {"I", 0},   "t,s,p",  MATCH_BLTU, MASK_BLTU, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
-{"bnez",        0, {"C", 0},   "Cs,Cp",  MATCH_C_BNEZ, MASK_C_BNEZ, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
-{"bnez",        0, {"I", 0},   "s,p",  MATCH_BNE, MASK_BNE | MASK_RS2, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
-{"bne",         0, {"C", 0},   "Cs,Cz,Cp",  MATCH_C_BNEZ, MASK_C_BNEZ, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
-{"bne",         0, {"I", 0},   "s,t,p",  MATCH_BNE, MASK_BNE, match_opcode, INSN_CONDBRANCH },
-{"addi",        0, {"C", 0},   "Ct,Cc,CK", MATCH_C_ADDI4SPN, MASK_C_ADDI4SPN, match_c_addi4spn, INSN_ALIAS },
-{"addi",        0, {"C", 0},   "d,CU,Cj",  MATCH_C_ADDI, MASK_C_ADDI, match_rd_nonzero, INSN_ALIAS },
-{"addi",        0, {"C", 0},   "d,CU,z",    MATCH_C_NOP, MASK_C_ADDI | MASK_RVC_IMM, match_c_nop, INSN_ALIAS },
-{"addi",        0, {"C", 0},   "Cc,Cc,CL", MATCH_C_ADDI16SP, MASK_C_ADDI16SP, match_c_addi16sp, INSN_ALIAS },
-{"addi",        0, {"I", 0},   "d,s,j",  MATCH_ADDI, MASK_ADDI, match_opcode, 0 },
-{"add",         0, {"C", 0},   "d,CU,CV",  MATCH_C_ADD, MASK_C_ADD, match_c_add, INSN_ALIAS },
-{"add",         0, {"C", 0},   "d,CV,CU",  MATCH_C_ADD, MASK_C_ADD, match_c_add, INSN_ALIAS },
-{"add",         0, {"C", 0},   "d,CU,Co",  MATCH_C_ADDI, MASK_C_ADDI, match_rd_nonzero, INSN_ALIAS },
-{"add",         0, {"C", 0},   "Ct,Cc,CK", MATCH_C_ADDI4SPN, MASK_C_ADDI4SPN, match_c_addi4spn, INSN_ALIAS },
-{"add",         0, {"C", 0},   "Cc,Cc,CL", MATCH_C_ADDI16SP, MASK_C_ADDI16SP, match_c_addi16sp, INSN_ALIAS },
-{"add",         0, {"I", 0},   "d,s,t",  MATCH_ADD, MASK_ADD, match_opcode, 0 },
+{"unimp",       0, INSN_CLASS_C,   "",  0, 0xffffU,  match_opcode, INSN_ALIAS },
+{"unimp",       0, INSN_CLASS_I,   "",  MATCH_CSRRW | (CSR_CYCLE << OP_SH_CSR), 0xffffffffU,  match_opcode, 0 }, /* csrw cycle, x0 */
+{"ebreak",      0, INSN_CLASS_C,   "",  MATCH_C_EBREAK, MASK_C_EBREAK, match_opcode, INSN_ALIAS },
+{"ebreak",      0, INSN_CLASS_I,   "",    MATCH_EBREAK, MASK_EBREAK, match_opcode, 0 },
+{"sbreak",      0, INSN_CLASS_C,   "",  MATCH_C_EBREAK, MASK_C_EBREAK, match_opcode, INSN_ALIAS },
+{"sbreak",      0, INSN_CLASS_I,   "",    MATCH_EBREAK, MASK_EBREAK, match_opcode, INSN_ALIAS },
+{"ret",         0, INSN_CLASS_C,   "",  MATCH_C_JR | (X_RA << OP_SH_RD), MASK_C_JR | MASK_RD, match_opcode, INSN_ALIAS|INSN_BRANCH },
+{"ret",         0, INSN_CLASS_I,   "",  MATCH_JALR | (X_RA << OP_SH_RS1), MASK_JALR | MASK_RD | MASK_RS1 | MASK_IMM, match_opcode, INSN_ALIAS|INSN_BRANCH },
+{"jr",          0, INSN_CLASS_C,   "d",  MATCH_C_JR, MASK_C_JR, match_rd_nonzero, INSN_ALIAS|INSN_BRANCH },
+{"jr",          0, INSN_CLASS_I,   "s",  MATCH_JALR, MASK_JALR | MASK_RD | MASK_IMM, match_opcode, INSN_ALIAS|INSN_BRANCH },
+{"jr",          0, INSN_CLASS_I,   "o(s)",  MATCH_JALR, MASK_JALR | MASK_RD, match_opcode, INSN_ALIAS|INSN_BRANCH },
+{"jr",          0, INSN_CLASS_I,   "s,j",  MATCH_JALR, MASK_JALR | MASK_RD, match_opcode, INSN_ALIAS|INSN_BRANCH },
+{"jalr",        0, INSN_CLASS_C,   "d",  MATCH_C_JALR, MASK_C_JALR, match_rd_nonzero, INSN_ALIAS|INSN_JSR },
+{"jalr",        0, INSN_CLASS_I,   "s",  MATCH_JALR | (X_RA << OP_SH_RD), MASK_JALR | MASK_RD | MASK_IMM, match_opcode, INSN_ALIAS|INSN_JSR },
+{"jalr",        0, INSN_CLASS_I,   "o(s)",  MATCH_JALR | (X_RA << OP_SH_RD), MASK_JALR | MASK_RD, match_opcode, INSN_ALIAS|INSN_JSR },
+{"jalr",        0, INSN_CLASS_I,   "s,j",  MATCH_JALR | (X_RA << OP_SH_RD), MASK_JALR | MASK_RD, match_opcode, INSN_ALIAS|INSN_JSR },
+{"jalr",        0, INSN_CLASS_I,   "d,s",  MATCH_JALR, MASK_JALR | MASK_IMM, match_opcode, INSN_ALIAS|INSN_JSR },
+{"jalr",        0, INSN_CLASS_I,   "d,o(s)",  MATCH_JALR, MASK_JALR, match_opcode, INSN_JSR },
+{"jalr",        0, INSN_CLASS_I,   "d,s,j",  MATCH_JALR, MASK_JALR, match_opcode, INSN_JSR },
+{"j",           0, INSN_CLASS_C,   "Ca",  MATCH_C_J, MASK_C_J, match_opcode, INSN_ALIAS|INSN_BRANCH },
+{"j",           0, INSN_CLASS_I,   "a",  MATCH_JAL, MASK_JAL | MASK_RD, match_opcode, INSN_ALIAS|INSN_BRANCH },
+{"jal",         0, INSN_CLASS_I,   "d,a",  MATCH_JAL, MASK_JAL, match_opcode, INSN_JSR },
+{"jal",        32, INSN_CLASS_C,   "Ca",  MATCH_C_JAL, MASK_C_JAL, match_opcode, INSN_ALIAS|INSN_JSR },
+{"jal",         0, INSN_CLASS_I,   "a",  MATCH_JAL | (X_RA << OP_SH_RD), MASK_JAL | MASK_RD, match_opcode, INSN_ALIAS|INSN_JSR },
+{"call",        0, INSN_CLASS_I,   "d,c", (X_T1 << OP_SH_RS1), (int) M_CALL,  match_never, INSN_MACRO },
+{"call",        0, INSN_CLASS_I,   "c", (X_RA << OP_SH_RS1) | (X_RA << OP_SH_RD), (int) M_CALL,  match_never, INSN_MACRO },
+{"tail",        0, INSN_CLASS_I,   "c", (X_T1 << OP_SH_RS1), (int) M_CALL,  match_never, INSN_MACRO },
+{"jump",        0, INSN_CLASS_I,   "c,s", 0, (int) M_CALL,  match_never, INSN_MACRO },
+{"nop",         0, INSN_CLASS_C,   "",  MATCH_C_ADDI, 0xffff, match_opcode, INSN_ALIAS },
+{"nop",         0, INSN_CLASS_I,   "",         MATCH_ADDI, MASK_ADDI | MASK_RD | MASK_RS1 | MASK_IMM, match_opcode, INSN_ALIAS },
+{"lui",         0, INSN_CLASS_C,   "d,Cu",  MATCH_C_LUI, MASK_C_LUI, match_c_lui, INSN_ALIAS },
+{"lui",         0, INSN_CLASS_I,   "d,u",  MATCH_LUI, MASK_LUI, match_opcode, 0 },
+{"li",          0, INSN_CLASS_C,   "d,Cv",  MATCH_C_LUI, MASK_C_LUI, match_c_lui, INSN_ALIAS },
+{"li",          0, INSN_CLASS_C,   "d,Co",  MATCH_C_LI, MASK_C_LI, match_rd_nonzero, INSN_ALIAS },
+{"li",          0, INSN_CLASS_I,   "d,j",      MATCH_ADDI, MASK_ADDI | MASK_RS1, match_opcode, INSN_ALIAS }, /* addi */
+{"li",          0, INSN_CLASS_I,   "d,I",  0,    (int) M_LI,  match_never, INSN_MACRO },
+{"mv",          0, INSN_CLASS_C,   "d,CV",  MATCH_C_MV, MASK_C_MV, match_c_add, INSN_ALIAS },
+{"mv",          0, INSN_CLASS_I,   "d,s",  MATCH_ADDI, MASK_ADDI | MASK_IMM, match_opcode, INSN_ALIAS },
+{"move",        0, INSN_CLASS_C,   "d,CV",  MATCH_C_MV, MASK_C_MV, match_c_add, INSN_ALIAS },
+{"move",        0, INSN_CLASS_I,   "d,s",  MATCH_ADDI, MASK_ADDI | MASK_IMM, match_opcode, INSN_ALIAS },
+{"andi",        0, INSN_CLASS_C,   "Cs,Cw,Co",  MATCH_C_ANDI, MASK_C_ANDI, match_opcode, INSN_ALIAS },
+{"andi",        0, INSN_CLASS_I,   "d,s,j",  MATCH_ANDI, MASK_ANDI, match_opcode, 0 },
+{"and",         0, INSN_CLASS_C,   "Cs,Cw,Ct",  MATCH_C_AND, MASK_C_AND, match_opcode, INSN_ALIAS },
+{"and",         0, INSN_CLASS_C,   "Cs,Ct,Cw",  MATCH_C_AND, MASK_C_AND, match_opcode, INSN_ALIAS },
+{"and",         0, INSN_CLASS_C,   "Cs,Cw,Co",  MATCH_C_ANDI, MASK_C_ANDI, match_opcode, INSN_ALIAS },
+{"and",         0, INSN_CLASS_I,   "d,s,t",  MATCH_AND, MASK_AND, match_opcode, 0 },
+{"and",         0, INSN_CLASS_I,   "d,s,j",  MATCH_ANDI, MASK_ANDI, match_opcode, INSN_ALIAS },
+{"beqz",        0, INSN_CLASS_C,   "Cs,Cp",  MATCH_C_BEQZ, MASK_C_BEQZ, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
+{"beqz",        0, INSN_CLASS_I,   "s,p",  MATCH_BEQ, MASK_BEQ | MASK_RS2, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
+{"beq",         0, INSN_CLASS_C,   "Cs,Cz,Cp",  MATCH_C_BEQZ, MASK_C_BEQZ, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
+{"beq",         0, INSN_CLASS_I,   "s,t,p",  MATCH_BEQ, MASK_BEQ, match_opcode, INSN_CONDBRANCH },
+{"blez",        0, INSN_CLASS_I,   "t,p",  MATCH_BGE, MASK_BGE | MASK_RS1, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
+{"bgez",        0, INSN_CLASS_I,   "s,p",  MATCH_BGE, MASK_BGE | MASK_RS2, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
+{"bge",         0, INSN_CLASS_I,   "s,t,p",  MATCH_BGE, MASK_BGE, match_opcode, INSN_CONDBRANCH },
+{"bgeu",        0, INSN_CLASS_I,   "s,t,p",  MATCH_BGEU, MASK_BGEU, match_opcode, INSN_CONDBRANCH },
+{"ble",         0, INSN_CLASS_I,   "t,s,p",  MATCH_BGE, MASK_BGE, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
+{"bleu",        0, INSN_CLASS_I,   "t,s,p",  MATCH_BGEU, MASK_BGEU, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
+{"bltz",        0, INSN_CLASS_I,   "s,p",  MATCH_BLT, MASK_BLT | MASK_RS2, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
+{"bgtz",        0, INSN_CLASS_I,   "t,p",  MATCH_BLT, MASK_BLT | MASK_RS1, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
+{"blt",         0, INSN_CLASS_I,   "s,t,p",  MATCH_BLT, MASK_BLT, match_opcode, INSN_CONDBRANCH },
+{"bltu",        0, INSN_CLASS_I,   "s,t,p",  MATCH_BLTU, MASK_BLTU, match_opcode, INSN_CONDBRANCH },
+{"bgt",         0, INSN_CLASS_I,   "t,s,p",  MATCH_BLT, MASK_BLT, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
+{"bgtu",        0, INSN_CLASS_I,   "t,s,p",  MATCH_BLTU, MASK_BLTU, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
+{"bnez",        0, INSN_CLASS_C,   "Cs,Cp",  MATCH_C_BNEZ, MASK_C_BNEZ, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
+{"bnez",        0, INSN_CLASS_I,   "s,p",  MATCH_BNE, MASK_BNE | MASK_RS2, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
+{"bne",         0, INSN_CLASS_C,   "Cs,Cz,Cp",  MATCH_C_BNEZ, MASK_C_BNEZ, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
+{"bne",         0, INSN_CLASS_I,   "s,t,p",  MATCH_BNE, MASK_BNE, match_opcode, INSN_CONDBRANCH },
+{"addi",        0, INSN_CLASS_C,   "Ct,Cc,CK", MATCH_C_ADDI4SPN, MASK_C_ADDI4SPN, match_c_addi4spn, INSN_ALIAS },
+{"addi",        0, INSN_CLASS_C,   "d,CU,Cj",  MATCH_C_ADDI, MASK_C_ADDI, match_rd_nonzero, INSN_ALIAS },
+{"addi",        0, INSN_CLASS_C,   "d,CU,z",    MATCH_C_NOP, MASK_C_ADDI | MASK_RVC_IMM, match_c_nop, INSN_ALIAS },
+{"addi",        0, INSN_CLASS_C,   "Cc,Cc,CL", MATCH_C_ADDI16SP, MASK_C_ADDI16SP, match_c_addi16sp, INSN_ALIAS },
+{"addi",        0, INSN_CLASS_I,   "d,s,j",  MATCH_ADDI, MASK_ADDI, match_opcode, 0 },
+{"add",         0, INSN_CLASS_C,   "d,CU,CV",  MATCH_C_ADD, MASK_C_ADD, match_c_add, INSN_ALIAS },
+{"add",         0, INSN_CLASS_C,   "d,CV,CU",  MATCH_C_ADD, MASK_C_ADD, match_c_add, INSN_ALIAS },
+{"add",         0, INSN_CLASS_C,   "d,CU,Co",  MATCH_C_ADDI, MASK_C_ADDI, match_rd_nonzero, INSN_ALIAS },
+{"add",         0, INSN_CLASS_C,   "Ct,Cc,CK", MATCH_C_ADDI4SPN, MASK_C_ADDI4SPN, match_c_addi4spn, INSN_ALIAS },
+{"add",         0, INSN_CLASS_C,   "Cc,Cc,CL", MATCH_C_ADDI16SP, MASK_C_ADDI16SP, match_c_addi16sp, INSN_ALIAS },
+{"add",         0, INSN_CLASS_I,   "d,s,t",  MATCH_ADD, MASK_ADD, match_opcode, 0 },
 /* This is used for TLS, where the fourth arg is %tprel_add, to get a reloc
    applied to an add instruction, for relaxation to use.  */
-{"add",         0, {"I", 0},   "d,s,t,1",MATCH_ADD, MASK_ADD, match_opcode, 0 },
-{"add",         0, {"I", 0},   "d,s,j",  MATCH_ADDI, MASK_ADDI, match_opcode, INSN_ALIAS },
-{"la",          0, {"I", 0},   "d,B",  0,    (int) M_LA,  match_never, INSN_MACRO },
-{"lla",         0, {"I", 0},   "d,B",  0,    (int) M_LLA,  match_never, INSN_MACRO },
-{"la.tls.gd",   0, {"I", 0},   "d,A",  0,    (int) M_LA_TLS_GD,  match_never, INSN_MACRO },
-{"la.tls.ie",   0, {"I", 0},   "d,A",  0,    (int) M_LA_TLS_IE,  match_never, INSN_MACRO },
-{"neg",         0, {"I", 0},   "d,t",  MATCH_SUB, MASK_SUB | MASK_RS1, match_opcode, INSN_ALIAS }, /* sub 0 */
-{"slli",        0, {"C", 0},   "d,CU,C>",  MATCH_C_SLLI, MASK_C_SLLI, match_slli_as_c_slli, INSN_ALIAS },
-{"slli",        0, {"I", 0},   "d,s,>",   MATCH_SLLI, MASK_SLLI, match_opcode, 0 },
-{"sll",         0, {"C", 0},   "d,CU,C>",  MATCH_C_SLLI, MASK_C_SLLI, match_slli_as_c_slli, INSN_ALIAS },
-{"sll",         0, {"I", 0},   "d,s,t",   MATCH_SLL, MASK_SLL, match_opcode, 0 },
-{"sll",         0, {"I", 0},   "d,s,>",   MATCH_SLLI, MASK_SLLI, match_opcode, INSN_ALIAS },
-{"srli",        0, {"C", 0},   "Cs,Cw,C>",  MATCH_C_SRLI, MASK_C_SRLI, match_srxi_as_c_srxi, INSN_ALIAS },
-{"srli",        0, {"I", 0},   "d,s,>",   MATCH_SRLI, MASK_SRLI, match_opcode, 0 },
-{"srl",         0, {"C", 0},   "Cs,Cw,C>",  MATCH_C_SRLI, MASK_C_SRLI, match_srxi_as_c_srxi, INSN_ALIAS },
-{"srl",         0, {"I", 0},   "d,s,t",   MATCH_SRL, MASK_SRL, match_opcode, 0 },
-{"srl",         0, {"I", 0},   "d,s,>",   MATCH_SRLI, MASK_SRLI, match_opcode, INSN_ALIAS },
-{"srai",        0, {"C", 0},   "Cs,Cw,C>",  MATCH_C_SRAI, MASK_C_SRAI, match_srxi_as_c_srxi, INSN_ALIAS },
-{"srai",        0, {"I", 0},   "d,s,>",   MATCH_SRAI, MASK_SRAI, match_opcode, 0 },
-{"sra",         0, {"C", 0},   "Cs,Cw,C>",  MATCH_C_SRAI, MASK_C_SRAI, match_srxi_as_c_srxi, INSN_ALIAS },
-{"sra",         0, {"I", 0},   "d,s,t",   MATCH_SRA, MASK_SRA, match_opcode, 0 },
-{"sra",         0, {"I", 0},   "d,s,>",   MATCH_SRAI, MASK_SRAI, match_opcode, INSN_ALIAS },
-{"sub",         0, {"C", 0},   "Cs,Cw,Ct",  MATCH_C_SUB, MASK_C_SUB, match_opcode, INSN_ALIAS },
-{"sub",         0, {"I", 0},   "d,s,t",  MATCH_SUB, MASK_SUB, match_opcode, 0 },
-{"lb",          0, {"I", 0},   "d,o(s)",  MATCH_LB, MASK_LB, match_opcode, INSN_DREF|INSN_1_BYTE },
-{"lb",          0, {"I", 0},   "d,A",  0, (int) M_LB, match_never, INSN_MACRO },
-{"lbu",         0, {"I", 0},   "d,o(s)",  MATCH_LBU, MASK_LBU, match_opcode, INSN_DREF|INSN_1_BYTE },
-{"lbu",         0, {"I", 0},   "d,A",  0, (int) M_LBU, match_never, INSN_MACRO },
-{"lh",          0, {"I", 0},   "d,o(s)",  MATCH_LH, MASK_LH, match_opcode, INSN_DREF|INSN_2_BYTE },
-{"lh",          0, {"I", 0},   "d,A",  0, (int) M_LH, match_never, INSN_MACRO },
-{"lhu",         0, {"I", 0},   "d,o(s)",  MATCH_LHU, MASK_LHU, match_opcode, INSN_DREF|INSN_2_BYTE },
-{"lhu",         0, {"I", 0},   "d,A",  0, (int) M_LHU, match_never, INSN_MACRO },
-{"lw",          0, {"C", 0},   "d,Cm(Cc)",  MATCH_C_LWSP, MASK_C_LWSP, match_rd_nonzero, INSN_ALIAS|INSN_DREF|INSN_4_BYTE },
-{"lw",          0, {"C", 0},   "Ct,Ck(Cs)",  MATCH_C_LW, MASK_C_LW, match_opcode, INSN_ALIAS|INSN_DREF|INSN_4_BYTE },
-{"lw",          0, {"I", 0},   "d,o(s)",  MATCH_LW, MASK_LW, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"lw",          0, {"I", 0},   "d,A",  0, (int) M_LW, match_never, INSN_MACRO },
-{"not",         0, {"I", 0},   "d,s",  MATCH_XORI | MASK_IMM, MASK_XORI | MASK_IMM, match_opcode, INSN_ALIAS },
-{"ori",         0, {"I", 0},   "d,s,j",  MATCH_ORI, MASK_ORI, match_opcode, 0 },
-{"or",          0, {"C", 0},   "Cs,Cw,Ct",  MATCH_C_OR, MASK_C_OR, match_opcode, INSN_ALIAS },
-{"or",          0, {"C", 0},   "Cs,Ct,Cw",  MATCH_C_OR, MASK_C_OR, match_opcode, INSN_ALIAS },
-{"or",          0, {"I", 0},   "d,s,t",  MATCH_OR, MASK_OR, match_opcode, 0 },
-{"or",          0, {"I", 0},   "d,s,j",  MATCH_ORI, MASK_ORI, match_opcode, INSN_ALIAS },
-{"auipc",       0, {"I", 0},   "d,u",  MATCH_AUIPC, MASK_AUIPC, match_opcode, 0 },
-{"seqz",        0, {"I", 0},   "d,s",  MATCH_SLTIU | ENCODE_ITYPE_IMM (1), MASK_SLTIU | MASK_IMM, match_opcode, INSN_ALIAS },
-{"snez",        0, {"I", 0},   "d,t",  MATCH_SLTU, MASK_SLTU | MASK_RS1, match_opcode, INSN_ALIAS },
-{"sltz",        0, {"I", 0},   "d,s",  MATCH_SLT, MASK_SLT | MASK_RS2, match_opcode, INSN_ALIAS },
-{"sgtz",        0, {"I", 0},   "d,t",  MATCH_SLT, MASK_SLT | MASK_RS1, match_opcode, INSN_ALIAS },
-{"slti",        0, {"I", 0},   "d,s,j",  MATCH_SLTI, MASK_SLTI, match_opcode, 0 },
-{"slt",         0, {"I", 0},   "d,s,t",  MATCH_SLT, MASK_SLT, match_opcode, 0 },
-{"slt",         0, {"I", 0},   "d,s,j",  MATCH_SLTI, MASK_SLTI, match_opcode, INSN_ALIAS },
-{"sltiu",       0, {"I", 0},   "d,s,j",  MATCH_SLTIU, MASK_SLTIU, match_opcode, 0 },
-{"sltu",        0, {"I", 0},   "d,s,t",  MATCH_SLTU, MASK_SLTU, match_opcode, 0 },
-{"sltu",        0, {"I", 0},   "d,s,j",  MATCH_SLTIU, MASK_SLTIU, match_opcode, INSN_ALIAS },
-{"sgt",         0, {"I", 0},   "d,t,s",  MATCH_SLT, MASK_SLT, match_opcode, INSN_ALIAS },
-{"sgtu",        0, {"I", 0},   "d,t,s",  MATCH_SLTU, MASK_SLTU, match_opcode, INSN_ALIAS },
-{"sb",          0, {"I", 0},   "t,q(s)",  MATCH_SB, MASK_SB, match_opcode, INSN_DREF|INSN_1_BYTE },
-{"sb",          0, {"I", 0},   "t,A,s",  0, (int) M_SB, match_never, INSN_MACRO },
-{"sh",          0, {"I", 0},   "t,q(s)",  MATCH_SH, MASK_SH, match_opcode, INSN_DREF|INSN_2_BYTE },
-{"sh",          0, {"I", 0},   "t,A,s",  0, (int) M_SH, match_never, INSN_MACRO },
-{"sw",          0, {"C", 0},   "CV,CM(Cc)",  MATCH_C_SWSP, MASK_C_SWSP, match_opcode, INSN_ALIAS|INSN_DREF|INSN_4_BYTE },
-{"sw",          0, {"C", 0},   "Ct,Ck(Cs)",  MATCH_C_SW, MASK_C_SW, match_opcode, INSN_ALIAS|INSN_DREF|INSN_4_BYTE },
-{"sw",          0, {"I", 0},   "t,q(s)",  MATCH_SW, MASK_SW, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"sw",          0, {"I", 0},   "t,A,s",  0, (int) M_SW, match_never, INSN_MACRO },
-{"fence",       0, {"I", 0},   "",  MATCH_FENCE | MASK_PRED | MASK_SUCC, MASK_FENCE | MASK_RD | MASK_RS1 | MASK_IMM, match_opcode, INSN_ALIAS },
-{"fence",       0, {"I", 0},   "P,Q",  MATCH_FENCE, MASK_FENCE | MASK_RD | MASK_RS1 | (MASK_IMM & ~MASK_PRED & ~MASK_SUCC), match_opcode, 0 },
-{"fence.i",     0, {"I", 0},   "",  MATCH_FENCE_I, MASK_FENCE | MASK_RD | MASK_RS1 | MASK_IMM, match_opcode, 0 },
-{"fence.tso",   0, {"I", 0},   "",  MATCH_FENCE_TSO, MASK_FENCE_TSO | MASK_RD | MASK_RS1, match_opcode, INSN_ALIAS },
-{"rdcycle",     0, {"I", 0},   "d",  MATCH_RDCYCLE, MASK_RDCYCLE, match_opcode, INSN_ALIAS },
-{"rdinstret",   0, {"I", 0},   "d",  MATCH_RDINSTRET, MASK_RDINSTRET, match_opcode, INSN_ALIAS },
-{"rdtime",      0, {"I", 0},   "d",  MATCH_RDTIME, MASK_RDTIME, match_opcode, INSN_ALIAS },
-{"rdcycleh",   32, {"I", 0},   "d",  MATCH_RDCYCLEH, MASK_RDCYCLEH, match_opcode, INSN_ALIAS },
-{"rdinstreth", 32, {"I", 0},   "d",  MATCH_RDINSTRETH, MASK_RDINSTRETH, match_opcode, INSN_ALIAS },
-{"rdtimeh",    32, {"I", 0},   "d",  MATCH_RDTIMEH, MASK_RDTIMEH, match_opcode, INSN_ALIAS },
-{"ecall",       0, {"I", 0},   "",    MATCH_SCALL, MASK_SCALL, match_opcode, 0 },
-{"scall",       0, {"I", 0},   "",    MATCH_SCALL, MASK_SCALL, match_opcode, 0 },
-{"xori",        0, {"I", 0},   "d,s,j",  MATCH_XORI, MASK_XORI, match_opcode, 0 },
-{"xor",         0, {"C", 0},   "Cs,Cw,Ct",  MATCH_C_XOR, MASK_C_XOR, match_opcode, INSN_ALIAS },
-{"xor",         0, {"C", 0},   "Cs,Ct,Cw",  MATCH_C_XOR, MASK_C_XOR, match_opcode, INSN_ALIAS },
-{"xor",         0, {"I", 0},   "d,s,t",  MATCH_XOR, MASK_XOR, match_opcode, 0 },
-{"xor",         0, {"I", 0},   "d,s,j",  MATCH_XORI, MASK_XORI, match_opcode, INSN_ALIAS },
-{"lwu",        64, {"I", 0}, "d,o(s)",  MATCH_LWU, MASK_LWU, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"lwu",        64, {"I", 0}, "d,A",  0, (int) M_LWU, match_never, INSN_MACRO },
-{"ld",         64, {"C", 0}, "d,Cn(Cc)",  MATCH_C_LDSP, MASK_C_LDSP, match_rd_nonzero, INSN_ALIAS|INSN_DREF|INSN_8_BYTE },
-{"ld",         64, {"C", 0}, "Ct,Cl(Cs)",  MATCH_C_LD, MASK_C_LD, match_opcode, INSN_ALIAS|INSN_DREF|INSN_8_BYTE },
-{"ld",         64, {"I", 0}, "d,o(s)", MATCH_LD, MASK_LD, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"ld",         64, {"I", 0}, "d,A",  0, (int) M_LD, match_never, INSN_MACRO },
-{"sd",         64, {"C", 0}, "CV,CN(Cc)",  MATCH_C_SDSP, MASK_C_SDSP, match_opcode, INSN_ALIAS|INSN_DREF|INSN_8_BYTE },
-{"sd",         64, {"C", 0}, "Ct,Cl(Cs)",  MATCH_C_SD, MASK_C_SD, match_opcode, INSN_ALIAS|INSN_DREF|INSN_8_BYTE },
-{"sd",         64, {"I", 0}, "t,q(s)",  MATCH_SD, MASK_SD, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"sd",         64, {"I", 0}, "t,A,s",  0, (int) M_SD, match_never, INSN_MACRO },
-{"sext.w",     64, {"C", 0}, "d,CU",  MATCH_C_ADDIW, MASK_C_ADDIW | MASK_RVC_IMM, match_rd_nonzero, INSN_ALIAS },
-{"sext.w",     64, {"I", 0}, "d,s",  MATCH_ADDIW, MASK_ADDIW | MASK_IMM, match_opcode, INSN_ALIAS },
-{"addiw",      64, {"C", 0}, "d,CU,Co",  MATCH_C_ADDIW, MASK_C_ADDIW, match_rd_nonzero, INSN_ALIAS },
-{"addiw",      64, {"I", 0}, "d,s,j",  MATCH_ADDIW, MASK_ADDIW, match_opcode, 0 },
-{"addw",       64, {"C", 0}, "Cs,Cw,Ct",  MATCH_C_ADDW, MASK_C_ADDW, match_opcode, INSN_ALIAS },
-{"addw",       64, {"C", 0}, "Cs,Ct,Cw",  MATCH_C_ADDW, MASK_C_ADDW, match_opcode, INSN_ALIAS },
-{"addw",       64, {"C", 0}, "d,CU,Co",  MATCH_C_ADDIW, MASK_C_ADDIW, match_rd_nonzero, INSN_ALIAS },
-{"addw",       64, {"I", 0}, "d,s,t",  MATCH_ADDW, MASK_ADDW, match_opcode, 0 },
-{"addw",       64, {"I", 0}, "d,s,j",  MATCH_ADDIW, MASK_ADDIW, match_opcode, INSN_ALIAS },
-{"negw",       64, {"I", 0}, "d,t",  MATCH_SUBW, MASK_SUBW | MASK_RS1, match_opcode, INSN_ALIAS }, /* sub 0 */
-{"slliw",      64, {"I", 0}, "d,s,<",   MATCH_SLLIW, MASK_SLLIW, match_opcode, 0 },
-{"sllw",       64, {"I", 0}, "d,s,t",   MATCH_SLLW, MASK_SLLW, match_opcode, 0 },
-{"sllw",       64, {"I", 0}, "d,s,<",   MATCH_SLLIW, MASK_SLLIW, match_opcode, INSN_ALIAS },
-{"srliw",      64, {"I", 0}, "d,s,<",   MATCH_SRLIW, MASK_SRLIW, match_opcode, 0 },
-{"srlw",       64, {"I", 0}, "d,s,t",   MATCH_SRLW, MASK_SRLW, match_opcode, 0 },
-{"srlw",       64, {"I", 0}, "d,s,<",   MATCH_SRLIW, MASK_SRLIW, match_opcode, INSN_ALIAS },
-{"sraiw",      64, {"I", 0}, "d,s,<",   MATCH_SRAIW, MASK_SRAIW, match_opcode, 0 },
-{"sraw",       64, {"I", 0}, "d,s,t",   MATCH_SRAW, MASK_SRAW, match_opcode, 0 },
-{"sraw",       64, {"I", 0}, "d,s,<",   MATCH_SRAIW, MASK_SRAIW, match_opcode, INSN_ALIAS },
-{"subw",       64, {"C", 0}, "Cs,Cw,Ct",  MATCH_C_SUBW, MASK_C_SUBW, match_opcode, INSN_ALIAS },
-{"subw",       64, {"I", 0}, "d,s,t",  MATCH_SUBW, MASK_SUBW, match_opcode, 0 },
+{"add",         0, INSN_CLASS_I,   "d,s,t,1",MATCH_ADD, MASK_ADD, match_opcode, 0 },
+{"add",         0, INSN_CLASS_I,   "d,s,j",  MATCH_ADDI, MASK_ADDI, match_opcode, INSN_ALIAS },
+{"la",          0, INSN_CLASS_I,   "d,B",  0,    (int) M_LA,  match_never, INSN_MACRO },
+{"lla",         0, INSN_CLASS_I,   "d,B",  0,    (int) M_LLA,  match_never, INSN_MACRO },
+{"la.tls.gd",   0, INSN_CLASS_I,   "d,A",  0,    (int) M_LA_TLS_GD,  match_never, INSN_MACRO },
+{"la.tls.ie",   0, INSN_CLASS_I,   "d,A",  0,    (int) M_LA_TLS_IE,  match_never, INSN_MACRO },
+{"neg",         0, INSN_CLASS_I,   "d,t",  MATCH_SUB, MASK_SUB | MASK_RS1, match_opcode, INSN_ALIAS }, /* sub 0 */
+{"slli",        0, INSN_CLASS_C,   "d,CU,C>",  MATCH_C_SLLI, MASK_C_SLLI, match_slli_as_c_slli, INSN_ALIAS },
+{"slli",        0, INSN_CLASS_I,   "d,s,>",   MATCH_SLLI, MASK_SLLI, match_opcode, 0 },
+{"sll",         0, INSN_CLASS_C,   "d,CU,C>",  MATCH_C_SLLI, MASK_C_SLLI, match_slli_as_c_slli, INSN_ALIAS },
+{"sll",         0, INSN_CLASS_I,   "d,s,t",   MATCH_SLL, MASK_SLL, match_opcode, 0 },
+{"sll",         0, INSN_CLASS_I,   "d,s,>",   MATCH_SLLI, MASK_SLLI, match_opcode, INSN_ALIAS },
+{"srli",        0, INSN_CLASS_C,   "Cs,Cw,C>",  MATCH_C_SRLI, MASK_C_SRLI, match_srxi_as_c_srxi, INSN_ALIAS },
+{"srli",        0, INSN_CLASS_I,   "d,s,>",   MATCH_SRLI, MASK_SRLI, match_opcode, 0 },
+{"srl",         0, INSN_CLASS_C,   "Cs,Cw,C>",  MATCH_C_SRLI, MASK_C_SRLI, match_srxi_as_c_srxi, INSN_ALIAS },
+{"srl",         0, INSN_CLASS_I,   "d,s,t",   MATCH_SRL, MASK_SRL, match_opcode, 0 },
+{"srl",         0, INSN_CLASS_I,   "d,s,>",   MATCH_SRLI, MASK_SRLI, match_opcode, INSN_ALIAS },
+{"srai",        0, INSN_CLASS_C,   "Cs,Cw,C>",  MATCH_C_SRAI, MASK_C_SRAI, match_srxi_as_c_srxi, INSN_ALIAS },
+{"srai",        0, INSN_CLASS_I,   "d,s,>",   MATCH_SRAI, MASK_SRAI, match_opcode, 0 },
+{"sra",         0, INSN_CLASS_C,   "Cs,Cw,C>",  MATCH_C_SRAI, MASK_C_SRAI, match_srxi_as_c_srxi, INSN_ALIAS },
+{"sra",         0, INSN_CLASS_I,   "d,s,t",   MATCH_SRA, MASK_SRA, match_opcode, 0 },
+{"sra",         0, INSN_CLASS_I,   "d,s,>",   MATCH_SRAI, MASK_SRAI, match_opcode, INSN_ALIAS },
+{"sub",         0, INSN_CLASS_C,   "Cs,Cw,Ct",  MATCH_C_SUB, MASK_C_SUB, match_opcode, INSN_ALIAS },
+{"sub",         0, INSN_CLASS_I,   "d,s,t",  MATCH_SUB, MASK_SUB, match_opcode, 0 },
+{"lb",          0, INSN_CLASS_I,   "d,o(s)",  MATCH_LB, MASK_LB, match_opcode, INSN_DREF|INSN_1_BYTE },
+{"lb",          0, INSN_CLASS_I,   "d,A",  0, (int) M_LB, match_never, INSN_MACRO },
+{"lbu",         0, INSN_CLASS_I,   "d,o(s)",  MATCH_LBU, MASK_LBU, match_opcode, INSN_DREF|INSN_1_BYTE },
+{"lbu",         0, INSN_CLASS_I,   "d,A",  0, (int) M_LBU, match_never, INSN_MACRO },
+{"lh",          0, INSN_CLASS_I,   "d,o(s)",  MATCH_LH, MASK_LH, match_opcode, INSN_DREF|INSN_2_BYTE },
+{"lh",          0, INSN_CLASS_I,   "d,A",  0, (int) M_LH, match_never, INSN_MACRO },
+{"lhu",         0, INSN_CLASS_I,   "d,o(s)",  MATCH_LHU, MASK_LHU, match_opcode, INSN_DREF|INSN_2_BYTE },
+{"lhu",         0, INSN_CLASS_I,   "d,A",  0, (int) M_LHU, match_never, INSN_MACRO },
+{"lw",          0, INSN_CLASS_C,   "d,Cm(Cc)",  MATCH_C_LWSP, MASK_C_LWSP, match_rd_nonzero, INSN_ALIAS|INSN_DREF|INSN_4_BYTE },
+{"lw",          0, INSN_CLASS_C,   "Ct,Ck(Cs)",  MATCH_C_LW, MASK_C_LW, match_opcode, INSN_ALIAS|INSN_DREF|INSN_4_BYTE },
+{"lw",          0, INSN_CLASS_I,   "d,o(s)",  MATCH_LW, MASK_LW, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"lw",          0, INSN_CLASS_I,   "d,A",  0, (int) M_LW, match_never, INSN_MACRO },
+{"not",         0, INSN_CLASS_I,   "d,s",  MATCH_XORI | MASK_IMM, MASK_XORI | MASK_IMM, match_opcode, INSN_ALIAS },
+{"ori",         0, INSN_CLASS_I,   "d,s,j",  MATCH_ORI, MASK_ORI, match_opcode, 0 },
+{"or",          0, INSN_CLASS_C,   "Cs,Cw,Ct",  MATCH_C_OR, MASK_C_OR, match_opcode, INSN_ALIAS },
+{"or",          0, INSN_CLASS_C,   "Cs,Ct,Cw",  MATCH_C_OR, MASK_C_OR, match_opcode, INSN_ALIAS },
+{"or",          0, INSN_CLASS_I,   "d,s,t",  MATCH_OR, MASK_OR, match_opcode, 0 },
+{"or",          0, INSN_CLASS_I,   "d,s,j",  MATCH_ORI, MASK_ORI, match_opcode, INSN_ALIAS },
+{"auipc",       0, INSN_CLASS_I,   "d,u",  MATCH_AUIPC, MASK_AUIPC, match_opcode, 0 },
+{"seqz",        0, INSN_CLASS_I,   "d,s",  MATCH_SLTIU | ENCODE_ITYPE_IMM (1), MASK_SLTIU | MASK_IMM, match_opcode, INSN_ALIAS },
+{"snez",        0, INSN_CLASS_I,   "d,t",  MATCH_SLTU, MASK_SLTU | MASK_RS1, match_opcode, INSN_ALIAS },
+{"sltz",        0, INSN_CLASS_I,   "d,s",  MATCH_SLT, MASK_SLT | MASK_RS2, match_opcode, INSN_ALIAS },
+{"sgtz",        0, INSN_CLASS_I,   "d,t",  MATCH_SLT, MASK_SLT | MASK_RS1, match_opcode, INSN_ALIAS },
+{"slti",        0, INSN_CLASS_I,   "d,s,j",  MATCH_SLTI, MASK_SLTI, match_opcode, 0 },
+{"slt",         0, INSN_CLASS_I,   "d,s,t",  MATCH_SLT, MASK_SLT, match_opcode, 0 },
+{"slt",         0, INSN_CLASS_I,   "d,s,j",  MATCH_SLTI, MASK_SLTI, match_opcode, INSN_ALIAS },
+{"sltiu",       0, INSN_CLASS_I,   "d,s,j",  MATCH_SLTIU, MASK_SLTIU, match_opcode, 0 },
+{"sltu",        0, INSN_CLASS_I,   "d,s,t",  MATCH_SLTU, MASK_SLTU, match_opcode, 0 },
+{"sltu",        0, INSN_CLASS_I,   "d,s,j",  MATCH_SLTIU, MASK_SLTIU, match_opcode, INSN_ALIAS },
+{"sgt",         0, INSN_CLASS_I,   "d,t,s",  MATCH_SLT, MASK_SLT, match_opcode, INSN_ALIAS },
+{"sgtu",        0, INSN_CLASS_I,   "d,t,s",  MATCH_SLTU, MASK_SLTU, match_opcode, INSN_ALIAS },
+{"sb",          0, INSN_CLASS_I,   "t,q(s)",  MATCH_SB, MASK_SB, match_opcode, INSN_DREF|INSN_1_BYTE },
+{"sb",          0, INSN_CLASS_I,   "t,A,s",  0, (int) M_SB, match_never, INSN_MACRO },
+{"sh",          0, INSN_CLASS_I,   "t,q(s)",  MATCH_SH, MASK_SH, match_opcode, INSN_DREF|INSN_2_BYTE },
+{"sh",          0, INSN_CLASS_I,   "t,A,s",  0, (int) M_SH, match_never, INSN_MACRO },
+{"sw",          0, INSN_CLASS_C,   "CV,CM(Cc)",  MATCH_C_SWSP, MASK_C_SWSP, match_opcode, INSN_ALIAS|INSN_DREF|INSN_4_BYTE },
+{"sw",          0, INSN_CLASS_C,   "Ct,Ck(Cs)",  MATCH_C_SW, MASK_C_SW, match_opcode, INSN_ALIAS|INSN_DREF|INSN_4_BYTE },
+{"sw",          0, INSN_CLASS_I,   "t,q(s)",  MATCH_SW, MASK_SW, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"sw",          0, INSN_CLASS_I,   "t,A,s",  0, (int) M_SW, match_never, INSN_MACRO },
+{"fence",       0, INSN_CLASS_I,   "",  MATCH_FENCE | MASK_PRED | MASK_SUCC, MASK_FENCE | MASK_RD | MASK_RS1 | MASK_IMM, match_opcode, INSN_ALIAS },
+{"fence",       0, INSN_CLASS_I,   "P,Q",  MATCH_FENCE, MASK_FENCE | MASK_RD | MASK_RS1 | (MASK_IMM & ~MASK_PRED & ~MASK_SUCC), match_opcode, 0 },
+{"fence.i",     0, INSN_CLASS_I,   "",  MATCH_FENCE_I, MASK_FENCE | MASK_RD | MASK_RS1 | MASK_IMM, match_opcode, 0 },
+{"fence.tso",   0, INSN_CLASS_I,   "",  MATCH_FENCE_TSO, MASK_FENCE_TSO | MASK_RD | MASK_RS1, match_opcode, INSN_ALIAS },
+{"rdcycle",     0, INSN_CLASS_I,   "d",  MATCH_RDCYCLE, MASK_RDCYCLE, match_opcode, INSN_ALIAS },
+{"rdinstret",   0, INSN_CLASS_I,   "d",  MATCH_RDINSTRET, MASK_RDINSTRET, match_opcode, INSN_ALIAS },
+{"rdtime",      0, INSN_CLASS_I,   "d",  MATCH_RDTIME, MASK_RDTIME, match_opcode, INSN_ALIAS },
+{"rdcycleh",   32, INSN_CLASS_I,   "d",  MATCH_RDCYCLEH, MASK_RDCYCLEH, match_opcode, INSN_ALIAS },
+{"rdinstreth", 32, INSN_CLASS_I,   "d",  MATCH_RDINSTRETH, MASK_RDINSTRETH, match_opcode, INSN_ALIAS },
+{"rdtimeh",    32, INSN_CLASS_I,   "d",  MATCH_RDTIMEH, MASK_RDTIMEH, match_opcode, INSN_ALIAS },
+{"ecall",       0, INSN_CLASS_I,   "",    MATCH_SCALL, MASK_SCALL, match_opcode, 0 },
+{"scall",       0, INSN_CLASS_I,   "",    MATCH_SCALL, MASK_SCALL, match_opcode, 0 },
+{"xori",        0, INSN_CLASS_I,   "d,s,j",  MATCH_XORI, MASK_XORI, match_opcode, 0 },
+{"xor",         0, INSN_CLASS_C,   "Cs,Cw,Ct",  MATCH_C_XOR, MASK_C_XOR, match_opcode, INSN_ALIAS },
+{"xor",         0, INSN_CLASS_C,   "Cs,Ct,Cw",  MATCH_C_XOR, MASK_C_XOR, match_opcode, INSN_ALIAS },
+{"xor",         0, INSN_CLASS_I,   "d,s,t",  MATCH_XOR, MASK_XOR, match_opcode, 0 },
+{"xor",         0, INSN_CLASS_I,   "d,s,j",  MATCH_XORI, MASK_XORI, match_opcode, INSN_ALIAS },
+{"lwu",        64, INSN_CLASS_I, "d,o(s)",  MATCH_LWU, MASK_LWU, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"lwu",        64, INSN_CLASS_I, "d,A",  0, (int) M_LWU, match_never, INSN_MACRO },
+{"ld",         64, INSN_CLASS_C, "d,Cn(Cc)",  MATCH_C_LDSP, MASK_C_LDSP, match_rd_nonzero, INSN_ALIAS|INSN_DREF|INSN_8_BYTE },
+{"ld",         64, INSN_CLASS_C, "Ct,Cl(Cs)",  MATCH_C_LD, MASK_C_LD, match_opcode, INSN_ALIAS|INSN_DREF|INSN_8_BYTE },
+{"ld",         64, INSN_CLASS_I, "d,o(s)", MATCH_LD, MASK_LD, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"ld",         64, INSN_CLASS_I, "d,A",  0, (int) M_LD, match_never, INSN_MACRO },
+{"sd",         64, INSN_CLASS_C, "CV,CN(Cc)",  MATCH_C_SDSP, MASK_C_SDSP, match_opcode, INSN_ALIAS|INSN_DREF|INSN_8_BYTE },
+{"sd",         64, INSN_CLASS_C, "Ct,Cl(Cs)",  MATCH_C_SD, MASK_C_SD, match_opcode, INSN_ALIAS|INSN_DREF|INSN_8_BYTE },
+{"sd",         64, INSN_CLASS_I, "t,q(s)",  MATCH_SD, MASK_SD, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"sd",         64, INSN_CLASS_I, "t,A,s",  0, (int) M_SD, match_never, INSN_MACRO },
+{"sext.w",     64, INSN_CLASS_C, "d,CU",  MATCH_C_ADDIW, MASK_C_ADDIW | MASK_RVC_IMM, match_rd_nonzero, INSN_ALIAS },
+{"sext.w",     64, INSN_CLASS_I, "d,s",  MATCH_ADDIW, MASK_ADDIW | MASK_IMM, match_opcode, INSN_ALIAS },
+{"addiw",      64, INSN_CLASS_C, "d,CU,Co",  MATCH_C_ADDIW, MASK_C_ADDIW, match_rd_nonzero, INSN_ALIAS },
+{"addiw",      64, INSN_CLASS_I, "d,s,j",  MATCH_ADDIW, MASK_ADDIW, match_opcode, 0 },
+{"addw",       64, INSN_CLASS_C, "Cs,Cw,Ct",  MATCH_C_ADDW, MASK_C_ADDW, match_opcode, INSN_ALIAS },
+{"addw",       64, INSN_CLASS_C, "Cs,Ct,Cw",  MATCH_C_ADDW, MASK_C_ADDW, match_opcode, INSN_ALIAS },
+{"addw",       64, INSN_CLASS_C, "d,CU,Co",  MATCH_C_ADDIW, MASK_C_ADDIW, match_rd_nonzero, INSN_ALIAS },
+{"addw",       64, INSN_CLASS_I, "d,s,t",  MATCH_ADDW, MASK_ADDW, match_opcode, 0 },
+{"addw",       64, INSN_CLASS_I, "d,s,j",  MATCH_ADDIW, MASK_ADDIW, match_opcode, INSN_ALIAS },
+{"negw",       64, INSN_CLASS_I, "d,t",  MATCH_SUBW, MASK_SUBW | MASK_RS1, match_opcode, INSN_ALIAS }, /* sub 0 */
+{"slliw",      64, INSN_CLASS_I, "d,s,<",   MATCH_SLLIW, MASK_SLLIW, match_opcode, 0 },
+{"sllw",       64, INSN_CLASS_I, "d,s,t",   MATCH_SLLW, MASK_SLLW, match_opcode, 0 },
+{"sllw",       64, INSN_CLASS_I, "d,s,<",   MATCH_SLLIW, MASK_SLLIW, match_opcode, INSN_ALIAS },
+{"srliw",      64, INSN_CLASS_I, "d,s,<",   MATCH_SRLIW, MASK_SRLIW, match_opcode, 0 },
+{"srlw",       64, INSN_CLASS_I, "d,s,t",   MATCH_SRLW, MASK_SRLW, match_opcode, 0 },
+{"srlw",       64, INSN_CLASS_I, "d,s,<",   MATCH_SRLIW, MASK_SRLIW, match_opcode, INSN_ALIAS },
+{"sraiw",      64, INSN_CLASS_I, "d,s,<",   MATCH_SRAIW, MASK_SRAIW, match_opcode, 0 },
+{"sraw",       64, INSN_CLASS_I, "d,s,t",   MATCH_SRAW, MASK_SRAW, match_opcode, 0 },
+{"sraw",       64, INSN_CLASS_I, "d,s,<",   MATCH_SRAIW, MASK_SRAIW, match_opcode, INSN_ALIAS },
+{"subw",       64, INSN_CLASS_C, "Cs,Cw,Ct",  MATCH_C_SUBW, MASK_C_SUBW, match_opcode, INSN_ALIAS },
+{"subw",       64, INSN_CLASS_I, "d,s,t",  MATCH_SUBW, MASK_SUBW, match_opcode, 0 },
 
 /* Atomic memory operation instruction subset */
-{"lr.w",         0, {"A", 0},   "d,0(s)",    MATCH_LR_W, MASK_LR_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"sc.w",         0, {"A", 0},   "d,t,0(s)",  MATCH_SC_W, MASK_SC_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amoadd.w",     0, {"A", 0},   "d,t,0(s)",  MATCH_AMOADD_W, MASK_AMOADD_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amoswap.w",    0, {"A", 0},   "d,t,0(s)",  MATCH_AMOSWAP_W, MASK_AMOSWAP_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amoand.w",     0, {"A", 0},   "d,t,0(s)",  MATCH_AMOAND_W, MASK_AMOAND_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amoor.w",      0, {"A", 0},   "d,t,0(s)",  MATCH_AMOOR_W, MASK_AMOOR_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amoxor.w",     0, {"A", 0},   "d,t,0(s)",  MATCH_AMOXOR_W, MASK_AMOXOR_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amomax.w",     0, {"A", 0},   "d,t,0(s)",  MATCH_AMOMAX_W, MASK_AMOMAX_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amomaxu.w",    0, {"A", 0},   "d,t,0(s)",  MATCH_AMOMAXU_W, MASK_AMOMAXU_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amomin.w",     0, {"A", 0},   "d,t,0(s)",  MATCH_AMOMIN_W, MASK_AMOMIN_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amominu.w",    0, {"A", 0},   "d,t,0(s)",  MATCH_AMOMINU_W, MASK_AMOMINU_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"lr.w.aq",      0, {"A", 0},   "d,0(s)",    MATCH_LR_W | MASK_AQ, MASK_LR_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"sc.w.aq",      0, {"A", 0},   "d,t,0(s)",  MATCH_SC_W | MASK_AQ, MASK_SC_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amoadd.w.aq",  0, {"A", 0},   "d,t,0(s)",  MATCH_AMOADD_W | MASK_AQ, MASK_AMOADD_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amoswap.w.aq", 0, {"A", 0},   "d,t,0(s)",  MATCH_AMOSWAP_W | MASK_AQ, MASK_AMOSWAP_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amoand.w.aq",  0, {"A", 0},   "d,t,0(s)",  MATCH_AMOAND_W | MASK_AQ, MASK_AMOAND_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amoor.w.aq",   0, {"A", 0},   "d,t,0(s)",  MATCH_AMOOR_W | MASK_AQ, MASK_AMOOR_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amoxor.w.aq",  0, {"A", 0},   "d,t,0(s)",  MATCH_AMOXOR_W | MASK_AQ, MASK_AMOXOR_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amomax.w.aq",  0, {"A", 0},   "d,t,0(s)",  MATCH_AMOMAX_W | MASK_AQ, MASK_AMOMAX_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amomaxu.w.aq", 0, {"A", 0},   "d,t,0(s)",  MATCH_AMOMAXU_W | MASK_AQ, MASK_AMOMAXU_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amomin.w.aq",  0, {"A", 0},   "d,t,0(s)",  MATCH_AMOMIN_W | MASK_AQ, MASK_AMOMIN_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amominu.w.aq", 0, {"A", 0},   "d,t,0(s)",  MATCH_AMOMINU_W | MASK_AQ, MASK_AMOMINU_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"lr.w.rl",      0, {"A", 0},   "d,0(s)",    MATCH_LR_W | MASK_RL, MASK_LR_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"sc.w.rl",      0, {"A", 0},   "d,t,0(s)",  MATCH_SC_W | MASK_RL, MASK_SC_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amoadd.w.rl",  0, {"A", 0},   "d,t,0(s)",  MATCH_AMOADD_W | MASK_RL, MASK_AMOADD_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amoswap.w.rl", 0, {"A", 0},   "d,t,0(s)",  MATCH_AMOSWAP_W | MASK_RL, MASK_AMOSWAP_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amoand.w.rl",  0, {"A", 0},   "d,t,0(s)",  MATCH_AMOAND_W | MASK_RL, MASK_AMOAND_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amoor.w.rl",   0, {"A", 0},   "d,t,0(s)",  MATCH_AMOOR_W | MASK_RL, MASK_AMOOR_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amoxor.w.rl",  0, {"A", 0},   "d,t,0(s)",  MATCH_AMOXOR_W | MASK_RL, MASK_AMOXOR_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amomax.w.rl",  0, {"A", 0},   "d,t,0(s)",  MATCH_AMOMAX_W | MASK_RL, MASK_AMOMAX_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amomaxu.w.rl", 0, {"A", 0},   "d,t,0(s)",  MATCH_AMOMAXU_W | MASK_RL, MASK_AMOMAXU_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amomin.w.rl",  0, {"A", 0},   "d,t,0(s)",  MATCH_AMOMIN_W | MASK_RL, MASK_AMOMIN_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amominu.w.rl", 0, {"A", 0},   "d,t,0(s)",  MATCH_AMOMINU_W | MASK_RL, MASK_AMOMINU_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"lr.w.aqrl",    0, {"A", 0},   "d,0(s)",    MATCH_LR_W | MASK_AQRL, MASK_LR_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"sc.w.aqrl",    0, {"A", 0},   "d,t,0(s)",  MATCH_SC_W | MASK_AQRL, MASK_SC_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amoadd.w.aqrl",  0, {"A", 0},   "d,t,0(s)",  MATCH_AMOADD_W | MASK_AQRL, MASK_AMOADD_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amoswap.w.aqrl", 0, {"A", 0},   "d,t,0(s)",  MATCH_AMOSWAP_W | MASK_AQRL, MASK_AMOSWAP_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amoand.w.aqrl",  0, {"A", 0},   "d,t,0(s)",  MATCH_AMOAND_W | MASK_AQRL, MASK_AMOAND_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amoor.w.aqrl",   0, {"A", 0},   "d,t,0(s)",  MATCH_AMOOR_W | MASK_AQRL, MASK_AMOOR_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amoxor.w.aqrl",  0, {"A", 0},   "d,t,0(s)",  MATCH_AMOXOR_W | MASK_AQRL, MASK_AMOXOR_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amomax.w.aqrl",  0, {"A", 0},   "d,t,0(s)",  MATCH_AMOMAX_W | MASK_AQRL, MASK_AMOMAX_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amomaxu.w.aqrl", 0, {"A", 0},   "d,t,0(s)",  MATCH_AMOMAXU_W | MASK_AQRL, MASK_AMOMAXU_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amomin.w.aqrl",  0, {"A", 0},   "d,t,0(s)",  MATCH_AMOMIN_W | MASK_AQRL, MASK_AMOMIN_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"amominu.w.aqrl", 0, {"A", 0},   "d,t,0(s)",  MATCH_AMOMINU_W | MASK_AQRL, MASK_AMOMINU_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"lr.d",         64, {"A", 0} , "d,0(s)",    MATCH_LR_D, MASK_LR_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"sc.d",         64, {"A", 0} , "d,t,0(s)",  MATCH_SC_D, MASK_SC_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amoadd.d",     64, {"A", 0} , "d,t,0(s)",  MATCH_AMOADD_D, MASK_AMOADD_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amoswap.d",    64, {"A", 0} , "d,t,0(s)",  MATCH_AMOSWAP_D, MASK_AMOSWAP_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amoand.d",     64, {"A", 0} , "d,t,0(s)",  MATCH_AMOAND_D, MASK_AMOAND_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amoor.d",      64, {"A", 0} , "d,t,0(s)",  MATCH_AMOOR_D, MASK_AMOOR_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amoxor.d",     64, {"A", 0} , "d,t,0(s)",  MATCH_AMOXOR_D, MASK_AMOXOR_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amomax.d",     64, {"A", 0} , "d,t,0(s)",  MATCH_AMOMAX_D, MASK_AMOMAX_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amomaxu.d",    64, {"A", 0} , "d,t,0(s)",  MATCH_AMOMAXU_D, MASK_AMOMAXU_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amomin.d",     64, {"A", 0} , "d,t,0(s)",  MATCH_AMOMIN_D, MASK_AMOMIN_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amominu.d",    64, {"A", 0} , "d,t,0(s)",  MATCH_AMOMINU_D, MASK_AMOMINU_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"lr.d.aq",      64, {"A", 0} , "d,0(s)",    MATCH_LR_D | MASK_AQ, MASK_LR_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"sc.d.aq",      64, {"A", 0} , "d,t,0(s)",  MATCH_SC_D | MASK_AQ, MASK_SC_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amoadd.d.aq",  64, {"A", 0} , "d,t,0(s)",  MATCH_AMOADD_D | MASK_AQ, MASK_AMOADD_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amoswap.d.aq", 64, {"A", 0} , "d,t,0(s)",  MATCH_AMOSWAP_D | MASK_AQ, MASK_AMOSWAP_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amoand.d.aq",  64, {"A", 0} , "d,t,0(s)",  MATCH_AMOAND_D | MASK_AQ, MASK_AMOAND_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amoor.d.aq",   64, {"A", 0} , "d,t,0(s)",  MATCH_AMOOR_D | MASK_AQ, MASK_AMOOR_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amoxor.d.aq",  64, {"A", 0} , "d,t,0(s)",  MATCH_AMOXOR_D | MASK_AQ, MASK_AMOXOR_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amomax.d.aq",  64, {"A", 0} , "d,t,0(s)",  MATCH_AMOMAX_D | MASK_AQ, MASK_AMOMAX_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amomaxu.d.aq", 64, {"A", 0} , "d,t,0(s)",  MATCH_AMOMAXU_D | MASK_AQ, MASK_AMOMAXU_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amomin.d.aq",  64, {"A", 0} , "d,t,0(s)",  MATCH_AMOMIN_D | MASK_AQ, MASK_AMOMIN_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amominu.d.aq", 64, {"A", 0} , "d,t,0(s)",  MATCH_AMOMINU_D | MASK_AQ, MASK_AMOMINU_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"lr.d.rl",      64, {"A", 0} , "d,0(s)",    MATCH_LR_D | MASK_RL, MASK_LR_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"sc.d.rl",      64, {"A", 0} , "d,t,0(s)",  MATCH_SC_D | MASK_RL, MASK_SC_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amoadd.d.rl",  64, {"A", 0} , "d,t,0(s)",  MATCH_AMOADD_D | MASK_RL, MASK_AMOADD_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amoswap.d.rl", 64, {"A", 0} , "d,t,0(s)",  MATCH_AMOSWAP_D | MASK_RL, MASK_AMOSWAP_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amoand.d.rl",  64, {"A", 0} , "d,t,0(s)",  MATCH_AMOAND_D | MASK_RL, MASK_AMOAND_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amoor.d.rl",   64, {"A", 0} , "d,t,0(s)",  MATCH_AMOOR_D | MASK_RL, MASK_AMOOR_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amoxor.d.rl",  64, {"A", 0} , "d,t,0(s)",  MATCH_AMOXOR_D | MASK_RL, MASK_AMOXOR_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amomax.d.rl",  64, {"A", 0} , "d,t,0(s)",  MATCH_AMOMAX_D | MASK_RL, MASK_AMOMAX_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amomaxu.d.rl", 64, {"A", 0} , "d,t,0(s)",  MATCH_AMOMAXU_D | MASK_RL, MASK_AMOMAXU_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amomin.d.rl",  64, {"A", 0} , "d,t,0(s)",  MATCH_AMOMIN_D | MASK_RL, MASK_AMOMIN_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amominu.d.rl", 64, {"A", 0} , "d,t,0(s)",  MATCH_AMOMINU_D | MASK_RL, MASK_AMOMINU_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"lr.d.aqrl",    64, {"A", 0} , "d,0(s)",    MATCH_LR_D | MASK_AQRL, MASK_LR_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"sc.d.aqrl",    64, {"A", 0} , "d,t,0(s)",  MATCH_SC_D | MASK_AQRL, MASK_SC_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amoadd.d.aqrl",  64, {"A", 0} , "d,t,0(s)",  MATCH_AMOADD_D | MASK_AQRL, MASK_AMOADD_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amoswap.d.aqrl", 64, {"A", 0} , "d,t,0(s)",  MATCH_AMOSWAP_D | MASK_AQRL, MASK_AMOSWAP_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amoand.d.aqrl",  64, {"A", 0} , "d,t,0(s)",  MATCH_AMOAND_D | MASK_AQRL, MASK_AMOAND_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amoor.d.aqrl",   64, {"A", 0} , "d,t,0(s)",  MATCH_AMOOR_D | MASK_AQRL, MASK_AMOOR_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amoxor.d.aqrl",  64, {"A", 0} , "d,t,0(s)",  MATCH_AMOXOR_D | MASK_AQRL, MASK_AMOXOR_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amomax.d.aqrl",  64, {"A", 0} , "d,t,0(s)",  MATCH_AMOMAX_D | MASK_AQRL, MASK_AMOMAX_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amomaxu.d.aqrl", 64, {"A", 0} , "d,t,0(s)",  MATCH_AMOMAXU_D | MASK_AQRL, MASK_AMOMAXU_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amomin.d.aqrl",  64, {"A", 0} , "d,t,0(s)",  MATCH_AMOMIN_D | MASK_AQRL, MASK_AMOMIN_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"amominu.d.aqrl", 64, {"A", 0} , "d,t,0(s)",  MATCH_AMOMINU_D | MASK_AQRL, MASK_AMOMINU_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"lr.w",         0, INSN_CLASS_A,   "d,0(s)",    MATCH_LR_W, MASK_LR_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"sc.w",         0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_SC_W, MASK_SC_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amoadd.w",     0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOADD_W, MASK_AMOADD_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amoswap.w",    0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOSWAP_W, MASK_AMOSWAP_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amoand.w",     0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOAND_W, MASK_AMOAND_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amoor.w",      0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOOR_W, MASK_AMOOR_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amoxor.w",     0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOXOR_W, MASK_AMOXOR_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amomax.w",     0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOMAX_W, MASK_AMOMAX_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amomaxu.w",    0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOMAXU_W, MASK_AMOMAXU_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amomin.w",     0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOMIN_W, MASK_AMOMIN_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amominu.w",    0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOMINU_W, MASK_AMOMINU_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"lr.w.aq",      0, INSN_CLASS_A,   "d,0(s)",    MATCH_LR_W | MASK_AQ, MASK_LR_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"sc.w.aq",      0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_SC_W | MASK_AQ, MASK_SC_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amoadd.w.aq",  0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOADD_W | MASK_AQ, MASK_AMOADD_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amoswap.w.aq", 0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOSWAP_W | MASK_AQ, MASK_AMOSWAP_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amoand.w.aq",  0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOAND_W | MASK_AQ, MASK_AMOAND_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amoor.w.aq",   0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOOR_W | MASK_AQ, MASK_AMOOR_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amoxor.w.aq",  0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOXOR_W | MASK_AQ, MASK_AMOXOR_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amomax.w.aq",  0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOMAX_W | MASK_AQ, MASK_AMOMAX_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amomaxu.w.aq", 0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOMAXU_W | MASK_AQ, MASK_AMOMAXU_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amomin.w.aq",  0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOMIN_W | MASK_AQ, MASK_AMOMIN_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amominu.w.aq", 0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOMINU_W | MASK_AQ, MASK_AMOMINU_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"lr.w.rl",      0, INSN_CLASS_A,   "d,0(s)",    MATCH_LR_W | MASK_RL, MASK_LR_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"sc.w.rl",      0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_SC_W | MASK_RL, MASK_SC_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amoadd.w.rl",  0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOADD_W | MASK_RL, MASK_AMOADD_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amoswap.w.rl", 0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOSWAP_W | MASK_RL, MASK_AMOSWAP_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amoand.w.rl",  0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOAND_W | MASK_RL, MASK_AMOAND_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amoor.w.rl",   0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOOR_W | MASK_RL, MASK_AMOOR_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amoxor.w.rl",  0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOXOR_W | MASK_RL, MASK_AMOXOR_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amomax.w.rl",  0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOMAX_W | MASK_RL, MASK_AMOMAX_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amomaxu.w.rl", 0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOMAXU_W | MASK_RL, MASK_AMOMAXU_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amomin.w.rl",  0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOMIN_W | MASK_RL, MASK_AMOMIN_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amominu.w.rl", 0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOMINU_W | MASK_RL, MASK_AMOMINU_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"lr.w.aqrl",    0, INSN_CLASS_A,   "d,0(s)",    MATCH_LR_W | MASK_AQRL, MASK_LR_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"sc.w.aqrl",    0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_SC_W | MASK_AQRL, MASK_SC_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amoadd.w.aqrl",  0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOADD_W | MASK_AQRL, MASK_AMOADD_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amoswap.w.aqrl", 0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOSWAP_W | MASK_AQRL, MASK_AMOSWAP_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amoand.w.aqrl",  0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOAND_W | MASK_AQRL, MASK_AMOAND_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amoor.w.aqrl",   0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOOR_W | MASK_AQRL, MASK_AMOOR_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amoxor.w.aqrl",  0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOXOR_W | MASK_AQRL, MASK_AMOXOR_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amomax.w.aqrl",  0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOMAX_W | MASK_AQRL, MASK_AMOMAX_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amomaxu.w.aqrl", 0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOMAXU_W | MASK_AQRL, MASK_AMOMAXU_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amomin.w.aqrl",  0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOMIN_W | MASK_AQRL, MASK_AMOMIN_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"amominu.w.aqrl", 0, INSN_CLASS_A,   "d,t,0(s)",  MATCH_AMOMINU_W | MASK_AQRL, MASK_AMOMINU_W | MASK_AQRL, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"lr.d",         64, INSN_CLASS_A , "d,0(s)",    MATCH_LR_D, MASK_LR_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"sc.d",         64, INSN_CLASS_A , "d,t,0(s)",  MATCH_SC_D, MASK_SC_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amoadd.d",     64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOADD_D, MASK_AMOADD_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amoswap.d",    64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOSWAP_D, MASK_AMOSWAP_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amoand.d",     64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOAND_D, MASK_AMOAND_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amoor.d",      64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOOR_D, MASK_AMOOR_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amoxor.d",     64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOXOR_D, MASK_AMOXOR_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amomax.d",     64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOMAX_D, MASK_AMOMAX_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amomaxu.d",    64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOMAXU_D, MASK_AMOMAXU_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amomin.d",     64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOMIN_D, MASK_AMOMIN_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amominu.d",    64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOMINU_D, MASK_AMOMINU_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"lr.d.aq",      64, INSN_CLASS_A , "d,0(s)",    MATCH_LR_D | MASK_AQ, MASK_LR_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"sc.d.aq",      64, INSN_CLASS_A , "d,t,0(s)",  MATCH_SC_D | MASK_AQ, MASK_SC_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amoadd.d.aq",  64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOADD_D | MASK_AQ, MASK_AMOADD_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amoswap.d.aq", 64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOSWAP_D | MASK_AQ, MASK_AMOSWAP_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amoand.d.aq",  64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOAND_D | MASK_AQ, MASK_AMOAND_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amoor.d.aq",   64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOOR_D | MASK_AQ, MASK_AMOOR_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amoxor.d.aq",  64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOXOR_D | MASK_AQ, MASK_AMOXOR_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amomax.d.aq",  64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOMAX_D | MASK_AQ, MASK_AMOMAX_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amomaxu.d.aq", 64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOMAXU_D | MASK_AQ, MASK_AMOMAXU_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amomin.d.aq",  64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOMIN_D | MASK_AQ, MASK_AMOMIN_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amominu.d.aq", 64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOMINU_D | MASK_AQ, MASK_AMOMINU_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"lr.d.rl",      64, INSN_CLASS_A , "d,0(s)",    MATCH_LR_D | MASK_RL, MASK_LR_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"sc.d.rl",      64, INSN_CLASS_A , "d,t,0(s)",  MATCH_SC_D | MASK_RL, MASK_SC_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amoadd.d.rl",  64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOADD_D | MASK_RL, MASK_AMOADD_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amoswap.d.rl", 64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOSWAP_D | MASK_RL, MASK_AMOSWAP_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amoand.d.rl",  64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOAND_D | MASK_RL, MASK_AMOAND_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amoor.d.rl",   64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOOR_D | MASK_RL, MASK_AMOOR_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amoxor.d.rl",  64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOXOR_D | MASK_RL, MASK_AMOXOR_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amomax.d.rl",  64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOMAX_D | MASK_RL, MASK_AMOMAX_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amomaxu.d.rl", 64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOMAXU_D | MASK_RL, MASK_AMOMAXU_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amomin.d.rl",  64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOMIN_D | MASK_RL, MASK_AMOMIN_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amominu.d.rl", 64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOMINU_D | MASK_RL, MASK_AMOMINU_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"lr.d.aqrl",    64, INSN_CLASS_A , "d,0(s)",    MATCH_LR_D | MASK_AQRL, MASK_LR_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"sc.d.aqrl",    64, INSN_CLASS_A , "d,t,0(s)",  MATCH_SC_D | MASK_AQRL, MASK_SC_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amoadd.d.aqrl",  64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOADD_D | MASK_AQRL, MASK_AMOADD_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amoswap.d.aqrl", 64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOSWAP_D | MASK_AQRL, MASK_AMOSWAP_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amoand.d.aqrl",  64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOAND_D | MASK_AQRL, MASK_AMOAND_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amoor.d.aqrl",   64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOOR_D | MASK_AQRL, MASK_AMOOR_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amoxor.d.aqrl",  64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOXOR_D | MASK_AQRL, MASK_AMOXOR_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amomax.d.aqrl",  64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOMAX_D | MASK_AQRL, MASK_AMOMAX_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amomaxu.d.aqrl", 64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOMAXU_D | MASK_AQRL, MASK_AMOMAXU_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amomin.d.aqrl",  64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOMIN_D | MASK_AQRL, MASK_AMOMIN_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"amominu.d.aqrl", 64, INSN_CLASS_A , "d,t,0(s)",  MATCH_AMOMINU_D | MASK_AQRL, MASK_AMOMINU_D | MASK_AQRL, match_opcode, INSN_DREF|INSN_8_BYTE },
 
 /* Multiply/Divide instruction subset */
-{"mul",       0, {"M", 0},   "d,s,t",  MATCH_MUL, MASK_MUL, match_opcode, 0 },
-{"mulh",      0, {"M", 0},   "d,s,t",  MATCH_MULH, MASK_MULH, match_opcode, 0 },
-{"mulhu",     0, {"M", 0},   "d,s,t",  MATCH_MULHU, MASK_MULHU, match_opcode, 0 },
-{"mulhsu",    0, {"M", 0},   "d,s,t",  MATCH_MULHSU, MASK_MULHSU, match_opcode, 0 },
-{"div",       0, {"M", 0},   "d,s,t",  MATCH_DIV, MASK_DIV, match_opcode, 0 },
-{"divu",      0, {"M", 0},   "d,s,t",  MATCH_DIVU, MASK_DIVU, match_opcode, 0 },
-{"rem",       0, {"M", 0},   "d,s,t",  MATCH_REM, MASK_REM, match_opcode, 0 },
-{"remu",      0, {"M", 0},   "d,s,t",  MATCH_REMU, MASK_REMU, match_opcode, 0 },
-{"mulw",     64, {"M", 0}, "d,s,t",  MATCH_MULW, MASK_MULW, match_opcode, 0 },
-{"divw",     64, {"M", 0}, "d,s,t",  MATCH_DIVW, MASK_DIVW, match_opcode, 0 },
-{"divuw",    64, {"M", 0}, "d,s,t",  MATCH_DIVUW, MASK_DIVUW, match_opcode, 0 },
-{"remw",     64, {"M", 0}, "d,s,t",  MATCH_REMW, MASK_REMW, match_opcode, 0 },
-{"remuw",    64, {"M", 0}, "d,s,t",  MATCH_REMUW, MASK_REMUW, match_opcode, 0 },
+{"mul",       0, INSN_CLASS_M,   "d,s,t",  MATCH_MUL, MASK_MUL, match_opcode, 0 },
+{"mulh",      0, INSN_CLASS_M,   "d,s,t",  MATCH_MULH, MASK_MULH, match_opcode, 0 },
+{"mulhu",     0, INSN_CLASS_M,   "d,s,t",  MATCH_MULHU, MASK_MULHU, match_opcode, 0 },
+{"mulhsu",    0, INSN_CLASS_M,   "d,s,t",  MATCH_MULHSU, MASK_MULHSU, match_opcode, 0 },
+{"div",       0, INSN_CLASS_M,   "d,s,t",  MATCH_DIV, MASK_DIV, match_opcode, 0 },
+{"divu",      0, INSN_CLASS_M,   "d,s,t",  MATCH_DIVU, MASK_DIVU, match_opcode, 0 },
+{"rem",       0, INSN_CLASS_M,   "d,s,t",  MATCH_REM, MASK_REM, match_opcode, 0 },
+{"remu",      0, INSN_CLASS_M,   "d,s,t",  MATCH_REMU, MASK_REMU, match_opcode, 0 },
+{"mulw",     64, INSN_CLASS_M, "d,s,t",  MATCH_MULW, MASK_MULW, match_opcode, 0 },
+{"divw",     64, INSN_CLASS_M, "d,s,t",  MATCH_DIVW, MASK_DIVW, match_opcode, 0 },
+{"divuw",    64, INSN_CLASS_M, "d,s,t",  MATCH_DIVUW, MASK_DIVUW, match_opcode, 0 },
+{"remw",     64, INSN_CLASS_M, "d,s,t",  MATCH_REMW, MASK_REMW, match_opcode, 0 },
+{"remuw",    64, INSN_CLASS_M, "d,s,t",  MATCH_REMUW, MASK_REMUW, match_opcode, 0 },
 
 /* Single-precision floating-point instruction subset */
-{"frcsr",     0, {"F", 0},   "d",  MATCH_FRCSR, MASK_FRCSR, match_opcode, INSN_ALIAS },
-{"frsr",      0, {"F", 0},   "d",  MATCH_FRCSR, MASK_FRCSR, match_opcode, INSN_ALIAS },
-{"fscsr",     0, {"F", 0},   "s",  MATCH_FSCSR, MASK_FSCSR | MASK_RD, match_opcode, INSN_ALIAS },
-{"fscsr",     0, {"F", 0},   "d,s",  MATCH_FSCSR, MASK_FSCSR, match_opcode, INSN_ALIAS },
-{"fssr",      0, {"F", 0},   "s",  MATCH_FSCSR, MASK_FSCSR | MASK_RD, match_opcode, INSN_ALIAS },
-{"fssr",      0, {"F", 0},   "d,s",  MATCH_FSCSR, MASK_FSCSR, match_opcode, INSN_ALIAS },
-{"frrm",      0, {"F", 0},   "d",  MATCH_FRRM, MASK_FRRM, match_opcode, INSN_ALIAS },
-{"fsrm",      0, {"F", 0},   "s",  MATCH_FSRM, MASK_FSRM | MASK_RD, match_opcode, INSN_ALIAS },
-{"fsrm",      0, {"F", 0},   "d,s",  MATCH_FSRM, MASK_FSRM, match_opcode, INSN_ALIAS },
-{"fsrmi",     0, {"F", 0},   "d,Z",  MATCH_FSRMI, MASK_FSRMI, match_opcode, INSN_ALIAS },
-{"fsrmi",     0, {"F", 0},   "Z",  MATCH_FSRMI, MASK_FSRMI | MASK_RD, match_opcode, INSN_ALIAS },
-{"frflags",   0, {"F", 0},   "d",  MATCH_FRFLAGS, MASK_FRFLAGS, match_opcode, INSN_ALIAS },
-{"fsflags",   0, {"F", 0},   "s",  MATCH_FSFLAGS, MASK_FSFLAGS | MASK_RD, match_opcode, INSN_ALIAS },
-{"fsflags",   0, {"F", 0},   "d,s",  MATCH_FSFLAGS, MASK_FSFLAGS, match_opcode, INSN_ALIAS },
-{"fsflagsi",  0, {"F", 0},   "d,Z",  MATCH_FSFLAGSI, MASK_FSFLAGSI, match_opcode, INSN_ALIAS },
-{"fsflagsi",  0, {"F", 0},   "Z",  MATCH_FSFLAGSI, MASK_FSFLAGSI | MASK_RD, match_opcode, INSN_ALIAS },
-{"flw",      32, {"F", "C", 0}, "D,Cm(Cc)",  MATCH_C_FLWSP, MASK_C_FLWSP, match_opcode, INSN_ALIAS|INSN_DREF|INSN_4_BYTE },
-{"flw",      32, {"F", "C", 0}, "CD,Ck(Cs)",  MATCH_C_FLW, MASK_C_FLW, match_opcode, INSN_ALIAS|INSN_DREF|INSN_4_BYTE },
-{"flw",       0, {"F", 0},   "D,o(s)",  MATCH_FLW, MASK_FLW, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"flw",       0, {"F", 0},   "D,A,s",  0, (int) M_FLW, match_never, INSN_MACRO },
-{"fsw",      32, {"F", "C", 0}, "CT,CM(Cc)",  MATCH_C_FSWSP, MASK_C_FSWSP, match_opcode, INSN_ALIAS|INSN_DREF|INSN_4_BYTE },
-{"fsw",      32, {"F", "C", 0}, "CD,Ck(Cs)",  MATCH_C_FSW, MASK_C_FSW, match_opcode, INSN_ALIAS|INSN_DREF|INSN_4_BYTE },
-{"fsw",       0, {"F", 0},   "T,q(s)",  MATCH_FSW, MASK_FSW, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"fsw",       0, {"F", 0},   "T,A,s",  0, (int) M_FSW, match_never, INSN_MACRO },
-
-{"fmv.x.w",    0, {"F", 0},   "d,S",  MATCH_FMV_X_S, MASK_FMV_X_S, match_opcode, 0 },
-{"fmv.w.x",    0, {"F", 0},   "D,s",  MATCH_FMV_S_X, MASK_FMV_S_X, match_opcode, 0 },
-
-{"fmv.x.s",    0, {"F", 0},   "d,S",  MATCH_FMV_X_S, MASK_FMV_X_S, match_opcode, 0 },
-{"fmv.s.x",    0, {"F", 0},   "D,s",  MATCH_FMV_S_X, MASK_FMV_S_X, match_opcode, 0 },
-
-{"fmv.s",      0, {"F", 0},   "D,U",  MATCH_FSGNJ_S, MASK_FSGNJ_S, match_rs1_eq_rs2, INSN_ALIAS },
-{"fneg.s",     0, {"F", 0},   "D,U",  MATCH_FSGNJN_S, MASK_FSGNJN_S, match_rs1_eq_rs2, INSN_ALIAS },
-{"fabs.s",     0, {"F", 0},   "D,U",  MATCH_FSGNJX_S, MASK_FSGNJX_S, match_rs1_eq_rs2, INSN_ALIAS },
-{"fsgnj.s",    0, {"F", 0},   "D,S,T",  MATCH_FSGNJ_S, MASK_FSGNJ_S, match_opcode, 0 },
-{"fsgnjn.s",   0, {"F", 0},   "D,S,T",  MATCH_FSGNJN_S, MASK_FSGNJN_S, match_opcode, 0 },
-{"fsgnjx.s",   0, {"F", 0},   "D,S,T",  MATCH_FSGNJX_S, MASK_FSGNJX_S, match_opcode, 0 },
-{"fadd.s",     0, {"F", 0},   "D,S,T",  MATCH_FADD_S | MASK_RM, MASK_FADD_S | MASK_RM, match_opcode, 0 },
-{"fadd.s",     0, {"F", 0},   "D,S,T,m",  MATCH_FADD_S, MASK_FADD_S, match_opcode, 0 },
-{"fsub.s",     0, {"F", 0},   "D,S,T",  MATCH_FSUB_S | MASK_RM, MASK_FSUB_S | MASK_RM, match_opcode, 0 },
-{"fsub.s",     0, {"F", 0},   "D,S,T,m",  MATCH_FSUB_S, MASK_FSUB_S, match_opcode, 0 },
-{"fmul.s",     0, {"F", 0},   "D,S,T",  MATCH_FMUL_S | MASK_RM, MASK_FMUL_S | MASK_RM, match_opcode, 0 },
-{"fmul.s",     0, {"F", 0},   "D,S,T,m",  MATCH_FMUL_S, MASK_FMUL_S, match_opcode, 0 },
-{"fdiv.s",     0, {"F", 0},   "D,S,T",  MATCH_FDIV_S | MASK_RM, MASK_FDIV_S | MASK_RM, match_opcode, 0 },
-{"fdiv.s",     0, {"F", 0},   "D,S,T,m",  MATCH_FDIV_S, MASK_FDIV_S, match_opcode, 0 },
-{"fsqrt.s",    0, {"F", 0},   "D,S",  MATCH_FSQRT_S | MASK_RM, MASK_FSQRT_S | MASK_RM, match_opcode, 0 },
-{"fsqrt.s",    0, {"F", 0},   "D,S,m",  MATCH_FSQRT_S, MASK_FSQRT_S, match_opcode, 0 },
-{"fmin.s",     0, {"F", 0},   "D,S,T",  MATCH_FMIN_S, MASK_FMIN_S, match_opcode, 0 },
-{"fmax.s",     0, {"F", 0},   "D,S,T",  MATCH_FMAX_S, MASK_FMAX_S, match_opcode, 0 },
-{"fmadd.s",    0, {"F", 0},   "D,S,T,R",  MATCH_FMADD_S | MASK_RM, MASK_FMADD_S | MASK_RM, match_opcode, 0 },
-{"fmadd.s",    0, {"F", 0},   "D,S,T,R,m",  MATCH_FMADD_S, MASK_FMADD_S, match_opcode, 0 },
-{"fnmadd.s",   0, {"F", 0},   "D,S,T,R",  MATCH_FNMADD_S | MASK_RM, MASK_FNMADD_S | MASK_RM, match_opcode, 0 },
-{"fnmadd.s",   0, {"F", 0},   "D,S,T,R,m",  MATCH_FNMADD_S, MASK_FNMADD_S, match_opcode, 0 },
-{"fmsub.s",    0, {"F", 0},   "D,S,T,R",  MATCH_FMSUB_S | MASK_RM, MASK_FMSUB_S | MASK_RM, match_opcode, 0 },
-{"fmsub.s",    0, {"F", 0},   "D,S,T,R,m",  MATCH_FMSUB_S, MASK_FMSUB_S, match_opcode, 0 },
-{"fnmsub.s",   0, {"F", 0},   "D,S,T,R",  MATCH_FNMSUB_S | MASK_RM, MASK_FNMSUB_S | MASK_RM, match_opcode, 0 },
-{"fnmsub.s",   0, {"F", 0},   "D,S,T,R,m",  MATCH_FNMSUB_S, MASK_FNMSUB_S, match_opcode, 0 },
-{"fcvt.w.s",   0, {"F", 0},   "d,S",  MATCH_FCVT_W_S | MASK_RM, MASK_FCVT_W_S | MASK_RM, match_opcode, 0 },
-{"fcvt.w.s",   0, {"F", 0},   "d,S,m",  MATCH_FCVT_W_S, MASK_FCVT_W_S, match_opcode, 0 },
-{"fcvt.wu.s",  0, {"F", 0},   "d,S",  MATCH_FCVT_WU_S | MASK_RM, MASK_FCVT_WU_S | MASK_RM, match_opcode, 0 },
-{"fcvt.wu.s",  0, {"F", 0},   "d,S,m",  MATCH_FCVT_WU_S, MASK_FCVT_WU_S, match_opcode, 0 },
-{"fcvt.s.w",   0, {"F", 0},   "D,s",  MATCH_FCVT_S_W | MASK_RM, MASK_FCVT_S_W | MASK_RM, match_opcode, 0 },
-{"fcvt.s.w",   0, {"F", 0},   "D,s,m",  MATCH_FCVT_S_W, MASK_FCVT_S_W, match_opcode, 0 },
-{"fcvt.s.wu",  0, {"F", 0},   "D,s",  MATCH_FCVT_S_WU | MASK_RM, MASK_FCVT_S_W | MASK_RM, match_opcode, 0 },
-{"fcvt.s.wu",  0, {"F", 0},   "D,s,m",  MATCH_FCVT_S_WU, MASK_FCVT_S_WU, match_opcode, 0 },
-{"fclass.s",   0, {"F", 0},   "d,S",  MATCH_FCLASS_S, MASK_FCLASS_S, match_opcode, 0 },
-{"feq.s",      0, {"F", 0},   "d,S,T",    MATCH_FEQ_S, MASK_FEQ_S, match_opcode, 0 },
-{"flt.s",      0, {"F", 0},   "d,S,T",    MATCH_FLT_S, MASK_FLT_S, match_opcode, 0 },
-{"fle.s",      0, {"F", 0},   "d,S,T",    MATCH_FLE_S, MASK_FLE_S, match_opcode, 0 },
-{"fgt.s",      0, {"F", 0},   "d,T,S",    MATCH_FLT_S, MASK_FLT_S, match_opcode, 0 },
-{"fge.s",      0, {"F", 0},   "d,T,S",    MATCH_FLE_S, MASK_FLE_S, match_opcode, 0 },
-{"fcvt.l.s",  64, {"F", 0}, "d,S",  MATCH_FCVT_L_S | MASK_RM, MASK_FCVT_L_S | MASK_RM, match_opcode, 0 },
-{"fcvt.l.s",  64, {"F", 0}, "d,S,m",  MATCH_FCVT_L_S, MASK_FCVT_L_S, match_opcode, 0 },
-{"fcvt.lu.s", 64, {"F", 0}, "d,S",  MATCH_FCVT_LU_S | MASK_RM, MASK_FCVT_LU_S | MASK_RM, match_opcode, 0 },
-{"fcvt.lu.s", 64, {"F", 0}, "d,S,m",  MATCH_FCVT_LU_S, MASK_FCVT_LU_S, match_opcode, 0 },
-{"fcvt.s.l",  64, {"F", 0}, "D,s",  MATCH_FCVT_S_L | MASK_RM, MASK_FCVT_S_L | MASK_RM, match_opcode, 0 },
-{"fcvt.s.l",  64, {"F", 0}, "D,s,m",  MATCH_FCVT_S_L, MASK_FCVT_S_L, match_opcode, 0 },
-{"fcvt.s.lu", 64, {"F", 0}, "D,s",  MATCH_FCVT_S_LU | MASK_RM, MASK_FCVT_S_L | MASK_RM, match_opcode, 0 },
-{"fcvt.s.lu", 64, {"F", 0}, "D,s,m",  MATCH_FCVT_S_LU, MASK_FCVT_S_LU, match_opcode, 0 },
+{"frcsr",     0, INSN_CLASS_F,   "d",  MATCH_FRCSR, MASK_FRCSR, match_opcode, INSN_ALIAS },
+{"frsr",      0, INSN_CLASS_F,   "d",  MATCH_FRCSR, MASK_FRCSR, match_opcode, INSN_ALIAS },
+{"fscsr",     0, INSN_CLASS_F,   "s",  MATCH_FSCSR, MASK_FSCSR | MASK_RD, match_opcode, INSN_ALIAS },
+{"fscsr",     0, INSN_CLASS_F,   "d,s",  MATCH_FSCSR, MASK_FSCSR, match_opcode, INSN_ALIAS },
+{"fssr",      0, INSN_CLASS_F,   "s",  MATCH_FSCSR, MASK_FSCSR | MASK_RD, match_opcode, INSN_ALIAS },
+{"fssr",      0, INSN_CLASS_F,   "d,s",  MATCH_FSCSR, MASK_FSCSR, match_opcode, INSN_ALIAS },
+{"frrm",      0, INSN_CLASS_F,   "d",  MATCH_FRRM, MASK_FRRM, match_opcode, INSN_ALIAS },
+{"fsrm",      0, INSN_CLASS_F,   "s",  MATCH_FSRM, MASK_FSRM | MASK_RD, match_opcode, INSN_ALIAS },
+{"fsrm",      0, INSN_CLASS_F,   "d,s",  MATCH_FSRM, MASK_FSRM, match_opcode, INSN_ALIAS },
+{"fsrmi",     0, INSN_CLASS_F,   "d,Z",  MATCH_FSRMI, MASK_FSRMI, match_opcode, INSN_ALIAS },
+{"fsrmi",     0, INSN_CLASS_F,   "Z",  MATCH_FSRMI, MASK_FSRMI | MASK_RD, match_opcode, INSN_ALIAS },
+{"frflags",   0, INSN_CLASS_F,   "d",  MATCH_FRFLAGS, MASK_FRFLAGS, match_opcode, INSN_ALIAS },
+{"fsflags",   0, INSN_CLASS_F,   "s",  MATCH_FSFLAGS, MASK_FSFLAGS | MASK_RD, match_opcode, INSN_ALIAS },
+{"fsflags",   0, INSN_CLASS_F,   "d,s",  MATCH_FSFLAGS, MASK_FSFLAGS, match_opcode, INSN_ALIAS },
+{"fsflagsi",  0, INSN_CLASS_F,   "d,Z",  MATCH_FSFLAGSI, MASK_FSFLAGSI, match_opcode, INSN_ALIAS },
+{"fsflagsi",  0, INSN_CLASS_F,   "Z",  MATCH_FSFLAGSI, MASK_FSFLAGSI | MASK_RD, match_opcode, INSN_ALIAS },
+{"flw",      32, INSN_CLASS_F_AND_C, "D,Cm(Cc)",  MATCH_C_FLWSP, MASK_C_FLWSP, match_opcode, INSN_ALIAS|INSN_DREF|INSN_4_BYTE },
+{"flw",      32, INSN_CLASS_F_AND_C, "CD,Ck(Cs)",  MATCH_C_FLW, MASK_C_FLW, match_opcode, INSN_ALIAS|INSN_DREF|INSN_4_BYTE },
+{"flw",       0, INSN_CLASS_F,   "D,o(s)",  MATCH_FLW, MASK_FLW, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"flw",       0, INSN_CLASS_F,   "D,A,s",  0, (int) M_FLW, match_never, INSN_MACRO },
+{"fsw",      32, INSN_CLASS_F_AND_C, "CT,CM(Cc)",  MATCH_C_FSWSP, MASK_C_FSWSP, match_opcode, INSN_ALIAS|INSN_DREF|INSN_4_BYTE },
+{"fsw",      32, INSN_CLASS_F_AND_C, "CD,Ck(Cs)",  MATCH_C_FSW, MASK_C_FSW, match_opcode, INSN_ALIAS|INSN_DREF|INSN_4_BYTE },
+{"fsw",       0, INSN_CLASS_F,   "T,q(s)",  MATCH_FSW, MASK_FSW, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"fsw",       0, INSN_CLASS_F,   "T,A,s",  0, (int) M_FSW, match_never, INSN_MACRO },
+
+{"fmv.x.w",    0, INSN_CLASS_F,   "d,S",  MATCH_FMV_X_S, MASK_FMV_X_S, match_opcode, 0 },
+{"fmv.w.x",    0, INSN_CLASS_F,   "D,s",  MATCH_FMV_S_X, MASK_FMV_S_X, match_opcode, 0 },
+
+{"fmv.x.s",    0, INSN_CLASS_F,   "d,S",  MATCH_FMV_X_S, MASK_FMV_X_S, match_opcode, 0 },
+{"fmv.s.x",    0, INSN_CLASS_F,   "D,s",  MATCH_FMV_S_X, MASK_FMV_S_X, match_opcode, 0 },
+
+{"fmv.s",      0, INSN_CLASS_F,   "D,U",  MATCH_FSGNJ_S, MASK_FSGNJ_S, match_rs1_eq_rs2, INSN_ALIAS },
+{"fneg.s",     0, INSN_CLASS_F,   "D,U",  MATCH_FSGNJN_S, MASK_FSGNJN_S, match_rs1_eq_rs2, INSN_ALIAS },
+{"fabs.s",     0, INSN_CLASS_F,   "D,U",  MATCH_FSGNJX_S, MASK_FSGNJX_S, match_rs1_eq_rs2, INSN_ALIAS },
+{"fsgnj.s",    0, INSN_CLASS_F,   "D,S,T",  MATCH_FSGNJ_S, MASK_FSGNJ_S, match_opcode, 0 },
+{"fsgnjn.s",   0, INSN_CLASS_F,   "D,S,T",  MATCH_FSGNJN_S, MASK_FSGNJN_S, match_opcode, 0 },
+{"fsgnjx.s",   0, INSN_CLASS_F,   "D,S,T",  MATCH_FSGNJX_S, MASK_FSGNJX_S, match_opcode, 0 },
+{"fadd.s",     0, INSN_CLASS_F,   "D,S,T",  MATCH_FADD_S | MASK_RM, MASK_FADD_S | MASK_RM, match_opcode, 0 },
+{"fadd.s",     0, INSN_CLASS_F,   "D,S,T,m",  MATCH_FADD_S, MASK_FADD_S, match_opcode, 0 },
+{"fsub.s",     0, INSN_CLASS_F,   "D,S,T",  MATCH_FSUB_S | MASK_RM, MASK_FSUB_S | MASK_RM, match_opcode, 0 },
+{"fsub.s",     0, INSN_CLASS_F,   "D,S,T,m",  MATCH_FSUB_S, MASK_FSUB_S, match_opcode, 0 },
+{"fmul.s",     0, INSN_CLASS_F,   "D,S,T",  MATCH_FMUL_S | MASK_RM, MASK_FMUL_S | MASK_RM, match_opcode, 0 },
+{"fmul.s",     0, INSN_CLASS_F,   "D,S,T,m",  MATCH_FMUL_S, MASK_FMUL_S, match_opcode, 0 },
+{"fdiv.s",     0, INSN_CLASS_F,   "D,S,T",  MATCH_FDIV_S | MASK_RM, MASK_FDIV_S | MASK_RM, match_opcode, 0 },
+{"fdiv.s",     0, INSN_CLASS_F,   "D,S,T,m",  MATCH_FDIV_S, MASK_FDIV_S, match_opcode, 0 },
+{"fsqrt.s",    0, INSN_CLASS_F,   "D,S",  MATCH_FSQRT_S | MASK_RM, MASK_FSQRT_S | MASK_RM, match_opcode, 0 },
+{"fsqrt.s",    0, INSN_CLASS_F,   "D,S,m",  MATCH_FSQRT_S, MASK_FSQRT_S, match_opcode, 0 },
+{"fmin.s",     0, INSN_CLASS_F,   "D,S,T",  MATCH_FMIN_S, MASK_FMIN_S, match_opcode, 0 },
+{"fmax.s",     0, INSN_CLASS_F,   "D,S,T",  MATCH_FMAX_S, MASK_FMAX_S, match_opcode, 0 },
+{"fmadd.s",    0, INSN_CLASS_F,   "D,S,T,R",  MATCH_FMADD_S | MASK_RM, MASK_FMADD_S | MASK_RM, match_opcode, 0 },
+{"fmadd.s",    0, INSN_CLASS_F,   "D,S,T,R,m",  MATCH_FMADD_S, MASK_FMADD_S, match_opcode, 0 },
+{"fnmadd.s",   0, INSN_CLASS_F,   "D,S,T,R",  MATCH_FNMADD_S | MASK_RM, MASK_FNMADD_S | MASK_RM, match_opcode, 0 },
+{"fnmadd.s",   0, INSN_CLASS_F,   "D,S,T,R,m",  MATCH_FNMADD_S, MASK_FNMADD_S, match_opcode, 0 },
+{"fmsub.s",    0, INSN_CLASS_F,   "D,S,T,R",  MATCH_FMSUB_S | MASK_RM, MASK_FMSUB_S | MASK_RM, match_opcode, 0 },
+{"fmsub.s",    0, INSN_CLASS_F,   "D,S,T,R,m",  MATCH_FMSUB_S, MASK_FMSUB_S, match_opcode, 0 },
+{"fnmsub.s",   0, INSN_CLASS_F,   "D,S,T,R",  MATCH_FNMSUB_S | MASK_RM, MASK_FNMSUB_S | MASK_RM, match_opcode, 0 },
+{"fnmsub.s",   0, INSN_CLASS_F,   "D,S,T,R,m",  MATCH_FNMSUB_S, MASK_FNMSUB_S, match_opcode, 0 },
+{"fcvt.w.s",   0, INSN_CLASS_F,   "d,S",  MATCH_FCVT_W_S | MASK_RM, MASK_FCVT_W_S | MASK_RM, match_opcode, 0 },
+{"fcvt.w.s",   0, INSN_CLASS_F,   "d,S,m",  MATCH_FCVT_W_S, MASK_FCVT_W_S, match_opcode, 0 },
+{"fcvt.wu.s",  0, INSN_CLASS_F,   "d,S",  MATCH_FCVT_WU_S | MASK_RM, MASK_FCVT_WU_S | MASK_RM, match_opcode, 0 },
+{"fcvt.wu.s",  0, INSN_CLASS_F,   "d,S,m",  MATCH_FCVT_WU_S, MASK_FCVT_WU_S, match_opcode, 0 },
+{"fcvt.s.w",   0, INSN_CLASS_F,   "D,s",  MATCH_FCVT_S_W | MASK_RM, MASK_FCVT_S_W | MASK_RM, match_opcode, 0 },
+{"fcvt.s.w",   0, INSN_CLASS_F,   "D,s,m",  MATCH_FCVT_S_W, MASK_FCVT_S_W, match_opcode, 0 },
+{"fcvt.s.wu",  0, INSN_CLASS_F,   "D,s",  MATCH_FCVT_S_WU | MASK_RM, MASK_FCVT_S_W | MASK_RM, match_opcode, 0 },
+{"fcvt.s.wu",  0, INSN_CLASS_F,   "D,s,m",  MATCH_FCVT_S_WU, MASK_FCVT_S_WU, match_opcode, 0 },
+{"fclass.s",   0, INSN_CLASS_F,   "d,S",  MATCH_FCLASS_S, MASK_FCLASS_S, match_opcode, 0 },
+{"feq.s",      0, INSN_CLASS_F,   "d,S,T",    MATCH_FEQ_S, MASK_FEQ_S, match_opcode, 0 },
+{"flt.s",      0, INSN_CLASS_F,   "d,S,T",    MATCH_FLT_S, MASK_FLT_S, match_opcode, 0 },
+{"fle.s",      0, INSN_CLASS_F,   "d,S,T",    MATCH_FLE_S, MASK_FLE_S, match_opcode, 0 },
+{"fgt.s",      0, INSN_CLASS_F,   "d,T,S",    MATCH_FLT_S, MASK_FLT_S, match_opcode, 0 },
+{"fge.s",      0, INSN_CLASS_F,   "d,T,S",    MATCH_FLE_S, MASK_FLE_S, match_opcode, 0 },
+{"fcvt.l.s",  64, INSN_CLASS_F, "d,S",  MATCH_FCVT_L_S | MASK_RM, MASK_FCVT_L_S | MASK_RM, match_opcode, 0 },
+{"fcvt.l.s",  64, INSN_CLASS_F, "d,S,m",  MATCH_FCVT_L_S, MASK_FCVT_L_S, match_opcode, 0 },
+{"fcvt.lu.s", 64, INSN_CLASS_F, "d,S",  MATCH_FCVT_LU_S | MASK_RM, MASK_FCVT_LU_S | MASK_RM, match_opcode, 0 },
+{"fcvt.lu.s", 64, INSN_CLASS_F, "d,S,m",  MATCH_FCVT_LU_S, MASK_FCVT_LU_S, match_opcode, 0 },
+{"fcvt.s.l",  64, INSN_CLASS_F, "D,s",  MATCH_FCVT_S_L | MASK_RM, MASK_FCVT_S_L | MASK_RM, match_opcode, 0 },
+{"fcvt.s.l",  64, INSN_CLASS_F, "D,s,m",  MATCH_FCVT_S_L, MASK_FCVT_S_L, match_opcode, 0 },
+{"fcvt.s.lu", 64, INSN_CLASS_F, "D,s",  MATCH_FCVT_S_LU | MASK_RM, MASK_FCVT_S_L | MASK_RM, match_opcode, 0 },
+{"fcvt.s.lu", 64, INSN_CLASS_F, "D,s,m",  MATCH_FCVT_S_LU, MASK_FCVT_S_LU, match_opcode, 0 },
 
 /* Double-precision floating-point instruction subset */
-{"fld",        0, {"D", "C", 0},   "D,Cn(Cc)",  MATCH_C_FLDSP, MASK_C_FLDSP, match_opcode, INSN_ALIAS|INSN_DREF|INSN_8_BYTE },
-{"fld",        0, {"D", "C", 0},   "CD,Cl(Cs)",  MATCH_C_FLD, MASK_C_FLD, match_opcode, INSN_ALIAS|INSN_DREF|INSN_8_BYTE },
-{"fld",        0, {"D", 0},   "D,o(s)",  MATCH_FLD, MASK_FLD, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"fld",        0, {"D", 0},   "D,A,s",  0, (int) M_FLD, match_never, INSN_MACRO },
-{"fsd",        0, {"D", "C", 0},   "CT,CN(Cc)",  MATCH_C_FSDSP, MASK_C_FSDSP, match_opcode, INSN_ALIAS|INSN_DREF|INSN_8_BYTE },
-{"fsd",        0, {"D", "C", 0},   "CD,Cl(Cs)",  MATCH_C_FSD, MASK_C_FSD, match_opcode, INSN_ALIAS|INSN_DREF|INSN_8_BYTE },
-{"fsd",        0, {"D", 0},   "T,q(s)",  MATCH_FSD, MASK_FSD, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"fsd",        0, {"D", 0},   "T,A,s",  0, (int) M_FSD, match_never, INSN_MACRO },
-{"fmv.d",      0, {"D", 0},   "D,U",  MATCH_FSGNJ_D, MASK_FSGNJ_D, match_rs1_eq_rs2, INSN_ALIAS },
-{"fneg.d",     0, {"D", 0},   "D,U",  MATCH_FSGNJN_D, MASK_FSGNJN_D, match_rs1_eq_rs2, INSN_ALIAS },
-{"fabs.d",     0, {"D", 0},   "D,U",  MATCH_FSGNJX_D, MASK_FSGNJX_D, match_rs1_eq_rs2, INSN_ALIAS },
-{"fsgnj.d",    0, {"D", 0},   "D,S,T",  MATCH_FSGNJ_D, MASK_FSGNJ_D, match_opcode, 0 },
-{"fsgnjn.d",   0, {"D", 0},   "D,S,T",  MATCH_FSGNJN_D, MASK_FSGNJN_D, match_opcode, 0 },
-{"fsgnjx.d",   0, {"D", 0},   "D,S,T",  MATCH_FSGNJX_D, MASK_FSGNJX_D, match_opcode, 0 },
-{"fadd.d",     0, {"D", 0},   "D,S,T",  MATCH_FADD_D | MASK_RM, MASK_FADD_D | MASK_RM, match_opcode, 0 },
-{"fadd.d",     0, {"D", 0},   "D,S,T,m",  MATCH_FADD_D, MASK_FADD_D, match_opcode, 0 },
-{"fsub.d",     0, {"D", 0},   "D,S,T",  MATCH_FSUB_D | MASK_RM, MASK_FSUB_D | MASK_RM, match_opcode, 0 },
-{"fsub.d",     0, {"D", 0},   "D,S,T,m",  MATCH_FSUB_D, MASK_FSUB_D, match_opcode, 0 },
-{"fmul.d",     0, {"D", 0},   "D,S,T",  MATCH_FMUL_D | MASK_RM, MASK_FMUL_D | MASK_RM, match_opcode, 0 },
-{"fmul.d",     0, {"D", 0},   "D,S,T,m",  MATCH_FMUL_D, MASK_FMUL_D, match_opcode, 0 },
-{"fdiv.d",     0, {"D", 0},   "D,S,T",  MATCH_FDIV_D | MASK_RM, MASK_FDIV_D | MASK_RM, match_opcode, 0 },
-{"fdiv.d",     0, {"D", 0},   "D,S,T,m",  MATCH_FDIV_D, MASK_FDIV_D, match_opcode, 0 },
-{"fsqrt.d",    0, {"D", 0},   "D,S",  MATCH_FSQRT_D | MASK_RM, MASK_FSQRT_D | MASK_RM, match_opcode, 0 },
-{"fsqrt.d",    0, {"D", 0},   "D,S,m",  MATCH_FSQRT_D, MASK_FSQRT_D, match_opcode, 0 },
-{"fmin.d",     0, {"D", 0},   "D,S,T",  MATCH_FMIN_D, MASK_FMIN_D, match_opcode, 0 },
-{"fmax.d",     0, {"D", 0},   "D,S,T",  MATCH_FMAX_D, MASK_FMAX_D, match_opcode, 0 },
-{"fmadd.d",    0, {"D", 0},   "D,S,T,R",  MATCH_FMADD_D | MASK_RM, MASK_FMADD_D | MASK_RM, match_opcode, 0 },
-{"fmadd.d",    0, {"D", 0},   "D,S,T,R,m",  MATCH_FMADD_D, MASK_FMADD_D, match_opcode, 0 },
-{"fnmadd.d",   0, {"D", 0},   "D,S,T,R",  MATCH_FNMADD_D | MASK_RM, MASK_FNMADD_D | MASK_RM, match_opcode, 0 },
-{"fnmadd.d",   0, {"D", 0},   "D,S,T,R,m",  MATCH_FNMADD_D, MASK_FNMADD_D, match_opcode, 0 },
-{"fmsub.d",    0, {"D", 0},   "D,S,T,R",  MATCH_FMSUB_D | MASK_RM, MASK_FMSUB_D | MASK_RM, match_opcode, 0 },
-{"fmsub.d",    0, {"D", 0},   "D,S,T,R,m",  MATCH_FMSUB_D, MASK_FMSUB_D, match_opcode, 0 },
-{"fnmsub.d",   0, {"D", 0},   "D,S,T,R",  MATCH_FNMSUB_D | MASK_RM, MASK_FNMSUB_D | MASK_RM, match_opcode, 0 },
-{"fnmsub.d",   0, {"D", 0},   "D,S,T,R,m",  MATCH_FNMSUB_D, MASK_FNMSUB_D, match_opcode, 0 },
-{"fcvt.w.d",   0, {"D", 0},   "d,S",  MATCH_FCVT_W_D | MASK_RM, MASK_FCVT_W_D | MASK_RM, match_opcode, 0 },
-{"fcvt.w.d",   0, {"D", 0},   "d,S,m",  MATCH_FCVT_W_D, MASK_FCVT_W_D, match_opcode, 0 },
-{"fcvt.wu.d",  0, {"D", 0},   "d,S",  MATCH_FCVT_WU_D | MASK_RM, MASK_FCVT_WU_D | MASK_RM, match_opcode, 0 },
-{"fcvt.wu.d",  0, {"D", 0},   "d,S,m",  MATCH_FCVT_WU_D, MASK_FCVT_WU_D, match_opcode, 0 },
-{"fcvt.d.w",   0, {"D", 0},   "D,s",  MATCH_FCVT_D_W, MASK_FCVT_D_W | MASK_RM, match_opcode, 0 },
-{"fcvt.d.wu",  0, {"D", 0},   "D,s",  MATCH_FCVT_D_WU, MASK_FCVT_D_WU | MASK_RM, match_opcode, 0 },
-{"fcvt.d.s",   0, {"D", 0},   "D,S",  MATCH_FCVT_D_S, MASK_FCVT_D_S | MASK_RM, match_opcode, 0 },
-{"fcvt.s.d",   0, {"D", 0},   "D,S",  MATCH_FCVT_S_D | MASK_RM, MASK_FCVT_S_D | MASK_RM, match_opcode, 0 },
-{"fcvt.s.d",   0, {"D", 0},   "D,S,m",  MATCH_FCVT_S_D, MASK_FCVT_S_D, match_opcode, 0 },
-{"fclass.d",   0, {"D", 0},   "d,S",  MATCH_FCLASS_D, MASK_FCLASS_D, match_opcode, 0 },
-{"feq.d",      0, {"D", 0},   "d,S,T",    MATCH_FEQ_D, MASK_FEQ_D, match_opcode, 0 },
-{"flt.d",      0, {"D", 0},   "d,S,T",    MATCH_FLT_D, MASK_FLT_D, match_opcode, 0 },
-{"fle.d",      0, {"D", 0},   "d,S,T",    MATCH_FLE_D, MASK_FLE_D, match_opcode, 0 },
-{"fgt.d",      0, {"D", 0},   "d,T,S",    MATCH_FLT_D, MASK_FLT_D, match_opcode, 0 },
-{"fge.d",      0, {"D", 0},   "d,T,S",    MATCH_FLE_D, MASK_FLE_D, match_opcode, 0 },
-{"fmv.x.d",   64, {"D", 0}, "d,S",  MATCH_FMV_X_D, MASK_FMV_X_D, match_opcode, 0 },
-{"fmv.d.x",   64, {"D", 0}, "D,s",  MATCH_FMV_D_X, MASK_FMV_D_X, match_opcode, 0 },
-{"fcvt.l.d",  64, {"D", 0}, "d,S",  MATCH_FCVT_L_D | MASK_RM, MASK_FCVT_L_D | MASK_RM, match_opcode, 0 },
-{"fcvt.l.d",  64, {"D", 0}, "d,S,m",  MATCH_FCVT_L_D, MASK_FCVT_L_D, match_opcode, 0 },
-{"fcvt.lu.d", 64, {"D", 0}, "d,S",  MATCH_FCVT_LU_D | MASK_RM, MASK_FCVT_LU_D | MASK_RM, match_opcode, 0 },
-{"fcvt.lu.d", 64, {"D", 0}, "d,S,m",  MATCH_FCVT_LU_D, MASK_FCVT_LU_D, match_opcode, 0 },
-{"fcvt.d.l",  64, {"D", 0}, "D,s",  MATCH_FCVT_D_L | MASK_RM, MASK_FCVT_D_L | MASK_RM, match_opcode, 0 },
-{"fcvt.d.l",  64, {"D", 0}, "D,s,m",  MATCH_FCVT_D_L, MASK_FCVT_D_L, match_opcode, 0 },
-{"fcvt.d.lu", 64, {"D", 0}, "D,s",  MATCH_FCVT_D_LU | MASK_RM, MASK_FCVT_D_L | MASK_RM, match_opcode, 0 },
-{"fcvt.d.lu", 64, {"D", 0}, "D,s,m",  MATCH_FCVT_D_LU, MASK_FCVT_D_LU, match_opcode, 0 },
+{"fld",        0, INSN_CLASS_D_AND_C,   "D,Cn(Cc)",  MATCH_C_FLDSP, MASK_C_FLDSP, match_opcode, INSN_ALIAS|INSN_DREF|INSN_8_BYTE },
+{"fld",        0, INSN_CLASS_D_AND_C,   "CD,Cl(Cs)",  MATCH_C_FLD, MASK_C_FLD, match_opcode, INSN_ALIAS|INSN_DREF|INSN_8_BYTE },
+{"fld",        0, INSN_CLASS_D,   "D,o(s)",  MATCH_FLD, MASK_FLD, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"fld",        0, INSN_CLASS_D,   "D,A,s",  0, (int) M_FLD, match_never, INSN_MACRO },
+{"fsd",        0, INSN_CLASS_D_AND_C,   "CT,CN(Cc)",  MATCH_C_FSDSP, MASK_C_FSDSP, match_opcode, INSN_ALIAS|INSN_DREF|INSN_8_BYTE },
+{"fsd",        0, INSN_CLASS_D_AND_C,   "CD,Cl(Cs)",  MATCH_C_FSD, MASK_C_FSD, match_opcode, INSN_ALIAS|INSN_DREF|INSN_8_BYTE },
+{"fsd",        0, INSN_CLASS_D,   "T,q(s)",  MATCH_FSD, MASK_FSD, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"fsd",        0, INSN_CLASS_D,   "T,A,s",  0, (int) M_FSD, match_never, INSN_MACRO },
+{"fmv.d",      0, INSN_CLASS_D,   "D,U",  MATCH_FSGNJ_D, MASK_FSGNJ_D, match_rs1_eq_rs2, INSN_ALIAS },
+{"fneg.d",     0, INSN_CLASS_D,   "D,U",  MATCH_FSGNJN_D, MASK_FSGNJN_D, match_rs1_eq_rs2, INSN_ALIAS },
+{"fabs.d",     0, INSN_CLASS_D,   "D,U",  MATCH_FSGNJX_D, MASK_FSGNJX_D, match_rs1_eq_rs2, INSN_ALIAS },
+{"fsgnj.d",    0, INSN_CLASS_D,   "D,S,T",  MATCH_FSGNJ_D, MASK_FSGNJ_D, match_opcode, 0 },
+{"fsgnjn.d",   0, INSN_CLASS_D,   "D,S,T",  MATCH_FSGNJN_D, MASK_FSGNJN_D, match_opcode, 0 },
+{"fsgnjx.d",   0, INSN_CLASS_D,   "D,S,T",  MATCH_FSGNJX_D, MASK_FSGNJX_D, match_opcode, 0 },
+{"fadd.d",     0, INSN_CLASS_D,   "D,S,T",  MATCH_FADD_D | MASK_RM, MASK_FADD_D | MASK_RM, match_opcode, 0 },
+{"fadd.d",     0, INSN_CLASS_D,   "D,S,T,m",  MATCH_FADD_D, MASK_FADD_D, match_opcode, 0 },
+{"fsub.d",     0, INSN_CLASS_D,   "D,S,T",  MATCH_FSUB_D | MASK_RM, MASK_FSUB_D | MASK_RM, match_opcode, 0 },
+{"fsub.d",     0, INSN_CLASS_D,   "D,S,T,m",  MATCH_FSUB_D, MASK_FSUB_D, match_opcode, 0 },
+{"fmul.d",     0, INSN_CLASS_D,   "D,S,T",  MATCH_FMUL_D | MASK_RM, MASK_FMUL_D | MASK_RM, match_opcode, 0 },
+{"fmul.d",     0, INSN_CLASS_D,   "D,S,T,m",  MATCH_FMUL_D, MASK_FMUL_D, match_opcode, 0 },
+{"fdiv.d",     0, INSN_CLASS_D,   "D,S,T",  MATCH_FDIV_D | MASK_RM, MASK_FDIV_D | MASK_RM, match_opcode, 0 },
+{"fdiv.d",     0, INSN_CLASS_D,   "D,S,T,m",  MATCH_FDIV_D, MASK_FDIV_D, match_opcode, 0 },
+{"fsqrt.d",    0, INSN_CLASS_D,   "D,S",  MATCH_FSQRT_D | MASK_RM, MASK_FSQRT_D | MASK_RM, match_opcode, 0 },
+{"fsqrt.d",    0, INSN_CLASS_D,   "D,S,m",  MATCH_FSQRT_D, MASK_FSQRT_D, match_opcode, 0 },
+{"fmin.d",     0, INSN_CLASS_D,   "D,S,T",  MATCH_FMIN_D, MASK_FMIN_D, match_opcode, 0 },
+{"fmax.d",     0, INSN_CLASS_D,   "D,S,T",  MATCH_FMAX_D, MASK_FMAX_D, match_opcode, 0 },
+{"fmadd.d",    0, INSN_CLASS_D,   "D,S,T,R",  MATCH_FMADD_D | MASK_RM, MASK_FMADD_D | MASK_RM, match_opcode, 0 },
+{"fmadd.d",    0, INSN_CLASS_D,   "D,S,T,R,m",  MATCH_FMADD_D, MASK_FMADD_D, match_opcode, 0 },
+{"fnmadd.d",   0, INSN_CLASS_D,   "D,S,T,R",  MATCH_FNMADD_D | MASK_RM, MASK_FNMADD_D | MASK_RM, match_opcode, 0 },
+{"fnmadd.d",   0, INSN_CLASS_D,   "D,S,T,R,m",  MATCH_FNMADD_D, MASK_FNMADD_D, match_opcode, 0 },
+{"fmsub.d",    0, INSN_CLASS_D,   "D,S,T,R",  MATCH_FMSUB_D | MASK_RM, MASK_FMSUB_D | MASK_RM, match_opcode, 0 },
+{"fmsub.d",    0, INSN_CLASS_D,   "D,S,T,R,m",  MATCH_FMSUB_D, MASK_FMSUB_D, match_opcode, 0 },
+{"fnmsub.d",   0, INSN_CLASS_D,   "D,S,T,R",  MATCH_FNMSUB_D | MASK_RM, MASK_FNMSUB_D | MASK_RM, match_opcode, 0 },
+{"fnmsub.d",   0, INSN_CLASS_D,   "D,S,T,R,m",  MATCH_FNMSUB_D, MASK_FNMSUB_D, match_opcode, 0 },
+{"fcvt.w.d",   0, INSN_CLASS_D,   "d,S",  MATCH_FCVT_W_D | MASK_RM, MASK_FCVT_W_D | MASK_RM, match_opcode, 0 },
+{"fcvt.w.d",   0, INSN_CLASS_D,   "d,S,m",  MATCH_FCVT_W_D, MASK_FCVT_W_D, match_opcode, 0 },
+{"fcvt.wu.d",  0, INSN_CLASS_D,   "d,S",  MATCH_FCVT_WU_D | MASK_RM, MASK_FCVT_WU_D | MASK_RM, match_opcode, 0 },
+{"fcvt.wu.d",  0, INSN_CLASS_D,   "d,S,m",  MATCH_FCVT_WU_D, MASK_FCVT_WU_D, match_opcode, 0 },
+{"fcvt.d.w",   0, INSN_CLASS_D,   "D,s",  MATCH_FCVT_D_W, MASK_FCVT_D_W | MASK_RM, match_opcode, 0 },
+{"fcvt.d.wu",  0, INSN_CLASS_D,   "D,s",  MATCH_FCVT_D_WU, MASK_FCVT_D_WU | MASK_RM, match_opcode, 0 },
+{"fcvt.d.s",   0, INSN_CLASS_D,   "D,S",  MATCH_FCVT_D_S, MASK_FCVT_D_S | MASK_RM, match_opcode, 0 },
+{"fcvt.s.d",   0, INSN_CLASS_D,   "D,S",  MATCH_FCVT_S_D | MASK_RM, MASK_FCVT_S_D | MASK_RM, match_opcode, 0 },
+{"fcvt.s.d",   0, INSN_CLASS_D,   "D,S,m",  MATCH_FCVT_S_D, MASK_FCVT_S_D, match_opcode, 0 },
+{"fclass.d",   0, INSN_CLASS_D,   "d,S",  MATCH_FCLASS_D, MASK_FCLASS_D, match_opcode, 0 },
+{"feq.d",      0, INSN_CLASS_D,   "d,S,T",    MATCH_FEQ_D, MASK_FEQ_D, match_opcode, 0 },
+{"flt.d",      0, INSN_CLASS_D,   "d,S,T",    MATCH_FLT_D, MASK_FLT_D, match_opcode, 0 },
+{"fle.d",      0, INSN_CLASS_D,   "d,S,T",    MATCH_FLE_D, MASK_FLE_D, match_opcode, 0 },
+{"fgt.d",      0, INSN_CLASS_D,   "d,T,S",    MATCH_FLT_D, MASK_FLT_D, match_opcode, 0 },
+{"fge.d",      0, INSN_CLASS_D,   "d,T,S",    MATCH_FLE_D, MASK_FLE_D, match_opcode, 0 },
+{"fmv.x.d",   64, INSN_CLASS_D, "d,S",  MATCH_FMV_X_D, MASK_FMV_X_D, match_opcode, 0 },
+{"fmv.d.x",   64, INSN_CLASS_D, "D,s",  MATCH_FMV_D_X, MASK_FMV_D_X, match_opcode, 0 },
+{"fcvt.l.d",  64, INSN_CLASS_D, "d,S",  MATCH_FCVT_L_D | MASK_RM, MASK_FCVT_L_D | MASK_RM, match_opcode, 0 },
+{"fcvt.l.d",  64, INSN_CLASS_D, "d,S,m",  MATCH_FCVT_L_D, MASK_FCVT_L_D, match_opcode, 0 },
+{"fcvt.lu.d", 64, INSN_CLASS_D, "d,S",  MATCH_FCVT_LU_D | MASK_RM, MASK_FCVT_LU_D | MASK_RM, match_opcode, 0 },
+{"fcvt.lu.d", 64, INSN_CLASS_D, "d,S,m",  MATCH_FCVT_LU_D, MASK_FCVT_LU_D, match_opcode, 0 },
+{"fcvt.d.l",  64, INSN_CLASS_D, "D,s",  MATCH_FCVT_D_L | MASK_RM, MASK_FCVT_D_L | MASK_RM, match_opcode, 0 },
+{"fcvt.d.l",  64, INSN_CLASS_D, "D,s,m",  MATCH_FCVT_D_L, MASK_FCVT_D_L, match_opcode, 0 },
+{"fcvt.d.lu", 64, INSN_CLASS_D, "D,s",  MATCH_FCVT_D_LU | MASK_RM, MASK_FCVT_D_L | MASK_RM, match_opcode, 0 },
+{"fcvt.d.lu", 64, INSN_CLASS_D, "D,s,m",  MATCH_FCVT_D_LU, MASK_FCVT_D_LU, match_opcode, 0 },
 
 /* Quad-precision floating-point instruction subset */
-{"flq",        0, {"Q", 0},   "D,o(s)",  MATCH_FLQ, MASK_FLQ, match_opcode, INSN_DREF|INSN_16_BYTE },
-{"flq",        0, {"Q", 0},   "D,A,s",  0, (int) M_FLQ, match_never, INSN_MACRO },
-{"fsq",        0, {"Q", 0},   "T,q(s)",  MATCH_FSQ, MASK_FSQ, match_opcode, INSN_DREF|INSN_16_BYTE },
-{"fsq",        0, {"Q", 0},   "T,A,s",  0, (int) M_FSQ, match_never, INSN_MACRO },
-{"fmv.q",      0, {"Q", 0},   "D,U",  MATCH_FSGNJ_Q, MASK_FSGNJ_Q, match_rs1_eq_rs2, INSN_ALIAS },
-{"fneg.q",     0, {"Q", 0},   "D,U",  MATCH_FSGNJN_Q, MASK_FSGNJN_Q, match_rs1_eq_rs2, INSN_ALIAS },
-{"fabs.q",     0, {"Q", 0},   "D,U",  MATCH_FSGNJX_Q, MASK_FSGNJX_Q, match_rs1_eq_rs2, INSN_ALIAS },
-{"fsgnj.q",    0, {"Q", 0},   "D,S,T",  MATCH_FSGNJ_Q, MASK_FSGNJ_Q, match_opcode, 0 },
-{"fsgnjn.q",   0, {"Q", 0},   "D,S,T",  MATCH_FSGNJN_Q, MASK_FSGNJN_Q, match_opcode, 0 },
-{"fsgnjx.q",   0, {"Q", 0},   "D,S,T",  MATCH_FSGNJX_Q, MASK_FSGNJX_Q, match_opcode, 0 },
-{"fadd.q",     0, {"Q", 0},   "D,S,T",  MATCH_FADD_Q | MASK_RM, MASK_FADD_Q | MASK_RM, match_opcode, 0 },
-{"fadd.q",     0, {"Q", 0},   "D,S,T,m",  MATCH_FADD_Q, MASK_FADD_Q, match_opcode, 0 },
-{"fsub.q",     0, {"Q", 0},   "D,S,T",  MATCH_FSUB_Q | MASK_RM, MASK_FSUB_Q | MASK_RM, match_opcode, 0 },
-{"fsub.q",     0, {"Q", 0},   "D,S,T,m",  MATCH_FSUB_Q, MASK_FSUB_Q, match_opcode, 0 },
-{"fmul.q",     0, {"Q", 0},   "D,S,T",  MATCH_FMUL_Q | MASK_RM, MASK_FMUL_Q | MASK_RM, match_opcode, 0 },
-{"fmul.q",     0, {"Q", 0},   "D,S,T,m",  MATCH_FMUL_Q, MASK_FMUL_Q, match_opcode, 0 },
-{"fdiv.q",     0, {"Q", 0},   "D,S,T",  MATCH_FDIV_Q | MASK_RM, MASK_FDIV_Q | MASK_RM, match_opcode, 0 },
-{"fdiv.q",     0, {"Q", 0},   "D,S,T,m",  MATCH_FDIV_Q, MASK_FDIV_Q, match_opcode, 0 },
-{"fsqrt.q",    0, {"Q", 0},   "D,S",  MATCH_FSQRT_Q | MASK_RM, MASK_FSQRT_Q | MASK_RM, match_opcode, 0 },
-{"fsqrt.q",    0, {"Q", 0},   "D,S,m",  MATCH_FSQRT_Q, MASK_FSQRT_Q, match_opcode, 0 },
-{"fmin.q",     0, {"Q", 0},   "D,S,T",  MATCH_FMIN_Q, MASK_FMIN_Q, match_opcode, 0 },
-{"fmax.q",     0, {"Q", 0},   "D,S,T",  MATCH_FMAX_Q, MASK_FMAX_Q, match_opcode, 0 },
-{"fmadd.q",    0, {"Q", 0},   "D,S,T,R",  MATCH_FMADD_Q | MASK_RM, MASK_FMADD_Q | MASK_RM, match_opcode, 0 },
-{"fmadd.q",    0, {"Q", 0},   "D,S,T,R,m",  MATCH_FMADD_Q, MASK_FMADD_Q, match_opcode, 0 },
-{"fnmadd.q",   0, {"Q", 0},   "D,S,T,R",  MATCH_FNMADD_Q | MASK_RM, MASK_FNMADD_Q | MASK_RM, match_opcode, 0 },
-{"fnmadd.q",   0, {"Q", 0},   "D,S,T,R,m",  MATCH_FNMADD_Q, MASK_FNMADD_Q, match_opcode, 0 },
-{"fmsub.q",    0, {"Q", 0},   "D,S,T,R",  MATCH_FMSUB_Q | MASK_RM, MASK_FMSUB_Q | MASK_RM, match_opcode, 0 },
-{"fmsub.q",    0, {"Q", 0},   "D,S,T,R,m",  MATCH_FMSUB_Q, MASK_FMSUB_Q, match_opcode, 0 },
-{"fnmsub.q",   0, {"Q", 0},   "D,S,T,R",  MATCH_FNMSUB_Q | MASK_RM, MASK_FNMSUB_Q | MASK_RM, match_opcode, 0 },
-{"fnmsub.q",   0, {"Q", 0},   "D,S,T,R,m",  MATCH_FNMSUB_Q, MASK_FNMSUB_Q, match_opcode, 0 },
-{"fcvt.w.q",   0, {"Q", 0},   "d,S",  MATCH_FCVT_W_Q | MASK_RM, MASK_FCVT_W_Q | MASK_RM, match_opcode, 0 },
-{"fcvt.w.q",   0, {"Q", 0},   "d,S,m",  MATCH_FCVT_W_Q, MASK_FCVT_W_Q, match_opcode, 0 },
-{"fcvt.wu.q",  0, {"Q", 0},   "d,S",  MATCH_FCVT_WU_Q | MASK_RM, MASK_FCVT_WU_Q | MASK_RM, match_opcode, 0 },
-{"fcvt.wu.q",  0, {"Q", 0},   "d,S,m",  MATCH_FCVT_WU_Q, MASK_FCVT_WU_Q, match_opcode, 0 },
-{"fcvt.q.w",   0, {"Q", 0},   "D,s",  MATCH_FCVT_Q_W, MASK_FCVT_Q_W | MASK_RM, match_opcode, 0 },
-{"fcvt.q.wu",  0, {"Q", 0},   "D,s",  MATCH_FCVT_Q_WU, MASK_FCVT_Q_WU | MASK_RM, match_opcode, 0 },
-{"fcvt.q.s",   0, {"Q", 0},   "D,S",  MATCH_FCVT_Q_S, MASK_FCVT_Q_S | MASK_RM, match_opcode, 0 },
-{"fcvt.q.d",   0, {"Q", 0},   "D,S",  MATCH_FCVT_Q_D, MASK_FCVT_Q_D | MASK_RM, match_opcode, 0 },
-{"fcvt.s.q",   0, {"Q", 0},   "D,S",  MATCH_FCVT_S_Q | MASK_RM, MASK_FCVT_S_Q | MASK_RM, match_opcode, 0 },
-{"fcvt.s.q",   0, {"Q", 0},   "D,S,m",  MATCH_FCVT_S_Q, MASK_FCVT_S_Q, match_opcode, 0 },
-{"fcvt.d.q",   0, {"Q", 0},   "D,S",  MATCH_FCVT_D_Q | MASK_RM, MASK_FCVT_D_Q | MASK_RM, match_opcode, 0 },
-{"fcvt.d.q",   0, {"Q", 0},   "D,S,m",  MATCH_FCVT_D_Q, MASK_FCVT_D_Q, match_opcode, 0 },
-{"fclass.q",   0, {"Q", 0},   "d,S",  MATCH_FCLASS_Q, MASK_FCLASS_Q, match_opcode, 0 },
-{"feq.q",      0, {"Q", 0},   "d,S,T",    MATCH_FEQ_Q, MASK_FEQ_Q, match_opcode, 0 },
-{"flt.q",      0, {"Q", 0},   "d,S,T",    MATCH_FLT_Q, MASK_FLT_Q, match_opcode, 0 },
-{"fle.q",      0, {"Q", 0},   "d,S,T",    MATCH_FLE_Q, MASK_FLE_Q, match_opcode, 0 },
-{"fgt.q",      0, {"Q", 0},   "d,T,S",    MATCH_FLT_Q, MASK_FLT_Q, match_opcode, 0 },
-{"fge.q",      0, {"Q", 0},   "d,T,S",    MATCH_FLE_Q, MASK_FLE_Q, match_opcode, 0 },
-{"fmv.x.q",   64, {"Q", 0}, "d,S",  MATCH_FMV_X_Q, MASK_FMV_X_Q, match_opcode, 0 },
-{"fmv.q.x",   64, {"Q", 0}, "D,s",  MATCH_FMV_Q_X, MASK_FMV_Q_X, match_opcode, 0 },
-{"fcvt.l.q",  64, {"Q", 0}, "d,S",  MATCH_FCVT_L_Q | MASK_RM, MASK_FCVT_L_Q | MASK_RM, match_opcode, 0 },
-{"fcvt.l.q",  64, {"Q", 0}, "d,S,m",  MATCH_FCVT_L_Q, MASK_FCVT_L_Q, match_opcode, 0 },
-{"fcvt.lu.q", 64, {"Q", 0}, "d,S",  MATCH_FCVT_LU_Q | MASK_RM, MASK_FCVT_LU_Q | MASK_RM, match_opcode, 0 },
-{"fcvt.lu.q", 64, {"Q", 0}, "d,S,m",  MATCH_FCVT_LU_Q, MASK_FCVT_LU_Q, match_opcode, 0 },
-{"fcvt.q.l",  64, {"Q", 0}, "D,s",  MATCH_FCVT_Q_L | MASK_RM, MASK_FCVT_Q_L | MASK_RM, match_opcode, 0 },
-{"fcvt.q.l",  64, {"Q", 0}, "D,s,m",  MATCH_FCVT_Q_L, MASK_FCVT_Q_L, match_opcode, 0 },
-{"fcvt.q.lu", 64, {"Q", 0}, "D,s",  MATCH_FCVT_Q_LU | MASK_RM, MASK_FCVT_Q_L | MASK_RM, match_opcode, 0 },
-{"fcvt.q.lu", 64, {"Q", 0}, "D,s,m",  MATCH_FCVT_Q_LU, MASK_FCVT_Q_LU, match_opcode, 0 },
+{"flq",        0, INSN_CLASS_Q,   "D,o(s)",  MATCH_FLQ, MASK_FLQ, match_opcode, INSN_DREF|INSN_16_BYTE },
+{"flq",        0, INSN_CLASS_Q,   "D,A,s",  0, (int) M_FLQ, match_never, INSN_MACRO },
+{"fsq",        0, INSN_CLASS_Q,   "T,q(s)",  MATCH_FSQ, MASK_FSQ, match_opcode, INSN_DREF|INSN_16_BYTE },
+{"fsq",        0, INSN_CLASS_Q,   "T,A,s",  0, (int) M_FSQ, match_never, INSN_MACRO },
+{"fmv.q",      0, INSN_CLASS_Q,   "D,U",  MATCH_FSGNJ_Q, MASK_FSGNJ_Q, match_rs1_eq_rs2, INSN_ALIAS },
+{"fneg.q",     0, INSN_CLASS_Q,   "D,U",  MATCH_FSGNJN_Q, MASK_FSGNJN_Q, match_rs1_eq_rs2, INSN_ALIAS },
+{"fabs.q",     0, INSN_CLASS_Q,   "D,U",  MATCH_FSGNJX_Q, MASK_FSGNJX_Q, match_rs1_eq_rs2, INSN_ALIAS },
+{"fsgnj.q",    0, INSN_CLASS_Q,   "D,S,T",  MATCH_FSGNJ_Q, MASK_FSGNJ_Q, match_opcode, 0 },
+{"fsgnjn.q",   0, INSN_CLASS_Q,   "D,S,T",  MATCH_FSGNJN_Q, MASK_FSGNJN_Q, match_opcode, 0 },
+{"fsgnjx.q",   0, INSN_CLASS_Q,   "D,S,T",  MATCH_FSGNJX_Q, MASK_FSGNJX_Q, match_opcode, 0 },
+{"fadd.q",     0, INSN_CLASS_Q,   "D,S,T",  MATCH_FADD_Q | MASK_RM, MASK_FADD_Q | MASK_RM, match_opcode, 0 },
+{"fadd.q",     0, INSN_CLASS_Q,   "D,S,T,m",  MATCH_FADD_Q, MASK_FADD_Q, match_opcode, 0 },
+{"fsub.q",     0, INSN_CLASS_Q,   "D,S,T",  MATCH_FSUB_Q | MASK_RM, MASK_FSUB_Q | MASK_RM, match_opcode, 0 },
+{"fsub.q",     0, INSN_CLASS_Q,   "D,S,T,m",  MATCH_FSUB_Q, MASK_FSUB_Q, match_opcode, 0 },
+{"fmul.q",     0, INSN_CLASS_Q,   "D,S,T",  MATCH_FMUL_Q | MASK_RM, MASK_FMUL_Q | MASK_RM, match_opcode, 0 },
+{"fmul.q",     0, INSN_CLASS_Q,   "D,S,T,m",  MATCH_FMUL_Q, MASK_FMUL_Q, match_opcode, 0 },
+{"fdiv.q",     0, INSN_CLASS_Q,   "D,S,T",  MATCH_FDIV_Q | MASK_RM, MASK_FDIV_Q | MASK_RM, match_opcode, 0 },
+{"fdiv.q",     0, INSN_CLASS_Q,   "D,S,T,m",  MATCH_FDIV_Q, MASK_FDIV_Q, match_opcode, 0 },
+{"fsqrt.q",    0, INSN_CLASS_Q,   "D,S",  MATCH_FSQRT_Q | MASK_RM, MASK_FSQRT_Q | MASK_RM, match_opcode, 0 },
+{"fsqrt.q",    0, INSN_CLASS_Q,   "D,S,m",  MATCH_FSQRT_Q, MASK_FSQRT_Q, match_opcode, 0 },
+{"fmin.q",     0, INSN_CLASS_Q,   "D,S,T",  MATCH_FMIN_Q, MASK_FMIN_Q, match_opcode, 0 },
+{"fmax.q",     0, INSN_CLASS_Q,   "D,S,T",  MATCH_FMAX_Q, MASK_FMAX_Q, match_opcode, 0 },
+{"fmadd.q",    0, INSN_CLASS_Q,   "D,S,T,R",  MATCH_FMADD_Q | MASK_RM, MASK_FMADD_Q | MASK_RM, match_opcode, 0 },
+{"fmadd.q",    0, INSN_CLASS_Q,   "D,S,T,R,m",  MATCH_FMADD_Q, MASK_FMADD_Q, match_opcode, 0 },
+{"fnmadd.q",   0, INSN_CLASS_Q,   "D,S,T,R",  MATCH_FNMADD_Q | MASK_RM, MASK_FNMADD_Q | MASK_RM, match_opcode, 0 },
+{"fnmadd.q",   0, INSN_CLASS_Q,   "D,S,T,R,m",  MATCH_FNMADD_Q, MASK_FNMADD_Q, match_opcode, 0 },
+{"fmsub.q",    0, INSN_CLASS_Q,   "D,S,T,R",  MATCH_FMSUB_Q | MASK_RM, MASK_FMSUB_Q | MASK_RM, match_opcode, 0 },
+{"fmsub.q",    0, INSN_CLASS_Q,   "D,S,T,R,m",  MATCH_FMSUB_Q, MASK_FMSUB_Q, match_opcode, 0 },
+{"fnmsub.q",   0, INSN_CLASS_Q,   "D,S,T,R",  MATCH_FNMSUB_Q | MASK_RM, MASK_FNMSUB_Q | MASK_RM, match_opcode, 0 },
+{"fnmsub.q",   0, INSN_CLASS_Q,   "D,S,T,R,m",  MATCH_FNMSUB_Q, MASK_FNMSUB_Q, match_opcode, 0 },
+{"fcvt.w.q",   0, INSN_CLASS_Q,   "d,S",  MATCH_FCVT_W_Q | MASK_RM, MASK_FCVT_W_Q | MASK_RM, match_opcode, 0 },
+{"fcvt.w.q",   0, INSN_CLASS_Q,   "d,S,m",  MATCH_FCVT_W_Q, MASK_FCVT_W_Q, match_opcode, 0 },
+{"fcvt.wu.q",  0, INSN_CLASS_Q,   "d,S",  MATCH_FCVT_WU_Q | MASK_RM, MASK_FCVT_WU_Q | MASK_RM, match_opcode, 0 },
+{"fcvt.wu.q",  0, INSN_CLASS_Q,   "d,S,m",  MATCH_FCVT_WU_Q, MASK_FCVT_WU_Q, match_opcode, 0 },
+{"fcvt.q.w",   0, INSN_CLASS_Q,   "D,s",  MATCH_FCVT_Q_W, MASK_FCVT_Q_W | MASK_RM, match_opcode, 0 },
+{"fcvt.q.wu",  0, INSN_CLASS_Q,   "D,s",  MATCH_FCVT_Q_WU, MASK_FCVT_Q_WU | MASK_RM, match_opcode, 0 },
+{"fcvt.q.s",   0, INSN_CLASS_Q,   "D,S",  MATCH_FCVT_Q_S, MASK_FCVT_Q_S | MASK_RM, match_opcode, 0 },
+{"fcvt.q.d",   0, INSN_CLASS_Q,   "D,S",  MATCH_FCVT_Q_D, MASK_FCVT_Q_D | MASK_RM, match_opcode, 0 },
+{"fcvt.s.q",   0, INSN_CLASS_Q,   "D,S",  MATCH_FCVT_S_Q | MASK_RM, MASK_FCVT_S_Q | MASK_RM, match_opcode, 0 },
+{"fcvt.s.q",   0, INSN_CLASS_Q,   "D,S,m",  MATCH_FCVT_S_Q, MASK_FCVT_S_Q, match_opcode, 0 },
+{"fcvt.d.q",   0, INSN_CLASS_Q,   "D,S",  MATCH_FCVT_D_Q | MASK_RM, MASK_FCVT_D_Q | MASK_RM, match_opcode, 0 },
+{"fcvt.d.q",   0, INSN_CLASS_Q,   "D,S,m",  MATCH_FCVT_D_Q, MASK_FCVT_D_Q, match_opcode, 0 },
+{"fclass.q",   0, INSN_CLASS_Q,   "d,S",  MATCH_FCLASS_Q, MASK_FCLASS_Q, match_opcode, 0 },
+{"feq.q",      0, INSN_CLASS_Q,   "d,S,T",    MATCH_FEQ_Q, MASK_FEQ_Q, match_opcode, 0 },
+{"flt.q",      0, INSN_CLASS_Q,   "d,S,T",    MATCH_FLT_Q, MASK_FLT_Q, match_opcode, 0 },
+{"fle.q",      0, INSN_CLASS_Q,   "d,S,T",    MATCH_FLE_Q, MASK_FLE_Q, match_opcode, 0 },
+{"fgt.q",      0, INSN_CLASS_Q,   "d,T,S",    MATCH_FLT_Q, MASK_FLT_Q, match_opcode, 0 },
+{"fge.q",      0, INSN_CLASS_Q,   "d,T,S",    MATCH_FLE_Q, MASK_FLE_Q, match_opcode, 0 },
+{"fmv.x.q",   64, INSN_CLASS_Q, "d,S",  MATCH_FMV_X_Q, MASK_FMV_X_Q, match_opcode, 0 },
+{"fmv.q.x",   64, INSN_CLASS_Q, "D,s",  MATCH_FMV_Q_X, MASK_FMV_Q_X, match_opcode, 0 },
+{"fcvt.l.q",  64, INSN_CLASS_Q, "d,S",  MATCH_FCVT_L_Q | MASK_RM, MASK_FCVT_L_Q | MASK_RM, match_opcode, 0 },
+{"fcvt.l.q",  64, INSN_CLASS_Q, "d,S,m",  MATCH_FCVT_L_Q, MASK_FCVT_L_Q, match_opcode, 0 },
+{"fcvt.lu.q", 64, INSN_CLASS_Q, "d,S",  MATCH_FCVT_LU_Q | MASK_RM, MASK_FCVT_LU_Q | MASK_RM, match_opcode, 0 },
+{"fcvt.lu.q", 64, INSN_CLASS_Q, "d,S,m",  MATCH_FCVT_LU_Q, MASK_FCVT_LU_Q, match_opcode, 0 },
+{"fcvt.q.l",  64, INSN_CLASS_Q, "D,s",  MATCH_FCVT_Q_L | MASK_RM, MASK_FCVT_Q_L | MASK_RM, match_opcode, 0 },
+{"fcvt.q.l",  64, INSN_CLASS_Q, "D,s,m",  MATCH_FCVT_Q_L, MASK_FCVT_Q_L, match_opcode, 0 },
+{"fcvt.q.lu", 64, INSN_CLASS_Q, "D,s",  MATCH_FCVT_Q_LU | MASK_RM, MASK_FCVT_Q_L | MASK_RM, match_opcode, 0 },
+{"fcvt.q.lu", 64, INSN_CLASS_Q, "D,s,m",  MATCH_FCVT_Q_LU, MASK_FCVT_Q_LU, match_opcode, 0 },
 
 /* Compressed instructions.  */
-{"c.unimp",    0, {"C", 0},   "",  0, 0xffffU,  match_opcode, 0 },
-{"c.ebreak",   0, {"C", 0},   "",  MATCH_C_EBREAK, MASK_C_EBREAK, match_opcode, 0 },
-{"c.jr",       0, {"C", 0},   "d",  MATCH_C_JR, MASK_C_JR, match_rd_nonzero, INSN_BRANCH },
-{"c.jalr",     0, {"C", 0},   "d",  MATCH_C_JALR, MASK_C_JALR, match_rd_nonzero, INSN_JSR },
-{"c.j",        0, {"C", 0},   "Ca",  MATCH_C_J, MASK_C_J, match_opcode, INSN_BRANCH },
-{"c.jal",     32, {"C", 0}, "Ca",  MATCH_C_JAL, MASK_C_JAL, match_opcode, INSN_JSR },
-{"c.beqz",     0, {"C", 0},   "Cs,Cp",  MATCH_C_BEQZ, MASK_C_BEQZ, match_opcode, INSN_CONDBRANCH },
-{"c.bnez",     0, {"C", 0},   "Cs,Cp",  MATCH_C_BNEZ, MASK_C_BNEZ, match_opcode, INSN_CONDBRANCH },
-{"c.lwsp",     0, {"C", 0},   "d,Cm(Cc)",  MATCH_C_LWSP, MASK_C_LWSP, match_rd_nonzero, 0 },
-{"c.lw",       0, {"C", 0},   "Ct,Ck(Cs)",  MATCH_C_LW, MASK_C_LW, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"c.swsp",     0, {"C", 0},   "CV,CM(Cc)",  MATCH_C_SWSP, MASK_C_SWSP, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"c.sw",       0, {"C", 0},   "Ct,Ck(Cs)",  MATCH_C_SW, MASK_C_SW, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"c.nop",      0, {"C", 0},   "",  MATCH_C_ADDI, 0xffff, match_opcode, INSN_ALIAS },
-{"c.nop",      0, {"C", 0},   "Cj",  MATCH_C_ADDI, MASK_C_ADDI | MASK_RD, match_opcode, INSN_ALIAS },
-{"c.mv",       0, {"C", 0},   "d,CV",  MATCH_C_MV, MASK_C_MV, match_c_add_with_hint, 0 },
-{"c.lui",      0, {"C", 0},   "d,Cu",  MATCH_C_LUI, MASK_C_LUI, match_c_lui_with_hint, 0 },
-{"c.li",       0, {"C", 0},   "d,Co",  MATCH_C_LI, MASK_C_LI, match_opcode, 0 },
-{"c.addi4spn", 0, {"C", 0},   "Ct,Cc,CK", MATCH_C_ADDI4SPN, MASK_C_ADDI4SPN, match_c_addi4spn, 0 },
-{"c.addi16sp", 0, {"C", 0},   "Cc,CL", MATCH_C_ADDI16SP, MASK_C_ADDI16SP, match_c_addi16sp, 0 },
-{"c.addi",     0, {"C", 0},   "d,Co",  MATCH_C_ADDI, MASK_C_ADDI, match_opcode, 0 },
-{"c.add",      0, {"C", 0},   "d,CV",  MATCH_C_ADD, MASK_C_ADD, match_c_add_with_hint, 0 },
-{"c.sub",      0, {"C", 0},   "Cs,Ct",  MATCH_C_SUB, MASK_C_SUB, match_opcode, 0 },
-{"c.and",      0, {"C", 0},   "Cs,Ct",  MATCH_C_AND, MASK_C_AND, match_opcode, 0 },
-{"c.or",       0, {"C", 0},   "Cs,Ct",  MATCH_C_OR, MASK_C_OR, match_opcode, 0 },
-{"c.xor",      0, {"C", 0},   "Cs,Ct",  MATCH_C_XOR, MASK_C_XOR, match_opcode, 0 },
-{"c.slli",     0, {"C", 0},   "d,C>",  MATCH_C_SLLI, MASK_C_SLLI, match_c_slli, 0 },
-{"c.srli",     0, {"C", 0},   "Cs,C>",  MATCH_C_SRLI, MASK_C_SRLI, match_c_slli, 0 },
-{"c.srai",     0, {"C", 0},   "Cs,C>",  MATCH_C_SRAI, MASK_C_SRAI, match_c_slli, 0 },
-{"c.slli64",   0, {"C", 0},   "d",  MATCH_C_SLLI64, MASK_C_SLLI64, match_c_slli64, 0 },
-{"c.srli64",   0, {"C", 0},   "Cs",  MATCH_C_SRLI64, MASK_C_SRLI64, match_c_slli64, 0 },
-{"c.srai64",   0, {"C", 0},   "Cs",  MATCH_C_SRAI64, MASK_C_SRAI64, match_c_slli64, 0 },
-{"c.andi",     0, {"C", 0},   "Cs,Co",  MATCH_C_ANDI, MASK_C_ANDI, match_opcode, 0 },
-{"c.addiw",   64, {"C", 0}, "d,Co",  MATCH_C_ADDIW, MASK_C_ADDIW, match_rd_nonzero, 0 },
-{"c.addw",    64, {"C", 0}, "Cs,Ct",  MATCH_C_ADDW, MASK_C_ADDW, match_opcode, 0 },
-{"c.subw",    64, {"C", 0}, "Cs,Ct",  MATCH_C_SUBW, MASK_C_SUBW, match_opcode, 0 },
-{"c.ldsp",    64, {"C", 0}, "d,Cn(Cc)",  MATCH_C_LDSP, MASK_C_LDSP, match_rd_nonzero, INSN_DREF|INSN_8_BYTE },
-{"c.ld",      64, {"C", 0}, "Ct,Cl(Cs)",  MATCH_C_LD, MASK_C_LD, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"c.sdsp",    64, {"C", 0}, "CV,CN(Cc)",  MATCH_C_SDSP, MASK_C_SDSP, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"c.sd",      64, {"C", 0}, "Ct,Cl(Cs)",  MATCH_C_SD, MASK_C_SD, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"c.fldsp",    0, {"D", "C", 0},   "D,Cn(Cc)",  MATCH_C_FLDSP, MASK_C_FLDSP, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"c.fld",      0, {"D", "C", 0},   "CD,Cl(Cs)",  MATCH_C_FLD, MASK_C_FLD, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"c.fsdsp",    0, {"D", "C", 0},   "CT,CN(Cc)",  MATCH_C_FSDSP, MASK_C_FSDSP, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"c.fsd",      0, {"D", "C", 0},   "CD,Cl(Cs)",  MATCH_C_FSD, MASK_C_FSD, match_opcode, INSN_DREF|INSN_8_BYTE },
-{"c.flwsp",   32, {"F", "C", 0}, "D,Cm(Cc)",  MATCH_C_FLWSP, MASK_C_FLWSP, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"c.flw",     32, {"F", "C", 0}, "CD,Ck(Cs)",  MATCH_C_FLW, MASK_C_FLW, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"c.fswsp",   32, {"F", "C", 0}, "CT,CM(Cc)",  MATCH_C_FSWSP, MASK_C_FSWSP, match_opcode, INSN_DREF|INSN_4_BYTE },
-{"c.fsw",     32, {"F", "C", 0}, "CD,Ck(Cs)",  MATCH_C_FSW, MASK_C_FSW, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"c.unimp",    0, INSN_CLASS_C,   "",  0, 0xffffU,  match_opcode, 0 },
+{"c.ebreak",   0, INSN_CLASS_C,   "",  MATCH_C_EBREAK, MASK_C_EBREAK, match_opcode, 0 },
+{"c.jr",       0, INSN_CLASS_C,   "d",  MATCH_C_JR, MASK_C_JR, match_rd_nonzero, INSN_BRANCH },
+{"c.jalr",     0, INSN_CLASS_C,   "d",  MATCH_C_JALR, MASK_C_JALR, match_rd_nonzero, INSN_JSR },
+{"c.j",        0, INSN_CLASS_C,   "Ca",  MATCH_C_J, MASK_C_J, match_opcode, INSN_BRANCH },
+{"c.jal",     32, INSN_CLASS_C, "Ca",  MATCH_C_JAL, MASK_C_JAL, match_opcode, INSN_JSR },
+{"c.beqz",     0, INSN_CLASS_C,   "Cs,Cp",  MATCH_C_BEQZ, MASK_C_BEQZ, match_opcode, INSN_CONDBRANCH },
+{"c.bnez",     0, INSN_CLASS_C,   "Cs,Cp",  MATCH_C_BNEZ, MASK_C_BNEZ, match_opcode, INSN_CONDBRANCH },
+{"c.lwsp",     0, INSN_CLASS_C,   "d,Cm(Cc)",  MATCH_C_LWSP, MASK_C_LWSP, match_rd_nonzero, 0 },
+{"c.lw",       0, INSN_CLASS_C,   "Ct,Ck(Cs)",  MATCH_C_LW, MASK_C_LW, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"c.swsp",     0, INSN_CLASS_C,   "CV,CM(Cc)",  MATCH_C_SWSP, MASK_C_SWSP, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"c.sw",       0, INSN_CLASS_C,   "Ct,Ck(Cs)",  MATCH_C_SW, MASK_C_SW, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"c.nop",      0, INSN_CLASS_C,   "",  MATCH_C_ADDI, 0xffff, match_opcode, INSN_ALIAS },
+{"c.nop",      0, INSN_CLASS_C,   "Cj",  MATCH_C_ADDI, MASK_C_ADDI | MASK_RD, match_opcode, INSN_ALIAS },
+{"c.mv",       0, INSN_CLASS_C,   "d,CV",  MATCH_C_MV, MASK_C_MV, match_c_add_with_hint, 0 },
+{"c.lui",      0, INSN_CLASS_C,   "d,Cu",  MATCH_C_LUI, MASK_C_LUI, match_c_lui_with_hint, 0 },
+{"c.li",       0, INSN_CLASS_C,   "d,Co",  MATCH_C_LI, MASK_C_LI, match_opcode, 0 },
+{"c.addi4spn", 0, INSN_CLASS_C,   "Ct,Cc,CK", MATCH_C_ADDI4SPN, MASK_C_ADDI4SPN, match_c_addi4spn, 0 },
+{"c.addi16sp", 0, INSN_CLASS_C,   "Cc,CL", MATCH_C_ADDI16SP, MASK_C_ADDI16SP, match_c_addi16sp, 0 },
+{"c.addi",     0, INSN_CLASS_C,   "d,Co",  MATCH_C_ADDI, MASK_C_ADDI, match_opcode, 0 },
+{"c.add",      0, INSN_CLASS_C,   "d,CV",  MATCH_C_ADD, MASK_C_ADD, match_c_add_with_hint, 0 },
+{"c.sub",      0, INSN_CLASS_C,   "Cs,Ct",  MATCH_C_SUB, MASK_C_SUB, match_opcode, 0 },
+{"c.and",      0, INSN_CLASS_C,   "Cs,Ct",  MATCH_C_AND, MASK_C_AND, match_opcode, 0 },
+{"c.or",       0, INSN_CLASS_C,   "Cs,Ct",  MATCH_C_OR, MASK_C_OR, match_opcode, 0 },
+{"c.xor",      0, INSN_CLASS_C,   "Cs,Ct",  MATCH_C_XOR, MASK_C_XOR, match_opcode, 0 },
+{"c.slli",     0, INSN_CLASS_C,   "d,C>",  MATCH_C_SLLI, MASK_C_SLLI, match_c_slli, 0 },
+{"c.srli",     0, INSN_CLASS_C,   "Cs,C>",  MATCH_C_SRLI, MASK_C_SRLI, match_c_slli, 0 },
+{"c.srai",     0, INSN_CLASS_C,   "Cs,C>",  MATCH_C_SRAI, MASK_C_SRAI, match_c_slli, 0 },
+{"c.slli64",   0, INSN_CLASS_C,   "d",  MATCH_C_SLLI64, MASK_C_SLLI64, match_c_slli64, 0 },
+{"c.srli64",   0, INSN_CLASS_C,   "Cs",  MATCH_C_SRLI64, MASK_C_SRLI64, match_c_slli64, 0 },
+{"c.srai64",   0, INSN_CLASS_C,   "Cs",  MATCH_C_SRAI64, MASK_C_SRAI64, match_c_slli64, 0 },
+{"c.andi",     0, INSN_CLASS_C,   "Cs,Co",  MATCH_C_ANDI, MASK_C_ANDI, match_opcode, 0 },
+{"c.addiw",   64, INSN_CLASS_C, "d,Co",  MATCH_C_ADDIW, MASK_C_ADDIW, match_rd_nonzero, 0 },
+{"c.addw",    64, INSN_CLASS_C, "Cs,Ct",  MATCH_C_ADDW, MASK_C_ADDW, match_opcode, 0 },
+{"c.subw",    64, INSN_CLASS_C, "Cs,Ct",  MATCH_C_SUBW, MASK_C_SUBW, match_opcode, 0 },
+{"c.ldsp",    64, INSN_CLASS_C, "d,Cn(Cc)",  MATCH_C_LDSP, MASK_C_LDSP, match_rd_nonzero, INSN_DREF|INSN_8_BYTE },
+{"c.ld",      64, INSN_CLASS_C, "Ct,Cl(Cs)",  MATCH_C_LD, MASK_C_LD, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"c.sdsp",    64, INSN_CLASS_C, "CV,CN(Cc)",  MATCH_C_SDSP, MASK_C_SDSP, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"c.sd",      64, INSN_CLASS_C, "Ct,Cl(Cs)",  MATCH_C_SD, MASK_C_SD, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"c.fldsp",    0, INSN_CLASS_D_AND_C,   "D,Cn(Cc)",  MATCH_C_FLDSP, MASK_C_FLDSP, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"c.fld",      0, INSN_CLASS_D_AND_C,   "CD,Cl(Cs)",  MATCH_C_FLD, MASK_C_FLD, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"c.fsdsp",    0, INSN_CLASS_D_AND_C,   "CT,CN(Cc)",  MATCH_C_FSDSP, MASK_C_FSDSP, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"c.fsd",      0, INSN_CLASS_D_AND_C,   "CD,Cl(Cs)",  MATCH_C_FSD, MASK_C_FSD, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"c.flwsp",   32, INSN_CLASS_F_AND_C, "D,Cm(Cc)",  MATCH_C_FLWSP, MASK_C_FLWSP, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"c.flw",     32, INSN_CLASS_F_AND_C, "CD,Ck(Cs)",  MATCH_C_FLW, MASK_C_FLW, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"c.fswsp",   32, INSN_CLASS_F_AND_C, "CT,CM(Cc)",  MATCH_C_FSWSP, MASK_C_FSWSP, match_opcode, INSN_DREF|INSN_4_BYTE },
+{"c.fsw",     32, INSN_CLASS_F_AND_C, "CD,Ck(Cs)",  MATCH_C_FSW, MASK_C_FSW, match_opcode, INSN_DREF|INSN_4_BYTE },
 
 /* Supervisor instructions */
-{"csrr",       0, {"I", 0},   "d,E",  MATCH_CSRRS, MASK_CSRRS | MASK_RS1, match_opcode, INSN_ALIAS },
-{"csrwi",      0, {"I", 0},   "E,Z",  MATCH_CSRRWI, MASK_CSRRWI | MASK_RD, match_opcode, INSN_ALIAS },
-{"csrsi",      0, {"I", 0},   "E,Z",  MATCH_CSRRSI, MASK_CSRRSI | MASK_RD, match_opcode, INSN_ALIAS },
-{"csrci",      0, {"I", 0},   "E,Z",  MATCH_CSRRCI, MASK_CSRRCI | MASK_RD, match_opcode, INSN_ALIAS },
-{"csrw",       0, {"I", 0},   "E,s",  MATCH_CSRRW, MASK_CSRRW | MASK_RD, match_opcode, INSN_ALIAS },
-{"csrw",       0, {"I", 0},   "E,Z",  MATCH_CSRRWI, MASK_CSRRWI | MASK_RD, match_opcode, INSN_ALIAS },
-{"csrs",       0, {"I", 0},   "E,s",  MATCH_CSRRS, MASK_CSRRS | MASK_RD, match_opcode, INSN_ALIAS },
-{"csrs",       0, {"I", 0},   "E,Z",  MATCH_CSRRSI, MASK_CSRRSI | MASK_RD, match_opcode, INSN_ALIAS },
-{"csrc",       0, {"I", 0},   "E,s",  MATCH_CSRRC, MASK_CSRRC | MASK_RD, match_opcode, INSN_ALIAS },
-{"csrc",       0, {"I", 0},   "E,Z",  MATCH_CSRRCI, MASK_CSRRCI | MASK_RD, match_opcode, INSN_ALIAS },
-{"csrrwi",     0, {"I", 0},   "d,E,Z",  MATCH_CSRRWI, MASK_CSRRWI, match_opcode, 0 },
-{"csrrsi",     0, {"I", 0},   "d,E,Z",  MATCH_CSRRSI, MASK_CSRRSI, match_opcode, 0 },
-{"csrrci",     0, {"I", 0},   "d,E,Z",  MATCH_CSRRCI, MASK_CSRRCI, match_opcode, 0 },
-{"csrrw",      0, {"I", 0},   "d,E,s",  MATCH_CSRRW, MASK_CSRRW, match_opcode, 0 },
-{"csrrw",      0, {"I", 0},   "d,E,Z",  MATCH_CSRRWI, MASK_CSRRWI, match_opcode, INSN_ALIAS },
-{"csrrs",      0, {"I", 0},   "d,E,s",  MATCH_CSRRS, MASK_CSRRS, match_opcode, 0 },
-{"csrrs",      0, {"I", 0},   "d,E,Z",  MATCH_CSRRSI, MASK_CSRRSI, match_opcode, INSN_ALIAS },
-{"csrrc",      0, {"I", 0},   "d,E,s",  MATCH_CSRRC, MASK_CSRRC, match_opcode, 0 },
-{"csrrc",      0, {"I", 0},   "d,E,Z",  MATCH_CSRRCI, MASK_CSRRCI, match_opcode, INSN_ALIAS },
-{"uret",       0, {"I", 0},   "",     MATCH_URET, MASK_URET, match_opcode, 0 },
-{"sret",       0, {"I", 0},   "",     MATCH_SRET, MASK_SRET, match_opcode, 0 },
-{"hret",       0, {"I", 0},   "",     MATCH_HRET, MASK_HRET, match_opcode, 0 },
-{"mret",       0, {"I", 0},   "",     MATCH_MRET, MASK_MRET, match_opcode, 0 },
-{"dret",       0, {"I", 0},   "",     MATCH_DRET, MASK_DRET, match_opcode, 0 },
-{"sfence.vm",  0, {"I", 0},   "",     MATCH_SFENCE_VM, MASK_SFENCE_VM | MASK_RS1, match_opcode, 0 },
-{"sfence.vm",  0, {"I", 0},   "s",    MATCH_SFENCE_VM, MASK_SFENCE_VM, match_opcode, 0 },
-{"sfence.vma", 0, {"I", 0},   "",     MATCH_SFENCE_VMA, MASK_SFENCE_VMA | MASK_RS1 | MASK_RS2, match_opcode, INSN_ALIAS },
-{"sfence.vma", 0, {"I", 0},   "s",    MATCH_SFENCE_VMA, MASK_SFENCE_VMA | MASK_RS2, match_opcode, INSN_ALIAS },
-{"sfence.vma", 0, {"I", 0},   "s,t",  MATCH_SFENCE_VMA, MASK_SFENCE_VMA, match_opcode, 0 },
-{"wfi",        0, {"I", 0},   "",     MATCH_WFI, MASK_WFI, match_opcode, 0 },
+{"csrr",       0, INSN_CLASS_I,   "d,E",  MATCH_CSRRS, MASK_CSRRS | MASK_RS1, match_opcode, INSN_ALIAS },
+{"csrwi",      0, INSN_CLASS_I,   "E,Z",  MATCH_CSRRWI, MASK_CSRRWI | MASK_RD, match_opcode, INSN_ALIAS },
+{"csrsi",      0, INSN_CLASS_I,   "E,Z",  MATCH_CSRRSI, MASK_CSRRSI | MASK_RD, match_opcode, INSN_ALIAS },
+{"csrci",      0, INSN_CLASS_I,   "E,Z",  MATCH_CSRRCI, MASK_CSRRCI | MASK_RD, match_opcode, INSN_ALIAS },
+{"csrw",       0, INSN_CLASS_I,   "E,s",  MATCH_CSRRW, MASK_CSRRW | MASK_RD, match_opcode, INSN_ALIAS },
+{"csrw",       0, INSN_CLASS_I,   "E,Z",  MATCH_CSRRWI, MASK_CSRRWI | MASK_RD, match_opcode, INSN_ALIAS },
+{"csrs",       0, INSN_CLASS_I,   "E,s",  MATCH_CSRRS, MASK_CSRRS | MASK_RD, match_opcode, INSN_ALIAS },
+{"csrs",       0, INSN_CLASS_I,   "E,Z",  MATCH_CSRRSI, MASK_CSRRSI | MASK_RD, match_opcode, INSN_ALIAS },
+{"csrc",       0, INSN_CLASS_I,   "E,s",  MATCH_CSRRC, MASK_CSRRC | MASK_RD, match_opcode, INSN_ALIAS },
+{"csrc",       0, INSN_CLASS_I,   "E,Z",  MATCH_CSRRCI, MASK_CSRRCI | MASK_RD, match_opcode, INSN_ALIAS },
+{"csrrwi",     0, INSN_CLASS_I,   "d,E,Z",  MATCH_CSRRWI, MASK_CSRRWI, match_opcode, 0 },
+{"csrrsi",     0, INSN_CLASS_I,   "d,E,Z",  MATCH_CSRRSI, MASK_CSRRSI, match_opcode, 0 },
+{"csrrci",     0, INSN_CLASS_I,   "d,E,Z",  MATCH_CSRRCI, MASK_CSRRCI, match_opcode, 0 },
+{"csrrw",      0, INSN_CLASS_I,   "d,E,s",  MATCH_CSRRW, MASK_CSRRW, match_opcode, 0 },
+{"csrrw",      0, INSN_CLASS_I,   "d,E,Z",  MATCH_CSRRWI, MASK_CSRRWI, match_opcode, INSN_ALIAS },
+{"csrrs",      0, INSN_CLASS_I,   "d,E,s",  MATCH_CSRRS, MASK_CSRRS, match_opcode, 0 },
+{"csrrs",      0, INSN_CLASS_I,   "d,E,Z",  MATCH_CSRRSI, MASK_CSRRSI, match_opcode, INSN_ALIAS },
+{"csrrc",      0, INSN_CLASS_I,   "d,E,s",  MATCH_CSRRC, MASK_CSRRC, match_opcode, 0 },
+{"csrrc",      0, INSN_CLASS_I,   "d,E,Z",  MATCH_CSRRCI, MASK_CSRRCI, match_opcode, INSN_ALIAS },
+{"uret",       0, INSN_CLASS_I,   "",     MATCH_URET, MASK_URET, match_opcode, 0 },
+{"sret",       0, INSN_CLASS_I,   "",     MATCH_SRET, MASK_SRET, match_opcode, 0 },
+{"hret",       0, INSN_CLASS_I,   "",     MATCH_HRET, MASK_HRET, match_opcode, 0 },
+{"mret",       0, INSN_CLASS_I,   "",     MATCH_MRET, MASK_MRET, match_opcode, 0 },
+{"dret",       0, INSN_CLASS_I,   "",     MATCH_DRET, MASK_DRET, match_opcode, 0 },
+{"sfence.vm",  0, INSN_CLASS_I,   "",     MATCH_SFENCE_VM, MASK_SFENCE_VM | MASK_RS1, match_opcode, 0 },
+{"sfence.vm",  0, INSN_CLASS_I,   "s",    MATCH_SFENCE_VM, MASK_SFENCE_VM, match_opcode, 0 },
+{"sfence.vma", 0, INSN_CLASS_I,   "",     MATCH_SFENCE_VMA, MASK_SFENCE_VMA | MASK_RS1 | MASK_RS2, match_opcode, INSN_ALIAS },
+{"sfence.vma", 0, INSN_CLASS_I,   "s",    MATCH_SFENCE_VMA, MASK_SFENCE_VMA | MASK_RS2, match_opcode, INSN_ALIAS },
+{"sfence.vma", 0, INSN_CLASS_I,   "s,t",  MATCH_SFENCE_VMA, MASK_SFENCE_VMA, match_opcode, 0 },
+{"wfi",        0, INSN_CLASS_I,   "",     MATCH_WFI, MASK_WFI, match_opcode, 0 },
 
 /* Terminate the list.  */
-{0, 0, {0}, 0, 0, 0, 0, 0}
+{0, 0, INSN_CLASS_NONE, 0, 0, 0, 0, 0}
 };
 
 /* Instruction format for .insn directive.  */
 const struct riscv_opcode riscv_insn_types[] =
 {
 /* name, xlen, isa,          operands, match, mask,    match_func, pinfo.  */
-{"r",       0, {"I", 0},  "O4,F3,F7,d,s,t",     0,    0,  match_opcode, 0 },
-{"r",       0, {"I", 0},  "O4,F3,F7,D,s,t",     0,    0,  match_opcode, 0 },
-{"r",       0, {"I", 0},  "O4,F3,F7,d,S,t",     0,    0,  match_opcode, 0 },
-{"r",       0, {"I", 0},  "O4,F3,F7,D,S,t",     0,    0,  match_opcode, 0 },
-{"r",       0, {"I", 0},  "O4,F3,F7,d,s,T",     0,    0,  match_opcode, 0 },
-{"r",       0, {"I", 0},  "O4,F3,F7,D,s,T",     0,    0,  match_opcode, 0 },
-{"r",       0, {"I", 0},  "O4,F3,F7,d,S,T",     0,    0,  match_opcode, 0 },
-{"r",       0, {"I", 0},  "O4,F3,F7,D,S,T",     0,    0,  match_opcode, 0 },
-
-{"r",       0, {"I", 0},  "O4,F3,F2,d,s,t,r",   0,    0,  match_opcode, 0 },
-{"r",       0, {"I", 0},  "O4,F3,F2,D,s,t,r",   0,    0,  match_opcode, 0 },
-{"r",       0, {"I", 0},  "O4,F3,F2,d,S,t,r",   0,    0,  match_opcode, 0 },
-{"r",       0, {"I", 0},  "O4,F3,F2,D,S,t,r",   0,    0,  match_opcode, 0 },
-{"r",       0, {"I", 0},  "O4,F3,F2,d,s,T,r",   0,    0,  match_opcode, 0 },
-{"r",       0, {"I", 0},  "O4,F3,F2,D,s,T,r",   0,    0,  match_opcode, 0 },
-{"r",       0, {"I", 0},  "O4,F3,F2,d,S,T,r",   0,    0,  match_opcode, 0 },
-{"r",       0, {"I", 0},  "O4,F3,F2,D,S,T,r",   0,    0,  match_opcode, 0 },
-{"r",       0, {"I", 0},  "O4,F3,F2,d,s,t,R",   0,    0,  match_opcode, 0 },
-{"r",       0, {"I", 0},  "O4,F3,F2,D,s,t,R",   0,    0,  match_opcode, 0 },
-{"r",       0, {"I", 0},  "O4,F3,F2,d,S,t,R",   0,    0,  match_opcode, 0 },
-{"r",       0, {"I", 0},  "O4,F3,F2,D,S,t,R",   0,    0,  match_opcode, 0 },
-{"r",       0, {"I", 0},  "O4,F3,F2,d,s,T,R",   0,    0,  match_opcode, 0 },
-{"r",       0, {"I", 0},  "O4,F3,F2,D,s,T,R",   0,    0,  match_opcode, 0 },
-{"r",       0, {"I", 0},  "O4,F3,F2,d,S,T,R",   0,    0,  match_opcode, 0 },
-{"r",       0, {"I", 0},  "O4,F3,F2,D,S,T,R",   0,    0,  match_opcode, 0 },
-
-{"r4",      0, {"I", 0},  "O4,F3,F2,d,s,t,r",   0,    0,  match_opcode, 0 },
-{"r4",      0, {"I", 0},  "O4,F3,F2,D,s,t,r",   0,    0,  match_opcode, 0 },
-{"r4",      0, {"I", 0},  "O4,F3,F2,d,S,t,r",   0,    0,  match_opcode, 0 },
-{"r4",      0, {"I", 0},  "O4,F3,F2,D,S,t,r",   0,    0,  match_opcode, 0 },
-{"r4",      0, {"I", 0},  "O4,F3,F2,d,s,T,r",   0,    0,  match_opcode, 0 },
-{"r4",      0, {"I", 0},  "O4,F3,F2,D,s,T,r",   0,    0,  match_opcode, 0 },
-{"r4",      0, {"I", 0},  "O4,F3,F2,d,S,T,r",   0,    0,  match_opcode, 0 },
-{"r4",      0, {"I", 0},  "O4,F3,F2,D,S,T,r",   0,    0,  match_opcode, 0 },
-{"r4",      0, {"I", 0},  "O4,F3,F2,d,s,t,R",   0,    0,  match_opcode, 0 },
-{"r4",      0, {"I", 0},  "O4,F3,F2,D,s,t,R",   0,    0,  match_opcode, 0 },
-{"r4",      0, {"I", 0},  "O4,F3,F2,d,S,t,R",   0,    0,  match_opcode, 0 },
-{"r4",      0, {"I", 0},  "O4,F3,F2,D,S,t,R",   0,    0,  match_opcode, 0 },
-{"r4",      0, {"I", 0},  "O4,F3,F2,d,s,T,R",   0,    0,  match_opcode, 0 },
-{"r4",      0, {"I", 0},  "O4,F3,F2,D,s,T,R",   0,    0,  match_opcode, 0 },
-{"r4",      0, {"I", 0},  "O4,F3,F2,d,S,T,R",   0,    0,  match_opcode, 0 },
-{"r4",      0, {"I", 0},  "O4,F3,F2,D,S,T,R",   0,    0,  match_opcode, 0 },
-
-{"i",       0, {"I", 0},  "O4,F3,d,s,j",        0,    0,  match_opcode, 0 },
-{"i",       0, {"I", 0},  "O4,F3,D,s,j",        0,    0,  match_opcode, 0 },
-{"i",       0, {"I", 0},  "O4,F3,d,S,j",        0,    0,  match_opcode, 0 },
-{"i",       0, {"I", 0},  "O4,F3,D,S,j",        0,    0,  match_opcode, 0 },
-
-{"i",       0, {"I", 0},  "O4,F3,d,o(s)",       0,    0,  match_opcode, 0 },
-{"i",       0, {"I", 0},  "O4,F3,D,o(s)",       0,    0,  match_opcode, 0 },
-
-{"s",       0, {"I", 0},  "O4,F3,t,q(s)",       0,    0,  match_opcode, 0 },
-{"s",       0, {"I", 0},  "O4,F3,T,q(s)",       0,    0,  match_opcode, 0 },
-
-{"sb",      0, {"I", 0},  "O4,F3,s,t,p",        0,    0,  match_opcode, 0 },
-{"sb",      0, {"I", 0},  "O4,F3,S,t,p",        0,    0,  match_opcode, 0 },
-{"sb",      0, {"I", 0},  "O4,F3,s,T,p",        0,    0,  match_opcode, 0 },
-{"sb",      0, {"I", 0},  "O4,F3,S,T,p",        0,    0,  match_opcode, 0 },
-
-{"b",      0, {"I", 0},  "O4,F3,s,t,p",        0,    0,  match_opcode, 0 },
-{"b",      0, {"I", 0},  "O4,F3,S,t,p",        0,    0,  match_opcode, 0 },
-{"b",      0, {"I", 0},  "O4,F3,s,T,p",        0,    0,  match_opcode, 0 },
-{"b",      0, {"I", 0},  "O4,F3,S,T,p",        0,    0,  match_opcode, 0 },
-
-{"u",       0, {"I", 0},  "O4,d,u",             0,    0,  match_opcode, 0 },
-{"u",       0, {"I", 0},  "O4,D,u",             0,    0,  match_opcode, 0 },
-
-{"uj",      0, {"I", 0},  "O4,d,a",             0,    0,  match_opcode, 0 },
-{"uj",      0, {"I", 0},  "O4,D,a",             0,    0,  match_opcode, 0 },
-
-{"j",      0, {"I", 0},  "O4,d,a",             0,    0,  match_opcode, 0 },
-{"j",      0, {"I", 0},  "O4,D,a",             0,    0,  match_opcode, 0 },
-
-{"cr",      0, {"C", 0},  "O2,CF4,d,CV",        0,    0,  match_opcode, 0 },
-{"cr",      0, {"C", 0},  "O2,CF4,D,CV",        0,    0,  match_opcode, 0 },
-{"cr",      0, {"C", 0},  "O2,CF4,d,CT",        0,    0,  match_opcode, 0 },
-{"cr",      0, {"C", 0},  "O2,CF4,D,CT",        0,    0,  match_opcode, 0 },
-
-{"ci",      0, {"C", 0},  "O2,CF3,d,Co",        0,    0,  match_opcode, 0 },
-{"ci",      0, {"C", 0},  "O2,CF3,D,Co",        0,    0,  match_opcode, 0 },
-
-{"ciw",     0, {"C", 0},  "O2,CF3,Ct,C8",       0,    0,  match_opcode, 0 },
-{"ciw",     0, {"C", 0},  "O2,CF3,CD,C8",       0,    0,  match_opcode, 0 },
-
-{"ca",      0, {"C", 0},  "O2,CF6,CF2,Cs,Ct",   0,    0,  match_opcode, 0 },
-{"ca",      0, {"C", 0},  "O2,CF6,CF2,CS,Ct",   0,    0,  match_opcode, 0 },
-{"ca",      0, {"C", 0},  "O2,CF6,CF2,Cs,CD",   0,    0,  match_opcode, 0 },
-{"ca",      0, {"C", 0},  "O2,CF6,CF2,CS,CD",   0,    0,  match_opcode, 0 },
+{"r",       0, INSN_CLASS_I,  "O4,F3,F7,d,s,t",     0,    0,  match_opcode, 0 },
+{"r",       0, INSN_CLASS_I,  "O4,F3,F7,D,s,t",     0,    0,  match_opcode, 0 },
+{"r",       0, INSN_CLASS_I,  "O4,F3,F7,d,S,t",     0,    0,  match_opcode, 0 },
+{"r",       0, INSN_CLASS_I,  "O4,F3,F7,D,S,t",     0,    0,  match_opcode, 0 },
+{"r",       0, INSN_CLASS_I,  "O4,F3,F7,d,s,T",     0,    0,  match_opcode, 0 },
+{"r",       0, INSN_CLASS_I,  "O4,F3,F7,D,s,T",     0,    0,  match_opcode, 0 },
+{"r",       0, INSN_CLASS_I,  "O4,F3,F7,d,S,T",     0,    0,  match_opcode, 0 },
+{"r",       0, INSN_CLASS_I,  "O4,F3,F7,D,S,T",     0,    0,  match_opcode, 0 },
+
+{"r",       0, INSN_CLASS_I,  "O4,F3,F2,d,s,t,r",   0,    0,  match_opcode, 0 },
+{"r",       0, INSN_CLASS_I,  "O4,F3,F2,D,s,t,r",   0,    0,  match_opcode, 0 },
+{"r",       0, INSN_CLASS_I,  "O4,F3,F2,d,S,t,r",   0,    0,  match_opcode, 0 },
+{"r",       0, INSN_CLASS_I,  "O4,F3,F2,D,S,t,r",   0,    0,  match_opcode, 0 },
+{"r",       0, INSN_CLASS_I,  "O4,F3,F2,d,s,T,r",   0,    0,  match_opcode, 0 },
+{"r",       0, INSN_CLASS_I,  "O4,F3,F2,D,s,T,r",   0,    0,  match_opcode, 0 },
+{"r",       0, INSN_CLASS_I,  "O4,F3,F2,d,S,T,r",   0,    0,  match_opcode, 0 },
+{"r",       0, INSN_CLASS_I,  "O4,F3,F2,D,S,T,r",   0,    0,  match_opcode, 0 },
+{"r",       0, INSN_CLASS_I,  "O4,F3,F2,d,s,t,R",   0,    0,  match_opcode, 0 },
+{"r",       0, INSN_CLASS_I,  "O4,F3,F2,D,s,t,R",   0,    0,  match_opcode, 0 },
+{"r",       0, INSN_CLASS_I,  "O4,F3,F2,d,S,t,R",   0,    0,  match_opcode, 0 },
+{"r",       0, INSN_CLASS_I,  "O4,F3,F2,D,S,t,R",   0,    0,  match_opcode, 0 },
+{"r",       0, INSN_CLASS_I,  "O4,F3,F2,d,s,T,R",   0,    0,  match_opcode, 0 },
+{"r",       0, INSN_CLASS_I,  "O4,F3,F2,D,s,T,R",   0,    0,  match_opcode, 0 },
+{"r",       0, INSN_CLASS_I,  "O4,F3,F2,d,S,T,R",   0,    0,  match_opcode, 0 },
+{"r",       0, INSN_CLASS_I,  "O4,F3,F2,D,S,T,R",   0,    0,  match_opcode, 0 },
+
+{"r4",      0, INSN_CLASS_I,  "O4,F3,F2,d,s,t,r",   0,    0,  match_opcode, 0 },
+{"r4",      0, INSN_CLASS_I,  "O4,F3,F2,D,s,t,r",   0,    0,  match_opcode, 0 },
+{"r4",      0, INSN_CLASS_I,  "O4,F3,F2,d,S,t,r",   0,    0,  match_opcode, 0 },
+{"r4",      0, INSN_CLASS_I,  "O4,F3,F2,D,S,t,r",   0,    0,  match_opcode, 0 },
+{"r4",      0, INSN_CLASS_I,  "O4,F3,F2,d,s,T,r",   0,    0,  match_opcode, 0 },
+{"r4",      0, INSN_CLASS_I,  "O4,F3,F2,D,s,T,r",   0,    0,  match_opcode, 0 },
+{"r4",      0, INSN_CLASS_I,  "O4,F3,F2,d,S,T,r",   0,    0,  match_opcode, 0 },
+{"r4",      0, INSN_CLASS_I,  "O4,F3,F2,D,S,T,r",   0,    0,  match_opcode, 0 },
+{"r4",      0, INSN_CLASS_I,  "O4,F3,F2,d,s,t,R",   0,    0,  match_opcode, 0 },
+{"r4",      0, INSN_CLASS_I,  "O4,F3,F2,D,s,t,R",   0,    0,  match_opcode, 0 },
+{"r4",      0, INSN_CLASS_I,  "O4,F3,F2,d,S,t,R",   0,    0,  match_opcode, 0 },
+{"r4",      0, INSN_CLASS_I,  "O4,F3,F2,D,S,t,R",   0,    0,  match_opcode, 0 },
+{"r4",      0, INSN_CLASS_I,  "O4,F3,F2,d,s,T,R",   0,    0,  match_opcode, 0 },
+{"r4",      0, INSN_CLASS_I,  "O4,F3,F2,D,s,T,R",   0,    0,  match_opcode, 0 },
+{"r4",      0, INSN_CLASS_I,  "O4,F3,F2,d,S,T,R",   0,    0,  match_opcode, 0 },
+{"r4",      0, INSN_CLASS_I,  "O4,F3,F2,D,S,T,R",   0,    0,  match_opcode, 0 },
+
+{"i",       0, INSN_CLASS_I,  "O4,F3,d,s,j",        0,    0,  match_opcode, 0 },
+{"i",       0, INSN_CLASS_I,  "O4,F3,D,s,j",        0,    0,  match_opcode, 0 },
+{"i",       0, INSN_CLASS_I,  "O4,F3,d,S,j",        0,    0,  match_opcode, 0 },
+{"i",       0, INSN_CLASS_I,  "O4,F3,D,S,j",        0,    0,  match_opcode, 0 },
+
+{"i",       0, INSN_CLASS_I,  "O4,F3,d,o(s)",       0,    0,  match_opcode, 0 },
+{"i",       0, INSN_CLASS_I,  "O4,F3,D,o(s)",       0,    0,  match_opcode, 0 },
+
+{"s",       0, INSN_CLASS_I,  "O4,F3,t,q(s)",       0,    0,  match_opcode, 0 },
+{"s",       0, INSN_CLASS_I,  "O4,F3,T,q(s)",       0,    0,  match_opcode, 0 },
+
+{"sb",      0, INSN_CLASS_I,  "O4,F3,s,t,p",        0,    0,  match_opcode, 0 },
+{"sb",      0, INSN_CLASS_I,  "O4,F3,S,t,p",        0,    0,  match_opcode, 0 },
+{"sb",      0, INSN_CLASS_I,  "O4,F3,s,T,p",        0,    0,  match_opcode, 0 },
+{"sb",      0, INSN_CLASS_I,  "O4,F3,S,T,p",        0,    0,  match_opcode, 0 },
+
+{"b",      0, INSN_CLASS_I,  "O4,F3,s,t,p",        0,    0,  match_opcode, 0 },
+{"b",      0, INSN_CLASS_I,  "O4,F3,S,t,p",        0,    0,  match_opcode, 0 },
+{"b",      0, INSN_CLASS_I,  "O4,F3,s,T,p",        0,    0,  match_opcode, 0 },
+{"b",      0, INSN_CLASS_I,  "O4,F3,S,T,p",        0,    0,  match_opcode, 0 },
+
+{"u",       0, INSN_CLASS_I,  "O4,d,u",             0,    0,  match_opcode, 0 },
+{"u",       0, INSN_CLASS_I,  "O4,D,u",             0,    0,  match_opcode, 0 },
+
+{"uj",      0, INSN_CLASS_I,  "O4,d,a",             0,    0,  match_opcode, 0 },
+{"uj",      0, INSN_CLASS_I,  "O4,D,a",             0,    0,  match_opcode, 0 },
+
+{"j",      0, INSN_CLASS_I,  "O4,d,a",             0,    0,  match_opcode, 0 },
+{"j",      0, INSN_CLASS_I,  "O4,D,a",             0,    0,  match_opcode, 0 },
+
+{"cr",      0, INSN_CLASS_C,  "O2,CF4,d,CV",        0,    0,  match_opcode, 0 },
+{"cr",      0, INSN_CLASS_C,  "O2,CF4,D,CV",        0,    0,  match_opcode, 0 },
+{"cr",      0, INSN_CLASS_C,  "O2,CF4,d,CT",        0,    0,  match_opcode, 0 },
+{"cr",      0, INSN_CLASS_C,  "O2,CF4,D,CT",        0,    0,  match_opcode, 0 },
+
+{"ci",      0, INSN_CLASS_C,  "O2,CF3,d,Co",        0,    0,  match_opcode, 0 },
+{"ci",      0, INSN_CLASS_C,  "O2,CF3,D,Co",        0,    0,  match_opcode, 0 },
+
+{"ciw",     0, INSN_CLASS_C,  "O2,CF3,Ct,C8",       0,    0,  match_opcode, 0 },
+{"ciw",     0, INSN_CLASS_C,  "O2,CF3,CD,C8",       0,    0,  match_opcode, 0 },
+
+{"ca",      0, INSN_CLASS_C,  "O2,CF6,CF2,Cs,Ct",   0,    0,  match_opcode, 0 },
+{"ca",      0, INSN_CLASS_C,  "O2,CF6,CF2,CS,Ct",   0,    0,  match_opcode, 0 },
+{"ca",      0, INSN_CLASS_C,  "O2,CF6,CF2,Cs,CD",   0,    0,  match_opcode, 0 },
+{"ca",      0, INSN_CLASS_C,  "O2,CF6,CF2,CS,CD",   0,    0,  match_opcode, 0 },
 
-{"cb",      0, {"C", 0},  "O2,CF3,Cs,Cp",       0,    0,  match_opcode, 0 },
-{"cb",      0, {"C", 0},  "O2,CF3,CS,Cp",       0,    0,  match_opcode, 0 },
+{"cb",      0, INSN_CLASS_C,  "O2,CF3,Cs,Cp",       0,    0,  match_opcode, 0 },
+{"cb",      0, INSN_CLASS_C,  "O2,CF3,CS,Cp",       0,    0,  match_opcode, 0 },
 
-{"cj",      0, {"C", 0},  "O2,CF3,Ca",          0,    0,  match_opcode, 0 },
+{"cj",      0, INSN_CLASS_C,  "O2,CF3,Ca",          0,    0,  match_opcode, 0 },
 /* Terminate the list.  */
-{0, 0, {0}, 0, 0, 0, 0, 0}
+{0, 0, INSN_CLASS_NONE, 0, 0, 0, 0, 0}
 };
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/readline/ChangeLog.gdb ./readline/ChangeLog.gdb
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/readline/ChangeLog.gdb	2019-09-17 01:49:44.000000000 +0000
+++ ./readline/ChangeLog.gdb	2019-09-24 01:49:14.000000000 +0000
@@ -1,3 +1,9 @@
+2019-09-23  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	PR cli/24980
+	* display.c (init_line_structures): Initialise line_state using
+	original minsize value.
+
 2019-08-13  Christian Biesinger  <cbiesinger@google.com>
 
 	* colors.c (_rl_print_color_indicator): Remove unnecessary
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/readline/display.c ./readline/display.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/readline/display.c	2019-09-17 01:49:44.000000000 +0000
+++ ./readline/display.c	2019-09-24 01:49:14.000000000 +0000
@@ -602,6 +602,7 @@ static void
 init_line_structures (int minsize)
 {
   register int n;
+  int original_minsize = minsize;
 
   if (minsize <= _rl_screenwidth)	/* XXX - for gdb */
     minsize = _rl_screenwidth + 1;
@@ -622,7 +623,7 @@ init_line_structures (int minsize)
       invisible_line = (char *)xrealloc (invisible_line, line_size);
     }
 
-  for (n = minsize; n < line_size; n++)
+  for (n = original_minsize; n < line_size; n++)
     {
       visible_line[n] = 0;
       invisible_line[n] = 1;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/ChangeLog ./sim/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/ChangeLog	2019-09-17 01:49:44.000000000 +0000
+++ ./sim/ChangeLog	2019-09-24 01:49:14.000000000 +0000
@@ -1,3 +1,21 @@
+2019-09-23  Dimitar Dimitrov  <dimitar@dinux.eu>
+
+	* MAINTAINERS: Add myself as PRU maintainer.
+	* configure: Regenerated.
+	* configure.tgt: Add PRU.
+
+2019-09-20  Alan Modra  <amodra@gmail.com>
+
+	* ppc/emul_generic.c (emul_add_tree_options): Delete old bfd code.
+
+2019-09-18  Alan Modra  <amodra@gmail.com>
+
+	* common/sim-load.c, * common/sim-utils.c, * cris/sim-if.c,
+	* erc32/func.c, * lm32/sim-if.c, * m32c/load.c, * m32c/trace.c,
+	* m68hc11/interp.c, * ppc/hw_htab.c, * ppc/hw_init.c,
+	* rl78/load.c, * rl78/trace.c, * rx/gdb-if.c, * rx/load.c,
+	* rx/trace.c: Update throughout for bfd section macro changes.
+
 2019-06-13  Stafford Horne  <shorne@gmail.com>
 
 	* or1k/cpu.c: Regenerate.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/common/ChangeLog ./sim/common/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/common/ChangeLog	2019-09-17 01:49:44.000000000 +0000
+++ ./sim/common/ChangeLog	2019-09-24 01:49:14.000000000 +0000
@@ -1,3 +1,8 @@
+2019-09-23  Dimitar Dimitrov  <dimitar@dinux.eu>
+
+	* gennltvals.sh: Add PRU libgloss target.
+	* nltvals.def: Regenerate from the latest libgloss sources.
+
 2019-06-13  Stafford Horne  <shorne@gmail.com>
 
 	* cgen-accfp.c (unorderedsf, unordereddf): New functions.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/common/gennltvals.sh ./sim/common/gennltvals.sh
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/common/gennltvals.sh	2019-09-17 01:49:44.000000000 +0000
+++ ./sim/common/gennltvals.sh	2019-09-24 01:49:14.000000000 +0000
@@ -95,3 +95,7 @@ dir=libgloss/v850/sys target=v850
 dir=libgloss target=lm32
 $shell ${srccom}/gentvals.sh $target sys ${newlibroot}/$dir \
 	"syscall.h" 'SYS_[_[:alnum:]]*' "${cpp}"
+
+dir=libgloss target=pru
+$shell ${srccom}/gentvals.sh $target sys ${newlibroot}/$dir \
+	"syscall.h" 'SYS_[_[:alnum:]]*' "${cpp}"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/common/nltvals.def ./sim/common/nltvals.def
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/common/nltvals.def	2019-09-17 01:49:44.000000000 +0000
+++ ./sim/common/nltvals.def	2019-09-24 01:49:14.000000000 +0000
@@ -574,3 +574,34 @@
 /* end lm32 sys target macros */
 #endif
 #endif
+#ifdef NL_TARGET_pru
+#ifdef sys_defs
+/* from syscall.h */
+/* begin pru sys target macros */
+ { "SYS_argc", 22 },
+ { "SYS_argn", 24 },
+ { "SYS_argnlen", 23 },
+ { "SYS_argv", 13 },
+ { "SYS_argvlen", 12 },
+ { "SYS_chdir", 14 },
+ { "SYS_chmod", 16 },
+ { "SYS_close", 3 },
+ { "SYS_exit", 1 },
+ { "SYS_fstat", 10 },
+ { "SYS_getpid", 8 },
+ { "SYS_gettimeofday", 19 },
+ { "SYS_kill", 9 },
+ { "SYS_link", 21 },
+ { "SYS_lseek", 6 },
+ { "SYS_open", 2 },
+ { "SYS_read", 4 },
+ { "SYS_reconfig", 25 },
+ { "SYS_stat", 15 },
+ { "SYS_time", 18 },
+ { "SYS_times", 20 },
+ { "SYS_unlink", 7 },
+ { "SYS_utime", 17 },
+ { "SYS_write", 5 },
+/* end pru sys target macros */
+#endif
+#endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/common/sim-load.c ./sim/common/sim-load.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/common/sim-load.c	2019-09-17 01:49:44.000000000 +0000
+++ ./sim/common/sim-load.c	2019-09-24 01:49:14.000000000 +0000
@@ -101,7 +101,7 @@ sim_load_file (SIM_DESC sd, const char *
 	{
 	  bfd_size_type size;
 
-	  size = bfd_get_section_size (s);
+	  size = bfd_section_size (s);
 	  if (size > 0)
 	    {
 	      unsigned char *buffer;
@@ -119,13 +119,13 @@ sim_load_file (SIM_DESC sd, const char *
 		  return NULL;
 		}
 	      if (lma_p)
-		lma = bfd_section_lma (result_bfd, s);
+		lma = bfd_section_lma (s);
 	      else
-		lma = bfd_section_vma (result_bfd, s);
+		lma = bfd_section_vma (s);
 	      if (verbose_p)
 		{
 		  xprintf (callback, "Loading section %s, size 0x%lx %s ",
-			   bfd_get_section_name (result_bfd, s),
+			   bfd_section_name (s),
 			   (unsigned long) size,
 			   (lma_p ? "lma" : "vma"));
 		  xprintf_bfd_vma (callback, lma);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/common/sim-utils.c ./sim/common/sim-utils.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/common/sim-utils.c	2019-09-17 01:49:44.000000000 +0000
+++ ./sim/common/sim-utils.c	2019-09-24 01:49:14.000000000 +0000
@@ -263,11 +263,11 @@ sim_analyze_program (SIM_DESC sd, const 
   STATE_START_ADDR (sd) = bfd_get_start_address (prog_bfd);
 
   for (s = prog_bfd->sections; s; s = s->next)
-    if (strcmp (bfd_get_section_name (prog_bfd, s), ".text") == 0)
+    if (strcmp (bfd_section_name (s), ".text") == 0)
       {
 	STATE_TEXT_SECTION (sd) = s;
-	STATE_TEXT_START (sd) = bfd_get_section_vma (prog_bfd, s);
-	STATE_TEXT_END (sd) = STATE_TEXT_START (sd) + bfd_section_size (prog_bfd, s);
+	STATE_TEXT_START (sd) = bfd_section_vma (s);
+	STATE_TEXT_END (sd) = STATE_TEXT_START (sd) + bfd_section_size (s);
 	break;
       }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/configure ./sim/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/configure	2019-09-17 01:49:44.000000000 +0000
+++ ./sim/configure	2019-09-24 01:49:14.000000000 +0000
@@ -686,6 +686,7 @@ mn10300
 moxie
 msp430
 or1k
+pru
 rl78
 rx
 sh64
@@ -3838,6 +3839,13 @@ subdirs="$subdirs aarch64"
 
 
        ;;
+   pru*-*-*)
+
+  sim_arch=pru
+  subdirs="$subdirs pru"
+
+
+       ;;
    rl78-*-*)
 
   sim_arch=rl78
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/configure.tgt ./sim/configure.tgt
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/configure.tgt	2019-09-17 01:49:44.000000000 +0000
+++ ./sim/configure.tgt	2019-09-24 01:49:14.000000000 +0000
@@ -79,6 +79,9 @@ case "${target}" in
    or1k-*-* | or1knd-*-*)
        SIM_ARCH(or1k)
        ;;
+   pru*-*-*)
+       SIM_ARCH(pru)
+       ;;
    rl78-*-*)
        SIM_ARCH(rl78)
        ;;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/cris/sim-if.c ./sim/cris/sim-if.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/cris/sim-if.c	2019-09-17 01:49:44.000000000 +0000
+++ ./sim/cris/sim-if.c	2019-09-24 01:49:14.000000000 +0000
@@ -315,17 +315,17 @@ cris_set_section_offset_iterator (bfd *a
   SIM_DESC sd = p->sd;
   int offset = p->offset;
 
-  if ((bfd_get_section_flags (abfd, s) & SEC_ALLOC))
+  if ((bfd_section_flags (s) & SEC_ALLOC))
     {
-      bfd_vma vma = bfd_get_section_vma (abfd, s);
+      bfd_vma vma = bfd_section_vma (s);
       
-      bfd_set_section_vma (abfd, s, vma + offset);
+      bfd_set_section_vma (s, vma + offset);
     }
 
   /* This seems clumsy and inaccurate, but let's stick to doing it the
      same way as sim_analyze_program for consistency.  */
-  if (strcmp (bfd_get_section_name (abfd, s), ".text") == 0)
-    STATE_TEXT_START (sd) = bfd_get_section_vma (abfd, s);
+  if (strcmp (bfd_section_name (s), ".text") == 0)
+    STATE_TEXT_START (sd) = bfd_section_vma (s);
 }
 
 /* Adjust the start-address, LMA and VMA of a SD.  Must be called
@@ -360,10 +360,10 @@ get_progbounds_iterator (bfd *abfd ATTRI
 {
   struct progbounds *pbp = (struct progbounds *) vp;
 
-  if ((bfd_get_section_flags (abfd, s) & SEC_ALLOC))
+  if ((bfd_section_flags (s) & SEC_ALLOC))
     {
-      bfd_size_type sec_size = bfd_get_section_size (s);
-      bfd_size_type sec_start = bfd_get_section_vma (abfd, s);
+      bfd_size_type sec_size = bfd_section_size (s);
+      bfd_size_type sec_start = bfd_section_vma (s);
       bfd_size_type sec_end = sec_start + sec_size;
 
       if (sec_end > pbp->endmem)
@@ -372,7 +372,7 @@ get_progbounds_iterator (bfd *abfd ATTRI
       if (sec_start < pbp->startmem)
 	pbp->startmem = sec_start;
 
-      if ((bfd_get_section_flags (abfd, s) & SEC_LOAD))
+      if ((bfd_section_flags (s) & SEC_LOAD))
 	{
 	  if (sec_end > pbp->end_loadmem)
 	    pbp->end_loadmem = sec_end;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/erc32/func.c ./sim/erc32/func.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/erc32/func.c	2019-09-17 01:49:44.000000000 +0000
+++ ./sim/erc32/func.c	2019-09-24 01:49:14.000000000 +0000
@@ -1051,14 +1051,14 @@ bfd_load (const char *fname)
     if (sis_verbose)
 	printf("loading %s:", fname);
     for (section = pbfd->sections; section; section = section->next) {
-	if (bfd_get_section_flags(pbfd, section) & SEC_ALLOC) {
+	if (bfd_section_flags (section) & SEC_ALLOC) {
 	    bfd_vma         section_address;
 	    unsigned long   section_size;
 	    const char     *section_name;
 
-	    section_name = bfd_get_section_name(pbfd, section);
+	    section_name = bfd_section_name (section);
 
-	    section_address = bfd_get_section_vma(pbfd, section);
+	    section_address = bfd_section_vma (section);
 	    /*
 	     * Adjust sections from a.out files, since they don't carry their
 	     * addresses with.
@@ -1084,14 +1084,14 @@ bfd_load (const char *fname)
 		}
 	    }
 
-	    section_size = bfd_section_size(pbfd, section);
+	    section_size = bfd_section_size (section);
 
 	    if (sis_verbose)
 		printf("\nsection %s at 0x%08lx (0x%lx bytes)",
 		       section_name, section_address, section_size);
 
 	    /* Text, data or lit */
-	    if (bfd_get_section_flags(pbfd, section) & SEC_LOAD) {
+	    if (bfd_section_flags (section) & SEC_LOAD) {
 		file_ptr        fptr;
 
 		fptr = 0;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/lm32/sim-if.c ./sim/lm32/sim-if.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/lm32/sim-if.c	2019-09-17 01:49:44.000000000 +0000
+++ ./sim/lm32/sim-if.c	2019-09-24 01:49:14.000000000 +0000
@@ -50,21 +50,18 @@ find_base (bfd *prog_bfd)
   found = 0;
   for (s = prog_bfd->sections; s; s = s->next)
     {
-      if ((strcmp (bfd_get_section_name (prog_bfd, s), ".boot") == 0)
-	  || (strcmp (bfd_get_section_name (prog_bfd, s), ".text") == 0)
-	  || (strcmp (bfd_get_section_name (prog_bfd, s), ".data") == 0)
-	  || (strcmp (bfd_get_section_name (prog_bfd, s), ".bss") == 0))
+      if ((strcmp (bfd_section_name (s), ".boot") == 0)
+	  || (strcmp (bfd_section_name (s), ".text") == 0)
+	  || (strcmp (bfd_section_name (s), ".data") == 0)
+	  || (strcmp (bfd_section_name (s), ".bss") == 0))
 	{
 	  if (!found)
 	    {
-	      base = bfd_get_section_vma (prog_bfd, s);
+	      base = bfd_section_vma (s);
 	      found = 1;
 	    }
 	  else
-	    base =
-	      bfd_get_section_vma (prog_bfd,
-				   s) < base ? bfd_get_section_vma (prog_bfd,
-								    s) : base;
+	    base = bfd_section_vma (s) < base ? bfd_section_vma (s) : base;
 	}
     }
   return base & ~(0xffffUL);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/m32c/load.c ./sim/m32c/load.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/m32c/load.c	2019-09-17 01:49:44.000000000 +0000
+++ ./sim/m32c/load.c	2019-09-24 01:49:14.000000000 +0000
@@ -74,11 +74,11 @@ m32c_load (bfd * prog)
          remains as a reminder.  */
       if ((s->flags & SEC_ALLOC) && !(s->flags & SEC_READONLY))
 	{
-	  if (strcmp (bfd_get_section_name (prog, s), ".stack"))
+	  if (strcmp (bfd_section_name (s), ".stack"))
 	    {
 	      int secend =
-		bfd_get_section_size (s) + bfd_section_lma (prog, s);
-	      if (heaptop < secend && bfd_section_lma (prog, s) < 0x10000)
+		bfd_section_size (s) + bfd_section_lma (s);
+	      if (heaptop < secend && bfd_section_lma (s) < 0x10000)
 		{
 		  heaptop = heapbottom = secend;
 		}
@@ -91,14 +91,14 @@ m32c_load (bfd * prog)
 	  bfd_size_type size;
 	  bfd_vma base;
 
-	  size = bfd_get_section_size (s);
+	  size = bfd_section_size (s);
 	  if (size <= 0)
 	    continue;
 
-	  base = bfd_section_lma (prog, s);
+	  base = bfd_section_lma (s);
 	  if (verbose)
 	    fprintf (stderr, "[load a=%08x s=%08x %s]\n",
-		     (int) base, (int) size, bfd_get_section_name (prog, s));
+		     (int) base, (int) size, bfd_section_name (s));
 	  buf = (char *) malloc (size);
 	  bfd_get_section_contents (prog, s, buf, 0, size);
 	  mem_put_blk (base, buf, size);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/m32c/trace.c ./sim/m32c/trace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/m32c/trace.c	2019-09-17 01:49:44.000000000 +0000
+++ ./sim/m32c/trace.c	2019-09-24 01:49:14.000000000 +0000
@@ -231,7 +231,7 @@ sim_disasm_one (void)
 	  if (s->flags & SEC_CODE || code_section == 0)
 	    {
 	      code_section = s;
-	      code_base = bfd_section_lma (current_bfd, s);
+	      code_base = bfd_section_lma (s);
 	      break;
 	    }
 	}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/m68hc11/interp.c ./sim/m68hc11/interp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/m68hc11/interp.c	2019-09-17 01:49:44.000000000 +0000
+++ ./sim/m68hc11/interp.c	2019-09-24 01:49:14.000000000 +0000
@@ -344,15 +344,15 @@ sim_prepare_for_program (SIM_DESC sd, bf
             {
               bfd_size_type size;
 
-              size = bfd_get_section_size (s);
+	      size = bfd_section_size (s);
               if (size > 0)
                 {
                   bfd_vma lma;
 
                   if (STATE_LOAD_AT_LMA_P (sd))
-                    lma = bfd_section_lma (abfd, s);
+		    lma = bfd_section_lma (s);
                   else
-                    lma = bfd_section_vma (abfd, s);
+		    lma = bfd_section_vma (s);
 
                   if (lma <= 0xFFFE && lma+size >= 0x10000)
                     cpu->cpu_use_elf_start = 0;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/MAINTAINERS ./sim/MAINTAINERS
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/MAINTAINERS	2019-09-17 01:49:44.000000000 +0000
+++ ./sim/MAINTAINERS	2019-09-24 01:49:14.000000000 +0000
@@ -29,6 +29,7 @@ mips I-IV	Maciej W. Rozycki <macro@linux
 moxie		Anthony Green <green@moxielogic.com>
 msp430		Nick Clifton <nickc@redhat.com>
 or1k		Stafford Horne <shorne@gmail.com>
+pru		Dimitar Dimitrov <dimitar@dinux.eu>
 sh		(global maintainers)
 sh64		Dave Brolley <brolley@redhat.com>
 common		Frank Ch. Eigler <fche@redhat.com>
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/ppc/emul_generic.c ./sim/ppc/emul_generic.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/ppc/emul_generic.c	2019-09-17 01:49:44.000000000 +0000
+++ ./sim/ppc/emul_generic.c	2019-09-24 01:49:14.000000000 +0000
@@ -262,12 +262,7 @@ emul_add_tree_options(device *tree,
   if (tree_find_property(tree, "/options/little-endian?"))
     little_endian = tree_find_boolean_property(tree, "/options/little-endian?");
   else {
-#ifdef bfd_little_endian	/* new bfd */
     little_endian = (image != NULL && bfd_little_endian(image));
-#else
-    little_endian = (image != NULL &&
-		     !image->xvec->byteorder_big_p);
-#endif
     tree_parse(tree, "/options/little-endian? %s",
 	       little_endian ? "true" : "false");
   }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/ppc/hw_htab.c ./sim/ppc/hw_htab.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/ppc/hw_htab.c	2019-09-17 01:49:45.000000000 +0000
+++ ./sim/ppc/hw_htab.c	2019-09-24 01:49:14.000000000 +0000
@@ -391,16 +391,16 @@ htab_sum_binary(bfd *abfd,
 		PTR data)
 {
   htab_binary_sizes *sizes = (htab_binary_sizes*)data;
-  unsigned_word size = bfd_get_section_size (sec);
-  unsigned_word vma = bfd_get_section_vma (abfd, sec);
-  unsigned_word ra = bfd_get_section_lma (abfd, sec);
+  unsigned_word size = bfd_section_size (sec);
+  unsigned_word vma = bfd_section_vma (sec);
+  unsigned_word ra = bfd_section_lma (sec);
 
   /* skip the section if no memory to allocate */
-  if (! (bfd_get_section_flags(abfd, sec) & SEC_ALLOC))
+  if (! (bfd_section_flags (sec) & SEC_ALLOC))
     return;
 
-  if ((bfd_get_section_flags (abfd, sec) & SEC_CODE)
-      || (bfd_get_section_flags (abfd, sec) & SEC_READONLY)) {
+  if ((bfd_section_flags (sec) & SEC_CODE)
+      || (bfd_section_flags (sec) & SEC_READONLY)) {
     if (sizes->text_bound < vma + size)
       sizes->text_bound = ALIGN_PAGE(vma + size);
     if (sizes->text_base > vma)
@@ -408,8 +408,8 @@ htab_sum_binary(bfd *abfd,
     if (sizes->text_ra > ra)
       sizes->text_ra = FLOOR_PAGE(ra);
   }
-  else if ((bfd_get_section_flags (abfd, sec) & SEC_DATA)
-	   || (bfd_get_section_flags (abfd, sec) & SEC_ALLOC)) {
+  else if ((bfd_section_flags (sec) & SEC_DATA)
+	   || (bfd_section_flags (sec) & SEC_ALLOC)) {
     if (sizes->data_bound < vma + size)
       sizes->data_bound = ALIGN_PAGE(vma + size);
     if (sizes->data_base > vma)
@@ -432,41 +432,41 @@ htab_dma_binary(bfd *abfd,
   device *me = sizes->me;
 
   /* skip the section if no memory to allocate */
-  if (! (bfd_get_section_flags(abfd, sec) & SEC_ALLOC))
+  if (! (bfd_section_flags (sec) & SEC_ALLOC))
     return;
 
   /* check/ignore any sections of size zero */
-  section_size = bfd_get_section_size (sec);
+  section_size = bfd_section_size (sec);
   if (section_size == 0)
     return;
 
   /* if nothing to load, ignore this one */
-  if (! (bfd_get_section_flags(abfd, sec) & SEC_LOAD))
+  if (! (bfd_section_flags (sec) & SEC_LOAD))
     return;
 
   /* find where it is to go */
-  section_vma = bfd_get_section_vma(abfd, sec);
+  section_vma = bfd_section_vma (sec);
   section_ra = 0;
-  if ((bfd_get_section_flags (abfd, sec) & SEC_CODE)
-      || (bfd_get_section_flags (abfd, sec) & SEC_READONLY))
+  if ((bfd_section_flags (sec) & SEC_CODE)
+      || (bfd_section_flags (sec) & SEC_READONLY))
     section_ra = (section_vma - sizes->text_base + sizes->text_ra);
-  else if ((bfd_get_section_flags (abfd, sec) & SEC_DATA))
+  else if ((bfd_section_flags (sec) & SEC_DATA))
     section_ra = (section_vma - sizes->data_base + sizes->data_ra);
   else 
     return; /* just ignore it */
 
   DTRACE(htab,
 	 ("load - name=%-7s vma=0x%.8lx size=%6ld ra=0x%.8lx flags=%3lx(%s%s%s%s%s )\n",
-	  bfd_get_section_name(abfd, sec),
+	  bfd_section_name (sec),
 	  (long)section_vma,
 	  (long)section_size,
 	  (long)section_ra,
-	  (long)bfd_get_section_flags(abfd, sec),
-	  bfd_get_section_flags(abfd, sec) & SEC_LOAD ? " LOAD" : "",
-	  bfd_get_section_flags(abfd, sec) & SEC_CODE ? " CODE" : "",
-	  bfd_get_section_flags(abfd, sec) & SEC_DATA ? " DATA" : "",
-	  bfd_get_section_flags(abfd, sec) & SEC_ALLOC ? " ALLOC" : "",
-	  bfd_get_section_flags(abfd, sec) & SEC_READONLY ? " READONLY" : ""
+	  (long)bfd_section_flags (sec),
+	  bfd_section_flags (sec) & SEC_LOAD ? " LOAD" : "",
+	  bfd_section_flags (sec) & SEC_CODE ? " CODE" : "",
+	  bfd_section_flags (sec) & SEC_DATA ? " DATA" : "",
+	  bfd_section_flags (sec) & SEC_ALLOC ? " ALLOC" : "",
+	  bfd_section_flags (sec) & SEC_READONLY ? " READONLY" : ""
 	  ));
 
   /* dma in the sections data */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/ppc/hw_init.c ./sim/ppc/hw_init.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/ppc/hw_init.c	2019-09-17 01:49:45.000000000 +0000
+++ ./sim/ppc/hw_init.c	2019-09-24 01:49:14.000000000 +0000
@@ -324,39 +324,39 @@ update_for_binary_section(bfd *abfd,
   device *me = (device*)obj;
 
   /* skip the section if no memory to allocate */
-  if (! (bfd_get_section_flags(abfd, the_section) & SEC_ALLOC))
+  if (! (bfd_section_flags (the_section) & SEC_ALLOC))
     return;
 
   /* check/ignore any sections of size zero */
-  section_size = bfd_get_section_size (the_section);
+  section_size = bfd_section_size (the_section);
   if (section_size == 0)
     return;
 
   /* find where it is to go */
-  section_vma = bfd_get_section_vma(abfd, the_section);
+  section_vma = bfd_section_vma (the_section);
 
   DTRACE(binary,
 	 ("name=%-7s, vma=0x%.8lx, size=%6ld, flags=%3lx(%s%s%s%s%s )\n",
-	  bfd_get_section_name(abfd, the_section),
+	  bfd_section_name (the_section),
 	  (long)section_vma,
 	  (long)section_size,
-	  (long)bfd_get_section_flags(abfd, the_section),
-	  bfd_get_section_flags(abfd, the_section) & SEC_LOAD ? " LOAD" : "",
-	  bfd_get_section_flags(abfd, the_section) & SEC_CODE ? " CODE" : "",
-	  bfd_get_section_flags(abfd, the_section) & SEC_DATA ? " DATA" : "",
-	  bfd_get_section_flags(abfd, the_section) & SEC_ALLOC ? " ALLOC" : "",
-	  bfd_get_section_flags(abfd, the_section) & SEC_READONLY ? " READONLY" : ""
+	  (long)bfd_section_flags (the_section),
+	  bfd_section_flags (the_section) & SEC_LOAD ? " LOAD" : "",
+	  bfd_section_flags (the_section) & SEC_CODE ? " CODE" : "",
+	  bfd_section_flags (the_section) & SEC_DATA ? " DATA" : "",
+	  bfd_section_flags (the_section) & SEC_ALLOC ? " ALLOC" : "",
+	  bfd_section_flags (the_section) & SEC_READONLY ? " READONLY" : ""
 	  ));
 
   /* If there is an .interp section, it means it needs a shared library interpreter.  */
-  if (strcmp(".interp", bfd_get_section_name(abfd, the_section)) == 0)
+  if (strcmp(".interp", bfd_section_name (the_section)) == 0)
     error("Shared libraries are not yet supported.\n");
 
   /* determine the devices access */
   access = access_read;
-  if (bfd_get_section_flags(abfd, the_section) & SEC_CODE)
+  if (bfd_section_flags (the_section) & SEC_CODE)
     access |= access_exec;
-  if (!(bfd_get_section_flags(abfd, the_section) & SEC_READONLY))
+  if (!(bfd_section_flags (the_section) & SEC_READONLY))
     access |= access_write;
 
   /* if claim specified, allocate region from the memory device */
@@ -386,7 +386,7 @@ update_for_binary_section(bfd *abfd,
 			  me);
 
   /* if a load dma in the required data */
-  if (bfd_get_section_flags(abfd, the_section) & SEC_LOAD) {
+  if (bfd_section_flags (the_section) & SEC_LOAD) {
     void *section_init = zalloc(section_size);
     if (!bfd_get_section_contents(abfd,
 				  the_section,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/pru/aclocal.m4 ./sim/pru/aclocal.m4
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/pru/aclocal.m4	1970-01-01 00:00:00.000000000 +0000
+++ ./sim/pru/aclocal.m4	2019-09-24 01:49:14.000000000 +0000
@@ -0,0 +1,119 @@
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
+
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
+# AM_CONDITIONAL                                            -*- Autoconf -*-
+
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
+if $2; then
+  $1_TRUE=
+  $1_FALSE='#'
+else
+  $1_TRUE='#'
+  $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+  AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Copyright (C) 2003-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot.  For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
+# From Jim Meyering
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_MAINTAINER_MODE([DEFAULT-MODE])
+# ----------------------------------
+# Control maintainer-specific portions of Makefiles.
+# Default is to disable them, unless 'enable' is passed literally.
+# For symmetry, 'disable' may be passed as well.  Anyway, the user
+# can override the default with the --enable/--disable switch.
+AC_DEFUN([AM_MAINTAINER_MODE],
+[m4_case(m4_default([$1], [disable]),
+       [enable], [m4_define([am_maintainer_other], [disable])],
+       [disable], [m4_define([am_maintainer_other], [enable])],
+       [m4_define([am_maintainer_other], [enable])
+        m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+  dnl maintainer-mode's default is 'disable' unless 'enable' is passed
+  AC_ARG_ENABLE([maintainer-mode],
+    [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
+      am_maintainer_other[ make rules and dependencies not useful
+      (and sometimes confusing) to the casual installer])],
+    [USE_MAINTAINER_MODE=$enableval],
+    [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+  AC_MSG_RESULT([$USE_MAINTAINER_MODE])
+  AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
+  MAINT=$MAINTAINER_MODE_TRUE
+  AC_SUBST([MAINT])dnl
+]
+)
+
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# AM_SUBST_NOTMAKE(VARIABLE)
+# --------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/pru/ChangeLog ./sim/pru/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/pru/ChangeLog	1970-01-01 00:00:00.000000000 +0000
+++ ./sim/pru/ChangeLog	2019-09-24 01:49:14.000000000 +0000
@@ -0,0 +1,11 @@
+2019-09-23  Dimitar Dimitrov  <dimitar@dinux.eu>
+
+	* Makefile.in: New file.
+	* aclocal.m4: Regenerated.
+	* config.in: Regenerated.
+	* configure: Regenerated.
+	* configure.ac: New file.
+	* interp.c: New file.
+	* pru.h: New file.
+	* pru.isa: New file.
+	* sim-main.h: New file.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/pru/config.in ./sim/pru/config.in
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/pru/config.in	1970-01-01 00:00:00.000000000 +0000
+++ ./sim/pru/config.in	2019-09-24 01:49:14.000000000 +0000
@@ -0,0 +1,248 @@
+/* config.in.  Generated from configure.ac by autoheader.  */
+
+/* Define if building universal (internal helper macro) */
+#undef AC_APPLE_UNIVERSAL_BUILD
+
+/* Sim debug setting */
+#undef DEBUG
+
+/* Define to 1 if translation of program messages to the user's native
+   language is requested. */
+#undef ENABLE_NLS
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
+/* Define to 1 if you have the <errno.h> header file. */
+#undef HAVE_ERRNO_H
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#undef HAVE_FCNTL_H
+
+/* Define to 1 if you have the <fpu_control.h> header file. */
+#undef HAVE_FPU_CONTROL_H
+
+/* Define to 1 if you have the `ftruncate' function. */
+#undef HAVE_FTRUNCATE
+
+/* Define to 1 if you have the `getrusage' function. */
+#undef HAVE_GETRUSAGE
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the `nsl' library (-lnsl). */
+#undef HAVE_LIBNSL
+
+/* Define to 1 if you have the `socket' library (-lsocket). */
+#undef HAVE_LIBSOCKET
+
+/* Define to 1 if you have the `lstat' function. */
+#undef HAVE_LSTAT
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the `mmap' function. */
+#undef HAVE_MMAP
+
+/* Define to 1 if you have the `munmap' function. */
+#undef HAVE_MUNMAP
+
+/* Define to 1 if you have the `posix_fallocate' function. */
+#undef HAVE_POSIX_FALLOCATE
+
+/* Define to 1 if you have the `sigaction' function. */
+#undef HAVE_SIGACTION
+
+/* Define to 1 if the system has the type `socklen_t'. */
+#undef HAVE_SOCKLEN_T
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if `st_atime' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_ATIME
+
+/* Define to 1 if `st_blksize' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_BLKSIZE
+
+/* Define to 1 if `st_blocks' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_BLOCKS
+
+/* Define to 1 if `st_ctime' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_CTIME
+
+/* Define to 1 if `st_dev' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_DEV
+
+/* Define to 1 if `st_gid' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_GID
+
+/* Define to 1 if `st_ino' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_INO
+
+/* Define to 1 if `st_mode' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_MODE
+
+/* Define to 1 if `st_mtime' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_MTIME
+
+/* Define to 1 if `st_nlink' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_NLINK
+
+/* Define to 1 if `st_rdev' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_RDEV
+
+/* Define to 1 if `st_size' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_SIZE
+
+/* Define to 1 if `st_uid' is a member of `struct stat'. */
+#undef HAVE_STRUCT_STAT_ST_UID
+
+/* Define to 1 if you have the <sys/mman.h> header file. */
+#undef HAVE_SYS_MMAN_H
+
+/* Define to 1 if you have the <sys/resource.h> header file. */
+#undef HAVE_SYS_RESOURCE_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/times.h> header file. */
+#undef HAVE_SYS_TIMES_H
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the `time' function. */
+#undef HAVE_TIME
+
+/* Define to 1 if you have the <time.h> header file. */
+#undef HAVE_TIME_H
+
+/* Define to 1 if you have the `truncate' function. */
+#undef HAVE_TRUNCATE
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
+/* Define to 1 if you have the `__setfpucw' function. */
+#undef HAVE___SETFPUCW
+
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#undef LT_OBJDIR
+
+/* Name of this package. */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Additional package description */
+#undef PKGVERSION
+
+/* Sim profile settings */
+#undef PROFILE
+
+/* Bug reporting address */
+#undef REPORT_BUGS_TO
+
+/* Define as the return type of signal handlers (`int' or `void'). */
+#undef RETSIGTYPE
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* 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
+
+
+/* Sim assert settings */
+#undef WITH_ASSERT
+
+/* Sim debug setting */
+#undef WITH_DEBUG
+
+/* Sim default environment */
+#undef WITH_ENVIRONMENT
+
+/* Sim profile settings */
+#undef WITH_PROFILE
+
+/* How to route I/O */
+#undef WITH_STDIO
+
+/* Sim trace settings */
+#undef WITH_TRACE
+
+/* 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
+# if defined __BIG_ENDIAN__
+#  define WORDS_BIGENDIAN 1
+# endif
+#else
+# ifndef WORDS_BIGENDIAN
+#  undef WORDS_BIGENDIAN
+# endif
+#endif
+
+/* 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
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/pru/configure ./sim/pru/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/pru/configure	1970-01-01 00:00:00.000000000 +0000
+++ ./sim/pru/configure	2019-09-24 01:49:14.000000000 +0000
@@ -0,0 +1,15973 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.69.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
+#
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='print -r --'
+  as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='printf %s\n'
+  as_echo_n='printf %s'
+else
+  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+    as_echo_n='/usr/ucb/echo -n'
+  else
+    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+    as_echo_n_body='eval
+      arg=$1;
+      case $arg in #(
+      *"$as_nl"*)
+	expr "X$arg" : "X\\(.*\\)$as_nl";
+	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+      esac;
+      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+    '
+    export as_echo_n_body
+    as_echo_n='sh -c $as_echo_n_body as_echo'
+  fi
+  export as_echo_body
+  as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+      PATH_SEPARATOR=';'
+  }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" ""	$as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there.  '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
+if test "x$CONFIG_SHELL" = x; then
+  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '\${1+\"\$@\"}'='\"\$@\"'
+  setopt NO_GLOB_SUBST
+else
+  case \`(set -o) 2>/dev/null\` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+"
+  as_required="as_fn_return () { (exit \$1); }
+as_fn_success () { as_fn_return 0; }
+as_fn_failure () { as_fn_return 1; }
+as_fn_ret_success () { return 0; }
+as_fn_ret_failure () { return 1; }
+
+exitcode=0
+as_fn_success || { exitcode=1; echo as_fn_success failed.; }
+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+
+else
+  exitcode=1; echo positional parameters were not saved.
+fi
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
+  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
+test \$(( 1 + 1 )) = 2 || exit 1
+
+  test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
+    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
+    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
+    PATH=/empty FPATH=/empty; export PATH FPATH
+    test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
+      || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1"
+  if (eval "$as_required") 2>/dev/null; then :
+  as_have_required=yes
+else
+  as_have_required=no
+fi
+  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  as_found=:
+  case $as_dir in #(
+	 /*)
+	   for as_base in sh bash ksh sh5; do
+	     # Try only shells that exist, to save several forks.
+	     as_shell=$as_dir/$as_base
+	     if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+		    { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+  CONFIG_SHELL=$as_shell as_have_required=yes
+		   if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+  break 2
+fi
+fi
+	   done;;
+       esac
+  as_found=false
+done
+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+	      { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
+  CONFIG_SHELL=$SHELL as_have_required=yes
+fi; }
+IFS=$as_save_IFS
+
+
+      if test "x$CONFIG_SHELL" != x; then :
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
+fi
+
+    if test x$as_have_required = xno; then :
+  $as_echo "$0: This script requires a shell more modern than all"
+  $as_echo "$0: the shells that I found on your system."
+  if test x${ZSH_VERSION+set} = xset ; then
+    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+  else
+    $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
+$0: including any error possibly output before this
+$0: message. Then install a modern shell, or manually run
+$0: the script under such a shell if you do have one."
+  fi
+  exit 1
+fi
+fi
+fi
+SHELL=${CONFIG_SHELL-/bin/sh}
+export SHELL
+# Unset more variables known to interfere with behavior of common tools.
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
+
+## --------------------- ##
+## M4sh Shell Functions. ##
+## --------------------- ##
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+  { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || eval $as_mkdir_p || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+  eval 'as_fn_append ()
+  {
+    eval $1+=\$2
+  }'
+else
+  as_fn_append ()
+  {
+    eval $1=\$$1\$2
+  }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+  eval 'as_fn_arith ()
+  {
+    as_val=$(( $* ))
+  }'
+else
+  as_fn_arith ()
+  {
+    as_val=`expr "$@" || test $? -eq 1`
+  }
+fi # as_fn_arith
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+  fi
+  $as_echo "$as_me: error: $2" >&2
+  as_fn_exit $as_status
+} # as_fn_error
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+
+  as_lineno_1=$LINENO as_lineno_1a=$LINENO
+  as_lineno_2=$LINENO as_lineno_2a=$LINENO
+  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
+    sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
+      N
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+      t loop
+      s/-\n.*//
+    ' >$as_me.lineno &&
+  chmod +x "$as_me.lineno" ||
+    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
+  # Exit status is that of the last command.
+  exit
+}
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+  case `echo 'xy\c'` in
+  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
+  xy)  ECHO_C='\c';;
+  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
+       ECHO_T='	';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+  if ln -s conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s='ln -s'
+    # ... but there are two gotchas:
+    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+    # In both cases, we have to default to `cp -pR'.
+    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+      as_ln_s='cp -pR'
+  elif ln conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s=ln
+  else
+    as_ln_s='cp -pR'
+  fi
+else
+  as_ln_s='cp -pR'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p='mkdir -p "$as_dir"'
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+
+# Identity of this package.
+PACKAGE_NAME=
+PACKAGE_TARNAME=
+PACKAGE_VERSION=
+PACKAGE_STRING=
+PACKAGE_BUGREPORT=
+PACKAGE_URL=
+
+ac_unique_file="Makefile.in"
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# ifdef HAVE_STDLIB_H
+#  include <stdlib.h>
+# endif
+#endif
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+#  include <memory.h>
+# endif
+# include <string.h>
+#endif
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
+
+ac_subst_vars='LTLIBOBJS
+LIBOBJS
+cgen_breaks
+REPORT_BUGS_TEXI
+REPORT_BUGS_TO
+PKGVERSION
+MAINT
+MAINTAINER_MODE_FALSE
+MAINTAINER_MODE_TRUE
+lt_cv_dlopen_libs
+OTOOL64
+OTOOL
+LIPO
+NMEDIT
+DSYMUTIL
+AWK
+STRIP
+OBJDUMP
+LN_S
+NM
+ac_ct_DUMPBIN
+DUMPBIN
+LD
+FGREP
+SED
+LIBTOOL
+PLUGINS_FALSE
+PLUGINS_TRUE
+zlibinc
+zlibdir
+CATOBJEXT
+GENCAT
+INSTOBJEXT
+DATADIRNAME
+CATALOGS
+POSUB
+GMSGFMT
+XGETTEXT
+INCINTL
+LIBINTL_DEP
+LIBINTL
+USE_NLS
+GMAKE_FALSE
+GMAKE_TRUE
+MAKE
+CCDEPMODE
+DEPDIR
+am__leading_dot
+PACKAGE
+RANLIB
+AR
+HDEFINES
+CC_FOR_BUILD
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+EGREP
+GREP
+CPP
+target_os
+target_vendor
+target_cpu
+target
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
+OBJEXT
+EXEEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
+WERROR_CFLAGS
+WARN_CFLAGS
+sim_reserved_bits
+sim_inline
+sim_hw
+sim_hw_objs
+sim_hw_cflags
+sim_default_model
+sim_scache
+sim_float
+sim_endian
+sim_bitsize
+sim_alignment
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_URL
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
+ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+with_system_zlib
+enable_plugins
+enable_shared
+enable_static
+with_pic
+enable_fast_install
+with_gnu_ld
+enable_libtool_lock
+enable_maintainer_mode
+enable_sim_debug
+enable_sim_stdio
+enable_sim_trace
+enable_sim_profile
+enable_sim_assert
+enable_sim_environment
+enable_sim_inline
+with_pkgversion
+with_bugurl
+enable_sim_endian
+enable_sim_alignment
+enable_werror
+enable_build_warnings
+enable_sim_build_warnings
+'
+      ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CPP'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+  # If the previous option needs an argument, assign it.
+  if test -n "$ac_prev"; then
+    eval $ac_prev=\$ac_option
+    ac_prev=
+    continue
+  fi
+
+  case $ac_option in
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
+  esac
+
+  # Accept the important Cygnus configure options, so we can diagnose typos.
+
+  case $ac_dashdash$ac_option in
+  --)
+    ac_dashdash=yes ;;
+
+  -bindir | --bindir | --bindi | --bind | --bin | --bi)
+    ac_prev=bindir ;;
+  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+    bindir=$ac_optarg ;;
+
+  -build | --build | --buil | --bui | --bu)
+    ac_prev=build_alias ;;
+  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+    build_alias=$ac_optarg ;;
+
+  -cache-file | --cache-file | --cache-fil | --cache-fi \
+  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+    ac_prev=cache_file ;;
+  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+    cache_file=$ac_optarg ;;
+
+  --config-cache | -C)
+    cache_file=config.cache ;;
+
+  -datadir | --datadir | --datadi | --datad)
+    ac_prev=datadir ;;
+  -datadir=* | --datadir=* | --datadi=* | --datad=*)
+    datadir=$ac_optarg ;;
+
+  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+  | --dataroo | --dataro | --datar)
+    ac_prev=datarootdir ;;
+  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+    datarootdir=$ac_optarg ;;
+
+  -disable-* | --disable-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid feature name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"enable_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval enable_$ac_useropt=no ;;
+
+  -docdir | --docdir | --docdi | --doc | --do)
+    ac_prev=docdir ;;
+  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+    docdir=$ac_optarg ;;
+
+  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+    ac_prev=dvidir ;;
+  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+    dvidir=$ac_optarg ;;
+
+  -enable-* | --enable-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid feature name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"enable_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval enable_$ac_useropt=\$ac_optarg ;;
+
+  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+  | --exec | --exe | --ex)
+    ac_prev=exec_prefix ;;
+  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+  | --exec=* | --exe=* | --ex=*)
+    exec_prefix=$ac_optarg ;;
+
+  -gas | --gas | --ga | --g)
+    # Obsolete; use --with-gas.
+    with_gas=yes ;;
+
+  -help | --help | --hel | --he | -h)
+    ac_init_help=long ;;
+  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+    ac_init_help=recursive ;;
+  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+    ac_init_help=short ;;
+
+  -host | --host | --hos | --ho)
+    ac_prev=host_alias ;;
+  -host=* | --host=* | --hos=* | --ho=*)
+    host_alias=$ac_optarg ;;
+
+  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+    ac_prev=htmldir ;;
+  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+  | --ht=*)
+    htmldir=$ac_optarg ;;
+
+  -includedir | --includedir | --includedi | --included | --include \
+  | --includ | --inclu | --incl | --inc)
+    ac_prev=includedir ;;
+  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+  | --includ=* | --inclu=* | --incl=* | --inc=*)
+    includedir=$ac_optarg ;;
+
+  -infodir | --infodir | --infodi | --infod | --info | --inf)
+    ac_prev=infodir ;;
+  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+    infodir=$ac_optarg ;;
+
+  -libdir | --libdir | --libdi | --libd)
+    ac_prev=libdir ;;
+  -libdir=* | --libdir=* | --libdi=* | --libd=*)
+    libdir=$ac_optarg ;;
+
+  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+  | --libexe | --libex | --libe)
+    ac_prev=libexecdir ;;
+  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+  | --libexe=* | --libex=* | --libe=*)
+    libexecdir=$ac_optarg ;;
+
+  -localedir | --localedir | --localedi | --localed | --locale)
+    ac_prev=localedir ;;
+  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+    localedir=$ac_optarg ;;
+
+  -localstatedir | --localstatedir | --localstatedi | --localstated \
+  | --localstate | --localstat | --localsta | --localst | --locals)
+    ac_prev=localstatedir ;;
+  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+    localstatedir=$ac_optarg ;;
+
+  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+    ac_prev=mandir ;;
+  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+    mandir=$ac_optarg ;;
+
+  -nfp | --nfp | --nf)
+    # Obsolete; use --without-fp.
+    with_fp=no ;;
+
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c | -n)
+    no_create=yes ;;
+
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+    no_recursion=yes ;;
+
+  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+  | --oldin | --oldi | --old | --ol | --o)
+    ac_prev=oldincludedir ;;
+  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+    oldincludedir=$ac_optarg ;;
+
+  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+    ac_prev=prefix ;;
+  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+    prefix=$ac_optarg ;;
+
+  -program-prefix | --program-prefix | --program-prefi | --program-pref \
+  | --program-pre | --program-pr | --program-p)
+    ac_prev=program_prefix ;;
+  -program-prefix=* | --program-prefix=* | --program-prefi=* \
+  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+    program_prefix=$ac_optarg ;;
+
+  -program-suffix | --program-suffix | --program-suffi | --program-suff \
+  | --program-suf | --program-su | --program-s)
+    ac_prev=program_suffix ;;
+  -program-suffix=* | --program-suffix=* | --program-suffi=* \
+  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+    program_suffix=$ac_optarg ;;
+
+  -program-transform-name | --program-transform-name \
+  | --program-transform-nam | --program-transform-na \
+  | --program-transform-n | --program-transform- \
+  | --program-transform | --program-transfor \
+  | --program-transfo | --program-transf \
+  | --program-trans | --program-tran \
+  | --progr-tra | --program-tr | --program-t)
+    ac_prev=program_transform_name ;;
+  -program-transform-name=* | --program-transform-name=* \
+  | --program-transform-nam=* | --program-transform-na=* \
+  | --program-transform-n=* | --program-transform-=* \
+  | --program-transform=* | --program-transfor=* \
+  | --program-transfo=* | --program-transf=* \
+  | --program-trans=* | --program-tran=* \
+  | --progr-tra=* | --program-tr=* | --program-t=*)
+    program_transform_name=$ac_optarg ;;
+
+  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+    ac_prev=pdfdir ;;
+  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+    pdfdir=$ac_optarg ;;
+
+  -psdir | --psdir | --psdi | --psd | --ps)
+    ac_prev=psdir ;;
+  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+    psdir=$ac_optarg ;;
+
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil)
+    silent=yes ;;
+
+  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+    ac_prev=sbindir ;;
+  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+  | --sbi=* | --sb=*)
+    sbindir=$ac_optarg ;;
+
+  -sharedstatedir | --sharedstatedir | --sharedstatedi \
+  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+  | --sharedst | --shareds | --shared | --share | --shar \
+  | --sha | --sh)
+    ac_prev=sharedstatedir ;;
+  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+  | --sha=* | --sh=*)
+    sharedstatedir=$ac_optarg ;;
+
+  -site | --site | --sit)
+    ac_prev=site ;;
+  -site=* | --site=* | --sit=*)
+    site=$ac_optarg ;;
+
+  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+    ac_prev=srcdir ;;
+  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+    srcdir=$ac_optarg ;;
+
+  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+  | --syscon | --sysco | --sysc | --sys | --sy)
+    ac_prev=sysconfdir ;;
+  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+    sysconfdir=$ac_optarg ;;
+
+  -target | --target | --targe | --targ | --tar | --ta | --t)
+    ac_prev=target_alias ;;
+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+    target_alias=$ac_optarg ;;
+
+  -v | -verbose | --verbose | --verbos | --verbo | --verb)
+    verbose=yes ;;
+
+  -version | --version | --versio | --versi | --vers | -V)
+    ac_init_version=: ;;
+
+  -with-* | --with-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid package name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"with_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval with_$ac_useropt=\$ac_optarg ;;
+
+  -without-* | --without-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid package name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"with_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval with_$ac_useropt=no ;;
+
+  --x)
+    # Obsolete; use --with-x.
+    with_x=yes ;;
+
+  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+  | --x-incl | --x-inc | --x-in | --x-i)
+    ac_prev=x_includes ;;
+  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+    x_includes=$ac_optarg ;;
+
+  -x-libraries | --x-libraries | --x-librarie | --x-librari \
+  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+    ac_prev=x_libraries ;;
+  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+    x_libraries=$ac_optarg ;;
+
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
+    ;;
+
+  *=*)
+    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+    # Reject names that are not valid shell variable names.
+    case $ac_envvar in #(
+      '' | [0-9]* | *[!_$as_cr_alnum]* )
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
+    esac
+    eval $ac_envvar=\$ac_optarg
+    export $ac_envvar ;;
+
+  *)
+    # FIXME: should be removed in autoconf 3.0.
+    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
+    ;;
+
+  esac
+done
+
+if test -n "$ac_prev"; then
+  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+  as_fn_error $? "missing argument to $ac_option"
+fi
+
+if test -n "$ac_unrecognized_opts"; then
+  case $enable_option_checking in
+    no) ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
+    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+  esac
+fi
+
+# Check all directory arguments for consistency.
+for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
+		datadir sysconfdir sharedstatedir localstatedir includedir \
+		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+		libdir localedir mandir
+do
+  eval ac_val=\$$ac_var
+  # Remove trailing slashes.
+  case $ac_val in
+    */ )
+      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+      eval $ac_var=\$ac_val;;
+  esac
+  # Be sure to have absolute directory names.
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* )  continue;;
+    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+  esac
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+  if test "x$build_alias" = x; then
+    cross_compiling=maybe
+  elif test "x$build_alias" != "x$host_alias"; then
+    cross_compiling=yes
+  fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+  as_fn_error $? "working directory cannot be determined"
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+  as_fn_error $? "pwd does not report name of working directory"
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+  ac_srcdir_defaulted=yes
+  # Try the directory containing this script, then the parent directory.
+  ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_myself" : 'X\(//\)[^/]' \| \
+	 X"$as_myself" : 'X\(//\)$' \| \
+	 X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+  srcdir=$ac_confdir
+  if test ! -r "$srcdir/$ac_unique_file"; then
+    srcdir=..
+  fi
+else
+  ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
+	pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+  srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+  eval ac_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_env_${ac_var}_value=\$${ac_var}
+  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+  # Omit some internal or obsolete options to make the list less imposing.
+  # This message is too long to be a string in the A/UX 3.1 sh.
+  cat <<_ACEOF
+\`configure' configures this package to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE.  See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+  -h, --help              display this help and exit
+      --help=short        display options specific to this package
+      --help=recursive    display the short help of all the included packages
+  -V, --version           display version information and exit
+  -q, --quiet, --silent   do not print \`checking ...' messages
+      --cache-file=FILE   cache test results in FILE [disabled]
+  -C, --config-cache      alias for \`--cache-file=config.cache'
+  -n, --no-create         do not create output files
+      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+                          [$ac_default_prefix]
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+                          [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+  --bindir=DIR            user executables [EPREFIX/bin]
+  --sbindir=DIR           system admin executables [EPREFIX/sbin]
+  --libexecdir=DIR        program executables [EPREFIX/libexec]
+  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
+  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
+  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
+  --libdir=DIR            object code libraries [EPREFIX/lib]
+  --includedir=DIR        C header files [PREFIX/include]
+  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
+  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
+  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
+  --infodir=DIR           info documentation [DATAROOTDIR/info]
+  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
+  --mandir=DIR            man documentation [DATAROOTDIR/man]
+  --docdir=DIR            documentation root [DATAROOTDIR/doc/PACKAGE]
+  --htmldir=DIR           html documentation [DOCDIR]
+  --dvidir=DIR            dvi documentation [DOCDIR]
+  --pdfdir=DIR            pdf documentation [DOCDIR]
+  --psdir=DIR             ps documentation [DOCDIR]
+_ACEOF
+
+  cat <<\_ACEOF
+
+Program names:
+  --program-prefix=PREFIX            prepend PREFIX to installed program names
+  --program-suffix=SUFFIX            append SUFFIX to installed program names
+  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
+
+System types:
+  --build=BUILD     configure for building on BUILD [guessed]
+  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
+  --target=TARGET   configure for building compilers for TARGET [HOST]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+
+  cat <<\_ACEOF
+
+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-plugins        Enable support for plugins
+  --enable-shared[=PKGS]  build shared libraries [default=yes]
+  --enable-static[=PKGS]  build static libraries [default=yes]
+  --enable-fast-install[=PKGS]
+                          optimize for fast installation [default=yes]
+  --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-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-assert     Specify whether to perform random assertions
+  --enable-sim-environment=environment
+                          Specify mixed, user, virtual or operating
+                          environment
+  --enable-sim-inline=inlines
+                          Specify which functions should be inlined
+  --enable-sim-endian=endian
+                          Specify target byte endian orientation
+  --enable-sim-alignment=align
+                          Specify strict, nonstrict or forced alignment of
+                          memory accesses
+  --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
+
+Optional Packages:
+  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+  --with-system-zlib      use installed libz
+  --with-pic              try to use only PIC/non-PIC objects [default=use
+                          both]
+  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
+  --with-pkgversion=PKG   Use PKG in the version string in place of "SIM"
+  --with-bugurl=URL       Direct users to URL to report a bug
+
+Some influential environment variables:
+  CC          C compiler command
+  CFLAGS      C compiler flags
+  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
+              nonstandard directory <lib dir>
+  LIBS        libraries to pass to the linker, e.g. -l<library>
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
+              you have headers in a nonstandard directory <include dir>
+  CPP         C preprocessor
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+Report bugs to the package provider.
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+  # If there are subdirs, report their specific --help.
+  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+    test -d "$ac_dir" ||
+      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+      continue
+    ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+    cd "$ac_dir" || { ac_status=$?; continue; }
+    # Check for guested configure.
+    if test -f "$ac_srcdir/configure.gnu"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+    elif test -f "$ac_srcdir/configure"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure" --help=recursive
+    else
+      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+    fi || ac_status=$?
+    cd "$ac_pwd" || { ac_status=$?; break; }
+  done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+  cat <<\_ACEOF
+configure
+generated by GNU Autoconf 2.69
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+  exit
+fi
+
+## ------------------------ ##
+## Autoconf initialization. ##
+## ------------------------ ##
+
+# ac_fn_c_try_compile LINENO
+# --------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext
+  if { { ac_try="$ac_compile"
+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_compile") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_retval=1
+fi
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_compile
+
+# ac_fn_c_try_cpp LINENO
+# ----------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_cpp ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { { ac_try="$ac_cpp conftest.$ac_ext"
+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_cpp conftest.$ac_ext") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } > conftest.i && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+    ac_retval=1
+fi
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # 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 eval \${$3+:} false; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; 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.i 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 eval \${$3+:} false; 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; ${as_lineno_stack:+:} 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
+# that executables *can* be run.
+ac_fn_c_try_run ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { { ac_try="$ac_link"
+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_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+  { { 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_retval=0
+else
+  $as_echo "$as_me: program exited with status $ac_status" >&5
+       $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_retval=$ac_status
+fi
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # 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 eval \${$3+:} false; 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; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_compile
+
+# ac_fn_c_try_link LINENO
+# -----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_link ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext conftest$ac_exeext
+  if { { ac_try="$ac_link"
+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_link") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+	 test "$cross_compiling" = yes ||
+	 test -x conftest$ac_exeext
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_retval=1
+fi
+  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+  # interfere with the next link command; also delete a directory that is
+  # left behind by Apple's compiler.  We do this before executing the actions.
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_link
+
+# ac_fn_c_check_func LINENO FUNC VAR
+# ----------------------------------
+# Tests whether FUNC exists, setting the cache variable VAR accordingly
+ac_fn_c_check_func ()
+{
+  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 eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $2 innocuous_$2
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $2 (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $2
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $2 ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined __stub_$2 || defined __stub___$2
+choke me
+#endif
+
+int
+main ()
+{
+return $2 ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext 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; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_func
+
+# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES
+# ----------------------------------------------------
+# Tries to find if the field MEMBER exists in type AGGR, after including
+# INCLUDES, setting cache variable VAR accordingly.
+ac_fn_c_check_member ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
+$as_echo_n "checking for $2.$3... " >&6; }
+if eval \${$4+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$5
+int
+main ()
+{
+static $2 ac_aggr;
+if (ac_aggr.$3)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$4=yes"
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$5
+int
+main ()
+{
+static $2 ac_aggr;
+if (sizeof ac_aggr.$3)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$4=yes"
+else
+  eval "$4=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$4
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_member
+
+# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
+# -------------------------------------------
+# Tests whether TYPE exists after having included INCLUDES, setting cache
+# variable VAR accordingly.
+ac_fn_c_check_type ()
+{
+  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 eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  eval "$3=no"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+if (sizeof ($2))
+	 return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+if (sizeof (($2)))
+	    return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+  eval "$3=yes"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+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; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_type
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by $as_me, which was
+generated by GNU Autoconf 2.69.  Invocation command line was
+
+  $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
+
+/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
+/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
+/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    $as_echo "PATH: $as_dir"
+  done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+  for ac_arg
+  do
+    case $ac_arg in
+    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+    | -silent | --silent | --silen | --sile | --sil)
+      continue ;;
+    *\'*)
+      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    case $ac_pass in
+    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
+    2)
+      as_fn_append ac_configure_args1 " '$ac_arg'"
+      if test $ac_must_keep_next = true; then
+	ac_must_keep_next=false # Got value, back to normal.
+      else
+	case $ac_arg in
+	  *=* | --config-cache | -C | -disable-* | --disable-* \
+	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+	  | -with-* | --with-* | -without-* | --without-* | --x)
+	    case "$ac_configure_args0 " in
+	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+	    esac
+	    ;;
+	  -* ) ac_must_keep_next=true ;;
+	esac
+      fi
+      as_fn_append ac_configure_args " '$ac_arg'"
+      ;;
+    esac
+  done
+done
+{ ac_configure_args0=; unset ac_configure_args0;}
+{ ac_configure_args1=; unset ac_configure_args1;}
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log.  We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+  # Save into config.log some information that might help in debugging.
+  {
+    echo
+
+    $as_echo "## ---------------- ##
+## Cache variables. ##
+## ---------------- ##"
+    echo
+    # The following way of writing the cache mishandles newlines in values,
+(
+  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+      *) { eval $ac_var=; unset $ac_var;} ;;
+      esac ;;
+    esac
+  done
+  (set) 2>&1 |
+    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
+      sed -n \
+	"s/'\''/'\''\\\\'\'''\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+      ;; #(
+    *)
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+      ;;
+    esac |
+    sort
+)
+    echo
+
+    $as_echo "## ----------------- ##
+## Output variables. ##
+## ----------------- ##"
+    echo
+    for ac_var in $ac_subst_vars
+    do
+      eval ac_val=\$$ac_var
+      case $ac_val in
+      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+      esac
+      $as_echo "$ac_var='\''$ac_val'\''"
+    done | sort
+    echo
+
+    if test -n "$ac_subst_files"; then
+      $as_echo "## ------------------- ##
+## File substitutions. ##
+## ------------------- ##"
+      echo
+      for ac_var in $ac_subst_files
+      do
+	eval ac_val=\$$ac_var
+	case $ac_val in
+	*\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+	esac
+	$as_echo "$ac_var='\''$ac_val'\''"
+      done | sort
+      echo
+    fi
+
+    if test -s confdefs.h; then
+      $as_echo "## ----------- ##
+## confdefs.h. ##
+## ----------- ##"
+      echo
+      cat confdefs.h
+      echo
+    fi
+    test "$ac_signal" != 0 &&
+      $as_echo "$as_me: caught signal $ac_signal"
+    $as_echo "$as_me: exit $exit_status"
+  } >&5
+  rm -f core *.core core.conftest.* &&
+    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+    exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+$as_echo "/* confdefs.h */" > confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_URL "$PACKAGE_URL"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
+if test -n "$CONFIG_SITE"; then
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
+elif test "x$prefix" != xNONE; then
+  ac_site_file1=$prefix/share/config.site
+  ac_site_file2=$prefix/etc/config.site
+else
+  ac_site_file1=$ac_default_prefix/share/config.site
+  ac_site_file2=$ac_default_prefix/etc/config.site
+fi
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+do
+  test "x$ac_site_file" = xNONE && continue
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+    sed 's/^/| /' "$ac_site_file" >&5
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
+  fi
+done
+
+if test -r "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
+    case $cache_file in
+      [\\/]* | ?:[\\/]* ) . "$cache_file";;
+      *)                      . "./$cache_file";;
+    esac
+  fi
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
+  >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+  eval ac_old_set=\$ac_cv_env_${ac_var}_set
+  eval ac_new_set=\$ac_env_${ac_var}_set
+  eval ac_old_val=\$ac_cv_env_${ac_var}_value
+  eval ac_new_val=\$ac_env_${ac_var}_value
+  case $ac_old_set,$ac_new_set in
+    set,)
+      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,set)
+      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,);;
+    *)
+      if test "x$ac_old_val" != "x$ac_new_val"; then
+	# differences in whitespace do not lead to failure.
+	ac_old_val_w=`echo x $ac_old_val`
+	ac_new_val_w=`echo x $ac_new_val`
+	if test "$ac_old_val_w" != "$ac_new_val_w"; then
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+	  ac_cache_corrupted=:
+	else
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+	  eval $ac_var=\$ac_old_val
+	fi
+	{ $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
+$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
+	{ $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
+$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
+      fi;;
+  esac
+  # Pass precious variables to config.status.
+  if test "$ac_new_set" = set; then
+    case $ac_new_val in
+    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *) ac_arg=$ac_var=$ac_new_val ;;
+    esac
+    case " $ac_configure_args " in
+      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
+      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
+    esac
+  fi
+done
+if $ac_cache_corrupted; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+fi
+## -------------------- ##
+## Main body of script. ##
+## -------------------- ##
+
+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
+
+
+# This file contains common code used by all simulators.
+#
+# SIM_AC_COMMON invokes AC macros used by all simulators and by the common
+# directory.  It is intended to be invoked before any target specific stuff.
+# SIM_AC_OUTPUT is a cover function to AC_OUTPUT to generate the Makefile.
+# It is intended to be invoked last.
+#
+# The simulator's configure.ac should look like:
+#
+# dnl Process this file with autoconf to produce a configure script.
+# AC_PREREQ(2.64)dnl
+# AC_INIT(Makefile.in)
+# sinclude(../common/aclocal.m4)
+#
+# SIM_AC_COMMON
+#
+# ... target specific stuff ...
+#
+# SIM_AC_OUTPUT
+
+# Include global overrides and fixes for Autoconf.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+#
+#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+#                 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+#   Written by Gordon Matzigkeit, 1996
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+
+
+# serial 56 LT_INIT
+
+
+# LT_PREREQ(VERSION)
+# ------------------
+# Complain and exit if this libtool version is less that VERSION.
+
+
+
+# _LT_CHECK_BUILDDIR
+# ------------------
+# Complain if the absolute build directory name contains unusual characters
+
+
+
+# LT_INIT([OPTIONS])
+# ------------------
+# LT_INIT
+
+# Old names:
+# This is what autoupdate's m4 run will expand.  It fires
+# the warning (with _au_warn_XXX), outputs it into the
+# updated configure.ac (with AC_DIAGNOSE), and then outputs
+# the replacement expansion.
+
+
+# This is an auxiliary macro that is also run when
+# autoupdate runs m4.  It simply calls m4_warning, but
+# we need a wrapper so that each warning is emitted only
+# once.  We break the quoting in m4_warning's argument in
+# order to expand this macro's arguments, not AU_DEFUN's.
+
+
+# Finally, this is the expansion that is picked up by
+# autoconf.  It tells the user to run autoupdate, and
+# then outputs the replacement expansion.  We do not care
+# about autoupdate's warning because that contains
+# information on what to do *after* running autoupdate.
+
+# This is what autoupdate's m4 run will expand.  It fires
+# the warning (with _au_warn_XXX), outputs it into the
+# updated configure.ac (with AC_DIAGNOSE), and then outputs
+# the replacement expansion.
+
+
+# This is an auxiliary macro that is also run when
+# autoupdate runs m4.  It simply calls m4_warning, but
+# we need a wrapper so that each warning is emitted only
+# once.  We break the quoting in m4_warning's argument in
+# order to expand this macro's arguments, not AU_DEFUN's.
+
+
+# Finally, this is the expansion that is picked up by
+# autoconf.  It tells the user to run autoupdate, and
+# then outputs the replacement expansion.  We do not care
+# about autoupdate's warning because that contains
+# information on what to do *after* running autoupdate.
+
+
+
+# _LT_CC_BASENAME(CC)
+# -------------------
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+
+
+
+# _LT_FILEUTILS_DEFAULTS
+# ----------------------
+# It is okay to use these file commands and assume they have been set
+# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
+# _LT_FILEUTILS_DEFAULTS
+
+
+# _LT_SETUP
+# ---------
+# _LT_SETUP
+
+
+# _LT_PREPARE_SED_QUOTE_VARS
+# --------------------------
+# Define a few sed substitution that help us do robust quoting.
+
+
+# _LT_PROG_LTMAIN
+# ---------------
+# Note that this code is called both from `configure', and `config.status'
+# now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
+# `config.status' has no value for ac_aux_dir unless we are using Automake,
+# so we pass a copy along to make sure it has a sensible value anyway.
+# _LT_PROG_LTMAIN
+
+
+## ------------------------------------- ##
+## Accumulate code for creating libtool. ##
+## ------------------------------------- ##
+
+# So that we can recreate a full libtool script including additional
+# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
+# in macros and then make a single call at the end using the `libtool'
+# label.
+
+
+# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
+# ----------------------------------------
+# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+
+
+# Initialize.
+
+
+
+# _LT_CONFIG_LIBTOOL([COMMANDS])
+# ------------------------------
+# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+
+
+# Initialize.
+
+
+
+# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
+# -----------------------------------------------------
+
+
+
+# _LT_FORMAT_COMMENT([COMMENT])
+# -----------------------------
+# Add leading comment marks to the start of each line, and a trailing
+# full-stop to the whole comment if one is not present already.
+
+
+
+
+## ------------------------ ##
+## FIXME: Eliminate VARNAME ##
+## ------------------------ ##
+
+
+# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
+# -------------------------------------------------------------------
+# CONFIGNAME is the name given to the value in the libtool script.
+# VARNAME is the (base) name used in the configure script.
+# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
+# VARNAME.  Any other value will be used directly.
+
+
+
+# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
+# --------------------------------------------------------
+
+
+
+# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+
+
+
+# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
+# ---------------------------------------------------------
+
+
+
+# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
+# --------------------------------------------------
+
+
+
+# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+
+
+
+# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+
+
+
+
+# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+
+
+
+
+# _LT_CONFIG_STATUS_DECLARE([VARNAME])
+# ------------------------------------
+# Quote a variable value, and forward it to `config.status' so that its
+# declaration there will have the same value as in `configure'.  VARNAME
+# must have a single quote delimited value for this to work.
+
+
+
+# _LT_CONFIG_STATUS_DECLARATIONS
+# ------------------------------
+# We delimit libtool config variables with single quotes, so when
+# we write them to config.status, we have to be sure to quote all
+# embedded single quotes properly.  In configure, this macro expands
+# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
+#
+#    <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
+
+
+
+# _LT_LIBTOOL_TAGS
+# ----------------
+# Output comment and list of tags supported by the script
+
+
+
+# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
+# -----------------------------------
+# Extract the dictionary values for VARNAME (optionally with TAG) and
+# expand to a commented shell variable setting:
+#
+#    # Some comment about what VAR is for.
+#    visible_name=$lt_internal_name
+
+
+
+# _LT_LIBTOOL_CONFIG_VARS
+# -----------------------
+# Produce commented declarations of non-tagged libtool config variables
+# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
+# script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
+# section) are produced by _LT_LIBTOOL_TAG_VARS.
+
+
+
+# _LT_LIBTOOL_TAG_VARS(TAG)
+# -------------------------
+
+
+
+# _LT_TAGVAR(VARNAME, [TAGNAME])
+# ------------------------------
+
+
+
+# _LT_CONFIG_COMMANDS
+# -------------------
+# Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
+# variables for single and double quote escaping we saved from calls
+# to _LT_DECL, we can put quote escaped variables declarations
+# into `config.status', and then the shell code to quote escape them in
+# for loops in `config.status'.  Finally, any additional code accumulated
+# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
+#_LT_CONFIG_COMMANDS
+
+
+# Initialize.
+
+
+# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
+# ------------------------------------
+# Generate a child script FILE with all initialization necessary to
+# reuse the environment learned by the parent script, and make the
+# file executable.  If COMMENT is supplied, it is inserted after the
+# `#!' sequence but before initialization text begins.  After this
+# macro, additional text can be appended to FILE to form the body of
+# the child script.  The macro ends with non-zero status if the
+# file could not be fully written (such as if the disk is full).
+# _LT_GENERATED_FILE_INIT
+
+# LT_OUTPUT
+# ---------
+# This macro allows early generation of the libtool script (before
+# AC_OUTPUT is called), incase it is used in configure for compilation
+# tests.
+# LT_OUTPUT
+
+
+# _LT_CONFIG(TAG)
+# ---------------
+# If TAG is the built-in tag, create an initial libtool script with a
+# default configuration from the untagged config vars.  Otherwise add code
+# to config.status for appending the configuration named by TAG from the
+# matching tagged config vars.
+# _LT_CONFIG
+
+
+# LT_SUPPORTED_TAG(TAG)
+# ---------------------
+# Trace this macro to discover what tags are supported by the libtool
+# --tag option, using:
+#    autoconf --trace 'LT_SUPPORTED_TAG:$1'
+
+
+
+# C support is built-in for now
+
+
+
+
+# LT_LANG(LANG)
+# -------------
+# Enable libtool support for the given language if not already enabled.
+# LT_LANG
+
+
+# _LT_LANG(LANGNAME)
+# ------------------
+# _LT_LANG
+
+
+# _LT_LANG_DEFAULT_CONFIG
+# -----------------------
+# _LT_LANG_DEFAULT_CONFIG
+
+# Obsolete macros:
+# This is what autoupdate's m4 run will expand.  It fires
+# the warning (with _au_warn_XXX), outputs it into the
+# updated configure.ac (with AC_DIAGNOSE), and then outputs
+# the replacement expansion.
+
+
+# This is an auxiliary macro that is also run when
+# autoupdate runs m4.  It simply calls m4_warning, but
+# we need a wrapper so that each warning is emitted only
+# once.  We break the quoting in m4_warning's argument in
+# order to expand this macro's arguments, not AU_DEFUN's.
+
+
+# Finally, this is the expansion that is picked up by
+# autoconf.  It tells the user to run autoupdate, and
+# then outputs the replacement expansion.  We do not care
+# about autoupdate's warning because that contains
+# information on what to do *after* running autoupdate.
+
+# This is what autoupdate's m4 run will expand.  It fires
+# the warning (with _au_warn_XXX), outputs it into the
+# updated configure.ac (with AC_DIAGNOSE), and then outputs
+# the replacement expansion.
+
+
+# This is an auxiliary macro that is also run when
+# autoupdate runs m4.  It simply calls m4_warning, but
+# we need a wrapper so that each warning is emitted only
+# once.  We break the quoting in m4_warning's argument in
+# order to expand this macro's arguments, not AU_DEFUN's.
+
+
+# Finally, this is the expansion that is picked up by
+# autoconf.  It tells the user to run autoupdate, and
+# then outputs the replacement expansion.  We do not care
+# about autoupdate's warning because that contains
+# information on what to do *after* running autoupdate.
+
+# This is what autoupdate's m4 run will expand.  It fires
+# the warning (with _au_warn_XXX), outputs it into the
+# updated configure.ac (with AC_DIAGNOSE), and then outputs
+# the replacement expansion.
+
+
+# This is an auxiliary macro that is also run when
+# autoupdate runs m4.  It simply calls m4_warning, but
+# we need a wrapper so that each warning is emitted only
+# once.  We break the quoting in m4_warning's argument in
+# order to expand this macro's arguments, not AU_DEFUN's.
+
+
+# Finally, this is the expansion that is picked up by
+# autoconf.  It tells the user to run autoupdate, and
+# then outputs the replacement expansion.  We do not care
+# about autoupdate's warning because that contains
+# information on what to do *after* running autoupdate.
+
+# This is what autoupdate's m4 run will expand.  It fires
+# the warning (with _au_warn_XXX), outputs it into the
+# updated configure.ac (with AC_DIAGNOSE), and then outputs
+# the replacement expansion.
+
+
+# This is an auxiliary macro that is also run when
+# autoupdate runs m4.  It simply calls m4_warning, but
+# we need a wrapper so that each warning is emitted only
+# once.  We break the quoting in m4_warning's argument in
+# order to expand this macro's arguments, not AU_DEFUN's.
+
+
+# Finally, this is the expansion that is picked up by
+# autoconf.  It tells the user to run autoupdate, and
+# then outputs the replacement expansion.  We do not care
+# about autoupdate's warning because that contains
+# information on what to do *after* running autoupdate.
+
+# This is what autoupdate's m4 run will expand.  It fires
+# the warning (with _au_warn_XXX), outputs it into the
+# updated configure.ac (with AC_DIAGNOSE), and then outputs
+# the replacement expansion.
+
+
+# This is an auxiliary macro that is also run when
+# autoupdate runs m4.  It simply calls m4_warning, but
+# we need a wrapper so that each warning is emitted only
+# once.  We break the quoting in m4_warning's argument in
+# order to expand this macro's arguments, not AU_DEFUN's.
+
+
+# Finally, this is the expansion that is picked up by
+# autoconf.  It tells the user to run autoupdate, and
+# then outputs the replacement expansion.  We do not care
+# about autoupdate's warning because that contains
+# information on what to do *after* running autoupdate.
+
+
+
+# _LT_TAG_COMPILER
+# ----------------
+# _LT_TAG_COMPILER
+
+
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+# _LT_COMPILER_BOILERPLATE
+
+
+# _LT_LINKER_BOILERPLATE
+# ----------------------
+# Check for linker boilerplate output or warnings with
+# the simple link test code.
+# _LT_LINKER_BOILERPLATE
+
+# _LT_REQUIRED_DARWIN_CHECKS
+# -------------------------
+
+
+
+# _LT_DARWIN_LINKER_FEATURES
+# --------------------------
+# Checks for linker and compiler features on darwin
+
+
+# _LT_SYS_MODULE_PATH_AIX
+# -----------------------
+# Links a minimal program and checks the executable
+# for the system default hardcoded library path. In most cases,
+# this is /usr/lib:/lib, but when the MPI compilers are used
+# the location of the communication and MPI libs are included too.
+# If we don't find anything, use the default library path according
+# to the aix ld manual.
+# _LT_SYS_MODULE_PATH_AIX
+
+
+# _LT_SHELL_INIT(ARG)
+# -------------------
+# _LT_SHELL_INIT
+
+
+
+# _LT_PROG_ECHO_BACKSLASH
+# -----------------------
+# Find how we can fake an echo command that does not interpret backslash.
+# In particular, with Autoconf 2.60 or later we add some code to the start
+# of the generated configure script which will find a shell with a builtin
+# printf (which we can use as an echo command).
+# _LT_PROG_ECHO_BACKSLASH
+
+
+# _LT_ENABLE_LOCK
+# ---------------
+# _LT_ENABLE_LOCK
+
+
+# _LT_CMD_OLD_ARCHIVE
+# -------------------
+# _LT_CMD_OLD_ARCHIVE
+
+
+# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------------------
+# Check whether the given compiler option works
+# _LT_COMPILER_OPTION
+
+# Old name:
+# This is what autoupdate's m4 run will expand.  It fires
+# the warning (with _au_warn_XXX), outputs it into the
+# updated configure.ac (with AC_DIAGNOSE), and then outputs
+# the replacement expansion.
+
+
+# This is an auxiliary macro that is also run when
+# autoupdate runs m4.  It simply calls m4_warning, but
+# we need a wrapper so that each warning is emitted only
+# once.  We break the quoting in m4_warning's argument in
+# order to expand this macro's arguments, not AU_DEFUN's.
+
+
+# Finally, this is the expansion that is picked up by
+# autoconf.  It tells the user to run autoupdate, and
+# then outputs the replacement expansion.  We do not care
+# about autoupdate's warning because that contains
+# information on what to do *after* running autoupdate.
+
+
+
+# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+#                  [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------
+# Check whether the given linker option works
+# _LT_LINKER_OPTION
+
+# Old name:
+# This is what autoupdate's m4 run will expand.  It fires
+# the warning (with _au_warn_XXX), outputs it into the
+# updated configure.ac (with AC_DIAGNOSE), and then outputs
+# the replacement expansion.
+
+
+# This is an auxiliary macro that is also run when
+# autoupdate runs m4.  It simply calls m4_warning, but
+# we need a wrapper so that each warning is emitted only
+# once.  We break the quoting in m4_warning's argument in
+# order to expand this macro's arguments, not AU_DEFUN's.
+
+
+# Finally, this is the expansion that is picked up by
+# autoconf.  It tells the user to run autoupdate, and
+# then outputs the replacement expansion.  We do not care
+# about autoupdate's warning because that contains
+# information on what to do *after* running autoupdate.
+
+
+
+# LT_CMD_MAX_LEN
+#---------------
+# LT_CMD_MAX_LEN
+
+# Old name:
+# This is what autoupdate's m4 run will expand.  It fires
+# the warning (with _au_warn_XXX), outputs it into the
+# updated configure.ac (with AC_DIAGNOSE), and then outputs
+# the replacement expansion.
+
+
+# This is an auxiliary macro that is also run when
+# autoupdate runs m4.  It simply calls m4_warning, but
+# we need a wrapper so that each warning is emitted only
+# once.  We break the quoting in m4_warning's argument in
+# order to expand this macro's arguments, not AU_DEFUN's.
+
+
+# Finally, this is the expansion that is picked up by
+# autoconf.  It tells the user to run autoupdate, and
+# then outputs the replacement expansion.  We do not care
+# about autoupdate's warning because that contains
+# information on what to do *after* running autoupdate.
+
+
+
+# _LT_HEADER_DLFCN
+# ----------------
+# _LT_HEADER_DLFCN
+
+
+# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+#                      ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ----------------------------------------------------------------
+# _LT_TRY_DLOPEN_SELF
+
+
+# LT_SYS_DLOPEN_SELF
+# ------------------
+# LT_SYS_DLOPEN_SELF
+
+# Old name:
+# This is what autoupdate's m4 run will expand.  It fires
+# the warning (with _au_warn_XXX), outputs it into the
+# updated configure.ac (with AC_DIAGNOSE), and then outputs
+# the replacement expansion.
+
+
+# This is an auxiliary macro that is also run when
+# autoupdate runs m4.  It simply calls m4_warning, but
+# we need a wrapper so that each warning is emitted only
+# once.  We break the quoting in m4_warning's argument in
+# order to expand this macro's arguments, not AU_DEFUN's.
+
+
+# Finally, this is the expansion that is picked up by
+# autoconf.  It tells the user to run autoupdate, and
+# then outputs the replacement expansion.  We do not care
+# about autoupdate's warning because that contains
+# information on what to do *after* running autoupdate.
+
+
+
+# _LT_COMPILER_C_O([TAGNAME])
+# ---------------------------
+# Check to see if options -c and -o are simultaneously supported by compiler.
+# This macro does not hard code the compiler like AC_PROG_CC_C_O.
+# _LT_COMPILER_C_O
+
+
+# _LT_COMPILER_FILE_LOCKS([TAGNAME])
+# ----------------------------------
+# Check to see if we can do hard links to lock some files if needed
+# _LT_COMPILER_FILE_LOCKS
+
+
+# _LT_CHECK_OBJDIR
+# ----------------
+# _LT_CHECK_OBJDIR
+
+
+# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
+# --------------------------------------
+# Check hardcoding attributes.
+# _LT_LINKER_HARDCODE_LIBPATH
+
+
+# _LT_CMD_STRIPLIB
+# ----------------
+# _LT_CMD_STRIPLIB
+
+
+# _LT_SYS_DYNAMIC_LINKER([TAG])
+# -----------------------------
+# PORTME Fill in your ld.so characteristics
+# _LT_SYS_DYNAMIC_LINKER
+
+
+# _LT_PATH_TOOL_PREFIX(TOOL)
+# --------------------------
+# find a file program which can recognize shared library
+# _LT_PATH_TOOL_PREFIX
+
+# Old name:
+# This is what autoupdate's m4 run will expand.  It fires
+# the warning (with _au_warn_XXX), outputs it into the
+# updated configure.ac (with AC_DIAGNOSE), and then outputs
+# the replacement expansion.
+
+
+# This is an auxiliary macro that is also run when
+# autoupdate runs m4.  It simply calls m4_warning, but
+# we need a wrapper so that each warning is emitted only
+# once.  We break the quoting in m4_warning's argument in
+# order to expand this macro's arguments, not AU_DEFUN's.
+
+
+# Finally, this is the expansion that is picked up by
+# autoconf.  It tells the user to run autoupdate, and
+# then outputs the replacement expansion.  We do not care
+# about autoupdate's warning because that contains
+# information on what to do *after* running autoupdate.
+
+
+
+# _LT_PATH_MAGIC
+# --------------
+# find a file program which can recognize a shared library
+# _LT_PATH_MAGIC
+
+
+# LT_PATH_LD
+# ----------
+# find the pathname to the GNU or non-GNU linker
+# LT_PATH_LD
+
+# Old names:
+# This is what autoupdate's m4 run will expand.  It fires
+# the warning (with _au_warn_XXX), outputs it into the
+# updated configure.ac (with AC_DIAGNOSE), and then outputs
+# the replacement expansion.
+
+
+# This is an auxiliary macro that is also run when
+# autoupdate runs m4.  It simply calls m4_warning, but
+# we need a wrapper so that each warning is emitted only
+# once.  We break the quoting in m4_warning's argument in
+# order to expand this macro's arguments, not AU_DEFUN's.
+
+
+# Finally, this is the expansion that is picked up by
+# autoconf.  It tells the user to run autoupdate, and
+# then outputs the replacement expansion.  We do not care
+# about autoupdate's warning because that contains
+# information on what to do *after* running autoupdate.
+
+# This is what autoupdate's m4 run will expand.  It fires
+# the warning (with _au_warn_XXX), outputs it into the
+# updated configure.ac (with AC_DIAGNOSE), and then outputs
+# the replacement expansion.
+
+
+# This is an auxiliary macro that is also run when
+# autoupdate runs m4.  It simply calls m4_warning, but
+# we need a wrapper so that each warning is emitted only
+# once.  We break the quoting in m4_warning's argument in
+# order to expand this macro's arguments, not AU_DEFUN's.
+
+
+# Finally, this is the expansion that is picked up by
+# autoconf.  It tells the user to run autoupdate, and
+# then outputs the replacement expansion.  We do not care
+# about autoupdate's warning because that contains
+# information on what to do *after* running autoupdate.
+
+
+
+# _LT_PATH_LD_GNU
+#- --------------
+# _LT_PATH_LD_GNU
+
+
+# _LT_CMD_RELOAD
+# --------------
+# find reload flag for linker
+#   -- PORTME Some linkers may need a different reload flag.
+# _LT_CMD_RELOAD
+
+
+# _LT_CHECK_MAGIC_METHOD
+# ----------------------
+# how to check for library dependencies
+#  -- PORTME fill in with the dynamic library characteristics
+# _LT_CHECK_MAGIC_METHOD
+
+
+# LT_PATH_NM
+# ----------
+# find the pathname to a BSD- or MS-compatible name lister
+# LT_PATH_NM
+
+# Old names:
+# This is what autoupdate's m4 run will expand.  It fires
+# the warning (with _au_warn_XXX), outputs it into the
+# updated configure.ac (with AC_DIAGNOSE), and then outputs
+# the replacement expansion.
+
+
+# This is an auxiliary macro that is also run when
+# autoupdate runs m4.  It simply calls m4_warning, but
+# we need a wrapper so that each warning is emitted only
+# once.  We break the quoting in m4_warning's argument in
+# order to expand this macro's arguments, not AU_DEFUN's.
+
+
+# Finally, this is the expansion that is picked up by
+# autoconf.  It tells the user to run autoupdate, and
+# then outputs the replacement expansion.  We do not care
+# about autoupdate's warning because that contains
+# information on what to do *after* running autoupdate.
+
+# This is what autoupdate's m4 run will expand.  It fires
+# the warning (with _au_warn_XXX), outputs it into the
+# updated configure.ac (with AC_DIAGNOSE), and then outputs
+# the replacement expansion.
+
+
+# This is an auxiliary macro that is also run when
+# autoupdate runs m4.  It simply calls m4_warning, but
+# we need a wrapper so that each warning is emitted only
+# once.  We break the quoting in m4_warning's argument in
+# order to expand this macro's arguments, not AU_DEFUN's.
+
+
+# Finally, this is the expansion that is picked up by
+# autoconf.  It tells the user to run autoupdate, and
+# then outputs the replacement expansion.  We do not care
+# about autoupdate's warning because that contains
+# information on what to do *after* running autoupdate.
+
+
+
+# LT_LIB_M
+# --------
+# check for math library
+# LT_LIB_M
+
+# Old name:
+# This is what autoupdate's m4 run will expand.  It fires
+# the warning (with _au_warn_XXX), outputs it into the
+# updated configure.ac (with AC_DIAGNOSE), and then outputs
+# the replacement expansion.
+
+
+# This is an auxiliary macro that is also run when
+# autoupdate runs m4.  It simply calls m4_warning, but
+# we need a wrapper so that each warning is emitted only
+# once.  We break the quoting in m4_warning's argument in
+# order to expand this macro's arguments, not AU_DEFUN's.
+
+
+# Finally, this is the expansion that is picked up by
+# autoconf.  It tells the user to run autoupdate, and
+# then outputs the replacement expansion.  We do not care
+# about autoupdate's warning because that contains
+# information on what to do *after* running autoupdate.
+
+
+
+# _LT_COMPILER_NO_RTTI([TAGNAME])
+# -------------------------------
+# _LT_COMPILER_NO_RTTI
+
+
+# _LT_CMD_GLOBAL_SYMBOLS
+# ----------------------
+ # _LT_CMD_GLOBAL_SYMBOLS
+
+
+# _LT_COMPILER_PIC([TAGNAME])
+# ---------------------------
+# _LT_COMPILER_PIC
+
+
+# _LT_LINKER_SHLIBS([TAGNAME])
+# ----------------------------
+# See if the linker supports building shared libraries.
+# _LT_LINKER_SHLIBS
+
+
+# _LT_LANG_C_CONFIG([TAG])
+# ------------------------
+# Ensure that the configuration variables for a C compiler are suitably
+# defined.  These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to `libtool'.
+# _LT_LANG_C_CONFIG
+
+
+# _LT_LANG_CXX_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a C++ compiler are suitably
+# defined.  These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to `libtool'.
+# _LT_LANG_CXX_CONFIG
+
+
+# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
+# ---------------------------------
+# Figure out "hidden" library dependencies from verbose
+# compiler output when linking a shared library.
+# Parse the compiler output and extract the necessary
+# objects, libraries and library flags.
+# _LT_SYS_HIDDEN_LIBDEPS
+
+
+# _LT_LANG_F77_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a Fortran 77 compiler are
+# suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+# _LT_LANG_F77_CONFIG
+
+
+# _LT_LANG_FC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for a Fortran compiler are
+# suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+# _LT_LANG_FC_CONFIG
+
+
+# _LT_LANG_GCJ_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Java Compiler compiler
+# are suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+# _LT_LANG_GCJ_CONFIG
+
+
+# _LT_LANG_RC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for the Windows resource compiler
+# are suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+# _LT_LANG_RC_CONFIG
+
+
+# LT_PROG_GCJ
+# -----------
+
+
+# Old name:
+# This is what autoupdate's m4 run will expand.  It fires
+# the warning (with _au_warn_XXX), outputs it into the
+# updated configure.ac (with AC_DIAGNOSE), and then outputs
+# the replacement expansion.
+
+
+# This is an auxiliary macro that is also run when
+# autoupdate runs m4.  It simply calls m4_warning, but
+# we need a wrapper so that each warning is emitted only
+# once.  We break the quoting in m4_warning's argument in
+# order to expand this macro's arguments, not AU_DEFUN's.
+
+
+# Finally, this is the expansion that is picked up by
+# autoconf.  It tells the user to run autoupdate, and
+# then outputs the replacement expansion.  We do not care
+# about autoupdate's warning because that contains
+# information on what to do *after* running autoupdate.
+
+
+
+# LT_PROG_RC
+# ----------
+
+
+# Old name:
+# This is what autoupdate's m4 run will expand.  It fires
+# the warning (with _au_warn_XXX), outputs it into the
+# updated configure.ac (with AC_DIAGNOSE), and then outputs
+# the replacement expansion.
+
+
+# This is an auxiliary macro that is also run when
+# autoupdate runs m4.  It simply calls m4_warning, but
+# we need a wrapper so that each warning is emitted only
+# once.  We break the quoting in m4_warning's argument in
+# order to expand this macro's arguments, not AU_DEFUN's.
+
+
+# Finally, this is the expansion that is picked up by
+# autoconf.  It tells the user to run autoupdate, and
+# then outputs the replacement expansion.  We do not care
+# about autoupdate's warning because that contains
+# information on what to do *after* running autoupdate.
+
+
+
+# _LT_DECL_EGREP
+# --------------
+# If we don't have a new enough Autoconf to choose the best grep
+# available, choose the one first in the user's PATH.
+
+
+
+# _LT_DECL_OBJDUMP
+# --------------
+# If we don't have a new enough Autoconf to choose the best objdump
+# available, choose the one first in the user's PATH.
+
+
+
+# _LT_DECL_SED
+# ------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible.  Prefer GNU sed if found.
+# _LT_DECL_SED
+
+#m4_ifndef
+
+# Old name:
+# This is what autoupdate's m4 run will expand.  It fires
+# the warning (with _au_warn_XXX), outputs it into the
+# updated configure.ac (with AC_DIAGNOSE), and then outputs
+# the replacement expansion.
+
+
+# This is an auxiliary macro that is also run when
+# autoupdate runs m4.  It simply calls m4_warning, but
+# we need a wrapper so that each warning is emitted only
+# once.  We break the quoting in m4_warning's argument in
+# order to expand this macro's arguments, not AU_DEFUN's.
+
+
+# Finally, this is the expansion that is picked up by
+# autoconf.  It tells the user to run autoupdate, and
+# then outputs the replacement expansion.  We do not care
+# about autoupdate's warning because that contains
+# information on what to do *after* running autoupdate.
+
+
+
+# _LT_CHECK_SHELL_FEATURES
+# ------------------------
+# Find out whether the shell is Bourne or XSI compatible,
+# or has some other useful features.
+# _LT_CHECK_SHELL_FEATURES
+
+
+# _LT_PROG_XSI_SHELLFNS
+# ---------------------
+# Bourne and XSI compatible variants of some useful shell functions.
+
+
+# Helper functions for option handling.                    -*- Autoconf -*-
+#
+#   Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
+#   Inc.
+#   Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 6 ltoptions.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+
+
+
+# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
+# ------------------------------------------
+
+
+
+# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
+# ---------------------------------------
+# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
+# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
+# saved as a flag.
+
+
+
+# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
+# ------------------------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+
+
+
+# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
+# -------------------------------------------------------
+# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
+# are set.
+
+
+
+# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
+# ----------------------------------------
+# OPTION-LIST is a space-separated list of Libtool options associated
+# with MACRO-NAME.  If any OPTION has a matching handler declared with
+# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
+# the unknown option and exit.
+# _LT_SET_OPTIONS
+
+
+## --------------------------------- ##
+## Macros to handle LT_INIT options. ##
+## --------------------------------- ##
+
+# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
+# -----------------------------------------
+
+
+
+# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
+# -----------------------------------------------
+# LT_OPTION_DEFINE
+
+
+# dlopen
+# ------
+
+
+# This is what autoupdate's m4 run will expand.  It fires
+# the warning (with _au_warn_XXX), outputs it into the
+# updated configure.ac (with AC_DIAGNOSE), and then outputs
+# the replacement expansion.
+
+
+# This is an auxiliary macro that is also run when
+# autoupdate runs m4.  It simply calls m4_warning, but
+# we need a wrapper so that each warning is emitted only
+# once.  We break the quoting in m4_warning's argument in
+# order to expand this macro's arguments, not AU_DEFUN's.
+
+
+# Finally, this is the expansion that is picked up by
+# autoconf.  It tells the user to run autoupdate, and
+# then outputs the replacement expansion.  We do not care
+# about autoupdate's warning because that contains
+# information on what to do *after* running autoupdate.
+
+
+
+
+# win32-dll
+# ---------
+# Declare package support for building win32 dll's.
+# win32-dll
+
+# This is what autoupdate's m4 run will expand.  It fires
+# the warning (with _au_warn_XXX), outputs it into the
+# updated configure.ac (with AC_DIAGNOSE), and then outputs
+# the replacement expansion.
+
+
+# This is an auxiliary macro that is also run when
+# autoupdate runs m4.  It simply calls m4_warning, but
+# we need a wrapper so that each warning is emitted only
+# once.  We break the quoting in m4_warning's argument in
+# order to expand this macro's arguments, not AU_DEFUN's.
+
+
+# Finally, this is the expansion that is picked up by
+# autoconf.  It tells the user to run autoupdate, and
+# then outputs the replacement expansion.  We do not care
+# about autoupdate's warning because that contains
+# information on what to do *after* running autoupdate.
+
+
+
+
+# _LT_ENABLE_SHARED([DEFAULT])
+# ----------------------------
+# implement the --enable-shared flag, and supports the `shared' and
+# `disable-shared' LT_INIT options.
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+# _LT_ENABLE_SHARED
+
+
+
+
+# Old names:
+
+
+
+
+# This is what autoupdate's m4 run will expand.  It fires
+# the warning (with _au_warn_XXX), outputs it into the
+# updated configure.ac (with AC_DIAGNOSE), and then outputs
+# the replacement expansion.
+
+
+# This is an auxiliary macro that is also run when
+# autoupdate runs m4.  It simply calls m4_warning, but
+# we need a wrapper so that each warning is emitted only
+# once.  We break the quoting in m4_warning's argument in
+# order to expand this macro's arguments, not AU_DEFUN's.
+
+
+# Finally, this is the expansion that is picked up by
+# autoconf.  It tells the user to run autoupdate, and
+# then outputs the replacement expansion.  We do not care
+# about autoupdate's warning because that contains
+# information on what to do *after* running autoupdate.
+
+# This is what autoupdate's m4 run will expand.  It fires
+# the warning (with _au_warn_XXX), outputs it into the
+# updated configure.ac (with AC_DIAGNOSE), and then outputs
+# the replacement expansion.
+
+
+# This is an auxiliary macro that is also run when
+# autoupdate runs m4.  It simply calls m4_warning, but
+# we need a wrapper so that each warning is emitted only
+# once.  We break the quoting in m4_warning's argument in
+# order to expand this macro's arguments, not AU_DEFUN's.
+
+
+# Finally, this is the expansion that is picked up by
+# autoconf.  It tells the user to run autoupdate, and
+# then outputs the replacement expansion.  We do not care
+# about autoupdate's warning because that contains
+# information on what to do *after* running autoupdate.
+
+
+
+
+
+# _LT_ENABLE_STATIC([DEFAULT])
+# ----------------------------
+# implement the --enable-static flag, and support the `static' and
+# `disable-static' LT_INIT options.
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+# _LT_ENABLE_STATIC
+
+
+
+
+# Old names:
+
+
+
+
+# This is what autoupdate's m4 run will expand.  It fires
+# the warning (with _au_warn_XXX), outputs it into the
+# updated configure.ac (with AC_DIAGNOSE), and then outputs
+# the replacement expansion.
+
+
+# This is an auxiliary macro that is also run when
+# autoupdate runs m4.  It simply calls m4_warning, but
+# we need a wrapper so that each warning is emitted only
+# once.  We break the quoting in m4_warning's argument in
+# order to expand this macro's arguments, not AU_DEFUN's.
+
+
+# Finally, this is the expansion that is picked up by
+# autoconf.  It tells the user to run autoupdate, and
+# then outputs the replacement expansion.  We do not care
+# about autoupdate's warning because that contains
+# information on what to do *after* running autoupdate.
+
+# This is what autoupdate's m4 run will expand.  It fires
+# the warning (with _au_warn_XXX), outputs it into the
+# updated configure.ac (with AC_DIAGNOSE), and then outputs
+# the replacement expansion.
+
+
+# This is an auxiliary macro that is also run when
+# autoupdate runs m4.  It simply calls m4_warning, but
+# we need a wrapper so that each warning is emitted only
+# once.  We break the quoting in m4_warning's argument in
+# order to expand this macro's arguments, not AU_DEFUN's.
+
+
+# Finally, this is the expansion that is picked up by
+# autoconf.  It tells the user to run autoupdate, and
+# then outputs the replacement expansion.  We do not care
+# about autoupdate's warning because that contains
+# information on what to do *after* running autoupdate.
+
+
+
+
+
+# _LT_ENABLE_FAST_INSTALL([DEFAULT])
+# ----------------------------------
+# implement the --enable-fast-install flag, and support the `fast-install'
+# and `disable-fast-install' LT_INIT options.
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+# _LT_ENABLE_FAST_INSTALL
+
+
+
+
+# Old names:
+# This is what autoupdate's m4 run will expand.  It fires
+# the warning (with _au_warn_XXX), outputs it into the
+# updated configure.ac (with AC_DIAGNOSE), and then outputs
+# the replacement expansion.
+
+
+# This is an auxiliary macro that is also run when
+# autoupdate runs m4.  It simply calls m4_warning, but
+# we need a wrapper so that each warning is emitted only
+# once.  We break the quoting in m4_warning's argument in
+# order to expand this macro's arguments, not AU_DEFUN's.
+
+
+# Finally, this is the expansion that is picked up by
+# autoconf.  It tells the user to run autoupdate, and
+# then outputs the replacement expansion.  We do not care
+# about autoupdate's warning because that contains
+# information on what to do *after* running autoupdate.
+
+
+# This is what autoupdate's m4 run will expand.  It fires
+# the warning (with _au_warn_XXX), outputs it into the
+# updated configure.ac (with AC_DIAGNOSE), and then outputs
+# the replacement expansion.
+
+
+# This is an auxiliary macro that is also run when
+# autoupdate runs m4.  It simply calls m4_warning, but
+# we need a wrapper so that each warning is emitted only
+# once.  We break the quoting in m4_warning's argument in
+# order to expand this macro's arguments, not AU_DEFUN's.
+
+
+# Finally, this is the expansion that is picked up by
+# autoconf.  It tells the user to run autoupdate, and
+# then outputs the replacement expansion.  We do not care
+# about autoupdate's warning because that contains
+# information on what to do *after* running autoupdate.
+
+
+
+
+# _LT_WITH_PIC([MODE])
+# --------------------
+# implement the --with-pic flag, and support the `pic-only' and `no-pic'
+# LT_INIT options.
+# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
+# _LT_WITH_PIC
+
+
+
+
+# Old name:
+# This is what autoupdate's m4 run will expand.  It fires
+# the warning (with _au_warn_XXX), outputs it into the
+# updated configure.ac (with AC_DIAGNOSE), and then outputs
+# the replacement expansion.
+
+
+# This is an auxiliary macro that is also run when
+# autoupdate runs m4.  It simply calls m4_warning, but
+# we need a wrapper so that each warning is emitted only
+# once.  We break the quoting in m4_warning's argument in
+# order to expand this macro's arguments, not AU_DEFUN's.
+
+
+# Finally, this is the expansion that is picked up by
+# autoconf.  It tells the user to run autoupdate, and
+# then outputs the replacement expansion.  We do not care
+# about autoupdate's warning because that contains
+# information on what to do *after* running autoupdate.
+
+
+
+## ----------------- ##
+## LTDL_INIT Options ##
+## ----------------- ##
+
+
+
+
+
+
+
+
+
+
+# ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
+#
+# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 6 ltsugar.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+
+
+
+# lt_join(SEP, ARG1, [ARG2...])
+# -----------------------------
+# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
+# associated separator.
+# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
+# versions in m4sugar had bugs.
+
+
+
+
+# lt_car(LIST)
+# lt_cdr(LIST)
+# ------------
+# Manipulate m4 lists.
+# These macros are necessary as long as will still need to support
+# Autoconf-2.59 which quotes differently.
+
+
+
+
+
+# lt_append(MACRO-NAME, STRING, [SEPARATOR])
+# ------------------------------------------
+# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
+# Note that neither SEPARATOR nor STRING are expanded; they are appended
+# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
+# No SEPARATOR is output if MACRO-NAME was previously undefined (different
+# than defined and empty).
+#
+# This macro is needed until we can rely on Autoconf 2.62, since earlier
+# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
+
+
+
+
+# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
+# ----------------------------------------------------------
+# Produce a SEP delimited list of all paired combinations of elements of
+# PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
+# has the form PREFIXmINFIXSUFFIXn.
+# Needed until we can rely on m4_combine added in Autoconf 2.62.
+
+
+
+# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
+# -----------------------------------------------------------------------
+# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
+# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
+
+
+
+# lt_dict_add(DICT, KEY, VALUE)
+# -----------------------------
+
+
+
+# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
+# --------------------------------------------
+
+
+
+# lt_dict_fetch(DICT, KEY, [SUBKEY])
+# ----------------------------------
+
+
+
+# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
+# -----------------------------------------------------------------
+
+
+
+# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
+# --------------------------------------------------------------
+
+
+# ltversion.m4 -- version numbers			-*- Autoconf -*-
+#
+#   Copyright (C) 2004 Free Software Foundation, Inc.
+#   Written by Scott James Remnant, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# Generated from ltversion.in.
+
+# serial 3134 ltversion.m4
+# This file is part of GNU Libtool
+
+
+
+
+
+
+# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
+#
+#   Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
+#   Written by Scott James Remnant, 2004.
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 4 lt~obsolete.m4
+
+# These exist entirely to fool aclocal when bootstrapping libtool.
+#
+# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
+# which have later been changed to m4_define as they aren't part of the
+# exported API, or moved to Autoconf or Automake where they belong.
+#
+# The trouble is, aclocal is a bit thick.  It'll see the old AC_DEFUN
+# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
+# using a macro with the same name in our local m4/libtool.m4 it'll
+# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
+# and doesn't know about Autoconf macros at all.)
+#
+# So we provide this file, which has a silly filename so it's always
+# included after everything else.  This provides aclocal with the
+# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
+# because those macros already exist, or will be overwritten later.
+# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
+#
+# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
+# Yes, that means every name once taken will need to remain here until
+# we give up compatibility with versions before 1.7, at which point
+# we need to keep only those names which we still refer to.
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+##                                                          -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 8
+
+# Based on depend.m4 from automake 1.9, modified for standalone use in
+# an environment where GNU make is required.
+
+# ZW_PROG_COMPILER_DEPENDENCIES
+# -----------------------------
+# Variant of _AM_DEPENDENCIES which just does the dependency probe and
+# sets fooDEPMODE accordingly.  Cache-variable compatible with
+# original; not side-effect compatible.  As the users of this macro
+# may require accurate dependencies for correct builds, it does *not*
+# honor --disable-dependency-checking, and failure to detect a usable
+# method is an error.  depcomp is assumed to be located in
+# $ac_aux_dir.
+#
+# FIXME: Should use the Autoconf 2.5x language-selection mechanism.
+
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+
+
+# ZW_CREATE_DEPDIR
+# ----------------
+# As AM_SET_DEPDIR, but also create the directory at config.status time.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# intl sister-directory configuration rules.
+#
+
+# The idea behind this macro is that there's no need to repeat all the
+# autoconf probes done by the intl directory - it's already done them
+# for us.  In fact, there's no need even to look at the cache for the
+# answers.  All we need to do is nab a few pieces of information.
+# The intl directory is set up to make this easy, by generating a
+# small file which can be sourced as a shell script; then we produce
+# the necessary substitutions and definitions for this directory.
+
+
+
+# Autoconf M4 include file defining utility macros for complex Canadian
+# cross builds.
+
+
+
+
+
+
+
+
+
+####
+# _NCN_TOOL_PREFIXES:  Some stuff that oughtta be done in AC_CANONICAL_SYSTEM
+# or AC_INIT.
+# These demand that AC_CANONICAL_SYSTEM be called beforehand.
+
+####
+# NCN_STRICT_CHECK_TOOLS(variable, progs-to-check-for,[value-if-not-found],[path])
+# Like plain AC_CHECK_TOOLS, but require prefix if build!=host.
+
+
+####
+# NCN_STRICT_CHECK_TARGET_TOOLS(variable, progs-to-check-for,[value-if-not-found],[path])
+# Like CVS Autoconf AC_CHECK_TARGET_TOOLS, but require prefix if build!=target.
+
+
+
+# Backported from Autoconf 2.5x; can go away when and if
+# we switch.  Put the OS path separator in $PATH_SEPARATOR.
+
+
+
+
+
+
+
+
+# ACX_HAVE_GCC_FOR_TARGET
+# Check if the variable GCC_FOR_TARGET really points to a GCC binary.
+
+
+# ACX_CHECK_INSTALLED_TARGET_TOOL(VAR, PROG)
+# Searching for installed target binutils.  We need to take extra care,
+# else we may find the wrong assembler, linker, etc., and lose.
+#
+# First try --with-build-time-tools, if specified.
+#
+# For build != host, we ask the installed GCC for the name of the tool it
+# uses, and accept it if it is an absolute path.  This is because the
+# only good choice for a compiler is the same GCC version that is being
+# installed (or we couldn't make target libraries), and we assume that
+# on the host system we'll have not only the same GCC version, but also
+# the same binutils version.
+#
+# For build == host, search the same directories that the installed
+# compiler will search.  We used to do this for the assembler, linker,
+# and nm only; for simplicity of configuration, however, we extend this
+# criterion to tools (such as ar and ranlib) that are never invoked by
+# the compiler, to avoid mismatches.
+#
+# Also note we have to check MD_EXEC_PREFIX before checking the user's path
+# if build == target.  This makes the most sense only when bootstrapping,
+# but we also do so when build != host.  In this case, we hope that the
+# build and host systems will have similar contents of MD_EXEC_PREFIX.
+#
+# If we do not find a suitable binary, then try the user's path.
+
+
+###
+# AC_PROG_CPP_WERROR
+# Used for autoconf 2.5x to force AC_PREPROC_IFELSE to reject code which
+# triggers warnings from the preprocessor.  Will be in autoconf 2.58.
+# For now, using this also overrides header checks to use only the
+# preprocessor (matches 2.13 behavior; matching 2.58's behavior is a
+# bit harder from here).
+# Eventually autoconf will default to checking headers with the compiler
+# instead, and we'll have to do this differently.
+
+# AC_PROG_CPP_WERROR
+
+# Test for GNAT.
+# We require the gnatbind & gnatmake programs, as well as a compiler driver
+# that understands Ada.  We use the user's CC setting, already found, and
+# possibly add $1 to the command-line parameters.
+#
+# Sets the shell variable have_gnat to yes or no as appropriate, and
+# substitutes GNATBIND and GNATMAKE.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+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
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="${ac_tool_prefix}gcc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="gcc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+else
+  CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+          if test -n "$ac_tool_prefix"; then
+    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="${ac_tool_prefix}cc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  fi
+fi
+if test -z "$CC"; then
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+       ac_prog_rejected=yes
+       continue
+     fi
+    ac_cv_prog_CC="cc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+  # We found a bogon in the path, so make sure we never use it.
+  set dummy $ac_cv_prog_CC
+  shift
+  if test $# != 0; then
+    # We chose a different compiler from the bogus one.
+    # However, it has the same basename, so the bogon will be chosen
+    # first if we set CC to just the basename; use the full file name.
+    shift
+    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+  fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  for ac_prog in cl.exe
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$CC" && break
+  done
+fi
+if test -z "$CC"; then
+  ac_ct_CC=$CC
+  for ac_prog in cl.exe
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_CC" && break
+done
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+fi
+
+fi
+
+
+test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
+
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+  { { ac_try="$ac_compiler $ac_option >&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_compiler $ac_option >&5") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    sed '10a\
+... rest of stderr output deleted ...
+         10q' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+  fi
+  rm -f conftest.er1 conftest.err
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+done
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+
+ac_rmfiles=
+for ac_file in $ac_files
+do
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+  esac
+done
+rm -f $ac_rmfiles
+
+if { { ac_try="$ac_link_default"
+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_link_default") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
+  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile.  We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
+do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
+	;;
+    [ab].out )
+	# We found the default executable, but exeext='' is most
+	# certainly right.
+	break;;
+    *.* )
+	if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+	then :; else
+	   ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	fi
+	# We set ac_cv_exeext here because the later test for it is not
+	# safe: cross compilers may not add the suffix if given an `-o'
+	# argument, so we may need to know it at that point already.
+	# Even if this section looks crufty: it has the advantage of
+	# actually working.
+	break;;
+    * )
+	break;;
+  esac
+done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
+else
+  ac_file=''
+fi
+if test -z "$ac_file"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
+ac_exeext=$ac_cv_exeext
+
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
+$as_echo_n "checking for suffix of executables... " >&6; }
+if { { ac_try="$ac_link"
+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_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
+  # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	  break;;
+    * ) break;;
+  esac
+done
+else
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+rm -f conftest conftest$ac_cv_exeext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+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_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { 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
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
+if ${ac_cv_objext+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { { ac_try="$ac_compile"
+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_compile") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
+  for ac_file in conftest.o conftest.obj conftest.*; do
+  test -f "$ac_file" || continue;
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
+    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+       break;;
+  esac
+done
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+if ${ac_cv_c_compiler_gnu+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_compiler_gnu=yes
+else
+  ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+  GCC=yes
+else
+  GCC=
+fi
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if ${ac_cv_prog_cc_g+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_save_c_werror_flag=$ac_c_werror_flag
+   ac_c_werror_flag=yes
+   ac_cv_prog_cc_g=no
+   CFLAGS="-g"
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_g=yes
+else
+  CFLAGS=""
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+  ac_c_werror_flag=$ac_save_c_werror_flag
+	 CFLAGS="-g"
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+  CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+  if test "$GCC" = yes; then
+    CFLAGS="-g -O2"
+  else
+    CFLAGS="-g"
+  fi
+else
+  if test "$GCC" = yes; then
+    CFLAGS="-O2"
+  else
+    CFLAGS=
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if ${ac_cv_prog_cc_c89+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdarg.h>
+#include <stdio.h>
+struct stat;
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
+   function prototypes and stuff, but not '\xHH' hex character constants.
+   These don't provoke an error unfortunately, instead are silently treated
+   as 'x'.  The following induces an error, until -std is added to get
+   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
+   array size at least.  It's necessary to write '\x00'==0 to get something
+   that's true only with -std.  */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+   inside strings and character constants.  */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+  ;
+  return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+  CC="$ac_save_CC $ac_arg"
+  if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_c89=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+  test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+  x)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+  xno)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+  *)
+    CC="$CC $ac_cv_prog_cc_c89"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c89" != xno; then :
+
+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
+
+ac_aux_dir=
+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
+done
+if test -z "$ac_aux_dir"; then
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
+
+
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if ${ac_cv_build+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if ${ac_cv_host+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "x$host_alias" = x; then
+  ac_cv_host=$ac_cv_build
+else
+  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
+$as_echo_n "checking target system type... " >&6; }
+if ${ac_cv_target+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "x$target_alias" = x; then
+  ac_cv_target=$ac_cv_host
+else
+  ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
+$as_echo "$ac_cv_target" >&6; }
+case $ac_cv_target in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
+esac
+target=$ac_cv_target
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_target
+shift
+target_cpu=$1
+target_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+target_os=$*
+IFS=$ac_save_IFS
+case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
+
+
+# The aliases save the names the user supplied, while $host etc.
+# will get canonicalized.
+test -n "$target_alias" &&
+  test "$program_prefix$program_suffix$program_transform_name" = \
+    NONENONEs,x,x, &&
+  program_prefix=${target_alias}-
+
+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 ${ac_cv_prog_CPP+:} false; 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.i 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.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i 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.i 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.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
+else
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
+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 for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if ${ac_cv_path_GREP+:} false; 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"
+      as_fn_executable_p "$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
+
+      $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
+
+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"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if ${ac_cv_path_EGREP+:} false; 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"
+      as_fn_executable_p "$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
+
+   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 ${ac_cv_header_stdc+:} false; 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 ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_header_stdc=yes
+else
+  ac_cv_header_stdc=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
+
+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*
+
+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 ()
+{
+  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
+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
+
+# 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
+"
+if eval test \"x\$"$as_ac_Header"\" = 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" = xyes; 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 ${ac_cv_safe_to_define___extensions__+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#         define __EXTENSIONS__ 1
+          $ac_includes_default
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  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
+fi
+{ $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
+
+  $as_echo "#define _ALL_SOURCE 1" >>confdefs.h
+
+  $as_echo "#define _GNU_SOURCE 1" >>confdefs.h
+
+  $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
+
+  $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h
+
+
+test "$program_prefix" != NONE &&
+  program_transform_name="s&^&$program_prefix&;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
+# Double any \ or $.
+# By default was `s,x,x', remove it if useless.
+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
+
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
+if test -z "$INSTALL"; then
+if ${ac_cv_path_install+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in #((
+  ./ | .// | /[cC]/* | \
+  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
+  /usr/ucb/* ) ;;
+  *)
+    # OSF1 and SCO ODT 3.0 have their own names for install.
+    # Don't use installbsd from OSF since it installs stuff as root
+    # by default.
+    for ac_prog in ginstall scoinst install; do
+      for ac_exec_ext in '' $ac_executable_extensions; do
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+	  if test $ac_prog = install &&
+	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # AIX install.  It has an incompatible calling convention.
+	    :
+	  elif test $ac_prog = install &&
+	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # program-specific install script used by HP pwplus--don't use.
+	    :
+	  else
+	    rm -rf conftest.one conftest.two conftest.dir
+	    echo one > conftest.one
+	    echo two > conftest.two
+	    mkdir conftest.dir
+	    if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+	      test -s conftest.one && test -s conftest.two &&
+	      test -s conftest.dir/conftest.one &&
+	      test -s conftest.dir/conftest.two
+	    then
+	      ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+	      break 3
+	    fi
+	  fi
+	fi
+      done
+    done
+    ;;
+esac
+
+  done
+IFS=$as_save_IFS
+
+rm -rf conftest.one conftest.two conftest.dir
+
+fi
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL=$ac_cv_path_install
+  else
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the value is a relative name.
+    INSTALL=$ac_install_sh
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+DEPDIR="${am__leading_dot}deps"
+
+case `pwd` in
+  *\ * | *\	*)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
+$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
+esac
+
+
+
+macro_version='2.2.7a'
+macro_revision='1.3134'
+
+
+
+
+
+
+
+
+
+
+
+
+
+ltmain="$ac_aux_dir/ltmain.sh"
+
+# Backslashify metacharacters that are still active within
+# double-quoted strings.
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
+$as_echo_n "checking how to print strings... " >&6; }
+# Test print first, because it will be a builtin if present.
+if test "X`print -r -- -n 2>/dev/null`" = X-n && \
+   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+  ECHO='print -r --'
+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+  ECHO='printf %s\n'
+else
+  # Use this function as a fallback that always works.
+  func_fallback_echo ()
+  {
+    eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+  }
+  ECHO='func_fallback_echo'
+fi
+
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+    $ECHO ""
+}
+
+case "$ECHO" in
+  printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
+$as_echo "printf" >&6; } ;;
+  print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
+$as_echo "print -r" >&6; } ;;
+  *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
+$as_echo "cat" >&6; } ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
+$as_echo_n "checking for a sed that does not truncate output... " >&6; }
+if ${ac_cv_path_SED+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+     for ac_i in 1 2 3 4 5 6 7; do
+       ac_script="$ac_script$as_nl$ac_script"
+     done
+     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+     { ac_script=; unset ac_script;}
+     if test -z "$SED"; then
+  ac_path_SED_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
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in sed gsed; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_SED" || continue
+# Check for GNU ac_path_SED and select it if it is found.
+  # Check for GNU $ac_path_SED
+case `"$ac_path_SED" --version 2>&1` in
+*GNU*)
+  ac_cv_path_SED="$ac_path_SED" ac_path_SED_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 '' >> "conftest.nl"
+    "$ac_path_SED" -f conftest.sed < "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_SED_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_SED="$ac_path_SED"
+      ac_path_SED_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_SED_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_SED"; then
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
+  fi
+else
+  ac_cv_path_SED=$SED
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
+$as_echo "$ac_cv_path_SED" >&6; }
+ SED="$ac_cv_path_SED"
+  rm -f conftest.sed
+
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
+$as_echo_n "checking for fgrep... " >&6; }
+if ${ac_cv_path_FGREP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
+   then ac_cv_path_FGREP="$GREP -F"
+   else
+     if test -z "$FGREP"; then
+  ac_path_FGREP_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 fgrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_FGREP" || continue
+# Check for GNU ac_path_FGREP and select it if it is found.
+  # Check for GNU $ac_path_FGREP
+case `"$ac_path_FGREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_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 'FGREP' >> "conftest.nl"
+    "$ac_path_FGREP" FGREP < "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_FGREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_FGREP="$ac_path_FGREP"
+      ac_path_FGREP_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_FGREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_FGREP"; then
+    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+  fi
+else
+  ac_cv_path_FGREP=$FGREP
+fi
+
+   fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
+$as_echo "$ac_cv_path_FGREP" >&6; }
+ FGREP="$ac_cv_path_FGREP"
+
+
+test -z "$GREP" && GREP=grep
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Check whether --with-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then :
+  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
+else
+  with_gnu_ld=no
+fi
+
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [\\/]* | ?:[\\/]*)
+      re_direlt='/[^/][^/]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
+fi
+if ${lt_cv_path_LD+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$LD"; then
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some variants of GNU ld only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+      *GNU* | *'with BFD'*)
+	test "$with_gnu_ld" != no && break
+	;;
+      *)
+	test "$with_gnu_ld" != yes && break
+	;;
+      esac
+    fi
+  done
+  IFS="$lt_save_ifs"
+else
+  lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
+
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if ${lt_cv_prog_gnu_ld+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  lt_cv_prog_gnu_ld=yes
+  ;;
+*)
+  lt_cv_prog_gnu_ld=no
+  ;;
+esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
+$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
+if ${lt_cv_path_NM+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$NM"; then
+  # Let the user override the test.
+  lt_cv_path_NM="$NM"
+else
+  lt_nm_to_check="${ac_tool_prefix}nm"
+  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+    lt_nm_to_check="$lt_nm_to_check nm"
+  fi
+  for lt_tmp_nm in $lt_nm_to_check; do
+    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+      IFS="$lt_save_ifs"
+      test -z "$ac_dir" && ac_dir=.
+      tmp_nm="$ac_dir/$lt_tmp_nm"
+      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+	# Check to see if the nm accepts a BSD-compat flag.
+	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
+	#   nm: unknown option "B" ignored
+	# Tru64's nm complains that /dev/null is an invalid object file
+	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+	*/dev/null* | *'Invalid file or object type'*)
+	  lt_cv_path_NM="$tmp_nm -B"
+	  break
+	  ;;
+	*)
+	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+	  */dev/null*)
+	    lt_cv_path_NM="$tmp_nm -p"
+	    break
+	    ;;
+	  *)
+	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+	    continue # so that we can try to find one that supports BSD flags
+	    ;;
+	  esac
+	  ;;
+	esac
+      fi
+    done
+    IFS="$lt_save_ifs"
+  done
+  : ${lt_cv_path_NM=no}
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
+$as_echo "$lt_cv_path_NM" >&6; }
+if test "$lt_cv_path_NM" != "no"; then
+  NM="$lt_cv_path_NM"
+else
+  # Didn't find any BSD compatible name lister, look for dumpbin.
+  if test -n "$DUMPBIN"; then :
+    # Let the user override the test.
+  else
+    if test -n "$ac_tool_prefix"; then
+  for ac_prog in dumpbin "link -dump"
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DUMPBIN+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$DUMPBIN"; then
+  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+DUMPBIN=$ac_cv_prog_DUMPBIN
+if test -n "$DUMPBIN"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
+$as_echo "$DUMPBIN" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$DUMPBIN" && break
+  done
+fi
+if test -z "$DUMPBIN"; then
+  ac_ct_DUMPBIN=$DUMPBIN
+  for ac_prog in dumpbin "link -dump"
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_DUMPBIN"; then
+  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
+if test -n "$ac_ct_DUMPBIN"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
+$as_echo "$ac_ct_DUMPBIN" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_DUMPBIN" && break
+done
+
+  if test "x$ac_ct_DUMPBIN" = x; then
+    DUMPBIN=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    DUMPBIN=$ac_ct_DUMPBIN
+  fi
+fi
+
+    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
+    *COFF*)
+      DUMPBIN="$DUMPBIN -symbols"
+      ;;
+    *)
+      DUMPBIN=:
+      ;;
+    esac
+  fi
+
+  if test "$DUMPBIN" != ":"; then
+    NM="$DUMPBIN"
+  fi
+fi
+test -z "$NM" && NM=nm
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
+$as_echo_n "checking the name lister ($NM) interface... " >&6; }
+if ${lt_cv_nm_interface+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_nm_interface="BSD nm"
+  echo "int some_variable = 0;" > conftest.$ac_ext
+  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
+  (eval "$ac_compile" 2>conftest.err)
+  cat conftest.err >&5
+  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+  cat conftest.err >&5
+  (eval echo "\"\$as_me:$LINENO: output\"" >&5)
+  cat conftest.out >&5
+  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+    lt_cv_nm_interface="MS dumpbin"
+  fi
+  rm -f conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
+$as_echo "$lt_cv_nm_interface" >&6; }
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
+$as_echo_n "checking whether ln -s works... " >&6; }
+LN_S=$as_ln_s
+if test "$LN_S" = "ln -s"; 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, using $LN_S" >&5
+$as_echo "no, using $LN_S" >&6; }
+fi
+
+# find the maximum length of command line arguments
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
+$as_echo_n "checking the maximum length of command line arguments... " >&6; }
+if ${lt_cv_sys_max_cmd_len+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+    i=0
+  teststring="ABCD"
+
+  case $build_os in
+  msdosdjgpp*)
+    # On DJGPP, this test can blow up pretty badly due to problems in libc
+    # (any single argument exceeding 2000 bytes causes a buffer overrun
+    # during glob expansion).  Even if it were fixed, the result of this
+    # check would be larger than it should be.
+    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
+    ;;
+
+  gnu*)
+    # Under GNU Hurd, this test is not required because there is
+    # no limit to the length of command line arguments.
+    # Libtool will interpret -1 as no limit whatsoever
+    lt_cv_sys_max_cmd_len=-1;
+    ;;
+
+  cygwin* | mingw* | cegcc*)
+    # On Win9x/ME, this test blows up -- it succeeds, but takes
+    # about 5 minutes as the teststring grows exponentially.
+    # Worse, since 9x/ME are not pre-emptively multitasking,
+    # you end up with a "frozen" computer, even though with patience
+    # the test eventually succeeds (with a max line length of 256k).
+    # Instead, let's just punt: use the minimum linelength reported by
+    # all of the supported platforms: 8192 (on NT/2K/XP).
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  mint*)
+    # On MiNT this can take a long time and run out of memory.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  amigaos*)
+    # On AmigaOS with pdksh, this test takes hours, literally.
+    # So we just punt and use a minimum line length of 8192.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+    # This has been around since 386BSD, at least.  Likely further.
+    if test -x /sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+    elif test -x /usr/sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+    else
+      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
+    fi
+    # And add a safety zone
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    ;;
+
+  interix*)
+    # We know the value 262144 and hardcode it with a safety zone (like BSD)
+    lt_cv_sys_max_cmd_len=196608
+    ;;
+
+  osf*)
+    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+    # nice to cause kernel panics so lets avoid the loop below.
+    # First set a reasonable default.
+    lt_cv_sys_max_cmd_len=16384
+    #
+    if test -x /sbin/sysconfig; then
+      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+        *1*) lt_cv_sys_max_cmd_len=-1 ;;
+      esac
+    fi
+    ;;
+  sco3.2v5*)
+    lt_cv_sys_max_cmd_len=102400
+    ;;
+  sysv5* | sco5v6* | sysv4.2uw2*)
+    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+    if test -n "$kargmax"; then
+      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[	 ]//'`
+    else
+      lt_cv_sys_max_cmd_len=32768
+    fi
+    ;;
+  *)
+    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+    if test -n "$lt_cv_sys_max_cmd_len"; then
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    else
+      # Make teststring a little bigger before we do anything with it.
+      # a 1K string should be a reasonable start.
+      for i in 1 2 3 4 5 6 7 8 ; do
+        teststring=$teststring$teststring
+      done
+      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+      # If test is not a shell built-in, we'll probably end up computing a
+      # maximum length that is only half of the actual maximum length, but
+      # we can't tell.
+      while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
+	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
+	      test $i != 17 # 1/2 MB should be enough
+      do
+        i=`expr $i + 1`
+        teststring=$teststring$teststring
+      done
+      # Only check the string length outside the loop.
+      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+      teststring=
+      # Add a significant safety factor because C++ compilers can tack on
+      # massive amounts of additional arguments before passing them to the
+      # linker.  It appears as though 1/2 is a usable value.
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+    fi
+    ;;
+  esac
+
+fi
+
+if test -n $lt_cv_sys_max_cmd_len ; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
+$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
+$as_echo "none" >&6; }
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+
+
+
+
+
+: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
+$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
+# Try some XSI features
+xsi_shell=no
+( _lt_dummy="a/b/c"
+  test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
+      = c,a/b,, \
+    && eval 'test $(( 1 + 1 )) -eq 2 \
+    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+  && xsi_shell=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
+$as_echo "$xsi_shell" >&6; }
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
+$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
+lt_shell_append=no
+( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
+    >/dev/null 2>&1 \
+  && lt_shell_append=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
+$as_echo "$lt_shell_append" >&6; }
+
+
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  lt_unset=unset
+else
+  lt_unset=false
+fi
+
+
+
+
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+  lt_SP2NL='tr \040 \012'
+  lt_NL2SP='tr \015\012 \040\040'
+  ;;
+ *) # EBCDIC based system
+  lt_SP2NL='tr \100 \n'
+  lt_NL2SP='tr \r\n \100\100'
+  ;;
+esac
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
+$as_echo_n "checking for $LD option to reload object files... " >&6; }
+if ${lt_cv_ld_reload_flag+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_ld_reload_flag='-r'
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
+$as_echo "$lt_cv_ld_reload_flag" >&6; }
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+  darwin*)
+    if test "$GCC" = yes; then
+      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+    else
+      reload_cmds='$LD$reload_flag -o $output$reload_objs'
+    fi
+    ;;
+esac
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
+set dummy ${ac_tool_prefix}objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_OBJDUMP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$OBJDUMP"; then
+  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+OBJDUMP=$ac_cv_prog_OBJDUMP
+if test -n "$OBJDUMP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
+$as_echo "$OBJDUMP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OBJDUMP"; then
+  ac_ct_OBJDUMP=$OBJDUMP
+  # Extract the first word of "objdump", so it can be a program name with args.
+set dummy objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_OBJDUMP"; then
+  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_OBJDUMP="objdump"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
+if test -n "$ac_ct_OBJDUMP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
+$as_echo "$ac_ct_OBJDUMP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_OBJDUMP" = x; then
+    OBJDUMP="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OBJDUMP=$ac_ct_OBJDUMP
+  fi
+else
+  OBJDUMP="$ac_cv_prog_OBJDUMP"
+fi
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
+$as_echo_n "checking how to recognize dependent libraries... " >&6; }
+if ${lt_cv_deplibs_check_method+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[4-9]*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+beos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+bsdi[45]*)
+  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
+  lt_cv_file_magic_cmd='/usr/bin/file -L'
+  lt_cv_file_magic_test_file=/shlib/libc.so
+  ;;
+
+cygwin*)
+  # func_win32_libid is a shell function defined in ltmain.sh
+  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+  lt_cv_file_magic_cmd='func_win32_libid'
+  ;;
+
+mingw* | pw32*)
+  # Base MSYS/MinGW do not provide the 'file' command needed by
+  # func_win32_libid shell function, so use a weaker test based on 'objdump',
+  # unless we find 'file', for example because we are cross-compiling.
+  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
+  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
+    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+    lt_cv_file_magic_cmd='func_win32_libid'
+  else
+    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+    lt_cv_file_magic_cmd='$OBJDUMP -f'
+  fi
+  ;;
+
+cegcc*)
+  # use the weaker test based on 'objdump'. See mingw*.
+  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  ;;
+
+darwin* | rhapsody*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+freebsd* | dragonfly*)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    case $host_cpu in
+    i*86 )
+      # Not sure whether the presence of OpenBSD here was a mistake.
+      # Let's accept both of them until this is cleared up.
+      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
+      lt_cv_file_magic_cmd=/usr/bin/file
+      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+      ;;
+    esac
+  else
+    lt_cv_deplibs_check_method=pass_all
+  fi
+  ;;
+
+gnu*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+haiku*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+hpux10.20* | hpux11*)
+  lt_cv_file_magic_cmd=/usr/bin/file
+  case $host_cpu in
+  ia64*)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
+    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+    ;;
+  hppa*64*)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
+    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+    ;;
+  *)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
+    lt_cv_file_magic_test_file=/usr/lib/libc.sl
+    ;;
+  esac
+  ;;
+
+interix[3-9]*)
+  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $LD in
+  *-32|*"-32 ") libmagic=32-bit;;
+  *-n32|*"-n32 ") libmagic=N32;;
+  *-64|*"-64 ") libmagic=64-bit;;
+  *) libmagic=never-match;;
+  esac
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+netbsd*)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
+  fi
+  ;;
+
+newos6*)
+  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=/usr/lib/libnls.so
+  ;;
+
+*nto* | *qnx*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+openbsd*)
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+  fi
+  ;;
+
+osf3* | osf4* | osf5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+rdos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+solaris*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv4 | sysv4.3*)
+  case $host_vendor in
+  motorola)
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
+    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+    ;;
+  ncr)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  sequent)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
+    ;;
+  sni)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
+    lt_cv_file_magic_test_file=/lib/libc.so
+    ;;
+  siemens)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  pc)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  esac
+  ;;
+
+tpf*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+esac
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
+$as_echo "$lt_cv_deplibs_check_method" >&6; }
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+
+
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$AR"; then
+  ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_AR="${ac_tool_prefix}ar"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_AR"; then
+  ac_ct_AR=$AR
+  # Extract the first word of "ar", so it can be a program name with args.
+set dummy ar; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_AR"; then
+  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_AR="ar"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_AR" = x; then
+    AR="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    AR=$ac_ct_AR
+  fi
+else
+  AR="$ac_cv_prog_AR"
+fi
+
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+
+
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_STRIP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_STRIP="strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_STRIP" = x; then
+    STRIP=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    STRIP=$ac_ct_STRIP
+  fi
+else
+  STRIP="$ac_cv_prog_STRIP"
+fi
+
+test -z "$STRIP" && STRIP=:
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_RANLIB+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$RANLIB"; then
+  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+  ac_ct_RANLIB=$RANLIB
+  # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_RANLIB"; then
+  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_RANLIB="ranlib"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_RANLIB" = x; then
+    RANLIB=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    RANLIB=$ac_ct_RANLIB
+  fi
+else
+  RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+test -z "$RANLIB" && RANLIB=:
+
+
+
+
+
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+  case $host_os in
+  openbsd*)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+    ;;
+  *)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+    ;;
+  esac
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+
+case $host_os in
+  darwin*)
+    lock_old_archive_extraction=yes ;;
+  *)
+    lock_old_archive_extraction=no ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+for ac_prog in gawk mawk nawk awk
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AWK+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$AWK"; then
+  ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_AWK="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$AWK" && break
+done
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
+$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
+if ${lt_cv_sys_global_symbol_pipe+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[BCDEGRST]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+  symcode='[BCDT]'
+  ;;
+cygwin* | mingw* | pw32* | cegcc*)
+  symcode='[ABCDGISTW]'
+  ;;
+hpux*)
+  if test "$host_cpu" = ia64; then
+    symcode='[ABCDEGRST]'
+  fi
+  ;;
+irix* | nonstopux*)
+  symcode='[BCDEGRST]'
+  ;;
+osf*)
+  symcode='[BCDEGQRST]'
+  ;;
+solaris*)
+  symcode='[BDRT]'
+  ;;
+sco3.2v5*)
+  symcode='[DT]'
+  ;;
+sysv4.2uw2*)
+  symcode='[DT]'
+  ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+  symcode='[ABDT]'
+  ;;
+sysv4)
+  symcode='[DFNSTU]'
+  ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+  symcode='[ABCDGIRSTW]' ;;
+esac
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+  ;;
+esac
+
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+
+  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+  symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+  # Write the raw and C identifiers.
+  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+    # Fake it for dumpbin and say T for any non-static function
+    # and D for any global variable.
+    # Also find C++ and __fastcall symbols from MSVC++,
+    # which start with @ or ?.
+    lt_cv_sys_global_symbol_pipe="$AWK '"\
+"     {last_section=section; section=\$ 3};"\
+"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+"     \$ 0!~/External *\|/{next};"\
+"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+"     {if(hide[section]) next};"\
+"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
+"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
+"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
+"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+"     ' prfx=^$ac_symprfx"
+  else
+    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[	 ]\($symcode$symcode*\)[	 ][	 ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+  fi
+
+  # Check to see that the pipe works correctly.
+  pipe_works=no
+
+  rm -f conftest*
+  cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    # Now try to grab the symbols.
+    nlist=conftest.nm
+    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
+  (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s "$nlist"; then
+      # Try sorting and uniquifying the output.
+      if sort "$nlist" | uniq > "$nlist"T; then
+	mv -f "$nlist"T "$nlist"
+      else
+	rm -f "$nlist"T
+      fi
+
+      # Make sure that we snagged all the symbols we need.
+      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+	  cat <<_LT_EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+	  # Now generate the symbol file.
+	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+	  cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols.  */
+const struct {
+  const char *name;
+  void       *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[] =
+{
+  { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+	  cat <<\_LT_EOF >> conftest.$ac_ext
+  {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+	  # Now try linking the two files.
+	  mv conftest.$ac_objext conftstm.$ac_objext
+	  lt_save_LIBS="$LIBS"
+	  lt_save_CFLAGS="$CFLAGS"
+	  LIBS="conftstm.$ac_objext"
+	  CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s conftest${ac_exeext}; then
+	    pipe_works=yes
+	  fi
+	  LIBS="$lt_save_LIBS"
+	  CFLAGS="$lt_save_CFLAGS"
+	else
+	  echo "cannot find nm_test_func in $nlist" >&5
+	fi
+      else
+	echo "cannot find nm_test_var in $nlist" >&5
+      fi
+    else
+      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
+    fi
+  else
+    echo "$progname: failed program was:" >&5
+    cat conftest.$ac_ext >&5
+  fi
+  rm -rf conftest* conftst*
+
+  # Do not use the global_symbol_pipe unless it works.
+  if test "$pipe_works" = yes; then
+    break
+  else
+    lt_cv_sys_global_symbol_pipe=
+  fi
+done
+
+fi
+
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+  lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+$as_echo "failed" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
+$as_echo "ok" >&6; }
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Check whether --enable-libtool-lock was given.
+if test "${enable_libtool_lock+set}" = set; then :
+  enableval=$enable_libtool_lock;
+fi
+
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    case `/usr/bin/file conftest.$ac_objext` in
+      *ELF-32*)
+	HPUX_IA64_MODE="32"
+	;;
+      *ELF-64*)
+	HPUX_IA64_MODE="64"
+	;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+*-*-irix6*)
+  # Find out which ABI we are using.
+  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    if test "$lt_cv_prog_gnu_ld" = yes; then
+      case `/usr/bin/file conftest.$ac_objext` in
+	*32-bit*)
+	  LD="${LD-ld} -melf32bsmip"
+	  ;;
+	*N32*)
+	  LD="${LD-ld} -melf32bmipn32"
+	  ;;
+	*64-bit*)
+	  LD="${LD-ld} -melf64bmip"
+	;;
+      esac
+    else
+      case `/usr/bin/file conftest.$ac_objext` in
+	*32-bit*)
+	  LD="${LD-ld} -32"
+	  ;;
+	*N32*)
+	  LD="${LD-ld} -n32"
+	  ;;
+	*64-bit*)
+	  LD="${LD-ld} -64"
+	  ;;
+      esac
+    fi
+  fi
+  rm -rf conftest*
+  ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    case `/usr/bin/file conftest.o` in
+      *32-bit*)
+	case $host in
+	  x86_64-*kfreebsd*-gnu)
+	    LD="${LD-ld} -m elf_i386_fbsd"
+	    ;;
+	  x86_64-*linux*)
+	    case `/usr/bin/file conftest.o` in
+	      *x86-64*)
+		LD="${LD-ld} -m elf32_x86_64"
+		;;
+	      *)
+		LD="${LD-ld} -m elf_i386"
+		;;
+	    esac
+	    ;;
+	  powerpc64le-*linux*)
+	    LD="${LD-ld} -m elf32lppclinux"
+	    ;;
+	  powerpc64-*linux*)
+	    LD="${LD-ld} -m elf32ppclinux"
+	    ;;
+	  s390x-*linux*)
+	    LD="${LD-ld} -m elf_s390"
+	    ;;
+	  sparc64-*linux*)
+	    LD="${LD-ld} -m elf32_sparc"
+	    ;;
+	esac
+	;;
+      *64-bit*)
+	case $host in
+	  x86_64-*kfreebsd*-gnu)
+	    LD="${LD-ld} -m elf_x86_64_fbsd"
+	    ;;
+	  x86_64-*linux*)
+	    LD="${LD-ld} -m elf_x86_64"
+	    ;;
+	  powerpcle-*linux*)
+	    LD="${LD-ld} -m elf64lppc"
+	    ;;
+	  powerpc-*linux*)
+	    LD="${LD-ld} -m elf64ppc"
+	    ;;
+	  s390*-*linux*|s390*-*tpf*)
+	    LD="${LD-ld} -m elf64_s390"
+	    ;;
+	  sparc*-*linux*)
+	    LD="${LD-ld} -m elf64_sparc"
+	    ;;
+	esac
+	;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
+*-*-sco3.2v5*)
+  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+  SAVE_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS -belf"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
+$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
+if ${lt_cv_cc_needs_belf+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  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
+
+     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  lt_cv_cc_needs_belf=yes
+else
+  lt_cv_cc_needs_belf=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+     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
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
+$as_echo "$lt_cv_cc_needs_belf" >&6; }
+  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+    CFLAGS="$SAVE_CFLAGS"
+  fi
+  ;;
+sparc*-*solaris*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    case `/usr/bin/file conftest.o` in
+    *64-bit*)
+      case $lt_cv_prog_gnu_ld in
+      yes*) LD="${LD-ld} -m elf64_sparc" ;;
+      *)
+	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+	  LD="${LD-ld} -64"
+	fi
+	;;
+      esac
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+esac
+
+need_locks="$enable_libtool_lock"
+
+
+  case $host_os in
+    rhapsody* | darwin*)
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DSYMUTIL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$DSYMUTIL"; then
+  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+DSYMUTIL=$ac_cv_prog_DSYMUTIL
+if test -n "$DSYMUTIL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
+$as_echo "$DSYMUTIL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_DSYMUTIL"; then
+  ac_ct_DSYMUTIL=$DSYMUTIL
+  # Extract the first word of "dsymutil", so it can be a program name with args.
+set dummy dsymutil; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_DSYMUTIL"; then
+  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
+if test -n "$ac_ct_DSYMUTIL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
+$as_echo "$ac_ct_DSYMUTIL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_DSYMUTIL" = x; then
+    DSYMUTIL=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    DSYMUTIL=$ac_ct_DSYMUTIL
+  fi
+else
+  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
+fi
+
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
+set dummy ${ac_tool_prefix}nmedit; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_NMEDIT+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$NMEDIT"; then
+  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+NMEDIT=$ac_cv_prog_NMEDIT
+if test -n "$NMEDIT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
+$as_echo "$NMEDIT" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_NMEDIT"; then
+  ac_ct_NMEDIT=$NMEDIT
+  # Extract the first word of "nmedit", so it can be a program name with args.
+set dummy nmedit; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_NMEDIT"; then
+  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_NMEDIT="nmedit"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
+if test -n "$ac_ct_NMEDIT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
+$as_echo "$ac_ct_NMEDIT" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_NMEDIT" = x; then
+    NMEDIT=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    NMEDIT=$ac_ct_NMEDIT
+  fi
+else
+  NMEDIT="$ac_cv_prog_NMEDIT"
+fi
+
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
+set dummy ${ac_tool_prefix}lipo; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_LIPO+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$LIPO"; then
+  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+LIPO=$ac_cv_prog_LIPO
+if test -n "$LIPO"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
+$as_echo "$LIPO" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_LIPO"; then
+  ac_ct_LIPO=$LIPO
+  # Extract the first word of "lipo", so it can be a program name with args.
+set dummy lipo; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_LIPO"; then
+  ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_LIPO="lipo"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
+if test -n "$ac_ct_LIPO"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
+$as_echo "$ac_ct_LIPO" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_LIPO" = x; then
+    LIPO=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    LIPO=$ac_ct_LIPO
+  fi
+else
+  LIPO="$ac_cv_prog_LIPO"
+fi
+
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_OTOOL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$OTOOL"; then
+  ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+OTOOL=$ac_cv_prog_OTOOL
+if test -n "$OTOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
+$as_echo "$OTOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OTOOL"; then
+  ac_ct_OTOOL=$OTOOL
+  # Extract the first word of "otool", so it can be a program name with args.
+set dummy otool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_OTOOL"; then
+  ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_OTOOL="otool"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
+if test -n "$ac_ct_OTOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
+$as_echo "$ac_ct_OTOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_OTOOL" = x; then
+    OTOOL=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OTOOL=$ac_ct_OTOOL
+  fi
+else
+  OTOOL="$ac_cv_prog_OTOOL"
+fi
+
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool64; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_OTOOL64+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$OTOOL64"; then
+  ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+OTOOL64=$ac_cv_prog_OTOOL64
+if test -n "$OTOOL64"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
+$as_echo "$OTOOL64" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OTOOL64"; then
+  ac_ct_OTOOL64=$OTOOL64
+  # Extract the first word of "otool64", so it can be a program name with args.
+set dummy otool64; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_OTOOL64"; then
+  ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_OTOOL64="otool64"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
+if test -n "$ac_ct_OTOOL64"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
+$as_echo "$ac_ct_OTOOL64" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_OTOOL64" = x; then
+    OTOOL64=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OTOOL64=$ac_ct_OTOOL64
+  fi
+else
+  OTOOL64="$ac_cv_prog_OTOOL64"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
+$as_echo_n "checking for -single_module linker flag... " >&6; }
+if ${lt_cv_apple_cc_single_mod+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_apple_cc_single_mod=no
+      if test -z "${LT_MULTI_MODULE}"; then
+	# By default we will add the -single_module flag. You can override
+	# by either setting the environment variable LT_MULTI_MODULE
+	# non-empty at configure time, or by adding -multi_module to the
+	# link flags.
+	rm -rf libconftest.dylib*
+	echo "int foo(void){return 1;}" > conftest.c
+	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&5
+	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+        _lt_result=$?
+	if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+	  lt_cv_apple_cc_single_mod=yes
+	else
+	  cat conftest.err >&5
+	fi
+	rm -rf libconftest.dylib*
+	rm -f conftest.*
+      fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
+$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
+$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
+if ${lt_cv_ld_exported_symbols_list+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_ld_exported_symbols_list=no
+      save_LDFLAGS=$LDFLAGS
+      echo "_main" > conftest.sym
+      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  lt_cv_ld_exported_symbols_list=yes
+else
+  lt_cv_ld_exported_symbols_list=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+	LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
+$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
+$as_echo_n "checking for -force_load linker flag... " >&6; }
+if ${lt_cv_ld_force_load+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_ld_force_load=no
+      cat > conftest.c << _LT_EOF
+int forced_loaded() { return 2;}
+_LT_EOF
+      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
+      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
+      echo "$AR cru libconftest.a conftest.o" >&5
+      $AR cru libconftest.a conftest.o 2>&5
+      cat > conftest.c << _LT_EOF
+int main() { return 0;}
+_LT_EOF
+      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
+      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
+      _lt_result=$?
+      if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
+	lt_cv_ld_force_load=yes
+      else
+	cat conftest.err >&5
+      fi
+        rm -f conftest.err libconftest.a conftest conftest.c
+        rm -rf conftest.dSYM
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
+$as_echo "$lt_cv_ld_force_load" >&6; }
+    case $host_os in
+    rhapsody* | darwin1.[012])
+      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+    darwin1.*)
+      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+    darwin*) # darwin 5.x on
+      # if running on 10.5 or later, the deployment target defaults
+      # to the OS version, if on x86, and 10.4, the deployment
+      # target defaults to 10.4. Don't you love it?
+      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+	10.0,*86*-darwin8*|10.0,*-darwin[91]*)
+	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+	10.[012][,.]*)
+	  _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+	10.*)
+	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+      esac
+    ;;
+  esac
+    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+      _lt_dar_single_mod='$single_module'
+    fi
+    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+    else
+      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+    fi
+    if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
+      _lt_dsymutil='~$DSYMUTIL $lib || :'
+    else
+      _lt_dsymutil=
+    fi
+    ;;
+  esac
+
+for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+
+fi
+
+done
+
+
+
+# autoconf.info says this should be called right after AC_INIT.
+ac_config_headers="$ac_config_headers config.h:config.in"
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
+$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
+if ${ac_cv_c_bigendian+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_c_bigendian=unknown
+    # See if we're dealing with a universal compiler.
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifndef __APPLE_CC__
+	       not a universal capable compiler
+	     #endif
+	     typedef int dummy;
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+	# Check for potential -arch flags.  It is not universal unless
+	# there are at least two -arch flags with different values.
+	ac_arch=
+	ac_prev=
+	for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
+	 if test -n "$ac_prev"; then
+	   case $ac_word in
+	     i?86 | x86_64 | ppc | ppc64)
+	       if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
+		 ac_arch=$ac_word
+	       else
+		 ac_cv_c_bigendian=universal
+		 break
+	       fi
+	       ;;
+	   esac
+	   ac_prev=
+	 elif test "x$ac_word" = "x-arch"; then
+	   ac_prev=arch
+	 fi
+       done
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+    if test $ac_cv_c_bigendian = unknown; then
+      # See if sys/param.h defines the BYTE_ORDER macro.
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+	     #include <sys/param.h>
+
+int
+main ()
+{
+#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
+		     && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
+		     && LITTLE_ENDIAN)
+	      bogus endian macros
+	     #endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  # It does; now see whether it defined to BIG_ENDIAN or not.
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+		#include <sys/param.h>
+
+int
+main ()
+{
+#if BYTE_ORDER != BIG_ENDIAN
+		 not big endian
+		#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_c_bigendian=yes
+else
+  ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+    fi
+    if test $ac_cv_c_bigendian = unknown; then
+      # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <limits.h>
+
+int
+main ()
+{
+#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
+	      bogus endian macros
+	     #endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  # It does; now see whether it defined to _BIG_ENDIAN or not.
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <limits.h>
+
+int
+main ()
+{
+#ifndef _BIG_ENDIAN
+		 not big endian
+		#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_c_bigendian=yes
+else
+  ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+    fi
+    if test $ac_cv_c_bigendian = unknown; then
+      # Compile a test program.
+      if test "$cross_compiling" = yes; then :
+  # Try to guess by grepping values from an object file.
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+short int ascii_mm[] =
+		  { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
+		short int ascii_ii[] =
+		  { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
+		int use_ascii (int i) {
+		  return ascii_mm[i] + ascii_ii[i];
+		}
+		short int ebcdic_ii[] =
+		  { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
+		short int ebcdic_mm[] =
+		  { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
+		int use_ebcdic (int i) {
+		  return ebcdic_mm[i] + ebcdic_ii[i];
+		}
+		extern int foo;
+
+int
+main ()
+{
+return use_ascii (foo) == use_ebcdic (foo);
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
+	      ac_cv_c_bigendian=yes
+	    fi
+	    if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
+	      if test "$ac_cv_c_bigendian" = unknown; then
+		ac_cv_c_bigendian=no
+	      else
+		# finding both strings is unlikely to happen, but who knows?
+		ac_cv_c_bigendian=unknown
+	      fi
+	    fi
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
+
+	     /* Are we little or big endian?  From Harbison&Steele.  */
+	     union
+	     {
+	       long int l;
+	       char c[sizeof (long int)];
+	     } u;
+	     u.l = 1;
+	     return u.c[sizeof (long int) - 1] == 1;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ac_cv_c_bigendian=no
+else
+  ac_cv_c_bigendian=yes
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+    fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
+$as_echo "$ac_cv_c_bigendian" >&6; }
+ case $ac_cv_c_bigendian in #(
+   yes)
+     $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
+;; #(
+   no)
+      ;; #(
+   universal)
+
+$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
+
+     ;; #(
+   *)
+     as_fn_error $? "unknown endianness
+ presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
+ esac
+
+
+
+
+# Put a plausible default for CC_FOR_BUILD in Makefile.
+if test -z "$CC_FOR_BUILD"; then
+  if test "x$cross_compiling" = "xno"; then
+    CC_FOR_BUILD='$(CC)'
+  else
+    CC_FOR_BUILD=gcc
+  fi
+fi
+
+
+
+
+AR=${AR-ar}
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_RANLIB+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$RANLIB"; then
+  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+  ac_ct_RANLIB=$RANLIB
+  # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_RANLIB"; then
+  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_RANLIB="ranlib"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_RANLIB" = x; then
+    RANLIB=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    RANLIB=$ac_ct_RANLIB
+  fi
+else
+  RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+
+# Some of the common include files depend on bfd.h, and bfd.h checks
+# that config.h is included first by testing that the PACKAGE macro
+# is defined.
+PACKAGE=sim
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+
+# Dependency checking.
+ac_config_commands="$ac_config_commands depdir"
+
+
+depcc="$CC"   am_compiler_list=
+
+am_depcomp=$ac_aux_dir/depcomp
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_CC_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  for depmode in $am_compiler_list; do
+    if test $depmode = none; then break; fi
+
+    $as_echo "$as_me:$LINENO: trying $depmode" >&5
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "include sub/conftest.Po" > confmf
+
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.
+    depcmd="depmode=$depmode \
+       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c"
+    echo "| $depcmd" | sed -e 's/  */ /g' >&5
+    if env $depcmd > conftest.err 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po >>conftest.err 2>&1 &&
+       grep sub/conftest.${OBJEXT-o} sub/conftest.Po >>conftest.err 2>&1 &&
+       ${MAKE-make} -s -f confmf >>conftest.err 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_CC_dependencies_compiler_type=$depmode
+	$as_echo "$as_me:$LINENO: success" >&5
+        break
+      fi
+    fi
+    $as_echo "$as_me:$LINENO: failure, diagnostics are:" >&5
+    sed -e 's/^/| /' < conftest.err >&5
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+if test x${am_cv_CC_dependencies_compiler_type-none} = xnone
+then as_fn_error $? "no usable dependency style found" "$LINENO" 5
+else CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+fi
+
+
+# Check for the 'make' the user wants to use.
+for ac_prog in make
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_MAKE+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$MAKE"; then
+  ac_cv_prog_MAKE="$MAKE" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_MAKE="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+MAKE=$ac_cv_prog_MAKE
+if test -n "$MAKE"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAKE" >&5
+$as_echo "$MAKE" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$MAKE" && break
+done
+
+MAKE_IS_GNU=
+case "`$MAKE --version 2>&1 | sed 1q`" in
+  *GNU*)
+    MAKE_IS_GNU=yes
+    ;;
+esac
+ if test "$MAKE_IS_GNU" = yes; then
+  GMAKE_TRUE=
+  GMAKE_FALSE='#'
+else
+  GMAKE_TRUE='#'
+  GMAKE_FALSE=
+fi
+
+
+ALL_LINGUAS=
+# If we haven't got the data from the intl directory,
+# assume NLS is disabled.
+USE_NLS=no
+LIBINTL=
+LIBINTL_DEP=
+INCINTL=
+XGETTEXT=
+GMSGFMT=
+POSUB=
+
+if test -f  ../../intl/config.intl; then
+  .  ../../intl/config.intl
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
+$as_echo_n "checking whether NLS is requested... " >&6; }
+if test x"$USE_NLS" != xyes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define ENABLE_NLS 1" >>confdefs.h
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for catalogs to be installed" >&5
+$as_echo_n "checking for catalogs to be installed... " >&6; }
+  # Look for .po and .gmo files in the source directory.
+  CATALOGS=
+  XLINGUAS=
+  for cat in $srcdir/po/*.gmo $srcdir/po/*.po; do
+    # If there aren't any .gmo files the shell will give us the
+    # literal string "../path/to/srcdir/po/*.gmo" which has to be
+    # weeded out.
+    case "$cat" in *\**)
+      continue;;
+    esac
+    # The quadruple backslash is collapsed to a double backslash
+    # by the backticks, then collapsed again by the double quotes,
+    # leaving us with one backslash in the sed expression (right
+    # before the dot that mustn't act as a wildcard).
+    cat=`echo $cat | sed -e "s!$srcdir/po/!!" -e "s!\\\\.po!.gmo!"`
+    lang=`echo $cat | sed -e "s!\\\\.gmo!!"`
+    # The user is allowed to set LINGUAS to a list of languages to
+    # install catalogs for.  If it's empty that means "all of them."
+    if test "x$LINGUAS" = x; then
+      CATALOGS="$CATALOGS $cat"
+      XLINGUAS="$XLINGUAS $lang"
+    else
+      case "$LINGUAS" in *$lang*)
+        CATALOGS="$CATALOGS $cat"
+        XLINGUAS="$XLINGUAS $lang"
+        ;;
+      esac
+    fi
+  done
+  LINGUAS="$XLINGUAS"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LINGUAS" >&5
+$as_echo "$LINGUAS" >&6; }
+
+
+    DATADIRNAME=share
+
+  INSTOBJEXT=.mo
+
+  GENCAT=gencat
+
+  CATOBJEXT=.gmo
+
+fi
+
+# Check for common headers.
+# FIXME: Seems to me this can cause problems for i386-windows hosts.
+# At one point there were hardcoded AC_DEFINE's if ${host} = i386-*-windows*.
+for ac_header in stdlib.h string.h strings.h unistd.h time.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+for ac_header in sys/time.h sys/times.h sys/resource.h sys/mman.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+for ac_header in fcntl.h fpu_control.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+for ac_header in dlfcn.h errno.h sys/stat.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+for ac_func in getrusage time sigaction __setfpucw
+do :
+  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+for ac_func in mmap munmap lstat truncate ftruncate posix_fallocate
+do :
+  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+ac_fn_c_check_member "$LINENO" "struct stat" "st_dev" "ac_cv_member_struct_stat_st_dev" "#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
+"
+if test "x$ac_cv_member_struct_stat_st_dev" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_STAT_ST_DEV 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "struct stat" "st_ino" "ac_cv_member_struct_stat_st_ino" "#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
+"
+if test "x$ac_cv_member_struct_stat_st_ino" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_STAT_ST_INO 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "struct stat" "st_mode" "ac_cv_member_struct_stat_st_mode" "#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
+"
+if test "x$ac_cv_member_struct_stat_st_mode" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_STAT_ST_MODE 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "struct stat" "st_nlink" "ac_cv_member_struct_stat_st_nlink" "#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
+"
+if test "x$ac_cv_member_struct_stat_st_nlink" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_STAT_ST_NLINK 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "struct stat" "st_uid" "ac_cv_member_struct_stat_st_uid" "#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
+"
+if test "x$ac_cv_member_struct_stat_st_uid" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_STAT_ST_UID 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "struct stat" "st_gid" "ac_cv_member_struct_stat_st_gid" "#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
+"
+if test "x$ac_cv_member_struct_stat_st_gid" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_STAT_ST_GID 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "struct stat" "st_rdev" "ac_cv_member_struct_stat_st_rdev" "#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
+"
+if test "x$ac_cv_member_struct_stat_st_rdev" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_STAT_ST_RDEV 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "struct stat" "st_size" "ac_cv_member_struct_stat_st_size" "#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
+"
+if test "x$ac_cv_member_struct_stat_st_size" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_STAT_ST_SIZE 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "struct stat" "st_blksize" "ac_cv_member_struct_stat_st_blksize" "#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
+"
+if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "struct stat" "st_blocks" "ac_cv_member_struct_stat_st_blocks" "#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
+"
+if test "x$ac_cv_member_struct_stat_st_blocks" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_STAT_ST_BLOCKS 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "struct stat" "st_atime" "ac_cv_member_struct_stat_st_atime" "#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
+"
+if test "x$ac_cv_member_struct_stat_st_atime" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_STAT_ST_ATIME 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "struct stat" "st_mtime" "ac_cv_member_struct_stat_st_mtime" "#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
+"
+if test "x$ac_cv_member_struct_stat_st_mtime" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_STAT_ST_MTIME 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "struct stat" "st_ctime" "ac_cv_member_struct_stat_st_ctime" "#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
+"
+if test "x$ac_cv_member_struct_stat_st_ctime" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_STAT_ST_CTIME 1
+_ACEOF
+
+
+fi
+
+ac_fn_c_check_type "$LINENO" "socklen_t" "ac_cv_type_socklen_t" "#include <sys/types.h>
+#include <sys/socket.h>
+
+"
+if test "x$ac_cv_type_socklen_t" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_SOCKLEN_T 1
+_ACEOF
+
+
+fi
+
+
+# Check for socket libraries
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for bind in -lsocket" >&5
+$as_echo_n "checking for bind in -lsocket... " >&6; }
+if ${ac_cv_lib_socket_bind+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsocket  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char bind ();
+int
+main ()
+{
+return bind ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_socket_bind=yes
+else
+  ac_cv_lib_socket_bind=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_bind" >&5
+$as_echo "$ac_cv_lib_socket_bind" >&6; }
+if test "x$ac_cv_lib_socket_bind" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBSOCKET 1
+_ACEOF
+
+  LIBS="-lsocket $LIBS"
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
+$as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
+if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lnsl  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char gethostbyname ();
+int
+main ()
+{
+return gethostbyname ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_nsl_gethostbyname=yes
+else
+  ac_cv_lib_nsl_gethostbyname=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
+$as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
+if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBNSL 1
+_ACEOF
+
+  LIBS="-lnsl $LIBS"
+
+fi
+
+
+# BFD conditionally uses zlib, so we must link it in if libbfd does, by
+# using the same condition.
+
+  # Use the system's zlib library.
+  zlibdir="-L\$(top_builddir)/../zlib"
+  zlibinc="-I\$(top_srcdir)/../zlib"
+
+# Check whether --with-system-zlib was given.
+if test "${with_system_zlib+set}" = set; then :
+  withval=$with_system_zlib; if test x$with_system_zlib = xyes ; then
+    zlibdir=
+    zlibinc=
+  fi
+
+fi
+
+
+
+
+
+# BFD uses libdl when when plugins enabled.
+
+  maybe_plugins=no
+  for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+  for ac_header in windows.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_windows_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINDOWS_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+
+  # Check whether --enable-plugins was given.
+if test "${enable_plugins+set}" = set; then :
+  enableval=$enable_plugins; case "${enableval}" in
+      no) plugins=no ;;
+      *) plugins=yes
+         if test "$maybe_plugins" != "yes" ; then
+	   as_fn_error $? "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+	 fi ;;
+     esac
+else
+  plugins=$maybe_plugins
+
+fi
+
+  if test "$plugins" = "yes"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlsym" >&5
+$as_echo_n "checking for library containing dlsym... " >&6; }
+if ${ac_cv_search_dlsym+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlsym ();
+int
+main ()
+{
+return dlsym ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' dl; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_dlsym=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if ${ac_cv_search_dlsym+:} false; then :
+  break
+fi
+done
+if ${ac_cv_search_dlsym+:} false; then :
+
+else
+  ac_cv_search_dlsym=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlsym" >&5
+$as_echo "$ac_cv_search_dlsym" >&6; }
+ac_res=$ac_cv_search_dlsym
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+  fi
+
+ if test "$plugins" = yes; then
+  PLUGINS_TRUE=
+  PLUGINS_FALSE='#'
+else
+  PLUGINS_TRUE='#'
+  PLUGINS_FALSE=
+fi
+
+
+
+
+
+# Set options
+enable_dlopen=yes
+
+
+
+
+  enable_win32_dll=no
+
+
+            # Check whether --enable-shared was given.
+if test "${enable_shared+set}" = set; then :
+  enableval=$enable_shared; p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_shared=yes ;;
+    no) enable_shared=no ;;
+    *)
+      enable_shared=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_shared=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac
+else
+  enable_shared=yes
+fi
+
+
+
+
+
+
+
+
+
+  # Check whether --enable-static was given.
+if test "${enable_static+set}" = set; then :
+  enableval=$enable_static; p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_static=yes ;;
+    no) enable_static=no ;;
+    *)
+     enable_static=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_static=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac
+else
+  enable_static=yes
+fi
+
+
+
+
+
+
+
+
+
+
+# Check whether --with-pic was given.
+if test "${with_pic+set}" = set; then :
+  withval=$with_pic; pic_mode="$withval"
+else
+  pic_mode=default
+fi
+
+
+test -z "$pic_mode" && pic_mode=default
+
+
+
+
+
+
+
+  # Check whether --enable-fast-install was given.
+if test "${enable_fast_install+set}" = set; then :
+  enableval=$enable_fast_install; p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_fast_install=yes ;;
+    no) enable_fast_install=no ;;
+    *)
+      enable_fast_install=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_fast_install=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac
+else
+  enable_fast_install=yes
+fi
+
+
+
+
+
+
+
+
+
+
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ltmain"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+test -z "$LN_S" && LN_S="ln -s"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+if test -n "${ZSH_VERSION+set}" ; then
+   setopt NO_GLOB_SUBST
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
+$as_echo_n "checking for objdir... " >&6; }
+if ${lt_cv_objdir+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+  lt_cv_objdir=.libs
+else
+  # MS-DOS does not allow filenames that begin with a dot.
+  lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
+$as_echo "$lt_cv_objdir" >&6; }
+objdir=$lt_cv_objdir
+
+
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define LT_OBJDIR "$lt_cv_objdir/"
+_ACEOF
+
+
+
+
+case $host_os in
+aix3*)
+  # AIX sometimes has problems with the GCC collect2 program.  For some
+  # reason, if we set the COLLECT_NAMES environment variable, the problems
+  # vanish in a puff of smoke.
+  if test "X${COLLECT_NAMES+set}" != Xset; then
+    COLLECT_NAMES=
+    export COLLECT_NAMES
+  fi
+  ;;
+esac
+
+# Global variables:
+ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
+
+for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+
+
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
+$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $MAGIC_CMD in
+[\\/*] |  ?:[\\/]*)
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  ;;
+*)
+  lt_save_MAGIC_CMD="$MAGIC_CMD"
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+  for ac_dir in $ac_dummy; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/${ac_tool_prefix}file; then
+      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
+      if test -n "$file_magic_test_file"; then
+	case $deplibs_check_method in
+	"file_magic "*)
+	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+	    $EGREP "$file_magic_regex" > /dev/null; then
+	    :
+	  else
+	    cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+	  fi ;;
+	esac
+      fi
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+  MAGIC_CMD="$lt_save_MAGIC_CMD"
+  ;;
+esac
+fi
+
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+
+
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+  if test -n "$ac_tool_prefix"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
+$as_echo_n "checking for file... " >&6; }
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $MAGIC_CMD in
+[\\/*] |  ?:[\\/]*)
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  ;;
+*)
+  lt_save_MAGIC_CMD="$MAGIC_CMD"
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+  for ac_dir in $ac_dummy; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/file; then
+      lt_cv_path_MAGIC_CMD="$ac_dir/file"
+      if test -n "$file_magic_test_file"; then
+	case $deplibs_check_method in
+	"file_magic "*)
+	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+	    $EGREP "$file_magic_regex" > /dev/null; then
+	    :
+	  else
+	    cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+	  fi ;;
+	esac
+      fi
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+  MAGIC_CMD="$lt_save_MAGIC_CMD"
+  ;;
+esac
+fi
+
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  else
+    MAGIC_CMD=:
+  fi
+fi
+
+  fi
+  ;;
+esac
+
+# Use C for the default configuration in the libtool script
+
+lt_save_CC="$CC"
+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
+
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+objext=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+
+
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
+
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+
+lt_prog_compiler_no_builtin_flag=
+
+if test "$GCC" = yes; then
+  case $cc_basename in
+  nvcc*)
+    lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
+  *)
+    lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
+  esac
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
+if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_rtti_exceptions=no
+   ac_outfile=conftest.$ac_objext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="-fno-rtti -fno-exceptions"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_rtti_exceptions=yes
+     fi
+   fi
+   $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
+
+if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
+    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
+else
+    :
+fi
+
+fi
+
+
+
+
+
+
+  lt_prog_compiler_wl=
+lt_prog_compiler_pic=
+lt_prog_compiler_static=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+
+  if test "$GCC" = yes; then
+    lt_prog_compiler_wl='-Wl,'
+    lt_prog_compiler_static='-static'
+
+    case $host_os in
+      aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	lt_prog_compiler_static='-Bstatic'
+      fi
+      lt_prog_compiler_pic='-fPIC'
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            lt_prog_compiler_pic='-fPIC'
+        ;;
+      m68k)
+            # FIXME: we need at least 68020 code to build shared libraries, but
+            # adding the `-m68020' flag to GCC prevents building anything better,
+            # like `-m68040'.
+            lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
+        ;;
+      esac
+      ;;
+
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
+      lt_prog_compiler_pic='-DDLL_EXPORT'
+      ;;
+
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      lt_prog_compiler_pic='-fno-common'
+      ;;
+
+    haiku*)
+      # PIC is the default for Haiku.
+      # The "-static" flag exists, but is broken.
+      lt_prog_compiler_static=
+      ;;
+
+    hpux*)
+      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
+      # sets the default TLS model and affects inlining.
+      case $host_cpu in
+      hppa*64*)
+	# +Z the default
+	;;
+      *)
+	lt_prog_compiler_pic='-fPIC'
+	;;
+      esac
+      ;;
+
+    interix[3-9]*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+
+    msdosdjgpp*)
+      # Just because we use GCC doesn't mean we suddenly get shared libraries
+      # on systems that don't support them.
+      lt_prog_compiler_can_build_shared=no
+      enable_shared=no
+      ;;
+
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      lt_prog_compiler_pic='-fPIC -shared'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	lt_prog_compiler_pic=-Kconform_pic
+      fi
+      ;;
+
+    *)
+      lt_prog_compiler_pic='-fPIC'
+      ;;
+    esac
+
+    case $cc_basename in
+    nvcc*) # Cuda Compiler Driver 2.2
+      lt_prog_compiler_wl='-Xlinker '
+      lt_prog_compiler_pic='-Xcompiler -fPIC'
+      ;;
+    esac
+  else
+    # PORTME Check for flag to pass linker flags through the system compiler.
+    case $host_os in
+    aix*)
+      lt_prog_compiler_wl='-Wl,'
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	lt_prog_compiler_static='-Bstatic'
+      else
+	lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
+      fi
+      ;;
+
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      lt_prog_compiler_pic='-DDLL_EXPORT'
+      ;;
+
+    hpux9* | hpux10* | hpux11*)
+      lt_prog_compiler_wl='-Wl,'
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	lt_prog_compiler_pic='+Z'
+	;;
+      esac
+      # Is there a better lt_prog_compiler_static that works with the bundled CC?
+      lt_prog_compiler_static='${wl}-a ${wl}archive'
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      lt_prog_compiler_wl='-Wl,'
+      # PIC (with -KPIC) is the default.
+      lt_prog_compiler_static='-non_shared'
+      ;;
+
+    linux* | k*bsd*-gnu | kopensolaris*-gnu)
+      case $cc_basename in
+      # old Intel for x86_64 which still supported -KPIC.
+      ecc*)
+	lt_prog_compiler_wl='-Wl,'
+	lt_prog_compiler_pic='-KPIC'
+	lt_prog_compiler_static='-static'
+        ;;
+      # icc used to be incompatible with GCC.
+      # ICC 10 doesn't accept -KPIC any more.
+      icc* | ifort*)
+	lt_prog_compiler_wl='-Wl,'
+	lt_prog_compiler_pic='-fPIC'
+	lt_prog_compiler_static='-static'
+        ;;
+      # Lahey Fortran 8.1.
+      lf95*)
+	lt_prog_compiler_wl='-Wl,'
+	lt_prog_compiler_pic='--shared'
+	lt_prog_compiler_static='--static'
+	;;
+      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+	# which looks to be a dead project)
+	lt_prog_compiler_wl='-Wl,'
+	lt_prog_compiler_pic='-fpic'
+	lt_prog_compiler_static='-Bstatic'
+        ;;
+      ccc*)
+        lt_prog_compiler_wl='-Wl,'
+        # All Alpha code is PIC.
+        lt_prog_compiler_static='-non_shared'
+        ;;
+      xl* | bgxl* | bgf* | mpixl*)
+	# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
+	lt_prog_compiler_wl='-Wl,'
+	lt_prog_compiler_pic='-qpic'
+	lt_prog_compiler_static='-qstaticlink'
+	;;
+      *)
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ F* | *Sun*Fortran*)
+	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
+	  lt_prog_compiler_pic='-KPIC'
+	  lt_prog_compiler_static='-Bstatic'
+	  lt_prog_compiler_wl=''
+	  ;;
+	*Sun\ C*)
+	  # Sun C 5.9
+	  lt_prog_compiler_pic='-KPIC'
+	  lt_prog_compiler_static='-Bstatic'
+	  lt_prog_compiler_wl='-Wl,'
+	  ;;
+	esac
+	;;
+      esac
+      ;;
+
+    newsos6)
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      lt_prog_compiler_pic='-fPIC -shared'
+      ;;
+
+    osf3* | osf4* | osf5*)
+      lt_prog_compiler_wl='-Wl,'
+      # All OSF/1 code is PIC.
+      lt_prog_compiler_static='-non_shared'
+      ;;
+
+    rdos*)
+      lt_prog_compiler_static='-non_shared'
+      ;;
+
+    solaris*)
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95*)
+	lt_prog_compiler_wl='-Qoption ld ';;
+      *)
+	lt_prog_compiler_wl='-Wl,';;
+      esac
+      ;;
+
+    sunos4*)
+      lt_prog_compiler_wl='-Qoption ld '
+      lt_prog_compiler_pic='-PIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec ;then
+	lt_prog_compiler_pic='-Kconform_pic'
+	lt_prog_compiler_static='-Bstatic'
+      fi
+      ;;
+
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    unicos*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_can_build_shared=no
+      ;;
+
+    uts4*)
+      lt_prog_compiler_pic='-pic'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    *)
+      lt_prog_compiler_can_build_shared=no
+      ;;
+    esac
+  fi
+
+case $host_os in
+  # For platforms which do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    lt_prog_compiler_pic=
+    ;;
+  *)
+    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+    ;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5
+$as_echo "$lt_prog_compiler_pic" >&6; }
+
+
+
+
+
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
+if ${lt_cv_prog_compiler_pic_works+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_pic_works=no
+   ac_outfile=conftest.$ac_objext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_pic_works=yes
+     fi
+   fi
+   $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
+
+if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
+    case $lt_prog_compiler_pic in
+     "" | " "*) ;;
+     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
+     esac
+else
+    lt_prog_compiler_pic=
+     lt_prog_compiler_can_build_shared=no
+fi
+
+fi
+
+
+
+
+
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if ${lt_cv_prog_compiler_static_works+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_static_works=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&5
+       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_cv_prog_compiler_static_works=yes
+       fi
+     else
+       lt_cv_prog_compiler_static_works=yes
+     fi
+   fi
+   $RM -r conftest*
+   LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
+$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
+
+if test x"$lt_cv_prog_compiler_static_works" = xyes; then
+    :
+else
+    lt_prog_compiler_static=
+fi
+
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if ${lt_cv_prog_compiler_c_o+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_c_o=no
+   $RM -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $RM conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+   $RM out/* && rmdir out
+   cd ..
+   $RM -r conftest
+   $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if ${lt_cv_prog_compiler_c_o+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_c_o=no
+   $RM -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $RM conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+   $RM out/* && rmdir out
+   cd ..
+   $RM -r conftest
+   $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+
+
+
+
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
+  # do not overwrite the value of need_locks provided by the user
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
+  hard_links=yes
+  $RM conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
+  if test "$hard_links" = no; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+
+  runpath_var=
+  allow_undefined_flag=
+  always_export_symbols=no
+  archive_cmds=
+  archive_expsym_cmds=
+  compiler_needs_object=no
+  enable_shared_with_static_runtimes=no
+  export_dynamic_flag_spec=
+  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  hardcode_automatic=no
+  hardcode_direct=no
+  hardcode_direct_absolute=no
+  hardcode_libdir_flag_spec=
+  hardcode_libdir_flag_spec_ld=
+  hardcode_libdir_separator=
+  hardcode_minus_L=no
+  hardcode_shlibpath_var=unsupported
+  inherit_rpath=no
+  link_all_deplibs=unknown
+  module_cmds=
+  module_expsym_cmds=
+  old_archive_from_new_cmds=
+  old_archive_from_expsyms_cmds=
+  thread_safe_flag_spec=
+  whole_archive_flag_spec=
+  # include_expsyms should be a list of space-separated symbols to be *always*
+  # included in the symbol list
+  include_expsyms=
+  # exclude_expsyms can be an extended regexp of symbols to exclude
+  # it will be wrapped by ` (' and `)$', so one must not match beginning or
+  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+  # as well as any symbol that contains `d'.
+  exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
+  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+  # platforms (ab)use it in PIC code, but their linkers get confused if
+  # the symbol is explicitly referenced.  Since portable code cannot
+  # rely on this symbol name, it's probably fine to never include it in
+  # preloaded symbol tables.
+  # Exclude shared library initialization/finalization symbols.
+  extract_expsyms_cmds=
+
+  case $host_os in
+  cygwin* | mingw* | pw32* | cegcc*)
+    # FIXME: the MSVC++ port hasn't been tested in a loooong time
+    # When not using gcc, we currently assume that we are using
+    # Microsoft Visual C++.
+    if test "$GCC" != yes; then
+      with_gnu_ld=no
+    fi
+    ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
+  openbsd*)
+    with_gnu_ld=no
+    ;;
+  esac
+
+  ld_shlibs=yes
+
+  # On some targets, GNU ld is compatible enough with the native linker
+  # that we're better off using the native interface for both.
+  lt_use_gnu_ld_interface=no
+  if test "$with_gnu_ld" = yes; then
+    case $host_os in
+      aix*)
+	# The AIX port of GNU ld has always aspired to compatibility
+	# with the native linker.  However, as the warning in the GNU ld
+	# block says, versions before 2.19.5* couldn't really create working
+	# shared libraries, regardless of the interface used.
+	case `$LD -v 2>&1` in
+	  *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
+	  *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
+	  *\ \(GNU\ Binutils\)\ [3-9]*) ;;
+	  *)
+	    lt_use_gnu_ld_interface=yes
+	    ;;
+	esac
+	;;
+      *)
+	lt_use_gnu_ld_interface=yes
+	;;
+    esac
+  fi
+
+  if test "$lt_use_gnu_ld_interface" = yes; then
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    wlarc='${wl}'
+
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+    export_dynamic_flag_spec='${wl}--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+      whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+    else
+      whole_archive_flag_spec=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v 2>&1` in
+      *GNU\ gold*) supports_anon_versioning=yes ;;
+      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+
+    # See if GNU ld supports shared libraries.
+    case $host_os in
+    aix[3-9]*)
+      # On AIX/PPC, the GNU linker is very broken
+      if test "$host_cpu" != ia64; then
+	ld_shlibs=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.19, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support.  If you
+*** really care for shared libraries, you may want to install binutils
+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
+*** You will then need to restart the configuration process.
+
+_LT_EOF
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+            archive_expsym_cmds=''
+        ;;
+      m68k)
+            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            hardcode_libdir_flag_spec='-L$libdir'
+            hardcode_minus_L=yes
+        ;;
+      esac
+      ;;
+
+    beos*)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	allow_undefined_flag=unsupported
+	# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+	# support --undefined.  This deserves some investigation.  FIXME
+	archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      else
+	ld_shlibs=no
+      fi
+      ;;
+
+    cygwin* | mingw* | pw32* | cegcc*)
+      # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
+      # as there is no search path for DLLs.
+      hardcode_libdir_flag_spec='-L$libdir'
+      export_dynamic_flag_spec='${wl}--export-all-symbols'
+      allow_undefined_flag=unsupported
+      always_export_symbols=no
+      enable_shared_with_static_runtimes=yes
+      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
+
+      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	# If the export-symbols file already is a .def file (1st line
+	# is EXPORTS), use it as is; otherwise, prepend...
+	archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	  cp $export_symbols $output_objdir/$soname.def;
+	else
+	  echo EXPORTS > $output_objdir/$soname.def;
+	  cat $export_symbols >> $output_objdir/$soname.def;
+	fi~
+	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      else
+	ld_shlibs=no
+      fi
+      ;;
+
+    haiku*)
+      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      link_all_deplibs=yes
+      ;;
+
+    interix[3-9]*)
+      hardcode_direct=no
+      hardcode_shlibpath_var=no
+      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+      export_dynamic_flag_spec='${wl}-E'
+      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+      # Instead, shared libraries are loaded at an image base (0x10000000 by
+      # default) and relocated if they conflict, which is a slow very memory
+      # consuming and fragmenting process.  To avoid this, we pick a random,
+      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      ;;
+
+    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+      tmp_diet=no
+      if test "$host_os" = linux-dietlibc; then
+	case $cc_basename in
+	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
+	esac
+      fi
+      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+	 && test "$tmp_diet" = no
+      then
+	tmp_addflag=' $pic_flag'
+	tmp_sharedflag='-shared'
+	case $cc_basename,$host_cpu in
+        pgcc*)				# Portland Group C compiler
+	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag'
+	  ;;
+	pgf77* | pgf90* | pgf95* | pgfortran*)
+					# Portland Group f77 and f90 compilers
+	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag -Mnomain' ;;
+	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
+	  tmp_addflag=' -i_dynamic' ;;
+	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
+	  tmp_addflag=' -i_dynamic -nofor_main' ;;
+	ifc* | ifort*)			# Intel Fortran compiler
+	  tmp_addflag=' -nofor_main' ;;
+	lf95*)				# Lahey Fortran 8.1
+	  whole_archive_flag_spec=
+	  tmp_sharedflag='--shared' ;;
+	xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+	  tmp_sharedflag='-qmkshrobj'
+	  tmp_addflag= ;;
+	nvcc*)	# Cuda Compiler Driver 2.2
+	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+	  compiler_needs_object=yes
+	  ;;
+	esac
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)			# Sun C 5.9
+	  whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+	  compiler_needs_object=yes
+	  tmp_sharedflag='-G' ;;
+	*Sun\ F*)			# Sun Fortran 8.3
+	  tmp_sharedflag='-G' ;;
+	esac
+	archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+        if test "x$supports_anon_versioning" = xyes; then
+          archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+	    cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+	    echo "local: *; };" >> $output_objdir/$libname.ver~
+	    $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+        fi
+
+	case $cc_basename in
+	xlf* | bgf* | bgxlf* | mpixlf*)
+	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+	  whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
+	  hardcode_libdir_flag_spec=
+	  hardcode_libdir_flag_spec_ld='-rpath $libdir'
+	  archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
+	  if test "x$supports_anon_versioning" = xyes; then
+	    archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+	      cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+	      echo "local: *; };" >> $output_objdir/$libname.ver~
+	      $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+	  fi
+	  ;;
+	esac
+      else
+        ld_shlibs=no
+      fi
+      ;;
+
+    netbsd*)
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+	wlarc=
+      else
+	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      fi
+      ;;
+
+    solaris*)
+      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+	ld_shlibs=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	ld_shlibs=no
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+	ld_shlibs=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+	;;
+	*)
+	  # For security reasons, it is highly recommended that you always
+	  # use absolute paths for naming shared libraries, and exclude the
+	  # DT_RUNPATH tag from executables and libraries.  But doing so
+	  # requires that you compile everything twice, which is a pain.
+	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+	    archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	    archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	  else
+	    ld_shlibs=no
+	  fi
+	;;
+      esac
+      ;;
+
+    sunos4*)
+      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      wlarc=
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    *)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	ld_shlibs=no
+      fi
+      ;;
+    esac
+
+    if test "$ld_shlibs" = no; then
+      runpath_var=
+      hardcode_libdir_flag_spec=
+      export_dynamic_flag_spec=
+      whole_archive_flag_spec=
+    fi
+  else
+    # PORTME fill in a description of your system's linker (not GNU ld)
+    case $host_os in
+    aix3*)
+      allow_undefined_flag=unsupported
+      always_export_symbols=yes
+      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+      # Note: this linker hardcodes the directories in LIBPATH if there
+      # are no directories specified by -L.
+      hardcode_minus_L=yes
+      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+	# Neither direct hardcoding nor static linking is supported with a
+	# broken collect2.
+	hardcode_direct=unsupported
+      fi
+      ;;
+
+    aix[4-9]*)
+      if test "$host_cpu" = ia64; then
+	# On IA64, the linker does run time linking by default, so we don't
+	# have to do anything special.
+	aix_use_runtimelinking=no
+	exp_sym_flag='-Bexport'
+	no_entry_flag=""
+      else
+	# If we're using GNU nm, then we don't want the "-C" option.
+	# -C means demangle to AIX nm, but means don't demangle with GNU nm
+	# Also, AIX nm treats weak defined symbols like other global
+	# defined symbols, whereas GNU nm marks them as "W".
+	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+	  export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+	else
+	  export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+	fi
+	aix_use_runtimelinking=no
+
+	# Test if we are trying to use run time linking or normal
+	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
+	# need to do runtime linking.
+	case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
+	  for ld_flag in $LDFLAGS; do
+	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+	    aix_use_runtimelinking=yes
+	    break
+	  fi
+	  done
+	  ;;
+	esac
+
+	exp_sym_flag='-bexport'
+	no_entry_flag='-bnoentry'
+      fi
+
+      # When large executables or shared objects are built, AIX ld can
+      # have problems creating the table of contents.  If linking a library
+      # or program results in "error TOC overflow" add -mminimal-toc to
+      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+      archive_cmds=''
+      hardcode_direct=yes
+      hardcode_direct_absolute=yes
+      hardcode_libdir_separator=':'
+      link_all_deplibs=yes
+      file_list_spec='${wl}-f,'
+
+      if test "$GCC" = yes; then
+	case $host_os in aix4.[012]|aix4.[012].*)
+	# We only want to do this on AIX 4.2 and lower, the check
+	# below for broken collect2 doesn't work under 4.3+
+	  collect2name=`${CC} -print-prog-name=collect2`
+	  if test -f "$collect2name" &&
+	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+	  then
+	  # We have reworked collect2
+	  :
+	  else
+	  # We have old collect2
+	  hardcode_direct=unsupported
+	  # It fails to find uninstalled libraries when the uninstalled
+	  # path is not listed in the libpath.  Setting hardcode_minus_L
+	  # to unsupported forces relinking
+	  hardcode_minus_L=yes
+	  hardcode_libdir_flag_spec='-L$libdir'
+	  hardcode_libdir_separator=
+	  fi
+	  ;;
+	esac
+	shared_flag='-shared'
+	if test "$aix_use_runtimelinking" = yes; then
+	  shared_flag="$shared_flag "'${wl}-G'
+	fi
+      else
+	# not using gcc
+	if test "$host_cpu" = ia64; then
+	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+	# chokes on -Wl,-G. The following line is correct:
+	  shared_flag='-G'
+	else
+	  if test "$aix_use_runtimelinking" = yes; then
+	    shared_flag='${wl}-G'
+	  else
+	    shared_flag='${wl}-bM:SRE'
+	  fi
+	fi
+      fi
+
+      export_dynamic_flag_spec='${wl}-bexpall'
+      # It seems that -bexpall does not export symbols beginning with
+      # underscore (_), so it is better to generate a list of symbols to export.
+      always_export_symbols=yes
+      if test "$aix_use_runtimelinking" = yes; then
+	# Warning - without using the other runtime loading flags (-brtl),
+	# -berok will link without error, but may produce a broken library.
+	allow_undefined_flag='-berok'
+        # Determine the default libpath from the value encoded in an
+        # empty executable.
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+	/^0/ {
+	    s/^0  *\(.*\)$/\1/
+	    p
+	}
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+      else
+	if test "$host_cpu" = ia64; then
+	  hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+	  allow_undefined_flag="-z nodefs"
+	  archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+	else
+	 # Determine the default libpath from the value encoded in an
+	 # empty executable.
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+	/^0/ {
+	    s/^0  *\(.*\)$/\1/
+	    p
+	}
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+	 hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+	  # Warning - without using the other run time loading flags,
+	  # -berok will link without error, but may produce a broken library.
+	  no_undefined_flag=' ${wl}-bernotok'
+	  allow_undefined_flag=' ${wl}-berok'
+	  if test "$with_gnu_ld" = yes; then
+	    # We only use this code for GNU lds that support --whole-archive.
+	    whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+	  else
+	    # Exported symbols can be pulled into shared objects from archives
+	    whole_archive_flag_spec='$convenience'
+	  fi
+	  archive_cmds_need_lc=yes
+	  # This is similar to how AIX traditionally builds its shared libraries.
+	  archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+	fi
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+            archive_expsym_cmds=''
+        ;;
+      m68k)
+            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            hardcode_libdir_flag_spec='-L$libdir'
+            hardcode_minus_L=yes
+        ;;
+      esac
+      ;;
+
+    bsdi[45]*)
+      export_dynamic_flag_spec=-rdynamic
+      ;;
+
+    cygwin* | mingw* | pw32* | cegcc*)
+      # When not using gcc, we currently assume that we are using
+      # Microsoft Visual C++.
+      # hardcode_libdir_flag_spec is actually meaningless, as there is
+      # no search path for DLLs.
+      hardcode_libdir_flag_spec=' '
+      allow_undefined_flag=unsupported
+      # Tell ltmain to make .lib files, not .a files.
+      libext=lib
+      # Tell ltmain to make .dll files, not .so files.
+      shrext_cmds=".dll"
+      # FIXME: Setting linknames here is a bad hack.
+      archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+      # The linker will automatically build a .lib file if we build a DLL.
+      old_archive_from_new_cmds='true'
+      # FIXME: Should let the user specify the lib program.
+      old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
+      fix_srcfile_path='`cygpath -w "$srcfile"`'
+      enable_shared_with_static_runtimes=yes
+      ;;
+
+    darwin* | rhapsody*)
+
+
+  archive_cmds_need_lc=no
+  hardcode_direct=no
+  hardcode_automatic=yes
+  hardcode_shlibpath_var=unsupported
+  if test "$lt_cv_ld_force_load" = "yes"; then
+    whole_archive_flag_spec='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+  else
+    whole_archive_flag_spec=''
+  fi
+  link_all_deplibs=yes
+  allow_undefined_flag="$_lt_dar_allow_undefined"
+  case $cc_basename in
+     ifort*) _lt_dar_can_shared=yes ;;
+     *) _lt_dar_can_shared=$GCC ;;
+  esac
+  if test "$_lt_dar_can_shared" = "yes"; then
+    output_verbose_link_cmd=func_echo_all
+    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+    archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+    module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+
+  else
+  ld_shlibs=no
+  fi
+
+      ;;
+
+    dgux*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_shlibpath_var=no
+      ;;
+
+    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+    # support.  Future versions do this automatically, but an explicit c++rt0.o
+    # does not break anything, and helps significantly (at the cost of a little
+    # extra space).
+    freebsd2.2*)
+      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+    freebsd2.*)
+      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct=yes
+      hardcode_minus_L=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+    freebsd* | dragonfly*)
+      archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    hpux9*)
+      if test "$GCC" = yes; then
+	archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      else
+	archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      fi
+      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+      hardcode_libdir_separator=:
+      hardcode_direct=yes
+
+      # hardcode_minus_L: Not really in the search PATH,
+      # but as the default location of the library.
+      hardcode_minus_L=yes
+      export_dynamic_flag_spec='${wl}-E'
+      ;;
+
+    hpux10*)
+      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+	archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      if test "$with_gnu_ld" = no; then
+	hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+	hardcode_libdir_flag_spec_ld='+b $libdir'
+	hardcode_libdir_separator=:
+	hardcode_direct=yes
+	hardcode_direct_absolute=yes
+	export_dynamic_flag_spec='${wl}-E'
+	# hardcode_minus_L: Not really in the search PATH,
+	# but as the default location of the library.
+	hardcode_minus_L=yes
+      fi
+      ;;
+
+    hpux11*)
+      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+	case $host_cpu in
+	hppa*64*)
+	  archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      else
+	case $host_cpu in
+	hppa*64*)
+	  archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+
+	  # Older versions of the 11.00 compiler do not understand -b yet
+	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
+$as_echo_n "checking if $CC understands -b... " >&6; }
+if ${lt_cv_prog_compiler__b+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler__b=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS -b"
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&5
+       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_cv_prog_compiler__b=yes
+       fi
+     else
+       lt_cv_prog_compiler__b=yes
+     fi
+   fi
+   $RM -r conftest*
+   LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
+$as_echo "$lt_cv_prog_compiler__b" >&6; }
+
+if test x"$lt_cv_prog_compiler__b" = xyes; then
+    archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+else
+    archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+fi
+
+	  ;;
+	esac
+      fi
+      if test "$with_gnu_ld" = no; then
+	hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+	hardcode_libdir_separator=:
+
+	case $host_cpu in
+	hppa*64*|ia64*)
+	  hardcode_direct=no
+	  hardcode_shlibpath_var=no
+	  ;;
+	*)
+	  hardcode_direct=yes
+	  hardcode_direct_absolute=yes
+	  export_dynamic_flag_spec='${wl}-E'
+
+	  # hardcode_minus_L: Not really in the search PATH,
+	  # but as the default location of the library.
+	  hardcode_minus_L=yes
+	  ;;
+	esac
+      fi
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      if test "$GCC" = yes; then
+	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	# Try to use the -exported_symbol ld option, if it does not
+	# work, assume that -exports_file does not work either and
+	# implicitly export all symbols.
+        save_LDFLAGS="$LDFLAGS"
+        LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+int foo(void) {}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+        LDFLAGS="$save_LDFLAGS"
+      else
+	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+      fi
+      archive_cmds_need_lc='no'
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      inherit_rpath=yes
+      link_all_deplibs=yes
+      ;;
+
+    netbsd*)
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+      else
+	archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
+      fi
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    newsos6)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct=yes
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      hardcode_shlibpath_var=no
+      ;;
+
+    *nto* | *qnx*)
+      ;;
+
+    openbsd*)
+      if test -f /usr/libexec/ld.so; then
+	hardcode_direct=yes
+	hardcode_shlibpath_var=no
+	hardcode_direct_absolute=yes
+	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	  archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	  archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+	  hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+	  export_dynamic_flag_spec='${wl}-E'
+	else
+	  case $host_os in
+	   openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+	     archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+	     hardcode_libdir_flag_spec='-R$libdir'
+	     ;;
+	   *)
+	     archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	     hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+	     ;;
+	  esac
+	fi
+      else
+	ld_shlibs=no
+      fi
+      ;;
+
+    os2*)
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_minus_L=yes
+      allow_undefined_flag=unsupported
+      archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+      old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+      ;;
+
+    osf3*)
+      if test "$GCC" = yes; then
+	allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+	allow_undefined_flag=' -expect_unresolved \*'
+	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+      fi
+      archive_cmds_need_lc='no'
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      ;;
+
+    osf4* | osf5*)	# as osf3* with the addition of -msym flag
+      if test "$GCC" = yes; then
+	allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      else
+	allow_undefined_flag=' -expect_unresolved \*'
+	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+	archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+	$CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+
+	# Both c and cxx compiler support -rpath directly
+	hardcode_libdir_flag_spec='-rpath $libdir'
+      fi
+      archive_cmds_need_lc='no'
+      hardcode_libdir_separator=:
+      ;;
+
+    solaris*)
+      no_undefined_flag=' -z defs'
+      if test "$GCC" = yes; then
+	wlarc='${wl}'
+	archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+	  $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+      else
+	case `$CC -V 2>&1` in
+	*"Compilers 5.0"*)
+	  wlarc=''
+	  archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+	  $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+	  ;;
+	*)
+	  wlarc='${wl}'
+	  archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+	  archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+	  $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+	  ;;
+	esac
+      fi
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_shlibpath_var=no
+      case $host_os in
+      solaris2.[0-5] | solaris2.[0-5].*) ;;
+      *)
+	# The compiler driver will combine and reorder linker options,
+	# but understands `-z linker_flag'.  GCC discards it without `$wl',
+	# but is careful enough not to reorder.
+	# Supported since Solaris 2.6 (maybe 2.5.1?)
+	if test "$GCC" = yes; then
+	  whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+	else
+	  whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
+	fi
+	;;
+      esac
+      link_all_deplibs=yes
+      ;;
+
+    sunos4*)
+      if test "x$host_vendor" = xsequent; then
+	# Use $CC to link under sequent, because it throws in some extra .o
+	# files that make .init and .fini sections work.
+	archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_direct=yes
+      hardcode_minus_L=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    sysv4)
+      case $host_vendor in
+	sni)
+	  archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  hardcode_direct=yes # is this really true???
+	;;
+	siemens)
+	  ## LD is ld it makes a PLAMLIB
+	  ## CC just makes a GrossModule.
+	  archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+	  reload_cmds='$CC -r -o $output$reload_objs'
+	  hardcode_direct=no
+        ;;
+	motorola)
+	  archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+	;;
+      esac
+      runpath_var='LD_RUN_PATH'
+      hardcode_shlibpath_var=no
+      ;;
+
+    sysv4.3*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_shlibpath_var=no
+      export_dynamic_flag_spec='-Bexport'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	hardcode_shlibpath_var=no
+	runpath_var=LD_RUN_PATH
+	hardcode_runpath_var=yes
+	ld_shlibs=yes
+      fi
+      ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+      no_undefined_flag='${wl}-z,text'
+      archive_cmds_need_lc=no
+      hardcode_shlibpath_var=no
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6*)
+      # Note: We can NOT use -z defs as we might desire, because we do not
+      # link with -lc, and that would cause any symbols used from libc to
+      # always be unresolved, which means just about no library would
+      # ever link correctly.  If we're not using GNU ld we use -z text
+      # though, which does catch some bad symbols but isn't as heavy-handed
+      # as -z defs.
+      no_undefined_flag='${wl}-z,text'
+      allow_undefined_flag='${wl}-z,nodefs'
+      archive_cmds_need_lc=no
+      hardcode_shlibpath_var=no
+      hardcode_libdir_flag_spec='${wl}-R,$libdir'
+      hardcode_libdir_separator=':'
+      link_all_deplibs=yes
+      export_dynamic_flag_spec='${wl}-Bexport'
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    uts4*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_shlibpath_var=no
+      ;;
+
+    *)
+      ld_shlibs=no
+      ;;
+    esac
+
+    if test x$host_vendor = xsni; then
+      case $host in
+      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+	export_dynamic_flag_spec='${wl}-Blargedynsym'
+	;;
+      esac
+    fi
+  fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
+$as_echo "$ld_shlibs" >&6; }
+test "$ld_shlibs" = no && can_build_shared=no
+
+with_gnu_ld=$with_gnu_ld
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc" in
+x|xyes)
+  # Assume -lc should be added
+  archive_cmds_need_lc=yes
+
+  if test "$enable_shared" = yes && test "$GCC" = yes; then
+    case $archive_cmds in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+if ${lt_cv_archive_cmds_need_lc+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  $RM conftest*
+	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+	if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } 2>conftest.err; then
+	  soname=conftest
+	  lib=conftest
+	  libobjs=conftest.$ac_objext
+	  deplibs=
+	  wl=$lt_prog_compiler_wl
+	  pic_flag=$lt_prog_compiler_pic
+	  compiler_flags=-v
+	  linker_flags=-v
+	  verstring=
+	  output_objdir=.
+	  libname=conftest
+	  lt_save_allow_undefined_flag=$allow_undefined_flag
+	  allow_undefined_flag=
+	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
+  (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+	  then
+	    lt_cv_archive_cmds_need_lc=no
+	  else
+	    lt_cv_archive_cmds_need_lc=yes
+	  fi
+	  allow_undefined_flag=$lt_save_allow_undefined_flag
+	else
+	  cat conftest.err 1>&5
+	fi
+	$RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
+$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
+      archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
+      ;;
+    esac
+  fi
+  ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
+
+if test "$GCC" = yes; then
+  case $host_os in
+    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+    *) lt_awk_arg="/^libraries:/" ;;
+  esac
+  case $host_os in
+    mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
+    *) lt_sed_strip_eq="s,=/,/,g" ;;
+  esac
+  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
+  case $lt_search_path_spec in
+  *\;*)
+    # if the path contains ";" then we assume it to be the separator
+    # otherwise default to the standard path separator (i.e. ":") - it is
+    # assumed that no part of a normal pathname contains ";" but that should
+    # okay in the real world where ";" in dirpaths is itself problematic.
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
+    ;;
+  *)
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
+    ;;
+  esac
+  # Ok, now we have the path, separated by spaces, we can step through it
+  # and add multilib dir if necessary.
+  lt_tmp_lt_search_path_spec=
+  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+  for lt_sys_path in $lt_search_path_spec; do
+    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+    else
+      test -d "$lt_sys_path" && \
+	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+    fi
+  done
+  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+  lt_foo="";
+  lt_count=0;
+  for (lt_i = NF; lt_i > 0; lt_i--) {
+    if ($lt_i != "" && $lt_i != ".") {
+      if ($lt_i == "..") {
+        lt_count++;
+      } else {
+        if (lt_count == 0) {
+          lt_foo="/" $lt_i lt_foo;
+        } else {
+          lt_count--;
+        }
+      }
+    }
+  }
+  if (lt_foo != "") { lt_freq[lt_foo]++; }
+  if (lt_freq[lt_foo] == 1) { print lt_foo; }
+}'`
+  # AWK program above erroneously prepends '/' to C:/dos/paths
+  # for these hosts.
+  case $host_os in
+    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+      $SED 's,/\([A-Za-z]:\),\1,g'` ;;
+  esac
+  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
+else
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX 3 has no versioning support, so we append a major version to the name.
+  soname_spec='${libname}${release}${shared_ext}$major'
+  ;;
+
+aix[4-9]*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
+  if test "$host_cpu" = ia64; then
+    # AIX 5 supports IA64
+    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+    shlibpath_var=LD_LIBRARY_PATH
+  else
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line `#! .'.  This would cause the generated library to
+    # depend on `.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[01] | aix4.[01].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+	   echo ' yes '
+	   echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+	:
+      else
+	can_build_shared=no
+      fi
+      ;;
+    esac
+    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    if test "$aix_use_runtimelinking" = yes; then
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    else
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='${libname}${release}.a $libname.a'
+      soname_spec='${libname}${release}${shared_ext}$major'
+    fi
+    shlibpath_var=LIBPATH
+  fi
+  ;;
+
+amigaos*)
+  case $host_cpu in
+  powerpc)
+    # Since July 2007 AmigaOS4 officially supports .so libraries.
+    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    ;;
+  m68k)
+    library_names_spec='$libname.ixlibrary $libname.a'
+    # Create ${libname}_ixlibrary.a entries in /sys/libs.
+    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+    ;;
+  esac
+  ;;
+
+beos*)
+  library_names_spec='${libname}${shared_ext}'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  ;;
+
+bsdi[45]*)
+  version_type=linux
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+  version_type=windows
+  shrext_cmds=".dll"
+  need_version=no
+  need_lib_prefix=no
+
+  case $GCC,$host_os in
+  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname~
+      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+      fi'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $RM \$dlpath'
+    shlibpath_overrides_runpath=yes
+
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+
+      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
+      ;;
+    mingw* | cegcc*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      ;;
+    esac
+    ;;
+
+  *)
+    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    ;;
+  esac
+  dynamic_linker='Win32 ld.exe'
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  ;;
+
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+  soname_spec='${libname}${release}${major}$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+
+  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+  ;;
+
+dgux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[23].*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2.*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[01]* | freebsdelf3.[01]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  *) # from 4.6 on, and DragonFly
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
+
+gnu*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  ;;
+
+haiku*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  dynamic_linker="$host_os runtime_loader"
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/beos/system/lib'
+  hardcode_into_libs=yes
+  ;;
+
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    if test "X$HPUX_IA64_MODE" = X32; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+    fi
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+  hppa*64*)
+    shrext_cmds='.sl'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+  *)
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    ;;
+  esac
+  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
+  postinstall_cmds='chmod 555 $lib'
+  # or fails outright, so override atomically:
+  install_override_mode=555
+  ;;
+
+interix[3-9]*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+	if test "$lt_cv_prog_gnu_ld" = yes; then
+		version_type=linux
+	else
+		version_type=irix
+	fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  hardcode_into_libs=yes
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+
+  # Some binutils ld are patched to set DT_RUNPATH
+  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_shlibpath_overrides_runpath=no
+    save_LDFLAGS=$LDFLAGS
+    save_libdir=$libdir
+    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
+	 LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
+  lt_cv_shlibpath_overrides_runpath=yes
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+    LDFLAGS=$save_LDFLAGS
+    libdir=$save_libdir
+
+fi
+
+  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
+
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  # Append ld.so.conf contents to the search path
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+  fi
+
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
+
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
+
+newsos6)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+*nto* | *qnx*)
+  version_type=qnx
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='ldqnx.so'
+  ;;
+
+openbsd*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec="/usr/lib"
+  need_lib_prefix=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*)	need_version=yes ;;
+    *)				need_version=no  ;;
+  esac
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    case $host_os in
+      openbsd2.[89] | openbsd2.[89].*)
+	shlibpath_overrides_runpath=no
+	;;
+      *)
+	shlibpath_overrides_runpath=yes
+	;;
+      esac
+  else
+    shlibpath_overrides_runpath=yes
+  fi
+  ;;
+
+os2*)
+  libname_spec='$name'
+  shrext_cmds=".dll"
+  need_lib_prefix=no
+  library_names_spec='$libname${shared_ext} $libname.a'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=LIBPATH
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  ;;
+
+rdos*)
+  dynamic_linker=no
+  ;;
+
+solaris*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test "$with_gnu_ld" = yes; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec ;then
+    version_type=linux
+    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+    soname_spec='$libname${shared_ext}.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=freebsd-elf
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  if test "$with_gnu_ld" = yes; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+	;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
+tpf*)
+  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+uts4*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
+hardcode_action=
+if test -n "$hardcode_libdir_flag_spec" ||
+   test -n "$runpath_var" ||
+   test "X$hardcode_automatic" = "Xyes" ; then
+
+  # We can hardcode non-existent directories.
+  if test "$hardcode_direct" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
+     test "$hardcode_minus_L" != no; then
+    # Linking always hardcodes the temporary library directory.
+    hardcode_action=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    hardcode_action=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  hardcode_action=unsupported
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
+$as_echo "$hardcode_action" >&6; }
+
+if test "$hardcode_action" = relink ||
+   test "$inherit_rpath" = yes; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+
+
+
+
+
+
+  if test "x$enable_dlopen" != xyes; then
+  enable_dlopen=unknown
+  enable_dlopen_self=unknown
+  enable_dlopen_self_static=unknown
+else
+  lt_cv_dlopen=no
+  lt_cv_dlopen_libs=
+
+  case $host_os in
+  beos*)
+    lt_cv_dlopen="load_add_on"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ;;
+
+  mingw* | pw32* | cegcc*)
+    lt_cv_dlopen="LoadLibrary"
+    lt_cv_dlopen_libs=
+    ;;
+
+  cygwin*)
+    lt_cv_dlopen="dlopen"
+    lt_cv_dlopen_libs=
+    ;;
+
+  darwin*)
+  # if libdl is installed we need to link against it
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if ${ac_cv_lib_dl_dlopen+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dl_dlopen=yes
+else
+  ac_cv_lib_dl_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
+  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+
+    lt_cv_dlopen="dyld"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+
+fi
+
+    ;;
+
+  *)
+    ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
+if test "x$ac_cv_func_shl_load" = xyes; then :
+  lt_cv_dlopen="shl_load"
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
+$as_echo_n "checking for shl_load in -ldld... " >&6; }
+if ${ac_cv_lib_dld_shl_load+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shl_load ();
+int
+main ()
+{
+return shl_load ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dld_shl_load=yes
+else
+  ac_cv_lib_dld_shl_load=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
+$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
+if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
+  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
+else
+  ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
+if test "x$ac_cv_func_dlopen" = xyes; then :
+  lt_cv_dlopen="dlopen"
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if ${ac_cv_lib_dl_dlopen+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dl_dlopen=yes
+else
+  ac_cv_lib_dl_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
+  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
+$as_echo_n "checking for dlopen in -lsvld... " >&6; }
+if ${ac_cv_lib_svld_dlopen+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsvld  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_svld_dlopen=yes
+else
+  ac_cv_lib_svld_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
+$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
+if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
+  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
+$as_echo_n "checking for dld_link in -ldld... " >&6; }
+if ${ac_cv_lib_dld_dld_link+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dld_link ();
+int
+main ()
+{
+return dld_link ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dld_dld_link=yes
+else
+  ac_cv_lib_dld_dld_link=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
+$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
+if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
+  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+    ;;
+  esac
+
+  if test "x$lt_cv_dlopen" != xno; then
+    enable_dlopen=yes
+  else
+    enable_dlopen=no
+  fi
+
+  case $lt_cv_dlopen in
+  dlopen)
+    save_CPPFLAGS="$CPPFLAGS"
+    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+    save_LDFLAGS="$LDFLAGS"
+    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+    save_LIBS="$LIBS"
+    LIBS="$lt_cv_dlopen_libs $LIBS"
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
+$as_echo_n "checking whether a program can dlopen itself... " >&6; }
+if ${lt_cv_dlopen_self+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  	  if test "$cross_compiling" = yes; then :
+  lt_cv_dlopen_self=cross
+else
+  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+  lt_status=$lt_dlunknown
+  cat > conftest.$ac_ext <<_LT_EOF
+#line 12882 "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+#  define LT_DLGLOBAL		RTLD_GLOBAL
+#else
+#  ifdef DL_GLOBAL
+#    define LT_DLGLOBAL		DL_GLOBAL
+#  else
+#    define LT_DLGLOBAL		0
+#  endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+#  ifdef RTLD_LAZY
+#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
+#  else
+#    ifdef DL_LAZY
+#      define LT_DLLAZY_OR_NOW		DL_LAZY
+#    else
+#      ifdef RTLD_NOW
+#        define LT_DLLAZY_OR_NOW	RTLD_NOW
+#      else
+#        ifdef DL_NOW
+#          define LT_DLLAZY_OR_NOW	DL_NOW
+#        else
+#          define LT_DLLAZY_OR_NOW	0
+#        endif
+#      endif
+#    endif
+#  endif
+#endif
+
+/* When -fvisbility=hidden is used, assume the code has been annotated
+   correspondingly for the symbols needed.  */
+#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+void fnord () __attribute__((visibility("default")));
+#endif
+
+void fnord () { int i=42; }
+int main ()
+{
+  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+  int status = $lt_dlunknown;
+
+  if (self)
+    {
+      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
+      else
+        {
+	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
+          else puts (dlerror ());
+	}
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
+
+  return status;
+}
+_LT_EOF
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
+    (./conftest; exit; ) >&5 2>/dev/null
+    lt_status=$?
+    case x$lt_status in
+      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
+      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
+      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
+    esac
+  else :
+    # compilation failed
+    lt_cv_dlopen_self=no
+  fi
+fi
+rm -fr conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
+$as_echo "$lt_cv_dlopen_self" >&6; }
+
+    if test "x$lt_cv_dlopen_self" = xyes; then
+      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
+$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
+if ${lt_cv_dlopen_self_static+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  	  if test "$cross_compiling" = yes; then :
+  lt_cv_dlopen_self_static=cross
+else
+  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+  lt_status=$lt_dlunknown
+  cat > conftest.$ac_ext <<_LT_EOF
+#line 12988 "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+#  define LT_DLGLOBAL		RTLD_GLOBAL
+#else
+#  ifdef DL_GLOBAL
+#    define LT_DLGLOBAL		DL_GLOBAL
+#  else
+#    define LT_DLGLOBAL		0
+#  endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+#  ifdef RTLD_LAZY
+#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
+#  else
+#    ifdef DL_LAZY
+#      define LT_DLLAZY_OR_NOW		DL_LAZY
+#    else
+#      ifdef RTLD_NOW
+#        define LT_DLLAZY_OR_NOW	RTLD_NOW
+#      else
+#        ifdef DL_NOW
+#          define LT_DLLAZY_OR_NOW	DL_NOW
+#        else
+#          define LT_DLLAZY_OR_NOW	0
+#        endif
+#      endif
+#    endif
+#  endif
+#endif
+
+/* When -fvisbility=hidden is used, assume the code has been annotated
+   correspondingly for the symbols needed.  */
+#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+void fnord () __attribute__((visibility("default")));
+#endif
+
+void fnord () { int i=42; }
+int main ()
+{
+  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+  int status = $lt_dlunknown;
+
+  if (self)
+    {
+      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
+      else
+        {
+	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
+          else puts (dlerror ());
+	}
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
+
+  return status;
+}
+_LT_EOF
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
+    (./conftest; exit; ) >&5 2>/dev/null
+    lt_status=$?
+    case x$lt_status in
+      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
+      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
+      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
+    esac
+  else :
+    # compilation failed
+    lt_cv_dlopen_self_static=no
+  fi
+fi
+rm -fr conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
+$as_echo "$lt_cv_dlopen_self_static" >&6; }
+    fi
+
+    CPPFLAGS="$save_CPPFLAGS"
+    LDFLAGS="$save_LDFLAGS"
+    LIBS="$save_LIBS"
+    ;;
+  esac
+
+  case $lt_cv_dlopen_self in
+  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+  *) enable_dlopen_self=unknown ;;
+  esac
+
+  case $lt_cv_dlopen_self_static in
+  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+  *) enable_dlopen_self_static=unknown ;;
+  esac
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+striplib=
+old_striplib=
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
+$as_echo_n "checking whether stripping libraries is possible... " >&6; }
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+  case $host_os in
+  darwin*)
+    if test -n "$STRIP" ; then
+      striplib="$STRIP -x"
+      old_striplib="$STRIP -S"
+      { $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; }
+    fi
+    ;;
+  *)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+    ;;
+  esac
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+  # Report which library types will actually be built
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
+$as_echo_n "checking if libtool supports shared libraries... " >&6; }
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
+$as_echo "$can_build_shared" >&6; }
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
+$as_echo_n "checking whether to build shared libraries... " >&6; }
+  test "$can_build_shared" = "no" && enable_shared=no
+
+  # On AIX, shared libraries and static libraries use the same namespace, and
+  # are all built from PIC.
+  case $host_os in
+  aix3*)
+    test "$enable_shared" = yes && enable_static=no
+    if test -n "$RANLIB"; then
+      archive_cmds="$archive_cmds~\$RANLIB \$lib"
+      postinstall_cmds='$RANLIB $lib'
+    fi
+    ;;
+
+  aix[4-9]*)
+    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+      test "$enable_shared" = yes && enable_static=no
+    fi
+    ;;
+  esac
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
+$as_echo "$enable_shared" >&6; }
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
+$as_echo_n "checking whether to build static libraries... " >&6; }
+  # Make sure either enable_shared or enable_static is yes.
+  test "$enable_shared" = yes || enable_static=yes
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
+$as_echo "$enable_static" >&6; }
+
+
+
+
+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
+
+CC="$lt_save_CC"
+
+
+
+
+
+
+
+
+
+
+
+
+
+        ac_config_commands="$ac_config_commands libtool"
+
+
+
+
+# Only expand once:
+
+
+
+
+. ${srcdir}/../../bfd/configure.host
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
+$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
+    # Check whether --enable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then :
+  enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
+else
+  USE_MAINTAINER_MODE=no
+fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
+$as_echo "$USE_MAINTAINER_MODE" >&6; }
+   if test $USE_MAINTAINER_MODE = yes; then
+  MAINTAINER_MODE_TRUE=
+  MAINTAINER_MODE_FALSE='#'
+else
+  MAINTAINER_MODE_TRUE='#'
+  MAINTAINER_MODE_FALSE=
+fi
+
+  MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sim debug setting" >&5
+$as_echo_n "checking for sim debug setting... " >&6; }
+sim_debug="0"
+# Check whether --enable-sim-debug was given.
+if test "${enable_sim_debug+set}" = set; then :
+  enableval=$enable_sim_debug; case "${enableval}" in
+  yes) sim_debug="7";;
+  no)  sim_debug="0";;
+  *)   sim_debug="($enableval)";;
+esac
+fi
+if test "$sim_debug" != "0"; then
+
+cat >>confdefs.h <<_ACEOF
+#define DEBUG $sim_debug
+_ACEOF
+
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define WITH_DEBUG $sim_debug
+_ACEOF
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sim_debug" >&5
+$as_echo "$sim_debug" >&6; }
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sim stdio debug behavior" >&5
+$as_echo_n "checking for sim stdio debug behavior... " >&6; }
+sim_stdio="0"
+# Check whether --enable-sim-stdio was given.
+if test "${enable_sim_stdio+set}" = set; then :
+  enableval=$enable_sim_stdio; case "${enableval}" in
+  yes)	sim_stdio="DO_USE_STDIO";;
+  no)	sim_stdio="DONT_USE_STDIO";;
+  *)	as_fn_error $? "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
+esac
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define WITH_STDIO $sim_stdio
+_ACEOF
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sim_stdio" >&5
+$as_echo "$sim_stdio" >&6; }
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sim trace settings" >&5
+$as_echo_n "checking for sim trace settings... " >&6; }
+sim_trace="~TRACE_debug"
+# Check whether --enable-sim-trace was given.
+if test "${enable_sim_trace+set}" = set; then :
+  enableval=$enable_sim_trace; case "${enableval}" in
+  yes)	sim_trace="-1";;
+  no)	sim_trace="0";;
+  [-0-9]*)
+	sim_trace="'(${enableval})'";;
+  [[:lower:]]*)
+	sim_trace=""
+	for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
+	  if test x"$sim_trace" = x; then
+	    sim_trace="(TRACE_$x"
+	  else
+	    sim_trace="${sim_trace}|TRACE_$x"
+	  fi
+	done
+	sim_trace="$sim_trace)" ;;
+esac
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define WITH_TRACE $sim_trace
+_ACEOF
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sim_trace" >&5
+$as_echo "$sim_trace" >&6; }
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sim profile settings" >&5
+$as_echo_n "checking for sim profile settings... " >&6; }
+profile="1"
+sim_profile="-1"
+# Check whether --enable-sim-profile was given.
+if test "${enable_sim_profile+set}" = set; then :
+  enableval=$enable_sim_profile; case "${enableval}" in
+  yes)	profile="1" sim_profile="-1";;
+  no)	profile="0" sim_profile="0";;
+  [-0-9]*)
+	profile="(${enableval})" sim_profile="(${enableval})";;
+  [a-z]*)
+    profile="1"
+	sim_profile=""
+	for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
+	  if test x"$sim_profile" = x; then
+	    sim_profile="(PROFILE_$x"
+	  else
+	    sim_profile="${sim_profile}|PROFILE_$x"
+	  fi
+	done
+	sim_profile="$sim_profile)" ;;
+esac
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define PROFILE $profile
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define WITH_PROFILE $sim_profile
+_ACEOF
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sim_profile" >&5
+$as_echo "$sim_profile" >&6; }
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable sim asserts" >&5
+$as_echo_n "checking whether to enable sim asserts... " >&6; }
+sim_assert="1"
+# Check whether --enable-sim-assert was given.
+if test "${enable_sim_assert+set}" = set; then :
+  enableval=$enable_sim_assert; case "${enableval}" in
+  yes)	sim_assert="1";;
+  no)	sim_assert="0";;
+  *)	as_fn_error $? "--enable-sim-assert does not take a value" "$LINENO" 5;;
+esac
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define WITH_ASSERT $sim_assert
+_ACEOF
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sim_assert" >&5
+$as_echo "$sim_assert" >&6; }
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking default sim environment setting" >&5
+$as_echo_n "checking default sim environment setting... " >&6; }
+sim_environment="ALL_ENVIRONMENT"
+# Check whether --enable-sim-environment was given.
+if test "${enable_sim_environment+set}" = set; then :
+  enableval=$enable_sim_environment; case "${enableval}" in
+  all | ALL)             sim_environment="ALL_ENVIRONMENT";;
+  user | USER)           sim_environment="USER_ENVIRONMENT";;
+  virtual | VIRTUAL)     sim_environment="VIRTUAL_ENVIRONMENT";;
+  operating | OPERATING) sim_environment="OPERATING_ENVIRONMENT";;
+  *)   as_fn_error $? "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
+esac
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define WITH_ENVIRONMENT $sim_environment
+_ACEOF
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sim_environment" >&5
+$as_echo "$sim_environment" >&6; }
+
+
+sim_inline="-DDEFAULT_INLINE=0"
+# Check whether --enable-sim-inline was given.
+if test "${enable_sim_inline+set}" = set; then :
+  enableval=$enable_sim_inline; sim_inline=""
+case "$enableval" in
+  no)		sim_inline="-DDEFAULT_INLINE=0";;
+  0)		sim_inline="-DDEFAULT_INLINE=0";;
+  yes | 2)	sim_inline="-DDEFAULT_INLINE=ALL_C_INLINE";;
+  1)		sim_inline="-DDEFAULT_INLINE=INLINE_LOCALS";;
+  *) for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
+       new_flag=""
+       case "$x" in
+	 *_INLINE=*)	new_flag="-D$x";;
+	 *=*)		new_flag=`echo "$x" | sed -e "s/=/_INLINE=/" -e "s/^/-D/"`;;
+	 *_INLINE)	new_flag="-D$x=ALL_C_INLINE";;
+	 *)		new_flag="-D$x""_INLINE=ALL_C_INLINE";;
+       esac
+       if test x"$sim_inline" = x""; then
+	 sim_inline="$new_flag"
+       else
+	 sim_inline="$sim_inline $new_flag"
+       fi
+     done;;
+esac
+if test x"$silent" != x"yes" && test x"$sim_inline" != x""; then
+  echo "Setting inline flags = $sim_inline" 6>&1
+fi
+fi
+
+
+
+
+# Check whether --with-pkgversion was given.
+if test "${with_pkgversion+set}" = set; then :
+  withval=$with_pkgversion; case "$withval" in
+      yes) as_fn_error $? "package version not specified" "$LINENO" 5 ;;
+      no)  PKGVERSION= ;;
+      *)   PKGVERSION="($withval) " ;;
+     esac
+else
+  PKGVERSION="(SIM) "
+
+fi
+
+
+
+
+
+# Check whether --with-bugurl was given.
+if test "${with_bugurl+set}" = set; then :
+  withval=$with_bugurl; case "$withval" in
+      yes) as_fn_error $? "bug URL not specified" "$LINENO" 5 ;;
+      no)  BUGURL=
+	   ;;
+      *)   BUGURL="$withval"
+	   ;;
+     esac
+else
+  BUGURL="http://www.gnu.org/software/gdb/bugs/"
+
+fi
+
+  case ${BUGURL} in
+  "")
+    REPORT_BUGS_TO=
+    REPORT_BUGS_TEXI=
+    ;;
+  *)
+    REPORT_BUGS_TO="<$BUGURL>"
+    REPORT_BUGS_TEXI=@uref{`echo "$BUGURL" | sed 's/@/@@/g'`}
+    ;;
+  esac;
+
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define PKGVERSION "$PKGVERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define REPORT_BUGS_TO "$REPORT_BUGS_TO"
+_ACEOF
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
+$as_echo_n "checking return type of signal handlers... " >&6; }
+if ${ac_cv_type_signal+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+#include <signal.h>
+
+int
+main ()
+{
+return *(signal (0, 0)) (0) == 1;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_type_signal=int
+else
+  ac_cv_type_signal=void
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_signal" >&5
+$as_echo "$ac_cv_type_signal" >&6; }
+
+cat >>confdefs.h <<_ACEOF
+#define RETSIGTYPE $ac_cv_type_signal
+_ACEOF
+
+
+
+
+
+
+
+
+wire_endian="LITTLE"
+default_endian=""
+# Check whether --enable-sim-endian was given.
+if test "${enable_sim_endian+set}" = set; then :
+  enableval=$enable_sim_endian; case "${enableval}" in
+  b*|B*) sim_endian="-DWITH_TARGET_BYTE_ORDER=BFD_ENDIAN_BIG";;
+  l*|L*) sim_endian="-DWITH_TARGET_BYTE_ORDER=BFD_ENDIAN_LITTLE";;
+  yes)	 if test x"$wire_endian" != x; then
+	   sim_endian="-DWITH_TARGET_BYTE_ORDER=BFD_ENDIAN_${wire_endian}"
+	 else
+	  if test x"$default_endian" != x; then
+	     sim_endian="-DWITH_TARGET_BYTE_ORDER=BFD_ENDIAN_${default_endian}"
+	   else
+	     echo "No hard-wired endian for target $target" 1>&6
+	     sim_endian="-DWITH_TARGET_BYTE_ORDER=BFD_ENDIAN_UNKNOWN"
+	   fi
+	 fi;;
+  no)	 if test x"$default_endian" != x; then
+	   sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=BFD_ENDIAN_${default_endian}"
+	 else
+	   if test x"$wire_endian" != x; then
+	     sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=BFD_ENDIAN_${wire_endian}"
+	   else
+	     echo "No default endian for target $target" 1>&6
+	     sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=BFD_ENDIAN_UNKNOWN"
+	   fi
+	 fi;;
+  *)	 as_fn_error $? "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
+esac
+if test x"$silent" != x"yes" && test x"$sim_endian" != x""; then
+  echo "Setting endian flags = $sim_endian" 6>&1
+fi
+else
+  if test x"$default_endian" != x; then
+  sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=BFD_ENDIAN_${default_endian}"
+else
+  if test x"$wire_endian" != x; then
+    sim_endian="-DWITH_TARGET_BYTE_ORDER=BFD_ENDIAN_${wire_endian}"
+  else
+    sim_endian=
+  fi
+fi
+fi
+
+wire_alignment="STRICT_ALIGNMENT"
+default_alignment="STRICT_ALIGNMENT"
+
+# Check whether --enable-sim-alignment was given.
+if test "${enable_sim_alignment+set}" = set; then :
+  enableval=$enable_sim_alignment; case "${enableval}" in
+  strict | STRICT)       sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
+  nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
+  forced | FORCED)       sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
+  yes) if test x"$wire_alignment" != x; then
+	 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
+       else
+         if test x"$default_alignment" != x; then
+           sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
+         else
+	   echo "No hard-wired alignment for target $target" 1>&6
+	   sim_alignment="-DWITH_ALIGNMENT=0"
+         fi
+       fi;;
+  no)  if test x"$default_alignment" != x; then
+	 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
+       else
+         if test x"$wire_alignment" != x; then
+	   sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
+         else
+           echo "No default alignment for target $target" 1>&6
+           sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
+         fi
+       fi;;
+  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
+esac
+if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
+  echo "Setting alignment flags = $sim_alignment" 6>&1
+fi
+else
+  if test x"$default_alignment" != x; then
+  sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
+else
+  if test x"$wire_alignment" != x; then
+    sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
+  else
+    sim_alignment=
+  fi
+fi
+fi
+
+
+# Check whether --enable-werror was given.
+if test "${enable_werror+set}" = set; then :
+  enableval=$enable_werror; case "${enableval}" in
+     yes | y) ERROR_ON_WARNING="yes" ;;
+     no | n)  ERROR_ON_WARNING="no" ;;
+     *) as_fn_error $? "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
+   esac
+fi
+
+
+# Enable -Werror by default when using gcc
+if test "${GCC}" = yes -a -z "${ERROR_ON_WARNING}" ; then
+    ERROR_ON_WARNING=yes
+fi
+
+WERROR_CFLAGS=""
+if test "${ERROR_ON_WARNING}" = yes ; then
+# NOTE: Disabled in the sim dir due to most sims generating warnings.
+#    WERROR_CFLAGS="-Werror"
+     true
+fi
+
+build_warnings="-Wall -Wdeclaration-after-statement -Wpointer-arith \
+-Wpointer-sign \
+-Wno-unused -Wunused-value -Wunused-function \
+-Wno-switch -Wno-char-subscripts -Wmissing-prototypes
+-Wdeclaration-after-statement -Wempty-body -Wmissing-parameter-type \
+-Wold-style-declaration -Wold-style-definition"
+
+# Enable -Wno-format by default when using gcc on mingw since many
+# GCC versions complain about %I64.
+case "${host}" in
+  *-*-mingw32*) build_warnings="$build_warnings -Wno-format" ;;
+  *) build_warnings="$build_warnings -Wformat-nonliteral" ;;
+esac
+
+# Check whether --enable-build-warnings was given.
+if test "${enable_build_warnings+set}" = set; then :
+  enableval=$enable_build_warnings; case "${enableval}" in
+  yes)	;;
+  no)	build_warnings="-w";;
+  ,*)   t=`echo "${enableval}" | sed -e "s/,/ /g"`
+        build_warnings="${build_warnings} ${t}";;
+  *,)   t=`echo "${enableval}" | sed -e "s/,/ /g"`
+        build_warnings="${t} ${build_warnings}";;
+  *)    build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
+esac
+if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
+  echo "Setting compiler warning flags = $build_warnings" 6>&1
+fi
+fi
+# Check whether --enable-sim-build-warnings was given.
+if test "${enable_sim_build_warnings+set}" = set; then :
+  enableval=$enable_sim_build_warnings; case "${enableval}" in
+  yes)	;;
+  no)	build_warnings="-w";;
+  ,*)   t=`echo "${enableval}" | sed -e "s/,/ /g"`
+        build_warnings="${build_warnings} ${t}";;
+  *,)   t=`echo "${enableval}" | sed -e "s/,/ /g"`
+        build_warnings="${t} ${build_warnings}";;
+  *)    build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
+esac
+if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
+  echo "Setting GDB specific compiler warning flags = $build_warnings" 6>&1
+fi
+fi
+WARN_CFLAGS=""
+if test "x${build_warnings}" != x -a "x$GCC" = xyes
+then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking compiler warning flags" >&5
+$as_echo_n "checking compiler warning flags... " >&6; }
+    # Separate out the -Werror flag as some files just cannot be
+    # compiled with it enabled.
+    for w in ${build_warnings}; do
+	case $w in
+	-Werr*) WERROR_CFLAGS=-Werror ;;
+	*) # Check that GCC accepts it
+	    saved_CFLAGS="$CFLAGS"
+	    CFLAGS="$CFLAGS $w"
+	    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  WARN_CFLAGS="${WARN_CFLAGS} $w"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+	    CFLAGS="$saved_CFLAGS"
+	esac
+    done
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${WARN_CFLAGS} ${WERROR_CFLAGS}" >&5
+$as_echo "${WARN_CFLAGS} ${WERROR_CFLAGS}" >&6; }
+fi
+
+
+
+cgen_breaks=""
+if grep CGEN_MAINT $srcdir/Makefile.in >/dev/null; then
+cgen_breaks="break cgen_rtx_error";
+fi
+
+ac_config_files="$ac_config_files Makefile.sim:Makefile.in"
+
+ac_config_files="$ac_config_files Make-common.sim:../common/Make-common.in"
+
+ac_config_files="$ac_config_files .gdbinit:../common/gdbinit.in"
+
+ac_config_commands="$ac_config_commands Makefile"
+
+ac_config_commands="$ac_config_commands stamp-h"
+
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems.  If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, we kill variables containing newlines.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(
+  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+      *) { eval $ac_var=; unset $ac_var;} ;;
+      esac ;;
+    esac
+  done
+
+  (set) 2>&1 |
+    case $as_nl`(ac_space=' '; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
+      # `set' does not quote correctly, so add quotes: double-quote
+      # substitution turns \\\\ into \\, and sed turns \\ into \.
+      sed -n \
+	"s/'/'\\\\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+      ;; #(
+    *)
+      # `set' quotes correctly as required by POSIX, so do not add quotes.
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+      ;;
+    esac |
+    sort
+) |
+  sed '
+     /^ac_cv_env_/b end
+     t clear
+     :clear
+     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+     t end
+     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+  if test -w "$cache_file"; then
+    if test "x$cache_file" != "x/dev/null"; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
+  else
+    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+  fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+DEFS=-DHAVE_CONFIG_H
+
+ac_libobjs=
+ac_ltlibobjs=
+U=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+  # 1. Remove the extension, and $U if already installed.
+  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
+  #    will be set to the directory where LIBOBJS objects are built.
+  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+
+if test -z "${GMAKE_TRUE}" && test -z "${GMAKE_FALSE}"; then
+  as_fn_error $? "conditional \"GMAKE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${PLUGINS_TRUE}" && test -z "${PLUGINS_FALSE}"; then
+  as_fn_error $? "conditional \"PLUGINS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
+  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+
+: "${CONFIG_STATUS=./config.status}"
+ac_write_fail=0
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+as_write_fail=0
+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='print -r --'
+  as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='printf %s\n'
+  as_echo_n='printf %s'
+else
+  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+    as_echo_n='/usr/ucb/echo -n'
+  else
+    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+    as_echo_n_body='eval
+      arg=$1;
+      case $arg in #(
+      *"$as_nl"*)
+	expr "X$arg" : "X\\(.*\\)$as_nl";
+	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+      esac;
+      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+    '
+    export as_echo_n_body
+    as_echo_n='sh -c $as_echo_n_body as_echo'
+  fi
+  export as_echo_body
+  as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+      PATH_SEPARATOR=';'
+  }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" ""	$as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there.  '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+  fi
+  $as_echo "$as_me: error: $2" >&2
+  as_fn_exit $as_status
+} # as_fn_error
+
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+  { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+  eval 'as_fn_append ()
+  {
+    eval $1+=\$2
+  }'
+else
+  as_fn_append ()
+  {
+    eval $1=\$$1\$2
+  }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+  eval 'as_fn_arith ()
+  {
+    as_val=$(( $* ))
+  }'
+else
+  as_fn_arith ()
+  {
+    as_val=`expr "$@" || test $? -eq 1`
+  }
+fi # as_fn_arith
+
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+  case `echo 'xy\c'` in
+  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
+  xy)  ECHO_C='\c';;
+  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
+       ECHO_T='	';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+  if ln -s conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s='ln -s'
+    # ... but there are two gotchas:
+    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+    # In both cases, we have to default to `cp -pR'.
+    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+      as_ln_s='cp -pR'
+  elif ln conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s=ln
+  else
+    as_ln_s='cp -pR'
+  fi
+else
+  as_ln_s='cp -pR'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || eval $as_mkdir_p || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p='mkdir -p "$as_dir"'
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+## ----------------------------------- ##
+## Main body of $CONFIG_STATUS script. ##
+## ----------------------------------- ##
+_ASEOF
+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# Save the log message, to keep $0 and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by $as_me, which was
+generated by GNU Autoconf 2.69.  Invocation command line was
+
+  CONFIG_FILES    = $CONFIG_FILES
+  CONFIG_HEADERS  = $CONFIG_HEADERS
+  CONFIG_LINKS    = $CONFIG_LINKS
+  CONFIG_COMMANDS = $CONFIG_COMMANDS
+  $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
+
+case $ac_config_headers in *"
+"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
+esac
+
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+# Files that config.status was made for.
+config_files="$ac_config_files"
+config_headers="$ac_config_headers"
+config_commands="$ac_config_commands"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ac_cs_usage="\
+\`$as_me' instantiates files and other configuration actions
+from templates according to the current configuration.  Unless the files
+and actions are specified as TAGs, all are instantiated by default.
+
+Usage: $0 [OPTION]... [TAG]...
+
+  -h, --help       print this help, then exit
+  -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
+  -q, --quiet, --silent
+                   do not print progress messages
+  -d, --debug      don't remove temporary files
+      --recheck    update $as_me by reconfiguring in the same conditions
+      --file=FILE[:TEMPLATE]
+                   instantiate the configuration file FILE
+      --header=FILE[:TEMPLATE]
+                   instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to the package provider."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
+AWK='$AWK'
+test -n "\$AWK" || AWK=awk
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
+ac_need_defaults=:
+while test $# != 0
+do
+  case $1 in
+  --*=?*)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+    ac_shift=:
+    ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
+  *)
+    ac_option=$1
+    ac_optarg=$2
+    ac_shift=shift
+    ;;
+  esac
+
+  case $ac_option in
+  # Handling of the options.
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    ac_cs_recheck=: ;;
+  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+    $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
+  --debug | --debu | --deb | --de | --d | -d )
+    debug=: ;;
+  --file | --fil | --fi | --f )
+    $ac_shift
+    case $ac_optarg in
+    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
+    esac
+    as_fn_append CONFIG_FILES " '$ac_optarg'"
+    ac_need_defaults=false;;
+  --header | --heade | --head | --hea )
+    $ac_shift
+    case $ac_optarg in
+    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
+    ac_need_defaults=false;;
+  --he | --h)
+    # Conflict between --help and --header
+    as_fn_error $? "ambiguous option: \`$1'
+Try \`$0 --help' for more information.";;
+  --help | --hel | -h )
+    $as_echo "$ac_cs_usage"; exit ;;
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil | --si | --s)
+    ac_cs_silent=: ;;
+
+  # This is an error.
+  -*) as_fn_error $? "unrecognized option: \`$1'
+Try \`$0 --help' for more information." ;;
+
+  *) as_fn_append ac_config_targets " $1"
+     ac_need_defaults=false ;;
+
+  esac
+  shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+  exec 6>/dev/null
+  ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+if \$ac_cs_recheck; then
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  shift
+  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+  CONFIG_SHELL='$SHELL'
+  export CONFIG_SHELL
+  exec "\$@"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+exec 5>>config.log
+{
+  echo
+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+  $as_echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+#
+# INIT-COMMANDS
+#
+ac_aux_dir=$ac_aux_dir DEPDIR=$DEPDIR
+
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
+macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
+enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
+enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
+pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
+enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
+SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
+ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
+host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
+host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
+host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
+build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
+build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
+build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
+SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
+Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
+GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
+EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
+FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
+LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
+NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
+LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
+max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
+ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
+exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
+lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
+lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
+reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
+reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
+OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
+deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
+file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
+AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
+AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
+STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
+RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
+old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
+old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
+lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
+CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
+CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
+compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
+GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
+objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
+MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
+need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
+DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
+NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
+LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
+OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
+OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
+libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
+shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
+extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
+archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
+export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
+whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
+compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
+old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
+archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
+archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
+module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
+module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
+with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
+allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
+no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
+hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
+hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
+hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
+hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
+hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
+inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
+link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
+fix_srcfile_path='`$ECHO "$fix_srcfile_path" | $SED "$delay_single_quote_subst"`'
+always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
+export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
+exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
+include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
+prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
+file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
+variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
+need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
+need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
+version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
+runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
+shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
+shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
+libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
+library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
+soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
+install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
+postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
+finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
+finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
+hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
+sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
+sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
+hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
+enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
+enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
+enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
+old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
+striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
+
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+  eval 'cat <<_LTECHO_EOF
+\$1
+_LTECHO_EOF'
+}
+
+# Quote evaled strings.
+for var in SHELL \
+ECHO \
+SED \
+GREP \
+EGREP \
+FGREP \
+LD \
+NM \
+LN_S \
+lt_SP2NL \
+lt_NL2SP \
+reload_flag \
+OBJDUMP \
+deplibs_check_method \
+file_magic_cmd \
+AR \
+AR_FLAGS \
+STRIP \
+RANLIB \
+CC \
+CFLAGS \
+compiler \
+lt_cv_sys_global_symbol_pipe \
+lt_cv_sys_global_symbol_to_cdecl \
+lt_cv_sys_global_symbol_to_c_name_address \
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
+lt_prog_compiler_no_builtin_flag \
+lt_prog_compiler_wl \
+lt_prog_compiler_pic \
+lt_prog_compiler_static \
+lt_cv_prog_compiler_c_o \
+need_locks \
+DSYMUTIL \
+NMEDIT \
+LIPO \
+OTOOL \
+OTOOL64 \
+shrext_cmds \
+export_dynamic_flag_spec \
+whole_archive_flag_spec \
+compiler_needs_object \
+with_gnu_ld \
+allow_undefined_flag \
+no_undefined_flag \
+hardcode_libdir_flag_spec \
+hardcode_libdir_flag_spec_ld \
+hardcode_libdir_separator \
+fix_srcfile_path \
+exclude_expsyms \
+include_expsyms \
+file_list_spec \
+variables_saved_for_relink \
+libname_spec \
+library_names_spec \
+soname_spec \
+install_override_mode \
+finish_eval \
+old_striplib \
+striplib; do
+    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+    *[\\\\\\\`\\"\\\$]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+      ;;
+    *)
+      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+      ;;
+    esac
+done
+
+# Double-quote double-evaled strings.
+for var in reload_cmds \
+old_postinstall_cmds \
+old_postuninstall_cmds \
+old_archive_cmds \
+extract_expsyms_cmds \
+old_archive_from_new_cmds \
+old_archive_from_expsyms_cmds \
+archive_cmds \
+archive_expsym_cmds \
+module_cmds \
+module_expsym_cmds \
+export_symbols_cmds \
+prelink_cmds \
+postinstall_cmds \
+postuninstall_cmds \
+finish_cmds \
+sys_lib_search_path_spec \
+sys_lib_dlsearch_path_spec; do
+    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+    *[\\\\\\\`\\"\\\$]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+      ;;
+    *)
+      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+      ;;
+    esac
+done
+
+ac_aux_dir='$ac_aux_dir'
+xsi_shell='$xsi_shell'
+lt_shell_append='$lt_shell_append'
+
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}" ; then
+   setopt NO_GLOB_SUBST
+fi
+
+
+    PACKAGE='$PACKAGE'
+    VERSION='$VERSION'
+    TIMESTAMP='$TIMESTAMP'
+    RM='$RM'
+    ofile='$ofile'
+
+
+
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+  case $ac_config_target in
+    "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:config.in" ;;
+    "depdir") CONFIG_COMMANDS="$CONFIG_COMMANDS depdir" ;;
+    "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
+    "Makefile.sim") CONFIG_FILES="$CONFIG_FILES Makefile.sim:Makefile.in" ;;
+    "Make-common.sim") CONFIG_FILES="$CONFIG_FILES Make-common.sim:../common/Make-common.in" ;;
+    ".gdbinit") CONFIG_FILES="$CONFIG_FILES .gdbinit:../common/gdbinit.in" ;;
+    "Makefile") CONFIG_COMMANDS="$CONFIG_COMMANDS Makefile" ;;
+    "stamp-h") CONFIG_COMMANDS="$CONFIG_COMMANDS stamp-h" ;;
+
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used.  Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Have a temporary directory for convenience.  Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+  tmp= ac_tmp=
+  trap 'exit_status=$?
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
+' 0
+  trap 'as_fn_exit 1' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+  test -d "$tmp"
+}  ||
+{
+  tmp=./conf$$-$RANDOM
+  (umask 077 && mkdir "$tmp")
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
+
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
+if test -n "$CONFIG_FILES"; then
+
+
+ac_cr=`echo X | tr X '\015'`
+# On cygwin, bash can eat \r inside `` if the user requested igncr.
+# But we know of no other shell where ac_cr would be empty at this
+# point, so we can use a bashism as a fallback.
+if test "x$ac_cr" = x; then
+  eval ac_cr=\$\'\\r\'
+fi
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+  ac_cs_awk_cr='\\r'
+else
+  ac_cs_awk_cr=$ac_cr
+fi
+
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
+_ACEOF
+
+
+{
+  echo "cat >conf$$subs.awk <<_ACEOF" &&
+  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+  echo "_ACEOF"
+} >conf$$subs.sh ||
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+  . ./conf$$subs.sh ||
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+
+  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+  if test $ac_delim_n = $ac_delim_num; then
+    break
+  elif $ac_last_try; then
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+  fi
+done
+rm -f conf$$subs.sh
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\)..*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\)..*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+  N
+  s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
+  for (key in S) S_is_set[key] = 1
+  FS = ""
+
+}
+{
+  line = $ 0
+  nfields = split(line, field, "@")
+  substed = 0
+  len = length(field[1])
+  for (i = 2; i < nfields; i++) {
+    key = field[i]
+    keylen = length(key)
+    if (S_is_set[key]) {
+      value = S[key]
+      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+      len += length(value) + length(field[++i])
+      substed = 1
+    } else
+      len += 1 + keylen
+  }
+
+  print line
+}
+
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+  cat
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
+_ACEOF
+
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
+s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
+s/^[^=]*=[	 ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+fi # test -n "$CONFIG_FILES"
+
+# Set up the scripts for CONFIG_HEADERS section.
+# No need to generate them if there are no CONFIG_HEADERS.
+# This happens for instance with `./config.status Makefile'.
+if test -n "$CONFIG_HEADERS"; then
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
+BEGIN {
+_ACEOF
+
+# Transform confdefs.h into an awk script `defines.awk', embedded as
+# here-document in config.status, that substitutes the proper values into
+# config.h.in to produce config.h.
+
+# Create a delimiter string that does not exist in confdefs.h, to ease
+# handling of long lines.
+ac_delim='%!_!# '
+for ac_last_try in false false :; do
+  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_tt"; then
+    break
+  elif $ac_last_try; then
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+  fi
+done
+
+# For the awk script, D is an array of macro values keyed by name,
+# likewise P contains macro parameters if any.  Preserve backslash
+# newline sequences.
+
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+sed -n '
+s/.\{148\}/&'"$ac_delim"'/g
+t rset
+:rset
+s/^[	 ]*#[	 ]*define[	 ][	 ]*/ /
+t def
+d
+:def
+s/\\$//
+t bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[	 ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3"/p
+s/^ \('"$ac_word_re"'\)[	 ]*\(.*\)/D["\1"]=" \2"/p
+d
+:bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[	 ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3\\\\\\n"\\/p
+t cont
+s/^ \('"$ac_word_re"'\)[	 ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
+t cont
+d
+:cont
+n
+s/.\{148\}/&'"$ac_delim"'/g
+t clear
+:clear
+s/\\$//
+t bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/"/p
+d
+:bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
+b cont
+' <confdefs.h | sed '
+s/'"$ac_delim"'/"\\\
+"/g' >>$CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+  for (key in D) D_is_set[key] = 1
+  FS = ""
+}
+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
+  line = \$ 0
+  split(line, arg, " ")
+  if (arg[1] == "#") {
+    defundef = arg[2]
+    mac1 = arg[3]
+  } else {
+    defundef = substr(arg[1], 2)
+    mac1 = arg[2]
+  }
+  split(mac1, mac2, "(") #)
+  macro = mac2[1]
+  prefix = substr(line, 1, index(line, defundef) - 1)
+  if (D_is_set[macro]) {
+    # Preserve the white space surrounding the "#".
+    print prefix "define", macro P[macro] D[macro]
+    next
+  } else {
+    # Replace #undef with comments.  This is necessary, for example,
+    # in the case of _POSIX_SOURCE, which is predefined and required
+    # on some systems where configure will not decide to define it.
+    if (defundef == "undef") {
+      print "/*", prefix defundef, macro, "*/"
+      next
+    }
+  }
+}
+{ print }
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
+fi # test -n "$CONFIG_HEADERS"
+
+
+eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS    :C $CONFIG_COMMANDS"
+shift
+for ac_tag
+do
+  case $ac_tag in
+  :[FHLC]) ac_mode=$ac_tag; continue;;
+  esac
+  case $ac_mode$ac_tag in
+  :[FHL]*:*);;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :[FH]-) ac_tag=-:-;;
+  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+  esac
+  ac_save_IFS=$IFS
+  IFS=:
+  set x $ac_tag
+  IFS=$ac_save_IFS
+  shift
+  ac_file=$1
+  shift
+
+  case $ac_mode in
+  :L) ac_source=$1;;
+  :[FH])
+    ac_file_inputs=
+    for ac_f
+    do
+      case $ac_f in
+      -) ac_f="$ac_tmp/stdin";;
+      *) # Look for the file first in the build tree, then in the source tree
+	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
+	 # because $ac_f cannot contain `:'.
+	 test -f "$ac_f" ||
+	   case $ac_f in
+	   [\\/$]*) false;;
+	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+	   esac ||
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+      esac
+      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+      as_fn_append ac_file_inputs " '$ac_f'"
+    done
+
+    # Let's still pretend it is `configure' which instantiates (i.e., don't
+    # use $as_me), people would be surprised to read:
+    #    /* config.h.  Generated by config.status.  */
+    configure_input='Generated from '`
+	  $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+	`' by configure.'
+    if test x"$ac_file" != x-; then
+      configure_input="$ac_file.  $configure_input"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
+    fi
+    # Neutralize special characters interpreted by sed in replacement strings.
+    case $configure_input in #(
+    *\&* | *\|* | *\\* )
+       ac_sed_conf_input=`$as_echo "$configure_input" |
+       sed 's/[\\\\&|]/\\\\&/g'`;; #(
+    *) ac_sed_conf_input=$configure_input;;
+    esac
+
+    case $ac_tag in
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
+    esac
+    ;;
+  esac
+
+  ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$ac_file" : 'X\(//\)[^/]' \| \
+	 X"$ac_file" : 'X\(//\)$' \| \
+	 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+  as_dir="$ac_dir"; as_fn_mkdir_p
+  ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+  case $ac_mode in
+  :F)
+  #
+  # CONFIG_FILE
+  #
+
+  case $INSTALL in
+  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+  esac
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+ac_sed_dataroot='
+/datarootdir/ {
+  p
+  q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+  ac_datarootdir_hack='
+  s&@datadir@&$datadir&g
+  s&@docdir@&$docdir&g
+  s&@infodir@&$infodir&g
+  s&@localedir@&$localedir&g
+  s&@mandir@&$mandir&g
+  s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s|@configure_input@|$ac_sed_conf_input|;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+$ac_datarootdir_hack
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined" >&5
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined" >&2;}
+
+  rm -f "$ac_tmp/stdin"
+  case $ac_file in
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
+  esac \
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ ;;
+  :H)
+  #
+  # CONFIG_HEADER
+  #
+  if test x"$ac_file" != x-; then
+    {
+      $as_echo "/* $configure_input  */" \
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+    } >"$ac_tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
+$as_echo "$as_me: $ac_file is unchanged" >&6;}
+    else
+      rm -f "$ac_file"
+      mv "$ac_tmp/config.h" "$ac_file" \
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    fi
+  else
+    $as_echo "/* $configure_input  */" \
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
+  fi
+ ;;
+
+  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
+$as_echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+  esac
+
+
+  case $ac_file$ac_mode in
+    "depdir":C) $SHELL $ac_aux_dir/mkinstalldirs $DEPDIR ;;
+    "libtool":C)
+
+    # See if we are running on zsh, and set the options which allow our
+    # commands through without removal of \ escapes.
+    if test -n "${ZSH_VERSION+set}" ; then
+      setopt NO_GLOB_SUBST
+    fi
+
+    cfgfile="${ofile}T"
+    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+    $RM "$cfgfile"
+
+    cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+
+# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+#                 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+#   Written by Gordon Matzigkeit, 1996
+#
+#   This file is part of GNU Libtool.
+#
+# GNU Libtool 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 2 of
+# the License, or (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool 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 GNU Libtool; see the file COPYING.  If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
+# obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+
+# The names of the tagged configurations supported by this script.
+available_tags=""
+
+# ### BEGIN LIBTOOL CONFIG
+
+# Which release of libtool.m4 was used?
+macro_version=$macro_version
+macro_revision=$macro_revision
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# What type of objects to build.
+pic_mode=$pic_mode
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# An echo program that protects backslashes.
+ECHO=$lt_ECHO
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# A sed program that does not truncate output.
+SED=$lt_SED
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="\$SED -e 1s/^X//"
+
+# A grep program that handles long lines.
+GREP=$lt_GREP
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# A literal string matcher.
+FGREP=$lt_FGREP
+
+# A BSD- or MS-compatible name lister.
+NM=$lt_NM
+
+# Whether we need soft or hard links.
+LN_S=$lt_LN_S
+
+# What is the maximum length of a command?
+max_cmd_len=$max_cmd_len
+
+# Object file suffix (normally "o").
+objext=$ac_objext
+
+# Executable file suffix (normally "").
+exeext=$exeext
+
+# whether the shell understands "unset".
+lt_unset=$lt_unset
+
+# turn spaces into newlines.
+SP2NL=$lt_lt_SP2NL
+
+# turn newlines into spaces.
+NL2SP=$lt_lt_NL2SP
+
+# An object symbol dumper.
+OBJDUMP=$lt_OBJDUMP
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == "file_magic".
+file_magic_cmd=$lt_file_magic_cmd
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A symbol stripping program.
+STRIP=$lt_STRIP
+
+# Commands used to install an old-style archive.
+RANLIB=$lt_RANLIB
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Whether to use a lock for old archive extraction.
+lock_old_archive_extraction=$lock_old_archive_extraction
+
+# A C compiler.
+LTCC=$lt_CC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_CFLAGS
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration.
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair.
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# Transform the output of nm in a C name address pair when lib prefix is needed.
+global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# Used to examine libraries when file_magic_cmd begins with "file".
+MAGIC_CMD=$MAGIC_CMD
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
+DSYMUTIL=$lt_DSYMUTIL
+
+# Tool to change global to local symbols on Mac OS X.
+NMEDIT=$lt_NMEDIT
+
+# Tool to manipulate fat objects and archives on Mac OS X.
+LIPO=$lt_LIPO
+
+# ldd/readelf like tool for Mach-O binaries on Mac OS X.
+OTOOL=$lt_OTOOL
+
+# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
+OTOOL64=$lt_OTOOL64
+
+# Old archive suffix (normally "a").
+libext=$libext
+
+# Shared library suffix (normally ".so").
+shrext_cmds=$lt_shrext_cmds
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at link time.
+variables_saved_for_relink=$lt_variables_saved_for_relink
+
+# Do we need the "lib" prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Library versioning type.
+version_type=$version_type
+
+# Shared library runtime path variable.
+runpath_var=$runpath_var
+
+# Shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names.  First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Permission mode override for installation of shared libraries.
+install_override_mode=$lt_install_override_mode
+
+# Command to use after installation of a shared archive.
+postinstall_cmds=$lt_postinstall_cmds
+
+# Command to use after uninstallation of a shared archive.
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# As "finish_cmds", except a single script fragment to be evaled but
+# not shown.
+finish_eval=$lt_finish_eval
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Compile-time system search path for libraries.
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries.
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+
+# The linker used to build libraries.
+LD=$lt_LD
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# Commands used to build an old-style archive.
+old_archive_cmds=$lt_old_archive_cmds
+
+# A language specific compiler.
+CC=$lt_compiler
+
+# Is the compiler the GNU compiler?
+with_gcc=$GCC
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc
+
+# Whether or not to disallow shared libs when runtime libs are static.
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec
+
+# Whether the compiler copes with passing no objects directly.
+compiler_needs_object=$lt_compiler_needs_object
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
+
+# Commands used to build a shared archive.
+archive_cmds=$lt_archive_cmds
+archive_expsym_cmds=$lt_archive_expsym_cmds
+
+# Commands used to build a loadable module if different from building
+# a shared archive.
+module_cmds=$lt_module_cmds
+module_expsym_cmds=$lt_module_expsym_cmds
+
+# Whether we are building with GNU ld or not.
+with_gnu_ld=$lt_with_gnu_ld
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag
+
+# Flag that enforces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
+
+# If ld is used when linking, flag to hardcode \$libdir into a binary
+# during linking.  This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
+
+# Whether we need a single "-rpath" flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary.
+hardcode_direct=$hardcode_direct
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary and the resulting library dependency is
+# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
+# library is relocated.
+hardcode_direct_absolute=$hardcode_direct_absolute
+
+# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+# into the resulting binary.
+hardcode_minus_L=$hardcode_minus_L
+
+# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+# into the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var
+
+# Set to "yes" if building a shared library automatically hardcodes DIR
+# into the library and all subsequent libraries and executables linked
+# against it.
+hardcode_automatic=$hardcode_automatic
+
+# Set to yes if linker adds runtime paths of dependent libraries
+# to runtime path list.
+inherit_rpath=$inherit_rpath
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path=$lt_fix_srcfile_path
+
+# Set to "yes" if exported symbols are required.
+always_export_symbols=$always_export_symbols
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms
+
+# Commands necessary for linking programs (against libraries) with templates.
+prelink_cmds=$lt_prelink_cmds
+
+# Specify filename containing input files.
+file_list_spec=$lt_file_list_spec
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action
+
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+  case $host_os in
+  aix3*)
+    cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program.  For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+  COLLECT_NAMES=
+  export COLLECT_NAMES
+fi
+_LT_EOF
+    ;;
+  esac
+
+
+ltmain="$ac_aux_dir/ltmain.sh"
+
+
+  # We use sed instead of cat because bash on DJGPP gets confused if
+  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
+  # text mode, it properly converts lines to CR/LF.  This bash problem
+  # is reportedly fixed, but why not run on old versions too?
+  sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
+    || (rm -f "$cfgfile"; exit 1)
+
+  case $xsi_shell in
+  yes)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+  case ${1} in
+    */*) func_dirname_result="${1%/*}${2}" ;;
+    *  ) func_dirname_result="${3}" ;;
+  esac
+}
+
+# func_basename file
+func_basename ()
+{
+  func_basename_result="${1##*/}"
+}
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+#   dirname:  Compute the dirname of FILE.  If nonempty,
+#             add APPEND to the result, otherwise set result
+#             to NONDIR_REPLACEMENT.
+#             value returned in "$func_dirname_result"
+#   basename: Compute filename of FILE.
+#             value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+  case ${1} in
+    */*) func_dirname_result="${1%/*}${2}" ;;
+    *  ) func_dirname_result="${3}" ;;
+  esac
+  func_basename_result="${1##*/}"
+}
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+func_stripname ()
+{
+  # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+  # positional parameters, so assign one to ordinary parameter first.
+  func_stripname_result=${3}
+  func_stripname_result=${func_stripname_result#"${1}"}
+  func_stripname_result=${func_stripname_result%"${2}"}
+}
+
+# func_opt_split
+func_opt_split ()
+{
+  func_opt_split_opt=${1%%=*}
+  func_opt_split_arg=${1#*=}
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+  case ${1} in
+    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+    *)    func_lo2o_result=${1} ;;
+  esac
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+  func_xform_result=${1%.*}.lo
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+  func_arith_result=$(( $* ))
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+  func_len_result=${#1}
+}
+
+_LT_EOF
+    ;;
+  *) # Bourne compatible functions.
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+  # Extract subdirectory from the argument.
+  func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
+  if test "X$func_dirname_result" = "X${1}"; then
+    func_dirname_result="${3}"
+  else
+    func_dirname_result="$func_dirname_result${2}"
+  fi
+}
+
+# func_basename file
+func_basename ()
+{
+  func_basename_result=`$ECHO "${1}" | $SED "$basename"`
+}
+
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+# func_strip_suffix prefix name
+func_stripname ()
+{
+  case ${2} in
+    .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+    *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+  esac
+}
+
+# sed scripts:
+my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
+my_sed_long_arg='1s/^-[^=]*=//'
+
+# func_opt_split
+func_opt_split ()
+{
+  func_opt_split_opt=`$ECHO "${1}" | $SED "$my_sed_long_opt"`
+  func_opt_split_arg=`$ECHO "${1}" | $SED "$my_sed_long_arg"`
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+  func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+  func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+  func_arith_result=`expr "$@"`
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+  func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
+}
+
+_LT_EOF
+esac
+
+case $lt_shell_append in
+  yes)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+  eval "$1+=\$2"
+}
+_LT_EOF
+    ;;
+  *)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+  eval "$1=\$$1\$2"
+}
+
+_LT_EOF
+    ;;
+  esac
+
+
+  sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+    || (rm -f "$cfgfile"; exit 1)
+
+  mv -f "$cfgfile" "$ofile" ||
+    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+  chmod +x "$ofile"
+
+ ;;
+    "Makefile":C) echo "Merging Makefile.sim+Make-common.sim into Makefile ..."
+ rm -f Makesim1.tmp Makesim2.tmp Makefile
+ sed -n -e '/^## COMMON_PRE_/,/^## End COMMON_PRE_/ p' <Make-common.sim >Makesim1.tmp
+ sed -n -e '/^## COMMON_POST_/,/^## End COMMON_POST_/ p' <Make-common.sim >Makesim2.tmp
+ sed -e '/^## COMMON_PRE_/ r Makesim1.tmp' \
+	-e '/^## COMMON_POST_/ r Makesim2.tmp' \
+	<Makefile.sim >Makefile
+ rm -f Makefile.sim Make-common.sim Makesim1.tmp Makesim2.tmp
+ ;;
+    "stamp-h":C) echo > stamp-h ;;
+
+  esac
+done # for ac_tag
+
+
+as_fn_exit 0
+_ACEOF
+ac_clean_files=$ac_clean_files_save
+
+test $ac_write_fail = 0 ||
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded.  So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status.  When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+  ac_cs_success=:
+  ac_config_status_args=
+  test "$silent" = yes &&
+    ac_config_status_args="$ac_config_status_args --quiet"
+  exec 5>/dev/null
+  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+  exec 5>>config.log
+  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+  # would make configure fail if this is the last instruction.
+  $ac_cs_success || as_fn_exit 1
+fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
+
+
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/pru/configure.ac ./sim/pru/configure.ac
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/pru/configure.ac	1970-01-01 00:00:00.000000000 +0000
+++ ./sim/pru/configure.ac	2019-09-24 01:49:14.000000000 +0000
@@ -0,0 +1,31 @@
+dnl Process this file with autoconf to produce a configure script.
+
+dnl Copyright (C) 2016-2019 Free Software Foundation, Inc.
+dnl Contributed by Dimitar Dimitrov <dimitar@dinux.eu>
+dnl
+dnl This file is part of the GNU simulators.
+dnl
+dnl This program is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 3 of the License, or
+dnl (at your option) any later version.
+dnl
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+dnl GNU General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
+dnl
+AC_PREREQ(2.64)dnl
+AC_INIT(Makefile.in)
+sinclude(../common/acinclude.m4)
+
+SIM_AC_COMMON
+
+SIM_AC_OPTION_ENDIAN(LITTLE)
+SIM_AC_OPTION_ALIGNMENT(STRICT_ALIGNMENT,STRICT_ALIGNMENT)
+SIM_AC_OPTION_WARNINGS
+
+SIM_AC_OUTPUT
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/pru/interp.c ./sim/pru/interp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/pru/interp.c	1970-01-01 00:00:00.000000000 +0000
+++ ./sim/pru/interp.c	2019-09-24 01:49:14.000000000 +0000
@@ -0,0 +1,848 @@
+/* Simulator for the Texas Instruments PRU processor
+   Copyright 2009-2019 Free Software Foundation, Inc.
+   Inspired by the Microblaze simulator
+   Contributed by Dimitar Dimitrov <dimitar@dinux.eu>
+
+   This file is part of the simulators.
+
+   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 "config.h"
+#include <stdbool.h>
+#include <stdint.h>
+#include <stddef.h>
+#include "bfd.h"
+#include "gdb/callback.h"
+#include "libiberty.h"
+#include "gdb/remote-sim.h"
+#include "sim-main.h"
+#include "sim-assert.h"
+#include "sim-options.h"
+#include "sim-syscall.h"
+#include "pru.h"
+
+/* DMEM zero address is perfectly valid.  But if CRT leaves the first word
+   alone, we can use it as a trap to catch NULL pointer access.  */
+static bfd_boolean abort_on_dmem_zero_access;
+
+enum {
+  OPTION_ERROR_NULL_DEREF = OPTION_START,
+};
+
+/* Extract (from PRU endianess) and return an integer in HOST's endianness.  */
+static uint32_t
+pru_extract_unsigned_integer (uint8_t *addr, size_t len)
+{
+  uint32_t retval;
+  uint8_t *p;
+  uint8_t *startaddr = addr;
+  uint8_t *endaddr = startaddr + len;
+
+  /* Start at the most significant end of the integer, and work towards
+     the least significant.  */
+  retval = 0;
+
+  for (p = endaddr; p > startaddr;)
+    retval = (retval << 8) | * -- p;
+  return retval;
+}
+
+/* Store "val" (which is in HOST's endianess) into "addr"
+   (using PRU's endianness).  */
+static void
+pru_store_unsigned_integer (uint8_t *addr, size_t len, uint32_t val)
+{
+  uint8_t *p;
+  uint8_t *startaddr = (uint8_t *)addr;
+  uint8_t *endaddr = startaddr + len;
+
+  for (p = startaddr; p < endaddr;)
+    {
+      *p++ = val & 0xff;
+      val >>= 8;
+    }
+}
+
+/* Extract a field value from CPU register using the given REGSEL selector.
+
+   Byte number maps directly to first values of RSEL, so we can
+   safely use "regsel" as a register byte number (0..3).  */
+static inline uint32_t
+extract_regval (uint32_t val, uint32_t regsel)
+{
+  ASSERT (RSEL_7_0 == 0);
+  ASSERT (RSEL_15_8 == 1);
+  ASSERT (RSEL_23_16 == 2);
+  ASSERT (RSEL_31_24 == 3);
+
+  switch (regsel)
+    {
+    case RSEL_7_0:    return (val >> 0) & 0xff;
+    case RSEL_15_8:   return (val >> 8) & 0xff;
+    case RSEL_23_16:  return (val >> 16) & 0xff;
+    case RSEL_31_24:  return (val >> 24) & 0xff;
+    case RSEL_15_0:   return (val >> 0) & 0xffff;
+    case RSEL_23_8:   return (val >> 8) & 0xffff;
+    case RSEL_31_16:  return (val >> 16) & 0xffff;
+    case RSEL_31_0:   return val;
+    default:	      sim_io_error (NULL, "invalid regsel");
+    }
+}
+
+/* Write a value into CPU subregister pointed by reg and regsel.  */
+static inline void
+write_regval (uint32_t val, uint32_t *reg, uint32_t regsel)
+{
+  uint32_t mask, sh;
+
+  switch (regsel)
+    {
+    case RSEL_7_0:    mask = (0xffu << 0); sh = 0; break;
+    case RSEL_15_8:   mask = (0xffu << 8); sh = 8; break;
+    case RSEL_23_16:  mask = (0xffu << 16); sh = 16; break;
+    case RSEL_31_24:  mask = (0xffu << 24); sh = 24; break;
+    case RSEL_15_0:   mask = (0xffffu << 0); sh = 0; break;
+    case RSEL_23_8:   mask = (0xffffu << 8); sh = 8; break;
+    case RSEL_31_16:  mask = (0xffffu << 16); sh = 16; break;
+    case RSEL_31_0:   mask = 0xffffffffu; sh = 0; break;
+    default:	      sim_io_error (NULL, "invalid regsel");
+    }
+
+  *reg = (*reg & ~mask) | ((val << sh) & mask);
+}
+
+/* Convert the given IMEM word address to a regular byte address used by the
+   GNU ELF container.  */
+static uint32_t
+imem_wordaddr_to_byteaddr (SIM_CPU *cpu, uint16_t wa)
+{
+  return (((uint32_t) wa << 2) & IMEM_ADDR_MASK) | PC_ADDR_SPACE_MARKER;
+}
+
+/* Convert the given ELF text byte address to IMEM word address.  */
+static uint16_t
+imem_byteaddr_to_wordaddr (SIM_CPU *cpu, uint32_t ba)
+{
+  return (ba >> 2) & 0xffff;
+}
+
+
+/* Store "nbytes" into DMEM "addr" from CPU register file, starting with
+   register "regn", and byte "regb" within it.  */
+static inline void
+pru_reg2dmem (SIM_CPU *cpu, uint32_t addr, unsigned int nbytes,
+	      int regn, int regb)
+{
+  /* GDB assumes unconditional access to all memories, so enable additional
+     checks only in standalone mode.  */
+  bool standalone = (STATE_OPEN_KIND (CPU_STATE (cpu)) == SIM_OPEN_STANDALONE);
+
+  if (abort_on_dmem_zero_access && addr < 4)
+    {
+      sim_core_signal (CPU_STATE (cpu), cpu, PC_byteaddr, write_map,
+		       nbytes, addr, write_transfer,
+		       sim_core_unmapped_signal);
+    }
+  else if (standalone && ((addr >= PC_ADDR_SPACE_MARKER)
+			  || (addr + nbytes > PC_ADDR_SPACE_MARKER)))
+    {
+      sim_core_signal (CPU_STATE (cpu), cpu, PC_byteaddr, write_map,
+		       nbytes, addr, write_transfer,
+		       sim_core_unmapped_signal);
+    }
+  else if ((regn * 4 + regb + nbytes) > (32 * 4))
+    {
+      sim_io_eprintf (CPU_STATE (cpu),
+		      "SBBO/SBCO with invalid store data length\n");
+      RAISE_SIGILL (CPU_STATE (cpu));
+    }
+  else
+    {
+      TRACE_MEMORY (cpu, "write of %d bytes to %08x", nbytes, addr);
+      while (nbytes--)
+	{
+	  sim_core_write_1 (cpu,
+			    PC_byteaddr,
+			    write_map,
+			    addr++,
+			    extract_regval (CPU.regs[regn], regb));
+
+	  if (++regb >= 4)
+	    {
+	      regb = 0;
+	      regn++;
+	    }
+	}
+    }
+}
+
+/* Load "nbytes" from DMEM "addr" into CPU register file, starting with
+   register "regn", and byte "regb" within it.  */
+static inline void
+pru_dmem2reg (SIM_CPU *cpu, uint32_t addr, unsigned int nbytes,
+	      int regn, int regb)
+{
+  /* GDB assumes unconditional access to all memories, so enable additional
+     checks only in standalone mode.  */
+  bool standalone = (STATE_OPEN_KIND (CPU_STATE (cpu)) == SIM_OPEN_STANDALONE);
+
+  if (abort_on_dmem_zero_access && addr < 4)
+    {
+      sim_core_signal (CPU_STATE (cpu), cpu, PC_byteaddr, read_map,
+		       nbytes, addr, read_transfer,
+		       sim_core_unmapped_signal);
+    }
+  else if (standalone && ((addr >= PC_ADDR_SPACE_MARKER)
+			  || (addr + nbytes > PC_ADDR_SPACE_MARKER)))
+    {
+      /* This check is necessary because our IMEM "address space"
+	 is not really accessible, yet we have mapped it as a generic
+	 memory space.  */
+      sim_core_signal (CPU_STATE (cpu), cpu, PC_byteaddr, read_map,
+		       nbytes, addr, read_transfer,
+		       sim_core_unmapped_signal);
+    }
+  else if ((regn * 4 + regb + nbytes) > (32 * 4))
+    {
+      sim_io_eprintf (CPU_STATE (cpu),
+		      "LBBO/LBCO with invalid load data length\n");
+      RAISE_SIGILL (CPU_STATE (cpu));
+    }
+  else
+    {
+      unsigned int b;
+      TRACE_MEMORY (cpu, "read of %d bytes from %08x", nbytes, addr);
+      while (nbytes--)
+	{
+	  b = sim_core_read_1 (cpu, PC_byteaddr, read_map, addr++);
+
+	  /* Reuse the fact the Register Byte Number maps directly to RSEL.  */
+	  ASSERT (RSEL_7_0 == 0);
+	  write_regval (b, &CPU.regs[regn], regb);
+
+	  if (++regb >= 4)
+	    {
+	      regb = 0;
+	      regn++;
+	    }
+	}
+    }
+}
+
+/* Set reset values of general-purpose registers.  */
+static void
+set_initial_gprs (SIM_CPU *cpu)
+{
+  int i;
+
+  /* Set up machine just out of reset.  */
+  CPU_PC_SET (cpu, 0);
+  PC_ADDR_SPACE_MARKER = IMEM_ADDR_DEFAULT; /* from default linker script? */
+
+  /* Clean out the GPRs.  */
+  for (i = 0; i < ARRAY_SIZE (CPU.regs); i++)
+    CPU.regs[i] = 0;
+  for (i = 0; i < ARRAY_SIZE (CPU.macregs); i++)
+    CPU.macregs[i] = 0;
+
+  CPU.loop.looptop = CPU.loop.loopend = 0;
+  CPU.loop.loop_in_progress = 0;
+  CPU.loop.loop_counter = 0;
+
+  CPU.carry = 0;
+  CPU.insts = 0;
+  CPU.cycles = 0;
+
+  /* AM335x should provide sane defaults.  */
+  CPU.ctable[0] = 0x00020000;
+  CPU.ctable[1] = 0x48040000;
+  CPU.ctable[2] = 0x4802a000;
+  CPU.ctable[3] = 0x00030000;
+  CPU.ctable[4] = 0x00026000;
+  CPU.ctable[5] = 0x48060000;
+  CPU.ctable[6] = 0x48030000;
+  CPU.ctable[7] = 0x00028000;
+  CPU.ctable[8] = 0x46000000;
+  CPU.ctable[9] = 0x4a100000;
+  CPU.ctable[10] = 0x48318000;
+  CPU.ctable[11] = 0x48022000;
+  CPU.ctable[12] = 0x48024000;
+  CPU.ctable[13] = 0x48310000;
+  CPU.ctable[14] = 0x481cc000;
+  CPU.ctable[15] = 0x481d0000;
+  CPU.ctable[16] = 0x481a0000;
+  CPU.ctable[17] = 0x4819c000;
+  CPU.ctable[18] = 0x48300000;
+  CPU.ctable[19] = 0x48302000;
+  CPU.ctable[20] = 0x48304000;
+  CPU.ctable[21] = 0x00032400;
+  CPU.ctable[22] = 0x480c8000;
+  CPU.ctable[23] = 0x480ca000;
+  CPU.ctable[24] = 0x00000000;
+  CPU.ctable[25] = 0x00002000;
+  CPU.ctable[26] = 0x0002e000;
+  CPU.ctable[27] = 0x00032000;
+  CPU.ctable[28] = 0x00000000;
+  CPU.ctable[29] = 0x49000000;
+  CPU.ctable[30] = 0x40000000;
+  CPU.ctable[31] = 0x80000000;
+}
+
+/* Map regsel selector to subregister field width.  */
+static inline unsigned int
+regsel_width (uint32_t regsel)
+{
+  switch (regsel)
+    {
+    case RSEL_7_0:    return 8;
+    case RSEL_15_8:   return 8;
+    case RSEL_23_16:  return 8;
+    case RSEL_31_24:  return 8;
+    case RSEL_15_0:   return 16;
+    case RSEL_23_8:   return 16;
+    case RSEL_31_16:  return 16;
+    case RSEL_31_0:   return 32;
+    default:	      sim_io_error (NULL, "invalid regsel");
+    }
+}
+
+/* Handle XIN instruction addressing the MAC peripheral.  */
+static void
+pru_sim_xin_mac (SIM_DESC sd, SIM_CPU *cpu, unsigned int rd_regn,
+		 unsigned int rdb, unsigned int length)
+{
+  if (rd_regn < 25 || (rd_regn * 4 + rdb + length) > (27 + 1) * 4)
+    sim_io_error (sd, "XIN MAC: invalid transfer regn=%u.%u, length=%u\n",
+		  rd_regn, rdb, length);
+
+  /* Copy from MAC to PRU regs.  Ranges have been validated above.  */
+  while (length--)
+    {
+      write_regval (CPU.macregs[rd_regn - 25] >> (rdb * 8),
+		    &CPU.regs[rd_regn],
+		    rdb);
+      if (++rdb == 4)
+	{
+	  rdb = 0;
+	  rd_regn++;
+	}
+    }
+}
+
+/* Handle XIN instruction.  */
+static void
+pru_sim_xin (SIM_DESC sd, SIM_CPU *cpu, unsigned int wba,
+	     unsigned int rd_regn, unsigned int rdb, unsigned int length)
+{
+  if (wba == 0)
+    {
+      pru_sim_xin_mac (sd, cpu, rd_regn, rdb, length);
+    }
+  else if (wba == XFRID_SCRATCH_BANK_0 || wba == XFRID_SCRATCH_BANK_1
+	   || wba == XFRID_SCRATCH_BANK_2 || wba == XFRID_SCRATCH_BANK_PEER)
+    {
+      while (length--)
+	{
+	  unsigned int val;
+
+	  val = extract_regval (CPU.scratchpads[wba][rd_regn], rdb);
+	  write_regval (val, &CPU.regs[rd_regn], rdb);
+	  if (++rdb == 4)
+	    {
+	      rdb = 0;
+	      rd_regn++;
+	    }
+	}
+    }
+  else if (wba == 254 || wba == 255)
+    {
+      /* FILL/ZERO pseudos implemented via XIN.  */
+      unsigned int fillbyte = (wba == 254) ? 0xff : 0x00;
+      while (length--)
+	{
+	  write_regval (fillbyte, &CPU.regs[rd_regn], rdb);
+	  if (++rdb == 4)
+	    {
+	      rdb = 0;
+	      rd_regn++;
+	    }
+	}
+    }
+  else
+    {
+      sim_io_error (sd, "XIN: XFR device %d not supported.\n", wba);
+    }
+}
+
+/* Handle XOUT instruction addressing the MAC peripheral.  */
+static void
+pru_sim_xout_mac (SIM_DESC sd, SIM_CPU *cpu, unsigned int rd_regn,
+		  unsigned int rdb, unsigned int length)
+{
+  const int modereg_accessed = (rd_regn == 25);
+
+  /* Multiple Accumulate.  */
+  if (rd_regn < 25 || (rd_regn * 4 + rdb + length) > (27 + 1) * 4)
+    sim_io_error (sd, "XOUT MAC: invalid transfer regn=%u.%u, length=%u\n",
+		  rd_regn, rdb, length);
+
+  /* Copy from PRU to MAC regs.  Ranges have been validated above.  */
+  while (length--)
+    {
+      write_regval (CPU.regs[rd_regn] >> (rdb * 8),
+		    &CPU.macregs[rd_regn - 25],
+		    rdb);
+      if (++rdb == 4)
+	{
+	  rdb = 0;
+	  rd_regn++;
+	}
+    }
+
+  if (modereg_accessed
+      && (CPU.macregs[PRU_MACREG_MODE] & MAC_R25_MAC_MODE_MASK))
+    {
+      /* MUL/MAC operands are sampled every XOUT in multiply and
+	 accumulate mode.  */
+      uint64_t prod, oldsum, sum;
+      CPU.macregs[PRU_MACREG_OP_0] = CPU.regs[28];
+      CPU.macregs[PRU_MACREG_OP_1] = CPU.regs[29];
+
+      prod = CPU.macregs[PRU_MACREG_OP_0];
+      prod *= (uint64_t)CPU.macregs[PRU_MACREG_OP_1];
+
+      oldsum = CPU.macregs[PRU_MACREG_ACC_L];
+      oldsum += (uint64_t)CPU.macregs[PRU_MACREG_ACC_H] << 32;
+      sum = oldsum + prod;
+
+      CPU.macregs[PRU_MACREG_PROD_L] = sum & 0xfffffffful;
+      CPU.macregs[PRU_MACREG_PROD_H] = sum >> 32;
+      CPU.macregs[PRU_MACREG_ACC_L] = CPU.macregs[PRU_MACREG_PROD_L];
+      CPU.macregs[PRU_MACREG_ACC_H] = CPU.macregs[PRU_MACREG_PROD_H];
+
+      if (oldsum > sum)
+	CPU.macregs[PRU_MACREG_MODE] |= MAC_R25_ACC_CARRY_MASK;
+    }
+  if (modereg_accessed
+      && (CPU.macregs[PRU_MACREG_MODE] & MAC_R25_ACC_CARRY_MASK))
+    {
+      /* store 1 to clear.  */
+      CPU.macregs[PRU_MACREG_MODE] &= ~MAC_R25_ACC_CARRY_MASK;
+      CPU.macregs[PRU_MACREG_ACC_L] = 0;
+      CPU.macregs[PRU_MACREG_ACC_H] = 0;
+    }
+
+}
+
+/* Handle XOUT instruction.  */
+static void
+pru_sim_xout (SIM_DESC sd, SIM_CPU *cpu, unsigned int wba,
+	      unsigned int rd_regn, unsigned int rdb, unsigned int length)
+{
+  if (wba == 0)
+    {
+      pru_sim_xout_mac (sd, cpu, rd_regn, rdb, length);
+    }
+  else if (wba == XFRID_SCRATCH_BANK_0 || wba == XFRID_SCRATCH_BANK_1
+	   || wba == XFRID_SCRATCH_BANK_2 || wba == XFRID_SCRATCH_BANK_PEER)
+    {
+      while (length--)
+	{
+	  unsigned int val;
+
+	  val = extract_regval (CPU.regs[rd_regn], rdb);
+	  write_regval (val, &CPU.scratchpads[wba][rd_regn], rdb);
+	  if (++rdb == 4)
+	    {
+	      rdb = 0;
+	      rd_regn++;
+	    }
+	}
+    }
+  else
+    sim_io_error (sd, "XOUT: XFR device %d not supported.\n", wba);
+}
+
+/* Handle XCHG instruction.  */
+static void
+pru_sim_xchg (SIM_DESC sd, SIM_CPU *cpu, unsigned int wba,
+	      unsigned int rd_regn, unsigned int rdb, unsigned int length)
+{
+  if (wba == XFRID_SCRATCH_BANK_0 || wba == XFRID_SCRATCH_BANK_1
+	   || wba == XFRID_SCRATCH_BANK_2 || wba == XFRID_SCRATCH_BANK_PEER)
+    {
+      while (length--)
+	{
+	  unsigned int valr, vals;
+
+	  valr = extract_regval (CPU.regs[rd_regn], rdb);
+	  vals = extract_regval (CPU.scratchpads[wba][rd_regn], rdb);
+	  write_regval (valr, &CPU.scratchpads[wba][rd_regn], rdb);
+	  write_regval (vals, &CPU.regs[rd_regn], rdb);
+	  if (++rdb == 4)
+	    {
+	      rdb = 0;
+	      rd_regn++;
+	    }
+	}
+    }
+  else
+    sim_io_error (sd, "XOUT: XFR device %d not supported.\n", wba);
+}
+
+/* Handle syscall simulation.  Its ABI is specific to the GNU simulator.  */
+static void
+pru_sim_syscall (SIM_DESC sd, SIM_CPU *cpu)
+{
+  /* If someday TI confirms that the "reserved" HALT opcode fields
+     can be used for extra arguments, then maybe we can embed
+     the syscall number there.  Until then, let's use R1.  */
+  const uint32_t syscall_num = CPU.regs[1];
+  long ret;
+
+  ret = sim_syscall (cpu, syscall_num,
+		     CPU.regs[14], CPU.regs[15],
+		     CPU.regs[16], CPU.regs[17]);
+  CPU.regs[14] = ret;
+}
+
+/* Simulate one instruction.  */
+static void
+sim_step_once (SIM_DESC sd)
+{
+  SIM_CPU *cpu = STATE_CPU (sd, 0);
+  const struct pru_opcode *op;
+  uint32_t inst;
+  uint32_t _RDVAL, OP2;	/* intermediate values.  */
+  int rd_is_modified = 0;	/* RD modified and must be stored back.  */
+
+  /* Fetch the initial instruction that we'll decode.  */
+  inst = sim_core_read_4 (cpu, PC_byteaddr, exec_map, PC_byteaddr);
+  TRACE_MEMORY (cpu, "read of insn 0x%08x from %08x", inst, PC_byteaddr);
+
+  op = pru_find_opcode (inst);
+
+  if (!op)
+    {
+      sim_io_eprintf (sd, "Unknown instruction 0x%04x\n", inst);
+      RAISE_SIGILL (sd);
+    }
+  else
+    {
+      TRACE_DISASM (cpu, PC_byteaddr);
+
+      /* In multiply-only mode, R28/R29 operands are sampled on every clock
+	 cycle.  */
+      if ((CPU.macregs[PRU_MACREG_MODE] & MAC_R25_MAC_MODE_MASK) == 0)
+	{
+	  CPU.macregs[PRU_MACREG_OP_0] = CPU.regs[28];
+	  CPU.macregs[PRU_MACREG_OP_1] = CPU.regs[29];
+	}
+
+      switch (op->type)
+	{
+/* Helper macro to improve clarity of pru.isa.  The empty while is a
+   guard against using RD as a left-hand side value.  */
+#define RD  do { } while (0); rd_is_modified = 1; _RDVAL
+#define INSTRUCTION(NAME, ACTION)		\
+	case prui_ ## NAME:			\
+		ACTION;				\
+	  break;
+#include "pru.isa"
+#undef INSTRUCTION
+#undef RD
+
+	default:
+	  RAISE_SIGILL (sd);
+	}
+
+      if (rd_is_modified)
+	write_regval (_RDVAL, &CPU.regs[RD_REGN], RDSEL);
+
+      /* Don't treat r30 and r31 as regular registers, they are I/O!  */
+      CPU.regs[30] = 0;
+      CPU.regs[31] = 0;
+
+      /* Handle PC match of loop end.  */
+      if (LOOP_IN_PROGRESS && (PC == LOOPEND))
+	{
+	  SIM_ASSERT (LOOPCNT > 0);
+	  if (--LOOPCNT == 0)
+	    LOOP_IN_PROGRESS = 0;
+	  else
+	    PC = LOOPTOP;
+	}
+
+      /* In multiply-only mode, MAC does multiplication every cycle.  */
+      if ((CPU.macregs[PRU_MACREG_MODE] & MAC_R25_MAC_MODE_MASK) == 0)
+	{
+	  uint64_t prod;
+	  prod = CPU.macregs[PRU_MACREG_OP_0];
+	  prod *= (uint64_t)CPU.macregs[PRU_MACREG_OP_1];
+	  CPU.macregs[PRU_MACREG_PROD_L] = prod & 0xfffffffful;
+	  CPU.macregs[PRU_MACREG_PROD_H] = prod >> 32;
+
+	  /* Clear the MAC accumulator when in normal mode.  */
+	  CPU.macregs[PRU_MACREG_ACC_L] = 0;
+	  CPU.macregs[PRU_MACREG_ACC_H] = 0;
+	}
+
+      /* Update cycle counts.  */
+      CPU.insts += 1;		  /* One instruction completed ...  */
+      CPU.cycles += 1;		  /* ... and it takes a single cycle.  */
+
+      /* Account for memory access latency with a reasonable estimate.
+	 No distinction is currently made between SRAM, DRAM and generic
+	 L3 slaves.  */
+      if (op->type == prui_lbbo || op->type == prui_sbbo
+	  || op->type == prui_lbco || op->type == prui_sbco)
+	CPU.cycles += 2;
+
+    }
+}
+
+/* Implement standard sim_engine_run function.  */
+void
+sim_engine_run (SIM_DESC sd,
+		int next_cpu_nr, /* ignore  */
+		int nr_cpus, /* ignore  */
+		int siggnal) /* ignore  */
+{
+  while (1)
+    {
+      sim_step_once (sd);
+      if (sim_events_tick (sd))
+	sim_events_process (sd);
+    }
+}
+
+
+/* Implement callback for standard CPU_PC_FETCH routine.  */
+static sim_cia
+pru_pc_get (sim_cpu *cpu)
+{
+  /* Present PC as byte address.  */
+  return imem_wordaddr_to_byteaddr (cpu, cpu->pru_cpu.pc);
+}
+
+/* Implement callback for standard CPU_PC_STORE routine.  */
+static void
+pru_pc_set (sim_cpu *cpu, sim_cia pc)
+{
+  /* PC given as byte address.  */
+  cpu->pru_cpu.pc = imem_byteaddr_to_wordaddr (cpu, pc);
+}
+
+
+/* Implement callback for standard CPU_REG_STORE routine.  */
+static int
+pru_store_register (SIM_CPU *cpu, int rn, unsigned char *memory, int length)
+{
+  if (rn < NUM_REGS && rn >= 0)
+    {
+      if (length == 4)
+	{
+	  /* Misalignment safe.  */
+	  long ival = pru_extract_unsigned_integer (memory, 4);
+	  if (rn < 32)
+	    CPU.regs[rn] = ival;
+	  else
+	    pru_pc_set (cpu, ival);
+	  return 4;
+	}
+      else
+	return 0;
+    }
+  else
+    return 0;
+}
+
+/* Implement callback for standard CPU_REG_FETCH routine.  */
+static int
+pru_fetch_register (SIM_CPU *cpu, int rn, unsigned char *memory, int length)
+{
+  long ival;
+
+  if (rn < NUM_REGS && rn >= 0)
+    {
+      if (length == 4)
+	{
+	  if (rn < 32)
+	    ival = CPU.regs[rn];
+	  else
+	    ival = pru_pc_get (cpu);
+
+	  /* Misalignment-safe.  */
+	  pru_store_unsigned_integer (memory, 4, ival);
+	  return 4;
+	}
+      else
+	return 0;
+    }
+  else
+    return 0;
+}
+
+static void
+free_state (SIM_DESC sd)
+{
+  if (STATE_MODULES (sd) != NULL)
+    sim_module_uninstall (sd);
+  sim_cpu_free_all (sd);
+  sim_state_free (sd);
+}
+
+/* Declare the PRU option handler.  */
+static DECLARE_OPTION_HANDLER (pru_option_handler);
+
+/* Implement the PRU option handler.  */
+static SIM_RC
+pru_option_handler (SIM_DESC sd, sim_cpu *cpu, int opt, char *arg,
+		    int is_command)
+{
+  switch (opt)
+    {
+    case OPTION_ERROR_NULL_DEREF:
+      abort_on_dmem_zero_access = TRUE;
+      return SIM_RC_OK;
+
+    default:
+      sim_io_eprintf (sd, "Unknown PRU option %d\n", opt);
+      return SIM_RC_FAIL;
+    }
+}
+
+/* List of PRU-specific options.  */
+static const OPTION pru_options[] =
+{
+  { {"error-null-deref", no_argument, NULL, OPTION_ERROR_NULL_DEREF},
+      '\0', NULL, "Trap any access to DMEM address zero",
+      pru_option_handler, NULL },
+
+  { {NULL, no_argument, NULL, 0}, '\0', NULL, NULL, NULL, NULL }
+};
+
+/* Implement standard sim_open function.  */
+SIM_DESC
+sim_open (SIM_OPEN_KIND kind, host_callback *cb,
+	  struct bfd *abfd, char * const *argv)
+{
+  int i;
+  char c;
+  SIM_DESC sd = sim_state_alloc (kind, cb);
+  SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
+
+  /* The cpu data is kept in a separately allocated chunk of memory.  */
+  if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
+    {
+      free_state (sd);
+      return 0;
+    }
+
+  if (sim_pre_argv_init (sd, argv[0]) != SIM_RC_OK)
+    {
+      free_state (sd);
+      return 0;
+    }
+  sim_add_option_table (sd, NULL, pru_options);
+
+  /* The parser will print an error message for us, so we silently return.  */
+  if (sim_parse_args (sd, argv) != SIM_RC_OK)
+    {
+      free_state (sd);
+      return 0;
+    }
+
+  /* Check for/establish a reference program image.  */
+  if (sim_analyze_program (sd,
+			   (STATE_PROG_ARGV (sd) != NULL
+			    ? *STATE_PROG_ARGV (sd)
+			    : NULL), abfd) != SIM_RC_OK)
+    {
+      free_state (sd);
+      return 0;
+    }
+
+  /* Configure/verify the target byte order and other runtime
+     configuration options.  */
+  if (sim_config (sd) != SIM_RC_OK)
+    {
+      sim_module_uninstall (sd);
+      return 0;
+    }
+
+  if (sim_post_argv_init (sd) != SIM_RC_OK)
+    {
+      /* Uninstall the modules to avoid memory leaks,
+	 file descriptor leaks, etc.  */
+      sim_module_uninstall (sd);
+      return 0;
+    }
+
+  /* CPU specific initialization.  */
+  for (i = 0; i < MAX_NR_PROCESSORS; ++i)
+    {
+      SIM_CPU *cpu = STATE_CPU (sd, i);
+
+      CPU_REG_STORE (cpu) = pru_store_register;
+      CPU_REG_FETCH (cpu) = pru_fetch_register;
+      CPU_PC_FETCH (cpu) = pru_pc_get;
+      CPU_PC_STORE (cpu) = pru_pc_set;
+
+      set_initial_gprs (cpu);
+    }
+
+  /* Allocate external memory if none specified by user.
+     Use address 4 here in case the user wanted address 0 unmapped.  */
+  if (sim_core_read_buffer (sd, NULL, read_map, &c, 4, 1) == 0)
+    {
+      sim_do_commandf (sd, "memory-region 0x%x,0x%x",
+		       0,
+		       DMEM_DEFAULT_SIZE);
+    }
+  if (sim_core_read_buffer (sd, NULL, read_map, &c, IMEM_ADDR_DEFAULT, 1) == 0)
+    {
+      sim_do_commandf (sd, "memory-region 0x%x,0x%x",
+		       IMEM_ADDR_DEFAULT,
+		       IMEM_DEFAULT_SIZE);
+    }
+
+  return sd;
+}
+
+/* Implement standard sim_create_inferior function.  */
+SIM_RC
+sim_create_inferior (SIM_DESC sd, struct bfd *prog_bfd,
+		     char * const *argv, char * const *env)
+{
+  SIM_CPU *cpu = STATE_CPU (sd, 0);
+  SIM_ADDR addr;
+
+  addr = bfd_get_start_address (prog_bfd);
+
+  sim_pc_set (cpu, addr);
+  PC_ADDR_SPACE_MARKER = addr & ~IMEM_ADDR_MASK;
+
+  /* Standalone mode (i.e. `run`) will take care of the argv for us in
+     sim_open () -> sim_parse_args ().  But in debug mode (i.e. 'target sim'
+     with `gdb`), we need to handle it because the user can change the
+     argv on the fly via gdb's 'run'.  */
+  if (STATE_PROG_ARGV (sd) != argv)
+    {
+      freeargv (STATE_PROG_ARGV (sd));
+      STATE_PROG_ARGV (sd) = dupargv (argv);
+    }
+
+  return SIM_RC_OK;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/pru/Makefile.in ./sim/pru/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/pru/Makefile.in	1970-01-01 00:00:00.000000000 +0000
+++ ./sim/pru/Makefile.in	2019-09-24 01:49:14.000000000 +0000
@@ -0,0 +1,29 @@
+#    Makefile template for Configure for the PRU sim library.
+#    Copyright (C) 1990-2019 Free Software Foundation, Inc.
+#    Written by Dimitar Dimitrov <dimitar@dinux.eu>
+#
+#    Based on the MCore sim library
+#
+# 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/>.
+
+## COMMON_PRE_CONFIG_FRAG
+
+SIM_OBJS = \
+	$(SIM_NEW_COMMON_OBJS) \
+	interp.o \
+	sim-resume.o
+
+NL_TARGET = -DNL_TARGET_pru
+
+## COMMON_POST_CONFIG_FRAG
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/pru/pru.h ./sim/pru/pru.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/pru/pru.h	1970-01-01 00:00:00.000000000 +0000
+++ ./sim/pru/pru.h	2019-09-24 01:49:14.000000000 +0000
@@ -0,0 +1,110 @@
+/* Copyright 2016-2019 Free Software Foundation, Inc.
+   Contributed by Dimitar Dimitrov <dimitar@dinux.eu>
+
+   This file is part of the PRU simulator.
+
+   This library 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/>.  */
+
+#ifndef PRU_H
+#define PRU_H
+
+#include "config.h"
+#include "opcode/pru.h"
+
+/* Needed for handling the dual PRU address space.  */
+#define IMEM_ADDR_MASK	((1u << 23) - 1)
+
+#define IMEM_ADDR_DEFAULT 0x20000000
+
+/* Define memory sizes to allocate for simulated target.  Sizes are
+   artificially large to accommodate execution of compiler test suite.
+   Please synchronize with the linker script for prusim target.  */
+#define DMEM_DEFAULT_SIZE (64 * 1024 * 1024)
+
+/* 16-bit word addressable space.  */
+#define IMEM_DEFAULT_SIZE (64 * 4 * 1024)
+
+/* For AM335x SoCs.  */
+#define XFRID_SCRATCH_BANK_0	  10
+#define XFRID_SCRATCH_BANK_1	  11
+#define XFRID_SCRATCH_BANK_2	  12
+#define XFRID_SCRATCH_BANK_PEER	  14
+#define XFRID_MAX		  255
+
+#define CPU     (cpu->pru_cpu)
+
+#define PC		(CPU.pc)
+#define PC_byteaddr	((PC << 2) | PC_ADDR_SPACE_MARKER)
+
+/* Various opcode fields.  */
+#define RS1 extract_regval (CPU.regs[GET_INSN_FIELD (RS1, inst)], \
+			    GET_INSN_FIELD (RS1SEL, inst))
+#define RS2 extract_regval (CPU.regs[GET_INSN_FIELD (RS2, inst)], \
+			    GET_INSN_FIELD (RS2SEL, inst))
+
+#define RS2_w0 extract_regval (CPU.regs[GET_INSN_FIELD (RS2, inst)], \
+			       RSEL_15_0)
+
+#define XBBO_BASEREG (CPU.regs[GET_INSN_FIELD (RS1, inst)])
+
+#define RDSEL GET_INSN_FIELD (RDSEL, inst)
+#define RD_WIDTH regsel_width (RDSEL)
+#define RD_REGN GET_INSN_FIELD (RD, inst)
+#define IO GET_INSN_FIELD (IO, inst)
+#define IMM8 GET_INSN_FIELD (IMM8, inst)
+#define IMM16 GET_INSN_FIELD (IMM16, inst)
+#define WAKEONSTATUS GET_INSN_FIELD (WAKEONSTATUS, inst)
+#define CB GET_INSN_FIELD (CB, inst)
+#define RDB GET_INSN_FIELD (RDB, inst)
+#define XFR_WBA GET_INSN_FIELD (XFR_WBA, inst)
+#define LOOP_JMPOFFS GET_INSN_FIELD (LOOP_JMPOFFS, inst)
+#define BROFF ((uint32_t) GET_BROFF_SIGNED (inst))
+
+#define _BURSTLEN_CALCULATE(BITFIELD)					    \
+  ((BITFIELD) >= LSSBBO_BYTECOUNT_R0_BITS7_0 ?				    \
+  (CPU.regs[0] >> ((BITFIELD) - LSSBBO_BYTECOUNT_R0_BITS7_0) * 8) & 0xff    \
+  : (BITFIELD) + 1)
+
+#define BURSTLEN _BURSTLEN_CALCULATE (GET_BURSTLEN (inst))
+#define XFR_LENGTH _BURSTLEN_CALCULATE (GET_INSN_FIELD (XFR_LENGTH, inst))
+
+#define DO_XIN(wba,regn,rdb,l)	  \
+  pru_sim_xin (sd, cpu, (wba), (regn), (rdb), (l))
+#define DO_XOUT(wba,regn,rdb,l)	  \
+  pru_sim_xout (sd, cpu, (wba), (regn), (rdb), (l))
+#define DO_XCHG(wba,regn,rdb,l)	  \
+  pru_sim_xchg (sd, cpu, (wba), (regn), (rdb), (l))
+
+#define RAISE_SIGILL(sd)  sim_engine_halt ((sd), NULL, NULL, PC_byteaddr, \
+					   sim_stopped, SIM_SIGILL)
+#define RAISE_SIGINT(sd)  sim_engine_halt ((sd), NULL, NULL, PC_byteaddr, \
+					   sim_stopped, SIM_SIGINT)
+
+#define MAC_R25_MAC_MODE_MASK	  (1u << 0)
+#define MAC_R25_ACC_CARRY_MASK	  (1u << 1)
+
+#define CARRY	CPU.carry
+#define CTABLE	CPU.ctable
+
+#define PC_ADDR_SPACE_MARKER	CPU.pc_addr_space_marker
+
+#define LOOPTOP		  CPU.loop.looptop
+#define LOOPEND		  CPU.loop.loopend
+#define LOOP_IN_PROGRESS  CPU.loop.loop_in_progress
+#define LOOPCNT		  CPU.loop.loop_counter
+
+/* 32 GP registers plus PC.  */
+#define NUM_REGS	33
+
+#endif /* PRU_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/pru/pru.isa ./sim/pru/pru.isa
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/pru/pru.isa	1970-01-01 00:00:00.000000000 +0000
+++ ./sim/pru/pru.isa	2019-09-24 01:49:14.000000000 +0000
@@ -0,0 +1,249 @@
+/* Copyright 2016-2019 Free Software Foundation, Inc.
+   Contributed by Dimitar Dimitrov <dimitar@dinux.eu>
+
+   This file is part of the PRU simulator.
+
+   This library 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/>.  */
+
+/*
+   PRU Instruction Set Architecture
+
+   INSTRUCTION (NAME,
+		SEMANTICS)
+ */
+
+INSTRUCTION (add,
+	     OP2 = (IO ? IMM8 : RS2);
+	     RD = RS1 + OP2;
+	     CARRY = (((uint64_t) RS1 + (uint64_t) OP2) >> RD_WIDTH) & 1;
+	     PC++)
+
+INSTRUCTION (adc,
+	     OP2 = (IO ? IMM8 : RS2);
+	     RD = RS1 + OP2 + CARRY;
+	     CARRY = (((uint64_t) RS1 + (uint64_t) OP2 + (uint64_t) CARRY)
+		      >> RD_WIDTH) & 1;
+	     PC++)
+
+INSTRUCTION (sub,
+	     OP2 = (IO ? IMM8 : RS2);
+	     RD = RS1 - OP2;
+	     CARRY = (((uint64_t) RS1 - (uint64_t) OP2) >> RD_WIDTH) & 1;
+	     PC++)
+
+INSTRUCTION (suc,
+	     OP2 = (IO ? IMM8 : RS2);
+	     RD = RS1 - OP2 - CARRY;
+	     CARRY = (((uint64_t) RS1 - (uint64_t) OP2 - (uint64_t) CARRY)
+		      >> RD_WIDTH) & 1;
+	     PC++)
+
+INSTRUCTION (rsb,
+	     OP2 = (IO ? IMM8 : RS2);
+	     RD = OP2 - RS1;
+	     CARRY = (((uint64_t) OP2 - (uint64_t) RS1) >> RD_WIDTH) & 1;
+	     PC++)
+
+INSTRUCTION (rsc,
+	     OP2 = (IO ? IMM8 : RS2);
+	     RD = OP2 - RS1 - CARRY;
+	     CARRY = (((uint64_t) OP2 - (uint64_t) RS1 - (uint64_t) CARRY)
+		      >> RD_WIDTH) & 1;
+	     PC++)
+
+INSTRUCTION (lsl,
+	     OP2 = (IO ? IMM8 : RS2);
+	     RD = RS1 << (OP2 & 0x1f);
+	     PC++)
+
+INSTRUCTION (lsr,
+	     OP2 = (IO ? IMM8 : RS2);
+	     RD = RS1 >> (OP2 & 0x1f);
+	     PC++)
+
+INSTRUCTION (and,
+	     OP2 = (IO ? IMM8 : RS2);
+	     RD = RS1 & OP2;
+	     PC++)
+
+INSTRUCTION (or,
+	     OP2 = (IO ? IMM8 : RS2);
+	     RD = RS1 | OP2;
+	     PC++)
+
+INSTRUCTION (xor,
+	     OP2 = (IO ? IMM8 : RS2);
+	     RD = RS1 ^ OP2;
+	     PC++)
+
+INSTRUCTION (not,
+	     RD = ~RS1;
+	     PC++)
+
+INSTRUCTION (min,
+	     OP2 = (IO ? IMM8 : RS2);
+	     RD = RS1 < OP2 ? RS1 : OP2;
+	     PC++)
+
+INSTRUCTION (max,
+	     OP2 = (IO ? IMM8 : RS2);
+	     RD = RS1 > OP2 ? RS1 : OP2;
+	     PC++)
+
+INSTRUCTION (clr,
+	     OP2 = (IO ? IMM8 : RS2);
+	     RD = RS1 & ~(1u << (OP2 & 0x1f));
+	     PC++)
+
+INSTRUCTION (set,
+	     OP2 = (IO ? IMM8 : RS2);
+	     RD = RS1 | (1u << (OP2 & 0x1f));
+	     PC++)
+
+INSTRUCTION (jmp,
+	     OP2 = (IO ? IMM16 : RS2);
+	     PC = OP2)
+
+INSTRUCTION (jal,
+	     OP2 = (IO ? IMM16 : RS2);
+	     RD = PC + 1;
+	     PC = OP2)
+
+INSTRUCTION (ldi,
+	     RD = IMM16;
+	     PC++)
+
+INSTRUCTION (halt,
+	     pru_sim_syscall (sd, cpu);
+	     PC++)
+
+INSTRUCTION (slp,
+	     if (!WAKEONSTATUS)
+	      {
+		RAISE_SIGINT (sd);
+	      }
+	     else
+	      {
+		PC++;
+	      })
+
+INSTRUCTION (qbgt,
+	     OP2 = (IO ? IMM8 : RS2);
+	     PC = (OP2 > RS1) ? (PC + BROFF) : (PC + 1))
+
+INSTRUCTION (qbge,
+	     OP2 = (IO ? IMM8 : RS2);
+	     PC = (OP2 >= RS1) ? (PC + BROFF) : (PC + 1))
+
+INSTRUCTION (qblt,
+	     OP2 = (IO ? IMM8 : RS2);
+	     PC = (OP2 < RS1) ? (PC + BROFF) : (PC + 1))
+
+INSTRUCTION (qble,
+	     OP2 = (IO ? IMM8 : RS2);
+	     PC = (OP2 <= RS1) ? (PC + BROFF) : (PC + 1))
+
+INSTRUCTION (qbeq,
+	     OP2 = (IO ? IMM8 : RS2);
+	     PC = (OP2 == RS1) ? (PC + BROFF) : (PC + 1))
+
+INSTRUCTION (qbne,
+	     OP2 = (IO ? IMM8 : RS2);
+	     PC = (OP2 != RS1) ? (PC + BROFF) : (PC + 1))
+
+INSTRUCTION (qba,
+	     OP2 = (IO ? IMM8 : RS2);
+	     PC = PC + BROFF)
+
+INSTRUCTION (qbbs,
+	     OP2 = (IO ? IMM8 : RS2);
+	     PC = (RS1 & (1u << (OP2 & 0x1f))) ? (PC + BROFF) : (PC + 1))
+
+INSTRUCTION (qbbc,
+	     OP2 = (IO ? IMM8 : RS2);
+	     PC = !(RS1 & (1u << (OP2 & 0x1f))) ? (PC + BROFF) : (PC + 1))
+
+INSTRUCTION (lbbo,
+	     pru_dmem2reg (cpu, XBBO_BASEREG + (IO ? IMM8 : RS2),
+			   BURSTLEN, RD_REGN, RDB);
+	     PC++)
+
+INSTRUCTION (sbbo,
+	     pru_reg2dmem (cpu, XBBO_BASEREG + (IO ? IMM8 : RS2),
+			   BURSTLEN, RD_REGN, RDB);
+	     PC++)
+
+INSTRUCTION (lbco,
+	     pru_dmem2reg (cpu, CTABLE[CB] + (IO ? IMM8 : RS2),
+			   BURSTLEN, RD_REGN, RDB);
+	     PC++)
+
+INSTRUCTION (sbco,
+	     pru_reg2dmem (cpu, CTABLE[CB] + (IO ? IMM8 : RS2),
+			   BURSTLEN, RD_REGN, RDB);
+	     PC++)
+
+INSTRUCTION (xin,
+	     DO_XIN (XFR_WBA, RD_REGN, RDB, XFR_LENGTH);
+	     PC++)
+
+INSTRUCTION (xout,
+	     DO_XOUT (XFR_WBA, RD_REGN, RDB, XFR_LENGTH);
+	     PC++)
+
+INSTRUCTION (xchg,
+	     DO_XCHG (XFR_WBA, RD_REGN, RDB, XFR_LENGTH);
+	     PC++)
+
+INSTRUCTION (sxin,
+	     sim_io_eprintf (sd, "SXIN instruction not supported by sim\n");
+	     RAISE_SIGILL (sd))
+
+INSTRUCTION (sxout,
+	     sim_io_eprintf (sd, "SXOUT instruction not supported by sim\n");
+	     RAISE_SIGILL (sd))
+
+INSTRUCTION (sxchg,
+	     sim_io_eprintf (sd, "SXCHG instruction not supported by sim\n");
+	     RAISE_SIGILL (sd))
+
+INSTRUCTION (loop,
+	     OP2 = (IO ? IMM8 + 1 : RS2_w0);
+	     if (OP2 == 0)
+	      {
+		PC = LOOPEND;
+	      }
+	     else
+	      {
+		LOOPTOP = PC + 1;
+		LOOPEND = PC + LOOP_JMPOFFS;
+		LOOPCNT = OP2;
+		LOOP_IN_PROGRESS = 1;
+		PC++;
+	     })
+
+INSTRUCTION (iloop,
+	     OP2 = (IO ? IMM8 + 1 : RS2_w0);
+	     if (OP2 == 0)
+	      {
+		PC = LOOPEND;
+	      }
+	     else
+	      {
+		LOOPTOP = PC + 1;
+		LOOPEND = PC + LOOP_JMPOFFS;
+		LOOPCNT = OP2;
+		LOOP_IN_PROGRESS = 1;
+		PC++;
+	     })
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/pru/sim-main.h ./sim/pru/sim-main.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/pru/sim-main.h	1970-01-01 00:00:00.000000000 +0000
+++ ./sim/pru/sim-main.h	2019-09-24 01:49:14.000000000 +0000
@@ -0,0 +1,91 @@
+/* Copyright 2016-2019 Free Software Foundation, Inc.
+   Contributed by Dimitar Dimitrov <dimitar@dinux.eu>
+
+   This file is part of the PRU simulator.
+
+   This library 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/>.  */
+
+#ifndef PRU_SIM_MAIN
+#define PRU_SIM_MAIN
+
+#include <stdint.h>
+#include <stddef.h>
+#include "pru.h"
+#include "sim-basics.h"
+
+#include "sim-base.h"
+
+/* The machine state.
+   This state is maintained in host byte order.  The
+   fetch/store register functions must translate between host
+   byte order and the target processor byte order.
+   Keeping this data in target byte order simplifies the register
+   read/write functions.  Keeping this data in host order improves
+   the performance of the simulator.  Simulation speed is deemed more
+   important.  */
+
+/* For clarity, please keep the same relative order in this enum as in the
+   corresponding group of GP registers.
+
+   In PRU ISA, Multiplier-Accumulator-Unit's registers are like "shadows" of
+   the GP registers.  MAC registers are implicitly addressed when executing
+   the XIN/XOUT instructions to access them.  Transfer to/from a MAC register
+   can happen only from/to its corresponding GP peer register.  */
+
+enum pru_macreg_id {
+    /* MAC register	  CPU GP register     Description.  */
+    PRU_MACREG_MODE,	  /* r25 */	      /* Mode (MUL/MAC).  */
+    PRU_MACREG_PROD_L,	  /* r26 */	      /* Lower 32 bits of product.  */
+    PRU_MACREG_PROD_H,	  /* r27 */	      /* Higher 32 bits of product.  */
+    PRU_MACREG_OP_0,	  /* r28 */	      /* First operand.  */
+    PRU_MACREG_OP_1,	  /* r29 */	      /* Second operand.  */
+    PRU_MACREG_ACC_L,	  /* N/A */	      /* Accumulator (not exposed)  */
+    PRU_MACREG_ACC_H,	  /* N/A */	      /* Higher 32 bits of MAC
+						 accumulator.  */
+    PRU_MAC_NREGS
+};
+
+struct pru_regset
+{
+  uint32_t	  regs[32];		/* Primary registers.  */
+  uint16_t	  pc;			/* IMEM _word_ address.  */
+  uint32_t	  pc_addr_space_marker; /* IMEM virtual linker offset.  This
+					   is the artificial offset that
+					   we invent in order to "separate"
+					   the DMEM and IMEM memory spaces.  */
+  unsigned int	  carry : 1;
+  uint32_t	  ctable[32];		/* Constant offsets table for xBCO.  */
+  uint32_t	  macregs[PRU_MAC_NREGS];
+  uint32_t	  scratchpads[XFRID_MAX + 1][32];
+  struct {
+    uint16_t looptop;			/* LOOP top (PC of loop instr).  */
+    uint16_t loopend;			/* LOOP end (PC of loop end label).  */
+    int loop_in_progress;		/* Whether to check for PC==loopend.  */
+    uint32_t loop_counter;		/* LOOP counter.  */
+  } loop;
+  int		  cycles;
+  int		  insts;
+};
+
+struct _sim_cpu {
+  struct pru_regset pru_cpu;
+  sim_cpu_base base;
+};
+
+struct sim_state {
+  sim_cpu *cpu[MAX_NR_PROCESSORS];
+
+  sim_state_base base;
+};
+#endif /* PRU_SIM_MAIN */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/rl78/load.c ./sim/rl78/load.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/rl78/load.c	2019-09-17 01:49:46.000000000 +0000
+++ ./sim/rl78/load.c	2019-09-24 01:49:14.000000000 +0000
@@ -56,7 +56,7 @@ find_section_name_by_offset (bfd *abfd, 
 
   for (s = abfd->sections; s; s = s->next)
     if (s->filepos == filepos)
-      return bfd_get_section_name (abfd, s);
+      return bfd_section_name (s);
 
   return "(unknown)";
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/rl78/trace.c ./sim/rl78/trace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/rl78/trace.c	2019-09-17 01:49:46.000000000 +0000
+++ ./sim/rl78/trace.c	2019-09-24 01:49:14.000000000 +0000
@@ -224,7 +224,7 @@ sim_get_current_source_location (const c
 	  if (s->flags & SEC_CODE || code_section == 0)
 	    {
 	      code_section = s;
-	      code_base = bfd_section_lma (current_bfd, s);
+	      code_base = bfd_section_lma (s);
 	      break;
 	    }
 	}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/rx/gdb-if.c ./sim/rx/gdb-if.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/rx/gdb-if.c	2019-09-17 01:49:46.000000000 +0000
+++ ./sim/rx/gdb-if.c	2019-09-24 01:49:14.000000000 +0000
@@ -164,14 +164,14 @@ build_swap_list (struct bfd *abfd)
 	  struct swap_list *sl;
 	  bfd_size_type size;
 
-	  size = bfd_get_section_size (s);
+	  size = bfd_section_size (s);
 	  if (size <= 0)
 	    continue;
 	  
 	  sl = malloc (sizeof (struct swap_list));
 	  assert (sl != NULL);
 	  sl->next = swap_list;
-	  sl->start = bfd_section_lma (abfd, s);
+	  sl->start = bfd_section_lma (s);
 	  sl->end = sl->start + size;
 	  swap_list = sl;
 	}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/rx/load.c ./sim/rx/load.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/rx/load.c	2019-09-17 01:49:46.000000000 +0000
+++ ./sim/rx/load.c	2019-09-24 01:49:14.000000000 +0000
@@ -52,7 +52,7 @@ find_section_name_by_offset (bfd *abfd, 
 
   for (s = abfd->sections; s; s = s->next)
     if (s->filepos == filepos)
-      return bfd_get_section_name (abfd, s);
+      return bfd_section_name (s);
 
   return "(unknown)";
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/rx/trace.c ./sim/rx/trace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/rx/trace.c	2019-09-17 01:49:46.000000000 +0000
+++ ./sim/rx/trace.c	2019-09-24 01:49:14.000000000 +0000
@@ -228,7 +228,7 @@ sim_get_current_source_location (const c
 	  if (s->flags & SEC_CODE || code_section == 0)
 	    {
 	      code_section = s;
-	      code_base = bfd_section_lma (current_bfd, s);
+	      code_base = bfd_section_lma (s);
 	      break;
 	    }
 	}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/testsuite/ChangeLog ./sim/testsuite/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/testsuite/ChangeLog	2019-09-17 01:49:46.000000000 +0000
+++ ./sim/testsuite/ChangeLog	2019-09-24 01:49:14.000000000 +0000
@@ -1,3 +1,7 @@
+2019-09-23  Dimitar Dimitrov  <dimitar@dinux.eu>
+
+	* configure: Regenerate.
+
 2017-12-12  Stafford Horne  <shorne@gmail.com>
 	    Peter Gavin  <pgavin@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-8.3.50.20190917/sim/testsuite/configure ./sim/testsuite/configure
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/testsuite/configure	2019-09-17 01:49:46.000000000 +0000
+++ ./sim/testsuite/configure	2019-09-24 01:49:14.000000000 +0000
@@ -1946,6 +1946,9 @@ case "${target}" in
    powerpc*-*-*)
        sim_arch=ppc
        ;;
+   pru*-*-*)
+       sim_arch=pru
+       ;;
    ft32-*-*)
        sim_arch=ft32
        ;;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/testsuite/sim/pru/add.s ./sim/testsuite/sim/pru/add.s
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/testsuite/sim/pru/add.s	1970-01-01 00:00:00.000000000 +0000
+++ ./sim/testsuite/sim/pru/add.s	2019-09-24 01:49:14.000000000 +0000
@@ -0,0 +1,40 @@
+# Check that basic add insn works.
+# mach: pru
+
+# Copyright (C) 2016-2019 Free Software Foundation, Inc.
+# Contributed by Dimitar Dimitrov <dimitar@dinux.eu>
+#
+# This file is part of the GNU simulators.
+#
+# 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 "testutils.inc"
+
+	start
+
+	ldi r4, 10
+	add r4, r4, 23
+	qbne 2f, r4, 33
+
+	qblt 2f, r4, 33
+
+	qbgt 2f, r4, 33
+
+	jmp 1f
+
+	fail
+
+1:
+	pass
+2:	fail
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/testsuite/sim/pru/allinsn.exp ./sim/testsuite/sim/pru/allinsn.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/testsuite/sim/pru/allinsn.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./sim/testsuite/sim/pru/allinsn.exp	2019-09-24 01:49:14.000000000 +0000
@@ -0,0 +1,33 @@
+# PRU simulator testsuite.
+
+# Copyright (C) 2016-2019 Free Software Foundation, Inc.
+# Contributed by Dimitar Dimitrov <dimitar@dinux.eu>
+#
+# This file is part of the GNU simulators.
+#
+# 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/>.
+
+if [istarget pru-*] {
+    # all machines
+    set all_machs "pru"
+
+    foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.s]] {
+	# If we're only testing specific files and this isn't one of them,
+	# skip it.
+	if ![runtest_file_p $runtests $src] {
+	    continue
+	}
+	run_sim_test $src $all_machs
+    }
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/testsuite/sim/pru/ChangeLog ./sim/testsuite/sim/pru/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/testsuite/sim/pru/ChangeLog	1970-01-01 00:00:00.000000000 +0000
+++ ./sim/testsuite/sim/pru/ChangeLog	2019-09-24 01:49:14.000000000 +0000
@@ -0,0 +1,13 @@
+2019-09-23  Dimitar Dimitrov  <dimitar@dinux.eu>
+
+	* add.s: New test.
+	* allinsn.exp: New file.
+	* dmem-zero-pass.s: New test.
+	* dmem-zero-trap.s: New test.
+	* dram.s: New test.
+	* jmp.s: New test.
+	* loop-imm.s: New test.
+	* loop-reg.s: New test.
+	* mul.s: New test.
+	* subreg.s: New test.
+	* testutils.inc: New file.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/testsuite/sim/pru/dmem-zero-pass.s ./sim/testsuite/sim/pru/dmem-zero-pass.s
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/testsuite/sim/pru/dmem-zero-pass.s	1970-01-01 00:00:00.000000000 +0000
+++ ./sim/testsuite/sim/pru/dmem-zero-pass.s	2019-09-24 01:49:14.000000000 +0000
@@ -0,0 +1,29 @@
+# Check that DMEM zero address access works by default.
+# mach: pru
+
+# Copyright (C) 2016-2019 Free Software Foundation, Inc.
+# Contributed by Dimitar Dimitrov <dimitar@dinux.eu>
+#
+# This file is part of the GNU simulators.
+#
+# 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 "testutils.inc"
+
+	start
+
+	ldi r1, 0
+	lbbo &r2, r1, 0, 4
+
+	pass
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/testsuite/sim/pru/dmem-zero-trap.s ./sim/testsuite/sim/pru/dmem-zero-trap.s
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/testsuite/sim/pru/dmem-zero-trap.s	1970-01-01 00:00:00.000000000 +0000
+++ ./sim/testsuite/sim/pru/dmem-zero-trap.s	2019-09-24 01:49:14.000000000 +0000
@@ -0,0 +1,32 @@
+# Check that DMEM zero address access can be trapped.
+# mach: pru
+# sim: --error-null-deref
+# xerror:
+# output: core: 4 byte read to unmapped address 0x0 at *\n
+
+# Copyright (C) 2016-2019 Free Software Foundation, Inc.
+# Contributed by Dimitar Dimitrov <dimitar@dinux.eu>
+#
+# This file is part of the GNU simulators.
+#
+# 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 "testutils.inc"
+
+	start
+
+	ldi r1, 0
+	lbbo &r2, r1, 0, 4
+
+	pass
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/testsuite/sim/pru/dram.s ./sim/testsuite/sim/pru/dram.s
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/testsuite/sim/pru/dram.s	1970-01-01 00:00:00.000000000 +0000
+++ ./sim/testsuite/sim/pru/dram.s	2019-09-24 01:49:14.000000000 +0000
@@ -0,0 +1,72 @@
+# Check that DRAM memory access works.
+# mach: pru
+
+# Copyright (C) 2016-2019 Free Software Foundation, Inc.
+# Contributed by Dimitar Dimitrov <dimitar@dinux.eu>
+#
+# This file is part of the GNU simulators.
+#
+# 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 "testutils.inc"
+
+	start
+
+	fill r20, 16
+	ldi r10, 0
+	not r10, r10
+	qbne F, r20, r10
+	qbne F, r21, r10
+	qbne F, r22, r10
+	qbne F, r23, r10
+
+	zero r20, 16
+	qbne F, r20, 0
+	qbne F, r21, 0
+	qbne F, r22, 0
+	qbne F, r23, 0
+
+	ldi r0, testarray
+	lbbo &r20, r0, 0, 7
+	qbne F, r20.b0, 0x01
+	qbne F, r20.b1, 0x23
+	qbne F, r20.b2, 0x45
+	qbne F, r20.b3, 0x67
+	qbne F, r21.b0, 0x89
+	qbne F, r21.b1, 0xab
+	qbne F, r21.b2, 0xcd
+	qbne F, r21.b3, 0x00 ; Should not have been loaded!
+	qbne F, r22, 0
+	qbne F, r23, 0
+
+	ldi r1, 0x11
+	sbbo &r1, r0, 9, 1
+	ldi r1, 0x11
+	sbbo &r1, r0, 12, 4
+
+	lbbo &r20, r0, 0, 16
+	qbne F, r21.b3, 0xef
+	qbne F, r22.b0, 0xff
+	qbne F, r22.b1, 0x11
+	qbne F, r22.b2, 0xff
+	qbne F, r22.b3, 0xff
+	qbne F, r23, 0x11
+
+	pass
+F:	fail
+
+	.data
+testarray:
+	.byte 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef
+	.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/testsuite/sim/pru/jmp.s ./sim/testsuite/sim/pru/jmp.s
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/testsuite/sim/pru/jmp.s	1970-01-01 00:00:00.000000000 +0000
+++ ./sim/testsuite/sim/pru/jmp.s	2019-09-24 01:49:14.000000000 +0000
@@ -0,0 +1,40 @@
+# Check that jump and branch insns work.
+# mach: pru
+
+# Copyright (C) 2016-2019 Free Software Foundation, Inc.
+# Contributed by Dimitar Dimitrov <dimitar@dinux.eu>
+#
+# This file is part of the GNU simulators.
+#
+# 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 "testutils.inc"
+
+	start
+
+	ldi r10, 10
+	call func1
+	qbne F, r10, 11
+
+	ldi r0, %pmem(1f)
+	jmp r0
+	fail
+1:
+	pass
+F:	fail
+
+
+func1:
+	add r10, r10, 1
+	ret
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/testsuite/sim/pru/loop-imm.s ./sim/testsuite/sim/pru/loop-imm.s
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/testsuite/sim/pru/loop-imm.s	1970-01-01 00:00:00.000000000 +0000
+++ ./sim/testsuite/sim/pru/loop-imm.s	2019-09-24 01:49:14.000000000 +0000
@@ -0,0 +1,43 @@
+# Check that loop insn works.
+# mach: pru
+
+# Copyright (C) 2016-2019 Free Software Foundation, Inc.
+# Contributed by Dimitar Dimitrov <dimitar@dinux.eu>
+#
+# This file is part of the GNU simulators.
+#
+# 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 "testutils.inc"
+
+	start
+
+	ldi r25, 0
+	ldi r26, 0
+	ldi r27, 0
+
+	add r27, r27, 1
+	loop 1f, 10
+	add r25, r25, 1
+	add r26, r26, 2
+1:
+	add r27, r27, 1
+
+	qbne F, r25, 10
+	qbne F, r26, 20
+	qbne F, r27, 2
+
+	pass
+
+F:	fail
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/testsuite/sim/pru/loop-reg.s ./sim/testsuite/sim/pru/loop-reg.s
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/testsuite/sim/pru/loop-reg.s	1970-01-01 00:00:00.000000000 +0000
+++ ./sim/testsuite/sim/pru/loop-reg.s	2019-09-24 01:49:14.000000000 +0000
@@ -0,0 +1,44 @@
+# Check that loop insn works.
+# mach: pru
+
+# Copyright (C) 2016-2019 Free Software Foundation, Inc.
+# Contributed by Dimitar Dimitrov <dimitar@dinux.eu>
+#
+# This file is part of the GNU simulators.
+#
+# 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 "testutils.inc"
+
+	start
+
+	ldi r25, 0
+	ldi r26, 0
+	ldi r27, 0
+	ldi r28, 10
+
+	add r27, r27, 1
+	loop 1f, r28
+	add r25, r25, 1
+	add r26, r26, 2
+1:
+	add r27, r27, 1
+
+	qbne F, r25, 10
+	qbne F, r26, 20
+	qbne F, r27, 2
+
+	pass
+
+F:	fail
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/testsuite/sim/pru/mul.s ./sim/testsuite/sim/pru/mul.s
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/testsuite/sim/pru/mul.s	1970-01-01 00:00:00.000000000 +0000
+++ ./sim/testsuite/sim/pru/mul.s	2019-09-24 01:49:14.000000000 +0000
@@ -0,0 +1,89 @@
+# Check that multiplication works.
+# mach: pru
+
+# Copyright (C) 2016-2019 Free Software Foundation, Inc.
+# Contributed by Dimitar Dimitrov <dimitar@dinux.eu>
+#
+# This file is part of the GNU simulators.
+#
+# 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 "testutils.inc"
+
+	start
+
+	# MUL: Test regular case
+	ldi r28, 1001
+	ldi r29, 4567
+	nop
+	xin 0, r26, 4
+	qbne32 2f, r26, 1001 * 4567
+
+	# MUL: Test the pipeline emulation
+	ldi r28, 1002
+	ldi r29, 1003
+	ldi r29, 4004
+	xin 0, r26, 4
+	qbne32 2f, r26, 1002 * 1003
+	xin 0, r26, 4
+	qbne32 2f, r26, 1002 * 4004
+
+	# MUL: Test 64-bit result
+	ldi32 r28, 0x12345678
+	ldi32 r29, 0xaabbccdd
+	nop
+	xin 0, r26, 8
+	qbne32 2f, r26, 0x45BE4598
+	qbne32 2f, r27, 0xC241C38
+
+	# MAC: Test regular case
+	ldi r25, 1
+	xout 0, r25, 1
+	ldi r25, 3
+	xout 0, r25, 1
+
+	ldi r25, 1
+	ldi r28, 1001
+	ldi r29, 2002
+	xout 0, r25, 1
+	ldi r28, 3003
+	ldi r29, 4004
+	xout 0, r25, 1
+
+	xin 0, r26, 4
+	qbne32 2f, r26, (1001 * 2002) + (3003 * 4004)
+
+	# MAC: Test 64-bit result
+	ldi r25, 3
+	xout 0, r25, 1
+
+	ldi r25, 1
+	ldi32 r28, 0x10203040
+	ldi32 r29, 0x50607080
+	xout 0, r25, 1
+	ldi32 r28, 0xa0b0c0d0
+	ldi32 r29, 0x11223344
+	xout 0, r25, 1
+
+	xin 0, r26, 8
+	qbne32 2f, r26, 0x8E30C740
+	qbne32 2f, r27, 0xFD156B1
+
+	jmp 1f
+
+	fail
+
+1:
+	pass
+2:	fail
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/testsuite/sim/pru/subreg.s ./sim/testsuite/sim/pru/subreg.s
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/testsuite/sim/pru/subreg.s	1970-01-01 00:00:00.000000000 +0000
+++ ./sim/testsuite/sim/pru/subreg.s	2019-09-24 01:49:14.000000000 +0000
@@ -0,0 +1,40 @@
+# Check that subregister addressing works.
+# mach: pru
+
+# Copyright (C) 2016-2019 Free Software Foundation, Inc.
+# Contributed by Dimitar Dimitrov <dimitar@dinux.eu>
+#
+# This file is part of the GNU simulators.
+#
+# 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 "testutils.inc"
+
+	start
+
+	ldi r0, 0x01ff
+	add r0, r0.b0, r0.b1
+	qbne F, r0.b0, 0x00
+	qbne F, r0.b1, 0x01
+	qbne F, r0.w2, 0x00
+
+	ldi r0, 0x01ff
+	add r0.b0, r0.b0, r0.b1
+	adc r0, r0.b1, r0.b3
+	qbne F, r0.b0, 0x02
+	qbne F, r0.b1, 0x00
+	qbne F, r0.w2, 0x00
+
+	pass
+F:	fail
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/testsuite/sim/pru/testutils.inc ./sim/testsuite/sim/pru/testutils.inc
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20190917/sim/testsuite/sim/pru/testutils.inc	1970-01-01 00:00:00.000000000 +0000
+++ ./sim/testsuite/sim/pru/testutils.inc	2019-09-24 01:49:14.000000000 +0000
@@ -0,0 +1,100 @@
+# Copyright (C) 2016-2019 Free Software Foundation, Inc.
+# Contributed by Dimitar Dimitrov <dimitar@dinux.eu>
+#
+# This file is part of the GNU simulators.
+#
+# 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/>.
+
+# MACRO: start
+# All assembler tests should start with a call to "main_test"
+	.macro start
+	.text
+
+	.global _start
+_start:
+
+	# Skip over these inlined funcs.
+	jmp __main_test;
+
+	.global __pass
+	.type __pass, function
+__pass:
+	# Note - DRAM LMA and VMA are equal for PRU, so
+	# we can afford to pass DRAM pointer directly.
+	write 1, _passmsg, 5
+	exit 0
+
+	.global __fail
+	.type __fail, function
+__fail:
+	write 1, _failmsg, 5
+	exit 1
+
+	.data
+_passmsg:
+	.ascii "pass\n"
+
+_failmsg:
+	.ascii "fail\n"
+
+	.text
+	.global __main_test
+	.type __main_test, function
+__main_test:
+	.endm
+
+# MACRO: system_call
+# Make a libgloss system call
+	.macro system_call nr:req, arg1=0, arg2=0, arg3=0
+	ldi r1, \nr
+	ldi r14, \arg1
+	ldi r15, \arg2
+	ldi r16, \arg3
+	halt
+	.endm
+
+# MACRO: exit
+# Quit the current test
+	.macro exit rc:req
+	system_call 1, \rc
+	.endm
+
+# MACRO: pass
+# Write 'pass' to stdout via syscalls and quit;
+# meant for non-OS operating environments
+	.macro pass
+	jmp __pass;
+	.endm
+
+# MACRO: fail
+# Write 'fail' to stdout via syscalls and quit;
+# meant for non-OS operating environments
+	.macro fail
+	jmp __fail;
+	.endm
+
+# MACRO: write
+# Just like the write() C function; uses system calls
+	.macro write fd:req, str:req, len:req
+	system_call 5, \fd, \str, \len
+	.endm
+
+# MACRO: qbne32
+# Like qbne instruction, but check a 32-bit constant value.
+	.macro qbne32 label:req, op0:req, C0:req
+	qbne \label, \op0\().b0, ((\C0) >> 0) & 0xff
+	qbne \label, \op0\().b1, ((\C0) >> 8) & 0xff
+	qbne \label, \op0\().b2, ((\C0) >> 16) & 0xff
+	qbne \label, \op0\().b3, ((\C0) >> 24) & 0xff
+	.endm
