[gdb] Rebase to FSF GDB 7.4.50.20120120. Drop the g77 .spec provisioning as it has been fixed in FSF GDB.

Jan Kratochvil jankratochvil at fedoraproject.org
Fri Jan 20 23:27:35 UTC 2012


commit c5c713f196e09552ec1e2656754474f2130acdad
Author: Jan Kratochvil <jan.kratochvil at redhat.com>
Date:   Sat Jan 21 00:27:28 2012 +0100

    Rebase to FSF GDB 7.4.50.20120120.
    Drop the g77 .spec provisioning as it has been fixed in FSF GDB.

 .gitignore                   |    2 +-
 gdb-6.6-buildid-locate.patch |   92 +++---
 gdb-archer.patch             |  910 ++++++++++++++++++++----------------------
 gdb-build-libgdb-1of3.patch  |  123 ------
 gdb-build-libgdb-2of3.patch  |  370 -----------------
 gdb-build-libgdb-3of3.patch  |   63 ---
 gdb-gcc47-gcore-zero.patch   |  118 ------
 gdb.spec                     |   26 +-
 sources                      |    2 +-
 9 files changed, 487 insertions(+), 1219 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 967a59b..f171a0f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,2 @@
 /libstdc++-v3-python-r155978.tar.bz2
-/gdb-7.4.50.20120103.tar.bz2
+/gdb-7.4.50.20120120.tar.bz2
diff --git a/gdb-6.6-buildid-locate.patch b/gdb-6.6-buildid-locate.patch
index 7a72d86..7368d8a 100644
--- a/gdb-6.6-buildid-locate.patch
+++ b/gdb-6.6-buildid-locate.patch
@@ -1,18 +1,18 @@
-Index: gdb-7.4.50.20120103/gdb/corelow.c
+Index: gdb-7.4.50.20120120/gdb/corelow.c
 ===================================================================
---- gdb-7.4.50.20120103.orig/gdb/corelow.c	2011-04-17 21:12:20.000000000 +0200
-+++ gdb-7.4.50.20120103/gdb/corelow.c	2012-01-03 15:20:54.905851456 +0100
-@@ -48,6 +48,9 @@
+--- gdb-7.4.50.20120120.orig/gdb/corelow.c	2012-01-10 17:30:44.000000000 +0100
++++ gdb-7.4.50.20120120/gdb/corelow.c	2012-01-21 00:02:58.720401792 +0100
+@@ -46,6 +46,9 @@
+ #include "filenames.h"
  #include "progspace.h"
  #include "objfiles.h"
- #include "wrapper.h"
 +#include "auxv.h"
 +#include "elf/common.h"
 +#include "gdbcmd.h"
  
- 
  #ifndef O_LARGEFILE
-@@ -279,6 +282,52 @@ add_to_thread_list (bfd *abfd, asection
+ #define O_LARGEFILE 0
+@@ -273,6 +276,52 @@ add_to_thread_list (bfd *abfd, asection
      inferior_ptid = ptid;			/* Yes, make it current.  */
  }
  
@@ -65,7 +65,7 @@ Index: gdb-7.4.50.20120103/gdb/corelow.c
  /* This routine opens and sets up the core file bfd.  */
  
  static void
-@@ -380,6 +429,12 @@ core_open (char *filename, int from_tty)
+@@ -375,6 +424,12 @@ core_open (char *filename, int from_tty)
    push_target (&core_ops);
    discard_cleanups (old_chain);
  
@@ -78,7 +78,7 @@ Index: gdb-7.4.50.20120103/gdb/corelow.c
    /* Do this before acknowledging the inferior, so if
       post_create_inferior throws (can happen easilly if you're loading
       a core file with the wrong exec), we aren't left with threads
-@@ -933,4 +988,11 @@ _initialize_corelow (void)
+@@ -934,4 +989,11 @@ _initialize_corelow (void)
    init_core_ops ();
  
    add_target (&core_ops);
@@ -90,11 +90,11 @@ Index: gdb-7.4.50.20120103/gdb/corelow.c
 +			   NULL, NULL, NULL,
 +			   &setlist, &showlist);
  }
-Index: gdb-7.4.50.20120103/gdb/doc/gdb.texinfo
+Index: gdb-7.4.50.20120120/gdb/doc/gdb.texinfo
 ===================================================================
---- gdb-7.4.50.20120103.orig/gdb/doc/gdb.texinfo	2012-01-03 05:53:41.000000000 +0100
-+++ gdb-7.4.50.20120103/gdb/doc/gdb.texinfo	2012-01-03 15:20:54.910851436 +0100
-@@ -15971,6 +15971,27 @@ information files.
+--- gdb-7.4.50.20120120.orig/gdb/doc/gdb.texinfo	2012-01-21 00:02:36.000000000 +0100
++++ gdb-7.4.50.20120120/gdb/doc/gdb.texinfo	2012-01-21 00:02:41.619463607 +0100
+@@ -16015,6 +16015,27 @@ information files.
  
  @end table
  
@@ -122,11 +122,11 @@ Index: gdb-7.4.50.20120103/gdb/doc/gdb.texinfo
  @cindex @code{.gnu_debuglink} sections
  @cindex debug link sections
  A debug link is a special section of the executable file named
-Index: gdb-7.4.50.20120103/gdb/solib-svr4.c
+Index: gdb-7.4.50.20120120/gdb/solib-svr4.c
 ===================================================================
---- gdb-7.4.50.20120103.orig/gdb/solib-svr4.c	2011-12-03 19:32:29.000000000 +0100
-+++ gdb-7.4.50.20120103/gdb/solib-svr4.c	2012-01-03 15:20:54.911851432 +0100
-@@ -1228,9 +1228,52 @@ svr4_read_so_list (CORE_ADDR lm, struct
+--- gdb-7.4.50.20120120.orig/gdb/solib-svr4.c	2012-01-04 09:17:11.000000000 +0100
++++ gdb-7.4.50.20120120/gdb/solib-svr4.c	2012-01-21 00:02:41.620463603 +0100
+@@ -1227,9 +1227,52 @@ svr4_read_so_list (CORE_ADDR lm, struct
  	  continue;
  	}
  
@@ -182,11 +182,11 @@ Index: gdb-7.4.50.20120103/gdb/solib-svr4.c
        xfree (buffer);
  
        /* If this entry has no name, or its name matches the name
-Index: gdb-7.4.50.20120103/gdb/elfread.c
+Index: gdb-7.4.50.20120120/gdb/elfread.c
 ===================================================================
---- gdb-7.4.50.20120103.orig/gdb/elfread.c	2012-01-03 05:52:15.000000000 +0100
-+++ gdb-7.4.50.20120103/gdb/elfread.c	2012-01-03 15:21:09.933796168 +0100
-@@ -46,6 +46,11 @@
+--- gdb-7.4.50.20120120.orig/gdb/elfread.c	2012-01-21 00:02:33.000000000 +0100
++++ gdb-7.4.50.20120120/gdb/elfread.c	2012-01-21 00:02:41.621463599 +0100
+@@ -44,6 +44,11 @@
  #include "gdbthread.h"
  #include "regcache.h"
  #include "bcache.h"
@@ -198,7 +198,7 @@ Index: gdb-7.4.50.20120103/gdb/elfread.c
  
  extern void _initialize_elfread (void);
  
-@@ -1078,16 +1083,65 @@ elf_gnu_ifunc_resolver_return_stop (stru
+@@ -1076,16 +1081,65 @@ elf_gnu_ifunc_resolver_return_stop (stru
    update_breakpoint_locations (b, sals, sals_end);
  }
  
@@ -266,7 +266,7 @@ Index: gdb-7.4.50.20120103/gdb/elfread.c
  {
    struct build_id *retval;
  
-@@ -1103,6 +1157,348 @@ build_id_bfd_get (bfd *abfd)
+@@ -1101,6 +1155,348 @@ build_id_bfd_get (bfd *abfd)
    return retval;
  }
  
@@ -615,7 +615,7 @@ Index: gdb-7.4.50.20120103/gdb/elfread.c
  /* Return if FILENAME has NT_GNU_BUILD_ID matching the CHECK value.  */
  
  static int
-@@ -1117,7 +1513,7 @@ build_id_verify (const char *filename, s
+@@ -1115,7 +1511,7 @@ build_id_verify (const char *filename, s
    if (abfd == NULL)
      return 0;
  
@@ -624,7 +624,7 @@ Index: gdb-7.4.50.20120103/gdb/elfread.c
  
    if (found == NULL)
      warning (_("File \"%s\" has no build-id, file skipped"), filename);
-@@ -1135,14 +1531,15 @@ build_id_verify (const char *filename, s
+@@ -1133,14 +1529,15 @@ build_id_verify (const char *filename, s
    return retval;
  }
  
@@ -644,7 +644,7 @@ Index: gdb-7.4.50.20120103/gdb/elfread.c
  
    /* Keep backward compatibility so that DEBUG_FILE_DIRECTORY being "" will
       cause "/.build-id/..." lookups.  */
-@@ -1153,6 +1550,8 @@ build_id_to_debug_filename (struct build
+@@ -1151,6 +1548,8 @@ build_id_to_debug_filename (struct build
        char *s, *debugdir_end;
        gdb_byte *data = build_id->data;
        size_t size = build_id->size;
@@ -653,7 +653,7 @@ Index: gdb-7.4.50.20120103/gdb/elfread.c
  
        while (*debugdir == DIRNAME_SEPARATOR)
  	debugdir++;
-@@ -1173,39 +1572,242 @@ build_id_to_debug_filename (struct build
+@@ -1171,39 +1570,242 @@ build_id_to_debug_filename (struct build
  	*s++ = '/';
        while (size-- > 0)
  	s += sprintf (s, "%02x", (unsigned) *data++);
@@ -908,7 +908,7 @@ Index: gdb-7.4.50.20120103/gdb/elfread.c
        xfree (build_id);
        /* Prevent looping on a stripped .debug file.  */
        if (build_id_name != NULL
-@@ -1216,7 +1818,7 @@ find_separate_debug_file_by_buildid (str
+@@ -1214,7 +1816,7 @@ find_separate_debug_file_by_buildid (str
  	  xfree (build_id_name);
  	}
        else if (build_id_name != NULL)
@@ -917,7 +917,7 @@ Index: gdb-7.4.50.20120103/gdb/elfread.c
      }
    return NULL;
  }
-@@ -1436,9 +2038,10 @@ elf_symfile_read (struct objfile *objfil
+@@ -1434,9 +2036,10 @@ elf_symfile_read (struct objfile *objfil
       `.note.gnu.build-id'.  */
    else if (!objfile_has_partial_symbols (objfile))
      {
@@ -930,7 +930,7 @@ Index: gdb-7.4.50.20120103/gdb/elfread.c
  
        if (debugfile == NULL)
  	debugfile = find_separate_debug_file_by_debuglink (objfile);
-@@ -1450,6 +2053,12 @@ elf_symfile_read (struct objfile *objfil
+@@ -1448,6 +2051,12 @@ elf_symfile_read (struct objfile *objfil
  	  symbol_file_add_separate (abfd, symfile_flags, objfile);
  	  xfree (debugfile);
  	}
@@ -943,7 +943,7 @@ Index: gdb-7.4.50.20120103/gdb/elfread.c
      }
  }
  
-@@ -1933,4 +2542,16 @@ _initialize_elfread (void)
+@@ -1931,4 +2540,16 @@ _initialize_elfread (void)
  
    elf_objfile_gnu_ifunc_cache_data = register_objfile_data ();
    gnu_ifunc_fns_p = &elf_gnu_ifunc_fns;
@@ -960,11 +960,11 @@ Index: gdb-7.4.50.20120103/gdb/elfread.c
 +
 +  observer_attach_executable_changed (debug_print_executable_changed);
  }
-Index: gdb-7.4.50.20120103/gdb/symfile.h
+Index: gdb-7.4.50.20120120/gdb/symfile.h
 ===================================================================
---- gdb-7.4.50.20120103.orig/gdb/symfile.h	2012-01-03 05:52:15.000000000 +0100
-+++ gdb-7.4.50.20120103/gdb/symfile.h	2012-01-03 15:20:54.914851422 +0100
-@@ -616,6 +616,13 @@ void free_symfile_segment_data (struct s
+--- gdb-7.4.50.20120120.orig/gdb/symfile.h	2012-01-21 00:02:33.000000000 +0100
++++ gdb-7.4.50.20120120/gdb/symfile.h	2012-01-21 00:02:41.621463599 +0100
+@@ -614,6 +614,13 @@ void free_symfile_segment_data (struct s
  
  extern struct cleanup *increment_reading_symtab (void);
  
@@ -978,11 +978,11 @@ Index: gdb-7.4.50.20120103/gdb/symfile.h
  /* From dwarf2read.c */
  
  /* Names for a dwarf2 debugging section.  The field NORMAL is the normal
-Index: gdb-7.4.50.20120103/gdb/testsuite/lib/gdb.exp
+Index: gdb-7.4.50.20120120/gdb/testsuite/lib/gdb.exp
 ===================================================================
---- gdb-7.4.50.20120103.orig/gdb/testsuite/lib/gdb.exp	2012-01-03 05:52:15.000000000 +0100
-+++ gdb-7.4.50.20120103/gdb/testsuite/lib/gdb.exp	2012-01-03 15:20:54.914851422 +0100
-@@ -1387,6 +1387,16 @@ proc default_gdb_start { } {
+--- gdb-7.4.50.20120120.orig/gdb/testsuite/lib/gdb.exp	2012-01-21 00:02:36.000000000 +0100
++++ gdb-7.4.50.20120120/gdb/testsuite/lib/gdb.exp	2012-01-21 00:02:41.622463596 +0100
+@@ -1385,6 +1385,16 @@ proc default_gdb_start { } {
  	    warning "Couldn't set the width to 0."
  	}
      }
@@ -999,10 +999,10 @@ Index: gdb-7.4.50.20120103/gdb/testsuite/lib/gdb.exp
      return 0;
  }
  
-Index: gdb-7.4.50.20120103/gdb/testsuite/lib/mi-support.exp
+Index: gdb-7.4.50.20120120/gdb/testsuite/lib/mi-support.exp
 ===================================================================
---- gdb-7.4.50.20120103.orig/gdb/testsuite/lib/mi-support.exp	2011-12-03 21:20:29.000000000 +0100
-+++ gdb-7.4.50.20120103/gdb/testsuite/lib/mi-support.exp	2012-01-03 15:20:54.915851419 +0100
+--- gdb-7.4.50.20120120.orig/gdb/testsuite/lib/mi-support.exp	2012-01-12 23:28:34.000000000 +0100
++++ gdb-7.4.50.20120120/gdb/testsuite/lib/mi-support.exp	2012-01-21 00:02:41.622463596 +0100
 @@ -212,6 +212,16 @@ proc default_mi_gdb_start { args } {
  	    warning "Couldn't set the width to 0."
  	}
@@ -1020,11 +1020,11 @@ Index: gdb-7.4.50.20120103/gdb/testsuite/lib/mi-support.exp
      # If allowing the inferior to have its own PTY then assign the inferior
      # its own terminal device here.
      if { $separate_inferior_pty } {
-Index: gdb-7.4.50.20120103/gdb/objfiles.h
+Index: gdb-7.4.50.20120120/gdb/objfiles.h
 ===================================================================
---- gdb-7.4.50.20120103.orig/gdb/objfiles.h	2011-12-08 19:08:12.000000000 +0100
-+++ gdb-7.4.50.20120103/gdb/objfiles.h	2012-01-03 15:20:54.915851419 +0100
-@@ -435,6 +435,10 @@ struct objfile
+--- gdb-7.4.50.20120120.orig/gdb/objfiles.h	2012-01-04 09:17:09.000000000 +0100
++++ gdb-7.4.50.20120120/gdb/objfiles.h	2012-01-21 00:02:41.623463593 +0100
+@@ -433,6 +433,10 @@ struct objfile
  
  #define OBJF_MAINLINE (1 << 5)
  
diff --git a/gdb-archer.patch b/gdb-archer.patch
index edee7ca..5e9b168 100644
--- a/gdb-archer.patch
+++ b/gdb-archer.patch
@@ -2,7 +2,7 @@ http://sourceware.org/gdb/wiki/ProjectArcher
 http://sourceware.org/gdb/wiki/ArcherBranchManagement
 
 GIT snapshot:
-commit 9d032ca6bf6de39c55d99ffc09056683c7a6498b
+commit 9f8d47f059091333d178bd249507fd25676860e7
 
 branch `archer' - the merge of branches:
 archer-jankratochvil-vla
@@ -12,10 +12,10 @@ archer-sergiodj-stap
 
 
 diff --git a/gdb/Makefile.in b/gdb/Makefile.in
-index 89776b9..a444c98 100644
+index 38c93c9..3acacdb 100644
 --- a/gdb/Makefile.in
 +++ b/gdb/Makefile.in
-@@ -727,8 +727,8 @@ SFILES = ada-exp.y ada-lang.c ada-typeprint.c ada-valprint.c ada-tasks.c \
+@@ -720,8 +720,8 @@ SFILES = ada-exp.y ada-lang.c ada-typeprint.c ada-valprint.c ada-tasks.c \
  	sentinel-frame.c \
  	serial.c ser-base.c ser-unix.c skip.c \
  	solib.c solib-target.c source.c \
@@ -26,7 +26,7 @@ index 89776b9..a444c98 100644
  	target.c target-descriptions.c target-memory.c \
  	thread.c top.c tracepoint.c \
  	trad-frame.c \
-@@ -825,7 +825,7 @@ osdata.h procfs.h python/py-event.h python/py-events.h python/py-stopevent.h \
+@@ -817,7 +817,7 @@ osdata.h procfs.h python/py-event.h python/py-events.h python/py-stopevent.h \
  python/python-internal.h python/python.h ravenscar-thread.h record.h \
  solib-darwin.h solib-ia64-hpux.h solib-spu.h windows-nat.h xcoffread.h \
  gnulib/extra/arg-nonnull.h gnulib/extra/c++defs.h gnulib/extra/warn-on-use.h \
@@ -35,7 +35,7 @@ index 89776b9..a444c98 100644
  common/common-utils.h common/xml-utils.h common/buffer.h common/ptid.h \
  common/linux-osdata.h gdb-dlfcn.h
  
-@@ -913,7 +913,7 @@ COMMON_OBS = $(DEPFILES) $(CONFIG_OBS) $(YYOBJ) \
+@@ -905,7 +905,7 @@ COMMON_OBS = $(DEPFILES) $(CONFIG_OBS) $(YYOBJ) \
  	xml-support.o xml-syscall.o xml-utils.o \
  	target-descriptions.o target-memory.o xml-tdesc.o xml-builtin.o \
  	inferior.o osdata.o gdb_usleep.o record.o gcore.o \
@@ -44,7 +44,7 @@ index 89776b9..a444c98 100644
  	common-utils.o buffer.o ptid.o gdb-dlfcn.o
  
  TSOBS = inflow.o
-@@ -1301,6 +1301,12 @@ stamp-h: $(srcdir)/config.in config.status
+@@ -1293,6 +1293,12 @@ stamp-h: $(srcdir)/config.in config.status
  	  CONFIG_LINKS= \
  	  $(SHELL) config.status
  
@@ -58,10 +58,10 @@ index 89776b9..a444c98 100644
  	$(SHELL) config.status --recheck
  
 diff --git a/gdb/NEWS b/gdb/NEWS
-index a9a7859..75dc964 100644
+index 128825e..13dd88c 100644
 --- a/gdb/NEWS
 +++ b/gdb/NEWS
-@@ -305,6 +305,10 @@ Renesas RL78				rl78-*-elf
+@@ -328,6 +328,10 @@ Renesas RL78				rl78-*-elf
    Initial support for the OpenCL C language (http://www.khronos.org/opencl)
    has been integrated into GDB.
  
@@ -73,10 +73,10 @@ index a9a7859..75dc964 100644
  
    ** The function gdb.Write now accepts an optional keyword 'stream'.
 diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
-index c4bf6e9..8c3af14 100644
+index 29956d7..dc1fadd 100644
 --- a/gdb/ada-lang.c
 +++ b/gdb/ada-lang.c
-@@ -11904,6 +11904,7 @@ ada_operator_length (const struct expression *exp, int pc, int *oplenp,
+@@ -11896,6 +11896,7 @@ ada_operator_length (const struct expression *exp, int pc, int *oplenp,
  
  static int
  ada_operator_check (struct expression *exp, int pos,
@@ -84,7 +84,7 @@ index c4bf6e9..8c3af14 100644
  		    int (*objfile_func) (struct objfile *objfile, void *data),
  		    void *data)
  {
-@@ -11918,12 +11919,15 @@ ada_operator_check (struct expression *exp, int pos,
+@@ -11910,12 +11911,15 @@ ada_operator_check (struct expression *exp, int pos,
  	break;
  
        default:
@@ -103,10 +103,10 @@ index c4bf6e9..8c3af14 100644
      return 1;
  
 diff --git a/gdb/amd64-linux-nat.c b/gdb/amd64-linux-nat.c
-index d598389..6bf794b 100644
+index a0bdbd7..98760bf 100644
 --- a/gdb/amd64-linux-nat.c
 +++ b/gdb/amd64-linux-nat.c
-@@ -337,8 +337,8 @@ amd64_linux_dr_get_status (void)
+@@ -336,8 +336,8 @@ amd64_linux_dr_get_status (void)
    return amd64_linux_dr_get (inferior_ptid, DR_STATUS);
  }
  
@@ -117,7 +117,7 @@ index d598389..6bf794b 100644
  
  static int
  update_debug_registers_callback (struct lwp_info *lwp, void *arg)
-@@ -364,9 +364,7 @@ update_debug_registers_callback (struct lwp_info *lwp, void *arg)
+@@ -363,9 +363,7 @@ update_debug_registers_callback (struct lwp_info *lwp, void *arg)
  static void
  amd64_linux_dr_set_control (unsigned long control)
  {
@@ -128,7 +128,7 @@ index d598389..6bf794b 100644
  }
  
  /* Set address REGNUM (zero based) to ADDR in all LWPs of the current
-@@ -379,7 +377,7 @@ amd64_linux_dr_set_addr (int regnum, CORE_ADDR addr)
+@@ -378,7 +376,7 @@ amd64_linux_dr_set_addr (int regnum, CORE_ADDR addr)
  
    gdb_assert (regnum >= 0 && regnum <= DR_LASTADDR - DR_FIRSTADDR);
  
@@ -137,7 +137,7 @@ index d598389..6bf794b 100644
  }
  
  /* Called when resuming a thread.
-@@ -401,6 +399,13 @@ amd64_linux_prepare_to_resume (struct lwp_info *lwp)
+@@ -400,6 +398,13 @@ amd64_linux_prepare_to_resume (struct lwp_info *lwp)
        struct i386_debug_reg_state *state = i386_debug_reg_state ();
        int i;
  
@@ -152,10 +152,10 @@ index d598389..6bf794b 100644
  	if (state->dr_ref_count[i] > 0)
  	  {
 diff --git a/gdb/amd64-linux-tdep.c b/gdb/amd64-linux-tdep.c
-index 84b58a0..62ed964 100644
+index ca9ade6..c30185d 100644
 --- a/gdb/amd64-linux-tdep.c
 +++ b/gdb/amd64-linux-tdep.c
-@@ -1363,6 +1363,15 @@ amd64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
+@@ -1362,6 +1362,15 @@ amd64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
    set_gdbarch_process_record (gdbarch, i386_process_record);
    set_gdbarch_process_record_signal (gdbarch, amd64_linux_record_signal);
  
@@ -172,10 +172,10 @@ index 84b58a0..62ed964 100644
    /* These values are the size of the type that will be used in a system
       call.  They are obtained from Linux Kernel source.  */
 diff --git a/gdb/arm-linux-tdep.c b/gdb/arm-linux-tdep.c
-index bee33e4..4df6bfa 100644
+index ac4860c..d710682 100644
 --- a/gdb/arm-linux-tdep.c
 +++ b/gdb/arm-linux-tdep.c
-@@ -44,6 +44,12 @@
+@@ -43,6 +43,12 @@
  #include "gdbthread.h"
  #include "symfile.h"
  
@@ -188,7 +188,7 @@ index bee33e4..4df6bfa 100644
  #include "gdb_string.h"
  
  /* This is defined in <elf.h> on ARM GNU/Linux systems.  */
-@@ -1054,6 +1060,122 @@ arm_linux_displaced_step_copy_insn (struct gdbarch *gdbarch,
+@@ -1053,6 +1059,122 @@ arm_linux_displaced_step_copy_insn (struct gdbarch *gdbarch,
    return dsc;
  }
  
@@ -311,7 +311,7 @@ index bee33e4..4df6bfa 100644
  static void
  arm_linux_init_abi (struct gdbarch_info info,
  		    struct gdbarch *gdbarch)
-@@ -1153,6 +1275,15 @@ arm_linux_init_abi (struct gdbarch_info info,
+@@ -1152,6 +1274,15 @@ arm_linux_init_abi (struct gdbarch_info info,
  					   simple_displaced_step_free_closure);
    set_gdbarch_displaced_step_location (gdbarch, displaced_step_at_entry_point);
  
@@ -328,7 +328,7 @@ index bee33e4..4df6bfa 100644
    tdep->syscall_next_pc = arm_linux_syscall_next_pc;
  }
 diff --git a/gdb/ax-gdb.c b/gdb/ax-gdb.c
-index e59c735..e1b0f85 100644
+index 31e91b9..4518f6b 100644
 --- a/gdb/ax-gdb.c
 +++ b/gdb/ax-gdb.c
 @@ -95,8 +95,6 @@ static void gen_int_literal (struct agent_expr *ax,
@@ -387,10 +387,10 @@ index e59c735..e1b0f85 100644
  		   "expressions cannot use convenience variables."), name);
        }
 diff --git a/gdb/ax-gdb.h b/gdb/ax-gdb.h
-index 951ec1f..6cdcda2 100644
+index 48c35a4..09f6889 100644
 --- a/gdb/ax-gdb.h
 +++ b/gdb/ax-gdb.h
-@@ -111,6 +111,11 @@ extern struct agent_expr *gen_trace_for_return_address (CORE_ADDR,
+@@ -110,6 +110,11 @@ extern struct agent_expr *gen_trace_for_return_address (CORE_ADDR,
  
  extern struct agent_expr *gen_eval_for_expr (CORE_ADDR, struct expression *);
  
@@ -403,10 +403,10 @@ index 951ec1f..6cdcda2 100644
  extern int trace_string_kludge;
  
 diff --git a/gdb/block.c b/gdb/block.c
-index 1fa3688..76457ba 100644
+index 57ab4c2..573630e 100644
 --- a/gdb/block.c
 +++ b/gdb/block.c
-@@ -370,3 +370,21 @@ allocate_block (struct obstack *obstack)
+@@ -369,3 +369,21 @@ allocate_block (struct obstack *obstack)
  
    return bl;
  }
@@ -429,10 +429,10 @@ index 1fa3688..76457ba 100644
 +  return SYMBOL_SYMTAB (func)->objfile;
 +}
 diff --git a/gdb/block.h b/gdb/block.h
-index 63b18a6..808a19a 100644
+index 2cbcc1b..104c146 100644
 --- a/gdb/block.h
 +++ b/gdb/block.h
-@@ -168,4 +168,6 @@ extern const struct block *block_global_block (const struct block *block);
+@@ -167,4 +167,6 @@ extern const struct block *block_global_block (const struct block *block);
  
  extern struct block *allocate_block (struct obstack *obstack);
  
@@ -440,10 +440,10 @@ index 63b18a6..808a19a 100644
 +
  #endif /* BLOCK_H */
 diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
-index 172e419..74324c4 100644
+index f6a0276..e406156 100644
 --- a/gdb/breakpoint.c
 +++ b/gdb/breakpoint.c
-@@ -63,6 +63,8 @@
+@@ -60,6 +60,8 @@
  #include "jit.h"
  #include "xml-syscall.h"
  #include "parser-defs.h"
@@ -452,7 +452,7 @@ index 172e419..74324c4 100644
  #include "cli/cli-utils.h"
  #include "continuations.h"
  #include "stack.h"
-@@ -1225,9 +1227,10 @@ is_watchpoint (const struct breakpoint *bpt)
+@@ -1239,9 +1241,10 @@ is_watchpoint (const struct breakpoint *bpt)
  static int
  watchpoint_in_thread_scope (struct watchpoint *b)
  {
@@ -466,7 +466,7 @@ index 172e419..74324c4 100644
  }
  
  /* Set watchpoint B to disp_del_at_next_stop, even including its possible
-@@ -1634,6 +1637,40 @@ unduplicated_should_be_inserted (struct bp_location *bl)
+@@ -1648,6 +1651,40 @@ unduplicated_should_be_inserted (struct bp_location *bl)
    return result;
  }
  
@@ -507,7 +507,7 @@ index 172e419..74324c4 100644
  /* Insert a low-level "breakpoint" of some type.  BL is the breakpoint
     location.  Any error messages are printed to TMP_ERROR_STREAM; and
     DISABLED_BREAKS, and HW_BREAKPOINT_ERROR are used to report problems.
-@@ -1727,6 +1764,8 @@ insert_bp_location (struct bp_location *bl,
+@@ -1741,6 +1778,8 @@ insert_bp_location (struct bp_location *bl,
  	  /* No overlay handling: just set the breakpoint.  */
  
  	  val = bl->owner->ops->insert_location (bl);
@@ -516,7 +516,7 @@ index 172e419..74324c4 100644
  	}
        else
  	{
-@@ -2210,11 +2249,23 @@ struct breakpoint_objfile_data
+@@ -2224,11 +2263,23 @@ struct breakpoint_objfile_data
    /* Minimal symbol(s) for "longjmp", "siglongjmp", etc. (if any).  */
    struct minimal_symbol *longjmp_msym[NUM_LONGJMP_NAMES];
  
@@ -540,7 +540,7 @@ index 172e419..74324c4 100644
  };
  
  static const struct objfile_data *breakpoint_objfile_key;
-@@ -2251,6 +2302,15 @@ get_breakpoint_objfile_data (struct objfile *objfile)
+@@ -2265,6 +2316,15 @@ get_breakpoint_objfile_data (struct objfile *objfile)
  }
  
  static void
@@ -556,7 +556,7 @@ index 172e419..74324c4 100644
  create_overlay_event_breakpoint (void)
  {
    struct objfile *objfile;
-@@ -2327,6 +2387,37 @@ create_longjmp_master_breakpoint (void)
+@@ -2341,6 +2401,37 @@ create_longjmp_master_breakpoint (void)
  
        bp_objfile_data = get_breakpoint_objfile_data (objfile);
  
@@ -594,7 +594,7 @@ index 172e419..74324c4 100644
        for (i = 0; i < NUM_LONGJMP_NAMES; i++)
  	{
  	  struct breakpoint *b;
-@@ -2437,6 +2528,40 @@ create_exception_master_breakpoint (void)
+@@ -2451,6 +2542,40 @@ create_exception_master_breakpoint (void)
  
        bp_objfile_data = get_breakpoint_objfile_data (objfile);
  
@@ -635,7 +635,7 @@ index 172e419..74324c4 100644
        if (msym_not_found_p (bp_objfile_data->exception_msym))
  	continue;
  
-@@ -2652,6 +2777,8 @@ remove_breakpoint_1 (struct bp_location *bl, insertion_state_t is)
+@@ -2666,6 +2791,8 @@ remove_breakpoint_1 (struct bp_location *bl, insertion_state_t is)
  	{
  	  /* No overlay handling: just remove the breakpoint.  */
  	  val = bl->owner->ops->remove_location (bl);
@@ -644,7 +644,7 @@ index 172e419..74324c4 100644
  	}
        else
  	{
-@@ -7097,6 +7224,7 @@ momentary_breakpoint_from_master (struct breakpoint *orig,
+@@ -7111,6 +7238,7 @@ momentary_breakpoint_from_master (struct breakpoint *orig,
    copy->loc->address = orig->loc->address;
    copy->loc->section = orig->loc->section;
    copy->loc->pspace = orig->loc->pspace;
@@ -652,7 +652,7 @@ index 172e419..74324c4 100644
  
    if (orig->loc->source_file != NULL)
      copy->loc->source_file = xstrdup (orig->loc->source_file);
-@@ -7182,6 +7310,7 @@ add_location_to_breakpoint (struct breakpoint *b,
+@@ -7196,6 +7324,7 @@ add_location_to_breakpoint (struct breakpoint *b,
    loc->requested_address = sal->pc;
    loc->address = adjusted_address;
    loc->pspace = sal->pspace;
@@ -660,7 +660,7 @@ index 172e419..74324c4 100644
    gdb_assert (loc->pspace != NULL);
    loc->section = sal->section;
    loc->gdbarch = loc_gdbarch;
-@@ -13306,6 +13435,24 @@ all_tracepoints (void)
+@@ -13521,6 +13650,24 @@ all_tracepoints (void)
    return tp_vec;
  }
  
@@ -685,7 +685,7 @@ index 172e419..74324c4 100644
  
  /* This help string is used for the break, hbreak, tbreak and thbreak
     commands.  It is defined as a macro to prevent duplication.
-@@ -13587,7 +13734,8 @@ _initialize_breakpoint (void)
+@@ -13815,7 +13962,8 @@ _initialize_breakpoint (void)
    observer_attach_inferior_exit (clear_syscall_counts);
    observer_attach_memory_changed (invalidate_bp_value_on_memory_change);
  
@@ -695,7 +695,7 @@ index 172e419..74324c4 100644
  
    breakpoint_chain = 0;
    /* Don't bother to call set_breakpoint_count.  $bpnum isn't useful
-@@ -14114,4 +14262,7 @@ range (including START-LOCATION and END-LOCATION)."));
+@@ -14340,4 +14488,7 @@ range (including START-LOCATION and END-LOCATION)."));
    automatic_hardware_breakpoints = 1;
  
    observer_attach_about_to_proceed (breakpoint_about_to_proceed);
@@ -704,7 +704,7 @@ index 172e419..74324c4 100644
 +#endif
  }
 diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h
-index d22e564..9ea66ce 100644
+index 8a8d5f2..1e18562 100644
 --- a/gdb/breakpoint.h
 +++ b/gdb/breakpoint.h
 @@ -379,6 +379,11 @@ struct bp_location
@@ -719,7 +719,7 @@ index d22e564..9ea66ce 100644
    char *function_name;
  
    /* Details of the placed breakpoint, when inserted.  */
-@@ -1381,4 +1386,11 @@ extern int user_breakpoint_p (struct breakpoint *);
+@@ -1412,4 +1417,11 @@ extern int user_breakpoint_p (struct breakpoint *);
  /* Attempt to determine architecture of location identified by SAL.  */
  extern struct gdbarch *get_sal_arch (struct symtab_and_line sal);
  
@@ -732,10 +732,10 @@ index d22e564..9ea66ce 100644
 +
  #endif /* !defined (BREAKPOINT_H) */
 diff --git a/gdb/c-typeprint.c b/gdb/c-typeprint.c
-index 0212232..d9ddff8 100644
+index db254dc..181de05 100644
 --- a/gdb/c-typeprint.c
 +++ b/gdb/c-typeprint.c
-@@ -625,9 +625,14 @@ c_type_print_varspec_suffix (struct type *type,
+@@ -624,9 +624,14 @@ c_type_print_varspec_suffix (struct type *type,
  	  fprintf_filtered (stream, ")");
  
  	fprintf_filtered (stream, "[");
@@ -754,7 +754,7 @@ index 0212232..d9ddff8 100644
  
  	c_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream,
 diff --git a/gdb/cli/cli-utils.c b/gdb/cli/cli-utils.c
-index 62a2f12..cd5fab5 100644
+index a7b2718..a1e5161 100644
 --- a/gdb/cli/cli-utils.c
 +++ b/gdb/cli/cli-utils.c
 @@ -223,6 +223,18 @@ skip_spaces (char *chp)
@@ -810,7 +810,7 @@ index 62a2f12..cd5fab5 100644
 +  return copy;
 +}
 diff --git a/gdb/cli/cli-utils.h b/gdb/cli/cli-utils.h
-index 8a6e5b3..6581151 100644
+index e23c7d8..5f8a91d 100644
 --- a/gdb/cli/cli-utils.h
 +++ b/gdb/cli/cli-utils.h
 @@ -94,6 +94,10 @@ extern int number_is_in_list (char *list, int number);
@@ -837,10 +837,10 @@ index 8a6e5b3..6581151 100644
 +
  #endif /* CLI_UTILS_H */
 diff --git a/gdb/coffread.c b/gdb/coffread.c
-index cf8fb54..f17ead9 100644
+index c727228..e1fab6d 100644
 --- a/gdb/coffread.c
 +++ b/gdb/coffread.c
-@@ -2197,6 +2197,7 @@ static const struct sym_fns coff_sym_fns =
+@@ -2195,6 +2195,7 @@ static const struct sym_fns coff_sym_fns =
  
    default_symfile_relocate,	/* sym_relocate: Relocate a debug
  				   section.  */
@@ -849,7 +849,7 @@ index cf8fb54..f17ead9 100644
  };
  
 diff --git a/gdb/data-directory/Makefile.in b/gdb/data-directory/Makefile.in
-index c04aea4..f06b6da 100644
+index 4296e5a..b04d12f 100644
 --- a/gdb/data-directory/Makefile.in
 +++ b/gdb/data-directory/Makefile.in
 @@ -52,13 +52,24 @@ SYSCALLS_FILES = \
@@ -882,10 +882,10 @@ index c04aea4..f06b6da 100644
  FLAGS_TO_PASS = \
  	"prefix=$(prefix)" \
 diff --git a/gdb/dbxread.c b/gdb/dbxread.c
-index 2210af2..5de3078 100644
+index adf8315..c11e4d4 100644
 --- a/gdb/dbxread.c
 +++ b/gdb/dbxread.c
-@@ -3590,6 +3590,7 @@ static const struct sym_fns aout_sym_fns =
+@@ -3588,6 +3588,7 @@ static const struct sym_fns aout_sym_fns =
    default_symfile_segments,	/* Get segment information from a file.  */
    NULL,
    default_symfile_relocate,	/* Relocate a debug section.  */
@@ -894,10 +894,10 @@ index 2210af2..5de3078 100644
  };
  
 diff --git a/gdb/defs.h b/gdb/defs.h
-index 7f8a330..8b7a946 100644
+index 83a716a..7f8752e 100644
 --- a/gdb/defs.h
 +++ b/gdb/defs.h
-@@ -412,6 +412,8 @@ extern struct cleanup *make_cleanup_restore_page_info (void);
+@@ -411,6 +411,8 @@ extern struct cleanup *make_cleanup_restore_page_info (void);
  extern struct cleanup *
    set_batch_flag_and_make_cleanup_restore_page_info (void);
  
@@ -907,10 +907,10 @@ index 7f8a330..8b7a946 100644
  extern char *xfullpath (const char *);
  
 diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
-index d60a87b..b0618f6 100644
+index 20b0b67..57068c3 100644
 --- a/gdb/doc/gdb.texinfo
 +++ b/gdb/doc/gdb.texinfo
-@@ -1175,6 +1175,16 @@ for remote debugging.
+@@ -1173,6 +1173,16 @@ for remote debugging.
  Run using @var{device} for your program's standard input and output.
  @c FIXME: kingdon thinks there is more to -tty.  Investigate.
  
@@ -927,7 +927,7 @@ index d60a87b..b0618f6 100644
  @c resolve the situation of these eventually
  @item -tui
  @cindex @code{--tui}
-@@ -3303,6 +3313,7 @@ all breakpoints in that range are operated on.
+@@ -3301,6 +3311,7 @@ all breakpoints in that range are operated on.
  * Conditions::                  Break conditions
  * Break Commands::              Breakpoint command lists
  * Save Breakpoints::            How to save breakpoints in a file
@@ -935,7 +935,7 @@ index d60a87b..b0618f6 100644
  * Error in Breakpoints::        ``Cannot insert breakpoints''
  * Breakpoint-related Warnings:: ``Breakpoint address adjusted...''
  @end menu
-@@ -4532,6 +4543,50 @@ and remove the breakpoint definitions you're not interested in, or
+@@ -4530,6 +4541,50 @@ and remove the breakpoint definitions you're not interested in, or
  that can no longer be recreated.
  @end table
  
@@ -986,7 +986,7 @@ index d60a87b..b0618f6 100644
  @c  @ifclear BARETARGET
  @node Error in Breakpoints
  @subsection ``Cannot insert breakpoints''
-@@ -6552,6 +6607,29 @@ specify the function unambiguously, e.g., if there are several
+@@ -6555,6 +6610,29 @@ specify the function unambiguously, e.g., if there are several
  functions with identical names in different source files.
  @end table
  
@@ -1016,7 +1016,7 @@ index d60a87b..b0618f6 100644
  @end table
  
  
-@@ -8767,6 +8845,10 @@ to match the format in which the data was printed.
+@@ -8811,6 +8889,10 @@ to match the format in which the data was printed.
  The variable @code{$_exitcode} is automatically set to the exit code when
  the program being debugged terminates.
  
@@ -1027,7 +1027,7 @@ index d60a87b..b0618f6 100644
  @item $_sdata
  @vindex $_sdata at r{, inspect, convenience variable}
  The variable @code{$_sdata} contains extra collected static tracepoint
-@@ -10719,6 +10801,16 @@ Collect all local variables.
+@@ -10763,6 +10845,16 @@ Collect all local variables.
  Collect the return address.  This is helpful if you want to see more
  of a backtrace.
  
@@ -1044,7 +1044,7 @@ index d60a87b..b0618f6 100644
  @item $_sdata
  @vindex $_sdata at r{, collect}
  Collect static tracepoint marker specific data.  Only available for
-@@ -21458,8 +21550,6 @@ containing @code{end}.  For example:
+@@ -21506,8 +21598,6 @@ containing @code{end}.  For example:
  
  @smallexample
  (@value{GDBP}) python
@@ -1053,7 +1053,7 @@ index d60a87b..b0618f6 100644
  >print 23
  >end
  23
-@@ -21473,6 +21563,14 @@ controlled using @code{set python print-stack}: if @code{full}, then
+@@ -21521,6 +21611,14 @@ controlled using @code{set python print-stack}: if @code{full}, then
  full Python stack printing is enabled; if @code{none}, then Python stack
  and message printing is disabled; if @code{message}, the default, only
  the message component of the error is printed.
@@ -1068,7 +1068,7 @@ index d60a87b..b0618f6 100644
  @end table
  
  It is also possible to execute a Python script from the @value{GDBN}
-@@ -21494,6 +21592,14 @@ and thus is always available.
+@@ -21542,6 +21640,14 @@ and thus is always available.
  @cindex python api
  @cindex programming in python
  
@@ -1084,10 +1084,10 @@ index d60a87b..b0618f6 100644
  @cindex python pagination
  At startup, @value{GDBN} overrides Python's @code{sys.stdout} and
 diff --git a/gdb/doc/gdbint.texinfo b/gdb/doc/gdbint.texinfo
-index 34eee91..06a7ada 100644
+index 026dc59..f0f6ee3 100644
 --- a/gdb/doc/gdbint.texinfo
 +++ b/gdb/doc/gdbint.texinfo
-@@ -2104,6 +2104,18 @@ time, and so we attempt to handle symbols incrementally.  For instance,
+@@ -2103,6 +2103,18 @@ time, and so we attempt to handle symbols incrementally.  For instance,
  we create @dfn{partial symbol tables} consisting of only selected
  symbols, and only expand them to full symbol tables when necessary.
  
@@ -1106,7 +1106,7 @@ index 34eee91..06a7ada 100644
  @section Symbol Reading
  
  @cindex symbol reading
-@@ -2196,6 +2208,7 @@ symtab.  Upon return, @code{pst->readin} should have been set to 1, and
+@@ -2195,6 +2207,7 @@ symtab.  Upon return, @code{pst->readin} should have been set to 1, and
  zero if there were no symbols in that part of the symbol file.
  @end table
  
@@ -1114,7 +1114,7 @@ index 34eee91..06a7ada 100644
  @section Partial Symbol Tables
  
  @value{GDBN} has three types of symbol tables:
-@@ -2297,6 +2310,7 @@ and partial symbol tables behind a set of function pointers known as
+@@ -2296,6 +2309,7 @@ and partial symbol tables behind a set of function pointers known as
  the @dfn{quick symbol functions}.  These are documented in
  @file{symfile.h}.
  
@@ -1122,7 +1122,7 @@ index 34eee91..06a7ada 100644
  @section Types
  
  @unnumberedsubsec Fundamental Types (e.g., @code{FT_VOID}, @code{FT_BOOLEAN}).
-@@ -2319,6 +2333,7 @@ types map to one @code{TYPE_CODE_*} type, and are distinguished by
+@@ -2318,6 +2332,7 @@ types map to one @code{TYPE_CODE_*} type, and are distinguished by
  other members of the type struct, such as whether the type is signed
  or unsigned, and how many bits it uses.
  
@@ -1130,7 +1130,7 @@ index 34eee91..06a7ada 100644
  @unnumberedsubsec Builtin Types (e.g., @code{builtin_type_void}, @code{builtin_type_char}).
  
  These are instances of type structs that roughly correspond to
-@@ -2333,6 +2348,7 @@ only one instance exists, while @file{c-lang.c} builds as many
+@@ -2332,6 +2347,7 @@ only one instance exists, while @file{c-lang.c} builds as many
  @code{TYPE_CODE_INT} types as needed, with each one associated with
  some particular objfile.
  
@@ -1138,7 +1138,7 @@ index 34eee91..06a7ada 100644
  @section Object File Formats
  @cindex object file formats
  
-@@ -2418,6 +2434,7 @@ SOM, which is a cross-language ABI).
+@@ -2417,6 +2433,7 @@ SOM, which is a cross-language ABI).
  
  The SOM reader is in @file{somread.c}.
  
@@ -1146,7 +1146,7 @@ index 34eee91..06a7ada 100644
  @section Debugging File Formats
  
  This section describes characteristics of debugging information that
-@@ -2489,6 +2506,7 @@ DWARF 3 is an improved version of DWARF 2.
+@@ -2488,6 +2505,7 @@ DWARF 3 is an improved version of DWARF 2.
  @cindex SOM debugging info
  Like COFF, the SOM definition includes debugging information.
  
@@ -1154,7 +1154,7 @@ index 34eee91..06a7ada 100644
  @section Adding a New Symbol Reader to @value{GDBN}
  
  @cindex adding debugging info reader
-@@ -2511,6 +2529,7 @@ will only ever be implemented by one object file format may be called
+@@ -2510,6 +2528,7 @@ will only ever be implemented by one object file format may be called
  directly.  This interface should be described in a file
  @file{bfd/lib at var{xyz}.h}, which is included by @value{GDBN}.
  
@@ -1162,7 +1162,7 @@ index 34eee91..06a7ada 100644
  @section Memory Management for Symbol Files
  
  Most memory associated with a loaded symbol file is stored on
-@@ -2522,10 +2541,45 @@ released when the objfile is unloaded or reloaded.  Therefore one
+@@ -2521,10 +2540,45 @@ released when the objfile is unloaded or reloaded.  Therefore one
  objfile must not reference symbol or type data from another objfile;
  they could be unloaded at different times.
  
@@ -1213,10 +1213,10 @@ index 34eee91..06a7ada 100644
  
  @node Language Support
 diff --git a/gdb/doc/observer.texi b/gdb/doc/observer.texi
-index 689b303..2f46b93 100644
+index 24233cb..efb2013 100644
 --- a/gdb/doc/observer.texi
 +++ b/gdb/doc/observer.texi
-@@ -227,6 +227,11 @@ Called before a top-level prompt is displayed.  @var{current_prompt} is
+@@ -226,6 +226,11 @@ Called before a top-level prompt is displayed.  @var{current_prompt} is
  the current top-level prompt.
  @end deftypefun
  
@@ -1229,7 +1229,7 @@ index 689b303..2f46b93 100644
  This observer is used for internal testing.  Do not use.  
  See testsuite/gdb.gdb/observer.exp.
 diff --git a/gdb/dwarf2expr.c b/gdb/dwarf2expr.c
-index 04779a8..c6a64e5 100644
+index 222fcc3..93389e0 100644
 --- a/gdb/dwarf2expr.c
 +++ b/gdb/dwarf2expr.c
 @@ -1449,6 +1449,14 @@ execute_stack_op (struct dwarf_expr_context *ctx,
@@ -1248,7 +1248,7 @@ index 04779a8..c6a64e5 100644
  	  error (_("Unhandled dwarf expression opcode 0x%x"), op);
  	}
 diff --git a/gdb/dwarf2expr.h b/gdb/dwarf2expr.h
-index 2c1da26..deafbe8 100644
+index fd70bf9..5129c4e 100644
 --- a/gdb/dwarf2expr.h
 +++ b/gdb/dwarf2expr.h
 @@ -73,12 +73,10 @@ struct dwarf_expr_context_funcs
@@ -1265,10 +1265,10 @@ index 2c1da26..deafbe8 100644
  
  /* The location of a value.  */
 diff --git a/gdb/dwarf2loc.c b/gdb/dwarf2loc.c
-index 7547a40..bc8015c 100644
+index 313df7b..35e0766 100644
 --- a/gdb/dwarf2loc.c
 +++ b/gdb/dwarf2loc.c
-@@ -158,6 +158,9 @@ struct dwarf_expr_baton
+@@ -157,6 +157,9 @@ struct dwarf_expr_baton
  {
    struct frame_info *frame;
    struct dwarf2_per_cu_data *per_cu;
@@ -1278,7 +1278,7 @@ index 7547a40..bc8015c 100644
  };
  
  /* Helper functions for dwarf2_evaluate_loc_desc.  */
-@@ -217,16 +220,14 @@ static void
+@@ -216,16 +219,14 @@ static void
  dwarf_expr_frame_base_1 (struct symbol *framefunc, CORE_ADDR pc,
  			 const gdb_byte **start, size_t *length)
  {
@@ -1297,7 +1297,7 @@ index 7547a40..bc8015c 100644
      {
        struct dwarf2_locexpr_baton *symbaton;
  
-@@ -239,10 +240,23 @@ dwarf_expr_frame_base_1 (struct symbol *framefunc, CORE_ADDR pc,
+@@ -238,10 +239,23 @@ dwarf_expr_frame_base_1 (struct symbol *framefunc, CORE_ADDR pc,
        else
  	*length = 0;
      }
@@ -1322,7 +1322,7 @@ index 7547a40..bc8015c 100644
  }
  
  /* Helper function for dwarf2_evaluate_loc_desc.  Computes the CFA for
-@@ -310,6 +324,85 @@ dwarf_expr_dwarf_call (struct dwarf_expr_context *ctx, size_t die_offset)
+@@ -309,6 +323,85 @@ dwarf_expr_dwarf_call (struct dwarf_expr_context *ctx, size_t die_offset)
  		     ctx->funcs->get_frame_pc, ctx->baton);
  }
  
@@ -1408,7 +1408,7 @@ index 7547a40..bc8015c 100644
  /* Callback function for dwarf2_evaluate_loc_desc.  */
  
  static struct type *
-@@ -991,10 +1084,12 @@ dwarf_expr_push_dwarf_reg_entry_value (struct dwarf_expr_context *ctx,
+@@ -990,10 +1083,12 @@ dwarf_expr_push_dwarf_reg_entry_value (struct dwarf_expr_context *ctx,
  
    saved_ctx.gdbarch = ctx->gdbarch;
    saved_ctx.addr_size = ctx->addr_size;
@@ -1421,7 +1421,7 @@ index 7547a40..bc8015c 100644
    ctx->offset = dwarf2_per_cu_text_offset (baton_local.per_cu);
    ctx->baton = &baton_local;
  
-@@ -1002,10 +1097,92 @@ dwarf_expr_push_dwarf_reg_entry_value (struct dwarf_expr_context *ctx,
+@@ -1001,10 +1096,92 @@ dwarf_expr_push_dwarf_reg_entry_value (struct dwarf_expr_context *ctx,
  
    ctx->gdbarch = saved_ctx.gdbarch;
    ctx->addr_size = saved_ctx.addr_size;
@@ -1514,7 +1514,7 @@ index 7547a40..bc8015c 100644
  /* VALUE must be of type lval_computed with entry_data_value_funcs.  Perform
     the indirect method on it, that is use its stored target value, the sole
     purpose of entry_data_value_funcs..  */
-@@ -1928,21 +2105,6 @@ invalid_synthetic_pointer (void)
+@@ -1927,21 +2104,6 @@ invalid_synthetic_pointer (void)
  	   "referenced via synthetic pointer"));
  }
  
@@ -1536,7 +1536,7 @@ index 7547a40..bc8015c 100644
  /* Evaluate a location description, starting at DATA and with length
     SIZE, to find the current location of variable of TYPE in the
     context of FRAME.  BYTE_OFFSET is applied after the contents are
-@@ -1955,7 +2117,6 @@ dwarf2_evaluate_loc_desc_full (struct type *type, struct frame_info *frame,
+@@ -1954,7 +2116,6 @@ dwarf2_evaluate_loc_desc_full (struct type *type, struct frame_info *frame,
  			       LONGEST byte_offset)
  {
    struct value *retval;
@@ -1544,7 +1544,7 @@ index 7547a40..bc8015c 100644
    struct dwarf_expr_context *ctx;
    struct cleanup *old_chain, *value_chain;
    struct objfile *objfile = dwarf2_per_cu_objfile (per_cu);
-@@ -1967,29 +2128,18 @@ dwarf2_evaluate_loc_desc_full (struct type *type, struct frame_info *frame,
+@@ -1966,29 +2127,18 @@ dwarf2_evaluate_loc_desc_full (struct type *type, struct frame_info *frame,
    if (size == 0)
      return allocate_optimized_out_value (type);
  
@@ -1575,7 +1575,7 @@ index 7547a40..bc8015c 100644
  	  retval = allocate_value (type);
  	  mark_value_bytes_unavailable (retval, 0, TYPE_LENGTH (type));
  	  return retval;
-@@ -2053,6 +2203,16 @@ dwarf2_evaluate_loc_desc_full (struct type *type, struct frame_info *frame,
+@@ -2052,6 +2202,16 @@ dwarf2_evaluate_loc_desc_full (struct type *type, struct frame_info *frame,
  	    int in_stack_memory = dwarf_expr_fetch_in_stack_memory (ctx, 0);
  
  	    do_cleanups (value_chain);
@@ -1592,7 +1592,7 @@ index 7547a40..bc8015c 100644
  	    retval = allocate_value_lazy (type);
  	    VALUE_LVAL (retval) = lval_memory;
  	    if (in_stack_memory)
-@@ -3897,8 +4057,7 @@ loclist_tracepoint_var_ref (struct symbol *symbol, struct gdbarch *gdbarch,
+@@ -3896,8 +4056,7 @@ loclist_tracepoint_var_ref (struct symbol *symbol, struct gdbarch *gdbarch,
  			       dlbaton->per_cu);
  }
  
@@ -1602,7 +1602,7 @@ index 7547a40..bc8015c 100644
  const struct symbol_computed_ops dwarf2_loclist_funcs = {
    loclist_read_variable,
    loclist_read_variable_at_entry,
-@@ -3907,6 +4066,48 @@ const struct symbol_computed_ops dwarf2_loclist_funcs = {
+@@ -3906,6 +4065,48 @@ const struct symbol_computed_ops dwarf2_loclist_funcs = {
    loclist_tracepoint_var_ref
  };
  
@@ -1652,10 +1652,10 @@ index 7547a40..bc8015c 100644
  _initialize_dwarf2loc (void)
  {
 diff --git a/gdb/dwarf2loc.h b/gdb/dwarf2loc.h
-index 8196791..df2570d 100644
+index a7f835f..52a44f1 100644
 --- a/gdb/dwarf2loc.h
 +++ b/gdb/dwarf2loc.h
-@@ -119,6 +119,15 @@ struct dwarf2_loclist_baton
+@@ -118,6 +118,15 @@ struct dwarf2_loclist_baton
  
  extern const struct symbol_computed_ops dwarf2_locexpr_funcs;
  extern const struct symbol_computed_ops dwarf2_loclist_funcs;
@@ -1672,10 +1672,10 @@ index 8196791..df2570d 100644
  /* Compile a DWARF location expression to an agent expression.
     
 diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
-index 8072859..9ada5c5 100644
+index 0ef0a5b..80e5fe4 100644
 --- a/gdb/dwarf2read.c
 +++ b/gdb/dwarf2read.c
-@@ -1250,6 +1250,9 @@ static void fill_in_loclist_baton (struct dwarf2_cu *cu,
+@@ -1209,6 +1209,9 @@ static void fill_in_loclist_baton (struct dwarf2_cu *cu,
  				   struct dwarf2_loclist_baton *baton,
  				   struct attribute *attr);
  
@@ -1685,7 +1685,7 @@ index 8072859..9ada5c5 100644
  static void dwarf2_symbol_mark_computed (struct attribute *attr,
  					 struct symbol *sym,
  					 struct dwarf2_cu *cu);
-@@ -1284,6 +1287,9 @@ static void age_cached_comp_units (void);
+@@ -1240,6 +1243,9 @@ static void age_cached_comp_units (void);
  
  static void free_one_cached_comp_unit (void *);
  
@@ -1695,7 +1695,7 @@ index 8072859..9ada5c5 100644
  static struct type *set_die_type (struct die_info *, struct type *,
  				  struct dwarf2_cu *);
  
-@@ -1307,6 +1313,9 @@ static struct type *get_die_type_at_offset (unsigned int,
+@@ -1263,6 +1269,9 @@ static struct type *get_die_type_at_offset (unsigned int,
  
  static struct type *get_die_type (struct die_info *die, struct dwarf2_cu *cu);
  
@@ -1705,7 +1705,7 @@ index 8072859..9ada5c5 100644
  static void dwarf2_release_queue (void *dummy);
  
  static void queue_comp_unit (struct dwarf2_per_cu_data *per_cu);
-@@ -8083,6 +8092,29 @@ process_enumeration_scope (struct die_info *die, struct dwarf2_cu *cu)
+@@ -8001,6 +8010,29 @@ process_enumeration_scope (struct die_info *die, struct dwarf2_cu *cu)
    new_symbol (die, this_type, cu);
  }
  
@@ -1735,7 +1735,7 @@ index 8072859..9ada5c5 100644
  /* Extract all information from a DW_TAG_array_type DIE and put it in
     the DIE's type field.  For now, this only handles one dimensional
     arrays.  */
-@@ -8096,7 +8128,7 @@ read_array_type (struct die_info *die, struct dwarf2_cu *cu)
+@@ -8014,7 +8046,7 @@ read_array_type (struct die_info *die, struct dwarf2_cu *cu)
    struct type *element_type, *range_type, *index_type;
    struct type **range_types = NULL;
    struct attribute *attr;
@@ -1744,7 +1744,7 @@ index 8072859..9ada5c5 100644
    struct cleanup *back_to;
    char *name;
  
-@@ -8149,17 +8181,19 @@ read_array_type (struct die_info *die, struct dwarf2_cu *cu)
+@@ -8067,17 +8099,19 @@ read_array_type (struct die_info *die, struct dwarf2_cu *cu)
    type = element_type;
  
    if (read_array_order (die, cu) == DW_ORD_col_major)
@@ -1775,7 +1775,7 @@ index 8072859..9ada5c5 100644
  
    /* Understand Dwarf2 support for vector types (like they occur on
       the PowerPC w/ AltiVec).  Gcc just adds another attribute to the
-@@ -8643,29 +8677,114 @@ read_tag_string_type (struct die_info *die, struct dwarf2_cu *cu)
+@@ -8561,29 +8595,114 @@ read_tag_string_type (struct die_info *die, struct dwarf2_cu *cu)
    struct gdbarch *gdbarch = get_objfile_arch (objfile);
    struct type *type, *range_type, *index_type, *char_type;
    struct attribute *attr;
@@ -1903,7 +1903,7 @@ index 8072859..9ada5c5 100644
    char_type = language_string_char_type (cu->language_defn, gdbarch);
    type = create_string_type (NULL, char_type, range_type);
  
-@@ -8969,8 +9088,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
+@@ -8887,8 +9006,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
    struct type *base_type;
    struct type *range_type;
    struct attribute *attr;
@@ -1913,7 +1913,7 @@ index 8072859..9ada5c5 100644
    char *name;
    LONGEST negative_mask;
  
-@@ -8983,53 +9101,126 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
+@@ -8901,53 +9019,126 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
    if (range_type)
      return range_type;
  
@@ -2074,7 +2074,7 @@ index 8072859..9ada5c5 100644
      }
  
    /* Dwarf-2 specifications explicitly allows to create subrange types
-@@ -9070,24 +9261,41 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
+@@ -8988,24 +9179,41 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
  	}
      }
  
@@ -2132,7 +2132,7 @@ index 8072859..9ada5c5 100644
  
    name = dwarf2_name (die, cu);
    if (name)
-@@ -11610,10 +11818,12 @@ var_decode_location (struct attribute *attr, struct symbol *sym,
+@@ -11545,10 +11753,12 @@ var_decode_location (struct attribute *attr, struct symbol *sym,
       (i.e. when the value of a register or memory location is
       referenced, or a thread-local block, etc.).  Then again, it might
       not be worthwhile.  I'm assuming that it isn't unless performance
@@ -2147,7 +2147,7 @@ index 8072859..9ada5c5 100644
  
    if (SYMBOL_COMPUTED_OPS (sym) == &dwarf2_loclist_funcs)
      cu->has_loclist = 1;
-@@ -11654,6 +11864,8 @@ new_symbol_full (struct die_info *die, struct type *type, struct dwarf2_cu *cu,
+@@ -11589,6 +11799,8 @@ new_symbol_full (struct die_info *die, struct type *type, struct dwarf2_cu *cu,
        else
  	sym = OBSTACK_ZALLOC (&objfile->objfile_obstack, struct symbol);
        OBJSTAT (objfile, n_syms++);
@@ -2156,7 +2156,7 @@ index 8072859..9ada5c5 100644
  
        /* Cache this symbol's name and the name's demangled form (if any).  */
        SYMBOL_SET_LANGUAGE (sym, cu->language);
-@@ -12419,6 +12631,9 @@ read_type_die_1 (struct die_info *die, struct dwarf2_cu *cu)
+@@ -12354,6 +12566,9 @@ read_type_die_1 (struct die_info *die, struct dwarf2_cu *cu)
        break;
      }
  
@@ -2166,7 +2166,7 @@ index 8072859..9ada5c5 100644
    return this_type;
  }
  
-@@ -15653,62 +15868,100 @@ fill_in_loclist_baton (struct dwarf2_cu *cu,
+@@ -15590,62 +15805,100 @@ fill_in_loclist_baton (struct dwarf2_cu *cu,
    baton->base_address = cu->base_address;
  }
  
@@ -2309,7 +2309,7 @@ index 8072859..9ada5c5 100644
      }
  }
  
-@@ -16080,6 +16333,25 @@ offset_and_type_eq (const void *item_lhs, const void *item_rhs)
+@@ -16003,6 +16256,25 @@ offset_and_type_eq (const void *item_lhs, const void *item_rhs)
    return ofs_lhs->offset == ofs_rhs->offset;
  }
  
@@ -2335,7 +2335,7 @@ index 8072859..9ada5c5 100644
  /* Set the type associated with DIE to TYPE.  Save it in CU's hash
     table if necessary.  For convenience, return TYPE.
  
-@@ -16105,6 +16377,8 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
+@@ -16028,6 +16300,8 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
    struct objfile *objfile = cu->objfile;
    htab_t *type_hash_ptr;
  
@@ -2345,10 +2345,10 @@ index 8072859..9ada5c5 100644
       initialized (if not already set).  There are a few types where
       we should not be doing so, because the type-specific area is
 diff --git a/gdb/elfread.c b/gdb/elfread.c
-index 4ceb31b..bfd6ac2 100644
+index ddae099..aea443f 100644
 --- a/gdb/elfread.c
 +++ b/gdb/elfread.c
-@@ -38,6 +38,8 @@
+@@ -36,6 +36,8 @@
  #include "demangle.h"
  #include "psympriv.h"
  #include "filenames.h"
@@ -2357,7 +2357,7 @@ index 4ceb31b..bfd6ac2 100644
  #include "gdbtypes.h"
  #include "value.h"
  #include "infcall.h"
-@@ -62,6 +64,21 @@ struct elfinfo
+@@ -60,6 +62,21 @@ struct elfinfo
      asection *mdebugsect;	/* Section pointer for .mdebug section */
    };
  
@@ -2379,7 +2379,7 @@ index 4ceb31b..bfd6ac2 100644
  static void free_elfinfo (void *);
  
  /* Minimal symbols located at the GOT entries for .plt - that is the real
-@@ -1578,7 +1595,270 @@ elfstab_offset_sections (struct objfile *objfile, struct partial_symtab *pst)
+@@ -1576,7 +1593,270 @@ elfstab_offset_sections (struct objfile *objfile, struct partial_symtab *pst)
      complaint (&symfile_complaints,
  	       _("elf/stab section information missing for %s"), filename);
  }
@@ -2650,7 +2650,7 @@ index 4ceb31b..bfd6ac2 100644
  /* Register that we are able to handle ELF object file formats.  */
  
  static const struct sym_fns elf_sym_fns =
-@@ -1593,6 +1873,7 @@ static const struct sym_fns elf_sym_fns =
+@@ -1591,6 +1871,7 @@ static const struct sym_fns elf_sym_fns =
    elf_symfile_segments,		/* Get segment information from a file.  */
    NULL,
    default_symfile_relocate,	/* Relocate a debug section.  */
@@ -2658,7 +2658,7 @@ index 4ceb31b..bfd6ac2 100644
    &psym_functions
  };
  
-@@ -1611,6 +1892,7 @@ static const struct sym_fns elf_sym_fns_lazy_psyms =
+@@ -1609,6 +1890,7 @@ static const struct sym_fns elf_sym_fns_lazy_psyms =
    elf_symfile_segments,		/* Get segment information from a file.  */
    NULL,
    default_symfile_relocate,	/* Relocate a debug section.  */
@@ -2666,7 +2666,7 @@ index 4ceb31b..bfd6ac2 100644
    &psym_functions
  };
  
-@@ -1628,6 +1910,7 @@ static const struct sym_fns elf_sym_fns_gdb_index =
+@@ -1626,6 +1908,7 @@ static const struct sym_fns elf_sym_fns_gdb_index =
    elf_symfile_segments,		/* Get segment information from a file.  */
    NULL,
    default_symfile_relocate,	/* Relocate a debug section.  */
@@ -2674,7 +2674,7 @@ index 4ceb31b..bfd6ac2 100644
    &dwarf2_gdb_index_functions
  };
  
-@@ -1644,6 +1927,8 @@ static const struct gnu_ifunc_fns elf_gnu_ifunc_fns =
+@@ -1642,6 +1925,8 @@ static const struct gnu_ifunc_fns elf_gnu_ifunc_fns =
  void
  _initialize_elfread (void)
  {
@@ -2684,18 +2684,18 @@ index 4ceb31b..bfd6ac2 100644
  
    elf_objfile_gnu_ifunc_cache_data = register_objfile_data ();
 diff --git a/gdb/eval.c b/gdb/eval.c
-index 5d758d1..b4c1799 100644
+index 0244f7a..b33d367 100644
 --- a/gdb/eval.c
 +++ b/gdb/eval.c
-@@ -44,6 +44,7 @@
+@@ -41,6 +41,7 @@
+ #include "gdb_obstack.h"
  #include "objfiles.h"
  #include "python/python.h"
- #include "wrapper.h"
 +#include "dwarf2loc.h"
  
  #include "gdb_assert.h"
  
-@@ -489,27 +490,217 @@ init_array_element (struct value *array, struct value *element,
+@@ -498,27 +499,217 @@ init_array_element (struct value *array, struct value *element,
  }
  
  static struct value *
@@ -2929,7 +2929,7 @@ index 5d758d1..b4c1799 100644
  }
  
  
-@@ -790,6 +981,7 @@ evaluate_subexp_standard (struct type *expect_type,
+@@ -799,6 +990,7 @@ evaluate_subexp_standard (struct type *expect_type,
    int save_pos1;
    struct symbol *function = NULL;
    char *function_name = NULL;
@@ -2937,7 +2937,7 @@ index 5d758d1..b4c1799 100644
  
    pc = (*pos)++;
    op = exp->elts[pc].opcode;
-@@ -1865,6 +2057,8 @@ evaluate_subexp_standard (struct type *expect_type,
+@@ -1874,6 +2066,8 @@ evaluate_subexp_standard (struct type *expect_type,
  
        /* First determine the type code we are dealing with.  */
        arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside);
@@ -2946,7 +2946,7 @@ index 5d758d1..b4c1799 100644
        type = check_typedef (value_type (arg1));
        code = TYPE_CODE (type);
  
-@@ -1885,23 +2079,13 @@ evaluate_subexp_standard (struct type *expect_type,
+@@ -1894,23 +2088,13 @@ evaluate_subexp_standard (struct type *expect_type,
  	      code = TYPE_CODE (type);
  	    }
  	} 
@@ -2972,7 +2972,7 @@ index 5d758d1..b4c1799 100644
  
  	case TYPE_CODE_PTR:
  	case TYPE_CODE_FUNC:
-@@ -2340,49 +2524,6 @@ evaluate_subexp_standard (struct type *expect_type,
+@@ -2349,49 +2533,6 @@ evaluate_subexp_standard (struct type *expect_type,
  	}
        return (arg1);
  
@@ -3022,7 +3022,7 @@ index 5d758d1..b4c1799 100644
      case BINOP_LOGICAL_AND:
        arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside);
        if (noside == EVAL_SKIP)
-@@ -2614,15 +2755,23 @@ evaluate_subexp_standard (struct type *expect_type,
+@@ -2623,15 +2764,23 @@ evaluate_subexp_standard (struct type *expect_type,
        if (expect_type && TYPE_CODE (expect_type) == TYPE_CODE_PTR)
  	expect_type = TYPE_TARGET_TYPE (check_typedef (expect_type));
        arg1 = evaluate_subexp (expect_type, exp, pos, noside);
@@ -3048,7 +3048,7 @@ index 5d758d1..b4c1799 100644
        else if (noside == EVAL_AVOID_SIDE_EFFECTS)
  	{
  	  type = check_typedef (value_type (arg1));
-@@ -2631,12 +2780,18 @@ evaluate_subexp_standard (struct type *expect_type,
+@@ -2640,12 +2789,18 @@ evaluate_subexp_standard (struct type *expect_type,
  	  /* In C you can dereference an array to get the 1st elt.  */
  	      || TYPE_CODE (type) == TYPE_CODE_ARRAY
  	    )
@@ -3072,7 +3072,7 @@ index 5d758d1..b4c1799 100644
  	  else
  	    error (_("Attempt to take contents of a non-pointer value."));
  	}
-@@ -2646,9 +2801,14 @@ evaluate_subexp_standard (struct type *expect_type,
+@@ -2655,9 +2810,14 @@ evaluate_subexp_standard (struct type *expect_type,
  	 do.  "long long" variables are rare enough that
  	 BUILTIN_TYPE_LONGEST would seem to be a mistake.  */
        if (TYPE_CODE (type) == TYPE_CODE_INT)
@@ -3090,7 +3090,7 @@ index 5d758d1..b4c1799 100644
  
      case UNOP_ADDR:
        /* C++: check for and handle pointer to members.  */
-@@ -2990,7 +3150,7 @@ evaluate_subexp_with_coercion (struct expression *exp,
+@@ -2999,7 +3159,7 @@ evaluate_subexp_with_coercion (struct expression *exp,
  {
    enum exp_opcode op;
    int pc;
@@ -3099,7 +3099,7 @@ index 5d758d1..b4c1799 100644
    struct symbol *var;
    struct type *type;
  
-@@ -3001,13 +3161,18 @@ evaluate_subexp_with_coercion (struct expression *exp,
+@@ -3010,13 +3170,18 @@ evaluate_subexp_with_coercion (struct expression *exp,
      {
      case OP_VAR_VALUE:
        var = exp->elts[pc + 2].symbol;
@@ -3119,7 +3119,7 @@ index 5d758d1..b4c1799 100644
  	  return value_cast (lookup_pointer_type (TYPE_TARGET_TYPE (type)),
  			     val);
  	}
-@@ -3059,9 +3224,13 @@ evaluate_subexp_for_sizeof (struct expression *exp, int *pos)
+@@ -3068,9 +3233,13 @@ evaluate_subexp_for_sizeof (struct expression *exp, int *pos)
  
      case OP_VAR_VALUE:
        (*pos) += 4;
@@ -3136,7 +3136,7 @@ index 5d758d1..b4c1799 100644
  
      default:
        val = evaluate_subexp (NULL_TYPE, exp, pos, EVAL_AVOID_SIDE_EFFECTS);
-@@ -3092,18 +3261,25 @@ parse_and_eval_type (char *p, int length)
+@@ -3101,18 +3270,25 @@ parse_and_eval_type (char *p, int length)
  int
  calc_f77_array_dims (struct type *array_type)
  {
@@ -3173,10 +3173,10 @@ index 5d758d1..b4c1799 100644
 +
  }
 diff --git a/gdb/f-exp.y b/gdb/f-exp.y
-index 74937d7..093ffe0 100644
+index b258c0a..1752973 100644
 --- a/gdb/f-exp.y
 +++ b/gdb/f-exp.y
-@@ -293,7 +293,9 @@ arglist :	subrange
+@@ -292,7 +292,9 @@ arglist :	subrange
  			{ arglist_len = 1; }
  	;
     
@@ -3188,7 +3188,7 @@ index 74937d7..093ffe0 100644
  	;
  
 diff --git a/gdb/f-lang.h b/gdb/f-lang.h
-index 8043577..94a5f31 100644
+index 3a46ebf..2b73e1f 100644
 --- a/gdb/f-lang.h
 +++ b/gdb/f-lang.h
 @@ -28,6 +28,10 @@ extern void f_error (char *);	/* Defined in f-exp.y */
@@ -3203,10 +3203,10 @@ index 8043577..94a5f31 100644
  			struct ui_file *, int,
  			const struct value *,
 diff --git a/gdb/f-typeprint.c b/gdb/f-typeprint.c
-index 6d9e6ec..cc4c02a 100644
+index a95ef84..830917d 100644
 --- a/gdb/f-typeprint.c
 +++ b/gdb/f-typeprint.c
-@@ -32,7 +32,7 @@
+@@ -31,7 +31,7 @@
  #include "gdbcore.h"
  #include "target.h"
  #include "f-lang.h"
@@ -3215,7 +3215,7 @@ index 6d9e6ec..cc4c02a 100644
  #include "gdb_string.h"
  #include <errno.h>
  
-@@ -49,6 +49,34 @@ void f_type_print_varspec_prefix (struct type *, struct ui_file *,
+@@ -48,6 +48,34 @@ void f_type_print_varspec_prefix (struct type *, struct ui_file *,
  void f_type_print_base (struct type *, struct ui_file *, int, int);
  
  
@@ -3250,7 +3250,7 @@ index 6d9e6ec..cc4c02a 100644
  /* LEVEL is the depth to indent lines by.  */
  
  void
-@@ -58,6 +86,9 @@ f_print_type (struct type *type, const char *varstring, struct ui_file *stream,
+@@ -57,6 +85,9 @@ f_print_type (struct type *type, const char *varstring, struct ui_file *stream,
    enum type_code code;
    int demangled_args;
  
@@ -3260,7 +3260,7 @@ index 6d9e6ec..cc4c02a 100644
    f_type_print_base (type, stream, show, level);
    code = TYPE_CODE (type);
    if ((varstring != NULL && *varstring != '\0')
-@@ -165,6 +196,9 @@ f_type_print_varspec_suffix (struct type *type, struct ui_file *stream,
+@@ -164,6 +195,9 @@ f_type_print_varspec_suffix (struct type *type, struct ui_file *stream,
  
    QUIT;
  
@@ -3271,7 +3271,7 @@ index 6d9e6ec..cc4c02a 100644
      {
      case TYPE_CODE_ARRAY:
 diff --git a/gdb/f-valprint.c b/gdb/f-valprint.c
-index b800d89..0f616e0 100644
+index 87b2ed1..5d263f2 100644
 --- a/gdb/f-valprint.c
 +++ b/gdb/f-valprint.c
 @@ -54,15 +54,17 @@ int f77_array_offset_tbl[MAX_FORTRAN_DIMS + 1][2];
@@ -3410,10 +3410,10 @@ index b800d89..0f616e0 100644
    switch (TYPE_CODE (type))
      {
 diff --git a/gdb/findvar.c b/gdb/findvar.c
-index 33332c6..d8da34a 100644
+index 79c4221..1bb7c22 100644
 --- a/gdb/findvar.c
 +++ b/gdb/findvar.c
-@@ -35,6 +35,7 @@
+@@ -34,6 +34,7 @@
  #include "user-regs.h"
  #include "block.h"
  #include "objfiles.h"
@@ -3421,7 +3421,7 @@ index 33332c6..d8da34a 100644
  
  /* Basic byte-swapping routines.  All 'extract' functions return a
     host-format integer from a target-format integer at ADDR which is
-@@ -408,8 +409,11 @@ symbol_read_needs_frame (struct symbol *sym)
+@@ -407,8 +408,11 @@ symbol_read_needs_frame (struct symbol *sym)
  
  /* Given a struct symbol for a variable,
     and a stack frame id, read the value of the variable
@@ -3435,7 +3435,7 @@ index 33332c6..d8da34a 100644
  
  struct value *
  read_var_value (struct symbol *var, struct frame_info *frame)
-@@ -417,16 +421,6 @@ read_var_value (struct symbol *var, struct frame_info *frame)
+@@ -416,16 +420,6 @@ read_var_value (struct symbol *var, struct frame_info *frame)
    struct value *v;
    struct type *type = SYMBOL_TYPE (var);
    CORE_ADDR addr;
@@ -3452,7 +3452,7 @@ index 33332c6..d8da34a 100644
  
    if (symbol_read_needs_frame (var))
      gdb_assert (frame);
-@@ -436,7 +430,7 @@ read_var_value (struct symbol *var, struct frame_info *frame)
+@@ -435,7 +429,7 @@ read_var_value (struct symbol *var, struct frame_info *frame)
      case LOC_CONST:
        /* Put the constant back in target format.  */
        v = allocate_value (type);
@@ -3461,7 +3461,7 @@ index 33332c6..d8da34a 100644
  			    gdbarch_byte_order (get_type_arch (type)),
  			    (LONGEST) SYMBOL_VALUE (var));
        VALUE_LVAL (v) = not_lval;
-@@ -461,12 +455,12 @@ read_var_value (struct symbol *var, struct frame_info *frame)
+@@ -460,12 +454,12 @@ read_var_value (struct symbol *var, struct frame_info *frame)
  
      case LOC_CONST_BYTES:
        v = allocate_value (type);
@@ -3476,7 +3476,7 @@ index 33332c6..d8da34a 100644
        if (overlay_debugging)
  	addr = symbol_overlayed_address (SYMBOL_VALUE_ADDRESS (var),
  					 SYMBOL_OBJ_SECTION (var));
-@@ -480,7 +474,6 @@ read_var_value (struct symbol *var, struct frame_info *frame)
+@@ -479,7 +473,6 @@ read_var_value (struct symbol *var, struct frame_info *frame)
  	error (_("Unknown argument list address for `%s'."),
  	       SYMBOL_PRINT_NAME (var));
        addr += SYMBOL_VALUE (var);
@@ -3484,7 +3484,7 @@ index 33332c6..d8da34a 100644
        break;
  
      case LOC_REF_ARG:
-@@ -495,14 +488,12 @@ read_var_value (struct symbol *var, struct frame_info *frame)
+@@ -494,14 +487,12 @@ read_var_value (struct symbol *var, struct frame_info *frame)
  	argref += SYMBOL_VALUE (var);
  	ref = value_at (lookup_pointer_type (type), argref);
  	addr = value_as_address (ref);
@@ -3499,7 +3499,7 @@ index 33332c6..d8da34a 100644
        break;
  
      case LOC_TYPEDEF:
-@@ -511,7 +502,6 @@ read_var_value (struct symbol *var, struct frame_info *frame)
+@@ -510,7 +501,6 @@ read_var_value (struct symbol *var, struct frame_info *frame)
        break;
  
      case LOC_BLOCK:
@@ -3507,7 +3507,7 @@ index 33332c6..d8da34a 100644
        if (overlay_debugging)
  	addr = symbol_overlayed_address
  	  (BLOCK_START (SYMBOL_BLOCK_VALUE (var)), SYMBOL_OBJ_SECTION (var));
-@@ -537,7 +527,6 @@ read_var_value (struct symbol *var, struct frame_info *frame)
+@@ -536,7 +526,6 @@ read_var_value (struct symbol *var, struct frame_info *frame)
  	             SYMBOL_PRINT_NAME (var));
  
  	    addr = value_as_address (regval);
@@ -3515,7 +3515,7 @@ index 33332c6..d8da34a 100644
  	  }
  	else
  	  {
-@@ -577,7 +566,6 @@ read_var_value (struct symbol *var, struct frame_info *frame)
+@@ -576,7 +565,6 @@ read_var_value (struct symbol *var, struct frame_info *frame)
  	if (obj_section
  	    && (obj_section->the_bfd_section->flags & SEC_THREAD_LOCAL) != 0)
  	  addr = target_translate_tls_address (obj_section->objfile, addr);
@@ -3523,7 +3523,7 @@ index 33332c6..d8da34a 100644
        }
        break;
  
-@@ -590,6 +578,10 @@ read_var_value (struct symbol *var, struct frame_info *frame)
+@@ -589,6 +577,10 @@ read_var_value (struct symbol *var, struct frame_info *frame)
        break;
      }
  
@@ -3534,7 +3534,7 @@ index 33332c6..d8da34a 100644
    VALUE_LVAL (v) = lval_memory;
    set_value_address (v, addr);
    return v;
-@@ -672,10 +664,11 @@ struct value *
+@@ -671,10 +663,11 @@ struct value *
  value_from_register (struct type *type, int regnum, struct frame_info *frame)
  {
    struct gdbarch *gdbarch = get_frame_arch (frame);
@@ -3548,7 +3548,7 @@ index 33332c6..d8da34a 100644
      {
        int optim, unavail, ok;
  
-@@ -690,7 +683,7 @@ value_from_register (struct type *type, int regnum, struct frame_info *frame)
+@@ -689,7 +682,7 @@ value_from_register (struct type *type, int regnum, struct frame_info *frame)
        VALUE_LVAL (v) = lval_register;
        VALUE_FRAME_ID (v) = get_frame_id (frame);
        VALUE_REGNUM (v) = regnum;
@@ -3558,10 +3558,10 @@ index 33332c6..d8da34a 100644
  				      &unavail);
  
 diff --git a/gdb/gdbarch.c b/gdb/gdbarch.c
-index 1ada504..ec1ef46 100644
+index 1bd2341..431ddcc 100644
 --- a/gdb/gdbarch.c
 +++ b/gdb/gdbarch.c
-@@ -263,6 +263,16 @@ struct gdbarch
+@@ -265,6 +265,16 @@ struct gdbarch
    gdbarch_get_siginfo_type_ftype *get_siginfo_type;
    gdbarch_record_special_symbol_ftype *record_special_symbol;
    gdbarch_get_syscall_number_ftype *get_syscall_number;
@@ -3578,7 +3578,7 @@ index 1ada504..ec1ef46 100644
    int has_global_solist;
    int has_global_breakpoints;
    gdbarch_has_shared_address_space_ftype *has_shared_address_space;
-@@ -418,6 +428,16 @@ struct gdbarch startup_gdbarch =
+@@ -423,6 +433,16 @@ struct gdbarch startup_gdbarch =
    0,  /* get_siginfo_type */
    0,  /* record_special_symbol */
    0,  /* get_syscall_number */
@@ -3595,7 +3595,7 @@ index 1ada504..ec1ef46 100644
    0,  /* has_global_solist */
    0,  /* has_global_breakpoints */
    default_has_shared_address_space,  /* has_shared_address_space */
-@@ -707,6 +727,16 @@ verify_gdbarch (struct gdbarch *gdbarch)
+@@ -715,6 +735,16 @@ verify_gdbarch (struct gdbarch *gdbarch)
    /* Skip verify of get_siginfo_type, has predicate.  */
    /* Skip verify of record_special_symbol, has predicate.  */
    /* Skip verify of get_syscall_number, has predicate.  */
@@ -3612,7 +3612,7 @@ index 1ada504..ec1ef46 100644
    /* Skip verify of has_global_solist, invalid_p == 0 */
    /* Skip verify of has_global_breakpoints, invalid_p == 0 */
    /* Skip verify of has_shared_address_space, invalid_p == 0 */
-@@ -1240,6 +1270,42 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file)
+@@ -1267,6 +1297,42 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file)
                        "gdbarch_dump: stabs_argument_has_addr = <%s>\n",
                        host_address_to_string (gdbarch->stabs_argument_has_addr));
    fprintf_unfiltered (file,
@@ -3655,7 +3655,7 @@ index 1ada504..ec1ef46 100644
                        "gdbarch_dump: gdbarch_static_transform_name_p() = %d\n",
                        gdbarch_static_transform_name_p (gdbarch));
    fprintf_unfiltered (file,
-@@ -3759,6 +3825,190 @@ set_gdbarch_get_syscall_number (struct gdbarch *gdbarch,
+@@ -3834,6 +3900,190 @@ set_gdbarch_get_syscall_number (struct gdbarch *gdbarch,
    gdbarch->get_syscall_number = get_syscall_number;
  }
  
@@ -3847,7 +3847,7 @@ index 1ada504..ec1ef46 100644
  gdbarch_has_global_solist (struct gdbarch *gdbarch)
  {
 diff --git a/gdb/gdbarch.h b/gdb/gdbarch.h
-index c257c63..eeb8e62 100644
+index 044281c..294a63f 100644
 --- a/gdb/gdbarch.h
 +++ b/gdb/gdbarch.h
 @@ -55,6 +55,7 @@ struct core_regset_section;
@@ -3858,7 +3858,7 @@ index c257c63..eeb8e62 100644
  
  /* The architecture associated with the connection to the target.
   
-@@ -963,6 +964,125 @@ typedef LONGEST (gdbarch_get_syscall_number_ftype) (struct gdbarch *gdbarch, pti
+@@ -979,6 +980,125 @@ typedef LONGEST (gdbarch_get_syscall_number_ftype) (struct gdbarch *gdbarch, pti
  extern LONGEST gdbarch_get_syscall_number (struct gdbarch *gdbarch, ptid_t ptid);
  extern void set_gdbarch_get_syscall_number (struct gdbarch *gdbarch, gdbarch_get_syscall_number_ftype *get_syscall_number);
  
@@ -3985,10 +3985,10 @@ index c257c63..eeb8e62 100644
     processes, as opposed to a list of shared libraries per inferior.
     This usually means that all processes, although may or may not share
 diff --git a/gdb/gdbarch.sh b/gdb/gdbarch.sh
-index 0c3344f..5343ace 100755
+index 37281ba..879fab7 100755
 --- a/gdb/gdbarch.sh
 +++ b/gdb/gdbarch.sh
-@@ -787,6 +787,101 @@ M:void:record_special_symbol:struct objfile *objfile, asymbol *sym:objfile, sym
+@@ -792,6 +792,101 @@ M:void:record_special_symbol:struct objfile *objfile, asymbol *sym:objfile, sym
  # Get architecture-specific system calls information from registers.
  M:LONGEST:get_syscall_number:ptid_t ptid:ptid
  
@@ -4090,7 +4090,7 @@ index 0c3344f..5343ace 100755
  # True if the list of shared libraries is one and only for all
  # processes, as opposed to a list of shared libraries per inferior.
  # This usually means that all processes, although may or may not share
-@@ -946,6 +1041,7 @@ struct core_regset_section;
+@@ -954,6 +1049,7 @@ struct core_regset_section;
  struct syscall;
  struct agent_expr;
  struct axs_value;
@@ -4119,20 +4119,20 @@ index ffb7f53..a2e7e94 100644
  
  b internal_error
 diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
-index d0cb678..8b8b03d 100644
+index b09c1ec..8e0256c 100644
 --- a/gdb/gdbtypes.c
 +++ b/gdb/gdbtypes.c
-@@ -39,6 +39,9 @@
- #include "cp-abi.h"
+@@ -37,6 +37,9 @@
  #include "gdb_assert.h"
  #include "hashtab.h"
+ #include "exceptions.h"
 +#include "observer.h"
 +#include "dwarf2expr.h"
 +#include "dwarf2loc.h"
  
- 
  /* Initialize BADNESS constants.  */
-@@ -144,7 +147,16 @@ static void print_bit_vector (B_TYPE *, int);
+ 
+@@ -141,7 +144,16 @@ static void print_bit_vector (B_TYPE *, int);
  static void print_arg_types (struct field *, int, int);
  static void dump_fn_fieldlists (struct type *, int);
  static void print_cplus_stuff (struct type *, int);
@@ -4149,7 +4149,7 @@ index d0cb678..8b8b03d 100644
  
  /* Allocate a new OBJFILE-associated type structure and fill it
     with some defaults.  Space for the type structure is allocated
-@@ -175,6 +187,43 @@ alloc_type (struct objfile *objfile)
+@@ -172,6 +184,43 @@ alloc_type (struct objfile *objfile)
    return type;
  }
  
@@ -4193,7 +4193,7 @@ index d0cb678..8b8b03d 100644
  /* Allocate a new GDBARCH-associated type structure and fill it
     with some defaults.  Space for the type structure is allocated
     on the heap.  */
-@@ -300,7 +349,7 @@ make_pointer_type (struct type *type, struct type **typeptr)
+@@ -297,7 +346,7 @@ make_pointer_type (struct type *type, struct type **typeptr)
  
    if (typeptr == 0 || *typeptr == 0)	/* We'll need to allocate one.  */
      {
@@ -4202,7 +4202,7 @@ index d0cb678..8b8b03d 100644
        if (typeptr)
  	*typeptr = ntype;
      }
-@@ -377,7 +426,7 @@ make_reference_type (struct type *type, struct type **typeptr)
+@@ -374,7 +423,7 @@ make_reference_type (struct type *type, struct type **typeptr)
  
    if (typeptr == 0 || *typeptr == 0)	/* We'll need to allocate one.  */
      {
@@ -4211,7 +4211,7 @@ index d0cb678..8b8b03d 100644
        if (typeptr)
  	*typeptr = ntype;
      }
-@@ -750,6 +799,7 @@ create_range_type (struct type *result_type, struct type *index_type,
+@@ -747,6 +796,7 @@ create_range_type (struct type *result_type, struct type *index_type,
      TYPE_ZALLOC (result_type, sizeof (struct range_bounds));
    TYPE_LOW_BOUND (result_type) = low_bound;
    TYPE_HIGH_BOUND (result_type) = high_bound;
@@ -4219,7 +4219,7 @@ index d0cb678..8b8b03d 100644
  
    if (low_bound >= 0)
      TYPE_UNSIGNED (result_type) = 1;
-@@ -893,26 +943,31 @@ create_array_type (struct type *result_type,
+@@ -890,26 +940,31 @@ create_array_type (struct type *result_type,
  
    TYPE_CODE (result_type) = TYPE_CODE_ARRAY;
    TYPE_TARGET_TYPE (result_type) = element_type;
@@ -4264,7 +4264,7 @@ index d0cb678..8b8b03d 100644
  
    return result_type;
  }
-@@ -1441,6 +1496,105 @@ stub_noname_complaint (void)
+@@ -1438,6 +1493,105 @@ stub_noname_complaint (void)
    complaint (&symfile_complaints, _("stub type has NULL name"));
  }
  
@@ -4370,7 +4370,7 @@ index d0cb678..8b8b03d 100644
  /* Find the real type of TYPE.  This function returns the real type,
     after removing all layers of typedefs, and completing opaque or stub
     types.  Completion changes the TYPE argument, but stripping of
-@@ -1607,52 +1761,37 @@ check_typedef (struct type *type)
+@@ -1604,52 +1758,37 @@ check_typedef (struct type *type)
          }
      }
  
@@ -4444,7 +4444,7 @@ index d0cb678..8b8b03d 100644
  	  TYPE_TARGET_STUB (type) = 0;
  	}
        else if (TYPE_CODE (type) == TYPE_CODE_RANGE)
-@@ -1660,6 +1799,7 @@ check_typedef (struct type *type)
+@@ -1657,6 +1796,7 @@ check_typedef (struct type *type)
  	  TYPE_LENGTH (type) = TYPE_LENGTH (target_type);
  	  TYPE_TARGET_STUB (type) = 0;
  	}
@@ -4452,7 +4452,7 @@ index d0cb678..8b8b03d 100644
      }
  
    type = make_qualified_type (type, instance_flags, NULL);
-@@ -3309,33 +3449,42 @@ type_pair_eq (const void *item_lhs, const void *item_rhs)
+@@ -3310,33 +3450,42 @@ type_pair_eq (const void *item_lhs, const void *item_rhs)
  }
  
  /* Allocate the hash table used by copy_type_recursive to walk
@@ -4510,7 +4510,7 @@ index d0cb678..8b8b03d 100644
      return type;
  
    /* This type shouldn't be pointing to any types in other objfiles;
-@@ -3350,9 +3499,10 @@ copy_type_recursive (struct objfile *objfile,
+@@ -3351,9 +3500,10 @@ copy_type_recursive (struct objfile *objfile,
    new_type = alloc_type_arch (get_type_arch (type));
  
    /* We must add the new type to the hash table immediately, in case
@@ -4524,7 +4524,7 @@ index d0cb678..8b8b03d 100644
    stored->old = type;
    stored->new = new_type;
    *slot = stored;
-@@ -3363,6 +3513,21 @@ copy_type_recursive (struct objfile *objfile,
+@@ -3364,6 +3514,21 @@ copy_type_recursive (struct objfile *objfile,
    TYPE_OBJFILE_OWNED (new_type) = 0;
    TYPE_OWNER (new_type).gdbarch = get_type_arch (type);
  
@@ -4546,7 +4546,7 @@ index d0cb678..8b8b03d 100644
    if (TYPE_NAME (type))
      TYPE_NAME (new_type) = xstrdup (TYPE_NAME (type));
    if (TYPE_TAG_NAME (type))
-@@ -3371,12 +3536,48 @@ copy_type_recursive (struct objfile *objfile,
+@@ -3372,12 +3537,48 @@ copy_type_recursive (struct objfile *objfile,
    TYPE_INSTANCE_FLAGS (new_type) = TYPE_INSTANCE_FLAGS (type);
    TYPE_LENGTH (new_type) = TYPE_LENGTH (type);
  
@@ -4595,7 +4595,7 @@ index d0cb678..8b8b03d 100644
        TYPE_FIELDS (new_type) = XCALLOC (nfields, struct field);
        for (i = 0; i < nfields; i++)
  	{
-@@ -3385,8 +3586,8 @@ copy_type_recursive (struct objfile *objfile,
+@@ -3386,8 +3587,8 @@ copy_type_recursive (struct objfile *objfile,
  	  TYPE_FIELD_BITSIZE (new_type, i) = TYPE_FIELD_BITSIZE (type, i);
  	  if (TYPE_FIELD_TYPE (type, i))
  	    TYPE_FIELD_TYPE (new_type, i)
@@ -4606,7 +4606,7 @@ index d0cb678..8b8b03d 100644
  	  if (TYPE_FIELD_NAME (type, i))
  	    TYPE_FIELD_NAME (new_type, i) = 
  	      xstrdup (TYPE_FIELD_NAME (type, i));
-@@ -3413,24 +3614,184 @@ copy_type_recursive (struct objfile *objfile,
+@@ -3414,24 +3615,184 @@ copy_type_recursive (struct objfile *objfile,
  	}
      }
  
@@ -4798,7 +4798,7 @@ index d0cb678..8b8b03d 100644
    /* Maybe copy the type_specific bits.
  
       NOTE drow/2005-12-09: We do not copy the C++-specific bits like
-@@ -3447,6 +3808,17 @@ copy_type_recursive (struct objfile *objfile,
+@@ -3448,6 +3809,17 @@ copy_type_recursive (struct objfile *objfile,
    return new_type;
  }
  
@@ -4816,7 +4816,7 @@ index d0cb678..8b8b03d 100644
  /* Make a copy of the given TYPE, except that the pointer & reference
     types are not preserved.
     
-@@ -3469,6 +3841,201 @@ copy_type (const struct type *type)
+@@ -3470,6 +3842,201 @@ copy_type (const struct type *type)
    return new_type;
  }
  
@@ -5018,7 +5018,7 @@ index d0cb678..8b8b03d 100644
  
  /* Helper functions to initialize architecture-specific types.  */
  
-@@ -4001,6 +4568,13 @@ void
+@@ -4002,6 +4569,13 @@ void
  _initialize_gdbtypes (void)
  {
    gdbtypes_data = gdbarch_data_register_post_init (gdbtypes_post_init);
@@ -5033,10 +5033,10 @@ index d0cb678..8b8b03d 100644
  
    add_setshow_zinteger_cmd ("overload", no_class, &overload_debug,
 diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
-index 69f6b46..889d39e 100644
+index 2070f00..40db606 100644
 --- a/gdb/gdbtypes.h
 +++ b/gdb/gdbtypes.h
-@@ -215,6 +215,11 @@ enum type_instance_flag_value
+@@ -213,6 +213,11 @@ enum type_instance_flag_value
  
  #define TYPE_TARGET_STUB(t)	(TYPE_MAIN_TYPE (t)->flag_target_stub)
  
@@ -5048,9 +5048,9 @@ index 69f6b46..889d39e 100644
  /* Static type.  If this is set, the corresponding type had 
     a static modifier.
     Note: This may be unnecessary, since static data members
-@@ -292,6 +297,50 @@ enum type_instance_flag_value
+@@ -296,6 +301,50 @@ enum type_instance_flag_value
  
- #define TYPE_DECLARED_CLASS(t) (TYPE_MAIN_TYPE (t)->flag_declared_class)
+ #define TYPE_FLAG_ENUM(t) (TYPE_MAIN_TYPE (t)->flag_flag_enum)
  
 +#if 0
 +/* Define this type as being reclaimable during free_all_types.  Type is
@@ -5099,7 +5099,7 @@ index 69f6b46..889d39e 100644
  /* Constant type.  If this is set, the corresponding type has a
     const modifier.  */
  
-@@ -401,6 +450,15 @@ struct main_type
+@@ -405,6 +454,15 @@ struct main_type
    /* True if this type was declared with "class" rather than
       "struct".  */
    unsigned int flag_declared_class : 1;
@@ -5113,9 +5113,9 @@ index 69f6b46..889d39e 100644
 +  unsigned int flag_not_associated : 1;
 +  unsigned int flag_data_location_is_addr : 1;
  
-   /* A discriminant telling us which field of the type_specific union
-      is being used for this type, if any.  */
-@@ -474,6 +532,20 @@ struct main_type
+   /* True if this is an enum type with disjoint values.  This affects
+      how the enum is printed.  */
+@@ -483,6 +541,20 @@ struct main_type
  
    struct type *target_type;
  
@@ -5136,7 +5136,7 @@ index 69f6b46..889d39e 100644
    /* For structure and union types, a description of each field.
       For set and pascal array types, there is one "field",
       whose type is the domain type of the set or array.
-@@ -554,13 +626,34 @@ struct main_type
+@@ -563,13 +635,34 @@ struct main_type
  
      struct range_bounds
      {
@@ -5176,7 +5176,7 @@ index 69f6b46..889d39e 100644
  
        /* Flags indicating whether the values of low and high are
           valid.  When true, the respective range value is
-@@ -1012,9 +1105,9 @@ extern void allocate_gnat_aux_type (struct type *);
+@@ -1016,9 +1109,9 @@ extern void allocate_gnat_aux_type (struct type *);
  #define TYPE_POINTER_TYPE(thistype) (thistype)->pointer_type
  #define TYPE_REFERENCE_TYPE(thistype) (thistype)->reference_type
  #define TYPE_CHAIN(thistype) (thistype)->chain
@@ -5189,7 +5189,7 @@ index 69f6b46..889d39e 100644
     calls check_typedef, TYPE_LENGTH (VALUE_TYPE (X)) is safe.  */
  #define TYPE_LENGTH(thistype) (thistype)->length
  /* Note that TYPE_CODE can be TYPE_CODE_TYPEDEF, so if you want the real
-@@ -1022,11 +1115,16 @@ extern void allocate_gnat_aux_type (struct type *);
+@@ -1026,11 +1119,16 @@ extern void allocate_gnat_aux_type (struct type *);
  #define TYPE_CODE(thistype) TYPE_MAIN_TYPE(thistype)->code
  #define TYPE_NFIELDS(thistype) TYPE_MAIN_TYPE(thistype)->nfields
  #define TYPE_FIELDS(thistype) TYPE_MAIN_TYPE(thistype)->flds_bnds.fields
@@ -5208,7 +5208,7 @@ index 69f6b46..889d39e 100644
  #define TYPE_LOW_BOUND_UNDEFINED(range_type) \
     TYPE_RANGE_DATA(range_type)->low_undefined
  #define TYPE_HIGH_BOUND_UNDEFINED(range_type) \
-@@ -1043,7 +1141,14 @@ extern void allocate_gnat_aux_type (struct type *);
+@@ -1047,7 +1145,14 @@ extern void allocate_gnat_aux_type (struct type *);
     (TYPE_HIGH_BOUND(TYPE_INDEX_TYPE((arraytype))))
  
  #define TYPE_ARRAY_LOWER_BOUND_VALUE(arraytype) \
@@ -5224,7 +5224,7 @@ index 69f6b46..889d39e 100644
  
  /* C++ */
  
-@@ -1479,6 +1584,18 @@ extern struct type *create_array_type (struct type *, struct type *,
+@@ -1482,6 +1587,18 @@ extern struct type *create_array_type (struct type *, struct type *,
  				       struct type *);
  extern struct type *lookup_array_range_type (struct type *, int, int);
  
@@ -5243,7 +5243,7 @@ index 69f6b46..889d39e 100644
  extern struct type *create_string_type (struct type *, struct type *,
  					struct type *);
  extern struct type *lookup_string_range_type (struct type *, int, int);
-@@ -1524,6 +1641,10 @@ extern int is_public_ancestor (struct type *, struct type *);
+@@ -1527,6 +1644,10 @@ extern int is_public_ancestor (struct type *, struct type *);
  
  extern int is_unique_ancestor (struct type *, struct value *);
  
@@ -5254,7 +5254,7 @@ index 69f6b46..889d39e 100644
  /* Overload resolution */
  
  #define LENGTH_MATCH(bv) ((bv)->rank[0])
-@@ -1599,10 +1720,13 @@ extern void maintenance_print_type (char *, int);
+@@ -1602,10 +1723,13 @@ extern void maintenance_print_type (char *, int);
  
  extern htab_t create_copied_types_hash (struct objfile *objfile);
  
@@ -5271,10 +5271,10 @@ index 69f6b46..889d39e 100644
 +
  #endif /* GDBTYPES_H */
 diff --git a/gdb/i386-linux-nat.c b/gdb/i386-linux-nat.c
-index a48e58e..9e60ff4 100644
+index 4b1b20f..38e7027 100644
 --- a/gdb/i386-linux-nat.c
 +++ b/gdb/i386-linux-nat.c
-@@ -709,8 +709,8 @@ i386_linux_dr_get_status (void)
+@@ -708,8 +708,8 @@ i386_linux_dr_get_status (void)
    return i386_linux_dr_get (inferior_ptid, DR_STATUS);
  }
  
@@ -5285,7 +5285,7 @@ index a48e58e..9e60ff4 100644
  
  static int
  update_debug_registers_callback (struct lwp_info *lwp, void *arg)
-@@ -736,9 +736,7 @@ update_debug_registers_callback (struct lwp_info *lwp, void *arg)
+@@ -735,9 +735,7 @@ update_debug_registers_callback (struct lwp_info *lwp, void *arg)
  static void
  i386_linux_dr_set_control (unsigned long control)
  {
@@ -5296,7 +5296,7 @@ index a48e58e..9e60ff4 100644
  }
  
  /* Set address REGNUM (zero based) to ADDR in all LWPs of the current
-@@ -751,7 +749,7 @@ i386_linux_dr_set_addr (int regnum, CORE_ADDR addr)
+@@ -750,7 +748,7 @@ i386_linux_dr_set_addr (int regnum, CORE_ADDR addr)
  
    gdb_assert (regnum >= 0 && regnum <= DR_LASTADDR - DR_FIRSTADDR);
  
@@ -5305,7 +5305,7 @@ index a48e58e..9e60ff4 100644
  }
  
  /* Called when resuming a thread.
-@@ -773,6 +771,9 @@ i386_linux_prepare_to_resume (struct lwp_info *lwp)
+@@ -772,6 +770,9 @@ i386_linux_prepare_to_resume (struct lwp_info *lwp)
        struct i386_debug_reg_state *state = i386_debug_reg_state ();
        int i;
  
@@ -5316,10 +5316,10 @@ index a48e58e..9e60ff4 100644
  	if (state->dr_ref_count[i] > 0)
  	  {
 diff --git a/gdb/i386-linux-tdep.c b/gdb/i386-linux-tdep.c
-index 7c3962e..33f6dc6 100644
+index eb114ef..f80e05a 100644
 --- a/gdb/i386-linux-tdep.c
 +++ b/gdb/i386-linux-tdep.c
-@@ -904,6 +904,15 @@ i386_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
+@@ -903,6 +903,15 @@ i386_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
                                    i386_linux_get_syscall_number);
  
    set_gdbarch_get_siginfo_type (gdbarch, linux_get_siginfo_type);
@@ -5336,7 +5336,7 @@ index 7c3962e..33f6dc6 100644
  
  /* Provide a prototype to silence -Wmissing-prototypes.  */
 diff --git a/gdb/i386-nat.c b/gdb/i386-nat.c
-index 593401b..bb31d9e 100644
+index fa17823..846b2b8 100644
 --- a/gdb/i386-nat.c
 +++ b/gdb/i386-nat.c
 @@ -25,6 +25,7 @@
@@ -5659,10 +5659,10 @@ index 593401b..bb31d9e 100644
  
  void
 diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c
-index a4e3a22..1e3e29b 100644
+index 549297e..5783c4c 100644
 --- a/gdb/i386-tdep.c
 +++ b/gdb/i386-tdep.c
-@@ -60,8 +60,14 @@
+@@ -58,8 +58,14 @@
  #include "features/i386/i386-avx.c"
  #include "features/i386/i386-mmx.c"
  
@@ -5677,7 +5677,7 @@ index a4e3a22..1e3e29b 100644
  
  /* Register names.  */
  
-@@ -7245,6 +7251,312 @@ i386_validate_tdesc_p (struct gdbarch_tdep *tdep,
+@@ -7246,6 +7252,312 @@ i386_validate_tdesc_p (struct gdbarch_tdep *tdep,
    return valid_p;
  }
  
@@ -5991,10 +5991,10 @@ index a4e3a22..1e3e29b 100644
  static struct gdbarch *
  i386_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
 diff --git a/gdb/i386-tdep.h b/gdb/i386-tdep.h
-index de11f68..2a84adc 100644
+index 870054f..9ffbe44 100644
 --- a/gdb/i386-tdep.h
 +++ b/gdb/i386-tdep.h
-@@ -380,6 +380,15 @@ extern void i386_svr4_init_abi (struct gdbarch_info, struct gdbarch *);
+@@ -379,6 +379,15 @@ extern void i386_svr4_init_abi (struct gdbarch_info, struct gdbarch *);
  
  extern int i386_process_record (struct gdbarch *gdbarch,
                                  struct regcache *regcache, CORE_ADDR addr);
@@ -6011,10 +6011,10 @@ index de11f68..2a84adc 100644
  
  /* Functions and variables exported from i386bsd-tdep.c.  */
 diff --git a/gdb/infrun.c b/gdb/infrun.c
-index 5a0f1d2..b2d350d 100644
+index 24d2720..c516b8b 100644
 --- a/gdb/infrun.c
 +++ b/gdb/infrun.c
-@@ -57,6 +57,8 @@
+@@ -55,6 +55,8 @@
  #include "continuations.h"
  #include "interps.h"
  #include "skip.h"
@@ -6023,7 +6023,7 @@ index 5a0f1d2..b2d350d 100644
  
  /* Prototypes for local functions */
  
-@@ -2381,7 +2383,7 @@ static void handle_step_into_function (struct gdbarch *gdbarch,
+@@ -2379,7 +2381,7 @@ static void handle_step_into_function (struct gdbarch *gdbarch,
  static void handle_step_into_function_backward (struct gdbarch *gdbarch,
  						struct execution_control_state *ecs);
  static void check_exception_resume (struct execution_control_state *,
@@ -6032,7 +6032,7 @@ index 5a0f1d2..b2d350d 100644
  
  static void stop_stepping (struct execution_control_state *ecs);
  static void prepare_to_wait (struct execution_control_state *ecs);
-@@ -4419,9 +4421,17 @@ process_event_stop_test:
+@@ -4417,9 +4419,17 @@ process_event_stop_test:
  
  	if (what.is_longjmp)
  	  {
@@ -6053,7 +6053,7 @@ index 5a0f1d2..b2d350d 100644
  	      {
  		if (debug_infrun)
  		  fprintf_unfiltered (gdb_stdlog,
-@@ -4439,12 +4449,7 @@ process_event_stop_test:
+@@ -4437,12 +4447,7 @@ process_event_stop_test:
  	    insert_longjmp_resume_breakpoint (gdbarch, jmp_buf_pc);
  	  }
  	else
@@ -6067,7 +6067,7 @@ index 5a0f1d2..b2d350d 100644
  	keep_going (ecs);
  	return;
  
-@@ -5526,15 +5531,65 @@ insert_exception_resume_breakpoint (struct thread_info *tp,
+@@ -5524,15 +5529,65 @@ insert_exception_resume_breakpoint (struct thread_info *tp,
      }
  }
  
@@ -6111,7 +6111,7 @@ index 5a0f1d2..b2d350d 100644
 -			struct frame_info *frame, struct symbol *func)
 +			struct frame_info *frame)
  {
-   struct gdb_exception e;
+   volatile struct gdb_exception e;
 +  struct objfile *objfile;
 +  const struct stap_probe *probe;
 +  struct symbol *func;
@@ -6134,7 +6134,7 @@ index 5a0f1d2..b2d350d 100644
  
    TRY_CATCH (e, RETURN_MASK_ERROR)
      {
-@@ -6565,7 +6620,8 @@ static const struct lval_funcs siginfo_value_funcs =
+@@ -6564,7 +6619,8 @@ static const struct lval_funcs siginfo_value_funcs =
     if there's no object available.  */
  
  static struct value *
@@ -6144,7 +6144,7 @@ index 5a0f1d2..b2d350d 100644
  {
    if (target_has_stack
        && !ptid_equal (inferior_ptid, null_ptid)
-@@ -7060,6 +7116,15 @@ show_schedule_multiple (struct ui_file *file, int from_tty,
+@@ -7059,6 +7115,15 @@ show_schedule_multiple (struct ui_file *file, int from_tty,
  			    "of all processes is %s.\n"), value);
  }
  
@@ -6160,7 +6160,7 @@ index 5a0f1d2..b2d350d 100644
  void
  _initialize_infrun (void)
  {
-@@ -7348,7 +7413,7 @@ enabled by default on some platforms."),
+@@ -7347,7 +7412,7 @@ enabled by default on some platforms."),
       value with a void typed value, and when we get here, gdbarch
       isn't initialized yet.  At this point, we're quite sure there
       isn't another convenience variable of the same name.  */
@@ -6170,10 +6170,10 @@ index 5a0f1d2..b2d350d 100644
    add_setshow_boolean_cmd ("observer", no_class,
  			   &observer_mode_1, _("\
 diff --git a/gdb/linespec.c b/gdb/linespec.c
-index 8521851..56a837c 100644
+index 0782c54..31bb36c 100644
 --- a/gdb/linespec.c
 +++ b/gdb/linespec.c
-@@ -45,6 +45,7 @@
+@@ -43,6 +43,7 @@
  #include "cli/cli-utils.h"
  #include "filenames.h"
  #include "ada-lang.h"
@@ -6181,7 +6181,7 @@ index 8521851..56a837c 100644
  
  typedef struct symtab *symtab_p;
  DEF_VEC_P (symtab_p);
-@@ -804,6 +805,7 @@ keep_name_info (char *p, int on_boundary)
+@@ -802,6 +803,7 @@ keep_name_info (char *p, int on_boundary)
     PC returned is 0.
     FILE:FUNCTION -- likewise, but prefer functions in that file.
     *EXPR -- line in which address EXPR appears.
@@ -6189,7 +6189,7 @@ index 8521851..56a837c 100644
  
     This may all be followed by an "if EXPR", which we ignore.
  
-@@ -874,6 +876,9 @@ decode_line_internal (struct linespec_state *self, char **argptr)
+@@ -872,6 +874,9 @@ decode_line_internal (struct linespec_state *self, char **argptr)
        return decode_indirect (self, argptr);
      }
  
@@ -6200,10 +6200,10 @@ index 8521851..56a837c 100644
  		       **argptr) != NULL);
  
 diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c
-index e5f7c3e..09d7c1e 100644
+index 50d4efd..893b7c4 100644
 --- a/gdb/linux-nat.c
 +++ b/gdb/linux-nat.c
-@@ -289,6 +289,7 @@ static void restore_child_signals_mask (sigset_t *prev_mask);
+@@ -288,6 +288,7 @@ static void restore_child_signals_mask (sigset_t *prev_mask);
  struct lwp_info;
  static struct lwp_info *add_lwp (ptid_t ptid);
  static void purge_lwp_list (int pid);
@@ -6211,7 +6211,7 @@ index e5f7c3e..09d7c1e 100644
  static struct lwp_info *find_lwp_pid (ptid_t ptid);
  
  
-@@ -585,6 +586,31 @@ linux_child_post_startup_inferior (ptid_t ptid)
+@@ -584,6 +585,31 @@ linux_child_post_startup_inferior (ptid_t ptid)
    linux_enable_tracesysgood (ptid);
  }
  
@@ -6243,7 +6243,7 @@ index e5f7c3e..09d7c1e 100644
  static int
  linux_child_follow_fork (struct target_ops *ops, int follow_child)
  {
-@@ -631,6 +657,8 @@ holding the child stopped.  Try \"set detach-on-fork\" or \
+@@ -630,6 +656,8 @@ holding the child stopped.  Try \"set detach-on-fork\" or \
        /* Detach new forked process?  */
        if (detach_fork)
  	{
@@ -6252,7 +6252,7 @@ index e5f7c3e..09d7c1e 100644
  	  /* Before detaching from the child, remove all breakpoints
  	     from it.  If we forked, then this has already been taken
  	     care of by infrun.c.  If we vforked however, any
-@@ -653,7 +681,28 @@ holding the child stopped.  Try \"set detach-on-fork\" or \
+@@ -652,7 +680,28 @@ holding the child stopped.  Try \"set detach-on-fork\" or \
  				child_pid);
  	    }
  
@@ -6281,7 +6281,7 @@ index e5f7c3e..09d7c1e 100644
  	}
        else
  	{
-@@ -671,6 +720,9 @@ holding the child stopped.  Try \"set detach-on-fork\" or \
+@@ -670,6 +719,9 @@ holding the child stopped.  Try \"set detach-on-fork\" or \
  	  save_current_program_space ();
  
  	  inferior_ptid = ptid_build (child_pid, child_pid, 0);
@@ -6291,7 +6291,7 @@ index e5f7c3e..09d7c1e 100644
  	  add_thread (inferior_ptid);
  	  child_lp = add_lwp (inferior_ptid);
  	  child_lp->stopped = 1;
-@@ -862,6 +914,9 @@ holding the child stopped.  Try \"set detach-on-fork\" or \
+@@ -861,6 +913,9 @@ holding the child stopped.  Try \"set detach-on-fork\" or \
  	 informing the solib layer about this new process.  */
  
        inferior_ptid = ptid_build (child_pid, child_pid, 0);
@@ -6301,7 +6301,7 @@ index e5f7c3e..09d7c1e 100644
        add_thread (inferior_ptid);
        child_lp = add_lwp (inferior_ptid);
        child_lp->stopped = 1;
-@@ -1112,21 +1167,6 @@ purge_lwp_list (int pid)
+@@ -1111,21 +1166,6 @@ purge_lwp_list (int pid)
      }
  }
  
@@ -6323,7 +6323,7 @@ index e5f7c3e..09d7c1e 100644
  /* Add the LWP specified by PID to the list.  Return a pointer to the
     structure describing the new LWP.  The LWP should already be stopped
     (with an exception for the very first LWP).  */
-@@ -1236,6 +1276,46 @@ iterate_over_lwps (ptid_t filter,
+@@ -1235,6 +1275,46 @@ iterate_over_lwps (ptid_t filter,
    return NULL;
  }
  
@@ -6371,10 +6371,10 @@ index e5f7c3e..09d7c1e 100644
     another indicated by NEW_PTID.  We can only switch single-threaded
     applications, so we only create one new LWP, and the previous list
 diff --git a/gdb/linux-nat.h b/gdb/linux-nat.h
-index 33727d6..9915f2f 100644
+index d9dc71b..6217370 100644
 --- a/gdb/linux-nat.h
 +++ b/gdb/linux-nat.h
-@@ -159,6 +159,12 @@ struct lwp_info *iterate_over_lwps (ptid_t filter,
+@@ -158,6 +158,12 @@ struct lwp_info *iterate_over_lwps (ptid_t filter,
  						     void *), 
  				    void *data);
  
@@ -6388,7 +6388,7 @@ index 33727d6..9915f2f 100644
     override it with local methods.  */
  struct target_ops * linux_target (void);
 diff --git a/gdb/machoread.c b/gdb/machoread.c
-index 46b8842..68aae46 100644
+index 9fa97e1..d6f0f38 100644
 --- a/gdb/machoread.c
 +++ b/gdb/machoread.c
 @@ -1032,6 +1032,7 @@ static const struct sym_fns macho_sym_fns = {
@@ -6400,10 +6400,10 @@ index 46b8842..68aae46 100644
  };
  
 diff --git a/gdb/main.c b/gdb/main.c
-index 288ec4b..38b7699 100644
+index 8b45c25..c7ea0df 100644
 --- a/gdb/main.c
 +++ b/gdb/main.c
-@@ -39,6 +39,7 @@
+@@ -37,6 +37,7 @@
  
  #include "interps.h"
  #include "main.h"
@@ -6411,7 +6411,7 @@ index 288ec4b..38b7699 100644
  #include "source.h"
  #include "cli/cli-cmds.h"
  #include "python/python.h"
-@@ -266,6 +267,8 @@ captured_main (void *data)
+@@ -264,6 +265,8 @@ captured_main (void *data)
    char *cdarg = NULL;
    char *ttyarg = NULL;
  
@@ -6420,7 +6420,7 @@ index 288ec4b..38b7699 100644
    /* These are static so that we can take their address in an
       initializer.  */
    static int print_help;
-@@ -459,10 +462,14 @@ captured_main (void *data)
+@@ -457,10 +460,14 @@ captured_main (void *data)
        {"args", no_argument, &set_args, 1},
        {"l", required_argument, 0, 'l'},
        {"return-child-result", no_argument, &return_child_result, 1},
@@ -6436,7 +6436,7 @@ index 288ec4b..38b7699 100644
        {
  	int option_index;
  
-@@ -480,6 +487,9 @@ captured_main (void *data)
+@@ -478,6 +485,9 @@ captured_main (void *data)
  	  case 0:
  	    /* Long option that just sets a flag.  */
  	    break;
@@ -6446,7 +6446,7 @@ index 288ec4b..38b7699 100644
  	  case OPT_SE:
  	    symarg = optarg;
  	    execarg = optarg;
-@@ -675,7 +685,31 @@ captured_main (void *data)
+@@ -673,7 +683,31 @@ captured_main (void *data)
  
    /* Now that gdb_init has created the initial inferior, we're in
       position to set args for that inferior.  */
@@ -6479,7 +6479,7 @@ index 288ec4b..38b7699 100644
      {
        /* The remaining options are the command-line options for the
  	 inferior.  The first one is the sym/exec file, and the rest
-@@ -924,7 +958,8 @@ captured_main (void *data)
+@@ -922,7 +956,8 @@ captured_main (void *data)
  
    /* Read in the old history after all the command files have been
       read.  */
@@ -6489,7 +6489,7 @@ index 288ec4b..38b7699 100644
  
    if (batch_flag)
      {
-@@ -935,13 +970,25 @@ captured_main (void *data)
+@@ -933,13 +968,25 @@ captured_main (void *data)
    /* Show time and/or space usage.  */
    do_cleanups (pre_stat_chain);
  
@@ -6521,7 +6521,7 @@ index 288ec4b..38b7699 100644
      }
    /* No exit -- exit is through quit_command.  */
  }
-@@ -973,7 +1020,12 @@ print_gdb_help (struct ui_file *stream)
+@@ -971,7 +1018,12 @@ print_gdb_help (struct ui_file *stream)
    fputs_unfiltered (_("\
  This is the GNU debugger.  Usage:\n\n\
      gdb [options] [executable-file [core-file or process-id]]\n\
@@ -6535,7 +6535,7 @@ index 288ec4b..38b7699 100644
  Options:\n\n\
  "), stream);
    fputs_unfiltered (_("\
-@@ -1011,7 +1063,13 @@ Options:\n\n\
+@@ -1009,7 +1061,13 @@ Options:\n\n\
    --nw		     Do not use a window interface.\n\
    --nx               Do not read "), stream);
    fputs_unfiltered (gdbinit, stream);
@@ -6551,7 +6551,7 @@ index 288ec4b..38b7699 100644
    --readnow          Fully read symbol files on first access.\n\
  "), stream);
 diff --git a/gdb/mi/mi-cmd-var.c b/gdb/mi/mi-cmd-var.c
-index 48f8a7d..e9a4db7 100644
+index 4de7392..fb0b550 100644
 --- a/gdb/mi/mi-cmd-var.c
 +++ b/gdb/mi/mi-cmd-var.c
 @@ -721,7 +721,6 @@ mi_cmd_var_update (char *command, char **argv, int argc)
@@ -6563,10 +6563,10 @@ index 48f8a7d..e9a4db7 100644
  
        varobj_update_one (var, print_values, 1 /* explicit */);
 diff --git a/gdb/mipsread.c b/gdb/mipsread.c
-index 1cd3299..46de097 100644
+index 5790730..23ceece 100644
 --- a/gdb/mipsread.c
 +++ b/gdb/mipsread.c
-@@ -402,6 +402,7 @@ static const struct sym_fns ecoff_sym_fns =
+@@ -401,6 +401,7 @@ static const struct sym_fns ecoff_sym_fns =
    default_symfile_segments,	/* Get segment information from a file.  */
    NULL,
    default_symfile_relocate,	/* Relocate a debug section.  */
@@ -6575,10 +6575,10 @@ index 1cd3299..46de097 100644
  };
  
 diff --git a/gdb/objfiles.c b/gdb/objfiles.c
-index 229e641..56b8a31 100644
+index 1cf5aee..d1640ef 100644
 --- a/gdb/objfiles.c
 +++ b/gdb/objfiles.c
-@@ -813,6 +813,11 @@ objfile_relocate1 (struct objfile *objfile,
+@@ -811,6 +811,11 @@ objfile_relocate1 (struct objfile *objfile,
  				obj_section_addr (s));
      }
  
@@ -6591,7 +6591,7 @@ index 229e641..56b8a31 100644
    return 1;
  }
 diff --git a/gdb/p-valprint.c b/gdb/p-valprint.c
-index e55b122..6b4adfb 100644
+index c5bef8a..fc3beb3 100644
 --- a/gdb/p-valprint.c
 +++ b/gdb/p-valprint.c
 @@ -39,6 +39,7 @@
@@ -6671,10 +6671,10 @@ index e55b122..6b4adfb 100644
  }
  
 diff --git a/gdb/parse.c b/gdb/parse.c
-index 7d157fe..6ddaf86 100644
+index 32a3bd6..9eaf2de 100644
 --- a/gdb/parse.c
 +++ b/gdb/parse.c
-@@ -124,8 +124,6 @@ show_parserdebug (struct ui_file *file, int from_tty,
+@@ -113,8 +113,6 @@ show_parserdebug (struct ui_file *file, int from_tty,
  
  static void free_funcalls (void *ignore);
  
@@ -6683,7 +6683,25 @@ index 7d157fe..6ddaf86 100644
  static int prefixify_subexp (struct expression *, struct expression *, int,
  			     int);
  
-@@ -772,7 +770,7 @@ copy_name (struct stoken token)
+@@ -188,7 +186,7 @@ free_funcalls (void *ignore)
+    the expout array.  LANG is the language used to parse the expression.
+    And GDBARCH is the gdbarch to use during parsing.  */
+ 
+-static void
++void
+ initialize_expout (int initial_size, const struct language_defn *lang,
+ 		   struct gdbarch *gdbarch)
+ {
+@@ -204,7 +202,7 @@ initialize_expout (int initial_size, const struct language_defn *lang,
+    It is generally used when the parser has just been parsed and
+    created.  */
+ 
+-static void
++void
+ reallocate_expout (void)
+ {
+   /* Record the actual number of expression elements, and then
+@@ -811,7 +809,7 @@ copy_name (struct stoken token)
     return the index of the subexpression which is the left-hand-side
     of the struct operation at EXPOUT_LAST_STRUCT.  */
  
@@ -6692,69 +6710,7 @@ index 7d157fe..6ddaf86 100644
  prefixify_expression (struct expression *expr)
  {
    int len = sizeof (struct expression) + EXP_ELEM_TO_BYTES (expr->nelts);
-@@ -1075,6 +1073,31 @@ parse_exp_1 (char **stringptr, struct block *block, int comma)
-   return parse_exp_in_context (stringptr, block, comma, 0, NULL);
- }
- 
-+void
-+initialize_expout (int initial_size, const struct language_defn *lang,
-+		   struct gdbarch *gdbarch)
-+{
-+  expout_size = initial_size;
-+  expout_ptr = 0;
-+  expout = (struct expression *)
-+    xmalloc (sizeof (struct expression) + EXP_ELEM_TO_BYTES (expout_size));
-+  expout->language_defn = lang;
-+  expout->gdbarch = gdbarch;
-+}
-+
-+void
-+reallocate_expout (void)
-+{
-+  /* Record the actual number of expression elements, and then
-+     reallocate the expression memory so that we free up any
-+     excess elements.  */
-+
-+  expout->nelts = expout_ptr;
-+  expout = (struct expression *)
-+    xrealloc ((char *) expout,
-+	      sizeof (struct expression) + EXP_ELEM_TO_BYTES (expout_ptr));
-+}
-+
- /* As for parse_exp_1, except that if VOID_CONTEXT_P, then
-    no value is expected from the expression.
-    OUT_SUBEXP is set when attempting to complete a field name; in this
-@@ -1152,12 +1175,7 @@ parse_exp_in_context (char **stringptr, struct block *block, int comma,
-   else
-     lang = current_language;
- 
--  expout_size = 10;
--  expout_ptr = 0;
--  expout = (struct expression *)
--    xmalloc (sizeof (struct expression) + EXP_ELEM_TO_BYTES (expout_size));
--  expout->language_defn = lang;
--  expout->gdbarch = get_current_arch ();
-+  initialize_expout (10, lang, get_current_arch ());
- 
-   TRY_CATCH (except, RETURN_MASK_ALL)
-     {
-@@ -1175,14 +1193,7 @@ parse_exp_in_context (char **stringptr, struct block *block, int comma,
- 
-   discard_cleanups (old_chain);
- 
--  /* Record the actual number of expression elements, and then
--     reallocate the expression memory so that we free up any
--     excess elements.  */
--
--  expout->nelts = expout_ptr;
--  expout = (struct expression *)
--    xrealloc ((char *) expout,
--	      sizeof (struct expression) + EXP_ELEM_TO_BYTES (expout_ptr));
-+  reallocate_expout ();
- 
-   /* Convert expression from postfix form as generated by yacc
-      parser, to a prefix form.  */
-@@ -1502,6 +1513,7 @@ parser_fprintf (FILE *x, const char *y, ...)
+@@ -1529,6 +1527,7 @@ parser_fprintf (FILE *x, const char *y, ...)
  
  int
  operator_check_standard (struct expression *exp, int pos,
@@ -6762,7 +6718,7 @@ index 7d157fe..6ddaf86 100644
  			 int (*objfile_func) (struct objfile *objfile,
  					      void *data),
  			 void *data)
-@@ -1543,7 +1555,7 @@ operator_check_standard (struct expression *exp, int pos,
+@@ -1570,7 +1569,7 @@ operator_check_standard (struct expression *exp, int pos,
  	    struct type *type = elts[pos + 2 + arg].type;
  	    struct objfile *objfile = TYPE_OBJFILE (type);
  
@@ -6771,7 +6727,7 @@ index 7d157fe..6ddaf86 100644
  	      return 1;
  	  }
        }
-@@ -1561,7 +1573,8 @@ operator_check_standard (struct expression *exp, int pos,
+@@ -1588,7 +1587,8 @@ operator_check_standard (struct expression *exp, int pos,
  
  	/* Check objfile where the variable itself is placed.
  	   SYMBOL_OBJ_SECTION (symbol) may be NULL.  */
@@ -6781,7 +6737,7 @@ index 7d157fe..6ddaf86 100644
  	  return 1;
  
  	/* Check objfile where is placed the code touching the variable.  */
-@@ -1574,24 +1587,27 @@ operator_check_standard (struct expression *exp, int pos,
+@@ -1601,24 +1601,27 @@ operator_check_standard (struct expression *exp, int pos,
  
    /* Invoke callbacks for TYPE and OBJFILE if they were set as non-NULL.  */
  
@@ -6817,7 +6773,7 @@ index 7d157fe..6ddaf86 100644
  	     int (*objfile_func) (struct objfile *objfile, void *data),
  	     void *data)
  {
-@@ -1606,7 +1622,9 @@ exp_iterate (struct expression *exp,
+@@ -1633,7 +1636,9 @@ exp_iterate (struct expression *exp,
  
        pos = endpos - oplen;
        if (exp->language_defn->la_exp_desc->operator_check (exp, pos,
@@ -6828,7 +6784,7 @@ index 7d157fe..6ddaf86 100644
  	return 1;
  
        endpos = pos;
-@@ -1637,8 +1655,29 @@ exp_uses_objfile (struct expression *exp, struct objfile *objfile)
+@@ -1664,8 +1669,29 @@ exp_uses_objfile (struct expression *exp, struct objfile *objfile)
  {
    gdb_assert (objfile->separate_debug_objfile_backlink == NULL);
  
@@ -6860,10 +6816,10 @@ index 7d157fe..6ddaf86 100644
  void
  _initialize_parse (void)
 diff --git a/gdb/parser-defs.h b/gdb/parser-defs.h
-index bca8014..ecc436e 100644
+index 16b40ac..c3813ff 100644
 --- a/gdb/parser-defs.h
 +++ b/gdb/parser-defs.h
-@@ -131,6 +131,24 @@ union type_stack_elt
+@@ -130,6 +130,24 @@ union type_stack_elt
  extern union type_stack_elt *type_stack;
  extern int type_stack_depth, type_stack_size;
  
@@ -6888,7 +6844,7 @@ index bca8014..ecc436e 100644
  extern void write_exp_elt_opcode (enum exp_opcode);
  
  extern void write_exp_elt_sym (struct symbol *);
-@@ -192,6 +210,8 @@ extern void operator_length_standard (const struct expression *, int, int *,
+@@ -191,6 +209,8 @@ extern void operator_length_standard (const struct expression *, int, int *,
  				      int *);
  
  extern int operator_check_standard (struct expression *exp, int pos,
@@ -6897,7 +6853,7 @@ index bca8014..ecc436e 100644
  				    int (*objfile_func)
  				      (struct objfile *objfile, void *data),
  				    void *data);
-@@ -289,6 +309,7 @@ struct exp_descriptor
+@@ -277,6 +297,7 @@ struct exp_descriptor
         value should be immediately returned to the caller.  Otherwise zero
         should be returned.  */
      int (*operator_check) (struct expression *exp, int pos,
@@ -6905,7 +6861,7 @@ index bca8014..ecc436e 100644
  			   int (*objfile_func) (struct objfile *objfile,
  						void *data),
  			   void *data);
-@@ -327,4 +348,10 @@ extern void parser_fprintf (FILE *, const char *, ...) ATTRIBUTE_PRINTF (2, 3);
+@@ -315,4 +336,10 @@ extern void parser_fprintf (FILE *, const char *, ...) ATTRIBUTE_PRINTF (2, 3);
  
  extern int exp_uses_objfile (struct expression *exp, struct objfile *objfile);
  
@@ -6917,10 +6873,10 @@ index bca8014..ecc436e 100644
 +
  #endif /* PARSER_DEFS_H */
 diff --git a/gdb/ppc-linux-nat.c b/gdb/ppc-linux-nat.c
-index cc29ad8..94900c9 100644
+index af80919..3077c4b 100644
 --- a/gdb/ppc-linux-nat.c
 +++ b/gdb/ppc-linux-nat.c
-@@ -1469,14 +1469,13 @@ ppc_linux_can_use_hw_breakpoint (int type, int cnt, int ot)
+@@ -1468,14 +1468,13 @@ ppc_linux_can_use_hw_breakpoint (int type, int cnt, int ot)
    if (!have_ptrace_booke_interface ())
      {
        int tid;
@@ -6937,7 +6893,7 @@ index cc29ad8..94900c9 100644
  
        if (ptrace (PTRACE_SET_DEBUGREG, tid, 0, 0) == -1)
  	return 0;
-@@ -1567,8 +1566,9 @@ booke_find_thread_points_by_tid (int tid, int alloc_new)
+@@ -1566,8 +1565,9 @@ booke_find_thread_points_by_tid (int tid, int alloc_new)
  /* This function is a generic wrapper that is responsible for inserting a
     *point (i.e., calling `ptrace' in order to issue the request to the
     kernel) and registering it internally in GDB.  */
@@ -6948,7 +6904,7 @@ index cc29ad8..94900c9 100644
  {
    int i;
    long slot;
-@@ -1581,12 +1581,12 @@ booke_insert_point (struct ppc_hw_breakpoint *b, int tid)
+@@ -1580,12 +1580,12 @@ booke_insert_point (struct ppc_hw_breakpoint *b, int tid)
    memcpy (p, b, sizeof (struct ppc_hw_breakpoint));
  
    errno = 0;
@@ -6963,7 +6919,7 @@ index cc29ad8..94900c9 100644
    gdb_assert (t != NULL);
    hw_breaks = t->hw_breaks;
  
-@@ -1604,17 +1604,33 @@ booke_insert_point (struct ppc_hw_breakpoint *b, int tid)
+@@ -1603,17 +1603,33 @@ booke_insert_point (struct ppc_hw_breakpoint *b, int tid)
    discard_cleanups (c);
  }
  
@@ -7003,7 +6959,7 @@ index cc29ad8..94900c9 100644
    gdb_assert (t != NULL);
    hw_breaks = t->hw_breaks;
  
-@@ -1628,13 +1644,17 @@ booke_remove_point (struct ppc_hw_breakpoint *b, int tid)
+@@ -1627,13 +1643,17 @@ booke_remove_point (struct ppc_hw_breakpoint *b, int tid)
       breakpoints/watchpoints as "one-shot", that is, they are automatically
       deleted when hit.  */
    errno = 0;
@@ -7022,7 +6978,7 @@ index cc29ad8..94900c9 100644
  }
  
  /* Return the number of registers needed for a ranged breakpoint.  */
-@@ -1654,7 +1674,6 @@ static int
+@@ -1653,7 +1673,6 @@ static int
  ppc_linux_insert_hw_breakpoint (struct gdbarch *gdbarch,
  				  struct bp_target_info *bp_tgt)
  {
@@ -7030,7 +6986,7 @@ index cc29ad8..94900c9 100644
    struct ppc_hw_breakpoint p;
  
    if (!have_ptrace_booke_interface ())
-@@ -1680,8 +1699,7 @@ ppc_linux_insert_hw_breakpoint (struct gdbarch *gdbarch,
+@@ -1679,8 +1698,7 @@ ppc_linux_insert_hw_breakpoint (struct gdbarch *gdbarch,
        p.addr2 = 0;
      }
  
@@ -7040,7 +6996,7 @@ index cc29ad8..94900c9 100644
  
    return 0;
  }
-@@ -1690,7 +1708,6 @@ static int
+@@ -1689,7 +1707,6 @@ static int
  ppc_linux_remove_hw_breakpoint (struct gdbarch *gdbarch,
  				  struct bp_target_info *bp_tgt)
  {
@@ -7048,7 +7004,7 @@ index cc29ad8..94900c9 100644
    struct ppc_hw_breakpoint p;
  
    if (!have_ptrace_booke_interface ())
-@@ -1716,8 +1733,7 @@ ppc_linux_remove_hw_breakpoint (struct gdbarch *gdbarch,
+@@ -1715,8 +1732,7 @@ ppc_linux_remove_hw_breakpoint (struct gdbarch *gdbarch,
        p.addr2 = 0;
      }
  
@@ -7058,7 +7014,7 @@ index cc29ad8..94900c9 100644
  
    return 0;
  }
-@@ -1746,7 +1762,6 @@ static int
+@@ -1745,7 +1761,6 @@ static int
  ppc_linux_insert_mask_watchpoint (struct target_ops *ops, CORE_ADDR addr,
  				  CORE_ADDR mask, int rw)
  {
@@ -7066,7 +7022,7 @@ index cc29ad8..94900c9 100644
    struct ppc_hw_breakpoint p;
  
    gdb_assert (have_ptrace_booke_interface ());
-@@ -1759,8 +1774,7 @@ ppc_linux_insert_mask_watchpoint (struct target_ops *ops, CORE_ADDR addr,
+@@ -1758,8 +1773,7 @@ ppc_linux_insert_mask_watchpoint (struct target_ops *ops, CORE_ADDR addr,
    p.addr2 = mask;
    p.condition_value = 0;
  
@@ -7076,7 +7032,7 @@ index cc29ad8..94900c9 100644
  
    return 0;
  }
-@@ -1774,7 +1788,6 @@ static int
+@@ -1773,7 +1787,6 @@ static int
  ppc_linux_remove_mask_watchpoint (struct target_ops *ops, CORE_ADDR addr,
  				  CORE_ADDR mask, int rw)
  {
@@ -7084,7 +7040,7 @@ index cc29ad8..94900c9 100644
    struct ppc_hw_breakpoint p;
  
    gdb_assert (have_ptrace_booke_interface ());
-@@ -1787,8 +1800,7 @@ ppc_linux_remove_mask_watchpoint (struct target_ops *ops, CORE_ADDR addr,
+@@ -1786,8 +1799,7 @@ ppc_linux_remove_mask_watchpoint (struct target_ops *ops, CORE_ADDR addr,
    p.addr2 = mask;
    p.condition_value = 0;
  
@@ -7094,7 +7050,7 @@ index cc29ad8..94900c9 100644
  
    return 0;
  }
-@@ -1798,10 +1810,16 @@ static int
+@@ -1797,10 +1809,16 @@ static int
  can_use_watchpoint_cond_accel (void)
  {
    struct thread_points *p;
@@ -7112,7 +7068,7 @@ index cc29ad8..94900c9 100644
    if (!have_ptrace_booke_interface () || cnt == 0)
      return 0;
  
-@@ -2000,6 +2018,22 @@ ppc_linux_can_accel_watchpoint_condition (CORE_ADDR addr, int len, int rw,
+@@ -1999,6 +2017,22 @@ ppc_linux_can_accel_watchpoint_condition (CORE_ADDR addr, int len, int rw,
  	  && check_condition (addr, cond, &data_value, &len));
  }
  
@@ -7135,7 +7091,7 @@ index cc29ad8..94900c9 100644
  /* Set up P with the parameters necessary to request a watchpoint covering
     LEN bytes starting at ADDR and if possible with condition expression COND
     evaluated by hardware.  INSERT tells if we are creating a request for
-@@ -2055,7 +2089,6 @@ static int
+@@ -2054,7 +2088,6 @@ static int
  ppc_linux_insert_watchpoint (CORE_ADDR addr, int len, int rw,
  			     struct expression *cond)
  {
@@ -7143,7 +7099,7 @@ index cc29ad8..94900c9 100644
    int ret = -1;
  
    if (have_ptrace_booke_interface ())
-@@ -2064,8 +2097,7 @@ ppc_linux_insert_watchpoint (CORE_ADDR addr, int len, int rw,
+@@ -2063,8 +2096,7 @@ ppc_linux_insert_watchpoint (CORE_ADDR addr, int len, int rw,
  
        create_watchpoint_request (&p, addr, len, rw, cond, 1);
  
@@ -7153,7 +7109,7 @@ index cc29ad8..94900c9 100644
  
        ret = 0;
      }
-@@ -2108,12 +2140,8 @@ ppc_linux_insert_watchpoint (CORE_ADDR addr, int len, int rw,
+@@ -2107,12 +2139,8 @@ ppc_linux_insert_watchpoint (CORE_ADDR addr, int len, int rw,
  
        saved_dabr_value = dabr_value;
  
@@ -7167,7 +7123,7 @@ index cc29ad8..94900c9 100644
      }
  
    return ret;
-@@ -2123,7 +2151,6 @@ static int
+@@ -2122,7 +2150,6 @@ static int
  ppc_linux_remove_watchpoint (CORE_ADDR addr, int len, int rw,
  			     struct expression *cond)
  {
@@ -7175,7 +7131,7 @@ index cc29ad8..94900c9 100644
    int ret = -1;
  
    if (have_ptrace_booke_interface ())
-@@ -2132,20 +2159,16 @@ ppc_linux_remove_watchpoint (CORE_ADDR addr, int len, int rw,
+@@ -2131,20 +2158,16 @@ ppc_linux_remove_watchpoint (CORE_ADDR addr, int len, int rw,
  
        create_watchpoint_request (&p, addr, len, rw, cond, 0);
  
@@ -7198,7 +7154,7 @@ index cc29ad8..94900c9 100644
      }
  
    return ret;
-@@ -2172,7 +2195,7 @@ ppc_linux_new_thread (struct lwp_info *lp)
+@@ -2171,7 +2194,7 @@ ppc_linux_new_thread (struct lwp_info *lp)
        /* Copy that thread's breakpoints and watchpoints to the new thread.  */
        for (i = 0; i < max_slots_number; i++)
  	if (hw_breaks[i].hw_break)
@@ -7207,7 +7163,7 @@ index cc29ad8..94900c9 100644
      }
    else
      ptrace (PTRACE_SET_DEBUGREG, tid, 0, saved_dabr_value);
-@@ -2230,7 +2253,14 @@ ppc_linux_stopped_data_address (struct target_ops *target, CORE_ADDR *addr_p)
+@@ -2229,7 +2252,14 @@ ppc_linux_stopped_data_address (struct target_ops *target, CORE_ADDR *addr_p)
        /* The index (or slot) of the *point is passed in the si_errno field.  */
        int slot = siginfo_p->si_errno;
  
@@ -7224,10 +7180,10 @@ index cc29ad8..94900c9 100644
        /* Find out if this *point is a hardware breakpoint.
  	 If so, we should return 0.  */
 diff --git a/gdb/ppc-linux-tdep.c b/gdb/ppc-linux-tdep.c
-index 07dd990..1e8e6d6 100644
+index b6470fe..f871309 100644
 --- a/gdb/ppc-linux-tdep.c
 +++ b/gdb/ppc-linux-tdep.c
-@@ -66,6 +66,14 @@
+@@ -65,6 +65,14 @@
  #include "features/rs6000/powerpc-isa205-vsx64l.c"
  #include "features/rs6000/powerpc-e500l.c"
  
@@ -7242,7 +7198,7 @@ index 07dd990..1e8e6d6 100644
  /* The syscall's XML filename for PPC and PPC64.  */
  #define XML_SYSCALL_FILENAME_PPC "syscalls/ppc-linux.xml"
  #define XML_SYSCALL_FILENAME_PPC64 "syscalls/ppc64-linux.xml"
-@@ -1193,6 +1201,65 @@ ppc_linux_core_read_description (struct gdbarch *gdbarch,
+@@ -1192,6 +1200,65 @@ ppc_linux_core_read_description (struct gdbarch *gdbarch,
      }
  }
  
@@ -7308,7 +7264,7 @@ index 07dd990..1e8e6d6 100644
  
  /* Cell/B.E. active SPE context tracking support.  */
  
-@@ -1510,6 +1577,15 @@ ppc_linux_init_abi (struct gdbarch_info info,
+@@ -1509,6 +1576,15 @@ ppc_linux_init_abi (struct gdbarch_info info,
    /* Get the syscall number from the arch's register.  */
    set_gdbarch_get_syscall_number (gdbarch, ppc_linux_get_syscall_number);
  
@@ -7325,10 +7281,10 @@ index 07dd990..1e8e6d6 100644
      {
        /* Until November 2001, gcc did not comply with the 32 bit SysV
 diff --git a/gdb/printcmd.c b/gdb/printcmd.c
-index 5a522f4..36b932d 100644
+index bee8a85..00f332d 100644
 --- a/gdb/printcmd.c
 +++ b/gdb/printcmd.c
-@@ -51,6 +51,7 @@
+@@ -49,6 +49,7 @@
  #include "charset.h"
  #include "arch-utils.h"
  #include "cli/cli-utils.h"
@@ -7336,7 +7292,7 @@ index 5a522f4..36b932d 100644
  
  #ifdef TUI
  #include "tui/tui.h"		/* For tui_active et al.   */
-@@ -973,6 +974,11 @@ print_command_1 (char *exp, int inspect, int voidprint)
+@@ -971,6 +972,11 @@ print_command_1 (char *exp, int inspect, int voidprint)
    else
      val = access_value_history (0);
  
@@ -7348,7 +7304,7 @@ index 5a522f4..36b932d 100644
    if (voidprint || (val && value_type (val) &&
  		    TYPE_CODE (value_type (val)) != TYPE_CODE_VOID))
      {
-@@ -1061,6 +1067,9 @@ output_command (char *exp, int from_tty)
+@@ -1059,6 +1065,9 @@ output_command (char *exp, int from_tty)
  
    val = evaluate_expression (expr);
  
@@ -7358,7 +7314,7 @@ index 5a522f4..36b932d 100644
    annotate_value_begin (value_type (val));
  
    get_formatted_print_options (&opts, format);
-@@ -1474,6 +1483,24 @@ x_command (char *exp, int from_tty)
+@@ -1472,6 +1481,24 @@ x_command (char *exp, int from_tty)
  	set_internalvar (lookup_internalvar ("__"), last_examine_value);
      }
  }
@@ -7383,7 +7339,7 @@ index 5a522f4..36b932d 100644
  
  
  /* Add an expression to the auto-display chain.
-@@ -1973,6 +2000,10 @@ print_variable_and_value (const char *name, struct symbol *var,
+@@ -1971,6 +1998,10 @@ print_variable_and_value (const char *name, struct symbol *var,
        struct value_print_options opts;
  
        val = read_var_value (var, frame);
@@ -7394,7 +7350,7 @@ index 5a522f4..36b932d 100644
        get_user_print_options (&opts);
        opts.deref_ref = 1;
        common_val_print (val, stream, indent, &opts, current_language);
-@@ -2886,4 +2917,8 @@ Show printing of source filename and line number with <symbol>."), NULL,
+@@ -2884,4 +2915,8 @@ Show printing of source filename and line number with <symbol>."), NULL,
    add_com ("eval", no_class, eval_command, _("\
  Convert \"printf format string\", arg1, arg2, arg3, ..., argn to\n\
  a command line, and call it."));
@@ -8167,7 +8123,7 @@ index 0000000..debb3bb
 +
 +InScope ()
 diff --git a/gdb/python/py-type.c b/gdb/python/py-type.c
-index 50f9b72..754d451 100644
+index dadb037..864da99 100644
 --- a/gdb/python/py-type.c
 +++ b/gdb/python/py-type.c
 @@ -30,6 +30,8 @@
@@ -8364,7 +8320,7 @@ index 50f9b72..754d451 100644
  
  
 diff --git a/gdb/python/py-value.c b/gdb/python/py-value.c
-index 04e355a..a7d592a 100644
+index 760360e..d935f54 100644
 --- a/gdb/python/py-value.c
 +++ b/gdb/python/py-value.c
 @@ -28,6 +28,7 @@
@@ -8375,7 +8331,7 @@ index 04e355a..a7d592a 100644
  
  #ifdef HAVE_PYTHON
  
-@@ -1281,6 +1282,19 @@ gdbpy_is_value_object (PyObject *obj)
+@@ -1335,6 +1336,19 @@ gdbpy_is_value_object (PyObject *obj)
    return PyObject_TypeCheck (obj, &value_object_type);
  }
  
@@ -8395,7 +8351,7 @@ index 04e355a..a7d592a 100644
  void
  gdbpy_initialize_values (void)
  {
-@@ -1291,6 +1305,10 @@ gdbpy_initialize_values (void)
+@@ -1345,6 +1359,10 @@ gdbpy_initialize_values (void)
    PyModule_AddObject (gdb_module, "Value", (PyObject *) &value_object_type);
  
    values_in_python = NULL;
@@ -8407,7 +8363,7 @@ index 04e355a..a7d592a 100644
  
  
 diff --git a/gdb/python/python.c b/gdb/python/python.c
-index 13ac15e..0db41ee 100644
+index 5a0d776..af01dfd 100644
 --- a/gdb/python/python.c
 +++ b/gdb/python/python.c
 @@ -66,10 +66,13 @@ static const char *gdbpy_should_print_stack = python_excp_message;
@@ -8478,7 +8434,7 @@ index 13ac15e..0db41ee 100644
  
  static PyObject *
  gdbpy_get_current_progspace (PyObject *unused1, PyObject *unused2)
-@@ -1383,6 +1433,8 @@ static PyMethodDef GdbMethods[] =
+@@ -1386,6 +1436,8 @@ static PyMethodDef GdbMethods[] =
      "Get a value from history" },
    { "execute", (PyCFunction) execute_gdb_command, METH_VARARGS | METH_KEYWORDS,
      "Execute a gdb command" },
@@ -8488,7 +8444,7 @@ index 13ac15e..0db41ee 100644
      "Return a gdb parameter's value" },
  
 diff --git a/gdb/python/python.h b/gdb/python/python.h
-index ae55cc2..8808866 100644
+index 9e461f7..57b21da 100644
 --- a/gdb/python/python.h
 +++ b/gdb/python/python.h
 @@ -32,6 +32,8 @@ void eval_python_from_control_command (struct command_line *);
@@ -8501,10 +8457,10 @@ index ae55cc2..8808866 100644
  			      int embedded_offset, CORE_ADDR address,
  			      struct ui_file *stream, int recurse,
 diff --git a/gdb/remote.c b/gdb/remote.c
-index 9bfebd2..44aeaae 100644
+index f348536..e20f6bf 100644
 --- a/gdb/remote.c
 +++ b/gdb/remote.c
-@@ -9886,7 +9886,7 @@ remote_download_tracepoint (struct bp_location *loc)
+@@ -9948,7 +9948,7 @@ remote_download_tracepoint (struct bp_location *loc)
    char **stepping_actions;
    int ndx;
    struct cleanup *old_chain = NULL;
@@ -8514,7 +8470,7 @@ index 9bfebd2..44aeaae 100644
    char *pkt;
    struct breakpoint *b = loc->owner;
 diff --git a/gdb/s390-nat.c b/gdb/s390-nat.c
-index 6381675..0c2ea24 100644
+index 2755e58..8df3fd1 100644
 --- a/gdb/s390-nat.c
 +++ b/gdb/s390-nat.c
 @@ -515,6 +515,17 @@ s390_fix_watch_points (struct lwp_info *lp)
@@ -8558,10 +8514,10 @@ index 6381675..0c2ea24 100644
  }
  
 diff --git a/gdb/s390-tdep.c b/gdb/s390-tdep.c
-index cd0ef9c..8583051 100644
+index ac0c526..dd0e477 100644
 --- a/gdb/s390-tdep.c
 +++ b/gdb/s390-tdep.c
-@@ -56,6 +56,12 @@
+@@ -55,6 +55,12 @@
  #include "features/s390x-linux64v1.c"
  #include "features/s390x-linux64v2.c"
  
@@ -8574,7 +8530,7 @@ index cd0ef9c..8583051 100644
  
  /* The tdep structure.  */
  
-@@ -2954,6 +2960,15 @@ s390_address_class_name_to_type_flags (struct gdbarch *gdbarch,
+@@ -2953,6 +2959,15 @@ s390_address_class_name_to_type_flags (struct gdbarch *gdbarch,
      return 0;
  }
  
@@ -8590,7 +8546,7 @@ index cd0ef9c..8583051 100644
  /* Set up gdbarch struct.  */
  
  static struct gdbarch *
-@@ -3284,6 +3299,12 @@ s390_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
+@@ -3283,6 +3298,12 @@ s390_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
  
    set_gdbarch_get_siginfo_type (gdbarch, linux_get_siginfo_type);
  
@@ -8604,7 +8560,7 @@ index cd0ef9c..8583051 100644
  }
  
 diff --git a/gdb/somread.c b/gdb/somread.c
-index 70fc3a3..e5c8c9f 100644
+index e621cba..19a15e2 100644
 --- a/gdb/somread.c
 +++ b/gdb/somread.c
 @@ -427,6 +427,7 @@ static const struct sym_fns som_sym_fns =
@@ -8616,10 +8572,10 @@ index 70fc3a3..e5c8c9f 100644
  };
  
 diff --git a/gdb/stack.c b/gdb/stack.c
-index c5c54db..9fc3b74 100644
+index b15b5fc..b2dad29 100644
 --- a/gdb/stack.c
 +++ b/gdb/stack.c
-@@ -511,6 +511,10 @@ print_frame_args (struct symbol *func, struct frame_info *frame,
+@@ -509,6 +509,10 @@ print_frame_args (struct symbol *func, struct frame_info *frame,
    stb = ui_out_stream_new (uiout);
    old_chain = make_cleanup_ui_out_stream_delete (stb);
  
@@ -10459,10 +10415,10 @@ index 0000000..9b6dc7a
 +
 +#endif /* !defined (STAP_PROBE_H) */
 diff --git a/gdb/symfile.h b/gdb/symfile.h
-index 91605a2..c5b4906 100644
+index 6b664cd..6ca797d 100644
 --- a/gdb/symfile.h
 +++ b/gdb/symfile.h
-@@ -31,6 +31,11 @@ struct objfile;
+@@ -29,6 +29,11 @@ struct objfile;
  struct obj_section;
  struct obstack;
  struct block;
@@ -10474,7 +10430,7 @@ index 91605a2..c5b4906 100644
  
  /* Comparison function for symbol look ups.  */
  
-@@ -301,6 +306,52 @@ struct quick_symbol_functions
+@@ -299,6 +304,52 @@ struct quick_symbol_functions
  				int need_fullname);
  };
  
@@ -10527,7 +10483,7 @@ index 91605a2..c5b4906 100644
  /* Structure to keep track of symbol reading functions for various
     object file types.  */
  
-@@ -371,6 +422,10 @@ struct sym_fns
+@@ -369,6 +420,10 @@ struct sym_fns
  
    bfd_byte *(*sym_relocate) (struct objfile *, asection *sectp, bfd_byte *buf);
  
@@ -10539,10 +10495,10 @@ index 91605a2..c5b4906 100644
       reader.  */
    const struct quick_symbol_functions *qf;
 diff --git a/gdb/symtab.c b/gdb/symtab.c
-index 1ea4253..ea83f78 100644
+index 1746d69..2abc17f 100644
 --- a/gdb/symtab.c
 +++ b/gdb/symtab.c
-@@ -834,6 +834,7 @@ init_sal (struct symtab_and_line *sal)
+@@ -869,6 +869,7 @@ init_sal (struct symtab_and_line *sal)
    sal->end = 0;
    sal->explicit_pc = 0;
    sal->explicit_line = 0;
@@ -10551,10 +10507,10 @@ index 1ea4253..ea83f78 100644
  
  
 diff --git a/gdb/symtab.h b/gdb/symtab.h
-index bbc7f2b..8e41539 100644
+index 4836dd6..668a22b 100644
 --- a/gdb/symtab.h
 +++ b/gdb/symtab.h
-@@ -1057,6 +1057,10 @@ struct symtab_and_line
+@@ -1056,6 +1056,10 @@ struct symtab_and_line
    CORE_ADDR end;
    int explicit_pc;
    int explicit_line;
@@ -10566,10 +10522,10 @@ index bbc7f2b..8e41539 100644
  
  extern void init_sal (struct symtab_and_line *sal);
 diff --git a/gdb/testsuite/gdb.ada/packed_array.exp b/gdb/testsuite/gdb.ada/packed_array.exp
-index ef7c8b4..d467265 100644
+index 678639c..47a2202 100644
 --- a/gdb/testsuite/gdb.ada/packed_array.exp
 +++ b/gdb/testsuite/gdb.ada/packed_array.exp
-@@ -64,5 +64,11 @@ gdb_test_multiple "$test" "$test" {
+@@ -60,5 +60,11 @@ gdb_test_multiple "$test" "$test" {
          # are.  Observed with (FSF GNU Ada 4.5.3 20110124).
          xfail $test
      }
@@ -11746,7 +11702,7 @@ index 0000000..b05411e
 +
 +gdb_test "ptype array" "type = char \\\[78\\\]" "second: ptype array"
 diff --git a/gdb/testsuite/gdb.base/arrayidx.c b/gdb/testsuite/gdb.base/arrayidx.c
-index 6c158bf..739ce34 100644
+index a99137e..c3dc2d9 100644
 --- a/gdb/testsuite/gdb.base/arrayidx.c
 +++ b/gdb/testsuite/gdb.base/arrayidx.c
 @@ -17,6 +17,13 @@
@@ -11764,10 +11720,10 @@ index 6c158bf..739ce34 100644
  main (void)
  {
 diff --git a/gdb/testsuite/gdb.base/arrayidx.exp b/gdb/testsuite/gdb.base/arrayidx.exp
-index d8ee5c0..de4ba75 100644
+index cba0024..0dc0e46 100644
 --- a/gdb/testsuite/gdb.base/arrayidx.exp
 +++ b/gdb/testsuite/gdb.base/arrayidx.exp
-@@ -57,4 +57,12 @@ gdb_test "print array" \
+@@ -53,4 +53,12 @@ gdb_test "print array" \
           "\\{\\\[0\\\] = 1, \\\[1\\\] = 2, \\\[2\\\] = 3, \\\[3\\\] = 4\\}" \
           "Print array with array-indexes on"
  
@@ -11782,10 +11738,10 @@ index d8ee5c0..de4ba75 100644
 +    }
 +}
 diff --git a/gdb/testsuite/gdb.base/default.exp b/gdb/testsuite/gdb.base/default.exp
-index e23ac21..f99221f 100644
+index 9677396..55d03a9 100644
 --- a/gdb/testsuite/gdb.base/default.exp
 +++ b/gdb/testsuite/gdb.base/default.exp
-@@ -611,6 +611,19 @@ gdb_test_list_exact "show convenience" "show convenience" \
+@@ -610,6 +610,19 @@ gdb_test_list_exact "show convenience" "show convenience" \
  	{$_sdata = void} \
  	{$_siginfo = void} \
  	{$_thread = 0} \
@@ -12532,10 +12488,10 @@ index 0000000..5da7378
 +gdb_test "p temp2" " = '2' <repeats 78 times>" "second: print temp2"
 +gdb_test "p temp3" " = '3' <repeats 48 times>" "second: print temp3"
 diff --git a/gdb/testsuite/gdb.cp/nextoverthrow.exp b/gdb/testsuite/gdb.cp/nextoverthrow.exp
-index cc9fe86..2f16af1 100644
+index 7d4a0c5..2dafcab 100644
 --- a/gdb/testsuite/gdb.cp/nextoverthrow.exp
 +++ b/gdb/testsuite/gdb.cp/nextoverthrow.exp
-@@ -58,6 +58,17 @@ gdb_test_multiple "print _Unwind_DebugHook" "check for unwinder hook" {
+@@ -54,6 +54,17 @@ gdb_test_multiple "print _Unwind_DebugHook" "check for unwinder hook" {
      }
  }
  if {!$ok} {
@@ -13810,10 +13766,10 @@ index 0000000..4747ea9
 +  write (*,*) a                 ! break-static
 +end
 diff --git a/gdb/testsuite/gdb.gdb/selftest.exp b/gdb/testsuite/gdb.gdb/selftest.exp
-index 30a71dd..4bb8e7d 100644
+index 21798bc..111f692 100644
 --- a/gdb/testsuite/gdb.gdb/selftest.exp
 +++ b/gdb/testsuite/gdb.gdb/selftest.exp
-@@ -92,6 +92,10 @@ proc do_steps_and_nexts {} {
+@@ -88,6 +88,10 @@ proc do_steps_and_nexts {} {
  		set description "step over ttyarg initialization"
  		set command "step"
  	    }
@@ -14374,10 +14330,10 @@ index 0000000..295602d
 +  writeln(s); { set breakpoint 2 here }
 +end.
 diff --git a/gdb/testsuite/gdb.python/py-frame.exp b/gdb/testsuite/gdb.python/py-frame.exp
-index 1cb573e..3605ee5 100644
+index 83ff8fe..bddbf9f 100644
 --- a/gdb/testsuite/gdb.python/py-frame.exp
 +++ b/gdb/testsuite/gdb.python/py-frame.exp
-@@ -78,8 +78,6 @@ gdb_test "python print bframe == gdb.newest_frame()" True \
+@@ -74,8 +74,6 @@ gdb_test "python print bframe == gdb.newest_frame()" True \
  
  gdb_test "python print 'result =', f0 == f1" " = False" "test equality comparison (false)"
  gdb_test "python print 'result =', f0 == f0" " = True" "test equality comparison (true)"
@@ -14386,17 +14342,17 @@ index 1cb573e..3605ee5 100644
  gdb_test "python print 'result =', f0.is_valid ()" " = True" "test Frame.is_valid"
  gdb_test "python print 'result =', f0.name ()" " = f2" "test Frame.name"
  gdb_test "python print 'result =', f0.type () == gdb.NORMAL_FRAME" " = True" "test Frame.type"
-@@ -94,3 +92,5 @@ gdb_test "python print 'result =', f0.read_var ('variable_which_surely_doesnt_ex
+@@ -90,3 +88,5 @@ gdb_test "python print 'result =', f0.read_var ('variable_which_surely_doesnt_ex
  gdb_test "python print 'result =', f0.read_var ('a')" " = 1" "test Frame.read_var - success"
  
  gdb_test "python print 'result =', gdb.selected_frame () == f1" " = True" "test gdb.selected_frame"
 +
 +gdb_test "python print 'result =', f0.block ()" "<gdb.Block object at 0x\[\[:xdigit:\]\]+>" "test Frame.block"
 diff --git a/gdb/testsuite/gdb.python/py-value.exp b/gdb/testsuite/gdb.python/py-value.exp
-index 59d79ae..75b7d72 100644
+index c9d8c97..4324db0 100644
 --- a/gdb/testsuite/gdb.python/py-value.exp
 +++ b/gdb/testsuite/gdb.python/py-value.exp
-@@ -364,6 +364,15 @@ proc test_value_after_death {} {
+@@ -360,6 +360,15 @@ proc test_value_after_death {} {
      "print value's type"
  }
  
@@ -14412,7 +14368,7 @@ index 59d79ae..75b7d72 100644
  # Regression test for invalid subscript operations.  The bug was that
  # the type of the value was not being checked before allowing a
  # subscript operation to proceed.
-@@ -500,6 +509,7 @@ test_value_in_inferior
+@@ -496,6 +505,7 @@ test_value_in_inferior
  test_inferior_function_call
  test_lazy_strings
  test_value_after_death
@@ -15288,10 +15244,10 @@ index 0000000..b0f1d7d
 +# Finished!
 +gdb_test "tfind none" ".*" ""
 diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
-index fc7e223..3ea5ce0 100644
+index 00fe71c..5ca9563 100644
 --- a/gdb/testsuite/lib/gdb.exp
 +++ b/gdb/testsuite/lib/gdb.exp
-@@ -141,6 +141,11 @@ proc gdb_unload {} {
+@@ -139,6 +139,11 @@ proc gdb_unload {} {
  	    send_gdb "y\n"
  	    exp_continue
  	}
@@ -15304,7 +15260,7 @@ index fc7e223..3ea5ce0 100644
  	    send_gdb "y\n"
  	    exp_continue
 diff --git a/gdb/testsuite/lib/pascal.exp b/gdb/testsuite/lib/pascal.exp
-index 891da37..236c5ca 100644
+index dd18d37..f973485 100644
 --- a/gdb/testsuite/lib/pascal.exp
 +++ b/gdb/testsuite/lib/pascal.exp
 @@ -37,6 +37,9 @@ proc pascal_init {} {
@@ -15339,10 +15295,10 @@ index 891da37..236c5ca 100644
      set pascal_init_done 1
  }   
 diff --git a/gdb/thread.c b/gdb/thread.c
-index 8cca83d..54adf7e 100644
+index 9a29383..1a49b00 100644
 --- a/gdb/thread.c
 +++ b/gdb/thread.c
-@@ -1432,7 +1432,8 @@ update_thread_list (void)
+@@ -1431,7 +1431,8 @@ update_thread_list (void)
     no thread is selected, or no threads exist.  */
  
  static struct value *
@@ -15352,7 +15308,7 @@ index 8cca83d..54adf7e 100644
  {
    struct thread_info *tp = find_thread_ptid (inferior_ptid);
  
-@@ -1443,6 +1444,15 @@ thread_id_make_value (struct gdbarch *gdbarch, struct internalvar *var)
+@@ -1442,6 +1443,15 @@ thread_id_make_value (struct gdbarch *gdbarch, struct internalvar *var)
  /* Commands with a prefix of `thread'.  */
  struct cmd_list_element *thread_cmd_list = NULL;
  
@@ -15368,7 +15324,7 @@ index 8cca83d..54adf7e 100644
  void
  _initialize_thread (void)
  {
-@@ -1488,5 +1498,5 @@ Show printing of thread events (such as thread start and exit)."), NULL,
+@@ -1487,5 +1497,5 @@ Show printing of thread events (such as thread start and exit)."), NULL,
           show_print_thread_events,
           &setprintlist, &showprintlist);
  
@@ -15376,10 +15332,10 @@ index 8cca83d..54adf7e 100644
 +  create_internalvar_type_lazy ("_thread", &thread_funcs, NULL);
  }
 diff --git a/gdb/top.c b/gdb/top.c
-index c593769..a4b7b09 100644
+index c4e913d..5b79983 100644
 --- a/gdb/top.c
 +++ b/gdb/top.c
-@@ -351,6 +351,9 @@ prepare_execute_command (void)
+@@ -349,6 +349,9 @@ prepare_execute_command (void)
  
    mark = value_mark ();
    cleanup = make_cleanup_value_free_to_mark (mark);
@@ -15390,10 +15346,10 @@ index c593769..a4b7b09 100644
    /* With multiple threads running while the one we're examining is
       stopped, the dcache can get stale without us being able to detect
 diff --git a/gdb/tracepoint.c b/gdb/tracepoint.c
-index 79a64a3..dc74162 100644
+index ede3742..b20f733 100644
 --- a/gdb/tracepoint.c
 +++ b/gdb/tracepoint.c
-@@ -684,7 +684,7 @@ validate_actionline (char **line, struct breakpoint *b)
+@@ -683,7 +683,7 @@ validate_actionline (char **line, struct breakpoint *b)
    struct cleanup *old_chain = NULL;
    char *p, *tmp_p;
    struct bp_location *loc;
@@ -15402,7 +15358,7 @@ index 79a64a3..dc74162 100644
    struct tracepoint *t = (struct tracepoint *) b;
  
    /* If EOF is typed, *line is NULL.  */
-@@ -1353,7 +1353,7 @@ encode_actions_1 (struct command_line *action,
+@@ -1352,7 +1352,7 @@ encode_actions_1 (struct command_line *action,
    int i;
    struct value *tempval;
    struct cmd_list_element *cmd;
@@ -15411,7 +15367,7 @@ index 79a64a3..dc74162 100644
  
    for (; action; action = action->next)
      {
-@@ -1717,6 +1717,7 @@ start_tracing (char *notes)
+@@ -1716,6 +1716,7 @@ start_tracing (char *notes)
    for (ix = 0; VEC_iterate (breakpoint_p, tp_vec, ix, b); ix++)
      {
        struct tracepoint *t = (struct tracepoint *) b;
@@ -15419,7 +15375,7 @@ index 79a64a3..dc74162 100644
  
        if (b->enable_state == bp_enabled)
  	any_enabled = 1;
-@@ -1779,6 +1780,9 @@ start_tracing (char *notes)
+@@ -1778,6 +1779,9 @@ start_tracing (char *notes)
  	}
  
        t->number_on_target = b->number;
@@ -15429,7 +15385,7 @@ index 79a64a3..dc74162 100644
      }
    VEC_free (breakpoint_p, tp_vec);
  
-@@ -1851,9 +1855,28 @@ void
+@@ -1850,9 +1854,28 @@ void
  stop_tracing (char *note)
  {
    int ret;
@@ -15458,7 +15414,7 @@ index 79a64a3..dc74162 100644
    if (!note)
      note = trace_stop_notes;
    ret = target_set_trace_notes (NULL, NULL, note);
-@@ -4925,7 +4948,8 @@ info_static_tracepoint_markers_command (char *arg, int from_tty)
+@@ -4924,7 +4947,8 @@ info_static_tracepoint_markers_command (char *arg, int from_tty)
     available.  */
  
  static struct value *
@@ -15468,7 +15424,7 @@ index 79a64a3..dc74162 100644
  {
    LONGEST size;
    gdb_byte *buf;
-@@ -5104,6 +5128,15 @@ traceframe_available_memory (VEC(mem_range_s) **result,
+@@ -5103,6 +5127,15 @@ traceframe_available_memory (VEC(mem_range_s) **result,
    return 0;
  }
  
@@ -15484,7 +15440,7 @@ index 79a64a3..dc74162 100644
  /* module initialization */
  void
  _initialize_tracepoint (void)
-@@ -5114,7 +5147,7 @@ _initialize_tracepoint (void)
+@@ -5113,7 +5146,7 @@ _initialize_tracepoint (void)
       value with a void typed value, and when we get here, gdbarch
       isn't initialized yet.  At this point, we're quite sure there
       isn't another convenience variable of the same name.  */
@@ -15494,10 +15450,10 @@ index 79a64a3..dc74162 100644
    traceframe_number = -1;
    tracepoint_number = -1;
 diff --git a/gdb/typeprint.c b/gdb/typeprint.c
-index cf4158d..f157962 100644
+index de96fd5..75485ff 100644
 --- a/gdb/typeprint.c
 +++ b/gdb/typeprint.c
-@@ -36,6 +36,7 @@
+@@ -35,6 +35,7 @@
  #include "gdb_string.h"
  #include "exceptions.h"
  #include "valprint.h"
@@ -15505,7 +15461,7 @@ index cf4158d..f157962 100644
  #include <errno.h>
  
  extern void _initialize_typeprint (void);
-@@ -77,6 +78,9 @@ void
+@@ -76,6 +77,9 @@ void
  type_print (struct type *type, char *varstring, struct ui_file *stream,
  	    int show)
  {
@@ -15515,7 +15471,7 @@ index cf4158d..f157962 100644
    LA_PRINT_TYPE (type, varstring, stream, show, 0);
  }
  
-@@ -115,7 +119,8 @@ whatis_exp (char *exp, int show)
+@@ -114,7 +118,8 @@ whatis_exp (char *exp, int show)
  {
    struct expression *expr;
    struct value *val;
@@ -15525,7 +15481,7 @@ index cf4158d..f157962 100644
    struct type *real_type = NULL;
    struct type *type;
    int full = 0;
-@@ -126,12 +131,13 @@ whatis_exp (char *exp, int show)
+@@ -125,12 +130,13 @@ whatis_exp (char *exp, int show)
    if (exp)
      {
        expr = parse_expression (exp);
@@ -15540,7 +15496,7 @@ index cf4158d..f157962 100644
    type = value_type (val);
  
    get_user_print_options (&opts);
-@@ -168,8 +174,7 @@ whatis_exp (char *exp, int show)
+@@ -167,8 +173,7 @@ whatis_exp (char *exp, int show)
    type_print (type, "", gdb_stdout, show);
    printf_filtered ("\n");
  
@@ -15551,10 +15507,10 @@ index cf4158d..f157962 100644
  
  static void
 diff --git a/gdb/utils.c b/gdb/utils.c
-index d55e6f1..be7c72b 100644
+index 4863e41..c1fec82 100644
 --- a/gdb/utils.c
 +++ b/gdb/utils.c
-@@ -1906,6 +1906,36 @@ set_batch_flag_and_make_cleanup_restore_page_info (void)
+@@ -1904,6 +1904,36 @@ set_batch_flag_and_make_cleanup_restore_page_info (void)
    return back_to;
  }
  
@@ -15592,10 +15548,10 @@ index d55e6f1..be7c72b 100644
  
  static void
 diff --git a/gdb/valarith.c b/gdb/valarith.c
-index 3250cc7..22da067 100644
+index b8bcc6b..fb83c70 100644
 --- a/gdb/valarith.c
 +++ b/gdb/valarith.c
-@@ -198,7 +198,10 @@ value_subscripted_rvalue (struct value *array, LONGEST index, int lowerbound)
+@@ -197,7 +197,10 @@ value_subscripted_rvalue (struct value *array, LONGEST index, int lowerbound)
    struct type *array_type = check_typedef (value_type (array));
    struct type *elt_type = check_typedef (TYPE_TARGET_TYPE (array_type));
    unsigned int elt_size = TYPE_LENGTH (elt_type);
@@ -15607,7 +15563,7 @@ index 3250cc7..22da067 100644
    struct value *v;
  
    if (index < lowerbound || (!TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED (array_type)
-@@ -298,6 +301,10 @@ int
+@@ -297,6 +300,10 @@ int
  binop_user_defined_p (enum exp_opcode op,
  		      struct value *arg1, struct value *arg2)
  {
@@ -15619,10 +15575,10 @@ index 3250cc7..22da067 100644
  }
  
 diff --git a/gdb/valops.c b/gdb/valops.c
-index 29d1fbd..44cdd49 100644
+index 5453b1a..5a4a8fa 100644
 --- a/gdb/valops.c
 +++ b/gdb/valops.c
-@@ -47,6 +47,7 @@
+@@ -45,6 +45,7 @@
  #include "objfiles.h"
  #include "symtab.h"
  #include "exceptions.h"
@@ -15630,7 +15586,7 @@ index 29d1fbd..44cdd49 100644
  
  extern int overload_debug;
  /* Local functions.  */
-@@ -917,6 +918,65 @@ value_one (struct type *type)
+@@ -915,6 +916,65 @@ value_one (struct type *type)
    return val;
  }
  
@@ -15696,7 +15652,7 @@ index 29d1fbd..44cdd49 100644
  /* Helper function for value_at, value_at_lazy, and value_at_lazy_stack.  */
  
  static struct value *
-@@ -1013,12 +1073,20 @@ value_fetch_lazy (struct value *val)
+@@ -1011,12 +1071,20 @@ value_fetch_lazy (struct value *val)
      }
    else if (VALUE_LVAL (val) == lval_memory)
      {
@@ -15722,7 +15678,7 @@ index 29d1fbd..44cdd49 100644
      }
    else if (VALUE_LVAL (val) == lval_register)
      {
-@@ -1530,7 +1598,18 @@ address_of_variable (struct symbol *var, struct block *b)
+@@ -1528,7 +1596,18 @@ address_of_variable (struct symbol *var, struct block *b)
    if ((VALUE_LVAL (val) == lval_memory && value_lazy (val))
        || TYPE_CODE (type) == TYPE_CODE_FUNC)
      {
@@ -15742,7 +15698,7 @@ index 29d1fbd..44cdd49 100644
  
        return value_from_pointer (lookup_pointer_type (type), addr);
      }
-@@ -1637,6 +1716,7 @@ struct value *
+@@ -1635,6 +1714,7 @@ struct value *
  value_coerce_array (struct value *arg1)
  {
    struct type *type = check_typedef (value_type (arg1));
@@ -15750,7 +15706,7 @@ index 29d1fbd..44cdd49 100644
  
    /* If the user tries to do something requiring a pointer with an
       array that has not yet been pushed to the target, then this would
-@@ -1646,8 +1726,12 @@ value_coerce_array (struct value *arg1)
+@@ -1644,8 +1724,12 @@ value_coerce_array (struct value *arg1)
    if (VALUE_LVAL (arg1) != lval_memory)
      error (_("Attempt to take address of value not located in memory."));
  
@@ -15764,7 +15720,7 @@ index 29d1fbd..44cdd49 100644
  }
  
  /* Given a value which is a function, return a value which is a pointer
-@@ -3696,6 +3780,8 @@ value_slice (struct value *array, int lowbound, int length)
+@@ -3694,6 +3778,8 @@ value_slice (struct value *array, int lowbound, int length)
  					TYPE_TARGET_TYPE (range_type),
  					lowbound, 
  					lowbound + length - 1);
@@ -15774,10 +15730,10 @@ index 29d1fbd..44cdd49 100644
      {
        int i;
 diff --git a/gdb/valprint.c b/gdb/valprint.c
-index b4ac4ec..377905e 100644
+index 325cf40..70a98c2 100644
 --- a/gdb/valprint.c
 +++ b/gdb/valprint.c
-@@ -39,6 +39,7 @@
+@@ -37,6 +37,7 @@
  #include "gdb_obstack.h"
  #include "charset.h"
  #include <ctype.h>
@@ -15785,7 +15741,7 @@ index b4ac4ec..377905e 100644
  
  #include <errno.h>
  
-@@ -242,7 +243,6 @@ scalar_type_p (struct type *type)
+@@ -240,7 +241,6 @@ scalar_type_p (struct type *type)
      case TYPE_CODE_STRUCT:
      case TYPE_CODE_UNION:
      case TYPE_CODE_SET:
@@ -15793,7 +15749,7 @@ index b4ac4ec..377905e 100644
      case TYPE_CODE_BITSTRING:
        return 0;
      default:
-@@ -1200,6 +1200,7 @@ val_print_array_elements (struct type *type,
+@@ -1198,6 +1198,7 @@ val_print_array_elements (struct type *type,
  {
    unsigned int things_printed = 0;
    unsigned len;
@@ -15801,7 +15757,7 @@ index b4ac4ec..377905e 100644
    struct type *elttype, *index_type;
    unsigned eltlen;
    /* Position of the array element we are examining to see
-@@ -1208,9 +1209,33 @@ val_print_array_elements (struct type *type,
+@@ -1206,9 +1207,33 @@ val_print_array_elements (struct type *type,
    /* Number of repetitions we have detected so far.  */
    unsigned int reps;
    LONGEST low_bound, high_bound;
@@ -15837,7 +15793,7 @@ index b4ac4ec..377905e 100644
    index_type = TYPE_INDEX_TYPE (type);
  
    if (get_array_bounds (type, &low_bound, &high_bound))
-@@ -1297,6 +1322,8 @@ val_print_array_elements (struct type *type,
+@@ -1295,6 +1320,8 @@ val_print_array_elements (struct type *type,
      {
        fprintf_filtered (stream, "...");
      }
@@ -15847,10 +15803,10 @@ index b4ac4ec..377905e 100644
  
  /* Read LEN bytes of target memory at address MEMADDR, placing the
 diff --git a/gdb/value.c b/gdb/value.c
-index d02bc27..c83e1a8 100644
+index 583be33..cb73eda 100644
 --- a/gdb/value.c
 +++ b/gdb/value.c
-@@ -43,6 +43,7 @@
+@@ -41,6 +41,7 @@
  #include "python/python.h"
  #include <ctype.h>
  #include "tracepoint.h"
@@ -15858,7 +15814,7 @@ index d02bc27..c83e1a8 100644
  
  /* Prototypes for exported functions.  */
  
-@@ -1387,12 +1388,15 @@ void
+@@ -1385,12 +1386,15 @@ void
  set_value_component_location (struct value *component,
  			      const struct value *whole)
  {
@@ -15874,7 +15830,7 @@ index d02bc27..c83e1a8 100644
    if (whole->lval == lval_computed)
      {
        const struct lval_funcs *funcs = whole->location.computed.funcs;
-@@ -1400,6 +1404,12 @@ set_value_component_location (struct value *component,
+@@ -1398,6 +1402,12 @@ set_value_component_location (struct value *component,
        if (funcs->copy_closure)
          component->location.computed.closure = funcs->copy_closure (whole);
      }
@@ -15887,7 +15843,7 @@ index d02bc27..c83e1a8 100644
  }
  
  
-@@ -1533,6 +1543,31 @@ show_values (char *num_exp, int from_tty)
+@@ -1531,6 +1541,31 @@ show_values (char *num_exp, int from_tty)
        num_exp[1] = '\0';
      }
  }
@@ -15919,7 +15875,7 @@ index d02bc27..c83e1a8 100644
  
  /* Internal variables.  These are variables within the debugger
     that hold values assigned by debugger commands.
-@@ -1578,7 +1613,14 @@ struct internalvar
+@@ -1576,7 +1611,14 @@ struct internalvar
        struct value *value;
  
        /* The call-back routine used with INTERNALVAR_MAKE_VALUE.  */
@@ -15935,7 +15891,7 @@ index d02bc27..c83e1a8 100644
  
        /* The internal function used with INTERNALVAR_FUNCTION.  */
        struct
-@@ -1677,18 +1719,39 @@ create_internalvar (const char *name)
+@@ -1675,18 +1717,39 @@ create_internalvar (const char *name)
  /* Create an internal variable with name NAME and register FUN as the
     function that value_of_internalvar uses to create a value whenever
     this variable is referenced.  NAME should not normally include a
@@ -15978,7 +15934,7 @@ index d02bc27..c83e1a8 100644
  /* Look up an internal variable with name NAME.  NAME should not
     normally include a dollar sign.
  
-@@ -1761,7 +1824,8 @@ value_of_internalvar (struct gdbarch *gdbarch, struct internalvar *var)
+@@ -1759,7 +1822,8 @@ value_of_internalvar (struct gdbarch *gdbarch, struct internalvar *var)
        break;
  
      case INTERNALVAR_MAKE_VALUE:
@@ -15988,7 +15944,7 @@ index d02bc27..c83e1a8 100644
        break;
  
      default:
-@@ -1957,6 +2021,11 @@ clear_internalvar (struct internalvar *var)
+@@ -1955,6 +2019,11 @@ clear_internalvar (struct internalvar *var)
        xfree (var->u.string);
        break;
  
@@ -16000,7 +15956,7 @@ index d02bc27..c83e1a8 100644
      default:
        break;
      }
-@@ -2011,6 +2080,38 @@ call_internal_function (struct gdbarch *gdbarch,
+@@ -2009,6 +2078,38 @@ call_internal_function (struct gdbarch *gdbarch,
    return (*ifn->handler) (gdbarch, language, ifn->cookie, argc, argv);
  }
  
@@ -16039,7 +15995,7 @@ index d02bc27..c83e1a8 100644
  /* The 'function' command.  This does nothing -- it is just a
     placeholder to let "help function NAME" work.  This is also used as
     the implementation of the sub-command that is created when
-@@ -2058,11 +2159,10 @@ preserve_one_value (struct value *value, struct objfile *objfile,
+@@ -2056,11 +2157,10 @@ preserve_one_value (struct value *value, struct objfile *objfile,
  		    htab_t copied_types)
  {
    if (TYPE_OBJFILE (value->type) == objfile)
@@ -16053,7 +16009,7 @@ index d02bc27..c83e1a8 100644
  						 copied_types);
  }
  
-@@ -2077,7 +2177,7 @@ preserve_one_internalvar (struct internalvar *var, struct objfile *objfile,
+@@ -2075,7 +2175,7 @@ preserve_one_internalvar (struct internalvar *var, struct objfile *objfile,
      case INTERNALVAR_INTEGER:
        if (var->u.integer.type && TYPE_OBJFILE (var->u.integer.type) == objfile)
  	var->u.integer.type
@@ -16062,7 +16018,7 @@ index d02bc27..c83e1a8 100644
        break;
  
      case INTERNALVAR_VALUE:
-@@ -3139,9 +3239,26 @@ coerce_ref_if_computed (const struct value *arg)
+@@ -3137,9 +3237,26 @@ coerce_ref_if_computed (const struct value *arg)
  struct value *
  coerce_ref (struct value *arg)
  {
@@ -16090,7 +16046,7 @@ index d02bc27..c83e1a8 100644
    retval = coerce_ref_if_computed (arg);
    if (retval)
      return retval;
-@@ -3243,4 +3360,10 @@ VARIABLE is already initialized."));
+@@ -3241,4 +3358,10 @@ VARIABLE is already initialized."));
    add_prefix_cmd ("function", no_class, function_command, _("\
  Placeholder command for showing help on convenience functions."),
  		  &functionlist, "function ", 0, &cmdlist);
@@ -16102,10 +16058,10 @@ index d02bc27..c83e1a8 100644
 +#endif
  }
 diff --git a/gdb/value.h b/gdb/value.h
-index 167847f..ccd68fc 100644
+index 4727755..d8d22c8 100644
 --- a/gdb/value.h
 +++ b/gdb/value.h
-@@ -490,6 +490,10 @@ extern struct value *value_from_decfloat (struct type *type,
+@@ -488,6 +488,10 @@ extern struct value *value_from_decfloat (struct type *type,
  					  const gdb_byte *decbytes);
  extern struct value *value_from_history_ref (char *, char **);
  
@@ -16116,7 +16072,7 @@ index 167847f..ccd68fc 100644
  extern struct value *value_at (struct type *type, CORE_ADDR addr);
  extern struct value *value_at_lazy (struct type *type, CORE_ADDR addr);
  
-@@ -719,10 +723,52 @@ extern struct internalvar *lookup_only_internalvar (const char *name);
+@@ -717,10 +721,52 @@ extern struct internalvar *lookup_only_internalvar (const char *name);
  
  extern struct internalvar *create_internalvar (const char *name);
  
@@ -16173,7 +16129,7 @@ index 167847f..ccd68fc 100644
  extern struct internalvar *lookup_internalvar (const char *name);
  
 diff --git a/gdb/windows-tdep.c b/gdb/windows-tdep.c
-index 5e80aaf..f5ee5ff 100644
+index e111d41..18e3180 100644
 --- a/gdb/windows-tdep.c
 +++ b/gdb/windows-tdep.c
 @@ -268,7 +268,7 @@ static const struct lval_funcs tlb_value_funcs =
@@ -16209,10 +16165,10 @@ index 5e80aaf..f5ee5ff 100644
 +  create_internalvar_type_lazy ("_tlb", &tlb_funcs, NULL);
  }
 diff --git a/gdb/xcoffread.c b/gdb/xcoffread.c
-index d7760ee..8a8f5fc 100644
+index 1a2bb14..d43e946 100644
 --- a/gdb/xcoffread.c
 +++ b/gdb/xcoffread.c
-@@ -3125,6 +3125,7 @@ static const struct sym_fns xcoff_sym_fns =
+@@ -3123,6 +3123,7 @@ static const struct sym_fns xcoff_sym_fns =
    default_symfile_segments,	/* Get segment information from a file.  */
    aix_process_linenos,
    default_symfile_relocate,	/* Relocate a debug section.  */
diff --git a/gdb.spec b/gdb.spec
index 70e4c24..c363f83 100644
--- a/gdb.spec
+++ b/gdb.spec
@@ -23,12 +23,12 @@ Name: gdb%{?_with_debug:-debug}
 # Set version to contents of gdb/version.in.
 # NOTE: the FSF gdb versions are numbered N.M for official releases, like 6.3
 # and, since January 2005, X.Y.Z.date for daily snapshots, like 6.3.50.20050112 # (daily snapshot from mailine), or 6.3.0.20040112 (head of the release branch).
-%global snap 20120103
+%global snap 20120120
 Version: 7.4.50.%{snap}
 
 # The release always contains a leading reserved number, start it at 1.
 # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
-Release: 9%{?_with_upstream:.upstream}%{?dist}
+Release: 10%{?_with_upstream:.upstream}%{?dist}
 
 License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and BSD and Public Domain
 Group: Development/Debuggers
@@ -524,16 +524,6 @@ Patch627: gdb-glibc-vdso-workaround.patch
 #=push+work
 Patch634: gdb-runtest-pie-override.patch
 
-# Fix zero registers core files w/gcc-4.7.
-#=push
-Patch638: gdb-gcc47-gcore-zero.patch
-
-# Fix linking on non-x86* (such as s390*) after libgdb.a removal.
-#=push
-Patch639: gdb-build-libgdb-1of3.patch
-Patch640: gdb-build-libgdb-2of3.patch
-Patch641: gdb-build-libgdb-3of3.patch
-
 # Work around readline-6.2 incompatibility not asking for --more-- (BZ 701131).
 #=fedora
 Patch642: gdb-readline62-ask-more-rh.patch
@@ -806,10 +796,6 @@ rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc-exp.c gdb/p-exp.c
 %patch619 -p1
 %patch627 -p1
 %patch634 -p1
-%patch638 -p1
-%patch639 -p1
-%patch640 -p1
-%patch641 -p1
 %patch643 -p1
 
 %patch393 -p1
@@ -868,10 +854,6 @@ do
 mkdir %{gdb_build}$fprofile
 cd %{gdb_build}$fprofile
 
-# g77 executable is no longer present in Fedora gcc-4.x+.
-g77="`which gfortran 2>/dev/null || true`"
-test -z "$g77" || ln -s "$g77" ./g77
-
 export CFLAGS="$RPM_OPT_FLAGS"
 
 %if 0%{?_with_debug:1}
@@ -1250,6 +1232,10 @@ fi
 %{_infodir}/gdb.info*
 
 %changelog
+* Sat Jan 21 2012 Jan Kratochvil <jan.kratochvil at redhat.com> - 7.4.50.20120120-10.fc17
+- Rebase to FSF GDB 7.4.50.20120120.
+- Drop the g77 .spec provisioning as it has been fixed in FSF GDB.
+
 * Thu Jan 19 2012 Jan Kratochvil <jan.kratochvil at redhat.com> - 7.4.50.20120103-9.fc17
 - Enable smaller %{_bindir}/gdb in future by no longer using -rdynamic.
 - Make --enablerepo to use '*-debug*' for RHEL compatibility (BZ 781571).
diff --git a/sources b/sources
index b3fa2a6..583d753 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
 04e5c4b1b9e633422cc48990fe61958d  libstdc++-v3-python-r155978.tar.bz2
-ed61ae196483c89c0c485c4497d9f815  gdb-7.4.50.20120103.tar.bz2
+9de84a22e4b96c08d8d31a72d7751c60  gdb-7.4.50.20120120.tar.bz2


More information about the scm-commits mailing list