diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/bfd/version.h ./bfd/version.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/bfd/version.h	2015-05-12 01:58:41.000000000 +0000
+++ ./bfd/version.h	2015-05-19 01:58:58.000000000 +0000
@@ -1,4 +1,4 @@
-#define BFD_VERSION_DATE 20150512
+#define BFD_VERSION_DATE 20150519
 #define BFD_VERSION @bfd_version@
 #define BFD_VERSION_STRING  @bfd_version_package@ @bfd_version_string@
 #define REPORT_BUGS_TO @report_bugs_to@
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/djunpack.bat ./djunpack.bat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/djunpack.bat	2015-05-12 02:01:24.000000000 +0000
+++ ./djunpack.bat	2015-05-19 02:01:48.000000000 +0000
@@ -17,8 +17,8 @@ Rem
 Rem The following 2 lines need to be changed with each new GDB release, to
 Rem be identical to the name of the top-level directory where the GDB
 Rem distribution unpacks itself.
-set GDBVER=$package-7.9.0.20150512
-if "%GDBVER%"=="$package-7.9.0.20150512" GoTo EnvOk
+set GDBVER=$package-7.9.1.20150519
+if "%GDBVER%"=="$package-7.9.1.20150519" GoTo EnvOk
 Rem If their environment space is too small, re-exec with a larger one
 command.com /e:4096 /c %0 %1
 GoTo End
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/ChangeLog ./gdb/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/ChangeLog	2015-05-12 01:58:43.000000000 +0000
+++ ./gdb/ChangeLog	2015-05-19 01:58:59.000000000 +0000
@@ -1,3 +1,40 @@
+2015-05-13  Joel Brobecker  <brobecker@adacore.com>
+
+	* version.in: Set GDB version number to 7.9.1.DATE-cvs.
+
+2015-05-13  Joel Brobecker  <brobecker@adacore.com>
+
+	GDB 7.9.1 released.
+
+2015-05-13  Joel Brobecker  <brobecker@adacore.com>
+
+	* version.in: Set GDB version number to 7.9.1.
+
+2015-05-12  Doug Evans  <dje@google.com>
+
+	PR python/18285
+	* NEWS: Document new gdb.XMethodWorker.get_result_type method.
+	* eval.c (evaluate_subexp_standard) <OP_FUNCALL>: Handle
+	EVAL_AVOID_SIDE_EFFECTS for xmethods.
+	* extension-priv.h (struct extension_language_ops)
+	<get_xmethod_result_type>: New member.
+	* extension.c (get_xmethod_result_type): New function.
+	* extension.h (get_xmethod_result_type): Declare.
+	* python/py-xmethods.c (get_result_type_method_name): New static
+	global.
+	(py_get_result_type_method_name): Ditto.
+	(gdbpy_get_xmethod_result_type): New function.
+	(gdbpy_initialize_xmethods): Initialize py_get_result_type_method_name.
+	* python/python-internal.h (gdbpy_get_xmethod_result_type): Declare.
+	* python/python.c (python_extension_ops): Add
+	gdbpy_get_xmethod_result_type.
+	* python/lib/gdb/xmethod.py (XMethodWorker): Add get_result_type.
+	* valarith.c (value_x_binop): Handle EVAL_AVOID_SIDE_EFFECTS for
+	xmethods.
+	(value_x_unop): Ditto.
+	* value.c (result_type_of_xmethod): New function.
+	* value.h (result_type_of_xmethod): Declare.
+
 2015-05-02  Pierre Muller  <muller@sourceware.org>
 
 	PR pascal/17815
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/doc/ChangeLog ./gdb/doc/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/doc/ChangeLog	2015-05-12 01:58:43.000000000 +0000
+++ ./gdb/doc/ChangeLog	2015-05-19 01:58:59.000000000 +0000
@@ -1,3 +1,9 @@
+2015-05-12  Doug Evans  <dje@google.com>
+
+	* python.texi (Xmethod API) <gdb.XMethodWorker.get_result_type>:
+	Document.
+	(Writing an Xmethod): Add get_result_type to example.
+
 2015-02-20  David Taylor  <dtaylor@emc.com>
 
 	* agentexpr.texi (Bytecode Descriptions): Fix summary line for setv.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/doc/gcore.1 ./gdb/doc/gcore.1
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/doc/gcore.1	2015-05-12 02:01:17.000000000 +0000
+++ ./gdb/doc/gcore.1	2015-05-19 02:01:40.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GCORE 1"
-.TH GCORE 1 "2015-05-12" "gdb-7.9.0.20150512-cvs" "GNU Development Tools"
+.TH GCORE 1 "2015-05-19" "gdb-7.9.1.20150519-cvs" "GNU Development Tools"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/doc/gdb.1 ./gdb/doc/gdb.1
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/doc/gdb.1	2015-05-12 02:01:17.000000000 +0000
+++ ./gdb/doc/gdb.1	2015-05-19 02:01:40.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDB 1"
-.TH GDB 1 "2015-05-12" "gdb-7.9.0.20150512-cvs" "GNU Development Tools"
+.TH GDB 1 "2015-05-19" "gdb-7.9.1.20150519-cvs" "GNU Development Tools"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/doc/gdb.info ./gdb/doc/gdb.info
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/doc/gdb.info	2015-05-12 02:01:16.000000000 +0000
+++ ./gdb/doc/gdb.info	2015-05-19 02:01:39.000000000 +0000
@@ -22,7 +22,7 @@ developing GNU and promoting software fr
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of `Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 7.9.0.20150512-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.9.1.20150519-cvs.
 
    Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
@@ -43,10 +43,10 @@ gdb.info-1: 1722
 gdb.info-2: 300339
 gdb.info-3: 599410
 gdb.info-4: 896986
-gdb.info-5: 1196493
-gdb.info-6: 1502523
-gdb.info-7: 1782876
-gdb.info-8: 1937247
+gdb.info-5: 1196299
+gdb.info-6: 1503066
+gdb.info-7: 1783419
+gdb.info-8: 1937790
 
 Tag Table:
 (Indirect)
@@ -398,342 +398,342 @@ Ref: frame_args900565
 Node: Writing a Frame Filter903892
 Node: Xmethods In Python915359
 Node: Xmethod API918248
-Node: Writing an Xmethod921771
-Node: Inferiors In Python927357
-Node: Events In Python930237
-Node: Threads In Python937320
-Node: Commands In Python939763
-Node: Parameters In Python949182
-Node: Functions In Python954643
-Node: Progspaces In Python956865
-Node: Objfiles In Python960366
-Node: Frames In Python965760
-Node: Blocks In Python972298
-Node: Symbols In Python976661
-Node: Symbol Tables In Python983888
-Node: Line Tables In Python987118
-Node: Breakpoints In Python989955
-Node: Finish Breakpoints in Python997947
-Node: Lazy Strings In Python1000054
-Node: Architectures In Python1002289
-Node: Python Auto-loading1004476
-Ref: set auto-load python-scripts1005105
-Ref: show auto-load python-scripts1005205
-Ref: info auto-load python-scripts1005311
-Node: Python modules1006335
-Node: gdb.printing1006721
-Node: gdb.types1008148
-Node: gdb.prompt1011161
-Node: Guile1012810
-Node: Guile Introduction1013469
-Node: Guile Commands1014340
-Node: Guile API1016209
-Node: Basic Guile1018206
-Node: Guile Configuration1023919
-Node: GDB Scheme Data Types1024895
-Node: Guile Exception Handling1026735
-Node: Values From Inferior In Guile1030786
-Node: Arithmetic In Guile1046331
-Node: Types In Guile1047962
-Ref: Fields of a type in Guile1055909
-Node: Guile Pretty Printing API1057310
-Node: Selecting Guile Pretty-Printers1062906
-Node: Writing a Guile Pretty-Printer1065285
-Node: Commands In Guile1070469
-Node: Parameters In Guile1081273
-Ref: Parameters In Guile-Footnote-11088155
-Node: Progspaces In Guile1088282
-Node: Objfiles In Guile1090870
-Node: Frames In Guile1092942
-Node: Blocks In Guile1099360
-Node: Symbols In Guile1104168
-Node: Symbol Tables In Guile1111500
-Node: Breakpoints In Guile1114463
-Node: Lazy Strings In Guile1124685
-Node: Architectures In Guile1126979
-Node: Disassembly In Guile1131285
-Node: I/O Ports in Guile1134485
-Node: Memory Ports in Guile1135041
-Node: Iterators In Guile1138213
-Node: Guile Auto-loading1142501
-Ref: set auto-load guile-scripts1143124
-Ref: show auto-load guile-scripts1143222
-Ref: info auto-load guile-scripts1143326
-Node: Guile Modules1144285
-Node: Guile Printing Module1144607
-Node: Guile Types Module1145427
-Node: Auto-loading extensions1146719
-Node: objfile-gdbdotext file1147917
-Ref: set auto-load scripts-directory1149361
-Ref: with-auto-load-dir1149737
-Ref: show auto-load scripts-directory1150555
-Ref: add-auto-load-scripts-directory1150635
-Node: dotdebug_gdb_scripts section1151111
-Node: Which flavor to choose?1152957
-Node: Multiple Extension Languages1154778
-Node: Aliases1155842
-Node: Interpreters1158707
-Node: TUI1160806
-Node: TUI Overview1161753
-Node: TUI Keys1164186
-Node: TUI Single Key Mode1166490
-Node: TUI Commands1167365
-Node: TUI Configuration1170023
-Node: Emacs1171319
-Node: GDB/MI1176793
-Node: GDB/MI General Design1178767
-Node: Context management1181290
-Node: Asynchronous and non-stop modes1185118
-Node: Thread groups1188094
-Node: GDB/MI Command Syntax1190372
-Node: GDB/MI Input Syntax1190615
-Node: GDB/MI Output Syntax1192169
-Node: GDB/MI Compatibility with CLI1195756
-Node: GDB/MI Development and Front Ends1196493
-Node: GDB/MI Output Records1198150
-Node: GDB/MI Result Records1198556
-Node: GDB/MI Stream Records1199906
-Node: GDB/MI Async Records1201171
-Node: GDB/MI Breakpoint Information1210801
-Node: GDB/MI Frame Information1214753
-Node: GDB/MI Thread Information1215840
-Node: GDB/MI Ada Exception Information1216819
-Node: GDB/MI Simple Examples1217242
-Node: GDB/MI Command Description Format1219450
-Node: GDB/MI Breakpoint Commands1220330
-Node: GDB/MI Catchpoint Commands1240201
-Node: Shared Library GDB/MI Catchpoint Commands1240569
-Node: Ada Exception GDB/MI Catchpoint Commands1242227
-Node: GDB/MI Program Context1244637
-Node: GDB/MI Thread Commands1248907
-Node: GDB/MI Ada Tasking Commands1252863
-Node: GDB/MI Program Execution1255117
-Node: GDB/MI Stack Manipulation1267154
-Ref: -stack-list-arguments1269053
-Ref: -stack-list-frames1272758
-Ref: -stack-list-locals1276627
-Ref: -stack-list-variables1278117
-Node: GDB/MI Variable Objects1279651
-Ref: -var-set-format1289554
-Ref: -var-list-children1290672
-Ref: -var-update1299461
-Ref: -var-set-frozen1302456
-Ref: -var-set-update-range1303252
-Ref: -var-set-visualizer1303782
-Node: GDB/MI Data Manipulation1305273
-Node: GDB/MI Tracepoint Commands1324838
-Node: GDB/MI Symbol Query1336431
-Node: GDB/MI File Commands1337120
-Node: GDB/MI Target Manipulation1340416
-Node: GDB/MI File Transfer Commands1346638
-Node: GDB/MI Ada Exceptions Commands1347961
-Node: GDB/MI Support Commands1349315
-Node: GDB/MI Miscellaneous Commands1353900
-Ref: -interpreter-exec1364133
-Node: Annotations1366469
-Node: Annotations Overview1367388
-Node: Server Prefix1369851
-Node: Prompting1370585
-Node: Errors1372102
-Node: Invalidation1372998
-Node: Annotations for Running1373475
-Node: Source Annotations1375009
-Node: JIT Interface1375938
-Node: Declarations1377738
-Node: Registering Code1379125
-Node: Unregistering Code1380097
-Node: Custom Debug Info1380724
-Node: Using JIT Debug Info Readers1382020
-Node: Writing JIT Debug Info Readers1383033
-Node: In-Process Agent1385230
-Ref: Control Agent1387173
-Node: In-Process Agent Protocol1388040
-Node: IPA Protocol Objects1388832
-Ref: agent expression object1389834
-Ref: tracepoint action object1390040
-Ref: tracepoint object1390121
-Node: IPA Protocol Commands1393077
-Node: GDB Bugs1394550
-Node: Bug Criteria1395282
-Node: Bug Reporting1396159
-Node: Command Line Editing1403990
-Node: Introduction and Notation1404642
-Node: Readline Interaction1406262
-Node: Readline Bare Essentials1407451
-Node: Readline Movement Commands1409238
-Node: Readline Killing Commands1410201
-Node: Readline Arguments1412119
-Node: Searching1413161
-Node: Readline Init File1415310
-Node: Readline Init File Syntax1416461
-Node: Conditional Init Constructs1431519
-Node: Sample Init File1434050
-Node: Bindable Readline Commands1437165
-Node: Commands For Moving1438220
-Node: Commands For History1439079
-Node: Commands For Text1442481
-Node: Commands For Killing1445205
-Node: Numeric Arguments1447345
-Node: Commands For Completion1448482
-Node: Keyboard Macros1450449
-Node: Miscellaneous Commands1451018
-Node: Readline vi Mode1454872
-Node: Using History Interactively1455782
-Node: History Interaction1456325
-Node: Event Designators1457747
-Node: Word Designators1458887
-Node: Modifiers1460524
-Node: In Memoriam1461747
-Node: Formatting Documentation1462630
-Ref: Formatting Documentation-Footnote-11466003
-Node: Installing GDB1466097
-Node: Requirements1466669
-Ref: Expat1467238
-Node: Running Configure1469810
-Node: Separate Objdir1473574
-Node: Config Names1476548
-Node: Configure Options1478023
-Node: System-wide configuration1480393
-Node: System-wide Configuration Scripts1482353
-Node: Maintenance Commands1483537
-Ref: maint info breakpoints1485192
-Node: Remote Protocol1502523
-Node: Overview1503177
-Ref: Binary Data1505739
-Node: Packets1508262
-Ref: thread-id syntax1509162
-Ref: extended mode1510607
-Ref: ? packet1510864
-Ref: bc1512328
-Ref: bs1512538
-Ref: read registers packet1514154
-Ref: cycle step packet1516090
-Ref: write register packet1518690
-Ref: step with signal packet1519668
-Ref: vCont packet1521142
-Ref: vKill packet1526039
-Ref: X packet1526972
-Ref: insert breakpoint or watchpoint packet1527282
-Node: Stop Reply Packets1531317
-Node: General Query Packets1536089
-Ref: qCRC packet1538920
-Ref: QNonStop1546730
-Ref: QPassSignals1547389
-Ref: QProgramSignals1548593
-Ref: qSearch memory1551104
-Ref: QStartNoAckMode1551611
-Ref: qSupported1552141
-Ref: multiprocess extensions1562631
-Ref: install tracepoint in tracing1564660
-Ref: qXfer read1568040
-Ref: qXfer auxiliary vector read1568534
-Ref: qXfer btrace read1568881
-Ref: qXfer target description read1569944
-Ref: qXfer library list read1570388
-Ref: qXfer svr4 library list read1571043
-Ref: qXfer memory map read1572895
-Ref: qXfer sdata read1573281
-Ref: qXfer siginfo read1573745
-Ref: qXfer spu read1574141
-Ref: qXfer threads read1574664
-Ref: qXfer traceframe info read1575066
-Ref: qXfer unwind info block1575482
-Ref: qXfer fdpic loadmap read1575714
-Ref: qXfer osdata read1576129
-Ref: qXfer write1577387
-Ref: qXfer siginfo write1577953
-Ref: qXfer spu write1578349
-Ref: General Query Packets-Footnote-11580885
-Node: Architecture-Specific Protocol Details1581212
-Node: ARM-Specific Protocol Details1581721
-Node: ARM Breakpoint Kinds1581969
-Node: MIPS-Specific Protocol Details1582301
-Node: MIPS Register packet Format1582584
-Node: MIPS Breakpoint Kinds1583513
-Node: Tracepoint Packets1583932
-Ref: QTEnable1592927
-Ref: QTDisable1593123
-Ref: qTfSTM1598645
-Ref: qTsSTM1598645
-Ref: qTSTMat1599721
-Ref: QTBuffer-size1600872
-Node: Host I/O Packets1602846
-Node: Interrupts1607465
-Node: Notification Packets1609368
-Node: Remote Non-Stop1614756
-Node: Packet Acknowledgment1617045
-Node: Examples1619160
-Node: File-I/O Remote Protocol Extension1619786
-Node: File-I/O Overview1620248
-Node: Protocol Basics1622445
-Node: The F Request Packet1624677
-Node: The F Reply Packet1625578
-Node: The Ctrl-C Message1626496
-Node: Console I/O1628125
-Node: List of Supported Calls1629342
-Node: open1629704
-Node: close1632198
-Node: read1632580
-Node: write1633187
-Node: lseek1633954
-Node: rename1634832
-Node: unlink1636228
-Node: stat/fstat1637167
-Node: gettimeofday1638054
-Node: isatty1638489
-Node: system1639085
-Node: Protocol-specific Representation of Datatypes1640627
-Node: Integral Datatypes1641004
-Node: Pointer Values1641811
-Node: Memory Transfer1642519
-Node: struct stat1643139
-Node: struct timeval1645341
-Node: Constants1645858
-Node: Open Flags1646307
-Node: mode_t Values1646648
-Node: Errno Values1647140
-Node: Lseek Flags1647951
-Node: Limits1648136
-Node: File-I/O Examples1648496
-Node: Library List Format1649612
-Node: Library List Format for SVR4 Targets1652395
-Node: Memory Map Format1654865
-Node: Thread List Format1657442
-Node: Traceframe Info Format1658260
-Node: Branch Trace Format1659947
-Node: Agent Expressions1661293
-Node: General Bytecode Design1664114
-Node: Bytecode Descriptions1668914
-Node: Using Agent Expressions1682352
-Node: Varying Target Capabilities1684330
-Node: Rationale1685492
-Node: Target Descriptions1692878
-Node: Retrieving Descriptions1694754
-Node: Target Description Format1695839
-Node: Predefined Target Types1704883
-Node: Standard Target Features1706268
-Node: AArch64 Features1708156
-Node: ARM Features1708579
-Node: i386 Features1710096
-Node: MicroBlaze Features1712048
-Node: MIPS Features1712625
-Node: M68K Features1713815
-Node: Nios II Features1714478
-Node: PowerPC Features1714875
-Node: S/390 and System z Features1716198
-Node: TIC6x Features1717663
-Node: Operating System Information1718225
-Node: Process list1719063
-Node: Trace File Format1720125
-Node: Index Section Format1722119
-Node: Man Pages1730099
-Node: gdb man1730505
-Node: gdbserver man1736547
-Node: gcore man1743755
-Node: gdbinit man1744412
-Node: Copying1745297
-Node: GNU Free Documentation License1782876
-Node: Concept Index1808042
-Node: Command and Variable Index1937247
+Node: Writing an Xmethod922064
+Node: Inferiors In Python927900
+Node: Events In Python930780
+Node: Threads In Python937863
+Node: Commands In Python940306
+Node: Parameters In Python949725
+Node: Functions In Python955186
+Node: Progspaces In Python957408
+Node: Objfiles In Python960909
+Node: Frames In Python966303
+Node: Blocks In Python972841
+Node: Symbols In Python977204
+Node: Symbol Tables In Python984431
+Node: Line Tables In Python987661
+Node: Breakpoints In Python990498
+Node: Finish Breakpoints in Python998490
+Node: Lazy Strings In Python1000597
+Node: Architectures In Python1002832
+Node: Python Auto-loading1005019
+Ref: set auto-load python-scripts1005648
+Ref: show auto-load python-scripts1005748
+Ref: info auto-load python-scripts1005854
+Node: Python modules1006878
+Node: gdb.printing1007264
+Node: gdb.types1008691
+Node: gdb.prompt1011704
+Node: Guile1013353
+Node: Guile Introduction1014012
+Node: Guile Commands1014883
+Node: Guile API1016752
+Node: Basic Guile1018749
+Node: Guile Configuration1024462
+Node: GDB Scheme Data Types1025438
+Node: Guile Exception Handling1027278
+Node: Values From Inferior In Guile1031329
+Node: Arithmetic In Guile1046874
+Node: Types In Guile1048505
+Ref: Fields of a type in Guile1056452
+Node: Guile Pretty Printing API1057853
+Node: Selecting Guile Pretty-Printers1063449
+Node: Writing a Guile Pretty-Printer1065828
+Node: Commands In Guile1071012
+Node: Parameters In Guile1081816
+Ref: Parameters In Guile-Footnote-11088698
+Node: Progspaces In Guile1088825
+Node: Objfiles In Guile1091413
+Node: Frames In Guile1093485
+Node: Blocks In Guile1099903
+Node: Symbols In Guile1104711
+Node: Symbol Tables In Guile1112043
+Node: Breakpoints In Guile1115006
+Node: Lazy Strings In Guile1125228
+Node: Architectures In Guile1127522
+Node: Disassembly In Guile1131828
+Node: I/O Ports in Guile1135028
+Node: Memory Ports in Guile1135584
+Node: Iterators In Guile1138756
+Node: Guile Auto-loading1143044
+Ref: set auto-load guile-scripts1143667
+Ref: show auto-load guile-scripts1143765
+Ref: info auto-load guile-scripts1143869
+Node: Guile Modules1144828
+Node: Guile Printing Module1145150
+Node: Guile Types Module1145970
+Node: Auto-loading extensions1147262
+Node: objfile-gdbdotext file1148460
+Ref: set auto-load scripts-directory1149904
+Ref: with-auto-load-dir1150280
+Ref: show auto-load scripts-directory1151098
+Ref: add-auto-load-scripts-directory1151178
+Node: dotdebug_gdb_scripts section1151654
+Node: Which flavor to choose?1153500
+Node: Multiple Extension Languages1155321
+Node: Aliases1156385
+Node: Interpreters1159250
+Node: TUI1161349
+Node: TUI Overview1162296
+Node: TUI Keys1164729
+Node: TUI Single Key Mode1167033
+Node: TUI Commands1167908
+Node: TUI Configuration1170566
+Node: Emacs1171862
+Node: GDB/MI1177336
+Node: GDB/MI General Design1179310
+Node: Context management1181833
+Node: Asynchronous and non-stop modes1185661
+Node: Thread groups1188637
+Node: GDB/MI Command Syntax1190915
+Node: GDB/MI Input Syntax1191158
+Node: GDB/MI Output Syntax1192712
+Node: GDB/MI Compatibility with CLI1196299
+Node: GDB/MI Development and Front Ends1197036
+Node: GDB/MI Output Records1198693
+Node: GDB/MI Result Records1199099
+Node: GDB/MI Stream Records1200449
+Node: GDB/MI Async Records1201714
+Node: GDB/MI Breakpoint Information1211344
+Node: GDB/MI Frame Information1215296
+Node: GDB/MI Thread Information1216383
+Node: GDB/MI Ada Exception Information1217362
+Node: GDB/MI Simple Examples1217785
+Node: GDB/MI Command Description Format1219993
+Node: GDB/MI Breakpoint Commands1220873
+Node: GDB/MI Catchpoint Commands1240744
+Node: Shared Library GDB/MI Catchpoint Commands1241112
+Node: Ada Exception GDB/MI Catchpoint Commands1242770
+Node: GDB/MI Program Context1245180
+Node: GDB/MI Thread Commands1249450
+Node: GDB/MI Ada Tasking Commands1253406
+Node: GDB/MI Program Execution1255660
+Node: GDB/MI Stack Manipulation1267697
+Ref: -stack-list-arguments1269596
+Ref: -stack-list-frames1273301
+Ref: -stack-list-locals1277170
+Ref: -stack-list-variables1278660
+Node: GDB/MI Variable Objects1280194
+Ref: -var-set-format1290097
+Ref: -var-list-children1291215
+Ref: -var-update1300004
+Ref: -var-set-frozen1302999
+Ref: -var-set-update-range1303795
+Ref: -var-set-visualizer1304325
+Node: GDB/MI Data Manipulation1305816
+Node: GDB/MI Tracepoint Commands1325381
+Node: GDB/MI Symbol Query1336974
+Node: GDB/MI File Commands1337663
+Node: GDB/MI Target Manipulation1340959
+Node: GDB/MI File Transfer Commands1347181
+Node: GDB/MI Ada Exceptions Commands1348504
+Node: GDB/MI Support Commands1349858
+Node: GDB/MI Miscellaneous Commands1354443
+Ref: -interpreter-exec1364676
+Node: Annotations1367012
+Node: Annotations Overview1367931
+Node: Server Prefix1370394
+Node: Prompting1371128
+Node: Errors1372645
+Node: Invalidation1373541
+Node: Annotations for Running1374018
+Node: Source Annotations1375552
+Node: JIT Interface1376481
+Node: Declarations1378281
+Node: Registering Code1379668
+Node: Unregistering Code1380640
+Node: Custom Debug Info1381267
+Node: Using JIT Debug Info Readers1382563
+Node: Writing JIT Debug Info Readers1383576
+Node: In-Process Agent1385773
+Ref: Control Agent1387716
+Node: In-Process Agent Protocol1388583
+Node: IPA Protocol Objects1389375
+Ref: agent expression object1390377
+Ref: tracepoint action object1390583
+Ref: tracepoint object1390664
+Node: IPA Protocol Commands1393620
+Node: GDB Bugs1395093
+Node: Bug Criteria1395825
+Node: Bug Reporting1396702
+Node: Command Line Editing1404533
+Node: Introduction and Notation1405185
+Node: Readline Interaction1406805
+Node: Readline Bare Essentials1407994
+Node: Readline Movement Commands1409781
+Node: Readline Killing Commands1410744
+Node: Readline Arguments1412662
+Node: Searching1413704
+Node: Readline Init File1415853
+Node: Readline Init File Syntax1417004
+Node: Conditional Init Constructs1432062
+Node: Sample Init File1434593
+Node: Bindable Readline Commands1437708
+Node: Commands For Moving1438763
+Node: Commands For History1439622
+Node: Commands For Text1443024
+Node: Commands For Killing1445748
+Node: Numeric Arguments1447888
+Node: Commands For Completion1449025
+Node: Keyboard Macros1450992
+Node: Miscellaneous Commands1451561
+Node: Readline vi Mode1455415
+Node: Using History Interactively1456325
+Node: History Interaction1456868
+Node: Event Designators1458290
+Node: Word Designators1459430
+Node: Modifiers1461067
+Node: In Memoriam1462290
+Node: Formatting Documentation1463173
+Ref: Formatting Documentation-Footnote-11466546
+Node: Installing GDB1466640
+Node: Requirements1467212
+Ref: Expat1467781
+Node: Running Configure1470353
+Node: Separate Objdir1474117
+Node: Config Names1477091
+Node: Configure Options1478566
+Node: System-wide configuration1480936
+Node: System-wide Configuration Scripts1482896
+Node: Maintenance Commands1484080
+Ref: maint info breakpoints1485735
+Node: Remote Protocol1503066
+Node: Overview1503720
+Ref: Binary Data1506282
+Node: Packets1508805
+Ref: thread-id syntax1509705
+Ref: extended mode1511150
+Ref: ? packet1511407
+Ref: bc1512871
+Ref: bs1513081
+Ref: read registers packet1514697
+Ref: cycle step packet1516633
+Ref: write register packet1519233
+Ref: step with signal packet1520211
+Ref: vCont packet1521685
+Ref: vKill packet1526582
+Ref: X packet1527515
+Ref: insert breakpoint or watchpoint packet1527825
+Node: Stop Reply Packets1531860
+Node: General Query Packets1536632
+Ref: qCRC packet1539463
+Ref: QNonStop1547273
+Ref: QPassSignals1547932
+Ref: QProgramSignals1549136
+Ref: qSearch memory1551647
+Ref: QStartNoAckMode1552154
+Ref: qSupported1552684
+Ref: multiprocess extensions1563174
+Ref: install tracepoint in tracing1565203
+Ref: qXfer read1568583
+Ref: qXfer auxiliary vector read1569077
+Ref: qXfer btrace read1569424
+Ref: qXfer target description read1570487
+Ref: qXfer library list read1570931
+Ref: qXfer svr4 library list read1571586
+Ref: qXfer memory map read1573438
+Ref: qXfer sdata read1573824
+Ref: qXfer siginfo read1574288
+Ref: qXfer spu read1574684
+Ref: qXfer threads read1575207
+Ref: qXfer traceframe info read1575609
+Ref: qXfer unwind info block1576025
+Ref: qXfer fdpic loadmap read1576257
+Ref: qXfer osdata read1576672
+Ref: qXfer write1577930
+Ref: qXfer siginfo write1578496
+Ref: qXfer spu write1578892
+Ref: General Query Packets-Footnote-11581428
+Node: Architecture-Specific Protocol Details1581755
+Node: ARM-Specific Protocol Details1582264
+Node: ARM Breakpoint Kinds1582512
+Node: MIPS-Specific Protocol Details1582844
+Node: MIPS Register packet Format1583127
+Node: MIPS Breakpoint Kinds1584056
+Node: Tracepoint Packets1584475
+Ref: QTEnable1593470
+Ref: QTDisable1593666
+Ref: qTfSTM1599188
+Ref: qTsSTM1599188
+Ref: qTSTMat1600264
+Ref: QTBuffer-size1601415
+Node: Host I/O Packets1603389
+Node: Interrupts1608008
+Node: Notification Packets1609911
+Node: Remote Non-Stop1615299
+Node: Packet Acknowledgment1617588
+Node: Examples1619703
+Node: File-I/O Remote Protocol Extension1620329
+Node: File-I/O Overview1620791
+Node: Protocol Basics1622988
+Node: The F Request Packet1625220
+Node: The F Reply Packet1626121
+Node: The Ctrl-C Message1627039
+Node: Console I/O1628668
+Node: List of Supported Calls1629885
+Node: open1630247
+Node: close1632741
+Node: read1633123
+Node: write1633730
+Node: lseek1634497
+Node: rename1635375
+Node: unlink1636771
+Node: stat/fstat1637710
+Node: gettimeofday1638597
+Node: isatty1639032
+Node: system1639628
+Node: Protocol-specific Representation of Datatypes1641170
+Node: Integral Datatypes1641547
+Node: Pointer Values1642354
+Node: Memory Transfer1643062
+Node: struct stat1643682
+Node: struct timeval1645884
+Node: Constants1646401
+Node: Open Flags1646850
+Node: mode_t Values1647191
+Node: Errno Values1647683
+Node: Lseek Flags1648494
+Node: Limits1648679
+Node: File-I/O Examples1649039
+Node: Library List Format1650155
+Node: Library List Format for SVR4 Targets1652938
+Node: Memory Map Format1655408
+Node: Thread List Format1657985
+Node: Traceframe Info Format1658803
+Node: Branch Trace Format1660490
+Node: Agent Expressions1661836
+Node: General Bytecode Design1664657
+Node: Bytecode Descriptions1669457
+Node: Using Agent Expressions1682895
+Node: Varying Target Capabilities1684873
+Node: Rationale1686035
+Node: Target Descriptions1693421
+Node: Retrieving Descriptions1695297
+Node: Target Description Format1696382
+Node: Predefined Target Types1705426
+Node: Standard Target Features1706811
+Node: AArch64 Features1708699
+Node: ARM Features1709122
+Node: i386 Features1710639
+Node: MicroBlaze Features1712591
+Node: MIPS Features1713168
+Node: M68K Features1714358
+Node: Nios II Features1715021
+Node: PowerPC Features1715418
+Node: S/390 and System z Features1716741
+Node: TIC6x Features1718206
+Node: Operating System Information1718768
+Node: Process list1719606
+Node: Trace File Format1720668
+Node: Index Section Format1722662
+Node: Man Pages1730642
+Node: gdb man1731048
+Node: gdbserver man1737090
+Node: gcore man1744298
+Node: gdbinit man1744955
+Node: Copying1745840
+Node: GNU Free Documentation License1783419
+Node: Concept Index1808585
+Node: Command and Variable Index1937790
 
 End Tag Table
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/doc/gdb.info-1 ./gdb/doc/gdb.info-1
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/doc/gdb.info-1	2015-05-12 02:01:16.000000000 +0000
+++ ./gdb/doc/gdb.info-1	2015-05-19 02:01:39.000000000 +0000
@@ -22,7 +22,7 @@ developing GNU and promoting software fr
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of `Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 7.9.0.20150512-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.9.1.20150519-cvs.
 
    Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
@@ -45,7 +45,7 @@ Debugging with GDB
 
 This file describes GDB, the GNU symbolic debugger.
 
-   This is the Tenth Edition, for GDB (GDB) Version 7.9.0.20150512-cvs.
+   This is the Tenth Edition, for GDB (GDB) Version 7.9.1.20150519-cvs.
 
    Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
@@ -494,7 +494,7 @@ Let us use GDB to try to see what is goi
      There is absolutely no warranty for GDB; type "show warranty"
       for details.
 
-     GDB 7.9.0.20150512-cvs, Copyright 1999 Free Software Foundation, Inc...
+     GDB 7.9.1.20150519-cvs, Copyright 1999 Free Software Foundation, Inc...
      (gdb)
 
 GDB reads only enough symbol data to know where to find the rest when
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/doc/gdb.info-2 ./gdb/doc/gdb.info-2
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/doc/gdb.info-2	2015-05-12 02:01:16.000000000 +0000
+++ ./gdb/doc/gdb.info-2	2015-05-19 02:01:39.000000000 +0000
@@ -22,7 +22,7 @@ developing GNU and promoting software fr
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of `Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 7.9.0.20150512-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.9.1.20150519-cvs.
 
    Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/doc/gdb.info-3 ./gdb/doc/gdb.info-3
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/doc/gdb.info-3	2015-05-12 02:01:16.000000000 +0000
+++ ./gdb/doc/gdb.info-3	2015-05-19 02:01:39.000000000 +0000
@@ -22,7 +22,7 @@ developing GNU and promoting software fr
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of `Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 7.9.0.20150512-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.9.1.20150519-cvs.
 
    Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/doc/gdb.info-4 ./gdb/doc/gdb.info-4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/doc/gdb.info-4	2015-05-12 02:01:16.000000000 +0000
+++ ./gdb/doc/gdb.info-4	2015-05-19 02:01:39.000000000 +0000
@@ -22,7 +22,7 @@ developing GNU and promoting software fr
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of `Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 7.9.0.20150512-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.9.1.20150519-cvs.
 
    Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
@@ -591,6 +591,12 @@ following interface:
      the xmethod takes a single argument, then a single `gdb.Type'
      object corresponding to it can be returned.
 
+ -- Function: XMethodWorker.get_result_type (self, *args)
+     This method returns a `gdb.Type' object representing the type of
+     the result of invoking this xmethod.  The ARGS argument is the
+     same tuple of arguments that would be passed to the `__call__'
+     method of this worker.
+
  -- Function: XMethodWorker.__call__ (self, *args)
      This is the method which does the _work_ of the xmethod.  The ARGS
      arguments is the tuple of arguments to the xmethod.  Each element
@@ -699,6 +705,9 @@ setup above is as follows:
          def get_arg_types(self):
              return None
 
+         def get_result_type(self, obj):
+             return gdb.lookup_type('int')
+
          def __call__(self, obj):
              return obj['a_']
 
@@ -707,6 +716,9 @@ setup above is as follows:
          def get_arg_types(self):
              return gdb.lookup_type('MyClass')
 
+         def get_result_type(self, obj):
+             return gdb.lookup_type('int')
+
          def __call__(self, obj, other):
              return obj['a_'] + other['a_']
 
@@ -761,6 +773,9 @@ xmethod workers and xmethod matchers is 
          def get_arg_types(self):
              return None
 
+         def get_result_type(self):
+             return gdb.lookup_type('int')
+
          def __call__(self, obj):
              return (self.class_type.sizeof +
                      obj['dsize_'] *
@@ -7658,20 +7673,3 @@ Notes:
    *Note GDB/MI Stream Records: GDB/MI Stream Records, for more details
 about the various output records.
 
-
-File: gdb.info,  Node: GDB/MI Compatibility with CLI,  Next: GDB/MI Development and Front Ends,  Prev: GDB/MI Command Syntax,  Up: GDB/MI
-
-27.3 GDB/MI Compatibility with CLI
-==================================
-
-For the developers convenience CLI commands can be entered directly,
-but there may be some unexpected behaviour.  For example, commands that
-query the user will behave as if the user replied yes, breakpoint
-command lists are not executed and some CLI commands, such as `if',
-`when' and `define', prompt for further input with `>', which is not
-valid MI output.
-
-   This feature may be removed at some stage in the future and it is
-recommended that front ends use the `-interpreter-exec' command (*note
--interpreter-exec::).
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/doc/gdb.info-5 ./gdb/doc/gdb.info-5
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/doc/gdb.info-5	2015-05-12 02:01:16.000000000 +0000
+++ ./gdb/doc/gdb.info-5	2015-05-19 02:01:39.000000000 +0000
@@ -22,7 +22,7 @@ developing GNU and promoting software fr
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of `Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 7.9.0.20150512-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.9.1.20150519-cvs.
 
    Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
@@ -38,6 +38,23 @@ this GNU Manual.  Buying copies from GNU
 developing GNU and promoting software freedom."
 
 
+File: gdb.info,  Node: GDB/MI Compatibility with CLI,  Next: GDB/MI Development and Front Ends,  Prev: GDB/MI Command Syntax,  Up: GDB/MI
+
+27.3 GDB/MI Compatibility with CLI
+==================================
+
+For the developers convenience CLI commands can be entered directly,
+but there may be some unexpected behaviour.  For example, commands that
+query the user will behave as if the user replied yes, breakpoint
+command lists are not executed and some CLI commands, such as `if',
+`when' and `define', prompt for further input with `>', which is not
+valid MI output.
+
+   This feature may be removed at some stage in the future and it is
+recommended that front ends use the `-interpreter-exec' command (*note
+-interpreter-exec::).
+
+
 File: gdb.info,  Node: GDB/MI Development and Front Ends,  Next: GDB/MI Output Records,  Prev: GDB/MI Compatibility with CLI,  Up: GDB/MI
 
 27.4 GDB/MI Development and Front Ends
@@ -8107,7 +8124,7 @@ and TeX (or `texi2roff') to typeset the 
 
    GDB includes an already formatted copy of the on-line Info version
 of this manual in the `gdb' subdirectory.  The main Info file is
-`gdb-7.9.0.20150512-cvs/gdb/gdb.info', and it refers to subordinate
+`gdb-7.9.1.20150519-cvs/gdb/gdb.info', and it refers to subordinate
 files matching `gdb.info*' in the same directory.  If necessary, you
 can print out these files, or read them with any editor; but they are
 easier to read using the `info' subsystem in GNU Emacs or the
@@ -8118,8 +8135,8 @@ distribution.
 Info formatting programs, such as `texinfo-format-buffer' or `makeinfo'.
 
    If you have `makeinfo' installed, and are in the top level GDB
-source directory (`gdb-7.9.0.20150512-cvs', in the case of version
-7.9.0.20150512-cvs), you can make the Info file by typing:
+source directory (`gdb-7.9.1.20150519-cvs', in the case of version
+7.9.1.20150519-cvs), you can make the Info file by typing:
 
      cd gdb
      make gdb.info
@@ -8144,7 +8161,7 @@ format.  On its own, TeX cannot either r
 
    If you have TeX and a DVI printer program installed, you can typeset
 and print this manual.  First switch to the `gdb' subdirectory of the
-main source directory (for example, to `gdb-7.9.0.20150512-cvs/gdb')
+main source directory (for example, to `gdb-7.9.1.20150519-cvs/gdb')
 and type:
 
      make gdb.dvi
@@ -8153,8 +8170,8 @@ and type:
 
    ---------- Footnotes ----------
 
-   (1) In `gdb-7.9.0.20150512-cvs/gdb/refcard.ps' of the version
-7.9.0.20150512-cvs release.
+   (1) In `gdb-7.9.1.20150519-cvs/gdb/refcard.ps' of the version
+7.9.1.20150519-cvs release.
 
 
 File: gdb.info,  Node: Installing GDB,  Next: Maintenance Commands,  Prev: Formatting Documentation,  Up: Top
@@ -8263,39 +8280,39 @@ preparing GDB for installation; you can 
 in a single directory, whose name is usually composed by appending the
 version number to `gdb'.
 
-   For example, the GDB version 7.9.0.20150512-cvs distribution is in
-the `gdb-7.9.0.20150512-cvs' directory.  That directory contains:
+   For example, the GDB version 7.9.1.20150519-cvs distribution is in
+the `gdb-7.9.1.20150519-cvs' directory.  That directory contains:
 
-`gdb-7.9.0.20150512-cvs/configure (and supporting files)'
+`gdb-7.9.1.20150519-cvs/configure (and supporting files)'
      script for configuring GDB and all its supporting libraries
 
-`gdb-7.9.0.20150512-cvs/gdb'
+`gdb-7.9.1.20150519-cvs/gdb'
      the source specific to GDB itself
 
-`gdb-7.9.0.20150512-cvs/bfd'
+`gdb-7.9.1.20150519-cvs/bfd'
      source for the Binary File Descriptor library
 
-`gdb-7.9.0.20150512-cvs/include'
+`gdb-7.9.1.20150519-cvs/include'
      GNU include files
 
-`gdb-7.9.0.20150512-cvs/libiberty'
+`gdb-7.9.1.20150519-cvs/libiberty'
      source for the `-liberty' free software library
 
-`gdb-7.9.0.20150512-cvs/opcodes'
+`gdb-7.9.1.20150519-cvs/opcodes'
      source for the library of opcode tables and disassemblers
 
-`gdb-7.9.0.20150512-cvs/readline'
+`gdb-7.9.1.20150519-cvs/readline'
      source for the GNU command-line interface
 
-`gdb-7.9.0.20150512-cvs/glob'
+`gdb-7.9.1.20150519-cvs/glob'
      source for the GNU filename pattern-matching subroutine
 
-`gdb-7.9.0.20150512-cvs/mmalloc'
+`gdb-7.9.1.20150519-cvs/mmalloc'
      source for the GNU memory-mapped malloc package
 
    The simplest way to configure and build GDB is to run `configure'
 from the `gdb-VERSION-NUMBER' source directory, which in this example
-is the `gdb-7.9.0.20150512-cvs' directory.
+is the `gdb-7.9.1.20150519-cvs' directory.
 
    First switch to the `gdb-VERSION-NUMBER' source directory if you are
 not already in it; then run `configure'.  Pass the identifier for the
@@ -8303,7 +8320,7 @@ platform on which GDB will run as an arg
 
    For example:
 
-     cd gdb-7.9.0.20150512-cvs
+     cd gdb-7.9.1.20150519-cvs
      ./configure HOST
      make
 
@@ -8325,8 +8342,8 @@ you may need to run `sh' on it explicitl
 
    If you run `configure' from a directory that contains source
 directories for multiple libraries or programs, such as the
-`gdb-7.9.0.20150512-cvs' source directory for version
-7.9.0.20150512-cvs, `configure' creates configuration files for every
+`gdb-7.9.1.20150519-cvs' source directory for version
+7.9.1.20150519-cvs, `configure' creates configuration files for every
 directory level underneath (unless you tell it not to, with the
 `--norecursion' option).
 
@@ -8367,13 +8384,13 @@ directory.  If the path to `configure' w
 argument to `--srcdir', you can leave out the `--srcdir' option; it is
 assumed.)
 
-   For example, with version 7.9.0.20150512-cvs, you can build GDB in a
+   For example, with version 7.9.1.20150519-cvs, you can build GDB in a
 separate directory for a Sun 4 like this:
 
-     cd gdb-7.9.0.20150512-cvs
+     cd gdb-7.9.1.20150519-cvs
      mkdir ../gdb-sun4
      cd ../gdb-sun4
-     ../gdb-7.9.0.20150512-cvs/configure sun4
+     ../gdb-7.9.1.20150519-cvs/configure sun4
      make
 
    When `configure' builds a configuration using a remote source
@@ -8384,7 +8401,7 @@ directory `gdb-sun4/libiberty', and GDB 
 
    Make sure that your path to the `configure' script has just one
 instance of `gdb' in it.  If your path to `configure' looks like
-`../gdb-7.9.0.20150512-cvs/gdb/configure', you are configuring only one
+`../gdb-7.9.1.20150519-cvs/gdb/configure', you are configuring only one
 subdirectory of GDB, not the whole package.  This leads to build errors
 about missing include files such as `bfd/bfd.h'.
 
@@ -8400,8 +8417,8 @@ called `configure' (or one of its subdir
 
    The `Makefile' that `configure' generates in each source directory
 also runs recursively.  If you type `make' in a source directory such
-as `gdb-7.9.0.20150512-cvs' (or in a separate configured directory
-configured with `--srcdir=DIRNAME/gdb-7.9.0.20150512-cvs'), you will
+as `gdb-7.9.1.20150519-cvs' (or in a separate configured directory
+configured with `--srcdir=DIRNAME/gdb-7.9.1.20150519-cvs'), you will
 build all the required libraries, and then build GDB.
 
    When you have multiple hosts or targets configured in separate
@@ -8446,7 +8463,7 @@ you can use it to test your guesses on a
      Invalid configuration `i986v': machine `i986v' not recognized
 
 `config.sub' is also distributed in the GDB source directory
-(`gdb-7.9.0.20150512-cvs', for version 7.9.0.20150512-cvs).
+(`gdb-7.9.1.20150519-cvs', for version 7.9.1.20150519-cvs).
 
 
 File: gdb.info,  Node: Configure Options,  Next: System-wide configuration,  Prev: Config Names,  Up: Installing GDB
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/doc/gdb.info-6 ./gdb/doc/gdb.info-6
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/doc/gdb.info-6	2015-05-12 02:01:16.000000000 +0000
+++ ./gdb/doc/gdb.info-6	2015-05-19 02:01:39.000000000 +0000
@@ -22,7 +22,7 @@ developing GNU and promoting software fr
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of `Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 7.9.0.20150512-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.9.1.20150519-cvs.
 
    Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/doc/gdb.info-7 ./gdb/doc/gdb.info-7
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/doc/gdb.info-7	2015-05-12 02:01:16.000000000 +0000
+++ ./gdb/doc/gdb.info-7	2015-05-19 02:01:39.000000000 +0000
@@ -22,7 +22,7 @@ developing GNU and promoting software fr
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of `Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 7.9.0.20150512-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.9.1.20150519-cvs.
 
    Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/doc/gdb.info-8 ./gdb/doc/gdb.info-8
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/doc/gdb.info-8	2015-05-12 02:01:16.000000000 +0000
+++ ./gdb/doc/gdb.info-8	2015-05-19 02:01:39.000000000 +0000
@@ -22,7 +22,7 @@ developing GNU and promoting software fr
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of `Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 7.9.0.20150512-cvs.
+Source-Level Debugger' for GDB (GDB) Version 7.9.1.20150519-cvs.
 
    Copyright (C) 1988-2015 Free Software Foundation, Inc.
 
@@ -1759,7 +1759,7 @@ Command, Variable, and Function Index
                                                               (line  89)
 * register-command!:                     Commands In Guile.   (line  58)
 * register-parameter!:                   Parameters In Guile. (line  94)
-* register_xmethod_matcher:              Xmethod API.         (line  79)
+* register_xmethod_matcher:              Xmethod API.         (line  85)
 * RegisterChangedEvent.frame:            Events In Python.    (line 170)
 * RegisterChangedEvent.regnum:           Events In Python.    (line 174)
 * remote delete:                         File Transfer.       (line  23)
@@ -2766,8 +2766,9 @@ Command, Variable, and Function Index
 * XMethod.__init__:                      Xmethod API.         (line  40)
 * XMethodMatcher.__init__:               Xmethod API.         (line  45)
 * XMethodMatcher.match:                  Xmethod API.         (line  49)
-* XMethodWorker.__call__:                Xmethod API.         (line  69)
+* XMethodWorker.__call__:                Xmethod API.         (line  75)
 * XMethodWorker.get_arg_types:           Xmethod API.         (line  62)
+* XMethodWorker.get_result_type:         Xmethod API.         (line  69)
 * yank (C-y):                            Commands For Killing.
                                                               (line  59)
 * yank-last-arg (M-. or M-_):            Commands For History.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/doc/gdbinit.5 ./gdb/doc/gdbinit.5
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/doc/gdbinit.5	2015-05-12 02:01:17.000000000 +0000
+++ ./gdb/doc/gdbinit.5	2015-05-19 02:01:40.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDBINIT 5"
-.TH GDBINIT 5 "2015-05-12" "gdb-7.9.0.20150512-cvs" "GNU Development Tools"
+.TH GDBINIT 5 "2015-05-19" "gdb-7.9.1.20150519-cvs" "GNU Development Tools"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/doc/gdbserver.1 ./gdb/doc/gdbserver.1
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/doc/gdbserver.1	2015-05-12 02:01:17.000000000 +0000
+++ ./gdb/doc/gdbserver.1	2015-05-19 02:01:40.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDBSERVER 1"
-.TH GDBSERVER 1 "2015-05-12" "gdb-7.9.0.20150512-cvs" "GNU Development Tools"
+.TH GDBSERVER 1 "2015-05-19" "gdb-7.9.1.20150519-cvs" "GNU Development Tools"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/doc/python.texi ./gdb/doc/python.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/doc/python.texi	2015-05-12 01:58:43.000000000 +0000
+++ ./gdb/doc/python.texi	2015-05-19 01:58:59.000000000 +0000
@@ -2307,6 +2307,13 @@ If the xmethod takes a single argument, 
 @code{gdb.Type} object corresponding to it can be returned.
 @end defun
 
+@defun XMethodWorker.get_result_type (self, *args)
+This method returns a @code{gdb.Type} object representing the type
+of the result of invoking this xmethod.
+The @var{args} argument is the same tuple of arguments that would be
+passed to the @code{__call__} method of this worker.
+@end defun
+
 @defun XMethodWorker.__call__ (self, *args)
 This is the method which does the @emph{work} of the xmethod.  The
 @var{args} arguments is the tuple of arguments to the xmethod.  Each
@@ -2423,6 +2430,9 @@ above is as follows:
 class MyClassWorker_geta(gdb.xmethod.XMethodWorker):
     def get_arg_types(self):
         return None
+
+    def get_result_type(self, obj):
+        return gdb.lookup_type('int')
  
     def __call__(self, obj):
         return obj['a_']
@@ -2431,6 +2441,9 @@ class MyClassWorker_geta(gdb.xmethod.XMe
 class MyClassWorker_plus(gdb.xmethod.XMethodWorker):
     def get_arg_types(self):
         return gdb.lookup_type('MyClass')
+
+    def get_result_type(self, obj):
+        return gdb.lookup_type('int')
  
     def __call__(self, obj, other):
         return obj['a_'] + other['a_']
@@ -2494,10 +2507,13 @@ of the xmethod workers and xmethod match
 class MyTemplateWorker_footprint(gdb.xmethod.XMethodWorker):
     def __init__(self, class_type):
         self.class_type = class_type
- 
+
     def get_arg_types(self):
         return None
- 
+
+    def get_result_type(self):
+        return gdb.lookup_type('int')
+
     def __call__(self, obj):
         return (self.class_type.sizeof +
                 obj['dsize_'] *
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/eval.c ./gdb/eval.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/eval.c	2015-05-12 01:58:43.000000000 +0000
+++ ./gdb/eval.c	2015-05-19 01:58:59.000000000 +0000
@@ -1739,6 +1739,15 @@ evaluate_subexp_standard (struct type *e
 	      return value_zero (builtin_type (exp->gdbarch)->builtin_int,
 				 not_lval);
 	    }
+	  else if (TYPE_CODE (ftype) == TYPE_CODE_XMETHOD)
+	    {
+	      struct type *return_type
+		= result_type_of_xmethod (argvec[0], nargs, argvec + 1);
+
+	      if (return_type == NULL)
+		error (_("Xmethod is missing return type."));
+	      return value_zero (return_type, not_lval);
+	    }
 	  else if (TYPE_GNU_IFUNC (ftype))
 	    return allocate_value (TYPE_TARGET_TYPE (TYPE_TARGET_TYPE (ftype)));
 	  else if (TYPE_TARGET_TYPE (ftype))
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/extension.c ./gdb/extension.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/extension.c	2015-05-12 01:58:43.000000000 +0000
+++ ./gdb/extension.c	2015-05-19 01:58:59.000000000 +0000
@@ -948,6 +948,31 @@ get_xmethod_arg_types (struct xmethod_wo
   return type_array;
 }
 
+/* Return the type of the result of the xmethod encapsulated in WORKER.
+   OBJECT, ARGS, NARGS are the same as for invoke_xmethod.  */
+
+struct type *
+get_xmethod_result_type (struct xmethod_worker *worker,
+			 struct value *object, struct value **args, int nargs)
+{
+  enum ext_lang_rc rc;
+  struct type *result_type;
+  const struct extension_language_defn *extlang = worker->extlang;
+
+  gdb_assert (extlang->ops->get_xmethod_arg_types != NULL);
+
+  rc = extlang->ops->get_xmethod_result_type (extlang, worker,
+					      object, args, nargs,
+					      &result_type);
+  if (rc == EXT_LANG_RC_ERROR)
+    {
+      error (_("Error while fetching result type of an xmethod worker "
+	       "defined in %s."), extlang->capitalized_name);
+    }
+
+  return result_type;
+}
+
 /* Invokes the xmethod encapsulated in WORKER and returns the result.
    The method is invoked on OBJ with arguments in the ARGS array.  NARGS is
    the length of the this array.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/extension.h ./gdb/extension.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/extension.h	2015-05-12 01:58:43.000000000 +0000
+++ ./gdb/extension.h	2015-05-19 01:58:59.000000000 +0000
@@ -251,4 +251,8 @@ extern xmethod_worker_vec *get_matching_
 
 extern struct type **get_xmethod_arg_types (struct xmethod_worker *, int *);
 
+extern struct type *get_xmethod_result_type (struct xmethod_worker *,
+					     struct value *object,
+					     struct value **args, int nargs);
+
 #endif /* EXTENSION_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/extension-priv.h ./gdb/extension-priv.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/extension-priv.h	2015-05-12 01:58:43.000000000 +0000
+++ ./gdb/extension-priv.h	2015-05-19 01:58:59.000000000 +0000
@@ -260,7 +260,7 @@ struct extension_language_ops
   /* xmethod support:
      clone_xmethod_worker_data, free_xmethod_worker_data,
      get_matching_xmethod_workers, get_xmethod_arg_types,
-     invoke_xmethod.
+     get_xmethod_return_type, invoke_xmethod.
      These methods are optional and may be NULL, but if one of them is
      implemented then they all must be.  */
 
@@ -293,6 +293,18 @@ struct extension_language_ops
      int *nargs,
      struct type ***arg_types);
 
+  /* Given a WORKER servicing a particular method, fetch the type of the
+     result of the method.  OBJECT, ARGS, NARGS are the same as for
+     invoke_xmethod.  The result type is stored in *RESULT_TYPE.
+     For backward compatibility with 7.9, which did not support getting the
+     result type, if the get_result_type operation is not provided by WORKER
+     then EXT_LANG_RC_OK is returned and NULL is returned in *RESULT_TYPE.  */
+  enum ext_lang_rc (*get_xmethod_result_type)
+    (const struct extension_language_defn *extlang,
+     struct xmethod_worker *worker,
+     struct value *object, struct value **args, int nargs,
+     struct type **result_type);
+
   /* Invoke the xmethod serviced by WORKER.  The xmethod is invoked
      on OBJECT with arguments in the array ARGS.  NARGS is the length of
      this array.  Returns the value returned by the xmethod.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/NEWS ./gdb/NEWS
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/NEWS	2015-05-12 01:58:43.000000000 +0000
+++ ./gdb/NEWS	2015-05-19 01:58:59.000000000 +0000
@@ -1,6 +1,12 @@
 		What has changed in GDB?
 	     (Organized release by release)
 
+*** Changes in GDB 7.9.1
+
+* Python Scripting
+
+  ** Xmethods can now specify a result type.
+
 *** Changes in GDB 7.9
 
 * GDB now supports hardware watchpoints on x86 GNU Hurd.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/po/gdb.pot ./gdb/po/gdb.pot
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/po/gdb.pot	2015-05-12 02:01:16.000000000 +0000
+++ ./gdb/po/gdb.pot	2015-05-19 02:01:38.000000000 +0000
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-05-12 02:01+0000\n"
+"POT-Creation-Date: 2015-05-19 02:01+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -624,11 +624,11 @@ msgstr ""
 msgid "Attempt to dereference null array pointer."
 msgstr ""
 
-#: ada-lang.c:10963 eval.c:2510 eval.c:3011 valops.c:1580
+#: ada-lang.c:10963 eval.c:2519 eval.c:3020 valops.c:1580
 msgid "Attempt to take contents of a non-pointer value."
 msgstr ""
 
-#: ada-lang.c:11040 eval.c:2748
+#: ada-lang.c:11040 eval.c:2757
 msgid "Attempt to use a type name as an expression"
 msgstr ""
 
@@ -2760,7 +2760,7 @@ msgstr ""
 msgid "no `%s' found"
 msgstr ""
 
-#: ax-gdb.c:2221 eval.c:732 eval.c:2908
+#: ax-gdb.c:2221 eval.c:732 eval.c:2917
 #, possible-c-format
 msgid "There is no field named %s"
 msgstr ""
@@ -2778,17 +2778,17 @@ msgstr ""
 msgid "cannot subscript requested type: cannot call user defined functions"
 msgstr ""
 
-#: ax-gdb.c:2321 eval.c:2133 eval.c:2179 eval.c:2203 jv-lang.c:985
+#: ax-gdb.c:2321 eval.c:2142 eval.c:2188 eval.c:2212 jv-lang.c:985
 #: m2-lang.c:254
 #, possible-c-format
 msgid "cannot subscript something of type `%s'"
 msgstr ""
 
-#: ax-gdb.c:2324 eval.c:2136 eval.c:2206 jv-lang.c:987 m2-lang.c:257
+#: ax-gdb.c:2324 eval.c:2145 eval.c:2215 jv-lang.c:987 m2-lang.c:257
 msgid "cannot subscript requested type"
 msgstr ""
 
-#: ax-gdb.c:2329 valarith.c:930
+#: ax-gdb.c:2329 valarith.c:945
 msgid "Argument to arithmetic operation not a number or boolean."
 msgstr ""
 
@@ -10338,37 +10338,41 @@ msgstr ""
 msgid "Cannot evaluate function -- may be inlined"
 msgstr ""
 
-#: eval.c:1747
+#: eval.c:1748 valarith.c:495 valarith.c:614
+msgid "Xmethod is missing return type."
+msgstr ""
+
+#: eval.c:1756
 msgid ""
 "Expression of type other than \"Function returning ...\" used as function"
 msgstr ""
 
-#: eval.c:1832
+#: eval.c:1841
 msgid "Cannot perform substring on this type"
 msgstr ""
 
-#: eval.c:1947
+#: eval.c:1956
 msgid "non-pointer-to-member value used in pointer-to-member construct"
 msgstr ""
 
-#: eval.c:2219
+#: eval.c:2228
 #, possible-c-format
 msgid "Too many subscripts for F77 (%d Max)"
 msgstr ""
 
-#: eval.c:2224
+#: eval.c:2233
 msgid "Wrong number of subscripts"
 msgstr ""
 
-#: eval.c:2418
+#: eval.c:2427
 msgid "Non-integral right operand for \"@\" operator."
 msgstr ""
 
-#: eval.c:2489
+#: eval.c:2498
 msgid "Attempt to dereference pointer to member without an object"
 msgstr ""
 
-#: eval.c:2787
+#: eval.c:2796
 msgid "Attempt to use a type as an expression"
 msgstr ""
 
@@ -10380,23 +10384,23 @@ msgstr ""
 #. If there are any cases landing here which mean a user error,
 #. then they should be separate cases, with more descriptive
 #. error messages.
-#: eval.c:2816
+#: eval.c:2825
 msgid "GDB does not (yet) know how to evaluate that kind of expression"
 msgstr ""
 
-#: eval.c:2893
+#: eval.c:2902
 msgid "Attempt to take address of register or constant."
 msgstr ""
 
-#: eval.c:2926 valops.c:1446 valops.c:1461 valops.c:1495
+#: eval.c:2935 valops.c:1446 valops.c:1461 valops.c:1495
 msgid "Attempt to take address of value not located in memory."
 msgstr ""
 
-#: eval.c:3101
+#: eval.c:3110
 msgid "Internal error in eval_type."
 msgstr ""
 
-#: eval.c:3112
+#: eval.c:3121
 msgid "Can't get dimensions for a non-array type"
 msgstr ""
 
@@ -10572,6 +10576,11 @@ msgstr ""
 msgid "Error while looking for arg types of a xmethod worker defined in %s."
 msgstr ""
 
+#: extension.c:969
+#, possible-c-format
+msgid "Error while fetching result type of an xmethod worker defined in %s."
+msgstr ""
+
 #: fbsd-nat.c:106
 #, possible-c-format
 msgid "Couldn't open %s."
@@ -12390,7 +12399,7 @@ msgstr ""
 msgid "Show the mode of Guile exception printing on error."
 msgstr ""
 
-#: guile/guile.c:820 python/python.c:1633
+#: guile/guile.c:820 python/python.c:1634
 msgid ""
 "none  == no stack or message will be printed.\n"
 "full == a message and a stack will be printed.\n"
@@ -19065,8 +19074,8 @@ msgid "Invalid OpenCL vector size: %d"
 msgstr ""
 
 #: opencl-lang.c:183 opencl-lang.c:212 opencl-lang.c:391 opencl-lang.c:508
-#: opencl-lang.c:601 opencl-lang.c:912 valarith.c:1385 valarith.c:1431
-#: valarith.c:1789 valarith.c:1825 valops.c:882
+#: opencl-lang.c:601 opencl-lang.c:912 valarith.c:1400 valarith.c:1446
+#: valarith.c:1804 valarith.c:1840 valops.c:882
 msgid "Could not determine the vector bounds"
 msgstr ""
 
@@ -19088,11 +19097,11 @@ msgstr ""
 msgid "Vector operations are not supported on scalar types"
 msgstr ""
 
-#: opencl-lang.c:608 opencl-lang.c:919 valarith.c:1441
+#: opencl-lang.c:608 opencl-lang.c:919 valarith.c:1456
 msgid "Cannot perform operation on vectors with different types"
 msgstr ""
 
-#: opencl-lang.c:715 valarith.c:1484
+#: opencl-lang.c:715 valarith.c:1499
 msgid "Argument to operation not a number or boolean."
 msgstr ""
 
@@ -19581,7 +19590,7 @@ msgstr ""
 msgid "expected wchar_t argument for %%lc"
 msgstr ""
 
-#: printcmd.c:2368 printcmd.c:2385 value.c:2632
+#: printcmd.c:2368 printcmd.c:2385 value.c:2644
 msgid "Invalid floating value found in program."
 msgstr ""
 
@@ -20209,21 +20218,27 @@ msgstr ""
 msgid "Breakpoint %d is invalid."
 msgstr ""
 
-#: python/py-xmethods.c:455
+#: python/py-xmethods.c:457
 msgid ""
 "Arg type returned by the get_arg_types method of a debug method worker "
 "object is not a gdb.Type object."
 msgstr ""
 
-#: python/py-xmethods.c:474
+#: python/py-xmethods.c:476
 msgid ""
 "Arg type returned by the get_arg_types method of an xmethod worker object is "
 "not a gdb.Type object."
 msgstr ""
 
-#: python/py-xmethods.c:547 python/py-xmethods.c:555 python/py-xmethods.c:571
-#: python/py-xmethods.c:581 python/py-xmethods.c:591 python/python.c:357
-#: python/python.c:461 python/python.c:482 python/py-function.c:152
+#: python/py-xmethods.c:593
+msgid ""
+"Type returned by the get_result_type method of an xmethod worker object is "
+"not a gdb.Type object."
+msgstr ""
+
+#: python/py-xmethods.c:649 python/py-xmethods.c:657 python/py-xmethods.c:673
+#: python/py-xmethods.c:683 python/py-xmethods.c:693 python/python.c:358
+#: python/python.c:462 python/python.c:483 python/py-function.c:152
 #: python/py-prettyprint.c:651
 msgid "Error while executing Python code."
 msgstr ""
@@ -20421,54 +20436,54 @@ msgstr ""
 msgid "Linetable information not found in symbol table"
 msgstr ""
 
-#: python/python.c:223 python/python.c:1888
+#: python/python.c:224 python/python.c:1889
 msgid "internal error: Unhandled Python exception"
 msgstr ""
 
-#: python/python.c:251
+#: python/python.c:252
 msgid "Python not initialized"
 msgstr ""
 
-#: python/python.c:401
+#: python/python.c:402
 #, possible-c-format
 msgid "Error while opening file: %s"
 msgstr ""
 
-#: python/python.c:453
+#: python/python.c:454
 msgid "Invalid \"python\" block structure."
 msgstr ""
 
-#: python/python.c:556
+#: python/python.c:557
 msgid "Programmer error: unhandled type."
 msgstr ""
 
-#: python/python.c:584
+#: python/python.c:585
 #, possible-c-format
 msgid "Could not find parameter `%s'."
 msgstr ""
 
-#: python/python.c:588
+#: python/python.c:589
 #, possible-c-format
 msgid "`%s' is not a parameter."
 msgstr ""
 
-#: python/python.c:960
+#: python/python.c:961
 msgid "Posted event is not callable"
 msgstr ""
 
-#: python/python.c:1052
+#: python/python.c:1053
 msgid "Return from prompt_hook must be either a Python string, or None"
 msgstr ""
 
-#: python/python.c:1204
+#: python/python.c:1205
 msgid "Error occurred computing Python errormessage.\n"
 msgstr ""
 
-#: python/python.c:1482
+#: python/python.c:1483
 msgid "Python scripting is not supported in this copy of GDB."
 msgstr ""
 
-#: python/python.c:1574
+#: python/python.c:1575
 msgid ""
 "Start an interactive Python prompt.\n"
 "\n"
@@ -20483,7 +20498,7 @@ msgid ""
 "    5\n"
 msgstr ""
 
-#: python/python.c:1588
+#: python/python.c:1589
 msgid ""
 "Start a Python interactive prompt.\n"
 "\n"
@@ -20491,7 +20506,7 @@ msgid ""
 "This command is only a placeholder."
 msgstr ""
 
-#: python/python.c:1599
+#: python/python.c:1600
 msgid ""
 "Evaluate a Python command.\n"
 "\n"
@@ -20504,7 +20519,7 @@ msgid ""
 "the end of the command."
 msgstr ""
 
-#: python/python.c:1610
+#: python/python.c:1611
 msgid ""
 "Evaluate a Python command.\n"
 "\n"
@@ -20512,21 +20527,21 @@ msgid ""
 "This command is only a placeholder."
 msgstr ""
 
-#: python/python.c:1621 python/python.c:1626
+#: python/python.c:1622 python/python.c:1627
 msgid "Prefix command for python preference settings."
 msgstr ""
 
-#: python/python.c:1631
+#: python/python.c:1632
 msgid "Set mode for Python stack dump on error."
 msgstr ""
 
-#: python/python.c:1632
+#: python/python.c:1633
 msgid "Show the mode of Python stack printing on error."
 msgstr ""
 
 #. This is passed in one call to warning so that blank lines aren't
 #. inserted between each line of text.
-#: python/python.c:1868
+#: python/python.c:1869
 #, possible-c-format
 msgid ""
 "\n"
@@ -28663,122 +28678,122 @@ msgstr ""
 msgid "Invalid binary operation specified."
 msgstr ""
 
-#: valarith.c:505 valarith.c:615
+#: valarith.c:512 valarith.c:630
 #, possible-c-format
 msgid "member function %s not found"
 msgstr ""
 
-#: valarith.c:532
+#: valarith.c:539
 msgid "Can't do that unary op on that type"
 msgstr ""
 
-#: valarith.c:583
+#: valarith.c:590
 msgid "Invalid unary operation specified."
 msgstr ""
 
-#: valarith.c:717
+#: valarith.c:732
 msgid "unimplemented support for boolean repeats"
 msgstr ""
 
-#: valarith.c:721
+#: valarith.c:736
 msgid "can't repeat values of that type"
 msgstr ""
 
-#: valarith.c:733
+#: valarith.c:748
 msgid "Strings can only be concatenated with other strings."
 msgstr ""
 
-#: valarith.c:768
+#: valarith.c:783
 msgid "Booleans can only be concatenated with other bitstrings or booleans."
 msgstr ""
 
-#: valarith.c:771
+#: valarith.c:786
 msgid "unimplemented support for boolean concatenation."
 msgstr ""
 
 #. We don't know how to concatenate these operands.
-#: valarith.c:776
+#: valarith.c:791
 msgid "illegal operands for concatenation."
 msgstr ""
 
-#: valarith.c:790 valarith.c:821
+#: valarith.c:805 valarith.c:836
 msgid "Attempt to raise 0 to negative power."
 msgstr ""
 
 #. The DFP extension to the C language does not allow mixing of
 #. * decimal float types with other float types in expressions
 #. * (see WDTR 24732, page 12).
-#: valarith.c:864
+#: valarith.c:879
 msgid "Mixing decimal floating types with other floating types is not allowed."
 msgstr ""
 
-#: valarith.c:883 valarith.c:902
+#: valarith.c:898 valarith.c:917
 #, possible-c-format
 msgid "Don't know how to convert from %s to %s."
 msgstr ""
 
-#: valarith.c:970
+#: valarith.c:985
 msgid "Operation not valid for decimal floating point number."
 msgstr ""
 
-#: valarith.c:1008
+#: valarith.c:1023
 #, possible-c-format
 msgid "Cannot perform exponentiation: %s"
 msgstr ""
 
-#: valarith.c:1021
+#: valarith.c:1036
 msgid "Integer-only operation on floating point number."
 msgstr ""
 
-#: valarith.c:1069
+#: valarith.c:1084
 msgid "Invalid operation on booleans."
 msgstr ""
 
-#: valarith.c:1129 valarith.c:1140 valarith.c:1255 valarith.c:1266
+#: valarith.c:1144 valarith.c:1155 valarith.c:1270 valarith.c:1281
 msgid "Division by zero"
 msgstr ""
 
-#: valarith.c:1219 valarith.c:1349
+#: valarith.c:1234 valarith.c:1364
 msgid "Invalid binary operation on numbers."
 msgstr ""
 
-#: valarith.c:1396
+#: valarith.c:1411
 msgid "conversion of scalar to vector involves truncation"
 msgstr ""
 
-#: valarith.c:1427
+#: valarith.c:1442
 msgid "Vector operations are only supported among vectors"
 msgstr ""
 
-#: valarith.c:1631
+#: valarith.c:1646
 msgid "Invalid type combination in equality test."
 msgstr ""
 
-#: valarith.c:1713
+#: valarith.c:1728
 msgid "Invalid type combination in ordering comparison."
 msgstr ""
 
-#: valarith.c:1746
+#: valarith.c:1761
 msgid "Argument to positive operation not a number."
 msgstr ""
 
-#: valarith.c:1801
+#: valarith.c:1816
 msgid "Argument to negate operation not a number."
 msgstr ""
 
-#: valarith.c:1836
+#: valarith.c:1851
 msgid "Argument to complement operation not an integer, boolean."
 msgstr ""
 
-#: valarith.c:1877
+#: valarith.c:1892
 msgid "Second argument of 'IN' has wrong type"
 msgstr ""
 
-#: valarith.c:1882
+#: valarith.c:1897
 msgid "First argument of 'IN' has wrong type"
 msgstr ""
 
-#: valarith.c:1886
+#: valarith.c:1901
 msgid "First argument of 'IN' not in range"
 msgstr ""
 
@@ -29420,48 +29435,48 @@ msgid ""
 "use \"set\" as in \"set $foo = 5\" to define them.\n"
 msgstr ""
 
-#: value.c:2796
+#: value.c:2808
 msgid "Value can't be converted to integer."
 msgstr ""
 
 #. FIXME: would like to include fieldval in the message, but
 #. we don't have a sprintf_longest.
-#: value.c:3328
+#: value.c:3340
 #, possible-c-format
 msgid "Value does not fit in %d bits."
 msgstr ""
 
-#: value.c:3379
+#: value.c:3391
 #, possible-c-format
 msgid "Unexpected type (%d) encountered for integer constant."
 msgstr ""
 
-#: value.c:3415
+#: value.c:3427
 #, possible-c-format
 msgid "Unexpected type (%d) encountered for unsigned integer constant."
 msgstr ""
 
-#: value.c:3535
+#: value.c:3547
 msgid "Unexpected type encountered for floating constant."
 msgstr ""
 
-#: value.c:3705
+#: value.c:3717
 msgid "Function return type unknown."
 msgstr ""
 
-#: value.c:3841
+#: value.c:3853
 msgid "infinite loop while fetching a register"
 msgstr ""
 
-#: value.c:3908
+#: value.c:3920
 msgid "Unexpected lazy value type."
 msgstr ""
 
-#: value.c:3924
+#: value.c:3936
 msgid "You must provide one argument for $_isvoid."
 msgstr ""
 
-#: value.c:3934
+#: value.c:3946
 msgid ""
 "Debugger convenience (\"$foo\") variables and functions.\n"
 "Convenience variables are created when you assign them values;\n"
@@ -29474,11 +29489,11 @@ msgid ""
 "Convenience functions are defined via the Python API."
 msgstr ""
 
-#: value.c:3949
+#: value.c:3961
 msgid "Elements of value history around item number IDX (or last ten)."
 msgstr ""
 
-#: value.c:3953
+#: value.c:3965
 msgid ""
 "Initialize a convenience variable if necessary.\n"
 "init-if-undefined VARIABLE = EXPRESSION\n"
@@ -29487,11 +29502,11 @@ msgid ""
 "VARIABLE is already initialized."
 msgstr ""
 
-#: value.c:3960
+#: value.c:3972
 msgid "Placeholder command for showing help on convenience functions."
 msgstr ""
 
-#: value.c:3964
+#: value.c:3976
 msgid ""
 "Check whether an expression is void.\n"
 "Usage: $_isvoid (expression)\n"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/python/lib/gdb/xmethod.py ./gdb/python/lib/gdb/xmethod.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/python/lib/gdb/xmethod.py	2015-05-12 01:58:43.000000000 +0000
+++ ./gdb/python/lib/gdb/xmethod.py	2015-05-19 01:58:59.000000000 +0000
@@ -101,9 +101,11 @@ class XMethodWorker(object):
     invokes the method when GDB wants it to.  Internally, GDB first invokes the
     'get_arg_types' method to perform overload resolution.  If GDB selects to
     invoke this Python xmethod, then it invokes it via the overridden
-    '__call__' method.
+    '__call__' method.  The 'get_result_type' method is used to implement
+    'ptype' on the xmethod.
 
-    Derived classes should override the 'get_arg_types' and '__call__' methods.
+    Derived classes should override the 'get_arg_types', 'get_result_type'
+    and '__call__' methods.
     """
 
     def get_arg_types(self):
@@ -117,6 +119,20 @@ class XMethodWorker(object):
         """
         raise NotImplementedError("XMethodWorker get_arg_types")
 
+    def get_result_type(self, *args):
+        """Return the type of the result of the xmethod.
+
+        Args:
+            args: Arguments to the method.  Each element of the tuple is a
+                gdb.Value object.  The first element is the 'this' pointer
+                value.  These are the same arguments passed to '__call__'.
+
+        Returns:
+            A gdb.Type object representing the type of the result of the
+            xmethod.
+        """
+        raise NotImplementedError("XMethodWorker get_result_type")
+
     def __call__(self, *args):
         """Invoke the xmethod.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/python/python.c ./gdb/python/python.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/python/python.c	2015-05-12 01:58:43.000000000 +0000
+++ ./gdb/python/python.c	2015-05-19 01:58:59.000000000 +0000
@@ -190,6 +190,7 @@ static const struct extension_language_o
   gdbpy_free_xmethod_worker_data,
   gdbpy_get_matching_xmethod_workers,
   gdbpy_get_xmethod_arg_types,
+  gdbpy_get_xmethod_result_type,
   gdbpy_invoke_xmethod
 };
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/python/python-internal.h ./gdb/python/python-internal.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/python/python-internal.h	2015-05-12 01:58:43.000000000 +0000
+++ ./gdb/python/python-internal.h	2015-05-19 01:58:59.000000000 +0000
@@ -343,6 +343,11 @@ extern enum ext_lang_rc gdbpy_get_xmetho
    struct xmethod_worker *worker,
    int *nargs,
    struct type ***arg_types);
+extern enum ext_lang_rc gdbpy_get_xmethod_result_type
+  (const struct extension_language_defn *extlang,
+   struct xmethod_worker *worker,
+   struct value *object, struct value **args, int nargs,
+   struct type **result_type);
 extern struct value *gdbpy_invoke_xmethod
   (const struct extension_language_defn *extlang,
    struct xmethod_worker *worker,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/python/py-xmethods.c ./gdb/python/py-xmethods.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/python/py-xmethods.c	2015-05-12 01:58:43.000000000 +0000
+++ ./gdb/python/py-xmethods.c	2015-05-19 01:58:59.000000000 +0000
@@ -30,11 +30,13 @@
 static const char enabled_field_name[] = "enabled";
 static const char match_method_name[] = "match";
 static const char get_arg_types_method_name[] = "get_arg_types";
+static const char get_result_type_method_name[] = "get_result_type";
 static const char invoke_method_name[] = "invoke";
 static const char matchers_attr_str[] = "xmethods";
 
 static PyObject *py_match_method_name = NULL;
 static PyObject *py_get_arg_types_method_name = NULL;
+static PyObject *py_get_result_type_method_name = NULL;
 static PyObject *py_invoke_method_name = NULL;
 
 struct gdbpy_worker_data
@@ -502,6 +504,106 @@ gdbpy_get_xmethod_arg_types (const struc
   return EXT_LANG_RC_OK;
 }
 
+/* Implementation of get_xmethod_result_type for Python.  */
+
+enum ext_lang_rc
+gdbpy_get_xmethod_result_type (const struct extension_language_defn *extlang,
+			       struct xmethod_worker *worker,
+			       struct value *obj,
+			       struct value **args, int nargs,
+			       struct type **result_type_ptr)
+{
+  struct gdbpy_worker_data *worker_data = worker->data;
+  PyObject *py_worker = worker_data->worker;
+  PyObject *py_value_obj, *py_arg_tuple, *py_result_type;
+  PyObject *get_result_type_method;
+  struct type *obj_type, *this_type;
+  struct cleanup *cleanups;
+  int i;
+
+  cleanups = ensure_python_env (get_current_arch (), current_language);
+
+  /* First see if there is a get_result_type method.
+     If not this could be an old xmethod (pre 7.9.1).  */
+  get_result_type_method
+    = PyObject_GetAttrString (py_worker, get_result_type_method_name);
+  if (get_result_type_method == NULL)
+    {
+      PyErr_Clear ();
+      do_cleanups (cleanups);
+      *result_type_ptr = NULL;
+      return EXT_LANG_RC_OK;
+    }
+  make_cleanup_py_decref (get_result_type_method);
+
+  obj_type = check_typedef (value_type (obj));
+  this_type = check_typedef (type_object_to_type (worker_data->this_type));
+  if (TYPE_CODE (obj_type) == TYPE_CODE_PTR)
+    {
+      struct type *this_ptr = lookup_pointer_type (this_type);
+
+      if (!types_equal (obj_type, this_ptr))
+	obj = value_cast (this_ptr, obj);
+    }
+  else if (TYPE_CODE (obj_type) == TYPE_CODE_REF)
+    {
+      struct type *this_ref = lookup_reference_type (this_type);
+
+      if (!types_equal (obj_type, this_ref))
+	obj = value_cast (this_ref, obj);
+    }
+  else
+    {
+      if (!types_equal (obj_type, this_type))
+	obj = value_cast (this_type, obj);
+    }
+  py_value_obj = value_to_value_object (obj);
+  if (py_value_obj == NULL)
+    goto Fail;
+  make_cleanup_py_decref (py_value_obj);
+
+  py_arg_tuple = PyTuple_New (nargs + 1);
+  if (py_arg_tuple == NULL)
+    goto Fail;
+  make_cleanup_py_decref (py_arg_tuple);
+
+  /* PyTuple_SET_ITEM steals the reference of the element.  Hence INCREF the
+     reference to the 'this' object as we have a cleanup to DECREF it.  */
+  Py_INCREF (py_value_obj);
+  PyTuple_SET_ITEM (py_arg_tuple, 0, py_value_obj);
+
+  for (i = 0; i < nargs; i++)
+    {
+      PyObject *py_value_arg = value_to_value_object (args[i]);
+
+      if (py_value_arg == NULL)
+	goto Fail;
+      PyTuple_SET_ITEM (py_arg_tuple, i + 1, py_value_arg);
+    }
+
+  py_result_type = PyObject_CallObject (get_result_type_method, py_arg_tuple);
+  if (py_result_type == NULL)
+    goto Fail;
+  make_cleanup_py_decref (py_result_type);
+
+  *result_type_ptr = type_object_to_type (py_result_type);
+  if (*result_type_ptr == NULL)
+    {
+      PyErr_SetString (PyExc_TypeError,
+		       _("Type returned by the get_result_type method of an"
+			 " xmethod worker object is not a gdb.Type object."));
+      goto Fail;
+    }
+
+  do_cleanups (cleanups);
+  return EXT_LANG_RC_OK;
+
+ Fail:
+  gdbpy_print_stack ();
+  do_cleanups (cleanups);
+  return EXT_LANG_RC_ERROR;
+}
+
 /* Implementation of invoke_xmethod for Python.  */
 
 struct value *
@@ -638,5 +740,10 @@ gdbpy_initialize_xmethods (void)
   if (py_get_arg_types_method_name == NULL)
     return -1;
 
+  py_get_result_type_method_name
+    = PyString_FromString (get_result_type_method_name);
+  if (py_get_result_type_method_name == NULL)
+    return -1;
+
   return 1;
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/testsuite/ChangeLog ./gdb/testsuite/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/testsuite/ChangeLog	2015-05-12 01:58:43.000000000 +0000
+++ ./gdb/testsuite/ChangeLog	2015-05-19 01:58:59.000000000 +0000
@@ -1,3 +1,9 @@
+2015-05-12  Doug Evans  <dje@google.com>
+
+	* gdb.python/py-xmethods.exp: Add ptype tests.
+	* gdb.python/py-xmethods.py (E_method_char_worker): Add
+	get_result_type method.
+
 2015-05-02  Pierre Muller  <muller@sourceware.org>
 
 	PR pascal/17815
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/testsuite/gdb.python/py-xmethods.exp ./gdb/testsuite/gdb.python/py-xmethods.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/testsuite/gdb.python/py-xmethods.exp	2015-05-12 01:58:43.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-xmethods.exp	2015-05-19 01:58:59.000000000 +0000
@@ -107,8 +107,9 @@ gdb_test "p a_ptr->geta()" "From Python 
 gdb_test "p e.geta()" "From Python <A_geta>.*100" "After: e.geta()"
 gdb_test "p e_ptr->geta()" "From Python <A_geta>.*100" "After: e_ptr->geta()"
 gdb_test "p e_ref.geta()" "From Python <A_geta>.*100" "After: e_ref.geta()"
-gdb_test "p e.method(10)" "From Python <E_method_int>.*" "After: e.method(10)"
-gdb_test "p e.method('a')" "From Python <E_method_char>.*" \
+gdb_test "p e.method(10)" "From Python <E_method_int>.* = void" \
+  "After: e.method(10)"
+gdb_test "p e.method('a')" "From Python <E_method_char>.* = void" \
   "After: e.method('a')"
 gdb_test "p g.size_diff<float>  ()" "From Python G<>::size_diff.*" \
   "After: g.size_diff<float>()"
@@ -149,3 +150,11 @@ gdb_test_no_output "disable xmethod prog
   "disable xmethod progspace E_methods;method_int"
 gdb_test "info xmethod progspace E_methods;method_int" ".* \\\[disabled\\\]" \
   "info xmethod xmethods E_methods;method_int"
+
+# PR 18285
+# First make sure both are enabled.
+gdb_test_no_output "enable xmethod progspace E_methods;method_char"
+gdb_test_no_output "enable xmethod progspace E_methods;method_int"
+gdb_test "pt e.method('a')" "type = void"
+gdb_test "pt e.method(10)" \
+    "NotImplementedError.*Error while fetching result type of an xmethod worker defined in Python."
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/testsuite/gdb.python/py-xmethods.py ./gdb/testsuite/gdb.python/py-xmethods.py
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/testsuite/gdb.python/py-xmethods.py	2015-05-12 01:58:43.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-xmethods.py	2015-05-19 01:58:59.000000000 +0000
@@ -60,6 +60,9 @@ class E_method_char_worker(XMethodWorker
     def get_arg_types(self):
         return gdb.lookup_type('char')
 
+    def get_result_type(self, obj, arg):
+        return gdb.lookup_type('void')
+
     def __call__(self, obj, arg):
         print('From Python <E_method_char>')
         return None
@@ -72,6 +75,8 @@ class E_method_int_worker(XMethodWorker)
     def get_arg_types(self):
         return gdb.lookup_type('int')
 
+    # Note: get_result_type method elided on purpose
+
     def __call__(self, obj, arg):
         print('From Python <E_method_int>')
         return None
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/valarith.c ./gdb/valarith.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/valarith.c	2015-05-12 01:58:43.000000000 +0000
+++ ./gdb/valarith.c	2015-05-19 01:58:59.000000000 +0000
@@ -482,6 +482,21 @@ value_x_binop (struct value *arg1, struc
 	  argvec[1] = argvec[0];
 	  argvec++;
 	}
+      if (TYPE_CODE (value_type (argvec[0])) == TYPE_CODE_XMETHOD)
+	{
+	  /* Static xmethods are not supported yet.  */
+	  gdb_assert (static_memfuncp == 0);
+	  if (noside == EVAL_AVOID_SIDE_EFFECTS)
+	    {
+	      struct type *return_type
+		= result_type_of_xmethod (argvec[0], 2, argvec + 1);
+
+	      if (return_type == NULL)
+		error (_("Xmethod is missing return type."));
+	      return value_zero (return_type, VALUE_LVAL (arg1));
+	    }
+	  return call_xmethod (argvec[0], 2, argvec + 1);
+	}
       if (noside == EVAL_AVOID_SIDE_EFFECTS)
 	{
 	  struct type *return_type;
@@ -490,16 +505,8 @@ value_x_binop (struct value *arg1, struc
 	    = TYPE_TARGET_TYPE (check_typedef (value_type (argvec[0])));
 	  return value_zero (return_type, VALUE_LVAL (arg1));
 	}
-
-      if (TYPE_CODE (value_type (argvec[0])) == TYPE_CODE_XMETHOD)
-	{
-	  /* Static xmethods are not supported yet.  */
-	  gdb_assert (static_memfuncp == 0);
-	  return call_xmethod (argvec[0], 2, argvec + 1);
-	}
-      else
-	return call_function_by_hand (argvec[0], 2 - static_memfuncp,
-				      argvec + 1);
+      return call_function_by_hand (argvec[0], 2 - static_memfuncp,
+				    argvec + 1);
     }
   throw_error (NOT_FOUND_ERROR,
                _("member function %s not found"), tstr);
@@ -594,6 +601,21 @@ value_x_unop (struct value *arg1, enum e
 	  nargs --;
 	  argvec++;
 	}
+      if (TYPE_CODE (value_type (argvec[0])) == TYPE_CODE_XMETHOD)
+	{
+	  /* Static xmethods are not supported yet.  */
+	  gdb_assert (static_memfuncp == 0);
+	  if (noside == EVAL_AVOID_SIDE_EFFECTS)
+	    {
+	      struct type *return_type
+		= result_type_of_xmethod (argvec[0], 1, argvec + 1);
+
+	      if (return_type == NULL)
+		error (_("Xmethod is missing return type."));
+	      return value_zero (return_type, VALUE_LVAL (arg1));
+	    }
+	  return call_xmethod (argvec[0], 1, argvec + 1);
+	}
       if (noside == EVAL_AVOID_SIDE_EFFECTS)
 	{
 	  struct type *return_type;
@@ -602,14 +624,7 @@ value_x_unop (struct value *arg1, enum e
 	    = TYPE_TARGET_TYPE (check_typedef (value_type (argvec[0])));
 	  return value_zero (return_type, VALUE_LVAL (arg1));
 	}
-      if (TYPE_CODE (value_type (argvec[0])) == TYPE_CODE_XMETHOD)
-	{
-	  /* Static xmethods are not supported yet.  */
-	  gdb_assert (static_memfuncp == 0);
-	  return call_xmethod (argvec[0], 1, argvec + 1);
-	}
-      else
-	return call_function_by_hand (argvec[0], nargs, argvec + 1);
+      return call_function_by_hand (argvec[0], nargs, argvec + 1);
     }
   throw_error (NOT_FOUND_ERROR,
                _("member function %s not found"), tstr);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/value.c ./gdb/value.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/value.c	2015-05-12 01:58:43.000000000 +0000
+++ ./gdb/value.c	2015-05-19 01:58:59.000000000 +0000
@@ -2594,6 +2594,18 @@ value_of_xmethod (struct xmethod_worker 
   return worker->value;
 }
 
+/* Return the type of the result of TYPE_CODE_XMETHOD value METHOD.  */
+
+struct type *
+result_type_of_xmethod (struct value *method, int argc, struct value **argv)
+{
+  gdb_assert (TYPE_CODE (value_type (method)) == TYPE_CODE_XMETHOD
+	      && method->lval == lval_xcallable && argc > 0);
+
+  return get_xmethod_result_type (method->location.xm_worker,
+				  argv[0], argv + 1, argc - 1);
+}
+
 /* Call the xmethod corresponding to the TYPE_CODE_XMETHOD value METHOD.  */
 
 struct value *
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/value.h ./gdb/value.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/value.h	2015-05-12 01:58:43.000000000 +0000
+++ ./gdb/value.h	2015-05-19 01:58:59.000000000 +0000
@@ -1080,7 +1080,10 @@ char *value_internal_function_name (stru
 
 extern struct value *value_of_xmethod (struct xmethod_worker *);
 
-struct value *call_xmethod (struct value *function,
-			    int argc, struct value **argv);
+extern struct type *result_type_of_xmethod (struct value *method,
+					    int argc, struct value **argv);
+
+extern struct value *call_xmethod (struct value *method,
+				   int argc, struct value **argv);
 
 #endif /* !defined (VALUE_H) */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/version.in ./gdb/version.in
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/gdb/version.in	2015-05-12 01:58:43.000000000 +0000
+++ ./gdb/version.in	2015-05-19 01:58:59.000000000 +0000
@@ -1 +1 @@
-7.9.0.DATE-cvs
+7.9.1.DATE-cvs
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/md5.sum ./md5.sum
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-7.9.0.20150512/md5.sum	2015-05-12 02:01:24.000000000 +0000
+++ ./md5.sum	2015-05-19 02:01:48.000000000 +0000
@@ -38,7 +38,7 @@ f74f5720bf485dc971d7b4151b97318b  bfd/pe
 d714ee957aefa81619f03058d91b23cb  bfd/elfcore.h
 c81d65148831d8cdd82361f4e75ad0c2  bfd/elf64-mips.c
 57287cb3abe2dc7f66af4ab28aafebe9  bfd/cpu-m9s12x.c
-68c14524b9d2d8dae6ebd16d45ccd9ef  bfd/version.h
+6656c5fd7eff9f45957e425684349eea  bfd/version.h
 a107ac2f34a58b7629fbff59490f61f1  bfd/cpu-tilegx.c
 ceebc66a221f8f9297b660d643de9009  bfd/coff-mcore.c
 b33e0ba78cdd46c771e365ab8b48bfc1  bfd/cpu-avr.c
@@ -926,8 +926,8 @@ dd44cebeac33294f04a8cfbc55a589c3  gdb/xt
 001635cdda1a55a603854c760ae55c48  gdb/python/py-cmd.c
 afb00927983ce834b553cd4b764514bc  gdb/python/py-infthread.c
 f40fa46aee5e124221ecc85c11c0e625  gdb/python/py-continueevent.c
-fb153c0ced0a54b429192e95f106b3a5  gdb/python/python-internal.h
-a38017640c3f553d280275e044df15da  gdb/python/py-xmethods.c
+0250eced645246b12834b2dc5925c43a  gdb/python/python-internal.h
+982d024a39519b779e7d5c4ef735415a  gdb/python/py-xmethods.c
 7ddf01f608cf79b423b9d9cfecc99c34  gdb/python/py-objfile.c
 053cf89ff7248e637fc5f4819d000e07  gdb/python/py-event.h
 ef430d8660bd46238222bf0e10629d8b  gdb/python/py-frame.c
@@ -946,7 +946,7 @@ b68307c79ea7fbfd4dd39653799c7128  gdb/py
 b93b1d26036000c98a392c417b22726c  gdb/python/lib/gdb/command/frame_filters.py
 0cc0e39588d2acc4677ed6b8bf61ec5c  gdb/python/lib/gdb/command/xmethods.py
 ba2cb2fee1e73d65135811046402f734  gdb/python/lib/gdb/command/__init__.py
-5c5fb904615fd73c8f982e3c38f4813b  gdb/python/lib/gdb/xmethod.py
+0405892899d06e991f51ebf3bc2e27da  gdb/python/lib/gdb/xmethod.py
 1501ae1965a543ef50f95d4d24b7c2b9  gdb/python/lib/gdb/FrameIterator.py
 9354c6070f7d46c5c0554408ad1cb981  gdb/python/lib/gdb/frames.py
 ce5f5c3404b577e684de2f550735260e  gdb/python/lib/gdb/types.py
@@ -957,7 +957,7 @@ ce5f5c3404b577e684de2f550735260e  gdb/py
 48cfc29fc0f7ed269d8412f06b43af9d  gdb/python/lib/gdb/function/__init__.py
 c06b57b1bc52d4071b158cce9c4d6d84  gdb/python/lib/gdb/function/strfns.py
 05125a1ea2794b58c644490c393744a8  gdb/python/lib/gdb/printing.py
-760cf22186bb1ea5d748a27442f1daac  gdb/python/python.c
+ae2f4e89e76edb7a0059ed58c4476665  gdb/python/python.c
 690b61161bbe9d7678cedc6c4c83b4b9  gdb/python/py-inferior.c
 459ad8e2be3dd7311d2510811ceb5c18  gdb/python/py-symbol.c
 be45ac04057fb126de4afdf75e48eead  gdb/python/py-block.c
@@ -998,7 +998,7 @@ cefc955e3648ed3e16e8636d18fe01ec  gdb/re
 b140924f302460c58ebf7a177d15ace0  gdb/m68klinux-nat.c
 2994a2e0f3f51227e03b9340ab419c73  gdb/iq2000-tdep.c
 38dee62ccc0f2b4763b9e7636861fd50  gdb/ser-base.c
-04b4bfb9666ae68c9ab17396d120a9fa  gdb/version.in
+0d6e9ce3b7fbac28744bcefaf22ff227  gdb/version.in
 a8d8854bf856b98332256bb96b38d858  gdb/linux-record.c
 cc1acd769ea7271fec38ee4788737ad9  gdb/sparc64-sol2-tdep.c
 4e5a2f9ad7d2ff12e0b1f04a9c2c188e  gdb/amd64-nat.c
@@ -1043,7 +1043,7 @@ fe4143f3ce547c7ca0ef5c4972db2be8  gdb/na
 d85ee9981f740184585d800596071caa  gdb/dwarf2loc.c
 e336b2fe9efb3c7cb0327eeba00535ac  gdb/tracepoint.h
 43f2c7dc717f4dcf85e64827a51f443e  gdb/gnu-v3-abi.c
-c09e21356bd4f9251847da4f1ae99011  gdb/extension.h
+22c6a7782445f6fa4adbc96d16f66e8a  gdb/extension.h
 32eb990ce68b982a014489482656b08d  gdb/reverse.c
 9ec0feb32242c0b49837e51e11337346  gdb/i386obsd-tdep.c
 9f2c0941b62ad06168b475f94456758f  gdb/dictionary.h
@@ -1236,7 +1236,7 @@ cbd451a00769a9c8c7c6cd52f55b861b  gdb/sp
 2bf7d0eb07c73f019c7d3e6a908c8524  gdb/environ.h
 b30a9321996160345deeb868fb99280e  gdb/m32r-linux-nat.c
 2d0cad5387bf3be80d7e445a4954af0a  gdb/gdb_bfd.c
-142916870d4c8a145114a385b8b963f5  gdb/NEWS
+73adc989d7a8b606e671f658b53da8df  gdb/NEWS
 b4133d1e27b97096efb8d84ee2b7d3eb  gdb/ppcnbsd-tdep.h
 a9b65db6bf004e64ec3699d48e10521a  gdb/x86-nat.c
 367bb9fbe21d534fdf0bb25af4eadbe0  gdb/dcache.c
@@ -1875,7 +1875,7 @@ b84514c6b4958628720d21bb3dfb6690  gdb/te
 d33da31e9602c754cd11dcc3f1da1896  gdb/testsuite/gdb.python/py-infthread.c
 f27179eb6877ad0e86fa4a913e22cd29  gdb/testsuite/gdb.python/Makefile.in
 a4418bf48b1d8c2c93922eedc8426fe6  gdb/testsuite/gdb.python/py-explore.cc
-ec964688d3fd4af00c8fcb447005dfc3  gdb/testsuite/gdb.python/py-xmethods.exp
+c2094d74a0fd6d1a711e374891ad8b78  gdb/testsuite/gdb.python/py-xmethods.exp
 c9d03aac243bc8b9caea2ffb46064200  gdb/testsuite/gdb.python/py-error.py
 5c5cbca7755aa0a8ee3a9ab7314d3964  gdb/testsuite/gdb.python/py-finish-breakpoint.exp
 0d47196e435c7546054ee0f443ea68d7  gdb/testsuite/gdb.python/py-objfile-script.c
@@ -1911,7 +1911,7 @@ e3a353f9e9f3f2834a5ecd501042cd9c  gdb/te
 2201fe232be56f834518596b4f09f9ce  gdb/testsuite/gdb.python/py-frame.c
 368512990d9d06b346f042d576dfd08f  gdb/testsuite/gdb.python/py-symtab.exp
 0969ef8cea7860173eb20f931b99a09d  gdb/testsuite/gdb.python/amd64-py-framefilter-invalidarg.S
-a7fd5f2ac012c6829f68fc8f71137fc4  gdb/testsuite/gdb.python/py-xmethods.py
+bb28991622dcd98f5f74b2d87143d7af  gdb/testsuite/gdb.python/py-xmethods.py
 efcbbefe2a6177f1335f0a210260d4e5  gdb/testsuite/gdb.python/py-error.exp
 1353affc8c7415075c7e36eea3d1c21b  gdb/testsuite/gdb.python/py-pp-registration.c
 24561d1ee498a4ed9f4cf39e7ea57a8e  gdb/testsuite/gdb.python/py-strfns.exp
@@ -3661,7 +3661,7 @@ b047847a5183b4462b5b135cfd964543  gdb/te
 4127afeb79b2a2bff6c65f128ebd5969  gdb/testsuite/gdb.go/integers.exp
 ea5ff936bcbd68cbc91cb8771230db91  gdb/testsuite/gdb.go/strings.go
 81b7ed6cb92c627d245bd2efc4b953b9  gdb/testsuite/gdb.go/methods.go
-676021fef781d2f09dcbd9f1b4c7f4c1  gdb/testsuite/ChangeLog
+a8852cfc6ecb1a0b732fe8c212b5f357  gdb/testsuite/ChangeLog
 b3f11b21e5921c419a43f93720dedf85  gdb/testsuite/gdb.asm/empty.inc
 37858e142701cb0c2b792e4f739ee3eb  gdb/testsuite/gdb.asm/asm-source.exp
 f1621bbbb2acbec5adef86d7d9549975  gdb/testsuite/gdb.asm/bfin.inc
@@ -4301,43 +4301,43 @@ f5615bbb876f5d6b8ff495ea635f223d  gdb/f-
 e88f32d160934e36fa7d803d483a1e2e  gdb/gdb_curses.h
 1bbdb3e7ea9ca53f9a8cf1a548dca9f5  gdb/jv-valprint.c
 8108dd8f906f2654fecc74958cf383db  gdb/doc/psrc.sed
-c60c595837eac675df31b294c2ab0d55  gdb/doc/gdb.info-3
-45af2c449d0c0490d48c255536c6537a  gdb/doc/gdb.info-4
+eb61d938449c189a672649fea397f452  gdb/doc/gdb.info-3
+50f0c2d4820c3497ce4bf68a5b901a81  gdb/doc/gdb.info-4
 ab0fe311032294b952da80585b8b90e7  gdb/doc/fdl.texi
 be5469929c58735017a3a1e083554ac7  gdb/doc/Makefile.in
-616fd731bd0a200f662f3b3fcaf9f39f  gdb/doc/gdb.info-7
+6758fc2f1431e270b81cd83eaa7f7c31  gdb/doc/gdb.info-7
 65ee16c0a68d8954d5892092576beb66  gdb/doc/observer.texi
-e022d2a124191330f04c41500cc25d48  gdb/doc/gdbserver.1
+0986b66dc47bd99232774f96c08737dd  gdb/doc/gdbserver.1
 669fb3191fafb1ca7da855243682fe4e  gdb/doc/guile.texi
 f81a0e00e0cb9e41b078069fb9bedb07  gdb/doc/stack_frame.txt
 ab34a4a36fd27cddd3c7838273cfb1dd  gdb/doc/stabs.info
-120ae3b421f88dfee4b23274131db9ec  gdb/doc/gdb.info-5
-826061b91b98a0c62bd6702dbab92b37  gdb/doc/gdb.info-8
+4ec00416c892f33df4a8702456c9031b  gdb/doc/gdb.info-5
+3c6f44c0fcf0534d8649b1723633112a  gdb/doc/gdb.info-8
 132df0593e237d8337cf0134804ca21e  gdb/doc/agentexpr.texi
-58007468627c2dfda8e45ed87aa53f76  gdb/doc/gdb.info-1
+5c9e2cb517b8db7e0e73902db55a92b5  gdb/doc/gdb.info-1
 d5d06eaf9b4d44aa442a4a281aa9aea4  gdb/doc/a4rc.sed
-67a176ae55ee59efc44171709036426e  gdb/doc/gdb.info-6
+f57c774ee9396ebdaee8ea6a166bab2b  gdb/doc/gdb.info-6
 85ce27a948be3709b3aa35643f9e6d15  gdb/doc/gdb.texinfo
 553b7fe1bf4b5d8b96fdb8cd83503de1  gdb/doc/stack_frame.svg
 04c82b1da7e894a6555868e4f86225af  gdb/doc/filter-for-doxygen
 938187ce9976cbeb134b49335770152c  gdb/doc/Doxyfile-gdb-api.in
 f828e05ce4faab3d297f32d540f77c99  gdb/doc/annotate.info
-1ca8d8789f4d4487494228e3269c1ab7  gdb/doc/gdb.info-2
+e8c7b43209f2fbd7bf3e88f1563544cd  gdb/doc/gdb.info-2
 df443225fa3e5719ca7e6925a7e633e0  gdb/doc/refcard.tex
 6076d300a46651562d4ecd0604442414  gdb/doc/stack_frame.png
-72940b685a40accc428618b07a2bd2bf  gdb/doc/gdb.info
-51f928aef51288aa002575df7e06ff0d  gdb/doc/python.texi
+53cb52a421831564c9fd5907f4e873cf  gdb/doc/gdb.info
+d2bcf4a1119be6ecdab32f18f2ce28f2  gdb/doc/python.texi
 fa1abec9272120122bf7638320e90d4c  gdb/doc/stabs.texinfo
-2f229ed628a6cb702cd13f63e84149a2  gdb/doc/ChangeLog
-515a597476dee8a8276e5f3d1e5f3731  gdb/doc/gdb.1
-42bea81f4ae36b1a82d07439ca55203e  gdb/doc/gcore.1
+aa28232ac8b3a9839ab1225fa29b918f  gdb/doc/ChangeLog
+8f53853f1b48100d659ff059a3cc09c4  gdb/doc/gdb.1
+86ecee53c6d15f7d245cc4815b0e4122  gdb/doc/gcore.1
 d39233c86ed6a6dc9e853ae6a11fe03e  gdb/doc/stack_frame.pdf
 2daa53916456ce35b6806c2883623b89  gdb/doc/Doxyfile-base.in
 7e8f20fd3b739803f4bd3991d35a4a1f  gdb/doc/all-cfg.texi
 bf96494e6e4d346175babd5ef9781882  gdb/doc/gpl.texi
 cd5e3faa9bd1b684a73c7d527cdb4988  gdb/doc/filter-params.pl
 7bfdb0765c5d050d204fbb30aeeba0d8  gdb/doc/stack_frame.eps
-5ff151722cfbf23c5d45d13b140bef2a  gdb/doc/gdbinit.5
+dada7aef324ce0bd0f23f43231e50234  gdb/doc/gdbinit.5
 d606e873666ae0bc7bc7c84d6c9c2332  gdb/doc/Doxyfile-gdb-xref.in
 705bf0b3fb65b3f7e3db4cc5d9ae8eba  gdb/doc/annotate.texinfo
 79278fc2f5486809779a9a8f8883d401  gdb/doc/doxy-index.in
@@ -4391,7 +4391,7 @@ d87f8f330dda7f736350ea5dcff5b709  gdb/Ch
 3c49e872223fbaefb7d1a33fd0eae45a  gdb/jv-lang.h
 7e2706eaacbb35897d275be7c50dfff4  gdb/annotate.c
 c667733a02d7abe1c3886b7e599d59a2  gdb/addrmap.h
-d226b66cc0f7c157a1659d78681430d5  gdb/valarith.c
+6db4dd77be0192ecb2de8b4aff0875be  gdb/valarith.c
 007371cacad8b0c1d96df7d48824dd78  gdb/rs6000-tdep.c
 b435883843e68b3d931ba9c5bc847baf  gdb/linux-fork.h
 3af332e7a5c17390716cb28719b4ca6c  gdb/dwarf2-frame.c
@@ -4452,7 +4452,7 @@ e398188b306c7c23d4253596dae5f480  gdb/cl
 eae0a94d8fd20e81897b6b13c456cfff  gdb/build-id.c
 745c20cdca4268afdd6a48a5a13c8809  gdb/ppc64-tdep.h
 eb323e8e4796edcb53181d1b4288ea2f  gdb/c-valprint.c
-485b5b2b730e63562b5deb2ac5e10616  gdb/value.c
+1bdae9465224c63ba2f862049edc2a8e  gdb/value.c
 0bf5c532f850a33c6fb49ee8ab690d64  gdb/monitor.h
 2252bb0c6fc65d90455073084e7f07c1  gdb/dummy-frame.c
 e3bfb3408d763a4479366094ffe36423  gdb/ser-mingw.c
@@ -4785,7 +4785,7 @@ a2509648a696577602fe842823c5dff2  gdb/ar
 5f66ee75267a1aefd513d3b1f099e640  gdb/xml-tdesc.h
 8cca381d4f2a1dfe07e1dab480d7aef8  gdb/h8300-tdep.c
 9c87783c6c244025e4d12bed37269030  gdb/jv-varobj.c
-55df8f241cff999630cb400dab64e47e  gdb/extension-priv.h
+b01791af58a9c31374e8400c80e2ba5c  gdb/extension-priv.h
 0be04d4a3ebc5d4cd210e42f0cf687ba  gdb/s390-linux-tdep.h
 21b544dd9ad1036d7ac452efe96451b2  gdb/psymtab.h
 75aace8413ca48f047ea939bd429c319  gdb/solib-som.c
@@ -4799,7 +4799,7 @@ e5c081bec329720b4c0d37fb1bf8adae  gdb/p-
 f1679b5d9950d66febb8259748700963  gdb/std-regs.c
 9da9e540b1c6970695a3161272737803  gdb/go-lang.h
 23e51b25e50614cfba06a52e405e2243  gdb/i386-windows-nat.c
-c8d8dada5a3c4f5b3782a6bc39f58127  gdb/po/gdb.pot
+95f497b90f92f7efbde50044ed66135a  gdb/po/gdb.pot
 1851bff0653201a488dcae18dde7efad  gdb/po/gdbtext
 30821c78a3fca620918958301a2f928c  gdb/ada-lang.c
 5e0c6b053fd9575dde3084e69835d9c3  gdb/dcache.h
@@ -4825,7 +4825,7 @@ b21eb0affa9c0fa159d8dc3a1483410e  gdb/jv
 32bb803ab1e68860f1402dbe7e2cb0f5  gdb/nbsd-nat.h
 83df4734061e07b644f77632819578cf  gdb/mipsread.c
 f5c872d4805a7ac039b4dfc840f4bb8a  gdb/amd64-darwin-tdep.c
-35b4e9f82b92218ff3618b59e658b8a2  gdb/ChangeLog
+37b0f420eded859c0b7eb899549badfb  gdb/ChangeLog
 5a1dbe4837b41ee2b9cc7a35e0d20a61  gdb/go-typeprint.c
 c6de4736a691dfc690f55e7b69880511  gdb/score-tdep.c
 5a44fd4377f0804008a3697e72efbfe3  gdb/xml-support.h
@@ -5123,7 +5123,7 @@ b4b095e621f27829718f00101bd76fb7  gdb/gd
 47e940600eb263f27f440beadfe555ec  gdb/gdbserver/hostio.c
 8f0ecfd98ee046ab100e79a64c8de78b  gdb/data-directory/Makefile.in
 381fe26cbbfbfb4fcb04cb352621ab9c  gdb/dwarf2expr.h
-bd8d2cbad3d9df81721b5ebb0c33add9  gdb/extension.c
+70d830386e9f1486711486957d5e53db  gdb/extension.c
 1fcc42640608c1f7773ad7f6d3812e2d  gdb/exec.h
 51ac2b84d98cdd3f11e9a16373ab8f1a  gdb/stubs/ia64vms-stub.c
 04ef5745a7e6781587638a72b849da35  gdb/stubs/m68k-stub.c
@@ -5345,7 +5345,7 @@ c74ba78d65af10c9d66a47f69528a3f7  gdb/co
 2cdbb6a9f01591a064ebabfb6814cbb6  gdb/compile/compile-internal.h
 ff817c42642e32ef226c6c7f3e0ba5d6  gdb/compile/compile-object-load.h
 fc102a96ad8edaf8880b122cf3238ceb  gdb/compile/compile-c-types.c
-62f561962b302747569f4b517351e538  gdb/value.h
+9bb697730645fdc28ba83a1c2a2944d4  gdb/value.h
 89e723ed1904dec1bb89f173dfb02d04  gdb/auxv.h
 bdd27a37dba3060b5639f2daffd31353  gdb/solib-som.h
 9e7a629e6eff16aed33cfee5a34ffc9d  gdb/i386-dicos-tdep.c
@@ -5374,7 +5374,7 @@ f34edbe85fc59a2124c5d67adf01558f  gdb/lm
 da8368405de752b13619c4c68dfb014f  gdb/continuations.c
 54e6fc9241d390a57d849bfdb926d322  gdb/jv-typeprint.c
 ec56c25e69bc4e7f738d3d4b9a2f9362  gdb/bfin-tdep.h
-0313da8d6df458c76efeb79891d09717  gdb/eval.c
+7ecfd180af068bc3c6c90bc7d579674b  gdb/eval.c
 925fee6a3fa8c530a94989508ef6cc74  gdb/ui-out.c
 97b392a774a2c1ca9a70036199ca5a00  gdb/amd64-dicos-tdep.c
 96a23116f5cf0ede8bd634a02911d31d  gdb/break-catch-sig.c
