diff --git a/gdb-6.3-gstack-20050411.patch b/gdb-6.3-gstack-20050411.patch index ebda89b..226e933 100644 --- a/gdb-6.3-gstack-20050411.patch +++ b/gdb-6.3-gstack-20050411.patch @@ -4,11 +4,11 @@ to install and uninstall. * gstack.sh, gstack.1: New files. -Index: gdb-7.6/gdb/Makefile.in +Index: gdb-7.7/gdb/Makefile.in =================================================================== ---- gdb-7.6.orig/gdb/Makefile.in 2013-05-21 13:26:33.496820763 +0200 -+++ gdb-7.6/gdb/Makefile.in 2013-05-21 13:26:33.609819579 +0200 -@@ -1029,7 +1029,7 @@ info install-info clean-info dvi pdf ins +--- gdb-7.7.orig/gdb/Makefile.in 2014-02-06 20:29:09.401214339 +0100 ++++ gdb-7.7/gdb/Makefile.in 2014-02-06 20:29:09.501214360 +0100 +@@ -1067,7 +1067,7 @@ info install-info clean-info dvi pdf ins install: all @$(MAKE) $(FLAGS_TO_PASS) install-only @@ -17,7 +17,7 @@ Index: gdb-7.6/gdb/Makefile.in transformed_name=`t='$(program_transform_name)'; \ echo gdb | sed -e "$$t"` ; \ if test "x$$transformed_name" = x; then \ -@@ -1060,7 +1060,25 @@ install-only: $(CONFIG_INSTALL) +@@ -1104,7 +1104,25 @@ install-strip: install-python: $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(GDB_DATADIR)/python/gdb @@ -44,7 +44,7 @@ Index: gdb-7.6/gdb/Makefile.in transformed_name=`t='$(program_transform_name)'; \ echo gdb | sed -e $$t` ; \ if test "x$$transformed_name" = x; then \ -@@ -1083,6 +1101,18 @@ uninstall: force $(CONFIG_UNINSTALL) +@@ -1127,6 +1145,18 @@ uninstall: force $(CONFIG_UNINSTALL) fi @$(MAKE) DO=uninstall "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do @@ -63,10 +63,10 @@ Index: gdb-7.6/gdb/Makefile.in # The C++ name parser can be built standalone for testing. test-cp-name-parser.o: cp-name-parser.c $(COMPILE) -DTEST_CPNAMES cp-name-parser.c -Index: gdb-7.6/gdb/gstack.sh +Index: gdb-7.7/gdb/gstack.sh =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.6/gdb/gstack.sh 2013-05-21 13:26:55.434625908 +0200 ++++ gdb-7.7/gdb/gstack.sh 2014-02-06 20:29:09.501214360 +0100 @@ -0,0 +1,43 @@ +#!/bin/sh + @@ -111,10 +111,10 @@ Index: gdb-7.6/gdb/gstack.sh + -e 's/^\((gdb) \)*//' \ + -e '/^#/p' \ + -e '/^Thread/p' -Index: gdb-7.6/gdb/testsuite/gdb.base/gstack.exp +Index: gdb-7.7/gdb/testsuite/gdb.base/gstack.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.6/gdb/testsuite/gdb.base/gstack.exp 2013-05-21 13:26:55.434625908 +0200 ++++ gdb-7.7/gdb/testsuite/gdb.base/gstack.exp 2014-02-06 20:43:17.774747352 +0100 @@ -0,0 +1,66 @@ +# Copyright (C) 2012 Free Software Foundation, Inc. + @@ -133,7 +133,7 @@ Index: gdb-7.6/gdb/testsuite/gdb.base/gstack.exp + +set testfile gstack +set executable ${testfile} -+set binfile ${objdir}/${subdir}/$executable ++set binfile [standard_output_file $executable] +if {[build_executable ${testfile} ${executable} "" {debug}] == -1} { + return -1 +} @@ -182,10 +182,10 @@ Index: gdb-7.6/gdb/testsuite/gdb.base/gstack.exp +gdb_exit + +remote_exec host "kill -9 $pid" -Index: gdb-7.6/gdb/testsuite/gdb.base/gstack.c +Index: gdb-7.7/gdb/testsuite/gdb.base/gstack.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.6/gdb/testsuite/gdb.base/gstack.c 2013-05-21 13:26:33.610819569 +0200 ++++ gdb-7.7/gdb/testsuite/gdb.base/gstack.c 2014-02-06 20:29:09.502214360 +0100 @@ -0,0 +1,43 @@ +/* This testcase is part of GDB, the GNU debugger. + diff --git a/gdb-6.3-readnever-20050907.patch b/gdb-6.3-readnever-20050907.patch index 1e9ef89..db05337 100644 --- a/gdb-6.3-readnever-20050907.patch +++ b/gdb-6.3-readnever-20050907.patch @@ -11,11 +11,11 @@ * gdb.texinfo (File Options): Document --readnever. -Index: gdb-7.6.50.20130731-cvs/gdb/doc/gdb.texinfo +Index: gdb-7.6.90.20140127/gdb/doc/gdb.texinfo =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/doc/gdb.texinfo 2013-08-02 16:12:54.970085942 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/doc/gdb.texinfo 2013-08-02 16:20:21.164687886 +0200 -@@ -1030,6 +1030,12 @@ Read each symbol file's entire symbol ta +--- gdb-7.6.90.20140127.orig/gdb/doc/gdb.texinfo 2014-01-27 22:42:53.150573603 +0100 ++++ gdb-7.6.90.20140127/gdb/doc/gdb.texinfo 2014-01-27 22:42:56.694576319 +0100 +@@ -1031,6 +1031,12 @@ Read each symbol file's entire symbol ta the default, which is to read it incrementally as it is needed. This makes startup slower, but makes future operations faster. @@ -28,11 +28,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/doc/gdb.texinfo @end table @node Mode Options -Index: gdb-7.6.50.20130731-cvs/gdb/main.c +Index: gdb-7.6.90.20140127/gdb/main.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/main.c 2013-08-02 16:12:54.974085948 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/main.c 2013-08-02 16:20:53.704731449 +0200 -@@ -459,6 +459,7 @@ captured_main (void *data) +--- gdb-7.6.90.20140127.orig/gdb/main.c 2014-01-27 22:42:53.153573606 +0100 ++++ gdb-7.6.90.20140127/gdb/main.c 2014-01-27 22:42:56.695576319 +0100 +@@ -473,6 +473,7 @@ captured_main (void *data) {"xdb", no_argument, &xdb_commands, 1}, {"dbx", no_argument, &dbx_commands, 1}, {"readnow", no_argument, &readnow_symbol_files, 1}, @@ -40,7 +40,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/main.c {"r", no_argument, &readnow_symbol_files, 1}, {"quiet", no_argument, &quiet, 1}, {"q", no_argument, &quiet, 1}, -@@ -1154,6 +1155,7 @@ Selection of debuggee and its files:\n\n +@@ -1164,6 +1165,7 @@ Selection of debuggee and its files:\n\n --se=FILE Use FILE as symbol file and executable file.\n\ --symbols=SYMFILE Read symbols from SYMFILE.\n\ --readnow Fully read symbol files on first access.\n\ @@ -48,10 +48,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/main.c --write Set writing into executable and core files.\n\n\ "), stream); fputs_unfiltered (_("\ -Index: gdb-7.6.50.20130731-cvs/gdb/symfile.c +Index: gdb-7.6.90.20140127/gdb/symfile.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/symfile.c 2013-08-02 16:12:54.975085949 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/symfile.c 2013-08-02 16:20:21.165687888 +0200 +--- gdb-7.6.90.20140127.orig/gdb/symfile.c 2014-01-27 22:42:53.154573607 +0100 ++++ gdb-7.6.90.20140127/gdb/symfile.c 2014-01-27 22:42:56.696576320 +0100 @@ -82,6 +82,7 @@ static void clear_symtab_users_cleanup ( /* Global variables owned by this file. */ @@ -60,34 +60,32 @@ Index: gdb-7.6.50.20130731-cvs/gdb/symfile.c /* Functions this file defines. */ -Index: gdb-7.6.50.20130731-cvs/gdb/dwarf2read.c +Index: gdb-7.6.90.20140127/gdb/dwarf2read.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/dwarf2read.c 2013-08-02 16:12:54.979085954 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/dwarf2read.c 2013-08-02 16:20:37.190709689 +0200 -@@ -69,6 +69,7 @@ - #include "f-lang.h" +--- gdb-7.6.90.20140127.orig/gdb/dwarf2read.c 2014-01-27 22:42:56.700576323 +0100 ++++ gdb-7.6.90.20140127/gdb/dwarf2read.c 2014-01-27 22:44:21.915641560 +0100 +@@ -70,6 +70,7 @@ #include "source.h" #include "filestuff.h" + #include "build-id.h" +#include "top.h" #include - #include "gdb_string.h" -@@ -1834,8 +1835,9 @@ dwarf2_has_info (struct objfile *objfile + #include +@@ -1975,7 +1976,8 @@ dwarf2_has_info (struct objfile *objfile (void *) names); dwarf2_per_objfile->objfile = objfile; } -- return (dwarf2_per_objfile->info.asection != NULL -- && dwarf2_per_objfile->abbrev.asection != NULL); -+ return (! readnever_symbol_files -+ && (dwarf2_per_objfile->info.asection != NULL -+ && dwarf2_per_objfile->abbrev.asection != NULL)); - } - - /* When loading sections, we look either for uncompressed section or for -Index: gdb-7.6.50.20130731-cvs/gdb/top.h +- return (!dwarf2_per_objfile->info.is_virtual ++ return !readnever_symbol_files && ++ (!dwarf2_per_objfile->info.is_virtual + && dwarf2_per_objfile->info.s.asection != NULL + && !dwarf2_per_objfile->abbrev.is_virtual + && dwarf2_per_objfile->abbrev.s.asection != NULL); +Index: gdb-7.6.90.20140127/gdb/top.h =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/top.h 2013-08-02 16:12:54.980085956 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/top.h 2013-08-02 16:20:21.169687893 +0200 +--- gdb-7.6.90.20140127.orig/gdb/top.h 2014-01-27 22:42:53.159573610 +0100 ++++ gdb-7.6.90.20140127/gdb/top.h 2014-01-27 22:42:56.701576324 +0100 @@ -59,6 +59,7 @@ extern void set_prompt (const char *s); /* From random places. */ diff --git a/gdb-6.3-test-pie-20050107.patch b/gdb-6.3-test-pie-20050107.patch index bb4acf7..6e9d562 100644 --- a/gdb-6.3-test-pie-20050107.patch +++ b/gdb-6.3-test-pie-20050107.patch @@ -1,25 +1,25 @@ -Index: gdb-7.5.91.20130323/gdb/testsuite/configure.ac +Index: gdb-7.6.90.20140127/gdb/testsuite/configure.ac =================================================================== ---- gdb-7.5.91.20130323.orig/gdb/testsuite/configure.ac 2013-03-11 09:59:00.000000000 +0100 -+++ gdb-7.5.91.20130323/gdb/testsuite/configure.ac 2013-03-23 19:47:24.189683555 +0100 +--- gdb-7.6.90.20140127.orig/gdb/testsuite/configure.ac 2014-01-27 22:41:19.281501688 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/configure.ac 2014-01-27 22:41:39.736517360 +0100 @@ -96,6 +96,6 @@ AC_OUTPUT([Makefile \ gdb.hp/gdb.aCC/Makefile gdb.hp/gdb.compat/Makefile \ gdb.hp/gdb.defects/Makefile gdb.linespec/Makefile \ gdb.mi/Makefile gdb.modula2/Makefile gdb.multi/Makefile \ - gdb.objc/Makefile gdb.opencl/Makefile gdb.opt/Makefile gdb.pascal/Makefile \ + gdb.objc/Makefile gdb.opencl/Makefile gdb.opt/Makefile gdb.pascal/Makefile gdb.pie/Makefile \ - gdb.python/Makefile gdb.reverse/Makefile gdb.stabs/Makefile \ + gdb.perf/Makefile gdb.python/Makefile gdb.reverse/Makefile gdb.stabs/Makefile \ gdb.threads/Makefile gdb.trace/Makefile gdb.xml/Makefile]) -Index: gdb-7.5.91.20130323/gdb/testsuite/configure +Index: gdb-7.6.90.20140127/gdb/testsuite/configure =================================================================== ---- gdb-7.5.91.20130323.orig/gdb/testsuite/configure 2013-03-11 09:59:00.000000000 +0100 -+++ gdb-7.5.91.20130323/gdb/testsuite/configure 2013-03-23 19:47:47.256822312 +0100 +--- gdb-7.6.90.20140127.orig/gdb/testsuite/configure 2014-01-27 22:41:19.283501689 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/configure 2014-01-27 22:41:49.933525172 +0100 @@ -3448,7 +3448,7 @@ done --ac_config_files="$ac_config_files Makefile gdb.ada/Makefile gdb.arch/Makefile gdb.asm/Makefile gdb.base/Makefile gdb.btrace/Makefile gdb.cell/Makefile gdb.cp/Makefile gdb.disasm/Makefile gdb.dwarf2/Makefile gdb.fortran/Makefile gdb.go/Makefile gdb.server/Makefile gdb.java/Makefile gdb.hp/Makefile gdb.hp/gdb.objdbg/Makefile gdb.hp/gdb.base-hp/Makefile gdb.hp/gdb.aCC/Makefile gdb.hp/gdb.compat/Makefile gdb.hp/gdb.defects/Makefile gdb.linespec/Makefile gdb.mi/Makefile gdb.modula2/Makefile gdb.multi/Makefile gdb.objc/Makefile gdb.opencl/Makefile gdb.opt/Makefile gdb.pascal/Makefile gdb.python/Makefile gdb.reverse/Makefile gdb.stabs/Makefile gdb.threads/Makefile gdb.trace/Makefile gdb.xml/Makefile" -+ac_config_files="$ac_config_files Makefile gdb.ada/Makefile gdb.arch/Makefile gdb.asm/Makefile gdb.base/Makefile gdb.btrace/Makefile gdb.cell/Makefile gdb.cp/Makefile gdb.disasm/Makefile gdb.dwarf2/Makefile gdb.fortran/Makefile gdb.go/Makefile gdb.server/Makefile gdb.java/Makefile gdb.hp/Makefile gdb.hp/gdb.objdbg/Makefile gdb.hp/gdb.base-hp/Makefile gdb.hp/gdb.aCC/Makefile gdb.hp/gdb.compat/Makefile gdb.hp/gdb.defects/Makefile gdb.linespec/Makefile gdb.mi/Makefile gdb.modula2/Makefile gdb.multi/Makefile gdb.objc/Makefile gdb.opencl/Makefile gdb.opt/Makefile gdb.pascal/Makefile gdb.pie/Makefile gdb.python/Makefile gdb.reverse/Makefile gdb.stabs/Makefile gdb.threads/Makefile gdb.trace/Makefile gdb.xml/Makefile" +-ac_config_files="$ac_config_files Makefile gdb.ada/Makefile gdb.arch/Makefile gdb.asm/Makefile gdb.base/Makefile gdb.btrace/Makefile gdb.cell/Makefile gdb.cp/Makefile gdb.disasm/Makefile gdb.dwarf2/Makefile gdb.fortran/Makefile gdb.go/Makefile gdb.server/Makefile gdb.java/Makefile gdb.hp/Makefile gdb.hp/gdb.objdbg/Makefile gdb.hp/gdb.base-hp/Makefile gdb.hp/gdb.aCC/Makefile gdb.hp/gdb.compat/Makefile gdb.hp/gdb.defects/Makefile gdb.linespec/Makefile gdb.mi/Makefile gdb.modula2/Makefile gdb.multi/Makefile gdb.objc/Makefile gdb.opencl/Makefile gdb.opt/Makefile gdb.pascal/Makefile gdb.perf/Makefile gdb.python/Makefile gdb.reverse/Makefile gdb.stabs/Makefile gdb.threads/Makefile gdb.trace/Makefile gdb.xml/Makefile" ++ac_config_files="$ac_config_files Makefile gdb.ada/Makefile gdb.arch/Makefile gdb.asm/Makefile gdb.base/Makefile gdb.btrace/Makefile gdb.cell/Makefile gdb.cp/Makefile gdb.disasm/Makefile gdb.dwarf2/Makefile gdb.fortran/Makefile gdb.go/Makefile gdb.server/Makefile gdb.java/Makefile gdb.hp/Makefile gdb.hp/gdb.objdbg/Makefile gdb.hp/gdb.base-hp/Makefile gdb.hp/gdb.aCC/Makefile gdb.hp/gdb.compat/Makefile gdb.hp/gdb.defects/Makefile gdb.linespec/Makefile gdb.mi/Makefile gdb.modula2/Makefile gdb.multi/Makefile gdb.objc/Makefile gdb.opencl/Makefile gdb.opt/Makefile gdb.pascal/Makefile gdb.pie/Makefile gdb.perf/Makefile gdb.python/Makefile gdb.reverse/Makefile gdb.stabs/Makefile gdb.threads/Makefile gdb.trace/Makefile gdb.xml/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -28,13 +28,13 @@ Index: gdb-7.5.91.20130323/gdb/testsuite/configure "gdb.opt/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.opt/Makefile" ;; "gdb.pascal/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.pascal/Makefile" ;; + "gdb.pie/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.pie/Makefile" ;; + "gdb.perf/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.perf/Makefile" ;; "gdb.python/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.python/Makefile" ;; "gdb.reverse/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.reverse/Makefile" ;; - "gdb.stabs/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.stabs/Makefile" ;; -Index: gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/attach.c +Index: gdb-7.6.90.20140127/gdb/testsuite/gdb.pie/attach.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/attach.c 2013-03-23 19:47:24.191683466 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/gdb.pie/attach.c 2014-01-27 22:41:19.284501690 +0100 @@ -0,0 +1,20 @@ +/* This program is intended to be started outside of gdb, and then + attached to by gdb. Thus, it simply spins in a loop. The loop @@ -56,10 +56,10 @@ Index: gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/attach.c + } + return 0; +} -Index: gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/attach2.c +Index: gdb-7.6.90.20140127/gdb/testsuite/gdb.pie/attach2.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/attach2.c 2013-03-23 19:47:24.192683421 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/gdb.pie/attach2.c 2014-01-27 22:41:19.284501690 +0100 @@ -0,0 +1,24 @@ +/* This program is intended to be started outside of gdb, and then + attached to by gdb. Thus, it simply spins in a loop. The loop @@ -85,10 +85,10 @@ Index: gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/attach2.c + } + return (0); +} -Index: gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/break.c +Index: gdb-7.6.90.20140127/gdb/testsuite/gdb.pie/break.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/break.c 2013-03-23 19:47:24.192683421 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/gdb.pie/break.c 2014-01-27 22:41:19.284501690 +0100 @@ -0,0 +1,146 @@ +/* This testcase is part of GDB, the GNU debugger. + @@ -236,10 +236,10 @@ Index: gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/break.c + } + return 0; +} -Index: gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/break1.c +Index: gdb-7.6.90.20140127/gdb/testsuite/gdb.pie/break1.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/break1.c 2013-03-23 19:47:24.192683421 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/gdb.pie/break1.c 2014-01-27 22:41:19.284501690 +0100 @@ -0,0 +1,44 @@ +/* This testcase is part of GDB, the GNU debugger. + @@ -285,10 +285,10 @@ Index: gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/break1.c +void marker3 (a, b) char *a, *b; {} /* set breakpoint 18 here */ +void marker4 (d) long d; {} /* set breakpoint 13 here */ +#endif -Index: gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/coremaker.c +Index: gdb-7.6.90.20140127/gdb/testsuite/gdb.pie/coremaker.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/coremaker.c 2013-03-23 19:47:24.192683421 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/gdb.pie/coremaker.c 2014-01-27 22:41:19.284501690 +0100 @@ -0,0 +1,142 @@ +/* Copyright 1992, 1993, 1994, 1995, 1996, 1999 + Free Software Foundation, Inc. @@ -432,10 +432,10 @@ Index: gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/coremaker.c + return 0; +} + -Index: gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/attach.exp +Index: gdb-7.6.90.20140127/gdb/testsuite/gdb.pie/attach.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/attach.exp 2013-03-23 19:47:24.193683377 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/gdb.pie/attach.exp 2014-01-27 22:41:19.285501691 +0100 @@ -0,0 +1,417 @@ +# Copyright 1997, 1999, 2002 Free Software Foundation, Inc. + @@ -854,10 +854,10 @@ Index: gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/attach.exp +do_call_attach_tests + +return 0 -Index: gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/break.exp +Index: gdb-7.6.90.20140127/gdb/testsuite/gdb.pie/break.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/break.exp 2013-03-23 19:47:24.194683332 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/gdb.pie/break.exp 2014-01-27 22:41:19.286501691 +0100 @@ -0,0 +1,962 @@ +# Copyright 1988, 1990, 1991, 1992, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2002, 2003, 2004 @@ -1821,10 +1821,10 @@ Index: gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/break.exp + send_gdb "set args main\n" + gdb_expect -re ".*$gdb_prompt $" {} +} -Index: gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/corefile.exp +Index: gdb-7.6.90.20140127/gdb/testsuite/gdb.pie/corefile.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/corefile.exp 2013-03-23 19:47:24.194683332 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/gdb.pie/corefile.exp 2014-01-27 22:41:19.286501691 +0100 @@ -0,0 +1,233 @@ +# Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000 +# Free Software Foundation, Inc. @@ -2059,10 +2059,10 @@ Index: gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/corefile.exp +gdb_test "up" "#\[0-9\]* *\[0-9xa-fH'\]* in .* \\(.*\\).*" "up in corefile.exp (reinit)" + +gdb_test "core" "No core file now." -Index: gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/Makefile.in +Index: gdb-7.6.90.20140127/gdb/testsuite/gdb.pie/Makefile.in =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/Makefile.in 2013-03-23 19:47:24.194683332 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/gdb.pie/Makefile.in 2014-01-27 22:41:19.286501691 +0100 @@ -0,0 +1,19 @@ +VPATH = @srcdir@ +srcdir = @srcdir@ diff --git a/gdb-6.3-test-self-20050110.patch b/gdb-6.3-test-self-20050110.patch index e36e70c..ff4ec73 100644 --- a/gdb-6.3-test-self-20050110.patch +++ b/gdb-6.3-test-self-20050110.patch @@ -6,20 +6,20 @@ * gdb.gdb/xfullpath.exp: Ditto. * gdb.gdb/observer.exp: Ditto. -Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/lib/selftest-support.exp +Index: gdb-7.6.90.20140127/gdb/testsuite/lib/selftest-support.exp =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/testsuite/lib/selftest-support.exp 2013-08-02 16:11:29.195971922 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/lib/selftest-support.exp 2013-08-02 16:12:20.404040378 +0200 -@@ -130,18 +130,18 @@ proc do_self_tests {function body} { - set GDB_FULLPATH [find_gdb $GDB] +--- gdb-7.6.90.20140127.orig/gdb/testsuite/lib/selftest-support.exp 2014-01-27 22:42:04.022535966 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/lib/selftest-support.exp 2014-01-27 22:42:42.630565675 +0100 +@@ -136,18 +136,18 @@ proc do_self_tests {function body} { + } # Remove any old copy lying around. -- remote_file host delete x$tool -+ #remote_file host delete x$tool +- remote_file host delete $xgdb ++ #remote_file host delete $xgdb gdb_start -- set file [remote_download host $GDB_FULLPATH x$tool] -+ #set file [remote_download host $GDB_FULLPATH x$tool] +- set file [remote_download host $GDB_FULLPATH $xgdb] ++ #set file [remote_download host $GDB_FULLPATH $xgdb] - set result [selftest_setup $file $function] + set result [selftest_setup $GDB_FULLPATH $function] diff --git a/gdb-6.5-bz216711-clone-is-outermost.patch b/gdb-6.5-bz216711-clone-is-outermost.patch index 1dfb83f..592c4e5 100644 --- a/gdb-6.5-bz216711-clone-is-outermost.patch +++ b/gdb-6.5-bz216711-clone-is-outermost.patch @@ -23,11 +23,11 @@ instead. Port to GDB-6.7. -Index: gdb-7.4.50.20120703/gdb/amd64-linux-tdep.c +Index: gdb-7.6.90.20140127/gdb/amd64-linux-tdep.c =================================================================== ---- gdb-7.4.50.20120703.orig/gdb/amd64-linux-tdep.c 2012-06-13 22:36:48.000000000 +0200 -+++ gdb-7.4.50.20120703/gdb/amd64-linux-tdep.c 2012-07-03 17:32:46.547563363 +0200 -@@ -271,6 +271,80 @@ amd64_linux_register_reggroup_p (struct +--- gdb-7.6.90.20140127.orig/gdb/amd64-linux-tdep.c 2014-02-04 23:40:06.263483469 +0100 ++++ gdb-7.6.90.20140127/gdb/amd64-linux-tdep.c 2014-02-04 23:47:18.438009290 +0100 +@@ -289,6 +289,80 @@ amd64_linux_register_reggroup_p (struct /* Set the program counter for process PTID to PC. */ @@ -108,20 +108,20 @@ Index: gdb-7.4.50.20120703/gdb/amd64-linux-tdep.c static void amd64_linux_write_pc (struct regcache *regcache, CORE_ADDR pc) { -@@ -1547,6 +1621,8 @@ amd64_linux_init_abi (struct gdbarch_inf +@@ -1607,6 +1681,8 @@ amd64_linux_init_abi_common(struct gdbar - amd64_linux_init_abi_common (info, gdbarch); + tdep->xsave_xcr0_offset = I386_LINUX_XSAVE_XCR0_OFFSET; + tdep->outermost_frame_p = amd64_linux_outermost_frame; + - /* GNU/Linux uses SVR4-style shared libraries. */ - set_solib_svr4_fetch_link_map_offsets - (gdbarch, svr4_lp64_fetch_link_map_offsets); -Index: gdb-7.4.50.20120703/gdb/amd64-tdep.c + /* Add the %orig_rax register used for syscall restarting. */ + set_gdbarch_write_pc (gdbarch, amd64_linux_write_pc); + +Index: gdb-7.6.90.20140127/gdb/amd64-tdep.c =================================================================== ---- gdb-7.4.50.20120703.orig/gdb/amd64-tdep.c 2012-06-16 17:20:22.000000000 +0200 -+++ gdb-7.4.50.20120703/gdb/amd64-tdep.c 2012-07-03 17:32:12.335604415 +0200 -@@ -2324,6 +2324,7 @@ amd64_frame_unwind_stop_reason (struct f +--- gdb-7.6.90.20140127.orig/gdb/amd64-tdep.c 2014-02-04 23:40:06.265483471 +0100 ++++ gdb-7.6.90.20140127/gdb/amd64-tdep.c 2014-02-04 23:45:40.846891653 +0100 +@@ -2359,6 +2359,7 @@ amd64_frame_unwind_stop_reason (struct f { struct amd64_frame_cache *cache = amd64_frame_cache (this_frame, this_cache); @@ -129,7 +129,7 @@ Index: gdb-7.4.50.20120703/gdb/amd64-tdep.c if (!cache->base_p) return UNWIND_UNAVAILABLE; -@@ -2332,6 +2333,10 @@ amd64_frame_unwind_stop_reason (struct f +@@ -2367,6 +2368,10 @@ amd64_frame_unwind_stop_reason (struct f if (cache->base == 0) return UNWIND_OUTERMOST; @@ -140,30 +140,31 @@ Index: gdb-7.4.50.20120703/gdb/amd64-tdep.c return UNWIND_NO_REASON; } -@@ -2341,6 +2346,7 @@ amd64_frame_this_id (struct frame_info * +@@ -2498,6 +2503,7 @@ amd64_sigtramp_frame_this_id (struct fra { struct amd64_frame_cache *cache = - amd64_frame_cache (this_frame, this_cache); + amd64_sigtramp_frame_cache (this_frame, this_cache); + struct gdbarch_tdep *tdep = gdbarch_tdep (get_frame_arch (this_frame)); if (!cache->base_p) - return; -@@ -2349,6 +2355,10 @@ amd64_frame_this_id (struct frame_info * - if (cache->base == 0) - return; - -+ /* Detect OS dependent outermost frames; such as `clone'. */ -+ if (tdep->outermost_frame_p && tdep->outermost_frame_p (this_frame)) -+ return; -+ - (*this_id) = frame_id_build (cache->base + 16, cache->pc); + (*this_id) = frame_id_build_unavailable_stack (get_frame_pc (this_frame)); +@@ -2506,6 +2512,11 @@ amd64_sigtramp_frame_this_id (struct fra + /* This marks the outermost frame. */ + return; + } ++ else if (tdep->outermost_frame_p && tdep->outermost_frame_p (this_frame)) ++ { ++ /* Detect OS dependent outermost frames; such as `clone'. */ ++ return; ++ } + else + (*this_id) = frame_id_build (cache->base + 16, get_frame_pc (this_frame)); } - -Index: gdb-7.4.50.20120703/gdb/i386-tdep.c +Index: gdb-7.6.90.20140127/gdb/i386-tdep.c =================================================================== ---- gdb-7.4.50.20120703.orig/gdb/i386-tdep.c 2012-06-18 19:31:34.000000000 +0200 -+++ gdb-7.4.50.20120703/gdb/i386-tdep.c 2012-07-03 17:32:12.339604409 +0200 -@@ -7655,6 +7655,9 @@ i386_gdbarch_init (struct gdbarch_info i +--- gdb-7.6.90.20140127.orig/gdb/i386-tdep.c 2014-02-04 23:40:06.267483473 +0100 ++++ gdb-7.6.90.20140127/gdb/i386-tdep.c 2014-02-04 23:43:33.048734974 +0100 +@@ -7830,6 +7830,9 @@ i386_gdbarch_init (struct gdbarch_info i tdep->xsave_xcr0_offset = -1; @@ -173,11 +174,11 @@ Index: gdb-7.4.50.20120703/gdb/i386-tdep.c tdep->record_regmap = i386_record_regmap; set_gdbarch_long_long_align_bit (gdbarch, 32); -Index: gdb-7.4.50.20120703/gdb/i386-tdep.h +Index: gdb-7.6.90.20140127/gdb/i386-tdep.h =================================================================== ---- gdb-7.4.50.20120703.orig/gdb/i386-tdep.h 2012-06-13 22:29:15.000000000 +0200 -+++ gdb-7.4.50.20120703/gdb/i386-tdep.h 2012-07-03 17:32:12.340604408 +0200 -@@ -219,6 +219,9 @@ struct gdbarch_tdep +--- gdb-7.6.90.20140127.orig/gdb/i386-tdep.h 2014-02-04 23:40:06.268483475 +0100 ++++ gdb-7.6.90.20140127/gdb/i386-tdep.h 2014-02-04 23:43:33.048734974 +0100 +@@ -192,6 +192,9 @@ struct gdbarch_tdep int (*i386_sysenter_record) (struct regcache *regcache); /* Parse syscall args. */ int (*i386_syscall_record) (struct regcache *regcache); @@ -187,10 +188,10 @@ Index: gdb-7.4.50.20120703/gdb/i386-tdep.h }; /* Floating-point registers. */ -Index: gdb-7.4.50.20120703/gdb/ia64-tdep.c +Index: gdb-7.6.90.20140127/gdb/ia64-tdep.c =================================================================== ---- gdb-7.4.50.20120703.orig/gdb/ia64-tdep.c 2012-07-03 17:30:09.000000000 +0200 -+++ gdb-7.4.50.20120703/gdb/ia64-tdep.c 2012-07-03 17:32:12.343604405 +0200 +--- gdb-7.6.90.20140127.orig/gdb/ia64-tdep.c 2014-02-04 23:40:06.270483477 +0100 ++++ gdb-7.6.90.20140127/gdb/ia64-tdep.c 2014-02-04 23:43:33.049734975 +0100 @@ -2176,6 +2176,138 @@ static const struct frame_unwind ia64_fr default_frame_sniffer }; @@ -330,7 +331,7 @@ Index: gdb-7.4.50.20120703/gdb/ia64-tdep.c /* Signal trampolines. */ static void -@@ -4146,6 +4278,7 @@ ia64_gdbarch_init (struct gdbarch_info i +@@ -4023,6 +4155,7 @@ ia64_gdbarch_init (struct gdbarch_info i set_gdbarch_dummy_id (gdbarch, ia64_dummy_id); set_gdbarch_unwind_pc (gdbarch, ia64_unwind_pc); @@ -338,10 +339,10 @@ Index: gdb-7.4.50.20120703/gdb/ia64-tdep.c #ifdef HAVE_LIBUNWIND_IA64_H frame_unwind_append_unwinder (gdbarch, &ia64_libunwind_sigtramp_frame_unwind); -Index: gdb-7.4.50.20120703/gdb/testsuite/gdb.threads/bt-clone-stop.c +Index: gdb-7.6.90.20140127/gdb/testsuite/gdb.threads/bt-clone-stop.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.4.50.20120703/gdb/testsuite/gdb.threads/bt-clone-stop.c 2012-07-03 17:32:12.344604404 +0200 ++++ gdb-7.6.90.20140127/gdb/testsuite/gdb.threads/bt-clone-stop.c 2014-02-04 23:43:33.050734976 +0100 @@ -0,0 +1,39 @@ +/* This testcase is part of GDB, the GNU debugger. + @@ -382,10 +383,10 @@ Index: gdb-7.4.50.20120703/gdb/testsuite/gdb.threads/bt-clone-stop.c + for (;;) + pause(); +} -Index: gdb-7.4.50.20120703/gdb/testsuite/gdb.threads/bt-clone-stop.exp +Index: gdb-7.6.90.20140127/gdb/testsuite/gdb.threads/bt-clone-stop.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.4.50.20120703/gdb/testsuite/gdb.threads/bt-clone-stop.exp 2012-07-03 17:32:12.344604404 +0200 ++++ gdb-7.6.90.20140127/gdb/testsuite/gdb.threads/bt-clone-stop.exp 2014-02-04 23:43:33.050734976 +0100 @@ -0,0 +1,61 @@ +# Copyright 2006 Free Software Foundation, Inc. + diff --git a/gdb-6.6-buildid-locate-core-as-arg.patch b/gdb-6.6-buildid-locate-core-as-arg.patch index 532d92c..2ef4255 100644 --- a/gdb-6.6-buildid-locate-core-as-arg.patch +++ b/gdb-6.6-buildid-locate-core-as-arg.patch @@ -58,13 +58,13 @@ Http://sourceware.org/ml/gdb-patches/2010-01/msg00517.html * exec.c (exec_file_attach): Print a more useful error message if the user did "gdb core". -Index: gdb-7.6.50.20130731-cvs/gdb/exceptions.h +Index: gdb-7.6.90.20140127/gdb/exceptions.h =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/exceptions.h 2013-08-02 16:29:44.770440262 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/exceptions.h 2013-08-02 16:30:06.197468727 +0200 -@@ -90,6 +90,9 @@ enum errors { - aborted as the inferior state is no longer valid. */ - TARGET_CLOSE_ERROR, +--- gdb-7.6.90.20140127.orig/gdb/exceptions.h 2014-02-06 17:31:00.148529736 +0100 ++++ gdb-7.6.90.20140127/gdb/exceptions.h 2014-02-06 17:31:17.560548525 +0100 +@@ -97,6 +97,9 @@ enum errors { + /* An undefined command was executed. */ + UNDEFINED_COMMAND_ERROR, + /* Attempt to load a core file as executable. */ + IS_CORE_ERROR, @@ -72,10 +72,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/exceptions.h /* Add more errors here. */ NR_ERRORS }; -Index: gdb-7.6.50.20130731-cvs/gdb/exec.c +Index: gdb-7.6.90.20140127/gdb/exec.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/exec.c 2013-08-02 16:29:44.771440264 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/exec.c 2013-08-02 16:31:30.100618657 +0200 +--- gdb-7.6.90.20140127.orig/gdb/exec.c 2014-02-06 17:30:58.266527708 +0100 ++++ gdb-7.6.90.20140127/gdb/exec.c 2014-02-06 17:31:00.149529737 +0100 @@ -34,6 +34,7 @@ #include "gdbthread.h" #include "progspace.h" @@ -84,7 +84,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/exec.c #include #include "readline/readline.h" -@@ -217,12 +218,27 @@ exec_file_attach (char *filename, int fr +@@ -228,12 +229,27 @@ exec_file_attach (char *filename, int fr if (!bfd_check_format_matches (exec_bfd, bfd_object, &matching)) { @@ -115,11 +115,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/exec.c } if (build_section_table (exec_bfd, §ions, §ions_end)) -Index: gdb-7.6.50.20130731-cvs/gdb/main.c +Index: gdb-7.6.90.20140127/gdb/main.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/main.c 2013-08-02 16:29:44.772440265 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/main.c 2013-08-02 16:30:06.199468730 +0200 -@@ -300,6 +300,36 @@ typedef struct cmdarg { +--- gdb-7.6.90.20140127.orig/gdb/main.c 2014-02-06 17:30:58.267527709 +0100 ++++ gdb-7.6.90.20140127/gdb/main.c 2014-02-06 17:32:32.232629052 +0100 +@@ -307,6 +307,36 @@ typedef struct cmdarg { /* Define type VEC (cmdarg_s). */ DEF_VEC_O (cmdarg_s); @@ -156,7 +156,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/main.c static int captured_main (void *data) { -@@ -810,6 +840,8 @@ captured_main (void *data) +@@ -824,6 +854,8 @@ captured_main (void *data) { symarg = argv[optind]; execarg = argv[optind]; @@ -165,7 +165,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/main.c optind++; } -@@ -975,11 +1007,25 @@ captured_main (void *data) +@@ -987,11 +1019,25 @@ captured_main (void *data) && symarg != NULL && strcmp (execarg, symarg) == 0) { @@ -191,6 +191,6 @@ Index: gdb-7.6.50.20130731-cvs/gdb/main.c + as a core file. */ + if (catch_command_errors (func, execarg, !batch_flag, RETURN_MASK_ALL) + && core_bfd == NULL) - catch_command_errors (symbol_file_add_main, symarg, - !batch_flag, RETURN_MASK_ALL); + catch_command_errors_const (symbol_file_add_main, symarg, + !batch_flag, RETURN_MASK_ALL); } diff --git a/gdb-6.6-buildid-locate-rpm-librpm-workaround.patch b/gdb-6.6-buildid-locate-rpm-librpm-workaround.patch index 7cbffa2..dd409e5 100644 --- a/gdb-6.6-buildid-locate-rpm-librpm-workaround.patch +++ b/gdb-6.6-buildid-locate-rpm-librpm-workaround.patch @@ -1,8 +1,20 @@ -Index: gdb-7.4.50.20120602/gdb/elfread.c +Index: gdb-7.6.90.20140127/gdb/proc-service.list =================================================================== ---- gdb-7.4.50.20120602.orig/gdb/elfread.c 2012-06-02 21:35:09.669510757 +0200 -+++ gdb-7.4.50.20120602/gdb/elfread.c 2012-06-02 21:35:31.106502660 +0200 -@@ -1658,6 +1658,19 @@ build_id_to_filename (struct build_id *b +--- gdb-7.6.90.20140127.orig/gdb/proc-service.list 2014-02-06 17:32:42.810640320 +0100 ++++ gdb-7.6.90.20140127/gdb/proc-service.list 2014-02-06 17:33:35.406696964 +0100 +@@ -37,4 +37,7 @@ + ps_pstop; + ps_ptread; + ps_ptwrite; ++ ++ /* gdb-6.6-buildid-locate-rpm.patch */ ++ rpmsqEnable; + }; +Index: gdb-7.6.90.20140127/gdb/build-id.c +=================================================================== +--- gdb-7.6.90.20140127.orig/gdb/build-id.c 2014-02-06 17:30:14.230480264 +0100 ++++ gdb-7.6.90.20140127/gdb/build-id.c 2014-02-06 17:34:28.846754283 +0100 +@@ -677,6 +677,19 @@ build_id_to_filename (const struct elf_b #include #endif @@ -22,15 +34,3 @@ Index: gdb-7.4.50.20120602/gdb/elfread.c /* This MISSING_RPM_HASH tracker is used to collect all the missing rpm files and avoid their duplicities during a single inferior run. */ -Index: gdb-7.4.50.20120602/gdb/proc-service.list -=================================================================== ---- gdb-7.4.50.20120602.orig/gdb/proc-service.list 2012-06-02 21:35:09.669510757 +0200 -+++ gdb-7.4.50.20120602/gdb/proc-service.list 2012-06-02 21:35:14.296508989 +0200 -@@ -37,4 +37,7 @@ - ps_pstop; - ps_ptread; - ps_ptwrite; -+ -+ /* gdb-6.6-buildid-locate-rpm.patch */ -+ rpmsqEnable; - }; diff --git a/gdb-6.6-buildid-locate-rpm-scl.patch b/gdb-6.6-buildid-locate-rpm-scl.patch index 86ebfb6..9efb33e 100644 --- a/gdb-6.6-buildid-locate-rpm-scl.patch +++ b/gdb-6.6-buildid-locate-rpm-scl.patch @@ -1,9 +1,11 @@ warning: Skipping deprecated .gdb_index section https://bugzilla.redhat.com/show_bug.cgi?id=953585 ---- gdb-7.5.91.20130407-orig/gdb/dwarf2read.c 2013-04-22 15:47:18.837806752 +0200 -+++ gdb-7.5.91.20130407/gdb/dwarf2read.c 2013-04-22 16:12:55.043171881 +0200 -@@ -2700,6 +2700,14 @@ read_index_from_section (struct objfile +Index: gdb-7.6.90.20140127/gdb/dwarf2read.c +=================================================================== +--- gdb-7.6.90.20140127.orig/gdb/dwarf2read.c 2014-02-06 18:28:23.756232026 +0100 ++++ gdb-7.6.90.20140127/gdb/dwarf2read.c 2014-02-06 18:28:48.969259122 +0100 +@@ -3035,6 +3035,14 @@ read_index_from_section (struct objfile "set use-deprecated-index-sections on". */ if (version < 6 && !deprecated_ok) { @@ -18,7 +20,7 @@ https://bugzilla.redhat.com/show_bug.cgi?id=953585 static int warning_printed = 0; if (!warning_printed) { -@@ -2711,6 +2719,8 @@ to use the section anyway."), +@@ -3046,6 +3054,8 @@ to use the section anyway."), warning_printed = 1; } return 0; @@ -26,10 +28,12 @@ https://bugzilla.redhat.com/show_bug.cgi?id=953585 + } } /* Version 7 indices generated by gold refer to the CU for a symbol instead - of the TU (for symbols coming from TUs). It's just a performance bug, and ---- gdb-7.5.91.20130407-orig/gdb/elfread.c 2013-04-22 15:47:18.637807200 +0200 -+++ gdb-7.5.91.20130407/gdb/elfread.c 2013-04-22 16:04:09.259429034 +0200 -@@ -1674,7 +1674,7 @@ static int missing_rpm_list_entries; + of the TU (for symbols coming from TUs), +Index: gdb-7.6.90.20140127/gdb/build-id.c +=================================================================== +--- gdb-7.6.90.20140127.orig/gdb/build-id.c 2014-02-06 18:28:23.758232029 +0100 ++++ gdb-7.6.90.20140127/gdb/build-id.c 2014-02-06 18:28:26.814235312 +0100 +@@ -711,7 +711,7 @@ static int missing_rpm_list_entries; /* Returns the count of newly added rpms. */ static int @@ -38,7 +42,7 @@ https://bugzilla.redhat.com/show_bug.cgi?id=953585 { static int rpm_init_done = 0; rpmts ts; -@@ -1778,7 +1778,7 @@ missing_rpm_enlist (const char *filename +@@ -815,7 +815,7 @@ missing_rpm_enlist (const char *filename mi = rpmtsInitIterator_p (ts, RPMTAG_BASENAMES, filename, 0); if (mi != NULL) { @@ -47,7 +51,7 @@ https://bugzilla.redhat.com/show_bug.cgi?id=953585 { Header h; char *debuginfo, **slot, *s, *s2; -@@ -1897,6 +1897,35 @@ missing_rpm_enlist (const char *filename +@@ -933,6 +933,35 @@ missing_rpm_enlist (const char *filename xfree (debuginfo); count++; } @@ -83,7 +87,7 @@ https://bugzilla.redhat.com/show_bug.cgi?id=953585 rpmdbFreeIterator_p (mi); } -@@ -1907,6 +1936,19 @@ missing_rpm_enlist (const char *filename +@@ -943,6 +972,19 @@ missing_rpm_enlist (const char *filename } static int diff --git a/gdb-6.6-buildid-locate-rpm-suse.patch b/gdb-6.6-buildid-locate-rpm-suse.patch index 53b46f4..f81c95d 100644 --- a/gdb-6.6-buildid-locate-rpm-suse.patch +++ b/gdb-6.6-buildid-locate-rpm-suse.patch @@ -1,8 +1,8 @@ -Index: gdb-7.6.50.20130731-cvs/gdb/elfread.c +Index: gdb-7.7/gdb/build-id.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/elfread.c 2013-08-07 14:59:00.000000000 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/elfread.c 2013-08-07 15:01:35.000000000 +0200 -@@ -1863,9 +1863,9 @@ missing_rpm_enlist_1 (const char *filena +--- gdb-7.7.orig/gdb/build-id.c 2014-02-09 17:47:19.091979560 +0100 ++++ gdb-7.7/gdb/build-id.c 2014-02-09 17:50:48.936211228 +0100 +@@ -828,9 +828,9 @@ missing_rpm_enlist (const char *filename if (h == NULL) break; @@ -15,7 +15,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/elfread.c &err); if (!debuginfo) { -@@ -1873,60 +1873,19 @@ missing_rpm_enlist_1 (const char *filena +@@ -838,60 +838,19 @@ missing_rpm_enlist (const char *filename err); continue; } @@ -78,7 +78,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/elfread.c /* Base package name for `debuginfo-install'. We do not use the `yum' command directly as the line yum --enablerepo='*debug*' install NAME-debuginfo.ARCH -@@ -2053,7 +2012,7 @@ missing_rpm_list_print (void) +@@ -976,7 +935,7 @@ missing_rpm_list_print (void) (int (*) (const void *, const void *)) missing_rpm_list_compar); printf_unfiltered (_("Missing separate debuginfos, use: %s"), @@ -87,7 +87,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/elfread.c for (array_iter = array; array_iter < array + missing_rpm_list_entries; array_iter++) { -@@ -2266,8 +2225,12 @@ debug_print_missing (const char *binary, +@@ -1189,8 +1148,12 @@ debug_print_missing (const char *binary, fprintf_unfiltered (gdb_stdlog, _("Missing separate debuginfo for %s\n"), binary); if (debug != NULL) diff --git a/gdb-6.6-buildid-locate-rpm.patch b/gdb-6.6-buildid-locate-rpm.patch index e4c91cb..1cf789e 100644 --- a/gdb-6.6-buildid-locate-rpm.patch +++ b/gdb-6.6-buildid-locate-rpm.patch @@ -1,7 +1,7 @@ -Index: gdb-7.6.50.20130731-cvs/gdb/event-top.c +Index: gdb-7.6.90.20140127/gdb/event-top.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/event-top.c 2013-08-02 16:25:24.968094398 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/event-top.c 2013-08-02 16:25:38.638112874 +0200 +--- gdb-7.6.90.20140127.orig/gdb/event-top.c 2014-02-06 17:18:26.965717210 +0100 ++++ gdb-7.6.90.20140127/gdb/event-top.c 2014-02-06 16:59:23.174474404 +0100 @@ -37,6 +37,7 @@ #include "gdbcmd.h" /* for dont_repeat() */ #include "annotate.h" @@ -10,16 +10,16 @@ Index: gdb-7.6.50.20130731-cvs/gdb/event-top.c /* readline include files. */ #include "readline/readline.h" -@@ -171,6 +172,8 @@ rl_callback_read_char_wrapper (gdb_clien +@@ -173,6 +174,8 @@ rl_callback_read_char_wrapper (gdb_clien void - cli_command_loop (void) + cli_command_loop (void *data) { + debug_flush_missing (); + display_gdb_prompt (0); /* Now it's time to start the event loop. */ -@@ -238,6 +241,8 @@ display_gdb_prompt (char *new_prompt) +@@ -240,6 +243,8 @@ display_gdb_prompt (char *new_prompt) /* Reset the nesting depth used when trace-commands is set. */ reset_command_nest_depth (); @@ -28,458 +28,24 @@ Index: gdb-7.6.50.20130731-cvs/gdb/event-top.c /* Each interpreter has its own rules on displaying the command prompt. */ if (!current_interp_display_prompt_p ()) -Index: gdb-7.6.50.20130731-cvs/gdb/elfread.c +Index: gdb-7.6.90.20140127/gdb/symfile.h =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/elfread.c 2013-08-02 16:25:24.970094401 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/elfread.c 2013-08-02 16:25:27.336097557 +0200 -@@ -49,6 +49,7 @@ - #include "gdbcore.h" - #include "gdbcmd.h" - #include "observer.h" -+#include "elf/external.h" - #include - - extern void _initialize_elfread (void); -@@ -1701,8 +1702,360 @@ build_id_to_filename (const struct elf_b - return retval; - } - -+#ifdef HAVE_LIBRPM -+ -+#include -+#include -+#include -+#include -+#ifdef DLOPEN_LIBRPM -+#include -+#endif -+ -+/* This MISSING_RPM_HASH tracker is used to collect all the missing rpm files -+ and avoid their duplicities during a single inferior run. */ -+ -+static struct htab *missing_rpm_hash; -+ -+/* This MISSING_RPM_LIST tracker is used to collect and print as a single line -+ all the rpms right before the nearest GDB prompt. It gets cleared after -+ each such print (it is questionable if we should clear it after the print). -+ */ -+ -+struct missing_rpm -+ { -+ struct missing_rpm *next; -+ char rpm[1]; -+ }; -+static struct missing_rpm *missing_rpm_list; -+static int missing_rpm_list_entries; -+ -+/* Returns the count of newly added rpms. */ -+ -+static int -+missing_rpm_enlist (const char *filename) -+{ -+ static int rpm_init_done = 0; -+ rpmts ts; -+ rpmdbMatchIterator mi; -+ int count = 0; -+ -+#ifdef DLOPEN_LIBRPM -+ /* Duplicate here the declarations to verify they match. The same sanity -+ check is present also in `configure.ac'. */ -+ extern char * headerFormat(Header h, const char * fmt, errmsg_t * errmsg); -+ static char *(*headerFormat_p) (Header h, const char * fmt, errmsg_t *errmsg); -+ extern int rpmReadConfigFiles(const char * file, const char * target); -+ static int (*rpmReadConfigFiles_p) (const char * file, const char * target); -+ extern rpmdbMatchIterator rpmdbFreeIterator(rpmdbMatchIterator mi); -+ static rpmdbMatchIterator (*rpmdbFreeIterator_p) (rpmdbMatchIterator mi); -+ extern Header rpmdbNextIterator(rpmdbMatchIterator mi); -+ static Header (*rpmdbNextIterator_p) (rpmdbMatchIterator mi); -+ extern rpmts rpmtsCreate(void); -+ static rpmts (*rpmtsCreate_p) (void); -+ extern rpmts rpmtsFree(rpmts ts); -+ static rpmts (*rpmtsFree_p) (rpmts ts); -+ extern rpmdbMatchIterator rpmtsInitIterator(const rpmts ts, rpmTag rpmtag, -+ const void * keyp, size_t keylen); -+ static rpmdbMatchIterator (*rpmtsInitIterator_p) (const rpmts ts, -+ rpmTag rpmtag, -+ const void *keyp, -+ size_t keylen); -+#else /* !DLOPEN_LIBRPM */ -+# define headerFormat_p headerFormat -+# define rpmReadConfigFiles_p rpmReadConfigFiles -+# define rpmdbFreeIterator_p rpmdbFreeIterator -+# define rpmdbNextIterator_p rpmdbNextIterator -+# define rpmtsCreate_p rpmtsCreate -+# define rpmtsFree_p rpmtsFree -+# define rpmtsInitIterator_p rpmtsInitIterator -+#endif /* !DLOPEN_LIBRPM */ -+ -+ gdb_assert (filename != NULL); -+ -+ if (strcmp (filename, BUILD_ID_MAIN_EXECUTABLE_FILENAME) == 0) -+ return 0; -+ -+ if (filename[0] != '/') -+ { -+ warning (_("Ignoring non-absolute filename: <%s>"), filename); -+ return 0; -+ } -+ -+ if (!rpm_init_done) -+ { -+ static int init_tried; -+ -+ /* Already failed the initialization before? */ -+ if (init_tried) -+ return 0; -+ init_tried = 1; -+ -+#ifdef DLOPEN_LIBRPM -+ { -+ void *h; -+ -+ h = dlopen (DLOPEN_LIBRPM, RTLD_LAZY); -+ if (!h) -+ { -+ warning (_("Unable to open \"%s\" (%s), " -+ "missing debuginfos notifications will not be displayed"), -+ DLOPEN_LIBRPM, dlerror ()); -+ return 0; -+ } -+ -+ if (!((headerFormat_p = dlsym (h, "headerFormat")) -+ && (rpmReadConfigFiles_p = dlsym (h, "rpmReadConfigFiles")) -+ && (rpmdbFreeIterator_p = dlsym (h, "rpmdbFreeIterator")) -+ && (rpmdbNextIterator_p = dlsym (h, "rpmdbNextIterator")) -+ && (rpmtsCreate_p = dlsym (h, "rpmtsCreate")) -+ && (rpmtsFree_p = dlsym (h, "rpmtsFree")) -+ && (rpmtsInitIterator_p = dlsym (h, "rpmtsInitIterator")))) -+ { -+ warning (_("Opened library \"%s\" is incompatible (%s), " -+ "missing debuginfos notifications will not be displayed"), -+ DLOPEN_LIBRPM, dlerror ()); -+ if (dlclose (h)) -+ warning (_("Error closing library \"%s\": %s\n"), DLOPEN_LIBRPM, -+ dlerror ()); -+ return 0; -+ } -+ } -+#endif /* DLOPEN_LIBRPM */ -+ -+ if (rpmReadConfigFiles_p (NULL, NULL) != 0) -+ { -+ warning (_("Error reading the rpm configuration files")); -+ return 0; -+ } -+ -+ rpm_init_done = 1; -+ } -+ -+ ts = rpmtsCreate_p (); -+ -+ mi = rpmtsInitIterator_p (ts, RPMTAG_BASENAMES, filename, 0); -+ if (mi != NULL) -+ { -+ for (;;) -+ { -+ Header h; -+ char *debuginfo, **slot, *s, *s2; -+ errmsg_t err; -+ size_t srcrpmlen = sizeof (".src.rpm") - 1; -+ size_t debuginfolen = sizeof ("-debuginfo") - 1; -+ rpmdbMatchIterator mi_debuginfo; -+ -+ h = rpmdbNextIterator_p (mi); -+ if (h == NULL) -+ break; -+ -+ /* Verify the debuginfo file is not already installed. */ -+ -+ debuginfo = headerFormat_p (h, "%{sourcerpm}-debuginfo.%{arch}", -+ &err); -+ if (!debuginfo) -+ { -+ warning (_("Error querying the rpm file `%s': %s"), filename, -+ err); -+ continue; -+ } -+ /* s = `.src.rpm-debuginfo.%{arch}' */ -+ s = strrchr (debuginfo, '-') - srcrpmlen; -+ s2 = NULL; -+ if (s > debuginfo && memcmp (s, ".src.rpm", srcrpmlen) == 0) -+ { -+ /* s2 = `-%{release}.src.rpm-debuginfo.%{arch}' */ -+ s2 = memrchr (debuginfo, '-', s - debuginfo); -+ } -+ if (s2) -+ { -+ /* s2 = `-%{version}-%{release}.src.rpm-debuginfo.%{arch}' */ -+ s2 = memrchr (debuginfo, '-', s2 - debuginfo); -+ } -+ if (!s2) -+ { -+ warning (_("Error querying the rpm file `%s': %s"), filename, -+ debuginfo); -+ xfree (debuginfo); -+ continue; -+ } -+ /* s = `.src.rpm-debuginfo.%{arch}' */ -+ /* s2 = `-%{version}-%{release}.src.rpm-debuginfo.%{arch}' */ -+ memmove (s2 + debuginfolen, s2, s - s2); -+ memcpy (s2, "-debuginfo", debuginfolen); -+ /* s = `XXXX.%{arch}' */ -+ /* strlen ("XXXX") == srcrpmlen + debuginfolen */ -+ /* s2 = `-debuginfo-%{version}-%{release}XX.%{arch}' */ -+ /* strlen ("XX") == srcrpmlen */ -+ memmove (s + debuginfolen, s + srcrpmlen + debuginfolen, -+ strlen (s + srcrpmlen + debuginfolen) + 1); -+ /* s = `-debuginfo-%{version}-%{release}.%{arch}' */ -+ -+ /* RPMDBI_PACKAGES requires keylen == sizeof (int). */ -+ /* RPMDBI_LABEL is an interface for NVR-based dbiFindByLabel(). */ -+ mi_debuginfo = rpmtsInitIterator_p (ts, RPMDBI_LABEL, debuginfo, 0); -+ xfree (debuginfo); -+ if (mi_debuginfo) -+ { -+ rpmdbFreeIterator_p (mi_debuginfo); -+ count = 0; -+ break; -+ } -+ -+ /* The allocated memory gets utilized below for MISSING_RPM_HASH. */ -+ debuginfo = headerFormat_p (h, -+ "%{name}-%{version}-%{release}.%{arch}", -+ &err); -+ if (!debuginfo) -+ { -+ warning (_("Error querying the rpm file `%s': %s"), filename, -+ err); -+ continue; -+ } -+ -+ /* Base package name for `debuginfo-install'. We do not use the -+ `yum' command directly as the line -+ yum --enablerepo='*debug*' install NAME-debuginfo.ARCH -+ would be more complicated than just: -+ debuginfo-install NAME-VERSION-RELEASE.ARCH -+ Do not supply the rpm base name (derived from .src.rpm name) as -+ debuginfo-install is unable to install the debuginfo package if -+ the base name PKG binary rpm is not installed while for example -+ PKG-libs would be installed (RH Bug 467901). -+ FUTURE: After multiple debuginfo versions simultaneously installed -+ get supported the support for the VERSION-RELEASE tags handling -+ may need an update. */ -+ -+ if (missing_rpm_hash == NULL) -+ { -+ /* DEL_F is passed NULL as MISSING_RPM_LIST's HTAB_DELETE -+ should not deallocate the entries. */ -+ -+ missing_rpm_hash = htab_create_alloc (64, htab_hash_string, -+ (int (*) (const void *, const void *)) streq, -+ NULL, xcalloc, xfree); -+ } -+ slot = (char **) htab_find_slot (missing_rpm_hash, debuginfo, INSERT); -+ /* XCALLOC never returns NULL. */ -+ gdb_assert (slot != NULL); -+ if (*slot == NULL) -+ { -+ struct missing_rpm *missing_rpm; -+ -+ *slot = debuginfo; -+ -+ missing_rpm = xmalloc (sizeof (*missing_rpm) + strlen (debuginfo)); -+ strcpy (missing_rpm->rpm, debuginfo); -+ missing_rpm->next = missing_rpm_list; -+ missing_rpm_list = missing_rpm; -+ missing_rpm_list_entries++; -+ } -+ else -+ xfree (debuginfo); -+ count++; -+ } -+ -+ rpmdbFreeIterator_p (mi); -+ } -+ -+ rpmtsFree_p (ts); -+ -+ return count; -+} -+ -+static int -+missing_rpm_list_compar (const char *const *ap, const char *const *bp) -+{ -+ return strcoll (*ap, *bp); -+} -+ -+/* It returns a NULL-terminated array of strings needing to be FREEd. It may -+ also return only NULL. */ -+ -+static void -+missing_rpm_list_print (void) -+{ -+ char **array, **array_iter; -+ struct missing_rpm *list_iter; -+ struct cleanup *cleanups; -+ -+ if (missing_rpm_list_entries == 0) -+ return; -+ -+ array = xmalloc (sizeof (*array) * missing_rpm_list_entries); -+ cleanups = make_cleanup (xfree, array); -+ -+ array_iter = array; -+ for (list_iter = missing_rpm_list; list_iter != NULL; -+ list_iter = list_iter->next) -+ { -+ *array_iter++ = list_iter->rpm; -+ } -+ gdb_assert (array_iter == array + missing_rpm_list_entries); -+ -+ qsort (array, missing_rpm_list_entries, sizeof (*array), -+ (int (*) (const void *, const void *)) missing_rpm_list_compar); -+ -+ printf_unfiltered (_("Missing separate debuginfos, use: %s"), -+ "debuginfo-install"); -+ for (array_iter = array; array_iter < array + missing_rpm_list_entries; -+ array_iter++) -+ { -+ putchar_unfiltered (' '); -+ puts_unfiltered (*array_iter); -+ } -+ putchar_unfiltered ('\n'); -+ -+ while (missing_rpm_list != NULL) -+ { -+ list_iter = missing_rpm_list; -+ missing_rpm_list = list_iter->next; -+ xfree (list_iter); -+ } -+ missing_rpm_list_entries = 0; -+ -+ do_cleanups (cleanups); -+} -+ -+static void -+missing_rpm_change (void) -+{ -+ debug_flush_missing (); -+ -+ gdb_assert (missing_rpm_list == NULL); -+ if (missing_rpm_hash != NULL) -+ { -+ htab_delete (missing_rpm_hash); -+ missing_rpm_hash = NULL; -+ } -+} -+ -+enum missing_exec -+ { -+ /* Init state. EXEC_BFD also still could be NULL. */ -+ MISSING_EXEC_NOT_TRIED, -+ /* We saw a non-NULL EXEC_BFD but RPM has no info about it. */ -+ MISSING_EXEC_NOT_FOUND, -+ /* We found EXEC_BFD by RPM and we either have its symbols (either embedded -+ or separate) or the main executable's RPM is now contained in -+ MISSING_RPM_HASH. */ -+ MISSING_EXEC_ENLISTED -+ }; -+static enum missing_exec missing_exec = MISSING_EXEC_NOT_TRIED; -+ -+#endif /* HAVE_LIBRPM */ -+ -+void -+debug_flush_missing (void) -+{ -+#ifdef HAVE_LIBRPM -+ missing_rpm_list_print (); -+#endif -+} -+ - /* This MISSING_FILEPAIR_HASH tracker is used only for the duplicite messages -- Try to install the hash file ... -+ yum --enablerepo='*debug*' install ... - avoidance. */ - - struct missing_filepair -@@ -1756,11 +2109,17 @@ missing_filepair_change (void) - /* All their memory came just from missing_filepair_OBSTACK. */ - missing_filepair_hash = NULL; - } -+#ifdef HAVE_LIBRPM -+ missing_exec = MISSING_EXEC_NOT_TRIED; -+#endif - } - - static void - debug_print_executable_changed (void) - { -+#ifdef HAVE_LIBRPM -+ missing_rpm_change (); -+#endif - missing_filepair_change (); - } - -@@ -1827,14 +2186,34 @@ debug_print_missing (const char *binary, - - *slot = missing_filepair; - -- /* We do not collect and flush these messages as each such message -- already requires its own separate lines. */ -+#ifdef HAVE_LIBRPM -+ if (missing_exec == MISSING_EXEC_NOT_TRIED) -+ { -+ char *exec_filename; - -- fprintf_unfiltered (gdb_stdlog, -- _("Missing separate debuginfo for %s\n"), binary); -- if (debug != NULL) -- fprintf_unfiltered (gdb_stdlog, _("Try to install the hash file %s\n"), -- debug); -+ exec_filename = get_exec_file (0); -+ if (exec_filename != NULL) -+ { -+ if (missing_rpm_enlist (exec_filename) == 0) -+ missing_exec = MISSING_EXEC_NOT_FOUND; -+ else -+ missing_exec = MISSING_EXEC_ENLISTED; -+ } -+ } -+ if (missing_exec != MISSING_EXEC_ENLISTED) -+ if ((binary[0] == 0 || missing_rpm_enlist (binary) == 0) -+ && (debug == NULL || missing_rpm_enlist (debug) == 0)) -+#endif /* HAVE_LIBRPM */ -+ { -+ /* We do not collect and flush these messages as each such message -+ already requires its own separate lines. */ -+ -+ fprintf_unfiltered (gdb_stdlog, -+ _("Missing separate debuginfo for %s\n"), binary); -+ if (debug != NULL) -+ fprintf_unfiltered (gdb_stdlog, _("Try: %s %s\n"), -+ "yum --enablerepo='*debug*' install", debug); -+ } - } - - static char * -Index: gdb-7.6.50.20130731-cvs/gdb/symfile.h -=================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/symfile.h 2013-08-02 16:25:24.971094402 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/symfile.h 2013-08-02 16:25:27.336097557 +0200 -@@ -602,6 +602,8 @@ extern struct elf_build_id *build_id_add - extern char *build_id_to_filename (const struct elf_build_id *build_id, - char **link_return, int add_debug_suffix); +--- gdb-7.6.90.20140127.orig/gdb/symfile.h 2014-02-06 17:18:33.865724666 +0100 ++++ gdb-7.6.90.20140127/gdb/symfile.h 2014-02-06 17:08:56.282099150 +0100 +@@ -557,6 +557,8 @@ extern struct cleanup *increment_reading + /* build-id support. */ + extern struct elf_build_id *build_id_addr_get (CORE_ADDR addr); extern void debug_print_missing (const char *binary, const char *debug); +extern void debug_flush_missing (void); +#define BUILD_ID_MAIN_EXECUTABLE_FILENAME _("the main executable file") /* From dwarf2read.c */ -Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/lib/gdb.exp +Index: gdb-7.6.90.20140127/gdb/testsuite/lib/gdb.exp =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/testsuite/lib/gdb.exp 2013-08-02 16:25:24.972094404 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/lib/gdb.exp 2013-08-02 16:25:27.337097559 +0200 -@@ -1482,7 +1482,7 @@ proc default_gdb_start { } { +--- gdb-7.6.90.20140127.orig/gdb/testsuite/lib/gdb.exp 2014-02-06 17:18:26.969717214 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/lib/gdb.exp 2014-02-06 17:18:33.866724667 +0100 +@@ -1504,7 +1504,7 @@ proc default_gdb_start { } { warning "Couldn't set the width to 0." } } @@ -488,10 +54,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/lib/gdb.exp send_gdb "set build-id-verbose 0\n" gdb_expect 10 { -re "$gdb_prompt $" { -Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/lib/mi-support.exp +Index: gdb-7.6.90.20140127/gdb/testsuite/lib/mi-support.exp =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/testsuite/lib/mi-support.exp 2013-08-02 16:25:24.973094405 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/lib/mi-support.exp 2013-08-02 16:25:27.338097560 +0200 +--- gdb-7.6.90.20140127.orig/gdb/testsuite/lib/mi-support.exp 2014-02-06 17:18:26.970717215 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/lib/mi-support.exp 2014-02-06 17:18:33.867724668 +0100 @@ -212,7 +212,7 @@ proc default_mi_gdb_start { args } { warning "Couldn't set the width to 0." } @@ -501,10 +67,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/lib/mi-support.exp send_gdb "190-gdb-set build-id-verbose 0\n" gdb_expect 10 { -re ".*190-gdb-set build-id-verbose 0\r\n190\\\^done\r\n$mi_gdb_prompt$" { -Index: gdb-7.6.50.20130731-cvs/gdb/tui/tui-interp.c +Index: gdb-7.6.90.20140127/gdb/tui/tui-interp.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/tui/tui-interp.c 2013-08-02 16:25:24.974094406 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/tui/tui-interp.c 2013-08-02 16:25:27.338097560 +0200 +--- gdb-7.6.90.20140127.orig/gdb/tui/tui-interp.c 2014-02-06 17:18:26.970717215 +0100 ++++ gdb-7.6.90.20140127/gdb/tui/tui-interp.c 2014-02-06 17:18:33.867724668 +0100 @@ -30,6 +30,7 @@ #include "tui/tui.h" #include "tui/tui-io.h" @@ -513,11 +79,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/tui/tui-interp.c /* Set to 1 when the TUI mode must be activated when we first start gdb. */ -Index: gdb-7.6.50.20130731-cvs/gdb/aclocal.m4 +Index: gdb-7.6.90.20140127/gdb/aclocal.m4 =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/aclocal.m4 2013-08-02 16:25:24.974094406 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/aclocal.m4 2013-08-02 16:25:27.339097561 +0200 -@@ -11,6 +11,164 @@ +--- gdb-7.6.90.20140127.orig/gdb/aclocal.m4 2014-02-06 17:18:33.868724669 +0100 ++++ gdb-7.6.90.20140127/gdb/aclocal.m4 2014-02-06 17:09:49.877157405 +0100 +@@ -11,6 +11,221 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @@ -549,7 +115,8 @@ Index: gdb-7.6.50.20130731-cvs/gdb/aclocal.m4 +# ---------------------------------- +AC_DEFUN([PKG_PROG_PKG_CONFIG], +[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) -+m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) ++m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) ++m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$]) +AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) +AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) +AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) @@ -595,7 +162,8 @@ Index: gdb-7.6.50.20130731-cvs/gdb/aclocal.m4 + pkg_cv_[]$1="$$1" + elif test -n "$PKG_CONFIG"; then + PKG_CHECK_EXISTS([$3], -+ [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], ++ [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null` ++ test "x$?" != "x0" && pkg_failed=yes ], + [pkg_failed=yes]) + else + pkg_failed=untried @@ -643,9 +211,9 @@ Index: gdb-7.6.50.20130731-cvs/gdb/aclocal.m4 + AC_MSG_RESULT([no]) + _PKG_SHORT_ERRORS_SUPPORTED + if test $_pkg_short_errors_supported = yes; then -+ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1` ++ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` + else -+ $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1` ++ $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD @@ -658,7 +226,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/aclocal.m4 +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + -+_PKG_TEXT]) ++_PKG_TEXT])[]dnl + ]) +elif test $pkg_failed = untried; then + AC_MSG_RESULT([no]) @@ -669,7 +237,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/aclocal.m4 + +_PKG_TEXT + -+To get pkg-config, see .]) ++To get pkg-config, see .])[]dnl + ]) +else + $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS @@ -679,13 +247,68 @@ Index: gdb-7.6.50.20130731-cvs/gdb/aclocal.m4 +fi[]dnl +])# PKG_CHECK_MODULES + - # AM_CONDITIONAL -*- Autoconf -*- ++ ++# PKG_INSTALLDIR(DIRECTORY) ++# ------------------------- ++# Substitutes the variable pkgconfigdir as the location where a module ++# should install pkg-config .pc files. By default the directory is ++# $libdir/pkgconfig, but the default can be changed by passing ++# DIRECTORY. The user can override through the --with-pkgconfigdir ++# parameter. ++AC_DEFUN([PKG_INSTALLDIR], ++[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])]) ++m4_pushdef([pkg_description], ++ [pkg-config installation directory @<:@]pkg_default[@:>@]) ++AC_ARG_WITH([pkgconfigdir], ++ [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],, ++ [with_pkgconfigdir=]pkg_default) ++AC_SUBST([pkgconfigdir], [$with_pkgconfigdir]) ++m4_popdef([pkg_default]) ++m4_popdef([pkg_description]) ++]) dnl PKG_INSTALLDIR ++ ++ ++# PKG_NOARCH_INSTALLDIR(DIRECTORY) ++# ------------------------- ++# Substitutes the variable noarch_pkgconfigdir as the location where a ++# module should install arch-independent pkg-config .pc files. By ++# default the directory is $datadir/pkgconfig, but the default can be ++# changed by passing DIRECTORY. The user can override through the ++# --with-noarch-pkgconfigdir parameter. ++AC_DEFUN([PKG_NOARCH_INSTALLDIR], ++[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])]) ++m4_pushdef([pkg_description], ++ [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@]) ++AC_ARG_WITH([noarch-pkgconfigdir], ++ [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],, ++ [with_noarch_pkgconfigdir=]pkg_default) ++AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir]) ++m4_popdef([pkg_default]) ++m4_popdef([pkg_description]) ++]) dnl PKG_NOARCH_INSTALLDIR ++ ++ ++# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE, ++# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) ++# ------------------------------------------- ++# Retrieves the value of the pkg-config variable for the given module. ++AC_DEFUN([PKG_CHECK_VAR], ++[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl ++AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl ++ ++_PKG_CONFIG([$1], [variable="][$3]["], [$2]) ++AS_VAR_COPY([$1], [pkg_cv_][$1]) ++ ++AS_VAR_IF([$1], [""], [$5], [$4])dnl ++])# PKG_CHECK_VAR ++ + # AM_AUX_DIR_EXPAND -*- Autoconf -*- - # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008 -Index: gdb-7.6.50.20130731-cvs/gdb/config.in + # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +Index: gdb-7.6.90.20140127/gdb/config.in =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/config.in 2013-08-02 16:25:24.975094407 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/config.in 2013-08-02 16:25:27.339097561 +0200 +--- gdb-7.6.90.20140127.orig/gdb/config.in 2014-02-06 17:18:26.971717216 +0100 ++++ gdb-7.6.90.20140127/gdb/config.in 2014-02-06 17:18:33.868724669 +0100 @@ -33,6 +33,9 @@ /* Define to BFD's default target vector. */ #undef DEFAULT_BFD_VEC @@ -696,7 +319,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/config.in /* Define to 1 if translation of program messages to the user's native language is requested. */ #undef ENABLE_NLS -@@ -219,6 +222,9 @@ +@@ -207,6 +210,9 @@ /* Define if Python 2.7 is being used. */ #undef HAVE_LIBPYTHON2_7 @@ -706,10 +329,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/config.in /* Define to 1 if you have the header file. */ #undef HAVE_LIBUNWIND_IA64_H -Index: gdb-7.6.50.20130731-cvs/gdb/configure +Index: gdb-7.6.90.20140127/gdb/configure =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/configure 2013-08-02 16:25:24.981094415 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/configure 2013-08-02 16:25:27.343097567 +0200 +--- gdb-7.6.90.20140127.orig/gdb/configure 2014-02-06 17:18:26.976717221 +0100 ++++ gdb-7.6.90.20140127/gdb/configure 2014-02-06 17:18:33.872724673 +0100 @@ -689,6 +689,11 @@ PKGVERSION HAVE_NATIVE_GCORE_TARGET TARGET_OBS @@ -722,7 +345,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/configure GDB_DATADIR DEBUGDIR MAKEINFO_EXTRA_FLAGS -@@ -789,6 +794,7 @@ with_gdb_datadir +@@ -792,6 +797,7 @@ with_gdb_datadir with_relocated_sources with_auto_load_dir with_auto_load_safe_path @@ -730,7 +353,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/configure enable_targets enable_64_bit_bfd enable_gdbcli -@@ -839,6 +845,11 @@ CPPFLAGS +@@ -842,6 +848,11 @@ CPPFLAGS CPP MAKEINFO MAKEINFOFLAGS @@ -742,7 +365,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/configure YACC YFLAGS XMKMF' -@@ -1509,6 +1520,8 @@ Optional Packages: +@@ -1512,6 +1523,8 @@ Optional Packages: [--with-auto-load-dir] --without-auto-load-safe-path do not restrict auto-loaded files locations @@ -751,7 +374,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/configure --with-libunwind-ia64 use libunwind frame unwinding for ia64 targets --with-curses use the curses library instead of the termcap library -@@ -1556,6 +1569,13 @@ Some influential environment variables: +@@ -1559,6 +1572,13 @@ Some influential environment variables: MAKEINFO Parent configure detects if it is of sufficient version. MAKEINFOFLAGS Parameters for MAKEINFO. @@ -765,7 +388,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/configure YACC The `Yet Another C Compiler' implementation to use. Defaults to the first program found out of: `bison -y', `byacc', `yacc'. YFLAGS The list of arguments that will be passed by default to $YACC. -@@ -5039,6 +5059,491 @@ _ACEOF +@@ -5154,6 +5174,491 @@ _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_auto_load_safe_path" >&5 $as_echo "$with_auto_load_safe_path" >&6; } @@ -1257,11 +880,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/configure subdirs="$subdirs testsuite" -Index: gdb-7.6.50.20130731-cvs/gdb/configure.ac +Index: gdb-7.6.90.20140127/gdb/configure.ac =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/configure.ac 2013-08-02 16:25:24.983094418 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/configure.ac 2013-08-02 16:25:27.344097568 +0200 -@@ -164,6 +164,199 @@ AC_DEFINE_DIR(AUTO_LOAD_SAFE_PATH, escap +--- gdb-7.6.90.20140127.orig/gdb/configure.ac 2014-02-06 17:18:26.977717223 +0100 ++++ gdb-7.6.90.20140127/gdb/configure.ac 2014-02-06 17:18:33.873724674 +0100 +@@ -165,6 +165,199 @@ AC_DEFINE_DIR(AUTO_LOAD_SAFE_PATH, escap [Directories safe to hold auto-loaded files.]) AC_MSG_RESULT([$with_auto_load_safe_path]) @@ -1461,11 +1084,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/configure.ac AC_CONFIG_SUBDIRS(testsuite) # Check whether to support alternative target configurations -Index: gdb-7.6.50.20130731-cvs/gdb/corelow.c +Index: gdb-7.6.90.20140127/gdb/corelow.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/corelow.c 2013-08-02 16:25:24.984094419 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/corelow.c 2013-08-02 16:25:27.344097568 +0200 -@@ -316,7 +316,7 @@ build_id_locate_exec (int from_tty) +--- gdb-7.6.90.20140127.orig/gdb/corelow.c 2014-02-06 17:18:26.978717224 +0100 ++++ gdb-7.6.90.20140127/gdb/corelow.c 2014-02-06 17:18:33.873724674 +0100 +@@ -315,7 +315,7 @@ build_id_locate_exec (int from_tty) symfile_objfile->flags |= OBJF_BUILD_ID_CORE_LOADED; } else @@ -1474,3 +1097,437 @@ Index: gdb-7.6.50.20130731-cvs/gdb/corelow.c do_cleanups (back_to); +Index: gdb-7.6.90.20140127/gdb/build-id.c +=================================================================== +--- gdb-7.6.90.20140127.orig/gdb/build-id.c 2014-02-06 17:18:26.842717077 +0100 ++++ gdb-7.6.90.20140127/gdb/build-id.c 2014-02-06 17:08:18.341060295 +0100 +@@ -32,6 +32,7 @@ + #include "gdbcmd.h" + #include "observer.h" + #include ++#include "elf/external.h" + + #define BUILD_ID_VERBOSE_NONE 0 + #define BUILD_ID_VERBOSE_FILENAMES 1 +@@ -666,8 +667,360 @@ build_id_to_filename (const struct elf_b + return result; + } + ++#ifdef HAVE_LIBRPM ++ ++#include ++#include ++#include ++#include ++#ifdef DLOPEN_LIBRPM ++#include ++#endif ++ ++/* This MISSING_RPM_HASH tracker is used to collect all the missing rpm files ++ and avoid their duplicities during a single inferior run. */ ++ ++static struct htab *missing_rpm_hash; ++ ++/* This MISSING_RPM_LIST tracker is used to collect and print as a single line ++ all the rpms right before the nearest GDB prompt. It gets cleared after ++ each such print (it is questionable if we should clear it after the print). ++ */ ++ ++struct missing_rpm ++ { ++ struct missing_rpm *next; ++ char rpm[1]; ++ }; ++static struct missing_rpm *missing_rpm_list; ++static int missing_rpm_list_entries; ++ ++/* Returns the count of newly added rpms. */ ++ ++static int ++missing_rpm_enlist (const char *filename) ++{ ++ static int rpm_init_done = 0; ++ rpmts ts; ++ rpmdbMatchIterator mi; ++ int count = 0; ++ ++#ifdef DLOPEN_LIBRPM ++ /* Duplicate here the declarations to verify they match. The same sanity ++ check is present also in `configure.ac'. */ ++ extern char * headerFormat(Header h, const char * fmt, errmsg_t * errmsg); ++ static char *(*headerFormat_p) (Header h, const char * fmt, errmsg_t *errmsg); ++ extern int rpmReadConfigFiles(const char * file, const char * target); ++ static int (*rpmReadConfigFiles_p) (const char * file, const char * target); ++ extern rpmdbMatchIterator rpmdbFreeIterator(rpmdbMatchIterator mi); ++ static rpmdbMatchIterator (*rpmdbFreeIterator_p) (rpmdbMatchIterator mi); ++ extern Header rpmdbNextIterator(rpmdbMatchIterator mi); ++ static Header (*rpmdbNextIterator_p) (rpmdbMatchIterator mi); ++ extern rpmts rpmtsCreate(void); ++ static rpmts (*rpmtsCreate_p) (void); ++ extern rpmts rpmtsFree(rpmts ts); ++ static rpmts (*rpmtsFree_p) (rpmts ts); ++ extern rpmdbMatchIterator rpmtsInitIterator(const rpmts ts, rpmTag rpmtag, ++ const void * keyp, size_t keylen); ++ static rpmdbMatchIterator (*rpmtsInitIterator_p) (const rpmts ts, ++ rpmTag rpmtag, ++ const void *keyp, ++ size_t keylen); ++#else /* !DLOPEN_LIBRPM */ ++# define headerFormat_p headerFormat ++# define rpmReadConfigFiles_p rpmReadConfigFiles ++# define rpmdbFreeIterator_p rpmdbFreeIterator ++# define rpmdbNextIterator_p rpmdbNextIterator ++# define rpmtsCreate_p rpmtsCreate ++# define rpmtsFree_p rpmtsFree ++# define rpmtsInitIterator_p rpmtsInitIterator ++#endif /* !DLOPEN_LIBRPM */ ++ ++ gdb_assert (filename != NULL); ++ ++ if (strcmp (filename, BUILD_ID_MAIN_EXECUTABLE_FILENAME) == 0) ++ return 0; ++ ++ if (filename[0] != '/') ++ { ++ warning (_("Ignoring non-absolute filename: <%s>"), filename); ++ return 0; ++ } ++ ++ if (!rpm_init_done) ++ { ++ static int init_tried; ++ ++ /* Already failed the initialization before? */ ++ if (init_tried) ++ return 0; ++ init_tried = 1; ++ ++#ifdef DLOPEN_LIBRPM ++ { ++ void *h; ++ ++ h = dlopen (DLOPEN_LIBRPM, RTLD_LAZY); ++ if (!h) ++ { ++ warning (_("Unable to open \"%s\" (%s), " ++ "missing debuginfos notifications will not be displayed"), ++ DLOPEN_LIBRPM, dlerror ()); ++ return 0; ++ } ++ ++ if (!((headerFormat_p = dlsym (h, "headerFormat")) ++ && (rpmReadConfigFiles_p = dlsym (h, "rpmReadConfigFiles")) ++ && (rpmdbFreeIterator_p = dlsym (h, "rpmdbFreeIterator")) ++ && (rpmdbNextIterator_p = dlsym (h, "rpmdbNextIterator")) ++ && (rpmtsCreate_p = dlsym (h, "rpmtsCreate")) ++ && (rpmtsFree_p = dlsym (h, "rpmtsFree")) ++ && (rpmtsInitIterator_p = dlsym (h, "rpmtsInitIterator")))) ++ { ++ warning (_("Opened library \"%s\" is incompatible (%s), " ++ "missing debuginfos notifications will not be displayed"), ++ DLOPEN_LIBRPM, dlerror ()); ++ if (dlclose (h)) ++ warning (_("Error closing library \"%s\": %s\n"), DLOPEN_LIBRPM, ++ dlerror ()); ++ return 0; ++ } ++ } ++#endif /* DLOPEN_LIBRPM */ ++ ++ if (rpmReadConfigFiles_p (NULL, NULL) != 0) ++ { ++ warning (_("Error reading the rpm configuration files")); ++ return 0; ++ } ++ ++ rpm_init_done = 1; ++ } ++ ++ ts = rpmtsCreate_p (); ++ ++ mi = rpmtsInitIterator_p (ts, RPMTAG_BASENAMES, filename, 0); ++ if (mi != NULL) ++ { ++ for (;;) ++ { ++ Header h; ++ char *debuginfo, **slot, *s, *s2; ++ errmsg_t err; ++ size_t srcrpmlen = sizeof (".src.rpm") - 1; ++ size_t debuginfolen = sizeof ("-debuginfo") - 1; ++ rpmdbMatchIterator mi_debuginfo; ++ ++ h = rpmdbNextIterator_p (mi); ++ if (h == NULL) ++ break; ++ ++ /* Verify the debuginfo file is not already installed. */ ++ ++ debuginfo = headerFormat_p (h, "%{sourcerpm}-debuginfo.%{arch}", ++ &err); ++ if (!debuginfo) ++ { ++ warning (_("Error querying the rpm file `%s': %s"), filename, ++ err); ++ continue; ++ } ++ /* s = `.src.rpm-debuginfo.%{arch}' */ ++ s = strrchr (debuginfo, '-') - srcrpmlen; ++ s2 = NULL; ++ if (s > debuginfo && memcmp (s, ".src.rpm", srcrpmlen) == 0) ++ { ++ /* s2 = `-%{release}.src.rpm-debuginfo.%{arch}' */ ++ s2 = memrchr (debuginfo, '-', s - debuginfo); ++ } ++ if (s2) ++ { ++ /* s2 = `-%{version}-%{release}.src.rpm-debuginfo.%{arch}' */ ++ s2 = memrchr (debuginfo, '-', s2 - debuginfo); ++ } ++ if (!s2) ++ { ++ warning (_("Error querying the rpm file `%s': %s"), filename, ++ debuginfo); ++ xfree (debuginfo); ++ continue; ++ } ++ /* s = `.src.rpm-debuginfo.%{arch}' */ ++ /* s2 = `-%{version}-%{release}.src.rpm-debuginfo.%{arch}' */ ++ memmove (s2 + debuginfolen, s2, s - s2); ++ memcpy (s2, "-debuginfo", debuginfolen); ++ /* s = `XXXX.%{arch}' */ ++ /* strlen ("XXXX") == srcrpmlen + debuginfolen */ ++ /* s2 = `-debuginfo-%{version}-%{release}XX.%{arch}' */ ++ /* strlen ("XX") == srcrpmlen */ ++ memmove (s + debuginfolen, s + srcrpmlen + debuginfolen, ++ strlen (s + srcrpmlen + debuginfolen) + 1); ++ /* s = `-debuginfo-%{version}-%{release}.%{arch}' */ ++ ++ /* RPMDBI_PACKAGES requires keylen == sizeof (int). */ ++ /* RPMDBI_LABEL is an interface for NVR-based dbiFindByLabel(). */ ++ mi_debuginfo = rpmtsInitIterator_p (ts, RPMDBI_LABEL, debuginfo, 0); ++ xfree (debuginfo); ++ if (mi_debuginfo) ++ { ++ rpmdbFreeIterator_p (mi_debuginfo); ++ count = 0; ++ break; ++ } ++ ++ /* The allocated memory gets utilized below for MISSING_RPM_HASH. */ ++ debuginfo = headerFormat_p (h, ++ "%{name}-%{version}-%{release}.%{arch}", ++ &err); ++ if (!debuginfo) ++ { ++ warning (_("Error querying the rpm file `%s': %s"), filename, ++ err); ++ continue; ++ } ++ ++ /* Base package name for `debuginfo-install'. We do not use the ++ `yum' command directly as the line ++ yum --enablerepo='*debug*' install NAME-debuginfo.ARCH ++ would be more complicated than just: ++ debuginfo-install NAME-VERSION-RELEASE.ARCH ++ Do not supply the rpm base name (derived from .src.rpm name) as ++ debuginfo-install is unable to install the debuginfo package if ++ the base name PKG binary rpm is not installed while for example ++ PKG-libs would be installed (RH Bug 467901). ++ FUTURE: After multiple debuginfo versions simultaneously installed ++ get supported the support for the VERSION-RELEASE tags handling ++ may need an update. */ ++ ++ if (missing_rpm_hash == NULL) ++ { ++ /* DEL_F is passed NULL as MISSING_RPM_LIST's HTAB_DELETE ++ should not deallocate the entries. */ ++ ++ missing_rpm_hash = htab_create_alloc (64, htab_hash_string, ++ (int (*) (const void *, const void *)) streq, ++ NULL, xcalloc, xfree); ++ } ++ slot = (char **) htab_find_slot (missing_rpm_hash, debuginfo, INSERT); ++ /* XCALLOC never returns NULL. */ ++ gdb_assert (slot != NULL); ++ if (*slot == NULL) ++ { ++ struct missing_rpm *missing_rpm; ++ ++ *slot = debuginfo; ++ ++ missing_rpm = xmalloc (sizeof (*missing_rpm) + strlen (debuginfo)); ++ strcpy (missing_rpm->rpm, debuginfo); ++ missing_rpm->next = missing_rpm_list; ++ missing_rpm_list = missing_rpm; ++ missing_rpm_list_entries++; ++ } ++ else ++ xfree (debuginfo); ++ count++; ++ } ++ ++ rpmdbFreeIterator_p (mi); ++ } ++ ++ rpmtsFree_p (ts); ++ ++ return count; ++} ++ ++static int ++missing_rpm_list_compar (const char *const *ap, const char *const *bp) ++{ ++ return strcoll (*ap, *bp); ++} ++ ++/* It returns a NULL-terminated array of strings needing to be FREEd. It may ++ also return only NULL. */ ++ ++static void ++missing_rpm_list_print (void) ++{ ++ char **array, **array_iter; ++ struct missing_rpm *list_iter; ++ struct cleanup *cleanups; ++ ++ if (missing_rpm_list_entries == 0) ++ return; ++ ++ array = xmalloc (sizeof (*array) * missing_rpm_list_entries); ++ cleanups = make_cleanup (xfree, array); ++ ++ array_iter = array; ++ for (list_iter = missing_rpm_list; list_iter != NULL; ++ list_iter = list_iter->next) ++ { ++ *array_iter++ = list_iter->rpm; ++ } ++ gdb_assert (array_iter == array + missing_rpm_list_entries); ++ ++ qsort (array, missing_rpm_list_entries, sizeof (*array), ++ (int (*) (const void *, const void *)) missing_rpm_list_compar); ++ ++ printf_unfiltered (_("Missing separate debuginfos, use: %s"), ++ "debuginfo-install"); ++ for (array_iter = array; array_iter < array + missing_rpm_list_entries; ++ array_iter++) ++ { ++ putchar_unfiltered (' '); ++ puts_unfiltered (*array_iter); ++ } ++ putchar_unfiltered ('\n'); ++ ++ while (missing_rpm_list != NULL) ++ { ++ list_iter = missing_rpm_list; ++ missing_rpm_list = list_iter->next; ++ xfree (list_iter); ++ } ++ missing_rpm_list_entries = 0; ++ ++ do_cleanups (cleanups); ++} ++ ++static void ++missing_rpm_change (void) ++{ ++ debug_flush_missing (); ++ ++ gdb_assert (missing_rpm_list == NULL); ++ if (missing_rpm_hash != NULL) ++ { ++ htab_delete (missing_rpm_hash); ++ missing_rpm_hash = NULL; ++ } ++} ++ ++enum missing_exec ++ { ++ /* Init state. EXEC_BFD also still could be NULL. */ ++ MISSING_EXEC_NOT_TRIED, ++ /* We saw a non-NULL EXEC_BFD but RPM has no info about it. */ ++ MISSING_EXEC_NOT_FOUND, ++ /* We found EXEC_BFD by RPM and we either have its symbols (either embedded ++ or separate) or the main executable's RPM is now contained in ++ MISSING_RPM_HASH. */ ++ MISSING_EXEC_ENLISTED ++ }; ++static enum missing_exec missing_exec = MISSING_EXEC_NOT_TRIED; ++ ++#endif /* HAVE_LIBRPM */ ++ ++void ++debug_flush_missing (void) ++{ ++#ifdef HAVE_LIBRPM ++ missing_rpm_list_print (); ++#endif ++} ++ + /* This MISSING_FILEPAIR_HASH tracker is used only for the duplicite messages +- Try to install the hash file ... ++ yum --enablerepo='*debug*' install ... + avoidance. */ + + struct missing_filepair +@@ -721,11 +1074,17 @@ missing_filepair_change (void) + /* All their memory came just from missing_filepair_OBSTACK. */ + missing_filepair_hash = NULL; + } ++#ifdef HAVE_LIBRPM ++ missing_exec = MISSING_EXEC_NOT_TRIED; ++#endif + } + + static void + debug_print_executable_changed (void) + { ++#ifdef HAVE_LIBRPM ++ missing_rpm_change (); ++#endif + missing_filepair_change (); + } + +@@ -792,14 +1151,34 @@ debug_print_missing (const char *binary, + + *slot = missing_filepair; + +- /* We do not collect and flush these messages as each such message +- already requires its own separate lines. */ ++#ifdef HAVE_LIBRPM ++ if (missing_exec == MISSING_EXEC_NOT_TRIED) ++ { ++ char *execfilename; + +- fprintf_unfiltered (gdb_stdlog, +- _("Missing separate debuginfo for %s\n"), binary); +- if (debug != NULL) +- fprintf_unfiltered (gdb_stdlog, _("Try to install the hash file %s\n"), +- debug); ++ execfilename = get_exec_file (0); ++ if (execfilename != NULL) ++ { ++ if (missing_rpm_enlist (execfilename) == 0) ++ missing_exec = MISSING_EXEC_NOT_FOUND; ++ else ++ missing_exec = MISSING_EXEC_ENLISTED; ++ } ++ } ++ if (missing_exec != MISSING_EXEC_ENLISTED) ++ if ((binary[0] == 0 || missing_rpm_enlist (binary) == 0) ++ && (debug == NULL || missing_rpm_enlist (debug) == 0)) ++#endif /* HAVE_LIBRPM */ ++ { ++ /* We do not collect and flush these messages as each such message ++ already requires its own separate lines. */ ++ ++ fprintf_unfiltered (gdb_stdlog, ++ _("Missing separate debuginfo for %s\n"), binary); ++ if (debug != NULL) ++ fprintf_unfiltered (gdb_stdlog, _("Try: %s %s\n"), ++ "yum --enablerepo='*debug*' install", debug); ++ } + } + + /* See build-id.h. */ diff --git a/gdb-6.6-buildid-locate.patch b/gdb-6.6-buildid-locate.patch index e966a03..9177116 100644 --- a/gdb-6.6-buildid-locate.patch +++ b/gdb-6.6-buildid-locate.patch @@ -1,18 +1,19 @@ -Index: gdb-7.6.50.20130731-cvs/gdb/corelow.c +Index: gdb-7.6.90.20140127/gdb/corelow.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/corelow.c 2013-08-02 17:07:17.886739513 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/corelow.c 2013-08-02 17:07:28.434753293 +0200 -@@ -48,6 +48,9 @@ +--- gdb-7.6.90.20140127.orig/gdb/corelow.c 2014-01-27 02:57:53.000000000 +0100 ++++ gdb-7.6.90.20140127/gdb/corelow.c 2014-02-06 16:46:52.261646499 +0100 +@@ -48,6 +48,10 @@ #include "gdb_bfd.h" #include "completer.h" #include "filestuff.h" +#include "auxv.h" +#include "elf/common.h" +#include "gdbcmd.h" ++#include "build-id.h" #ifndef O_LARGEFILE #define O_LARGEFILE 0 -@@ -273,6 +276,53 @@ add_to_thread_list (bfd *abfd, asection +@@ -271,6 +275,53 @@ add_to_thread_list (bfd *abfd, asection inferior_ptid = ptid; /* Yes, make it current. */ } @@ -23,7 +24,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/corelow.c +{ + CORE_ADDR at_entry; + struct elf_build_id *build_id; -+ char *exec_filename, *debug_filename; ++ char *execfilename, *debug_filename; + char *build_id_filename; + struct cleanup *back_to; + @@ -44,14 +45,14 @@ Index: gdb-7.6.50.20130731-cvs/gdb/corelow.c + file - such .eh_frame would not be found if SYMFILE_OBJFILE would refer + directly to the separate debug info file. */ + -+ exec_filename = build_id_to_filename (build_id, &build_id_filename, 0); ++ execfilename = build_id_to_filename (build_id, &build_id_filename); + make_cleanup (xfree, build_id_filename); + -+ if (exec_filename != NULL) ++ if (execfilename != NULL) + { -+ make_cleanup (xfree, exec_filename); -+ exec_file_attach (exec_filename, from_tty); -+ symbol_file_add_main (exec_filename, from_tty); ++ make_cleanup (xfree, execfilename); ++ exec_file_attach (execfilename, from_tty); ++ symbol_file_add_main (execfilename, from_tty); + if (symfile_objfile != NULL) + symfile_objfile->flags |= OBJF_BUILD_ID_CORE_LOADED; + } @@ -66,7 +67,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/corelow.c /* This routine opens and sets up the core file bfd. */ static void -@@ -411,6 +461,14 @@ core_open (char *filename, int from_tty) +@@ -409,6 +460,14 @@ core_open (char *filename, int from_tty) switch_to_thread (thread->ptid); } @@ -81,7 +82,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/corelow.c post_create_inferior (&core_ops, from_tty); /* Now go through the target stack looking for threads since there -@@ -974,4 +1032,11 @@ _initialize_corelow (void) +@@ -980,4 +1039,11 @@ _initialize_corelow (void) init_core_ops (); add_target_with_completer (&core_ops, filename_completer); @@ -93,11 +94,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/corelow.c + NULL, NULL, NULL, + &setlist, &showlist); } -Index: gdb-7.6.50.20130731-cvs/gdb/doc/gdb.texinfo +Index: gdb-7.6.90.20140127/gdb/doc/gdb.texinfo =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/doc/gdb.texinfo 2013-08-02 17:07:17.886739513 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/doc/gdb.texinfo 2013-08-02 17:07:28.443753304 +0200 -@@ -17119,6 +17119,27 @@ information files. +--- gdb-7.6.90.20140127.orig/gdb/doc/gdb.texinfo 2014-02-06 16:46:51.804645989 +0100 ++++ gdb-7.6.90.20140127/gdb/doc/gdb.texinfo 2014-02-06 16:46:52.110646331 +0100 +@@ -17413,6 +17413,27 @@ information files. @end table @@ -125,11 +126,19 @@ Index: gdb-7.6.50.20130731-cvs/gdb/doc/gdb.texinfo @cindex @code{.gnu_debuglink} sections @cindex debug link sections A debug link is a special section of the executable file named -Index: gdb-7.6.50.20130731-cvs/gdb/solib-svr4.c +Index: gdb-7.6.90.20140127/gdb/solib-svr4.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/solib-svr4.c 2013-08-02 17:07:17.886739513 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/solib-svr4.c 2013-08-02 17:07:28.444753305 +0200 -@@ -1365,9 +1365,52 @@ svr4_read_so_list (CORE_ADDR lm, CORE_AD +--- gdb-7.6.90.20140127.orig/gdb/solib-svr4.c 2014-01-27 02:57:53.000000000 +0100 ++++ gdb-7.6.90.20140127/gdb/solib-svr4.c 2014-02-06 16:49:27.508819174 +0100 +@@ -47,6 +47,7 @@ + #include "exceptions.h" + #include "gdb_bfd.h" + #include "probe.h" ++#include "build-id.h" + + static struct link_map_offsets *svr4_fetch_link_map_offsets (void); + static int svr4_have_link_map_offsets (void); +@@ -1369,9 +1370,52 @@ svr4_read_so_list (CORE_ADDR lm, CORE_AD continue; } @@ -151,7 +160,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/solib-svr4.c + + /* Missing the build-id matching separate debug info file + would be handled while SO_NAME gets loaded. */ -+ name = build_id_to_filename (build_id, &build_id_filename, 0); ++ name = build_id_to_filename (build_id, &build_id_filename); + if (name != NULL) + { + strncpy (new->so_name, name, SO_NAME_MAX_PATH_SIZE - 1); @@ -185,27 +194,160 @@ Index: gdb-7.6.50.20130731-cvs/gdb/solib-svr4.c xfree (buffer); /* If this entry has no name, or its name matches the name -Index: gdb-7.6.50.20130731-cvs/gdb/elfread.c +Index: gdb-7.6.90.20140127/gdb/elfread.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/elfread.c 2013-08-02 17:07:17.886739513 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/elfread.c 2013-08-02 17:09:06.460881503 +0200 -@@ -45,6 +45,11 @@ - #include "regcache.h" - #include "bcache.h" - #include "gdb_bfd.h" +--- gdb-7.6.90.20140127.orig/gdb/elfread.c 2014-01-27 02:57:53.000000000 +0100 ++++ gdb-7.6.90.20140127/gdb/elfread.c 2014-02-06 16:46:52.249646486 +0100 +@@ -1316,9 +1316,10 @@ elf_symfile_read (struct objfile *objfil + && objfile->separate_debug_objfile == NULL + && objfile->separate_debug_objfile_backlink == NULL) + { +- char *debugfile; ++ char *debugfile, *build_id_filename; + +- debugfile = find_separate_debug_file_by_buildid (objfile); ++ debugfile = find_separate_debug_file_by_buildid (objfile, ++ &build_id_filename); + + if (debugfile == NULL) + debugfile = find_separate_debug_file_by_debuglink (objfile); +@@ -1332,6 +1333,12 @@ elf_symfile_read (struct objfile *objfil + symbol_file_add_separate (abfd, debugfile, symfile_flags, objfile); + do_cleanups (cleanup); + } ++ /* Check if any separate debug info has been extracted out. */ ++ else if (bfd_get_section_by_name (objfile->obfd, ".gnu_debuglink") ++ != NULL) ++ debug_print_missing (objfile_name (objfile), build_id_filename); ++ ++ xfree (build_id_filename); + } + } + +Index: gdb-7.6.90.20140127/gdb/symfile.h +=================================================================== +--- gdb-7.6.90.20140127.orig/gdb/symfile.h 2014-01-27 02:57:53.000000000 +0100 ++++ gdb-7.6.90.20140127/gdb/symfile.h 2014-02-06 16:46:52.250646487 +0100 +@@ -554,6 +554,10 @@ void free_symfile_segment_data (struct s + + extern struct cleanup *increment_reading_symtab (void); + ++/* build-id support. */ ++extern struct elf_build_id *build_id_addr_get (CORE_ADDR addr); ++extern void debug_print_missing (const char *binary, const char *debug); ++ + /* From dwarf2read.c */ + + /* Names for a dwarf2 debugging section. The field NORMAL is the normal +Index: gdb-7.6.90.20140127/gdb/testsuite/lib/gdb.exp +=================================================================== +--- gdb-7.6.90.20140127.orig/gdb/testsuite/lib/gdb.exp 2014-02-06 16:46:51.643645810 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/lib/gdb.exp 2014-02-06 16:46:52.251646488 +0100 +@@ -1504,6 +1504,16 @@ proc default_gdb_start { } { + warning "Couldn't set the width to 0." + } + } ++ # Turn off the missing warnings as the testsuite does not expect it. ++ send_gdb "set build-id-verbose 0\n" ++ gdb_expect 10 { ++ -re "$gdb_prompt $" { ++ verbose "Disabled the missing debug infos warnings." 2 ++ } ++ timeout { ++ warning "Could not disable the missing debug infos warnings.." ++ } ++ } + return 0 + } + +Index: gdb-7.6.90.20140127/gdb/testsuite/lib/mi-support.exp +=================================================================== +--- gdb-7.6.90.20140127.orig/gdb/testsuite/lib/mi-support.exp 2014-01-27 02:57:54.000000000 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/lib/mi-support.exp 2014-02-06 16:46:52.252646489 +0100 +@@ -212,6 +212,16 @@ proc default_mi_gdb_start { args } { + warning "Couldn't set the width to 0." + } + } ++ # Turn off the missing warnings as the testsuite does not expect it. ++ send_gdb "190-gdb-set build-id-verbose 0\n" ++ gdb_expect 10 { ++ -re ".*190-gdb-set build-id-verbose 0\r\n190\\\^done\r\n$mi_gdb_prompt$" { ++ verbose "Disabled the missing debug infos warnings." 2 ++ } ++ timeout { ++ warning "Could not disable the missing debug infos warnings.." ++ } ++ } + # If allowing the inferior to have its own PTY then assign the inferior + # its own terminal device here. + if { $separate_inferior_pty } { +Index: gdb-7.6.90.20140127/gdb/objfiles.h +=================================================================== +--- gdb-7.6.90.20140127.orig/gdb/objfiles.h 2014-01-27 02:57:53.000000000 +0100 ++++ gdb-7.6.90.20140127/gdb/objfiles.h 2014-02-06 16:46:52.113646334 +0100 +@@ -436,6 +436,10 @@ struct objfile + + #define OBJF_NOT_FILENAME (1 << 6) + ++/* This file was loaded according to the BUILD_ID_CORE_LOADS rules. */ ++ ++#define OBJF_BUILD_ID_CORE_LOADED (1 << 12) ++ + /* Declarations for functions defined in objfiles.c */ + + extern struct objfile *allocate_objfile (bfd *, const char *name, int); +Index: gdb-7.6.90.20140127/gdb/testsuite/gdb.base/corefile.exp +=================================================================== +--- gdb-7.6.90.20140127.orig/gdb/testsuite/gdb.base/corefile.exp 2014-01-27 02:57:54.000000000 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/gdb.base/corefile.exp 2014-02-06 16:46:52.113646334 +0100 +@@ -281,3 +281,33 @@ gdb_test_multiple "core-file $corefile" + pass $test + } + } ++ ++ ++# Test auto-loading of binary files through build-id from the core file. ++set buildid [build_id_debug_filename_get $binfile] ++set wholetest "binfile found by build-id" ++if {$buildid == ""} { ++ untested "$wholetest (binary has no build-id)" ++} else { ++ gdb_exit ++ gdb_start ++ ++ regsub {\.debug$} $buildid {} buildid ++ set debugdir ${objdir}/${subdir}/${testfile}-debugdir ++ file delete -force -- $debugdir ++ file mkdir $debugdir/[file dirname $buildid] ++ file copy $binfile $debugdir/$buildid ++ ++ set test "show debug-file-directory" ++ gdb_test_multiple $test $test { ++ -re "The directory where separate debug symbols are searched for is \"(.*)\"\\.\r\n$gdb_prompt $" { ++ set debugdir_orig $expect_out(1,string) ++ pass $test ++ } ++ } ++ gdb_test_no_output "set debug-file-directory $debugdir:$debugdir_orig" "set debug-file-directory" ++ gdb_test "show build-id-core-loads" {Whether CORE-FILE loads the build-id associated files automatically is on\.} ++ gdb_test "core-file $corefile" "\r\nProgram terminated with .*" "core-file without executable" ++ gdb_test "info files" "Local exec file:\r\n\[ \t\]*`[string_to_regexp $debugdir/$buildid]', file type .*" ++ pass $wholetest ++} +Index: gdb-7.6.90.20140127/gdb/build-id.c +=================================================================== +--- gdb-7.6.90.20140127.orig/gdb/build-id.c 2014-01-27 02:57:53.000000000 +0100 ++++ gdb-7.6.90.20140127/gdb/build-id.c 2014-02-06 16:46:52.113646334 +0100 +@@ -27,11 +27,65 @@ + #include "symfile.h" + #include "objfiles.h" + #include "filenames.h" +#include "libbfd.h" +#include "gdbcore.h" +#include "gdbcmd.h" +#include "observer.h" +#include - - extern void _initialize_elfread (void); - -@@ -1087,10 +1092,59 @@ elf_gnu_ifunc_resolver_return_stop (stru - update_breakpoint_locations (b, sals, sals_end); - } - --/* Locate NT_GNU_BUILD_ID from ABFD and return its content. */ ++ +#define BUILD_ID_VERBOSE_NONE 0 +#define BUILD_ID_VERBOSE_FILENAMES 1 +#define BUILD_ID_VERBOSE_BINARY_PARSE 2 @@ -220,7 +362,8 @@ Index: gdb-7.6.50.20130731-cvs/gdb/elfread.c + +/* Locate NT_GNU_BUILD_ID and return its matching debug filename. + FIXME: NOTE decoding should be unified with the BFD core notes decoding. */ -+ + +-/* Locate NT_GNU_BUILD_ID from ABFD and return its content. */ +static struct elf_build_id * +build_id_buf_get (bfd *templ, gdb_byte *buf, bfd_size_type size) +{ @@ -253,17 +396,17 @@ Index: gdb-7.6.50.20130731-cvs/gdb/elfread.c + } + return NULL; +} -+ + +/* Separate debuginfo files have corrupted PHDR but SHDR is correct there. + Locate NT_GNU_BUILD_ID from ABFD and return its content. */ - ++ static const struct elf_build_id * -build_id_bfd_get (bfd *abfd) +build_id_bfd_shdr_get (bfd *abfd) { if (!bfd_check_format (abfd, bfd_object) || bfd_get_flavour (abfd) != bfd_target_elf_flavour -@@ -1100,6 +1154,348 @@ build_id_bfd_get (bfd *abfd) +@@ -45,6 +99,348 @@ build_id_bfd_get (bfd *abfd) return elf_tdata (abfd)->build_id; } @@ -609,23 +752,23 @@ Index: gdb-7.6.50.20130731-cvs/gdb/elfread.c + return retval; +} + - /* Return if FILENAME has NT_GNU_BUILD_ID matching the CHECK value. */ + /* See build-id.h. */ - static int -@@ -1114,7 +1510,7 @@ build_id_verify (const char *filename, c - if (abfd == NULL) - return 0; + int +@@ -53,7 +449,7 @@ build_id_verify (bfd *abfd, size_t check + const struct elf_build_id *found; + int retval = 0; - found = build_id_bfd_get (abfd); + found = build_id_bfd_shdr_get (abfd); if (found == NULL) - warning (_("File \"%s\" has no build-id, file skipped"), filename); -@@ -1131,16 +1527,53 @@ build_id_verify (const char *filename, c + warning (_("File \"%s\" has no build-id, file skipped"), +@@ -68,20 +464,56 @@ build_id_verify (bfd *abfd, size_t check + return retval; } - static char * --build_id_to_debug_filename (const struct elf_build_id *build_id) ++static char * +link_resolve (const char *symlink, int level) +{ + char buf[PATH_MAX + 1], *target, *retval; @@ -661,28 +804,33 @@ Index: gdb-7.6.50.20130731-cvs/gdb/elfread.c + return retval; +} + -+char * -+build_id_to_filename (const struct elf_build_id *build_id, char **link_return, -+ int add_debug_suffix) + /* See build-id.h. */ + + bfd * +-build_id_to_debug_bfd (size_t build_id_len, const bfd_byte *build_id) ++build_id_to_debug_bfd (size_t build_id_len, const bfd_byte *build_id, ++ char **link_return, int add_debug_suffix) { - char *link, *debugdir, *retval = NULL; -+ char *link_all = NULL; +- char *link, *debugdir; ++ char *link, *debugdir, *link_all = NULL; VEC (char_ptr) *debugdir_vec; struct cleanup *back_to; int ix; + bfd *abfd = NULL; /* DEBUG_FILE_DIRECTORY/.build-id/ab/cdef */ - link = alloca (strlen (debug_file_directory) + (sizeof "/.build-id/" - 1) + 1 -- + 2 * build_id->size + (sizeof ".debug" - 1) + 1); -+ link = xmalloc (strlen (debug_file_directory) + 2 * build_id->size + 50); +- + 2 * build_id_len + (sizeof ".debug" - 1) + 1); ++ link = xmalloc (strlen (debug_file_directory) + 2 * build_id_len + 50); /* Keep backward compatibility so that DEBUG_FILE_DIRECTORY being "" will cause "/.build-id/..." lookups. */ -@@ -1153,7 +1586,10 @@ build_id_to_debug_filename (const struct +@@ -94,8 +526,11 @@ build_id_to_debug_bfd (size_t build_id_l size_t debugdir_len = strlen (debugdir); - const gdb_byte *data = build_id->data; - size_t size = build_id->size; + const gdb_byte *data = build_id; + size_t size = build_id_len; - char *s; + char *filename = NULL; + unsigned seqno; + struct stat statbuf_trash; + /* Initialize it just to avoid a GCC false warning. */ @@ -690,19 +838,18 @@ Index: gdb-7.6.50.20130731-cvs/gdb/elfread.c memcpy (link, debugdir, debugdir_len); s = &link[debugdir_len]; -@@ -1167,37 +1603,256 @@ build_id_to_debug_filename (const struct +@@ -109,44 +544,282 @@ build_id_to_debug_bfd (size_t build_id_l *s++ = '/'; while (size-- > 0) s += sprintf (s, "%02x", (unsigned) *data++); - strcpy (s, ".debug"); - -- /* lrealpath() is expensive even for the usually non-existent files. */ -- if (access (link, F_OK) == 0) -- retval = lrealpath (link); + for (seqno = 0;; seqno++) + { + char *s2; -+ + +- /* lrealpath() is expensive even for the usually non-existent files. */ +- if (access (link, F_OK) == 0) +- filename = lrealpath (link); + if (seqno) + { + /* There can be multiple build-id symlinks pointing to real files @@ -733,21 +880,39 @@ Index: gdb-7.6.50.20130731-cvs/gdb/elfread.c + break; + } + -+ retval = lrealpath (link); ++ filename = lrealpath (link); ++ if (filename == NULL) ++ continue; + -+ if (retval != NULL && !build_id_verify (retval, build_id)) ++ /* We expect to be silent on the non-existing files. */ ++ abfd = gdb_bfd_open_maybe_remote (filename); ++ if (abfd == NULL) + { -+ xfree (retval); -+ retval = NULL; ++ xfree (filename); ++ continue; + } -+ -+ if (retval) + +- if (filename == NULL) +- continue; ++ if (build_id_verify (abfd, build_id_len, build_id)) + break; + +- /* We expect to be silent on the non-existing files. */ +- abfd = gdb_bfd_open_maybe_remote (filename); +- if (abfd == NULL) +- continue; ++ gdb_bfd_unref (abfd); ++ abfd = NULL; + +- if (build_id_verify (abfd, build_id_len, build_id)) +- break; ++ xfree (filename); ++ filename = NULL; + } + -+ if (retval != NULL) ++ if (filename != NULL) + { -+ /* LINK_ALL is not used below in this non-NULL RETVAL case. */ ++ /* LINK_ALL is not used below in this non-NULL FILENAME case. */ + xfree (link0); + break; + } @@ -757,14 +922,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/elfread.c + https://bugzilla.redhat.com/show_bug.cgi?id=981154 */ + link0_resolved = link_resolve (link0, 0); + xfree (link0); - -- if (retval != NULL && !build_id_verify (retval, build_id)) ++ + if (link_all == NULL) -+ link_all = xstrdup (link0_resolved); ++ link_all = link0_resolved; + else - { -- xfree (retval); -- retval = NULL; ++ { + size_t len_orig = strlen (link_all); + + link_all = xrealloc (link_all, @@ -773,16 +935,17 @@ Index: gdb-7.6.50.20130731-cvs/gdb/elfread.c + /* Use whitespace instead of DIRNAME_SEPARATOR to be compatible with + its possible use as an argument for installation command. */ + link_all[len_orig] = ' '; -+ -+ strcpy (&link_all[len_orig + 1], link0_resolved); - } -+ xfree (link0_resolved); -+ } +- gdb_bfd_unref (abfd); +- abfd = NULL; ++ strcpy (&link_all[len_orig + 1], link0_resolved); ++ xfree (link0_resolved); ++ } ++ } ++ + if (link_return != NULL) + { - if (retval != NULL) -- break; ++ if (abfd != NULL) + { + *link_return = link; + link = NULL; @@ -797,9 +960,24 @@ Index: gdb-7.6.50.20130731-cvs/gdb/elfread.c + xfree (link_all); do_cleanups (back_to); - return retval; + return abfd; } ++char * ++build_id_to_filename (const struct elf_build_id *build_id, char **link_return) ++{ ++ bfd *abfd; ++ char *result; ++ ++ abfd = build_id_to_debug_bfd (build_id->size, build_id->data, link_return, 0); ++ if (abfd == NULL) ++ return NULL; ++ ++ result = xstrdup (bfd_get_filename (abfd)); ++ gdb_bfd_unref (abfd); ++ return result; ++} ++ +/* This MISSING_FILEPAIR_HASH tracker is used only for the duplicite messages + Try to install the hash file ... + avoidance. */ @@ -936,7 +1114,9 @@ Index: gdb-7.6.50.20130731-cvs/gdb/elfread.c + debug); +} + - static char * + /* See build-id.h. */ + + char * -find_separate_debug_file_by_buildid (struct objfile *objfile) +find_separate_debug_file_by_buildid (struct objfile *objfile, + char **build_id_filename_return) @@ -950,54 +1130,24 @@ Index: gdb-7.6.50.20130731-cvs/gdb/elfread.c + build_id = build_id_bfd_shdr_get (objfile->obfd); if (build_id != NULL) { - char *build_id_name; + bfd *abfd; -- build_id_name = build_id_to_debug_filename (build_id); -+ build_id_name = build_id_to_filename (build_id, build_id_filename_return, -+ 1); +- abfd = build_id_to_debug_bfd (build_id->size, build_id->data); ++ abfd = build_id_to_debug_bfd (build_id->size, build_id->data, ++ build_id_filename_return, 1); /* Prevent looping on a stripped .debug file. */ - if (build_id_name != NULL - && filename_cmp (build_id_name, objfile->name) == 0) -@@ -1207,7 +1862,7 @@ find_separate_debug_file_by_buildid (str - xfree (build_id_name); - } - else if (build_id_name != NULL) -- return build_id_name; -+ return build_id_name; + if (abfd != NULL + && filename_cmp (bfd_get_filename (abfd), +@@ -166,3 +839,21 @@ find_separate_debug_file_by_buildid (str } return NULL; } -@@ -1445,9 +2100,10 @@ elf_symfile_read (struct objfile *objfil - && objfile->separate_debug_objfile == NULL - && objfile->separate_debug_objfile_backlink == NULL) - { -- char *debugfile; -+ char *debugfile, *build_id_filename; - -- debugfile = find_separate_debug_file_by_buildid (objfile); -+ debugfile = find_separate_debug_file_by_buildid (objfile, -+ &build_id_filename); - - if (debugfile == NULL) - debugfile = find_separate_debug_file_by_debuglink (objfile); -@@ -1461,6 +2117,12 @@ elf_symfile_read (struct objfile *objfil - symbol_file_add_separate (abfd, symfile_flags, objfile); - do_cleanups (cleanup); - } -+ /* Check if any separate debug info has been extracted out. */ -+ else if (bfd_get_section_by_name (objfile->obfd, ".gnu_debuglink") -+ != NULL) -+ debug_print_missing (objfile->name, build_id_filename); + -+ xfree (build_id_filename); - } - } - -@@ -1790,4 +2452,16 @@ _initialize_elfread (void) - - elf_objfile_gnu_ifunc_cache_data = register_objfile_data (); - gnu_ifunc_fns_p = &elf_gnu_ifunc_fns; ++extern void _initialize_build_id (void); + ++void ++_initialize_build_id (void) ++{ + add_setshow_zinteger_cmd ("build-id-verbose", no_class, &build_id_verbose, + _("\ +Set debugging level of the build-id locator."), _("\ @@ -1009,116 +1159,42 @@ Index: gdb-7.6.50.20130731-cvs/gdb/elfread.c + &setlist, &showlist); + + observer_attach_executable_changed (debug_print_executable_changed); - } -Index: gdb-7.6.50.20130731-cvs/gdb/symfile.h -=================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/symfile.h 2013-08-02 17:07:17.886739513 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/symfile.h 2013-08-02 17:07:28.446753308 +0200 -@@ -597,6 +597,12 @@ void free_symfile_segment_data (struct s - - extern struct cleanup *increment_reading_symtab (void); - -+/* build-id support. */ -+extern struct elf_build_id *build_id_addr_get (CORE_ADDR addr); -+extern char *build_id_to_filename (const struct elf_build_id *build_id, -+ char **link_return, int add_debug_suffix); -+extern void debug_print_missing (const char *binary, const char *debug); -+ - /* From dwarf2read.c */ - - /* Names for a dwarf2 debugging section. The field NORMAL is the normal -Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/lib/gdb.exp -=================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/testsuite/lib/gdb.exp 2013-08-02 17:07:17.886739513 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/lib/gdb.exp 2013-08-02 17:07:28.446753308 +0200 -@@ -1482,6 +1482,16 @@ proc default_gdb_start { } { - warning "Couldn't set the width to 0." - } - } -+ # Turn off the missing warnings as the testsuite does not expect it. -+ send_gdb "set build-id-verbose 0\n" -+ gdb_expect 10 { -+ -re "$gdb_prompt $" { -+ verbose "Disabled the missing debug infos warnings." 2 -+ } -+ timeout { -+ warning "Could not disable the missing debug infos warnings.." -+ } -+ } - return 0 - } - -Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/lib/mi-support.exp -=================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/testsuite/lib/mi-support.exp 2013-08-02 17:07:17.886739513 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/lib/mi-support.exp 2013-08-02 17:07:28.447753310 +0200 -@@ -212,6 +212,16 @@ proc default_mi_gdb_start { args } { - warning "Couldn't set the width to 0." - } - } -+ # Turn off the missing warnings as the testsuite does not expect it. -+ send_gdb "190-gdb-set build-id-verbose 0\n" -+ gdb_expect 10 { -+ -re ".*190-gdb-set build-id-verbose 0\r\n190\\\^done\r\n$mi_gdb_prompt$" { -+ verbose "Disabled the missing debug infos warnings." 2 -+ } -+ timeout { -+ warning "Could not disable the missing debug infos warnings.." -+ } -+ } - # If allowing the inferior to have its own PTY then assign the inferior - # its own terminal device here. - if { $separate_inferior_pty } { -Index: gdb-7.6.50.20130731-cvs/gdb/objfiles.h -=================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/objfiles.h 2013-08-02 17:07:17.886739513 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/objfiles.h 2013-08-02 17:07:28.447753310 +0200 -@@ -429,6 +429,10 @@ struct objfile - - #define OBJF_MAINLINE (1 << 5) - -+/* This file was loaded according to the BUILD_ID_CORE_LOADS rules. */ -+ -+#define OBJF_BUILD_ID_CORE_LOADED (1 << 12) -+ - /* The object file that contains the runtime common minimal symbols - for SunOS4. Note that this objfile has no associated BFD. */ - -Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/corefile.exp -=================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/testsuite/gdb.base/corefile.exp 2013-08-02 17:07:17.886739513 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/corefile.exp 2013-08-02 17:07:28.447753310 +0200 -@@ -255,3 +255,33 @@ if ![is_remote target] { - - gdb_exit - } -+ -+ -+# Test auto-loading of binary files through build-id from the core file. -+set buildid [build_id_debug_filename_get $binfile] -+set wholetest "binfile found by build-id" -+if {$buildid == ""} { -+ untested "$wholetest (binary has no build-id)" -+} else { -+ gdb_exit -+ gdb_start -+ -+ regsub {\.debug$} $buildid {} buildid -+ set debugdir ${objdir}/${subdir}/${testfile}-debugdir -+ file delete -force -- $debugdir -+ file mkdir $debugdir/[file dirname $buildid] -+ file copy $binfile $debugdir/$buildid -+ -+ set test "show debug-file-directory" -+ gdb_test_multiple $test $test { -+ -re "The directory where separate debug symbols are searched for is \"(.*)\"\\.\r\n$gdb_prompt $" { -+ set debugdir_orig $expect_out(1,string) -+ pass $test -+ } -+ } -+ gdb_test_no_output "set debug-file-directory $debugdir:$debugdir_orig" "set debug-file-directory" -+ gdb_test "show build-id-core-loads" {Whether CORE-FILE loads the build-id associated files automatically is on\.} -+ gdb_test "core-file $corefile" "\r\nProgram terminated with .*" "core-file without executable" -+ gdb_test "info files" "Local exec file:\r\n\[ \t\]*`[string_to_regexp $debugdir/$buildid]', file type .*" -+ pass $wholetest +} +Index: gdb-7.6.90.20140127/gdb/build-id.h +=================================================================== +--- gdb-7.6.90.20140127.orig/gdb/build-id.h 2014-01-27 02:57:53.000000000 +0100 ++++ gdb-7.6.90.20140127/gdb/build-id.h 2014-02-06 16:46:52.114646335 +0100 +@@ -32,13 +32,18 @@ extern int build_id_verify (bfd *abfd, + the caller. */ + + extern bfd *build_id_to_debug_bfd (size_t build_id_len, +- const bfd_byte *build_id); ++ const bfd_byte *build_id, char **link_return, ++ int add_debug_suffix); ++ ++extern char *build_id_to_filename (const struct elf_build_id *build_id, ++ char **link_return); + + /* Find the separate debug file for OBJFILE, by using the build-id + associated with OBJFILE's BFD. If successful, returns a malloc'd + file name for the separate debug file. The caller must free this. + Otherwise, returns NULL. */ + +-extern char *find_separate_debug_file_by_buildid (struct objfile *objfile); ++extern char *find_separate_debug_file_by_buildid (struct objfile *objfile, ++ char **build_id_filename_return); + + #endif /* BUILD_ID_H */ +Index: gdb-7.6.90.20140127/gdb/dwarf2read.c +=================================================================== +--- gdb-7.6.90.20140127.orig/gdb/dwarf2read.c 2014-02-06 16:46:51.809645995 +0100 ++++ gdb-7.6.90.20140127/gdb/dwarf2read.c 2014-02-06 16:49:55.679850414 +0100 +@@ -2429,7 +2429,7 @@ dwarf2_get_dwz_file (void) + } + + if (dwz_bfd == NULL) +- dwz_bfd = build_id_to_debug_bfd (buildid_len, buildid); ++ dwz_bfd = build_id_to_debug_bfd (buildid_len, buildid, NULL, 1); + + if (dwz_bfd == NULL) + error (_("could not find '.gnu_debugaltlink' file for %s"), diff --git a/gdb-6.6-bz235197-fork-detach-info.patch b/gdb-6.6-bz235197-fork-detach-info.patch index 23391e7..bcde268 100644 --- a/gdb-6.6-bz235197-fork-detach-info.patch +++ b/gdb-6.6-bz235197-fork-detach-info.patch @@ -3,12 +3,12 @@ Port to GDB-6.8pre. Remove the `[' character from the GDB-6.8 default message. -Index: gdb-7.2.50.20110320/gdb/linux-nat.c +Index: gdb-7.6.90.20140127/gdb/linux-nat.c =================================================================== ---- gdb-7.2.50.20110320.orig/gdb/linux-nat.c 2011-03-20 16:59:51.000000000 +0100 -+++ gdb-7.2.50.20110320/gdb/linux-nat.c 2011-03-20 16:59:51.000000000 +0100 -@@ -716,7 +716,7 @@ holding the child stopped. Try \"set de - remove_breakpoints_pid (GET_PID (inferior_ptid)); +--- gdb-7.6.90.20140127.orig/gdb/linux-nat.c 2014-02-04 23:47:39.275034491 +0100 ++++ gdb-7.6.90.20140127/gdb/linux-nat.c 2014-02-04 23:48:11.943074132 +0100 +@@ -426,7 +426,7 @@ holding the child stopped. Try \"set de + remove_breakpoints_pid (ptid_get_pid (inferior_ptid)); } - if (info_verbose || debug_linux_nat) @@ -16,10 +16,10 @@ Index: gdb-7.2.50.20110320/gdb/linux-nat.c { target_terminal_ours (); fprintf_filtered (gdb_stdlog, -Index: gdb-7.2.50.20110320/gdb/testsuite/gdb.base/fork-detach.c +Index: gdb-7.6.90.20140127/gdb/testsuite/gdb.base/fork-detach.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.50.20110320/gdb/testsuite/gdb.base/fork-detach.c 2011-03-20 16:59:51.000000000 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/gdb.base/fork-detach.c 2014-02-04 23:47:39.275034491 +0100 @@ -0,0 +1,57 @@ +/* This testcase is part of GDB, the GNU debugger. + @@ -78,10 +78,10 @@ Index: gdb-7.2.50.20110320/gdb/testsuite/gdb.base/fork-detach.c + } + return 0; +} -Index: gdb-7.2.50.20110320/gdb/testsuite/gdb.base/fork-detach.exp +Index: gdb-7.6.90.20140127/gdb/testsuite/gdb.base/fork-detach.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.2.50.20110320/gdb/testsuite/gdb.base/fork-detach.exp 2011-03-20 17:12:22.000000000 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/gdb.base/fork-detach.exp 2014-02-04 23:47:39.276034493 +0100 @@ -0,0 +1,36 @@ +# Copyright 2007 Free Software Foundation, Inc. + diff --git a/gdb-6.6-scheduler_locking-step-is-default.patch b/gdb-6.6-scheduler_locking-step-is-default.patch index e699885..6e3e05d 100644 --- a/gdb-6.6-scheduler_locking-step-is-default.patch +++ b/gdb-6.6-scheduler_locking-step-is-default.patch @@ -1,8 +1,8 @@ -Index: gdb-7.5.50.20130118/gdb/infrun.c +Index: gdb-7.6.90.20140127/gdb/infrun.c =================================================================== ---- gdb-7.5.50.20130118.orig/gdb/infrun.c 2013-01-19 20:56:34.142917416 +0100 -+++ gdb-7.5.50.20130118/gdb/infrun.c 2013-01-19 20:56:34.662918474 +0100 -@@ -1628,7 +1628,7 @@ static const char *const scheduler_enums +--- gdb-7.6.90.20140127.orig/gdb/infrun.c 2014-02-04 23:48:27.262092869 +0100 ++++ gdb-7.6.90.20140127/gdb/infrun.c 2014-02-04 23:48:31.674096613 +0100 +@@ -1618,7 +1618,7 @@ static const char *const scheduler_enums schedlock_step, NULL }; @@ -11,10 +11,10 @@ Index: gdb-7.5.50.20130118/gdb/infrun.c static void show_scheduler_mode (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value) -Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.mi/mi-cli.exp +Index: gdb-7.6.90.20140127/gdb/testsuite/gdb.mi/mi-cli.exp =================================================================== ---- gdb-7.5.50.20130118.orig/gdb/testsuite/gdb.mi/mi-cli.exp 2013-01-01 07:41:24.000000000 +0100 -+++ gdb-7.5.50.20130118/gdb/testsuite/gdb.mi/mi-cli.exp 2013-01-19 20:56:34.662918474 +0100 +--- gdb-7.6.90.20140127.orig/gdb/testsuite/gdb.mi/mi-cli.exp 2014-02-04 23:48:27.263092871 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/gdb.mi/mi-cli.exp 2014-02-04 23:48:31.674096613 +0100 @@ -163,7 +163,7 @@ mi_execute_to "exec-continue" "breakpoin # Test that the token is output even for CLI commands # Also test that *stopped includes frame information. @@ -24,10 +24,10 @@ Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.mi/mi-cli.exp "34 next: run" if {!$async} { -Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.mi/mi-logging.exp +Index: gdb-7.6.90.20140127/gdb/testsuite/gdb.mi/mi-logging.exp =================================================================== ---- gdb-7.5.50.20130118.orig/gdb/testsuite/gdb.mi/mi-logging.exp 2013-01-01 07:41:24.000000000 +0100 -+++ gdb-7.5.50.20130118/gdb/testsuite/gdb.mi/mi-logging.exp 2013-01-19 20:56:34.662918474 +0100 +--- gdb-7.6.90.20140127.orig/gdb/testsuite/gdb.mi/mi-logging.exp 2014-02-04 23:48:27.263092871 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/gdb.mi/mi-logging.exp 2014-02-04 23:48:31.674096613 +0100 @@ -53,7 +53,7 @@ close $chan set mi_log_prompt "\[(\]gdb\[)\] \[\r\n\]+" @@ -46,17 +46,17 @@ Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.mi/mi-logging.exp pass "Redirect log file contents" } else { fail "Redirect log file contents" -Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.mi/mi-console.exp +Index: gdb-7.6.90.20140127/gdb/testsuite/gdb.mi/mi-console.exp =================================================================== ---- gdb-7.5.50.20130118.orig/gdb/testsuite/gdb.mi/mi-console.exp 2013-01-01 07:41:24.000000000 +0100 -+++ gdb-7.5.50.20130118/gdb/testsuite/gdb.mi/mi-console.exp 2013-01-19 20:56:55.783961145 +0100 -@@ -45,6 +45,9 @@ if { [gdb_compile "${srcdir}/${subdir}/ +--- gdb-7.6.90.20140127.orig/gdb/testsuite/gdb.mi/mi-console.exp 2014-02-04 23:48:31.675096666 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/gdb.mi/mi-console.exp 2014-02-04 23:48:55.981127963 +0100 +@@ -60,6 +60,9 @@ if { [gdb_compile "${srcdir}/${subdir}/ mi_run_to_main +# thread-id=\"all\" vs. thread-id=\"1\" below: +mi_gdb_test "210-gdb-set scheduler-locking off" "210\\^done" "set scheduler-locking off" + - # Next over the hello() call which will produce lots of output - mi_gdb_test "220-exec-next" \ - "220\\^running(\r\n\\*running,thread-id=\"all\")?" \ + # The output we get from the target depends on how it is hosted. If + # we are semihosted (e.g., the sim or a remote target that supports + # the File I/O remote protocol extension), we see the target I/O diff --git a/gdb-6.6-scheduler_locking-step-sw-watchpoints2.patch b/gdb-6.6-scheduler_locking-step-sw-watchpoints2.patch index 427a8f0..c1e3a5e 100644 --- a/gdb-6.6-scheduler_locking-step-sw-watchpoints2.patch +++ b/gdb-6.6-scheduler_locking-step-sw-watchpoints2.patch @@ -21,11 +21,11 @@ Port to GDB-6.8pre. -Index: gdb-7.5.50.20130215/gdb/inferior.h +Index: gdb-7.6.90.20140127/gdb/inferior.h =================================================================== ---- gdb-7.5.50.20130215.orig/gdb/inferior.h 2013-01-16 18:31:38.000000000 +0100 -+++ gdb-7.5.50.20130215/gdb/inferior.h 2013-02-15 22:31:42.993944957 +0100 -@@ -160,7 +160,15 @@ extern void reopen_exec_file (void); +--- gdb-7.6.90.20140127.orig/gdb/inferior.h 2014-01-27 22:05:28.801895347 +0100 ++++ gdb-7.6.90.20140127/gdb/inferior.h 2014-01-27 22:33:45.230157813 +0100 +@@ -155,7 +155,15 @@ extern void reopen_exec_file (void); /* The `resume' routine should only be called in special circumstances. Normally, use `proceed', which handles a lot of bookkeeping. */ @@ -42,11 +42,11 @@ Index: gdb-7.5.50.20130215/gdb/inferior.h extern ptid_t user_visible_resume_ptid (int step); -Index: gdb-7.5.50.20130215/gdb/infrun.c +Index: gdb-7.6.90.20140127/gdb/infrun.c =================================================================== ---- gdb-7.5.50.20130215.orig/gdb/infrun.c 2013-01-31 20:18:58.000000000 +0100 -+++ gdb-7.5.50.20130215/gdb/infrun.c 2013-02-15 22:34:07.132144519 +0100 -@@ -81,7 +81,7 @@ static int follow_fork (void); +--- gdb-7.6.90.20140127.orig/gdb/infrun.c 2014-01-27 22:05:28.804895349 +0100 ++++ gdb-7.6.90.20140127/gdb/infrun.c 2014-01-27 22:35:12.781224279 +0100 +@@ -83,7 +83,7 @@ static int follow_fork (void); static void set_schedlock_func (char *args, int from_tty, struct cmd_list_element *c); @@ -55,7 +55,7 @@ Index: gdb-7.5.50.20130215/gdb/infrun.c static int currently_stepping_or_nexting_callback (struct thread_info *tp, void *data); -@@ -1709,7 +1709,8 @@ user_visible_resume_ptid (int step) +@@ -1699,7 +1699,8 @@ user_visible_resume_ptid (int step) } else if ((scheduler_mode == schedlock_on) || (scheduler_mode == schedlock_step @@ -65,7 +65,7 @@ Index: gdb-7.5.50.20130215/gdb/infrun.c { /* User-settable 'scheduler' mode requires solo thread resume. */ resume_ptid = inferior_ptid; -@@ -1727,7 +1728,7 @@ user_visible_resume_ptid (int step) +@@ -1717,7 +1718,7 @@ user_visible_resume_ptid (int step) STEP nonzero if we should step (zero to continue instead). SIG is the signal to give the inferior (zero for none). */ void @@ -74,23 +74,23 @@ Index: gdb-7.5.50.20130215/gdb/infrun.c { int should_resume = 1; struct cleanup *old_cleanups = make_cleanup (resume_cleanups, 0); -@@ -1760,9 +1761,13 @@ resume (int step, enum gdb_signal sig) +@@ -1750,9 +1751,13 @@ resume (int step, enum gdb_signal sig) if (debug_infrun) fprintf_unfiltered (gdb_stdlog, -- "infrun: resume (step=%d, signal=%d), " -+ "infrun: resume (step=%s, signal=%d), " +- "infrun: resume (step=%d, signal=%s), " ++ "infrun: resume (step=%s, signal=%s), " "trap_expected=%d, current thread [%s] at %s\n", -- step, sig, tp->control.trap_expected, +- step, gdb_signal_to_symbol_string (sig), + (step == RESUME_STEP_CONTINUE + ? "RESUME_STEP_CONTINUE" + : (step == RESUME_STEP_USER ? "RESUME_STEP_USER" + : "RESUME_STEP_NEEDED")), -+ sig, tp->control.trap_expected, ++ gdb_signal_to_symbol_string (sig), + tp->control.trap_expected, target_pid_to_str (inferior_ptid), paddress (gdbarch, pc)); - -@@ -2140,7 +2145,7 @@ proceed (CORE_ADDR addr, enum gdb_signal +@@ -2147,7 +2152,7 @@ proceed (CORE_ADDR addr, enum gdb_signal CORE_ADDR pc; struct address_space *aspace; /* GDB may force the inferior to step due to various reasons. */ @@ -99,7 +99,7 @@ Index: gdb-7.5.50.20130215/gdb/infrun.c /* If we're stopped at a fork/vfork, follow the branch set by the "set follow-fork-mode" command; otherwise, we'll just proceed -@@ -2180,13 +2185,13 @@ proceed (CORE_ADDR addr, enum gdb_signal +@@ -2187,13 +2192,13 @@ proceed (CORE_ADDR addr, enum gdb_signal actually be executing the breakpoint insn anyway. We'll be (un-)executing the previous instruction. */ @@ -115,7 +115,7 @@ Index: gdb-7.5.50.20130215/gdb/infrun.c } else { -@@ -2217,13 +2222,13 @@ proceed (CORE_ADDR addr, enum gdb_signal +@@ -2225,13 +2230,13 @@ proceed (CORE_ADDR addr, enum gdb_signal is required it returns TRUE and sets the current thread to the old thread. */ if (prepare_to_proceed (step)) @@ -131,7 +131,7 @@ Index: gdb-7.5.50.20130215/gdb/infrun.c { tp->control.trap_expected = 1; /* If displaced stepping is enabled, we can step over the -@@ -2310,9 +2315,13 @@ proceed (CORE_ADDR addr, enum gdb_signal +@@ -2318,9 +2323,13 @@ proceed (CORE_ADDR addr, enum gdb_signal /* Reset to normal state. */ init_infwait_state (); @@ -147,7 +147,7 @@ Index: gdb-7.5.50.20130215/gdb/infrun.c /* Wait for it to stop (if not standalone) and in any case decode why it stopped, and act accordingly. */ -@@ -5247,13 +5256,18 @@ process_event_stop_test: +@@ -5332,13 +5341,18 @@ switch_back_to_stepped_thread (struct ex /* Is thread TP in the middle of single-stepping? */ @@ -171,11 +171,11 @@ Index: gdb-7.5.50.20130215/gdb/infrun.c } /* Returns true if any thread *but* the one passed in "data" is in the -Index: gdb-7.5.50.20130215/gdb/linux-nat.c +Index: gdb-7.6.90.20140127/gdb/linux-nat.c =================================================================== ---- gdb-7.5.50.20130215.orig/gdb/linux-nat.c 2013-02-13 15:59:49.000000000 +0100 -+++ gdb-7.5.50.20130215/gdb/linux-nat.c 2013-02-15 22:31:42.997944967 +0100 -@@ -2971,7 +2971,11 @@ static int +--- gdb-7.6.90.20140127.orig/gdb/linux-nat.c 2014-01-27 22:05:28.806895350 +0100 ++++ gdb-7.6.90.20140127/gdb/linux-nat.c 2014-01-27 22:33:45.330157889 +0100 +@@ -2697,7 +2697,11 @@ static int select_singlestep_lwp_callback (struct lwp_info *lp, void *data) { if (lp->last_resume_kind == resume_step @@ -188,11 +188,11 @@ Index: gdb-7.5.50.20130215/gdb/linux-nat.c return 1; else return 0; -Index: gdb-7.5.50.20130215/gdb/linux-nat.h +Index: gdb-7.6.90.20140127/gdb/linux-nat.h =================================================================== ---- gdb-7.5.50.20130215.orig/gdb/linux-nat.h 2013-02-13 15:59:49.000000000 +0100 -+++ gdb-7.5.50.20130215/gdb/linux-nat.h 2013-02-15 22:31:42.998944969 +0100 -@@ -73,8 +73,8 @@ struct lwp_info +--- gdb-7.6.90.20140127.orig/gdb/linux-nat.h 2014-01-27 22:05:28.807895351 +0100 ++++ gdb-7.6.90.20140127/gdb/linux-nat.h 2014-01-27 22:33:45.334157892 +0100 +@@ -59,8 +59,8 @@ struct lwp_info /* If non-zero, a pending wait status. */ int status; diff --git a/gdb-6.7-testsuite-stable-results.patch b/gdb-6.7-testsuite-stable-results.patch deleted file mode 100644 index 27e01f7..0000000 --- a/gdb-6.7-testsuite-stable-results.patch +++ /dev/null @@ -1,108 +0,0 @@ -gdb/testsuite/gdb.base/fileio.c: -gdb/testsuite/gdb.base/fileio.exp: -2007-12-08 Jan Kratochvil - - * gdb.base/fileio.c (ROOTSUBDIR): New macro. - (main): CHDIR into ROOTSUBDIR. CHOWN ROOTSUBDIR and CHDIR into - ROOTSUBDIR if we are being run as root. - * gdb.base/fileio.exp: Change the startup and finish cleanup. - Change the test file reference to be into the `fileio.dir' directory. - - -sources/gdb/testsuite/gdb.base/dump.exp: -Found on RHEL-5.s390x. - - -gdb-6.8.50.20090209/gdb/testsuite/gdb.base/auxv.exp: -random FAIL: gdb.base/auxv.exp: matching auxv data from live and gcore - - -gdb-6.8.50.20090209/gdb/testsuite/gdb.base/annota1.exp: -frames-invalid can happen asynchronously. - -Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/fileio.c -=================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/testsuite/gdb.base/fileio.c 2013-08-02 16:25:49.466127074 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/fileio.c 2013-08-02 16:26:11.724156750 +0200 -@@ -58,6 +58,8 @@ system (const char * string); - 1) Invalid string/command. - returns 127. */ - static const char *strerrno (int err); - -+#define ROOTSUBDIR "fileio.dir" -+ - #define FILENAME "foo.fileio.test" - #define RENAMED "bar.fileio.test" - #define NONEXISTANT "nofoo.fileio.test" -@@ -542,6 +544,37 @@ strerrno (int err) - int - main () - { -+ /* ROOTSUBDIR is already prepared by fileio.exp. We use it for easy cleanup -+ (by fileio.exp) if we are run by multiple users in the same directory. */ -+ -+ if (chdir (ROOTSUBDIR) != 0) -+ { -+ printf ("chdir " ROOTSUBDIR ": %s\n", strerror (errno)); -+ exit (1); -+ } -+ -+ /* These tests -+ Open for write but no write permission returns EACCES -+ Unlinking a file in a directory w/o write access returns EACCES -+ fail if we are being run as root - drop the privileges here. */ -+ -+ if (geteuid () == 0) -+ { -+ uid_t uid = 99; -+ -+ if (chown (".", uid, uid) != 0) -+ { -+ printf ("chown %d.%d " ROOTSUBDIR ": %s\n", (int) uid, (int) uid, -+ strerror (errno)); -+ exit (1); -+ } -+ if (setuid (uid) || geteuid () == 0) -+ { -+ printf ("setuid %d: %s\n", (int) uid, strerror (errno)); -+ exit (1); -+ } -+ } -+ - /* Don't change the order of the calls. They partly depend on each other */ - test_open (); - test_write (); -Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/fileio.exp -=================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/testsuite/gdb.base/fileio.exp 2013-08-02 16:25:49.467127075 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/fileio.exp 2013-08-02 16:27:10.142234618 +0200 -@@ -35,8 +35,8 @@ if [get_compiler_info] { - return -1 - } - --remote_exec build {sh -xc test\ -r\ dir2.fileio.test\ &&\ chmod\ -f\ +w\ dir2.fileio.test} --remote_exec build {sh -xc rm\ -rf\ *.fileio.test} -+remote_exec build {sh -xc rm\ -rf\ fileio.dir} -+remote_exec build {sh -xc mkdir\ -m777\ fileio.dir} - - set oldtimeout $timeout - set timeout [expr "$timeout + 60"] -@@ -78,7 +78,7 @@ gdb_test continue \ - - gdb_test "continue" ".*" "" - --catch "system \"chmod -f -w nowrt.fileio.test\"" -+catch "system \"chmod -f -w fileio.dir/nowrt.fileio.test\"" - - gdb_test continue \ - "Continuing\\..*open 5:.*EACCES$stop_msg" \ -@@ -244,8 +244,8 @@ gdb_exit - # Wait till GDB really exits. - sleep 1 - --remote_exec build {sh -xc test\ -r\ dir2.fileio.test\ &&\ chmod\ -f\ +w\ dir2.fileio.test} --remote_exec build {sh -xc rm\ -rf\ *.fileio.test} -+remote_exec build {sh -xc test\ -r\ fileio.dir/dir2.fileio.test\ &&\ chmod\ -f\ +w\ fileio.dir/dir2.fileio.test} -+remote_exec build {sh -xc rm\ -rf\ fileio.dir} - - set timeout $oldtimeout - return 0 diff --git a/gdb-6.8-attach-signalled-detach-stopped.patch b/gdb-6.8-attach-signalled-detach-stopped.patch index d0e7391..b86306d 100644 --- a/gdb-6.8-attach-signalled-detach-stopped.patch +++ b/gdb-6.8-attach-signalled-detach-stopped.patch @@ -1,8 +1,8 @@ -Index: gdb-7.5.50.20130215/gdb/linux-nat.c +Index: gdb-7.7/gdb/linux-nat.c =================================================================== ---- gdb-7.5.50.20130215.orig/gdb/linux-nat.c 2013-02-15 22:38:05.000000000 +0100 -+++ gdb-7.5.50.20130215/gdb/linux-nat.c 2013-02-15 22:44:59.638985719 +0100 -@@ -181,6 +181,9 @@ blocked. */ +--- gdb-7.7.orig/gdb/linux-nat.c 2014-02-09 19:13:32.998214571 +0100 ++++ gdb-7.7/gdb/linux-nat.c 2014-02-09 19:17:37.561499606 +0100 +@@ -176,6 +176,9 @@ blocked. */ static struct target_ops *linux_ops; static struct target_ops linux_ops_saved; @@ -12,7 +12,7 @@ Index: gdb-7.5.50.20130215/gdb/linux-nat.c /* The method to call, if any, when a new thread is attached. */ static void (*linux_nat_new_thread) (struct lwp_info *); -@@ -914,7 +917,14 @@ holding the child stopped. Try \"set de +@@ -652,7 +655,14 @@ holding the child stopped. Try \"set de parent_inf->waiting_for_vfork_done = 0; } else if (detach_fork) @@ -28,25 +28,25 @@ Index: gdb-7.5.50.20130215/gdb/linux-nat.c /* Note that the detach above makes PARENT_INF dangling. */ -@@ -1362,6 +1372,7 @@ linux_nat_post_attach_wait (ptid_t ptid, +@@ -1099,6 +1109,7 @@ linux_nat_post_attach_wait (ptid_t ptid, if (debug_linux_nat) fprintf_unfiltered (gdb_stdlog, "LNPAW: Attaching to a stopped process\n"); -+ pid_was_stopped = GET_PID (ptid); ++ pid_was_stopped = ptid_get_pid (ptid); /* The process is definitely stopped. It is in a job control stop, unless the kernel predates the TASK_STOPPED / -@@ -1790,6 +1801,9 @@ get_pending_status (struct lwp_info *lp, +@@ -1518,6 +1529,9 @@ get_pending_status (struct lwp_info *lp, gdb_signal_to_string (signo)); } -+ if (*status == 0 && GET_PID (lp->ptid) == pid_was_stopped) ++ if (*status == 0 && ptid_get_pid (lp->ptid) == pid_was_stopped) + *status = W_STOPCODE (SIGSTOP); + return 0; } -@@ -1900,6 +1914,8 @@ linux_nat_detach (struct target_ops *ops +@@ -1631,6 +1645,8 @@ linux_nat_detach (struct target_ops *ops } else linux_ops->to_detach (ops, args, from_tty); @@ -55,7 +55,7 @@ Index: gdb-7.5.50.20130215/gdb/linux-nat.c } /* Resume LP. */ -@@ -2086,6 +2102,14 @@ linux_nat_resume (struct target_ops *ops +@@ -1813,6 +1829,14 @@ linux_nat_resume (struct target_ops *ops linux_nat_resume_callback. */ lp->stopped = 0; @@ -64,13 +64,13 @@ Index: gdb-7.5.50.20130215/gdb/linux-nat.c + it as stopped if the user detaches. PTID variable has PID set to LWP + while we need to check the real PID here. */ + -+ if (!step && lp && pid_was_stopped == GET_PID (lp->ptid)) ++ if (!step && lp && pid_was_stopped == ptid_get_pid (lp->ptid)) + pid_was_stopped = 0; + if (resume_many) iterate_over_lwps (ptid, linux_nat_resume_callback, NULL); -@@ -4137,6 +4161,8 @@ linux_nat_mourn_inferior (struct target_ +@@ -3864,6 +3888,8 @@ linux_nat_mourn_inferior (struct target_ /* Let the arch-specific native code know this process is gone. */ linux_nat_forget_process (pid); @@ -79,10 +79,10 @@ Index: gdb-7.5.50.20130215/gdb/linux-nat.c } /* Convert a native/host siginfo object, into/from the siginfo in the -Index: gdb-7.5.50.20130215/gdb/testsuite/gdb.threads/attach-stopped.exp +Index: gdb-7.7/gdb/testsuite/gdb.threads/attach-stopped.exp =================================================================== ---- gdb-7.5.50.20130215.orig/gdb/testsuite/gdb.threads/attach-stopped.exp 2013-01-01 07:41:27.000000000 +0100 -+++ gdb-7.5.50.20130215/gdb/testsuite/gdb.threads/attach-stopped.exp 2013-02-15 22:44:23.262930312 +0100 +--- gdb-7.7.orig/gdb/testsuite/gdb.threads/attach-stopped.exp 2014-01-08 10:23:36.000000000 +0100 ++++ gdb-7.7/gdb/testsuite/gdb.threads/attach-stopped.exp 2014-02-09 19:13:33.321214945 +0100 @@ -61,7 +61,65 @@ proc corefunc { threadtype } { gdb_reinitialize_dir $srcdir/$subdir gdb_load ${binfile} diff --git a/gdb-7.2.50-sparc-add-workaround-to-broken-debug-files.patch b/gdb-7.2.50-sparc-add-workaround-to-broken-debug-files.patch index 0e2a20a..1c794ce 100644 --- a/gdb-7.2.50-sparc-add-workaround-to-broken-debug-files.patch +++ b/gdb-7.2.50-sparc-add-workaround-to-broken-debug-files.patch @@ -1,8 +1,8 @@ -Index: gdb-7.5.50.20130118/gdb/gdb_bfd.c +Index: gdb-7.6.90.20140127/gdb/gdb_bfd.c =================================================================== ---- gdb-7.5.50.20130118.orig/gdb/gdb_bfd.c 2013-01-18 23:11:18.158718709 +0100 -+++ gdb-7.5.50.20130118/gdb/gdb_bfd.c 2013-01-18 23:12:06.841787893 +0100 -@@ -27,12 +27,14 @@ +--- gdb-7.6.90.20140127.orig/gdb/gdb_bfd.c 2014-02-06 17:39:46.370096290 +0100 ++++ gdb-7.6.90.20140127/gdb/gdb_bfd.c 2014-02-06 17:40:14.996127247 +0100 +@@ -29,12 +29,14 @@ #ifdef HAVE_ZLIB_H #include #endif @@ -15,9 +15,9 @@ Index: gdb-7.5.50.20130118/gdb/gdb_bfd.c #endif +#endif - /* An object of this type is stored in the section's user data when - mapping a section. */ -@@ -205,6 +207,7 @@ free_one_bfd_section (bfd *abfd, asectio + typedef bfd *bfdp; + DEF_VEC_P (bfdp); +@@ -210,6 +212,7 @@ free_one_bfd_section (bfd *abfd, asectio if (sect != NULL && sect->data != NULL) { @@ -25,7 +25,7 @@ Index: gdb-7.5.50.20130118/gdb/gdb_bfd.c #ifdef HAVE_MMAP if (sect->map_addr != NULL) { -@@ -215,6 +218,7 @@ free_one_bfd_section (bfd *abfd, asectio +@@ -220,6 +223,7 @@ free_one_bfd_section (bfd *abfd, asectio } else #endif @@ -33,7 +33,7 @@ Index: gdb-7.5.50.20130118/gdb/gdb_bfd.c xfree (sect->data); } } -@@ -360,6 +364,7 @@ gdb_bfd_map_section (asection *sectp, bf +@@ -371,6 +375,7 @@ gdb_bfd_map_section (asection *sectp, bf if (descriptor->data != NULL) goto done; @@ -41,7 +41,7 @@ Index: gdb-7.5.50.20130118/gdb/gdb_bfd.c #ifdef HAVE_MMAP if (!bfd_is_section_compressed (abfd, sectp)) { -@@ -394,6 +399,7 @@ gdb_bfd_map_section (asection *sectp, bf +@@ -405,6 +410,7 @@ gdb_bfd_map_section (asection *sectp, bf } } #endif /* HAVE_MMAP */ diff --git a/gdb-7.6.50.20130731-cvs.tar.bz2 b/gdb-7.6.50.20130731-cvs.tar.bz2 deleted file mode 100644 index 09ddf06..0000000 --- a/gdb-7.6.50.20130731-cvs.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5ba2ee6049f792f7df7d8148f03bbb8126607ef40f59a6c5d65a08c744415d40 -size 24639930 diff --git a/gdb-7.7.tar.bz2 b/gdb-7.7.tar.bz2 new file mode 100644 index 0000000..a45fcbc --- /dev/null +++ b/gdb-7.7.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0404d1c6ee6b3ddd811722b5197944758d37b4591c216030effbac204f5a6c23 +size 24846320 diff --git a/gdb-aarch64-hw-break.patch b/gdb-aarch64-hw-break.patch deleted file mode 100644 index 900a83f..0000000 --- a/gdb-aarch64-hw-break.patch +++ /dev/null @@ -1,27 +0,0 @@ -http://permalink.gmane.org/gmane.comp.gdb.patches/88728 -http://permalink.gmane.org/gmane.comp.gdb.patches/90237 - -Index: gdb/aarch64-linux-nat.c -=================================================================== ---- gdb/aarch64-linux-nat.c.orig -+++ gdb/aarch64-linux-nat.c -@@ -312,6 +312,7 @@ aarch64_linux_set_debug_regs (const stru - const CORE_ADDR *addr; - const unsigned int *ctrl; - -+ memset (®s, 0, sizeof (regs)); - iov.iov_base = ®s; - iov.iov_len = sizeof (regs); - count = watchpoint ? aarch64_num_wp_regs : aarch64_num_bp_regs; -Index: gdb/gdbserver/linux-aarch64-low.c -=================================================================== ---- gdb/gdbserver/linux-aarch64-low.c.orig -+++ gdb/gdbserver/linux-aarch64-low.c -@@ -600,6 +600,7 @@ aarch64_linux_set_debug_regs (const stru - const CORE_ADDR *addr; - const unsigned int *ctrl; - -+ memset (®s, 0, sizeof (regs)); - iov.iov_base = ®s; - iov.iov_len = sizeof (regs); - count = watchpoint ? aarch64_num_wp_regs : aarch64_num_bp_regs; diff --git a/gdb-archer.patch b/gdb-archer.patch index 30207a5..5fb2c15 100644 --- a/gdb-archer.patch +++ b/gdb-archer.patch @@ -2,20 +2,20 @@ http://sourceware.org/gdb/wiki/ProjectArcher http://sourceware.org/gdb/wiki/ArcherBranchManagement GIT snapshot: -commit a980be3b9cc66774adfb9a25da805f65cfed4245 +commit 21c8ac8faa4256f27d4751d8f0d2b218f2d232a8 -branch jankratochvil/fedora20 - the merge of branches: +branch jankratochvil/fedoragdb77 - the merge of branches: jankratochvil/vla tromey/python diff --git a/README.archer b/README.archer new file mode 100644 -index 0000000..21357e4 +index 0000000..5ae587e --- /dev/null +++ b/README.archer @@ -0,0 +1,13 @@ -+Merge for Fedora 20: http://pkgs.fedoraproject.org/cgit/gdb.git/ ++Merge for Fedora 21: http://pkgs.fedoraproject.org/cgit/gdb.git/ + +jankratochvil/vla +tromey/python @@ -29,10 +29,10 @@ index 0000000..21357e4 +implementation plan: http://sourceware.org/ml/gdb/2012-11/msg00094.html +explanation of its merge status: http://sourceware.org/ml/gdb/2011-03/msg00021.html diff --git a/gdb/Makefile.in b/gdb/Makefile.in -index 8f4ee9e..e914dfb 100644 +index 824b26b..56f052a 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in -@@ -1351,6 +1351,12 @@ stamp-h: $(srcdir)/config.in config.status +@@ -1372,6 +1372,12 @@ stamp-h: $(srcdir)/config.in config.status CONFIG_LINKS= \ $(SHELL) config.status @@ -46,10 +46,10 @@ index 8f4ee9e..e914dfb 100644 $(SHELL) config.status --recheck diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c -index dc5f2b6..5feac49 100644 +index e70a33b..977f3e2 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c -@@ -12309,6 +12309,7 @@ ada_operator_length (const struct expression *exp, int pc, int *oplenp, +@@ -12703,6 +12703,7 @@ ada_operator_length (const struct expression *exp, int pc, int *oplenp, static int ada_operator_check (struct expression *exp, int pos, @@ -57,7 +57,7 @@ index dc5f2b6..5feac49 100644 int (*objfile_func) (struct objfile *objfile, void *data), void *data) { -@@ -12323,12 +12324,15 @@ ada_operator_check (struct expression *exp, int pos, +@@ -12717,12 +12718,15 @@ ada_operator_check (struct expression *exp, int pos, break; default: @@ -76,7 +76,7 @@ index dc5f2b6..5feac49 100644 return 1; diff --git a/gdb/block.c b/gdb/block.c -index 643e144..74c516b 100644 +index 2ae6ee2..376a1e8 100644 --- a/gdb/block.c +++ b/gdb/block.c @@ -693,3 +693,21 @@ block_iter_match_next (const char *name, @@ -102,7 +102,7 @@ index 643e144..74c516b 100644 + return SYMBOL_SYMTAB (func)->objfile; +} diff --git a/gdb/block.h b/gdb/block.h -index 02e7e8b..2931401 100644 +index ca143a9..0f065f8 100644 --- a/gdb/block.h +++ b/gdb/block.h @@ -279,4 +279,6 @@ extern struct symbol *block_iter_match_next (const char *name, @@ -113,10 +113,10 @@ index 02e7e8b..2931401 100644 + #endif /* BLOCK_H */ diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c -index 1e89407..1f4de33 100644 +index 66a69b5..952e1c5 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c -@@ -15605,6 +15605,24 @@ all_tracepoints (void) +@@ -15734,6 +15734,24 @@ all_tracepoints (void) return tp_vec; } @@ -141,16 +141,16 @@ index 1e89407..1f4de33 100644 /* This help string is used for the break, hbreak, tbreak and thbreak commands. It is defined as a macro to prevent duplication. -@@ -16568,4 +16586,7 @@ agent-printf \"printf format string\", arg1, arg2, arg3, ..., argn\n\ - automatic_hardware_breakpoints = 1; +@@ -16699,4 +16717,7 @@ agent-printf \"printf format string\", arg1, arg2, arg3, ..., argn\n\ observer_attach_about_to_proceed (breakpoint_about_to_proceed); + observer_attach_thread_exit (remove_threaded_breakpoints); +#if 0 + observer_attach_mark_used (breakpoint_types_mark_used); +#endif } diff --git a/gdb/c-typeprint.c b/gdb/c-typeprint.c -index bf4564f..e8d0281 100644 +index 4edc9ec..292eddb 100644 --- a/gdb/c-typeprint.c +++ b/gdb/c-typeprint.c @@ -689,7 +689,13 @@ c_type_print_varspec_suffix (struct type *type, @@ -169,7 +169,7 @@ index bf4564f..e8d0281 100644 plongest (high_bound - low_bound + 1)); fprintf_filtered (stream, (is_vector ? ")))" : "]")); diff --git a/gdb/cleanups.c b/gdb/cleanups.c -index 898e526..18ebaee 100644 +index e5291ab..4820972 100644 --- a/gdb/cleanups.c +++ b/gdb/cleanups.c @@ -261,9 +261,11 @@ save_final_cleanups (void) @@ -185,12 +185,12 @@ index 898e526..18ebaee 100644 *pmy_chain = chain; } diff --git a/gdb/data-directory/Makefile.in b/gdb/data-directory/Makefile.in -index dec6207..fbb4dc0 100644 +index e535316..444de9d 100644 --- a/gdb/data-directory/Makefile.in +++ b/gdb/data-directory/Makefile.in -@@ -61,13 +61,21 @@ PYTHON_FILES = \ - gdb/printing.py \ +@@ -63,13 +63,21 @@ PYTHON_FILES = \ gdb/prompt.py \ + gdb/command/bound_registers.py \ gdb/command/__init__.py \ + gdb/command/ignore_errors.py \ + gdb/command/pahole.py \ @@ -212,10 +212,10 @@ index dec6207..fbb4dc0 100644 SYSTEM_GDBINIT_DIR = system-gdbinit SYSTEM_GDBINIT_INSTALL_DIR = $(DESTDIR)$(GDB_DATADIR)/$(SYSTEM_GDBINIT_DIR) diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo -index cb393e8..1dfca22 100644 +index 74ddcf5..c45e1eb 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo -@@ -1221,6 +1221,16 @@ for remote debugging. +@@ -1222,6 +1222,16 @@ for remote debugging. Run using @var{device} for your program's standard input and output. @c FIXME: kingdon thinks there is more to -tty. Investigate. @@ -232,7 +232,7 @@ index cb393e8..1dfca22 100644 @c resolve the situation of these eventually @item -tui @cindex @code{--tui} -@@ -23189,8 +23199,6 @@ containing @code{end}. For example: +@@ -23521,8 +23531,6 @@ containing @code{end}. For example: @smallexample (@value{GDBP}) python @@ -241,7 +241,7 @@ index cb393e8..1dfca22 100644 >print 23 >end 23 -@@ -23204,6 +23212,14 @@ controlled using @code{set python print-stack}: if @code{full}, then +@@ -23536,6 +23544,14 @@ controlled using @code{set python print-stack}: if @code{full}, then full Python stack printing is enabled; if @code{none}, then Python stack and message printing is disabled; if @code{message}, the default, only the message component of the error is printed. @@ -256,140 +256,11 @@ index cb393e8..1dfca22 100644 @end table It is also possible to execute a Python script from the @value{GDBN} -diff --git a/gdb/doc/gdbint.texinfo b/gdb/doc/gdbint.texinfo -index 60805ad..5411012 100644 ---- a/gdb/doc/gdbint.texinfo -+++ b/gdb/doc/gdbint.texinfo -@@ -2146,6 +2146,18 @@ time, and so we attempt to handle symbols incrementally. For instance, - we create @dfn{partial symbol tables} consisting of only selected - symbols, and only expand them to full symbol tables when necessary. - -+@menu -+* Symbol Reading:: -+* Partial Symbol Tables:: -+* Types:: -+* Object File Formats:: -+* Debugging File Formats:: -+* Adding a New Symbol Reader to GDB:: -+* Memory Management for Symbol Files:: -+* Memory Management for Types:: -+@end menu -+ -+@node Symbol Reading - @section Symbol Reading - - @cindex symbol reading -@@ -2238,6 +2250,7 @@ symtab. Upon return, @code{pst->readin} should have been set to 1, and - zero if there were no symbols in that part of the symbol file. - @end table - -+@node Partial Symbol Tables - @section Partial Symbol Tables - - @value{GDBN} has three types of symbol tables: -@@ -2339,6 +2352,7 @@ and partial symbol tables behind a set of function pointers known as - the @dfn{quick symbol functions}. These are documented in - @file{symfile.h}. - -+@node Types - @section Types - - @unnumberedsubsec Fundamental Types (e.g., @code{FT_VOID}, @code{FT_BOOLEAN}). -@@ -2361,6 +2375,7 @@ types map to one @code{TYPE_CODE_*} type, and are distinguished by - other members of the type struct, such as whether the type is signed - or unsigned, and how many bits it uses. - -+@anchor{Builtin Types} - @unnumberedsubsec Builtin Types (e.g., @code{builtin_type_void}, @code{builtin_type_char}). - - These are instances of type structs that roughly correspond to -@@ -2375,6 +2390,7 @@ only one instance exists, while @file{c-lang.c} builds as many - @code{TYPE_CODE_INT} types as needed, with each one associated with - some particular objfile. - -+@node Object File Formats - @section Object File Formats - @cindex object file formats - -@@ -2460,6 +2476,7 @@ SOM, which is a cross-language ABI). - - The SOM reader is in @file{somread.c}. - -+@node Debugging File Formats - @section Debugging File Formats - - This section describes characteristics of debugging information that -@@ -2531,6 +2548,7 @@ DWARF 3 is an improved version of DWARF 2. - @cindex SOM debugging info - Like COFF, the SOM definition includes debugging information. - -+@node Adding a New Symbol Reader to GDB - @section Adding a New Symbol Reader to @value{GDBN} - - @cindex adding debugging info reader -@@ -2553,6 +2571,7 @@ will only ever be implemented by one object file format may be called - directly. This interface should be described in a file - @file{bfd/lib@var{xyz}.h}, which is included by @value{GDBN}. - -+@node Memory Management for Symbol Files - @section Memory Management for Symbol Files - - Most memory associated with a loaded symbol file is stored on -@@ -2564,10 +2583,45 @@ released when the objfile is unloaded or reloaded. Therefore one - objfile must not reference symbol or type data from another objfile; - they could be unloaded at different times. - --User convenience variables, et cetera, have associated types. Normally --these types live in the associated objfile. However, when the objfile --is unloaded, those types are deep copied to global memory, so that --the values of the user variables and history items are not lost. -+@node Memory Management for Types -+@section Memory Management for Types -+@cindex memory management for types -+ -+@findex TYPE_OBJFILE -+@code{TYPE_OBJFILE} macro indicates the current memory owner of the type. -+Non-@code{NULL} value indicates it is owned by an objfile (specifically by its -+obstack) and in such case the type remains valid till the objfile is unloaded -+or reloaded. For such types with an associated objfile no reference counting -+is being made. -+ -+User convenience variables, et cetera, have associated types. Normally these -+types live in the associated objfile. However, when the objfile is unloaded, -+those types are deep copied to global memory, so that the values of the user -+variables and history items are not lost. During the copy they will get their -+@code{TYPE_OBJFILE} set to @code{NULL} and become so-called @dfn{reclaimable} -+types. -+ -+Types with null @code{TYPE_OBJFILE} can be either permanent types -+(@pxref{Builtin Types}) or reclaimable types which will be deallocated at the -+first idle @value{GDBN} moment if the last object referencing them is removed. -+Permanent types are allocated by the function @code{alloc_type} (and its -+derivations like @code{init_type}) specifying objfile as @code{NULL}. The -+reclaimable types are created the same way but moreover they need to have -+@code{type_init_group} called to start their tracking as being possibly -+deallocatable. -+ -+@findex free_all_types -+When @value{GDBN} gets idle it always calls the @code{free_all_types} function -+which deallocates any unused types. All types currently not owned by an -+objfile must be marked as used on each @code{free_all_types} call as they would -+get deallocated as unused otherwise. -+ -+@code{free_all_types} automatically checks for any cross-type references such -+as through @code{TYPE_TARGET_TYPE}, @code{TYPE_POINTER_TYPE} etc.@: and -+prevents early deallocation for any such existing references. Reclaimable -+types may reference any other reclaimable types or even permanent types. But -+permanent types must not reference reclaimable types (nor an objfile associated -+type). - - - @node Language Support diff --git a/gdb/doc/observer.texi b/gdb/doc/observer.texi -index adb7085..5ec5b5a 100644 +index 61acbb2..ac37324 100644 --- a/gdb/doc/observer.texi +++ b/gdb/doc/observer.texi -@@ -249,6 +249,11 @@ The trace state variable @var{tsv} is deleted. If @var{tsv} is +@@ -253,6 +253,11 @@ The trace state variable @var{tsv} is deleted. If @var{tsv} is The trace state value @var{tsv} is modified. @end deftypefun @@ -402,10 +273,10 @@ index adb7085..5ec5b5a 100644 This observer is used for internal testing. Do not use. See testsuite/gdb.gdb/observer.exp. diff --git a/gdb/dwarf2expr.c b/gdb/dwarf2expr.c -index 752d782..ab0a3eb 100644 +index 36c9f66..1f21766 100644 --- a/gdb/dwarf2expr.c +++ b/gdb/dwarf2expr.c -@@ -1479,6 +1479,14 @@ execute_stack_op (struct dwarf_expr_context *ctx, +@@ -1478,6 +1478,14 @@ execute_stack_op (struct dwarf_expr_context *ctx, } break; @@ -421,10 +292,10 @@ index 752d782..ab0a3eb 100644 error (_("Unhandled dwarf expression opcode 0x%x"), op); } diff --git a/gdb/dwarf2expr.h b/gdb/dwarf2expr.h -index e85486a..e7ac799 100644 +index 39dadf3..8cebbe8 100644 --- a/gdb/dwarf2expr.h +++ b/gdb/dwarf2expr.h -@@ -77,12 +77,8 @@ struct dwarf_expr_context_funcs +@@ -84,12 +84,8 @@ struct dwarf_expr_context_funcs This can throw an exception if the index is out of range. */ CORE_ADDR (*get_addr_index) (void *baton, unsigned int index); @@ -438,7 +309,7 @@ index e85486a..e7ac799 100644 /* The location of a value. */ diff --git a/gdb/dwarf2loc.c b/gdb/dwarf2loc.c -index 02afcdf..5a21629 100644 +index dd921ec..01a8566 100644 --- a/gdb/dwarf2loc.c +++ b/gdb/dwarf2loc.c @@ -306,6 +306,9 @@ struct dwarf_expr_baton @@ -451,7 +322,7 @@ index 02afcdf..5a21629 100644 }; /* Helper functions for dwarf2_evaluate_loc_desc. */ -@@ -421,7 +424,7 @@ dwarf_expr_frame_base_1 (struct symbol *framefunc, CORE_ADDR pc, +@@ -433,7 +436,7 @@ dwarf_expr_frame_base_1 (struct symbol *framefunc, CORE_ADDR pc, if (*length == 0) error (_("Could not find the frame base for \"%s\"."), @@ -460,7 +331,7 @@ index 02afcdf..5a21629 100644 } /* Helper function for dwarf2_evaluate_loc_desc. Computes the CFA for -@@ -488,6 +491,85 @@ dwarf_expr_dwarf_call (struct dwarf_expr_context *ctx, cu_offset die_offset) +@@ -500,6 +503,85 @@ dwarf_expr_dwarf_call (struct dwarf_expr_context *ctx, cu_offset die_offset) ctx->funcs->get_frame_pc, ctx->baton); } @@ -546,7 +417,7 @@ index 02afcdf..5a21629 100644 /* Callback function for dwarf2_evaluate_loc_desc. */ static struct type * -@@ -1202,10 +1284,12 @@ dwarf_expr_push_dwarf_reg_entry_value (struct dwarf_expr_context *ctx, +@@ -1215,10 +1297,12 @@ dwarf_expr_push_dwarf_reg_entry_value (struct dwarf_expr_context *ctx, saved_ctx.gdbarch = ctx->gdbarch; saved_ctx.addr_size = ctx->addr_size; @@ -559,7 +430,7 @@ index 02afcdf..5a21629 100644 ctx->offset = dwarf2_per_cu_text_offset (baton_local.per_cu); ctx->baton = &baton_local; -@@ -1213,10 +1297,95 @@ dwarf_expr_push_dwarf_reg_entry_value (struct dwarf_expr_context *ctx, +@@ -1226,10 +1310,78 @@ dwarf_expr_push_dwarf_reg_entry_value (struct dwarf_expr_context *ctx, ctx->gdbarch = saved_ctx.gdbarch; ctx->addr_size = saved_ctx.addr_size; @@ -570,23 +441,6 @@ index 02afcdf..5a21629 100644 +static CORE_ADDR dwarf_expr_get_addr_index (void *baton, unsigned int index); + -+/* Virtual method table for dwarf2_evaluate_loc_desc_full below. */ -+ -+static const struct dwarf_expr_context_funcs dwarf_expr_ctx_funcs = -+{ -+ dwarf_expr_read_reg, -+ dwarf_expr_read_mem, -+ dwarf_expr_frame_base, -+ dwarf_expr_frame_cfa, -+ dwarf_expr_frame_pc, -+ dwarf_expr_tls_address, -+ dwarf_expr_dwarf_call, -+ dwarf_expr_get_base_type, -+ dwarf_expr_push_dwarf_reg_entry_value, -+ dwarf_expr_get_addr_index, -+ dwarf_expr_object_address -+}; -+ +/* Evaluate DWARF expression at DATA ... DATA + SIZE with its result readable + by dwarf_expr_fetch (RETVAL, 0). FRAME parameter can be NULL to call + get_selected_frame to find it. Returned dwarf_expr_context freeing is @@ -655,30 +509,17 @@ index 02afcdf..5a21629 100644 /* Callback function for dwarf2_evaluate_loc_desc. Fetch the address indexed by DW_OP_GNU_addr_index. */ -@@ -2177,22 +2346,6 @@ static const struct lval_funcs pieced_value_funcs = { - free_pieced_value_closure +@@ -2205,7 +2357,8 @@ static const struct dwarf_expr_context_funcs dwarf_expr_ctx_funcs = + dwarf_expr_dwarf_call, + dwarf_expr_get_base_type, + dwarf_expr_push_dwarf_reg_entry_value, +- dwarf_expr_get_addr_index ++ dwarf_expr_get_addr_index, ++ dwarf_expr_object_address }; --/* Virtual method table for dwarf2_evaluate_loc_desc_full below. */ -- --static const struct dwarf_expr_context_funcs dwarf_expr_ctx_funcs = --{ -- dwarf_expr_read_reg, -- dwarf_expr_read_mem, -- dwarf_expr_frame_base, -- dwarf_expr_frame_cfa, -- dwarf_expr_frame_pc, -- dwarf_expr_tls_address, -- dwarf_expr_dwarf_call, -- dwarf_expr_get_base_type, -- dwarf_expr_push_dwarf_reg_entry_value, -- dwarf_expr_get_addr_index --}; -- /* Evaluate a location description, starting at DATA and with length - SIZE, to find the current location of variable of TYPE in the - context of FRAME. BYTE_OFFSET is applied after the contents are -@@ -2205,7 +2358,6 @@ dwarf2_evaluate_loc_desc_full (struct type *type, struct frame_info *frame, +@@ -2220,7 +2373,6 @@ dwarf2_evaluate_loc_desc_full (struct type *type, struct frame_info *frame, LONGEST byte_offset) { struct value *retval; @@ -686,7 +527,7 @@ index 02afcdf..5a21629 100644 struct dwarf_expr_context *ctx; struct cleanup *old_chain, *value_chain; struct objfile *objfile = dwarf2_per_cu_objfile (per_cu); -@@ -2217,29 +2369,18 @@ dwarf2_evaluate_loc_desc_full (struct type *type, struct frame_info *frame, +@@ -2232,29 +2384,18 @@ dwarf2_evaluate_loc_desc_full (struct type *type, struct frame_info *frame, if (size == 0) return allocate_optimized_out_value (type); @@ -717,7 +558,7 @@ index 02afcdf..5a21629 100644 retval = allocate_value (type); mark_value_bytes_unavailable (retval, 0, TYPE_LENGTH (type)); return retval; -@@ -2303,6 +2444,16 @@ dwarf2_evaluate_loc_desc_full (struct type *type, struct frame_info *frame, +@@ -2329,6 +2470,16 @@ dwarf2_evaluate_loc_desc_full (struct type *type, struct frame_info *frame, int in_stack_memory = dwarf_expr_fetch_in_stack_memory (ctx, 0); do_cleanups (value_chain); @@ -731,10 +572,10 @@ index 02afcdf..5a21629 100644 + DW_OP_push_object_address. */ + object_address_set (address); + - retval = allocate_value_lazy (type); - VALUE_LVAL (retval) = lval_memory; + retval = value_at_lazy (type, address + byte_offset); if (in_stack_memory) -@@ -4204,8 +4355,7 @@ loclist_tracepoint_var_ref (struct symbol *symbol, struct gdbarch *gdbarch, + set_value_stack (retval, 1); +@@ -4241,8 +4392,7 @@ loclist_tracepoint_var_ref (struct symbol *symbol, struct gdbarch *gdbarch, dlbaton->per_cu); } @@ -745,7 +586,7 @@ index 02afcdf..5a21629 100644 loclist_read_variable, loclist_read_variable_at_entry, diff --git a/gdb/dwarf2loc.h b/gdb/dwarf2loc.h -index 9bc8ca5..28467dc 100644 +index 786e77c..55ff4e6 100644 --- a/gdb/dwarf2loc.h +++ b/gdb/dwarf2loc.h @@ -137,6 +137,15 @@ struct dwarf2_loclist_baton @@ -765,10 +606,10 @@ index 9bc8ca5..28467dc 100644 extern const struct symbol_block_ops dwarf2_block_frame_base_locexpr_funcs; extern const struct symbol_block_ops dwarf2_block_frame_base_loclist_funcs; diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c -index d18eaed..91c476c 100644 +index 23bcfe0..ca9ffda 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c -@@ -1661,6 +1661,9 @@ static void fill_in_loclist_baton (struct dwarf2_cu *cu, +@@ -1738,6 +1738,9 @@ static void fill_in_loclist_baton (struct dwarf2_cu *cu, struct dwarf2_loclist_baton *baton, const struct attribute *attr); @@ -778,7 +619,7 @@ index d18eaed..91c476c 100644 static void dwarf2_symbol_mark_computed (const struct attribute *attr, struct symbol *sym, struct dwarf2_cu *cu, -@@ -1694,6 +1697,9 @@ static void age_cached_comp_units (void); +@@ -1771,6 +1774,9 @@ static void age_cached_comp_units (void); static void free_one_cached_comp_unit (struct dwarf2_per_cu_data *); @@ -788,7 +629,7 @@ index d18eaed..91c476c 100644 static struct type *set_die_type (struct die_info *, struct type *, struct dwarf2_cu *); -@@ -1722,6 +1728,9 @@ static struct type *get_die_type_at_offset (sect_offset, +@@ -1799,6 +1805,9 @@ static struct type *get_die_type_at_offset (sect_offset, static struct type *get_die_type (struct die_info *die, struct dwarf2_cu *cu); @@ -798,7 +639,7 @@ index d18eaed..91c476c 100644 static void dwarf2_release_queue (void *dummy); static void queue_comp_unit (struct dwarf2_per_cu_data *per_cu, -@@ -12263,6 +12272,29 @@ process_enumeration_scope (struct die_info *die, struct dwarf2_cu *cu) +@@ -13227,6 +13236,29 @@ process_enumeration_scope (struct die_info *die, struct dwarf2_cu *cu) new_symbol (die, this_type, cu); } @@ -828,7 +669,7 @@ index d18eaed..91c476c 100644 /* Extract all information from a DW_TAG_array_type DIE and put it in the DIE's type field. For now, this only handles one dimensional arrays. */ -@@ -12276,7 +12308,7 @@ read_array_type (struct die_info *die, struct dwarf2_cu *cu) +@@ -13240,7 +13272,7 @@ read_array_type (struct die_info *die, struct dwarf2_cu *cu) struct type *element_type, *range_type, *index_type; struct type **range_types = NULL; struct attribute *attr; @@ -837,7 +678,7 @@ index d18eaed..91c476c 100644 struct cleanup *back_to; const char *name; -@@ -12329,17 +12361,19 @@ read_array_type (struct die_info *die, struct dwarf2_cu *cu) +@@ -13293,17 +13325,19 @@ read_array_type (struct die_info *die, struct dwarf2_cu *cu) type = element_type; if (read_array_order (die, cu) == DW_ORD_col_major) @@ -868,7 +709,7 @@ index d18eaed..91c476c 100644 /* Understand Dwarf2 support for vector types (like they occur on the PowerPC w/ AltiVec). Gcc just adds another attribute to the -@@ -12973,29 +13007,114 @@ read_tag_string_type (struct die_info *die, struct dwarf2_cu *cu) +@@ -13942,29 +13976,114 @@ read_tag_string_type (struct die_info *die, struct dwarf2_cu *cu) struct gdbarch *gdbarch = get_objfile_arch (objfile); struct type *type, *range_type, *index_type, *char_type; struct attribute *attr; @@ -996,7 +837,7 @@ index d18eaed..91c476c 100644 char_type = language_string_char_type (cu->language_defn, gdbarch); type = create_string_type (NULL, char_type, range_type); -@@ -13320,7 +13439,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) +@@ -14289,7 +14408,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) struct type *base_type, *orig_base_type; struct type *range_type; struct attribute *attr; @@ -1005,9 +846,9 @@ index d18eaed..91c476c 100644 int low_default_is_valid; const char *name; LONGEST negative_mask; -@@ -13379,42 +13498,6 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) +@@ -14348,42 +14467,6 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) "- DIE at 0x%x [in module %s]"), - die->offset.sect_off, cu->objfile->name); + die->offset.sect_off, objfile_name (cu->objfile)); - attr = dwarf2_attr (die, DW_AT_upper_bound, cu); - if (attr) @@ -1048,7 +889,7 @@ index d18eaed..91c476c 100644 /* Dwarf-2 specifications explicitly allows to create subrange types without specifying a base type. In that case, the base type must be set to the type of -@@ -13453,24 +13536,163 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) +@@ -14422,24 +14505,163 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) } } @@ -1226,7 +1067,7 @@ index d18eaed..91c476c 100644 name = dwarf2_name (die, cu); if (name) -@@ -16380,11 +16602,14 @@ var_decode_location (struct attribute *attr, struct symbol *sym, +@@ -17361,11 +17583,14 @@ var_decode_location (struct attribute *attr, struct symbol *sym, (i.e. when the value of a register or memory location is referenced, or a thread-local block, etc.). Then again, it might not be worthwhile. I'm assuming that it isn't unless performance @@ -1243,7 +1084,7 @@ index d18eaed..91c476c 100644 cu->has_loclist = 1; } -@@ -17225,6 +17450,9 @@ read_type_die_1 (struct die_info *die, struct dwarf2_cu *cu) +@@ -18212,6 +18437,9 @@ read_type_die_1 (struct die_info *die, struct dwarf2_cu *cu) break; } @@ -1253,7 +1094,7 @@ index d18eaed..91c476c 100644 return this_type; } -@@ -19910,66 +20138,109 @@ fill_in_loclist_baton (struct dwarf2_cu *cu, +@@ -20894,66 +21122,109 @@ fill_in_loclist_baton (struct dwarf2_cu *cu, baton->from_dwo = cu->dwo_unit != NULL; } @@ -1402,7 +1243,7 @@ index d18eaed..91c476c 100644 } } -@@ -20342,6 +20613,25 @@ per_cu_offset_and_type_eq (const void *item_lhs, const void *item_rhs) +@@ -21326,6 +21597,25 @@ per_cu_offset_and_type_eq (const void *item_lhs, const void *item_rhs) && ofs_lhs->offset.sect_off == ofs_rhs->offset.sect_off); } @@ -1428,7 +1269,7 @@ index d18eaed..91c476c 100644 /* Set the type associated with DIE to TYPE. Save it in CU's hash table if necessary. For convenience, return TYPE. -@@ -20366,6 +20656,8 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu) +@@ -21350,6 +21640,8 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu) struct dwarf2_per_cu_offset_and_type **slot, ofs; struct objfile *objfile = cu->objfile; @@ -1438,7 +1279,7 @@ index d18eaed..91c476c 100644 initialized (if not already set). There are a few types where we should not be doing so, because the type-specific area is diff --git a/gdb/eval.c b/gdb/eval.c -index 539489f..13ba1a9 100644 +index bfbe319..3fdc5d5 100644 --- a/gdb/eval.c +++ b/gdb/eval.c @@ -41,6 +41,7 @@ @@ -1449,7 +1290,7 @@ index 539489f..13ba1a9 100644 #include "gdb_assert.h" -@@ -393,27 +394,221 @@ init_array_element (struct value *array, struct value *element, +@@ -397,27 +398,222 @@ init_array_element (struct value *array, struct value *element, } static struct value * @@ -1673,7 +1514,8 @@ index 539489f..13ba1a9 100644 + { + gdb_assert (TYPE_LENGTH (new_array_type) + <= TYPE_LENGTH (value_type (saved_array))); -+ allocate_value_contents (array); ++ /* FIXME: It simulates non-public allocate_value_contents. */ ++ value_contents_all_raw (array); + set_value_lazy (array, 0); + + memcpy (value_contents_writeable (array), @@ -1687,7 +1529,7 @@ index 539489f..13ba1a9 100644 } -@@ -710,6 +905,7 @@ evaluate_subexp_standard (struct type *expect_type, +@@ -714,6 +910,7 @@ evaluate_subexp_standard (struct type *expect_type, int save_pos1; struct symbol *function = NULL; char *function_name = NULL; @@ -1695,7 +1537,7 @@ index 539489f..13ba1a9 100644 pc = (*pos)++; op = exp->elts[pc].opcode; -@@ -1776,6 +1972,8 @@ evaluate_subexp_standard (struct type *expect_type, +@@ -1780,6 +1977,8 @@ evaluate_subexp_standard (struct type *expect_type, /* First determine the type code we are dealing with. */ arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside); @@ -1704,7 +1546,7 @@ index 539489f..13ba1a9 100644 type = check_typedef (value_type (arg1)); code = TYPE_CODE (type); -@@ -1796,23 +1994,13 @@ evaluate_subexp_standard (struct type *expect_type, +@@ -1800,23 +1999,13 @@ evaluate_subexp_standard (struct type *expect_type, code = TYPE_CODE (type); } } @@ -1730,7 +1572,7 @@ index 539489f..13ba1a9 100644 case TYPE_CODE_PTR: case TYPE_CODE_FUNC: -@@ -2225,49 +2413,6 @@ evaluate_subexp_standard (struct type *expect_type, +@@ -2229,49 +2418,6 @@ evaluate_subexp_standard (struct type *expect_type, } return (arg1); @@ -1780,7 +1622,7 @@ index 539489f..13ba1a9 100644 case BINOP_LOGICAL_AND: arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside); if (noside == EVAL_SKIP) -@@ -2499,15 +2644,23 @@ evaluate_subexp_standard (struct type *expect_type, +@@ -2503,15 +2649,23 @@ evaluate_subexp_standard (struct type *expect_type, if (expect_type && TYPE_CODE (expect_type) == TYPE_CODE_PTR) expect_type = TYPE_TARGET_TYPE (check_typedef (expect_type)); arg1 = evaluate_subexp (expect_type, exp, pos, noside); @@ -1806,7 +1648,7 @@ index 539489f..13ba1a9 100644 else if (noside == EVAL_AVOID_SIDE_EFFECTS) { type = check_typedef (value_type (arg1)); -@@ -2516,12 +2669,18 @@ evaluate_subexp_standard (struct type *expect_type, +@@ -2520,12 +2674,18 @@ evaluate_subexp_standard (struct type *expect_type, /* In C you can dereference an array to get the 1st elt. */ || TYPE_CODE (type) == TYPE_CODE_ARRAY ) @@ -1830,7 +1672,7 @@ index 539489f..13ba1a9 100644 else error (_("Attempt to take contents of a non-pointer value.")); } -@@ -2531,9 +2690,14 @@ evaluate_subexp_standard (struct type *expect_type, +@@ -2535,9 +2695,14 @@ evaluate_subexp_standard (struct type *expect_type, do. "long long" variables are rare enough that BUILTIN_TYPE_LONGEST would seem to be a mistake. */ if (TYPE_CODE (type) == TYPE_CODE_INT) @@ -1848,7 +1690,7 @@ index 539489f..13ba1a9 100644 case UNOP_ADDR: /* C++: check for and handle pointer to members. */ -@@ -2963,7 +3127,7 @@ evaluate_subexp_with_coercion (struct expression *exp, +@@ -2967,7 +3132,7 @@ evaluate_subexp_with_coercion (struct expression *exp, { enum exp_opcode op; int pc; @@ -1857,7 +1699,7 @@ index 539489f..13ba1a9 100644 struct symbol *var; struct type *type; -@@ -2974,13 +3138,18 @@ evaluate_subexp_with_coercion (struct expression *exp, +@@ -2978,13 +3143,18 @@ evaluate_subexp_with_coercion (struct expression *exp, { case OP_VAR_VALUE: var = exp->elts[pc + 2].symbol; @@ -1877,7 +1719,7 @@ index 539489f..13ba1a9 100644 return value_cast (lookup_pointer_type (TYPE_TARGET_TYPE (type)), val); } -@@ -3038,9 +3207,13 @@ evaluate_subexp_for_sizeof (struct expression *exp, int *pos) +@@ -3042,9 +3212,13 @@ evaluate_subexp_for_sizeof (struct expression *exp, int *pos) case OP_VAR_VALUE: (*pos) += 4; @@ -1894,7 +1736,7 @@ index 539489f..13ba1a9 100644 default: val = evaluate_subexp (NULL_TYPE, exp, pos, EVAL_AVOID_SIDE_EFFECTS); -@@ -3071,18 +3244,25 @@ parse_and_eval_type (char *p, int length) +@@ -3075,18 +3249,25 @@ parse_and_eval_type (char *p, int length) int calc_f77_array_dims (struct type *array_type) { @@ -1931,7 +1773,7 @@ index 539489f..13ba1a9 100644 + } diff --git a/gdb/f-exp.y b/gdb/f-exp.y -index 846cc02..9283183 100644 +index 7a94b15..a6ba784 100644 --- a/gdb/f-exp.y +++ b/gdb/f-exp.y @@ -297,7 +297,9 @@ arglist : subrange @@ -1946,7 +1788,7 @@ index 846cc02..9283183 100644 ; diff --git a/gdb/f-lang.h b/gdb/f-lang.h -index 4ef1acf..8da016b 100644 +index 2d67a48..4d2f411 100644 --- a/gdb/f-lang.h +++ b/gdb/f-lang.h @@ -29,6 +29,10 @@ extern void f_error (char *); /* Defined in f-exp.y */ @@ -1961,19 +1803,18 @@ index 4ef1acf..8da016b 100644 struct ui_file *, int, const struct value *, diff --git a/gdb/f-typeprint.c b/gdb/f-typeprint.c -index aa33231..df998c4 100644 +index 8356aab..5050255 100644 --- a/gdb/f-typeprint.c +++ b/gdb/f-typeprint.c -@@ -30,7 +30,7 @@ +@@ -30,6 +30,7 @@ #include "gdbcore.h" #include "target.h" #include "f-lang.h" -- +#include "dwarf2loc.h" - #include "gdb_string.h" - #include -@@ -47,6 +47,34 @@ void f_type_print_varspec_prefix (struct type *, struct ui_file *, + #include + #include +@@ -47,6 +48,34 @@ void f_type_print_varspec_prefix (struct type *, struct ui_file *, void f_type_print_base (struct type *, struct ui_file *, int, int); @@ -2008,7 +1849,7 @@ index aa33231..df998c4 100644 /* LEVEL is the depth to indent lines by. */ void -@@ -56,6 +84,9 @@ f_print_type (struct type *type, const char *varstring, struct ui_file *stream, +@@ -56,6 +85,9 @@ f_print_type (struct type *type, const char *varstring, struct ui_file *stream, enum type_code code; int demangled_args; @@ -2018,7 +1859,7 @@ index aa33231..df998c4 100644 f_type_print_base (type, stream, show, level); code = TYPE_CODE (type); if ((varstring != NULL && *varstring != '\0') -@@ -162,6 +193,9 @@ f_type_print_varspec_suffix (struct type *type, struct ui_file *stream, +@@ -162,6 +194,9 @@ f_type_print_varspec_suffix (struct type *type, struct ui_file *stream, QUIT; @@ -2029,7 +1870,7 @@ index aa33231..df998c4 100644 { case TYPE_CODE_ARRAY: diff --git a/gdb/f-valprint.c b/gdb/f-valprint.c -index d01d6ec..8a21149 100644 +index d8c767f..4aa0d5e 100644 --- a/gdb/f-valprint.c +++ b/gdb/f-valprint.c @@ -51,15 +51,17 @@ int f77_array_offset_tbl[MAX_FORTRAN_DIMS + 1][2]; @@ -2168,7 +2009,7 @@ index d01d6ec..8a21149 100644 switch (TYPE_CODE (type)) { diff --git a/gdb/findvar.c b/gdb/findvar.c -index f586ce2..8fd5a08 100644 +index 0647c0f..a2a0a4f 100644 --- a/gdb/findvar.c +++ b/gdb/findvar.c @@ -34,6 +34,7 @@ @@ -2179,7 +2020,7 @@ index f586ce2..8fd5a08 100644 /* Basic byte-swapping routines. All 'extract' functions return a host-format integer from a target-format integer at ADDR which is -@@ -443,7 +444,10 @@ minsym_lookup_iterator_cb (struct objfile *objfile, void *cb_data) +@@ -416,7 +417,10 @@ minsym_lookup_iterator_cb (struct objfile *objfile, void *cb_data) } /* A default implementation for the "la_read_var_value" hook in @@ -2191,7 +2032,7 @@ index f586ce2..8fd5a08 100644 struct value * default_read_var_value (struct symbol *var, struct frame_info *frame) -@@ -452,13 +456,6 @@ default_read_var_value (struct symbol *var, struct frame_info *frame) +@@ -425,13 +429,6 @@ default_read_var_value (struct symbol *var, struct frame_info *frame) struct type *type = SYMBOL_TYPE (var); CORE_ADDR addr; @@ -2205,73 +2046,17 @@ index f586ce2..8fd5a08 100644 if (symbol_read_needs_frame (var)) gdb_assert (frame); -@@ -502,7 +499,6 @@ default_read_var_value (struct symbol *var, struct frame_info *frame) - return v; - - case LOC_STATIC: -- v = allocate_value_lazy (type); - if (overlay_debugging) - addr = symbol_overlayed_address (SYMBOL_VALUE_ADDRESS (var), - SYMBOL_OBJ_SECTION (SYMBOL_OBJFILE (var), -@@ -517,7 +513,6 @@ default_read_var_value (struct symbol *var, struct frame_info *frame) - error (_("Unknown argument list address for `%s'."), - SYMBOL_PRINT_NAME (var)); - addr += SYMBOL_VALUE (var); -- v = allocate_value_lazy (type); - break; - - case LOC_REF_ARG: -@@ -532,14 +527,12 @@ default_read_var_value (struct symbol *var, struct frame_info *frame) - argref += SYMBOL_VALUE (var); - ref = value_at (lookup_pointer_type (type), argref); - addr = value_as_address (ref); -- v = allocate_value_lazy (type); - break; - } - - case LOC_LOCAL: - addr = get_frame_locals_address (frame); - addr += SYMBOL_VALUE (var); -- v = allocate_value_lazy (type); - break; - - case LOC_TYPEDEF: -@@ -548,7 +541,6 @@ default_read_var_value (struct symbol *var, struct frame_info *frame) - break; - - case LOC_BLOCK: -- v = allocate_value_lazy (type); - if (overlay_debugging) - addr = symbol_overlayed_address - (BLOCK_START (SYMBOL_BLOCK_VALUE (var)), SYMBOL_OBJ_SECTION (SYMBOL_OBJFILE (var), -@@ -575,7 +567,6 @@ default_read_var_value (struct symbol *var, struct frame_info *frame) - SYMBOL_PRINT_NAME (var)); - - addr = value_as_address (regval); -- v = allocate_value_lazy (type); - } - else - { -@@ -620,7 +611,6 @@ default_read_var_value (struct symbol *var, struct frame_info *frame) - if (obj_section - && (obj_section->the_bfd_section->flags & SEC_THREAD_LOCAL) != 0) - addr = target_translate_tls_address (obj_section->objfile, addr); -- v = allocate_value_lazy (type); - } - break; - -@@ -633,6 +623,10 @@ default_read_var_value (struct symbol *var, struct frame_info *frame) +@@ -599,6 +596,9 @@ default_read_var_value (struct symbol *var, struct frame_info *frame) break; } + /* ADDR is set here for ALLOCATE_VALUE's CHECK_TYPEDEF for + DW_OP_PUSH_OBJECT_ADDRESS. */ + object_address_set (addr); -+ v = allocate_value_lazy (type); - VALUE_LVAL (v) = lval_memory; - set_value_address (v, addr); + v = value_at_lazy (type, addr); return v; -@@ -737,10 +731,11 @@ struct value * + } +@@ -702,10 +702,11 @@ struct value * value_from_register (struct type *type, int regnum, struct frame_info *frame) { struct gdbarch *gdbarch = get_frame_arch (frame); @@ -2285,7 +2070,7 @@ index f586ce2..8fd5a08 100644 { int optim, unavail, ok; -@@ -755,7 +750,7 @@ value_from_register (struct type *type, int regnum, struct frame_info *frame) +@@ -720,7 +721,7 @@ value_from_register (struct type *type, int regnum, struct frame_info *frame) VALUE_LVAL (v) = lval_register; VALUE_FRAME_ID (v) = get_frame_id (frame); VALUE_REGNUM (v) = regnum; @@ -2315,20 +2100,19 @@ index 05a38b2..9801fdf 100644 set variable $gdb_init_done = 1 diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c -index d19c593..3995913 100644 +index 8e3090d..758b3c5 100644 --- a/gdb/gdbtypes.c +++ b/gdb/gdbtypes.c -@@ -38,6 +38,9 @@ - #include "hashtab.h" - #include "exceptions.h" +@@ -40,6 +40,8 @@ #include "cp-support.h" + #include "bcache.h" + #include "dwarf2loc.h" +#include "observer.h" +#include "dwarf2expr.h" -+#include "dwarf2loc.h" /* Initialize BADNESS constants. */ -@@ -186,6 +189,43 @@ alloc_type (struct objfile *objfile) +@@ -188,6 +190,43 @@ alloc_type (struct objfile *objfile) return type; } @@ -2372,7 +2156,7 @@ index d19c593..3995913 100644 /* Allocate a new GDBARCH-associated type structure and fill it with some defaults. Space for the type structure is allocated on the heap. */ -@@ -311,7 +351,7 @@ make_pointer_type (struct type *type, struct type **typeptr) +@@ -328,7 +367,7 @@ make_pointer_type (struct type *type, struct type **typeptr) if (typeptr == 0 || *typeptr == 0) /* We'll need to allocate one. */ { @@ -2381,7 +2165,7 @@ index d19c593..3995913 100644 if (typeptr) *typeptr = ntype; } -@@ -384,7 +424,7 @@ make_reference_type (struct type *type, struct type **typeptr) +@@ -401,7 +440,7 @@ make_reference_type (struct type *type, struct type **typeptr) if (typeptr == 0 || *typeptr == 0) /* We'll need to allocate one. */ { @@ -2390,7 +2174,7 @@ index d19c593..3995913 100644 if (typeptr) *typeptr = ntype; } -@@ -807,6 +847,7 @@ create_range_type (struct type *result_type, struct type *index_type, +@@ -824,6 +863,7 @@ create_range_type (struct type *result_type, struct type *index_type, TYPE_ZALLOC (result_type, sizeof (struct range_bounds)); TYPE_LOW_BOUND (result_type) = low_bound; TYPE_HIGH_BOUND (result_type) = high_bound; @@ -2398,7 +2182,7 @@ index d19c593..3995913 100644 if (low_bound >= 0) TYPE_UNSIGNED (result_type) = 1; -@@ -927,6 +968,10 @@ get_array_bounds (struct type *type, LONGEST *low_bound, LONGEST *high_bound) +@@ -944,6 +984,10 @@ get_array_bounds (struct type *type, LONGEST *low_bound, LONGEST *high_bound) return 1; } @@ -2409,7 +2193,7 @@ index d19c593..3995913 100644 /* Create an array type using either a blank type supplied in RESULT_TYPE, or creating a new type, inheriting the objfile from RANGE_TYPE. -@@ -950,26 +995,31 @@ create_array_type (struct type *result_type, +@@ -967,26 +1011,31 @@ create_array_type (struct type *result_type, TYPE_CODE (result_type) = TYPE_CODE_ARRAY; TYPE_TARGET_TYPE (result_type) = element_type; @@ -2454,7 +2238,7 @@ index d19c593..3995913 100644 return result_type; } -@@ -1490,6 +1540,105 @@ stub_noname_complaint (void) +@@ -1508,6 +1557,105 @@ stub_noname_complaint (void) complaint (&symfile_complaints, _("stub type has NULL name")); } @@ -2560,7 +2344,7 @@ index d19c593..3995913 100644 /* Find the real type of TYPE. This function returns the real type, after removing all layers of typedefs, and completing opaque or stub types. Completion changes the TYPE argument, but stripping of -@@ -1656,52 +1805,37 @@ check_typedef (struct type *type) +@@ -1674,52 +1822,37 @@ check_typedef (struct type *type) } } @@ -2634,7 +2418,7 @@ index d19c593..3995913 100644 TYPE_TARGET_STUB (type) = 0; } else if (TYPE_CODE (type) == TYPE_CODE_RANGE) -@@ -1709,6 +1843,7 @@ check_typedef (struct type *type) +@@ -1727,6 +1860,7 @@ check_typedef (struct type *type) TYPE_LENGTH (type) = TYPE_LENGTH (target_type); TYPE_TARGET_STUB (type) = 0; } @@ -2642,7 +2426,7 @@ index d19c593..3995913 100644 } type = make_qualified_type (type, instance_flags, NULL); -@@ -3404,33 +3539,42 @@ type_pair_eq (const void *item_lhs, const void *item_rhs) +@@ -3632,33 +3766,42 @@ type_pair_eq (const void *item_lhs, const void *item_rhs) } /* Allocate the hash table used by copy_type_recursive to walk @@ -2700,7 +2484,7 @@ index d19c593..3995913 100644 return type; /* This type shouldn't be pointing to any types in other objfiles; -@@ -3445,9 +3589,10 @@ copy_type_recursive (struct objfile *objfile, +@@ -3673,9 +3816,10 @@ copy_type_recursive (struct objfile *objfile, new_type = alloc_type_arch (get_type_arch (type)); /* We must add the new type to the hash table immediately, in case @@ -2714,7 +2498,7 @@ index d19c593..3995913 100644 stored->old = type; stored->new = new_type; *slot = stored; -@@ -3458,6 +3603,21 @@ copy_type_recursive (struct objfile *objfile, +@@ -3686,6 +3830,21 @@ copy_type_recursive (struct objfile *objfile, TYPE_OBJFILE_OWNED (new_type) = 0; TYPE_OWNER (new_type).gdbarch = get_type_arch (type); @@ -2736,7 +2520,7 @@ index d19c593..3995913 100644 if (TYPE_NAME (type)) TYPE_NAME (new_type) = xstrdup (TYPE_NAME (type)); if (TYPE_TAG_NAME (type)) -@@ -3466,12 +3626,48 @@ copy_type_recursive (struct objfile *objfile, +@@ -3694,12 +3853,48 @@ copy_type_recursive (struct objfile *objfile, TYPE_INSTANCE_FLAGS (new_type) = TYPE_INSTANCE_FLAGS (type); TYPE_LENGTH (new_type) = TYPE_LENGTH (type); @@ -2785,7 +2569,7 @@ index d19c593..3995913 100644 TYPE_FIELDS (new_type) = XCALLOC (nfields, struct field); for (i = 0; i < nfields; i++) { -@@ -3480,8 +3676,8 @@ copy_type_recursive (struct objfile *objfile, +@@ -3708,8 +3903,8 @@ copy_type_recursive (struct objfile *objfile, TYPE_FIELD_BITSIZE (new_type, i) = TYPE_FIELD_BITSIZE (type, i); if (TYPE_FIELD_TYPE (type, i)) TYPE_FIELD_TYPE (new_type, i) @@ -2796,7 +2580,7 @@ index d19c593..3995913 100644 if (TYPE_FIELD_NAME (type, i)) TYPE_FIELD_NAME (new_type, i) = xstrdup (TYPE_FIELD_NAME (type, i)); -@@ -3512,24 +3708,184 @@ copy_type_recursive (struct objfile *objfile, +@@ -3740,24 +3935,184 @@ copy_type_recursive (struct objfile *objfile, } } @@ -2988,7 +2772,7 @@ index d19c593..3995913 100644 /* Maybe copy the type_specific bits. NOTE drow/2005-12-09: We do not copy the C++-specific bits like -@@ -3546,6 +3902,17 @@ copy_type_recursive (struct objfile *objfile, +@@ -3774,6 +4129,17 @@ copy_type_recursive (struct objfile *objfile, return new_type; } @@ -3006,7 +2790,7 @@ index d19c593..3995913 100644 /* Make a copy of the given TYPE, except that the pointer & reference types are not preserved. -@@ -4110,6 +4477,13 @@ void +@@ -4330,6 +4696,13 @@ void _initialize_gdbtypes (void) { gdbtypes_data = gdbarch_data_register_post_init (gdbtypes_post_init); @@ -3021,7 +2805,7 @@ index d19c593..3995913 100644 add_setshow_zuinteger_cmd ("overload", no_class, &overload_debug, diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h -index 0ca7a87..c6029dc 100644 +index 61ddeff..fc6f276 100644 --- a/gdb/gdbtypes.h +++ b/gdb/gdbtypes.h @@ -226,6 +226,11 @@ enum type_instance_flag_value @@ -3212,7 +2996,7 @@ index 0ca7a87..c6029dc 100644 /* C++ */ -@@ -1529,6 +1634,18 @@ extern struct type *create_array_type (struct type *, struct type *, +@@ -1533,6 +1638,18 @@ extern struct type *create_array_type (struct type *, struct type *, struct type *); extern struct type *lookup_array_range_type (struct type *, LONGEST, LONGEST); @@ -3231,7 +3015,7 @@ index 0ca7a87..c6029dc 100644 extern struct type *create_string_type (struct type *, struct type *, struct type *); extern struct type *lookup_string_range_type (struct type *, LONGEST, LONGEST); -@@ -1574,6 +1691,10 @@ extern int is_public_ancestor (struct type *, struct type *); +@@ -1578,6 +1695,10 @@ extern int is_public_ancestor (struct type *, struct type *); extern int is_unique_ancestor (struct type *, struct value *); @@ -3242,7 +3026,7 @@ index 0ca7a87..c6029dc 100644 /* Overload resolution */ #define LENGTH_MATCH(bv) ((bv)->rank[0]) -@@ -1652,8 +1773,7 @@ extern void maintenance_print_type (char *, int); +@@ -1656,8 +1777,7 @@ extern void maintenance_print_type (char *, int); extern htab_t create_copied_types_hash (struct objfile *objfile); @@ -3253,7 +3037,7 @@ index 0ca7a87..c6029dc 100644 extern struct type *copy_type (const struct type *type); diff --git a/gdb/main.c b/gdb/main.c -index 677f587..30b849e 100644 +index 0c8349e..a07f41a 100644 --- a/gdb/main.c +++ b/gdb/main.c @@ -37,6 +37,7 @@ @@ -3264,7 +3048,7 @@ index 677f587..30b849e 100644 #include "source.h" #include "cli/cli-cmds.h" #include "python/python.h" -@@ -318,6 +319,8 @@ captured_main (void *data) +@@ -325,6 +326,8 @@ captured_main (void *data) char *cdarg = NULL; char *ttyarg = NULL; @@ -3273,7 +3057,7 @@ index 677f587..30b849e 100644 /* These are static so that we can take their address in an initializer. */ static int print_help; -@@ -517,10 +520,14 @@ captured_main (void *data) +@@ -531,10 +534,14 @@ captured_main (void *data) {"args", no_argument, &set_args, 1}, {"l", required_argument, 0, 'l'}, {"return-child-result", no_argument, &return_child_result, 1}, @@ -3289,7 +3073,7 @@ index 677f587..30b849e 100644 { int option_index; -@@ -538,6 +545,9 @@ captured_main (void *data) +@@ -552,6 +559,9 @@ captured_main (void *data) case 0: /* Long option that just sets a flag. */ break; @@ -3299,7 +3083,7 @@ index 677f587..30b849e 100644 case OPT_SE: symarg = optarg; execarg = optarg; -@@ -747,7 +757,31 @@ captured_main (void *data) +@@ -761,7 +771,31 @@ captured_main (void *data) /* Now that gdb_init has created the initial inferior, we're in position to set args for that inferior. */ @@ -3332,7 +3116,7 @@ index 677f587..30b849e 100644 { /* The remaining options are the command-line options for the inferior. The first one is the sym/exec file, and the rest -@@ -1037,7 +1071,8 @@ captured_main (void *data) +@@ -1047,7 +1081,8 @@ captured_main (void *data) /* Read in the old history after all the command files have been read. */ @@ -3342,7 +3126,7 @@ index 677f587..30b849e 100644 if (batch_flag) { -@@ -1048,13 +1083,25 @@ captured_main (void *data) +@@ -1058,13 +1093,25 @@ captured_main (void *data) /* Show time and/or space usage. */ do_cleanups (pre_stat_chain); @@ -3374,7 +3158,7 @@ index 677f587..30b849e 100644 } /* No exit -- exit is through quit_command. */ } -@@ -1089,6 +1136,12 @@ print_gdb_help (struct ui_file *stream) +@@ -1099,6 +1146,12 @@ print_gdb_help (struct ui_file *stream) fputs_unfiltered (_("\ This is the GNU debugger. Usage:\n\n\ gdb [options] [executable-file [core-file or process-id]]\n\ @@ -3387,7 +3171,7 @@ index 677f587..30b849e 100644 gdb [options] --args executable-file [inferior-arguments ...]\n\n\ "), stream); fputs_unfiltered (_("\ -@@ -1134,6 +1187,13 @@ Output and user interface control:\n\n\ +@@ -1144,6 +1197,13 @@ Output and user interface control:\n\n\ fputs_unfiltered (_("\ --dbx DBX compatibility mode.\n\ --xdb XDB compatibility mode.\n\ @@ -3402,7 +3186,7 @@ index 677f587..30b849e 100644 "), stream); fputs_unfiltered (_("\ diff --git a/gdb/p-valprint.c b/gdb/p-valprint.c -index 05d4c6f..acec2a2 100644 +index a87f1f4..0f93271 100644 --- a/gdb/p-valprint.c +++ b/gdb/p-valprint.c @@ -38,6 +38,7 @@ @@ -3482,10 +3266,10 @@ index 05d4c6f..acec2a2 100644 void diff --git a/gdb/parse.c b/gdb/parse.c -index 13699a8..7b930c1 100644 +index 1171289..2afdb85 100644 --- a/gdb/parse.c +++ b/gdb/parse.c -@@ -1780,6 +1780,7 @@ parser_fprintf (FILE *x, const char *y, ...) +@@ -1773,6 +1773,7 @@ parser_fprintf (FILE *x, const char *y, ...) int operator_check_standard (struct expression *exp, int pos, @@ -3493,7 +3277,7 @@ index 13699a8..7b930c1 100644 int (*objfile_func) (struct objfile *objfile, void *data), void *data) -@@ -1819,7 +1820,7 @@ operator_check_standard (struct expression *exp, int pos, +@@ -1812,7 +1813,7 @@ operator_check_standard (struct expression *exp, int pos, struct type *type = elts[pos + 2 + arg].type; struct objfile *objfile = TYPE_OBJFILE (type); @@ -3502,7 +3286,7 @@ index 13699a8..7b930c1 100644 return 1; } } -@@ -1837,7 +1838,8 @@ operator_check_standard (struct expression *exp, int pos, +@@ -1830,7 +1831,8 @@ operator_check_standard (struct expression *exp, int pos, /* Check objfile where the variable itself is placed. SYMBOL_OBJ_SECTION (symbol) may be NULL. */ @@ -3512,7 +3296,7 @@ index 13699a8..7b930c1 100644 return 1; /* Check objfile where is placed the code touching the variable. */ -@@ -1850,24 +1852,27 @@ operator_check_standard (struct expression *exp, int pos, +@@ -1843,24 +1845,27 @@ operator_check_standard (struct expression *exp, int pos, /* Invoke callbacks for TYPE and OBJFILE if they were set as non-NULL. */ @@ -3548,7 +3332,7 @@ index 13699a8..7b930c1 100644 int (*objfile_func) (struct objfile *objfile, void *data), void *data) { -@@ -1882,7 +1887,9 @@ exp_iterate (struct expression *exp, +@@ -1875,7 +1880,9 @@ exp_iterate (struct expression *exp, pos = endpos - oplen; if (exp->language_defn->la_exp_desc->operator_check (exp, pos, @@ -3559,7 +3343,7 @@ index 13699a8..7b930c1 100644 return 1; endpos = pos; -@@ -1913,8 +1920,29 @@ exp_uses_objfile (struct expression *exp, struct objfile *objfile) +@@ -1906,8 +1913,29 @@ exp_uses_objfile (struct expression *exp, struct objfile *objfile) { gdb_assert (objfile->separate_debug_objfile_backlink == NULL); @@ -3591,7 +3375,7 @@ index 13699a8..7b930c1 100644 void _initialize_parse (void) diff --git a/gdb/parser-defs.h b/gdb/parser-defs.h -index 5fbae0d..1fdad46 100644 +index c3f2607..fa0af7b 100644 --- a/gdb/parser-defs.h +++ b/gdb/parser-defs.h @@ -245,6 +245,8 @@ extern void operator_length_standard (const struct expression *, int, int *, @@ -3612,10 +3396,10 @@ index 5fbae0d..1fdad46 100644 void *data), void *data); diff --git a/gdb/printcmd.c b/gdb/printcmd.c -index 1cc248d..eef0c66 100644 +index 10d3c23..5759d5c 100644 --- a/gdb/printcmd.c +++ b/gdb/printcmd.c -@@ -51,6 +51,7 @@ +@@ -50,6 +50,7 @@ #include "cli/cli-utils.h" #include "format.h" #include "source.h" @@ -3623,7 +3407,7 @@ index 1cc248d..eef0c66 100644 #ifdef TUI #include "tui/tui.h" /* For tui_active et al. */ -@@ -980,6 +981,11 @@ print_command_1 (const char *exp, int voidprint) +@@ -979,6 +980,11 @@ print_command_1 (const char *exp, int voidprint) else val = access_value_history (0); @@ -3635,7 +3419,7 @@ index 1cc248d..eef0c66 100644 if (voidprint || (val && value_type (val) && TYPE_CODE (value_type (val)) != TYPE_CODE_VOID)) { -@@ -1061,6 +1067,9 @@ output_command_const (const char *exp, int from_tty) +@@ -1060,6 +1066,9 @@ output_command_const (const char *exp, int from_tty) val = evaluate_expression (expr); @@ -3645,7 +3429,7 @@ index 1cc248d..eef0c66 100644 annotate_value_begin (value_type (val)); get_formatted_print_options (&opts, format); -@@ -1495,6 +1504,24 @@ x_command (char *exp, int from_tty) +@@ -1494,6 +1503,24 @@ x_command (char *exp, int from_tty) set_internalvar (lookup_internalvar ("__"), last_examine_value); } } @@ -3670,7 +3454,7 @@ index 1cc248d..eef0c66 100644 /* Add an expression to the auto-display chain. -@@ -1993,6 +2020,10 @@ print_variable_and_value (const char *name, struct symbol *var, +@@ -1995,6 +2022,10 @@ print_variable_and_value (const char *name, struct symbol *var, struct value_print_options opts; val = read_var_value (var, frame); @@ -3681,7 +3465,7 @@ index 1cc248d..eef0c66 100644 get_user_print_options (&opts); opts.deref_ref = 1; common_val_print (val, stream, indent, &opts, current_language); -@@ -2648,4 +2679,8 @@ Show printing of source filename and line number with ."), NULL, +@@ -2651,4 +2682,8 @@ Show printing of source filename and line number with ."), NULL, add_com ("eval", no_class, eval_command, _("\ Convert \"printf format string\", arg1, arg2, arg3, ..., argn to\n\ a command line, and call it.")); @@ -3938,19 +3722,19 @@ index 0000000..debb3bb + +InScope () diff --git a/gdb/python/py-type.c b/gdb/python/py-type.c -index 337e307..be91c5a 100644 +index 16bb442..8cf6deb 100644 --- a/gdb/python/py-type.c +++ b/gdb/python/py-type.c -@@ -31,6 +31,8 @@ - #include "bcache.h" - #include "dwarf2loc.h" +@@ -29,6 +29,8 @@ + #include "language.h" + #include "vec.h" #include "typeprint.h" +#include "observer.h" +#include "gdb_assert.h" typedef struct pyty_type_object { -@@ -39,11 +41,19 @@ typedef struct pyty_type_object +@@ -37,11 +39,19 @@ typedef struct pyty_type_object /* If a Type object is associated with an objfile, it is kept on a doubly-linked list, rooted in the objfile. This lets us copy the @@ -3971,7 +3755,7 @@ index 337e307..be91c5a 100644 static PyTypeObject type_object_type CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF ("type_object"); -@@ -1180,8 +1190,63 @@ typy_richcompare (PyObject *self, PyObject *other, int op) +@@ -1024,8 +1034,63 @@ typy_richcompare (PyObject *self, PyObject *other, int op) @@ -4035,7 +3819,7 @@ index 337e307..be91c5a 100644 static void save_objfile_types (struct objfile *objfile, void *datum) { -@@ -1202,12 +1267,13 @@ save_objfile_types (struct objfile *objfile, void *datum) +@@ -1046,12 +1111,13 @@ save_objfile_types (struct objfile *objfile, void *datum) { type_object *next = obj->next; @@ -4053,7 +3837,7 @@ index 337e307..be91c5a 100644 obj = next; } -@@ -1218,43 +1284,28 @@ save_objfile_types (struct objfile *objfile, void *datum) +@@ -1062,43 +1128,28 @@ save_objfile_types (struct objfile *objfile, void *datum) } static void @@ -4111,7 +3895,7 @@ index 337e307..be91c5a 100644 /* Return number of fields ("length" of the field dictionary). */ -@@ -1474,7 +1525,10 @@ type_to_type_object (struct type *type) +@@ -1318,7 +1369,10 @@ type_to_type_object (struct type *type) type_obj = PyObject_New (type_object, &type_object_type); if (type_obj) @@ -4124,7 +3908,7 @@ index 337e307..be91c5a 100644 return (PyObject *) type_obj; } diff --git a/gdb/python/py-value.c b/gdb/python/py-value.c -index 0d87219..c019184 100644 +index 4ab782d..eed91b878 100644 --- a/gdb/python/py-value.c +++ b/gdb/python/py-value.c @@ -29,6 +29,7 @@ @@ -4135,7 +3919,7 @@ index 0d87219..c019184 100644 #ifdef HAVE_PYTHON -@@ -1385,12 +1386,28 @@ gdbpy_is_value_object (PyObject *obj) +@@ -1503,12 +1504,28 @@ gdbpy_is_value_object (PyObject *obj) return PyObject_TypeCheck (obj, &value_object_type); } @@ -4165,7 +3949,7 @@ index 0d87219..c019184 100644 (PyObject *) &value_object_type); } diff --git a/gdb/python/python.c b/gdb/python/python.c -index 00092c7..ec49fc9 100644 +index 337c170..873c0dc 100644 --- a/gdb/python/python.c +++ b/gdb/python/python.c @@ -67,6 +67,8 @@ static const char *gdbpy_should_print_stack = python_excp_message; @@ -4177,7 +3961,7 @@ index 00092c7..ec49fc9 100644 #include "target.h" #include "gdbthread.h" #include "observer.h" -@@ -1116,6 +1118,53 @@ gdbpy_print_stack (void) +@@ -1116,6 +1118,56 @@ gdbpy_print_stack (void) /* Return the current Progspace. There always is one. */ @@ -4194,9 +3978,12 @@ index 00092c7..ec49fc9 100644 +{ + if (! running_python_script || in_cli) + return PyErr_Format (PyExc_RuntimeError, "cannot invoke CLI recursively"); ++ ++ if (ui_out_is_mi_like_p (current_uiout)) ++ return PyErr_Format (PyExc_RuntimeError, _("Cannot invoke CLI from MI.")); + + in_cli = 1; -+ cli_command_loop (); ++ current_interp_command_loop (); + in_cli = 0; + + Py_RETURN_NONE; @@ -4231,20 +4018,20 @@ index 00092c7..ec49fc9 100644 static PyObject * gdbpy_get_current_progspace (PyObject *unused1, PyObject *unused2) -@@ -1826,6 +1875,8 @@ static PyMethodDef GdbMethods[] = - "Get a value from history" }, - { "execute", (PyCFunction) execute_gdb_command, METH_VARARGS | METH_KEYWORDS, - "Execute a gdb command" }, +@@ -1831,6 +1883,8 @@ static PyMethodDef GdbMethods[] = + Evaluate command, a string, as a gdb CLI command. Optionally returns\n\ + a Python String containing the output of the command if to_string is\n\ + set to True." }, + { "cli", gdbpy_cli, METH_NOARGS, + "Enter the gdb CLI" }, { "parameter", gdbpy_parameter, METH_VARARGS, "Return a gdb parameter's value" }, diff --git a/gdb/python/python.h b/gdb/python/python.h -index 1a1e5c2..312be94 100644 +index 96bf7c2..79ad6c9 100644 --- a/gdb/python/python.h +++ b/gdb/python/python.h -@@ -95,6 +95,8 @@ void eval_python_from_control_command (struct command_line *); +@@ -108,6 +108,8 @@ void eval_python_from_control_command (struct command_line *); void source_python_script (FILE *file, const char *filename); @@ -4254,10 +4041,10 @@ index 1a1e5c2..312be94 100644 int embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, diff --git a/gdb/stack.c b/gdb/stack.c -index d89ff89..301d569 100644 +index 314e4da..d07a9c2 100644 --- a/gdb/stack.c +++ b/gdb/stack.c -@@ -511,6 +511,10 @@ print_frame_args (struct symbol *func, struct frame_info *frame, +@@ -537,6 +537,10 @@ print_frame_args (struct symbol *func, struct frame_info *frame, stb = mem_fileopen (); old_chain = make_cleanup_ui_file_delete (stb); @@ -4269,7 +4056,7 @@ index d89ff89..301d569 100644 { struct block *b = SYMBOL_BLOCK_VALUE (func); diff --git a/gdb/testsuite/gdb.ada/packed_array.exp b/gdb/testsuite/gdb.ada/packed_array.exp -index e22cb3a..5e16186 100644 +index afc1475..7e94c49 100644 --- a/gdb/testsuite/gdb.ada/packed_array.exp +++ b/gdb/testsuite/gdb.ada/packed_array.exp @@ -56,5 +56,11 @@ gdb_test_multiple "$test" "$test" { @@ -5449,7 +5236,7 @@ index 0000000..b05411e + +gdb_test "ptype array" "type = char \\\[78\\\]" "second: ptype array" diff --git a/gdb/testsuite/gdb.base/arrayidx.c b/gdb/testsuite/gdb.base/arrayidx.c -index 2cc935b..30c7f85 100644 +index 58be08c..04e36cd 100644 --- a/gdb/testsuite/gdb.base/arrayidx.c +++ b/gdb/testsuite/gdb.base/arrayidx.c @@ -17,6 +17,13 @@ @@ -5467,7 +5254,7 @@ index 2cc935b..30c7f85 100644 main (void) { diff --git a/gdb/testsuite/gdb.base/arrayidx.exp b/gdb/testsuite/gdb.base/arrayidx.exp -index 37ed4c3..82f30cb 100644 +index 35454e3..6144d36 100644 --- a/gdb/testsuite/gdb.base/arrayidx.exp +++ b/gdb/testsuite/gdb.base/arrayidx.exp @@ -49,4 +49,12 @@ gdb_test "print array" \ @@ -5512,7 +5299,7 @@ index 0000000..eeb7b85 +} staticstruct = { 1 }; diff --git a/gdb/testsuite/gdb.base/internal-var-field-address.exp b/gdb/testsuite/gdb.base/internal-var-field-address.exp new file mode 100644 -index 0000000..6d82e73 +index 0000000..33c9e94 --- /dev/null +++ b/gdb/testsuite/gdb.base/internal-var-field-address.exp @@ -0,0 +1,26 @@ @@ -5533,7 +5320,7 @@ index 0000000..6d82e73 + +set test internal-var-field-address +set binfile ${test}.x -+if { [gdb_compile "${srcdir}/${subdir}/${test}.c" "${objdir}/${subdir}/${binfile}" object {debug}] != "" } { ++if { [gdb_compile "${srcdir}/${subdir}/${test}.c" "[standard_output_file ${binfile}]" object {debug}] != "" } { + untested "Couldn't compile test program" + return -1 +} @@ -6439,7 +6226,7 @@ index 0000000..5fcdd84 + .byte 0x0 /* Terminator */ diff --git a/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.exp b/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.exp new file mode 100644 -index 0000000..c41151c +index 0000000..bc35209 --- /dev/null +++ b/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.exp @@ -0,0 +1,37 @@ @@ -6473,7 +6260,7 @@ index 0000000..c41151c +set srcfile ${testfile}.S +set binfile ${testfile}.x + -+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${objdir}/${subdir}/${binfile}" object {nodebug}] != "" } { ++if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "[standard_output_file ${binfile}]" object {nodebug}] != "" } { + return -1 +} + @@ -6609,7 +6396,7 @@ index 0000000..9dbbf3c + .byte 0x0 /* Terminator */ diff --git a/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.exp b/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.exp new file mode 100644 -index 0000000..a13e346 +index 0000000..cec673c --- /dev/null +++ b/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.exp @@ -0,0 +1,39 @@ @@ -6642,7 +6429,7 @@ index 0000000..a13e346 +set testfile dw2-subrange-no-type +set srcfile ${testfile}.S +set executable ${testfile}.x -+set binfile ${objdir}/${subdir}/${executable} ++set binfile [standard_output_file ${executable}] + +if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" object {}] != "" } { + return -1 @@ -6778,7 +6565,7 @@ index 0000000..261ce17 +end subroutine bar diff --git a/gdb/testsuite/gdb.fortran/dynamic-other-frame.exp b/gdb/testsuite/gdb.fortran/dynamic-other-frame.exp new file mode 100644 -index 0000000..fa41b80 +index 0000000..e5a82ee --- /dev/null +++ b/gdb/testsuite/gdb.fortran/dynamic-other-frame.exp @@ -0,0 +1,37 @@ @@ -6801,9 +6588,9 @@ index 0000000..fa41b80 +set testfile "dynamic-other-frame" +set srcfile1 ${testfile}.f90 +set srcfile2 ${testfile}-stub.f90 -+set objfile2 ${objdir}/${subdir}/${testfile}-stub.o ++set objfile2 [standard_output_file ${testfile}-stub.o] +set executable ${testfile} -+set binfile ${objdir}/${subdir}/${executable} ++set binfile [standard_output_file ${executable}] + +if { [gdb_compile "${srcdir}/${subdir}/${srcfile2}" "${objfile2}" object {f90}] != "" + || [gdb_compile "${srcdir}/${subdir}/${srcfile1} ${objfile2}" "${binfile}" executable {debug f90}] != "" } { @@ -7332,7 +7119,7 @@ index 0000000..4747ea9 + write (*,*) a ! break-static +end diff --git a/gdb/testsuite/gdb.gdb/selftest.exp b/gdb/testsuite/gdb.gdb/selftest.exp -index d700715..6ebca0a 100644 +index 1d02779..f9f5be4 100644 --- a/gdb/testsuite/gdb.gdb/selftest.exp +++ b/gdb/testsuite/gdb.gdb/selftest.exp @@ -92,6 +92,10 @@ proc do_steps_and_nexts {} { @@ -7380,7 +7167,7 @@ index 0000000..ebced3c +} diff --git a/gdb/testsuite/gdb.mi/mi2-var-stale-type.exp b/gdb/testsuite/gdb.mi/mi2-var-stale-type.exp new file mode 100644 -index 0000000..99b6cc7 +index 0000000..88326c0 --- /dev/null +++ b/gdb/testsuite/gdb.mi/mi2-var-stale-type.exp @@ -0,0 +1,57 @@ @@ -7409,7 +7196,7 @@ index 0000000..99b6cc7 + +set testfile "mi2-var-stale-type" +set srcfile ${testfile}.c -+set binfile ${objdir}/${subdir}/${testfile} ++set binfile [standard_output_file ${testfile}] +if {[build_executable ${testfile}.exp $testfile $srcfile] == -1} { + return -1 +} @@ -7741,7 +7528,7 @@ index 0000000..295602d + writeln(s); { set breakpoint 2 here } +end. diff --git a/gdb/testsuite/gdb.python/py-frame.exp b/gdb/testsuite/gdb.python/py-frame.exp -index 806da94..b22231a 100644 +index 3517824..4fa2bd8 100644 --- a/gdb/testsuite/gdb.python/py-frame.exp +++ b/gdb/testsuite/gdb.python/py-frame.exp @@ -94,3 +94,5 @@ gdb_test "python print ('result = %s' % f0.read_var ('variable_which_surely_does @@ -7751,10 +7538,10 @@ index 806da94..b22231a 100644 + +gdb_test "python print ('result = %s' % (f0.block ()))" "" "test Frame.block" diff --git a/gdb/testsuite/gdb.python/py-value.exp b/gdb/testsuite/gdb.python/py-value.exp -index 9142c72..2855220 100644 +index ed332db..06466ec 100644 --- a/gdb/testsuite/gdb.python/py-value.exp +++ b/gdb/testsuite/gdb.python/py-value.exp -@@ -366,6 +366,15 @@ proc test_value_after_death {} { +@@ -385,6 +385,15 @@ proc test_value_after_death {} { "print value's type" } @@ -7770,19 +7557,19 @@ index 9142c72..2855220 100644 # Regression test for invalid subscript operations. The bug was that # the type of the value was not being checked before allowing a # subscript operation to proceed. -@@ -492,6 +501,7 @@ test_value_in_inferior +@@ -512,6 +521,7 @@ test_value_in_inferior test_inferior_function_call test_lazy_strings test_value_after_death +test_cast_regression # Test either C or C++ values. - test_subscript_regression "${binfile}" "c" + diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp -index 70b797e..3588e1d 100644 +index 2713ddf..533b81b 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp -@@ -143,6 +143,11 @@ proc gdb_unload {} { +@@ -150,6 +150,11 @@ proc gdb_unload {} { send_gdb "y\n" exp_continue } @@ -7795,7 +7582,7 @@ index 70b797e..3588e1d 100644 send_gdb "y\n" exp_continue diff --git a/gdb/testsuite/lib/pascal.exp b/gdb/testsuite/lib/pascal.exp -index 784ab6c..9e0a844 100644 +index 1b494ee..3bb8ad9 100644 --- a/gdb/testsuite/lib/pascal.exp +++ b/gdb/testsuite/lib/pascal.exp @@ -37,6 +37,9 @@ proc pascal_init {} { @@ -7830,10 +7617,10 @@ index 784ab6c..9e0a844 100644 set pascal_init_done 1 } diff --git a/gdb/top.c b/gdb/top.c -index 33a78da..22992ba 100644 +index d068450..e2b4110 100644 --- a/gdb/top.c +++ b/gdb/top.c -@@ -342,6 +342,9 @@ prepare_execute_command (void) +@@ -331,6 +331,9 @@ prepare_execute_command (void) mark = value_mark (); cleanup = make_cleanup_value_free_to_mark (mark); @@ -7844,11 +7631,11 @@ index 33a78da..22992ba 100644 /* With multiple threads running while the one we're examining is stopped, the dcache can get stale without us being able to detect diff --git a/gdb/typeprint.c b/gdb/typeprint.c -index 4e70593..e8402a2 100644 +index 09993dd..9fcb3b3 100644 --- a/gdb/typeprint.c +++ b/gdb/typeprint.c @@ -34,6 +34,7 @@ - #include "gdb_string.h" + #include #include "exceptions.h" #include "valprint.h" +#include "dwarf2loc.h" @@ -7882,10 +7669,10 @@ index 4e70593..e8402a2 100644 get_user_print_options (&opts); diff --git a/gdb/utils.c b/gdb/utils.c -index 94ebce8..23a4986 100644 +index e062e89..773242d 100644 --- a/gdb/utils.c +++ b/gdb/utils.c -@@ -1725,6 +1725,36 @@ set_batch_flag_and_make_cleanup_restore_page_info (void) +@@ -1745,6 +1745,36 @@ set_batch_flag_and_make_cleanup_restore_page_info (void) return back_to; } @@ -7923,10 +7710,10 @@ index 94ebce8..23a4986 100644 static void diff --git a/gdb/utils.h b/gdb/utils.h -index 0f6bb06..283137e 100644 +index 8bbcc5f..1342d68 100644 --- a/gdb/utils.h +++ b/gdb/utils.h -@@ -384,4 +384,6 @@ extern ULONGEST align_down (ULONGEST v, int n); +@@ -382,4 +382,6 @@ extern ULONGEST align_down (ULONGEST v, int n); extern LONGEST gdb_sign_extend (LONGEST value, int bit); @@ -7934,7 +7721,7 @@ index 0f6bb06..283137e 100644 + #endif /* UTILS_H */ diff --git a/gdb/valarith.c b/gdb/valarith.c -index 18c14fc..0a3a3aa 100644 +index 8e863e3..97a8b0f 100644 --- a/gdb/valarith.c +++ b/gdb/valarith.c @@ -195,7 +195,10 @@ value_subscripted_rvalue (struct value *array, LONGEST index, int lowerbound) @@ -7961,18 +7748,18 @@ index 18c14fc..0a3a3aa 100644 } diff --git a/gdb/valops.c b/gdb/valops.c -index a3ab24f..53af842 100644 +index 5382c49..0de8009 100644 --- a/gdb/valops.c +++ b/gdb/valops.c -@@ -44,6 +44,7 @@ +@@ -42,6 +42,7 @@ + #include "observer.h" #include "objfiles.h" - #include "symtab.h" #include "exceptions.h" +#include "dwarf2loc.h" extern unsigned int overload_debug; /* Local functions. */ -@@ -902,6 +903,65 @@ value_one (struct type *type) +@@ -900,6 +901,65 @@ value_one (struct type *type) return val; } @@ -8038,7 +7825,7 @@ index a3ab24f..53af842 100644 /* Helper function for value_at, value_at_lazy, and value_at_lazy_stack. */ static struct value * -@@ -1366,7 +1426,18 @@ address_of_variable (struct symbol *var, const struct block *b) +@@ -1365,7 +1425,18 @@ address_of_variable (struct symbol *var, const struct block *b) if ((VALUE_LVAL (val) == lval_memory && value_lazy (val)) || TYPE_CODE (type) == TYPE_CODE_FUNC) { @@ -8058,7 +7845,7 @@ index a3ab24f..53af842 100644 return value_from_pointer (lookup_pointer_type (type), addr); } -@@ -1473,6 +1544,7 @@ struct value * +@@ -1472,6 +1543,7 @@ struct value * value_coerce_array (struct value *arg1) { struct type *type = check_typedef (value_type (arg1)); @@ -8066,7 +7853,7 @@ index a3ab24f..53af842 100644 /* If the user tries to do something requiring a pointer with an array that has not yet been pushed to the target, then this would -@@ -1482,8 +1554,12 @@ value_coerce_array (struct value *arg1) +@@ -1481,8 +1553,12 @@ value_coerce_array (struct value *arg1) if (VALUE_LVAL (arg1) != lval_memory) error (_("Attempt to take address of value not located in memory.")); @@ -8080,7 +7867,7 @@ index a3ab24f..53af842 100644 } /* Given a value which is a function, return a value which is a pointer -@@ -3558,6 +3634,8 @@ value_slice (struct value *array, int lowbound, int length) +@@ -3571,6 +3647,8 @@ value_slice (struct value *array, int lowbound, int length) TYPE_TARGET_TYPE (range_type), lowbound, lowbound + length - 1); @@ -8090,7 +7877,7 @@ index a3ab24f..53af842 100644 { struct type *element_type = TYPE_TARGET_TYPE (array_type); diff --git a/gdb/valprint.c b/gdb/valprint.c -index 753ae34..6d87d9c 100644 +index 01889c5..e25e3c8 100644 --- a/gdb/valprint.c +++ b/gdb/valprint.c @@ -37,6 +37,7 @@ @@ -8101,7 +7888,7 @@ index 753ae34..6d87d9c 100644 #include -@@ -290,7 +291,6 @@ scalar_type_p (struct type *type) +@@ -290,7 +291,6 @@ val_print_scalar_type_p (struct type *type) case TYPE_CODE_STRUCT: case TYPE_CODE_UNION: case TYPE_CODE_SET: @@ -8109,7 +7896,7 @@ index 753ae34..6d87d9c 100644 return 0; default: return 1; -@@ -1607,6 +1607,7 @@ val_print_array_elements (struct type *type, +@@ -1625,6 +1625,7 @@ val_print_array_elements (struct type *type, { unsigned int things_printed = 0; unsigned len; @@ -8117,7 +7904,7 @@ index 753ae34..6d87d9c 100644 struct type *elttype, *index_type; unsigned eltlen; /* Position of the array element we are examining to see -@@ -1615,9 +1616,33 @@ val_print_array_elements (struct type *type, +@@ -1633,9 +1634,33 @@ val_print_array_elements (struct type *type, /* Number of repetitions we have detected so far. */ unsigned int reps; LONGEST low_bound, high_bound; @@ -8153,7 +7940,7 @@ index 753ae34..6d87d9c 100644 index_type = TYPE_INDEX_TYPE (type); if (get_array_bounds (type, &low_bound, &high_bound)) -@@ -1704,6 +1729,8 @@ val_print_array_elements (struct type *type, +@@ -1722,6 +1747,8 @@ val_print_array_elements (struct type *type, { fprintf_filtered (stream, "..."); } @@ -8163,7 +7950,7 @@ index 753ae34..6d87d9c 100644 /* Read LEN bytes of target memory at address MEMADDR, placing the diff --git a/gdb/value.c b/gdb/value.c -index 8d635c7..cce87c6 100644 +index 8542316..f75cf37 100644 --- a/gdb/value.c +++ b/gdb/value.c @@ -43,6 +43,7 @@ @@ -8174,7 +7961,7 @@ index 8d635c7..cce87c6 100644 /* Prototypes for exported functions. */ -@@ -1448,12 +1449,15 @@ void +@@ -1623,12 +1624,15 @@ void set_value_component_location (struct value *component, const struct value *whole) { @@ -8190,7 +7977,7 @@ index 8d635c7..cce87c6 100644 if (whole->lval == lval_computed) { const struct lval_funcs *funcs = whole->location.computed.funcs; -@@ -1461,6 +1465,12 @@ set_value_component_location (struct value *component, +@@ -1636,6 +1640,12 @@ set_value_component_location (struct value *component, if (funcs->copy_closure) component->location.computed.closure = funcs->copy_closure (whole); } @@ -8203,7 +7990,7 @@ index 8d635c7..cce87c6 100644 } -@@ -1594,6 +1604,31 @@ show_values (char *num_exp, int from_tty) +@@ -1769,6 +1779,31 @@ show_values (char *num_exp, int from_tty) num_exp[1] = '\0'; } } @@ -8235,7 +8022,7 @@ index 8d635c7..cce87c6 100644 /* Internal variables. These are variables within the debugger that hold values assigned by debugger commands. -@@ -2129,6 +2164,38 @@ call_internal_function (struct gdbarch *gdbarch, +@@ -2304,6 +2339,38 @@ call_internal_function (struct gdbarch *gdbarch, return (*ifn->handler) (gdbarch, language, ifn->cookie, argc, argv); } @@ -8274,7 +8061,7 @@ index 8d635c7..cce87c6 100644 /* The 'function' command. This does nothing -- it is just a placeholder to let "help function NAME" work. This is also used as the implementation of the sub-command that is created when -@@ -2176,11 +2243,10 @@ preserve_one_value (struct value *value, struct objfile *objfile, +@@ -2351,11 +2418,10 @@ preserve_one_value (struct value *value, struct objfile *objfile, htab_t copied_types) { if (TYPE_OBJFILE (value->type) == objfile) @@ -8288,7 +8075,7 @@ index 8d635c7..cce87c6 100644 copied_types); } -@@ -2195,7 +2261,7 @@ preserve_one_internalvar (struct internalvar *var, struct objfile *objfile, +@@ -2370,7 +2436,7 @@ preserve_one_internalvar (struct internalvar *var, struct objfile *objfile, case INTERNALVAR_INTEGER: if (var->u.integer.type && TYPE_OBJFILE (var->u.integer.type) == objfile) var->u.integer.type @@ -8297,7 +8084,7 @@ index 8d635c7..cce87c6 100644 break; case INTERNALVAR_VALUE: -@@ -3308,10 +3374,27 @@ readjust_indirect_value_type (struct value *value, struct type *enc_type, +@@ -3479,10 +3545,27 @@ readjust_indirect_value_type (struct value *value, struct type *enc_type, struct value * coerce_ref (struct value *arg) { @@ -8326,7 +8113,7 @@ index 8d635c7..cce87c6 100644 retval = coerce_ref_if_computed (arg); if (retval) return retval; -@@ -3419,7 +3502,8 @@ int +@@ -3590,7 +3673,8 @@ int value_fetch_lazy (struct value *val) { gdb_assert (value_lazy (val)); @@ -8336,7 +8123,7 @@ index 8d635c7..cce87c6 100644 if (value_bitsize (val)) { /* To read a lazy bitfield, read the entire enclosing value. This -@@ -3454,13 +3538,24 @@ value_fetch_lazy (struct value *val) +@@ -3625,13 +3709,24 @@ value_fetch_lazy (struct value *val) } else if (VALUE_LVAL (val) == lval_memory) { @@ -8367,10 +8154,10 @@ index 8d635c7..cce87c6 100644 } else if (VALUE_LVAL (val) == lval_register) { -@@ -3599,4 +3694,10 @@ VARIABLE is already initialized.")); - add_prefix_cmd ("function", no_class, function_command, _("\ - Placeholder command for showing help on convenience functions."), - &functionlist, "function ", 0, &cmdlist); +@@ -3814,4 +3909,10 @@ Check whether an expression is void.\n\ + Usage: $_isvoid (expression)\n\ + Return 1 if the expression is void, zero otherwise."), + isvoid_internal_fn, NULL); + + make_final_cleanup (value_history_cleanup, NULL); + @@ -8379,10 +8166,10 @@ index 8d635c7..cce87c6 100644 +#endif } diff --git a/gdb/value.h b/gdb/value.h -index 5e00c89..d9efe3e 100644 +index 5924b2f..eae3553 100644 --- a/gdb/value.h +++ b/gdb/value.h -@@ -548,6 +548,10 @@ extern struct value *value_from_decfloat (struct type *type, +@@ -571,6 +571,10 @@ extern struct value *value_from_decfloat (struct type *type, const gdb_byte *decbytes); extern struct value *value_from_history_ref (char *, char **); diff --git a/gdb-attach-fail-reasons-5of5.patch b/gdb-attach-fail-reasons-5of5.patch index 24042ad..a591f48 100644 --- a/gdb-attach-fail-reasons-5of5.patch +++ b/gdb-attach-fail-reasons-5of5.patch @@ -37,22 +37,22 @@ gdb/gdbserver/ (linux_create_inferior, linux_tracefork_child): Call it instead of direct ptrace. -Index: gdb-7.6.50.20130731-cvs/gdb/common/linux-ptrace.c +Index: gdb-7.6.90.20140127/gdb/common/linux-ptrace.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/common/linux-ptrace.c 2013-08-02 16:33:52.767872412 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/common/linux-ptrace.c 2013-08-02 16:34:16.122910934 +0200 -@@ -29,6 +29,10 @@ - #include "gdb_assert.h" - #include "gdb_wait.h" +--- gdb-7.6.90.20140127.orig/gdb/common/linux-ptrace.c 2014-02-06 17:40:32.530145960 +0100 ++++ gdb-7.6.90.20140127/gdb/common/linux-ptrace.c 2014-02-06 17:48:16.329644534 +0100 +@@ -32,6 +32,10 @@ + + #include +#ifdef HAVE_SELINUX_SELINUX_H +# include +#endif /* HAVE_SELINUX_SELINUX_H */ + - /* Find all possible reasons we could fail to attach PID and append these - newline terminated reason strings to initialized BUFFER. '\0' termination - of BUFFER must be done by the caller. */ -@@ -48,6 +52,8 @@ linux_ptrace_attach_warnings (pid_t pid, + /* Stores the currently supported ptrace options. A value of + -1 means we did not check for features yet. A value of 0 means + there are no supported features. */ +@@ -56,6 +60,8 @@ linux_ptrace_attach_warnings (pid_t pid, buffer_xml_printf (buffer, _("warning: process %d is a zombie " "- the process has already terminated\n"), (int) pid); @@ -61,7 +61,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/common/linux-ptrace.c } #if defined __i386__ || defined __x86_64__ -@@ -236,3 +242,19 @@ linux_ptrace_init_warnings (void) +@@ -542,3 +548,19 @@ linux_ptrace_init_warnings (void) linux_ptrace_test_ret_to_nx (); } @@ -81,22 +81,23 @@ Index: gdb-7.6.50.20130731-cvs/gdb/common/linux-ptrace.c + "(gdb) shell sudo setsebool deny_ptrace=0")); +#endif /* HAVE_LIBSELINUX */ +} -Index: gdb-7.6.50.20130731-cvs/gdb/common/linux-ptrace.h +Index: gdb-7.6.90.20140127/gdb/common/linux-ptrace.h =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/common/linux-ptrace.h 2013-08-02 16:33:52.768872414 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/common/linux-ptrace.h 2013-08-02 16:34:16.122910934 +0200 -@@ -69,5 +69,6 @@ struct buffer; +--- gdb-7.6.90.20140127.orig/gdb/common/linux-ptrace.h 2014-02-06 17:40:35.506149162 +0100 ++++ gdb-7.6.90.20140127/gdb/common/linux-ptrace.h 2014-02-06 17:48:00.601627995 +0100 +@@ -85,6 +85,7 @@ struct buffer; extern void linux_ptrace_attach_warnings (pid_t pid, struct buffer *buffer); extern void linux_ptrace_init_warnings (void); +extern void linux_ptrace_create_warnings (struct buffer *buffer); - - #endif /* COMMON_LINUX_PTRACE_H */ -Index: gdb-7.6.50.20130731-cvs/gdb/configure.ac + extern void linux_enable_event_reporting (pid_t pid); + extern int linux_supports_tracefork (void); + extern int linux_supports_traceclone (void); +Index: gdb-7.6.90.20140127/gdb/configure.ac =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/configure.ac 2013-08-02 16:34:16.123910936 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/configure.ac 2013-08-02 16:34:46.519960063 +0200 -@@ -2071,6 +2071,10 @@ case $host_os in +--- gdb-7.6.90.20140127.orig/gdb/configure.ac 2014-02-06 17:40:32.532145962 +0100 ++++ gdb-7.6.90.20140127/gdb/configure.ac 2014-02-06 17:40:35.507149163 +0100 +@@ -1975,6 +1975,10 @@ case $host_os in esac AC_DEFINE_UNQUOTED(GDBINIT,"$gdbinit",[The .gdbinit filename.]) @@ -107,11 +108,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/configure.ac dnl Handle optional features that can be enabled. # Support for --with-sysroot is a copy of GDB_AC_WITH_DIR, -Index: gdb-7.6.50.20130731-cvs/gdb/gdbserver/configure.ac +Index: gdb-7.6.90.20140127/gdb/gdbserver/configure.ac =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/gdbserver/configure.ac 2013-08-02 16:34:16.124910938 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/gdbserver/configure.ac 2013-08-02 16:35:06.634991892 +0200 -@@ -471,6 +471,10 @@ if $want_ipa ; then +--- gdb-7.6.90.20140127.orig/gdb/gdbserver/configure.ac 2014-02-06 17:40:32.532145962 +0100 ++++ gdb-7.6.90.20140127/gdb/gdbserver/configure.ac 2014-02-06 17:40:35.507149163 +0100 +@@ -454,6 +454,10 @@ if $want_ipa ; then fi fi @@ -122,11 +123,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/gdbserver/configure.ac AC_SUBST(GDBSERVER_DEPFILES) AC_SUBST(GDBSERVER_LIBS) AC_SUBST(srv_xmlbuiltin) -Index: gdb-7.6.50.20130731-cvs/gdb/gdbserver/linux-low.c +Index: gdb-7.6.90.20140127/gdb/gdbserver/linux-low.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/gdbserver/linux-low.c 2013-08-02 16:33:52.772872421 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/gdbserver/linux-low.c 2013-08-02 16:34:16.126910941 +0200 -@@ -622,6 +622,29 @@ add_lwp (ptid_t ptid) +--- gdb-7.6.90.20140127.orig/gdb/gdbserver/linux-low.c 2014-02-06 17:40:32.534145964 +0100 ++++ gdb-7.6.90.20140127/gdb/gdbserver/linux-low.c 2014-02-06 17:49:32.385726514 +0100 +@@ -543,6 +543,29 @@ add_lwp (ptid_t ptid) return lwp; } @@ -140,7 +141,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/gdbserver/linux-low.c + + errno = 0; + if (ptrace (PTRACE_TRACEME, 0, -+ (PTRACE_ARG3_TYPE) 0, (PTRACE_ARG4_TYPE) 0) == 0) ++ (PTRACE_TYPE_ARG3) 0, (PTRACE_TYPE_ARG4) 0) == 0) + return; + + save_errno = errno; @@ -156,29 +157,20 @@ Index: gdb-7.6.50.20130731-cvs/gdb/gdbserver/linux-low.c /* Start an inferior process and returns its pid. ALLARGS is a vector of program-name and args. */ -@@ -662,7 +685,7 @@ linux_create_inferior (char *program, ch - +@@ -584,7 +607,7 @@ linux_create_inferior (char *program, ch if (pid == 0) { -- ptrace (PTRACE_TRACEME, 0, (PTRACE_ARG3_TYPE) 0, (PTRACE_ARG4_TYPE) 0); + close_most_fds (); +- ptrace (PTRACE_TRACEME, 0, (PTRACE_TYPE_ARG3) 0, (PTRACE_TYPE_ARG4) 0); + linux_traceme (program); #ifndef __ANDROID__ /* Bionic doesn't use SIGRTMIN the way glibc does. */ signal (__SIGRTMIN + 1, SIG_DFL); -@@ -4685,7 +4708,7 @@ linux_tracefork_grandchild (void *arg) - static int - linux_tracefork_child (void *arg) - { -- ptrace (PTRACE_TRACEME, 0, (PTRACE_ARG3_TYPE) 0, (PTRACE_ARG4_TYPE) 0); -+ linux_traceme ("PTRACE_O_TRACEFORK test"); - kill (getpid (), SIGSTOP); - - #if !(defined(__UCLIBC__) && defined(HAS_NOMMU)) -Index: gdb-7.6.50.20130731-cvs/gdb/inf-ptrace.c +Index: gdb-7.6.90.20140127/gdb/inf-ptrace.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/inf-ptrace.c 2013-08-02 16:33:52.772872421 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/inf-ptrace.c 2013-08-02 16:34:16.126910941 +0200 -@@ -104,7 +104,15 @@ static void +--- gdb-7.6.90.20140127.orig/gdb/inf-ptrace.c 2014-02-06 17:40:32.535145965 +0100 ++++ gdb-7.6.90.20140127/gdb/inf-ptrace.c 2014-02-06 17:40:35.510149167 +0100 +@@ -105,7 +105,15 @@ static void inf_ptrace_me (void) { /* "Trace me, Dr. Memory!" */ @@ -194,11 +186,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/inf-ptrace.c } /* Start a new inferior Unix child process. EXEC_FILE is the file to -Index: gdb-7.6.50.20130731-cvs/gdb/linux-nat.c +Index: gdb-7.6.90.20140127/gdb/linux-nat.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/linux-nat.c 2013-08-02 16:33:52.774872424 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/linux-nat.c 2013-08-02 16:34:16.128910944 +0200 -@@ -1554,6 +1554,7 @@ linux_nat_create_inferior (struct target +--- gdb-7.6.90.20140127.orig/gdb/linux-nat.c 2014-02-06 17:40:32.537145968 +0100 ++++ gdb-7.6.90.20140127/gdb/linux-nat.c 2014-02-06 17:40:35.511149168 +0100 +@@ -1283,6 +1283,7 @@ linux_nat_create_inferior (struct target #ifdef HAVE_PERSONALITY int personality_orig = 0, personality_set = 0; #endif /* HAVE_PERSONALITY */ @@ -206,7 +198,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/linux-nat.c /* The fork_child mechanism is synchronous and calls target_wait, so we have to mask the async mode. */ -@@ -1578,7 +1579,10 @@ linux_nat_create_inferior (struct target +@@ -1307,7 +1308,10 @@ linux_nat_create_inferior (struct target /* Make sure we report all signals during startup. */ linux_nat_pass_signals (0, NULL); @@ -218,7 +210,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/linux-nat.c #ifdef HAVE_PERSONALITY if (personality_set) -@@ -1590,6 +1594,24 @@ linux_nat_create_inferior (struct target +@@ -1319,6 +1323,24 @@ linux_nat_create_inferior (struct target safe_strerror (errno)); } #endif /* HAVE_PERSONALITY */ @@ -243,11 +235,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/linux-nat.c } static void -Index: gdb-7.6.50.20130731-cvs/gdb/config.in +Index: gdb-7.6.90.20140127/gdb/config.in =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/config.in 2013-08-02 16:25:27.339097561 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/config.in 2013-08-02 16:36:16.249099841 +0200 -@@ -225,6 +225,9 @@ +--- gdb-7.6.90.20140127.orig/gdb/config.in 2014-02-06 17:40:32.538145969 +0100 ++++ gdb-7.6.90.20140127/gdb/config.in 2014-02-06 17:40:35.511149168 +0100 +@@ -213,6 +213,9 @@ /* Define if librpm library is being used. */ #undef HAVE_LIBRPM @@ -257,7 +249,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/config.in /* Define to 1 if you have the header file. */ #undef HAVE_LIBUNWIND_IA64_H -@@ -372,6 +375,9 @@ +@@ -345,6 +348,9 @@ /* Define to 1 if you have the `sbrk' function. */ #undef HAVE_SBRK @@ -267,11 +259,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/config.in /* Define to 1 if you have the `setlocale' function. */ #undef HAVE_SETLOCALE -Index: gdb-7.6.50.20130731-cvs/gdb/configure +Index: gdb-7.6.90.20140127/gdb/configure =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/configure 2013-08-02 16:25:27.343097567 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/configure 2013-08-02 16:36:14.665097434 +0200 -@@ -12851,6 +12851,64 @@ cat >>confdefs.h <<_ACEOF +--- gdb-7.6.90.20140127.orig/gdb/configure 2014-02-06 17:40:32.541145972 +0100 ++++ gdb-7.6.90.20140127/gdb/configure 2014-02-06 17:40:35.515149172 +0100 +@@ -12861,6 +12861,64 @@ cat >>confdefs.h <<_ACEOF _ACEOF @@ -336,24 +328,21 @@ Index: gdb-7.6.50.20130731-cvs/gdb/configure # Support for --with-sysroot is a copy of GDB_AC_WITH_DIR, # except that the argument to --with-sysroot is optional. -Index: gdb-7.6.50.20130731-cvs/gdb/gdbserver/config.in +Index: gdb-7.6.90.20140127/gdb/gdbserver/config.in =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/gdbserver/config.in 2013-07-31 21:41:54.000000000 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/gdbserver/config.in 2013-08-02 16:36:21.719108141 +0200 -@@ -76,6 +76,12 @@ - /* Define to 1 if you have the `dl' library (-ldl). */ - #undef HAVE_LIBDL +--- gdb-7.6.90.20140127.orig/gdb/gdbserver/config.in 2014-02-06 17:40:32.542145973 +0100 ++++ gdb-7.6.90.20140127/gdb/gdbserver/config.in 2014-02-06 17:54:06.923021799 +0100 +@@ -78,6 +78,9 @@ + /* Define to 1 if you have the `mcheck' library (-lmcheck). */ + #undef HAVE_LIBMCHECK -+/* Define to 1 if you have the `mcheck' library (-lmcheck). */ -+#undef HAVE_LIBMCHECK -+ +/* Define to 1 if you have the `selinux' library (-lselinux). */ +#undef HAVE_LIBSELINUX + /* Define if the target supports branch tracing. */ #undef HAVE_LINUX_BTRACE -@@ -146,6 +152,9 @@ +@@ -151,6 +154,9 @@ /* Define to 1 if you have the `readlink' function. */ #undef HAVE_READLINK @@ -363,11 +352,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/gdbserver/config.in /* Define to 1 if you have the header file. */ #undef HAVE_SGTTY_H -Index: gdb-7.6.50.20130731-cvs/gdb/gdbserver/configure +Index: gdb-7.6.90.20140127/gdb/gdbserver/configure =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/gdbserver/configure 2013-07-31 21:41:54.000000000 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/gdbserver/configure 2013-08-02 16:36:20.237105894 +0200 -@@ -6003,6 +6003,64 @@ if $want_ipa ; then +--- gdb-7.6.90.20140127.orig/gdb/gdbserver/configure 2014-02-06 17:40:32.543145974 +0100 ++++ gdb-7.6.90.20140127/gdb/gdbserver/configure 2014-02-06 17:40:35.516149173 +0100 +@@ -6170,6 +6170,64 @@ if $want_ipa ; then fi fi diff --git a/gdb-bz541866-rwatch-before-run.patch b/gdb-bz541866-rwatch-before-run.patch index 682c288..a4ede39 100644 --- a/gdb-bz541866-rwatch-before-run.patch +++ b/gdb-bz541866-rwatch-before-run.patch @@ -1,20 +1,20 @@ -Index: gdb-7.5.91.20130323/gdb/config/i386/linux64.mh +Index: gdb-7.6.90.20140127/gdb/config/i386/linux64.mh =================================================================== ---- gdb-7.5.91.20130323.orig/gdb/config/i386/linux64.mh 2013-03-11 09:25:58.000000000 +0100 -+++ gdb-7.5.91.20130323/gdb/config/i386/linux64.mh 2013-03-23 19:48:37.707761117 +0100 -@@ -4,7 +4,7 @@ NATDEPFILES= inf-ptrace.o fork-child.o \ - linux-nat.o linux-osdata.o \ +--- gdb-7.6.90.20140127.orig/gdb/config/i386/linux64.mh 2014-02-06 17:30:23.021489736 +0100 ++++ gdb-7.6.90.20140127/gdb/config/i386/linux64.mh 2014-02-06 17:30:44.984513403 +0100 +@@ -5,7 +5,7 @@ NATDEPFILES= inf-ptrace.o fork-child.o \ proc-service.o linux-thread-db.o linux-fork.o \ - linux-procfs.o linux-ptrace.o linux-btrace.o + linux-procfs.o linux-ptrace.o linux-btrace.o \ + linux-waitpid.o -NAT_FILE= config/nm-linux.h +NAT_FILE= nm-linux64.h NAT_CDEPS = $(srcdir)/proc-service.list # The dynamically loaded libthread_db needs access to symbols in the -Index: gdb-7.5.91.20130323/gdb/config/i386/linux.mh +Index: gdb-7.6.90.20140127/gdb/config/i386/linux.mh =================================================================== ---- gdb-7.5.91.20130323.orig/gdb/config/i386/linux.mh 2013-03-11 09:25:58.000000000 +0100 -+++ gdb-7.5.91.20130323/gdb/config/i386/linux.mh 2013-03-23 19:48:22.757990256 +0100 +--- gdb-7.6.90.20140127.orig/gdb/config/i386/linux.mh 2014-02-06 17:30:15.893482056 +0100 ++++ gdb-7.6.90.20140127/gdb/config/i386/linux.mh 2014-02-06 17:30:23.021489736 +0100 @@ -1,6 +1,6 @@ # Host: Intel 386 running GNU/Linux. @@ -23,10 +23,10 @@ Index: gdb-7.5.91.20130323/gdb/config/i386/linux.mh NATDEPFILES= inf-ptrace.o fork-child.o \ i386-nat.o i386-linux-nat.o \ proc-service.o linux-thread-db.o \ -Index: gdb-7.5.91.20130323/gdb/config/i386/nm-linux.h +Index: gdb-7.6.90.20140127/gdb/config/i386/nm-linux.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.5.91.20130323/gdb/config/i386/nm-linux.h 2013-03-23 19:48:22.757990256 +0100 ++++ gdb-7.6.90.20140127/gdb/config/i386/nm-linux.h 2014-02-06 17:30:23.021489736 +0100 @@ -0,0 +1,28 @@ +/* Native support for GNU/Linux i386. + @@ -56,10 +56,10 @@ Index: gdb-7.5.91.20130323/gdb/config/i386/nm-linux.h +#define target_can_use_hardware_watchpoint(type, cnt, ot) 1 + +#endif /* NM_LINUX64_H */ -Index: gdb-7.5.91.20130323/gdb/config/i386/nm-linux64.h +Index: gdb-7.6.90.20140127/gdb/config/i386/nm-linux64.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.5.91.20130323/gdb/config/i386/nm-linux64.h 2013-03-23 19:48:22.757990256 +0100 ++++ gdb-7.6.90.20140127/gdb/config/i386/nm-linux64.h 2014-02-06 17:30:23.021489736 +0100 @@ -0,0 +1,28 @@ +/* Native support for GNU/Linux amd64. + @@ -89,11 +89,11 @@ Index: gdb-7.5.91.20130323/gdb/config/i386/nm-linux64.h +#define target_can_use_hardware_watchpoint(type, cnt, ot) 1 + +#endif /* NM_LINUX64_H */ -Index: gdb-7.5.91.20130323/gdb/target.h +Index: gdb-7.6.90.20140127/gdb/target.h =================================================================== ---- gdb-7.5.91.20130323.orig/gdb/target.h 2013-03-11 09:50:05.000000000 +0100 -+++ gdb-7.5.91.20130323/gdb/target.h 2013-03-23 19:48:22.758990238 +0100 -@@ -1563,8 +1563,10 @@ extern char *target_thread_name (struct +--- gdb-7.6.90.20140127.orig/gdb/target.h 2014-02-06 17:30:15.894482057 +0100 ++++ gdb-7.6.90.20140127/gdb/target.h 2014-02-06 17:30:23.022489737 +0100 +@@ -1521,8 +1521,10 @@ extern char *target_thread_name (struct bp_hardware_breakpoint. CNT is the number of such watchpoints used so far (including this one?). OTHERTYPE is who knows what... */ @@ -104,10 +104,10 @@ Index: gdb-7.5.91.20130323/gdb/target.h /* Returns the number of debug registers needed to watch the given memory region, or zero if not supported. */ -Index: gdb-7.5.91.20130323/gdb/testsuite/gdb.base/watchpoint-hw-before-run.exp +Index: gdb-7.6.90.20140127/gdb/testsuite/gdb.base/watchpoint-hw-before-run.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.5.91.20130323/gdb/testsuite/gdb.base/watchpoint-hw-before-run.exp 2013-03-23 19:48:22.758990238 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/gdb.base/watchpoint-hw-before-run.exp 2014-02-06 17:30:23.022489737 +0100 @@ -0,0 +1,40 @@ +# Copyright 2009, 2010 Free Software Foundation, Inc. + diff --git a/gdb-bz601887-dwarf4-rh-test.patch b/gdb-bz601887-dwarf4-rh-test.patch index 47aa9c2..99905d7 100644 --- a/gdb-bz601887-dwarf4-rh-test.patch +++ b/gdb-bz601887-dwarf4-rh-test.patch @@ -1,5 +1,7 @@ ---- /dev/null 2010-06-08 20:35:46.800278452 +0200 -+++ gdb-7.1/gdb/testsuite/gdb.dwarf2/rh-dwarf4-x86_64.S 2010-06-09 15:22:57.000000000 +0200 +Index: gdb-7.7/gdb/testsuite/gdb.dwarf2/rh-dwarf4-x86_64.S +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ gdb-7.7/gdb/testsuite/gdb.dwarf2/rh-dwarf4-x86_64.S 2014-02-06 22:02:21.981449555 +0100 @@ -0,0 +1,167 @@ +/* This testcase is part of GDB, the GNU debugger. + @@ -168,8 +170,10 @@ + .string "main" + .ident "GCC: (GNU) 4.4.4 20100503 (Red Hat 4.4.4-2)" + .section .note.GNU-stack,"",@progbits ---- /dev/null 2010-06-08 20:35:46.800278452 +0200 -+++ gdb-7.1/gdb/testsuite/gdb.dwarf2/rh-dwarf4-x86_64.c 2010-06-09 15:21:35.000000000 +0200 +Index: gdb-7.7/gdb/testsuite/gdb.dwarf2/rh-dwarf4-x86_64.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ gdb-7.7/gdb/testsuite/gdb.dwarf2/rh-dwarf4-x86_64.c 2014-02-06 22:02:21.981449555 +0100 @@ -0,0 +1,22 @@ +/* This testcase is part of GDB, the GNU debugger. + @@ -193,8 +197,10 @@ +{ + return 0; +} ---- /dev/null 2010-06-08 20:35:46.800278452 +0200 -+++ gdb-7.1/gdb/testsuite/gdb.dwarf2/rh-dwarf4-x86_64.exp 2010-06-09 15:26:21.000000000 +0200 +Index: gdb-7.7/gdb/testsuite/gdb.dwarf2/rh-dwarf4-x86_64.exp +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ gdb-7.7/gdb/testsuite/gdb.dwarf2/rh-dwarf4-x86_64.exp 2014-02-06 22:12:10.788032417 +0100 @@ -0,0 +1,42 @@ +# Copyright 2010 Free Software Foundation, Inc. + @@ -229,7 +235,7 @@ +set testfile "rh-dwarf4-x86_64" +set srcfile ${testfile}.S +set executable ${testfile}.x -+set binfile ${objdir}/${subdir}/${executable} ++set binfile [standard_output_file ${executable}] + +if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" object {}] != "" } { + return -1 diff --git a/gdb-core-open-vdso-warning.patch b/gdb-core-open-vdso-warning.patch index 4d7a80d..497a5fd 100644 --- a/gdb-core-open-vdso-warning.patch +++ b/gdb-core-open-vdso-warning.patch @@ -3,89 +3,10 @@ Subject: [patch] Fix GNU/Linux core open: Can't read pathname for load map: Inp [ New patch variant. ] -Index: gdb-7.6.50.20130731-cvs/gdb/solib-svr4.c -=================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/solib-svr4.c 2013-08-02 16:27:28.831259468 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/solib-svr4.c 2013-08-02 16:27:47.871284813 +0200 -@@ -1359,8 +1359,17 @@ svr4_read_so_list (CORE_ADDR lm, CORE_AD - SO_NAME_MAX_PATH_SIZE - 1, &errcode); - if (errcode != 0) - { -- warning (_("Can't read pathname for load map: %s."), -- safe_strerror (errcode)); -+ /* During the first ever DSO list reading some strings may be -+ unreadable as residing in the ld.so readonly memory not being -+ present in a dumped core file. Delay the error check after -+ the first pass of DSO list scanning when ld.so should be -+ already mapped in and all the DSO list l_name memory gets -+ readable. */ -+ -+ if (master_so_list () != NULL) -+ warning (_("Can't read pathname for load map: %s."), -+ safe_strerror (errcode)); -+ - do_cleanups (old_chain); - continue; - } -Index: gdb-7.6.50.20130731-cvs/gdb/solib.c -=================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/solib.c 2013-08-02 16:27:28.832259470 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/solib.c 2013-08-02 16:28:50.421367694 +0200 -@@ -669,7 +669,7 @@ solib_used (const struct so_list *const - processes we've just attached to, so that's okay. */ - - static void --update_solib_list (int from_tty, struct target_ops *target) -+update_solib_list_1 (int from_tty, struct target_ops *target) - { - const struct target_so_ops *ops = solib_ops (target_gdbarch ()); - struct so_list *inferior = ops->current_sos(); -@@ -840,6 +840,21 @@ Do you need \"set solib-search-path\" or - } - } - -+/* Wrapper for Fedora: gdb-core-open-vdso-warning.patch */ -+ -+static void -+update_solib_list (int from_tty, struct target_ops *target) -+{ -+ struct so_list *saved_so_list_head = so_list_head; -+ -+ update_solib_list_1 (from_tty, target); -+ -+ /* If this was the very first DSO list scan and we possibly read in ld.so -+ recheck all the formerly unreadable DSO names strings. */ -+ -+ if (saved_so_list_head == NULL && so_list_head != NULL) -+ update_solib_list_1 (from_tty, target); -+} - - /* Return non-zero if NAME is the libpthread shared library. - -Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/corefile.exp -=================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/testsuite/gdb.base/corefile.exp 2013-08-02 16:27:28.833259471 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/corefile.exp 2013-08-02 16:27:47.872284814 +0200 -@@ -285,3 +285,19 @@ if {$buildid == ""} { - gdb_test "info files" "Local exec file:\r\n\[ \t\]*`[string_to_regexp $debugdir/$buildid]', file type .*" - pass $wholetest - } -+ -+ -+# Test Linux specific vDSO warning: -+# warning: Can't read pathname for load map: Input/output error. -+ -+clean_restart ${testfile} -+ -+set test "core-file vdso warning" -+gdb_test_multiple "core-file $corefile" $test { -+ -re "warning: Can't read pathname for load map: Input/output error\\.\r\n.*\r\n$gdb_prompt $" { -+ fail $test -+ } -+ -re "\r\n$gdb_prompt $" { -+ pass $test -+ } -+} +commit 7d760051ffb8a23cdc51342d4e6243fbc462f73f +Author: Ulrich Weigand +Date: Wed Sep 25 11:52:50 2013 +0000 + Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/solib-symbol.exp =================================================================== --- gdb-7.6.50.20130731-cvs.orig/gdb/testsuite/gdb.base/solib-symbol.exp 2013-08-02 16:27:28.833259471 +0200 diff --git a/gdb-gdb-add-index-script.patch b/gdb-gdb-add-index-script.patch index c48f10f..c9fa72c 100644 --- a/gdb-gdb-add-index-script.patch +++ b/gdb-gdb-add-index-script.patch @@ -40,12 +40,12 @@ Subject: [PATCH 4/4] add gdb-add-index 5 files changed, 57 insertions(+), 1 deletions(-) create mode 100755 gdb/gdb-add-index -Index: gdb-7.6.50.20130731-cvs/gdb/Makefile.in +Index: gdb-7.6.90.20140127/gdb/Makefile.in =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/Makefile.in 2013-08-02 16:31:59.603674194 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/Makefile.in 2013-08-02 16:32:08.260690156 +0200 -@@ -1070,6 +1070,15 @@ install-only: install-gstack $(CONFIG_IN - $(INSTALL_PROGRAM) gcore \ +--- gdb-7.6.90.20140127.orig/gdb/Makefile.in 2014-02-06 17:37:54.555975958 +0100 ++++ gdb-7.6.90.20140127/gdb/Makefile.in 2014-02-06 17:38:52.110038415 +0100 +@@ -1093,6 +1093,15 @@ install-only: install-gstack $(CONFIG_IN + $(INSTALL_SCRIPT) gcore \ $(DESTDIR)$(bindir)/$$transformed_name; \ fi + transformed_name=`t='$(program_transform_name)'; \ @@ -55,16 +55,16 @@ Index: gdb-7.6.50.20130731-cvs/gdb/Makefile.in + else \ + true ; \ + fi ; \ -+ $(INSTALL_PROGRAM) $(srcdir)/gdb-add-index \ ++ $(INSTALL_PROGRAM) $(srcdir)/contrib/gdb-add-index.sh \ + $(DESTDIR)$(bindir)/$$transformed_name$(EXEEXT) @$(MAKE) DO=install "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do - install-python: -Index: gdb-7.6.50.20130731-cvs/gdb/doc/gdb.texinfo + install-strip: +Index: gdb-7.6.90.20140127/gdb/doc/gdb.texinfo =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/doc/gdb.texinfo 2013-08-02 16:31:59.616674218 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/doc/gdb.texinfo 2013-08-02 16:32:08.271690176 +0200 -@@ -17447,6 +17447,14 @@ There are currently some limitation on i +--- gdb-7.6.90.20140127.orig/gdb/doc/gdb.texinfo 2014-02-06 17:37:50.822971940 +0100 ++++ gdb-7.6.90.20140127/gdb/doc/gdb.texinfo 2014-02-06 17:37:54.565975968 +0100 +@@ -17749,6 +17749,14 @@ There are currently some limitation on i for DWARF debugging information, not stabs. And, they do not currently work for programs using Ada. @@ -79,7 +79,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/doc/gdb.texinfo @node Symbol Errors @section Errors Reading Symbol Files -@@ -43044,6 +43052,7 @@ switch (die->tag) +@@ -43878,6 +43886,7 @@ switch (die->tag) * gdbserver man:: Remote Server for the GNU Debugger man page * gcore man:: Generate a core file of a running program * gdbinit man:: gdbinit scripts @@ -87,7 +87,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/doc/gdb.texinfo @end menu @node gdb man -@@ -43696,6 +43705,54 @@ gdb(1), @code{info -f gdb -n Startup} +@@ -44530,6 +44539,54 @@ gdb(1), @code{info -f gdb -n Startup} The full documentation for @value{GDBN} is maintained as a Texinfo manual. If the @code{info} and @code{gdb} programs and @value{GDBN}'s Texinfo documentation are properly installed at your site, the command @@ -142,46 +142,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/doc/gdb.texinfo @smallexample info gdb -Index: gdb-7.6.50.20130731-cvs/gdb/gdb-add-index +Index: gdb-7.6.90.20140127/gdb/doc/Makefile.in =================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.6.50.20130731-cvs/gdb/gdb-add-index 2013-08-02 16:32:08.271690176 +0200 -@@ -0,0 +1,30 @@ -+#! /bin/sh -+ -+# Add a .gdb_index section to a file. -+ -+# Copyright (C) 2010 Free Software Foundation, Inc. -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program. If not, see . -+ -+file="$1" -+dir="${file%/*}" -+ -+# We don't care if gdb gives an error. -+gdb -nx --batch-silent -ex "file $file" -ex "save gdb-index $dir" -+ -+if test -f "${file}.gdb-index"; then -+ objcopy --add-section .gdb_index="${file}.gdb-index" --set-section-flags .gdb_index=readonly "$file" "$file" -+ rm -f "${file}.gdb-index" -+fi -+ -+exit 0 -Index: gdb-7.6.50.20130731-cvs/gdb/doc/Makefile.in -=================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/doc/Makefile.in 2013-08-02 16:31:59.618674222 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/doc/Makefile.in 2013-08-02 16:32:28.828727314 +0200 -@@ -177,7 +177,7 @@ POD2MAN5 = pod2man --center="GNU Develop +--- gdb-7.6.90.20140127.orig/gdb/doc/Makefile.in 2014-02-06 17:37:50.824971942 +0100 ++++ gdb-7.6.90.20140127/gdb/doc/Makefile.in 2014-02-06 17:37:54.565975968 +0100 +@@ -165,7 +165,7 @@ POD2MAN5 = pod2man --center="GNU Develop --release="gdb-`sed q version.subst`" --section=5 # List of man pages generated from gdb.texi @@ -190,7 +155,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/doc/Makefile.in MAN5S = gdbinit.5 MANS = $(MAN1S) $(MAN5S) -@@ -630,6 +630,13 @@ gcore.1: $(GDB_DOC_FILES) +@@ -590,6 +590,13 @@ gcore.1: $(GDB_DOC_FILES) mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) rm -f gcore.pod diff --git a/gdb-glibc-strstr-workaround.patch b/gdb-glibc-strstr-workaround.patch index 275d76c..2bfbe84 100644 --- a/gdb-glibc-strstr-workaround.patch +++ b/gdb-glibc-strstr-workaround.patch @@ -1,8 +1,8 @@ -Index: gdb-7.6.50.20130731-cvs/gdb/dwarf2read.c +Index: gdb-7.6.90.20140127/gdb/dwarf2read.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/dwarf2read.c 2013-08-02 16:37:51.619241696 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/dwarf2read.c 2013-08-02 16:38:16.159277461 +0200 -@@ -16654,6 +16654,25 @@ new_symbol_full (struct die_info *die, s +--- gdb-7.6.90.20140127.orig/gdb/dwarf2read.c 2014-02-06 18:18:09.676572271 +0100 ++++ gdb-7.6.90.20140127/gdb/dwarf2read.c 2014-02-06 18:18:42.664607823 +0100 +@@ -17646,6 +17646,25 @@ new_symbol_full (struct die_info *die, s /* Cache this symbol's name and the name's demangled form (if any). */ SYMBOL_SET_LANGUAGE (sym, cu->language, &objfile->objfile_obstack); linkagename = dwarf2_physname (name, die, cu); @@ -11,7 +11,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/dwarf2read.c + * invalid IFUNC DW_AT_linkage_name: memmove strstr time + * http://sourceware.org/bugzilla/show_bug.cgi?id=14166 */ + if (strcmp (linkagename, "strstr") == 0 -+ && strstr (objfile->name, "/libc") != NULL) ++ && strstr (objfile_name (objfile), "/libc") != NULL) + { + struct objfile *objfile_msym; + struct minimal_symbol *msym; @@ -28,10 +28,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/dwarf2read.c SYMBOL_SET_NAMES (sym, linkagename, strlen (linkagename), 0, objfile); /* Fortran does not have mangling standard and the mangling does differ -Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/gnu-ifunc-strstr-workaround.exp +Index: gdb-7.6.90.20140127/gdb/testsuite/gdb.base/gnu-ifunc-strstr-workaround.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/gnu-ifunc-strstr-workaround.exp 2013-08-02 16:37:51.620241697 +0200 ++++ gdb-7.6.90.20140127/gdb/testsuite/gdb.base/gnu-ifunc-strstr-workaround.exp 2014-02-06 18:18:16.294579381 +0100 @@ -0,0 +1,108 @@ +# Copyright (C) 2012 Free Software Foundation, Inc. + diff --git a/gdb-libstdc++-v3-python-r155978.tar.bz2 b/gdb-libstdc++-v3-python-r155978.tar.bz2 index 3dd0860..a04f820 100644 --- a/gdb-libstdc++-v3-python-r155978.tar.bz2 +++ b/gdb-libstdc++-v3-python-r155978.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b475a3ef42507a47b1ea4b7f9a4849287b4c713e5081ec86874eaa7da194f78b -size 11754 +oid sha256:1877172a7efbf7540290471e64816c9549b24a65e825f0e1a725ac950b4e5029 +size 11744 diff --git a/gdb-ppc-ptrace.diff b/gdb-ppc-ptrace.diff deleted file mode 100644 index c6f1899..0000000 --- a/gdb-ppc-ptrace.diff +++ /dev/null @@ -1,19 +0,0 @@ -Index: gdb-7.4.50.20120603/gdb/ppc-linux-nat.c -=================================================================== ---- gdb-7.4.50.20120603.orig/gdb/ppc-linux-nat.c 2012-06-01 00:07:31.000000000 +0200 -+++ gdb-7.4.50.20120603/gdb/ppc-linux-nat.c 2012-06-12 15:17:59.537703950 +0200 -@@ -1418,8 +1418,12 @@ have_ptrace_booke_interface (void) - if (tid == 0) - tid = PIDGET (inferior_ptid); - -- /* Check for kernel support for BOOKE debug registers. */ -- if (ptrace (PPC_PTRACE_GETHWDBGINFO, tid, 0, &booke_debug_info) >= 0) -+ /* Check for kernel support for BOOKE debug registers. -+ As a workaround while the new ptrace interface is not accepted -+ in upstream kernel, server processors still should use the old -+ interface. */ -+ if (ptrace (PPC_PTRACE_GETHWDBGINFO, tid, 0, &booke_debug_info) >= 0 -+ && ppc_linux_get_hwcap () & PPC_FEATURE_BOOKE) - { - /* Check whether ptrace BOOKE interface is functional and - provides any supported feature. */ diff --git a/gdb-ppc64le.patch b/gdb-ppc64le.patch index f55763a..7b86d38 100644 --- a/gdb-ppc64le.patch +++ b/gdb-ppc64le.patch @@ -1,7 +1,7 @@ -Index: gdb-7.6.50.20130731-cvs/gdb/auxv.c +Index: gdb-7.7/gdb/auxv.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/auxv.c -+++ gdb-7.6.50.20130731-cvs/gdb/auxv.c +--- gdb-7.7.orig/gdb/auxv.c 2014-02-06 03:21:29.000000000 +0100 ++++ gdb-7.7/gdb/auxv.c 2014-02-10 18:07:42.000000000 +0100 @@ -442,6 +442,7 @@ fprint_target_auxv (struct ui_file *file TAG (AT_IGNOREPPC, _("Entry should be ignored"), dec); TAG (AT_BASE_PLATFORM, _("String identifying base platform"), str); @@ -10,134 +10,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/auxv.c TAG (AT_EXECFN, _("File name of executable"), str); TAG (AT_SECURE, _("Boolean, was exec setuid-like?"), dec); TAG (AT_SYSINFO, _("Special system info/entry points"), hex); -Index: gdb-7.6.50.20130731-cvs/gdb/configure.host +Index: gdb-7.7/gdb/gdbarch.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/configure.host -+++ gdb-7.6.50.20130731-cvs/gdb/configure.host -@@ -129,18 +129,18 @@ mips64*-*-openbsd*) gdb_host=obsd64 ;; - powerpc-*-aix* | rs6000-*-*) - gdb_host=aix ;; - powerpc*-*-freebsd*) gdb_host=fbsd ;; --powerpc-*-linux*) gdb_host=linux ;; - powerpc-*-netbsd* | powerpc-*-knetbsd*-gnu) - gdb_host=nbsd ;; - powerpc-*-openbsd*) gdb_host=obsd ;; - --powerpc64-*-linux*) gdb_host=ppc64-linux -+powerpc64*-*-linux*) gdb_host=ppc64-linux - # Support 'pseudo-native' debugging on the Cell BE - if test "${target_cpu}" = "spu"; then - gdb_host=spu-linux - gdb_native=yes - fi - ;; -+powerpc*-*-linux*) gdb_host=linux ;; - - s390*-*-*) gdb_host=s390 ;; - -Index: gdb-7.6.50.20130731-cvs/gdb/configure.tgt -=================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/configure.tgt -+++ gdb-7.6.50.20130731-cvs/gdb/configure.tgt -@@ -438,7 +438,7 @@ powerpc-*-aix* | rs6000-*-*) - ppc-sysv-tdep.o solib-aix.o \ - ravenscar-thread.o ppc-ravenscar-thread.o" - ;; --powerpc-*-linux* | powerpc64-*-linux*) -+powerpc*-*-linux*) - # Target: PowerPC running Linux - gdb_target_obs="rs6000-tdep.o ppc-linux-tdep.o ppc-sysv-tdep.o \ - ppc64-tdep.o solib-svr4.o solib-spu.o \ -Index: gdb-7.6.50.20130731-cvs/gdb/doublest.c -=================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/doublest.c -+++ gdb-7.6.50.20130731-cvs/gdb/doublest.c -@@ -190,7 +190,8 @@ convert_floatformat_to_doublest (const s - { - double dto; - -- floatformat_to_double (fmt, from, &dto); -+ floatformat_to_double (fmt->split_half ? fmt->split_half : fmt, -+ from, &dto); - *to = (DOUBLEST) dto; - return; - } -@@ -514,6 +515,11 @@ floatformat_is_negative (const struct fl - gdb_assert (fmt->totalsize - <= FLOATFORMAT_LARGEST_BYTES * FLOATFORMAT_CHAR_BIT); - -+ /* An IBM long double (a two element array of double) always takes the -+ sign of the first double. */ -+ if (fmt->split_half) -+ fmt = fmt->split_half; -+ - order = floatformat_normalize_byteorder (fmt, uval, newfrom); - - if (order != fmt->byteorder) -@@ -540,6 +546,13 @@ floatformat_classify (const struct float - gdb_assert (fmt->totalsize - <= FLOATFORMAT_LARGEST_BYTES * FLOATFORMAT_CHAR_BIT); - -+ /* An IBM long double (a two element array of double) can be classified -+ by looking at the first double. inf and nan are specified as -+ ignoring the second double. zero and subnormal will always have -+ the second double 0.0 if the long double is correctly rounded. */ -+ if (fmt->split_half) -+ fmt = fmt->split_half; -+ - order = floatformat_normalize_byteorder (fmt, uval, newfrom); - - if (order != fmt->byteorder) -@@ -622,6 +635,16 @@ floatformat_mantissa (const struct float - gdb_assert (fmt->totalsize - <= FLOATFORMAT_LARGEST_BYTES * FLOATFORMAT_CHAR_BIT); - -+ /* For IBM long double (a two element array of double), return the -+ mantissa of the first double. The problem with returning the -+ actual mantissa from both doubles is that there can be an -+ arbitrary number of implied 0's or 1's between the mantissas -+ of the first and second double. In any case, this function -+ is only used for dumping out nans, and a nan is specified to -+ ignore the value in the second double. */ -+ if (fmt->split_half) -+ fmt = fmt->split_half; -+ - order = floatformat_normalize_byteorder (fmt, uval, newfrom); - - if (order != fmt->byteorder) -@@ -879,27 +902,3 @@ convert_typed_floating (const void *from - floatformat_from_doublest (to_fmt, &d, to); - } - } -- --const struct floatformat *floatformat_ieee_single[BFD_ENDIAN_UNKNOWN]; --const struct floatformat *floatformat_ieee_double[BFD_ENDIAN_UNKNOWN]; --const struct floatformat *floatformat_ieee_quad[BFD_ENDIAN_UNKNOWN]; --const struct floatformat *floatformat_arm_ext[BFD_ENDIAN_UNKNOWN]; --const struct floatformat *floatformat_ia64_spill[BFD_ENDIAN_UNKNOWN]; -- --extern void _initialize_doublest (void); -- --extern void --_initialize_doublest (void) --{ -- floatformat_ieee_single[BFD_ENDIAN_LITTLE] = &floatformat_ieee_single_little; -- floatformat_ieee_single[BFD_ENDIAN_BIG] = &floatformat_ieee_single_big; -- floatformat_ieee_double[BFD_ENDIAN_LITTLE] = &floatformat_ieee_double_little; -- floatformat_ieee_double[BFD_ENDIAN_BIG] = &floatformat_ieee_double_big; -- floatformat_arm_ext[BFD_ENDIAN_LITTLE] -- = &floatformat_arm_ext_littlebyte_bigword; -- floatformat_arm_ext[BFD_ENDIAN_BIG] = &floatformat_arm_ext_big; -- floatformat_ia64_spill[BFD_ENDIAN_LITTLE] = &floatformat_ia64_spill_little; -- floatformat_ia64_spill[BFD_ENDIAN_BIG] = &floatformat_ia64_spill_big; -- floatformat_ieee_quad[BFD_ENDIAN_LITTLE] = &floatformat_ia64_quad_little; -- floatformat_ieee_quad[BFD_ENDIAN_BIG] = &floatformat_ia64_quad_big; --} -Index: gdb-7.6.50.20130731-cvs/gdb/gdbarch.c -=================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/gdbarch.c -+++ gdb-7.6.50.20130731-cvs/gdb/gdbarch.c -@@ -200,6 +200,7 @@ struct gdbarch +--- gdb-7.7.orig/gdb/gdbarch.c 2014-02-06 03:21:29.000000000 +0100 ++++ gdb-7.7/gdb/gdbarch.c 2014-02-10 18:07:42.000000000 +0100 +@@ -229,6 +229,7 @@ struct gdbarch gdbarch_return_in_first_hidden_param_p_ftype *return_in_first_hidden_param_p; gdbarch_skip_prologue_ftype *skip_prologue; gdbarch_skip_main_prologue_ftype *skip_main_prologue; @@ -145,7 +22,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/gdbarch.c gdbarch_inner_than_ftype *inner_than; gdbarch_breakpoint_from_pc_ftype *breakpoint_from_pc; gdbarch_remote_breakpoint_from_pc_ftype *remote_breakpoint_from_pc; -@@ -372,6 +373,7 @@ struct gdbarch startup_gdbarch = +@@ -402,6 +403,7 @@ struct gdbarch startup_gdbarch = default_return_in_first_hidden_param_p, /* return_in_first_hidden_param_p */ 0, /* skip_prologue */ 0, /* skip_main_prologue */ @@ -153,7 +30,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/gdbarch.c 0, /* inner_than */ 0, /* breakpoint_from_pc */ default_remote_breakpoint_from_pc, /* remote_breakpoint_from_pc */ -@@ -674,6 +676,7 @@ verify_gdbarch (struct gdbarch *gdbarch) +@@ -705,6 +707,7 @@ verify_gdbarch (struct gdbarch *gdbarch) if (gdbarch->skip_prologue == 0) fprintf_unfiltered (log, "\n\tskip_prologue"); /* Skip verify of skip_main_prologue, has predicate. */ @@ -161,7 +38,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/gdbarch.c if (gdbarch->inner_than == 0) fprintf_unfiltered (log, "\n\tinner_than"); if (gdbarch->breakpoint_from_pc == 0) -@@ -1294,6 +1297,12 @@ gdbarch_dump (struct gdbarch *gdbarch, s +@@ -1332,6 +1335,12 @@ gdbarch_dump (struct gdbarch *gdbarch, s "gdbarch_dump: single_step_through_delay = <%s>\n", host_address_to_string (gdbarch->single_step_through_delay)); fprintf_unfiltered (file, @@ -174,7 +51,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/gdbarch.c "gdbarch_dump: gdbarch_skip_main_prologue_p() = %d\n", gdbarch_skip_main_prologue_p (gdbarch)); fprintf_unfiltered (file, -@@ -2644,6 +2653,30 @@ set_gdbarch_skip_main_prologue (struct g +@@ -2682,6 +2691,30 @@ set_gdbarch_skip_main_prologue (struct g } int @@ -205,11 +82,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/gdbarch.c gdbarch_inner_than (struct gdbarch *gdbarch, CORE_ADDR lhs, CORE_ADDR rhs) { gdb_assert (gdbarch != NULL); -Index: gdb-7.6.50.20130731-cvs/gdb/gdbarch.h +Index: gdb-7.7/gdb/gdbarch.h =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/gdbarch.h -+++ gdb-7.6.50.20130731-cvs/gdb/gdbarch.h -@@ -487,6 +487,12 @@ typedef CORE_ADDR (gdbarch_skip_main_pro +--- gdb-7.7.orig/gdb/gdbarch.h 2014-02-06 03:21:29.000000000 +0100 ++++ gdb-7.7/gdb/gdbarch.h 2014-02-10 18:07:42.000000000 +0100 +@@ -486,6 +486,12 @@ typedef CORE_ADDR (gdbarch_skip_main_pro extern CORE_ADDR gdbarch_skip_main_prologue (struct gdbarch *gdbarch, CORE_ADDR ip); extern void set_gdbarch_skip_main_prologue (struct gdbarch *gdbarch, gdbarch_skip_main_prologue_ftype *skip_main_prologue); @@ -222,11 +99,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/gdbarch.h typedef int (gdbarch_inner_than_ftype) (CORE_ADDR lhs, CORE_ADDR rhs); extern int gdbarch_inner_than (struct gdbarch *gdbarch, CORE_ADDR lhs, CORE_ADDR rhs); extern void set_gdbarch_inner_than (struct gdbarch *gdbarch, gdbarch_inner_than_ftype *inner_than); -Index: gdb-7.6.50.20130731-cvs/gdb/gdbarch.sh +Index: gdb-7.7/gdb/gdbarch.sh =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/gdbarch.sh -+++ gdb-7.6.50.20130731-cvs/gdb/gdbarch.sh -@@ -527,6 +527,7 @@ m:int:return_in_first_hidden_param_p:str +--- gdb-7.7.orig/gdb/gdbarch.sh 2014-02-06 03:21:29.000000000 +0100 ++++ gdb-7.7/gdb/gdbarch.sh 2014-02-10 18:07:42.000000000 +0100 +@@ -530,6 +530,7 @@ m:int:return_in_first_hidden_param_p:str m:CORE_ADDR:skip_prologue:CORE_ADDR ip:ip:0:0 M:CORE_ADDR:skip_main_prologue:CORE_ADDR ip:ip @@ -234,26 +111,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/gdbarch.sh f:int:inner_than:CORE_ADDR lhs, CORE_ADDR rhs:lhs, rhs:0:0 m:const gdb_byte *:breakpoint_from_pc:CORE_ADDR *pcptr, int *lenptr:pcptr, lenptr::0: # Return the adjusted address and kind to use for Z0/Z1 packets. -Index: gdb-7.6.50.20130731-cvs/gdb/gdbtypes.c +Index: gdb-7.7/gdb/infrun.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/gdbtypes.c -+++ gdb-7.6.50.20130731-cvs/gdb/gdbtypes.c -@@ -111,8 +111,8 @@ const struct floatformat *floatformats_v - &floatformat_vax_d - }; - const struct floatformat *floatformats_ibm_long_double[BFD_ENDIAN_UNKNOWN] = { -- &floatformat_ibm_long_double, -- &floatformat_ibm_long_double -+ &floatformat_ibm_long_double_big, -+ &floatformat_ibm_long_double_little - }; - - /* Should opaque types be resolved? */ -Index: gdb-7.6.50.20130731-cvs/gdb/infrun.c -=================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/infrun.c -+++ gdb-7.6.50.20130731-cvs/gdb/infrun.c -@@ -3151,6 +3151,10 @@ fill_in_stop_func (struct gdbarch *gdbar +--- gdb-7.7.orig/gdb/infrun.c 2014-02-10 18:07:40.000000000 +0100 ++++ gdb-7.7/gdb/infrun.c 2014-02-10 18:07:42.000000000 +0100 +@@ -3170,6 +3170,10 @@ fill_in_stop_func (struct gdbarch *gdbar ecs->stop_func_start += gdbarch_deprecated_function_start_offset (gdbarch); @@ -264,296 +126,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/infrun.c ecs->stop_func_filled_in = 1; } } -Index: gdb-7.6.50.20130731-cvs/gdb/ppc64-tdep.c +Index: gdb-7.7/gdb/ppc-linux-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/ppc64-tdep.c -+++ gdb-7.6.50.20130731-cvs/gdb/ppc64-tdep.c -@@ -48,21 +48,21 @@ - | (((spr) & 0x3e0) << 6) \ - | (((xo) & 0x3ff) << 1)) - --/* If DESC is the address of a 64-bit PowerPC FreeBSD function -- descriptor, return the descriptor's entry point. */ -+/* If PLT is the address of a 64-bit PowerPC PLT entry, -+ return the function's entry point. */ - - static CORE_ADDR --ppc64_desc_entry_point (struct gdbarch *gdbarch, CORE_ADDR desc) -+ppc64_plt_entry_point (struct gdbarch *gdbarch, CORE_ADDR plt) - { - enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); -- /* The first word of the descriptor is the entry point. */ -- return (CORE_ADDR) read_memory_unsigned_integer (desc, 8, byte_order); -+ /* The first word of the PLT entry is the function entry point. */ -+ return (CORE_ADDR) read_memory_unsigned_integer (plt, 8, byte_order); - } - - /* Patterns for the standard linkage functions. These are built by - build_plt_stub in bfd/elf64-ppc.c. */ - --/* Old PLT call stub. */ -+/* Old ELFv1 PLT call stub. */ - - static struct ppc_insn_pattern ppc64_standard_linkage1[] = - { -@@ -96,7 +96,7 @@ static struct ppc_insn_pattern ppc64_sta - { 0, 0, 0 } - }; - --/* Current PLT call stub to access PLT entries more than +/- 32k from r2. -+/* ELFv1 PLT call stub to access PLT entries more than +/- 32k from r2. - Also supports older stub with different placement of std 2,40(1), - a stub that omits the std 2,40(1), and both versions of power7 - thread safety read barriers. Note that there are actually two more -@@ -144,7 +144,7 @@ static struct ppc_insn_pattern ppc64_sta - { 0, 0, 0 } - }; - --/* Current PLT call stub to access PLT entries within +/- 32k of r2. */ -+/* ELFv1 PLT call stub to access PLT entries within +/- 32k of r2. */ - - static struct ppc_insn_pattern ppc64_standard_linkage3[] = - { -@@ -181,6 +181,128 @@ static struct ppc_insn_pattern ppc64_sta - { 0, 0, 0 } - }; - -+/* ELFv1 PLT call stub to access PLT entries more than +/- 32k from r2. -+ A more modern variant of ppc64_standard_linkage2 differing in -+ register usage. */ -+ -+static struct ppc_insn_pattern ppc64_standard_linkage4[] = -+ { -+ /* std r2, 40(r1) */ -+ { -1, insn_ds (62, 2, 1, 40, 0), 1 }, -+ -+ /* addis r11, r2, */ -+ { insn_d (-1, -1, -1, 0), insn_d (15, 11, 2, 0), 0 }, -+ -+ /* ld r12, (r11) */ -+ { insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 12, 11, 0, 0), 0 }, -+ -+ /* addi r11, r11, */ -+ { insn_d (-1, -1, -1, 0), insn_d (14, 11, 11, 0), 1 }, -+ -+ /* mtctr r12 */ -+ { insn_xfx (-1, -1, -1, -1), insn_xfx (31, 12, 9, 467), 0 }, -+ -+ /* xor r2, r12, r12 */ -+ { -1, 0x7d826278, 1 }, -+ -+ /* add r11, r11, r2 */ -+ { -1, 0x7d6b1214, 1 }, -+ -+ /* ld r2, (r11) */ -+ { insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 2, 11, 0, 0), 0 }, -+ -+ /* ld r11, (r11) */ -+ { insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 11, 11, 0, 0), 1 }, -+ -+ /* bctr */ -+ { -1, 0x4e800420, 1 }, -+ -+ /* cmpldi r2, 0 */ -+ { -1, 0x28220000, 1 }, -+ -+ { 0, 0, 0 } -+ }; -+ -+/* ELFv1 PLT call stub to access PLT entries within +/- 32k of r2. -+ A more modern variant of ppc64_standard_linkage3 differing in -+ register usage. */ -+ -+static struct ppc_insn_pattern ppc64_standard_linkage5[] = -+ { -+ /* std r2, 40(r1) */ -+ { -1, insn_ds (62, 2, 1, 40, 0), 1 }, -+ -+ /* ld r12, (r2) */ -+ { insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 12, 2, 0, 0), 0 }, -+ -+ /* addi r2, r2, */ -+ { insn_d (-1, -1, -1, 0), insn_d (14, 2, 2, 0), 1 }, -+ -+ /* mtctr r12 */ -+ { insn_xfx (-1, -1, -1, -1), insn_xfx (31, 12, 9, 467), 0 }, -+ -+ /* xor r11, r12, r12 */ -+ { -1, 0x7d8b6278, 1 }, -+ -+ /* add r2, r2, r11 */ -+ { -1, 0x7c425a14, 1 }, -+ -+ /* ld r11, (r2) */ -+ { insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 11, 2, 0, 0), 1 }, -+ -+ /* ld r2, (r2) */ -+ { insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 2, 2, 0, 0), 0 }, -+ -+ /* bctr */ -+ { -1, 0x4e800420, 1 }, -+ -+ /* cmpldi r2, 0 */ -+ { -1, 0x28220000, 1 }, -+ -+ { 0, 0, 0 } -+ }; -+ -+/* ELFv2 PLT call stub to access PLT entries more than +/- 32k from r2. */ -+ -+static struct ppc_insn_pattern ppc64_standard_linkage6[] = -+ { -+ /* std r2, 24(r1) */ -+ { -1, insn_ds (62, 2, 1, 24, 0), 1 }, -+ -+ /* addis r11, r2, */ -+ { insn_d (-1, -1, -1, 0), insn_d (15, 11, 2, 0), 0 }, -+ -+ /* ld r12, (r11) */ -+ { insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 12, 11, 0, 0), 0 }, -+ -+ /* mtctr r12 */ -+ { insn_xfx (-1, -1, -1, -1), insn_xfx (31, 12, 9, 467), 0 }, -+ -+ /* bctr */ -+ { -1, 0x4e800420, 0 }, -+ -+ { 0, 0, 0 } -+ }; -+ -+/* ELFv2 PLT call stub to access PLT entries within +/- 32k of r2. */ -+ -+static struct ppc_insn_pattern ppc64_standard_linkage7[] = -+ { -+ /* std r2, 24(r1) */ -+ { -1, insn_ds (62, 2, 1, 24, 0), 1 }, -+ -+ /* ld r12, (r2) */ -+ { insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 12, 2, 0, 0), 0 }, -+ -+ /* mtctr r12 */ -+ { insn_xfx (-1, -1, -1, -1), insn_xfx (31, 12, 9, 467), 0 }, -+ -+ /* bctr */ -+ { -1, 0x4e800420, 0 }, -+ -+ { 0, 0, 0 } -+ }; -+ - /* When the dynamic linker is doing lazy symbol resolution, the first - call to a function in another object will go like this: - -@@ -243,16 +365,14 @@ ppc64_standard_linkage1_target (struct f - struct gdbarch *gdbarch = get_frame_arch (frame); - struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); - -- /* The address of the function descriptor this linkage function -- references. */ -- CORE_ADDR desc -+ /* The address of the PLT entry this linkage function references. */ -+ CORE_ADDR plt - = ((CORE_ADDR) get_frame_register_unsigned (frame, - tdep->ppc_gp0_regnum + 2) - + (ppc_insn_d_field (insn[0]) << 16) - + ppc_insn_ds_field (insn[2])); - -- /* The first word of the descriptor is the entry point. Return that. */ -- return ppc64_desc_entry_point (gdbarch, desc); -+ return ppc64_plt_entry_point (gdbarch, plt); - } - - static CORE_ADDR -@@ -262,16 +382,14 @@ ppc64_standard_linkage2_target (struct f - struct gdbarch *gdbarch = get_frame_arch (frame); - struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); - -- /* The address of the function descriptor this linkage function -- references. */ -- CORE_ADDR desc -+ /* The address of the PLT entry this linkage function references. */ -+ CORE_ADDR plt - = ((CORE_ADDR) get_frame_register_unsigned (frame, - tdep->ppc_gp0_regnum + 2) - + (ppc_insn_d_field (insn[1]) << 16) - + ppc_insn_ds_field (insn[3])); - -- /* The first word of the descriptor is the entry point. Return that. */ -- return ppc64_desc_entry_point (gdbarch, desc); -+ return ppc64_plt_entry_point (gdbarch, plt); - } - - static CORE_ADDR -@@ -281,15 +399,28 @@ ppc64_standard_linkage3_target (struct f - struct gdbarch *gdbarch = get_frame_arch (frame); - struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); - -- /* The address of the function descriptor this linkage function -- references. */ -- CORE_ADDR desc -+ /* The address of the PLT entry this linkage function references. */ -+ CORE_ADDR plt - = ((CORE_ADDR) get_frame_register_unsigned (frame, - tdep->ppc_gp0_regnum + 2) - + ppc_insn_ds_field (insn[1])); - -- /* The first word of the descriptor is the entry point. Return that. */ -- return ppc64_desc_entry_point (gdbarch, desc); -+ return ppc64_plt_entry_point (gdbarch, plt); -+} -+ -+static CORE_ADDR -+ppc64_standard_linkage4_target (struct frame_info *frame, -+ CORE_ADDR pc, unsigned int *insn) -+{ -+ struct gdbarch *gdbarch = get_frame_arch (frame); -+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); -+ -+ CORE_ADDR plt -+ = ((CORE_ADDR) get_frame_register_unsigned (frame, tdep->ppc_gp0_regnum + 2) -+ + (ppc_insn_d_field (insn[1]) << 16) -+ + ppc_insn_ds_field (insn[2])); -+ -+ return ppc64_plt_entry_point (gdbarch, plt); - } - - -@@ -300,13 +431,27 @@ CORE_ADDR - ppc64_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc) - { - #define MAX(a,b) ((a) > (b) ? (a) : (b)) -- unsigned int insns[MAX (MAX (ARRAY_SIZE (ppc64_standard_linkage1), -- ARRAY_SIZE (ppc64_standard_linkage2)), -- ARRAY_SIZE (ppc64_standard_linkage3)) - 1]; -+ unsigned int insns[MAX (MAX (MAX (ARRAY_SIZE (ppc64_standard_linkage1), -+ ARRAY_SIZE (ppc64_standard_linkage2)), -+ MAX (ARRAY_SIZE (ppc64_standard_linkage3), -+ ARRAY_SIZE (ppc64_standard_linkage4))), -+ MAX (MAX (ARRAY_SIZE (ppc64_standard_linkage5), -+ ARRAY_SIZE (ppc64_standard_linkage6)), -+ ARRAY_SIZE (ppc64_standard_linkage7))) - 1]; - CORE_ADDR target; - -- if (ppc_insns_match_pattern (frame, pc, ppc64_standard_linkage3, insns) -- && (insns[8] != 0 || insns[9] != 0)) -+ if (ppc_insns_match_pattern (frame, pc, ppc64_standard_linkage7, insns)) -+ pc = ppc64_standard_linkage3_target (frame, pc, insns); -+ else if (ppc_insns_match_pattern (frame, pc, ppc64_standard_linkage6, insns)) -+ pc = ppc64_standard_linkage4_target (frame, pc, insns); -+ else if (ppc_insns_match_pattern (frame, pc, ppc64_standard_linkage5, insns) -+ && (insns[8] != 0 || insns[9] != 0)) -+ pc = ppc64_standard_linkage3_target (frame, pc, insns); -+ else if (ppc_insns_match_pattern (frame, pc, ppc64_standard_linkage4, insns) -+ && (insns[9] != 0 || insns[10] != 0)) -+ pc = ppc64_standard_linkage4_target (frame, pc, insns); -+ else if (ppc_insns_match_pattern (frame, pc, ppc64_standard_linkage3, insns) -+ && (insns[8] != 0 || insns[9] != 0)) - pc = ppc64_standard_linkage3_target (frame, pc, insns); - else if (ppc_insns_match_pattern (frame, pc, ppc64_standard_linkage2, insns) - && (insns[10] != 0 || insns[11] != 0)) -Index: gdb-7.6.50.20130731-cvs/gdb/ppc-linux-tdep.c -=================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/ppc-linux-tdep.c -+++ gdb-7.6.50.20130731-cvs/gdb/ppc-linux-tdep.c +--- gdb-7.7.orig/gdb/ppc-linux-tdep.c 2014-02-06 03:21:29.000000000 +0100 ++++ gdb-7.7/gdb/ppc-linux-tdep.c 2014-02-10 18:07:42.000000000 +0100 @@ -44,6 +44,7 @@ #include "observer.h" #include "auxv.h" @@ -606,7 +182,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ppc-linux-tdep.c /* Implementation of `gdbarch_stap_is_single_operand', as defined in gdbarch.h. */ -@@ -1332,13 +1370,23 @@ ppc_linux_init_abi (struct gdbarch_info +@@ -1339,13 +1377,23 @@ ppc_linux_init_abi (struct gdbarch_info if (tdep->wordsize == 8) { @@ -636,10 +212,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ppc-linux-tdep.c /* Shared library handling. */ set_gdbarch_skip_trampoline_code (gdbarch, ppc64_skip_trampoline_code); -Index: gdb-7.6.50.20130731-cvs/gdb/ppc-sysv-tdep.c +Index: gdb-7.7/gdb/ppc-sysv-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/ppc-sysv-tdep.c -+++ gdb-7.6.50.20130731-cvs/gdb/ppc-sysv-tdep.c +--- gdb-7.7.orig/gdb/ppc-sysv-tdep.c 2014-02-10 18:07:42.000000000 +0100 ++++ gdb-7.7/gdb/ppc-sysv-tdep.c 2014-02-10 18:07:42.000000000 +0100 @@ -610,42 +610,48 @@ ppc_sysv_abi_push_dummy_call (struct gdb } @@ -1337,10 +913,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ppc-sysv-tdep.c } return RETURN_VALUE_STRUCT_CONVENTION; } -Index: gdb-7.6.50.20130731-cvs/gdb/ppc-tdep.h +Index: gdb-7.7/gdb/ppc-tdep.h =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/ppc-tdep.h -+++ gdb-7.6.50.20130731-cvs/gdb/ppc-tdep.h +--- gdb-7.7.orig/gdb/ppc-tdep.h 2014-02-06 03:21:29.000000000 +0100 ++++ gdb-7.7/gdb/ppc-tdep.h 2014-02-10 18:07:42.000000000 +0100 @@ -182,6 +182,15 @@ extern void ppc_collect_vsxregset (const /* Private data that this module attaches to struct gdbarch. */ @@ -1366,10 +942,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ppc-tdep.h /* How to pass vector arguments. Never set to AUTO or LAST. */ enum powerpc_vector_abi vector_abi; -Index: gdb-7.6.50.20130731-cvs/gdb/rs6000-tdep.c +Index: gdb-7.7/gdb/rs6000-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/rs6000-tdep.c -+++ gdb-7.6.50.20130731-cvs/gdb/rs6000-tdep.c +--- gdb-7.7.orig/gdb/rs6000-tdep.c 2014-02-10 18:07:39.000000000 +0100 ++++ gdb-7.7/gdb/rs6000-tdep.c 2014-02-10 18:07:42.000000000 +0100 @@ -48,6 +48,7 @@ #include "elf-bfd.h" @@ -1378,48 +954,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/rs6000-tdep.c #include "solib-svr4.h" #include "ppc-tdep.h" -@@ -1667,7 +1668,19 @@ skip_prologue (struct gdbarch *gdbarch, - continue; - - } -- else if ((op & 0xffff0000) == 0x60000000) -+ else if ((op & 0xffff0000) == 0x3c4c0000 -+ || (op & 0xffff0000) == 0x3c400000 -+ || (op & 0xffff0000) == 0x38420000) -+ { -+ /* . 0: addis 2,12,.TOC.-0b@ha -+ . addi 2,2,.TOC.-0b@l -+ or -+ . lis 2,.TOC.@ha -+ . addi 2,2,.TOC.@l -+ used by ELFv2 global entry points to set up r2. */ -+ continue; -+ } -+ else if (op == 0x60000000) - { - /* nop */ - /* Allow nops in the prologue, but do not consider them to -@@ -1678,8 +1691,7 @@ skip_prologue (struct gdbarch *gdbarch, - - } - else if ((op & 0xffff0000) == 0x3c000000) -- { /* addis 0,0,NUM, used -- for >= 32k frames */ -+ { /* addis 0,0,NUM, used for >= 32k frames */ - fdata->offset = (op & 0x0000ffff) << 16; - fdata->frameless = 0; - r0_contains_arg = 0; -@@ -1687,8 +1699,7 @@ skip_prologue (struct gdbarch *gdbarch, - - } - else if ((op & 0xffff0000) == 0x60000000) -- { /* ori 0,0,NUM, 2nd ha -- lf of >= 32k frames */ -+ { /* ori 0,0,NUM, 2nd half of >= 32k frames */ - fdata->offset |= (op & 0x0000ffff); - fdata->frameless = 0; - r0_contains_arg = 0; -@@ -2713,10 +2724,10 @@ dfp_pseudo_register_read (struct gdbarch +@@ -2723,10 +2724,10 @@ dfp_pseudo_register_read (struct gdbarch else { status = regcache_raw_read (regcache, tdep->ppc_fp0_regnum + @@ -1432,7 +967,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/rs6000-tdep.c } return status; -@@ -2742,9 +2753,9 @@ dfp_pseudo_register_write (struct gdbarc +@@ -2752,9 +2753,9 @@ dfp_pseudo_register_write (struct gdbarc else { regcache_raw_write (regcache, tdep->ppc_fp0_regnum + @@ -1444,7 +979,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/rs6000-tdep.c } } -@@ -2822,7 +2833,8 @@ efpr_pseudo_register_read (struct gdbarc +@@ -2832,7 +2833,8 @@ efpr_pseudo_register_read (struct gdbarc int reg_index = reg_nr - tdep->ppc_efpr0_regnum; /* Read the portion that overlaps the VMX register. */ @@ -1454,7 +989,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/rs6000-tdep.c register_size (gdbarch, reg_nr), buffer); } -@@ -2835,7 +2847,8 @@ efpr_pseudo_register_write (struct gdbar +@@ -2845,7 +2847,8 @@ efpr_pseudo_register_write (struct gdbar int reg_index = reg_nr - tdep->ppc_efpr0_regnum; /* Write the portion that overlaps the VMX register. */ @@ -1464,7 +999,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/rs6000-tdep.c register_size (gdbarch, reg_nr), buffer); } -@@ -3591,6 +3604,7 @@ rs6000_gdbarch_init (struct gdbarch_info +@@ -3601,6 +3604,7 @@ rs6000_gdbarch_init (struct gdbarch_info enum auto_boolean soft_float_flag = powerpc_soft_float_global; int soft_float; enum powerpc_vector_abi vector_abi = powerpc_vector_abi_global; @@ -1472,7 +1007,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/rs6000-tdep.c int have_fpu = 1, have_spe = 0, have_mq = 0, have_altivec = 0, have_dfp = 0, have_vsx = 0; int tdesc_wordsize = -1; -@@ -3897,6 +3911,21 @@ rs6000_gdbarch_init (struct gdbarch_info +@@ -3907,6 +3911,21 @@ rs6000_gdbarch_init (struct gdbarch_info } #ifdef HAVE_ELF @@ -1494,7 +1029,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/rs6000-tdep.c if (soft_float_flag == AUTO_BOOLEAN_AUTO && from_elf_exec) { switch (bfd_elf_get_obj_attr_int (info.abfd, OBJ_ATTR_GNU, -@@ -3933,6 +3962,15 @@ rs6000_gdbarch_init (struct gdbarch_info +@@ -3943,6 +3962,15 @@ rs6000_gdbarch_init (struct gdbarch_info } #endif @@ -1510,7 +1045,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/rs6000-tdep.c if (soft_float_flag == AUTO_BOOLEAN_TRUE) soft_float = 1; else if (soft_float_flag == AUTO_BOOLEAN_FALSE) -@@ -3975,6 +4013,8 @@ rs6000_gdbarch_init (struct gdbarch_info +@@ -3985,6 +4013,8 @@ rs6000_gdbarch_init (struct gdbarch_info meaningful, because 64-bit CPUs can run in 32-bit mode. So, perform separate word size check. */ tdep = gdbarch_tdep (arches->gdbarch); @@ -1519,7 +1054,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/rs6000-tdep.c if (tdep && tdep->soft_float != soft_float) continue; if (tdep && tdep->vector_abi != vector_abi) -@@ -3997,6 +4037,7 @@ rs6000_gdbarch_init (struct gdbarch_info +@@ -4007,6 +4037,7 @@ rs6000_gdbarch_init (struct gdbarch_info tdep = XCALLOC (1, struct gdbarch_tdep); tdep->wordsize = wordsize; @@ -1527,11 +1062,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/rs6000-tdep.c tdep->soft_float = soft_float; tdep->vector_abi = vector_abi; -Index: gdb-7.6.50.20130731-cvs/gdb/symtab.c +Index: gdb-7.7/gdb/symtab.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/symtab.c -+++ gdb-7.6.50.20130731-cvs/gdb/symtab.c -@@ -2882,6 +2882,8 @@ skip_prologue_sal (struct symtab_and_lin +--- gdb-7.7.orig/gdb/symtab.c 2014-02-10 18:07:39.000000000 +0100 ++++ gdb-7.7/gdb/symtab.c 2014-02-10 18:07:42.000000000 +0100 +@@ -2941,6 +2941,8 @@ skip_prologue_sal (struct symtab_and_lin /* Skip "first line" of function (which is actually its prologue). */ pc += gdbarch_deprecated_function_start_offset (gdbarch); @@ -1540,10 +1075,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/symtab.c if (skip) pc = gdbarch_skip_prologue (gdbarch, pc); -Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.arch/altivec-regs.exp +Index: gdb-7.7/gdb/testsuite/gdb.arch/altivec-regs.exp =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/testsuite/gdb.arch/altivec-regs.exp -+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.arch/altivec-regs.exp +--- gdb-7.7.orig/gdb/testsuite/gdb.arch/altivec-regs.exp 2014-02-06 03:21:29.000000000 +0100 ++++ gdb-7.7/gdb/testsuite/gdb.arch/altivec-regs.exp 2014-02-10 18:07:42.000000000 +0100 @@ -118,7 +118,7 @@ gdb_test "info reg vscr" "vscr.*0x1\t1" if {$endianness == "big"} { set decimal_vector ".uint128 = 0x00000001000000010000000100000001, v4_float = .1.*e-45, 1.*e-45, 1.*e-45, 1.*e-45., v4_int32 = .1, 1, 1, 1., v8_int16 = .0, 1, 0, 1, 0, 1, 0, 1., v16_int8 = .0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1.." @@ -1553,10 +1088,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.arch/altivec-regs.exp } for {set i 0} {$i < 32} {incr i 1} { -Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.arch/powerpc-d128-regs.exp +Index: gdb-7.7/gdb/testsuite/gdb.arch/powerpc-d128-regs.exp =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/testsuite/gdb.arch/powerpc-d128-regs.exp -+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.arch/powerpc-d128-regs.exp +--- gdb-7.7.orig/gdb/testsuite/gdb.arch/powerpc-d128-regs.exp 2014-02-06 03:21:29.000000000 +0100 ++++ gdb-7.7/gdb/testsuite/gdb.arch/powerpc-d128-regs.exp 2014-02-10 18:07:42.000000000 +0100 @@ -20,7 +20,7 @@ # Testcase for ppc decimal128 pseudo-registers. @@ -1566,10 +1101,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.arch/powerpc-d128-regs.exp verbose "Skipping powerpc Decimal128 pseudo-registers testcase." return } -Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.arch/vsx-regs.exp +Index: gdb-7.7/gdb/testsuite/gdb.arch/vsx-regs.exp =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/testsuite/gdb.arch/vsx-regs.exp -+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.arch/vsx-regs.exp +--- gdb-7.7.orig/gdb/testsuite/gdb.arch/vsx-regs.exp 2014-02-06 03:21:29.000000000 +0100 ++++ gdb-7.7/gdb/testsuite/gdb.arch/vsx-regs.exp 2014-02-10 18:07:42.000000000 +0100 @@ -58,19 +58,46 @@ if ![runto_main] then { gdb_suppress_tests } @@ -1623,10 +1158,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.arch/vsx-regs.exp set float_register ".raw 0xdeadbeefdeadbeef." -Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/sigbpt.exp +Index: gdb-7.7/gdb/testsuite/gdb.base/sigbpt.exp =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/testsuite/gdb.base/sigbpt.exp -+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/sigbpt.exp +--- gdb-7.7.orig/gdb/testsuite/gdb.base/sigbpt.exp 2014-02-06 03:21:29.000000000 +0100 ++++ gdb-7.7/gdb/testsuite/gdb.base/sigbpt.exp 2014-02-10 18:07:42.000000000 +0100 @@ -76,7 +76,7 @@ gdb_test "break keeper" set bowler_addrs bowler set segv_addr none @@ -1636,10 +1171,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/sigbpt.exp set test "stepping to fault" set signame "SIGSEGV" gdb_test_multiple "stepi" "$test" { -Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/step-bt.exp +Index: gdb-7.7/gdb/testsuite/gdb.base/step-bt.exp =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/testsuite/gdb.base/step-bt.exp -+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/step-bt.exp +--- gdb-7.7.orig/gdb/testsuite/gdb.base/step-bt.exp 2014-01-08 10:23:36.000000000 +0100 ++++ gdb-7.7/gdb/testsuite/gdb.base/step-bt.exp 2014-02-10 18:07:42.000000000 +0100 @@ -24,7 +24,7 @@ if {[prepare_for_testing $testfile.exp $ return -1 } @@ -1649,10 +1184,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/step-bt.exp "Breakpoint.*at.* file .*$srcfile, line .*" \ "breakpoint at first instruction of hello()" -Index: gdb-7.6.50.20130731-cvs/include/elf/common.h +Index: gdb-7.7/include/elf/common.h =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/include/elf/common.h -+++ gdb-7.6.50.20130731-cvs/include/elf/common.h +--- gdb-7.7.orig/include/elf/common.h 2014-02-06 03:21:29.000000000 +0100 ++++ gdb-7.7/include/elf/common.h 2014-02-10 18:07:42.000000000 +0100 @@ -959,6 +959,7 @@ #define AT_BASE_PLATFORM 24 /* String identifying real platform, may differ from AT_PLATFORM. */ @@ -1661,112 +1196,3 @@ Index: gdb-7.6.50.20130731-cvs/include/elf/common.h #define AT_EXECFN 31 /* Filename of executable. */ /* Pointer to the global system page used for system calls and other nice things. */ -Index: gdb-7.6.50.20130731-cvs/include/floatformat.h -=================================================================== ---- gdb-7.6.50.20130731-cvs.orig/include/floatformat.h -+++ gdb-7.6.50.20130731-cvs/include/floatformat.h -@@ -128,7 +128,8 @@ extern const struct floatformat floatfor - extern const struct floatformat floatformat_ia64_quad_big; - extern const struct floatformat floatformat_ia64_quad_little; - /* IBM long double (double+double). */ --extern const struct floatformat floatformat_ibm_long_double; -+extern const struct floatformat floatformat_ibm_long_double_big; -+extern const struct floatformat floatformat_ibm_long_double_little; - - /* Convert from FMT to a double. - FROM is the address of the extended float. -Index: gdb-7.6.50.20130731-cvs/libiberty/floatformat.c -=================================================================== ---- gdb-7.6.50.20130731-cvs.orig/libiberty/floatformat.c -+++ gdb-7.6.50.20130731-cvs/libiberty/floatformat.c -@@ -371,14 +371,23 @@ floatformat_ibm_long_double_is_valid (co - } - } - --const struct floatformat floatformat_ibm_long_double = -+const struct floatformat floatformat_ibm_long_double_big = - { - floatformat_big, 128, 0, 1, 11, 1023, 2047, 12, 52, - floatformat_intbit_no, -- "floatformat_ibm_long_double", -+ "floatformat_ibm_long_double_big", - floatformat_ibm_long_double_is_valid, - &floatformat_ieee_double_big - }; -+ -+const struct floatformat floatformat_ibm_long_double_little = -+{ -+ floatformat_little, 128, 0, 1, 11, 1023, 2047, 12, 52, -+ floatformat_intbit_no, -+ "floatformat_ibm_long_double_little", -+ floatformat_ibm_long_double_is_valid, -+ &floatformat_ieee_double_little -+}; - - - #ifndef min -Index: gdb-7.6.50.20130731-cvs/include/elf/ppc64.h -=================================================================== ---- gdb-7.6.50.20130731-cvs.orig/include/elf/ppc64.h -+++ gdb-7.6.50.20130731-cvs/include/elf/ppc64.h -@@ -164,6 +164,60 @@ END_RELOC_NUMBERS (R_PPC64_max) - #define IS_PPC64_TLS_RELOC(R) \ - ((R) >= R_PPC64_TLS && (R) <= R_PPC64_DTPREL16_HIGHESTA) - -+ -+/* e_flags bits specifying ABI. -+ 1 for original function descriptor using ABI, -+ 2 for revised ABI without function descriptors, -+ 0 for unspecified or not using any features affected by the differences. */ -+#define EF_PPC64_ABI 3 -+ -+/* The ELFv2 ABI uses three bits in the symbol st_other field of a -+ function definition to specify the number of instructions between a -+ function's global entry point and local entry point. -+ The global entry point is used when it is necessary to set up the -+ toc pointer (r2) for the function. Callers must enter the global -+ entry point with r12 set to the global entry point address. On -+ return from the function, r2 may have a different value to that -+ which it had on entry. -+ The local entry point is used when r2 is known to already be valid -+ for the function. There is no requirement on r12 when using the -+ local entry point, and on return r2 will contain the same value as -+ at entry. -+ A value of zero in these bits means that the function has a single -+ entry point with no requirement on r12 or r2, and that on return r2 -+ will contain the same value as at entry. -+ Values of one and seven are reserved. */ -+#define STO_PPC64_LOCAL_BIT 5 -+#define STO_PPC64_LOCAL_MASK (7 << STO_PPC64_LOCAL_BIT) -+ -+// 3 bit other field to bytes. -+static inline unsigned int -+ppc64_decode_local_entry(unsigned int other) -+{ -+ return ((1 << other) >> 2) << 2; -+} -+ -+// bytes to field value. -+static inline unsigned int -+ppc64_encode_local_entry(unsigned int val) -+{ -+ return (val >= 4 * 4 -+ ? (val >= 8 * 4 -+ ? (val >= 16 * 4 ? 6 : 5) -+ : 4) -+ : (val >= 2 * 4 -+ ? 3 -+ : (val >= 1 * 4 ? 2 : 0))); -+} -+ -+/* st_other to number of bytes. */ -+#define PPC64_LOCAL_ENTRY_OFFSET(other) \ -+ ppc64_decode_local_entry (((other) & STO_PPC64_LOCAL_MASK) \ -+ >> STO_PPC64_LOCAL_BIT) -+/* number of bytes to st_other. */ -+#define PPC64_SET_LOCAL_ENTRY_OFFSET(val) \ -+ ppc64_encode_local_entry (val) << STO_PPC64_LOCAL_BIT -+ - /* Specify the start of the .glink section. */ - #define DT_PPC64_GLINK DT_LOPROC - diff --git a/gdb-python-stacksmash.patch b/gdb-python-stacksmash.patch new file mode 100644 index 0000000..de241c8 --- /dev/null +++ b/gdb-python-stacksmash.patch @@ -0,0 +1,65 @@ +http://sourceware.org/ml/gdb-patches/2014-02/msg00216.html +Subject: [patch] [python] Re: GDB crashing on gdb.python/py-linetable.exp + + +--7AUc2qLy4jB3hD7Z +Content-Type: text/plain; charset=us-ascii +Content-Disposition: inline + +On Fri, 07 Feb 2014 11:45:04 +0100, Phil Muldoon wrote: +> I've tried most of the morning to reproduce this on Fedora 19, with +> -lmcheck and after several thousand test runs I can't reproduce. + +Due to the requirement of specific stack layout I found it is reproducible for +me on Fedora 20 x86_64 with (it sure could be reduced): + +CFLAGS="-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic" LDFLAGS="-static-libstdc++ -static-libgcc -Wl,-z,relro" ./configure --with-system-readline;make +(ulimit -c unlimited;/usr/bin/runtest gdb.python/py-linetable.exp) + +The fix is obvious, I will check it in. + +- int py_line; ++ gdb_py_longest py_line; +[...] + + + +Regards, +Jan + +--7AUc2qLy4jB3hD7Z +Content-Type: text/plain; charset=us-ascii +Content-Disposition: inline; filename=1 + +gdb/ +2014-02-07 Jan Kratochvil + + Fix Python stack corruption. + * python/py-linetable.c (ltpy_get_pcs_for_line, ltpy_has_line): Use + gdb_py_longest. + +diff --git a/gdb/python/py-linetable.c b/gdb/python/py-linetable.c +index e83d46d..8b5362b 100644 +--- a/gdb/python/py-linetable.c ++++ b/gdb/python/py-linetable.c +@@ -168,7 +168,7 @@ static PyObject * + ltpy_get_pcs_for_line (PyObject *self, PyObject *args) + { + struct symtab *symtab; +- int py_line; ++ gdb_py_longest py_line; + struct linetable_entry *best_entry = NULL; + linetable_entry_object *result; + VEC (CORE_ADDR) *pcs = NULL; +@@ -200,7 +200,7 @@ static PyObject * + ltpy_has_line (PyObject *self, PyObject *args) + { + struct symtab *symtab; +- int py_line; ++ gdb_py_longest py_line; + int index; + + LTPY_REQUIRE_VALID (self, symtab); + +--7AUc2qLy4jB3hD7Z-- + diff --git a/gdb-rhbz795424-bitpos-20of25.patch b/gdb-rhbz795424-bitpos-20of25.patch index bfcfe88..0119067 100644 --- a/gdb-rhbz795424-bitpos-20of25.patch +++ b/gdb-rhbz795424-bitpos-20of25.patch @@ -463,10 +463,10 @@ Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=bitpos-main.patch -Index: gdb-7.6.50.20130731-cvs/gdb/ada-lang.c +Index: gdb-7.6.90.20140127/gdb/ada-lang.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/ada-lang.c 2013-08-02 16:38:26.408292160 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/ada-lang.c 2013-08-02 16:39:48.052408256 +0200 +--- gdb-7.6.90.20140127.orig/gdb/ada-lang.c 2014-02-06 18:07:54.341911093 +0100 ++++ gdb-7.6.90.20140127/gdb/ada-lang.c 2014-02-06 18:07:58.898915990 +0100 @@ -80,7 +80,7 @@ static struct type *desc_bounds_type (st static struct value *desc_bounds (struct value *); @@ -680,7 +680,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ada-lang.c val = value_cast (value_type (component), val); -@@ -4082,7 +4085,7 @@ ensure_lval (struct value *val) +@@ -4085,7 +4088,7 @@ ensure_lval (struct value *val) if (VALUE_LVAL (val) == not_lval || VALUE_LVAL (val) == lval_internalvar) { @@ -689,7 +689,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ada-lang.c const CORE_ADDR addr = value_as_long (value_allocate_space_in_inferior (len)); -@@ -4156,7 +4159,7 @@ static CORE_ADDR +@@ -4159,7 +4162,7 @@ static CORE_ADDR value_pointer (struct value *value, struct type *type) { struct gdbarch *gdbarch = get_type_arch (type); @@ -698,7 +698,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ada-lang.c gdb_byte *buf = alloca (len); CORE_ADDR addr; -@@ -6087,7 +6090,7 @@ value_tag_from_contents_and_address (str +@@ -6145,7 +6148,7 @@ value_tag_from_contents_and_address (str const gdb_byte *valaddr, CORE_ADDR address) { @@ -707,7 +707,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ada-lang.c struct type *tag_type; if (find_struct_field ("_tag", type, 0, &tag_type, &tag_byte_offset, -@@ -6552,7 +6555,7 @@ ada_in_variant (LONGEST val, struct type +@@ -6610,7 +6613,7 @@ ada_in_variant (LONGEST val, struct type only in that it can handle packed values of arbitrary type. */ static struct value * @@ -716,7 +716,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ada-lang.c struct type *arg_type) { struct type *type; -@@ -6564,7 +6567,7 @@ ada_value_primitive_field (struct value +@@ -6622,7 +6625,7 @@ ada_value_primitive_field (struct value if (TYPE_FIELD_BITSIZE (arg_type, fieldno) != 0) { @@ -725,7 +725,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ada-lang.c int bit_size = TYPE_FIELD_BITSIZE (arg_type, fieldno); return ada_value_primitive_packed_val (arg1, value_contents (arg1), -@@ -6591,9 +6594,9 @@ ada_value_primitive_field (struct value +@@ -6649,9 +6652,9 @@ ada_value_primitive_field (struct value Returns 1 if found, 0 otherwise. */ static int @@ -737,7 +737,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ada-lang.c int *index_p) { int i; -@@ -6611,8 +6614,8 @@ find_struct_field (const char *name, str +@@ -6669,8 +6672,8 @@ find_struct_field (const char *name, str for (i = 0; i < TYPE_NFIELDS (type); i += 1) { @@ -748,7 +748,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ada-lang.c const char *t_field_name = TYPE_FIELD_NAME (type, i); if (t_field_name == NULL) -@@ -6682,7 +6685,7 @@ num_visible_fields (struct type *type) +@@ -6740,7 +6743,7 @@ num_visible_fields (struct type *type) Searches recursively through wrapper fields (e.g., '_parent'). */ static struct value * @@ -757,7 +757,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ada-lang.c struct type *type) { int i; -@@ -6715,7 +6718,7 @@ ada_search_struct_field (char *name, str +@@ -6773,7 +6776,7 @@ ada_search_struct_field (char *name, str int j; struct type *field_type = ada_check_typedef (TYPE_FIELD_TYPE (type, i)); @@ -766,7 +766,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ada-lang.c for (j = 0; j < TYPE_NFIELDS (field_type); j += 1) { -@@ -6733,8 +6736,8 @@ ada_search_struct_field (char *name, str +@@ -6791,8 +6794,8 @@ ada_search_struct_field (char *name, str return NULL; } @@ -777,7 +777,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ada-lang.c /* Return field #INDEX in ARG, where the index is that returned by -@@ -6743,7 +6746,7 @@ static struct value *ada_index_struct_fi +@@ -6801,7 +6804,7 @@ static struct value *ada_index_struct_fi * If found, return value, else return NULL. */ static struct value * @@ -786,7 +786,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ada-lang.c struct type *type) { return ada_index_struct_field_1 (&index, arg, offset, type); -@@ -6755,7 +6758,7 @@ ada_index_struct_field (int index, struc +@@ -6813,7 +6816,7 @@ ada_index_struct_field (int index, struc * *INDEX_P. */ static struct value * @@ -795,7 +795,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ada-lang.c struct type *type) { int i; -@@ -6845,7 +6848,8 @@ ada_value_struct_elt (struct value *arg, +@@ -6903,7 +6906,8 @@ ada_value_struct_elt (struct value *arg, v = ada_search_struct_field (name, arg, 0, t); else { @@ -805,7 +805,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ada-lang.c struct type *field_type; CORE_ADDR address; -@@ -7158,8 +7162,8 @@ ada_coerce_ref (struct value *val0) +@@ -7216,8 +7220,8 @@ ada_coerce_ref (struct value *val0) /* Return OFF rounded upward if necessary to a multiple of ALIGNMENT (a power of 2). */ @@ -816,7 +816,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ada-lang.c { return (off + alignment - 1) & ~(alignment - 1); } -@@ -7538,10 +7542,9 @@ ada_template_to_fixed_record_type_1 (str +@@ -7596,10 +7600,9 @@ ada_template_to_fixed_record_type_1 (str struct value *mark = value_mark (); struct value *dval; struct type *rtype; @@ -829,7 +829,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ada-lang.c int f; /* Compute the number of fields in this record type that are going -@@ -7612,7 +7615,7 @@ ada_template_to_fixed_record_type_1 (str +@@ -7670,7 +7673,7 @@ ada_template_to_fixed_record_type_1 (str that follow this one. */ if (ada_is_aligner_type (field_type)) { @@ -838,7 +838,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ada-lang.c field_valaddr = cond_offset_host (field_valaddr, field_offset); field_address = cond_offset_target (field_address, field_offset); -@@ -7741,11 +7744,11 @@ ada_template_to_fixed_record_type_1 (str +@@ -7799,11 +7802,11 @@ ada_template_to_fixed_record_type_1 (str if (TYPE_LENGTH (type) <= 0) { if (TYPE_NAME (rtype)) @@ -854,7 +854,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ada-lang.c } else { -@@ -8082,7 +8085,8 @@ to_fixed_array_type (struct type *type0, +@@ -8140,7 +8143,8 @@ to_fixed_array_type (struct type *type0, type was a regular (non-packed) array type. As a result, the bitsize of the array elements needs to be set again, and the array length needs to be recomputed based on that bitsize. */ @@ -864,11 +864,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ada-lang.c int elt_bitsize = TYPE_FIELD_BITSIZE (type0, 0); TYPE_FIELD_BITSIZE (result, 0) = TYPE_FIELD_BITSIZE (type0, 0); -Index: gdb-7.6.50.20130731-cvs/gdb/ada-lang.h +Index: gdb-7.6.90.20140127/gdb/ada-lang.h =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/ada-lang.h 2013-08-02 16:38:26.409292162 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/ada-lang.h 2013-08-02 16:38:32.343300713 +0200 -@@ -169,7 +169,7 @@ extern void ada_print_type (struct type +--- gdb-7.6.90.20140127.orig/gdb/ada-lang.h 2014-02-06 18:07:54.342911094 +0100 ++++ gdb-7.6.90.20140127/gdb/ada-lang.h 2014-02-06 18:07:58.899915990 +0100 +@@ -180,7 +180,7 @@ extern void ada_print_type (struct type extern void ada_print_typedef (struct type *type, struct symbol *new_symbol, struct ui_file *stream); @@ -877,7 +877,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ada-lang.h struct ui_file *, int, const struct value *, const struct value_print_options *); -@@ -184,7 +184,7 @@ extern void ada_emit_char (int, struct t +@@ -195,7 +195,7 @@ extern void ada_emit_char (int, struct t extern void ada_printchar (int, struct type *, struct ui_file *); extern void ada_printstr (struct ui_file *, struct type *, const gdb_byte *, @@ -886,7 +886,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ada-lang.h const struct value_print_options *); struct value *ada_convert_actual (struct value *actual, -@@ -257,7 +257,7 @@ extern int ada_is_constrained_packed_arr +@@ -268,7 +268,7 @@ extern int ada_is_constrained_packed_arr extern struct value *ada_value_primitive_packed_val (struct value *, const gdb_byte *, @@ -895,10 +895,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ada-lang.h struct type *); extern struct type *ada_coerce_to_simple_array_type (struct type *); -Index: gdb-7.6.50.20130731-cvs/gdb/ada-typeprint.c +Index: gdb-7.6.90.20140127/gdb/ada-typeprint.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/ada-typeprint.c 2013-08-02 16:38:26.424292184 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/ada-typeprint.c 2013-08-02 16:38:32.343300713 +0200 +--- gdb-7.6.90.20140127.orig/gdb/ada-typeprint.c 2014-02-06 18:07:54.342911094 +0100 ++++ gdb-7.6.90.20140127/gdb/ada-typeprint.c 2014-02-06 18:07:58.899915990 +0100 @@ -829,8 +829,8 @@ ada_print_type (struct type *type0, cons const char *name = ada_type_name (type); @@ -920,12 +920,12 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ada-typeprint.c break; case TYPE_CODE_ENUM: if (show < 0) -Index: gdb-7.6.50.20130731-cvs/gdb/ada-valprint.c +Index: gdb-7.6.90.20140127/gdb/ada-valprint.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/ada-valprint.c 2013-08-02 16:38:26.425292185 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/ada-valprint.c 2013-08-02 16:38:32.344300715 +0200 -@@ -41,16 +41,16 @@ static void print_record (struct type *, - const struct value_print_options *); +--- gdb-7.6.90.20140127.orig/gdb/ada-valprint.c 2014-02-06 18:07:54.343911095 +0100 ++++ gdb-7.6.90.20140127/gdb/ada-valprint.c 2014-02-06 18:15:00.766368981 +0100 +@@ -35,11 +35,11 @@ + #include "objfiles.h" static int print_field_values (struct type *, const gdb_byte *, - int, @@ -933,19 +933,12 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ada-valprint.c struct ui_file *, int, const struct value *, const struct value_print_options *, -- int, struct type *, int); -+ int, struct type *, LONGEST); - - static void adjust_type_signedness (struct type *); - --static void ada_val_print_1 (struct type *, const gdb_byte *, int, CORE_ADDR, -- struct ui_file *, int, -+static void ada_val_print_1 (struct type *, const gdb_byte *, LONGEST, -+ CORE_ADDR, struct ui_file *, int, - const struct value *, - const struct value_print_options *); +- int, struct type *, int, ++ int, struct type *, LONGEST, + const struct language_defn *); -@@ -143,7 +143,7 @@ val_print_packed_array_elements (struct + +@@ -131,7 +131,7 @@ val_print_packed_array_elements (struct unsigned int things_printed = 0; unsigned len; struct type *elttype, *index_type; @@ -954,7 +947,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ada-valprint.c unsigned long bitsize = TYPE_FIELD_BITSIZE (type, 0); struct value *mark = value_mark (); LONGEST low = 0; -@@ -292,7 +292,7 @@ ada_emit_char (int c, struct type *type, +@@ -280,7 +280,7 @@ ada_emit_char (int c, struct type *type, of a character. */ static int @@ -963,7 +956,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ada-valprint.c enum bfd_endian byte_order) { if (type_len == 1) -@@ -462,11 +462,11 @@ ada_print_scalar (struct type *type, LON +@@ -442,11 +442,11 @@ ada_print_scalar (struct type *type, LON static void printstr (struct ui_file *stream, struct type *elttype, const gdb_byte *string, @@ -977,7 +970,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ada-valprint.c unsigned int things_printed = 0; int in_quotes = 0; int need_comma = 0; -@@ -481,9 +481,9 @@ printstr (struct ui_file *stream, struct +@@ -461,9 +461,9 @@ printstr (struct ui_file *stream, struct { /* Position of the character we are examining to see whether it is repeated. */ @@ -989,7 +982,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ada-valprint.c QUIT; -@@ -514,7 +514,8 @@ printstr (struct ui_file *stream, struct +@@ -494,7 +494,8 @@ printstr (struct ui_file *stream, struct ada_emit_char (char_at (string, i, type_len, byte_order), elttype, stream, '\'', type_len); fputs_filtered ("'", stream); @@ -999,7 +992,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ada-valprint.c i = rep1 - 1; things_printed += options->repeat_count_threshold; need_comma = 1; -@@ -542,7 +543,7 @@ printstr (struct ui_file *stream, struct +@@ -522,7 +523,7 @@ printstr (struct ui_file *stream, struct void ada_printstr (struct ui_file *stream, struct type *type, @@ -1008,45 +1001,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ada-valprint.c const char *encoding, int force_ellipses, const struct value_print_options *options) { -@@ -556,7 +557,7 @@ ada_printstr (struct ui_file *stream, st - - void - ada_val_print (struct type *type, const gdb_byte *valaddr, -- int embedded_offset, CORE_ADDR address, -+ LONGEST embedded_offset, CORE_ADDR address, - struct ui_file *stream, int recurse, - const struct value *val, - const struct value_print_options *options) -@@ -588,8 +589,8 @@ ada_val_print_array (struct type *type, - { - enum bfd_endian byte_order = gdbarch_byte_order (get_type_arch (type)); - struct type *elttype = TYPE_TARGET_TYPE (type); -- unsigned int eltlen; -- unsigned int len; -+ ULONGEST eltlen; -+ ULONGEST len; - - /* We know that ELTTYPE cannot possibly be null, because we found - that TYPE is a string-like type. Similarly, the size of ELTTYPE -@@ -607,7 +608,7 @@ ada_val_print_array (struct type *type, - elements up to it. */ - if (options->stop_print_at_null) - { -- int temp_len; -+ LONGEST temp_len; - - /* Look for a NULL char. */ - for (temp_len = 0; -@@ -640,7 +641,7 @@ ada_val_print_array (struct type *type, - - static void - ada_val_print_1 (struct type *type, const gdb_byte *valaddr, -- int offset, CORE_ADDR address, -+ LONGEST offset, CORE_ADDR address, - struct ui_file *stream, int recurse, - const struct value *original_value, - const struct value_print_options *options) -@@ -915,12 +916,12 @@ ada_val_print_1 (struct type *type, cons +@@ -532,12 +533,12 @@ ada_printstr (struct ui_file *stream, st static int print_variant_part (struct type *type, int field_num, @@ -1056,12 +1011,12 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ada-valprint.c const struct value *val, const struct value_print_options *options, int comma_needed, -- struct type *outer_type, int outer_offset) -+ struct type *outer_type, LONGEST outer_offset) +- struct type *outer_type, int outer_offset, ++ struct type *outer_type, LONGEST outer_offset, + const struct language_defn *language) { struct type *var_type = TYPE_FIELD_TYPE (type, field_num); - int which = ada_which_variant_applies (var_type, outer_type, -@@ -1027,11 +1028,11 @@ print_record (struct type *type, const g +@@ -573,11 +574,11 @@ print_variant_part (struct type *type, i static int print_field_values (struct type *type, const gdb_byte *valaddr, @@ -1070,12 +1025,12 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ada-valprint.c const struct value *val, const struct value_print_options *options, int comma_needed, -- struct type *outer_type, int outer_offset) -+ struct type *outer_type, LONGEST outer_offset) +- struct type *outer_type, int outer_offset, ++ struct type *outer_type, LONGEST outer_offset, + const struct language_defn *language) { int i, len; - -@@ -1097,7 +1098,7 @@ print_field_values (struct type *type, c +@@ -644,7 +645,7 @@ print_field_values (struct type *type, c } else { @@ -1084,10 +1039,48 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ada-valprint.c int bit_size = TYPE_FIELD_BITSIZE (type, i); struct value_print_options opts; -Index: gdb-7.6.50.20130731-cvs/gdb/annotate.c +@@ -690,8 +691,8 @@ ada_val_print_string (struct type *type, + { + enum bfd_endian byte_order = gdbarch_byte_order (get_type_arch (type)); + struct type *elttype = TYPE_TARGET_TYPE (type); +- unsigned int eltlen; +- unsigned int len; ++ ULONGEST eltlen; ++ ULONGEST len; + + /* We know that ELTTYPE cannot possibly be null, because we assume + that we're called only when TYPE is a string-like type. +@@ -710,7 +711,7 @@ ada_val_print_string (struct type *type, + elements up to it. */ + if (options->stop_print_at_null) + { +- int temp_len; ++ LONGEST temp_len; + + /* Look for a NULL char. */ + for (temp_len = 0; +@@ -1069,7 +1070,7 @@ ada_val_print_ref (struct type *type, co + + static void + ada_val_print_1 (struct type *type, const gdb_byte *valaddr, +- int offset, CORE_ADDR address, ++ LONGEST offset, CORE_ADDR address, + struct ui_file *stream, int recurse, + const struct value *original_value, + const struct value_print_options *options, +@@ -1150,7 +1151,7 @@ ada_val_print_1 (struct type *type, cons + + void + ada_val_print (struct type *type, const gdb_byte *valaddr, +- int embedded_offset, CORE_ADDR address, ++ LONGEST embedded_offset, CORE_ADDR address, + struct ui_file *stream, int recurse, + const struct value *val, + const struct value_print_options *options) +Index: gdb-7.6.90.20140127/gdb/annotate.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/annotate.c 2013-08-02 16:38:26.425292185 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/annotate.c 2013-08-02 16:38:32.344300715 +0200 +--- gdb-7.6.90.20140127.orig/gdb/annotate.c 2014-02-06 18:07:54.343911095 +0100 ++++ gdb-7.6.90.20140127/gdb/annotate.c 2014-02-06 18:07:58.900915992 +0100 @@ -523,21 +523,21 @@ annotate_frame_end (void) } @@ -1114,10 +1107,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/annotate.c } void -Index: gdb-7.6.50.20130731-cvs/gdb/annotate.h +Index: gdb-7.6.90.20140127/gdb/annotate.h =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/annotate.h 2013-08-02 16:38:26.426292186 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/annotate.h 2013-08-02 16:38:32.344300715 +0200 +--- gdb-7.6.90.20140127.orig/gdb/annotate.h 2014-02-06 18:07:54.343911095 +0100 ++++ gdb-7.6.90.20140127/gdb/annotate.h 2014-02-06 18:07:58.901915993 +0100 @@ -92,8 +92,8 @@ extern void annotate_frame_source_end (v extern void annotate_frame_where (void); extern void annotate_frame_end (void); @@ -1129,10 +1122,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/annotate.h extern void annotate_elt_rep_end (void); extern void annotate_elt (void); extern void annotate_array_section_end (void); -Index: gdb-7.6.50.20130731-cvs/gdb/arm-linux-nat.c +Index: gdb-7.6.90.20140127/gdb/arm-linux-nat.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/arm-linux-nat.c 2013-08-02 16:38:26.426292186 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/arm-linux-nat.c 2013-08-02 16:38:32.345300716 +0200 +--- gdb-7.6.90.20140127.orig/gdb/arm-linux-nat.c 2014-02-06 18:07:54.343911095 +0100 ++++ gdb-7.6.90.20140127/gdb/arm-linux-nat.c 2014-02-06 18:07:58.901915993 +0100 @@ -1073,7 +1073,7 @@ arm_linux_remove_hw_breakpoint (struct g /* Are we able to use a hardware watchpoint for the LEN bytes starting at ADDR? */ @@ -1142,11 +1135,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/arm-linux-nat.c { const struct arm_linux_hwbp_cap *cap = arm_linux_get_hwbp_cap (); CORE_ADDR max_wp_length, aligned_addr; -Index: gdb-7.6.50.20130731-cvs/gdb/ax-gdb.c +Index: gdb-7.6.90.20140127/gdb/ax-gdb.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/ax-gdb.c 2013-08-02 16:38:26.427292188 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/ax-gdb.c 2013-08-02 16:38:32.346300717 +0200 -@@ -83,12 +83,12 @@ static void gen_traced_pop (struct gdbar +--- gdb-7.6.90.20140127.orig/gdb/ax-gdb.c 2014-02-06 18:07:54.344911096 +0100 ++++ gdb-7.6.90.20140127/gdb/ax-gdb.c 2014-02-06 18:07:58.902915994 +0100 +@@ -82,12 +82,12 @@ static void gen_traced_pop (struct gdbar static void gen_sign_extend (struct agent_expr *, struct type *); static void gen_extend (struct agent_expr *, struct type *); static void gen_fetch (struct agent_expr *, struct type *); @@ -1161,7 +1154,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ax-gdb.c static void gen_sym_offset (struct agent_expr *, struct symbol *); static void gen_var_ref (struct gdbarch *, struct agent_expr *ax, struct axs_value *value, struct symbol *var); -@@ -136,15 +136,16 @@ static void gen_deref (struct agent_expr +@@ -135,15 +135,16 @@ static void gen_deref (struct agent_expr static void gen_address_of (struct agent_expr *, struct axs_value *); static void gen_bitfield_ref (struct expression *exp, struct agent_expr *ax, struct axs_value *value, @@ -1181,7 +1174,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ax-gdb.c struct type *type); static void gen_struct_ref (struct expression *exp, struct agent_expr *ax, struct axs_value *value, -@@ -539,7 +540,7 @@ gen_fetch (struct agent_expr *ax, struct +@@ -538,7 +539,7 @@ gen_fetch (struct agent_expr *ax, struct right shift it by -DISTANCE bits if DISTANCE < 0. This generates unsigned (logical) right shifts. */ static void @@ -1190,7 +1183,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ax-gdb.c { if (distance > 0) { -@@ -593,7 +594,7 @@ gen_frame_locals_address (struct gdbarch +@@ -592,7 +593,7 @@ gen_frame_locals_address (struct gdbarch programming in ML, it would be clearer why these are the same thing. */ static void @@ -1199,7 +1192,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ax-gdb.c { /* It would suffice to simply push the offset and add it, but this makes it easier to read positive and negative offsets in the -@@ -1249,7 +1250,7 @@ gen_address_of (struct agent_expr *ax, s +@@ -1248,7 +1249,7 @@ gen_address_of (struct agent_expr *ax, s static void gen_bitfield_ref (struct expression *exp, struct agent_expr *ax, struct axs_value *value, struct type *type, @@ -1208,7 +1201,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ax-gdb.c { /* Note that ops[i] fetches 8 << i bits. */ static enum agent_op ops[] -@@ -1284,13 +1285,13 @@ gen_bitfield_ref (struct expression *exp +@@ -1283,13 +1284,13 @@ gen_bitfield_ref (struct expression *exp /* The first and one-after-last bits in the field, but rounded down and up to byte boundaries. */ @@ -1227,7 +1220,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ax-gdb.c /* The index in ops of the opcode we're considering. */ int op; -@@ -1409,7 +1410,7 @@ gen_bitfield_ref (struct expression *exp +@@ -1408,7 +1409,7 @@ gen_bitfield_ref (struct expression *exp static void gen_primitive_field (struct expression *exp, struct agent_expr *ax, struct axs_value *value, @@ -1236,7 +1229,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ax-gdb.c { /* Is this a bitfield? */ if (TYPE_FIELD_PACKED (type, fieldno)) -@@ -1434,7 +1435,7 @@ gen_primitive_field (struct expression * +@@ -1433,7 +1434,7 @@ gen_primitive_field (struct expression * static int gen_struct_ref_recursive (struct expression *exp, struct agent_expr *ax, struct axs_value *value, @@ -1245,10 +1238,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ax-gdb.c { int i, rslt; int nbases = TYPE_N_BASECLASSES (type); -Index: gdb-7.6.50.20130731-cvs/gdb/ax-general.c +Index: gdb-7.6.90.20140127/gdb/ax-general.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/ax-general.c 2013-08-02 16:38:26.428292189 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/ax-general.c 2013-08-02 16:38:32.346300717 +0200 +--- gdb-7.6.90.20140127.orig/gdb/ax-general.c 2014-02-06 18:07:54.345911097 +0100 ++++ gdb-7.6.90.20140127/gdb/ax-general.c 2014-02-06 18:07:58.902915994 +0100 @@ -195,7 +195,7 @@ ax_zero_ext (struct agent_expr *x, int n /* Append a trace_quick instruction to EXPR, to record N bytes. */ @@ -1258,10 +1251,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ax-general.c { /* N must fit in a byte. */ if (n < 0 || n > 255) -Index: gdb-7.6.50.20130731-cvs/gdb/ax.h +Index: gdb-7.6.90.20140127/gdb/ax.h =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/ax.h 2013-08-02 16:38:26.428292189 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/ax.h 2013-08-02 16:38:32.346300717 +0200 +--- gdb-7.6.90.20140127.orig/gdb/ax.h 2014-02-06 18:07:54.345911097 +0100 ++++ gdb-7.6.90.20140127/gdb/ax.h 2014-02-06 18:07:58.902915994 +0100 @@ -207,7 +207,7 @@ extern void ax_ext (struct agent_expr *E extern void ax_zero_ext (struct agent_expr *EXPR, int N); @@ -1271,11 +1264,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ax.h /* Append a goto op to EXPR. OP is the actual op (must be aop_goto or aop_if_goto). We assume we don't know the target offset yet, -Index: gdb-7.6.50.20130731-cvs/gdb/breakpoint.c +Index: gdb-7.6.90.20140127/gdb/breakpoint.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/breakpoint.c 2013-08-02 16:38:26.432292195 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/breakpoint.c 2013-08-02 16:38:32.350300723 +0200 -@@ -6710,7 +6710,7 @@ breakpoint_address_match (struct address +--- gdb-7.6.90.20140127.orig/gdb/breakpoint.c 2014-02-06 18:07:54.348911100 +0100 ++++ gdb-7.6.90.20140127/gdb/breakpoint.c 2014-02-06 18:07:58.906915998 +0100 +@@ -6754,7 +6754,7 @@ breakpoint_address_match (struct address static int breakpoint_address_match_range (struct address_space *aspace1, CORE_ADDR addr1, @@ -1284,7 +1277,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/breakpoint.c CORE_ADDR addr2) { return ((gdbarch_has_global_breakpoints (target_gdbarch ()) -@@ -11247,7 +11247,7 @@ can_use_hardware_watchpoint (struct valu +@@ -11353,7 +11353,7 @@ can_use_hardware_watchpoint (struct valu && TYPE_CODE (vtype) != TYPE_CODE_ARRAY)) { CORE_ADDR vaddr = value_address (v); @@ -1293,10 +1286,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/breakpoint.c int num_regs; len = (target_exact_watchpoints -Index: gdb-7.6.50.20130731-cvs/gdb/breakpoint.h +Index: gdb-7.6.90.20140127/gdb/breakpoint.h =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/breakpoint.h 2013-08-02 16:38:26.434292198 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/breakpoint.h 2013-08-02 16:38:32.351300725 +0200 +--- gdb-7.6.90.20140127.orig/gdb/breakpoint.h 2014-02-06 18:07:54.348911100 +0100 ++++ gdb-7.6.90.20140127/gdb/breakpoint.h 2014-02-06 18:07:58.906915998 +0100 @@ -242,7 +242,7 @@ struct bp_target_info /* If this is a ranged breakpoint, then this field contains the @@ -1315,11 +1308,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/breakpoint.h /* Type of hardware watchpoint. */ enum target_hw_bp_type watchpoint_type; -Index: gdb-7.6.50.20130731-cvs/gdb/c-lang.c +Index: gdb-7.6.90.20140127/gdb/c-lang.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/c-lang.c 2013-08-02 16:38:26.434292198 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/c-lang.c 2013-08-02 16:38:32.351300725 +0200 -@@ -188,7 +188,7 @@ c_printchar (int c, struct type *type, s +--- gdb-7.6.90.20140127.orig/gdb/c-lang.c 2014-02-06 18:07:54.349911101 +0100 ++++ gdb-7.6.90.20140127/gdb/c-lang.c 2014-02-06 18:07:58.907915999 +0100 +@@ -190,7 +190,7 @@ c_printchar (int c, struct type *type, s void c_printstr (struct ui_file *stream, struct type *type, @@ -1328,7 +1321,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/c-lang.c const char *user_encoding, int force_ellipses, const struct value_print_options *options) { -@@ -663,7 +663,7 @@ evaluate_subexp_c (struct type *expect_t +@@ -679,7 +679,7 @@ evaluate_subexp_c (struct type *expect_t } else { @@ -1337,7 +1330,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/c-lang.c /* Write the terminating character. */ for (i = 0; i < TYPE_LENGTH (type); ++i) -@@ -672,7 +672,7 @@ evaluate_subexp_c (struct type *expect_t +@@ -688,7 +688,7 @@ evaluate_subexp_c (struct type *expect_t if (satisfy_expected) { LONGEST low_bound, high_bound; @@ -1346,10 +1339,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/c-lang.c if (get_discrete_bounds (TYPE_INDEX_TYPE (expect_type), &low_bound, &high_bound) < 0) -Index: gdb-7.6.50.20130731-cvs/gdb/c-lang.h +Index: gdb-7.6.90.20140127/gdb/c-lang.h =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/c-lang.h 2013-08-02 16:38:26.434292198 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/c-lang.h 2013-08-02 16:38:32.351300725 +0200 +--- gdb-7.6.90.20140127.orig/gdb/c-lang.h 2014-02-06 18:07:54.349911101 +0100 ++++ gdb-7.6.90.20140127/gdb/c-lang.h 2014-02-06 18:07:58.907915999 +0100 @@ -73,7 +73,7 @@ extern void c_print_typedef (struct type struct ui_file *); @@ -1385,10 +1378,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/c-lang.h struct ui_file *, int, const struct value *, const struct value_print_options *, -Index: gdb-7.6.50.20130731-cvs/gdb/c-valprint.c +Index: gdb-7.6.90.20140127/gdb/c-valprint.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/c-valprint.c 2013-08-02 16:38:26.435292199 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/c-valprint.c 2013-08-02 16:38:32.352300726 +0200 +--- gdb-7.6.90.20140127.orig/gdb/c-valprint.c 2014-02-06 18:07:54.349911101 +0100 ++++ gdb-7.6.90.20140127/gdb/c-valprint.c 2014-02-06 18:07:58.907915999 +0100 @@ -132,7 +132,7 @@ static const struct generic_val_print_de void @@ -1430,10 +1423,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/c-valprint.c struct value_print_options opts = *options; opts.deref_ref = 1; -Index: gdb-7.6.50.20130731-cvs/gdb/cp-abi.c +Index: gdb-7.6.90.20140127/gdb/cp-abi.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/cp-abi.c 2013-08-02 16:38:26.435292199 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/cp-abi.c 2013-08-02 16:38:32.352300726 +0200 +--- gdb-7.6.90.20140127.orig/gdb/cp-abi.c 2014-02-06 18:07:54.350911103 +0100 ++++ gdb-7.6.90.20140127/gdb/cp-abi.c 2014-02-06 18:07:58.908916001 +0100 @@ -68,13 +68,13 @@ is_operator_name (const char *name) return (*current_cp_abi.is_operator_name) (name); } @@ -1469,10 +1462,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/cp-abi.c { struct type *ret = NULL; volatile struct gdb_exception e; -Index: gdb-7.6.50.20130731-cvs/gdb/cp-abi.h +Index: gdb-7.6.90.20140127/gdb/cp-abi.h =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/cp-abi.h 2013-08-02 16:38:26.435292199 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/cp-abi.h 2013-08-02 16:38:32.352300726 +0200 +--- gdb-7.6.90.20140127.orig/gdb/cp-abi.h 2014-02-06 18:07:54.350911103 +0100 ++++ gdb-7.6.90.20140127/gdb/cp-abi.h 2014-02-06 18:07:58.908916001 +0100 @@ -108,7 +108,7 @@ extern struct value *value_virtual_fn_fi struct fn_field *f, int j, @@ -1527,10 +1520,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/cp-abi.h void (*print_method_ptr) (const gdb_byte *contents, struct type *type, struct ui_file *stream); -Index: gdb-7.6.50.20130731-cvs/gdb/cp-valprint.c +Index: gdb-7.6.90.20140127/gdb/cp-valprint.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/cp-valprint.c 2013-08-02 16:38:26.436292201 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/cp-valprint.c 2013-08-02 16:38:32.353300727 +0200 +--- gdb-7.6.90.20140127.orig/gdb/cp-valprint.c 2014-02-06 18:07:54.350911103 +0100 ++++ gdb-7.6.90.20140127/gdb/cp-valprint.c 2014-02-06 18:07:58.908916001 +0100 @@ -82,7 +82,7 @@ static void cp_print_static_field (struc const struct value_print_options *); @@ -1549,7 +1542,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/cp-valprint.c CORE_ADDR address, struct ui_file *stream, int recurse, const struct value *val, const struct value_print_options *options, -@@ -342,7 +342,7 @@ cp_print_value_fields (struct type *type +@@ -339,7 +339,7 @@ cp_print_value_fields (struct type *type } else if (i == vptr_fieldno && type == vptr_basetype) { @@ -1558,7 +1551,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/cp-valprint.c struct type *i_type = TYPE_FIELD_TYPE (type, i); if (valprint_check_validity (stream, i_type, i_offset, val)) -@@ -425,7 +425,7 @@ cp_print_value_fields (struct type *type +@@ -422,7 +422,7 @@ cp_print_value_fields (struct type *type void cp_print_value_fields_rtti (struct type *type, @@ -1567,7 +1560,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/cp-valprint.c CORE_ADDR address, struct ui_file *stream, int recurse, const struct value *val, -@@ -441,7 +441,8 @@ cp_print_value_fields_rtti (struct type +@@ -438,7 +438,8 @@ cp_print_value_fields_rtti (struct type TARGET_CHAR_BIT * TYPE_LENGTH (type))) { struct value *value; @@ -1577,7 +1570,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/cp-valprint.c /* Ugh, we have to convert back to a value here. */ value = value_from_contents_and_address (type, valaddr + offset, -@@ -465,7 +466,7 @@ cp_print_value_fields_rtti (struct type +@@ -462,7 +463,7 @@ cp_print_value_fields_rtti (struct type static void cp_print_value (struct type *type, struct type *real_type, @@ -1586,7 +1579,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/cp-valprint.c CORE_ADDR address, struct ui_file *stream, int recurse, const struct value *val, const struct value_print_options *options, -@@ -475,7 +476,7 @@ cp_print_value (struct type *type, struc +@@ -472,7 +473,7 @@ cp_print_value (struct type *type, struc = (struct type **) obstack_next_free (&dont_print_vb_obstack); struct obstack tmp_obstack = dont_print_vb_obstack; int i, n_baseclasses = TYPE_N_BASECLASSES (type); @@ -1595,7 +1588,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/cp-valprint.c struct type *thistype; if (dont_print_vb == 0) -@@ -489,7 +490,7 @@ cp_print_value (struct type *type, struc +@@ -486,7 +487,7 @@ cp_print_value (struct type *type, struc for (i = 0; i < n_baseclasses; i++) { @@ -1604,10 +1597,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/cp-valprint.c int skip; struct type *baseclass = check_typedef (TYPE_BASECLASS (type, i)); const char *basename = TYPE_NAME (baseclass); -Index: gdb-7.6.50.20130731-cvs/gdb/d-lang.h +Index: gdb-7.6.90.20140127/gdb/d-lang.h =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/d-lang.h 2013-08-02 16:38:26.436292201 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/d-lang.h 2013-08-02 16:38:32.353300727 +0200 +--- gdb-7.6.90.20140127.orig/gdb/d-lang.h 2014-02-06 18:07:54.351911104 +0100 ++++ gdb-7.6.90.20140127/gdb/d-lang.h 2014-02-06 18:07:58.908916001 +0100 @@ -25,7 +25,7 @@ extern char *d_demangle (const char *mangled, int options); @@ -1617,10 +1610,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/d-lang.h struct ui_file *stream, int recurse, const struct value *val, const struct value_print_options *options); -Index: gdb-7.6.50.20130731-cvs/gdb/d-valprint.c +Index: gdb-7.6.90.20140127/gdb/d-valprint.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/d-valprint.c 2013-08-02 16:38:26.436292201 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/d-valprint.c 2013-08-02 16:38:32.353300727 +0200 +--- gdb-7.6.90.20140127.orig/gdb/d-valprint.c 2014-02-06 18:07:54.351911104 +0100 ++++ gdb-7.6.90.20140127/gdb/d-valprint.c 2014-02-06 18:07:58.909916001 +0100 @@ -29,7 +29,7 @@ static int @@ -1643,11 +1636,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/d-valprint.c const struct value_print_options *options) { int ret; -Index: gdb-7.6.50.20130731-cvs/gdb/doublest.c +Index: gdb-7.6.90.20140127/gdb/doublest.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/doublest.c 2013-08-02 16:38:26.436292201 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/doublest.c 2013-08-02 16:38:32.354300729 +0200 -@@ -744,7 +744,7 @@ floatformat_from_doublest (const struct +--- gdb-7.6.90.20140127.orig/gdb/doublest.c 2014-02-06 18:07:54.351911104 +0100 ++++ gdb-7.6.90.20140127/gdb/doublest.c 2014-02-06 18:07:58.909916001 +0100 +@@ -767,7 +767,7 @@ floatformat_from_doublest (const struct but not passed on by GDB. This should be fixed. */ static const struct floatformat * @@ -1656,7 +1649,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/doublest.c { const struct floatformat *format; -@@ -772,8 +772,8 @@ floatformat_from_length (struct gdbarch +@@ -795,8 +795,8 @@ floatformat_from_length (struct gdbarch else format = NULL; if (format == NULL) @@ -1667,11 +1660,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/doublest.c return format; } -Index: gdb-7.6.50.20130731-cvs/gdb/dwarf2loc.c +Index: gdb-7.6.90.20140127/gdb/dwarf2loc.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/dwarf2loc.c 2013-08-02 16:38:26.438292204 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/dwarf2loc.c 2013-08-02 16:42:11.217607703 +0200 -@@ -1713,19 +1713,19 @@ insert_bits (unsigned int datum, +--- gdb-7.6.90.20140127.orig/gdb/dwarf2loc.c 2014-02-06 18:07:54.352911105 +0100 ++++ gdb-7.6.90.20140127/gdb/dwarf2loc.c 2014-02-06 18:07:58.910916003 +0100 +@@ -1709,19 +1709,19 @@ insert_bits (unsigned int datum, BITS_BIG_ENDIAN is taken directly from gdbarch. */ static void @@ -1697,7 +1690,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/dwarf2loc.c dest_avail = 8 - dest_offset_bits % 8; -@@ -1763,13 +1763,13 @@ static void +@@ -1759,13 +1759,13 @@ static void read_pieced_value (struct value *v) { int i; @@ -1713,7 +1706,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/dwarf2loc.c size_t buffer_size = 0; gdb_byte *buffer = NULL; struct cleanup *cleanup; -@@ -1796,8 +1796,8 @@ read_pieced_value (struct value *v) +@@ -1792,8 +1792,8 @@ read_pieced_value (struct value *v) for (i = 0; i < c->n_pieces && offset < type_len; i++) { struct dwarf_expr_piece *p = &c->pieces[i]; @@ -1724,7 +1717,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/dwarf2loc.c const gdb_byte *intermediate_buffer; /* Compute size, source, and destination offsets for copying, in -@@ -1946,13 +1946,13 @@ static void +@@ -1942,13 +1942,13 @@ static void write_pieced_value (struct value *to, struct value *from) { int i; @@ -1740,7 +1733,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/dwarf2loc.c size_t buffer_size = 0; gdb_byte *buffer = NULL; struct cleanup *cleanup; -@@ -1980,8 +1980,8 @@ write_pieced_value (struct value *to, st +@@ -1976,8 +1976,8 @@ write_pieced_value (struct value *to, st for (i = 0; i < c->n_pieces && offset < type_len; i++) { struct dwarf_expr_piece *p = &c->pieces[i]; @@ -1751,7 +1744,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/dwarf2loc.c int need_bitwise; const gdb_byte *source_buffer; -@@ -2110,8 +2110,8 @@ write_pieced_value (struct value *to, st +@@ -2107,8 +2107,8 @@ write_pieced_value (struct value *to, st implicit pointer. */ static int @@ -1762,7 +1755,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/dwarf2loc.c enum dwarf_value_location check_for) { struct piece_closure *c -@@ -2127,7 +2127,7 @@ check_pieced_value_bits (const struct va +@@ -2124,7 +2124,7 @@ check_pieced_value_bits (const struct va for (i = 0; i < c->n_pieces && bit_length > 0; i++) { struct dwarf_expr_piece *p = &c->pieces[i]; @@ -1771,7 +1764,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/dwarf2loc.c if (bit_offset > 0) { -@@ -2165,8 +2165,8 @@ check_pieced_value_bits (const struct va +@@ -2162,8 +2162,8 @@ check_pieced_value_bits (const struct va } static int @@ -1782,7 +1775,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/dwarf2loc.c { return check_pieced_value_bits (value, bit_offset, bit_length, DWARF_VALUE_MEMORY); -@@ -2184,8 +2184,8 @@ check_pieced_value_invalid (const struct +@@ -2181,8 +2181,8 @@ check_pieced_value_invalid (const struct a synthetic pointer. */ static int @@ -1793,7 +1786,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/dwarf2loc.c { return check_pieced_value_bits (value, bit_offset, bit_length, DWARF_VALUE_IMPLICIT_POINTER); -@@ -2210,9 +2210,10 @@ indirect_pieced_value (struct value *val +@@ -2207,9 +2207,10 @@ indirect_pieced_value (struct value *val struct type *type; struct frame_info *frame; struct dwarf2_locexpr_baton baton; @@ -1806,7 +1799,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/dwarf2loc.c type = check_typedef (value_type (value)); if (TYPE_CODE (type) != TYPE_CODE_PTR) -@@ -2226,7 +2227,7 @@ indirect_pieced_value (struct value *val +@@ -2223,7 +2224,7 @@ indirect_pieced_value (struct value *val for (i = 0; i < c->n_pieces && bit_length > 0; i++) { struct dwarf_expr_piece *p = &c->pieces[i]; @@ -1815,7 +1808,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/dwarf2loc.c if (bit_offset > 0) { -@@ -2467,7 +2468,7 @@ dwarf2_evaluate_loc_desc_full (struct ty +@@ -2491,7 +2492,7 @@ dwarf2_evaluate_loc_desc_full (struct ty struct value *value = dwarf_expr_fetch (ctx, 0); gdb_byte *contents; const gdb_byte *val_bytes; @@ -1824,11 +1817,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/dwarf2loc.c if (byte_offset + TYPE_LENGTH (type) > n) invalid_synthetic_pointer (); -Index: gdb-7.6.50.20130731-cvs/gdb/dwarf2read.c +Index: gdb-7.6.90.20140127/gdb/dwarf2read.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/dwarf2read.c 2013-08-02 16:38:26.441292208 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/dwarf2read.c 2013-08-02 16:38:32.358300735 +0200 -@@ -1258,12 +1258,12 @@ dwarf2_complex_location_expr_complaint ( +--- gdb-7.6.90.20140127.orig/gdb/dwarf2read.c 2014-02-06 18:07:54.356911109 +0100 ++++ gdb-7.6.90.20140127/gdb/dwarf2read.c 2014-02-06 18:07:58.913916006 +0100 +@@ -1893,12 +1893,12 @@ dwarf2_complex_location_expr_complaint ( } static void @@ -1845,7 +1838,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/dwarf2read.c } static void -@@ -11215,8 +11215,8 @@ dwarf2_add_field (struct field_info *fip +@@ -12190,8 +12190,8 @@ dwarf2_add_field (struct field_info *fip object, and then subtract off the number of bits of the field itself. The result is the bit offset of the LSB of the field. */ @@ -1856,11 +1849,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/dwarf2read.c attr = dwarf2_attr (die, DW_AT_byte_size, cu); if (attr) -Index: gdb-7.6.50.20130731-cvs/gdb/eval.c +Index: gdb-7.6.90.20140127/gdb/eval.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/eval.c 2013-08-02 16:38:26.443292211 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/eval.c 2013-08-02 16:38:32.359300736 +0200 -@@ -294,7 +294,8 @@ evaluate_struct_tuple (struct value *str +--- gdb-7.6.90.20140127.orig/gdb/eval.c 2014-02-06 18:07:54.358911111 +0100 ++++ gdb-7.6.90.20140127/gdb/eval.c 2014-02-06 18:07:58.914916007 +0100 +@@ -298,7 +298,8 @@ evaluate_struct_tuple (struct value *str while (--nargs >= 0) { struct value *val = NULL; @@ -1870,7 +1863,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/eval.c bfd_byte *addr; fieldno++; -@@ -356,7 +357,7 @@ init_array_element (struct value *array, +@@ -360,7 +361,7 @@ init_array_element (struct value *array, enum noside noside, LONGEST low_bound, LONGEST high_bound) { LONGEST index; @@ -1879,7 +1872,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/eval.c if (exp->elts[*pos].opcode == BINOP_COMMA) { -@@ -713,11 +714,11 @@ binop_promote (const struct language_def +@@ -718,11 +719,11 @@ binop_promote (const struct language_def /* FIXME: Also mixed integral/booleans, with result an integer. */ { const struct builtin_type *builtin = builtin_type (gdbarch); @@ -1894,7 +1887,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/eval.c int unsigned_operation; /* Determine type length and signedness after promotion for -@@ -900,7 +901,7 @@ evaluate_subexp_standard (struct type *e +@@ -905,7 +906,7 @@ evaluate_subexp_standard (struct type *e struct value **argvec; int code; int ix; @@ -1903,7 +1896,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/eval.c struct type **arg_types; int save_pos1; struct symbol *function = NULL; -@@ -1080,7 +1081,7 @@ evaluate_subexp_standard (struct type *e +@@ -1085,7 +1086,7 @@ evaluate_subexp_standard (struct type *e struct type *range_type = TYPE_INDEX_TYPE (type); struct type *element_type = TYPE_TARGET_TYPE (type); struct value *array = allocate_value (expect_type); @@ -1912,7 +1905,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/eval.c LONGEST low_bound, high_bound, index; if (get_discrete_bounds (range_type, &low_bound, &high_bound) < 0) -@@ -2075,7 +2076,8 @@ evaluate_subexp_standard (struct type *e +@@ -2080,7 +2081,8 @@ evaluate_subexp_standard (struct type *e { struct type *type = value_type (arg1); struct type *real_type; @@ -1922,11 +1915,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/eval.c struct value_print_options opts; get_user_print_options (&opts); -Index: gdb-7.6.50.20130731-cvs/gdb/f-lang.c +Index: gdb-7.6.90.20140127/gdb/f-lang.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/f-lang.c 2013-08-02 16:38:26.443292211 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/f-lang.c 2013-08-02 16:38:32.359300736 +0200 -@@ -103,7 +103,7 @@ f_printchar (int c, struct type *type, s +--- gdb-7.6.90.20140127.orig/gdb/f-lang.c 2014-02-06 18:07:54.358911111 +0100 ++++ gdb-7.6.90.20140127/gdb/f-lang.c 2014-02-06 18:07:58.914916007 +0100 +@@ -104,7 +104,7 @@ f_printchar (int c, struct type *type, s static void f_printstr (struct ui_file *stream, struct type *type, const gdb_byte *string, @@ -1935,10 +1928,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/f-lang.c const struct value_print_options *options) { const char *type_encoding = f_get_encoding (type); -Index: gdb-7.6.50.20130731-cvs/gdb/f-lang.h +Index: gdb-7.6.90.20140127/gdb/f-lang.h =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/f-lang.h 2013-08-02 16:38:26.443292211 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/f-lang.h 2013-08-02 16:38:32.359300736 +0200 +--- gdb-7.6.90.20140127.orig/gdb/f-lang.h 2014-02-06 18:07:54.358911111 +0100 ++++ gdb-7.6.90.20140127/gdb/f-lang.h 2014-02-06 18:07:58.914916007 +0100 @@ -33,7 +33,7 @@ extern const char *f_object_address_data (struct type *type, struct ui_file *stream); extern void f_object_address_data_valid_or_error (struct type *type); @@ -1948,10 +1941,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/f-lang.h struct ui_file *, int, const struct value *, const struct value_print_options *); -Index: gdb-7.6.50.20130731-cvs/gdb/f-valprint.c +Index: gdb-7.6.90.20140127/gdb/f-valprint.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/f-valprint.c 2013-08-02 16:38:26.444292212 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/f-valprint.c 2013-08-02 16:38:32.359300736 +0200 +--- gdb-7.6.90.20140127.orig/gdb/f-valprint.c 2014-02-06 18:07:54.359911112 +0100 ++++ gdb-7.6.90.20140127/gdb/f-valprint.c 2014-02-06 18:07:58.915916008 +0100 @@ -43,7 +43,7 @@ static void f77_create_arrayprint_offset struct ui_file *); static void f77_get_dynamic_length_of_aggregate (struct type *); @@ -2016,11 +2009,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/f-valprint.c val_print (TYPE_FIELD_TYPE (type, index), valaddr, embedded_offset + offset, -Index: gdb-7.6.50.20130731-cvs/gdb/findvar.c +Index: gdb-7.6.90.20140127/gdb/findvar.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/findvar.c 2013-08-02 16:38:26.444292212 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/findvar.c 2013-08-02 16:38:32.360300738 +0200 -@@ -652,7 +652,7 @@ default_value_from_register (struct type +--- gdb-7.6.90.20140127.orig/gdb/findvar.c 2014-02-06 18:07:54.359911112 +0100 ++++ gdb-7.6.90.20140127/gdb/findvar.c 2014-02-06 18:07:58.915916008 +0100 +@@ -623,7 +623,7 @@ default_value_from_register (struct type struct frame_info *frame) { struct gdbarch *gdbarch = get_frame_arch (frame); @@ -2029,7 +2022,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/findvar.c struct value *value = allocate_value (type); VALUE_LVAL (value) = lval_register; -@@ -685,10 +685,10 @@ void +@@ -656,10 +656,10 @@ void read_frame_register_value (struct value *value, struct frame_info *frame) { struct gdbarch *gdbarch = get_frame_arch (frame); @@ -2043,7 +2036,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/findvar.c gdb_assert (VALUE_LVAL (value) == lval_register); -@@ -703,7 +703,7 @@ read_frame_register_value (struct value +@@ -674,7 +674,7 @@ read_frame_register_value (struct value while (len > 0) { struct value *regval = get_frame_register_value (frame, regnum); @@ -2052,11 +2045,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/findvar.c if (value_optimized_out (regval)) { -Index: gdb-7.6.50.20130731-cvs/gdb/frame.c +Index: gdb-7.6.90.20140127/gdb/frame.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/frame.c 2013-08-02 16:38:26.445292214 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/frame.c 2013-08-02 16:38:32.360300738 +0200 -@@ -1182,7 +1182,7 @@ deprecated_frame_register_read (struct f +--- gdb-7.6.90.20140127.orig/gdb/frame.c 2014-02-06 18:07:54.360911113 +0100 ++++ gdb-7.6.90.20140127/gdb/frame.c 2014-02-06 18:07:58.915916008 +0100 +@@ -1247,7 +1247,7 @@ deprecated_frame_register_read (struct f int get_frame_register_bytes (struct frame_info *frame, int regnum, @@ -2065,7 +2058,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/frame.c int *optimizedp, int *unavailablep) { struct gdbarch *gdbarch = get_frame_arch (frame); -@@ -1211,7 +1211,7 @@ get_frame_register_bytes (struct frame_i +@@ -1276,7 +1276,7 @@ get_frame_register_bytes (struct frame_i } if (len > maxsize) error (_("Bad debug information detected: " @@ -2074,11 +2067,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/frame.c /* Copy the data. */ while (len > 0) -Index: gdb-7.6.50.20130731-cvs/gdb/frame.h +Index: gdb-7.6.90.20140127/gdb/frame.h =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/frame.h 2013-08-02 16:38:26.445292214 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/frame.h 2013-08-02 16:38:32.360300738 +0200 -@@ -532,7 +532,7 @@ extern void put_frame_register (struct f +--- gdb-7.6.90.20140127.orig/gdb/frame.h 2014-02-06 18:07:54.360911113 +0100 ++++ gdb-7.6.90.20140127/gdb/frame.h 2014-02-06 18:07:58.916916009 +0100 +@@ -556,7 +556,7 @@ extern void put_frame_register (struct f contents are optimized out or unavailable, set *OPTIMIZEDP, *UNAVAILABLEP accordingly. */ extern int get_frame_register_bytes (struct frame_info *frame, int regnum, @@ -2087,11 +2080,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/frame.h gdb_byte *myaddr, int *optimizedp, int *unavailablep); -Index: gdb-7.6.50.20130731-cvs/gdb/gdbtypes.c +Index: gdb-7.6.90.20140127/gdb/gdbtypes.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/gdbtypes.c 2013-08-02 16:38:26.446292215 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/gdbtypes.c 2013-08-02 16:38:32.361300739 +0200 -@@ -2091,7 +2091,7 @@ allocate_gnat_aux_type (struct type *typ +--- gdb-7.6.90.20140127.orig/gdb/gdbtypes.c 2014-02-06 18:07:54.361911114 +0100 ++++ gdb-7.6.90.20140127/gdb/gdbtypes.c 2014-02-06 18:07:58.916916009 +0100 +@@ -2108,7 +2108,7 @@ allocate_gnat_aux_type (struct type *typ least as long as OBJFILE. */ struct type * @@ -2100,7 +2093,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/gdbtypes.c const char *name, struct objfile *objfile) { struct type *type; -@@ -2322,8 +2322,8 @@ is_public_ancestor (struct type *base, s +@@ -2339,8 +2339,8 @@ is_public_ancestor (struct type *base, s static int is_unique_ancestor_worker (struct type *base, struct type *dclass, @@ -2111,7 +2104,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/gdbtypes.c CORE_ADDR address, struct value *val) { int i, count = 0; -@@ -2334,7 +2334,7 @@ is_unique_ancestor_worker (struct type * +@@ -2351,7 +2351,7 @@ is_unique_ancestor_worker (struct type * for (i = 0; i < TYPE_N_BASECLASSES (dclass) && count < 2; ++i) { struct type *iter; @@ -2120,7 +2113,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/gdbtypes.c iter = check_typedef (TYPE_BASECLASS (dclass, i)); -@@ -2375,7 +2375,7 @@ is_unique_ancestor_worker (struct type * +@@ -2392,7 +2392,7 @@ is_unique_ancestor_worker (struct type * int is_unique_ancestor (struct type *base, struct value *val) { @@ -2129,7 +2122,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/gdbtypes.c return is_unique_ancestor_worker (base, value_type (val), &offset, value_contents_for_printing (val), -@@ -3303,7 +3303,7 @@ recursive_dump_type (struct type *type, +@@ -3530,7 +3530,7 @@ recursive_dump_type (struct type *type, break; } puts_filtered ("\n"); @@ -2138,7 +2131,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/gdbtypes.c if (TYPE_OBJFILE_OWNED (type)) { printfi_filtered (spaces, "objfile "); -@@ -3427,8 +3427,8 @@ recursive_dump_type (struct type *type, +@@ -3654,8 +3654,8 @@ recursive_dump_type (struct type *type, idx, plongest (TYPE_FIELD_ENUMVAL (type, idx))); else printfi_filtered (spaces + 2, @@ -2149,7 +2142,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/gdbtypes.c TYPE_FIELD_BITSIZE (type, idx)); gdb_print_host_address (TYPE_FIELD_TYPE (type, idx), gdb_stdout); printf_filtered (" name '%s' (", -@@ -3942,7 +3942,7 @@ copy_type (const struct type *type) +@@ -4169,7 +4169,7 @@ copy_type (const struct type *type) struct type * arch_type (struct gdbarch *gdbarch, @@ -2158,10 +2151,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/gdbtypes.c { struct type *type; -Index: gdb-7.6.50.20130731-cvs/gdb/gdbtypes.h +Index: gdb-7.6.90.20140127/gdb/gdbtypes.h =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/gdbtypes.h 2013-08-02 16:38:26.447292217 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/gdbtypes.h 2013-08-02 16:38:32.361300739 +0200 +--- gdb-7.6.90.20140127.orig/gdb/gdbtypes.h 2014-02-06 18:07:54.362911115 +0100 ++++ gdb-7.6.90.20140127/gdb/gdbtypes.h 2014-02-06 18:11:46.431160650 +0100 @@ -606,7 +606,7 @@ struct main_type gdbarch_bits_big_endian=0 targets, it is the bit offset to the LSB. */ @@ -2180,8 +2173,8 @@ Index: gdb-7.6.50.20130731-cvs/gdb/gdbtypes.h /* Core type, shared by a group of qualified types. */ struct main_type *main_type; -@@ -1542,11 +1542,12 @@ extern struct type *alloc_type_copy (con - extern struct gdbarch *get_type_arch (const struct type *); +@@ -1546,11 +1546,12 @@ extern struct gdbarch *get_type_arch (co + extern struct type *get_target_type (struct type *type); /* Helper function to construct objfile-owned types. */ -extern struct type *init_type (enum type_code, int, int, const char *, @@ -2195,10 +2188,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/gdbtypes.h extern struct type *arch_integer_type (struct gdbarch *, int, int, char *); extern struct type *arch_character_type (struct gdbarch *, int, int, char *); extern struct type *arch_boolean_type (struct gdbarch *, int, int, char *); -Index: gdb-7.6.50.20130731-cvs/gdb/gnu-v2-abi.c +Index: gdb-7.6.90.20140127/gdb/gnu-v2-abi.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/gnu-v2-abi.c 2013-08-02 16:38:26.447292217 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/gnu-v2-abi.c 2013-08-02 16:38:32.362300740 +0200 +--- gdb-7.6.90.20140127.orig/gdb/gnu-v2-abi.c 2014-02-06 18:07:54.362911115 +0100 ++++ gdb-7.6.90.20140127/gdb/gnu-v2-abi.c 2014-02-06 18:07:58.917916010 +0100 @@ -85,7 +85,7 @@ gnuv2_is_operator_name (const char *name TYPE is the type in which F is located. */ static struct value * @@ -2250,10 +2243,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/gnu-v2-abi.c gnuv2_baseclass_offset (type, i, valaddr, embedded_offset, address, val); -Index: gdb-7.6.50.20130731-cvs/gdb/gnu-v3-abi.c +Index: gdb-7.6.90.20140127/gdb/gnu-v3-abi.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/gnu-v3-abi.c 2013-08-02 16:38:26.448292218 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/gnu-v3-abi.c 2013-08-02 16:38:32.362300740 +0200 +--- gdb-7.6.90.20140127.orig/gdb/gnu-v3-abi.c 2014-02-06 18:07:54.363911116 +0100 ++++ gdb-7.6.90.20140127/gdb/gnu-v3-abi.c 2014-02-06 18:07:58.918916011 +0100 @@ -112,7 +112,7 @@ build_gdb_vtable_type (struct gdbarch *a { struct type *t; @@ -2328,10 +2321,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/gnu-v3-abi.c struct type *basetype; if (BASETYPE_VIA_VIRTUAL (domain, i)) -Index: gdb-7.6.50.20130731-cvs/gdb/go-lang.h +Index: gdb-7.6.90.20140127/gdb/go-lang.h =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/go-lang.h 2013-08-02 16:38:26.448292218 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/go-lang.h 2013-08-02 16:38:32.362300740 +0200 +--- gdb-7.6.90.20140127.orig/gdb/go-lang.h 2014-02-06 18:07:54.363911116 +0100 ++++ gdb-7.6.90.20140127/gdb/go-lang.h 2014-02-06 18:07:58.918916011 +0100 @@ -83,7 +83,7 @@ extern void go_print_type (struct type * /* Defined in go-valprint.c. */ @@ -2341,10 +2334,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/go-lang.h struct ui_file *stream, int recurse, const struct value *val, const struct value_print_options *options); -Index: gdb-7.6.50.20130731-cvs/gdb/go-valprint.c +Index: gdb-7.6.90.20140127/gdb/go-valprint.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/go-valprint.c 2013-08-02 16:38:26.448292218 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/go-valprint.c 2013-08-02 16:38:32.362300740 +0200 +--- gdb-7.6.90.20140127.orig/gdb/go-valprint.c 2014-02-06 18:07:54.363911116 +0100 ++++ gdb-7.6.90.20140127/gdb/go-valprint.c 2014-02-06 18:07:58.918916011 +0100 @@ -37,7 +37,7 @@ static void @@ -2367,10 +2360,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/go-valprint.c const struct value_print_options *options) { CHECK_TYPEDEF (type); -Index: gdb-7.6.50.20130731-cvs/gdb/i386-nat.c +Index: gdb-7.6.90.20140127/gdb/i386-nat.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/i386-nat.c 2013-08-02 16:38:26.448292218 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/i386-nat.c 2013-08-02 16:38:32.362300740 +0200 +--- gdb-7.6.90.20140127.orig/gdb/i386-nat.c 2014-02-06 18:07:54.363911116 +0100 ++++ gdb-7.6.90.20140127/gdb/i386-nat.c 2014-02-06 18:07:58.918916011 +0100 @@ -290,7 +290,7 @@ static int i386_remove_aligned_watchpoin valid value, bombs through internal_error. */ static int i386_handle_nonaligned_watchpoint (struct i386_debug_reg_state *state, @@ -2400,10 +2393,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/i386-nat.c { struct i386_debug_reg_state *state = i386_debug_reg_state (ptid_get_pid (inferior_ptid)); -Index: gdb-7.6.50.20130731-cvs/gdb/inf-ttrace.c +Index: gdb-7.6.90.20140127/gdb/inf-ttrace.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/inf-ttrace.c 2013-08-02 16:38:26.449292220 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/inf-ttrace.c 2013-08-02 16:38:32.363300742 +0200 +--- gdb-7.6.90.20140127.orig/gdb/inf-ttrace.c 2014-02-06 18:07:54.364911117 +0100 ++++ gdb-7.6.90.20140127/gdb/inf-ttrace.c 2014-02-06 18:07:58.918916011 +0100 @@ -365,7 +365,7 @@ inf_ttrace_can_use_hw_breakpoint (int ty } @@ -2413,10 +2406,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/inf-ttrace.c { return 1; } -Index: gdb-7.6.50.20130731-cvs/gdb/jv-lang.c +Index: gdb-7.6.90.20140127/gdb/jv-lang.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/jv-lang.c 2013-08-02 16:38:26.449292220 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/jv-lang.c 2013-08-02 16:38:32.363300742 +0200 +--- gdb-7.6.90.20140127.orig/gdb/jv-lang.c 2014-02-06 18:07:54.364911117 +0100 ++++ gdb-7.6.90.20140127/gdb/jv-lang.c 2014-02-06 18:07:58.919916012 +0100 @@ -436,7 +436,7 @@ java_link_class_type (struct gdbarch *gd for (i = TYPE_N_BASECLASSES (type); i < nfields; i++) { @@ -2435,10 +2428,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/jv-lang.c const struct value_print_options *options) { const char *type_encoding = java_get_encoding (type); -Index: gdb-7.6.50.20130731-cvs/gdb/jv-lang.h +Index: gdb-7.6.90.20140127/gdb/jv-lang.h =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/jv-lang.h 2013-08-02 16:38:26.449292220 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/jv-lang.h 2013-08-02 16:38:32.363300742 +0200 +--- gdb-7.6.90.20140127.orig/gdb/jv-lang.h 2014-02-06 18:07:54.364911117 +0100 ++++ gdb-7.6.90.20140127/gdb/jv-lang.h 2014-02-06 18:07:58.919916012 +0100 @@ -42,8 +42,8 @@ struct builtin_java_type extern const struct builtin_java_type *builtin_java_type (struct gdbarch *); @@ -2450,10 +2443,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/jv-lang.h const struct value *, const struct value_print_options *); -Index: gdb-7.6.50.20130731-cvs/gdb/jv-valprint.c +Index: gdb-7.6.90.20140127/gdb/jv-valprint.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/jv-valprint.c 2013-08-02 16:38:26.450292221 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/jv-valprint.c 2013-08-02 16:38:32.363300742 +0200 +--- gdb-7.6.90.20140127.orig/gdb/jv-valprint.c 2014-02-06 18:07:54.365911119 +0100 ++++ gdb-7.6.90.20140127/gdb/jv-valprint.c 2014-02-06 18:07:58.919916012 +0100 @@ -266,7 +266,7 @@ java_value_print (struct value *val, str static void @@ -2463,7 +2456,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/jv-valprint.c CORE_ADDR address, struct ui_file *stream, int recurse, const struct value *val, -@@ -465,7 +465,7 @@ java_print_value_fields (struct type *ty +@@ -459,7 +459,7 @@ java_print_value_fields (struct type *ty void java_val_print (struct type *type, const gdb_byte *valaddr, @@ -2472,11 +2465,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/jv-valprint.c struct ui_file *stream, int recurse, const struct value *val, const struct value_print_options *options) -Index: gdb-7.6.50.20130731-cvs/gdb/language.c +Index: gdb-7.6.90.20140127/gdb/language.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/language.c 2013-08-02 16:38:26.450292221 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/language.c 2013-08-02 16:38:32.364300743 +0200 -@@ -721,7 +721,7 @@ unk_lang_printchar (int c, struct type * +--- gdb-7.6.90.20140127.orig/gdb/language.c 2014-02-06 18:07:54.365911119 +0100 ++++ gdb-7.6.90.20140127/gdb/language.c 2014-02-06 18:07:58.919916012 +0100 +@@ -722,7 +722,7 @@ unk_lang_printchar (int c, struct type * static void unk_lang_printstr (struct ui_file *stream, struct type *type, @@ -2485,7 +2478,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/language.c const char *encoding, int force_ellipses, const struct value_print_options *options) { -@@ -740,7 +740,7 @@ unk_lang_print_type (struct type *type, +@@ -741,7 +741,7 @@ unk_lang_print_type (struct type *type, static void unk_lang_val_print (struct type *type, const gdb_byte *valaddr, @@ -2494,11 +2487,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/language.c struct ui_file *stream, int recurse, const struct value *val, const struct value_print_options *options) -Index: gdb-7.6.50.20130731-cvs/gdb/language.h +Index: gdb-7.6.90.20140127/gdb/language.h =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/language.h 2013-08-02 16:38:26.450292221 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/language.h 2013-08-02 16:38:32.364300743 +0200 -@@ -175,7 +175,7 @@ struct language_defn +--- gdb-7.6.90.20140127.orig/gdb/language.h 2014-02-06 18:07:54.365911119 +0100 ++++ gdb-7.6.90.20140127/gdb/language.h 2014-02-06 18:07:58.919916012 +0100 +@@ -182,7 +182,7 @@ struct language_defn struct ui_file * stream); void (*la_printstr) (struct ui_file * stream, struct type *elttype, @@ -2507,7 +2500,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/language.h const char *encoding, int force_ellipses, const struct value_print_options *); -@@ -217,7 +217,7 @@ struct language_defn +@@ -224,7 +224,7 @@ struct language_defn void (*la_val_print) (struct type *type, const gdb_byte *contents, @@ -2516,11 +2509,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/language.h struct ui_file *stream, int recurse, const struct value *val, const struct value_print_options *options); -Index: gdb-7.6.50.20130731-cvs/gdb/m2-lang.c +Index: gdb-7.6.90.20140127/gdb/m2-lang.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/m2-lang.c 2013-08-02 16:38:26.450292221 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/m2-lang.c 2013-08-02 16:38:32.364300743 +0200 -@@ -103,10 +103,10 @@ m2_printchar (int c, struct type *type, +--- gdb-7.6.90.20140127.orig/gdb/m2-lang.c 2014-02-06 18:07:54.366911120 +0100 ++++ gdb-7.6.90.20140127/gdb/m2-lang.c 2014-02-06 18:07:58.920916013 +0100 +@@ -104,10 +104,10 @@ m2_printchar (int c, struct type *type, static void m2_printstr (struct ui_file *stream, struct type *type, const gdb_byte *string, @@ -2533,7 +2526,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/m2-lang.c unsigned int things_printed = 0; int in_quotes = 0; int need_comma = 0; -@@ -121,9 +121,9 @@ m2_printstr (struct ui_file *stream, str +@@ -122,9 +122,9 @@ m2_printstr (struct ui_file *stream, str { /* Position of the character we are examining to see whether it is repeated. */ @@ -2545,7 +2538,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/m2-lang.c QUIT; -@@ -149,7 +149,7 @@ m2_printstr (struct ui_file *stream, str +@@ -150,7 +150,7 @@ m2_printstr (struct ui_file *stream, str in_quotes = 0; } m2_printchar (string[i], type, stream); @@ -2554,10 +2547,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/m2-lang.c i = rep1 - 1; things_printed += options->repeat_count_threshold; need_comma = 1; -Index: gdb-7.6.50.20130731-cvs/gdb/m2-lang.h +Index: gdb-7.6.90.20140127/gdb/m2-lang.h =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/m2-lang.h 2013-08-02 16:38:26.451292222 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/m2-lang.h 2013-08-02 16:38:32.364300743 +0200 +--- gdb-7.6.90.20140127.orig/gdb/m2-lang.h 2014-02-06 18:07:54.366911120 +0100 ++++ gdb-7.6.90.20140127/gdb/m2-lang.h 2014-02-06 18:07:58.920916013 +0100 @@ -33,7 +33,7 @@ extern void m2_print_typedef (struct typ extern int m2_is_long_set (struct type *type); extern int m2_is_unbounded_array (struct type *type); @@ -2567,10 +2560,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/m2-lang.h struct ui_file *, int, const struct value *, const struct value_print_options *); -Index: gdb-7.6.50.20130731-cvs/gdb/m2-typeprint.c +Index: gdb-7.6.90.20140127/gdb/m2-typeprint.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/m2-typeprint.c 2013-08-02 16:38:26.451292222 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/m2-typeprint.c 2013-08-02 16:38:32.364300743 +0200 +--- gdb-7.6.90.20140127.orig/gdb/m2-typeprint.c 2014-02-06 18:07:54.366911120 +0100 ++++ gdb-7.6.90.20140127/gdb/m2-typeprint.c 2014-02-06 18:07:58.920916013 +0100 @@ -233,9 +233,12 @@ static void m2_array (struct type *type, m2_print_bounds (TYPE_INDEX_TYPE (type), stream, show, -1, 1); } @@ -2587,10 +2580,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/m2-typeprint.c } fprintf_filtered (stream, "] OF "); m2_print_type (TYPE_TARGET_TYPE (type), "", stream, show, level, flags); -Index: gdb-7.6.50.20130731-cvs/gdb/m2-valprint.c +Index: gdb-7.6.90.20140127/gdb/m2-valprint.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/m2-valprint.c 2013-08-02 16:38:26.451292222 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/m2-valprint.c 2013-08-02 16:38:32.365300745 +0200 +--- gdb-7.6.90.20140127.orig/gdb/m2-valprint.c 2014-02-06 18:07:54.366911120 +0100 ++++ gdb-7.6.90.20140127/gdb/m2-valprint.c 2014-02-06 18:07:58.920916013 +0100 @@ -35,7 +35,7 @@ static int print_unpacked_pointer (struc struct ui_file *stream); static void @@ -2656,10 +2649,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/m2-valprint.c /* Look for a NULL char. */ for (temp_len = 0; -Index: gdb-7.6.50.20130731-cvs/gdb/memrange.c +Index: gdb-7.6.90.20140127/gdb/memrange.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/memrange.c 2013-08-02 16:38:26.451292222 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/memrange.c 2013-08-02 16:38:32.365300745 +0200 +--- gdb-7.6.90.20140127.orig/gdb/memrange.c 2014-02-06 18:07:54.366911120 +0100 ++++ gdb-7.6.90.20140127/gdb/memrange.c 2014-02-06 18:07:58.920916013 +0100 @@ -21,8 +21,8 @@ #include "memrange.h" @@ -2671,10 +2664,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/memrange.c { ULONGEST h, l; -Index: gdb-7.6.50.20130731-cvs/gdb/memrange.h +Index: gdb-7.6.90.20140127/gdb/memrange.h =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/memrange.h 2013-08-02 16:38:26.452292224 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/memrange.h 2013-08-02 16:38:32.365300745 +0200 +--- gdb-7.6.90.20140127.orig/gdb/memrange.h 2014-02-06 18:07:54.367911121 +0100 ++++ gdb-7.6.90.20140127/gdb/memrange.h 2014-02-06 18:07:58.921916014 +0100 @@ -30,7 +30,7 @@ struct mem_range CORE_ADDR start; @@ -2695,10 +2688,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/memrange.h /* Sort ranges by start address, then coalesce contiguous or overlapping ranges. */ -Index: gdb-7.6.50.20130731-cvs/gdb/mips-linux-nat.c +Index: gdb-7.6.90.20140127/gdb/mips-linux-nat.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/mips-linux-nat.c 2013-08-02 16:38:26.452292224 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/mips-linux-nat.c 2013-08-02 16:38:32.365300745 +0200 +--- gdb-7.6.90.20140127.orig/gdb/mips-linux-nat.c 2014-02-06 18:07:54.367911121 +0100 ++++ gdb-7.6.90.20140127/gdb/mips-linux-nat.c 2014-02-06 18:07:58.921916014 +0100 @@ -588,7 +588,7 @@ mips_linux_stopped_data_address (struct the specified region can be covered by the watch registers. */ @@ -2708,10 +2701,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/mips-linux-nat.c { struct pt_watch_regs dummy_regs; int i; -Index: gdb-7.6.50.20130731-cvs/gdb/opencl-lang.c +Index: gdb-7.6.90.20140127/gdb/opencl-lang.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/opencl-lang.c 2013-08-02 16:38:26.452292224 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/opencl-lang.c 2013-08-02 16:38:32.365300745 +0200 +--- gdb-7.6.90.20140127.orig/gdb/opencl-lang.c 2014-02-06 18:07:54.367911121 +0100 ++++ gdb-7.6.90.20140127/gdb/opencl-lang.c 2014-02-06 18:07:58.921916014 +0100 @@ -80,11 +80,11 @@ builtin_opencl_type (struct gdbarch *gdb static struct type * @@ -2838,11 +2831,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/opencl-lang.c if (!value_bits_synthetic_pointer (c->val, c->indices[i] * elsize + comp_offset, -Index: gdb-7.6.50.20130731-cvs/gdb/p-lang.c +Index: gdb-7.6.90.20140127/gdb/p-lang.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/p-lang.c 2013-08-02 16:38:26.453292225 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/p-lang.c 2013-08-02 16:38:32.366300746 +0200 -@@ -95,8 +95,8 @@ pascal_main_name (void) +--- gdb-7.6.90.20140127.orig/gdb/p-lang.c 2014-02-06 18:07:54.368911122 +0100 ++++ gdb-7.6.90.20140127/gdb/p-lang.c 2014-02-06 18:07:58.921916014 +0100 +@@ -96,8 +96,8 @@ pascal_main_name (void) are not multiple of TARGET_CHAR_BIT then the results are wrong but this does not happen for Free Pascal nor for GPC. */ int @@ -2853,7 +2846,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/p-lang.c struct type **char_type, const char **arrayname) { -@@ -216,12 +216,12 @@ pascal_printchar (int c, struct type *ty +@@ -217,12 +217,12 @@ pascal_printchar (int c, struct type *ty void pascal_printstr (struct ui_file *stream, struct type *type, @@ -2868,7 +2861,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/p-lang.c unsigned int things_printed = 0; int in_quotes = 0; int need_comma = 0; -@@ -249,9 +249,9 @@ pascal_printstr (struct ui_file *stream, +@@ -250,9 +250,9 @@ pascal_printstr (struct ui_file *stream, { /* Position of the character we are examining to see whether it is repeated. */ @@ -2880,7 +2873,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/p-lang.c unsigned long int current_char; QUIT; -@@ -283,7 +283,7 @@ pascal_printstr (struct ui_file *stream, +@@ -284,7 +284,7 @@ pascal_printstr (struct ui_file *stream, in_quotes = 0; } pascal_printchar (current_char, type, stream); @@ -2889,10 +2882,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/p-lang.c i = rep1 - 1; things_printed += options->repeat_count_threshold; need_comma = 1; -Index: gdb-7.6.50.20130731-cvs/gdb/p-lang.h +Index: gdb-7.6.90.20140127/gdb/p-lang.h =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/p-lang.h 2013-08-02 16:38:26.453292225 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/p-lang.h 2013-08-02 16:38:32.366300746 +0200 +--- gdb-7.6.90.20140127.orig/gdb/p-lang.h 2014-02-06 18:07:54.368911122 +0100 ++++ gdb-7.6.90.20140127/gdb/p-lang.h 2014-02-06 18:07:58.922916016 +0100 @@ -35,7 +35,7 @@ extern void pascal_print_type (struct ty extern void pascal_print_typedef (struct type *, struct symbol *, struct ui_file *); @@ -2927,10 +2920,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/p-lang.h CORE_ADDR, struct ui_file *, int, const struct value *, -Index: gdb-7.6.50.20130731-cvs/gdb/p-valprint.c +Index: gdb-7.6.90.20140127/gdb/p-valprint.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/p-valprint.c 2013-08-02 16:38:26.453292225 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/p-valprint.c 2013-08-02 16:38:32.366300746 +0200 +--- gdb-7.6.90.20140127.orig/gdb/p-valprint.c 2014-02-06 18:07:54.368911122 +0100 ++++ gdb-7.6.90.20140127/gdb/p-valprint.c 2014-02-06 18:07:58.922916016 +0100 @@ -58,7 +58,7 @@ static const struct generic_val_print_de void @@ -2992,10 +2985,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/p-valprint.c volatile struct gdb_exception ex; int skip = 0; -Index: gdb-7.6.50.20130731-cvs/gdb/ppc-linux-nat.c +Index: gdb-7.6.90.20140127/gdb/ppc-linux-nat.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/ppc-linux-nat.c 2013-08-02 16:38:26.454292227 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/ppc-linux-nat.c 2013-08-02 16:38:32.366300746 +0200 +--- gdb-7.6.90.20140127.orig/gdb/ppc-linux-nat.c 2014-02-06 18:07:54.369911123 +0100 ++++ gdb-7.6.90.20140127/gdb/ppc-linux-nat.c 2014-02-06 18:07:58.922916016 +0100 @@ -1496,7 +1496,7 @@ ppc_linux_can_use_hw_breakpoint (int typ } @@ -3005,11 +2998,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ppc-linux-nat.c { /* Handle sub-8-byte quantities. */ if (len <= 0) -Index: gdb-7.6.50.20130731-cvs/gdb/printcmd.c +Index: gdb-7.6.90.20140127/gdb/printcmd.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/printcmd.c 2013-08-02 16:38:26.454292227 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/printcmd.c 2013-08-02 16:38:32.367300748 +0200 -@@ -290,7 +290,7 @@ print_formatted (struct value *val, int +--- gdb-7.6.90.20140127.orig/gdb/printcmd.c 2014-02-06 18:07:54.370911124 +0100 ++++ gdb-7.6.90.20140127/gdb/printcmd.c 2014-02-06 18:07:58.923916017 +0100 +@@ -289,7 +289,7 @@ print_formatted (struct value *val, int struct ui_file *stream) { struct type *type = check_typedef (value_type (val)); @@ -3018,7 +3011,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/printcmd.c if (VALUE_LVAL (val) == lval_memory) next_address = value_address (val) + len; -@@ -368,7 +368,7 @@ print_scalar_formatted (const void *vala +@@ -367,7 +367,7 @@ print_scalar_formatted (const void *vala { struct gdbarch *gdbarch = get_type_arch (type); LONGEST val_long = 0; @@ -3027,11 +3020,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/printcmd.c enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); /* String printing should go through val_print_scalar_formatted. */ -Index: gdb-7.6.50.20130731-cvs/gdb/procfs.c +Index: gdb-7.6.90.20140127/gdb/procfs.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/procfs.c 2013-08-02 16:38:26.455292228 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/procfs.c 2013-08-02 16:38:32.368300749 +0200 -@@ -4926,7 +4926,7 @@ procfs_remove_watchpoint (CORE_ADDR addr +--- gdb-7.6.90.20140127.orig/gdb/procfs.c 2014-02-06 18:07:54.370911124 +0100 ++++ gdb-7.6.90.20140127/gdb/procfs.c 2014-02-06 18:07:58.924916018 +0100 +@@ -4924,7 +4924,7 @@ procfs_remove_watchpoint (CORE_ADDR addr } static int @@ -3040,10 +3033,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/procfs.c { /* The man page for proc(4) on Solaris 2.6 and up says that the system can support "thousands" of hardware watchpoints, but gives -Index: gdb-7.6.50.20130731-cvs/gdb/python/py-prettyprint.c +Index: gdb-7.6.90.20140127/gdb/python/py-prettyprint.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/python/py-prettyprint.c 2013-08-02 16:38:26.456292230 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/python/py-prettyprint.c 2013-08-02 16:38:32.368300749 +0200 +--- gdb-7.6.90.20140127.orig/gdb/python/py-prettyprint.c 2014-02-06 18:07:54.371911125 +0100 ++++ gdb-7.6.90.20140127/gdb/python/py-prettyprint.c 2014-02-06 18:07:58.924916018 +0100 @@ -688,7 +688,7 @@ print_children (PyObject *printer, const int @@ -3062,11 +3055,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/python/py-prettyprint.c struct ui_file *stream, int recurse, const struct value *val, const struct value_print_options *options, -Index: gdb-7.6.50.20130731-cvs/gdb/python/python.h +Index: gdb-7.6.90.20140127/gdb/python/python.h =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/python/python.h 2013-08-02 16:38:26.456292230 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/python/python.h 2013-08-02 16:38:32.368300749 +0200 -@@ -98,7 +98,7 @@ void source_python_script (FILE *file, c +--- gdb-7.6.90.20140127.orig/gdb/python/python.h 2014-02-06 18:07:54.371911125 +0100 ++++ gdb-7.6.90.20140127/gdb/python/python.h 2014-02-06 18:07:58.924916018 +0100 +@@ -111,7 +111,7 @@ void source_python_script (FILE *file, c void run_python_script (int argc, char **argv); int apply_val_pretty_printer (struct type *type, const gdb_byte *valaddr, @@ -3075,10 +3068,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/python/python.h struct ui_file *stream, int recurse, const struct value *val, const struct value_print_options *options, -Index: gdb-7.6.50.20130731-cvs/gdb/regcache.c +Index: gdb-7.6.90.20140127/gdb/regcache.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/regcache.c 2013-08-02 16:38:26.457292231 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/regcache.c 2013-08-02 16:38:32.368300749 +0200 +--- gdb-7.6.90.20140127.orig/gdb/regcache.c 2014-02-06 18:07:54.372911126 +0100 ++++ gdb-7.6.90.20140127/gdb/regcache.c 2014-02-06 18:07:58.924916018 +0100 @@ -899,7 +899,7 @@ typedef void (regcache_write_ftype) (str static enum register_status @@ -3124,10 +3117,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/regcache.c { struct regcache_descr *descr = regcache->descr; -Index: gdb-7.6.50.20130731-cvs/gdb/regcache.h +Index: gdb-7.6.90.20140127/gdb/regcache.h =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/regcache.h 2013-08-02 16:38:26.457292231 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/regcache.h 2013-08-02 16:38:32.368300749 +0200 +--- gdb-7.6.90.20140127.orig/gdb/regcache.h 2014-02-06 18:07:54.372911126 +0100 ++++ gdb-7.6.90.20140127/gdb/regcache.h 2014-02-06 18:07:58.925916019 +0100 @@ -89,9 +89,9 @@ extern void regcache_raw_write_unsigned extern enum register_status @@ -3155,11 +3148,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/regcache.h /* Special routines to read/write the PC. */ -Index: gdb-7.6.50.20130731-cvs/gdb/remote.c +Index: gdb-7.6.90.20140127/gdb/remote.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/remote.c 2013-08-02 16:38:26.459292234 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/remote.c 2013-08-02 16:38:32.370300752 +0200 -@@ -8368,7 +8368,7 @@ int remote_hw_watchpoint_length_limit = +--- gdb-7.6.90.20140127.orig/gdb/remote.c 2014-02-06 18:07:54.374911128 +0100 ++++ gdb-7.6.90.20140127/gdb/remote.c 2014-02-06 18:07:58.926916020 +0100 +@@ -8413,7 +8413,7 @@ int remote_hw_watchpoint_length_limit = int remote_hw_breakpoint_limit = -1; static int @@ -3168,23 +3161,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/remote.c { if (remote_hw_watchpoint_length_limit == 0) return 0; -Index: gdb-7.6.50.20130731-cvs/gdb/s390-nat.c +Index: gdb-7.6.90.20140127/gdb/spu-multiarch.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/s390-nat.c 2013-08-02 16:38:26.459292234 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/s390-nat.c 2013-08-02 16:38:32.370300752 +0200 -@@ -571,7 +571,7 @@ s390_can_use_hw_breakpoint (int type, in - } - - static int --s390_region_ok_for_hw_watchpoint (CORE_ADDR addr, int cnt) -+s390_region_ok_for_hw_watchpoint (CORE_ADDR addr, LONGEST cnt) - { - return 1; - } -Index: gdb-7.6.50.20130731-cvs/gdb/spu-multiarch.c -=================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/spu-multiarch.c 2013-08-02 16:38:26.459292234 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/spu-multiarch.c 2013-08-02 16:38:32.370300752 +0200 +--- gdb-7.6.90.20140127.orig/gdb/spu-multiarch.c 2014-02-06 18:07:54.374911128 +0100 ++++ gdb-7.6.90.20140127/gdb/spu-multiarch.c 2014-02-06 18:07:58.927916021 +0100 @@ -118,7 +118,7 @@ spu_thread_architecture (struct target_o /* Override the to_region_ok_for_hw_watchpoint routine. */ @@ -3194,11 +3174,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/spu-multiarch.c { struct target_ops *ops_beneath = find_target_beneath (&spu_ops); while (ops_beneath && !ops_beneath->to_region_ok_for_hw_watchpoint) -Index: gdb-7.6.50.20130731-cvs/gdb/stack.c +Index: gdb-7.6.90.20140127/gdb/stack.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/stack.c 2013-08-02 16:38:26.460292236 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/stack.c 2013-08-02 16:38:32.371300754 +0200 -@@ -178,7 +178,7 @@ print_stack_frame (struct frame_info *fr +--- gdb-7.6.90.20140127.orig/gdb/stack.c 2014-02-06 18:07:54.375911129 +0100 ++++ gdb-7.6.90.20140127/gdb/stack.c 2014-02-06 18:07:58.927916021 +0100 +@@ -180,7 +180,7 @@ print_stack_frame (struct frame_info *fr argument (not just the first nameless argument). */ static void @@ -3207,7 +3187,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/stack.c int first, struct ui_file *stream) { struct gdbarch *gdbarch = get_frame_arch (frame); -@@ -500,7 +500,7 @@ print_frame_args (struct symbol *func, s +@@ -526,7 +526,7 @@ print_frame_args (struct symbol *func, s /* Offset of next stack argument beyond the one we have seen that is at the highest offset, or -1 if we haven't come to a stack argument yet. */ @@ -3216,7 +3196,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/stack.c /* Number of ints of arguments that we have printed so far. */ int args_printed = 0; struct cleanup *old_chain; -@@ -538,8 +538,8 @@ print_frame_args (struct symbol *func, s +@@ -564,8 +564,8 @@ print_frame_args (struct symbol *func, s case LOC_ARG: case LOC_REF_ARG: { @@ -3227,7 +3207,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/stack.c /* Compute address of next argument by adding the size of this argument and rounding to an int boundary. */ -@@ -674,7 +674,7 @@ print_frame_args (struct symbol *func, s +@@ -700,7 +700,7 @@ print_frame_args (struct symbol *func, s enough about the stack to find them. */ if (num != -1) { @@ -3236,11 +3216,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/stack.c if (highest_offset == -1) start = gdbarch_frame_args_skip (get_frame_arch (frame)); -Index: gdb-7.6.50.20130731-cvs/gdb/symmisc.c +Index: gdb-7.6.90.20140127/gdb/symmisc.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/symmisc.c 2013-08-02 16:38:26.460292236 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/symmisc.c 2013-08-02 16:38:32.371300754 +0200 -@@ -534,11 +534,11 @@ print_symbol (void *args) +--- gdb-7.6.90.20140127.orig/gdb/symmisc.c 2014-02-06 18:07:54.375911129 +0100 ++++ gdb-7.6.90.20140127/gdb/symmisc.c 2014-02-06 18:07:58.927916021 +0100 +@@ -529,11 +529,11 @@ print_symbol (void *args) case LOC_CONST_BYTES: { @@ -3255,11 +3235,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/symmisc.c for (i = 0; i < TYPE_LENGTH (type); i++) fprintf_filtered (outfile, " %02x", (unsigned) SYMBOL_VALUE_BYTES (symbol)[i]); -Index: gdb-7.6.50.20130731-cvs/gdb/target.c +Index: gdb-7.6.90.20140127/gdb/target.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/target.c 2013-08-02 16:38:26.461292237 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/target.c 2013-08-02 16:38:32.372300755 +0200 -@@ -51,7 +51,7 @@ static void default_terminal_info (const +--- gdb-7.6.90.20140127.orig/gdb/target.c 2014-02-06 18:07:54.376911130 +0100 ++++ gdb-7.6.90.20140127/gdb/target.c 2014-02-06 18:07:58.928916022 +0100 +@@ -52,7 +52,7 @@ static void default_terminal_info (const static int default_watchpoint_addr_within_range (struct target_ops *, CORE_ADDR, CORE_ADDR, int); @@ -3268,7 +3248,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/target.c static void tcomplain (void) ATTRIBUTE_NORETURN; -@@ -127,7 +127,7 @@ static int debug_to_stopped_data_address +@@ -116,7 +116,7 @@ static int debug_to_stopped_data_address static int debug_to_watchpoint_addr_within_range (struct target_ops *, CORE_ADDR, CORE_ADDR, int); @@ -3277,7 +3257,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/target.c static int debug_to_can_accel_watchpoint_condition (CORE_ADDR, int, int, struct expression *); -@@ -3586,7 +3586,7 @@ target_fileio_read_stralloc (const char +@@ -3599,7 +3599,7 @@ target_fileio_read_stralloc (const char static int @@ -3286,7 +3266,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/target.c { return (len <= gdbarch_ptr_bit (target_gdbarch ()) / TARGET_CHAR_BIT); } -@@ -4541,7 +4541,7 @@ debug_to_can_use_hw_breakpoint (int type +@@ -4566,7 +4566,7 @@ debug_to_can_use_hw_breakpoint (int type } static int @@ -3295,11 +3275,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/target.c { CORE_ADDR retval; -Index: gdb-7.6.50.20130731-cvs/gdb/target.h +Index: gdb-7.6.90.20140127/gdb/target.h =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/target.h 2013-08-02 16:38:26.462292238 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/target.h 2013-08-02 16:38:32.372300755 +0200 -@@ -389,7 +389,7 @@ struct target_ops +--- gdb-7.6.90.20140127.orig/gdb/target.h 2014-02-06 18:07:54.377911131 +0100 ++++ gdb-7.6.90.20140127/gdb/target.h 2014-02-06 18:07:58.929916023 +0100 +@@ -428,7 +428,7 @@ struct target_ops /* Documentation of this routine is provided with the corresponding target_* macro. */ @@ -3308,11 +3288,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/target.h int (*to_can_accel_watchpoint_condition) (CORE_ADDR, int, int, struct expression *); -Index: gdb-7.6.50.20130731-cvs/gdb/tracepoint.c +Index: gdb-7.6.90.20140127/gdb/tracepoint.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/tracepoint.c 2013-08-02 16:38:26.464292241 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/tracepoint.c 2013-08-02 16:40:53.018499769 +0200 -@@ -940,13 +940,13 @@ add_register (struct collection_list *co +--- gdb-7.6.90.20140127.orig/gdb/tracepoint.c 2014-02-06 18:07:54.379911134 +0100 ++++ gdb-7.6.90.20140127/gdb/tracepoint.c 2014-02-06 18:07:58.930916024 +0100 +@@ -935,13 +935,13 @@ add_register (struct collection_list *co static void add_memrange (struct collection_list *memranges, int type, bfd_signed_vma base, @@ -3328,7 +3308,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/tracepoint.c } /* type: memrange_absolute == memory, other n == basereg */ -@@ -976,7 +976,7 @@ collect_symbol (struct collection_list * +@@ -971,7 +971,7 @@ collect_symbol (struct collection_list * CORE_ADDR scope, int trace_string) { @@ -3337,7 +3317,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/tracepoint.c unsigned int reg; bfd_signed_vma offset; int treat_as_expr = 0; -@@ -1000,8 +1000,8 @@ collect_symbol (struct collection_list * +@@ -995,8 +995,8 @@ collect_symbol (struct collection_list * char tmp[40]; sprintf_vma (tmp, offset); @@ -3348,7 +3328,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/tracepoint.c tmp /* address */); } /* A struct may be a C++ class with static fields, go to general -@@ -1033,8 +1033,8 @@ collect_symbol (struct collection_list * +@@ -1028,8 +1028,8 @@ collect_symbol (struct collection_list * offset = frame_offset + SYMBOL_VALUE (sym); if (info_verbose) { @@ -3359,7 +3339,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/tracepoint.c printf_vma (offset); printf_filtered (" from frame ptr reg %d\n", reg); } -@@ -1045,8 +1045,8 @@ collect_symbol (struct collection_list * +@@ -1040,8 +1040,8 @@ collect_symbol (struct collection_list * offset = 0; if (info_verbose) { @@ -3370,7 +3350,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/tracepoint.c printf_vma (offset); printf_filtered (" from reg %d\n", reg); } -@@ -1057,8 +1057,8 @@ collect_symbol (struct collection_list * +@@ -1052,8 +1052,8 @@ collect_symbol (struct collection_list * offset = frame_offset + SYMBOL_VALUE (sym); if (info_verbose) { @@ -3381,7 +3361,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/tracepoint.c printf_vma (offset); printf_filtered (" from frame ptr reg %d\n", reg); } -@@ -2716,7 +2716,8 @@ scope_info (char *args, int from_tty) +@@ -2711,7 +2711,8 @@ scope_info (char *args, int from_tty) const char *symname; char *save_args = args; struct block_iterator iter; @@ -3391,7 +3371,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/tracepoint.c struct gdbarch *gdbarch; int regno; -@@ -2852,8 +2853,11 @@ scope_info (char *args, int from_tty) +@@ -2847,8 +2848,11 @@ scope_info (char *args, int from_tty) } } if (SYMBOL_TYPE (sym)) @@ -3405,10 +3385,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/tracepoint.c } if (BLOCK_FUNCTION (block)) break; -Index: gdb-7.6.50.20130731-cvs/gdb/typeprint.c +Index: gdb-7.6.90.20140127/gdb/typeprint.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/typeprint.c 2013-08-02 16:38:26.464292241 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/typeprint.c 2013-08-02 16:38:32.374300758 +0200 +--- gdb-7.6.90.20140127.orig/gdb/typeprint.c 2014-02-06 18:07:54.379911134 +0100 ++++ gdb-7.6.90.20140127/gdb/typeprint.c 2014-02-06 18:07:58.930916024 +0100 @@ -409,7 +409,7 @@ whatis_exp (char *exp, int show) struct type *real_type = NULL; struct type *type; @@ -3418,10 +3398,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/typeprint.c int using_enc = 0; struct value_print_options opts; struct type_print_options flags = default_ptype_flags; -Index: gdb-7.6.50.20130731-cvs/gdb/valarith.c +Index: gdb-7.6.90.20140127/gdb/valarith.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/valarith.c 2013-08-02 16:38:26.465292243 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/valarith.c 2013-08-02 16:38:32.374300758 +0200 +--- gdb-7.6.90.20140127.orig/gdb/valarith.c 2014-02-06 18:07:54.380911135 +0100 ++++ gdb-7.6.90.20140127/gdb/valarith.c 2014-02-06 18:07:58.930916024 +0100 @@ -190,15 +190,15 @@ value_subscript (struct value *array, LO to doubles, but no longer does. */ @@ -3475,11 +3455,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valarith.c for (i = 0; i < len; i++) { -Index: gdb-7.6.50.20130731-cvs/gdb/valops.c +Index: gdb-7.6.90.20140127/gdb/valops.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/valops.c 2013-08-02 16:38:26.467292246 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/valops.c 2013-08-02 16:38:32.375300759 +0200 -@@ -53,11 +53,11 @@ static int typecmp (int staticp, int var +--- gdb-7.6.90.20140127.orig/gdb/valops.c 2014-02-06 18:07:54.382911137 +0100 ++++ gdb-7.6.90.20140127/gdb/valops.c 2014-02-06 18:11:09.072119918 +0100 +@@ -51,11 +51,11 @@ static int typecmp (int staticp, int var struct field t1[], struct value *t2[]); static struct value *search_struct_field (const char *, struct value *, @@ -3493,7 +3473,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valops.c static int find_oload_champ_namespace (struct value **, int, const char *, const char *, -@@ -85,7 +85,7 @@ oload_classification classify_oload_matc +@@ -83,7 +83,7 @@ oload_classification classify_oload_matc int, int); static struct value *value_struct_elt_for_reference (struct type *, @@ -3502,7 +3482,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valops.c char *, struct type *, int, enum noside); -@@ -102,8 +102,8 @@ static CORE_ADDR allocate_space_in_infer +@@ -100,8 +100,8 @@ static CORE_ADDR allocate_space_in_infer static struct value *cast_into_complex (struct type *, struct value *); static struct fn_field *find_method_list (struct value **, const char *, @@ -3513,7 +3493,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valops.c void _initialize_valops (void); -@@ -188,7 +188,7 @@ find_function_in_inferior (const char *n +@@ -186,7 +186,7 @@ find_function_in_inferior (const char *n space. */ struct value * @@ -3522,7 +3502,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valops.c { struct objfile *objf; struct value *val = find_function_in_inferior ("malloc", &objf); -@@ -261,7 +261,8 @@ value_cast_structs (struct type *type, s +@@ -259,7 +259,8 @@ value_cast_structs (struct type *type, s if (TYPE_NAME (t2) != NULL) { /* Try downcasting using the run-time type of the value. */ @@ -3532,7 +3512,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valops.c struct type *real_type; real_type = value_rtti_type (v2, &full, &top, &using_enc); -@@ -400,12 +401,12 @@ value_cast (struct type *type, struct va +@@ -398,12 +399,12 @@ value_cast (struct type *type, struct va if (code1 == TYPE_CODE_ARRAY) { struct type *element_type = TYPE_TARGET_TYPE (type); @@ -3547,7 +3527,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valops.c LONGEST low_bound, high_bound, new_length; if (get_discrete_bounds (range_type, &low_bound, &high_bound) < 0) -@@ -639,7 +640,7 @@ value_reinterpret_cast (struct type *typ +@@ -637,7 +638,7 @@ value_reinterpret_cast (struct type *typ static int dynamic_cast_check_1 (struct type *desired_type, const gdb_byte *valaddr, @@ -3556,7 +3536,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valops.c CORE_ADDR address, struct value *val, struct type *search_type, -@@ -651,8 +652,8 @@ dynamic_cast_check_1 (struct type *desir +@@ -649,8 +650,8 @@ dynamic_cast_check_1 (struct type *desir for (i = 0; i < TYPE_N_BASECLASSES (search_type) && result_count < 2; ++i) { @@ -3567,7 +3547,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valops.c if (class_types_same_p (desired_type, TYPE_BASECLASS (search_type, i))) { -@@ -686,7 +687,7 @@ dynamic_cast_check_1 (struct type *desir +@@ -684,7 +685,7 @@ dynamic_cast_check_1 (struct type *desir static int dynamic_cast_check_2 (struct type *desired_type, const gdb_byte *valaddr, @@ -3576,7 +3556,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valops.c CORE_ADDR address, struct value *val, struct type *search_type, -@@ -696,7 +697,7 @@ dynamic_cast_check_2 (struct type *desir +@@ -694,7 +695,7 @@ dynamic_cast_check_2 (struct type *desir for (i = 0; i < TYPE_N_BASECLASSES (search_type) && result_count < 2; ++i) { @@ -3585,7 +3565,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valops.c if (! BASETYPE_VIA_PUBLIC (search_type, i)) continue; -@@ -727,7 +728,8 @@ dynamic_cast_check_2 (struct type *desir +@@ -725,7 +726,8 @@ dynamic_cast_check_2 (struct type *desir struct value * value_dynamic_cast (struct type *type, struct value *arg) { @@ -3595,7 +3575,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valops.c struct type *resolved_type = check_typedef (type); struct type *arg_type = check_typedef (value_type (arg)); struct type *class_type, *rtti_type; -@@ -1007,7 +1009,7 @@ value_at_lazy (struct type *type, CORE_A +@@ -1005,7 +1007,7 @@ value_at_lazy (struct type *type, CORE_A } void @@ -3604,7 +3584,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valops.c int stack, CORE_ADDR memaddr, gdb_byte *buffer, size_t length) { -@@ -1157,7 +1159,7 @@ value_assign (struct value *toval, struc +@@ -1155,7 +1157,7 @@ value_assign (struct value *toval, struc { const gdb_byte *dest_buffer; CORE_ADDR changed_addr; @@ -3613,7 +3593,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valops.c gdb_byte buffer[sizeof (LONGEST)]; if (value_bitsize (toval)) -@@ -1236,7 +1238,7 @@ value_assign (struct value *toval, struc +@@ -1234,7 +1236,7 @@ value_assign (struct value *toval, struc if (value_bitsize (toval)) { struct value *parent = value_parent (toval); @@ -3622,7 +3602,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valops.c int changed_len; gdb_byte buffer[sizeof (LONGEST)]; int optim, unavail; -@@ -1716,7 +1718,7 @@ value_array (int lowbound, int highbound +@@ -1715,7 +1717,7 @@ value_array (int lowbound, int highbound { int nelem; int idx; @@ -3631,7 +3611,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valops.c struct value *val; struct type *arraytype; -@@ -1891,7 +1893,7 @@ typecmp (int staticp, int varargs, int n +@@ -1890,7 +1892,7 @@ typecmp (int staticp, int varargs, int n static void update_search_result (struct value **result_ptr, struct value *v, @@ -3640,7 +3620,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valops.c const char *name, struct type *type) { if (v != NULL) -@@ -1915,10 +1917,10 @@ update_search_result (struct value **res +@@ -1914,10 +1916,10 @@ update_search_result (struct value **res lookup is ambiguous. */ static void @@ -3653,7 +3633,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valops.c struct type *outermost_type) { int i; -@@ -1973,7 +1975,7 @@ do_search_struct_field (const char *name +@@ -1966,7 +1968,7 @@ do_search_struct_field (const char *name . */ struct value *v = NULL; @@ -3662,7 +3642,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valops.c /* This is pretty gross. In G++, the offset in an anonymous union is relative to the beginning of the -@@ -2012,7 +2014,7 @@ do_search_struct_field (const char *name +@@ -2005,7 +2007,7 @@ do_search_struct_field (const char *name && (strcmp_iw (name, TYPE_BASECLASS_NAME (type, i)) == 0)); @@ -3671,7 +3651,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valops.c if (BASETYPE_VIA_VIRTUAL (type, i)) { -@@ -2087,11 +2089,11 @@ do_search_struct_field (const char *name +@@ -2078,11 +2080,11 @@ do_search_struct_field (const char *name fields, look for a baseclass named NAME. */ static struct value * @@ -3685,7 +3665,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valops.c do_search_struct_field (name, arg1, offset, type, looking_for_baseclass, &result, &boffset, type); -@@ -2108,7 +2110,7 @@ search_struct_field (const char *name, s +@@ -2099,7 +2101,7 @@ search_struct_field (const char *name, s static struct value * search_struct_method (const char *name, struct value **arg1p, @@ -3694,7 +3674,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valops.c int *static_memfuncp, struct type *type) { int i; -@@ -2172,8 +2174,8 @@ search_struct_method (const char *name, +@@ -2163,8 +2165,8 @@ search_struct_method (const char *name, for (i = TYPE_N_BASECLASSES (type) - 1; i >= 0; i--) { @@ -3705,7 +3685,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valops.c if (BASETYPE_VIA_VIRTUAL (type, i)) { -@@ -2355,8 +2357,8 @@ value_struct_elt (struct value **argp, s +@@ -2391,8 +2393,8 @@ value_struct_elt_bitpos (struct value ** static struct fn_field * find_method_list (struct value **argp, const char *method, @@ -3716,7 +3696,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valops.c { int i; struct fn_field *f; -@@ -2389,7 +2391,7 @@ find_method_list (struct value **argp, c +@@ -2425,7 +2427,7 @@ find_method_list (struct value **argp, c /* Not found in object, check in base subobjects. */ for (i = TYPE_N_BASECLASSES (type) - 1; i >= 0; i--) { @@ -3725,7 +3705,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valops.c if (BASETYPE_VIA_VIRTUAL (type, i)) { -@@ -2425,7 +2427,7 @@ find_method_list (struct value **argp, c +@@ -2461,7 +2463,7 @@ find_method_list (struct value **argp, c static struct fn_field * value_find_oload_method_list (struct value **argp, const char *method, int offset, int *num_fns, @@ -3734,7 +3714,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valops.c { struct type *t; -@@ -2515,7 +2517,7 @@ find_overload_match (struct value **args +@@ -2551,7 +2553,7 @@ find_overload_match (struct value **args /* Number of overloaded instances being considered. */ int num_fns = 0; struct type *basetype = NULL; @@ -3743,7 +3723,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valops.c struct cleanup *all_cleanups = make_cleanup (null_cleanup, NULL); -@@ -3185,7 +3187,7 @@ compare_parameters (struct type *t1, str +@@ -3221,7 +3223,7 @@ compare_parameters (struct type *t1, str the form "DOMAIN::NAME". */ static struct value * @@ -3752,16 +3732,16 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valops.c struct type *curtype, char *name, struct type *intype, int want_address, -@@ -3222,7 +3224,7 @@ value_struct_elt_for_reference (struct t +@@ -3255,7 +3257,7 @@ value_struct_elt_for_reference (struct t if (want_address) return value_from_longest (lookup_memberptr_type (TYPE_FIELD_TYPE (t, i), domain), - offset + (LONGEST) (TYPE_FIELD_BITPOS (t, i) >> 3)); + offset + (TYPE_FIELD_BITPOS (t, i) >> 3)); - else if (noside == EVAL_AVOID_SIDE_EFFECTS) + else if (noside != EVAL_NORMAL) return allocate_value (TYPE_FIELD_TYPE (t, i)); else -@@ -3365,7 +3367,7 @@ value_struct_elt_for_reference (struct t +@@ -3423,7 +3425,7 @@ value_struct_elt_for_reference (struct t for (i = TYPE_N_BASECLASSES (t) - 1; i >= 0; i--) { struct value *v; @@ -3770,7 +3750,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valops.c if (BASETYPE_VIA_VIRTUAL (t, i)) base_offset = 0; -@@ -3455,7 +3457,7 @@ value_maybe_namespace_elt (const struct +@@ -3513,7 +3515,7 @@ value_maybe_namespace_elt (const struct struct type * value_rtti_indirect_type (struct value *v, int *full, @@ -3779,7 +3759,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valops.c { struct value *target; struct type *type, *real_type, *target_type; -@@ -3505,12 +3507,12 @@ value_rtti_indirect_type (struct value * +@@ -3563,12 +3565,12 @@ value_rtti_indirect_type (struct value * struct value * value_full_object (struct value *argp, struct type *rtype, @@ -3794,11 +3774,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valops.c int using_enc = 0; struct value *new_val; -Index: gdb-7.6.50.20130731-cvs/gdb/valprint.c +Index: gdb-7.6.90.20140127/gdb/valprint.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/valprint.c 2013-08-02 16:38:26.468292247 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/valprint.c 2013-08-02 16:38:32.376300761 +0200 -@@ -302,7 +302,7 @@ scalar_type_p (struct type *type) +--- gdb-7.6.90.20140127.orig/gdb/valprint.c 2014-02-06 18:07:54.383911138 +0100 ++++ gdb-7.6.90.20140127/gdb/valprint.c 2014-02-06 18:07:58.932916026 +0100 +@@ -302,7 +302,7 @@ val_print_scalar_type_p (struct type *ty int valprint_check_validity (struct ui_file *stream, struct type *type, @@ -3807,7 +3787,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valprint.c const struct value *val) { CHECK_TYPEDEF (type); -@@ -366,7 +366,7 @@ val_print_invalid_address (struct ui_fil +@@ -375,7 +375,7 @@ val_print_invalid_address (struct ui_fil void generic_val_print (struct type *type, const gdb_byte *valaddr, @@ -3816,7 +3796,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valprint.c struct ui_file *stream, int recurse, const struct value *original_value, const struct value_print_options *options, -@@ -728,7 +728,7 @@ generic_val_print (struct type *type, co +@@ -737,7 +737,7 @@ generic_val_print (struct type *type, co RECURSE. */ void @@ -3825,7 +3805,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valprint.c CORE_ADDR address, struct ui_file *stream, int recurse, const struct value *val, const struct value_print_options *options, -@@ -940,7 +940,7 @@ val_print_type_code_flags (struct type * +@@ -958,7 +958,7 @@ val_print_type_code_flags (struct type * void val_print_scalar_formatted (struct type *type, @@ -3834,7 +3814,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valprint.c const struct value *val, const struct value_print_options *options, int size, -@@ -1481,7 +1481,7 @@ print_decimal_chars (struct ui_file *str +@@ -1499,7 +1499,7 @@ print_decimal_chars (struct ui_file *str void print_hex_chars (struct ui_file *stream, const gdb_byte *valaddr, @@ -3843,7 +3823,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valprint.c { const gdb_byte *p; -@@ -1598,23 +1598,23 @@ maybe_print_array_index (struct type *in +@@ -1616,23 +1616,23 @@ maybe_print_array_index (struct type *in void val_print_array_elements (struct type *type, @@ -3873,7 +3853,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valprint.c LONGEST low_bound, high_bound; struct cleanup *back_to; CORE_ADDR saved_address = address; -@@ -1709,7 +1709,7 @@ val_print_array_elements (struct type *t +@@ -1727,7 +1727,7 @@ val_print_array_elements (struct type *t address, stream, recurse + 1, val, options, current_language); annotate_elt_rep (reps); @@ -3882,7 +3862,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valprint.c annotate_elt_rep_end (); i = rep1 - 1; -@@ -2360,7 +2360,7 @@ print_converted_chars_to_obstack (struct +@@ -2382,7 +2382,7 @@ print_converted_chars_to_obstack (struct void generic_printstr (struct ui_file *stream, struct type *type, @@ -3891,10 +3871,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valprint.c const char *encoding, int force_ellipses, int quote_char, int c_style_terminator, const struct value_print_options *options) -Index: gdb-7.6.50.20130731-cvs/gdb/valprint.h +Index: gdb-7.6.90.20140127/gdb/valprint.h =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/valprint.h 2013-08-02 16:38:26.469292248 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/valprint.h 2013-08-02 16:38:32.376300761 +0200 +--- gdb-7.6.90.20140127.orig/gdb/valprint.h 2014-02-06 18:07:54.384911139 +0100 ++++ gdb-7.6.90.20140127/gdb/valprint.h 2014-02-06 18:07:58.932916026 +0100 @@ -115,11 +115,11 @@ extern void maybe_print_array_index (str struct ui_file *stream, const struct value_print_options *); @@ -3927,7 +3907,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valprint.h extern void print_char_chars (struct ui_file *, struct type *, const gdb_byte *, unsigned int, enum bfd_endian); -@@ -190,7 +190,7 @@ struct generic_val_print_decorations +@@ -194,7 +194,7 @@ struct generic_val_print_decorations extern void generic_val_print (struct type *type, const gdb_byte *valaddr, @@ -3936,7 +3916,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valprint.h struct ui_file *stream, int recurse, const struct value *original_value, const struct value_print_options *options, -@@ -200,7 +200,7 @@ extern void generic_emit_char (int c, st +@@ -204,7 +204,7 @@ extern void generic_emit_char (int c, st int quoter, const char *encoding); extern void generic_printstr (struct ui_file *stream, struct type *type, @@ -3945,10 +3925,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/valprint.h const char *encoding, int force_ellipses, int quote_char, int c_style_terminator, const struct value_print_options *options); -Index: gdb-7.6.50.20130731-cvs/gdb/value.c +Index: gdb-7.6.90.20140127/gdb/value.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/value.c 2013-08-02 16:38:26.471292251 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/value.c 2013-08-02 16:41:13.105527483 +0200 +--- gdb-7.6.90.20140127.orig/gdb/value.c 2014-02-06 18:07:54.386911141 +0100 ++++ gdb-7.6.90.20140127/gdb/value.c 2014-02-06 18:10:39.376088625 +0100 @@ -69,10 +69,10 @@ struct internal_function struct range { @@ -3982,7 +3962,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.c { range_s what; int i; -@@ -241,7 +241,7 @@ struct value +@@ -246,7 +246,7 @@ struct value lval == lval_register, this is a further offset from location.address within the registers structure. Note also the member embedded_offset below. */ @@ -3991,7 +3971,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.c /* Only used for bitfields; number of bits contained in them. */ int bitsize; -@@ -311,8 +311,8 @@ struct value +@@ -316,8 +316,8 @@ struct value `type', and `embedded_offset' is zero, so everything works normally. */ struct type *enclosing_type; @@ -4002,17 +3982,17 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.c /* Values are stored in a chain, so that they can be deleted easily over calls to the inferior. Values assigned to internal -@@ -334,7 +334,8 @@ struct value - }; +@@ -348,7 +348,8 @@ value_bits_available (const struct value + } int -value_bytes_available (const struct value *value, int offset, int length) +value_bytes_available (const struct value *value, LONGEST offset, + LONGEST length) { - gdb_assert (!value->lazy); - -@@ -355,7 +356,8 @@ value_entirely_available (struct value * + return value_bits_available (value, + offset * TARGET_CHAR_BIT, +@@ -555,7 +556,8 @@ mark_value_bits_unavailable (struct valu } void @@ -4020,9 +4000,9 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.c +mark_value_bytes_unavailable (struct value *value, LONGEST offset, + LONGEST length) { - range_s newr; - int i; -@@ -526,7 +528,7 @@ mark_value_bytes_unavailable (struct val + mark_value_bits_unavailable (value, + offset * TARGET_CHAR_BIT, +@@ -569,7 +571,7 @@ mark_value_bytes_unavailable (struct val static int find_first_range_overlap (VEC(range_s) *ranges, int pos, @@ -4031,7 +4011,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.c { range_s *r; int i; -@@ -539,9 +541,9 @@ find_first_range_overlap (VEC(range_s) * +@@ -760,9 +762,9 @@ value_available_contents_bits_eq (const } int @@ -4042,9 +4022,9 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.c + const struct value *val2, LONGEST offset2, + LONGEST length) { - int idx1 = 0, idx2 = 0; - -@@ -767,13 +769,13 @@ deprecated_set_value_type (struct value + return value_available_contents_bits_eq (val1, offset1 * TARGET_CHAR_BIT, + val2, offset2 * TARGET_CHAR_BIT, +@@ -927,13 +929,13 @@ deprecated_set_value_type (struct value value->type = type; } @@ -4060,7 +4040,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.c { value->offset = offset; } -@@ -932,8 +934,9 @@ value_contents_all (struct value *value) +@@ -1103,8 +1105,9 @@ value_contents_all (struct value *value) DST_OFFSET+LENGTH) range are wholly available. */ void @@ -4072,7 +4052,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.c { range_s *r; int i; -@@ -981,8 +984,8 @@ value_contents_copy_raw (struct value *d +@@ -1156,8 +1159,8 @@ value_contents_copy_raw (struct value *d DST_OFFSET+LENGTH) range are wholly available. */ void @@ -4083,7 +4063,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.c { require_not_optimized_out (src); -@@ -1087,7 +1090,7 @@ value_entirely_optimized_out (const stru +@@ -1262,7 +1265,7 @@ value_entirely_optimized_out (const stru } int @@ -4092,7 +4072,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.c { if (!value->optimized_out) return 1; -@@ -1100,7 +1103,7 @@ value_bits_valid (const struct value *va +@@ -1275,7 +1278,7 @@ value_bits_valid (const struct value *va int value_bits_synthetic_pointer (const struct value *value, @@ -4101,7 +4081,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.c { if (value->lval != lval_computed || !value->location.computed.funcs->check_synthetic_pointer) -@@ -1110,26 +1113,26 @@ value_bits_synthetic_pointer (const stru +@@ -1285,26 +1288,26 @@ value_bits_synthetic_pointer (const stru length); } @@ -4132,7 +4112,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.c { value->pointed_to_offset = val; } -@@ -1982,7 +1985,7 @@ get_internalvar_function (struct interna +@@ -2157,7 +2160,7 @@ get_internalvar_function (struct interna } void @@ -4141,7 +4121,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.c int bitsize, struct value *newval) { gdb_byte *addr; -@@ -2689,7 +2692,7 @@ set_value_enclosing_type (struct value * +@@ -2863,7 +2866,7 @@ set_value_enclosing_type (struct value * FIELDNO says which field. */ struct value * @@ -4150,7 +4130,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.c int fieldno, struct type *arg_type) { struct value *v; -@@ -2717,7 +2720,7 @@ value_primitive_field (struct value *arg +@@ -2891,7 +2894,7 @@ value_primitive_field (struct value *arg bit. Assume that the address, offset, and embedded offset are sufficiently aligned. */ @@ -4159,7 +4139,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.c int container_bitsize = TYPE_LENGTH (type) * 8; if (arg1->optimized_out) -@@ -2744,7 +2747,7 @@ value_primitive_field (struct value *arg +@@ -2918,7 +2921,7 @@ value_primitive_field (struct value *arg /* This field is actually a base subobject, so preserve the entire object's contents for later references to virtual bases, etc. */ @@ -4168,7 +4148,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.c /* Lazy register values with offsets are not supported. */ if (VALUE_LVAL (arg1) == lval_register && value_lazy (arg1)) -@@ -2834,7 +2837,7 @@ value_field (struct value *arg1, int fie +@@ -3008,7 +3011,7 @@ value_field (struct value *arg1, int fie struct value * value_fn_field (struct value **arg1p, struct fn_field *f, int j, struct type *type, @@ -4177,7 +4157,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.c { struct value *v; struct type *ftype = TYPE_FN_FIELD_TYPE (f, j); -@@ -2894,8 +2897,8 @@ value_fn_field (struct value **arg1p, st +@@ -3068,8 +3071,8 @@ value_fn_field (struct value **arg1p, st static int unpack_value_bits_as_long_1 (struct type *field_type, const gdb_byte *valaddr, @@ -4188,7 +4168,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.c LONGEST *result) { enum bfd_endian byte_order = gdbarch_byte_order (get_type_arch (field_type)); -@@ -2903,7 +2906,7 @@ unpack_value_bits_as_long_1 (struct type +@@ -3077,7 +3080,7 @@ unpack_value_bits_as_long_1 (struct type ULONGEST valmask; int lsbcount; int bytes_read; @@ -4197,7 +4177,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.c /* Read the minimum number of bytes required; there may not be enough bytes to read an entire ULONGEST. */ -@@ -2973,7 +2976,7 @@ unpack_value_bits_as_long_1 (struct type +@@ -3147,7 +3150,7 @@ unpack_value_bits_as_long_1 (struct type int unpack_value_bits_as_long (struct type *field_type, const gdb_byte *valaddr, @@ -4206,7 +4186,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.c const struct value *original_value, LONGEST *result) { -@@ -2991,10 +2994,10 @@ unpack_value_bits_as_long (struct type * +@@ -3165,10 +3168,10 @@ unpack_value_bits_as_long (struct type * static int unpack_value_field_as_long_1 (struct type *type, const gdb_byte *valaddr, @@ -4219,7 +4199,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.c int bitsize = TYPE_FIELD_BITSIZE (type, fieldno); struct type *field_type = TYPE_FIELD_TYPE (type, fieldno); -@@ -3010,7 +3013,7 @@ unpack_value_field_as_long_1 (struct typ +@@ -3184,7 +3187,7 @@ unpack_value_field_as_long_1 (struct typ int unpack_value_field_as_long (struct type *type, const gdb_byte *valaddr, @@ -4228,7 +4208,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.c const struct value *val, LONGEST *result) { gdb_assert (val != NULL); -@@ -3042,7 +3045,7 @@ unpack_field_as_long (struct type *type, +@@ -3216,7 +3219,7 @@ unpack_field_as_long (struct type *type, struct value * value_field_bitfield (struct type *type, int fieldno, const gdb_byte *valaddr, @@ -4237,7 +4217,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.c { LONGEST l; -@@ -3069,12 +3072,12 @@ value_field_bitfield (struct type *type, +@@ -3243,12 +3246,12 @@ value_field_bitfield (struct type *type, void modify_field (struct type *type, gdb_byte *addr, @@ -4252,10 +4232,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.c /* Normalize BITPOS. */ addr += bitpos / 8; -Index: gdb-7.6.50.20130731-cvs/gdb/value.h +Index: gdb-7.6.90.20140127/gdb/value.h =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/value.h 2013-08-02 16:38:26.472292253 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/value.h 2013-08-02 16:39:15.721362577 +0200 +--- gdb-7.6.90.20140127.orig/gdb/value.h 2014-02-06 18:07:54.387911142 +0100 ++++ gdb-7.6.90.20140127/gdb/value.h 2014-02-06 18:09:23.064006360 +0100 @@ -82,8 +82,8 @@ extern void set_value_parent (struct val within the registers structure. Note also the member embedded_offset below. */ @@ -4310,7 +4290,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.h const struct value *val); extern struct value *allocate_optimized_out_value (struct type *type); -@@ -415,13 +416,13 @@ extern struct value *coerce_array (struc +@@ -420,13 +421,13 @@ extern struct value *coerce_array (struc bits in the given range are valid, zero if any bit is invalid. */ extern int value_bits_valid (const struct value *value, @@ -4326,25 +4306,25 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.h /* Given a value, determine whether the contents bytes starting at OFFSET and extending for LENGTH bytes are available. This returns -@@ -429,7 +430,7 @@ extern int value_bits_synthetic_pointer +@@ -434,7 +435,7 @@ extern int value_bits_synthetic_pointer byte is unavailable. */ extern int value_bytes_available (const struct value *value, - int offset, int length); + LONGEST offset, LONGEST length); - /* Like value_bytes_available, but return false if any byte in the - whole object is unavailable. */ -@@ -439,7 +440,7 @@ extern int value_entirely_available (str + /* Given a value, determine whether the contents bits starting at + OFFSET and extending for LENGTH bits are available. This returns +@@ -456,7 +457,7 @@ extern int value_entirely_unavailable (s LENGTH bytes as unavailable. */ extern void mark_value_bytes_unavailable (struct value *value, - int offset, int length); + LONGEST offset, LONGEST length); - /* Compare LENGTH bytes of VAL1's contents starting at OFFSET1 with - LENGTH bytes of VAL2's contents starting at OFFSET2. -@@ -449,7 +450,7 @@ extern void mark_value_bytes_unavailable + /* Mark VALUE's content bits starting at OFFSET and extending for + LENGTH bits as unavailable. */ +@@ -472,7 +473,7 @@ extern void mark_value_bits_unavailable example, to compare a complete object value with itself, including its enclosing type chunk, you'd do: @@ -4353,7 +4333,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.h value_available_contents (val, 0, val, 0, len); Returns true iff the set of available contents match. Unavailable -@@ -476,9 +477,9 @@ extern void mark_value_bytes_unavailable +@@ -499,9 +500,9 @@ extern void mark_value_bits_unavailable gone, it works with const values. Therefore, this routine must not be called with lazy values. */ @@ -4366,7 +4346,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.h /* Read LENGTH bytes of memory starting at MEMADDR into BUFFER, which is (or will be copied to) VAL's contents buffer offset by -@@ -487,7 +488,7 @@ extern int value_available_contents_eq ( +@@ -510,7 +511,7 @@ extern int value_available_contents_eq ( memory is likewise unavailable. STACK indicates whether the memory is known to be stack memory. */ @@ -4375,7 +4355,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.h int stack, CORE_ADDR memaddr, gdb_byte *buffer, size_t length); -@@ -521,7 +522,7 @@ extern CORE_ADDR unpack_pointer (struct +@@ -544,7 +545,7 @@ extern CORE_ADDR unpack_pointer (struct extern int unpack_value_bits_as_long (struct type *field_type, const gdb_byte *valaddr, @@ -4384,7 +4364,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.h int bitsize, const struct value *original_value, LONGEST *result); -@@ -530,12 +531,12 @@ extern LONGEST unpack_field_as_long (str +@@ -553,12 +554,12 @@ extern LONGEST unpack_field_as_long (str const gdb_byte *valaddr, int fieldno); extern int unpack_value_field_as_long (struct type *type, const gdb_byte *valaddr, @@ -4399,10 +4379,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.h const struct value *val); extern void pack_long (gdb_byte *buf, struct type *type, LONGEST num); -@@ -594,12 +595,12 @@ extern struct value *default_read_var_va +@@ -616,12 +617,12 @@ extern struct value *default_read_var_va + extern struct value *allocate_value (struct type *type); extern struct value *allocate_value_lazy (struct type *type); - extern void allocate_value_contents (struct value *value); -extern void value_contents_copy (struct value *dst, int dst_offset, - struct value *src, int src_offset, - int length); @@ -4418,7 +4398,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.h extern struct value *allocate_repeat_value (struct type *type, int count); -@@ -671,16 +672,16 @@ extern int find_overload_match (struct v +@@ -698,16 +699,16 @@ extern int find_overload_match (struct v extern struct value *value_field (struct value *arg1, int fieldno); @@ -4438,7 +4418,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.h extern struct value *value_cast_pointers (struct type *, struct value *, int); -@@ -774,7 +775,7 @@ extern void set_internalvar_string (stru +@@ -802,7 +803,7 @@ extern void set_internalvar_string (stru extern void clear_internalvar (struct internalvar *var); extern void set_internalvar_component (struct internalvar *var, @@ -4447,7 +4427,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.h int bitpos, int bitsize, struct value *newvalue); -@@ -856,7 +857,7 @@ extern struct value *value_x_unop (struc +@@ -883,7 +884,7 @@ extern struct value *value_x_unop (struc enum noside noside); extern struct value *value_fn_field (struct value **arg1p, struct fn_field *f, @@ -4456,7 +4436,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.h extern int binop_types_user_defined_p (enum exp_opcode op, struct type *type1, -@@ -884,7 +885,8 @@ extern void release_value_or_incref (str +@@ -911,7 +912,8 @@ extern void release_value_or_incref (str extern int record_latest_value (struct value *val); extern void modify_field (struct type *type, gdb_byte *addr, @@ -4466,7 +4446,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.h extern void type_print (struct type *type, const char *varstring, struct ui_file *stream, int show); -@@ -914,7 +916,7 @@ extern void value_print_array_elements ( +@@ -941,7 +943,7 @@ extern void value_print_array_elements ( extern struct value *value_release_to_mark (struct value *mark); extern void val_print (struct type *type, const gdb_byte *valaddr, @@ -4475,7 +4455,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/value.h struct ui_file *stream, int recurse, const struct value *val, const struct value_print_options *options, -@@ -963,10 +965,11 @@ extern struct value *value_literal_compl +@@ -990,10 +992,11 @@ extern struct value *value_literal_compl extern struct value *find_function_in_inferior (const char *, struct objfile **); diff --git a/gdb-rhbz795424-bitpos-21of25.patch b/gdb-rhbz795424-bitpos-21of25.patch index 6c11ca8..ab286a5 100644 --- a/gdb-rhbz795424-bitpos-21of25.patch +++ b/gdb-rhbz795424-bitpos-21of25.patch @@ -52,10 +52,10 @@ Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=bitpos-ensure-size_t.patch -Index: gdb-7.5.50.20130118/gdb/alpha-tdep.c +Index: gdb-7.6.90.20140127/gdb/alpha-tdep.c =================================================================== ---- gdb-7.5.50.20130118.orig/gdb/alpha-tdep.c 2013-01-18 23:33:59.277047324 +0100 -+++ gdb-7.5.50.20130118/gdb/alpha-tdep.c 2013-01-18 23:34:02.678051846 +0100 +--- gdb-7.6.90.20140127.orig/gdb/alpha-tdep.c 2014-02-06 18:18:51.005616676 +0100 ++++ gdb-7.6.90.20140127/gdb/alpha-tdep.c 2014-02-06 18:18:53.671621349 +0100 @@ -414,6 +414,13 @@ alpha_push_dummy_call (struct gdbarch *g accumulate_size = 0; else @@ -70,11 +70,11 @@ Index: gdb-7.5.50.20130118/gdb/alpha-tdep.c sp -= accumulate_size; /* Keep sp aligned to a multiple of 16 as the ABI requires. */ -Index: gdb-7.5.50.20130118/gdb/cp-valprint.c +Index: gdb-7.6.90.20140127/gdb/cp-valprint.c =================================================================== ---- gdb-7.5.50.20130118.orig/gdb/cp-valprint.c 2013-01-18 23:33:59.278047326 +0100 -+++ gdb-7.5.50.20130118/gdb/cp-valprint.c 2013-01-18 23:34:02.679051848 +0100 -@@ -540,6 +540,8 @@ cp_print_value (struct type *type, struc +--- gdb-7.6.90.20140127.orig/gdb/cp-valprint.c 2014-02-06 18:18:51.006616677 +0100 ++++ gdb-7.6.90.20140127/gdb/cp-valprint.c 2014-02-06 18:18:53.671621349 +0100 +@@ -537,6 +537,8 @@ cp_print_value (struct type *type, struc gdb_byte *buf; struct cleanup *back_to; @@ -83,11 +83,11 @@ Index: gdb-7.5.50.20130118/gdb/cp-valprint.c buf = xmalloc (TYPE_LENGTH (baseclass)); back_to = make_cleanup (xfree, buf); -Index: gdb-7.5.50.20130118/gdb/dwarf2loc.c +Index: gdb-7.6.90.20140127/gdb/dwarf2loc.c =================================================================== ---- gdb-7.5.50.20130118.orig/gdb/dwarf2loc.c 2013-01-18 23:33:59.280047332 +0100 -+++ gdb-7.5.50.20130118/gdb/dwarf2loc.c 2013-01-18 23:34:02.680051851 +0100 -@@ -1784,6 +1784,8 @@ read_pieced_value (struct value *v) +--- gdb-7.6.90.20140127.orig/gdb/dwarf2loc.c 2014-02-06 18:18:51.007616678 +0100 ++++ gdb-7.6.90.20140127/gdb/dwarf2loc.c 2014-02-06 18:18:53.672621293 +0100 +@@ -1821,6 +1821,8 @@ read_pieced_value (struct value *v) this_size = (this_size_bits + source_offset_bits % 8 + 7) / 8; source_offset = source_offset_bits / 8; @@ -96,7 +96,7 @@ Index: gdb-7.5.50.20130118/gdb/dwarf2loc.c if (buffer_size < this_size) { buffer_size = this_size; -@@ -1975,6 +1977,7 @@ write_pieced_value (struct value *to, st +@@ -2012,6 +2014,7 @@ write_pieced_value (struct value *to, st } else { @@ -104,11 +104,11 @@ Index: gdb-7.5.50.20130118/gdb/dwarf2loc.c if (buffer_size < this_size) { buffer_size = this_size; -Index: gdb-7.5.50.20130118/gdb/findcmd.c +Index: gdb-7.6.90.20140127/gdb/findcmd.c =================================================================== ---- gdb-7.5.50.20130118.orig/gdb/findcmd.c 2013-01-18 23:33:59.280047332 +0100 -+++ gdb-7.5.50.20130118/gdb/findcmd.c 2013-01-18 23:34:02.680051851 +0100 -@@ -187,6 +187,7 @@ parse_find_args (char *args, ULONGEST *m +--- gdb-7.6.90.20140127.orig/gdb/findcmd.c 2014-02-06 18:18:51.008616679 +0100 ++++ gdb-7.6.90.20140127/gdb/findcmd.c 2014-02-06 18:18:53.673621239 +0100 +@@ -185,6 +185,7 @@ parse_find_args (char *args, ULONGEST *m size_t current_offset = pattern_buf_end - pattern_buf; pattern_buf_size = pattern_buf_size_need * 2; @@ -116,11 +116,11 @@ Index: gdb-7.5.50.20130118/gdb/findcmd.c pattern_buf = xrealloc (pattern_buf, pattern_buf_size); pattern_buf_end = pattern_buf + current_offset; } -Index: gdb-7.5.50.20130118/gdb/p-valprint.c +Index: gdb-7.6.90.20140127/gdb/p-valprint.c =================================================================== ---- gdb-7.5.50.20130118.orig/gdb/p-valprint.c 2013-01-18 23:33:59.281047334 +0100 -+++ gdb-7.5.50.20130118/gdb/p-valprint.c 2013-01-18 23:34:02.680051851 +0100 -@@ -797,6 +797,7 @@ pascal_object_print_value (struct type * +--- gdb-7.6.90.20140127.orig/gdb/p-valprint.c 2014-02-06 18:18:51.008616679 +0100 ++++ gdb-7.6.90.20140127/gdb/p-valprint.c 2014-02-06 18:18:53.673621239 +0100 +@@ -798,6 +798,7 @@ pascal_object_print_value (struct type * gdb_byte *buf; struct cleanup *back_to; @@ -128,11 +128,11 @@ Index: gdb-7.5.50.20130118/gdb/p-valprint.c buf = xmalloc (TYPE_LENGTH (baseclass)); back_to = make_cleanup (xfree, buf); -Index: gdb-7.5.50.20130118/gdb/utils.c +Index: gdb-7.6.90.20140127/gdb/utils.c =================================================================== ---- gdb-7.5.50.20130118.orig/gdb/utils.c 2013-01-18 23:33:59.282047336 +0100 -+++ gdb-7.5.50.20130118/gdb/utils.c 2013-01-18 23:34:02.681051854 +0100 -@@ -3219,6 +3219,18 @@ host_address_to_string (const void *addr +--- gdb-7.6.90.20140127.orig/gdb/utils.c 2014-02-06 18:18:51.008616679 +0100 ++++ gdb-7.6.90.20140127/gdb/utils.c 2014-02-06 18:18:53.674621186 +0100 +@@ -3169,6 +3169,18 @@ host_address_to_string (const void *addr return str; } @@ -151,11 +151,11 @@ Index: gdb-7.5.50.20130118/gdb/utils.c char * gdb_realpath (const char *filename) { -Index: gdb-7.5.50.20130118/gdb/valops.c +Index: gdb-7.6.90.20140127/gdb/valops.c =================================================================== ---- gdb-7.5.50.20130118.orig/gdb/valops.c 2013-01-18 23:33:59.283047338 +0100 -+++ gdb-7.5.50.20130118/gdb/valops.c 2013-01-18 23:34:02.682051856 +0100 -@@ -2369,6 +2369,7 @@ search_struct_method (const char *name, +--- gdb-7.6.90.20140127.orig/gdb/valops.c 2014-02-06 18:18:51.009616680 +0100 ++++ gdb-7.6.90.20140127/gdb/valops.c 2014-02-06 18:18:53.675621135 +0100 +@@ -2184,6 +2184,7 @@ search_struct_method (const char *name, struct cleanup *back_to; CORE_ADDR address; @@ -163,11 +163,11 @@ Index: gdb-7.5.50.20130118/gdb/valops.c tmp = xmalloc (TYPE_LENGTH (baseclass)); back_to = make_cleanup (xfree, tmp); address = value_address (*arg1p); -Index: gdb-7.5.50.20130118/gdb/value.c +Index: gdb-7.6.90.20140127/gdb/value.c =================================================================== ---- gdb-7.5.50.20130118.orig/gdb/value.c 2013-01-18 23:33:59.285047342 +0100 -+++ gdb-7.5.50.20130118/gdb/value.c 2013-01-18 23:34:02.683051858 +0100 -@@ -663,6 +663,7 @@ allocate_value_lazy (struct type *type) +--- gdb-7.6.90.20140127.orig/gdb/value.c 2014-02-06 18:18:51.010616681 +0100 ++++ gdb-7.6.90.20140127/gdb/value.c 2014-02-06 18:19:10.261637398 +0100 +@@ -822,6 +822,7 @@ allocate_value_lazy (struct type *type) description correctly. */ check_typedef (type); @@ -175,8 +175,8 @@ Index: gdb-7.5.50.20130118/gdb/value.c val = (struct value *) xzalloc (sizeof (struct value)); val->contents = NULL; val->next = all_values; -@@ -694,6 +695,8 @@ allocate_value_lazy (struct type *type) - void +@@ -853,6 +854,8 @@ allocate_value_lazy (struct type *type) + static void allocate_value_contents (struct value *val) { + ulongest_fits_host_or_error (TYPE_LENGTH (val->enclosing_type)); @@ -184,7 +184,7 @@ Index: gdb-7.5.50.20130118/gdb/value.c if (!val->contents) val->contents = (gdb_byte *) xzalloc (TYPE_LENGTH (val->enclosing_type)); } -@@ -2672,8 +2675,12 @@ void +@@ -2854,8 +2857,12 @@ void set_value_enclosing_type (struct value *val, struct type *new_encl_type) { if (TYPE_LENGTH (new_encl_type) > TYPE_LENGTH (value_enclosing_type (val))) @@ -199,10 +199,10 @@ Index: gdb-7.5.50.20130118/gdb/value.c val->enclosing_type = new_encl_type; } -Index: gdb-7.5.50.20130118/gdb/vax-tdep.c +Index: gdb-7.6.90.20140127/gdb/vax-tdep.c =================================================================== ---- gdb-7.5.50.20130118.orig/gdb/vax-tdep.c 2013-01-18 23:34:02.683051858 +0100 -+++ gdb-7.5.50.20130118/gdb/vax-tdep.c 2013-01-18 23:34:34.950094198 +0100 +--- gdb-7.6.90.20140127.orig/gdb/vax-tdep.c 2014-02-06 18:18:51.370617068 +0100 ++++ gdb-7.6.90.20140127/gdb/vax-tdep.c 2014-02-06 18:18:53.676621086 +0100 @@ -223,6 +223,7 @@ vax_return_value (struct gdbarch *gdbarc ULONGEST addr; @@ -211,11 +211,11 @@ Index: gdb-7.5.50.20130118/gdb/vax-tdep.c read_memory (addr, readbuf, len); } -Index: gdb-7.5.50.20130118/gdb/defs.h +Index: gdb-7.6.90.20140127/gdb/defs.h =================================================================== ---- gdb-7.5.50.20130118.orig/gdb/defs.h 2013-01-18 23:34:02.684051860 +0100 -+++ gdb-7.5.50.20130118/gdb/defs.h 2013-01-18 23:34:14.238067193 +0100 -@@ -801,4 +801,6 @@ enum block_enum +--- gdb-7.6.90.20140127.orig/gdb/defs.h 2014-02-06 18:18:51.370617068 +0100 ++++ gdb-7.6.90.20140127/gdb/defs.h 2014-02-06 18:18:53.677621038 +0100 +@@ -768,4 +768,6 @@ enum block_enum #include "utils.h" diff --git a/gdb-rhbz795424-bitpos-22of25.patch b/gdb-rhbz795424-bitpos-22of25.patch index 0962a7b..0e0a007 100644 --- a/gdb-rhbz795424-bitpos-22of25.patch +++ b/gdb-rhbz795424-bitpos-22of25.patch @@ -71,7 +71,7 @@ gdb/ChangeLog: (remote_remove_watchpoint): Likewise. (remote_watchpoint_addr_within_range): Expand parameter LENGTH to LONGEST. - * s390-nat.c (s390_insert_watchpoint): Expand parameter LEN to + * s390-linux-nat.c (s390_insert_watchpoint): Expand parameter LEN to LONGEST. (s390_remove_watchpoint): Likewise. * target.c (update_current_target): Expand parameter LEN for @@ -493,10 +493,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/remote.c putpkt (rs->buf); getpkt (&rs->buf, &rs->buf_size, 0); -Index: gdb-7.6.50.20130731-cvs/gdb/s390-nat.c +Index: gdb-7.6.50.20130731-cvs/gdb/s390-linux-nat.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/s390-nat.c 2013-08-02 16:42:29.578632913 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/s390-nat.c 2013-08-02 16:42:34.103639116 +0200 +--- gdb-7.6.50.20130731-cvs.orig/gdb/s390-linux-nat.c 2013-08-02 16:42:29.578632913 +0200 ++++ gdb-7.6.50.20130731-cvs/gdb/s390-linux-nat.c 2013-08-02 16:42:34.103639116 +0200 @@ -516,7 +516,7 @@ s390_fix_watch_points (struct lwp_info * } diff --git a/gdb-rhbz795424-bitpos-23of25.patch b/gdb-rhbz795424-bitpos-23of25.patch index 2600651..dd49926 100644 --- a/gdb-rhbz795424-bitpos-23of25.patch +++ b/gdb-rhbz795424-bitpos-23of25.patch @@ -96,7 +96,7 @@ gdb/ChangeLog LEN to LONGEST. (ran_out_of_registers_for_arguments): Expand SPACE, JJ to LONGEST. - * s390-tdep.c (s390_value_from_register): Expand LEN to LONGEST. + * s390-linux-tdep.c (s390_value_from_register): Expand LEN to LONGEST. (is_power_of_two): Expand parameter N to ULONGEST. (s390_push_dummy_call): Expand LENGTH to ULONGEST. * score-tdep.c (score_push_dummy_call): Expand ARGLEN to @@ -137,10 +137,10 @@ Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=bitpos-tdep.patch -Index: gdb-7.6.50.20130731-cvs/gdb/alpha-tdep.c +Index: gdb-7.6.90.20140127/gdb/alpha-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/alpha-tdep.c 2013-08-02 16:43:01.128676094 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/alpha-tdep.c 2013-08-02 16:43:04.723681004 +0200 +--- gdb-7.6.90.20140127.orig/gdb/alpha-tdep.c 2014-02-06 18:20:52.970747716 +0100 ++++ gdb-7.6.90.20140127/gdb/alpha-tdep.c 2014-02-06 18:20:57.294752362 +0100 @@ -299,18 +299,18 @@ alpha_push_dummy_call (struct gdbarch *g { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); @@ -184,22 +184,22 @@ Index: gdb-7.6.50.20130731-cvs/gdb/alpha-tdep.c memcpy (arg_reg_buffer + offset, contents, tlen); offset += tlen; contents += tlen; -Index: gdb-7.6.50.20130731-cvs/gdb/amd64-tdep.c +Index: gdb-7.6.90.20140127/gdb/amd64-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/amd64-tdep.c 2013-08-02 16:43:01.130676097 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/amd64-tdep.c 2013-08-02 16:43:04.724681006 +0200 -@@ -616,7 +616,7 @@ amd64_return_value (struct gdbarch *gdba +--- gdb-7.6.90.20140127.orig/gdb/amd64-tdep.c 2014-02-06 18:20:52.972747718 +0100 ++++ gdb-7.6.90.20140127/gdb/amd64-tdep.c 2014-02-06 18:21:51.106810814 +0100 +@@ -633,7 +633,7 @@ amd64_return_value (struct gdbarch *gdba + gdb_byte *readbuf, const gdb_byte *writebuf) { - struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); enum amd64_reg_class class[2]; - int len = TYPE_LENGTH (type); + LONGEST len = TYPE_LENGTH (type); static int integer_regnum[] = { AMD64_RAX_REGNUM, AMD64_RDX_REGNUM }; static int sse_regnum[] = { AMD64_XMM0_REGNUM, AMD64_XMM1_REGNUM }; int integer_reg = 0; -@@ -769,8 +769,8 @@ amd64_push_arguments (struct regcache *r - that register number (or a negative value otherwise). */ - int *arg_addr_regno = alloca (nargs * sizeof (int)); +@@ -784,8 +784,8 @@ amd64_push_arguments (struct regcache *r + }; + struct value **stack_args = alloca (nargs * sizeof (struct value *)); int num_stack_args = 0; - int num_elements = 0; - int element = 0; @@ -208,7 +208,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/amd64-tdep.c int integer_reg = 0; int sse_reg = 0; int i; -@@ -784,7 +784,7 @@ amd64_push_arguments (struct regcache *r +@@ -797,7 +797,7 @@ amd64_push_arguments (struct regcache *r for (i = 0; i < nargs; i++) { struct type *type = value_type (args[i]); @@ -217,11 +217,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/amd64-tdep.c enum amd64_reg_class class[2]; int needed_integer_regs = 0; int needed_sse_regs = 0; -Index: gdb-7.6.50.20130731-cvs/gdb/amd64-windows-tdep.c +Index: gdb-7.6.90.20140127/gdb/amd64-windows-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/amd64-windows-tdep.c 2013-08-02 16:43:01.135676104 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/amd64-windows-tdep.c 2013-08-02 16:43:04.724681006 +0200 -@@ -79,7 +79,7 @@ amd64_windows_return_value (struct gdbar +--- gdb-7.6.90.20140127.orig/gdb/amd64-windows-tdep.c 2014-02-06 18:20:52.973747720 +0100 ++++ gdb-7.6.90.20140127/gdb/amd64-windows-tdep.c 2014-02-06 18:20:57.296752364 +0100 +@@ -288,7 +288,7 @@ amd64_windows_return_value (struct gdbar struct type *type, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf) { @@ -230,10 +230,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/amd64-windows-tdep.c int regnum = -1; /* See if our value is returned through a register. If it is, then -Index: gdb-7.6.50.20130731-cvs/gdb/arm-tdep.c +Index: gdb-7.6.90.20140127/gdb/arm-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/arm-tdep.c 2013-08-02 16:43:01.140676110 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/arm-tdep.c 2013-08-02 16:43:04.727681010 +0200 +--- gdb-7.6.90.20140127.orig/gdb/arm-tdep.c 2014-02-06 18:20:52.978747725 +0100 ++++ gdb-7.6.90.20140127/gdb/arm-tdep.c 2014-02-06 18:20:57.299752367 +0100 @@ -3498,7 +3498,7 @@ arm_vfp_cprc_reg_char (enum arm_vfp_cprc array). Vectors and complex types are not currently supported, matching the generic AAPCS support. */ @@ -308,11 +308,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/arm-tdep.c struct type *arg_type; struct type *target_type; enum type_code typecode; -Index: gdb-7.6.50.20130731-cvs/gdb/avr-tdep.c +Index: gdb-7.6.90.20140127/gdb/avr-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/avr-tdep.c 2013-08-02 16:43:01.142676113 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/avr-tdep.c 2013-08-02 16:43:04.728681011 +0200 -@@ -1170,13 +1170,14 @@ avr_dummy_id (struct gdbarch *gdbarch, s +--- gdb-7.6.90.20140127.orig/gdb/avr-tdep.c 2014-02-06 18:20:52.980747727 +0100 ++++ gdb-7.6.90.20140127/gdb/avr-tdep.c 2014-02-06 18:20:57.299752367 +0100 +@@ -1167,13 +1167,14 @@ avr_dummy_id (struct gdbarch *gdbarch, s struct stack_item { @@ -329,7 +329,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/avr-tdep.c { struct stack_item *si; si = xmalloc (sizeof (struct stack_item)); -@@ -1265,12 +1266,12 @@ avr_push_dummy_call (struct gdbarch *gdb +@@ -1262,12 +1263,12 @@ avr_push_dummy_call (struct gdbarch *gdb for (i = 0; i < nargs; i++) { @@ -345,10 +345,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/avr-tdep.c /* Calculate the potential last register needed. */ last_regnum = regnum - (len + (len & 1)); -Index: gdb-7.6.50.20130731-cvs/gdb/bfin-tdep.c +Index: gdb-7.6.90.20140127/gdb/bfin-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/bfin-tdep.c 2013-08-02 16:43:01.142676113 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/bfin-tdep.c 2013-08-02 16:43:04.728681011 +0200 +--- gdb-7.6.90.20140127.orig/gdb/bfin-tdep.c 2014-02-06 18:20:52.980747727 +0100 ++++ gdb-7.6.90.20140127/gdb/bfin-tdep.c 2014-02-06 18:20:57.300752368 +0100 @@ -506,7 +506,7 @@ bfin_push_dummy_call (struct gdbarch *gd gdb_byte buf[4]; int i; @@ -367,11 +367,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/bfin-tdep.c sp -= container_len; write_memory (sp, value_contents_writeable (args[i]), container_len); -Index: gdb-7.6.50.20130731-cvs/gdb/cris-tdep.c +Index: gdb-7.6.90.20140127/gdb/cris-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/cris-tdep.c 2013-08-02 16:43:04.729681012 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/cris-tdep.c 2013-08-02 16:52:28.316491561 +0200 -@@ -670,13 +670,13 @@ static CORE_ADDR cris_unwind_sp (struct +--- gdb-7.6.90.20140127.orig/gdb/cris-tdep.c 2014-02-06 18:20:52.981747728 +0100 ++++ gdb-7.6.90.20140127/gdb/cris-tdep.c 2014-02-06 18:20:57.301752369 +0100 +@@ -665,13 +665,13 @@ static CORE_ADDR cris_unwind_sp (struct struct stack_item { @@ -387,7 +387,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/cris-tdep.c { struct stack_item *si; si = xmalloc (sizeof (struct stack_item)); -@@ -849,13 +849,13 @@ cris_push_dummy_call (struct gdbarch *gd +@@ -844,13 +844,13 @@ cris_push_dummy_call (struct gdbarch *gd for (argnum = 0; argnum < nargs; argnum++) { @@ -405,10 +405,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/cris-tdep.c /* How may registers worth of storage do we need for this argument? */ reg_demand = (len / 4) + (len % 4 != 0 ? 1 : 0); -Index: gdb-7.6.50.20130731-cvs/gdb/h8300-tdep.c +Index: gdb-7.6.90.20140127/gdb/h8300-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/h8300-tdep.c 2013-08-02 16:43:01.144676116 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/h8300-tdep.c 2013-08-02 16:43:04.730681014 +0200 +--- gdb-7.6.90.20140127.orig/gdb/h8300-tdep.c 2014-02-06 18:20:52.981747728 +0100 ++++ gdb-7.6.90.20140127/gdb/h8300-tdep.c 2014-02-06 18:20:57.301752369 +0100 @@ -640,7 +640,7 @@ h8300_push_dummy_call (struct gdbarch *g int struct_return, CORE_ADDR struct_addr) { @@ -441,10 +441,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/h8300-tdep.c for (offset = 0; offset < padded_len; offset += wordsize) { -Index: gdb-7.6.50.20130731-cvs/gdb/hppa-tdep.c +Index: gdb-7.6.90.20140127/gdb/hppa-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/hppa-tdep.c 2013-08-02 16:43:01.145676117 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/hppa-tdep.c 2013-08-02 16:43:04.731681015 +0200 +--- gdb-7.6.90.20140127.orig/gdb/hppa-tdep.c 2014-02-06 18:20:52.982747729 +0100 ++++ gdb-7.6.90.20140127/gdb/hppa-tdep.c 2014-02-06 18:20:57.302752371 +0100 @@ -961,7 +961,7 @@ hppa64_push_dummy_call (struct gdbarch * { struct value *arg = args[i]; @@ -463,11 +463,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/hppa-tdep.c int regnum, offset; if (len > 16) -Index: gdb-7.6.50.20130731-cvs/gdb/i386-darwin-tdep.c +Index: gdb-7.6.90.20140127/gdb/i386-darwin-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/i386-darwin-tdep.c 2013-08-02 16:43:01.145676117 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/i386-darwin-tdep.c 2013-08-02 16:43:04.731681015 +0200 -@@ -166,7 +166,7 @@ i386_darwin_push_dummy_call (struct gdba +--- gdb-7.6.90.20140127.orig/gdb/i386-darwin-tdep.c 2014-02-06 18:20:52.982747729 +0100 ++++ gdb-7.6.90.20140127/gdb/i386-darwin-tdep.c 2014-02-06 18:20:57.302752371 +0100 +@@ -164,7 +164,7 @@ i386_darwin_push_dummy_call (struct gdba for (write_pass = 0; write_pass < 2; write_pass++) { @@ -476,11 +476,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/i386-darwin-tdep.c int num_m128 = 0; if (struct_return) -Index: gdb-7.6.50.20130731-cvs/gdb/i386-tdep.c +Index: gdb-7.6.90.20140127/gdb/i386-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/i386-tdep.c 2013-08-02 16:43:01.147676120 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/i386-tdep.c 2013-08-02 16:43:04.733681018 +0200 -@@ -2407,7 +2407,7 @@ i386_push_dummy_call (struct gdbarch *gd +--- gdb-7.6.90.20140127.orig/gdb/i386-tdep.c 2014-02-06 18:20:52.985747732 +0100 ++++ gdb-7.6.90.20140127/gdb/i386-tdep.c 2014-02-06 18:20:57.303752372 +0100 +@@ -2473,7 +2473,7 @@ i386_push_dummy_call (struct gdbarch *gd gdb_byte buf[4]; int i; int write_pass; @@ -489,7 +489,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/i386-tdep.c /* Determine the total space required for arguments and struct return address in a first pass (allowing for 16-byte-aligned -@@ -2415,7 +2415,7 @@ i386_push_dummy_call (struct gdbarch *gd +@@ -2481,7 +2481,7 @@ i386_push_dummy_call (struct gdbarch *gd for (write_pass = 0; write_pass < 2; write_pass++) { @@ -498,7 +498,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/i386-tdep.c if (struct_return) { -@@ -2432,7 +2432,7 @@ i386_push_dummy_call (struct gdbarch *gd +@@ -2498,7 +2498,7 @@ i386_push_dummy_call (struct gdbarch *gd for (i = 0; i < nargs; i++) { @@ -507,7 +507,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/i386-tdep.c if (write_pass) { -@@ -2639,7 +2639,7 @@ i386_reg_struct_return_p (struct gdbarch +@@ -2705,7 +2705,7 @@ i386_reg_struct_return_p (struct gdbarch { struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); enum type_code code = TYPE_CODE (type); @@ -516,7 +516,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/i386-tdep.c gdb_assert (code == TYPE_CODE_STRUCT || code == TYPE_CODE_UNION -@@ -3094,7 +3094,7 @@ static int +@@ -3249,7 +3249,7 @@ static int i386_convert_register_p (struct gdbarch *gdbarch, int regnum, struct type *type) { @@ -525,7 +525,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/i386-tdep.c /* Values may be spread across multiple registers. Most debugging formats aren't expressive enough to specify the locations, so -@@ -3127,7 +3127,7 @@ i386_register_to_value (struct frame_inf +@@ -3282,7 +3282,7 @@ i386_register_to_value (struct frame_inf int *optimizedp, int *unavailablep) { struct gdbarch *gdbarch = get_frame_arch (frame); @@ -534,7 +534,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/i386-tdep.c if (i386_fp_regnum_p (gdbarch, regnum)) return i387_register_to_value (frame, regnum, type, to, -@@ -3163,7 +3163,7 @@ static void +@@ -3318,7 +3318,7 @@ static void i386_value_to_register (struct frame_info *frame, int regnum, struct type *type, const gdb_byte *from) { @@ -543,11 +543,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/i386-tdep.c if (i386_fp_regnum_p (get_frame_arch (frame), regnum)) { -Index: gdb-7.6.50.20130731-cvs/gdb/ia64-tdep.c +Index: gdb-7.6.90.20140127/gdb/ia64-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/ia64-tdep.c 2013-08-02 16:43:01.148676121 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/ia64-tdep.c 2013-08-02 16:43:04.734681019 +0200 -@@ -3974,8 +3974,10 @@ ia64_push_dummy_call (struct gdbarch *gd +--- gdb-7.6.90.20140127.orig/gdb/ia64-tdep.c 2014-02-06 18:20:52.986747733 +0100 ++++ gdb-7.6.90.20140127/gdb/ia64-tdep.c 2014-02-06 18:20:57.304752373 +0100 +@@ -3851,8 +3851,10 @@ ia64_push_dummy_call (struct gdbarch *gd int argno; struct value *arg; struct type *type; @@ -560,10 +560,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ia64-tdep.c int floatreg; ULONGEST bsp; CORE_ADDR funcdescaddr, pc, global_pointer; -Index: gdb-7.6.50.20130731-cvs/gdb/iq2000-tdep.c +Index: gdb-7.6.90.20140127/gdb/iq2000-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/iq2000-tdep.c 2013-08-02 16:43:01.149676123 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/iq2000-tdep.c 2013-08-02 16:43:04.734681019 +0200 +--- gdb-7.6.90.20140127.orig/gdb/iq2000-tdep.c 2014-02-06 18:20:52.986747733 +0100 ++++ gdb-7.6.90.20140127/gdb/iq2000-tdep.c 2014-02-06 18:20:57.304752373 +0100 @@ -654,8 +654,9 @@ iq2000_push_dummy_call (struct gdbarch * const bfd_byte *val; bfd_byte buf[4]; @@ -576,10 +576,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/iq2000-tdep.c /* Used to copy struct arguments into the stack. */ CORE_ADDR struct_ptr; -Index: gdb-7.6.50.20130731-cvs/gdb/m32r-tdep.c +Index: gdb-7.6.90.20140127/gdb/m32r-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/m32r-tdep.c 2013-08-02 16:43:01.149676123 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/m32r-tdep.c 2013-08-02 16:43:04.734681019 +0200 +--- gdb-7.6.90.20140127.orig/gdb/m32r-tdep.c 2014-02-06 18:20:52.986747733 +0100 ++++ gdb-7.6.90.20140127/gdb/m32r-tdep.c 2014-02-06 18:20:57.304752373 +0100 @@ -689,7 +689,7 @@ m32r_push_dummy_call (struct gdbarch *gd CORE_ADDR regval; gdb_byte *val; @@ -589,10 +589,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/m32r-tdep.c /* First force sp to a 4-byte alignment. */ sp = sp & ~3; -Index: gdb-7.6.50.20130731-cvs/gdb/m68k-tdep.c +Index: gdb-7.6.90.20140127/gdb/m68k-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/m68k-tdep.c 2013-08-02 16:43:01.149676123 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/m68k-tdep.c 2013-08-02 16:43:04.735681021 +0200 +--- gdb-7.6.90.20140127.orig/gdb/m68k-tdep.c 2014-02-06 18:20:52.987747735 +0100 ++++ gdb-7.6.90.20140127/gdb/m68k-tdep.c 2014-02-06 18:20:57.305752374 +0100 @@ -384,7 +384,7 @@ m68k_reg_struct_return_p (struct gdbarch { struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); @@ -615,10 +615,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/m68k-tdep.c /* Non-scalars bigger than 4 bytes are left aligned, others are right aligned. */ -Index: gdb-7.6.50.20130731-cvs/gdb/m88k-tdep.c +Index: gdb-7.6.90.20140127/gdb/m88k-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/m88k-tdep.c 2013-08-02 16:43:01.150676124 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/m88k-tdep.c 2013-08-02 16:43:04.735681021 +0200 +--- gdb-7.6.90.20140127.orig/gdb/m88k-tdep.c 2014-02-06 18:20:52.987747735 +0100 ++++ gdb-7.6.90.20140127/gdb/m88k-tdep.c 2014-02-06 18:20:57.305752374 +0100 @@ -260,13 +260,13 @@ m88k_store_arguments (struct regcache *r { struct gdbarch *gdbarch = get_regcache_arch (regcache); @@ -646,10 +646,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/m88k-tdep.c if (m88k_in_register_p (type)) { -Index: gdb-7.6.50.20130731-cvs/gdb/mep-tdep.c +Index: gdb-7.6.90.20140127/gdb/mep-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/mep-tdep.c 2013-08-02 16:43:01.150676124 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/mep-tdep.c 2013-08-02 16:43:04.735681021 +0200 +--- gdb-7.6.90.20140127.orig/gdb/mep-tdep.c 2014-02-06 18:20:52.987747735 +0100 ++++ gdb-7.6.90.20140127/gdb/mep-tdep.c 2014-02-06 18:20:57.306752375 +0100 @@ -2272,7 +2272,7 @@ push_large_arguments (CORE_ADDR sp, int for (i = 0; i < argc; i++) @@ -659,10 +659,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/mep-tdep.c if (arg_len > MEP_GPR_SIZE) { -Index: gdb-7.6.50.20130731-cvs/gdb/mips-tdep.c +Index: gdb-7.6.90.20140127/gdb/mips-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/mips-tdep.c 2013-08-02 16:43:01.153676128 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/mips-tdep.c 2013-08-02 16:43:04.737681023 +0200 +--- gdb-7.6.90.20140127.orig/gdb/mips-tdep.c 2014-02-06 18:20:52.990747738 +0100 ++++ gdb-7.6.90.20140127/gdb/mips-tdep.c 2014-02-06 18:20:57.307752376 +0100 @@ -402,7 +402,7 @@ static void mips_xfer_register (struct gdbarch *gdbarch, struct regcache *regcache, int reg_num, int length, @@ -808,11 +808,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/mips-tdep.c val = value_contents (arg); -Index: gdb-7.6.50.20130731-cvs/gdb/mn10300-tdep.c +Index: gdb-7.6.90.20140127/gdb/mn10300-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/mn10300-tdep.c 2013-08-02 16:43:04.737681023 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/mn10300-tdep.c 2013-08-02 16:50:34.212320698 +0200 -@@ -1228,7 +1228,7 @@ mn10300_push_dummy_call (struct gdbarch +--- gdb-7.6.90.20140127.orig/gdb/mn10300-tdep.c 2014-02-06 18:20:52.991747739 +0100 ++++ gdb-7.6.90.20140127/gdb/mn10300-tdep.c 2014-02-06 18:20:57.308752377 +0100 +@@ -1227,7 +1227,7 @@ mn10300_push_dummy_call (struct gdbarch enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); const int push_size = register_size (gdbarch, E_PC_REGNUM); int regs_used; @@ -821,10 +821,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/mn10300-tdep.c int stack_offset = 0; int argnum; const gdb_byte *val; -Index: gdb-7.6.50.20130731-cvs/gdb/mt-tdep.c +Index: gdb-7.6.90.20140127/gdb/mt-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/mt-tdep.c 2013-08-02 16:43:01.154676130 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/mt-tdep.c 2013-08-02 16:43:04.737681023 +0200 +--- gdb-7.6.90.20140127.orig/gdb/mt-tdep.c 2014-02-06 18:20:52.991747739 +0100 ++++ gdb-7.6.90.20140127/gdb/mt-tdep.c 2014-02-06 18:20:57.308752377 +0100 @@ -783,9 +783,9 @@ mt_push_dummy_call (struct gdbarch *gdba gdb_byte buf[MT_MAX_STRUCT_SIZE]; int argreg = MT_1ST_ARGREG; @@ -837,10 +837,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/mt-tdep.c int i, j; /* First handle however many args we can fit into MT_1ST_ARGREG thru -Index: gdb-7.6.50.20130731-cvs/gdb/ppc-sysv-tdep.c +Index: gdb-7.6.90.20140127/gdb/ppc-sysv-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/ppc-sysv-tdep.c 2013-08-02 16:43:01.155676131 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/ppc-sysv-tdep.c 2013-08-02 16:43:04.738681025 +0200 +--- gdb-7.6.90.20140127.orig/gdb/ppc-sysv-tdep.c 2014-02-06 18:20:52.992747740 +0100 ++++ gdb-7.6.90.20140127/gdb/ppc-sysv-tdep.c 2014-02-06 18:20:57.308752377 +0100 @@ -68,7 +68,7 @@ ppc_sysv_abi_push_dummy_call (struct gdb enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); int opencl_abi = ppc_sysv_use_opencl_abi (value_type (function)); @@ -897,11 +897,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ppc-sysv-tdep.c if (len < tdep->wordsize) write_memory (gparam + tdep->wordsize - len, val, len); else -Index: gdb-7.6.50.20130731-cvs/gdb/rl78-tdep.c +Index: gdb-7.6.90.20140127/gdb/rl78-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/rl78-tdep.c 2013-08-02 16:43:01.155676131 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/rl78-tdep.c 2013-08-02 16:43:04.738681025 +0200 -@@ -1030,8 +1030,8 @@ rl78_push_dummy_call (struct gdbarch *gd +--- gdb-7.6.90.20140127.orig/gdb/rl78-tdep.c 2014-02-06 18:20:52.992747740 +0100 ++++ gdb-7.6.90.20140127/gdb/rl78-tdep.c 2014-02-06 18:20:57.309752378 +0100 +@@ -1052,8 +1052,8 @@ rl78_push_dummy_call (struct gdbarch *gd for (i = nargs - 1; i >= 0; i--) { struct type *value_type = value_enclosing_type (args[i]); @@ -912,10 +912,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/rl78-tdep.c sp -= container_len; write_memory (rl78_make_data_address (sp), -Index: gdb-7.6.50.20130731-cvs/gdb/rs6000-aix-tdep.c +Index: gdb-7.6.90.20140127/gdb/rs6000-aix-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/rs6000-aix-tdep.c 2013-08-02 16:43:01.155676131 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/rs6000-aix-tdep.c 2013-08-02 16:43:04.738681025 +0200 +--- gdb-7.6.90.20140127.orig/gdb/rs6000-aix-tdep.c 2014-02-06 18:20:52.993747741 +0100 ++++ gdb-7.6.90.20140127/gdb/rs6000-aix-tdep.c 2014-02-06 18:20:57.309752378 +0100 @@ -196,9 +196,9 @@ rs6000_push_dummy_call (struct gdbarch * struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); @@ -937,11 +937,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/rs6000-aix-tdep.c if (argbytes) { -Index: gdb-7.6.50.20130731-cvs/gdb/s390-tdep.c +Index: gdb-7.6.90.20140127/gdb/s390-linux-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/s390-tdep.c 2013-08-02 16:43:01.156676132 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/s390-tdep.c 2013-08-02 16:43:04.739681026 +0200 -@@ -2483,7 +2483,7 @@ is_float_like (struct type *type) +--- gdb-7.6.90.20140127.orig/gdb/s390-linux-tdep.c 2014-02-06 18:20:52.993747741 +0100 ++++ gdb-7.6.90.20140127/gdb/s390-linux-tdep.c 2014-02-06 18:22:17.330838389 +0100 +@@ -2526,7 +2526,7 @@ is_float_like (struct type *type) static int @@ -950,19 +950,19 @@ Index: gdb-7.6.50.20130731-cvs/gdb/s390-tdep.c { return ((n & (n - 1)) == 0); } -@@ -2669,7 +2669,7 @@ s390_push_dummy_call (struct gdbarch *gd +@@ -2712,7 +2712,7 @@ s390_push_dummy_call (struct gdbarch *gd { - struct value *arg = args[i]; - struct type *type = check_typedef (value_type (arg)); -- unsigned length = TYPE_LENGTH (type); -+ ULONGEST length = TYPE_LENGTH (type); + struct value *arg = args[i]; + struct type *type = check_typedef (value_type (arg)); +- unsigned length = TYPE_LENGTH (type); ++ ULONGEST length = TYPE_LENGTH (type); if (s390_function_arg_pass_by_reference (type)) { -Index: gdb-7.6.50.20130731-cvs/gdb/score-tdep.c +Index: gdb-7.6.90.20140127/gdb/score-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/score-tdep.c 2013-08-02 16:43:01.157676134 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/score-tdep.c 2013-08-02 16:43:04.739681026 +0200 +--- gdb-7.6.90.20140127.orig/gdb/score-tdep.c 2014-02-06 18:20:52.994747742 +0100 ++++ gdb-7.6.90.20140127/gdb/score-tdep.c 2014-02-06 18:20:57.310752379 +0100 @@ -515,7 +515,7 @@ score_push_dummy_call (struct gdbarch *g enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); int argnum; @@ -972,10 +972,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/score-tdep.c CORE_ADDR stack_offset = 0; CORE_ADDR addr = 0; -Index: gdb-7.6.50.20130731-cvs/gdb/sh-tdep.c +Index: gdb-7.6.90.20140127/gdb/sh-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/sh-tdep.c 2013-08-02 16:43:01.157676134 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/sh-tdep.c 2013-08-02 16:51:29.604404553 +0200 +--- gdb-7.6.90.20140127.orig/gdb/sh-tdep.c 2014-02-06 18:20:52.995747743 +0100 ++++ gdb-7.6.90.20140127/gdb/sh-tdep.c 2014-02-06 18:20:57.310752379 +0100 @@ -807,7 +807,7 @@ sh_skip_prologue (struct gdbarch *gdbarc static int sh_use_struct_convention (int renesas_abi, struct type *type) @@ -1014,10 +1014,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/sh-tdep.c int pass_on_stack = 0; int last_reg_arg = INT_MAX; -Index: gdb-7.6.50.20130731-cvs/gdb/sh64-tdep.c +Index: gdb-7.6.90.20140127/gdb/sh64-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/sh64-tdep.c 2013-08-02 16:43:01.158676135 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/sh64-tdep.c 2013-08-02 16:50:49.740344125 +0200 +--- gdb-7.6.90.20140127.orig/gdb/sh64-tdep.c 2014-02-06 18:20:52.995747743 +0100 ++++ gdb-7.6.90.20140127/gdb/sh64-tdep.c 2014-02-06 18:20:57.311752380 +0100 @@ -1058,7 +1058,7 @@ sh64_push_dummy_call (struct gdbarch *gd CORE_ADDR struct_addr) { @@ -1036,11 +1036,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/sh64-tdep.c int argreg_size; int fp_args[12]; -Index: gdb-7.6.50.20130731-cvs/gdb/sparc-tdep.c +Index: gdb-7.6.90.20140127/gdb/sparc-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/sparc-tdep.c 2013-08-02 16:43:01.159676136 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/sparc-tdep.c 2013-08-02 16:43:04.740681027 +0200 -@@ -471,7 +471,7 @@ sparc32_store_arguments (struct regcache +--- gdb-7.6.90.20140127.orig/gdb/sparc-tdep.c 2014-02-06 18:20:52.996747744 +0100 ++++ gdb-7.6.90.20140127/gdb/sparc-tdep.c 2014-02-06 18:20:57.311752380 +0100 +@@ -502,7 +502,7 @@ sparc32_store_arguments (struct regcache for (i = 0; i < nargs; i++) { struct type *type = value_type (args[i]); @@ -1049,10 +1049,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/sparc-tdep.c if (sparc_structure_or_union_p (type) || (sparc_floating_p (type) && len == 16) -Index: gdb-7.6.50.20130731-cvs/gdb/sparc64-tdep.c +Index: gdb-7.6.90.20140127/gdb/sparc64-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/sparc64-tdep.c 2013-08-02 16:43:01.159676136 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/sparc64-tdep.c 2013-08-02 16:43:04.741681029 +0200 +--- gdb-7.6.90.20140127.orig/gdb/sparc64-tdep.c 2014-02-06 18:20:52.996747744 +0100 ++++ gdb-7.6.90.20140127/gdb/sparc64-tdep.c 2014-02-06 18:20:57.311752380 +0100 @@ -639,7 +639,8 @@ sparc64_16_byte_align_p (struct type *ty static void @@ -1108,10 +1108,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/sparc64-tdep.c int regnum = -1; gdb_byte buf[16]; -Index: gdb-7.6.50.20130731-cvs/gdb/spu-tdep.c +Index: gdb-7.6.90.20140127/gdb/spu-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/spu-tdep.c 2013-08-02 16:43:01.160676138 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/spu-tdep.c 2013-08-02 16:43:04.741681029 +0200 +--- gdb-7.6.90.20140127.orig/gdb/spu-tdep.c 2014-02-06 18:20:52.997747745 +0100 ++++ gdb-7.6.90.20140127/gdb/spu-tdep.c 2014-02-06 18:20:57.312752381 +0100 @@ -1376,7 +1376,7 @@ spu_push_dummy_call (struct gdbarch *gdb struct value *arg = args[i]; struct type *type = check_typedef (value_type (arg)); @@ -1130,10 +1130,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/spu-tdep.c int preferred_slot; if (spu_scalar_value_p (type)) -Index: gdb-7.6.50.20130731-cvs/gdb/tic6x-tdep.c +Index: gdb-7.6.90.20140127/gdb/tic6x-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/tic6x-tdep.c 2013-08-02 16:43:01.160676138 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/tic6x-tdep.c 2013-08-02 16:43:04.742681030 +0200 +--- gdb-7.6.90.20140127.orig/gdb/tic6x-tdep.c 2014-02-06 18:20:52.997747745 +0100 ++++ gdb-7.6.90.20140127/gdb/tic6x-tdep.c 2014-02-06 18:20:57.312752381 +0100 @@ -896,7 +896,7 @@ tic6x_push_dummy_call (struct gdbarch *g int argreg = 0; int argnum; @@ -1171,11 +1171,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/tic6x-tdep.c addr = sp + stack_offset; write_memory (addr, val, len); -Index: gdb-7.6.50.20130731-cvs/gdb/tilegx-tdep.c +Index: gdb-7.6.90.20140127/gdb/tilegx-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/tilegx-tdep.c 2013-08-02 16:43:01.161676139 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/tilegx-tdep.c 2013-08-02 16:43:04.742681030 +0200 -@@ -291,7 +291,7 @@ tilegx_push_dummy_call (struct gdbarch * +--- gdb-7.6.90.20140127.orig/gdb/tilegx-tdep.c 2014-02-06 18:20:52.998747746 +0100 ++++ gdb-7.6.90.20140127/gdb/tilegx-tdep.c 2014-02-06 18:20:57.312752381 +0100 +@@ -290,7 +290,7 @@ tilegx_push_dummy_call (struct gdbarch * CORE_ADDR stack_dest = sp; int argreg = TILEGX_R0_REGNUM; int i, j; @@ -1184,10 +1184,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/tilegx-tdep.c static const gdb_byte four_zero_words[16] = { 0 }; /* If struct_return is 1, then the struct return address will -Index: gdb-7.6.50.20130731-cvs/gdb/v850-tdep.c +Index: gdb-7.6.90.20140127/gdb/v850-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/v850-tdep.c 2013-08-02 16:43:01.161676139 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/v850-tdep.c 2013-08-02 16:52:55.219531101 +0200 +--- gdb-7.6.90.20140127.orig/gdb/v850-tdep.c 2014-02-06 18:20:52.998747746 +0100 ++++ gdb-7.6.90.20140127/gdb/v850-tdep.c 2014-02-06 18:20:57.313752383 +0100 @@ -1021,7 +1021,7 @@ v850_push_dummy_call (struct gdbarch *gd enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); int argreg; @@ -1206,10 +1206,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/v850-tdep.c gdb_byte *val; gdb_byte valbuf[v850_reg_size]; -Index: gdb-7.6.50.20130731-cvs/gdb/vax-tdep.c +Index: gdb-7.6.90.20140127/gdb/vax-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/vax-tdep.c 2013-08-02 16:43:01.161676139 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/vax-tdep.c 2013-08-02 16:43:04.742681030 +0200 +--- gdb-7.6.90.20140127.orig/gdb/vax-tdep.c 2014-02-06 18:20:52.998747746 +0100 ++++ gdb-7.6.90.20140127/gdb/vax-tdep.c 2014-02-06 18:20:57.313752383 +0100 @@ -115,7 +115,7 @@ vax_store_arguments (struct regcache *re struct gdbarch *gdbarch = get_regcache_arch (regcache); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); @@ -1228,10 +1228,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/vax-tdep.c sp -= (len + 3) & ~3; count += (len + 3) / 4; -Index: gdb-7.6.50.20130731-cvs/gdb/xstormy16-tdep.c +Index: gdb-7.6.90.20140127/gdb/xstormy16-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/xstormy16-tdep.c 2013-08-02 16:43:01.162676141 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/xstormy16-tdep.c 2013-08-02 16:43:04.743681032 +0200 +--- gdb-7.6.90.20140127.orig/gdb/xstormy16-tdep.c 2014-02-06 18:20:52.999747748 +0100 ++++ gdb-7.6.90.20140127/gdb/xstormy16-tdep.c 2014-02-06 18:20:57.313752383 +0100 @@ -235,8 +235,9 @@ xstormy16_push_dummy_call (struct gdbarc enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); CORE_ADDR stack_dest = sp; @@ -1244,11 +1244,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/xstormy16-tdep.c const gdb_byte *val; gdb_byte buf[xstormy16_pc_size]; -Index: gdb-7.6.50.20130731-cvs/gdb/xtensa-tdep.c +Index: gdb-7.6.90.20140127/gdb/xtensa-tdep.c =================================================================== ---- gdb-7.6.50.20130731-cvs.orig/gdb/xtensa-tdep.c 2013-08-02 16:43:01.163676142 +0200 -+++ gdb-7.6.50.20130731-cvs/gdb/xtensa-tdep.c 2013-08-02 16:43:04.743681032 +0200 -@@ -1653,8 +1653,7 @@ xtensa_store_return_value (struct type * +--- gdb-7.6.90.20140127.orig/gdb/xtensa-tdep.c 2014-02-06 18:20:53.000747749 +0100 ++++ gdb-7.6.90.20140127/gdb/xtensa-tdep.c 2014-02-06 18:20:57.314752384 +0100 +@@ -1652,8 +1652,7 @@ xtensa_store_return_value (struct type * if (len > (callsize > 8 ? 8 : 16)) internal_error (__FILE__, __LINE__, @@ -1258,7 +1258,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/xtensa-tdep.c areg = arreg_number (gdbarch, gdbarch_tdep (gdbarch)->a0_base + 2 + callsize, wb); -@@ -1728,18 +1727,18 @@ xtensa_push_dummy_call (struct gdbarch * +@@ -1727,18 +1726,18 @@ xtensa_push_dummy_call (struct gdbarch * { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); int i; @@ -1280,7 +1280,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/xtensa-tdep.c int regno; /* regno if in register. */ } u; }; -@@ -1763,9 +1762,10 @@ xtensa_push_dummy_call (struct gdbarch * +@@ -1762,9 +1761,10 @@ xtensa_push_dummy_call (struct gdbarch * { struct value *arg = args[i]; struct type *arg_type = check_typedef (value_type (arg)); @@ -1294,7 +1294,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/xtensa-tdep.c switch (TYPE_CODE (arg_type)) { case TYPE_CODE_INT: -@@ -1835,8 +1835,8 @@ xtensa_push_dummy_call (struct gdbarch * +@@ -1834,8 +1834,8 @@ xtensa_push_dummy_call (struct gdbarch * info->align = TYPE_LENGTH (builtin_type (gdbarch)->builtin_long); break; } @@ -1304,7 +1304,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/xtensa-tdep.c /* Align size and onstack_size. */ size = (size + info->align - 1) & ~(info->align - 1); -@@ -1881,7 +1881,7 @@ xtensa_push_dummy_call (struct gdbarch * +@@ -1880,7 +1880,7 @@ xtensa_push_dummy_call (struct gdbarch * if (info->onstack) { @@ -1313,7 +1313,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/xtensa-tdep.c CORE_ADDR offset = sp + info->u.offset; /* Odd-sized structs are aligned to the lower side of a memory -@@ -1897,7 +1897,7 @@ xtensa_push_dummy_call (struct gdbarch * +@@ -1896,7 +1896,7 @@ xtensa_push_dummy_call (struct gdbarch * } else { diff --git a/gdb-rhel5-compat.patch b/gdb-rhel5-compat.patch index bbcadf3..0ee845e 100644 --- a/gdb-rhel5-compat.patch +++ b/gdb-rhel5-compat.patch @@ -1,21 +1,21 @@ -Index: gdb-7.4.50.20120602/gdb/linux-nat.c +Index: gdb-7.7/gdb/linux-nat.c =================================================================== ---- gdb-7.4.50.20120602.orig/gdb/linux-nat.c 2012-06-02 20:54:30.000000000 +0200 -+++ gdb-7.4.50.20120602/gdb/linux-nat.c 2012-06-02 20:56:03.966493352 +0200 -@@ -1816,8 +1816,22 @@ get_pending_status (struct lwp_info *lp, +--- gdb-7.7.orig/gdb/linux-nat.c 2014-02-09 19:18:24.048554459 +0100 ++++ gdb-7.7/gdb/linux-nat.c 2014-02-09 19:19:22.210622806 +0100 +@@ -1529,8 +1529,22 @@ get_pending_status (struct lwp_info *lp, gdb_signal_to_string (signo)); } -- if (*status == 0 && GET_PID (lp->ptid) == pid_was_stopped) +- if (*status == 0 && ptid_get_pid (lp->ptid) == pid_was_stopped) - *status = W_STOPCODE (SIGSTOP); + /* Workaround RHEL-5 kernel which has unreliable PTRACE_DETACH, SIGSTOP (that + many TIDs are left unstopped). See RH Bug 496732. */ -+ if (GET_PID (lp->ptid) == pid_was_stopped) ++ if (ptid_get_pid (lp->ptid) == pid_was_stopped) + { + int err; + + errno = 0; -+ err = kill_lwp (GET_LWP (lp->ptid), SIGSTOP); ++ err = kill_lwp (ptid_get_lwp (lp->ptid), SIGSTOP); + if (debug_linux_nat) + { + fprintf_unfiltered (gdb_stdlog, diff --git a/gdb-rhel5-gcc44.patch b/gdb-rhel5-gcc44.patch index 53417b2..79f1fcd 100644 --- a/gdb-rhel5-gcc44.patch +++ b/gdb-rhel5-gcc44.patch @@ -1,10 +1,10 @@ Some functionality is available on RHEL-5.4+ only with gcc44 and gfortran44 as the default gcc and gfortran binaries are from gcc-4.1. -Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.base/vla.exp +Index: gdb-7.6.90.20140127/gdb/testsuite/gdb.base/vla.exp =================================================================== ---- gdb-7.5.50.20130118.orig/gdb/testsuite/gdb.base/vla.exp 2013-01-18 23:43:04.455756362 +0100 -+++ gdb-7.5.50.20130118/gdb/testsuite/gdb.base/vla.exp 2013-01-18 23:43:08.082761164 +0100 +--- gdb-7.6.90.20140127.orig/gdb/testsuite/gdb.base/vla.exp 2014-02-06 18:26:05.115083077 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/gdb.base/vla.exp 2014-02-06 18:26:06.689084765 +0100 @@ -16,7 +16,25 @@ set testfile vla set srcfile ${testfile}.c @@ -32,10 +32,10 @@ Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.base/vla.exp untested "Couldn't compile test program" return -1 } -Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.base/break-interp.exp +Index: gdb-7.6.90.20140127/gdb/testsuite/gdb.base/break-interp.exp =================================================================== ---- gdb-7.5.50.20130118.orig/gdb/testsuite/gdb.base/break-interp.exp 2013-01-18 23:43:04.456756365 +0100 -+++ gdb-7.5.50.20130118/gdb/testsuite/gdb.base/break-interp.exp 2013-01-18 23:43:08.082761164 +0100 +--- gdb-7.6.90.20140127.orig/gdb/testsuite/gdb.base/break-interp.exp 2014-02-06 18:26:05.116083078 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/gdb.base/break-interp.exp 2014-02-06 18:26:06.689084765 +0100 @@ -34,9 +34,29 @@ if [get_compiler_info] { return -1 } @@ -67,10 +67,10 @@ Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.base/break-interp.exp return -1 } -Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/common-block.exp +Index: gdb-7.6.90.20140127/gdb/testsuite/gdb.fortran/common-block.exp =================================================================== ---- gdb-7.5.50.20130118.orig/gdb/testsuite/gdb.fortran/common-block.exp 2013-01-18 23:43:08.082761164 +0100 -+++ gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/common-block.exp 2013-01-18 23:44:23.047856182 +0100 +--- gdb-7.6.90.20140127.orig/gdb/testsuite/gdb.fortran/common-block.exp 2014-02-06 18:26:05.116083078 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/gdb.fortran/common-block.exp 2014-02-06 18:26:06.690084760 +0100 @@ -22,8 +22,25 @@ if {[skip_fortran_tests]} { standard_testfile .f90 @@ -99,10 +99,10 @@ Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/common-block.exp return -1 } -Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/dwarf-stride.exp +Index: gdb-7.6.90.20140127/gdb/testsuite/gdb.fortran/dwarf-stride.exp =================================================================== ---- gdb-7.5.50.20130118.orig/gdb/testsuite/gdb.fortran/dwarf-stride.exp 2013-01-18 23:43:04.456756365 +0100 -+++ gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/dwarf-stride.exp 2013-01-18 23:43:08.083761148 +0100 +--- gdb-7.6.90.20140127.orig/gdb/testsuite/gdb.fortran/dwarf-stride.exp 2014-02-06 18:26:05.117083079 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/gdb.fortran/dwarf-stride.exp 2014-02-06 18:26:06.690084760 +0100 @@ -27,7 +27,25 @@ set testfile dwarf-stride set srcfile ${testfile}.f90 @@ -130,10 +130,10 @@ Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/dwarf-stride.exp return -1 } -Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/dynamic.exp +Index: gdb-7.6.90.20140127/gdb/testsuite/gdb.fortran/dynamic.exp =================================================================== ---- gdb-7.5.50.20130118.orig/gdb/testsuite/gdb.fortran/dynamic.exp 2013-01-18 23:43:04.457756367 +0100 -+++ gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/dynamic.exp 2013-01-18 23:43:08.083761148 +0100 +--- gdb-7.6.90.20140127.orig/gdb/testsuite/gdb.fortran/dynamic.exp 2014-02-06 18:26:05.117083079 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/gdb.fortran/dynamic.exp 2014-02-06 18:26:06.690084760 +0100 @@ -25,7 +25,25 @@ set testfile "dynamic" set srcfile ${testfile}.f90 set binfile ${objdir}/${subdir}/${testfile} @@ -161,10 +161,10 @@ Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/dynamic.exp untested "Couldn't compile ${srcfile}" return -1 } -Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/library-module.exp +Index: gdb-7.6.90.20140127/gdb/testsuite/gdb.fortran/library-module.exp =================================================================== ---- gdb-7.5.50.20130118.orig/gdb/testsuite/gdb.fortran/library-module.exp 2013-01-18 23:43:04.457756367 +0100 -+++ gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/library-module.exp 2013-01-18 23:43:08.083761148 +0100 +--- gdb-7.6.90.20140127.orig/gdb/testsuite/gdb.fortran/library-module.exp 2014-02-06 18:26:05.117083079 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/gdb.fortran/library-module.exp 2014-02-06 18:26:06.690084760 +0100 @@ -23,16 +23,34 @@ if [get_compiler_info] { return -1 } @@ -204,10 +204,10 @@ Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/library-module.exp untested "Couldn't compile ${srcfile}" return -1 } -Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/module.exp +Index: gdb-7.6.90.20140127/gdb/testsuite/gdb.fortran/module.exp =================================================================== ---- gdb-7.5.50.20130118.orig/gdb/testsuite/gdb.fortran/module.exp 2013-01-18 23:43:04.457756367 +0100 -+++ gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/module.exp 2013-01-18 23:43:08.083761148 +0100 +--- gdb-7.6.90.20140127.orig/gdb/testsuite/gdb.fortran/module.exp 2014-02-06 18:26:05.118083080 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/gdb.fortran/module.exp 2014-02-06 18:26:06.690084760 +0100 @@ -15,7 +15,25 @@ standard_testfile .f90 @@ -235,10 +235,10 @@ Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/module.exp return -1 } -Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/string.exp +Index: gdb-7.6.90.20140127/gdb/testsuite/gdb.fortran/string.exp =================================================================== ---- gdb-7.5.50.20130118.orig/gdb/testsuite/gdb.fortran/string.exp 2013-01-18 23:43:04.457756367 +0100 -+++ gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/string.exp 2013-01-18 23:43:08.083761148 +0100 +--- gdb-7.6.90.20140127.orig/gdb/testsuite/gdb.fortran/string.exp 2014-02-06 18:26:05.118083080 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/gdb.fortran/string.exp 2014-02-06 18:26:06.691084763 +0100 @@ -23,7 +23,25 @@ set testfile "string" set srcfile ${testfile}.f90 set binfile ${objdir}/${subdir}/${testfile} @@ -266,10 +266,10 @@ Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/string.exp untested "Couldn't compile ${srcfile}" return -1 } -Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/omp-step.exp +Index: gdb-7.6.90.20140127/gdb/testsuite/gdb.fortran/omp-step.exp =================================================================== ---- gdb-7.5.50.20130118.orig/gdb/testsuite/gdb.fortran/omp-step.exp 2013-01-18 23:43:04.458756369 +0100 -+++ gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/omp-step.exp 2013-01-18 23:43:08.083761148 +0100 +--- gdb-7.6.90.20140127.orig/gdb/testsuite/gdb.fortran/omp-step.exp 2014-02-06 18:26:05.118083080 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/gdb.fortran/omp-step.exp 2014-02-06 18:26:06.691084763 +0100 @@ -15,7 +15,26 @@ set testfile "omp-step" @@ -298,10 +298,10 @@ Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/omp-step.exp return -1 } -Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/derived-type.exp +Index: gdb-7.6.90.20140127/gdb/testsuite/gdb.fortran/derived-type.exp =================================================================== ---- gdb-7.5.50.20130118.orig/gdb/testsuite/gdb.fortran/derived-type.exp 2013-01-18 23:43:04.458756369 +0100 -+++ gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/derived-type.exp 2013-01-18 23:43:08.084761135 +0100 +--- gdb-7.6.90.20140127.orig/gdb/testsuite/gdb.fortran/derived-type.exp 2014-02-06 18:26:05.119083082 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/gdb.fortran/derived-type.exp 2014-02-06 18:26:06.691084763 +0100 @@ -22,7 +22,25 @@ if { [skip_fortran_tests] } { return -1 standard_testfile .f90 @@ -329,10 +329,10 @@ Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/derived-type.exp return -1 } -Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/subarray.exp +Index: gdb-7.6.90.20140127/gdb/testsuite/gdb.fortran/subarray.exp =================================================================== ---- gdb-7.5.50.20130118.orig/gdb/testsuite/gdb.fortran/subarray.exp 2013-01-18 23:43:04.458756369 +0100 -+++ gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/subarray.exp 2013-01-18 23:43:08.084761135 +0100 +--- gdb-7.6.90.20140127.orig/gdb/testsuite/gdb.fortran/subarray.exp 2014-02-06 18:26:05.119083082 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/gdb.fortran/subarray.exp 2014-02-06 18:26:06.691084763 +0100 @@ -22,7 +22,25 @@ if { [skip_fortran_tests] } { return -1 standard_testfile .f @@ -360,10 +360,10 @@ Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/subarray.exp return -1 } -Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.threads/tls-sepdebug.exp +Index: gdb-7.6.90.20140127/gdb/testsuite/gdb.threads/tls-sepdebug.exp =================================================================== ---- gdb-7.5.50.20130118.orig/gdb/testsuite/gdb.threads/tls-sepdebug.exp 2013-01-18 23:43:04.459756371 +0100 -+++ gdb-7.5.50.20130118/gdb/testsuite/gdb.threads/tls-sepdebug.exp 2013-01-18 23:43:08.084761135 +0100 +--- gdb-7.6.90.20140127.orig/gdb/testsuite/gdb.threads/tls-sepdebug.exp 2014-02-06 18:26:05.119083082 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/gdb.threads/tls-sepdebug.exp 2014-02-06 18:26:06.691084763 +0100 @@ -32,7 +32,25 @@ set binshareddebugfile ${objdir}/${subdi # FIXME: gcc dependency (-Wl,-soname). @@ -391,13 +391,13 @@ Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.threads/tls-sepdebug.exp untested "Couldn't compile test library" return -1 } -Index: gdb-7.5.50.20130118/gdb/testsuite/lib/prelink-support.exp +Index: gdb-7.6.90.20140127/gdb/testsuite/lib/prelink-support.exp =================================================================== ---- gdb-7.5.50.20130118.orig/gdb/testsuite/lib/prelink-support.exp 2013-01-18 23:43:04.459756371 +0100 -+++ gdb-7.5.50.20130118/gdb/testsuite/lib/prelink-support.exp 2013-01-18 23:43:08.084761135 +0100 -@@ -119,9 +119,31 @@ proc file_copy {src dest} { +--- gdb-7.6.90.20140127.orig/gdb/testsuite/lib/prelink-support.exp 2014-02-06 18:26:06.692084767 +0100 ++++ gdb-7.6.90.20140127/gdb/testsuite/lib/prelink-support.exp 2014-02-06 18:27:44.960190192 +0100 +@@ -118,9 +118,31 @@ proc file_copy {src dest} { proc build_executable_own_libs {testname executable sources options {interp ""} {dir ""}} { - global objdir subdir + global subdir - if {[build_executable $testname $executable $sources $options] == -1} { - return "" @@ -426,6 +426,6 @@ Index: gdb-7.5.50.20130118/gdb/testsuite/lib/prelink-support.exp + return "" + } + - set binfile ${objdir}/${subdir}/${executable} + set binfile [standard_output_file ${executable}] - set command "ldd $binfile" + set ldd [gdb_find_ldd] diff --git a/gdb-test-bt-cfi-without-die.patch b/gdb-test-bt-cfi-without-die.patch index aa1cabc..82a169c 100644 --- a/gdb-test-bt-cfi-without-die.patch +++ b/gdb-test-bt-cfi-without-die.patch @@ -70,11 +70,10 @@ gdb/testsuite/ create mode 100644 gdb/testsuite/gdb.base/cfi-without-die-main.c create mode 100644 gdb/testsuite/gdb.base/cfi-without-die.exp -diff --git a/gdb/testsuite/gdb.base/cfi-without-die-caller.c b/gdb/testsuite/gdb.base/cfi-without-die-caller.c -new file mode 100644 -index 0000000..afdfd53 ---- /dev/null -+++ b/gdb/testsuite/gdb.base/cfi-without-die-caller.c +Index: gdb-7.7/gdb/testsuite/gdb.base/cfi-without-die-caller.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ gdb-7.7/gdb/testsuite/gdb.base/cfi-without-die-caller.c 2014-02-06 19:35:23.485863819 +0100 @@ -0,0 +1,28 @@ +/* This testcase is part of GDB, the GNU debugger. + @@ -104,11 +103,10 @@ index 0000000..afdfd53 + /* Modify the return value to prevent any tail-call optimization. */ + return (*callback) () - one; +} -diff --git a/gdb/testsuite/gdb.base/cfi-without-die-main.c b/gdb/testsuite/gdb.base/cfi-without-die-main.c -new file mode 100644 -index 0000000..8451c4b ---- /dev/null -+++ b/gdb/testsuite/gdb.base/cfi-without-die-main.c +Index: gdb-7.7/gdb/testsuite/gdb.base/cfi-without-die-main.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ gdb-7.7/gdb/testsuite/gdb.base/cfi-without-die-main.c 2014-02-06 19:35:23.485863819 +0100 @@ -0,0 +1,32 @@ +/* This testcase is part of GDB, the GNU debugger. + @@ -142,11 +140,10 @@ index 0000000..8451c4b +{ + return caller (callback); +} -diff --git a/gdb/testsuite/gdb.base/cfi-without-die.exp b/gdb/testsuite/gdb.base/cfi-without-die.exp -new file mode 100644 -index 0000000..db6d248 ---- /dev/null -+++ b/gdb/testsuite/gdb.base/cfi-without-die.exp +Index: gdb-7.7/gdb/testsuite/gdb.base/cfi-without-die.exp +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ gdb-7.7/gdb/testsuite/gdb.base/cfi-without-die.exp 2014-02-06 20:26:00.775208847 +0100 @@ -0,0 +1,67 @@ +# Copyright 2010 Free Software Foundation, Inc. + @@ -169,9 +166,9 @@ index 0000000..db6d248 +set srcmainfile ${testfile}-main.c +set srccallerfile ${testfile}-caller.c +set executable ${testfile} -+set objmainfile ${objdir}/${subdir}/${testfile}-main.o -+set objcallerfile ${objdir}/${subdir}/${testfile}-caller.o -+set binfile ${objdir}/${subdir}/${executable} ++set objmainfile [standard_output_file ${testfile}-main.o] ++set objcallerfile [standard_output_file ${testfile}-caller.o] ++set binfile [standard_output_file ${executable}] + +if { [gdb_compile "${srcdir}/${subdir}/${srccallerfile}" ${objcallerfile} \ + object [list {additional_flags=-fomit-frame-pointer -fno-unwind-tables -fno-asynchronous-unwind-tables}]] != "" @@ -215,6 +212,3 @@ index 0000000..db6d248 +# #1 0x00000000004004e9 in caller () +# #2 0x00000000004004cd in main () at ... +gdb_test "bt" "#0 +callback \[^\r\n\]+\r\n#1 \[^\r\n\]+ in caller \[^\r\n\]+\r\n#2 \[^\r\n\]+ in main \[^\r\n\]+" "verify unwindin works for CFI without DIEs" --- -1.7.1.1 - diff --git a/gdb-test-dw2-aranges.patch b/gdb-test-dw2-aranges.patch index 07bd008..a7bce88 100644 --- a/gdb-test-dw2-aranges.patch +++ b/gdb-test-dw2-aranges.patch @@ -20,11 +20,10 @@ Date: Sat Aug 15 15:05:54 2009 +0200 * gdb.dwarf2/dw2-aranges.exp, gdb.dwarf2/dw2-aranges.S: New files. -diff --git a/gdb/testsuite/gdb.dwarf2/dw2-aranges.S b/gdb/testsuite/gdb.dwarf2/dw2-aranges.S -new file mode 100644 -index 0000000..d5b9ca5a ---- /dev/null -+++ b/gdb/testsuite/gdb.dwarf2/dw2-aranges.S +Index: gdb-7.7/gdb/testsuite/gdb.dwarf2/dw2-aranges.S +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ gdb-7.7/gdb/testsuite/gdb.dwarf2/dw2-aranges.S 2014-02-06 22:02:22.087449660 +0100 @@ -0,0 +1,140 @@ +/* This testcase is part of GDB, the GNU debugger. + @@ -166,11 +165,10 @@ index 0000000..d5b9ca5a + .byte 0 /* aranges segment_size */ + +.Laranges_end: -diff --git a/gdb/testsuite/gdb.dwarf2/dw2-aranges.exp b/gdb/testsuite/gdb.dwarf2/dw2-aranges.exp -new file mode 100644 -index 0000000..39632d5 ---- /dev/null -+++ b/gdb/testsuite/gdb.dwarf2/dw2-aranges.exp +Index: gdb-7.7/gdb/testsuite/gdb.dwarf2/dw2-aranges.exp +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ gdb-7.7/gdb/testsuite/gdb.dwarf2/dw2-aranges.exp 2014-02-06 22:09:08.322852771 +0100 @@ -0,0 +1,40 @@ +# Copyright 2004, 2005, 2007, 2008, 2009 Free Software Foundation, Inc. + @@ -202,7 +200,7 @@ index 0000000..39632d5 + +set testfile "dw2-aranges" +set srcfile ${testfile}.S -+set binfile ${objdir}/${subdir}/${testfile} ++set binfile [standard_output_file ${testfile}] + +if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {nodebug}] != "" } { + return -1 diff --git a/gdb-testsuite-nohostid.patch b/gdb-testsuite-nohostid.patch new file mode 100644 index 0000000..6e02a47 --- /dev/null +++ b/gdb-testsuite-nohostid.patch @@ -0,0 +1,50 @@ +http://sourceware.org/ml/gdb-patches/2014-02/msg00158.html +Subject: [patch] testsuite: Fix "ERROR: no fileid for" + + +--azLHFNyN32YCQGCU +Content-Type: text/plain; charset=us-ascii +Content-Disposition: inline + +Hi, + +a35cfb4007cee8cb84106412cd17f4e12f13345b is the first bad commit +commit a35cfb4007cee8cb84106412cd17f4e12f13345b +Author: Maciej W. Rozycki +Date: Thu Oct 24 23:32:30 2013 +0100 + +$ runtest gdb.base/solib-disc.exp +Running ./gdb.base/solib-disc.exp ... +ERROR: no fileid for host1 +[...] + + +Jan + +--azLHFNyN32YCQGCU +Content-Type: text/plain; charset=us-ascii +Content-Disposition: inline; filename="gdbfinish.patch" + +gdb/testsuite/ +2014-02-06 Jan Kratochvil + + Fix "ERROR: no fileid for" in the testsuite. + * lib/gdb.exp (gdb_finish): Check gdb_spawn_id. + +diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp +index 533b81b..5c53cdf 100644 +--- a/gdb/testsuite/lib/gdb.exp ++++ b/gdb/testsuite/lib/gdb.exp +@@ -3708,7 +3708,8 @@ proc gdb_finish { } { + global cleanfiles + + # Give persistent gdbserver a chance to terminate before GDB is killed. +- if {[info exists gdbserver_reconnect_p] && $gdbserver_reconnect_p} { ++ if {[info exists gdbserver_reconnect_p] && $gdbserver_reconnect_p ++ && [info exists gdb_spawn_id]} { + send_gdb "kill\n"; + gdb_expect 10 { + -re "y or n" { + +--azLHFNyN32YCQGCU-- + diff --git a/gdb-upstream.patch b/gdb-upstream.patch new file mode 100644 index 0000000..3e42a47 --- /dev/null +++ b/gdb-upstream.patch @@ -0,0 +1,66 @@ +http://sourceware.org/ml/gdb-patches/2014-02/msg00179.html +Subject: [obv] testsuite: Fix i386-sse-stack-align.exp regression since GDB_PARALLEL + + +--u3/rZRmxL6MmkK24 +Content-Type: text/plain; charset=us-ascii +Content-Disposition: inline + +Hi Tom, + +$ make check//unix/-m32 RUNTESTFLAGS="gdb.arch/i386-sse-stack-align.exp GDB_PARALLEL=1" +[...] +Running /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.arch/i386-sse-stack-align.exp ... +ERROR: (/home/jkratoch/redhat/gdb-clean/gdb/testsuite.unix.-m32/outputs/gdb.arch/i386-sse-stack-align/i386-sse-stack-align) No such file or directory + + +Checked in. + + +Jan + +--u3/rZRmxL6MmkK24 +Content-Type: text/plain; charset=us-ascii +Content-Disposition: inline; filename=1 + +commit 3c77faf33dc4c7bb693f05f44077ed687e9f8217 +Author: Jan Kratochvil +Date: Thu Feb 6 23:14:20 2014 +0100 + + Fix i386-sse-stack-align.exp regression since GDB_PARALLEL. + + gdb/testsuite/ + 2014-02-06 Jan Kratochvil + + Fix i386-sse-stack-align.exp regression since GDB_PARALLEL. + * gdb.arch/i386-sse-stack-align.exp: Use standard_output_file. + +diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog +index 8c846b8..13ccaf3 100644 +### a/gdb/testsuite/ChangeLog +### b/gdb/testsuite/ChangeLog +## -1,3 +1,8 @@ ++2014-02-06 Jan Kratochvil ++ ++ Fix i386-sse-stack-align.exp regression since GDB_PARALLEL. ++ * gdb.arch/i386-sse-stack-align.exp: Use standard_output_file. ++ + 2014-02-06 Doug Evans + + * gdb.python/py-breakpoint.exp (test_bkpt_eval_funcs): Update expected +diff --git a/gdb/testsuite/gdb.arch/i386-sse-stack-align.exp b/gdb/testsuite/gdb.arch/i386-sse-stack-align.exp +index b5a7e1e..462df1f 100644 +--- a/gdb/testsuite/gdb.arch/i386-sse-stack-align.exp ++++ b/gdb/testsuite/gdb.arch/i386-sse-stack-align.exp +@@ -22,7 +22,7 @@ set testfile "i386-sse-stack-align" + set srcfile ${testfile}.S + set csrcfile ${testfile}.c + set executable ${testfile} +-set binfile ${objdir}/${subdir}/${executable} ++set binfile [standard_output_file ${executable}] + set opts {} + + if [info exists COMPILE] { + +--u3/rZRmxL6MmkK24-- + diff --git a/gdb.changes b/gdb.changes index a32bb59..3cb16b8 100644 --- a/gdb.changes +++ b/gdb.changes @@ -1,3 +1,40 @@ +------------------------------------------------------------------- +Mon Feb 10 17:19:07 UTC 2014 - matz@suse.de + +- Use patchlist.pl to merge with gdb-Fedora at + e86a0cc13a5d91ba95242690237bb77511500897. +- Don't apply patches gdb-rhel5-gcc44.patch, + gdb-6.6-buildid-locate-rpm-scl.patch, + gdb-readline62-ask-more-rh.patch, + gdb-6.8-attach-signalled-detach-stopped.patch, + gdb-6.8-quit-never-aborts.patch, + gdb-rhel5-compat.patch; retained to have same structure as fedoras + package. +- Add gdb-testsuite-nohostid.patch (from fedora). +- Remove gdb-fix-attach-signalled-detach-stopped.patch again + (as base not applied), gdb-ppc-ptrace.diff (not applied since some time). + +------------------------------------------------------------------- +Sun Feb 9 15:44:04 UTC 2014 - burnus@net-b.de + +- Merge from fedoras gdb-7.7-1.fc21, a rebase to FSF GDB 7.7. + The 7.7 features are: + * For C++, the 'typeid' operator has been added and + exception catchpoints can be filtered by type. + * Python scripting has been extended + * New commands and new command options + * New convenice variables/functions + * Some GDB/MI improvements + * Remote protocal improvments + * SystemTap SDT probes support AArch64 GNU/Linux + * Support for Fission DWP file format version 2 + * 'tsave' command supports CTF (Common Trace Format) + * New script 'gcore' +- Remove now obsolete gdb-aarch64-hw-break.patch +- Remove merged bits from gdb-ppc64le.patch +- Rediff gdb-6.6-buildid-locate-rpm-suse.patch +- Add gdb-fix-attach-signalled-detach-stopped.patch + ------------------------------------------------------------------- Mon Dec 9 14:16:53 UTC 2013 - uweigand@de.ibm.com diff --git a/gdb.spec b/gdb.spec index 27968f6..6474ee3 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1,44 +1,48 @@ -# Copyright (c) 2012 RedHat -# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. # -# The license for this file, and modifications and additions to the +# spec file for package gdb +# +# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2012 RedHat +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which -# case the license is the MIT License). -# -# rpmbuild parameters: -# --with testsuite: Run the testsuite (biarch if possible). Default is without. -# --without python: No python support. -# --with profile: gcc -fprofile-generate / -fprofile-use: Before better -# workload gets run it decreases the general performance now. -# --define 'scl somepkgname': Independent packages by scl-utils-build. +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. -Summary: A GNU source-level debugger for C, C++, Fortran and other languages -Name: gdb +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +Summary: A GNU source-level debugger for C, C++, Fortran and other languages +License: GPL-3.0+ and GPL-3.0-with-GCC-exception and LGPL-2.1+ and LGPL-3.0+ +Group: Development/Tools/Debuggers +Name: gdb %global snap 20130731 # See timestamp of source gnulib installed into gdb/gnulib/ . %global snapgnulib 20121213 -Version: 7.6.50.20130731 +Version: 7.7 +Release: 0 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 0 -License: GPL-3.0+ and GPL-3.0-with-GCC-exception and LGPL-2.1+ and LGPL-3.0+ -Group: Development/Tools/Debuggers -BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRoot: %{_tmppath}/%{name}-%{version}-build # Do not provide URL for snapshots as the file lasts there only for 2 days. # ftp://sourceware.org/pub/gdb/releases/gdb-%{version}.tar.bz2 -Source: gdb-%{version}-cvs.tar.bz2 -URL: http://gnu.org/software/gdb/ +Source: gdb-%{version}.tar.bz2 +Url: http://gnu.org/software/gdb/ %if "%{scl}" == "devtoolset-1.1" -Obsoletes: devtoolset-1.0-%{pkg_name} +Obsoletes: devtoolset-1.0-%{pkg_name} %endif # For our convenience -%global gdb_src %{name}-%{version}-cvs +%global gdb_src %{name}-%{version} %global gdb_build build-%{_target_platform} %global gdb_docdir %{_docdir}/%{name}-doc @@ -47,7 +51,6 @@ Obsoletes: devtoolset-1.0-%{pkg_name} %global have_inproctrace 1 %endif # %{ix86} x86_64 - # GDB patches have the format `gdb--bz-.patch'. # They should be created using patch level 1: diff -up ./gdb (or gdb-6.3/gdb). @@ -62,156 +65,162 @@ Obsoletes: devtoolset-1.0-%{pkg_name} # Cleanup any leftover testsuite processes as it may stuck mock(1) builds. #=push -Source2: gdb-orphanripper.c +Source2: gdb-orphanripper.c # Man page for gstack(1). #=push -Source3: gdb-gstack.man +Source3: gdb-gstack.man # /etc/gdbinit (from Debian but with Fedora compliant location). #=fedora -Source4: gdbinit +Source4: gdbinit # libstdc++ pretty printers from GCC SVN HEAD (4.5 experimental). %global libstdcxxpython gdb-libstdc++-v3-python-r155978 -Source5: %{libstdcxxpython}.tar.bz2 +Source5: %{libstdcxxpython}.tar.bz2 # Provide gdbtui for RHEL-5 and RHEL-6 as it is removed upstream (BZ 797664). -Source6: gdbtui - +Source6: gdbtui #Fedora Packages begin -Patch1: gdb-6.3-rh-testversion-20041202.patch -Patch2: gdb-archer.patch -Patch3: gdb-6.3-rh-dummykfail-20041202.patch -Patch4: gdb-6.3-ppc64syscall-20040622.patch -Patch5: gdb-6.3-ppc64displaysymbol-20041124.patch -Patch6: gdb-6.6-scheduler_locking-step-sw-watchpoints2.patch -Patch7: gdb-6.3-gstack-20050411.patch -Patch8: gdb-6.3-test-pie-20050107.patch -Patch9: gdb-6.3-test-self-20050110.patch -Patch10: gdb-6.3-test-dtorfix-20050121.patch -Patch11: gdb-6.3-test-movedir-20050125.patch -Patch12: gdb-6.3-threaded-watchpoints2-20050225.patch -Patch13: gdb-6.3-inferior-notification-20050721.patch -Patch14: gdb-6.3-inheritancetest-20050726.patch -Patch15: gdb-6.3-readnever-20050907.patch -Patch16: gdb-6.5-bz203661-emit-relocs.patch -Patch17: gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch -Patch18: gdb-6.5-sharedlibrary-path.patch -Patch19: gdb-6.5-bz190810-gdbserver-arch-advice.patch -Patch20: gdb-6.5-BEA-testsuite.patch -Patch21: gdb-6.5-last-address-space-byte-test.patch -Patch22: gdb-6.5-readline-long-line-crash-test.patch -Patch23: gdb-6.5-bz216711-clone-is-outermost.patch -Patch24: gdb-6.5-bz218379-ppc-solib-trampoline-test.patch -Patch25: gdb-6.5-bz218379-solib-trampoline-lookup-lock-fix.patch -Patch26: gdb-6.5-bz109921-DW_AT_decl_file-test.patch -Patch27: gdb-6.3-bz140532-ppc-unwinding-test.patch -Patch28: gdb-6.3-bz202689-exec-from-pthread-test.patch -Patch29: gdb-6.6-bz230000-power6-disassembly-test.patch -Patch30: gdb-6.3-bz231832-obstack-2gb.patch -Patch31: gdb-6.6-bz229517-gcore-without-terminal.patch -Patch32: gdb-6.6-bz235197-fork-detach-info.patch -Patch33: gdb-6.6-testsuite-timeouts.patch -Patch34: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch -Patch35: gdb-6.6-scheduler_locking-step-is-default.patch -Patch36: gdb-6.3-attach-see-vdso-test.patch -Patch37: gdb-6.5-bz243845-stale-testing-zombie-test.patch -Patch38: gdb-6.6-buildid-locate.patch -Patch39: gdb-6.6-buildid-locate-solib-missing-ids.patch -Patch40: gdb-6.6-buildid-locate-rpm.patch -Patch41: gdb-6.6-bfd-vdso8k.patch -Patch42: gdb-6.7-charsign-test.patch -Patch43: gdb-6.7-ppc-clobbered-registers-O2-test.patch -Patch44: gdb-6.7-testsuite-stable-results.patch -Patch45: gdb-6.5-ia64-libunwind-leak-test.patch -Patch46: gdb-6.5-missed-trap-on-step-test.patch -Patch47: gdb-6.7-bz426600-DW_TAG_interface_type-test.patch -Patch48: gdb-6.5-gcore-buffer-limit-test.patch -Patch49: gdb-6.6-threads-static-test.patch -Patch50: gdb-6.3-mapping-zero-inode-test.patch -Patch51: gdb-6.3-focus-cmd-prev-test.patch -Patch52: gdb-6.8-bz442765-threaded-exec-test.patch -Patch53: gdb-6.8-sparc64-silence-memcpy-check.patch -Patch54: gdb-6.5-section-num-fixup-test.patch -Patch55: gdb-6.8-bz436037-reg-no-longer-active.patch -Patch56: gdb-6.8-watchpoint-conditionals-test.patch -Patch57: gdb-6.8-bz466901-backtrace-full-prelinked.patch -Patch58: gdb-6.8-bz457187-largefile-test.patch -Patch59: gdb-simultaneous-step-resume-breakpoint-test.patch -Patch60: gdb-core-open-vdso-warning.patch -Patch61: gdb-x86_64-i386-syscall-restart.patch -Patch62: gdb-bz533176-fortran-omp-step.patch -Patch63: gdb-follow-child-stale-parent.patch -Patch64: gdb-ccache-workaround.patch -Patch65: gdb-archer-pie-addons.patch -Patch66: gdb-archer-pie-addons-keep-disabled.patch -Patch67: gdb-lineno-makeup-test.patch -Patch68: gdb-ppc-power7-test.patch -Patch69: gdb-bz541866-rwatch-before-run.patch -Patch70: gdb-moribund-utrace-workaround.patch -Patch71: gdb-archer-next-over-throw-cxx-exec.patch -Patch72: gdb-bz601887-dwarf4-rh-test.patch -Patch73: gdb-6.6-buildid-locate-core-as-arg.patch -Patch74: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch -Patch75: gdb-test-bt-cfi-without-die.patch -Patch76: gdb-gdb-add-index-script.patch -Patch77: gdb-bz568248-oom-is-error.patch -Patch78: gdb-bz634108-solib_address.patch -Patch79: gdb-test-pid0-core.patch -Patch80: gdb-test-dw2-aranges.patch -Patch81: gdb-test-expr-cumulative-archer.patch -Patch82: gdb-7.2.50-sparc-add-workaround-to-broken-debug-files.patch -Patch83: gdb-glibc-vdso-workaround.patch -Patch84: gdb-runtest-pie-override.patch -Patch85: gdb-attach-fail-reasons-5of5.patch -Patch86: gdb-stale-frame_info.patch -Patch87: gdb-glibc-strstr-workaround.patch -Patch88: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch -Patch89: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch -Patch90: gdb-rhbz795424-bitpos-20of25.patch -Patch91: gdb-rhbz795424-bitpos-21of25.patch -Patch92: gdb-rhbz795424-bitpos-22of25.patch -Patch93: gdb-rhbz795424-bitpos-23of25.patch -Patch94: gdb-rhbz795424-bitpos-25of25.patch -Patch95: gdb-rhbz795424-bitpos-25of25-test.patch -Patch96: gdb-rhbz795424-bitpos-lazyvalue.patch -Patch97: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch -Patch98: gdb-enable-count-crash.patch -Patch99: gdb-rhel5-gcc44.patch -Patch100: gdb-6.6-buildid-locate-rpm-scl.patch -Patch101: gdb-readline62-ask-more-rh.patch -Patch102: gdb-6.8-attach-signalled-detach-stopped.patch -Patch103: gdb-6.8-quit-never-aborts.patch -Patch104: gdb-rhel5-compat.patch +Patch1: gdb-6.3-rh-testversion-20041202.patch +Patch2: gdb-archer.patch +Patch3: gdb-upstream.patch +Patch4: gdb-6.3-rh-dummykfail-20041202.patch +Patch5: gdb-6.3-ppc64syscall-20040622.patch +Patch6: gdb-6.3-ppc64displaysymbol-20041124.patch +Patch7: gdb-6.6-scheduler_locking-step-sw-watchpoints2.patch +Patch8: gdb-6.3-gstack-20050411.patch +Patch9: gdb-6.3-test-pie-20050107.patch +Patch10: gdb-6.3-test-self-20050110.patch +Patch11: gdb-6.3-test-dtorfix-20050121.patch +Patch12: gdb-6.3-test-movedir-20050125.patch +Patch13: gdb-6.3-threaded-watchpoints2-20050225.patch +Patch14: gdb-6.3-inferior-notification-20050721.patch +Patch15: gdb-6.3-inheritancetest-20050726.patch +Patch16: gdb-6.3-readnever-20050907.patch +Patch17: gdb-6.5-bz203661-emit-relocs.patch +Patch18: gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch +Patch19: gdb-6.5-sharedlibrary-path.patch +Patch20: gdb-6.5-bz190810-gdbserver-arch-advice.patch +Patch21: gdb-6.5-BEA-testsuite.patch +Patch22: gdb-6.5-last-address-space-byte-test.patch +Patch23: gdb-6.5-readline-long-line-crash-test.patch +Patch24: gdb-6.5-bz216711-clone-is-outermost.patch +Patch25: gdb-6.5-bz218379-ppc-solib-trampoline-test.patch +Patch26: gdb-6.5-bz218379-solib-trampoline-lookup-lock-fix.patch +Patch27: gdb-6.5-bz109921-DW_AT_decl_file-test.patch +Patch28: gdb-6.3-bz140532-ppc-unwinding-test.patch +Patch29: gdb-6.3-bz202689-exec-from-pthread-test.patch +Patch30: gdb-6.6-bz230000-power6-disassembly-test.patch +Patch31: gdb-6.3-bz231832-obstack-2gb.patch +Patch32: gdb-6.6-bz229517-gcore-without-terminal.patch +Patch33: gdb-6.6-bz235197-fork-detach-info.patch +Patch34: gdb-6.6-testsuite-timeouts.patch +Patch35: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch +Patch36: gdb-6.6-scheduler_locking-step-is-default.patch +Patch37: gdb-6.3-attach-see-vdso-test.patch +Patch38: gdb-6.5-bz243845-stale-testing-zombie-test.patch +Patch39: gdb-6.6-buildid-locate.patch +Patch40: gdb-6.6-buildid-locate-solib-missing-ids.patch +Patch41: gdb-6.6-buildid-locate-rpm.patch +Patch42: gdb-6.6-bfd-vdso8k.patch +Patch43: gdb-6.7-charsign-test.patch +Patch44: gdb-6.7-ppc-clobbered-registers-O2-test.patch +Patch45: gdb-6.5-ia64-libunwind-leak-test.patch +Patch46: gdb-6.5-missed-trap-on-step-test.patch +Patch47: gdb-6.7-bz426600-DW_TAG_interface_type-test.patch +Patch48: gdb-6.5-gcore-buffer-limit-test.patch +Patch49: gdb-6.6-threads-static-test.patch +Patch50: gdb-6.3-mapping-zero-inode-test.patch +Patch51: gdb-6.3-focus-cmd-prev-test.patch +Patch52: gdb-6.8-bz442765-threaded-exec-test.patch +Patch53: gdb-6.8-sparc64-silence-memcpy-check.patch +Patch54: gdb-6.5-section-num-fixup-test.patch +Patch55: gdb-6.8-bz436037-reg-no-longer-active.patch +Patch56: gdb-6.8-watchpoint-conditionals-test.patch +Patch57: gdb-6.8-bz466901-backtrace-full-prelinked.patch +Patch58: gdb-6.8-bz457187-largefile-test.patch +Patch59: gdb-simultaneous-step-resume-breakpoint-test.patch +Patch60: gdb-core-open-vdso-warning.patch +Patch61: gdb-x86_64-i386-syscall-restart.patch +Patch62: gdb-bz533176-fortran-omp-step.patch +Patch63: gdb-follow-child-stale-parent.patch +Patch64: gdb-ccache-workaround.patch +Patch65: gdb-archer-pie-addons.patch +Patch66: gdb-archer-pie-addons-keep-disabled.patch +Patch67: gdb-lineno-makeup-test.patch +Patch68: gdb-ppc-power7-test.patch +Patch69: gdb-bz541866-rwatch-before-run.patch +Patch70: gdb-moribund-utrace-workaround.patch +Patch71: gdb-archer-next-over-throw-cxx-exec.patch +Patch72: gdb-bz601887-dwarf4-rh-test.patch +Patch73: gdb-6.6-buildid-locate-core-as-arg.patch +Patch74: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch +Patch75: gdb-test-bt-cfi-without-die.patch +Patch76: gdb-gdb-add-index-script.patch +Patch77: gdb-bz568248-oom-is-error.patch +Patch78: gdb-bz634108-solib_address.patch +Patch79: gdb-test-pid0-core.patch +Patch80: gdb-test-dw2-aranges.patch +Patch81: gdb-test-expr-cumulative-archer.patch +Patch82: gdb-7.2.50-sparc-add-workaround-to-broken-debug-files.patch +Patch83: gdb-glibc-vdso-workaround.patch +Patch84: gdb-runtest-pie-override.patch +Patch85: gdb-attach-fail-reasons-5of5.patch +Patch86: gdb-stale-frame_info.patch +Patch87: gdb-glibc-strstr-workaround.patch +Patch88: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch +Patch89: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch +Patch90: gdb-rhbz795424-bitpos-20of25.patch +Patch91: gdb-rhbz795424-bitpos-21of25.patch +Patch92: gdb-rhbz795424-bitpos-22of25.patch +Patch93: gdb-rhbz795424-bitpos-23of25.patch +Patch94: gdb-rhbz795424-bitpos-25of25.patch +Patch95: gdb-rhbz795424-bitpos-25of25-test.patch +Patch96: gdb-rhbz795424-bitpos-lazyvalue.patch +Patch97: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch +Patch98: gdb-enable-count-crash.patch +Patch99: gdb-testsuite-nohostid.patch +Patch100: gdb-python-stacksmash.patch +Patch101: gdb-rhel5-gcc44.patch +Patch102: gdb-6.6-buildid-locate-rpm-scl.patch +Patch103: gdb-readline62-ask-more-rh.patch +Patch104: gdb-6.8-attach-signalled-detach-stopped.patch +Patch105: gdb-6.8-quit-never-aborts.patch +Patch106: gdb-rhel5-compat.patch #Fedora Packages end # Upstream patch to fix gcc -Werror -Patch1002: gdb-6.6-buildid-locate-rpm-suse.patch -Patch1004: gdb-ia64-tdep.patch -Patch1005: gdb-aarch64-hw-break.patch -Patch1006: gdb-ppc64le.patch +Patch1002: gdb-6.6-buildid-locate-rpm-suse.patch +Patch1004: gdb-ia64-tdep.patch +Patch1006: gdb-ppc64le.patch -BuildRequires: ncurses-devel texinfo gettext flex bison glibc-devel zlib-devel +BuildRequires: bison +BuildRequires: flex +BuildRequires: gettext +BuildRequires: glibc-devel +BuildRequires: ncurses-devel +BuildRequires: texinfo +BuildRequires: zlib-devel %if %{suse_version} < 1020 -BuildRequires: expat +BuildRequires: expat %else -BuildRequires: libexpat-devel +BuildRequires: libexpat-devel %endif -BuildRequires: readline-devel -BuildRequires: zlib-devel -BuildRequires: rpm-devel +BuildRequires: readline-devel +BuildRequires: rpm-devel +BuildRequires: zlib-devel %if 0%{!?_without_python:1} %if 0%{suse_version} > 1000 -Requires: python-base +Requires: python-base %endif -BuildRequires: python-devel +BuildRequires: python-devel %endif # 0%{!?_without_python:1} # BuildArch would break RHEL-5 by overriding arch and not building noarch. %if 0%{?el5:1} -ExclusiveArch: noarch i386 x86_64 ppc ppc64 ia64 s390 s390x +ExclusiveArch: noarch i386 x86_64 ppc ppc64 ia64 s390 s390x %endif # 0%{?el5:1} %if 0%{?_with_testsuite:1} @@ -233,29 +242,33 @@ ExclusiveArch: noarch i386 x86_64 ppc ppc64 ia64 s390 s390x %endif #!s390x %endif #!el5 -BuildRequires: sharutils dejagnu +BuildRequires: dejagnu +BuildRequires: sharutils # gcc-objc++ is not covered by the GDB testsuite. -BuildRequires: gcc gcc-c++ gcc-gfortran gcc-java gcc-objc +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: gcc-gfortran +BuildRequires: gcc-java +BuildRequires: gcc-objc # Copied from gcc-4.1.2-32. %ifarch %{ix86} x86_64 ia64 ppc alpha -BuildRequires: gcc-ada +BuildRequires: gcc-ada %endif -BuildRequires: glibc-devel-32bit +BuildRequires: glibc-devel-32bit %if 0%{suse_version} > 1120 -BuildRequires: gcc-c++-32bit +BuildRequires: gcc-c++-32bit %endif %if 0%{!?rhel:1} || 0%{?rhel} > 6 -BuildRequires: xz +BuildRequires: xz %endif %endif # 0%{?_with_testsuite:1} %ifarch ia64 -BuildRequires: libunwind-devel -Requires: libunwind +BuildRequires: libunwind-devel +Requires: libunwind %endif - %description GDB, the GNU debugger, allows you to debug programs written in C, C++, Java, and other languages, by executing them in a controlled fashion @@ -263,8 +276,9 @@ and printing their data. %if %{suse_version} > 1010 %package -n gdbserver -Summary: A standalone server for GDB (the GNU source-level debugger) -Group: Development/Tools/Debuggers +Summary: A standalone server for GDB (the GNU source-level debugger) +License: GPL-3.0+ and GPL-3.0-with-GCC-exception and LGPL-2.1+ and LGPL-3.0+ +Group: Development/Tools/Debuggers %description -n gdbserver GDB, the GNU debugger, allows you to debug programs written in C, C++, @@ -276,13 +290,13 @@ machine than the one which is running the program being debugged. %endif %package doc -Summary: Documentation for GDB (the GNU source-level debugger) -License: GFDL-1.3 -Group: Documentation/Other -PreReq: %{install_info_prereq} +Summary: Documentation for GDB (the GNU source-level debugger) +License: GFDL-1.3 +Group: Documentation/Other +PreReq: %{install_info_prereq} %if "%{scl}" == "devtoolset-1.1" -Obsoletes: devtoolset-1.0-%{pkg_name}-doc +Obsoletes: devtoolset-1.0-%{pkg_name}-doc %endif %description doc @@ -309,7 +323,6 @@ rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc-exp.c gdb/p-exp.c gdb/go-exp.c # we build in %{gdb_build}, just to be sure. find -name "*.info*"|xargs rm -f - #Fedora patching start %patch1 -p1 %patch2 -p1 @@ -410,20 +423,23 @@ find -name "*.info*"|xargs rm -f %patch97 -p1 %patch98 -p1 %patch99 -p1 -#%%patch100 -p1 -#%%patch100 -p1 -R +%patch100 -p1 #%%patch101 -p1 #%%patch101 -p1 -R -%patch102 -p1 -%patch103 -p1 -%patch104 -p1 +#%%patch102 -p1 +#%%patch102 -p1 -R +#%%patch103 -p1 +#%%patch103 -p1 -R +#%%patch104 -p1 +#%%patch104 -p1 -R +#%%patch105 -p1 +#%%patch105 -p1 -R +#%%patch106 -p1 +#%%patch106 -p1 -R #Fedora patching end - - %patch1002 -p1 %patch1004 -p1 -%patch1005 -p0 %patch1006 -p1 find -name "*.orig" | xargs rm -f @@ -437,7 +453,6 @@ rm -f bfd/doc/*.info-* rm -f gdb/doc/*.info rm -f gdb/doc/*.info-* - %build rm -rf %{buildroot} @@ -901,3225 +916,4 @@ then fi fi - %changelog -* Mon Feb 25 2013 Jan Kratochvil - 7.5.50.20130215-9.fc19 -- testsuite: Fix gdb.arch/powerpc-power6.exp testcase (IBM, RH BZ 890900). - -* Tue Feb 19 2013 Jan Kratochvil - 7.5.50.20130215-8.fc19 -- Temporarily disable PDF in gdb-doc for still unavailable texinfo RH BZ 876710. - -* Mon Feb 18 2013 Jan Kratochvil - 7.5.50.20130215-7.fc19 -- Rebase to FSF GDB 7.5.50.20130215 (pre-7.6 snapshot). - -* Fri Feb 8 2013 Jan Kratochvil - 7.5.50.20130118-6.fc19 -- Re-enable PDF in gdb-doc after texinfo RH BZ 876710 has been fixed. - -* Mon Feb 4 2013 Jan Kratochvil - 7.5.50.20130118-5.fc19 -- Release bump only. - -* Fri Feb 1 2013 Jan Kratochvil - 7.5.50.20130118-4.fc19 -- Fix assert crashes with minidebuginfo (BZ 903522). - -* Fri Jan 25 2013 Jan Kratochvil - 7.5.50.20130118-3.fc19 -- Release bump only. - -* Mon Jan 21 2013 Jan Kratochvil - 7.5.50.20130118-2.fc19 -- [RHEL] Reintroduce gdb-6.8-quit-never-aborts.patch. - -* Sat Jan 19 2013 Jan Kratochvil - 7.5.50.20130118-1.fc19 -- Rebase to FSF GDB 7.5.50.20130118 (pre-7.6 snapshot). - -* Sun Jan 13 2013 Jan Kratochvil - 7.5.1-35.fc18 -- [testsuite] Fix gdb-orphanripper.c lockup on F-17 (/dev/pts/* glibc chown). - -* Tue Jan 8 2013 Jan Kratochvil - 7.5.1-34.fc18 -- Update dlopen to support map_failed probe of glibc (Gary Benson, BZ 886516). - -* Thu Jan 3 2013 Jan Kratochvil - 7.5.1-33.fc18 -- [ppc*] Fix PowerPC disassembly regression (Alan Modra, Edjunior Machado). - -* Thu Dec 13 2012 Jan Kratochvil - 7.5.1-32.fc18 -- 'dwz -m' parsing fix (Tom Tromey). - -* Mon Dec 3 2012 Jan Kratochvil - 7.5.1-31.fc18 -- Fix DW_OP_GNU_implicit_pointer offset bug (Tom Tromey). - -* Sun Dec 2 2012 Jan Kratochvil - 7.5.1-30.fc18 -- Temporarily disable PDF in gdb-doc before texinfo RH BZ 876710 gets fixed. - -* Thu Nov 29 2012 Jan Kratochvil - 7.5.1-29.fc18 -- Provide Source URL when it is a release. - -* Thu Nov 29 2012 Jan Kratochvil - 7.5.1-28.fc18 -- Fix (unsplit) split info doc. - -* Thu Nov 29 2012 Jan Kratochvil - 7.5.1-27.fc18 -- Rebase to FSF GDB 7.5.1 (7.5 stable branch). - -* Fri Nov 9 2012 Jan Kratochvil - 7.5.0.20120926-26.fc18 -- Fix `GDB cannot access struct member whose offset is larger than 256MB' - (RH BZ 871066). - -* Fri Oct 5 2012 Jan Kratochvil - 7.5.0.20120926-25.fc18 -- entry values: Fix resolving in inlined frames. - -* Thu Sep 27 2012 Jan Kratochvil - 7.5.0.20120926-24.fc18 -- Permit passing pointers as address number even for C++ methods (Keith Seitz). - -* Thu Sep 27 2012 Jan Kratochvil - 7.5.0.20120926-23.fc18 -- Fix crash printing classes (BZ 849357, Tom Tromey). - -* Wed Sep 26 2012 Jan Kratochvil - 7.5.0.20120926-22.fc18 -- Fix .spec 'bundled' Provides for the stable branch rebase. - -* Wed Sep 26 2012 Jan Kratochvil - 7.5.0.20120926-21.fc18 -- [ppc32] Fix stepping over symbol-less code crash regression (BZ 860696). -- Rebase to FSF GDB 7.5.0.20120926 (7.5 stable branch). - - Remove the .spec Source keyword URL as not valid now. - -* Fri Sep 14 2012 Jan Kratochvil - 7.5-20.fc18 -- [RHEL-6] Disable no longer valid workaround of man pages .gz suffix. - -* Sat Aug 18 2012 Jan Kratochvil - 7.5-19.fc18 -- Rebase to FSF GDB 7.5. -- Update dlopen to support two variants of glibc (Gary Benson, BZ 669432). - -* Fri Aug 17 2012 Jan Kratochvil - 7.4.91.20120801-18.fc18 -- Drop Source URL for snapshots. -- Separate %%{snapgnulib} from %%{snap}. -- Fix %%{libstdcxxpython} to be %%{name}-prefixed. -- Fix debug info for go-exp.y and go-exp.c. -- Include RHEL-5 compatible %%{buildroot} cleanup. -- Use %%__global_ldflags. - -* Wed Aug 1 2012 Jan Kratochvil - 7.4.91.20120801-17.fc18 -- Rebase to FSF GDB 7.4.91.20120801. -- [dwz] Rebase it from FSF GDB HEAD. - -* Thu Jul 19 2012 Fedora Release Engineering - 7.4.50.20120714-16.fc18 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Mon Jul 16 2012 Jan Kratochvil - 7.4.50.20120714-15.fc18 -- [devtoolset] Include Obsoletes of devtoolset-1.0-* by devtoolset-1.1-*. - -* Sun Jul 15 2012 Jan Kratochvil - 7.4.50.20120714-14.fc18 -- Rebase to FSF GDB 7.4.50.20120714. - - Fix entryval feature crash on some .debug files optimized by dwz (BZ 839596). -- Fix another stale frame_info * (PR 11914, like PR 13866). - -* Fri Jul 6 2012 Jan Kratochvil - 7.4.50.20120703-13.fc18 -- [RHEL] Disable MiniDebugInfo F-18 feature on RHEL <= 6 (BZ 834068). - -* Fri Jul 6 2012 Jan Kratochvil - 7.4.50.20120703-12.fc18 -- Fix .spec metadata for the MiniDebugInfo F-18 feature (BZ 834068). - -* Fri Jul 6 2012 Jan Kratochvil - 7.4.50.20120703-11.fc18 -- [archer-tromey-dwz-multifile-rebase] Fix DWARF files reading (Tom Tromey). - -* Fri Jul 6 2012 Jan Kratochvil - 7.4.50.20120703-10.fc18 -- Fix build-id-core-loads internal error (BZ 837870). - -* Thu Jul 5 2012 Jan Kratochvil - 7.4.50.20120703-9.fc18 -- Implement MiniDebugInfo F-18 Feature consumer (Alexander Larsson, BZ 834068). - -* Tue Jul 3 2012 Jan Kratochvil - 7.4.50.20120703-8.fc18 -- Rebase to FSF GDB 7.4.50.20120703. -- [archer-tromey-dwz-multifile-rebase] Merge new branch (Tom Tromey). -- [arm] <--with testsuite>: Disable fpc BuildRequires as it is not yet built. -- Revert function returning pointer fix (PR 9514) regressing Fedora errno patch. - -* Thu Jun 21 2012 Sergio Durigan Junior - 7.4.50.20120603-7.fc18 -- Include testcase for BZ 818343. - -* Tue Jun 19 2012 Jan Kratochvil - 7.4.50.20120603-6.fc18 -- Fix regression of undisplayed missing shared libraries caused by a fix for: - GNU/Linux core open: Can't read pathname for load map: Input/output error. - -* Sun Jun 17 2012 Sergio Durigan Junior - 7.4.50.20120603-5.fc18 -- Include testcase for BZ 823789. - -* Thu Jun 14 2012 Jan Kratochvil - 7.4.50.20120603-4.fc18 -- Support DW_OP_GNU_parameter_ref for -O2 -g inferiors (BZ 827375). - -* Wed Jun 6 2012 Jan Kratochvil - 7.4.50.20120603-3.fc18 -- Disable -lmcheck in the development builds. -- Fix assertion on some files as glibc-2.15.90-8.fc18 (Doug Evans). - -* Sun Jun 3 2012 Jan Kratochvil - 7.4.50.20120603-2.fc18 -- Fix Release. -- Make yum --enablerepo compatible with at least mock-1.1.21-1.fc16 Rawhide cfg. - -* Sun Jun 3 2012 Jan Kratochvil - 7.4.50.20120602-1.fc18 -- Rebase to FSF GDB 7.4.50.20120602. -- [testsuite] BuildRequire gcc-go. -- Drop printing 2D C++ vectors as matrices which no longer worked (BZ 562763). -- Fix dejagnu-1.5-4.fc17 compatibility for Go (for BZ 635651). -- Use librpm.so.3 for rpm-4.10.0 in Fedora 18. -- Revert recent breakage of UNIX objfiles order for symbols lookup. - -* Sat Jun 2 2012 Jan Kratochvil - 7.4.50.20120120-48.fc17 -- [ppc] Fix hardware watchpoints on PowerPC (BZ 827600, Edjunior Machado). - -* Mon May 28 2012 Jan Kratochvil - 7.4.50.20120120-47.fc17 -- Workaround PR libc/14166 for inferior calls of strstr. - -* Mon May 14 2012 Jan Kratochvil - 7.4.50.20120120-46.fc17 -- [RHEL5] Workaround doc build race. - -* Mon May 14 2012 Jan Kratochvil - 7.4.50.20120120-45.fc17 -- Rename "set auto-load" patchset variable $ddir to $datadir. - -* Wed May 9 2012 Jan Kratochvil - 7.4.50.20120120-44.fc17 -- Fix in "set auto-load" patchset for SCL scripts inheritance (BZ 815910). - -* Wed Apr 25 2012 Jan Kratochvil - 7.4.50.20120120-43.fc17 -- [RHEL5] Workaround kernel for detaching SIGSTOPped processes (BZ 809382). - -* Tue Apr 24 2012 Jan Kratochvil - 7.4.50.20120120-42.fc17 -- Update "set auto-load" patchset and the --with-auto-load-safe-path setting. -- [RHEL] Disable gdb-add-index even on RHEL-6 as RHEL-6.0 had too old elfutils. - -* Wed Apr 18 2012 Jan Kratochvil - 7.4.50.20120120-41.fc17 -- [RHEL] Fix --with-auto-load-safe-path systems prior to /usr move. - -* Wed Apr 18 2012 Jan Kratochvil - 7.4.50.20120120-40.fc17 -- Security fix for loading untrusted inferiors, see "set auto-load" (BZ 756117). - -* Fri Apr 13 2012 Jan Kratochvil - 7.4.50.20120120-39.fc17 -- [RHEL7] Fix/remove readline-devel BuildRequires redundant distro suffic .fc17. - -* Wed Apr 4 2012 Jan Kratochvil - 7.4.50.20120120-38.fc17 -- Workaround crashes from stale frame_info pointer (BZ 804256). - -* Wed Apr 4 2012 Jan Kratochvil - 7.4.50.20120120-37.fc17 -- testsuite: Fix break-interp.exp expections for updated glibc (BZ 752834). - -* Wed Apr 4 2012 Jan Kratochvil - 7.4.50.20120120-36.fc17 -- [RHEL5,RHEL6] Reintroduce fix attaching to stopped processes. - -* Fri Mar 30 2012 Jan Kratochvil - 7.4.50.20120120-35.fc17 -- Fix performance regressions with .gdb_index (Tom Tromey, BZ 805274). - -* Fri Mar 30 2012 Jan Kratochvil - 7.4.50.20120120-34.fc17 -- Fixup %{_datadir}/gdb timestamps for multilib conflicts on RHELs. - -* Mon Mar 26 2012 Jan Kratochvil - 7.4.50.20120120-33.fc17 -- [vla] Fix regression on no type for subrange from IBM XLF Fortran (BZ 806920). - -* Sat Mar 17 2012 Jan Kratochvil - 7.4.50.20120120-32.fc17 -- Fix loading of core files without build-ids but with build-ids in executables. - -* Fri Mar 9 2012 Jan Kratochvil - 7.4.50.20120120-31.fc17 -- Fix an implied regression by the inferior calls fix below (BZ 799531). - -* Fri Mar 9 2012 Jan Kratochvil - 7.4.50.20120120-30.fc17 -- Fix SELinux deny_ptrace .spec build rules (BZ 786878). - -* Tue Mar 6 2012 Jan Kratochvil - 7.4.50.20120120-29.fc17 -- Fix inferior calls, particularly uncaught thrown exceptions (BZ 799531). -- Fix DWARF DIEs CU vs. section relative offsets (Joel Brobecker, me). - -* Tue Mar 6 2012 Jan Kratochvil - 7.4.50.20120120-28.fc17 -- Print reasons for failed attach/spawn incl. SELinux deny_ptrace (BZ 786878). - -* Sun Mar 4 2012 Jan Kratochvil - 7.4.50.20120120-27.fc17 -- [rhel5] Fix up the previous commit (BZ 799318). - -* Sun Mar 4 2012 Jan Kratochvil - 7.4.50.20120120-26.fc17 -- [rhel5] Fix up the previous commit (BZ 799318). - -* Sun Mar 4 2012 Jan Kratochvil - 7.4.50.20120120-25.fc17 -- [rhel5] Workaround rpmbuild to make the doc subpkg noarch again (BZ 799318). - -* Fri Mar 2 2012 Jan Kratochvil - 7.4.50.20120120-24.fc17 -- [vla] Fix crash for dynamic.exp with gcc-gfortran-4.1.2-51.el5.x86_64. -- Reintroduce RHEL-5 glibc workaround for bt-clone-stop.exp. -- testsuite: Update/fix rh634108-solib_address.exp for the upstreamed API. - -* Wed Feb 29 2012 Jan Kratochvil - 7.4.50.20120120-23.fc17 -- Add kernel vDSO workaround (`no loadable ...') on RHEL-5 (kernel BZ 765875). -- Fix skipping of prologues on RHEL-5 gcc-4.1 -O2 -g code (BZ 797889). -- Fix breakpoint warning during 'next' over exit() (Tom Tromey, BZ 797892). - -* Tue Feb 28 2012 Jan Kratochvil - 7.4.50.20120120-22.fc17 -- testsuite: Fix gdb.base/macscp.exp ccache workaround in SCL mode. -- Adjust the RHEL/F version string automatically (BZ 797651, BZ 797646). -- Provide gdbtui for RHEL-5 and RHEL-6 as it is removed upstream (BZ 797664). - -* Fri Feb 24 2012 Jan Kratochvil - 7.4.50.20120120-21.fc17 -- testsuite: Do not use gcc44/gfortran44 on RHEL-5 if in SCL mode. - -* Wed Feb 22 2012 Jan Kratochvil - 7.4.50.20120120-20.fc17 -- Fix libinproctrace.so build on RHEL-5 i386 (disable it on RHEL-5). - -* Wed Feb 22 2012 Jan Kratochvil - 7.4.50.20120120-19.fc17 -- Implement SCL (scl-utils-build) macros. - -* Tue Feb 21 2012 Jan Kratochvil - 7.4.50.20120120-18.fc17 -- Fix debuginfo gdb-gdb.py build without redhat-rpm-config and on RHEL-5. -- Provide precompiled variants of gdb-gdb.py. - -* Mon Feb 13 2012 Jan Kratochvil - 7.4.50.20120120-17.fc17 -- gstack: Turn off --readnever (suggested by Oliver Henshaw). - -* Fri Feb 10 2012 Jan Kratochvil - 7.4.50.20120120-16.fc17 -- [RHELs] Drop simulation of legacy behavior - new GDB should behave as new GDB. - -* Fri Feb 10 2012 Jan Kratochvil - 7.4.50.20120120-15.fc17 -- Simplify %%setup .spec rule. - -* Fri Feb 10 2012 Jan Kratochvil - 7.4.50.20120120-14.fc17 -- Drop --with upstream .spec rules. - -* Fri Feb 10 2012 Jan Kratochvil - 7.4.50.20120120-13.fc17 -- Drop --with debug .spec rules. - -* Thu Feb 9 2012 Jan Kratochvil - 7.4.50.20120120-12.fc17 -- Improve performance for C++ symbols expansion (Tom Tromey, BZ 787487). -- Install also gdb-gdb.py pretty printers. - -* Thu Feb 9 2012 Jan Kratochvil - 7.4.50.20120120-11.fc17 -- Fix possible NULL crash in find_charset_names (Tom Tromey, BZ 786091). -- [ppc*] Fix build failure due to GCC aliasing warning (BZ 786504). - -* Sat Jan 21 2012 Jan Kratochvil - 7.4.50.20120120-10.fc17 -- Rebase to FSF GDB 7.4.50.20120120. -- Drop the g77 .spec provisioning as it has been fixed in FSF GDB. - -* Thu Jan 19 2012 Jan Kratochvil - 7.4.50.20120103-9.fc17 -- Enable smaller %{_bindir}/gdb in future by no longer using -rdynamic. -- Make --enablerepo to use '*-debug*' for RHEL compatibility (BZ 781571). -- On older RHELs make readline bundled again (BZ 701131). -- Fix build compatibility with RHEL-5 due to false noarch build. - -* Wed Jan 11 2012 Jan Kratochvil - 7.4.50.20120103-8.fc17 -- Disable unexpected GDB directories relocatability. - -* Wed Jan 11 2012 Jan Kratochvil - 7.4.50.20120103-7.fc17 -- Fix BuildRequires for RHEL compatibility (BZ 701131). - -* Wed Jan 11 2012 Jan Kratochvil - 7.4.50.20120103-6.fc17 -- Provide %%snap timestamp for: Provides: bundled(librarypackage) -- Replace %%define by %%global. -- Replace Java in Summary with Fortran (only GCC-compiled Java is supported). -- Unbundle readline-6.2 with a workaround of skipped "ask" (BZ 701131). -- Work around readline-6.2 incompatibility not asking for --more-- (BZ 701131). - -* Sat Jan 7 2012 Jan Kratochvil - 7.4.50.20120103-5.fc17 -- Mark %{_sysconfdir}/gdbinit as %%config(noreplace). -- Add appropriate: Provides: bundled(librarypackage). -- Remove excessive explicit Requires: librarypackage. - -* Thu Jan 5 2012 Jan Kratochvil - 7.4.50.20120103-4.fc17 -- Fix linking on non-x86* (such as s390*) after libgdb.a removal. - -* Wed Jan 4 2012 Jan Kratochvil - 7.4.50.20120103-3.fc17 -- Reinclude gdb-dlopen-stap-probe.patch (missing in Fedora glibc - BZ 752476). - -* Tue Jan 3 2012 Jan Kratochvil - 7.4.50.20120103-2.fc17 -- Fix SystemTap support regression on i686 (Sergio Durigan Junior). - -* Tue Jan 3 2012 Jan Kratochvil - 7.4.50.20120103-1.fc17 -- Rebase to FSF GDB 7.4.50.20120103. - -* Mon Nov 28 2011 Jan Kratochvil - 7.3.50.20110722-11.fc17 -- No longer build bundled libstdc++ pretty printers on RHELs >= 7. - -* Sat Nov 5 2011 Sergio Durigan Junior - 7.3.50.20110722-10.fc16 -- Backport fix for crash in cp_scan_for_anonymous_namespace - (Aleksandar Ristovski, BZ 750341). - -* Fri Oct 14 2011 Jan Kratochvil - 7.3.50.20110722-9.fc16 -- Backport `info os processes' crash fix - for Eclipse (Pedro Alves, BZ 746294). - -* Tue Oct 11 2011 Jan Kratochvil - 7.3.50.20110722-8.fc16 -- Fix PIE testsuite run; new lib/future.exp hack and use -fPIC instead of -fPIE. - -* Mon Sep 26 2011 Jan Kratochvil - 7.3.50.20110722-7.fc16 -- [vla] Fix VLA arrays displayed in `bt full' (BZ 738482). -- Fix DW_OP_GNU_implicit_pointer for DWARF32 v3+ on 64-bit arches. -- Fix internal error on some optimized-out values. - -* Tue Aug 16 2011 Jan Kratochvil - 7.3.50.20110722-6.fc16 -- Python command/function auto-loading (Phil Muldoon, BZ 730976). -- Work around PR libc/13097 "linux-vdso.so.1" warning message. -- [TUI] Fix stepi on stripped code. -- Add BuildRequires: systemtap-sdt-devel for archer-sergiodj-stap-patch-split. - -* Wed Aug 10 2011 Jan Kratochvil - 7.3.50.20110722-5.fc16 -- Fix dlopen of libpthread.so, patched glibc required (Gary Benson, BZ 669432). - -* Tue Aug 9 2011 Jan Kratochvil - 7.3.50.20110722-4.fc16 -- Improve GDB performance on inferior dlopen calls (Gary Benson, BZ 698001). -- [python] Fix crash when pretty printer fails (Phil Muldoon, BZ 712715). -- Fix crash on invalid C++ mangled names (BZ 729283). - -* Fri Jul 29 2011 Jan Kratochvil - 7.3.50.20110722-3.fc16 -- Fix regression from VLA merge affecting -O0 -g watchpoints. - -* Fri Jul 29 2011 Jan Kratochvil - 7.3.50.20110722-2.fc16 -- Include gcc -g3 .debug_macro implementation by Tom Tromey. - -* Sat Jul 23 2011 Jan Kratochvil - 7.3.50.20110722-1.fc16 -- Rebase to FSF GDB 7.3.50.20110722. -- Improve gcc-4.6 stdarg false prologue end workaround (GDB PR 12435 + GCC PR 47471). - -* Sun Jul 3 2011 Jan Kratochvil - 7.2.90.20110703-40.fc15 -- Rebase to FSF GDB 7.2.90.20110703 (which is a 7.3 pre-release). - - Adjust the `print errno' patch due to the DW_AT_linkage_name following again. - -* Fri Jun 24 2011 Jan Kratochvil - 7.2.90.20110525-39.fc15 -- Fix install-info for the gdb-doc subpackage (BZ 715228). - -* Wed May 25 2011 Jan Kratochvil - 7.2.90.20110525-38.fc15 -- Rebase to FSF GDB 7.2.90.20110525 (which is a 7.3 pre-release). -- [stap] Fix double free (Sergio Durigan Junior). - -* Tue May 3 2011 Jan Kratochvil - 7.2.90.20110429-37.fc15 -- Search also for . files in /usr/lib/debug/.build-id (BZ 641377). - -* Mon May 2 2011 Jan Kratochvil - 7.2.90.20110429-36.fc15 -- Bundle readline-6.2 with a workaround of skipped "ask" (BZ 701131). - - Use --without-system-readline, disable Requires and BuildRequires of readline. - - Drop gdb-6.5-readline-long-line-crash.patch and gdb-readline-6.0-signal.patch. - -* Fri Apr 29 2011 Jan Kratochvil - 7.2.90.20110429-35.fc15 -- Rebase to FSF GDB 7.2.90.20110429 (which is a 7.3 pre-release). -- Fix -O2 -g breakpoints internal error + prologue skipping (BZ 612253). -- Fix case insensitive symbols for Fortran by iFort (BZ 645773). -- Fix physname-related CU expansion issue for C++ (PR 12708). -- Fix Python access to inlined frames (BZ 694824). - -* Mon Apr 11 2011 Jan Kratochvil - 7.2.90.20110411-34.fc15 -- Rebase to FSF GDB 7.2.90.20110411 (which is a 7.3 pre-release). -- Include the proper fix for anonymous struct typedefs (Tom Tromey, BZ 672230). - -* Wed Mar 30 2011 Fabio M. Di Nitto - 7.2.50.20110328-33.fc15 -- Cleanup spec file to add sparc|sparcv9|sparc64. -- Add sparc specific workarounds to toolchain badness: - - disable mmap in bdf/ via --without-mmap configure option. - - add patch to not build mmap support on sparc for gdb/. - - gdb code is NOT at fault, but we need a working gdb while we sort out - the toolchain and rebuild all packages. this workaround is NOT for upstream. - -* Tue Mar 29 2011 Jan Kratochvil - 7.2.50.20110328-32.fc15 -- Fix occasional crash on `print errno' with no -pthread and no -g3 (BZ 690908). - -* Mon Mar 28 2011 Jan Kratochvil - 7.2.50.20110328-31.fc15 -- Rebase to FSF GDB 7.2.50.20110328 (which is a 7.3 pre-release). -- Bundle %%{libstdcxxpython}.tar.bz2 unconditionally - for rebulds on RHELs. - -* Sun Mar 20 2011 Jan Kratochvil - 7.2.50.20110320-30.fc15 -- Fix threading internal error on corrupted memory (BZ 677654). -- Fix i386 rwatch+awatch before run (BZ 688788, on top of BZ 541866). - -* Sun Mar 20 2011 Jan Kratochvil - 7.2.50.20110320-29.fc15 -- Rebase to FSF GDB 7.2.50.20110320 (which is a 7.3 pre-release). -- Merge archer-sergiodj-stap, the SystemTap probes breakpoints feature. - - [stap] Fix -O2 warnings. -- Fix Ada support crash on uninitialized gdbarch. - -* Sat Mar 5 2011 Jan Kratochvil - 7.2.50.20110305-28.fc15 -- Rebase to FSF GDB 7.2.50.20110305 (which is a 7.3 pre-release). - -* Fri Feb 25 2011 Jan Kratochvil - 7.2.50.20110222-27.fc15 -- Include doc also in the PDF form; new BuildRequires: texinfo-tex. - -* Wed Feb 23 2011 Jan Kratochvil - 7.2.50.20110222-26.fc15 -- Rebase to FSF GDB 7.2.50.20110222 (which is a 7.3 pre-release). -- Fix attach/core-load of {,un}prelinked i386 libs (bugreport by Michal Toman). - -* Mon Feb 21 2011 Jan Kratochvil - 7.2.50.20110218-25.fc15 -- Drop %%{_datadir}/gdb/syscalls/* for unsupported arches. - -* Fri Feb 18 2011 Jan Kratochvil - 7.2.50.20110218-24.fc15 -- Rebase to FSF GDB 7.2.50.20110218 (which is a 7.3 pre-release). -- [vla] Fox Fortran vector slices for allocated arrays (for BZ 609782). - -* Tue Feb 15 2011 Jan Kratochvil - 7.2.50.20110213-23.fc15 -- Move the GFDL License to gdb-doc. - -* Tue Feb 15 2011 Jan Kratochvil - 7.2.50.20110213-22.fc15 -- Fix gdb-doc Group to be Documentation, also provide it as noarch. - -* Tue Feb 15 2011 Jan Kratochvil - 7.2.50.20110213-21.fc15 -- Drop non-user (gdbint) and obsolete (stabs) documentation. -- Install also HTML files besides the INFO file. -- Create new subpackage gdb-doc for both INFO and HTML files. - -* Sun Feb 13 2011 Jan Kratochvil - 7.2.50.20110213-20.fc15 -- Rebase to FSF GDB 7.2.50.20110213 (which is a 7.3 pre-release). -- Fix occasionall unfound source lines (affecting at least glibc debugging). -- Fix const/volatile qualifiers of C++ types (PR c++/12328). -- Be backward compatible for --rebuild with <=fc14 librpm.so.1. - -* Tue Feb 08 2011 Fedora Release Engineering - 7.2.50.20110206-19.fc15 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Sun Feb 6 2011 Jan Kratochvil - 7.2.50.20110206-18.fc15 -- Fix regressions on C++ names resolving (PR 11734, PR 12273, Keith Seitz). - -* Sun Feb 6 2011 Jan Kratochvil - 7.2.50.20110206-17.fc15 -- Rebase to FSF GDB 7.2.50.20110206 (which is a 7.3 pre-release). - -* Thu Jan 27 2011 Jan Kratochvil - 7.2.50.20110125-16.fc15 -- Fix Python new-backtrace command (BZ 672235, Phil Muldoon). - -* Wed Jan 26 2011 Jan Kratochvil - 7.2.50.20110125-15.fc15 -- Temporary fix of F15 gcc-4.6 child DIEs of DW_TAG_typedef (BZ 672230). -- Workaround gcc-4.6 stdarg false prologue end (GDB PR 12435 + GCC PR 47471). - -* Tue Jan 25 2011 Jan Kratochvil - 7.2.50.20110125-14.fc15 -- Rebase to FSF GDB 7.2.50.20110125 (which is a 7.3 pre-release). -- Fix discontiguous address ranges in .gdb_index - v3->v4 (BZ 672281). -- Fix DWARF-3+ DW_AT_accessibility default assumption for F15 gcc-4.6. - -* Thu Jan 20 2011 Jan Kratochvil - 7.2.50.20110117-13.fc15 -- Use librpm.so.2 for rpm-4.9.0 in Fedora 15. - -* Mon Jan 17 2011 Jan Kratochvil - 7.2.50.20110117-12.fc15 -- Use %%{?dist} for sanity checking tools compliance (suggested by Petr Muller). - -* Mon Jan 17 2011 Jan Kratochvil - 7.2.50.20110117-11.fc15 -- Rebase to FSF GDB 7.2.50.20110117 (which is a 7.3 pre-release). -- Fix callback-mode readline-6.0 regression for CTRL-C (for RHEL-6.0). - - Fix occasional NULL dereference of the readline-6.0 workaround (BZ 575516). - -* Sat Jan 15 2011 Jan Kratochvil - 7.2.50.20110107-10.fc15 -- [delayed-symfile] Test a backtrace regression on CFIs without DIE (BZ 614604). -- [archer-tromey-delayed-symfile] New test gdb.dwarf2/dw2-aranges.exp. -- [archer-keiths-expr-cumulative+upstream] Import C++ testcases. - - testsuite: Fix gdb-test-expr-cumulative-archer.patch compatibility. - -* Fri Jan 7 2011 Jan Kratochvil - 7.2.50.20110107-9.fc15 -- Remove --with-pythondir as no longer valid. -- Provide %{_bindir}gdb-add-index even on RHEL-5. -- Provide again libstdc++ pretty printers for any RHEL. - -* Fri Jan 7 2011 Jan Kratochvil - 7.2.50.20110107-8.fc15 -- Rebase to FSF GDB 7.2.50.20110107 (which is a 7.3 pre-release). -- Import archer-tromey-python (BZ 666177, branch update by Phil Muldoon). - -* Tue Jan 4 2011 Jan Kratochvil - 7.2.50.20110104-7.fc15 -- Rebase to FSF GDB 7.2.50.20110104 (which is a 7.3 pre-release). -- New testcase py-prettyprint.exp:print hint_error (for BZ 611569, BZ 629236). -- New test gdb.arch/x86_64-pid0-core.exp for kernel PID 0 cores (BZ 611435). - -* Sat Jan 1 2011 Jan Kratochvil - 7.2.50.20101231-6.fc15 -- Fix --with-system-readline doc build upstream regression. - -* Sat Jan 1 2011 Jan Kratochvil - 7.2.50.20101231-5.fc15 -- Rebase to FSF GDB 7.2.50.20101231 (which is a 7.3 pre-release). -- Remove gdb-6.3-bt-past-zero-20051201.patch, gdb-archer-ada.patch and - gdb-6.3-framepczero-20040927.patch already removed from .spec before. -- Remove gdb-6.5-dwarf-stack-overflow.patch, upstreamed (Tom Tromey). -- Remove gdb-6.6-bz225783-gdb-debuginfo-paths.patch, upstreamed (Tom Tromey). -- Remove gdb-6.6-readline-system.patch, reimplemented upstream (Tom Tromey). -- Remove gdb-bz642879-elfread-sigint-stale.patch, upstreamed (Jan Kratochvil). -- Remove gdb-next-over-throw.patch, upstreamed (Tom Tromey). - -* Mon Dec 27 2010 Jan Kratochvil - 7.2.50.20101117-4.fc15 -- Provide stub %%{_sysconfdir}/gdbinit (BZ 651232). - -* Mon Dec 27 2010 Jan Kratochvil - 7.2.50.20101117-3.fc15 -- Fix ppc* compilation of PRPSINFO in the core files (BZ 662995, for BZ 254229). -- Fix (disable) non-x86* compilation of libinproctrace.so (for BZ 662995). - -* Thu Nov 18 2010 Jan Kratochvil - 7.2.50.20101117-2.fc15 -- Drop gdb-6.8-glibc-headers-compat.patch: GNU/Linux irrelevant (Tom Tromey). -- Drop gdb-6.3-terminal-fix-20050214.patch: The bug is not reproducible. -- Drop gdb-6.7-kernel-headers-compat.patch: kernel-headers seem to be fixed. -- Drop gdb-archer-ada.patch: No longer needed for Ada (Keith Seitz). -- New PR backtrace/12237, drop gdb-6.3-framepczero-20040927.patch - gdb-6.3-bt-past-zero-20051201.patch as they already had no effect. -- Drop gdb-6.8-gcc35998-ada-memory-trash.patch as a different fix is upstream. -- Drop gdb-6.3-inheritance-20050324.patch: the call is redundent (Tom Tromey). -- Drop gdb-6.3-large-core-20051206.patch: obsoleted by MAX_COPY_BYTES. - -* Thu Nov 18 2010 Jan Kratochvil - 7.2.50.20101117-1.fc15 -- Rebase to FSF GDB 7.2.50.20101117 (which is a 7.3 pre-release). - -* Sun Nov 7 2010 Jan Kratochvil - 7.2-25.fc14 -- iFort compat. - case insensitive DWARF not in lowercase (BZ 645773). - -* Thu Oct 14 2010 Jan Kratochvil - 7.2-24.fc14 -- Add gdb.spec comments on the *.patch files upstream merge status. - -* Thu Oct 14 2010 Jan Kratochvil - 7.2-23.fc14 -- Workaround librpm BZ 643031 due to its unexpected exit() calls (BZ 642879). -- Fix crash on CTRL-C while reading an ELF symbol file (BZ 642879). - -* Tue Oct 12 2010 Jan Kratochvil - 7.2-22.fc14 -- testsuite: Provide missing lib/gdb-python.exp (for BZ 639089). - -* Tue Oct 12 2010 Jan Kratochvil - 7.2-21.fc14 -- Fix python stale error state, also fix its save/restore (BZ 639089). -- Fix inferior exec of new PIE x86_64 (BZ 638979). - -* Tue Oct 12 2010 Jan Kratochvil - 7.2-20.fc14 -- Fixup Release for 20.fc14. - -* Tue Oct 12 2010 Jan Kratochvil - 7.2-19.fc14 -- Use .gdb_index v3 to fix excessive resources rqmnts (BZ 640634, Tom Tromey). - -* Wed Oct 6 2010 Jan Kratochvil - 7.2-18.fc14 -- Fix false warning: non-absolute filename: (BZ 640648). - -* Thu Sep 30 2010 Jan Kratochvil - 7.2-17.fc14 -- New Conflicts: elfutils < 0.149 due to the .gdb_index .debug support. - -* Wed Sep 29 2010 Jan Kratochvil - 7.2-16.fc14 -- [ifunc] Fix crash on deleting watchpoint of an autovariable (BZ 637770). - -* Mon Sep 27 2010 Jan Kratochvil - 7.2-15.fc14 -- Revert the -O0 switch formerly to workaround GCC BZ 634757 (cmove bug). -- Remove no longer used BuildRequires: libstdc++. -- Remove commented out python libstdc++ .spec code. - -* Sat Sep 25 2010 Jan Kratochvil - 7.2-14.fc14 -- Fixup %{_datadir}/gdb/python/gdb timestamps for multilib conflicts. - -* Sat Sep 25 2010 Jan Kratochvil - 7.2-13.fc14 -- Fix .gdb_index for big-endian hosts (Tom Tromey). - -* Sat Sep 25 2010 Jan Kratochvil - 7.2-12.fc14 -- Fix lost siginfo_t in linux-nat (BZ 592031). - -* Sat Sep 25 2010 Jan Kratochvil - 7.2-11.fc14 -- Fix infinite loop crash on self-referencing class (BZ 627432). - -* Thu Sep 23 2010 Jan Kratochvil - 7.2-10.fc14 -- gcore/-Wl,-z,relro: Always write out all the pages until kernel gets a fix. - -* Wed Sep 22 2010 Jan Kratochvil - 7.2-9.fc14 -- Fix gcore writer for -Wl,-z,relro (PR corefiles/11804). - -* Wed Sep 22 2010 Jan Kratochvil - 7.2-8.fc14 -- Enable python by default even in Brew and on all the arches (BZ 609157). - -* Wed Sep 22 2010 Jan Kratochvil - 7.2-7.fc14 -- python: load *-gdb.py for shlibs during attach (BZ 634660). -- Fix double free crash during overload resolution (PR 12028, Sami Wagiaalla). - -* Sat Sep 18 2010 Jan Kratochvil - 7.2-6.fc14 -- Fix python gdb.solib_address (BZ 634108, fix by Phil Muldoon). -- Temporarily build with -O0 to workaround GCC BZ 634757 (cmove bug). - -* Tue Sep 14 2010 Jan Kratochvil - 7.2-5.fc14 -- Fix Ada regression when any .gdb_index library is present. - -* Sat Sep 11 2010 Jan Kratochvil - 7.2-4.fc14 -- Fix symbol lookup misses methods of current class (BZ 631158, Sami Wagiaalla). -- Fix python gdb.execute-to_string redirection (BZ 627506, with Paul Bolle). - -* Wed Sep 8 2010 Jan Kratochvil - 7.2-3.fc14 -- Do not crash on broken separate debuginfo due to old elfutils (BZ 631575). - -* Sat Sep 04 2010 Dennis Gilmore - 7.2-2.fc14 -- libinproctrace doesnt exist on sparc arches - -* Fri Sep 3 2010 Jan Kratochvil - 7.2-1.fc14 -- Formal update to the final FSF GDB release. - -* Tue Aug 24 2010 Dan Horák - 7.1.90.20100806-12.fc14 -- libinproctrace doesn't exist on s390(x) - -* Thu Aug 19 2010 Jan Kratochvil - 7.1.90.20100806-11.fc14 -- Fix crash on MI variable calling inferior function (BZ 610986). - -* Tue Aug 10 2010 Jan Kratochvil - 7.1.90.20100806-10.fc14 -- Fix /usr/bin/gdb-add-index missing -nx for gdb. -- New option --with profile (disabled by default - missing workload, BZ 615603). - -* Sat Aug 7 2010 Jan Kratochvil - 7.1.90.20100806-9.fc14 -- Fix python gdb.execute to_string pagination (BZ 620930). - -* Fri Aug 6 2010 Jan Kratochvil - 7.1.90.20100806-8.fc14 -- Out of memory is just an error, not fatal (uninitialized VLS vars, BZ 568248). - -* Fri Aug 6 2010 Jan Kratochvil - 7.1.90.20100806-7.fc14 -- Fix gcore from very small terminal windows (BZ 555076). -- Fix false `filesystem' debuginfo rpm request (BZ 599598). - -* Wed Jul 28 2010 Mamoru Tasaka - 7.1.90.20100721-6.fc14 -- Rebuild against python 2.7 - -* Thu Jul 22 2010 Jan Kratochvil - 7.1.90.20100721-5.fc14 -- Fix /usr/bin/gdb-add-index $d -> $dir typo. - -* Thu Jul 22 2010 Jan Kratochvil - 7.1.90.20100721-4.fc14 -- Import archer-tromey-python. -- Import archer-tromey-optional-psymtab (as present in FSF GDB post-7.2). - - Provide /usr/bin/gdb-add-index for rpm-build (Tom Tromey). - -* Thu Jul 22 2010 David Malcolm - 7.1.90.20100721-3.fc14 -- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild - -* Wed Jul 21 2010 Jan Kratochvil - 7.1.90.20100721-2.fc14 -- Fix prelinked executables with sepdebug and copy relocations (BZ 614659). - -* Wed Jul 21 2010 Jan Kratochvil - 7.1.90.20100721-1.fc14 -- Rebase to FSF GDB 7.1.90.20100721 (which is 7.2 pre-release). - -* Tue Jul 13 2010 Jan Kratochvil - 7.1-29.fc14 -- Disable temporarily Python files before the new rebase is done (BZ 613710). - -* Sun Jul 11 2010 Jan Kratochvil - 7.1-28.fc14 -- Rebuild for Fedora 14. - -* Wed Jun 30 2010 Jan Kratochvil - 7.1-28.fc13 -- Print 2D C++ vectors as matrices (BZ 562763, sourceware10659, Chris Moller). - -* Wed Jun 30 2010 Jan Kratochvil - 7.1-27.fc13 -- Fix obstack corruptions on C++ (BZ 606185, Chris Moller, Jan Kratochvil). -- Improve support for typedefs in classes (BZ 602314). -- Fix `set print object on' for some non-dynamic classes (BZ 606660). - -* Wed Jun 9 2010 Jan Kratochvil - 7.1-26.fc13 -- Backport DWARF-4 support (BZ 601887, Tom Tromey). - -* Wed Jun 9 2010 Jan Kratochvil - 7.1-25.fc13 -- Fix ADL anonymous type crash (BZ 600746, Sami Wagiaalla). - -* Tue Jun 1 2010 Jan Kratochvil - 7.1-24.fc13 -- Fix crash on /proc/PID/stat race during inferior exit (BZ 596751). -- testsuite: gdb.threads/watchthreads-reorder.exp kernel-2.6.33 compat. fix. - -* Sun May 30 2010 Jan Kratochvil - 7.1-23.fc13 -- Fix and support DW_OP_*piece (Tom Tromey, BZ 589467). -- Fix follow-exec for C++ programs (bugreported by Martin Stransky). - -* Mon May 24 2010 Jan Kratochvil - 7.1-22.fc13 -- Remove core file when starting a process (BZ 594560). -- Fix lock up on loops in the solib chain (BZ 593926). -- Import fix of TUI layout internal error (BZ 595475). - -* Sun May 16 2010 Jan Kratochvil - 7.1-21.fc13 -- Make gdb-6.8-bz254229-gcore-prpsinfo.patch RHEL-5 /usr/bin/patch compatible - (bugreported by Jonas Maebe). - -* Thu May 13 2010 Jan Kratochvil - 7.1-20.fc13 -- Fix crash on VLA bound referencing an optimized-out variable (BZ 591879). -- Re-enable the BZ 575292 and BZ 585445 C++ fix using an updated patch. - -* Wed May 12 2010 Jan Kratochvil - 7.1-19.fc13 -- Backport -completion bug on anonymous structure fields (BZ 590648). -- testsuite: Fix gdb.base/vla-overflow.exp FAILing on s390x (BZ 590635). -- Workaround non-stop moribund locations exploited by kernel utrace (BZ 590623). - -* Thu Apr 29 2010 Jan Kratochvil - 7.1-18.fc13 -- Make _Unwind_DebugHook independent from step-resume breakpoint (Tom Tromey). - -* Tue Apr 27 2010 Jan Kratochvil - 7.1-17.fc13 -- Fail gracefully if the _Unwind_DebugHook arg. is optimized out (Tom Tromey). - -* Tue Apr 27 2010 Jan Kratochvil - 7.1-16.fc13 -- Temporarily workaround the crash of BZ 575292 as there was now BZ 585445. - -* Mon Apr 26 2010 Jan Kratochvil - 7.1-15.fc13 -- Fix crash when using GNU IFUNC call from breakpoint condition. -- Avoid internal error by disabling the previous BZ 575292 fix (BZ 585445). - -* Thu Apr 22 2010 Jan Kratochvil - 7.1-14.fc13 -- Fix crash on C++ types in some debug info files (BZ 575292, Keith Seitz). -- Pretty printers not well documented (BZ 570635, Tom Tromey, Jan Kratochvil). - -* Fri Apr 16 2010 Jan Kratochvil - 7.1-13.fc13 -- archer-jankratochvil-fedora13 commit: 39998c496988faaa1509cc6ab76b5c4777659bf4 -- [vla] Fix boundaries for arrays on -O2 -g (support bound-ref->var->loclist). -- [vla] Fix copy_type_recursive for unavailable variables (Joost van der Sluis). - -* Sun Apr 11 2010 Jan Kratochvil - 7.1-12.fc13 -- Fix crash on trying to load invalid executable (BZ 581215). - -* Thu Apr 8 2010 Jan Kratochvil - 7.1-11.fc13 -- testsuite: Fix gdb.base/gstack.exp also for ppc64 inferiors (for BZ 579793). - -* Thu Apr 8 2010 Jan Kratochvil - 7.1-10.fc13 -- Fix s390 --with testsuite Buildrequiers to be (s390-32) (BZ 580347, Cai Qian). - -* Wed Apr 7 2010 Jan Kratochvil - 7.1-9.fc13 -- Fix gstack to print even the frame #0. New gdb.base/gstack.exp. (BZ 579793) -- Merge gdb-6.3-gstack-without-path-20060414.p* into gdb-6.3-gstack-20050411.p*, - no real code change. - -* Mon Apr 5 2010 Jan Kratochvil - 7.1-8.fc13 -- Fix breakpoint at *_start (BZ 162775, bugreport by John Reiser). - -* Sat Apr 3 2010 Jan Kratochvil - 7.1-7.fc13 -- Fix ppc build of the AVX registers support (for BZ 578250). - -* Sat Apr 3 2010 Jan Kratochvil - 7.1-6.fc13 -- Support AVX registers (BZ 578250). - -* Sat Apr 3 2010 Jan Kratochvil - 7.1-5.fc13 -- Fix dangling displays in separate debuginfo (BZ 574483). - -* Wed Mar 31 2010 Jan Kratochvil - 7.1-4.fc13 -- Remove gdb-readline-6.0-signal.patch with a bug causing crash while no longer - required with F-13 readline-6.1 (BZ 575516) - -* Mon Mar 29 2010 Jan Kratochvil - 7.1-3.fc13 -- [expr-cumulative] using-directive: Fix memory leak (Sami Wagiaalla). - -* Mon Mar 29 2010 Jan Kratochvil - 7.1-2.fc13 -- Drop obsoleted `gdb-archer-pie-0315-breakpoint_address_match.patch'. -- Do not consider memory error on reading _r_debug->r_map as fatal (BZ 576742). - - PIE: Attach binary even after re-prelinked underneath. - - PIE: Attach binary even after ld.so re-prelinked underneath. - - PIE: Fix occasional error attaching i686 binary (BZ 576742). -- testsuite: Fix unstable results of gdb.base/prelink.exp. - -* Thu Mar 25 2010 Jan Kratochvil - 7.1-1.fc13 -- Update to new FSF GDB release. - -* Mon Mar 15 2010 Jan Kratochvil - 7.0.90.20100312-24.fc13 -- Drop gdb-6.5-bz218379-ppc-solib-trampoline-fix.patch having false symbols - resolving (related to BZ 573277). - -* Fri Mar 12 2010 Jan Kratochvil - 7.0.90.20100312-23.fc13 -- Update to new FSF GDB snapshot. -- Fix double-free on std::terminate handler (Tom Tromey, BZ 562975). - -* Wed Mar 10 2010 Jan Kratochvil - 7.0.90.20100306-22.fc13 -- Another License update. - -* Wed Mar 10 2010 Jan Kratochvil - 7.0.90.20100306-21.fc13 -- Update License for all the licenses contained in .src.rpm. - -* Mon Mar 8 2010 Jan Kratochvil - 7.0.90.20100306-20.fc13 -- Remove unapplied: gdb-6.8-inlining-addon.patch gdb-6.8-inlining-by-name.patch - -* Mon Mar 8 2010 Jan Kratochvil - 7.0.90.20100306-19.fc13 -- Include also %%doc COPYING3 (review by Petr Machata). -- Remove URL for Source (review by Matej Cepl). - -* Sun Mar 7 2010 Jan Kratochvil - 7.0.90.20100306-18.fc13 -- archer-jankratochvil-fedora13 commit: 59c35a31f0981a0f0b884b32c91ae6325b2126cd - -* Sun Feb 28 2010 Jan Kratochvil - 7.0.50.20100203-17.fc13 -- Fix false warning: section .gnu.liblist not found in ... -- Fix crash on stale addrinfo->sectindex (more sensitive due to the PIE patch). - -* Fri Feb 26 2010 Jan Kratochvil - 7.0.50.20100203-16.fc13 -- Fix ia64 part of the bt-clone-stop.exp fix. -- Fix gdb.ada/* regressions (Keith Seitz). -- Remove false gdb_assert on $sp underflow. - -* Mon Feb 8 2010 Jan Kratochvil - 7.0.50.20100203-15.fc13 -- Fix i386+x86_64 rwatch+awatch before run, regression against 6.8 (BZ 541866). - -* Wed Feb 3 2010 Jan Kratochvil - 7.0.50.20100203-14.fc13 -- Rediff gdb-6.8-bz254229-gcore-prpsinfo.patch for older patch(1) compatibility. - -* Wed Feb 3 2010 Jan Kratochvil - 7.0.50.20100203-13.fc13 -- archer-jankratochvil-fedora13 commit: 59c35a31f0981a0f0b884b32c91ae6325b2126cd -- Fortran: Fix regression on setting breakpoint at toplevel symbols (BZ 559291; - David Moore, Intel). - -* Mon Feb 1 2010 Jan Kratochvil - 7.0.50.20100128-12.fc13 -- archer-jankratochvil-fedora13 commit: 5a573e8b26a2f0a6947d4c0249e43e5456610860 -- Remove ExcludeArch on ia64 as it is now fixed up. - -* Sun Jan 31 2010 Jan Kratochvil - 7.0.50.20100128-11.fc13 -- Fix failed gdb_assert due to the PIE patchset (BZ 559414). - -* Thu Jan 28 2010 Jan Kratochvil - 7.0.50.20100128-10.fc13 -- Upgrade to the FSF GDB snapshot: 7.0.50.20100128 -- archer-jankratochvil-fedora13 commit: 39c5a8b75fad3acd7204903db5dee025055a4594 - - Fix a regression on "AAA::ALPHA" test due to a merge from FSF GDB. -- Fix a regression of previous release due to false identification as core file. -- Move ifunc .patch into the GIT-managed archer-jankratochvil-fedora13 branch. -- Update gdb.pie/corefile.exp from 2007-01-26 FSF GDB commit by Andreas Schwab. - -* Mon Jan 25 2010 Jan Kratochvil - 7.0.50.20100121-9.fc13 -- Enable loading a core file just as a single argument to /usr/bin/gdb. - -* Sun Jan 24 2010 Jan Kratochvil - 7.0.50.20100121-8.fc13 -- testsuite: Fix gdb.arch/i386-bp_permanent.exp regression - -* Sun Jan 24 2010 Jan Kratochvil - 7.0.50.20100121-7.fc13 -- Update gdb.arch/powerpc-power7.exp for current binutils HEAD. - -* Fri Jan 22 2010 Jan Kratochvil - 7.0.50.20100121-6.fc13 -- Disable addon (finish) due to inline-cmds.exp: up from outer_inline2 assert. -- Fix gdb.arch/powerpc-power7.exp compatibility. - -* Fri Jan 22 2010 Jan Kratochvil - 7.0.50.20100121-5.fc13 -- Disable break-by-name on inlined functions due to a regression on parameters - of inlined functions falsely (BZ 556975 Comment 8). - -* Fri Jan 22 2010 Jan Kratochvil - 7.0.50.20100121-4.fc13 -- Adjust BuildRequires for RHELs, add ExcludeArch on ia64. -- Disable one PIE-introduced assertion on RHELs. - -* Thu Jan 21 2010 Jan Kratochvil - 7.0.50.20100121-3.fc13 -- Revert FSF GDB gdbserver tracepoints as incomplete now. - -* Thu Jan 21 2010 Jan Kratochvil - 7.0.50.20100121-2.fc13 -- archer-jankratochvil-fedora13 commit: 21e418c04290aa5d2e75543d31fe3fe5d70d6d41 -- [expr-cumulative] Fix "break expr if (cond)" regression. - -* Thu Jan 21 2010 Jan Kratochvil - 7.0.50.20100121-1.fc13 -- Upgrade to the FSF GDB snapshot: 7.0.50.20100121 -- archer-jankratochvil-fedora13 commit: ccde1530479cc966374351038057b9dda90aa251 -- [expr-cumulative] Archer branch is now included. - -* Tue Jan 19 2010 Jan Kratochvil - 7.0.50.20100118-2.fc13 -- Fix false PASS->FAIL of gdb.arch/i386-biarch-core.exp. - -* Tue Jan 19 2010 Jan Kratochvil - 7.0.50.20100118-1.fc13 -- Upgrade to the FSF GDB snapshot: 7.0.50.20100118 -- Upgrade libstdc++-v3-python to r155978 (Phil Muldoon). - -* Sat Jan 16 2010 Jan Kratochvil - 7.0.50.20100116-1.fc13 -- Upgrade to the FSF GDB snapshot: 7.0.50.20100116 -- archer-jankratochvil-fedora13 commit: 81810a20b2d2c3bf18e151de3cddfc96445b3c46 -- [expr-cumulative] Archer branch is missing in this release. -- Update rpm.org#76 workaround for rpm-4.8 using librpm.so.1. -- Dissect archer-jankratochvil-misc into Patch403...Patch408. -- Some regressions exist in this release. - -* Tue Jan 12 2010 Jan Kratochvil - 7.0.1-25.fc12 -- non-librpm missing debuginfo yumcommand now prints also --disablerepo='*' - to save some bandwidth by yum (Robin Green, BZ 554152). - -* Sun Jan 10 2010 Jan Kratochvil - 7.0.1-24.fc12 -- testsuite: BuildRequires also valgrind. - -* Fri Jan 8 2010 Jan Kratochvil - 7.0.1-23.fc12 -- Workaround missing libstdc++%%{bits_other} in Koji. - -* Fri Jan 8 2010 Jan Kratochvil - 7.0.1-22.fc12 -- Comply with new package review: - - Fix .spec Source as this is not a snapshot now. - - Convert all spaces to tabs. - - Fix missing %%defattr at %%files for gdbserver. - - Replace all hardcoded-library-path by variants of %%{_isa}. -- Include %%{_isa} for appropriate Requires and BuildRequires. - -* Thu Jan 7 2010 Jan Kratochvil - 7.0.1-21.fc12 -- [vla] Fix regression on fields of structs in internal vars (BZ 553338). -- archer-jankratochvil-fedora12 commit: 6e73988f653ba986e8742f208f17ec084292cbd5 - -* Thu Jan 7 2010 Jan Kratochvil - 7.0.1-20.fc12 -- Fix crash reading broken stabs (it377671). - -* Sun Jan 3 2010 Jan Kratochvil - 7.0.1-19.fc12 -- testsuite: Fixup false FAILs for gdb.cp/constructortest.exp. - -* Sat Jan 2 2010 Jan Kratochvil - 7.0.1-18.fc12 -- Fix regression of gdb-7.0 (from 6.8) crashing on typedefed bitfields. -- Fix related_breakpoint stale ref crash. - -* Fri Jan 1 2010 Jan Kratochvil - 7.0.1-17.fc12 -- Formal upgrade to the FSF GDB release gdb-7.0.1. - - Fix regression of gdb-7.0.1 not preserving typedef of a field. - -* Fri Jan 1 2010 Jan Kratochvil - 7.0-16.fc12 -- More RHEL-5 compatibility updates. - - Disable the build-id support by default. - - Bundle back gdbserver to the base gdb package. - - Remove bundled pstack. - - Drop the BuildRequires of rpm-devel. - -* Fri Jan 1 2010 Jan Kratochvil - 7.0-15.fc12 -- Fix error on a sw watchpoint active at function epilogue (hit on s390x). -- testsuite: Fix false MI "unknown output after running" regression. -- testsuite: Update ia64-sigtramp.exp for recent GDB. -- Implement bt-clone-stop.exp fix also for ia64. -- testsuite: Upstream condbreak.exp results stability fix (Daniel Jacobowitz). - -* Thu Dec 24 2009 Jan Kratochvil - 7.0-14.fc12 -- testsuite: Fix constructortest.exp and expand-sals.exp for gcc-4.4.2-20.fc12. - -* Mon Dec 21 2009 Jan Kratochvil - 7.0-13.fc12 -- [pie] Fix a race in testcase gdb.base/valgrind-db-attach.exp. -- Fix regression by python on ia64 due to stale current frame. -- Disable python iff RHEL-5 && (Brew || ppc64). - -* Mon Dec 21 2009 Jan Kratochvil - 7.0-12.fc12 -- Workaround build on native ppc64 host. -- More RHEL-5 compatibility updates. - - Disable warning messages new for gdb-6.8+ for RHEL-5 backward compatibility. - - Workaround RHEL-5 kernels for detaching SIGSTOPped processes (BZ 498595). - - Serialize the testsuite output to keep the order for regression checks. - - Re-enable python for all non-ppc* arches. - - More gcc44 stack exceptions when running the testsuite on RHEL-5. -- Fix backward compatibility with G++ 4.1 namespaces "::". -- Fix regression on re-setting the single ppc watchpoint slot. -- Update snapshot of FSF gdb-7.0.x branch. - - Backport fix of dcache invalidation locking up GDB on ppc64 targets. - -* Fri Dec 18 2009 Jan Kratochvil - 7.0-11.fc12 -- [pie] Fix general ppc64 regression due to a function descriptors bug. -- [pie] Fix also keeping breakpoints disabled in PIE mode. -- Import upstream -completion crash fix. -- Drop some unused patches from the repository. -- More RHEL-5 build compatibility updates. - - Use gfortran44 when running the testsuite on RHEL-5. - - Disable python there due to insufficient ppc multilib. -- Fix orphanripper hangs and thus enable it again. - -* Mon Dec 14 2009 Jan Kratochvil - 7.0-10.fc12 -- Make gdb-6.3-rh-testversion-20041202.patch to accept both RHEL and Fedora GDB. -- Adjust BuildRequires for Fedora-12, RHEL-6 and RHEL-5 builds. -- [vla] Fix compatibility of dynamic arrays with iFort (BZ 514287). -- Fix stepping through OMP parallel Fortran sections (BZ 533176). -- New fix of bp conditionals [bp_location-accel] regression (BZ 538626). - -* Mon Dec 7 2009 Jan Kratochvil - 7.0-9.fc12 -- Replace the PIE (Position Indepdent Executable) support patch by a new one. -- Drop gdb-6.3-nonthreaded-wp-20050117.patch as fuzzy + redundant. -- Fix callback-mode readline-6.0 regression for CTRL-C. -- Fix syscall restarts for amd64->i386 biarch. -- Various testsuite results stability fixes. -- Fix crash on reading stabs on 64bit (BZ 537837). -- archer-jankratochvil-fedora12 commit: 16276c1aad1366b92e687c72cab30192280e1906 -- archer-jankratochvil-pie-fedora12 ct: 2ae60b5156d43aabfe5757940eaf7b4370fb05d2 - -* Thu Dec 3 2009 Jan Kratochvil - 7.0-8.fc12 -- Fix slowness/hang when printing some variables (Sami Wagiaalla, BZ 541093). -- archer-jankratochvil-fedora12 commit: 6817a81cd411acc9579f04dcc105e9bce72859ff - -* Wed Nov 25 2009 Jan Kratochvil - 7.0-7.fc12 -- Support GNU IFUNCs - indirect functions (BZ 539590). -- Fix bp conditionals [bp_location-accel] regression (Phil Muldoon, BZ 538626). -- Fix missed breakpoint location [bp_location-accel] regression (upstream). - -* Fri Oct 30 2009 Jan Kratochvil - 7.0-6 -- Fix missing zlib-devel BuildRequires to support compressed DWARF sections. -- Include post-7.0 FSF GDB fixes. - -* Fri Oct 23 2009 Jan Kratochvil - 7.0-5 -- Make the package buildable on RHEL-5/CentOS-5 (without librpm there). -- archer-jankratochvil-fedora12 commit: 5b73ea6a0f74e63db3b504792fc1d37f548bdf5c - -* Fri Oct 23 2009 Jan Kratochvil - 7.0-4 -- Fix rpm --excludedocs (BZ 515998). - -* Thu Oct 22 2009 Jan Kratochvil - 7.0-3 -- Support multiple directories for `set debug-file-directory' (BZ 528668). - -* Mon Oct 19 2009 Jan Kratochvil - 7.0-2 -- Sync the .spec with RHEL/CentOS without EPEL, do not BuildRequires: fpc there. - -* Wed Oct 7 2009 Jan Kratochvil - 7.0-1 -- Formal upgrade to the final FSF GDB release gdb-7.0. -- Fix GNU/Linux core open: Can't read pathname for load map: Input/output error. -- archer-jankratochvil-fedora12 commit: ce4ead356654b951a49ca78d81ebfff95e758bf5 - -* Wed Sep 30 2009 Jan Kratochvil - 6.8.91.20090930-2 -- Bump release. - -* Wed Sep 30 2009 Jan Kratochvil - 6.8.91.20090930-1 -- Fix broken python "help()" command "modules" (BZ 526552). -- Upgrade to the FSF GDB gdb-7.0 snapshot: 6.8.91.20090930 -- archer-jankratochvil-fedora12 commit: 7cb860f03e2437c97239334ebe240d06f45723e0 - -* Sun Sep 27 2009 Jan Kratochvil - 6.8.91.20090925-3 -- New test for step-resume breakpoint placed in multiple threads at once. - -* Fri Sep 25 2009 Jan Kratochvil - 6.8.91.20090925-2 -- Fix buildid-loading libs w/matching name but different build-id (BZ 524572). - -* Fri Sep 25 2009 Jan Kratochvil - 6.8.91.20090925-1 -- Upgrade to the FSF GDB gdb-7.0 snapshot: 6.8.91.20090925 -- archer-jankratochvil-fedora12 commit: 4338ea85c798007c32594032f602db9fd230eba9 - - [python] Don't directly reference self.frame (Tom Tromey). - - [expr] Updates from branch (Keith Seitz). - -* Mon Sep 21 2009 Jan Kratochvil - 6.8.91.20090921-1 -- Upgrade to the FSF GDB gdb-7.0 snapshot: 6.8.91.20090921 -- archer-jankratochvil-fedora12 commit: 0d5c38dd89050c0ee1cf049656f177c170d675d4 - - [expr] Check has_stack_frames before calling find_pc_line (Sami Wagiaalla). - -* Thu Sep 17 2009 Jan Kratochvil - 6.8.91.20090917-2 -- Include bundled libstdc++ python; it will be in libstdc++-devel since gcc-4.5. - -* Thu Sep 17 2009 Jan Kratochvil - 6.8.91.20090917-1 -- Upgrade to the FSF GDB gdb-7.0 branch and snapshot: 6.8.91.20090917 -- archer-jankratochvil-fedora12 commit: 16f3f01cc2cbc15283462eaabdfcde92cf42cdc6 -- Drop the qsort_cmp workaround as resolved in FSF GDB now (BZ 515434). - -* Thu Sep 10 2009 Jan Kratochvil - 6.8.50.20090910-1 -- Upgrade to the FSF GDB gdb-6.8.50 snapshot: 6.8.50.20090910 -- archer-jankratochvil-fedora12 commit: 941eb487a42933e442cb4d11344cda96ecb8a04d - - [next-over-throw] Fix exceptions thrown during next (Tom Tromey). - - [bp_location-accel] Do not (much) slow down on 500+ breakpoints (me). - -* Thu Sep 3 2009 Jan Kratochvil - 6.8.50.20090818-8 -- archer-jankratochvil-fedora12 commit: a081d2f12945e9468edd5f4341d3e945bd0fefe9 - - [expr] Fix too slow lookups in large C++ programs (Sami Wagiaalla). - - [python] Fix varobj changed values reporting (GDB PR 10584, Tom Tromey). - -* Tue Sep 1 2009 Jan Kratochvil - 6.8.50.20090818-7 -- archer-jankratochvil-fedora12 commit: d25596676e8811b03f8c9aba6bbd04ebaa9ff5db - - [call-frame-cfa] Fix parsing CFA-relative frames (BZ 516627, Tom Tromey). - - [vla] variable length Fortran strings for -O -g code (part of BZ 508406, me). - - [python] varobj + general fixes (Tom Tromey). - -* Fri Aug 28 2009 Jan Kratochvil - 6.8.50.20090818-6 -- Real upstream fixup of qsort_cmp (BZ 515434). -- Revert bitfields regression (BZ 520129). - -* Tue Aug 25 2009 Jan Kratochvil - 6.8.50.20090818-5 -- Temporarily disable assertion checks crashing in qsort_cmp (BZ 515434). - -* Wed Aug 19 2009 Jan Kratochvil - 6.8.50.20090818-4 -- Fixup "bad type" internal error, import from FSF GDB. -- archer-jankratochvil-fedora12 commit: 2ba2bc451eb832182ef84c3934115de7a329da7c - -* Tue Aug 18 2009 Jan Kratochvil - 6.8.50.20090818-3 -- archer-jankratochvil-fedora12 commit: 850e3cb38a25cb7fdfa4cef667626ffbde51bcac -- Fix the hardware watchpoints. - -* Tue Aug 18 2009 Jan Kratochvil - 6.8.50.20090818-2 -- Fix patch fuzz 0. - -* Tue Aug 18 2009 Jan Kratochvil - 6.8.50.20090818-1 -- Upgrade to the FSF GDB gdb-6.8.50 snapshot: 6.8.50.20090818 -- archer-jankratochvil-fedora12 commit: 5e0d1cc74f119391a2c3ae25ef5749fc28674f06 - -* Wed Aug 12 2009 Jan Kratochvil - 6.8.50.20090811-4 -- Fix minor regressions introduced by the rebase from F-11 (6.8.50.20090302). - -* Tue Aug 11 2009 Jan Kratochvil - 6.8.50.20090811-3 -- archer-jankratochvil-fedora12 commit: 2888fafe63889757c6fd27ccc2f25661d43fd1a4 -- Drop archer-jankratochvil-vla VAROBJ invalidate/revalidate split to fix - regressions against FSF GDB HEAD. - -* Tue Aug 11 2009 Jan Kratochvil - 6.8.50.20090811-2 -- archer-jankratochvil-fedora12 commit: 93f5e942bdcdcc376ece452c309bedabae71def9 -- Fix "can't compute CFA for this frame" (by Tom Tromey, BZ 516627). - -* Tue Aug 11 2009 Jan Kratochvil - 6.8.50.20090811-1 -- Support constant DW_AT_data_member_location by GCC PR debug/40659 (BZ 515377). -- Fix .spec URL. -- archer-jankratochvil-fedora12 commit: 81de3c6abae4f7e3738aa9bcc0ab2f8725cce252 - -* Mon Aug 10 2009 Jan Kratochvil - 6.8.50.20090810-2 -- Upgrade to the FSF GDB gdb-6.8.50 snapshot: 6.8.50.20090810 -- archer-jankratochvil-fedora12 commit: 93ec16e6f5000dd64d433d86674e820ed0f35b72 - -* Tue Aug 4 2009 Jan Kratochvil - 6.8.50.20090803-2 -- Drop the bundled libstdc++ python - it should be packaged on its own now. - -* Tue Aug 4 2009 Jan Kratochvil - 6.8.50.20090803-1 -- Upgrade to the FSF GDB gdb-6.8.50 snapshot: 6.8.50.20090803 -- archer-jankratochvil-fedora12 commit: 0222cb1f4ddd1eda32965e464cb60b1e44e110b2 - -* Fri Jul 31 2009 Jan Kratochvil - 6.8.50.20090302-42 -- Release bump only. - -* Fri Jul 31 2009 Jan Kratochvil - 6.8.50.20090302-41 -- Fix compatibility of --with-system-readline and readline-6.0+. -- Temporarily disabled orphanripper on Fedora 12. - -* Fri Jul 24 2009 Fedora Release Engineering - 6.8.50.20090302-40 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Mon Jul 6 2009 Jan Kratochvil - 6.8.50.20090302-39 -- testsuite: Fix multiple runs in parallel on a single host. -- testsuite: Remove the rpmbuild option: --with parallel -- testsuite: Run the testsuite with default rpm _smp_mflags. - -* Mon Jul 6 2009 Jan Kratochvil - 6.8.50.20090302-38 -- Archer update to the snapshot: 17bfc0488f54aeeb7a9e20ef3caa7e31e8e985fb -- Archer backport: de9c5190034b84b0a5fb4b98b05b304cda187700 - - [vla] Fix a crash regression on constant DW_AT_data_member_location. - -* Mon Jun 29 2009 Jan Kratochvil - 6.8.50.20090302-37 -- Replace the fix of cloned-TIDs with no pthread from upstream (BZ 471819). -- Fix a parallel testsuite runs incompatibility in gdb.base/gcore-shmid0.exp. - -* Mon Jun 29 2009 Jan Kratochvil - 6.8.50.20090302-36 -- Fix GDB crash on cloned-TIDs with no associated pthread (BZ 471819). -- Workaround rpm.org#76 rpm-devel requirement for debuginfo names (BZ 508193). - -* Mon Jun 22 2009 Jan Kratochvil - 6.8.50.20090302-35 -- Accelerate sorting blocks on reading a file (found on WebKit) (BZ 507267). - -* Mon Jun 22 2009 Jan Kratochvil - 6.8.50.20090302-34 -- Fix backtraces from core files with the executable found+loaded via build-id. - - Due to F-11 GCC no longer needlessly duplicating .eh_frame as .debug_frame. - -* Tue Jun 16 2009 Jan Kratochvil - 6.8.50.20090302-33 -- Archer update to the snapshot: 05c402a02716177c4ddd272a6e312cbd2908ed68 -- Archer backport: 05c402a02716177c4ddd272a6e312cbd2908ed68 - - Remove the [archer-pmuldoon-exception-rewind-master] branch. - - Include this functionality as a FSF GDB accepted patchset. - -* Mon Jun 15 2009 Jan Kratochvil - 6.8.50.20090302-32 -- Fix crash on pending breakpoints with PIE (position-indep.-exec.) (BZ 505943). - -* Fri Jun 12 2009 Jan Kratochvil - 6.8.50.20090302-31 -- Fix an occasional crash during printing of missing debuginfo rpms (BZ 505401). - -* Fri Jun 12 2009 Jan Kratochvil - 6.8.50.20090302-30 -- Implement DW_OP_call_frame_cfa (for recent GCC). - -* Thu Jun 11 2009 Jan Kratochvil - 6.8.50.20090302-29 -- Archer update to the snapshot: 30c13da4efe18f43ee34aa4b29bc86e1a53de548 -- Archer backport: 30c13da4efe18f43ee34aa4b29bc86e1a53de548 - - Fix dereferencing unbound C arrays (BZ 505163). - -* Wed Jun 10 2009 Jan Kratochvil - 6.8.50.20090302-28 -- Archer update to the snapshot: 000db8b7bfef8581ef099ccca8689cfddfea1be8 -- Archer backport: b8d3bea36b137effc929e02c4dadf73716cb330b - - Ignore explicit die representing global scope '::' (gcc 4.1 bug). -- Archer backport: c2d5c4a39b10994d86d8f2f90dfed769e8f216f3 - - Fix parsing DW_AT_const_value using DW_FORM_string -- Archer backport: 8d9ab68fc0955c9de6320bec2821a21e3244600d - + db41e11ae0a3aec7120ad6ce86450d838af74dd6 - - Fix Fortran modules/namespaces parsing (but no change was visible in F11). -- Archer backport: 000db8b7bfef8581ef099ccca8689cfddfea1be8 - - Fix "some Python error when displaying some C++ objects" (BZ 504356). -- testsuite: Support new rpmbuild option: --with parallel -- testsuite: gdb-orphanripper.c: Fix uninitialized `termios.c_line'. -- Fix crashes due to (missing) varobj revalidation, for VLA (for BZ 377541). -- Archer backport: 58dcda94ac5d6398f47382505e9d3d9d866d79bf - + f3de7bbd655337fe6705aeaafcc970deff3dd5d5 - - Implement Fortran modules namespaces (BZ 466118). -- Fix crash in the charset support. - -* Thu Apr 30 2009 Jan Kratochvil - 6.8.50.20090302-27 -- Fix race in the ia64 testcase `gdb-6.3-rh-testlibunwind-20041202.patch'. - -* Mon Apr 27 2009 Jan Kratochvil - 6.8.50.20090302-26 -- Support a new rpmbuild option: --without python - -* Mon Apr 27 2009 Jan Kratochvil - 6.8.50.20090302-25 -- The Koji build failures may have been by forgotten check-in of the Patch360. - -* Mon Apr 27 2009 Jan Kratochvil - 6.8.50.20090302-24 -- Another new Koji build fix attempt now by: BuildPreReq: python - -* Mon Apr 27 2009 Jan Kratochvil - 6.8.50.20090302-23 -- Fix BuildRequires for new Koji. - -* Mon Apr 27 2009 Jan Kratochvil - 6.8.50.20090302-22 -- Fix pstack/gstack cutting very long lines (BZ 497849). - -* Sun Apr 19 2009 Jan Kratochvil - 6.8.50.20090302-21 -- New test for parsing elf64-i386 files for kdump PAE vmcore dumps (BZ 457187). - -* Thu Apr 16 2009 Jan Kratochvil - 6.8.50.20090302-20 -- Fix crash in the charset support. - -* Wed Apr 15 2009 Jan Kratochvil - 6.8.50.20090302-19 -- Fix crash on pretty-printer reading uninitialized std::string (BZ 495781). - -* Mon Apr 13 2009 Jan Kratochvil - 6.8.50.20090302-18 -- Archer update to the snapshot: d1fee5066408a09423621d1ebc64e6d3e248ed08 -- Archer backport: 4854339f75bdaf4b228fc35579bddbb2a1fecdc1 - - Fix Python FrameIterator. - -* Mon Apr 13 2009 Jan Kratochvil - 6.8.50.20090302-17 -- Archer update to the snapshot: 7c250ce99c90cf6097e2ec55ea0f205830979cee -- Archer backport: c14d9ab7eef43281b2052c885f89d2db96fb5f8e - - Revert a change regressing: gdb.objc/basicclass.exp -- Archer backport: ebd649b96e61a1fb481801b65d827bca998c6633 - + 1f080e897996d60ab7fde20423e2947512115667 - + 1948198702b51b31d79793fc49434b529b4e245f - + e107fb9687bb1e7f74170aa3d19c4a8f6edbb10f - + 1e012c996e121cb35053d239a46bd5dc65b0ce60 - - Update the Python API from upstream. -- Archer backport: d3c83ad5ec9f7672b87af9ad29279f459e53da11 - - Fix a Python branch crash. - -* Mon Apr 13 2009 Dennis Gilmore - 6.8.50.20090302-16 -- enable gdbserver package on sparc64 - -* Sun Apr 5 2009 Jan Kratochvil - 6.8.50.20090302-15 -- Archer update to the snapshot: 7c7c77576669d17ad5072daa47ea3a4fd954483d -- Archer backport: 7c7c77576669d17ad5072daa47ea3a4fd954483d (Peter Bergner) - - Disassemble Power7 instructions right in the default/only -Many GDB mode. - -* Sun Apr 5 2009 Jan Kratochvil - 6.8.50.20090302-14 -- Archer update to the snapshot: f6273d446ff87e50976600ba3f71b88d61043e20 -- Archer backport: f6273d446ff87e50976600ba3f71b88d61043e20 - - Use pretty-printers to print base classes inside a derived class. - -* Mon Mar 30 2009 Jan Kratochvil - 6.8.50.20090302-13 -- Archer update to the snapshot: d144a3633454046aaeae3e2c369c271834431d36 -- Archer backport: a2c49b7640ebe7ce1376902d48d5bbbee600996b - - Fixup compilation older GCCs. -- Archer backport: fe48224ce1bd22f37a7fa6d111d54c1a340392bf - - KFAIL 4 cases of: gdb.arch/powerpc-power7.exp -- Archer backport: d144a3633454046aaeae3e2c369c271834431d36 - - Fix C local extern variables (requires gcc-4.4.0-0.30). - -* Fri Mar 27 2009 Jan Kratochvil - 6.8.50.20090302-12 -- Archer update to the snapshot: 837d9879980148af05eae540d92caeb7200f1813 -- Archer backport: 8340d06295c8db80c544503458305197891e0348 - - Fixes [master] regression for Eclipse CDT testsuite. -- Archer backport: 16328456d5740917ade0a49bcecc14c4564b9a99 - - Fixes #2 [expr] compatibility with gcc-4.4 on gdb.cp/namespace-using.exp. -- Rebase [expr] on the Keith Seitz's sync with FSF GDB fixing the former merge. - -* Sun Mar 22 2009 Jan Kratochvil - 6.8.50.20090302-11 -- Archer update to the snapshot: e734ed95d296a3342d4147873c4641cea6c4d7fe -- Archer backport: 1e1d73cda98b1adda884b80e07c7b4929c175628 - - Fixes [expr] compatibility with gcc-4.4 on gdb.cp/namespace-using.exp. - -* Sun Mar 15 2009 Jan Kratochvil - 6.8.50.20090302-10 -- Archer update to the snapshot: 935f217d3367a642374bc56c6b146d376fc3edab -- Archer backport: 281278326412f9d6a3fabb8adc1d419fd7ddc7d7 - - Fix [expr] crash reading invalid DWARF C++ symbol "" (BZ 490319). - -* Thu Mar 12 2009 Jan Kratochvil - 6.8.50.20090302-9 -- Archer backport: aafe933b497eee8cfab736a10bae1a90d4bceb18 - - [python] Remove duplicate target-wide-charset parameter - -* Mon Mar 9 2009 Jan Kratochvil - 6.8.50.20090302-8 -- Archer update to the snapshot: a99e30d08ade4a2df0f943b036cd653bcd12b04d -- Fixes internal error on breaking at a multi-locations C++ caller (BZ 488572). - -* Mon Mar 9 2009 Jan Kratochvil - 6.8.50.20090302-7 -- Archer update to the snapshot: ec29855686f2a78d90ebcc63765681249bbbe808 -- Temporarily place libstdc++ pretty printers in this gdb.rpm. - -* Sat Mar 7 2009 Jan Kratochvil - 6.8.50.20090302-6 -- Archer update to the snapshot: 543fb2154d3bd551344b990b911be5c6cc703504 - - Fixes [delayed-symfile] excessive `(no debugging symbols found)' messages. - -* Sat Mar 7 2009 Jan Kratochvil - 6.8.50.20090302-5 -- Improve `gdb-6.6-buildid-locate-rpm.patch' by dlopen() (+pkg-config compat.). - -* Sat Mar 7 2009 Jan Kratochvil - 6.8.50.20090302-4 -- Split `gdb-6.6-buildid-locate.patch' to `gdb-6.6-buildid-locate-rpm.patch'. - -* Sat Mar 7 2009 Jan Kratochvil - 6.8.50.20090302-3 -- Archer update to the snapshot: 6cf16c0711e844094ab694b3d929f7bd30b49f61 -- Fix crash on the inlined functions support. -- Fix crash from the PIE support, its varobj_refresh() was called only before - varobj_invalidate() which is sufficient. -- Fix BuildRequires for the `--with testsuite' runs. -- Use the newly introduced `--with-pythondir' option. -- Remove libstdcxx [python] pretty printers (as included in libstdc++ rpm now). - -* Fri Mar 06 2009 Jesse Keating - 6.8.50.20090302-2 -- Rebuild for new rpm libs - -* Mon Mar 2 2009 Jan Kratochvil - 6.8.50.20090302-1 -- Include the Archer Project: http://sourceware.org/gdb/wiki/ProjectArcher - snapshot: 8cc3753a9aad85bf53bef54c04334c60d16cb251 - * [python] Python scripting support: http://sourceware.org/gdb/wiki/PythonGdb - * [catch-syscall] Trap and display syscalls. - * [delayed-symfile] Improve startup performance by lazily read psymtabs. - * [exception-rewind] Fix fatal C++ exceptions in an inferior function call. - * [expr] Expressions, single-quote elimination, C++ input canonicalization. - * [using-directive] C++ namespaces. - * [vla] C variable length arrays / DW_FORM_block / Fortran dynamic arrays. - * [misc] Fix debuginfoless `return' (BZ 365111), fix command-line macros for - expected GCC (BZ 479914), new testcase for valgrind (for BZ 483262), - implement `info common' for Fortran, fix Fortran logical-kind=8 (BZ 465310), - fix static variable in C++ constructors (BZ 445912), fix power7 (BZ 485319). -- Upgrade to the FSF GDB gdb-6.8.50 snapshot. -- Fix parsing elf64-i386 files for kdump PAE vmcore dumps (BZ 457187). - - Turn on 64-bit BFD support, globally enable AC_SYS_LARGEFILE. - -* Tue Feb 24 2009 Fedora Release Engineering - 6.8.50.20090210-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild - -* Wed Feb 11 2009 Jan Kratochvil - 6.8.50.20090210-1 -- Upgrade to the FSF GDB gdb-6.8.50 snapshot. - -* Wed Feb 11 2009 Jan Kratochvil - 6.8.50.20090209-1 -- Upgrade to the FSF GDB gdb-6.8.50 snapshot. - -* Mon Feb 9 2009 Jan Kratochvil - 6.8.50.20081214-2 -- Fix crash / implement `finish' into inlined functions (BZ 479781). -- Drop the gdb.threads/attach-into-signal.exp change as obsolete. - -* Sun Dec 14 2008 Jan Kratochvil - 6.8.50.20081214-1 -- Upgrade to the upstream gdb-6.8.50 snapshot. - -* Mon Dec 1 2008 Jan Kratochvil - 6.8-33 -- Make `--with testsuite' BuildRequires properly conditional. - -* Mon Dec 1 2008 Stepan Kasal - 6.8-32 -- Remove trivial BuildRequires, use rpm macros in a few remaining places. - -* Tue Nov 18 2008 Jan Kratochvil - 6.8-31 -- Enable ia64 hardware watchpoints if created before starting inferior. - -* Sun Nov 9 2008 Jan Kratochvil - 6.8-30 -- Fix a race in the testcase `gdb.threads/step-thread-exit.exp'. - -* Sun Nov 9 2008 Jan Kratochvil - 6.8-29 -- Fix more the variable-length-arrays support (BZ 468266, feature BZ 377541). -- Integrate the `bt full' protection (for BZ 466901) into the VLA patch. - -* Thu Nov 6 2008 Jan Kratochvil - 6.8-28 -- Fix the "never terminate `bt full'" patch false GCC warning / build error. - -* Thu Nov 6 2008 Jan Kratochvil - 6.8-27 -- Fix resolving of variables at locations lists in prelinked libs (BZ 466901), - bugreported by Michal Babej. -- Never terminate `bt full' on a problem of variable resolving (for BZ 466901). - -* Thu Nov 6 2008 Jan Kratochvil - 6.8-26 -- Fix more the variable-length-arrays support (BZ 468266, feature BZ 377541). -- Fix the watchpoints conditionals. -- Fix on PPC spurious SIGTRAPs on active watchpoints. -- Fix occasional stepping lockup on many threads, seen on ia64. - -* Mon Nov 3 2008 Jan Kratochvil - 6.8-25 -- Fix the variable-length-arrays support (BZ 468266, feature BZ 377541). -- Fix the debuginfo-install suggestions for missing base packages (BZ 467901), - also update the rpm/yum code to no longer require _RPM_4_4_COMPAT. - -* Tue Sep 2 2008 Jan Kratochvil - 6.8-24 -- Fix PIE patch regression for loading binaries from valgrind (BZ 460319). - -* Thu Aug 28 2008 Jan Kratochvil - 6.8-23 -- Fix attaching to stopped processes, based on the upstream version now. - - Just kernel-2.6.25 neither upstream nor utrace work with it; 2.6.9 works. -- Fix occasional crash on a removed watchpoint. -- Fix false testcase FAILs for `gdb.pie/break.exp'. -- Fix a false warning (+a testcase FAIL) on s390x watchpoints. -- Fix a false FAIL on s390x `gdb.base/dump.exp'. - -* Wed Aug 27 2008 Jan Kratochvil - 6.8-22 -- Remove `gdb-6.3-nonthreaded-wp-20050117.patch' as obsoleted + regressing now. -- Make the GDB quit processing non-abortable to cleanup everything properly. -- Support DW_TAG_constant for Fortran in recent Fedora/RH GCCs. -- Fix crash on DW_TAG_module for Fortran in recent Fedora/RH GCCs. -- Readd resolving of bare names of constructors and destructors. -- Include various vendor testcases: - - Leftover zombie process (BZ 243845). - - Multithreaded watchpoints (`gdb.threads/watchthreads2.exp'). - - PIE testcases (`gdb.pie/*'). - - C++ contructors/destructors (`gdb.cp/constructortest.exp'). - -* Sat Aug 23 2008 Jan Kratochvil - 6.8-21 -- Fix MI debuginfo print on reloaded exec, found by Denys Vlasenko (BZ 459414). -- Extend the Fortran dynamic variables patch also for dynamic Fortran strings. - -* Wed Aug 13 2008 Jan Kratochvil - 6.8-20 -- Temporarily disable attaching to a stopped process (BZ 453688) - - To be reintroduced after a fix of the kernel BZ 454404. - -* Mon Aug 4 2008 Jan Kratochvil - 6.8-19 -- Fix `errno' printing on nonthreaded non-g3 inferiors (TLS minsym is absolute). - -* Fri Aug 1 2008 Jan Kratochvil - 6.8-18 -- Fix powerpc recent secure PLTs handling (shared library calls) (BZ 452960). -- Fix the testsuite .spec runner to run biarch also on ppc. -- Reenable testcases threadcrash.exp, chng-syms.exp, checkpoint.exp (BZ 207002). -- Fix PRPSINFO in the core files dumped by gcore (BZ 254229), reformatted patch - from Denys Vlasenko. -- Fix register assignments with no GDB stack frames, Denys Vlasenko (BZ 436037). - -* Mon Jul 14 2008 Jan Kratochvil - 6.8-17 -- Refresh the patchset with fuzz 0 (for new rpmbuild). - -* Mon Jul 14 2008 Jan Kratochvil - 6.8-16 -- Rebuild with the new rpm-4.5.90 in the buildroot. - -* Sat Jul 12 2008 Jan Kratochvil - 6.8-15 -- Temporary rpm-4.5.90 compatibility workaround by Panu Matilainen. -- Fix a regression in the constant watchpoints fix, found by Daniel Jacobowitz. -- Fix the prelink testcase for false FAILs on i386. - -* Tue Jul 8 2008 Jan Kratochvil - 6.8-14 -- Fix crash due to calling an inferior function right after a watchpoint stop. - -* Thu Jul 3 2008 Jan Kratochvil - 6.8-13 -- Support transparent debugging of inlined functions for an optimized code. - -* Fri Jun 20 2008 Jan Kratochvil - 6.8-12 -- Remove the gdb/gdbtui binaries duplicity. - -* Tue Jun 17 2008 Jan Kratochvil - 6.8-11 -- Fix the testsuite run for ia64 (where no -m64 is present). -- Test a crash on libraries missing the .text section. -- Protect development in the build tree by automatic Makefile dependencies. -- Refuse creating watchpoints of an address value, suggested by Martin Stransky. -- Disable randomization (such as by setarch -R), suggested by Jakub Jelinek. -- Fix compatibility with recent glibc headers. - -* Sun Jun 1 2008 Jan Kratochvil - 6.8-10 -- Fix crash on a watchpoint update on an inferior stop. -- Fix the s390x part of the hardware watchpoints after a fork. - -* Thu May 22 2008 Jan Kratochvil - 6.8-9 -- Fix memory trashing on binaries from GNAT/Ada (workaround GCC PR 35998). - -* Thu May 15 2008 Tom "spot" Callaway - 6.8-8 -- Silence memcpy check which returns false positive (sparc64) - -* Thu May 15 2008 Tom "spot" Callaway - 6.8-7 -- patch from DaveM for sparc/sparc64 -- touch up spec to enable sparcv9/sparc64 - -* Sat May 3 2008 Jan Kratochvil - 6.8-6 -- Fix gdb.base/gcore-shmid0.exp to be unresolved on recent kernels. -- Make the testsuite results of dfp-test.exp more stable. - -* Sun Apr 27 2008 Jan Kratochvil - 6.8-5 -- Remove the kernel VDSO workaround (`no loadable ...') (kernel BZ 312011). - -* Wed Apr 23 2008 Jan Kratochvil - 6.8-4 -- Backport fix on various forms of threads tracking across exec() (BZ 442765). -- Testsuite: Include more biarch libraries on %%{multilib_64_archs}. -- Disable the build-id warnings for the testsuite run as they cause some FAILs. -- Fix PIE support for 32bit inferiors on 64bit debugger. -- Fix trashing memory on one ada/gnat testcase. -- Make the testsuite results on ada more stable. - -* Wed Apr 16 2008 Jan Kratochvil - 6.8-3 -- Fix ia64 compilation errors (Yi Zhan, BZ 442684). -- Fix build on non-standard rpm-devel includes (Robert Scheck, BZ 442449). -- Do not run the PIE mode for the testsuite during `--with upstream'. -- Fix test of the crash on a sw watchpoint condition getting out of the scope. - -* Fri Apr 11 2008 Jan Kratochvil - 6.8-2 -- Fix a regression due to PIE of reloading a changed exec file (BZ 433410). -- Include also biarch libgcc on %%{multilib_64_archs} for the testsuite. -- Cosmetic fix of a testcase sanity breakpoint setting (part of BZ 233852). -- New test of hiding unexpected breakpoints on intentional step commands. -- New test of GCORE for shmid 0 shared memory mappings. -- New test of a crash on `focus cmd', `focus prev' commands. -- Fix a minor test race of the hardware watchpoints after the fork call. -- Test crash on a sw watchpoint condition getting out of the scope. - -* Fri Mar 28 2008 Jan Kratochvil - 6.8-1 -- Upgrade to the latest upstream final release gdb-6.8. - -* Mon Mar 10 2008 Jan Kratochvil - 6.7.50.20080227-3 -- build-id warnings integrated more with rpm and the lists of the warnings got - replaced usually by a single-line `debuginfo-install' advice. - - FIXME: Testsuite needs an update for the new pre-prompt messages. -- Fix the `--with upstream' compilation - gstack/pstack are now omitted. - -* Tue Mar 4 2008 Jan Kratochvil - 6.7.50.20080227-2 -- Drop the unused `ChangeLog.RedHat' file stubs. -- New rpm option `--with upstream' to drop the Fedora patches for testing. -- Drop some no longer valid .spec file comments. -- Include the Fortran dynamic arrays entry for changelog of 6.7.50.20080227-1. - -* Mon Mar 3 2008 Jan Kratochvil - 6.7.50.20080227-1 -- Upgrade to the upstream gdb-6.8 prerelease. -- Cleanup the leftover `.orig' files during %%prep. -- Add expat-devel check by the configure script (for the other-arch builds). -- `--with testsuite' now also BuildRequires: fpc -- Backport fix of a segfault + PIE regression since 6.7.1 on PIE executables. -- Update the printed GDB version string to be Fedora specific. -- Fix/implement the Fortran dynamic arrays support (BZ 377541). - -* Sat Mar 1 2008 Jan Kratochvil - 6.7.1-16 -- Run the full testsuite also in the `-fPIE -pie' mode. - -* Mon Feb 25 2008 Jan Kratochvil - 6.7.1-15 -- New --with parameters `testsuite' and `debug'. - - Testsuite is now run during the build only on explicit `--with testsuite'. -- Testsuite now possibly produces two outputs for the two GDB target arches. - -* Thu Feb 21 2008 Jan Kratochvil - 6.7.1-14 -- Rename `set debug build-id' as `set build-id-verbose', former level 1 moved - to level 2, default value is now 1, use `set build-id-verbose 0' now to - disable the missing separate debug filenames messages (BZ 432164). - -* Wed Feb 20 2008 Jan Kratochvil - 6.7.1-13 -- ia64 build fixes from Doug Chapman (BZ 428882). -- gdbserver separated into an extra package (BZ 405791). -- pstack obsoleted by included gstack (BZ 197020). -- Fix #include on kernel-headers-2.6.25-0.40.rc1.git2.fc9.x86_64. -- Drop the PowerPC simulator as no longer being compatible with Fedora binaries. - -* Thu Feb 7 2008 Jan Kratochvil - 6.7.1-12 -- build-id debug messages print now the library names unconditionally. - -* Thu Jan 24 2008 Jan Kratochvil - 6.7.1-11 -- Improve the text UI messages for the build-id debug files locating. - - Require now the rpm libraries. -- Fix false `(no debugging symbols found)' on `-readnever' runs. -- Extend the testcase `gdb.arch/powerpc-prologue.exp' for ppc64. - -* Sat Jan 12 2008 Jan Kratochvil - 6.7.1-10 -- Compilation fixup (-9 was never released). - -* Sat Jan 12 2008 Jan Kratochvil - 6.7.1-9 -- Fix also threaded inferiors for hardware watchpoints after the fork call. -- Test debugging statically linked threaded inferiors (BZ 239652). - - It requires recent glibc to work in this case properly. -- Testcase cleanup fixup of the gcore memory and time requirements of 6.7.1-8. - -* Thu Jan 10 2008 Jan Kratochvil - 6.7.1-8 -- Fix detaching from a threaded formerly stopped process with non-primary - thread currently active (general BZ 233852). - - Enable back again the testcases named `attachstop.exp' (no such exist now). - - Rename the testcase `gdb.threads/attachstop' to `gdb.threads/attachstop-mt'. -- Test ia64 memory leaks of the code using libunwind. -- Testcase delay increase (for BZ 247354). -- Test gcore memory and time requirements for large inferiors. - -* Mon Jan 7 2008 Jan Kratochvil - 6.7.1-7 -- Backport the gcc-4.3 compatibility -Werror fixes. -- Fix documentation on hardware watchpoints wrt multiple threads. -- Rename the patch file for BZ 235197 from its former name 234468. -- Fix the vendora testcase `attach-32.exp' affecting the other tests results. -- Support DW_TAG_interface_type the same way as DW_TAG_class_type (BZ 426600). - -* Mon Dec 10 2007 Jan Kratochvil - 6.7.1-6 -- Testsuite fixes for more stable/comparable results. - -* Sat Nov 24 2007 Jan Kratochvil - 6.7.1-5 -- Reduce the excessive gcc-* packages dependencies outside of mock/koji. - -* Fri Nov 16 2007 Jan Kratochvil - 6.7.1-4 -- Fix `errno' resolving across separate debuginfo files. -- Fix segfault on no file loaded, `set debug solib 1', `info sharedlibrary'. -- Extend the testsuite run for all the languages if %%{dist} is defined. -- Support gdb.fortran/ tests by substituting the g77 compiler by gfortran. - -* Sun Nov 4 2007 Jan Kratochvil - 6.7.1-3 -- Fix `errno' resolving on recent glibc with broken DW_AT_MIPS_linkage_name. -- Imported new test for 6.7 PPC hiding of call-volatile parameter register. - -* Sat Nov 3 2007 Jan Kratochvil - 6.7.1-2 -- Backport `Breakpoints at multiple locations' patch primarily for C++. - -* Thu Nov 1 2007 Jan Kratochvil - 6.7.1-1 -- Upgrade to GDB 6.7.1. Drop redundant patches, forward-port remaining ones. - -* Thu Nov 1 2007 Jan Kratochvil - 6.7-1 -- Upgrade to GDB 6.7. Drop redundant patches, forward-port remaining ones. -- Fix rereading of the main executable on its change. - -* Fri Oct 19 2007 Jan Kratochvil - 6.6-37 -- Fix hiding unexpected breakpoints on intentional step/next commands. -- Fix s390 compilation warning/failure due to a wrongly sized type-cast. - -* Sun Oct 14 2007 Jan Kratochvil - 6.6-36 -- Fix hardware watchpoints after inferior forks-off some process. - -* Sat Oct 13 2007 Jan Kratochvil - 6.6-35 -- Fix non-threaded watchpoints CTRL-C regression on `set follow child'. - -* Fri Oct 12 2007 Jan Kratochvil - 6.6-34 -- Fix gdbserver for threaded applications and recent glibc (BZ 328021). - -* Tue Oct 9 2007 Jan Kratochvil - 6.6-33 -- Fix debug load for sparse assembler files (such as vDSO32 for i386-on-x86_64). - -* Mon Oct 8 2007 Jan Kratochvil - 6.6-32 -- Set the breakpoints always to all the ctors/dtors variants (BZ 301701). -- Fix a TUI visual corruption due to the build-id warnings (BZ 320061). -- Fixed the kernel i386-on-x86_64 VDSO loading (producing `Lowest section in'). - -* Fri Oct 5 2007 Jan Kratochvil - 6.6-31 -- Fix address changes of the ctors/dtors breakpoints w/multiple PCs (BZ 301701). -- Delete an info doc file on `rpmbuild -bp' later rebuilt during `rpmbuild -bc'. - -* Tue Sep 25 2007 Jan Kratochvil - 6.6-30 -- Fix re-setting of the ctors/dtors breakpoints with multiple PCs (BZ 301701). -- Avoid one useless user question in the core files locator (build-id). - -* Sun Sep 23 2007 Jan Kratochvil - 6.6-29 -- Fixed the kernel VDSO loading (`warning: no loadable sections found in ...'). -- Fix the testcase for pending signals (from BZ 233852). - -* Sat Sep 22 2007 Jan Kratochvil - 6.6-28 -- Support also the `$allocate' and `$delete' ctor/dtor variants (BZ 301701). -- Fix the build compatibility with texinfo >= 4.10. -- Fix the testcase for pending signals (from BZ 233852). - -* Sun Sep 16 2007 Jan Kratochvil - 6.6-27 -- Fix attaching to stopped processes and/or pending signals. - -* Tue Aug 28 2007 Jan Kratochvil - 6.6-26 -- New fast verification whether the .debug file matches its peer (build-id). -- New locating of the matching binaries from the pure core file (build-id). - -* Fri Aug 17 2007 Jan Kratochvil - 6.6-25 -- Fixed excessive RPATH (related to BZ 228891). - -* Wed Aug 8 2007 Jan Kratochvil - 6.6-24 -- Fixed compatibility with the Rawhide glibc open(2) syscall sanity checking. -- Update the core_dump_elf_headers=1 compatibility code to the upstream variant. - -* Mon Aug 6 2007 Jan Kratochvil - 6.6-23 -- Update PPC unwinding patches to their upstream variants (BZ 140532). - -* Wed Jul 25 2007 Jesse Keating - 6.6-22 -- Rebuild for RH #249435 - -* Mon Jul 23 2007 Jan Kratochvil - 6.6-21 -- Fixed compatibility with Rawhide kernel fs.binfmt_elf.core_dump_elf_headers=1. -- .spec file updates to mostly pass RPMLINT - Fedora merge review (BZ 225783). -- Fixed testcase of the exit of a thread group leader (of BZ 247354). -- Cleanup any leftover testsuite processes as it may stuck mock(1) builds. - -* Sun Jul 8 2007 Jan Kratochvil - 6.6-20 -- Do not hang on exit of a thread group leader (BZ 247354). -- New test for upstream fix of VDSO decoding while attaching to an i386 process. -- Fixed BZ # 232014 -> 232015. - -* Thu Jul 5 2007 Jan Kratochvil - 6.6-19 -- Link with libreadline provided by the operating system. - -* Tue Jun 26 2007 Jan Kratochvil - 6.6-18 -- Fix PPC software watchpoints active while stepping atomic instr. (BZ 237572). - -* Thu Jun 21 2007 Jan Kratochvil - 6.6-17 -- Support for stepping over PPC atomic instruction sequences (BZ 237572). -- `set scheduler-locking step' is no longer enforced but it is now default. - -* Wed Jun 20 2007 Jan Kratochvil - 6.6-16 -- Fix attaching a stopped process on expected + upstream kernels (BZ 233852). - - Fix attaching during a pending signal being delivered. - -* Thu Jun 7 2007 Jan Kratochvil - 6.6-15 -- Testcase update to cover PPC Power6/DFP instructions disassembly (BZ 230000). -- Disable some known timeouting/failing testcases to reduce the build time. -- Fix crash on missing filenames debug info (BZ 242155). - -* Sat Apr 28 2007 Jan Kratochvil - 6.6-14 -- Fixup for the PPC Power6/DFP instructions disassembly (BZ 230000). -- New testcase for the GCORE buffer overflow (for BZ 238285, formerly 235753). - -* Wed Apr 25 2007 Jan Kratochvil - 6.6-13 -- Fix `gcore' command for 32bit PPC inferiors on 64bit PPC hosts (BZ 232015). - -* Wed Apr 25 2007 Jan Kratochvil - 6.6-12 -- Enable PowerPC to print 128-bit long double variables (BZ 237872). -- New testcase for gcore of 32bit inferiors on 64bit hosts. - -* Tue Apr 24 2007 Jan Kratochvil - 6.6-11 -- Package review, analysed by Ralf Corsepius (BZ 225783). - - Fix prelink(8) testcase for non-root $PATH missing `/usr/sbin' (BZ 225783). - - Fix debugging GDB itself - the compiled in source files paths (BZ 225783). - - Fix harmless GCORE stack buffer overflow, by _FORTIFY_SOURCE=2 (BZ 238285). - - Fix XML support - the build was missing `expat-devel'. - - Updated the `info' files handling by the spec file. - - Building now with the standard Fedora code protections - _FORTIFY_SOURCE=2. - - Use multiple CPUs for the build (%%{?_smp_mflags}). - - Separate testsuite run to its %%check section. - - Fix (remove) non-ASCII spec file characters. - - Remove system tools versions dumping - already present in mock build logs. - -* Sun Apr 22 2007 Jan Kratochvil - 6.6-10 -- Notify user of a child forked process being detached (BZ 235197). - -* Sun Apr 22 2007 Jan Kratochvil - 6.6-9 -- Allow running `/usr/bin/gcore' with provided but inaccessible tty (BZ 229517). -- Fix testcase for watchpoints in threads (for BZ 237096). -- BuildRequires now `libunwind-devel' instead of the former `libunwind'. -- Use the runtime libunwind .so.7, it requires now >= 0.99-0.1.frysk20070405cvs. - -* Sat Mar 24 2007 Jan Kratochvil - 6.6-8 -- Use definition of an empty structure as it is not an opaque type (BZ 233716). -- Fixed the gdb.base/attachstop.exp testcase false 2 FAILs. - -* Thu Mar 15 2007 Jan Kratochvil - 6.6-7 -- Suggest SELinux permissions problem; no assertion failure anymore (BZ 232371). - -* Wed Mar 14 2007 Jan Kratochvil - 6.6-6 -- Fix occasional dwarf2_read_address: Corrupted DWARF expression (BZ 232353). - -* Mon Mar 12 2007 Jan Kratochvil - 6.6-5 -- Temporary support for shared libraries >2GB on 64bit hosts. (BZ 231832) - -* Sun Feb 25 2007 Jan Kratochvil - 6.6-4 -- Backport + testcase for PPC Power6/DFP instructions disassembly (BZ 230000). - -* Mon Feb 5 2007 Jan Kratochvil - 6.6-3 -- Fix a race during attaching to dying threads; backport (BZ 209445). -- Testcase of unwinding has now marked its unsolvable cases (for BZ 140532). - -* Fri Jan 26 2007 Jan Kratochvil - 6.6-2 -- Backported post gdb-6.6 release PPC `show endian' fixup. -- Fix displaying of numeric char arrays as strings (BZ 224128). -- Simplified patches by merging upstream accepted ones into a single file. - -* Sat Jan 20 2007 Jan Kratochvil - 6.6-1 -- Upgrade to GDB 6.6. Drop redundant patches, forward-port remaining ones. -- Backported post gdb-6.6 release ia64 unwinding fixups. -- Testcase for exec() from threaded program (BZ 202689). - -* Mon Jan 15 2007 Jan Kratochvil - 6.5-27 -- Fix the testsuite results broken in 6.5-26, stop invalid testsuite runs. - -* Sat Jan 13 2007 Jan Kratochvil - 6.5-26 -- Fix unwinding of non-debug (.eh_frame) PPC code, Andreas Schwab (BZ 140532). -- Fix unwinding of debug (.debug_frame) PPC code, workaround GCC (BZ 140532). -- Fix missing testsuite .log output of testcases using get_compiler_info(). - -* Fri Jan 12 2007 Jan Kratochvil - 6.5-25 -- Fix unwinding of non-CFI (w/o debuginfo) PPC code by recent GCC (BZ 140532). - -* Thu Jan 11 2007 Jan Kratochvil - 6.5-24 -- Backport readline history for input mode commands like `command' (BZ 215816). - -* Tue Jan 9 2007 Jan Kratochvil - 6.5-23 -- Find symbols properly at their original (included) file (BZ 109921). -- Remove the stuck mock(1) builds disfunctional workaround (-> mock BZ 221351). - -* Sat Dec 30 2006 Jan Kratochvil - 6.5-22 -- Fix unwinding crash on older gcj(1) code (extended CFI support) (BZ 165025). -- Include testcase for the readline history of input mode commands (BZ 215816). - -* Sat Dec 23 2006 Jan Kratochvil - 6.5-21 -- Try to reduce sideeffects of skipping ppc .so libs trampolines (BZ 218379). -- Fix lockup on trampoline vs. its function lookup; unreproducible (BZ 218379). - -* Tue Dec 19 2006 Jan Kratochvil - 6.5-20 -- Fix bogus 0x0 unwind of the thread's topmost function clone(3) (BZ 216711). -- Testcase for readline segfault on excessively long hand-typed lines. - -* Tue Dec 12 2006 Jan Kratochvil - 6.5-19 -- Fix attachment also to a threaded stopped process (BZ 219118). -- Cleanup any leftover testsuite processes as it may stuck mock(1) builds. - -* Sat Nov 25 2006 Jan Kratochvil - 6.5-18 -- Fix readline history for input mode commands like `command' (BZ 215816). - -* Thu Nov 16 2006 Jan Kratochvil - 6.5-17 -- Bugfix testcase typo of gdb-6.5-16. - -* Thu Nov 16 2006 Jan Kratochvil - 6.5-16 -- Provide testcase for accessing the last address space byte. - -* Thu Nov 9 2006 Jan Kratochvil - 6.5-15 -- Fix readline segfault on excessively long hand-typed lines. - -* Thu Nov 2 2006 Jan Kratochvil - 6.5-14 -- Fix "??" resolving of symbols from (non-prelinked) debuginfo packages. -- Fix "??" resolving of symbols from overlapping functions (nanosleep(3)). -- Also disable testcase "checkpoint.exp" for a possible kernel Bug 207002. -- Provided (disabled during build) threading testsuite from BEA. - -* Sat Oct 14 2006 Jan Kratochvil - 6.5-13 -- Fix deadlock accessing last address space byte; for corrupted backtraces. - -* Sun Oct 8 2006 Jan Kratochvil - 6.5-12 -- Disabled IPv6 until its user visible syntax gets stable upstream. - -* Sun Oct 1 2006 Jan Kratochvil - 6.5-11 -- No longer disassemble invalid i386 opcodes of movQ/movA (BZ 172034). -- Simplify the IPv6 patch for gdbserver (BZ 198365). -- Suggest fixing your target architecture for gdbserver(1) (BZ 190810). -- Fix dereferencing registers for 32bit inferiors on 64bit hosts (BZ 181390). -- Fix `gcore' command for 32bit inferiors on 64bit hosts. - -* Wed Sep 27 2006 Jan Kratochvil - 6.5-10 -- Support IPv6 for gdbserver (BZ 198365). -- Temporarily disable testcase "chng-syms.exp" for a possible kernel Bug 207002. - -* Thu Sep 21 2006 Jan Kratochvil - 6.5-9 -- Fix crash on C++ symbol failing to be demangled (BZ 206813). -- Fix attach to stopped process, supersede `gdb-6.3-attach-stop-20051011.patch'. -- Fix TLS symbols resolving for objects with separate .debug file (-debuginfo). -- Fix TLS symbols resolving for shared libraries with a relative pathname. -- Support TLS symbols (+`errno' suggestion if no pthread is found) (BZ 185337). - -* Mon Sep 11 2006 Jan Kratochvil - 6.5-8 -- Fix gdb printf command argument using "%%p" (BZ 205551). - -* Mon Sep 4 2006 Alexandre Oliva - 6.5-7 -- Fix bug in patch for CVE-2006-4146. (BZ 203873, BZ 203880) - -* Thu Aug 24 2006 Alexandre Oliva - 6.5-6 -- Avoid overflows and underflows in dwarf expression computation stack. -(BZ 203873) - -* Thu Aug 24 2006 Alexandre Oliva - 6.5-5 -- Backport support for i386 nop memory instructions. -- Fix debuginfo addresses resolving for --emit-relocs Linux kernels -(BZ 203661, from Jan Kratochvil, like the remaining changes). -- Bugfix segv on the source display by ^X 1 (fixes Patch130, BZ -200048). -- Do not step into the PPC solib trampolines (BZ 200533). -- Fix exec() from threaded program, partial CVS backport (BZ 182116). -- Fix occasional failure to load shared libraries (BZ 146810). -- Bugfix object names completion (fixes Patch116, BZ 193763). -- Avoid crash of 'info threads' if stale threads exist (BZ 195429). -- Handle corrupted or missing location list information (BZ 196439). - -* Thu Jul 13 2006 Alexandre Oliva - 6.5-3 -- Add missing definition of multilib_64_archs for glibc-devel buildreqs. -- Backport support for .gnu.hash sections. - -* Wed Jul 12 2006 Alexandre Oliva - 6.5-2 -- BuildReq sharutils, prelink and, on multilib systems, 32-bit glibc-devel. -- Drop obsolete attach-stop patch. -- Fix testcases in threaded-watchpoints2 and step-thread-exit patches. -- Re-enable attach-pie.exp, asm-source.exp and sigstep.exp tests. - -* Tue Jul 11 2006 Alexandre Oliva - 6.5-1 -- Upgrade to GDB 6.5. Drop redundant patches, forward-port remaining -ones. Re-enable ada and objc testsuites. - -* Thu Jun 15 2006 Alexandre Oliva - 6.3.0.0-1.132 -- Require flex and bison at build time. -- Additional patch for BZ 175083, to cope with waitpid setting status -even when returning zero. - -* Wed May 31 2006 Alexandre Oliva - 6.3.0.0-1.131 -- Require gettext at build time. (BZ193366) - -* Sat May 27 2006 Alexandre Oliva - 6.3.0.0-1.130 -- Rewrite patch for BZ 175270, BZ 175083 so as to catch the exception -earlier. -- Remove too-fragile testcases from patches for CFA value and "S" -augmentation. - -* Wed May 17 2006 Alexandre Oliva - 6.3.0.0-1.129 -- Add not-automatically-generated file to fopen64 patch (BZ 191948). - -* Fri Apr 14 2006 Alexandre Oliva - 6.3.0.0-1.128 -- Avoid race conditions caused by exceptions messing with signal masks. -(BZ 175270, BZ 175083, maybe BZ 172938). -- Hardcode /bin and /usr/bin paths into gstack (BZ 179829, BZ 190548). -- Build in a subdir of the source tree instead of in a sibling directory. -- Switch to versioning scheme that uses the same base revision number -for all OSes, and uses a suffix to tell the builds apart and ensure -upgradability. - -* Thu Apr 13 2006 Stepan Kasal - 6.3.0.0-1.127 -- Bump up release number. - -* Thu Apr 13 2006 Stepan Kasal - 6.3.0.0-1.123 -- Use fopen64 where available. Fixes BZ 178796, BZ 190547. -- Use bigger numbers than int. Fixes BZ 171783, BZ 179096. - -* Wed Mar 8 2006 Alexandre Oliva - 6.3.0.0-1.122 -- Bump up release number. - -* Wed Mar 8 2006 Alexandre Oliva - 6.3.0.0-1.119 -- Fix regression in PIE debugging (BZ 133944) (re?)introduced by the -prelink fix (BZ 175075, BZ 190545). Improve testcase for the prelink -fix. -- Revert dwarf2 frame identifier change. - -* Tue Mar 7 2006 Alexandre Oliva - 6.3.0.0-1.118 -- Bump up release number. - -* Tue Mar 7 2006 Alexandre Oliva - 6.3.0.0-1.115 -- Change dwarf2 frame identifiers to use the actual PC instead of the -function's entry point. -- Fix FSF and GDB contact addresses in new testcases. -- Do not try to compile x86_64-only CFA testcase on 32-bit x86. -- Change prelink test to issue untested instead of warning message if -system libraries are not prelinked. - -* Fri Mar 3 2006 Alexandre Oliva - 6.3.0.0-1.114 -- Bump up release number. - -* Fri Mar 3 2006 Alexandre Oliva - 6.3.0.0-1.111 -- Add support for "S" augmentation for signal stack frames. -- Add support for CFA value expressions and encodings. -- Various improvements to the prelink test. - -* Thu Feb 23 2006 Alexandre Oliva - 6.3.0.0-1.110 -- Bump up release number. - -* Thu Feb 23 2006 Alexandre Oliva - 6.3.0.0-1.107 -- Enable gdb to debug core files and executables with mismatched -prelink base addresses. Fixes BZ 175075, BZ 190545. - -* Tue Feb 14 2006 Alexandre Oliva - 6.3.0.0-1.106 -- Bump up release number. - -* Tue Feb 14 2006 Alexandre Oliva - 6.3.0.0-1.103 -- Adjust type-punning patch to include fix not needed upstream. - -* Tue Feb 14 2006 Alexandre Oliva - 6.3.0.0-1.102 -- Bump up release number. - -* Tue Feb 14 2006 Alexandre Oliva - 6.3.0.0-1.99 -- Use type-punning warning fixes as accepted upstream. - -* Fri Feb 10 2006 Jesse Keating - 6.3.0.0-1.98.2 -- bump again for double-long bug on ppc(64) - -* Tue Feb 07 2006 Jesse Keating - 6.3.0.0-1.98.1 -- rebuilt for new gcc4.1 snapshot and glibc changes - -* Mon Jan 16 2006 Alexandre Oliva - 6.3.0.0-1.98 -- Bump up release number. - -* Mon Dec 19 2005 Alexandre Oliva - 6.3.0.0-1.94 -- Fix type-punning warnings issued by GCC 4.1. - -* Fri Dec 16 2005 Jesse Keating -- rebuilt for new gcj - -* Thu Dec 01 2005 Jeff Johnston - 6.3.0.0-1.93 -- Bump up release number. - -* Thu Dec 01 2005 Jeff Johnston - 6.3.0.0-1.90 -- Add option to allow backtracing past zero pc value. -- Bugzilla 170275 - -* Tue Nov 15 2005 Jeff Johnston - 6.3.0.0-1.89 -- Bump up release number. - -* Tue Nov 15 2005 Jeff Johnston - 6.3.0.0-1.86 -- Fix ia64 user-specified SIGILL handling error. -- Bugzilla 165038. - -* Tue Oct 18 2005 Jeff Johnston - 6.3.0.0-1.85 -- Bump up release number. - -* Tue Oct 18 2005 Jeff Johnston - 6.3.0.0-1.82 -- Modify attach patch to add missing fclose. -- Bugzilla 166712 - -* Tue Oct 11 2005 Jeff Johnston - 6.3.0.0-1.81 -- Bump up release number. - -* Tue Oct 11 2005 Jeff Johnston - 6.3.0.0-1.78 -- Support gdb attaching to a stopped process. - -* Thu Sep 29 2005 Jeff Johnston - 6.3.0.0-1.77 -- Bump up release number. - -* Thu Sep 29 2005 Jeff Johnston - 6.3.0.0-1.74 -- Fix up DSO read logic when process is attached. - -* Mon Sep 26 2005 Jeff Johnston - 6.3.0.0-1.73 -- Bump up release number. - -* Mon Sep 26 2005 Jeff Johnston - 6.3.0.0-1.70 -- Fix frame pointer calculation for ia64 sigtramp frame. - -* Thu Sep 22 2005 Jeff Johnston - 6.3.0.0-1.69 -- Bump up release number. - -* Thu Sep 22 2005 Jeff Johnston - 6.3.0.0-1.66 -- Remove extraneous xfree. - -* Wed Sep 07 2005 Jeff Johnston - 6.3.0.0-1.65 -- Bump up release number. - -* Wed Sep 07 2005 Jeff Johnston - 6.3.0.0-1.62 -- Readd readnever option - -* Wed Jul 27 2005 Jeff Johnston - 6.3.0.0-1.61 -- Bump up release number. - -* Tue Jul 26 2005 Jeff Johnston - 6.3.0.0-1.57 -- Bump up release number. - -* Tue Jul 26 2005 Jeff Johnston - 6.3.0.0-1.54 -- Add testcase to verify printing of inherited members -- Bugzilla 146835 - -* Mon Jul 25 2005 Jeff Johnston - 6.3.0.0-1.53 -- Bump up release number. - -* Mon Jul 25 2005 Jeff Johnston - 6.3.0.0-1.50 -- Fix bug with info frame and cursor address on ia64. -- Add testcase to verify pseudo-registers calculated for ia64 sigtramp. -- Bugzilla 160339 - -* Fri Jul 22 2005 Jeff Johnston - 6.3.0.0-1.49 -- Bump up release number. - -* Fri Jul 22 2005 Jeff Johnston - 6.3.0.0-1.46 -- Fix attaching to 32-bit processes on 64-bit systems. -- Bugzilla 160254 - -* Thu Jul 14 2005 Jeff Johnston - 6.3.0.0-1.45 -- Bump up release number. - -* Thu Jul 14 2005 Jeff Johnston - 6.3.0.0-1.42 -- Add work-around to make ia64 gcore work faster. -- Bugzilla 147436 - -* Thu Jul 14 2005 Jeff Johnston - 6.3.0.0-1.41 -- Bump up release number. - -* Mon Jul 11 2005 Jeff Johnston - 6.3.0.0-1.38 -- Fix backtracing across sigaltstack for ia64 -- Bugzilla 151741 - -* Fri Jul 08 2005 Jeff Johnston - 6.3.0.0-1.37 -- Bump up release number. - -* Fri Jul 08 2005 Jeff Johnston - 6.3.0.0-1.35 -- Build pseudo-registers properly for sigtramp frame. -- Bugzilla 160339 - -* Fri Jul 08 2005 Jeff Johnston - 6.3.0.0-1.34 -- Bump up release number. - -* Thu Jul 07 2005 Jeff Johnston - 6.3.0.0-1.31 -- Modify security errata to include additional bfd robustness updates -- Bugzilla 158680 - -* Fri Jun 10 2005 Jeff Johnston - 6.3.0.0-1.30 -- Bump up release number. - -* Fri Jun 10 2005 Jeff Johnston - 6.3.0.0-1.28 -- Security errata for bfd and .gdbinit file usage -- Bugzilla 158680 - -* Wed May 18 2005 Jeff Johnston - 6.3.0.0-1.24 -- Bump up release number. - -* Wed May 18 2005 Jeff Johnston - 6.3.0.0-1.23 -- Bump up release number. - -* Wed May 18 2005 Jeff Johnston - 6.3.0.0-1.22 -- Specify SA_RESTART for linux-nat.c handlers and use my_waitpid - which handles EINTR. - -* Tue May 03 2005 Jeff Johnston - 6.3.0.0-1.21 -- Bump up release number. - -* Tue May 03 2005 Jeff Johnston - 6.3.0.0-1.20 -- Bump up release number. - -* Tue May 03 2005 Jeff Johnston - 6.3.0.0-1.19 -- Fix for partial die in cache error -- Bugzilla 137904 - -* Wed Apr 27 2005 Jeff Johnston - 6.3.0.0-1.18 -- Bump up release number. - -* Wed Apr 27 2005 Jeff Johnston - 6.3.0.0-1.17 -- Bump up release number. - -* Wed Apr 27 2005 Jeff Johnston - 6.3.0.0-1.16 -- Update ia64 sigtramp support to use libunwind and fix top-level - rse register reads to also use libunwind. -- Bugzilla 151741 - -* Thu Apr 21 2005 Jeff Johnston - 6.3.0.0-1.15 -- Bump up release number. - -* Thu Apr 21 2005 Jeff Johnston - 6.3.0.0-1.14 -- Bump up release number. - -* Thu Apr 21 2005 Jeff Johnston - 6.3.0.0-1.13 -- Do not issue warning message for gcore under ia64 -- Bugzilla 146416 - -* Mon Apr 11 2005 Andrew Cagney - 6.3.0.0-1.12 -- Update gstack patch, handle systems that lack /proc//tasks. - -* Fri Apr 8 2005 Andrew Cagney - 6.3.0.0-1.11 -- Replace patch warning about DW_OP_piece with a patch that implements - the DW_OP_piece read path. - -* Sat Apr 2 2005 Andrew Cagney - 6.3.0.0-1.10 -- Print a warning when the separate debug info's CRC doen't match; - test. - -* Wed Mar 30 2005 Jeff Johnston - 6.3.0.0-1.9 -- Bump up release number. - -* Wed Mar 30 2005 Jeff Johnston - 6.3.0.0-1.7 -- Add proper vsyscall page support for ia64. - -* Thu Mar 24 2005 Jeff Johnston - 6.3.0.0-1.6 -- Bump up release number. - -* Thu Mar 24 2005 Jeff Johnston - 6.3.0.0-1.4 -- Fix printing of inherited members of C++ classes. -- Fix for Bugzilla 146835. - -* Tue Mar 22 2005 Jeff Johnston - 6.3.0.0-1.3 -- Bump up release number. - -* Thu Mar 17 2005 Jeff Johnston - 6.3.0.0-1.1 -- Remove warnings that cause errors when compiled with gcc4 and -Werror. - -* Wed Mar 16 2005 Elliot Lee -- rebuilt - -* Fri Mar 04 2005 Jeff Johnston - 6.3.0.0-0.37 -- Bump up release number. - -* Thu Mar 03 2005 Jeff Johnston - 6.3.0.0-0.35 -- Add follow-fork fix from mainline sources. - -* Thu Mar 03 2005 Jeff Johnston - 6.3.0.0-0.34 -- Bump up release number. - -* Mon Feb 28 2005 Jeff Johnston - 6.3.0.0-0.32 -- Modify debug register handling for x86, x86-64 to be thread-specific. -- Modify threaded watchpoint code for x86, x86-64 to properly insert - and remove watchpoints on all threads. - -* Tue Feb 22 2005 Andrew Cagney - 6.3.0.0-0.31 -- Bump version number. - -* Tue Feb 22 2005 Andrew Cagney - 6.3.0.0-0.30 -- Bump version number. - -* Tue Feb 22 2005 Andrew Cagney - 6.3.0.0-0.29 -- Modify gdb-6.3-dwattype0-20050201.patch to check for a zero address - and not zero unsnd. Fix BE 32- vs 64-bit problem. - -* Mon Feb 21 2005 Andrew Cagney - 6.3.0.0-0.28 -- Back port patch adding symfile-mem.o to all GNU/Linux builds. - Fix BZ 146087. - -* Wed Feb 16 2005 Jeff Johnston - 6.3.0.0-0.27 -- Bump up release number. - -* Wed Feb 16 2005 Jeff Johnston - 6.3.0.0-0.26 -- Fix unload.exp testcase. - -* Mon Feb 14 2005 Jeff Johnston - 6.3.0.0-0.25 -- Bump up release number. - -* Mon Feb 14 2005 Jeff Johnston - 6.3.0.0-0.24 -- Fix gdb to always grab the terminal before a readline call. -- Bugzilla 147880 - -* Fri Feb 11 2005 Jeff Johnston - 6.3.0.0-0.23 -- Bump up release number. - -* Fri Feb 11 2005 Jeff Johnston - 6.3.0.0-0.21 -- Fix gdb to handle stepping over the end of an exiting thread. -- Bugzilla 146848 - -* Thu Feb 10 2005 Jeff Johnston - 6.3.0.0-0.20 -- Bump up release number. - -* Tue Feb 08 2005 Jeff Johnston - 6.3.0.0-0.18 -- Modify previous gcore patch to not use linux_proc_xfer_memory even - for main thread. - -* Mon Feb 07 2005 Jeff Johnston - 6.3.0.0-0.17 -- Modify previous gcore patch to only apply to ia64. - -* Fri Feb 04 2005 Jeff Johnston - 6.3.0.0-0.16 -- Fix gcore to work properly for threaded applications -- Bugzilla 145309, 145092 - -* Fri Feb 04 2005 Jeff Johnston - 6.3.0.0-0.15 -- Tolerate DW_AT_type referencing <0> and instead of generating an - error, treat as unknown type. -- Bugzilla 144852. - -* Thu Feb 3 2005 Andrew Cagney - 6.3.0.0-0.14 -- Separate out test patches. - -* Thu Jan 27 2005 Jeff Johnston - 6.3.0.0-0.13 -- Fix to allow ia64 gdb to backtrace from syscalls in a corefile. -- Bugzilla 145092. - -* Wed Jan 26 2005 Jeff Johnston - 6.3.0.0-0.12 -- Fix to support examining files even when the executable moves -- Bugzilla 142122 - -* Wed Jan 26 2005 Andrew Cagney - 6.3.0.0-0.11 -- gdb-6.3-ppcdotsyms-20050126.patch: Backport BFD changes for reading - synthetic symbols. Rewrite code reading elf minimal symbols so that - it includes synthetics. - -* Fri Jan 21 2005 Jeff Johnston - 6.3.0.0-0.10 -- Fix to prevent resetting unwind kernel table size to invalid value - when debugging a core file -- Bugzilla 145309 - -* Fri Jan 21 2005 Andrew Cagney - 6.3.0.0-0.9 -- When single stepping handle both back-to-back and nested signals. -- Disable .symbol patch, results in BFD errors. - -* Fri Jan 21 2005 Jeff Johnston - 6.3.0.0-0.8 -- Support listing both in-charge and not-in-charge dtors when - just the dtor name is given. -- Add new test case for newly added ctor/dtor functionality. - -* Thu Jan 20 2005 Jeff Johnston - 6.3.0.0-0.7 -- Fix to allow breaking by line in both the in-charge and - not-in-charge ctor/dtor. -- Bugzilla 117826 - -* Thu Jan 20 2005 Andrew Cagney - 6.3.0.0-0.6 -- Rebuild. - -* Thu Jan 20 2005 Andrew Cagney - 6.3.0.0-0.5 -- Use bfd_get_synthetic_symtab to read in any synthetic symbols - such as 64-bit PPC's ".symbol"s. - -* Tue Jan 18 2005 Jeff Johnston - 6.3.0.0-0.4 -- Modify non-threaded watchpoint patch to use new observer. - -* Mon Jan 17 2005 Jeff Johnston - 6.3.0.0-0.3 -- Fix for non-threaded watchpoints. - -* Mon Jan 17 2005 Andrew Cagney - 6.3.0.0-0.2 -- Enable PPC CFI, remove merged ppc patches. - -* Wed Jan 12 2005 Elena Zannoni - 6.3.0.0-0.1 - Andrew Cagney - Jeff Johnston -- Various fixes to complete the import and merge. - -* Wed Dec 01 2004 Andrew Cagney - 6.3.0.0 -- Import GDB 6.3, get building, add all patches. - -* Tue Nov 30 2004 Jeff Johnston - 1.200400607.63 -- When removing breakpoints, continue removing breakpoints even if an - error occurs on the list. - -* Sun Nov 28 2004 Andrew Cagney - 1.200400607.62 -- Bump version for RHEL4 build. - -* Wed Nov 24 2004 Andrew Cagney - 1.200400607.61 -- For PPC-64, fix search for a symbol (wasn't specifying the section). - -* Wed Nov 24 2004 Andrew Cagney - 1.200400607.60 -- For PPC-64, do not set malloc name to ".malloc"; no longer needed. -- For all, only define kfail when not already defined. - -* Wed Nov 24 2004 Andrew Cagney - 1.200400607.59 -- Bump version. - -* Wed Nov 24 2004 Andrew Cagney - 1.200400607.58 -- Add rs6000 reggroups; fixes problem of PS register being trashed - causing mysterious branch breakpoints. - -* Tue Nov 23 2004 Andrew Cagney - 1.200400607.57 -- Backport i386 prolog parser - better backtraces out of semop(). -- Add option --readnever to suppress the reading of symbolic debug - information. -- Add script gstack.sh, installed as gstack. - Bugzilla 136584, 137121 -- Add missing files gdb.pie/attach2.c, gdb.pie/break1.c and - gdb.pie/Makefile.in along with testsuite/configure stuff for pie. - -* Tue Nov 23 2004 Andrew Cagney - 1.200400607.57 -- Backport i386 prolog parser - better backtraces out of semop(). -- Add option --readnever to suppress the reading of symbolic debug - information. -- Add script gstack.sh, installed as gstack. - Bugzilla 136584, 137121 - -* Mon Nov 22 2004 Jeff Johnston - 1.200400607.56 -- Bump up release number. - -* Mon Nov 22 2004 Jeff Johnston - 1.200400607.55 -- Multiple ia64 backtrace fixes. Bugzilla 125157 - -* Thu Nov 11 2004 Elena Zannoni - 1.200400607.54 -- Bump up release number - -* Thu Nov 11 2004 Elena Zannoni - 1.200400607.51 -- Modify configure line to not use absolute paths. This was - creating problems with makeinfo/texinfo. -- Get rid of makeinfo hack. -Bugzilla 135633 - -* Tue Nov 09 2004 Jeff Johnston - 1.200400607.50 -- Bump up release number - -* Tue Nov 09 2004 Jeff Johnston - 1.200400607.49 -- Bump up release number - -* Tue Nov 09 2004 Jeff Johnston - 1.200400607.48 -- Expose $base, $allocate constructors and $delete, $base destructors - for breakpoints. - -* Tue Nov 09 2004 Andrew Cagney - 1.200400607.47 -- Enable PPC CFI. - -* Mon Nov 08 2004 Jeff Johnston - 1.200400607.46 -- Bump up release number - -* Mon Nov 08 2004 Jeff Johnston - 1.200400607.45 -- Bump up release number - -* Fri Nov 05 2004 Jeff Johnston - 1.200400607.44 -- Allow macros to continue past a backtrace error - -* Tue Oct 26 2004 Andrew Cagney - 1.200400607.43 -- Hack around broken PT_FPSCR defined in headers. -- Import latest s390 fixes. -- Disable sigstep.exp - s390 has problems. -- Use PC's symtab when looking for a symbol. -- Work around DW_OP_piece. - -* Fri Oct 22 2004 Andrew Cagney - 1.200400607.42 -- For 64-bit PPC, convert _dl_debug_state descriptor into a code address. -- Fix --ignore option. - -* Sun Oct 10 2004 Andrew Cagney - 1.200400607.40 -- Disable attach-pie.exp test, hangs on amd64 without auxv. -- Move pie tests to pie. - -* Sun Oct 10 2004 Andrew Cagney - 1.200400607.39 -- Fix comment bug in sigstep.exp. - -* Thu Oct 07 2004 Jeff Johnston - 1.200400607.38 -- Do not invalidate cached thread info when resuming threads. -- Bump up release number. - -* Fri Oct 01 2004 Jeff Johnston - 1.200400607.35 -- Fix S/390 watchpoint support to work better under threading. - -* Fri Oct 01 2004 Jeff Johnston - 1.200400607.34 -- Fix thread_db_get_lwp to handle 2nd format ptids. - -* Mon Sep 27 2004 Andrew Cagney - 1.200400607.33 -- Don't unwind past a zero PC (when normal frames). - -* Mon Sep 27 2004 Jeff Johnston - 1.200400607.32 -- Add threaded watchpoint support for x86, x86-64, and ia64. - -* Mon Sep 27 2004 Andrew Cagney - 1.200400607.31 -- Instead of deleting bigcore.exp, use runtest --ignore. - -* Thu Sep 23 2004 Andrew Cagney - 1.200400607.30 -- Merge in mainline testsuite up to 2004-09-23, pick up sig*.exp tests. - Merge in mainline infrun.c, pick up all infrun.c fixes. - Generate bigcore's corefile from the running inferior. - Limit bigcore's corefile to max file-size. - -* Thu Sep 02 2004 Jeff Johnston - 1.200400607.29 -- Fix low-level lin-lwp code to wait specifically for any stepping - LWP (bugzilla 130896) - -* Tue Aug 31 2004 Jeff Johnston - 1.200400607.28 -- Add test case for bugzilla 128618 fix. - -* Mon Aug 30 2004 Jeff Johnston - 1.200400607.27 -- Add support for breakpoints in manually loaded/unloaded shared libs. - (bugzilla 128618) - -* Mon Aug 30 2004 Jeff Johnston - 1.200400607.26 -- Add java inferior call support. - -* Mon Aug 30 2004 Andrew Cagney - 1.200400607.25 -- Convert "main" the function descriptor, into an address. - -* Mon Aug 30 2004 Andrew Cagney - 1.200400607.24 -- Fix single-stepping when a signal is pending, was exiting program. - -- needs kernel fix so that ptrace(PT_STEP,SIG) doesn't do a PT_CONT. - -- sigstep.exp tests pass with this fix applied. - -* Mon Aug 30 2004 Elena Zannoni - 1.200400607.23 -- Delete some part of gdb-6.1post-test-rh.patch, to avoid confusing - gdb when testing itself, and loading separate debug info. - -* Fri Aug 13 2004 Jeff Johnston - 1.200400607.22 -- Check in gdb mainline fix for applications calling clone directly. - -* Tue Aug 10 2004 Jeff Johnston - 1.200400607.21 -- Alter libunwind frame code to allow using libunwind 0.97 and up. - -* Tue Aug 03 2004 Jeff Johnston - 1.200400607.20 -- Fix the ia64 libunwind test to match current output. - -* Fri Jul 30 2004 Elena Zannoni - 1.200400607.19 -- Fix the tests where gdb debugs itself, as to not copy - the executable to xgdb. - -* Mon Jul 26 2004 Elena Zannoni - 1.200400607.18 -- Add Pie patches back in. - -* Fri Jul 16 2004 Andrew Cagney - 1.200400607.17 -- Fix stepping over a no-debug shared-library function. -- Fix patch vsyscall patch name. - -* Thu Jul 8 2004 Jeff Johnston - 1.200400607.16 -- Update thread code with fix from gdb HEAD - -* Wed Jul 7 2004 Andrew Cagney - 1.200400607.15 -- disable vsyscall -- import Bob's crasher fix -- disable bigcore.exp - -* Mon Jul 5 2004 Andrew Cagney - 1.200400607.14 -- Make large corefiles work on systems that require O_LARGEFILE. - -* Tue Jun 29 2004 Elena Zannoni - 1.200400607.13 -- Fix BuildRequires for libunwind on ia64. - -* Mon Jun 28 2004 Andrew Cagney - 1.200400607.12 -- Import wild frame ID patch. Stops GDB incorrectly matching invalid - frame IDs. -- Disable bigcore on ia64 and amd64. - -* Fri Jun 25 2004 Andrew Cagney - 1.200400607.11 -- Fix testsuite to kill attach process (from corrinna/mainline). -- Fix build problems with vsyscall patch. - -* Fri Jun 25 2004 Andrew Cagney - 1.200400607.10 -- Fix annotate test messages. -- Recognize VSYSCALL pages. - -* Thu Jun 24 2004 Jeff Johnston - 1.200400607.9 -- Fix ia64 watchpoint support. - -* Wed Jun 23 2004 Andrew Cagney - 1.200400607.8 -- Do not xfail signals on i387, convert KFAIL to FAIL and not XFAIL. - -* Wed Jun 23 2004 Andrew Cagney - 1.200400607.7 -- Fix to ppc64 unwinder - handle glibcs function within syscall - function hack. -- Update sigbpt.exp, ena-dis-br.exp observer.exp signull.exp, - step-test.exp and sizeof.exp, so that test names are architecture - clean. -- Disable bigcore.exp on PowerPC 64. - -* Tue Jun 22 2004 Andrew Cagney - 1.200400607.6 -- Merge in mainline testsuite changes up to 2004-06-21. -- Re-implement 32 and 64-bit PPC signal trampolines. -- Check i386 and amd64 signal trampolines before dwarf2. -- Allow tramp-frame when there is a symbol. -- Test interaction between single-step, breakpoint and signal. -- ABI: Fix PPC64 function parameters, sizeof long-double, and enum - return values. - -* Mon Jun 21 2004 Elena Zannoni - 1.200400607.5 -- Fix sed line for gz info files. - -* Mon Jun 21 2004 Andrew Cagney - 1.200400607.4 -- Tar/uuencode both the .sum and .log test results. - -* Tue Jun 15 2004 Elena Zannoni - 0.200400607.3 -- Remove installation of mmalloc, and its info files. -- Add hack to deal with differring info files generated by makeinfo. -- Restore release number convention. - -* Tue Jun 15 2004 Elliot Lee -- rebuilt - -* Thu Jun 10 2004 Elena Zannoni - 0.200400607.2 -- Fix Requires and BuildRequires for libunwind dependencies. -- Add patch to silence gcc3.4 warnings. - -* Wed Jun 09 2004 Elena Zannoni - 0.200400607.1 -- New import: revamp everything. Remove all patches for now. -- Update the Requires and BuildRequires sections. -- Removed stupid Ada testcases (there is no ada support in gdb yet). - -* Mon May 10 2004 Elena Zannoni - 0.20040223.20 -- Disable PIE again. -- obsolete gdb64 only if on ppc64. - -* Mon May 03 2004 Jeff Johnston - 0.20040223.19 -- Add -u parameter to build ChangeLog patch. - -* Mon May 03 2004 Jeff Johnston - 0.20040223.18 -- Update thread fix made for .6 release to FSF version. - -* Thu Apr 22 2004 Elena Zannoni - 0.20040223.17 -- Disable PIE again. - -* Thu Apr 22 2004 Jeff Johnston - 0.20040223.16 -- Bump version number. - -* Wed Apr 21 2004 Jeff Johnston - 0.20040223.15 -- fix ia64 info frame command -- also fix ia64 tdep file for which elf header file to include - -* Tue Mar 30 2004 Elena Zannoni - 0.20040223.14 -- re-enable pie. - -* Tue Mar 30 2004 Elena Zannoni - 0.20040223.13 -- Fix testsuite glitches. - -* Wed Mar 24 2004 Elena Zannoni - 0.20040223.12 -- Fix typo. - -* Wed Mar 24 2004 Elena Zannoni - 0.20040223.11 -- Make gdb compile w/o warnings with gcc-3.4. -- Reenable PIE support code. - -* Tue Mar 23 2004 Elena Zannoni - 0.20040223.10 -- Bump version number - -* Tue Mar 23 2004 Elena Zannoni - 0.20040223.9 -- temporarily disable PIE support. -- Add section to obsolete gdb64 package. - -* Sun Mar 21 2004 Elena Zannoni - 0.20040223.8 -- Add support for debugging of PIE executables. - -* Tue Mar 09 2004 Elena Zannoni - 0.20040223.7 -- Bump version number. - -* Mon Mar 08 2004 Jeff Johnston - 0.20040223.6 -- Fix thread support to recognize new threads even when they reuse - tids of expired threads. Also ensure that terminal is held by gdb - while determining if a thread-create event has occurred. - -* Mon Mar 08 2004 Andrew Cagney - 0.20040223.5 -- Sync with 6.1 branch; eliminate all amd64 patches; - add more robust 32x64 PPC64 patches. - -* Tue Mar 02 2004 Elliot Lee -- rebuilt - -* Tue Mar 2 2004 Andrew Cagney - 0.20040223.4 -- 32x64 fixes that work with threads, replaced old - non-thread 32x64 patch, add nat patch. - -* Wed Feb 25 2004 Elena Zannoni - 0.20040223.3 -- Add patch for x86_64 in 32 bit mode. - -* Wed Feb 25 2004 Elena Zannoni - 0.20040223.2 -- Remove ppc64 hacks. -- Refresh some patches. - -* Wed Feb 25 2004 Elena Zannoni - 0.20040223.1 -- Import new gdb snapshot from mainline FSF. -- Update patch list. - -* Tue Feb 17 2004 Jeff Johnston - 1.20031117.8 -- Switch ia64-tdep.c to use new abi used by libunwind-0.95 and up. -- Fix gate area specification for ia64-linux-tdep.c. -- Fix long double support for ia64. - -* Fri Feb 13 2004 Elliot Lee -- rebuilt - -* Thu Jan 08 2004 Elena Zannoni - 0.20031117.7 -- Add fixes for ppc32 support on ppc64 platform, from Andrew Cagney. - -* Tue Jan 06 2004 Elena Zannoni - 0.20031117.6 -- Add patch to have unique binary names in the testsuite. -- Disable s390/s390x pthread.exp test (FIXME) -- Don't install any info files for the ppc platform. Let's take them - from the ppc64 one (or we get install conflicts). -- Remove generated info files from the source tree. They are generated - as part of the FSF snapshot process. - -* Mon Nov 24 2003 Elena Zannoni - 0.20031117.5 -- Add patches from old rpm for i386 support on x86_64. -- Add build dependency on libunwind for ia64. - -* Fri Nov 21 2003 Jeremy Katz - 0.20031117.4 -- more rpm tricks to get the gdb64 package happier - -* Thu Nov 20 2003 Elena Zannoni - 0.20031117.3 -- Add sick and twisted workaround for ppc64 architecture. - -* Wed Nov 19 2003 Elena Zannoni - 0.20031117.2 -- Fix typo in libunwind test. - -* Tue Nov 18 2003 Elena Zannoni - 0.20031117.1 -- Import new gdb snapshot from mainline FSF. -- Fix some testfiles. -- Add fixes for gcore, and patch for libunwind support on ia64. -- Add tests to see what versions of gcc, binutils, glibc and kernel we - are running with. - -* Wed Oct 15 2003 Elena Zannoni - 0.20030710.41 -- Bump up version number. - -* Wed Sep 24 2003 Elena Zannoni - 0.20030710.40 -- Fix problem with gcore and single threaded programs. (bugzilla 103531) - -* Mon Sep 22 2003 Jeff Johnston - 0.20030710.39 -- Fix call to quit_target from quit_force. - -* Sun Sep 21 2003 Andrew Cagney - 0.20030710.38 -- Fix PPC64 push dummy call. -- Re-fix PPC64 return value (had wrong / old patch). - -* Sat Sep 20 2003 Andrew Cagney - 0.20030710.37 -- Fix PPC32 return values. - -* Sat Sep 20 2003 Andrew Cagney - 0.20030710.36 -- Rewrite ppc64 retun value methods so that they (hopefully) -match the SysV spec. -- Enable ppc64 testsuite. - -* Thu Sep 18 2003 Andrew Cagney - 0.20030710.35 -- Hack around problem "break main" vs "break .main" when there is -only a minimal ppc64 symbol table. The former is a function descriptor -and not where you want the breakpoint to go. Only convert descriptors -to pointers when the address is in the ".opd" section. - -* Wed Sep 17 2003 Andrew Cagney - 0.20030710.34 -- Fix ppc32 push_dummy_call. - -* Tue Sep 16 2003 Andrew Cagney - 0.20030710.33 -- Pack gdb.sum and gdb.log using uuencode and bzip. - -* Tue Sep 16 2003 Jeff Johnston - 0.20030710.32 -- Catch errors when quitting so exit of gdb still occurs. - -* Mon Sep 15 2003 Andrew Cagney - 0.20030710.31 -- Fix ppc32 use_struct_convention. - -* Thu Sep 11 2003 Andrew Cagney - 0.20030710.30 -- Mods to dwarf2-frame.c to work around a lack of GCC/CFI info. - -* Thu Sep 11 2003 Elena Zannoni - 0.20030710.29 -- Bump up version number. - -* Wed Sep 10 2003 Elena Zannoni - 0.20030710.28 -- Fix a core dump with MI. -- Add new ChangeLog patch for mi changes. - -* Thu Sep 04 2003 Elena Zannoni - 0.20030710.27 -- Change the name of the package to gdb64 in ppc64 case. - -* Tue Aug 26 2003 Elena Zannoni - 0.20030710.26 -- Add testcase for separate debug info. - -* Tue Aug 26 2003 Andrew Cagney - 0.20030710.25 -- fix i386 on x86-64 TLS -- add "base-aug2003" suffix to older x86i386 patch - -* Tue Aug 26 2003 Andrew Cagney - 0.20030710.24 -- skip the ppc64 and x86-64 frame redzone. - -* Fri Aug 22 2003 Elena Zannoni - 0.20030710.23 -- Relax one testcase in selftest.exp a bit. -- Accept different output as well in thread bt (platform dependent). -- Enable testsuite run for ia64, ppc, s390 and s390x. They are in - reasonably good shape. - -* Thu Aug 21 2003 Jeff Johnston - 0.20030710.22 -- Multiple ia64 fixes. -- Fix ia64 printing of function pointers. -- Fix ia64 prologue examination to ignore predicated insns if we - haven't found the return address yet. -- Skip dump.exp testcase for ia64 - -* Thu Aug 21 2003 Elena Zannoni - 0.20030710.21 -- Bump release number. - -* Wed Aug 20 2003 Elena Zannoni - 0.20030710.20 -- Relax pattern in annota2.exp test. - -* Wed Aug 20 2003 Elena Zannoni - 0.20030710.19 -- rename gdb binary to gdb64 for ppc64 platform. - -* Tue Aug 19 2003 Jeff Johnston - 0.20030710.18 -- Fix ia64 pc unwinding to include psr slot. - -* Mon Aug 18 2003 Elena Zannoni - 0.20030710.17 -- Fix info installation for annotate.texi. (Bugzilla 102521) - -* Fri Aug 15 2003 Elena Zannoni - 0.20030710.16 -- revamp tls tests a bit. -- Handle new output from gdb in relocate.exp - -* Wed Aug 13 2003 Elena Zannoni - 0.20030710.15 -- Fix problem for processing of separate debug info files. - -* Wed Aug 13 2003 Jeff Johnston - 0.20030710.14 -- add ia64.inc file for testing ia64 in gdb.asm testsuite - -* Fri Aug 8 2003 Andrew Cagney - 0.20030710.13 -- print the libthread_db library path, print when threads are enabled - -* Thu Aug 7 2003 Andrew Cagney - 0.20030710.12 -- "cat" the test log into the build log - -* Wed Aug 06 2003 Jeff Johnston - 0.20030710.11 -- modernize ia64 gdb to use new frame model -- remove/replace deprecated interfaces used by ia64 gdb - -* Wed Aug 06 2003 Andrew Cagney - 0.20030710.10 -- Sync to gdb-5.3.90-sync-20030806.patch. - -* Tue Jul 29 2003 Andrew Cagney - 0.20030710.9 -- add x86-64 i386 fixes - -* Tue Jul 29 2003 Elena Zannoni - 0.20030710.8 -- Fix some tests by xfailing the correct target triplet for RedHat. -- Remove include of config.h from pthreads.c testcases. - -* Mon Jul 28 2003 Elena Zannoni - 0.20030710.7 -- Fix some test failures, by escaping correctly. - -* Thu Jul 24 2003 Elena Zannoni - 0.20030710.6 -- Remove one testcase that is redundant. - -* Wed Jul 23 2003 Elena Zannoni - 0.20030710.5 -- Bump up release number. - -* Wed Jul 23 2003 Elena Zannoni - 0.20030710.4 -- Bring in sync with current head of gdb-6 branch. -- Remove linespec patch, because included in the new sync patch. - -* Fri Jul 18 2003 Elena Zannoni - 0.20030710.3 -- Add patch to avoid gdb segfault with bad debug info. -- Change location of build tree to avoid conflicts with older versions - possibly installed. - -* Thu Jul 17 2003 Elena Zannoni - 0.20030710.2 -- Add patch to synchronize the current snapshot with the gdb-6 branch head. -- Remove some patches that are includd in such diff. -- Enable tests on AMD64 as well. - -* Fri Jul 11 2003 Elena Zannoni - 0.20030710.1 -- Import new gdb snapshot. -- Revamp gdb.spec. Get rid of patches that apply to older versions. -- Add patches for ppc64 support, kfail and make gdb more robust in copingi - with bad debug info. - -* Wed Jul 02 2003 Jeff Johnston - 1.20021129.39 -- Fix bug with ia64 checking of hardware breakpoints. - -* Mon Jun 30 2003 Elena Zannoni - 1.20021129.38 -- Add necessary function for NPTL support on x86-64. - -* Wed Jun 04 2003 Elliot Lee -- rebuilt - -* Wed Jun 04 2003 Elena Zannoni - 0.20021129.37 -* Tue Jun 03 2003 Elena Zannoni - 0.20021129.36 -- Enable warnings for x86_64, not x86-64. -- Fix warnings from infptrace.c and dwarfread.c. -- Print error message only when reading separate debug info really - doesn't work (jimb@redhat.com). - -* Fri May 23 2003 Elena Zannoni - 0.20021129.35 -- Fixes for fetching and storing access registers on s390x (jimb@redhat.com). - Bugzilla 91455. - -* Wed May 21 2003 Jeff Johnston - 0.20021129.34 -- Do not generate error on detach failure. Bugzilla 90900. - -* Thu May 8 2003 Elena Zannoni - 0.20021129.33 -- New tests for asm on s390x (jimb@redhat.com). Bugzilla 90503. -- Fixes for prologue analysis on s390x (jimb@redhat.com). Bugzilla 90506. -- bfd fix for 64-bit platforms (jimb@redhat.com). -- Disable ppc64 builds until we have a port. - -* Thu May 1 2003 Jeff Johnston - 0.20021129.32 -- Add ia64 support to the float.exp testcase. - -* Thu May 1 2003 Elena Zannoni - 0.20021129.31 -- Clean up the tls tests some more. -- Fix problem with non US-eng locale. Bugzilla bug 88823. - -* Wed Apr 30 2003 Jeff Johnston - 0.20021129.30 -- Fix ia64 prologue skipping. -- Fix ia64 line table. -- Fix setting of prev_pc in infrun.c. - -* Mon Mar 31 2003 Elena Zannoni - 0.20021129.29 -- Include the gcore script, as gdb_gcore.sh and install it in - /usr/bin as gcore. -- One more disassembly fix for core files. Added to - gdb-5.3post-disasm-mar2003.patch. Bugzilla 87677. -- Enable build warnings for x86-64. - -* Mon Mar 31 2003 Elena Zannoni - 0.20021129.28 -- Fix Java strings printing. -- Fix memory corruption in disassembly code. Bugzilla 85644. -- Testsuite fixes (jimb@redhat.com). Bugzilla 85457. -- Fixes for s390 stack handling (jimb@redhat.com). Bugzilla 85039. -- Fixes for s390 struct return (jimb@redhat.com). - -* Wed Mar 26 2003 Elena Zannoni - 0.20021129.27 -- Fixes for disassembly of code in threaded applications. Bugzilla 87495. -- Fixes for s390 prologue analysis. (jimb@redhat.com). - Bugzilla bugs 85251, 85214. - -* Thu Mar 20 2003 Elena Zannoni - 0.20021129.26 -- Fix inferior function calls with void return on x86-64. Bugzilla bug 83197. -- Fix for upstream PR/699. -- Fix some problems with gdb-5.3post-thrtst-feb2003.patch. - -* Wed Mar 19 2003 Jeff Johnston - 0.20021129.25 -- Fix for thread-db.c: check_event() - Bugzilla bug 86231. - -* Fri Mar 14 2003 Elena Zannoni - 0.20021129.24 -- Fix some problems with inferior function calls on x86-64. - -* Fri Mar 07 2003 Elena Zannoni - 0.20021129.23 -- testsuite patches. Bugzilla 85215 85028 85335. - -* Thu Mar 06 2003 Elena Zannoni - 0.20021129.22 -- Fix testsuite problems related to having '+' in the directory name. - Bugzilla 85031. - -* Mon Mar 03 2003 Elena Zannoni - 0.20021129.21 -- Fix a few inferior function call problems. - -* Mon Mar 03 2003 Elena Zannoni - 0.20021129.20 -- Split the changelog patches in two. Cleanup messy patch section. - -* Thu Feb 27 2003 Jeff Johnston - 0.20021129.19 -- Perform run-time check for tkill syscall in lin-lwp.c. - -* Mon Feb 24 2003 Elena Zannoni - 0.20021129.18 -- Update copyright year printed in version. - -* Mon Feb 24 2003 Elena Zannoni - 0.20021129.17 -- Refresh build. - -* Mon Feb 24 2003 Elena Zannoni - 0.20021129.16 -- Add some testsuite cleanups, to avoid spurious test failures. - -* Fri Feb 21 2003 Jeff Johnston - 0.20021129.15 -- Add patch to handle thread exiting when LD_ASSUME_KERNEL=2.4.1 which - fixes Bugzilla bug 84217. - -* Fri Feb 21 2003 Elena Zannoni - 0.20021129.14 -- New patch to fix disassembly on s390. Bugzilla bug 84286. -- New patch for attach/ptrace fix. Bugzilla bug 84220. -- Reenable tests for x86. - -* Thu Feb 20 2003 Jeff Johnston - 0.20021129.13 -- Add patch for mixed stabs with dwarf2 - bugzilla bug 84253. - -* Wed Feb 12 2003 Elena Zannoni - 0.20021129.12 -- Disable tests also for x86. - -* Tue Feb 11 2003 Elena Zannoni - 0.20021129.11 -- Add patch for mi threads tests. -- Add patch for dwarf2 debug_ranges section. -- Add patch for detach bug. - -* Mon Feb 10 2003 Elena Zannoni - 0.20021129.10 -- Add patch for testsuite auto answering internal error queries. -- Add new TLS tests. -- Add cleanup patches for thread tests. - -* Mon Feb 03 2003 Elena Zannoni - 0.20021129.9 -- Add new patch for thread support. Apply on all arches. -- Do not apply old patches, but leave them around for now. -- Add new patch for dwarf2 debug info reading. -- Add new patch for dwarf2 cfi engine cleanup. -- Add new patch for uiout problems. -- Add new patch for s390 build. -- Disable tests on all platforms but x86. - -* Mon Jan 27 2003 Elena Zannoni - 0.20021129.8 -- Move all the changelog entries to a single patch. -- Add tests to the args patch. -- Add new patch for until command fix (bugzilla Bug 19890). -- s390 and s390x can be built with -Werror. -- Run make check for s390 and s390x too. -- Include an updated version of the thread nptl patch (still WIP). - -* Wed Jan 15 2003 Phil Knirsch - 0.20021129.7 -- Apply the 2nd misc patch for s390 and s390x, too. - -* Tue Jan 14 2003 Elena Zannoni - 0.20021129.6 -- Add patches for NPTL support, to be applied on i386 only. - (this is still WIP) -- Split old misc patch in two parts. -- Temporarily disable testsuite run on alpha. - -* Sun Jan 12 2003 Elena Zannoni - 0.20021129.5 -- Add patch for --args with zero-length arguments. Fix for bug 79833. - -* Tue Dec 17 2002 Elliot Lee - 0.20021129.4 -- The define directive to rpm is significant even if the line it is - in happens to start with a '#' character. Fixed. - -* Fri Dec 13 2002 Elena Zannoni - 0.20021129.3 -- Merge previous patches for warnings into a single one. -- Add changelogs to patches. -- Add, but don't use, a macro to avoid stripping. - -* Fri Dec 6 2002 Elena Zannoni -- Add patch to allow debugging of executables with debug info stored - in separate files. -- Add patch for Makefile dependencies and disable warnings for - building thread-db.c. -- Re-enable building with -Werror for alpha, ia64, ppc. - -* Mon Dec 2 2002 Elena Zannoni -- Don't pass to gdb an empty build warnings flag, or that will disable warnings - completely. We want to build using gdb's standard warnings instead. - -* Mon Dec 2 2002 Elena Zannoni -- Don't do testing for x86_64. - -* Sun Dec 1 2002 Elena Zannoni -- x86_64 doesn't build with Werror yet. -- Add patch for alpha. -- Alpha doesn't build with -Werror either. -- Add patch for ia64. -- Add patch for ppc. -- Drop ia64 from -Werror list. -- Drop ppc from -Werror list. - -* Sun Dec 1 2002 Elena Zannoni -- Add dejagnu to the build requirements. -- Enable make check. -- Add enable-gdb-build-warnings to the configure flags. - -* Fri Nov 29 2002 Elena Zannoni -- Import new upstream sources. -- Change version and release strings. -- Upgrade patches. -- Build gdb/gdbserver as well. -- Define and use 'cvsdate'. -- Do %%setup specifying the source directory name. -- Don't cd up one dir before removing tcl and friends. -- Change the configure command to allow for the new source tree name. -- Ditto for the copy of NEWS. -- Add some comments. - -* Mon Nov 25 2002 Elena Zannoni 5.2.1-5 -General revamp. -- Add patch for gdb/doc/Makefile.in. Part of fix for bug 77615. -- Add patch for mmalloc/Makefile.in. Part of fix for bug 77615. -- Change string printed in version.in to -rh. -- Move the deletion of dejagnu, expect, tcl to the prep section, - from the build section. -- Add build directory housekeeping to build section. -- Use macros for configure parameters. -- Do the build in a separate directory. -- Prepare for testing, but not enable it yet. -- Correctly copy the NEWS file to the top level directory, for the doc - section to find it. -- Cd to build directory before doing install. -- Use makeinstall macro, w/o options. -- Remove workaround for broken gdb info files. Part of fix for bug 77615. -- Remove share/locale directory, it is in binutils. -- Remove info/dir file. -- Clarify meaning of post-install section. -- Add gdbint info files to post-install, pre-uninstall and files sections. - Part of fix for bugs 77615, 76423. -- Add libmmalloc.a to package. - -* Fri Aug 23 2002 Florian La Roche -- added mainframe patch from developerworks - -* Wed Aug 21 2002 Trond Eivind Glomsrod 5.2.1-3 -- Add changelogs to the previous patch - -* Wed Aug 14 2002 Trond Eivind Glomsrod 5.2.1-2 -- Add some patches from Elena Zannoni - -* Tue Jul 23 2002 Trond Eivind Glomsrod 5.2.1-1 -- 5.2.1 - -* Mon Jul 22 2002 Florian La Roche -- compile on mainframe - -* Mon Jul 8 2002 Trond Eivind Glomsrod 5.2-3 -- Rebuild - -* Tue May 7 2002 Trond Eivind Glomsrod 5.2-2 -- Rebuild - -* Mon Apr 29 2002 Trond Eivind Glomsrod 5.2-1 -- 5.2 - -* Mon Apr 29 2002 Trond Eivind Glomsrod 5.1.92-1 -- 5.1.92. Hopefully identical to 5.2 final - -* Mon Apr 22 2002 Trond Eivind Glomsrod 5.1.91-1 -- 5.1.91. 5.2 expected in a week - -* Thu Mar 28 2002 Trond Eivind Glomsrod 5.1.90CVS-5 -- Update to current - -* Thu Mar 28 2002 Trond Eivind Glomsrod 5.1.90CVS-4 -- Update to current - -* Thu Mar 28 2002 Trond Eivind Glomsrod 5.1.90CVS-3 -- Update to current - -* Wed Mar 20 2002 Trond Eivind Glomsrod 5.1.90CVS-2 -- Update to current - -* Wed Mar 13 2002 Trond Eivind Glomsrod 5.1.90CVS-1 -- Update to current 5.2 branch - -* Thu Jan 24 2002 Trond Eivind Glomsrod 5.1.1-1 -- 5.1.1 -- add URL - -* Wed Jan 09 2002 Tim Powers -- automated rebuild - -* Mon Dec 10 2001 Trond Eivind Glomsrod 5.1-2 -- Fix some thread+fpu problems - -* Mon Nov 26 2001 Trond Eivind Glomsrod 5.1-1 -- 5.1 - -* Mon Nov 19 2001 Trond Eivind Glomsrod 5.0.94-0.71 -- 5.0.94. Almost there.... - -* Mon Nov 12 2001 Trond Eivind Glomsrod 5.0.93-2 -- Add patch from jakub@redhat.com to improve handling of DWARF - -* Mon Nov 12 2001 Trond Eivind Glomsrod 5.0.93-1 -- 5.0.93 -- handle missing info pages in post/pre scripts - -* Wed Oct 31 2001 Trond Eivind Glomsrod 5.0.92-1 -- 5.0.92 - -* Fri Oct 26 2001 Trond Eivind Glomsrod 5.0.91rh-1 -- New snapshot -- Use the 5.0.91 versioning from the snapshot - -* Wed Oct 17 2001 Trond Eivind Glomsrod 5.0rh-17 -- New snapshot - -* Thu Sep 27 2001 Trond Eivind Glomsrod -- New snapshot - -* Wed Sep 12 2001 Trond Eivind Glomsrod 5.0rh-16 -- New snapshot - -* Mon Aug 13 2001 Trond Eivind Glomsrod 5.0rh-15 -- Don't buildrequire compat-glibc (#51690) - -* Thu Aug 9 2001 Trond Eivind Glomsrod -- New snapshot, from the stable branch eventually leading to gdb 5.1 - -* Mon Jul 30 2001 Trond Eivind Glomsrod -- s/Copyright/License/ -- Add texinfo to BuildRequires - -* Mon Jun 25 2001 Trond Eivind Glomsrod -- New snapshot - -* Fri Jun 15 2001 Trond Eivind Glomsrod -- New snapshot -- Add ncurses-devel to buildprereq -- Remove perl from buildprereq, as gdb changed the way - version strings are generated - -* Thu Jun 14 2001 Trond Eivind Glomsrod -- New snapshot - -* Wed May 16 2001 Trond Eivind Glomsrod -- New snapshot - this had thread fixes for curing #39070 -- New way of specifying version - -* Tue May 1 2001 Trond Eivind Glomsrod -- New tarball -- Kevin's patch is now part of gdb - -* Mon Apr 9 2001 Trond Eivind Glomsrod -- Add patch from kevinb@redhat.com to fix floating point + thread - problem (#24310) -- remove old workarounds -- new snapshot - -* Thu Apr 5 2001 Trond Eivind Glomsrod -- New snapshot - -* Sat Mar 17 2001 Bill Nottingham -- on ia64, there are no old headers :) - -* Fri Mar 16 2001 Trond Eivind Glomsrod -- build with old headers, new compiler - -* Fri Mar 16 2001 Trond Eivind Glomsrod -- new snapshot - -* Mon Feb 26 2001 Trond Eivind Glomsrod -- new snapshot which should fix some more IA64 problems (#29151) -- remove IA64 patch, it's now integrated - -* Wed Feb 21 2001 Trond Eivind Glomsrod -- add IA64 and Alpha patches from Kevin Buettner -- use perl instead of patch for fixing the version string - -* Tue Feb 20 2001 Trond Eivind Glomsrod -- don't use kgcc anymore -- mark it as our own version -- new snapshot - -* Mon Jan 22 2001 Bernhard Rosenkraenzer -- Link with ncurses 5.x even though we're using kgcc. - No need to drag in requirements on ncurses4 (Bug #24445) - -* Fri Jan 19 2001 Trond Eivind Glomsrod -- new snapshot - -* Wed Dec 20 2000 Trond Eivind Glomsrod -- new snapshot - -* Mon Dec 04 2000 Trond Eivind Glomsrod -- new snapshot -- new alpha patch - it now compiles everywhere. Finally. - -* Fri Dec 01 2000 Trond Eivind Glomsrod -- new snapshot - -* Mon Nov 20 2000 Trond Eivind Glomsrod -- new CVS snapshot -- disable the patches -- don't use %%configure, as it confuses the autoconf script -- enable SPARC, disable Alpha - - -* Wed Aug 09 2000 Trond Eivind Glomsrod -- added patch from GDB team for C++ symbol handling - -* Tue Jul 25 2000 Trond Eivind Glomsrod -- upgrade to CVS snapshot -- excludearch SPARC, build on IA61 - -* Wed Jul 19 2000 Trond Eivind Glomsrod -- rebuild - -* Thu Jul 13 2000 Prospector -- automatic rebuild - -* Sun Jul 02 2000 Trond Eivind Glomsrod -- rebuild - -* Thu Jun 08 2000 Trond Eivind Glomsrod -- use %%configure, %%makeinstall, %%{_infodir}, %%{_mandir}, - and %%{_tmppath} -- the install scripts for info are broken(they don't care about - you specify in the installstep), work around that. -- don't build for IA64 - -* Mon May 22 2000 Trond Eivind Glomsrod -- upgraded to 5.0 - dump all patches. Reapply later if needed. -- added the NEWS file to the %%doc files -- don't delete files which doesn't get installed (readline, texinfo) -- let build system handle stripping and gzipping -- don't delete libmmalloc -- apply patch from jakub@redhat.com to make it build on SPARC - -* Fri Apr 28 2000 Matt Wilson -- rebuilt against new ncurses - -* Tue Mar 7 2000 Jeff Johnson -- rebuild for sparc baud rates > 38400. - -* Tue Feb 8 2000 Jakub Jelinek -- fix core file handling on i386 with glibc 2.1.3 headers - -* Fri Jan 14 2000 Jakub Jelinek -- fix reading registers from core on sparc. -- hack around build problems on i386 with glibc 2.1.3 headers - -* Thu Oct 7 1999 Jim Kingdon -- List files to install in /usr/info specifically (so we don't pick up -things like info.info from GDB snapshots). - -* Thu Oct 7 1999 Jim Kingdon -- Update GDB to 19991004 snapshot. This eliminates the need for the -sigtramp, sparc, xref, and threads patches. Update sparcmin patch. - -* Mon Aug 23 1999 Jim Kingdon -- Omit readline manpage. - -* Sat Aug 7 1999 Jim Kingdon -- Remove H.J. Lu's patches (they had been commented out). -- Add sigtramp patch (from gdb.cygnus.com) and threads patch (adapted -from code fusion CD-ROM). - -* Wed Apr 14 1999 Jeff Johnson -- merge H.J. Lu's patches into 4.18. - -* Mon Apr 05 1999 Cristian Gafton -- updated the kern22 patch with stuff from davem - -* Thu Apr 1 1999 Jeff Johnson -- sparc with 2.2 kernels no longer uses sunos ptrace (davem) - -* Sun Mar 21 1999 Cristian Gafton -- auto rebuild in the new build environment (release 3) - -* Mon Mar 8 1999 Jeff Johnson -- Sparc fiddles for Red Hat 6.0.