Rebase to FSF GDB 7.7.
- New rpmbuild option: --with asan
This commit is contained in:
parent
ff3b0d487c
commit
2c55a5441d
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,3 +1,2 @@
|
|||||||
/gdb-libstdc++-v3-python-r155978.tar.bz2
|
/gdb-libstdc++-v3-python-r155978.tar.bz2
|
||||||
/gdb-7.6.50.20130624.tar.bz2
|
/gdb-7.7.tar.bz2
|
||||||
/gdb-7.6.50.20130731-cvs.tar.bz2
|
|
||||||
|
@ -4,11 +4,11 @@
|
|||||||
to install and uninstall.
|
to install and uninstall.
|
||||||
* gstack.sh, gstack.1: New files.
|
* 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.7.orig/gdb/Makefile.in 2014-02-06 20:29:09.401214339 +0100
|
||||||
+++ gdb-7.6/gdb/Makefile.in 2013-05-21 13:26:33.609819579 +0200
|
+++ gdb-7.7/gdb/Makefile.in 2014-02-06 20:29:09.501214360 +0100
|
||||||
@@ -1029,7 +1029,7 @@ info install-info clean-info dvi pdf ins
|
@@ -1067,7 +1067,7 @@ info install-info clean-info dvi pdf ins
|
||||||
install: all
|
install: all
|
||||||
@$(MAKE) $(FLAGS_TO_PASS) install-only
|
@$(MAKE) $(FLAGS_TO_PASS) install-only
|
||||||
|
|
||||||
@ -17,7 +17,7 @@ Index: gdb-7.6/gdb/Makefile.in
|
|||||||
transformed_name=`t='$(program_transform_name)'; \
|
transformed_name=`t='$(program_transform_name)'; \
|
||||||
echo gdb | sed -e "$$t"` ; \
|
echo gdb | sed -e "$$t"` ; \
|
||||||
if test "x$$transformed_name" = x; then \
|
if test "x$$transformed_name" = x; then \
|
||||||
@@ -1060,7 +1060,25 @@ install-only: $(CONFIG_INSTALL)
|
@@ -1104,7 +1104,25 @@ install-strip:
|
||||||
install-python:
|
install-python:
|
||||||
$(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(GDB_DATADIR)/python/gdb
|
$(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)'; \
|
transformed_name=`t='$(program_transform_name)'; \
|
||||||
echo gdb | sed -e $$t` ; \
|
echo gdb | sed -e $$t` ; \
|
||||||
if test "x$$transformed_name" = x; then \
|
if test "x$$transformed_name" = x; then \
|
||||||
@@ -1083,6 +1101,18 @@ uninstall: force $(CONFIG_UNINSTALL)
|
@@ -1127,6 +1145,18 @@ uninstall: force $(CONFIG_UNINSTALL)
|
||||||
fi
|
fi
|
||||||
@$(MAKE) DO=uninstall "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do
|
@$(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.
|
# The C++ name parser can be built standalone for testing.
|
||||||
test-cp-name-parser.o: cp-name-parser.c
|
test-cp-name-parser.o: cp-name-parser.c
|
||||||
$(COMPILE) -DTEST_CPNAMES 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
|
--- /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 @@
|
@@ -0,0 +1,43 @@
|
||||||
+#!/bin/sh
|
+#!/bin/sh
|
||||||
+
|
+
|
||||||
@ -111,10 +111,10 @@ Index: gdb-7.6/gdb/gstack.sh
|
|||||||
+ -e 's/^\((gdb) \)*//' \
|
+ -e 's/^\((gdb) \)*//' \
|
||||||
+ -e '/^#/p' \
|
+ -e '/^#/p' \
|
||||||
+ -e '/^Thread/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
|
--- /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 @@
|
@@ -0,0 +1,66 @@
|
||||||
+# Copyright (C) 2012 Free Software Foundation, Inc.
|
+# 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 testfile gstack
|
||||||
+set executable ${testfile}
|
+set executable ${testfile}
|
||||||
+set binfile ${objdir}/${subdir}/$executable
|
+set binfile [standard_output_file $executable]
|
||||||
+if {[build_executable ${testfile} ${executable} "" {debug}] == -1} {
|
+if {[build_executable ${testfile} ${executable} "" {debug}] == -1} {
|
||||||
+ return -1
|
+ return -1
|
||||||
+}
|
+}
|
||||||
@ -182,10 +182,10 @@ Index: gdb-7.6/gdb/testsuite/gdb.base/gstack.exp
|
|||||||
+gdb_exit
|
+gdb_exit
|
||||||
+
|
+
|
||||||
+remote_exec host "kill -9 $pid"
|
+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
|
--- /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 @@
|
@@ -0,0 +1,43 @@
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
+/* This testcase is part of GDB, the GNU debugger.
|
||||||
+
|
+
|
||||||
|
@ -11,11 +11,11 @@
|
|||||||
|
|
||||||
* gdb.texinfo (File Options): Document --readnever.
|
* 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.90.20140127.orig/gdb/doc/gdb.texinfo 2014-01-27 22:42:53.150573603 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/doc/gdb.texinfo 2013-08-02 16:20:21.164687886 +0200
|
+++ gdb-7.6.90.20140127/gdb/doc/gdb.texinfo 2014-01-27 22:42:56.694576319 +0100
|
||||||
@@ -1030,6 +1030,12 @@ Read each symbol file's entire symbol ta
|
@@ -1031,6 +1031,12 @@ Read each symbol file's entire symbol ta
|
||||||
the default, which is to read it incrementally as it is needed.
|
the default, which is to read it incrementally as it is needed.
|
||||||
This makes startup slower, but makes future operations faster.
|
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
|
@end table
|
||||||
|
|
||||||
@node Mode Options
|
@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.90.20140127.orig/gdb/main.c 2014-01-27 22:42:53.153573606 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/main.c 2013-08-02 16:20:53.704731449 +0200
|
+++ gdb-7.6.90.20140127/gdb/main.c 2014-01-27 22:42:56.695576319 +0100
|
||||||
@@ -459,6 +459,7 @@ captured_main (void *data)
|
@@ -473,6 +473,7 @@ captured_main (void *data)
|
||||||
{"xdb", no_argument, &xdb_commands, 1},
|
{"xdb", no_argument, &xdb_commands, 1},
|
||||||
{"dbx", no_argument, &dbx_commands, 1},
|
{"dbx", no_argument, &dbx_commands, 1},
|
||||||
{"readnow", no_argument, &readnow_symbol_files, 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},
|
{"r", no_argument, &readnow_symbol_files, 1},
|
||||||
{"quiet", no_argument, &quiet, 1},
|
{"quiet", no_argument, &quiet, 1},
|
||||||
{"q", 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\
|
--se=FILE Use FILE as symbol file and executable file.\n\
|
||||||
--symbols=SYMFILE Read symbols from SYMFILE.\n\
|
--symbols=SYMFILE Read symbols from SYMFILE.\n\
|
||||||
--readnow Fully read symbol files on first access.\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\
|
--write Set writing into executable and core files.\n\n\
|
||||||
"), stream);
|
"), stream);
|
||||||
fputs_unfiltered (_("\
|
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.90.20140127.orig/gdb/symfile.c 2014-01-27 22:42:53.154573607 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/symfile.c 2013-08-02 16:20:21.165687888 +0200
|
+++ 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 (
|
@@ -82,6 +82,7 @@ static void clear_symtab_users_cleanup (
|
||||||
|
|
||||||
/* Global variables owned by this file. */
|
/* Global variables owned by this file. */
|
||||||
@ -60,34 +60,32 @@ Index: gdb-7.6.50.20130731-cvs/gdb/symfile.c
|
|||||||
|
|
||||||
/* Functions this file defines. */
|
/* 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.90.20140127.orig/gdb/dwarf2read.c 2014-01-27 22:42:56.700576323 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/dwarf2read.c 2013-08-02 16:20:37.190709689 +0200
|
+++ gdb-7.6.90.20140127/gdb/dwarf2read.c 2014-01-27 22:44:21.915641560 +0100
|
||||||
@@ -69,6 +69,7 @@
|
@@ -70,6 +70,7 @@
|
||||||
#include "f-lang.h"
|
|
||||||
#include "source.h"
|
#include "source.h"
|
||||||
#include "filestuff.h"
|
#include "filestuff.h"
|
||||||
|
#include "build-id.h"
|
||||||
+#include "top.h"
|
+#include "top.h"
|
||||||
|
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include "gdb_string.h"
|
#include <string.h>
|
||||||
@@ -1834,8 +1835,9 @@ dwarf2_has_info (struct objfile *objfile
|
@@ -1975,7 +1976,8 @@ dwarf2_has_info (struct objfile *objfile
|
||||||
(void *) names);
|
(void *) names);
|
||||||
dwarf2_per_objfile->objfile = objfile;
|
dwarf2_per_objfile->objfile = objfile;
|
||||||
}
|
}
|
||||||
- return (dwarf2_per_objfile->info.asection != NULL
|
- return (!dwarf2_per_objfile->info.is_virtual
|
||||||
- && dwarf2_per_objfile->abbrev.asection != NULL);
|
+ return !readnever_symbol_files &&
|
||||||
+ return (! readnever_symbol_files
|
+ (!dwarf2_per_objfile->info.is_virtual
|
||||||
+ && (dwarf2_per_objfile->info.asection != NULL
|
&& dwarf2_per_objfile->info.s.asection != NULL
|
||||||
+ && dwarf2_per_objfile->abbrev.asection != NULL));
|
&& !dwarf2_per_objfile->abbrev.is_virtual
|
||||||
}
|
&& dwarf2_per_objfile->abbrev.s.asection != NULL);
|
||||||
|
Index: gdb-7.6.90.20140127/gdb/top.h
|
||||||
/* When loading sections, we look either for uncompressed section or for
|
|
||||||
Index: gdb-7.6.50.20130731-cvs/gdb/top.h
|
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.6.50.20130731-cvs.orig/gdb/top.h 2013-08-02 16:12:54.980085956 +0200
|
--- gdb-7.6.90.20140127.orig/gdb/top.h 2014-01-27 22:42:53.159573610 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/top.h 2013-08-02 16:20:21.169687893 +0200
|
+++ 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);
|
@@ -59,6 +59,7 @@ extern void set_prompt (const char *s);
|
||||||
|
|
||||||
/* From random places. */
|
/* From random places. */
|
||||||
|
@ -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.6.90.20140127.orig/gdb/testsuite/configure.ac 2014-01-27 22:41:19.281501688 +0100
|
||||||
+++ gdb-7.5.91.20130323/gdb/testsuite/configure.ac 2013-03-23 19:47:24.189683555 +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 \
|
@@ -96,6 +96,6 @@ AC_OUTPUT([Makefile \
|
||||||
gdb.hp/gdb.aCC/Makefile gdb.hp/gdb.compat/Makefile \
|
gdb.hp/gdb.aCC/Makefile gdb.hp/gdb.compat/Makefile \
|
||||||
gdb.hp/gdb.defects/Makefile gdb.linespec/Makefile \
|
gdb.hp/gdb.defects/Makefile gdb.linespec/Makefile \
|
||||||
gdb.mi/Makefile gdb.modula2/Makefile gdb.multi/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.objc/Makefile gdb.opencl/Makefile gdb.opt/Makefile gdb.pascal/Makefile gdb.pie/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])
|
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.6.90.20140127.orig/gdb/testsuite/configure 2014-01-27 22:41:19.283501689 +0100
|
||||||
+++ gdb-7.5.91.20130323/gdb/testsuite/configure 2013-03-23 19:47:47.256822312 +0100
|
+++ gdb-7.6.90.20140127/gdb/testsuite/configure 2014-01-27 22:41:49.933525172 +0100
|
||||||
@@ -3448,7 +3448,7 @@ done
|
@@ -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.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.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
|
cat >confcache <<\_ACEOF
|
||||||
# This file is a shell script that caches the results of configure
|
# 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.opt/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.opt/Makefile" ;;
|
||||||
"gdb.pascal/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.pascal/Makefile" ;;
|
"gdb.pascal/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.pascal/Makefile" ;;
|
||||||
+ "gdb.pie/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.pie/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.python/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.python/Makefile" ;;
|
||||||
"gdb.reverse/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.reverse/Makefile" ;;
|
"gdb.reverse/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.reverse/Makefile" ;;
|
||||||
"gdb.stabs/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.stabs/Makefile" ;;
|
Index: gdb-7.6.90.20140127/gdb/testsuite/gdb.pie/attach.c
|
||||||
Index: gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/attach.c
|
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /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 @@
|
@@ -0,0 +1,20 @@
|
||||||
+/* This program is intended to be started outside of gdb, and then
|
+/* 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
|
+ 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;
|
+ 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
|
--- /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 @@
|
@@ -0,0 +1,24 @@
|
||||||
+/* This program is intended to be started outside of gdb, and then
|
+/* 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
|
+ 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);
|
+ 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
|
--- /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 @@
|
@@ -0,0 +1,146 @@
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
+/* 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;
|
+ 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
|
--- /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 @@
|
@@ -0,0 +1,44 @@
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
+/* 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 marker3 (a, b) char *a, *b; {} /* set breakpoint 18 here */
|
||||||
+void marker4 (d) long d; {} /* set breakpoint 13 here */
|
+void marker4 (d) long d; {} /* set breakpoint 13 here */
|
||||||
+#endif
|
+#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
|
--- /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 @@
|
@@ -0,0 +1,142 @@
|
||||||
+/* Copyright 1992, 1993, 1994, 1995, 1996, 1999
|
+/* Copyright 1992, 1993, 1994, 1995, 1996, 1999
|
||||||
+ Free Software Foundation, Inc.
|
+ Free Software Foundation, Inc.
|
||||||
@ -432,10 +432,10 @@ Index: gdb-7.5.91.20130323/gdb/testsuite/gdb.pie/coremaker.c
|
|||||||
+ return 0;
|
+ 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
|
--- /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 @@
|
@@ -0,0 +1,417 @@
|
||||||
+# Copyright 1997, 1999, 2002 Free Software Foundation, Inc.
|
+# 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
|
+do_call_attach_tests
|
||||||
+
|
+
|
||||||
+return 0
|
+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
|
--- /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 @@
|
@@ -0,0 +1,962 @@
|
||||||
+# Copyright 1988, 1990, 1991, 1992, 1994, 1995, 1996, 1997, 1998, 1999,
|
+# Copyright 1988, 1990, 1991, 1992, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||||
+# 2000, 2002, 2003, 2004
|
+# 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"
|
+ send_gdb "set args main\n"
|
||||||
+ gdb_expect -re ".*$gdb_prompt $" {}
|
+ 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
|
--- /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 @@
|
@@ -0,0 +1,233 @@
|
||||||
+# Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
|
+# Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
|
||||||
+# Free Software Foundation, Inc.
|
+# 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 "up" "#\[0-9\]* *\[0-9xa-fH'\]* in .* \\(.*\\).*" "up in corefile.exp (reinit)"
|
||||||
+
|
+
|
||||||
+gdb_test "core" "No core file now."
|
+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
|
--- /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 @@
|
@@ -0,0 +1,19 @@
|
||||||
+VPATH = @srcdir@
|
+VPATH = @srcdir@
|
||||||
+srcdir = @srcdir@
|
+srcdir = @srcdir@
|
||||||
|
@ -6,20 +6,20 @@
|
|||||||
* gdb.gdb/xfullpath.exp: Ditto.
|
* gdb.gdb/xfullpath.exp: Ditto.
|
||||||
* gdb.gdb/observer.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.90.20140127.orig/gdb/testsuite/lib/selftest-support.exp 2014-01-27 22:42:04.022535966 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/lib/selftest-support.exp 2013-08-02 16:12:20.404040378 +0200
|
+++ gdb-7.6.90.20140127/gdb/testsuite/lib/selftest-support.exp 2014-01-27 22:42:42.630565675 +0100
|
||||||
@@ -130,18 +130,18 @@ proc do_self_tests {function body} {
|
@@ -136,18 +136,18 @@ proc do_self_tests {function body} {
|
||||||
set GDB_FULLPATH [find_gdb $GDB]
|
}
|
||||||
|
|
||||||
# Remove any old copy lying around.
|
# Remove any old copy lying around.
|
||||||
- remote_file host delete x$tool
|
- remote_file host delete $xgdb
|
||||||
+ #remote_file host delete x$tool
|
+ #remote_file host delete $xgdb
|
||||||
|
|
||||||
gdb_start
|
gdb_start
|
||||||
- set file [remote_download host $GDB_FULLPATH x$tool]
|
- set file [remote_download host $GDB_FULLPATH $xgdb]
|
||||||
+ #set file [remote_download host $GDB_FULLPATH x$tool]
|
+ #set file [remote_download host $GDB_FULLPATH $xgdb]
|
||||||
|
|
||||||
- set result [selftest_setup $file $function]
|
- set result [selftest_setup $file $function]
|
||||||
+ set result [selftest_setup $GDB_FULLPATH $function]
|
+ set result [selftest_setup $GDB_FULLPATH $function]
|
||||||
|
@ -23,11 +23,11 @@ instead.
|
|||||||
|
|
||||||
Port to GDB-6.7.
|
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.6.90.20140127.orig/gdb/amd64-linux-tdep.c 2014-02-04 23:40:06.263483469 +0100
|
||||||
+++ gdb-7.4.50.20120703/gdb/amd64-linux-tdep.c 2012-07-03 17:32:46.547563363 +0200
|
+++ gdb-7.6.90.20140127/gdb/amd64-linux-tdep.c 2014-02-04 23:47:18.438009290 +0100
|
||||||
@@ -271,6 +271,80 @@ amd64_linux_register_reggroup_p (struct
|
@@ -289,6 +289,80 @@ amd64_linux_register_reggroup_p (struct
|
||||||
|
|
||||||
/* Set the program counter for process PTID to PC. */
|
/* 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
|
static void
|
||||||
amd64_linux_write_pc (struct regcache *regcache, CORE_ADDR pc)
|
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;
|
+ tdep->outermost_frame_p = amd64_linux_outermost_frame;
|
||||||
+
|
+
|
||||||
/* GNU/Linux uses SVR4-style shared libraries. */
|
/* Add the %orig_rax register used for syscall restarting. */
|
||||||
set_solib_svr4_fetch_link_map_offsets
|
set_gdbarch_write_pc (gdbarch, amd64_linux_write_pc);
|
||||||
(gdbarch, svr4_lp64_fetch_link_map_offsets);
|
|
||||||
Index: gdb-7.4.50.20120703/gdb/amd64-tdep.c
|
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.6.90.20140127.orig/gdb/amd64-tdep.c 2014-02-04 23:40:06.265483471 +0100
|
||||||
+++ gdb-7.4.50.20120703/gdb/amd64-tdep.c 2012-07-03 17:32:12.335604415 +0200
|
+++ gdb-7.6.90.20140127/gdb/amd64-tdep.c 2014-02-04 23:45:40.846891653 +0100
|
||||||
@@ -2324,6 +2324,7 @@ amd64_frame_unwind_stop_reason (struct f
|
@@ -2359,6 +2359,7 @@ amd64_frame_unwind_stop_reason (struct f
|
||||||
{
|
{
|
||||||
struct amd64_frame_cache *cache =
|
struct amd64_frame_cache *cache =
|
||||||
amd64_frame_cache (this_frame, this_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)
|
if (!cache->base_p)
|
||||||
return UNWIND_UNAVAILABLE;
|
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)
|
if (cache->base == 0)
|
||||||
return UNWIND_OUTERMOST;
|
return UNWIND_OUTERMOST;
|
||||||
|
|
||||||
@ -140,30 +140,31 @@ Index: gdb-7.4.50.20120703/gdb/amd64-tdep.c
|
|||||||
return UNWIND_NO_REASON;
|
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 =
|
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));
|
+ struct gdbarch_tdep *tdep = gdbarch_tdep (get_frame_arch (this_frame));
|
||||||
|
|
||||||
if (!cache->base_p)
|
if (!cache->base_p)
|
||||||
return;
|
(*this_id) = frame_id_build_unavailable_stack (get_frame_pc (this_frame));
|
||||||
@@ -2349,6 +2355,10 @@ amd64_frame_this_id (struct frame_info *
|
@@ -2506,6 +2512,11 @@ amd64_sigtramp_frame_this_id (struct fra
|
||||||
if (cache->base == 0)
|
/* This marks the outermost frame. */
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
+ /* Detect OS dependent outermost frames; such as `clone'. */
|
+ else if (tdep->outermost_frame_p && tdep->outermost_frame_p (this_frame))
|
||||||
+ if (tdep->outermost_frame_p && tdep->outermost_frame_p (this_frame))
|
+ {
|
||||||
+ return;
|
+ /* Detect OS dependent outermost frames; such as `clone'. */
|
||||||
+
|
+ return;
|
||||||
(*this_id) = frame_id_build (cache->base + 16, cache->pc);
|
+ }
|
||||||
|
else
|
||||||
|
(*this_id) = frame_id_build (cache->base + 16, get_frame_pc (this_frame));
|
||||||
}
|
}
|
||||||
|
Index: gdb-7.6.90.20140127/gdb/i386-tdep.c
|
||||||
Index: gdb-7.4.50.20120703/gdb/i386-tdep.c
|
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.4.50.20120703.orig/gdb/i386-tdep.c 2012-06-18 19:31:34.000000000 +0200
|
--- gdb-7.6.90.20140127.orig/gdb/i386-tdep.c 2014-02-04 23:40:06.267483473 +0100
|
||||||
+++ gdb-7.4.50.20120703/gdb/i386-tdep.c 2012-07-03 17:32:12.339604409 +0200
|
+++ gdb-7.6.90.20140127/gdb/i386-tdep.c 2014-02-04 23:43:33.048734974 +0100
|
||||||
@@ -7655,6 +7655,9 @@ i386_gdbarch_init (struct gdbarch_info i
|
@@ -7830,6 +7830,9 @@ i386_gdbarch_init (struct gdbarch_info i
|
||||||
|
|
||||||
tdep->xsave_xcr0_offset = -1;
|
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;
|
tdep->record_regmap = i386_record_regmap;
|
||||||
|
|
||||||
set_gdbarch_long_long_align_bit (gdbarch, 32);
|
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.6.90.20140127.orig/gdb/i386-tdep.h 2014-02-04 23:40:06.268483475 +0100
|
||||||
+++ gdb-7.4.50.20120703/gdb/i386-tdep.h 2012-07-03 17:32:12.340604408 +0200
|
+++ gdb-7.6.90.20140127/gdb/i386-tdep.h 2014-02-04 23:43:33.048734974 +0100
|
||||||
@@ -219,6 +219,9 @@ struct gdbarch_tdep
|
@@ -192,6 +192,9 @@ struct gdbarch_tdep
|
||||||
int (*i386_sysenter_record) (struct regcache *regcache);
|
int (*i386_sysenter_record) (struct regcache *regcache);
|
||||||
/* Parse syscall args. */
|
/* Parse syscall args. */
|
||||||
int (*i386_syscall_record) (struct regcache *regcache);
|
int (*i386_syscall_record) (struct regcache *regcache);
|
||||||
@ -187,10 +188,10 @@ Index: gdb-7.4.50.20120703/gdb/i386-tdep.h
|
|||||||
};
|
};
|
||||||
|
|
||||||
/* Floating-point registers. */
|
/* 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.6.90.20140127.orig/gdb/ia64-tdep.c 2014-02-04 23:40:06.270483477 +0100
|
||||||
+++ gdb-7.4.50.20120703/gdb/ia64-tdep.c 2012-07-03 17:32:12.343604405 +0200
|
+++ 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
|
@@ -2176,6 +2176,138 @@ static const struct frame_unwind ia64_fr
|
||||||
default_frame_sniffer
|
default_frame_sniffer
|
||||||
};
|
};
|
||||||
@ -330,7 +331,7 @@ Index: gdb-7.4.50.20120703/gdb/ia64-tdep.c
|
|||||||
/* Signal trampolines. */
|
/* Signal trampolines. */
|
||||||
|
|
||||||
static void
|
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_dummy_id (gdbarch, ia64_dummy_id);
|
||||||
|
|
||||||
set_gdbarch_unwind_pc (gdbarch, ia64_unwind_pc);
|
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
|
#ifdef HAVE_LIBUNWIND_IA64_H
|
||||||
frame_unwind_append_unwinder (gdbarch,
|
frame_unwind_append_unwinder (gdbarch,
|
||||||
&ia64_libunwind_sigtramp_frame_unwind);
|
&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
|
--- /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 @@
|
@@ -0,0 +1,39 @@
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
+/* 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 (;;)
|
+ for (;;)
|
||||||
+ pause();
|
+ 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
|
--- /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 @@
|
@@ -0,0 +1,61 @@
|
||||||
+# Copyright 2006 Free Software Foundation, Inc.
|
+# Copyright 2006 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
|
@ -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
|
* exec.c (exec_file_attach): Print a more useful error message if the
|
||||||
user did "gdb core".
|
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.90.20140127.orig/gdb/exceptions.h 2014-02-06 17:31:00.148529736 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/exceptions.h 2013-08-02 16:30:06.197468727 +0200
|
+++ gdb-7.6.90.20140127/gdb/exceptions.h 2014-02-06 17:31:17.560548525 +0100
|
||||||
@@ -90,6 +90,9 @@ enum errors {
|
@@ -97,6 +97,9 @@ enum errors {
|
||||||
aborted as the inferior state is no longer valid. */
|
/* An undefined command was executed. */
|
||||||
TARGET_CLOSE_ERROR,
|
UNDEFINED_COMMAND_ERROR,
|
||||||
|
|
||||||
+ /* Attempt to load a core file as executable. */
|
+ /* Attempt to load a core file as executable. */
|
||||||
+ IS_CORE_ERROR,
|
+ IS_CORE_ERROR,
|
||||||
@ -72,10 +72,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/exceptions.h
|
|||||||
/* Add more errors here. */
|
/* Add more errors here. */
|
||||||
NR_ERRORS
|
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.90.20140127.orig/gdb/exec.c 2014-02-06 17:30:58.266527708 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/exec.c 2013-08-02 16:31:30.100618657 +0200
|
+++ gdb-7.6.90.20140127/gdb/exec.c 2014-02-06 17:31:00.149529737 +0100
|
||||||
@@ -34,6 +34,7 @@
|
@@ -34,6 +34,7 @@
|
||||||
#include "gdbthread.h"
|
#include "gdbthread.h"
|
||||||
#include "progspace.h"
|
#include "progspace.h"
|
||||||
@ -84,7 +84,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/exec.c
|
|||||||
|
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include "readline/readline.h"
|
#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))
|
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))
|
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.90.20140127.orig/gdb/main.c 2014-02-06 17:30:58.267527709 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/main.c 2013-08-02 16:30:06.199468730 +0200
|
+++ gdb-7.6.90.20140127/gdb/main.c 2014-02-06 17:32:32.232629052 +0100
|
||||||
@@ -300,6 +300,36 @@ typedef struct cmdarg {
|
@@ -307,6 +307,36 @@ typedef struct cmdarg {
|
||||||
/* Define type VEC (cmdarg_s). */
|
/* Define type VEC (cmdarg_s). */
|
||||||
DEF_VEC_O (cmdarg_s);
|
DEF_VEC_O (cmdarg_s);
|
||||||
|
|
||||||
@ -156,7 +156,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/main.c
|
|||||||
static int
|
static int
|
||||||
captured_main (void *data)
|
captured_main (void *data)
|
||||||
{
|
{
|
||||||
@@ -810,6 +840,8 @@ captured_main (void *data)
|
@@ -824,6 +854,8 @@ captured_main (void *data)
|
||||||
{
|
{
|
||||||
symarg = argv[optind];
|
symarg = argv[optind];
|
||||||
execarg = argv[optind];
|
execarg = argv[optind];
|
||||||
@ -165,7 +165,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/main.c
|
|||||||
optind++;
|
optind++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -975,11 +1007,25 @@ captured_main (void *data)
|
@@ -987,11 +1019,25 @@ captured_main (void *data)
|
||||||
&& symarg != NULL
|
&& symarg != NULL
|
||||||
&& strcmp (execarg, symarg) == 0)
|
&& strcmp (execarg, symarg) == 0)
|
||||||
{
|
{
|
||||||
@ -191,6 +191,6 @@ Index: gdb-7.6.50.20130731-cvs/gdb/main.c
|
|||||||
+ as a core file. */
|
+ as a core file. */
|
||||||
+ if (catch_command_errors (func, execarg, !batch_flag, RETURN_MASK_ALL)
|
+ if (catch_command_errors (func, execarg, !batch_flag, RETURN_MASK_ALL)
|
||||||
+ && core_bfd == NULL)
|
+ && core_bfd == NULL)
|
||||||
catch_command_errors (symbol_file_add_main, symarg,
|
catch_command_errors_const (symbol_file_add_main, symarg,
|
||||||
!batch_flag, RETURN_MASK_ALL);
|
!batch_flag, RETURN_MASK_ALL);
|
||||||
}
|
}
|
||||||
|
@ -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.6.90.20140127.orig/gdb/proc-service.list 2014-02-06 17:32:42.810640320 +0100
|
||||||
+++ gdb-7.4.50.20120602/gdb/elfread.c 2012-06-02 21:35:31.106502660 +0200
|
+++ gdb-7.6.90.20140127/gdb/proc-service.list 2014-02-06 17:33:35.406696964 +0100
|
||||||
@@ -1658,6 +1658,19 @@ build_id_to_filename (struct build_id *b
|
@@ -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 <dlfcn.h>
|
#include <dlfcn.h>
|
||||||
#endif
|
#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
|
/* This MISSING_RPM_HASH tracker is used to collect all the missing rpm files
|
||||||
and avoid their duplicities during a single inferior run. */
|
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;
|
|
||||||
};
|
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
warning: Skipping deprecated .gdb_index section
|
warning: Skipping deprecated .gdb_index section
|
||||||
https://bugzilla.redhat.com/show_bug.cgi?id=953585
|
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
|
Index: gdb-7.6.90.20140127/gdb/dwarf2read.c
|
||||||
+++ 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
|
--- 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". */
|
"set use-deprecated-index-sections on". */
|
||||||
if (version < 6 && !deprecated_ok)
|
if (version < 6 && !deprecated_ok)
|
||||||
{
|
{
|
||||||
@ -18,7 +20,7 @@ https://bugzilla.redhat.com/show_bug.cgi?id=953585
|
|||||||
static int warning_printed = 0;
|
static int warning_printed = 0;
|
||||||
if (!warning_printed)
|
if (!warning_printed)
|
||||||
{
|
{
|
||||||
@@ -2711,6 +2719,8 @@ to use the section anyway."),
|
@@ -3046,6 +3054,8 @@ to use the section anyway."),
|
||||||
warning_printed = 1;
|
warning_printed = 1;
|
||||||
}
|
}
|
||||||
return 0;
|
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
|
/* 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
|
of the TU (for symbols coming from TUs),
|
||||||
--- gdb-7.5.91.20130407-orig/gdb/elfread.c 2013-04-22 15:47:18.637807200 +0200
|
Index: gdb-7.6.90.20140127/gdb/build-id.c
|
||||||
+++ 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;
|
--- 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. */
|
/* Returns the count of newly added rpms. */
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@ -38,7 +42,7 @@ https://bugzilla.redhat.com/show_bug.cgi?id=953585
|
|||||||
{
|
{
|
||||||
static int rpm_init_done = 0;
|
static int rpm_init_done = 0;
|
||||||
rpmts ts;
|
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);
|
mi = rpmtsInitIterator_p (ts, RPMTAG_BASENAMES, filename, 0);
|
||||||
if (mi != NULL)
|
if (mi != NULL)
|
||||||
{
|
{
|
||||||
@ -47,7 +51,7 @@ https://bugzilla.redhat.com/show_bug.cgi?id=953585
|
|||||||
{
|
{
|
||||||
Header h;
|
Header h;
|
||||||
char *debuginfo, **slot, *s, *s2;
|
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);
|
xfree (debuginfo);
|
||||||
count++;
|
count++;
|
||||||
}
|
}
|
||||||
@ -83,7 +87,7 @@ https://bugzilla.redhat.com/show_bug.cgi?id=953585
|
|||||||
|
|
||||||
rpmdbFreeIterator_p (mi);
|
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
|
static int
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -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.90.20140127.orig/gdb/corelow.c 2014-01-27 02:57:53.000000000 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/corelow.c 2013-08-02 17:07:28.434753293 +0200
|
+++ gdb-7.6.90.20140127/gdb/corelow.c 2014-02-06 16:46:52.261646499 +0100
|
||||||
@@ -48,6 +48,9 @@
|
@@ -48,6 +48,10 @@
|
||||||
#include "gdb_bfd.h"
|
#include "gdb_bfd.h"
|
||||||
#include "completer.h"
|
#include "completer.h"
|
||||||
#include "filestuff.h"
|
#include "filestuff.h"
|
||||||
+#include "auxv.h"
|
+#include "auxv.h"
|
||||||
+#include "elf/common.h"
|
+#include "elf/common.h"
|
||||||
+#include "gdbcmd.h"
|
+#include "gdbcmd.h"
|
||||||
|
+#include "build-id.h"
|
||||||
|
|
||||||
#ifndef O_LARGEFILE
|
#ifndef O_LARGEFILE
|
||||||
#define O_LARGEFILE 0
|
#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. */
|
inferior_ptid = ptid; /* Yes, make it current. */
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -44,7 +45,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/corelow.c
|
|||||||
+ file - such .eh_frame would not be found if SYMFILE_OBJFILE would refer
|
+ file - such .eh_frame would not be found if SYMFILE_OBJFILE would refer
|
||||||
+ directly to the separate debug info file. */
|
+ directly to the separate debug info file. */
|
||||||
+
|
+
|
||||||
+ execfilename = 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);
|
+ make_cleanup (xfree, build_id_filename);
|
||||||
+
|
+
|
||||||
+ if (execfilename != NULL)
|
+ if (execfilename != NULL)
|
||||||
@ -66,7 +67,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/corelow.c
|
|||||||
/* This routine opens and sets up the core file bfd. */
|
/* This routine opens and sets up the core file bfd. */
|
||||||
|
|
||||||
static void
|
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);
|
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);
|
post_create_inferior (&core_ops, from_tty);
|
||||||
|
|
||||||
/* Now go through the target stack looking for threads since there
|
/* 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 ();
|
init_core_ops ();
|
||||||
|
|
||||||
add_target_with_completer (&core_ops, filename_completer);
|
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,
|
+ NULL, NULL, NULL,
|
||||||
+ &setlist, &showlist);
|
+ &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.90.20140127.orig/gdb/doc/gdb.texinfo 2014-02-06 16:46:51.804645989 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/doc/gdb.texinfo 2013-08-02 17:07:28.443753304 +0200
|
+++ gdb-7.6.90.20140127/gdb/doc/gdb.texinfo 2014-02-06 16:46:52.110646331 +0100
|
||||||
@@ -17119,6 +17119,27 @@ information files.
|
@@ -17413,6 +17413,27 @@ information files.
|
||||||
|
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@ -125,11 +126,19 @@ Index: gdb-7.6.50.20130731-cvs/gdb/doc/gdb.texinfo
|
|||||||
@cindex @code{.gnu_debuglink} sections
|
@cindex @code{.gnu_debuglink} sections
|
||||||
@cindex debug link sections
|
@cindex debug link sections
|
||||||
A debug link is a special section of the executable file named
|
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.90.20140127.orig/gdb/solib-svr4.c 2014-01-27 02:57:53.000000000 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/solib-svr4.c 2013-08-02 17:07:28.444753305 +0200
|
+++ gdb-7.6.90.20140127/gdb/solib-svr4.c 2014-02-06 16:49:27.508819174 +0100
|
||||||
@@ -1365,9 +1365,52 @@ svr4_read_so_list (CORE_ADDR lm, CORE_AD
|
@@ -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;
|
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
|
+ /* Missing the build-id matching separate debug info file
|
||||||
+ would be handled while SO_NAME gets loaded. */
|
+ 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)
|
+ if (name != NULL)
|
||||||
+ {
|
+ {
|
||||||
+ strncpy (new->so_name, name, SO_NAME_MAX_PATH_SIZE - 1);
|
+ 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);
|
xfree (buffer);
|
||||||
|
|
||||||
/* If this entry has no name, or its name matches the name
|
/* 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.90.20140127.orig/gdb/elfread.c 2014-01-27 02:57:53.000000000 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/elfread.c 2013-08-02 17:09:06.460881503 +0200
|
+++ gdb-7.6.90.20140127/gdb/elfread.c 2014-02-06 16:46:52.249646486 +0100
|
||||||
@@ -45,6 +45,11 @@
|
@@ -1316,9 +1316,10 @@ elf_symfile_read (struct objfile *objfil
|
||||||
#include "regcache.h"
|
&& objfile->separate_debug_objfile == NULL
|
||||||
#include "bcache.h"
|
&& objfile->separate_debug_objfile_backlink == NULL)
|
||||||
#include "gdb_bfd.h"
|
{
|
||||||
|
- 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 "libbfd.h"
|
||||||
+#include "gdbcore.h"
|
+#include "gdbcore.h"
|
||||||
+#include "gdbcmd.h"
|
+#include "gdbcmd.h"
|
||||||
+#include "observer.h"
|
+#include "observer.h"
|
||||||
+#include <sys/stat.h>
|
+#include <sys/stat.h>
|
||||||
|
+
|
||||||
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_NONE 0
|
||||||
+#define BUILD_ID_VERBOSE_FILENAMES 1
|
+#define BUILD_ID_VERBOSE_FILENAMES 1
|
||||||
+#define BUILD_ID_VERBOSE_BINARY_PARSE 2
|
+#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.
|
+/* Locate NT_GNU_BUILD_ID and return its matching debug filename.
|
||||||
+ FIXME: NOTE decoding should be unified with the BFD core notes decoding. */
|
+ 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 *
|
+static struct elf_build_id *
|
||||||
+build_id_buf_get (bfd *templ, gdb_byte *buf, bfd_size_type size)
|
+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;
|
+ return NULL;
|
||||||
+}
|
+}
|
||||||
+
|
|
||||||
+/* Separate debuginfo files have corrupted PHDR but SHDR is correct there.
|
+/* Separate debuginfo files have corrupted PHDR but SHDR is correct there.
|
||||||
+ Locate NT_GNU_BUILD_ID from ABFD and return its content. */
|
+ Locate NT_GNU_BUILD_ID from ABFD and return its content. */
|
||||||
|
+
|
||||||
static const struct elf_build_id *
|
static const struct elf_build_id *
|
||||||
-build_id_bfd_get (bfd *abfd)
|
-build_id_bfd_get (bfd *abfd)
|
||||||
+build_id_bfd_shdr_get (bfd *abfd)
|
+build_id_bfd_shdr_get (bfd *abfd)
|
||||||
{
|
{
|
||||||
if (!bfd_check_format (abfd, bfd_object)
|
if (!bfd_check_format (abfd, bfd_object)
|
||||||
|| bfd_get_flavour (abfd) != bfd_target_elf_flavour
|
|| 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;
|
return elf_tdata (abfd)->build_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -609,23 +752,23 @@ Index: gdb-7.6.50.20130731-cvs/gdb/elfread.c
|
|||||||
+ return retval;
|
+ return retval;
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
/* Return if FILENAME has NT_GNU_BUILD_ID matching the CHECK value. */
|
/* See build-id.h. */
|
||||||
|
|
||||||
static int
|
int
|
||||||
@@ -1114,7 +1510,7 @@ build_id_verify (const char *filename, c
|
@@ -53,7 +449,7 @@ build_id_verify (bfd *abfd, size_t check
|
||||||
if (abfd == NULL)
|
const struct elf_build_id *found;
|
||||||
return 0;
|
int retval = 0;
|
||||||
|
|
||||||
- found = build_id_bfd_get (abfd);
|
- found = build_id_bfd_get (abfd);
|
||||||
+ found = build_id_bfd_shdr_get (abfd);
|
+ found = build_id_bfd_shdr_get (abfd);
|
||||||
|
|
||||||
if (found == NULL)
|
if (found == NULL)
|
||||||
warning (_("File \"%s\" has no build-id, file skipped"), filename);
|
warning (_("File \"%s\" has no build-id, file skipped"),
|
||||||
@@ -1131,16 +1527,53 @@ build_id_verify (const char *filename, c
|
@@ -68,20 +464,56 @@ build_id_verify (bfd *abfd, size_t check
|
||||||
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
static char *
|
+static char *
|
||||||
-build_id_to_debug_filename (const struct elf_build_id *build_id)
|
|
||||||
+link_resolve (const char *symlink, int level)
|
+link_resolve (const char *symlink, int level)
|
||||||
+{
|
+{
|
||||||
+ char buf[PATH_MAX + 1], *target, *retval;
|
+ char buf[PATH_MAX + 1], *target, *retval;
|
||||||
@ -661,28 +804,33 @@ Index: gdb-7.6.50.20130731-cvs/gdb/elfread.c
|
|||||||
+ return retval;
|
+ return retval;
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+char *
|
/* See build-id.h. */
|
||||||
+build_id_to_filename (const struct elf_build_id *build_id, char **link_return,
|
|
||||||
+ int add_debug_suffix)
|
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, *debugdir;
|
||||||
+ char *link_all = NULL;
|
+ char *link, *debugdir, *link_all = NULL;
|
||||||
VEC (char_ptr) *debugdir_vec;
|
VEC (char_ptr) *debugdir_vec;
|
||||||
struct cleanup *back_to;
|
struct cleanup *back_to;
|
||||||
int ix;
|
int ix;
|
||||||
|
bfd *abfd = NULL;
|
||||||
|
|
||||||
/* DEBUG_FILE_DIRECTORY/.build-id/ab/cdef */
|
/* DEBUG_FILE_DIRECTORY/.build-id/ab/cdef */
|
||||||
- link = alloca (strlen (debug_file_directory) + (sizeof "/.build-id/" - 1) + 1
|
- link = alloca (strlen (debug_file_directory) + (sizeof "/.build-id/" - 1) + 1
|
||||||
- + 2 * build_id->size + (sizeof ".debug" - 1) + 1);
|
- + 2 * build_id_len + (sizeof ".debug" - 1) + 1);
|
||||||
+ link = xmalloc (strlen (debug_file_directory) + 2 * build_id->size + 50);
|
+ link = xmalloc (strlen (debug_file_directory) + 2 * build_id_len + 50);
|
||||||
|
|
||||||
/* Keep backward compatibility so that DEBUG_FILE_DIRECTORY being "" will
|
/* Keep backward compatibility so that DEBUG_FILE_DIRECTORY being "" will
|
||||||
cause "/.build-id/..." lookups. */
|
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);
|
size_t debugdir_len = strlen (debugdir);
|
||||||
const gdb_byte *data = build_id->data;
|
const gdb_byte *data = build_id;
|
||||||
size_t size = build_id->size;
|
size_t size = build_id_len;
|
||||||
- char *s;
|
- char *s;
|
||||||
|
char *filename = NULL;
|
||||||
+ unsigned seqno;
|
+ unsigned seqno;
|
||||||
+ struct stat statbuf_trash;
|
+ struct stat statbuf_trash;
|
||||||
+ /* Initialize it just to avoid a GCC false warning. */
|
+ /* 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);
|
memcpy (link, debugdir, debugdir_len);
|
||||||
s = &link[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++ = '/';
|
*s++ = '/';
|
||||||
while (size-- > 0)
|
while (size-- > 0)
|
||||||
s += sprintf (s, "%02x", (unsigned) *data++);
|
s += sprintf (s, "%02x", (unsigned) *data++);
|
||||||
- strcpy (s, ".debug");
|
- 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++)
|
+ for (seqno = 0;; seqno++)
|
||||||
+ {
|
+ {
|
||||||
+ char *s2;
|
+ char *s2;
|
||||||
+
|
|
||||||
|
- /* lrealpath() is expensive even for the usually non-existent files. */
|
||||||
|
- if (access (link, F_OK) == 0)
|
||||||
|
- filename = lrealpath (link);
|
||||||
+ if (seqno)
|
+ if (seqno)
|
||||||
+ {
|
+ {
|
||||||
+ /* There can be multiple build-id symlinks pointing to real files
|
+ /* 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;
|
+ 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);
|
+ xfree (filename);
|
||||||
+ retval = NULL;
|
+ continue;
|
||||||
+ }
|
+ }
|
||||||
+
|
|
||||||
+ if (retval)
|
- if (filename == NULL)
|
||||||
|
- continue;
|
||||||
|
+ if (build_id_verify (abfd, build_id_len, build_id))
|
||||||
+ break;
|
+ 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);
|
+ xfree (link0);
|
||||||
+ break;
|
+ break;
|
||||||
+ }
|
+ }
|
||||||
@ -757,14 +922,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/elfread.c
|
|||||||
+ https://bugzilla.redhat.com/show_bug.cgi?id=981154 */
|
+ https://bugzilla.redhat.com/show_bug.cgi?id=981154 */
|
||||||
+ link0_resolved = link_resolve (link0, 0);
|
+ link0_resolved = link_resolve (link0, 0);
|
||||||
+ xfree (link0);
|
+ xfree (link0);
|
||||||
|
+
|
||||||
- if (retval != NULL && !build_id_verify (retval, build_id))
|
|
||||||
+ if (link_all == NULL)
|
+ if (link_all == NULL)
|
||||||
+ link_all = xstrdup (link0_resolved);
|
+ link_all = link0_resolved;
|
||||||
+ else
|
+ else
|
||||||
{
|
+ {
|
||||||
- xfree (retval);
|
|
||||||
- retval = NULL;
|
|
||||||
+ size_t len_orig = strlen (link_all);
|
+ size_t len_orig = strlen (link_all);
|
||||||
+
|
+
|
||||||
+ link_all = xrealloc (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
|
+ /* Use whitespace instead of DIRNAME_SEPARATOR to be compatible with
|
||||||
+ its possible use as an argument for installation command. */
|
+ its possible use as an argument for installation command. */
|
||||||
+ link_all[len_orig] = ' ';
|
+ 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 (link_return != NULL)
|
||||||
+ {
|
+ {
|
||||||
if (retval != NULL)
|
+ if (abfd != NULL)
|
||||||
- break;
|
|
||||||
+ {
|
+ {
|
||||||
+ *link_return = link;
|
+ *link_return = link;
|
||||||
+ link = NULL;
|
+ link = NULL;
|
||||||
@ -797,9 +960,24 @@ Index: gdb-7.6.50.20130731-cvs/gdb/elfread.c
|
|||||||
+ xfree (link_all);
|
+ xfree (link_all);
|
||||||
|
|
||||||
do_cleanups (back_to);
|
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
|
+/* This MISSING_FILEPAIR_HASH tracker is used only for the duplicite messages
|
||||||
+ Try to install the hash file ...
|
+ Try to install the hash file ...
|
||||||
+ avoidance. */
|
+ avoidance. */
|
||||||
@ -936,7 +1114,9 @@ Index: gdb-7.6.50.20130731-cvs/gdb/elfread.c
|
|||||||
+ debug);
|
+ 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)
|
||||||
+find_separate_debug_file_by_buildid (struct objfile *objfile,
|
+find_separate_debug_file_by_buildid (struct objfile *objfile,
|
||||||
+ char **build_id_filename_return)
|
+ 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);
|
+ build_id = build_id_bfd_shdr_get (objfile->obfd);
|
||||||
if (build_id != NULL)
|
if (build_id != NULL)
|
||||||
{
|
{
|
||||||
char *build_id_name;
|
bfd *abfd;
|
||||||
|
|
||||||
- build_id_name = build_id_to_debug_filename (build_id);
|
- abfd = build_id_to_debug_bfd (build_id->size, build_id->data);
|
||||||
+ build_id_name = build_id_to_filename (build_id, build_id_filename_return,
|
+ abfd = build_id_to_debug_bfd (build_id->size, build_id->data,
|
||||||
+ 1);
|
+ build_id_filename_return, 1);
|
||||||
/* Prevent looping on a stripped .debug file. */
|
/* Prevent looping on a stripped .debug file. */
|
||||||
if (build_id_name != NULL
|
if (abfd != NULL
|
||||||
&& filename_cmp (build_id_name, objfile->name) == 0)
|
&& filename_cmp (bfd_get_filename (abfd),
|
||||||
@@ -1207,7 +1862,7 @@ find_separate_debug_file_by_buildid (str
|
@@ -166,3 +839,21 @@ 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;
|
|
||||||
}
|
}
|
||||||
return NULL;
|
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);
|
+extern void _initialize_build_id (void);
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1790,4 +2452,16 @@ _initialize_elfread (void)
|
|
||||||
|
|
||||||
elf_objfile_gnu_ifunc_cache_data = register_objfile_data ();
|
|
||||||
gnu_ifunc_fns_p = &elf_gnu_ifunc_fns;
|
|
||||||
+
|
+
|
||||||
|
+void
|
||||||
|
+_initialize_build_id (void)
|
||||||
|
+{
|
||||||
+ add_setshow_zinteger_cmd ("build-id-verbose", no_class, &build_id_verbose,
|
+ add_setshow_zinteger_cmd ("build-id-verbose", no_class, &build_id_verbose,
|
||||||
+ _("\
|
+ _("\
|
||||||
+Set debugging level of the build-id locator."), _("\
|
+Set debugging level of the build-id locator."), _("\
|
||||||
@ -1009,116 +1159,42 @@ Index: gdb-7.6.50.20130731-cvs/gdb/elfread.c
|
|||||||
+ &setlist, &showlist);
|
+ &setlist, &showlist);
|
||||||
+
|
+
|
||||||
+ observer_attach_executable_changed (debug_print_executable_changed);
|
+ 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"),
|
||||||
|
@ -3,12 +3,12 @@
|
|||||||
Port to GDB-6.8pre.
|
Port to GDB-6.8pre.
|
||||||
Remove the `[' character from the GDB-6.8 default message.
|
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.6.90.20140127.orig/gdb/linux-nat.c 2014-02-04 23:47:39.275034491 +0100
|
||||||
+++ gdb-7.2.50.20110320/gdb/linux-nat.c 2011-03-20 16:59:51.000000000 +0100
|
+++ gdb-7.6.90.20140127/gdb/linux-nat.c 2014-02-04 23:48:11.943074132 +0100
|
||||||
@@ -716,7 +716,7 @@ holding the child stopped. Try \"set de
|
@@ -426,7 +426,7 @@ holding the child stopped. Try \"set de
|
||||||
remove_breakpoints_pid (GET_PID (inferior_ptid));
|
remove_breakpoints_pid (ptid_get_pid (inferior_ptid));
|
||||||
}
|
}
|
||||||
|
|
||||||
- if (info_verbose || debug_linux_nat)
|
- if (info_verbose || debug_linux_nat)
|
||||||
@ -16,10 +16,10 @@ Index: gdb-7.2.50.20110320/gdb/linux-nat.c
|
|||||||
{
|
{
|
||||||
target_terminal_ours ();
|
target_terminal_ours ();
|
||||||
fprintf_filtered (gdb_stdlog,
|
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
|
--- /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 @@
|
@@ -0,0 +1,57 @@
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
+/* 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;
|
+ 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
|
--- /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 @@
|
@@ -0,0 +1,36 @@
|
||||||
+# Copyright 2007 Free Software Foundation, Inc.
|
+# Copyright 2007 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
|
@ -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.6.90.20140127.orig/gdb/infrun.c 2014-02-04 23:48:27.262092869 +0100
|
||||||
+++ gdb-7.5.50.20130118/gdb/infrun.c 2013-01-19 20:56:34.662918474 +0100
|
+++ gdb-7.6.90.20140127/gdb/infrun.c 2014-02-04 23:48:31.674096613 +0100
|
||||||
@@ -1628,7 +1628,7 @@ static const char *const scheduler_enums
|
@@ -1618,7 +1618,7 @@ static const char *const scheduler_enums
|
||||||
schedlock_step,
|
schedlock_step,
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
@ -11,10 +11,10 @@ Index: gdb-7.5.50.20130118/gdb/infrun.c
|
|||||||
static void
|
static void
|
||||||
show_scheduler_mode (struct ui_file *file, int from_tty,
|
show_scheduler_mode (struct ui_file *file, int from_tty,
|
||||||
struct cmd_list_element *c, const char *value)
|
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.6.90.20140127.orig/gdb/testsuite/gdb.mi/mi-cli.exp 2014-02-04 23:48:27.263092871 +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/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
|
@@ -163,7 +163,7 @@ mi_execute_to "exec-continue" "breakpoin
|
||||||
# Test that the token is output even for CLI commands
|
# Test that the token is output even for CLI commands
|
||||||
# Also test that *stopped includes frame information.
|
# 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"
|
"34 next: run"
|
||||||
|
|
||||||
if {!$async} {
|
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.6.90.20140127.orig/gdb/testsuite/gdb.mi/mi-logging.exp 2014-02-04 23:48:27.263092871 +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/gdb/testsuite/gdb.mi/mi-logging.exp 2014-02-04 23:48:31.674096613 +0100
|
||||||
@@ -53,7 +53,7 @@ close $chan
|
@@ -53,7 +53,7 @@ close $chan
|
||||||
|
|
||||||
set mi_log_prompt "\[(\]gdb\[)\] \[\r\n\]+"
|
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"
|
pass "Redirect log file contents"
|
||||||
} else {
|
} else {
|
||||||
fail "Redirect log file contents"
|
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.6.90.20140127.orig/gdb/testsuite/gdb.mi/mi-console.exp 2014-02-04 23:48:31.675096666 +0100
|
||||||
+++ gdb-7.5.50.20130118/gdb/testsuite/gdb.mi/mi-console.exp 2013-01-19 20:56:55.783961145 +0100
|
+++ gdb-7.6.90.20140127/gdb/testsuite/gdb.mi/mi-console.exp 2014-02-04 23:48:55.981127963 +0100
|
||||||
@@ -45,6 +45,9 @@ if { [gdb_compile "${srcdir}/${subdir}/
|
@@ -60,6 +60,9 @@ if { [gdb_compile "${srcdir}/${subdir}/
|
||||||
|
|
||||||
mi_run_to_main
|
mi_run_to_main
|
||||||
|
|
||||||
+# thread-id=\"all\" vs. thread-id=\"1\" below:
|
+# thread-id=\"all\" vs. thread-id=\"1\" below:
|
||||||
+mi_gdb_test "210-gdb-set scheduler-locking off" "210\\^done" "set scheduler-locking off"
|
+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
|
# The output we get from the target depends on how it is hosted. If
|
||||||
mi_gdb_test "220-exec-next" \
|
# we are semihosted (e.g., the sim or a remote target that supports
|
||||||
"220\\^running(\r\n\\*running,thread-id=\"all\")?" \
|
# the File I/O remote protocol extension), we see the target I/O
|
||||||
|
@ -21,11 +21,11 @@
|
|||||||
|
|
||||||
Port to GDB-6.8pre.
|
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.6.90.20140127.orig/gdb/inferior.h 2014-01-27 22:05:28.801895347 +0100
|
||||||
+++ gdb-7.5.50.20130215/gdb/inferior.h 2013-02-15 22:31:42.993944957 +0100
|
+++ gdb-7.6.90.20140127/gdb/inferior.h 2014-01-27 22:33:45.230157813 +0100
|
||||||
@@ -160,7 +160,15 @@ extern void reopen_exec_file (void);
|
@@ -155,7 +155,15 @@ extern void reopen_exec_file (void);
|
||||||
/* The `resume' routine should only be called in special circumstances.
|
/* The `resume' routine should only be called in special circumstances.
|
||||||
Normally, use `proceed', which handles a lot of bookkeeping. */
|
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);
|
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.6.90.20140127.orig/gdb/infrun.c 2014-01-27 22:05:28.804895349 +0100
|
||||||
+++ gdb-7.5.50.20130215/gdb/infrun.c 2013-02-15 22:34:07.132144519 +0100
|
+++ gdb-7.6.90.20140127/gdb/infrun.c 2014-01-27 22:35:12.781224279 +0100
|
||||||
@@ -81,7 +81,7 @@ static int follow_fork (void);
|
@@ -83,7 +83,7 @@ static int follow_fork (void);
|
||||||
static void set_schedlock_func (char *args, int from_tty,
|
static void set_schedlock_func (char *args, int from_tty,
|
||||||
struct cmd_list_element *c);
|
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,
|
static int currently_stepping_or_nexting_callback (struct thread_info *tp,
|
||||||
void *data);
|
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)
|
else if ((scheduler_mode == schedlock_on)
|
||||||
|| (scheduler_mode == schedlock_step
|
|| (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. */
|
/* User-settable 'scheduler' mode requires solo thread resume. */
|
||||||
resume_ptid = inferior_ptid;
|
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).
|
STEP nonzero if we should step (zero to continue instead).
|
||||||
SIG is the signal to give the inferior (zero for none). */
|
SIG is the signal to give the inferior (zero for none). */
|
||||||
void
|
void
|
||||||
@ -74,23 +74,23 @@ Index: gdb-7.5.50.20130215/gdb/infrun.c
|
|||||||
{
|
{
|
||||||
int should_resume = 1;
|
int should_resume = 1;
|
||||||
struct cleanup *old_cleanups = make_cleanup (resume_cleanups, 0);
|
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)
|
if (debug_infrun)
|
||||||
fprintf_unfiltered (gdb_stdlog,
|
fprintf_unfiltered (gdb_stdlog,
|
||||||
- "infrun: resume (step=%d, signal=%d), "
|
- "infrun: resume (step=%d, signal=%s), "
|
||||||
+ "infrun: resume (step=%s, signal=%d), "
|
+ "infrun: resume (step=%s, signal=%s), "
|
||||||
"trap_expected=%d, current thread [%s] at %s\n",
|
"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
|
+ (step == RESUME_STEP_CONTINUE
|
||||||
+ ? "RESUME_STEP_CONTINUE"
|
+ ? "RESUME_STEP_CONTINUE"
|
||||||
+ : (step == RESUME_STEP_USER ? "RESUME_STEP_USER"
|
+ : (step == RESUME_STEP_USER ? "RESUME_STEP_USER"
|
||||||
+ : "RESUME_STEP_NEEDED")),
|
+ : "RESUME_STEP_NEEDED")),
|
||||||
+ sig, tp->control.trap_expected,
|
+ gdb_signal_to_symbol_string (sig),
|
||||||
|
tp->control.trap_expected,
|
||||||
target_pid_to_str (inferior_ptid),
|
target_pid_to_str (inferior_ptid),
|
||||||
paddress (gdbarch, pc));
|
paddress (gdbarch, pc));
|
||||||
|
@@ -2147,7 +2152,7 @@ proceed (CORE_ADDR addr, enum gdb_signal
|
||||||
@@ -2140,7 +2145,7 @@ proceed (CORE_ADDR addr, enum gdb_signal
|
|
||||||
CORE_ADDR pc;
|
CORE_ADDR pc;
|
||||||
struct address_space *aspace;
|
struct address_space *aspace;
|
||||||
/* GDB may force the inferior to step due to various reasons. */
|
/* 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
|
/* If we're stopped at a fork/vfork, follow the branch set by the
|
||||||
"set follow-fork-mode" command; otherwise, we'll just proceed
|
"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.
|
actually be executing the breakpoint insn anyway.
|
||||||
We'll be (un-)executing the previous instruction. */
|
We'll be (un-)executing the previous instruction. */
|
||||||
|
|
||||||
@ -115,7 +115,7 @@ Index: gdb-7.5.50.20130215/gdb/infrun.c
|
|||||||
}
|
}
|
||||||
else
|
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
|
is required it returns TRUE and sets the current thread to
|
||||||
the old thread. */
|
the old thread. */
|
||||||
if (prepare_to_proceed (step))
|
if (prepare_to_proceed (step))
|
||||||
@ -131,7 +131,7 @@ Index: gdb-7.5.50.20130215/gdb/infrun.c
|
|||||||
{
|
{
|
||||||
tp->control.trap_expected = 1;
|
tp->control.trap_expected = 1;
|
||||||
/* If displaced stepping is enabled, we can step over the
|
/* 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. */
|
/* Reset to normal state. */
|
||||||
init_infwait_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)
|
/* Wait for it to stop (if not standalone)
|
||||||
and in any case decode why it stopped, and act accordingly. */
|
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? */
|
/* 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
|
/* 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.6.90.20140127.orig/gdb/linux-nat.c 2014-01-27 22:05:28.806895350 +0100
|
||||||
+++ gdb-7.5.50.20130215/gdb/linux-nat.c 2013-02-15 22:31:42.997944967 +0100
|
+++ gdb-7.6.90.20140127/gdb/linux-nat.c 2014-01-27 22:33:45.330157889 +0100
|
||||||
@@ -2971,7 +2971,11 @@ static int
|
@@ -2697,7 +2697,11 @@ static int
|
||||||
select_singlestep_lwp_callback (struct lwp_info *lp, void *data)
|
select_singlestep_lwp_callback (struct lwp_info *lp, void *data)
|
||||||
{
|
{
|
||||||
if (lp->last_resume_kind == resume_step
|
if (lp->last_resume_kind == resume_step
|
||||||
@ -188,11 +188,11 @@ Index: gdb-7.5.50.20130215/gdb/linux-nat.c
|
|||||||
return 1;
|
return 1;
|
||||||
else
|
else
|
||||||
return 0;
|
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.6.90.20140127.orig/gdb/linux-nat.h 2014-01-27 22:05:28.807895351 +0100
|
||||||
+++ gdb-7.5.50.20130215/gdb/linux-nat.h 2013-02-15 22:31:42.998944969 +0100
|
+++ gdb-7.6.90.20140127/gdb/linux-nat.h 2014-01-27 22:33:45.334157892 +0100
|
||||||
@@ -73,8 +73,8 @@ struct lwp_info
|
@@ -59,8 +59,8 @@ struct lwp_info
|
||||||
/* If non-zero, a pending wait status. */
|
/* If non-zero, a pending wait status. */
|
||||||
int status;
|
int status;
|
||||||
|
|
||||||
|
@ -1,108 +0,0 @@
|
|||||||
gdb/testsuite/gdb.base/fileio.c:
|
|
||||||
gdb/testsuite/gdb.base/fileio.exp:
|
|
||||||
2007-12-08 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
||||||
|
|
||||||
* 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
|
|
@ -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.6.90.20140127.orig/gdb/gdb_bfd.c 2014-02-06 17:39:46.370096290 +0100
|
||||||
+++ gdb-7.5.50.20130118/gdb/gdb_bfd.c 2013-01-18 23:12:06.841787893 +0100
|
+++ gdb-7.6.90.20140127/gdb/gdb_bfd.c 2014-02-06 17:40:14.996127247 +0100
|
||||||
@@ -27,12 +27,14 @@
|
@@ -29,12 +29,14 @@
|
||||||
#ifdef HAVE_ZLIB_H
|
#ifdef HAVE_ZLIB_H
|
||||||
#include <zlib.h>
|
#include <zlib.h>
|
||||||
#endif
|
#endif
|
||||||
@ -15,9 +15,9 @@ Index: gdb-7.5.50.20130118/gdb/gdb_bfd.c
|
|||||||
#endif
|
#endif
|
||||||
+#endif
|
+#endif
|
||||||
|
|
||||||
/* An object of this type is stored in the section's user data when
|
typedef bfd *bfdp;
|
||||||
mapping a section. */
|
DEF_VEC_P (bfdp);
|
||||||
@@ -205,6 +207,7 @@ free_one_bfd_section (bfd *abfd, asectio
|
@@ -210,6 +212,7 @@ free_one_bfd_section (bfd *abfd, asectio
|
||||||
|
|
||||||
if (sect != NULL && sect->data != NULL)
|
if (sect != NULL && sect->data != NULL)
|
||||||
{
|
{
|
||||||
@ -25,7 +25,7 @@ Index: gdb-7.5.50.20130118/gdb/gdb_bfd.c
|
|||||||
#ifdef HAVE_MMAP
|
#ifdef HAVE_MMAP
|
||||||
if (sect->map_addr != NULL)
|
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
|
else
|
||||||
#endif
|
#endif
|
||||||
@ -33,7 +33,7 @@ Index: gdb-7.5.50.20130118/gdb/gdb_bfd.c
|
|||||||
xfree (sect->data);
|
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)
|
if (descriptor->data != NULL)
|
||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
@ -41,7 +41,7 @@ Index: gdb-7.5.50.20130118/gdb/gdb_bfd.c
|
|||||||
#ifdef HAVE_MMAP
|
#ifdef HAVE_MMAP
|
||||||
if (!bfd_is_section_compressed (abfd, sectp))
|
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 */
|
#endif /* HAVE_MMAP */
|
||||||
|
683
gdb-archer.patch
683
gdb-archer.patch
File diff suppressed because it is too large
Load Diff
@ -37,22 +37,22 @@ gdb/gdbserver/
|
|||||||
(linux_create_inferior, linux_tracefork_child): Call it instead of
|
(linux_create_inferior, linux_tracefork_child): Call it instead of
|
||||||
direct ptrace.
|
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.90.20140127.orig/gdb/common/linux-ptrace.c 2014-02-06 17:40:32.530145960 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/common/linux-ptrace.c 2013-08-02 16:34:16.122910934 +0200
|
+++ gdb-7.6.90.20140127/gdb/common/linux-ptrace.c 2014-02-06 17:48:16.329644534 +0100
|
||||||
@@ -29,6 +29,10 @@
|
@@ -32,6 +32,10 @@
|
||||||
#include "gdb_assert.h"
|
|
||||||
#include "gdb_wait.h"
|
#include <stdint.h>
|
||||||
|
|
||||||
+#ifdef HAVE_SELINUX_SELINUX_H
|
+#ifdef HAVE_SELINUX_SELINUX_H
|
||||||
+# include <selinux/selinux.h>
|
+# include <selinux/selinux.h>
|
||||||
+#endif /* HAVE_SELINUX_SELINUX_H */
|
+#endif /* HAVE_SELINUX_SELINUX_H */
|
||||||
+
|
+
|
||||||
/* Find all possible reasons we could fail to attach PID and append these
|
/* Stores the currently supported ptrace options. A value of
|
||||||
newline terminated reason strings to initialized BUFFER. '\0' termination
|
-1 means we did not check for features yet. A value of 0 means
|
||||||
of BUFFER must be done by the caller. */
|
there are no supported features. */
|
||||||
@@ -48,6 +52,8 @@ linux_ptrace_attach_warnings (pid_t pid,
|
@@ -56,6 +60,8 @@ linux_ptrace_attach_warnings (pid_t pid,
|
||||||
buffer_xml_printf (buffer, _("warning: process %d is a zombie "
|
buffer_xml_printf (buffer, _("warning: process %d is a zombie "
|
||||||
"- the process has already terminated\n"),
|
"- the process has already terminated\n"),
|
||||||
(int) pid);
|
(int) pid);
|
||||||
@ -61,7 +61,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/common/linux-ptrace.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if defined __i386__ || defined __x86_64__
|
#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 ();
|
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"));
|
+ "(gdb) shell sudo setsebool deny_ptrace=0"));
|
||||||
+#endif /* HAVE_LIBSELINUX */
|
+#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.90.20140127.orig/gdb/common/linux-ptrace.h 2014-02-06 17:40:35.506149162 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/common/linux-ptrace.h 2013-08-02 16:34:16.122910934 +0200
|
+++ gdb-7.6.90.20140127/gdb/common/linux-ptrace.h 2014-02-06 17:48:00.601627995 +0100
|
||||||
@@ -69,5 +69,6 @@ struct buffer;
|
@@ -85,6 +85,7 @@ struct buffer;
|
||||||
|
|
||||||
extern void linux_ptrace_attach_warnings (pid_t pid, struct buffer *buffer);
|
extern void linux_ptrace_attach_warnings (pid_t pid, struct buffer *buffer);
|
||||||
extern void linux_ptrace_init_warnings (void);
|
extern void linux_ptrace_init_warnings (void);
|
||||||
+extern void linux_ptrace_create_warnings (struct buffer *buffer);
|
+extern void linux_ptrace_create_warnings (struct buffer *buffer);
|
||||||
|
extern void linux_enable_event_reporting (pid_t pid);
|
||||||
#endif /* COMMON_LINUX_PTRACE_H */
|
extern int linux_supports_tracefork (void);
|
||||||
Index: gdb-7.6.50.20130731-cvs/gdb/configure.ac
|
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.90.20140127.orig/gdb/configure.ac 2014-02-06 17:40:32.532145962 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/configure.ac 2013-08-02 16:34:46.519960063 +0200
|
+++ gdb-7.6.90.20140127/gdb/configure.ac 2014-02-06 17:40:35.507149163 +0100
|
||||||
@@ -2071,6 +2071,10 @@ case $host_os in
|
@@ -1975,6 +1975,10 @@ case $host_os in
|
||||||
esac
|
esac
|
||||||
AC_DEFINE_UNQUOTED(GDBINIT,"$gdbinit",[The .gdbinit filename.])
|
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.
|
dnl Handle optional features that can be enabled.
|
||||||
|
|
||||||
# Support for --with-sysroot is a copy of GDB_AC_WITH_DIR,
|
# 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.90.20140127.orig/gdb/gdbserver/configure.ac 2014-02-06 17:40:32.532145962 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/gdbserver/configure.ac 2013-08-02 16:35:06.634991892 +0200
|
+++ gdb-7.6.90.20140127/gdb/gdbserver/configure.ac 2014-02-06 17:40:35.507149163 +0100
|
||||||
@@ -471,6 +471,10 @@ if $want_ipa ; then
|
@@ -454,6 +454,10 @@ if $want_ipa ; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -122,11 +123,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/gdbserver/configure.ac
|
|||||||
AC_SUBST(GDBSERVER_DEPFILES)
|
AC_SUBST(GDBSERVER_DEPFILES)
|
||||||
AC_SUBST(GDBSERVER_LIBS)
|
AC_SUBST(GDBSERVER_LIBS)
|
||||||
AC_SUBST(srv_xmlbuiltin)
|
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.90.20140127.orig/gdb/gdbserver/linux-low.c 2014-02-06 17:40:32.534145964 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/gdbserver/linux-low.c 2013-08-02 16:34:16.126910941 +0200
|
+++ gdb-7.6.90.20140127/gdb/gdbserver/linux-low.c 2014-02-06 17:49:32.385726514 +0100
|
||||||
@@ -622,6 +622,29 @@ add_lwp (ptid_t ptid)
|
@@ -543,6 +543,29 @@ add_lwp (ptid_t ptid)
|
||||||
return lwp;
|
return lwp;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -140,7 +141,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/gdbserver/linux-low.c
|
|||||||
+
|
+
|
||||||
+ errno = 0;
|
+ errno = 0;
|
||||||
+ if (ptrace (PTRACE_TRACEME, 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;
|
+ return;
|
||||||
+
|
+
|
||||||
+ save_errno = errno;
|
+ 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.
|
/* Start an inferior process and returns its pid.
|
||||||
ALLARGS is a vector of program-name and args. */
|
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)
|
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);
|
+ linux_traceme (program);
|
||||||
|
|
||||||
#ifndef __ANDROID__ /* Bionic doesn't use SIGRTMIN the way glibc does. */
|
#ifndef __ANDROID__ /* Bionic doesn't use SIGRTMIN the way glibc does. */
|
||||||
signal (__SIGRTMIN + 1, SIG_DFL);
|
signal (__SIGRTMIN + 1, SIG_DFL);
|
||||||
@@ -4685,7 +4708,7 @@ linux_tracefork_grandchild (void *arg)
|
Index: gdb-7.6.90.20140127/gdb/inf-ptrace.c
|
||||||
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
|
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.6.50.20130731-cvs.orig/gdb/inf-ptrace.c 2013-08-02 16:33:52.772872421 +0200
|
--- gdb-7.6.90.20140127.orig/gdb/inf-ptrace.c 2014-02-06 17:40:32.535145965 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/inf-ptrace.c 2013-08-02 16:34:16.126910941 +0200
|
+++ gdb-7.6.90.20140127/gdb/inf-ptrace.c 2014-02-06 17:40:35.510149167 +0100
|
||||||
@@ -104,7 +104,15 @@ static void
|
@@ -105,7 +105,15 @@ static void
|
||||||
inf_ptrace_me (void)
|
inf_ptrace_me (void)
|
||||||
{
|
{
|
||||||
/* "Trace me, Dr. Memory!" */
|
/* "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
|
/* 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.90.20140127.orig/gdb/linux-nat.c 2014-02-06 17:40:32.537145968 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/linux-nat.c 2013-08-02 16:34:16.128910944 +0200
|
+++ gdb-7.6.90.20140127/gdb/linux-nat.c 2014-02-06 17:40:35.511149168 +0100
|
||||||
@@ -1554,6 +1554,7 @@ linux_nat_create_inferior (struct target
|
@@ -1283,6 +1283,7 @@ linux_nat_create_inferior (struct target
|
||||||
#ifdef HAVE_PERSONALITY
|
#ifdef HAVE_PERSONALITY
|
||||||
int personality_orig = 0, personality_set = 0;
|
int personality_orig = 0, personality_set = 0;
|
||||||
#endif /* HAVE_PERSONALITY */
|
#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
|
/* The fork_child mechanism is synchronous and calls target_wait, so
|
||||||
we have to mask the async mode. */
|
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. */
|
/* Make sure we report all signals during startup. */
|
||||||
linux_nat_pass_signals (0, NULL);
|
linux_nat_pass_signals (0, NULL);
|
||||||
|
|
||||||
@ -218,7 +210,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/linux-nat.c
|
|||||||
|
|
||||||
#ifdef HAVE_PERSONALITY
|
#ifdef HAVE_PERSONALITY
|
||||||
if (personality_set)
|
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));
|
safe_strerror (errno));
|
||||||
}
|
}
|
||||||
#endif /* HAVE_PERSONALITY */
|
#endif /* HAVE_PERSONALITY */
|
||||||
@ -243,11 +235,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/linux-nat.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
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.90.20140127.orig/gdb/config.in 2014-02-06 17:40:32.538145969 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/config.in 2013-08-02 16:36:16.249099841 +0200
|
+++ gdb-7.6.90.20140127/gdb/config.in 2014-02-06 17:40:35.511149168 +0100
|
||||||
@@ -225,6 +225,9 @@
|
@@ -213,6 +213,9 @@
|
||||||
/* Define if librpm library is being used. */
|
/* Define if librpm library is being used. */
|
||||||
#undef HAVE_LIBRPM
|
#undef HAVE_LIBRPM
|
||||||
|
|
||||||
@ -257,7 +249,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/config.in
|
|||||||
/* Define to 1 if you have the <libunwind-ia64.h> header file. */
|
/* Define to 1 if you have the <libunwind-ia64.h> header file. */
|
||||||
#undef HAVE_LIBUNWIND_IA64_H
|
#undef HAVE_LIBUNWIND_IA64_H
|
||||||
|
|
||||||
@@ -372,6 +375,9 @@
|
@@ -345,6 +348,9 @@
|
||||||
/* Define to 1 if you have the `sbrk' function. */
|
/* Define to 1 if you have the `sbrk' function. */
|
||||||
#undef HAVE_SBRK
|
#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. */
|
/* Define to 1 if you have the `setlocale' function. */
|
||||||
#undef HAVE_SETLOCALE
|
#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.90.20140127.orig/gdb/configure 2014-02-06 17:40:32.541145972 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/configure 2013-08-02 16:36:14.665097434 +0200
|
+++ gdb-7.6.90.20140127/gdb/configure 2014-02-06 17:40:35.515149172 +0100
|
||||||
@@ -12851,6 +12851,64 @@ cat >>confdefs.h <<_ACEOF
|
@@ -12861,6 +12861,64 @@ cat >>confdefs.h <<_ACEOF
|
||||||
_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,
|
# Support for --with-sysroot is a copy of GDB_AC_WITH_DIR,
|
||||||
# except that the argument to --with-sysroot is optional.
|
# 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.90.20140127.orig/gdb/gdbserver/config.in 2014-02-06 17:40:32.542145973 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/gdbserver/config.in 2013-08-02 16:36:21.719108141 +0200
|
+++ gdb-7.6.90.20140127/gdb/gdbserver/config.in 2014-02-06 17:54:06.923021799 +0100
|
||||||
@@ -76,6 +76,12 @@
|
@@ -78,6 +78,9 @@
|
||||||
/* Define to 1 if you have the `dl' library (-ldl). */
|
/* Define to 1 if you have the `mcheck' library (-lmcheck). */
|
||||||
#undef HAVE_LIBDL
|
#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). */
|
+/* Define to 1 if you have the `selinux' library (-lselinux). */
|
||||||
+#undef HAVE_LIBSELINUX
|
+#undef HAVE_LIBSELINUX
|
||||||
+
|
+
|
||||||
/* Define if the target supports branch tracing. */
|
/* Define if the target supports branch tracing. */
|
||||||
#undef HAVE_LINUX_BTRACE
|
#undef HAVE_LINUX_BTRACE
|
||||||
|
|
||||||
@@ -146,6 +152,9 @@
|
@@ -151,6 +154,9 @@
|
||||||
/* Define to 1 if you have the `readlink' function. */
|
/* Define to 1 if you have the `readlink' function. */
|
||||||
#undef HAVE_READLINK
|
#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 <sgtty.h> header file. */
|
/* Define to 1 if you have the <sgtty.h> header file. */
|
||||||
#undef HAVE_SGTTY_H
|
#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.90.20140127.orig/gdb/gdbserver/configure 2014-02-06 17:40:32.543145974 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/gdbserver/configure 2013-08-02 16:36:20.237105894 +0200
|
+++ gdb-7.6.90.20140127/gdb/gdbserver/configure 2014-02-06 17:40:35.516149173 +0100
|
||||||
@@ -6003,6 +6003,64 @@ if $want_ipa ; then
|
@@ -6170,6 +6170,64 @@ if $want_ipa ; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -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.6.90.20140127.orig/gdb/config/i386/linux64.mh 2014-02-06 17:30:23.021489736 +0100
|
||||||
+++ gdb-7.5.91.20130323/gdb/config/i386/linux64.mh 2013-03-23 19:48:37.707761117 +0100
|
+++ gdb-7.6.90.20140127/gdb/config/i386/linux64.mh 2014-02-06 17:30:44.984513403 +0100
|
||||||
@@ -4,7 +4,7 @@ NATDEPFILES= inf-ptrace.o fork-child.o \
|
@@ -5,7 +5,7 @@ NATDEPFILES= inf-ptrace.o fork-child.o \
|
||||||
linux-nat.o linux-osdata.o \
|
|
||||||
proc-service.o linux-thread-db.o linux-fork.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= config/nm-linux.h
|
||||||
+NAT_FILE= nm-linux64.h
|
+NAT_FILE= nm-linux64.h
|
||||||
NAT_CDEPS = $(srcdir)/proc-service.list
|
NAT_CDEPS = $(srcdir)/proc-service.list
|
||||||
|
|
||||||
# The dynamically loaded libthread_db needs access to symbols in the
|
# 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.6.90.20140127.orig/gdb/config/i386/linux.mh 2014-02-06 17:30:15.893482056 +0100
|
||||||
+++ gdb-7.5.91.20130323/gdb/config/i386/linux.mh 2013-03-23 19:48:22.757990256 +0100
|
+++ gdb-7.6.90.20140127/gdb/config/i386/linux.mh 2014-02-06 17:30:23.021489736 +0100
|
||||||
@@ -1,6 +1,6 @@
|
@@ -1,6 +1,6 @@
|
||||||
# Host: Intel 386 running GNU/Linux.
|
# 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 \
|
NATDEPFILES= inf-ptrace.o fork-child.o \
|
||||||
i386-nat.o i386-linux-nat.o \
|
i386-nat.o i386-linux-nat.o \
|
||||||
proc-service.o linux-thread-db.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
|
--- /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 @@
|
@@ -0,0 +1,28 @@
|
||||||
+/* Native support for GNU/Linux i386.
|
+/* 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
|
+#define target_can_use_hardware_watchpoint(type, cnt, ot) 1
|
||||||
+
|
+
|
||||||
+#endif /* NM_LINUX64_H */
|
+#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
|
--- /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 @@
|
@@ -0,0 +1,28 @@
|
||||||
+/* Native support for GNU/Linux amd64.
|
+/* 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
|
+#define target_can_use_hardware_watchpoint(type, cnt, ot) 1
|
||||||
+
|
+
|
||||||
+#endif /* NM_LINUX64_H */
|
+#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.6.90.20140127.orig/gdb/target.h 2014-02-06 17:30:15.894482057 +0100
|
||||||
+++ gdb-7.5.91.20130323/gdb/target.h 2013-03-23 19:48:22.758990238 +0100
|
+++ gdb-7.6.90.20140127/gdb/target.h 2014-02-06 17:30:23.022489737 +0100
|
||||||
@@ -1563,8 +1563,10 @@ extern char *target_thread_name (struct
|
@@ -1521,8 +1521,10 @@ extern char *target_thread_name (struct
|
||||||
bp_hardware_breakpoint. CNT is the number of such watchpoints used so far
|
bp_hardware_breakpoint. CNT is the number of such watchpoints used so far
|
||||||
(including this one?). OTHERTYPE is who knows what... */
|
(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
|
/* Returns the number of debug registers needed to watch the given
|
||||||
memory region, or zero if not supported. */
|
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
|
--- /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 @@
|
@@ -0,0 +1,40 @@
|
||||||
+# Copyright 2009, 2010 Free Software Foundation, Inc.
|
+# Copyright 2009, 2010 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
--- /dev/null 2010-06-08 20:35:46.800278452 +0200
|
Index: gdb-7.7/gdb/testsuite/gdb.dwarf2/rh-dwarf4-x86_64.S
|
||||||
+++ gdb-7.1/gdb/testsuite/gdb.dwarf2/rh-dwarf4-x86_64.S 2010-06-09 15:22:57.000000000 +0200
|
===================================================================
|
||||||
|
--- /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 @@
|
@@ -0,0 +1,167 @@
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
+/* This testcase is part of GDB, the GNU debugger.
|
||||||
+
|
+
|
||||||
@ -168,8 +170,10 @@
|
|||||||
+ .string "main"
|
+ .string "main"
|
||||||
+ .ident "GCC: (GNU) 4.4.4 20100503 (Red Hat 4.4.4-2)"
|
+ .ident "GCC: (GNU) 4.4.4 20100503 (Red Hat 4.4.4-2)"
|
||||||
+ .section .note.GNU-stack,"",@progbits
|
+ .section .note.GNU-stack,"",@progbits
|
||||||
--- /dev/null 2010-06-08 20:35:46.800278452 +0200
|
Index: gdb-7.7/gdb/testsuite/gdb.dwarf2/rh-dwarf4-x86_64.c
|
||||||
+++ gdb-7.1/gdb/testsuite/gdb.dwarf2/rh-dwarf4-x86_64.c 2010-06-09 15:21:35.000000000 +0200
|
===================================================================
|
||||||
|
--- /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 @@
|
@@ -0,0 +1,22 @@
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
+/* This testcase is part of GDB, the GNU debugger.
|
||||||
+
|
+
|
||||||
@ -193,8 +197,10 @@
|
|||||||
+{
|
+{
|
||||||
+ return 0;
|
+ return 0;
|
||||||
+}
|
+}
|
||||||
--- /dev/null 2010-06-08 20:35:46.800278452 +0200
|
Index: gdb-7.7/gdb/testsuite/gdb.dwarf2/rh-dwarf4-x86_64.exp
|
||||||
+++ gdb-7.1/gdb/testsuite/gdb.dwarf2/rh-dwarf4-x86_64.exp 2010-06-09 15:26:21.000000000 +0200
|
===================================================================
|
||||||
|
--- /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 @@
|
@@ -0,0 +1,42 @@
|
||||||
+# Copyright 2010 Free Software Foundation, Inc.
|
+# Copyright 2010 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
@ -229,7 +235,7 @@
|
|||||||
+set testfile "rh-dwarf4-x86_64"
|
+set testfile "rh-dwarf4-x86_64"
|
||||||
+set srcfile ${testfile}.S
|
+set srcfile ${testfile}.S
|
||||||
+set executable ${testfile}.x
|
+set executable ${testfile}.x
|
||||||
+set binfile ${objdir}/${subdir}/${executable}
|
+set binfile [standard_output_file ${executable}]
|
||||||
+
|
+
|
||||||
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" object {}] != "" } {
|
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" object {}] != "" } {
|
||||||
+ return -1
|
+ return -1
|
||||||
|
@ -3,89 +3,10 @@ Subject: [patch] Fix GNU/Linux core open: Can't read pathname for load map: Inp
|
|||||||
|
|
||||||
[ New patch variant. ]
|
[ New patch variant. ]
|
||||||
|
|
||||||
Index: gdb-7.6.50.20130731-cvs/gdb/solib-svr4.c
|
commit 7d760051ffb8a23cdc51342d4e6243fbc462f73f
|
||||||
===================================================================
|
Author: Ulrich Weigand <uweigand@de.ibm.com>
|
||||||
--- gdb-7.6.50.20130731-cvs.orig/gdb/solib-svr4.c 2013-08-02 16:27:28.831259468 +0200
|
Date: Wed Sep 25 11:52:50 2013 +0000
|
||||||
+++ 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
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/solib-symbol.exp
|
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
|
--- gdb-7.6.50.20130731-cvs.orig/gdb/testsuite/gdb.base/solib-symbol.exp 2013-08-02 16:27:28.833259471 +0200
|
||||||
|
@ -40,12 +40,12 @@ Subject: [PATCH 4/4] add gdb-add-index
|
|||||||
5 files changed, 57 insertions(+), 1 deletions(-)
|
5 files changed, 57 insertions(+), 1 deletions(-)
|
||||||
create mode 100755 gdb/gdb-add-index
|
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.90.20140127.orig/gdb/Makefile.in 2014-02-06 17:37:54.555975958 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/Makefile.in 2013-08-02 16:32:08.260690156 +0200
|
+++ gdb-7.6.90.20140127/gdb/Makefile.in 2014-02-06 17:38:52.110038415 +0100
|
||||||
@@ -1070,6 +1070,15 @@ install-only: install-gstack $(CONFIG_IN
|
@@ -1093,6 +1093,15 @@ install-only: install-gstack $(CONFIG_IN
|
||||||
$(INSTALL_PROGRAM) gcore \
|
$(INSTALL_SCRIPT) gcore \
|
||||||
$(DESTDIR)$(bindir)/$$transformed_name; \
|
$(DESTDIR)$(bindir)/$$transformed_name; \
|
||||||
fi
|
fi
|
||||||
+ transformed_name=`t='$(program_transform_name)'; \
|
+ transformed_name=`t='$(program_transform_name)'; \
|
||||||
@ -55,16 +55,16 @@ Index: gdb-7.6.50.20130731-cvs/gdb/Makefile.in
|
|||||||
+ else \
|
+ else \
|
||||||
+ true ; \
|
+ true ; \
|
||||||
+ fi ; \
|
+ fi ; \
|
||||||
+ $(INSTALL_PROGRAM) $(srcdir)/gdb-add-index \
|
+ $(INSTALL_PROGRAM) $(srcdir)/contrib/gdb-add-index.sh \
|
||||||
+ $(DESTDIR)$(bindir)/$$transformed_name$(EXEEXT)
|
+ $(DESTDIR)$(bindir)/$$transformed_name$(EXEEXT)
|
||||||
@$(MAKE) DO=install "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do
|
@$(MAKE) DO=install "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do
|
||||||
|
|
||||||
install-python:
|
install-strip:
|
||||||
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:31:59.616674218 +0200
|
--- gdb-7.6.90.20140127.orig/gdb/doc/gdb.texinfo 2014-02-06 17:37:50.822971940 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/doc/gdb.texinfo 2013-08-02 16:32:08.271690176 +0200
|
+++ gdb-7.6.90.20140127/gdb/doc/gdb.texinfo 2014-02-06 17:37:54.565975968 +0100
|
||||||
@@ -17447,6 +17447,14 @@ There are currently some limitation on i
|
@@ -17749,6 +17749,14 @@ There are currently some limitation on i
|
||||||
for DWARF debugging information, not stabs. And, they do not
|
for DWARF debugging information, not stabs. And, they do not
|
||||||
currently work for programs using Ada.
|
currently work for programs using Ada.
|
||||||
|
|
||||||
@ -79,7 +79,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/doc/gdb.texinfo
|
|||||||
@node Symbol Errors
|
@node Symbol Errors
|
||||||
@section Errors Reading Symbol Files
|
@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
|
* gdbserver man:: Remote Server for the GNU Debugger man page
|
||||||
* gcore man:: Generate a core file of a running program
|
* gcore man:: Generate a core file of a running program
|
||||||
* gdbinit man:: gdbinit scripts
|
* gdbinit man:: gdbinit scripts
|
||||||
@ -87,7 +87,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/doc/gdb.texinfo
|
|||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
@node gdb man
|
@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.
|
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
|
If the @code{info} and @code{gdb} programs and @value{GDBN}'s Texinfo
|
||||||
documentation are properly installed at your site, the command
|
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
|
@smallexample
|
||||||
info gdb
|
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.90.20140127.orig/gdb/doc/Makefile.in 2014-02-06 17:37:50.824971942 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/gdb-add-index 2013-08-02 16:32:08.271690176 +0200
|
+++ gdb-7.6.90.20140127/gdb/doc/Makefile.in 2014-02-06 17:37:54.565975968 +0100
|
||||||
@@ -0,0 +1,30 @@
|
@@ -165,7 +165,7 @@ POD2MAN5 = pod2man --center="GNU Develop
|
||||||
+#! /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 <http://www.gnu.org/licenses/>.
|
|
||||||
+
|
|
||||||
+file="$1"
|
|
||||||
+dir="${file%/*}"
|
|
||||||
+
|
|
||||||
+# We don't care if gdb gives an error.
|
|
||||||
+gdb -nx -iex 'set auto-load no' --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
|
|
||||||
--release="gdb-`sed q version.subst`" --section=5
|
--release="gdb-`sed q version.subst`" --section=5
|
||||||
|
|
||||||
# List of man pages generated from gdb.texi
|
# 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
|
MAN5S = gdbinit.5
|
||||||
MANS = $(MAN1S) $(MAN5S)
|
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)
|
mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1)
|
||||||
rm -f gcore.pod
|
rm -f gcore.pod
|
||||||
|
|
||||||
|
@ -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.90.20140127.orig/gdb/dwarf2read.c 2014-02-06 18:18:09.676572271 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/dwarf2read.c 2013-08-02 16:38:16.159277461 +0200
|
+++ gdb-7.6.90.20140127/gdb/dwarf2read.c 2014-02-06 18:18:42.664607823 +0100
|
||||||
@@ -16654,6 +16654,25 @@ new_symbol_full (struct die_info *die, s
|
@@ -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). */
|
/* Cache this symbol's name and the name's demangled form (if any). */
|
||||||
SYMBOL_SET_LANGUAGE (sym, cu->language, &objfile->objfile_obstack);
|
SYMBOL_SET_LANGUAGE (sym, cu->language, &objfile->objfile_obstack);
|
||||||
linkagename = dwarf2_physname (name, die, cu);
|
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
|
+ * invalid IFUNC DW_AT_linkage_name: memmove strstr time
|
||||||
+ * http://sourceware.org/bugzilla/show_bug.cgi?id=14166 */
|
+ * http://sourceware.org/bugzilla/show_bug.cgi?id=14166 */
|
||||||
+ if (strcmp (linkagename, "strstr") == 0
|
+ if (strcmp (linkagename, "strstr") == 0
|
||||||
+ && strstr (objfile->name, "/libc") != NULL)
|
+ && strstr (objfile_name (objfile), "/libc") != NULL)
|
||||||
+ {
|
+ {
|
||||||
+ struct objfile *objfile_msym;
|
+ struct objfile *objfile_msym;
|
||||||
+ struct minimal_symbol *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);
|
SYMBOL_SET_NAMES (sym, linkagename, strlen (linkagename), 0, objfile);
|
||||||
|
|
||||||
/* Fortran does not have mangling standard and the mangling does differ
|
/* 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
|
--- /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 @@
|
@@ -0,0 +1,108 @@
|
||||||
+# Copyright (C) 2012 Free Software Foundation, Inc.
|
+# Copyright (C) 2012 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
|
@ -1,299 +0,0 @@
|
|||||||
Index: gdb-7.6.50.20130731-cvs/gdb/c-exp.y
|
|
||||||
===================================================================
|
|
||||||
--- gdb-7.6.50.20130731-cvs.orig/gdb/c-exp.y 2013-11-09 18:41:48.706718127 +0100
|
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/c-exp.y 2013-11-09 18:42:19.291697661 +0100
|
|
||||||
@@ -2944,6 +2944,30 @@ classify_inner_name (const struct block
|
|
||||||
{
|
|
||||||
case LOC_BLOCK:
|
|
||||||
case LOC_LABEL:
|
|
||||||
+ {
|
|
||||||
+ struct field_of_this_result fot;
|
|
||||||
+
|
|
||||||
+ /* We might have erroneously found a constructor where we wanted
|
|
||||||
+ a type name. The trick is ascertaining what the user wanted.
|
|
||||||
+ If cp_lookup_nested_symbol found a constructor, but it is for a
|
|
||||||
+ different type than CONTEXT, then this is really a type, not a
|
|
||||||
+ constructor. Look for the type and return that. */
|
|
||||||
+ memset (&fot, 0, sizeof (fot));
|
|
||||||
+ check_field (type, copy, &fot);
|
|
||||||
+ if (fot.fn_field != NULL
|
|
||||||
+ && TYPE_FN_FIELD_CONSTRUCTOR (fot.fn_field->fn_fields, 0)
|
|
||||||
+ && !types_equal (type, fot.type))
|
|
||||||
+ {
|
|
||||||
+ struct symbol *sym;
|
|
||||||
+
|
|
||||||
+ sym = lookup_symbol (copy, block, STRUCT_DOMAIN, NULL);
|
|
||||||
+ if (sym != NULL)
|
|
||||||
+ {
|
|
||||||
+ yylval.tsym.type = SYMBOL_TYPE (sym);
|
|
||||||
+ return TYPENAME;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
return ERROR;
|
|
||||||
|
|
||||||
case LOC_TYPEDEF:
|
|
||||||
Index: gdb-7.6.50.20130731-cvs/gdb/symtab.c
|
|
||||||
===================================================================
|
|
||||||
--- gdb-7.6.50.20130731-cvs.orig/gdb/symtab.c 2013-11-09 18:41:48.708718125 +0100
|
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/symtab.c 2013-11-09 18:42:19.293697660 +0100
|
|
||||||
@@ -1293,7 +1293,7 @@ lookup_language_this (const struct langu
|
|
||||||
return 1 if the component named NAME from the ultimate target
|
|
||||||
structure/union is defined, otherwise, return 0. */
|
|
||||||
|
|
||||||
-static int
|
|
||||||
+int
|
|
||||||
check_field (struct type *type, const char *name,
|
|
||||||
struct field_of_this_result *is_a_field_of_this)
|
|
||||||
{
|
|
||||||
Index: gdb-7.6.50.20130731-cvs/gdb/symtab.h
|
|
||||||
===================================================================
|
|
||||||
--- gdb-7.6.50.20130731-cvs.orig/gdb/symtab.h 2013-11-09 18:42:19.293697660 +0100
|
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/symtab.h 2013-11-09 18:42:34.023687872 +0100
|
|
||||||
@@ -1377,4 +1377,9 @@ void initialize_symbol (struct symbol *)
|
|
||||||
|
|
||||||
struct template_symbol *allocate_template_symbol (struct objfile *);
|
|
||||||
|
|
||||||
+/* See comment in symtab.c. */
|
|
||||||
+
|
|
||||||
+int check_field (struct type *type, const char *name,
|
|
||||||
+ struct field_of_this_result *is_a_field_of_this);
|
|
||||||
+
|
|
||||||
#endif /* !defined(SYMTAB_H) */
|
|
||||||
Index: gdb-7.6.50.20130731-cvs/gdb/valops.c
|
|
||||||
===================================================================
|
|
||||||
--- gdb-7.6.50.20130731-cvs.orig/gdb/valops.c 2013-11-09 18:41:48.712718123 +0100
|
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/valops.c 2013-11-09 18:42:19.294697659 +0100
|
|
||||||
@@ -3226,10 +3226,35 @@ value_struct_elt_for_reference (struct t
|
|
||||||
return value_from_longest
|
|
||||||
(lookup_memberptr_type (TYPE_FIELD_TYPE (t, i), domain),
|
|
||||||
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
|
|
||||||
- error (_("Cannot reference non-static field \"%s\""), name);
|
|
||||||
+ {
|
|
||||||
+ /* Try to evaluate NAME as a qualified name with implicit
|
|
||||||
+ this pointer. In this case, attempt to return the
|
|
||||||
+ equivalent to `this->*(&TYPE::NAME)'. */
|
|
||||||
+ v = value_of_this_silent (current_language);
|
|
||||||
+ if (v != NULL)
|
|
||||||
+ {
|
|
||||||
+ struct value *ptr;
|
|
||||||
+ long mem_offset;
|
|
||||||
+ struct type *type, *tmp;
|
|
||||||
+
|
|
||||||
+ ptr = value_aggregate_elt (domain, name, NULL, 1, noside);
|
|
||||||
+ type = check_typedef (value_type (ptr));
|
|
||||||
+ gdb_assert (type != NULL
|
|
||||||
+ && TYPE_CODE (type) == TYPE_CODE_MEMBERPTR);
|
|
||||||
+ tmp = lookup_pointer_type (TYPE_DOMAIN_TYPE (type));
|
|
||||||
+ v = value_cast_pointers (tmp, v, 1);
|
|
||||||
+ mem_offset = value_as_long (ptr);
|
|
||||||
+ tmp = lookup_pointer_type (TYPE_TARGET_TYPE (type));
|
|
||||||
+ result = value_from_pointer (tmp,
|
|
||||||
+ value_as_long (v) + mem_offset);
|
|
||||||
+ return value_ind (result);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ error (_("Cannot reference non-static field \"%s\""), name);
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.cp/impl-this.cc
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.cp/impl-this.cc 2013-11-09 18:42:19.294697659 +0100
|
|
||||||
@@ -0,0 +1,96 @@
|
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
|
||||||
+
|
|
||||||
+ Copyright 2013 Free Software Foundation, Inc.
|
|
||||||
+
|
|
||||||
+ This program is free software; you can redistribute it and/or modify
|
|
||||||
+ it under the terms of the GNU General Public License as published by
|
|
||||||
+ the Free Software Foundation; either version 3 of the License, or
|
|
||||||
+ (at your option) any later version.
|
|
||||||
+
|
|
||||||
+ This program is distributed in the hope that it will be useful,
|
|
||||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
+ GNU General Public License for more details.
|
|
||||||
+
|
|
||||||
+ You should have received a copy of the GNU General Public License
|
|
||||||
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
|
||||||
+
|
|
||||||
+#ifdef DEBUG
|
|
||||||
+#include <stdio.h>
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+class A
|
|
||||||
+{
|
|
||||||
+public:
|
|
||||||
+ int i;
|
|
||||||
+ int z;
|
|
||||||
+ A () : i (1), z (10) {}
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+class B : public virtual A
|
|
||||||
+{
|
|
||||||
+public:
|
|
||||||
+ int i;
|
|
||||||
+ B () : i (2) {}
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+class C : public virtual A
|
|
||||||
+{
|
|
||||||
+public:
|
|
||||||
+ int i;
|
|
||||||
+ int c;
|
|
||||||
+ C () : i (3), c (30) {}
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+class D : public B, public C
|
|
||||||
+{
|
|
||||||
+public:
|
|
||||||
+ int i;
|
|
||||||
+ int x;
|
|
||||||
+ D () : i (4), x (40) {}
|
|
||||||
+
|
|
||||||
+#ifdef DEBUG
|
|
||||||
+#define SUM(X) \
|
|
||||||
+ do \
|
|
||||||
+ { \
|
|
||||||
+ sum += (X); \
|
|
||||||
+ printf ("" #X " = %d\n", (X)); \
|
|
||||||
+ } \
|
|
||||||
+ while (0)
|
|
||||||
+#else
|
|
||||||
+#define SUM(X) sum += (X)
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+int
|
|
||||||
+f (void)
|
|
||||||
+ {
|
|
||||||
+ int sum = 0;
|
|
||||||
+
|
|
||||||
+ SUM (i);
|
|
||||||
+ SUM (D::i);
|
|
||||||
+ SUM (D::B::i);
|
|
||||||
+ SUM (B::i);
|
|
||||||
+ SUM (D::C::i);
|
|
||||||
+ SUM (C::i);
|
|
||||||
+ SUM (D::B::A::i);
|
|
||||||
+ SUM (B::A::i);
|
|
||||||
+ SUM (A::i);
|
|
||||||
+ SUM (D::C::A::i);
|
|
||||||
+ SUM (C::A::i);
|
|
||||||
+ SUM (D::x);
|
|
||||||
+ SUM (x);
|
|
||||||
+ SUM (D::C::c);
|
|
||||||
+ SUM (C::c);
|
|
||||||
+ SUM (c);
|
|
||||||
+
|
|
||||||
+ return sum;
|
|
||||||
+ }
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+int
|
|
||||||
+main (void)
|
|
||||||
+{
|
|
||||||
+ D d;
|
|
||||||
+
|
|
||||||
+ return d.f ();
|
|
||||||
+}
|
|
||||||
Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.cp/impl-this.exp
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.cp/impl-this.exp 2013-11-09 18:42:19.295697659 +0100
|
|
||||||
@@ -0,0 +1,89 @@
|
|
||||||
+# Copyright 2013 Free Software Foundation, Inc.
|
|
||||||
+
|
|
||||||
+# This program is free software; you can redistribute it and/or modify
|
|
||||||
+# it under the terms of the GNU General Public License as published by
|
|
||||||
+# the Free Software Foundation; either version 3 of the License, or
|
|
||||||
+# (at your option) any later version.
|
|
||||||
+#
|
|
||||||
+# This program is distributed in the hope that it will be useful,
|
|
||||||
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
+# GNU General Public License for more details.
|
|
||||||
+#
|
|
||||||
+# You should have received a copy of the GNU General Public License
|
|
||||||
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
+
|
|
||||||
+# This file is part of the gdb testsuite
|
|
||||||
+
|
|
||||||
+# Test expressions which assume an implicit "this" with a qualified
|
|
||||||
+# name.
|
|
||||||
+
|
|
||||||
+if {[skip_cplus_tests]} { continue }
|
|
||||||
+
|
|
||||||
+standard_testfile .cc
|
|
||||||
+
|
|
||||||
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
|
|
||||||
+ return -1
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+# First test expressions when there is no context.
|
|
||||||
+gdb_test "print i" "No symbol \"i\" in current context."
|
|
||||||
+gdb_test "print D::i" "Cannot reference non-static field \"i\""
|
|
||||||
+gdb_test "print D::B::i" "Cannot reference non-static field \"i\""
|
|
||||||
+gdb_test "print B::i" "Cannot reference non-static field \"i\""
|
|
||||||
+gdb_test "print D::C::i" "Cannot reference non-static field \"i\""
|
|
||||||
+gdb_test "print C::i" "Cannot reference non-static field \"i\""
|
|
||||||
+gdb_test "print D::B::A::i" "Cannot reference non-static field \"i\""
|
|
||||||
+gdb_test "print B::A::i" "Cannot reference non-static field \"i\""
|
|
||||||
+gdb_test "print A::i" "Cannot reference non-static field \"i\""
|
|
||||||
+gdb_test "print D::C::A::i" "Cannot reference non-static field \"i\""
|
|
||||||
+gdb_test "print C::A::i" "Cannot reference non-static field \"i\""
|
|
||||||
+gdb_test "print D::x" "Cannot reference non-static field \"x\""
|
|
||||||
+gdb_test "print x" "No symbol \"x\" in current context."
|
|
||||||
+gdb_test "print D::C::c" "Cannot reference non-static field \"c\""
|
|
||||||
+gdb_test "print C::c" "Cannot reference non-static field \"c\""
|
|
||||||
+gdb_test "print c" "No symbol \"c\" in current context."
|
|
||||||
+
|
|
||||||
+# Run to D::f.
|
|
||||||
+if {![runto_main]} {
|
|
||||||
+ perror "couldn't run to main"
|
|
||||||
+ continue
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+gdb_breakpoint "D::f"
|
|
||||||
+gdb_continue_to_breakpoint "run to D::f"
|
|
||||||
+
|
|
||||||
+# Now test valid expressions in the class hierarchy for D.
|
|
||||||
+gdb_test "print i" "= 4"
|
|
||||||
+gdb_test "print D::i" "= 4"
|
|
||||||
+gdb_test "print D::B::i" "= 2"
|
|
||||||
+gdb_test "print B::i" "= 2"
|
|
||||||
+gdb_test "print D::C::i" "= 3"
|
|
||||||
+gdb_test "print C::i" "= 3"
|
|
||||||
+gdb_test "print D::B::A::i" "= 1"
|
|
||||||
+gdb_test "print B::A::i" "= 1"
|
|
||||||
+gdb_test "print A::i" "= 1"
|
|
||||||
+gdb_test "print D::C::A::i" "= 1"
|
|
||||||
+gdb_test "print C::A::i" "= 1"
|
|
||||||
+gdb_test "print D::x" "= 40"
|
|
||||||
+gdb_test "print x" "= 40"
|
|
||||||
+gdb_test "print D::C::c" "= 30"
|
|
||||||
+gdb_test "print C::c" "= 30"
|
|
||||||
+gdb_test "print c" "= 30"
|
|
||||||
+
|
|
||||||
+# Test some invalid expressions
|
|
||||||
+gdb_test "print D::B::c" "There is no field named c"
|
|
||||||
+gdb_test "print D::B::A::c" "There is no field named c"
|
|
||||||
+gdb_test "print D::C::A::c" "There is no field named c"
|
|
||||||
+gdb_test "print B::c" "There is no field named c"
|
|
||||||
+gdb_test "print B::A::c" "There is no field named c"
|
|
||||||
+gdb_test "print C::A::c" "There is no field named c"
|
|
||||||
+gdb_test "print D::B::x" "There is no field named x"
|
|
||||||
+gdb_test "print D::B::A::x" "There is no field named x"
|
|
||||||
+gdb_test "print B::x" "There is no field named x"
|
|
||||||
+gdb_test "print B::A::x" "There is no field named x"
|
|
||||||
+gdb_test "print D::C::x" "There is no field named x"
|
|
||||||
+gdb_test "print C::x" "There is no field named x"
|
|
||||||
+gdb_test "print D::C::A::x" "There is no field named x"
|
|
||||||
+gdb_test "print C::A::x" "There is no field named x"
|
|
||||||
+
|
|
65
gdb-python-stacksmash.patch
Normal file
65
gdb-python-stacksmash.patch
Normal file
@ -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 <jan.kratochvil@redhat.com>
|
||||||
|
|
||||||
|
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--
|
||||||
|
|
@ -1,136 +0,0 @@
|
|||||||
https://sourceware.org/ml/gdb-patches/2013-07/msg00469.html
|
|
||||||
|
|
||||||
Hi.
|
|
||||||
This patch adds the missing calls to check_typedef
|
|
||||||
and adds a testcase to show the issue.
|
|
||||||
|
|
||||||
The PR is not closeable yet, but the remaining issues are more cleanups
|
|
||||||
than actual bug fixes.
|
|
||||||
|
|
||||||
Regression tested on amd64-linux.
|
|
||||||
|
|
||||||
I will check this in in a few days if there are no objections.
|
|
||||||
|
|
||||||
[The multiple calls to check_typedef (value_type (*argp)) are
|
|
||||||
bothersome, but the code is simpler this way, and I expect
|
|
||||||
resolving the rest of the issues in 15695 to potentially change this
|
|
||||||
code significantly.]
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
commit cbb25189b69e501ddca64917d810b54bb1466c93
|
|
||||||
Author: Doug Evans <dje@google.com>
|
|
||||||
Date: Thu Aug 1 23:59:47 2013 +0000
|
|
||||||
|
|
||||||
PR symtab/15695
|
|
||||||
* valops.c (value_struct_elt): Add missing call to check_typedef.
|
|
||||||
(value_find_oload_method_list): Ditto.
|
|
||||||
|
|
||||||
testsuite/
|
|
||||||
* gdb.base/func-ptr.exp: New file.
|
|
||||||
* gdb.base/func-ptr.c: New file.
|
|
||||||
|
|
||||||
2013-08-01 Doug Evans <dje@google.com>
|
|
||||||
|
|
||||||
PR symtab/15695
|
|
||||||
* valops.c (value_struct_elt): Add missing call to check_typedef.
|
|
||||||
(value_find_oload_method_list): Ditto.
|
|
||||||
|
|
||||||
2013-08-01 Doug Evans <dje@google.com>
|
|
||||||
|
|
||||||
PR symtab/15695
|
|
||||||
* gdb.base/func-ptr.exp: New file.
|
|
||||||
* gdb.base/func-ptr.c: New file.
|
|
||||||
|
|
||||||
Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/func-ptr.c
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null
|
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/func-ptr.c
|
|
||||||
@@ -0,0 +1,30 @@
|
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
|
||||||
+
|
|
||||||
+ Copyright 2013 Free Software Foundation, Inc.
|
|
||||||
+
|
|
||||||
+ This program is free software; you can redistribute it and/or modify
|
|
||||||
+ it under the terms of the GNU General Public License as published by
|
|
||||||
+ the Free Software Foundation; either version 3 of the License, or
|
|
||||||
+ (at your option) any later version.
|
|
||||||
+
|
|
||||||
+ This program is distributed in the hope that it will be useful,
|
|
||||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
+ GNU General Public License for more details.
|
|
||||||
+
|
|
||||||
+ You should have received a copy of the GNU General Public License
|
|
||||||
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
|
||||||
+
|
|
||||||
+void
|
|
||||||
+bar ()
|
|
||||||
+{
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+typedef void foo (void);
|
|
||||||
+foo *pbar = bar;
|
|
||||||
+
|
|
||||||
+int
|
|
||||||
+main ()
|
|
||||||
+{
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/func-ptr.exp
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null
|
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/func-ptr.exp
|
|
||||||
@@ -0,0 +1,30 @@
|
|
||||||
+# Copyright 2013 Free Software Foundation, Inc.
|
|
||||||
+
|
|
||||||
+# This program is free software; you can redistribute it and/or modify
|
|
||||||
+# it under the terms of the GNU General Public License as published by
|
|
||||||
+# the Free Software Foundation; either version 3 of the License, or
|
|
||||||
+# (at your option) any later version.
|
|
||||||
+#
|
|
||||||
+# This program is distributed in the hope that it will be useful,
|
|
||||||
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
+# GNU General Public License for more details.
|
|
||||||
+#
|
|
||||||
+# You should have received a copy of the GNU General Public License
|
|
||||||
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
+
|
|
||||||
+# This testcase exercises bug 15695.
|
|
||||||
+# Trying to print foo->bar if foo is a pointer to a typedef of a pointer
|
|
||||||
+# to a function will put gdb into an infinite loop.
|
|
||||||
+
|
|
||||||
+if { [prepare_for_testing func-ptr.exp "func-ptr" {func-ptr.c} {debug}] } {
|
|
||||||
+ return -1
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+if ![runto_main] {
|
|
||||||
+ fail "Can't run to main"
|
|
||||||
+ return 0
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+# This would put gdb into an infinite loop.
|
|
||||||
+gdb_test "print pbar->baz" "Attempt to extract .*"
|
|
||||||
Index: gdb-7.6.50.20130731-cvs/gdb/valops.c
|
|
||||||
===================================================================
|
|
||||||
--- gdb-7.6.50.20130731-cvs.orig/gdb/valops.c
|
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/valops.c
|
|
||||||
@@ -2275,7 +2275,7 @@ value_struct_elt (struct value **argp, s
|
|
||||||
{
|
|
||||||
*argp = value_ind (*argp);
|
|
||||||
/* Don't coerce fn pointer to fn and then back again! */
|
|
||||||
- if (TYPE_CODE (value_type (*argp)) != TYPE_CODE_FUNC)
|
|
||||||
+ if (TYPE_CODE (check_typedef (value_type (*argp))) != TYPE_CODE_FUNC)
|
|
||||||
*argp = coerce_array (*argp);
|
|
||||||
t = check_typedef (value_type (*argp));
|
|
||||||
}
|
|
||||||
@@ -2439,7 +2439,7 @@ value_find_oload_method_list (struct val
|
|
||||||
{
|
|
||||||
*argp = value_ind (*argp);
|
|
||||||
/* Don't coerce fn pointer to fn and then back again! */
|
|
||||||
- if (TYPE_CODE (value_type (*argp)) != TYPE_CODE_FUNC)
|
|
||||||
+ if (TYPE_CODE (check_typedef (value_type (*argp))) != TYPE_CODE_FUNC)
|
|
||||||
*argp = coerce_array (*argp);
|
|
||||||
t = check_typedef (value_type (*argp));
|
|
||||||
}
|
|
File diff suppressed because it is too large
Load Diff
@ -52,10 +52,10 @@ Content-Type: text/x-patch
|
|||||||
Content-Transfer-Encoding: 7bit
|
Content-Transfer-Encoding: 7bit
|
||||||
Content-Disposition: attachment; filename=bitpos-ensure-size_t.patch
|
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.6.90.20140127.orig/gdb/alpha-tdep.c 2014-02-06 18:18:51.005616676 +0100
|
||||||
+++ gdb-7.5.50.20130118/gdb/alpha-tdep.c 2013-01-18 23:34:02.678051846 +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
|
@@ -414,6 +414,13 @@ alpha_push_dummy_call (struct gdbarch *g
|
||||||
accumulate_size = 0;
|
accumulate_size = 0;
|
||||||
else
|
else
|
||||||
@ -70,11 +70,11 @@ Index: gdb-7.5.50.20130118/gdb/alpha-tdep.c
|
|||||||
sp -= accumulate_size;
|
sp -= accumulate_size;
|
||||||
|
|
||||||
/* Keep sp aligned to a multiple of 16 as the ABI requires. */
|
/* 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.6.90.20140127.orig/gdb/cp-valprint.c 2014-02-06 18:18:51.006616677 +0100
|
||||||
+++ gdb-7.5.50.20130118/gdb/cp-valprint.c 2013-01-18 23:34:02.679051848 +0100
|
+++ gdb-7.6.90.20140127/gdb/cp-valprint.c 2014-02-06 18:18:53.671621349 +0100
|
||||||
@@ -540,6 +540,8 @@ cp_print_value (struct type *type, struc
|
@@ -537,6 +537,8 @@ cp_print_value (struct type *type, struc
|
||||||
gdb_byte *buf;
|
gdb_byte *buf;
|
||||||
struct cleanup *back_to;
|
struct cleanup *back_to;
|
||||||
|
|
||||||
@ -83,11 +83,11 @@ Index: gdb-7.5.50.20130118/gdb/cp-valprint.c
|
|||||||
buf = xmalloc (TYPE_LENGTH (baseclass));
|
buf = xmalloc (TYPE_LENGTH (baseclass));
|
||||||
back_to = make_cleanup (xfree, buf);
|
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.6.90.20140127.orig/gdb/dwarf2loc.c 2014-02-06 18:18:51.007616678 +0100
|
||||||
+++ gdb-7.5.50.20130118/gdb/dwarf2loc.c 2013-01-18 23:34:02.680051851 +0100
|
+++ gdb-7.6.90.20140127/gdb/dwarf2loc.c 2014-02-06 18:18:53.672621293 +0100
|
||||||
@@ -1784,6 +1784,8 @@ read_pieced_value (struct value *v)
|
@@ -1821,6 +1821,8 @@ read_pieced_value (struct value *v)
|
||||||
|
|
||||||
this_size = (this_size_bits + source_offset_bits % 8 + 7) / 8;
|
this_size = (this_size_bits + source_offset_bits % 8 + 7) / 8;
|
||||||
source_offset = source_offset_bits / 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)
|
if (buffer_size < this_size)
|
||||||
{
|
{
|
||||||
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
|
else
|
||||||
{
|
{
|
||||||
@ -104,11 +104,11 @@ Index: gdb-7.5.50.20130118/gdb/dwarf2loc.c
|
|||||||
if (buffer_size < this_size)
|
if (buffer_size < this_size)
|
||||||
{
|
{
|
||||||
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.6.90.20140127.orig/gdb/findcmd.c 2014-02-06 18:18:51.008616679 +0100
|
||||||
+++ gdb-7.5.50.20130118/gdb/findcmd.c 2013-01-18 23:34:02.680051851 +0100
|
+++ gdb-7.6.90.20140127/gdb/findcmd.c 2014-02-06 18:18:53.673621239 +0100
|
||||||
@@ -187,6 +187,7 @@ parse_find_args (char *args, ULONGEST *m
|
@@ -185,6 +185,7 @@ parse_find_args (char *args, ULONGEST *m
|
||||||
size_t current_offset = pattern_buf_end - pattern_buf;
|
size_t current_offset = pattern_buf_end - pattern_buf;
|
||||||
|
|
||||||
pattern_buf_size = pattern_buf_size_need * 2;
|
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 = xrealloc (pattern_buf, pattern_buf_size);
|
||||||
pattern_buf_end = pattern_buf + current_offset;
|
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.6.90.20140127.orig/gdb/p-valprint.c 2014-02-06 18:18:51.008616679 +0100
|
||||||
+++ gdb-7.5.50.20130118/gdb/p-valprint.c 2013-01-18 23:34:02.680051851 +0100
|
+++ gdb-7.6.90.20140127/gdb/p-valprint.c 2014-02-06 18:18:53.673621239 +0100
|
||||||
@@ -797,6 +797,7 @@ pascal_object_print_value (struct type *
|
@@ -798,6 +798,7 @@ pascal_object_print_value (struct type *
|
||||||
gdb_byte *buf;
|
gdb_byte *buf;
|
||||||
struct cleanup *back_to;
|
struct cleanup *back_to;
|
||||||
|
|
||||||
@ -128,11 +128,11 @@ Index: gdb-7.5.50.20130118/gdb/p-valprint.c
|
|||||||
buf = xmalloc (TYPE_LENGTH (baseclass));
|
buf = xmalloc (TYPE_LENGTH (baseclass));
|
||||||
back_to = make_cleanup (xfree, buf);
|
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.6.90.20140127.orig/gdb/utils.c 2014-02-06 18:18:51.008616679 +0100
|
||||||
+++ gdb-7.5.50.20130118/gdb/utils.c 2013-01-18 23:34:02.681051854 +0100
|
+++ gdb-7.6.90.20140127/gdb/utils.c 2014-02-06 18:18:53.674621186 +0100
|
||||||
@@ -3219,6 +3219,18 @@ host_address_to_string (const void *addr
|
@@ -3169,6 +3169,18 @@ host_address_to_string (const void *addr
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -151,11 +151,11 @@ Index: gdb-7.5.50.20130118/gdb/utils.c
|
|||||||
char *
|
char *
|
||||||
gdb_realpath (const char *filename)
|
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.6.90.20140127.orig/gdb/valops.c 2014-02-06 18:18:51.009616680 +0100
|
||||||
+++ gdb-7.5.50.20130118/gdb/valops.c 2013-01-18 23:34:02.682051856 +0100
|
+++ gdb-7.6.90.20140127/gdb/valops.c 2014-02-06 18:18:53.675621135 +0100
|
||||||
@@ -2369,6 +2369,7 @@ search_struct_method (const char *name,
|
@@ -2184,6 +2184,7 @@ search_struct_method (const char *name,
|
||||||
struct cleanup *back_to;
|
struct cleanup *back_to;
|
||||||
CORE_ADDR address;
|
CORE_ADDR address;
|
||||||
|
|
||||||
@ -163,11 +163,11 @@ Index: gdb-7.5.50.20130118/gdb/valops.c
|
|||||||
tmp = xmalloc (TYPE_LENGTH (baseclass));
|
tmp = xmalloc (TYPE_LENGTH (baseclass));
|
||||||
back_to = make_cleanup (xfree, tmp);
|
back_to = make_cleanup (xfree, tmp);
|
||||||
address = value_address (*arg1p);
|
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.6.90.20140127.orig/gdb/value.c 2014-02-06 18:18:51.010616681 +0100
|
||||||
+++ gdb-7.5.50.20130118/gdb/value.c 2013-01-18 23:34:02.683051858 +0100
|
+++ gdb-7.6.90.20140127/gdb/value.c 2014-02-06 18:19:10.261637398 +0100
|
||||||
@@ -663,6 +663,7 @@ allocate_value_lazy (struct type *type)
|
@@ -822,6 +822,7 @@ allocate_value_lazy (struct type *type)
|
||||||
description correctly. */
|
description correctly. */
|
||||||
check_typedef (type);
|
check_typedef (type);
|
||||||
|
|
||||||
@ -175,8 +175,8 @@ Index: gdb-7.5.50.20130118/gdb/value.c
|
|||||||
val = (struct value *) xzalloc (sizeof (struct value));
|
val = (struct value *) xzalloc (sizeof (struct value));
|
||||||
val->contents = NULL;
|
val->contents = NULL;
|
||||||
val->next = all_values;
|
val->next = all_values;
|
||||||
@@ -694,6 +695,8 @@ allocate_value_lazy (struct type *type)
|
@@ -853,6 +854,8 @@ allocate_value_lazy (struct type *type)
|
||||||
void
|
static void
|
||||||
allocate_value_contents (struct value *val)
|
allocate_value_contents (struct value *val)
|
||||||
{
|
{
|
||||||
+ ulongest_fits_host_or_error (TYPE_LENGTH (val->enclosing_type));
|
+ 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)
|
if (!val->contents)
|
||||||
val->contents = (gdb_byte *) xzalloc (TYPE_LENGTH (val->enclosing_type));
|
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)
|
set_value_enclosing_type (struct value *val, struct type *new_encl_type)
|
||||||
{
|
{
|
||||||
if (TYPE_LENGTH (new_encl_type) > TYPE_LENGTH (value_enclosing_type (val)))
|
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;
|
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.6.90.20140127.orig/gdb/vax-tdep.c 2014-02-06 18:18:51.370617068 +0100
|
||||||
+++ gdb-7.5.50.20130118/gdb/vax-tdep.c 2013-01-18 23:34:34.950094198 +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
|
@@ -223,6 +223,7 @@ vax_return_value (struct gdbarch *gdbarc
|
||||||
ULONGEST addr;
|
ULONGEST addr;
|
||||||
|
|
||||||
@ -211,11 +211,11 @@ Index: gdb-7.5.50.20130118/gdb/vax-tdep.c
|
|||||||
read_memory (addr, readbuf, len);
|
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.6.90.20140127.orig/gdb/defs.h 2014-02-06 18:18:51.370617068 +0100
|
||||||
+++ gdb-7.5.50.20130118/gdb/defs.h 2013-01-18 23:34:14.238067193 +0100
|
+++ gdb-7.6.90.20140127/gdb/defs.h 2014-02-06 18:18:53.677621038 +0100
|
||||||
@@ -801,4 +801,6 @@ enum block_enum
|
@@ -768,4 +768,6 @@ enum block_enum
|
||||||
|
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
|
|
||||||
|
@ -71,7 +71,7 @@ gdb/ChangeLog:
|
|||||||
(remote_remove_watchpoint): Likewise.
|
(remote_remove_watchpoint): Likewise.
|
||||||
(remote_watchpoint_addr_within_range): Expand parameter LENGTH
|
(remote_watchpoint_addr_within_range): Expand parameter LENGTH
|
||||||
to LONGEST.
|
to LONGEST.
|
||||||
* s390-nat.c (s390_insert_watchpoint): Expand parameter LEN to
|
* s390-linux-nat.c (s390_insert_watchpoint): Expand parameter LEN to
|
||||||
LONGEST.
|
LONGEST.
|
||||||
(s390_remove_watchpoint): Likewise.
|
(s390_remove_watchpoint): Likewise.
|
||||||
* target.c (update_current_target): Expand parameter LEN for
|
* 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);
|
putpkt (rs->buf);
|
||||||
getpkt (&rs->buf, &rs->buf_size, 0);
|
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.orig/gdb/s390-linux-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/gdb/s390-linux-nat.c 2013-08-02 16:42:34.103639116 +0200
|
||||||
@@ -516,7 +516,7 @@ s390_fix_watch_points (struct lwp_info *
|
@@ -516,7 +516,7 @@ s390_fix_watch_points (struct lwp_info *
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -96,7 +96,7 @@ gdb/ChangeLog
|
|||||||
LEN to LONGEST.
|
LEN to LONGEST.
|
||||||
(ran_out_of_registers_for_arguments): Expand SPACE, JJ to
|
(ran_out_of_registers_for_arguments): Expand SPACE, JJ to
|
||||||
LONGEST.
|
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.
|
(is_power_of_two): Expand parameter N to ULONGEST.
|
||||||
(s390_push_dummy_call): Expand LENGTH to ULONGEST.
|
(s390_push_dummy_call): Expand LENGTH to ULONGEST.
|
||||||
* score-tdep.c (score_push_dummy_call): Expand ARGLEN to
|
* score-tdep.c (score_push_dummy_call): Expand ARGLEN to
|
||||||
@ -137,10 +137,10 @@ Content-Type: text/x-patch
|
|||||||
Content-Transfer-Encoding: 7bit
|
Content-Transfer-Encoding: 7bit
|
||||||
Content-Disposition: attachment; filename=bitpos-tdep.patch
|
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.90.20140127.orig/gdb/alpha-tdep.c 2014-02-06 18:20:52.970747716 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/alpha-tdep.c 2013-08-02 16:43:04.723681004 +0200
|
+++ 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
|
@@ -299,18 +299,18 @@ alpha_push_dummy_call (struct gdbarch *g
|
||||||
{
|
{
|
||||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
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);
|
memcpy (arg_reg_buffer + offset, contents, tlen);
|
||||||
offset += tlen;
|
offset += tlen;
|
||||||
contents += 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.90.20140127.orig/gdb/amd64-tdep.c 2014-02-06 18:20:52.972747718 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/amd64-tdep.c 2013-08-02 16:43:04.724681006 +0200
|
+++ gdb-7.6.90.20140127/gdb/amd64-tdep.c 2014-02-06 18:21:51.106810814 +0100
|
||||||
@@ -616,7 +616,7 @@ amd64_return_value (struct gdbarch *gdba
|
@@ -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];
|
enum amd64_reg_class class[2];
|
||||||
- int len = TYPE_LENGTH (type);
|
- int len = TYPE_LENGTH (type);
|
||||||
+ LONGEST len = TYPE_LENGTH (type);
|
+ LONGEST len = TYPE_LENGTH (type);
|
||||||
static int integer_regnum[] = { AMD64_RAX_REGNUM, AMD64_RDX_REGNUM };
|
static int integer_regnum[] = { AMD64_RAX_REGNUM, AMD64_RDX_REGNUM };
|
||||||
static int sse_regnum[] = { AMD64_XMM0_REGNUM, AMD64_XMM1_REGNUM };
|
static int sse_regnum[] = { AMD64_XMM0_REGNUM, AMD64_XMM1_REGNUM };
|
||||||
int integer_reg = 0;
|
int integer_reg = 0;
|
||||||
@@ -769,8 +769,8 @@ amd64_push_arguments (struct regcache *r
|
@@ -784,8 +784,8 @@ amd64_push_arguments (struct regcache *r
|
||||||
that register number (or a negative value otherwise). */
|
};
|
||||||
int *arg_addr_regno = alloca (nargs * sizeof (int));
|
struct value **stack_args = alloca (nargs * sizeof (struct value *));
|
||||||
int num_stack_args = 0;
|
int num_stack_args = 0;
|
||||||
- int num_elements = 0;
|
- int num_elements = 0;
|
||||||
- int element = 0;
|
- int element = 0;
|
||||||
@ -208,7 +208,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/amd64-tdep.c
|
|||||||
int integer_reg = 0;
|
int integer_reg = 0;
|
||||||
int sse_reg = 0;
|
int sse_reg = 0;
|
||||||
int i;
|
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++)
|
for (i = 0; i < nargs; i++)
|
||||||
{
|
{
|
||||||
struct type *type = value_type (args[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];
|
enum amd64_reg_class class[2];
|
||||||
int needed_integer_regs = 0;
|
int needed_integer_regs = 0;
|
||||||
int needed_sse_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.90.20140127.orig/gdb/amd64-windows-tdep.c 2014-02-06 18:20:52.973747720 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/amd64-windows-tdep.c 2013-08-02 16:43:04.724681006 +0200
|
+++ gdb-7.6.90.20140127/gdb/amd64-windows-tdep.c 2014-02-06 18:20:57.296752364 +0100
|
||||||
@@ -79,7 +79,7 @@ amd64_windows_return_value (struct gdbar
|
@@ -288,7 +288,7 @@ amd64_windows_return_value (struct gdbar
|
||||||
struct type *type, struct regcache *regcache,
|
struct type *type, struct regcache *regcache,
|
||||||
gdb_byte *readbuf, const gdb_byte *writebuf)
|
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;
|
int regnum = -1;
|
||||||
|
|
||||||
/* See if our value is returned through a register. If it is, then
|
/* 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.90.20140127.orig/gdb/arm-tdep.c 2014-02-06 18:20:52.978747725 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/arm-tdep.c 2013-08-02 16:43:04.727681010 +0200
|
+++ 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
|
@@ -3498,7 +3498,7 @@ arm_vfp_cprc_reg_char (enum arm_vfp_cprc
|
||||||
array). Vectors and complex types are not currently supported,
|
array). Vectors and complex types are not currently supported,
|
||||||
matching the generic AAPCS support. */
|
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 *arg_type;
|
||||||
struct type *target_type;
|
struct type *target_type;
|
||||||
enum type_code typecode;
|
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.90.20140127.orig/gdb/avr-tdep.c 2014-02-06 18:20:52.980747727 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/avr-tdep.c 2013-08-02 16:43:04.728681011 +0200
|
+++ gdb-7.6.90.20140127/gdb/avr-tdep.c 2014-02-06 18:20:57.299752367 +0100
|
||||||
@@ -1170,13 +1170,14 @@ avr_dummy_id (struct gdbarch *gdbarch, s
|
@@ -1167,13 +1167,14 @@ avr_dummy_id (struct gdbarch *gdbarch, s
|
||||||
|
|
||||||
struct stack_item
|
struct stack_item
|
||||||
{
|
{
|
||||||
@ -329,7 +329,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/avr-tdep.c
|
|||||||
{
|
{
|
||||||
struct stack_item *si;
|
struct stack_item *si;
|
||||||
si = xmalloc (sizeof (struct stack_item));
|
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++)
|
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. */
|
/* Calculate the potential last register needed. */
|
||||||
last_regnum = regnum - (len + (len & 1));
|
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.90.20140127.orig/gdb/bfin-tdep.c 2014-02-06 18:20:52.980747727 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/bfin-tdep.c 2013-08-02 16:43:04.728681011 +0200
|
+++ 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
|
@@ -506,7 +506,7 @@ bfin_push_dummy_call (struct gdbarch *gd
|
||||||
gdb_byte buf[4];
|
gdb_byte buf[4];
|
||||||
int i;
|
int i;
|
||||||
@ -367,11 +367,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/bfin-tdep.c
|
|||||||
|
|
||||||
sp -= container_len;
|
sp -= container_len;
|
||||||
write_memory (sp, value_contents_writeable (args[i]), 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.90.20140127.orig/gdb/cris-tdep.c 2014-02-06 18:20:52.981747728 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/cris-tdep.c 2013-08-02 16:52:28.316491561 +0200
|
+++ gdb-7.6.90.20140127/gdb/cris-tdep.c 2014-02-06 18:20:57.301752369 +0100
|
||||||
@@ -670,13 +670,13 @@ static CORE_ADDR cris_unwind_sp (struct
|
@@ -665,13 +665,13 @@ static CORE_ADDR cris_unwind_sp (struct
|
||||||
|
|
||||||
struct stack_item
|
struct stack_item
|
||||||
{
|
{
|
||||||
@ -387,7 +387,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/cris-tdep.c
|
|||||||
{
|
{
|
||||||
struct stack_item *si;
|
struct stack_item *si;
|
||||||
si = xmalloc (sizeof (struct stack_item));
|
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++)
|
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? */
|
/* How may registers worth of storage do we need for this argument? */
|
||||||
reg_demand = (len / 4) + (len % 4 != 0 ? 1 : 0);
|
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.90.20140127.orig/gdb/h8300-tdep.c 2014-02-06 18:20:52.981747728 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/h8300-tdep.c 2013-08-02 16:43:04.730681014 +0200
|
+++ 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
|
@@ -640,7 +640,7 @@ h8300_push_dummy_call (struct gdbarch *g
|
||||||
int struct_return, CORE_ADDR struct_addr)
|
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)
|
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.90.20140127.orig/gdb/hppa-tdep.c 2014-02-06 18:20:52.982747729 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/hppa-tdep.c 2013-08-02 16:43:04.731681015 +0200
|
+++ 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 *
|
@@ -961,7 +961,7 @@ hppa64_push_dummy_call (struct gdbarch *
|
||||||
{
|
{
|
||||||
struct value *arg = args[i];
|
struct value *arg = args[i];
|
||||||
@ -463,11 +463,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/hppa-tdep.c
|
|||||||
int regnum, offset;
|
int regnum, offset;
|
||||||
|
|
||||||
if (len > 16)
|
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.90.20140127.orig/gdb/i386-darwin-tdep.c 2014-02-06 18:20:52.982747729 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/i386-darwin-tdep.c 2013-08-02 16:43:04.731681015 +0200
|
+++ gdb-7.6.90.20140127/gdb/i386-darwin-tdep.c 2014-02-06 18:20:57.302752371 +0100
|
||||||
@@ -166,7 +166,7 @@ i386_darwin_push_dummy_call (struct gdba
|
@@ -164,7 +164,7 @@ i386_darwin_push_dummy_call (struct gdba
|
||||||
|
|
||||||
for (write_pass = 0; write_pass < 2; write_pass++)
|
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;
|
int num_m128 = 0;
|
||||||
|
|
||||||
if (struct_return)
|
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.90.20140127.orig/gdb/i386-tdep.c 2014-02-06 18:20:52.985747732 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/i386-tdep.c 2013-08-02 16:43:04.733681018 +0200
|
+++ gdb-7.6.90.20140127/gdb/i386-tdep.c 2014-02-06 18:20:57.303752372 +0100
|
||||||
@@ -2407,7 +2407,7 @@ i386_push_dummy_call (struct gdbarch *gd
|
@@ -2473,7 +2473,7 @@ i386_push_dummy_call (struct gdbarch *gd
|
||||||
gdb_byte buf[4];
|
gdb_byte buf[4];
|
||||||
int i;
|
int i;
|
||||||
int write_pass;
|
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
|
/* Determine the total space required for arguments and struct
|
||||||
return address in a first pass (allowing for 16-byte-aligned
|
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++)
|
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)
|
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++)
|
for (i = 0; i < nargs; i++)
|
||||||
{
|
{
|
||||||
@ -507,7 +507,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/i386-tdep.c
|
|||||||
|
|
||||||
if (write_pass)
|
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);
|
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
|
||||||
enum type_code code = TYPE_CODE (type);
|
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
|
gdb_assert (code == TYPE_CODE_STRUCT
|
||||||
|| code == TYPE_CODE_UNION
|
|| code == TYPE_CODE_UNION
|
||||||
@@ -3094,7 +3094,7 @@ static int
|
@@ -3249,7 +3249,7 @@ static int
|
||||||
i386_convert_register_p (struct gdbarch *gdbarch,
|
i386_convert_register_p (struct gdbarch *gdbarch,
|
||||||
int regnum, struct type *type)
|
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
|
/* Values may be spread across multiple registers. Most debugging
|
||||||
formats aren't expressive enough to specify the locations, so
|
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)
|
int *optimizedp, int *unavailablep)
|
||||||
{
|
{
|
||||||
struct gdbarch *gdbarch = get_frame_arch (frame);
|
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))
|
if (i386_fp_regnum_p (gdbarch, regnum))
|
||||||
return i387_register_to_value (frame, regnum, type, to,
|
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,
|
i386_value_to_register (struct frame_info *frame, int regnum,
|
||||||
struct type *type, const gdb_byte *from)
|
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))
|
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.90.20140127.orig/gdb/ia64-tdep.c 2014-02-06 18:20:52.986747733 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/ia64-tdep.c 2013-08-02 16:43:04.734681019 +0200
|
+++ gdb-7.6.90.20140127/gdb/ia64-tdep.c 2014-02-06 18:20:57.304752373 +0100
|
||||||
@@ -3974,8 +3974,10 @@ ia64_push_dummy_call (struct gdbarch *gd
|
@@ -3851,8 +3851,10 @@ ia64_push_dummy_call (struct gdbarch *gd
|
||||||
int argno;
|
int argno;
|
||||||
struct value *arg;
|
struct value *arg;
|
||||||
struct type *type;
|
struct type *type;
|
||||||
@ -560,10 +560,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/ia64-tdep.c
|
|||||||
int floatreg;
|
int floatreg;
|
||||||
ULONGEST bsp;
|
ULONGEST bsp;
|
||||||
CORE_ADDR funcdescaddr, pc, global_pointer;
|
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.90.20140127.orig/gdb/iq2000-tdep.c 2014-02-06 18:20:52.986747733 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/iq2000-tdep.c 2013-08-02 16:43:04.734681019 +0200
|
+++ 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 *
|
@@ -654,8 +654,9 @@ iq2000_push_dummy_call (struct gdbarch *
|
||||||
const bfd_byte *val;
|
const bfd_byte *val;
|
||||||
bfd_byte buf[4];
|
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. */
|
/* Used to copy struct arguments into the stack. */
|
||||||
CORE_ADDR struct_ptr;
|
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.90.20140127.orig/gdb/m32r-tdep.c 2014-02-06 18:20:52.986747733 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/m32r-tdep.c 2013-08-02 16:43:04.734681019 +0200
|
+++ 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
|
@@ -689,7 +689,7 @@ m32r_push_dummy_call (struct gdbarch *gd
|
||||||
CORE_ADDR regval;
|
CORE_ADDR regval;
|
||||||
gdb_byte *val;
|
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. */
|
/* First force sp to a 4-byte alignment. */
|
||||||
sp = sp & ~3;
|
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.90.20140127.orig/gdb/m68k-tdep.c 2014-02-06 18:20:52.987747735 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/m68k-tdep.c 2013-08-02 16:43:04.735681021 +0200
|
+++ 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
|
@@ -384,7 +384,7 @@ m68k_reg_struct_return_p (struct gdbarch
|
||||||
{
|
{
|
||||||
struct gdbarch_tdep *tdep = gdbarch_tdep (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
|
/* Non-scalars bigger than 4 bytes are left aligned, others are
|
||||||
right aligned. */
|
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.90.20140127.orig/gdb/m88k-tdep.c 2014-02-06 18:20:52.987747735 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/m88k-tdep.c 2013-08-02 16:43:04.735681021 +0200
|
+++ 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
|
@@ -260,13 +260,13 @@ m88k_store_arguments (struct regcache *r
|
||||||
{
|
{
|
||||||
struct gdbarch *gdbarch = get_regcache_arch (regcache);
|
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))
|
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.90.20140127.orig/gdb/mep-tdep.c 2014-02-06 18:20:52.987747735 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/mep-tdep.c 2013-08-02 16:43:04.735681021 +0200
|
+++ 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
|
@@ -2272,7 +2272,7 @@ push_large_arguments (CORE_ADDR sp, int
|
||||||
|
|
||||||
for (i = 0; i < argc; i++)
|
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)
|
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.90.20140127.orig/gdb/mips-tdep.c 2014-02-06 18:20:52.990747738 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/mips-tdep.c 2013-08-02 16:43:04.737681023 +0200
|
+++ gdb-7.6.90.20140127/gdb/mips-tdep.c 2014-02-06 18:20:57.307752376 +0100
|
||||||
@@ -402,7 +402,7 @@ static void
|
@@ -402,7 +402,7 @@ static void
|
||||||
mips_xfer_register (struct gdbarch *gdbarch, struct regcache *regcache,
|
mips_xfer_register (struct gdbarch *gdbarch, struct regcache *regcache,
|
||||||
int reg_num, int length,
|
int reg_num, int length,
|
||||||
@ -808,11 +808,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/mips-tdep.c
|
|||||||
|
|
||||||
val = value_contents (arg);
|
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.90.20140127.orig/gdb/mn10300-tdep.c 2014-02-06 18:20:52.991747739 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/mn10300-tdep.c 2013-08-02 16:50:34.212320698 +0200
|
+++ gdb-7.6.90.20140127/gdb/mn10300-tdep.c 2014-02-06 18:20:57.308752377 +0100
|
||||||
@@ -1228,7 +1228,7 @@ mn10300_push_dummy_call (struct gdbarch
|
@@ -1227,7 +1227,7 @@ mn10300_push_dummy_call (struct gdbarch
|
||||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||||
const int push_size = register_size (gdbarch, E_PC_REGNUM);
|
const int push_size = register_size (gdbarch, E_PC_REGNUM);
|
||||||
int regs_used;
|
int regs_used;
|
||||||
@ -821,10 +821,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/mn10300-tdep.c
|
|||||||
int stack_offset = 0;
|
int stack_offset = 0;
|
||||||
int argnum;
|
int argnum;
|
||||||
const gdb_byte *val;
|
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.90.20140127.orig/gdb/mt-tdep.c 2014-02-06 18:20:52.991747739 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/mt-tdep.c 2013-08-02 16:43:04.737681023 +0200
|
+++ 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
|
@@ -783,9 +783,9 @@ mt_push_dummy_call (struct gdbarch *gdba
|
||||||
gdb_byte buf[MT_MAX_STRUCT_SIZE];
|
gdb_byte buf[MT_MAX_STRUCT_SIZE];
|
||||||
int argreg = MT_1ST_ARGREG;
|
int argreg = MT_1ST_ARGREG;
|
||||||
@ -837,10 +837,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/mt-tdep.c
|
|||||||
int i, j;
|
int i, j;
|
||||||
|
|
||||||
/* First handle however many args we can fit into MT_1ST_ARGREG thru
|
/* 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.90.20140127.orig/gdb/ppc-sysv-tdep.c 2014-02-06 18:20:52.992747740 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/ppc-sysv-tdep.c 2013-08-02 16:43:04.738681025 +0200
|
+++ 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
|
@@ -68,7 +68,7 @@ ppc_sysv_abi_push_dummy_call (struct gdb
|
||||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||||
int opencl_abi = ppc_sysv_use_opencl_abi (value_type (function));
|
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)
|
if (len < tdep->wordsize)
|
||||||
write_memory (gparam + tdep->wordsize - len, val, len);
|
write_memory (gparam + tdep->wordsize - len, val, len);
|
||||||
else
|
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.90.20140127.orig/gdb/rl78-tdep.c 2014-02-06 18:20:52.992747740 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/rl78-tdep.c 2013-08-02 16:43:04.738681025 +0200
|
+++ gdb-7.6.90.20140127/gdb/rl78-tdep.c 2014-02-06 18:20:57.309752378 +0100
|
||||||
@@ -1030,8 +1030,8 @@ rl78_push_dummy_call (struct gdbarch *gd
|
@@ -1052,8 +1052,8 @@ rl78_push_dummy_call (struct gdbarch *gd
|
||||||
for (i = nargs - 1; i >= 0; i--)
|
for (i = nargs - 1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
struct type *value_type = value_enclosing_type (args[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;
|
sp -= container_len;
|
||||||
write_memory (rl78_make_data_address (sp),
|
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.90.20140127.orig/gdb/rs6000-aix-tdep.c 2014-02-06 18:20:52.993747741 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/rs6000-aix-tdep.c 2013-08-02 16:43:04.738681025 +0200
|
+++ 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 *
|
@@ -196,9 +196,9 @@ rs6000_push_dummy_call (struct gdbarch *
|
||||||
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
|
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
|
||||||
enum bfd_endian byte_order = gdbarch_byte_order (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)
|
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.90.20140127.orig/gdb/s390-linux-tdep.c 2014-02-06 18:20:52.993747741 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/s390-tdep.c 2013-08-02 16:43:04.739681026 +0200
|
+++ gdb-7.6.90.20140127/gdb/s390-linux-tdep.c 2014-02-06 18:22:17.330838389 +0100
|
||||||
@@ -2483,7 +2483,7 @@ is_float_like (struct type *type)
|
@@ -2526,7 +2526,7 @@ is_float_like (struct type *type)
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@ -950,19 +950,19 @@ Index: gdb-7.6.50.20130731-cvs/gdb/s390-tdep.c
|
|||||||
{
|
{
|
||||||
return ((n & (n - 1)) == 0);
|
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 value *arg = args[i];
|
||||||
struct type *type = check_typedef (value_type (arg));
|
struct type *type = check_typedef (value_type (arg));
|
||||||
- unsigned length = TYPE_LENGTH (type);
|
- unsigned length = TYPE_LENGTH (type);
|
||||||
+ ULONGEST length = TYPE_LENGTH (type);
|
+ ULONGEST length = TYPE_LENGTH (type);
|
||||||
|
|
||||||
if (s390_function_arg_pass_by_reference (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.90.20140127.orig/gdb/score-tdep.c 2014-02-06 18:20:52.994747742 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/score-tdep.c 2013-08-02 16:43:04.739681026 +0200
|
+++ 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
|
@@ -515,7 +515,7 @@ score_push_dummy_call (struct gdbarch *g
|
||||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||||
int argnum;
|
int argnum;
|
||||||
@ -972,10 +972,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/score-tdep.c
|
|||||||
CORE_ADDR stack_offset = 0;
|
CORE_ADDR stack_offset = 0;
|
||||||
CORE_ADDR addr = 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.90.20140127.orig/gdb/sh-tdep.c 2014-02-06 18:20:52.995747743 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/sh-tdep.c 2013-08-02 16:51:29.604404553 +0200
|
+++ 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
|
@@ -807,7 +807,7 @@ sh_skip_prologue (struct gdbarch *gdbarc
|
||||||
static int
|
static int
|
||||||
sh_use_struct_convention (int renesas_abi, struct type *type)
|
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 pass_on_stack = 0;
|
||||||
int last_reg_arg = INT_MAX;
|
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.90.20140127.orig/gdb/sh64-tdep.c 2014-02-06 18:20:52.995747743 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/sh64-tdep.c 2013-08-02 16:50:49.740344125 +0200
|
+++ 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
|
@@ -1058,7 +1058,7 @@ sh64_push_dummy_call (struct gdbarch *gd
|
||||||
CORE_ADDR struct_addr)
|
CORE_ADDR struct_addr)
|
||||||
{
|
{
|
||||||
@ -1036,11 +1036,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/sh64-tdep.c
|
|||||||
int argreg_size;
|
int argreg_size;
|
||||||
int fp_args[12];
|
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.90.20140127.orig/gdb/sparc-tdep.c 2014-02-06 18:20:52.996747744 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/sparc-tdep.c 2013-08-02 16:43:04.740681027 +0200
|
+++ gdb-7.6.90.20140127/gdb/sparc-tdep.c 2014-02-06 18:20:57.311752380 +0100
|
||||||
@@ -471,7 +471,7 @@ sparc32_store_arguments (struct regcache
|
@@ -502,7 +502,7 @@ sparc32_store_arguments (struct regcache
|
||||||
for (i = 0; i < nargs; i++)
|
for (i = 0; i < nargs; i++)
|
||||||
{
|
{
|
||||||
struct type *type = value_type (args[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)
|
if (sparc_structure_or_union_p (type)
|
||||||
|| (sparc_floating_p (type) && len == 16)
|
|| (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.90.20140127.orig/gdb/sparc64-tdep.c 2014-02-06 18:20:52.996747744 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/sparc64-tdep.c 2013-08-02 16:43:04.741681029 +0200
|
+++ 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
|
@@ -639,7 +639,8 @@ sparc64_16_byte_align_p (struct type *ty
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -1108,10 +1108,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/sparc64-tdep.c
|
|||||||
int regnum = -1;
|
int regnum = -1;
|
||||||
gdb_byte buf[16];
|
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.90.20140127.orig/gdb/spu-tdep.c 2014-02-06 18:20:52.997747745 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/spu-tdep.c 2013-08-02 16:43:04.741681029 +0200
|
+++ 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
|
@@ -1376,7 +1376,7 @@ spu_push_dummy_call (struct gdbarch *gdb
|
||||||
struct value *arg = args[i];
|
struct value *arg = args[i];
|
||||||
struct type *type = check_typedef (value_type (arg));
|
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;
|
int preferred_slot;
|
||||||
|
|
||||||
if (spu_scalar_value_p (type))
|
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.90.20140127.orig/gdb/tic6x-tdep.c 2014-02-06 18:20:52.997747745 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/tic6x-tdep.c 2013-08-02 16:43:04.742681030 +0200
|
+++ 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
|
@@ -896,7 +896,7 @@ tic6x_push_dummy_call (struct gdbarch *g
|
||||||
int argreg = 0;
|
int argreg = 0;
|
||||||
int argnum;
|
int argnum;
|
||||||
@ -1171,11 +1171,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/tic6x-tdep.c
|
|||||||
|
|
||||||
addr = sp + stack_offset;
|
addr = sp + stack_offset;
|
||||||
write_memory (addr, val, len);
|
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.90.20140127.orig/gdb/tilegx-tdep.c 2014-02-06 18:20:52.998747746 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/tilegx-tdep.c 2013-08-02 16:43:04.742681030 +0200
|
+++ gdb-7.6.90.20140127/gdb/tilegx-tdep.c 2014-02-06 18:20:57.312752381 +0100
|
||||||
@@ -291,7 +291,7 @@ tilegx_push_dummy_call (struct gdbarch *
|
@@ -290,7 +290,7 @@ tilegx_push_dummy_call (struct gdbarch *
|
||||||
CORE_ADDR stack_dest = sp;
|
CORE_ADDR stack_dest = sp;
|
||||||
int argreg = TILEGX_R0_REGNUM;
|
int argreg = TILEGX_R0_REGNUM;
|
||||||
int i, j;
|
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 };
|
static const gdb_byte four_zero_words[16] = { 0 };
|
||||||
|
|
||||||
/* If struct_return is 1, then the struct return address will
|
/* 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.90.20140127.orig/gdb/v850-tdep.c 2014-02-06 18:20:52.998747746 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/v850-tdep.c 2013-08-02 16:52:55.219531101 +0200
|
+++ 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
|
@@ -1021,7 +1021,7 @@ v850_push_dummy_call (struct gdbarch *gd
|
||||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||||
int argreg;
|
int argreg;
|
||||||
@ -1206,10 +1206,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/v850-tdep.c
|
|||||||
gdb_byte *val;
|
gdb_byte *val;
|
||||||
gdb_byte valbuf[v850_reg_size];
|
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.90.20140127.orig/gdb/vax-tdep.c 2014-02-06 18:20:52.998747746 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/vax-tdep.c 2013-08-02 16:43:04.742681030 +0200
|
+++ 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
|
@@ -115,7 +115,7 @@ vax_store_arguments (struct regcache *re
|
||||||
struct gdbarch *gdbarch = get_regcache_arch (regcache);
|
struct gdbarch *gdbarch = get_regcache_arch (regcache);
|
||||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
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;
|
sp -= (len + 3) & ~3;
|
||||||
count += (len + 3) / 4;
|
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.90.20140127.orig/gdb/xstormy16-tdep.c 2014-02-06 18:20:52.999747748 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/xstormy16-tdep.c 2013-08-02 16:43:04.743681032 +0200
|
+++ 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
|
@@ -235,8 +235,9 @@ xstormy16_push_dummy_call (struct gdbarc
|
||||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||||
CORE_ADDR stack_dest = sp;
|
CORE_ADDR stack_dest = sp;
|
||||||
@ -1244,11 +1244,11 @@ Index: gdb-7.6.50.20130731-cvs/gdb/xstormy16-tdep.c
|
|||||||
const gdb_byte *val;
|
const gdb_byte *val;
|
||||||
gdb_byte buf[xstormy16_pc_size];
|
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.90.20140127.orig/gdb/xtensa-tdep.c 2014-02-06 18:20:53.000747749 +0100
|
||||||
+++ gdb-7.6.50.20130731-cvs/gdb/xtensa-tdep.c 2013-08-02 16:43:04.743681032 +0200
|
+++ gdb-7.6.90.20140127/gdb/xtensa-tdep.c 2014-02-06 18:20:57.314752384 +0100
|
||||||
@@ -1653,8 +1653,7 @@ xtensa_store_return_value (struct type *
|
@@ -1652,8 +1652,7 @@ xtensa_store_return_value (struct type *
|
||||||
|
|
||||||
if (len > (callsize > 8 ? 8 : 16))
|
if (len > (callsize > 8 ? 8 : 16))
|
||||||
internal_error (__FILE__, __LINE__,
|
internal_error (__FILE__, __LINE__,
|
||||||
@ -1258,7 +1258,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/xtensa-tdep.c
|
|||||||
areg = arreg_number (gdbarch,
|
areg = arreg_number (gdbarch,
|
||||||
gdbarch_tdep (gdbarch)->a0_base + 2 + callsize, wb);
|
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);
|
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||||
int i;
|
int i;
|
||||||
@ -1280,7 +1280,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/xtensa-tdep.c
|
|||||||
int regno; /* regno if in register. */
|
int regno; /* regno if in register. */
|
||||||
} u;
|
} 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 value *arg = args[i];
|
||||||
struct type *arg_type = check_typedef (value_type (arg));
|
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))
|
switch (TYPE_CODE (arg_type))
|
||||||
{
|
{
|
||||||
case TYPE_CODE_INT:
|
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);
|
info->align = TYPE_LENGTH (builtin_type (gdbarch)->builtin_long);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -1304,7 +1304,7 @@ Index: gdb-7.6.50.20130731-cvs/gdb/xtensa-tdep.c
|
|||||||
|
|
||||||
/* Align size and onstack_size. */
|
/* Align size and onstack_size. */
|
||||||
size = (size + info->align - 1) & ~(info->align - 1);
|
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)
|
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;
|
CORE_ADDR offset = sp + info->u.offset;
|
||||||
|
|
||||||
/* Odd-sized structs are aligned to the lower side of a memory
|
/* 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
|
else
|
||||||
{
|
{
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
Some functionality is available on RHEL-5.4+ only with gcc44 and gfortran44 as
|
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.
|
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.6.90.20140127.orig/gdb/testsuite/gdb.base/vla.exp 2014-02-06 18:26:05.115083077 +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/gdb/testsuite/gdb.base/vla.exp 2014-02-06 18:26:06.689084765 +0100
|
||||||
@@ -16,7 +16,25 @@
|
@@ -16,7 +16,25 @@
|
||||||
set testfile vla
|
set testfile vla
|
||||||
set srcfile ${testfile}.c
|
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"
|
untested "Couldn't compile test program"
|
||||||
return -1
|
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.6.90.20140127.orig/gdb/testsuite/gdb.base/break-interp.exp 2014-02-06 18:26:05.116083078 +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/gdb/testsuite/gdb.base/break-interp.exp 2014-02-06 18:26:06.689084765 +0100
|
||||||
@@ -34,9 +34,29 @@ if [get_compiler_info] {
|
@@ -34,9 +34,29 @@ if [get_compiler_info] {
|
||||||
return -1
|
return -1
|
||||||
}
|
}
|
||||||
@ -67,10 +67,10 @@ Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.base/break-interp.exp
|
|||||||
return -1
|
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.6.90.20140127.orig/gdb/testsuite/gdb.fortran/common-block.exp 2014-02-06 18:26:05.116083078 +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/gdb/testsuite/gdb.fortran/common-block.exp 2014-02-06 18:26:06.690084760 +0100
|
||||||
@@ -22,8 +22,25 @@ if {[skip_fortran_tests]} {
|
@@ -22,8 +22,25 @@ if {[skip_fortran_tests]} {
|
||||||
|
|
||||||
standard_testfile .f90
|
standard_testfile .f90
|
||||||
@ -99,10 +99,10 @@ Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/common-block.exp
|
|||||||
return -1
|
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.6.90.20140127.orig/gdb/testsuite/gdb.fortran/dwarf-stride.exp 2014-02-06 18:26:05.117083079 +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/gdb/testsuite/gdb.fortran/dwarf-stride.exp 2014-02-06 18:26:06.690084760 +0100
|
||||||
@@ -27,7 +27,25 @@
|
@@ -27,7 +27,25 @@
|
||||||
set testfile dwarf-stride
|
set testfile dwarf-stride
|
||||||
set srcfile ${testfile}.f90
|
set srcfile ${testfile}.f90
|
||||||
@ -130,10 +130,10 @@ Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/dwarf-stride.exp
|
|||||||
return -1
|
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.6.90.20140127.orig/gdb/testsuite/gdb.fortran/dynamic.exp 2014-02-06 18:26:05.117083079 +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/gdb/testsuite/gdb.fortran/dynamic.exp 2014-02-06 18:26:06.690084760 +0100
|
||||||
@@ -25,7 +25,25 @@ set testfile "dynamic"
|
@@ -25,7 +25,25 @@ set testfile "dynamic"
|
||||||
set srcfile ${testfile}.f90
|
set srcfile ${testfile}.f90
|
||||||
set binfile ${objdir}/${subdir}/${testfile}
|
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}"
|
untested "Couldn't compile ${srcfile}"
|
||||||
return -1
|
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.6.90.20140127.orig/gdb/testsuite/gdb.fortran/library-module.exp 2014-02-06 18:26:05.117083079 +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/gdb/testsuite/gdb.fortran/library-module.exp 2014-02-06 18:26:06.690084760 +0100
|
||||||
@@ -23,16 +23,34 @@ if [get_compiler_info] {
|
@@ -23,16 +23,34 @@ if [get_compiler_info] {
|
||||||
return -1
|
return -1
|
||||||
}
|
}
|
||||||
@ -204,10 +204,10 @@ Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/library-module.exp
|
|||||||
untested "Couldn't compile ${srcfile}"
|
untested "Couldn't compile ${srcfile}"
|
||||||
return -1
|
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.6.90.20140127.orig/gdb/testsuite/gdb.fortran/module.exp 2014-02-06 18:26:05.118083080 +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/gdb/testsuite/gdb.fortran/module.exp 2014-02-06 18:26:06.690084760 +0100
|
||||||
@@ -15,7 +15,25 @@
|
@@ -15,7 +15,25 @@
|
||||||
|
|
||||||
standard_testfile .f90
|
standard_testfile .f90
|
||||||
@ -235,10 +235,10 @@ Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/module.exp
|
|||||||
return -1
|
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.6.90.20140127.orig/gdb/testsuite/gdb.fortran/string.exp 2014-02-06 18:26:05.118083080 +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/gdb/testsuite/gdb.fortran/string.exp 2014-02-06 18:26:06.691084763 +0100
|
||||||
@@ -23,7 +23,25 @@ set testfile "string"
|
@@ -23,7 +23,25 @@ set testfile "string"
|
||||||
set srcfile ${testfile}.f90
|
set srcfile ${testfile}.f90
|
||||||
set binfile ${objdir}/${subdir}/${testfile}
|
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}"
|
untested "Couldn't compile ${srcfile}"
|
||||||
return -1
|
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.6.90.20140127.orig/gdb/testsuite/gdb.fortran/omp-step.exp 2014-02-06 18:26:05.118083080 +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/gdb/testsuite/gdb.fortran/omp-step.exp 2014-02-06 18:26:06.691084763 +0100
|
||||||
@@ -15,7 +15,26 @@
|
@@ -15,7 +15,26 @@
|
||||||
|
|
||||||
set testfile "omp-step"
|
set testfile "omp-step"
|
||||||
@ -298,10 +298,10 @@ Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/omp-step.exp
|
|||||||
return -1
|
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.6.90.20140127.orig/gdb/testsuite/gdb.fortran/derived-type.exp 2014-02-06 18:26:05.119083082 +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/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
|
@@ -22,7 +22,25 @@ if { [skip_fortran_tests] } { return -1
|
||||||
|
|
||||||
standard_testfile .f90
|
standard_testfile .f90
|
||||||
@ -329,10 +329,10 @@ Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/derived-type.exp
|
|||||||
return -1
|
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.6.90.20140127.orig/gdb/testsuite/gdb.fortran/subarray.exp 2014-02-06 18:26:05.119083082 +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/gdb/testsuite/gdb.fortran/subarray.exp 2014-02-06 18:26:06.691084763 +0100
|
||||||
@@ -22,7 +22,25 @@ if { [skip_fortran_tests] } { return -1
|
@@ -22,7 +22,25 @@ if { [skip_fortran_tests] } { return -1
|
||||||
|
|
||||||
standard_testfile .f
|
standard_testfile .f
|
||||||
@ -360,10 +360,10 @@ Index: gdb-7.5.50.20130118/gdb/testsuite/gdb.fortran/subarray.exp
|
|||||||
return -1
|
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.6.90.20140127.orig/gdb/testsuite/gdb.threads/tls-sepdebug.exp 2014-02-06 18:26:05.119083082 +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/gdb/testsuite/gdb.threads/tls-sepdebug.exp 2014-02-06 18:26:06.691084763 +0100
|
||||||
@@ -32,7 +32,25 @@ set binshareddebugfile ${objdir}/${subdi
|
@@ -32,7 +32,25 @@ set binshareddebugfile ${objdir}/${subdi
|
||||||
|
|
||||||
# FIXME: gcc dependency (-Wl,-soname).
|
# 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"
|
untested "Couldn't compile test library"
|
||||||
return -1
|
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.6.90.20140127.orig/gdb/testsuite/lib/prelink-support.exp 2014-02-06 18:26:06.692084767 +0100
|
||||||
+++ gdb-7.5.50.20130118/gdb/testsuite/lib/prelink-support.exp 2013-01-18 23:43:08.084761135 +0100
|
+++ gdb-7.6.90.20140127/gdb/testsuite/lib/prelink-support.exp 2014-02-06 18:27:44.960190192 +0100
|
||||||
@@ -119,9 +119,31 @@ proc file_copy {src dest} {
|
@@ -118,9 +118,31 @@ proc file_copy {src dest} {
|
||||||
proc build_executable_own_libs {testname executable sources options {interp ""} {dir ""}} {
|
proc build_executable_own_libs {testname executable sources options {interp ""} {dir ""}} {
|
||||||
global objdir subdir
|
global subdir
|
||||||
|
|
||||||
- if {[build_executable $testname $executable $sources $options] == -1} {
|
- if {[build_executable $testname $executable $sources $options] == -1} {
|
||||||
- return ""
|
- return ""
|
||||||
@ -426,6 +426,6 @@ Index: gdb-7.5.50.20130118/gdb/testsuite/lib/prelink-support.exp
|
|||||||
+ return ""
|
+ return ""
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
set binfile ${objdir}/${subdir}/${executable}
|
set binfile [standard_output_file ${executable}]
|
||||||
|
|
||||||
set command "ldd $binfile"
|
set ldd [gdb_find_ldd]
|
||||||
|
@ -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-main.c
|
||||||
create mode 100644 gdb/testsuite/gdb.base/cfi-without-die.exp
|
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
|
Index: gdb-7.7/gdb/testsuite/gdb.base/cfi-without-die-caller.c
|
||||||
new file mode 100644
|
===================================================================
|
||||||
index 0000000..afdfd53
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
--- /dev/null
|
+++ gdb-7.7/gdb/testsuite/gdb.base/cfi-without-die-caller.c 2014-02-06 19:35:23.485863819 +0100
|
||||||
+++ b/gdb/testsuite/gdb.base/cfi-without-die-caller.c
|
|
||||||
@@ -0,0 +1,28 @@
|
@@ -0,0 +1,28 @@
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
+/* 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. */
|
+ /* Modify the return value to prevent any tail-call optimization. */
|
||||||
+ return (*callback) () - one;
|
+ 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
|
Index: gdb-7.7/gdb/testsuite/gdb.base/cfi-without-die-main.c
|
||||||
new file mode 100644
|
===================================================================
|
||||||
index 0000000..8451c4b
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
--- /dev/null
|
+++ gdb-7.7/gdb/testsuite/gdb.base/cfi-without-die-main.c 2014-02-06 19:35:23.485863819 +0100
|
||||||
+++ b/gdb/testsuite/gdb.base/cfi-without-die-main.c
|
|
||||||
@@ -0,0 +1,32 @@
|
@@ -0,0 +1,32 @@
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
+/* This testcase is part of GDB, the GNU debugger.
|
||||||
+
|
+
|
||||||
@ -142,11 +140,10 @@ index 0000000..8451c4b
|
|||||||
+{
|
+{
|
||||||
+ return caller (callback);
|
+ return caller (callback);
|
||||||
+}
|
+}
|
||||||
diff --git a/gdb/testsuite/gdb.base/cfi-without-die.exp b/gdb/testsuite/gdb.base/cfi-without-die.exp
|
Index: gdb-7.7/gdb/testsuite/gdb.base/cfi-without-die.exp
|
||||||
new file mode 100644
|
===================================================================
|
||||||
index 0000000..db6d248
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
--- /dev/null
|
+++ gdb-7.7/gdb/testsuite/gdb.base/cfi-without-die.exp 2014-02-06 20:26:00.775208847 +0100
|
||||||
+++ b/gdb/testsuite/gdb.base/cfi-without-die.exp
|
|
||||||
@@ -0,0 +1,67 @@
|
@@ -0,0 +1,67 @@
|
||||||
+# Copyright 2010 Free Software Foundation, Inc.
|
+# Copyright 2010 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
@ -169,9 +166,9 @@ index 0000000..db6d248
|
|||||||
+set srcmainfile ${testfile}-main.c
|
+set srcmainfile ${testfile}-main.c
|
||||||
+set srccallerfile ${testfile}-caller.c
|
+set srccallerfile ${testfile}-caller.c
|
||||||
+set executable ${testfile}
|
+set executable ${testfile}
|
||||||
+set objmainfile ${objdir}/${subdir}/${testfile}-main.o
|
+set objmainfile [standard_output_file ${testfile}-main.o]
|
||||||
+set objcallerfile ${objdir}/${subdir}/${testfile}-caller.o
|
+set objcallerfile [standard_output_file ${testfile}-caller.o]
|
||||||
+set binfile ${objdir}/${subdir}/${executable}
|
+set binfile [standard_output_file ${executable}]
|
||||||
+
|
+
|
||||||
+if { [gdb_compile "${srcdir}/${subdir}/${srccallerfile}" ${objcallerfile} \
|
+if { [gdb_compile "${srcdir}/${subdir}/${srccallerfile}" ${objcallerfile} \
|
||||||
+ object [list {additional_flags=-fomit-frame-pointer -fno-unwind-tables -fno-asynchronous-unwind-tables}]] != ""
|
+ 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 ()
|
+# #1 0x00000000004004e9 in caller ()
|
||||||
+# #2 0x00000000004004cd in main () at ...
|
+# #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"
|
+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
|
|
||||||
|
|
||||||
|
@ -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.
|
* 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
|
Index: gdb-7.7/gdb/testsuite/gdb.dwarf2/dw2-aranges.S
|
||||||
new file mode 100644
|
===================================================================
|
||||||
index 0000000..d5b9ca5a
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
--- /dev/null
|
+++ gdb-7.7/gdb/testsuite/gdb.dwarf2/dw2-aranges.S 2014-02-06 22:02:22.087449660 +0100
|
||||||
+++ b/gdb/testsuite/gdb.dwarf2/dw2-aranges.S
|
|
||||||
@@ -0,0 +1,140 @@
|
@@ -0,0 +1,140 @@
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
+/* This testcase is part of GDB, the GNU debugger.
|
||||||
+
|
+
|
||||||
@ -166,11 +165,10 @@ index 0000000..d5b9ca5a
|
|||||||
+ .byte 0 /* aranges segment_size */
|
+ .byte 0 /* aranges segment_size */
|
||||||
+
|
+
|
||||||
+.Laranges_end:
|
+.Laranges_end:
|
||||||
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-aranges.exp b/gdb/testsuite/gdb.dwarf2/dw2-aranges.exp
|
Index: gdb-7.7/gdb/testsuite/gdb.dwarf2/dw2-aranges.exp
|
||||||
new file mode 100644
|
===================================================================
|
||||||
index 0000000..39632d5
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
--- /dev/null
|
+++ gdb-7.7/gdb/testsuite/gdb.dwarf2/dw2-aranges.exp 2014-02-06 22:09:08.322852771 +0100
|
||||||
+++ b/gdb/testsuite/gdb.dwarf2/dw2-aranges.exp
|
|
||||||
@@ -0,0 +1,40 @@
|
@@ -0,0 +1,40 @@
|
||||||
+# Copyright 2004, 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
|
+# Copyright 2004, 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
@ -202,7 +200,7 @@ index 0000000..39632d5
|
|||||||
+
|
+
|
||||||
+set testfile "dw2-aranges"
|
+set testfile "dw2-aranges"
|
||||||
+set srcfile ${testfile}.S
|
+set srcfile ${testfile}.S
|
||||||
+set binfile ${objdir}/${subdir}/${testfile}
|
+set binfile [standard_output_file ${testfile}]
|
||||||
+
|
+
|
||||||
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {nodebug}] != "" } {
|
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {nodebug}] != "" } {
|
||||||
+ return -1
|
+ return -1
|
||||||
|
50
gdb-testsuite-nohostid.patch
Normal file
50
gdb-testsuite-nohostid.patch
Normal file
@ -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 <macro@codesourcery.com>
|
||||||
|
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 <jan.kratochvil@redhat.com>
|
||||||
|
|
||||||
|
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--
|
||||||
|
|
1085
gdb-upstream.patch
1085
gdb-upstream.patch
File diff suppressed because it is too large
Load Diff
40
gdb.spec
40
gdb.spec
@ -1,5 +1,6 @@
|
|||||||
# rpmbuild parameters:
|
# rpmbuild parameters:
|
||||||
# --with testsuite: Run the testsuite (biarch if possible). Default is without.
|
# --with testsuite: Run the testsuite (biarch if possible). Default is without.
|
||||||
|
# --with asan: gcc -fsanitize=address
|
||||||
# --without python: No python support.
|
# --without python: No python support.
|
||||||
# --with profile: gcc -fprofile-generate / -fprofile-use: Before better
|
# --with profile: gcc -fprofile-generate / -fprofile-use: Before better
|
||||||
# workload gets run it decreases the general performance now.
|
# workload gets run it decreases the general performance now.
|
||||||
@ -29,22 +30,22 @@ Summary: A GNU source-level debugger for C, C++, Fortran, Go and other languages
|
|||||||
Name: %{?scl_prefix}gdb
|
Name: %{?scl_prefix}gdb
|
||||||
|
|
||||||
# 6e5c95e6cf1e3c37bd3a822ca9e6721caab97a85
|
# 6e5c95e6cf1e3c37bd3a822ca9e6721caab97a85
|
||||||
%global snap 20130731
|
#global snap 20140127
|
||||||
# Freeze it when GDB gets branched
|
# Freeze it when GDB gets branched
|
||||||
%global snapsrc 20130731
|
%global snapsrc 20140108
|
||||||
# See timestamp of source gnulib installed into gdb/gnulib/ .
|
# See timestamp of source gnulib installed into gdb/gnulib/ .
|
||||||
%global snapgnulib 20121213
|
%global snapgnulib 20121213
|
||||||
Version: 7.6.50.%{snap}
|
Version: 7.7
|
||||||
|
|
||||||
# The release always contains a leading reserved number, start it at 1.
|
# 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.
|
# `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
|
||||||
Release: 20%{?dist}
|
Release: 1%{?dist}
|
||||||
|
|
||||||
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and BSD and Public Domain
|
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and BSD and Public Domain
|
||||||
Group: Development/Debuggers
|
Group: Development/Debuggers
|
||||||
# Do not provide URL for snapshots as the file lasts there only for 2 days.
|
# 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
|
# ftp://sourceware.org/pub/gdb/releases/gdb-%{version}.tar.bz2
|
||||||
Source: gdb-%{version}-cvs.tar.bz2
|
Source: gdb-%{version}.tar.bz2
|
||||||
Buildroot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
|
Buildroot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
|
||||||
URL: http://gnu.org/software/gdb/
|
URL: http://gnu.org/software/gdb/
|
||||||
|
|
||||||
@ -53,7 +54,7 @@ Obsoletes: devtoolset-1.0-%{pkg_name}
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
# For our convenience
|
# For our convenience
|
||||||
%global gdb_src %{pkg_name}-%{version}-cvs
|
%global gdb_src %{pkg_name}-%{version}
|
||||||
%global gdb_build build-%{_target_platform}
|
%global gdb_build build-%{_target_platform}
|
||||||
|
|
||||||
# Make sure we get rid of the old package gdb64, now that we have unified
|
# Make sure we get rid of the old package gdb64, now that we have unified
|
||||||
@ -297,10 +298,6 @@ Patch282: gdb-6.7-charsign-test.patch
|
|||||||
#=fedoratest+ppc
|
#=fedoratest+ppc
|
||||||
Patch284: gdb-6.7-ppc-clobbered-registers-O2-test.patch
|
Patch284: gdb-6.7-ppc-clobbered-registers-O2-test.patch
|
||||||
|
|
||||||
# Testsuite fixes for more stable/comparable results.
|
|
||||||
#=fedoratest
|
|
||||||
Patch287: gdb-6.7-testsuite-stable-results.patch
|
|
||||||
|
|
||||||
# Test ia64 memory leaks of the code using libunwind.
|
# Test ia64 memory leaks of the code using libunwind.
|
||||||
#=fedoratest
|
#=fedoratest
|
||||||
Patch289: gdb-6.5-ia64-libunwind-leak-test.patch
|
Patch289: gdb-6.5-ia64-libunwind-leak-test.patch
|
||||||
@ -524,13 +521,11 @@ Patch832: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch
|
|||||||
# Fix crash on 'enable count' (Simon Marchi, BZ 993118).
|
# Fix crash on 'enable count' (Simon Marchi, BZ 993118).
|
||||||
Patch843: gdb-enable-count-crash.patch
|
Patch843: gdb-enable-count-crash.patch
|
||||||
|
|
||||||
# Fix the case when GDB leaks memory because value_struct_elt
|
# Fix testsuite "ERROR: no fileid for".
|
||||||
# does not call check_typedef. (Doug Evans, BZ 15695, filed as
|
Patch846: gdb-testsuite-nohostid.patch
|
||||||
# RH BZ 1013453).
|
|
||||||
Patch844: gdb-rhbz1013453-value-struct-elt-memory-leak.patch
|
|
||||||
|
|
||||||
# Fix explicit Class:: inside class scope (BZ 874817, Keith Seitz).
|
# Fix Python stack corruption.
|
||||||
Patch845: gdb-implicit-this.patch
|
Patch847: gdb-python-stacksmash.patch
|
||||||
|
|
||||||
%if 0%{!?rhel:1} || 0%{?rhel} > 6
|
%if 0%{!?rhel:1} || 0%{?rhel} > 6
|
||||||
# RL_STATE_FEDORA_GDB would not be found for:
|
# RL_STATE_FEDORA_GDB would not be found for:
|
||||||
@ -771,7 +766,6 @@ find -name "*.info*"|xargs rm -f
|
|||||||
%patch276 -p1
|
%patch276 -p1
|
||||||
%patch282 -p1
|
%patch282 -p1
|
||||||
%patch284 -p1
|
%patch284 -p1
|
||||||
%patch287 -p1
|
|
||||||
%patch289 -p1
|
%patch289 -p1
|
||||||
%patch290 -p1
|
%patch290 -p1
|
||||||
%patch294 -p1
|
%patch294 -p1
|
||||||
@ -826,8 +820,8 @@ find -name "*.info*"|xargs rm -f
|
|||||||
%patch818 -p1
|
%patch818 -p1
|
||||||
%patch832 -p1
|
%patch832 -p1
|
||||||
%patch843 -p1
|
%patch843 -p1
|
||||||
%patch844 -p1
|
%patch846 -p1
|
||||||
%patch845 -p1
|
%patch847 -p1
|
||||||
|
|
||||||
%patch393 -p1
|
%patch393 -p1
|
||||||
%if 0%{!?el5:1} || 0%{?scl:1}
|
%if 0%{!?el5:1} || 0%{?scl:1}
|
||||||
@ -893,8 +887,8 @@ do
|
|||||||
mkdir %{gdb_build}$fprofile
|
mkdir %{gdb_build}$fprofile
|
||||||
cd %{gdb_build}$fprofile
|
cd %{gdb_build}$fprofile
|
||||||
|
|
||||||
export CFLAGS="$RPM_OPT_FLAGS"
|
export CFLAGS="$RPM_OPT_FLAGS %{?_with_asan:-fsanitize=address}"
|
||||||
export LDFLAGS="%{?__global_ldflags}"
|
export LDFLAGS="%{?__global_ldflags} %{?_with_asan:-fsanitize=address}"
|
||||||
|
|
||||||
# --htmldir and --pdfdir are not used as they are used from %{gdb_build}.
|
# --htmldir and --pdfdir are not used as they are used from %{gdb_build}.
|
||||||
../configure \
|
../configure \
|
||||||
@ -1346,6 +1340,10 @@ fi
|
|||||||
%endif # 0%{!?el5:1} || "%{_target_cpu}" == "noarch"
|
%endif # 0%{!?el5:1} || "%{_target_cpu}" == "noarch"
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Feb 7 2014 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.7-1.fc21
|
||||||
|
- Rebase to FSF GDB 7.7.
|
||||||
|
- New rpmbuild option: --with asan
|
||||||
|
|
||||||
* Thu Jan 23 2014 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.6.50.20140119-20.fc20
|
* Thu Jan 23 2014 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.6.50.20140119-20.fc20
|
||||||
- [s390*,ppc*] Enable secondary targets s390* and ppc* (BZ 1056259).
|
- [s390*,ppc*] Enable secondary targets s390* and ppc* (BZ 1056259).
|
||||||
|
|
||||||
|
3
sources
3
sources
@ -1,3 +1,2 @@
|
|||||||
4981307aa9619bbec5b73261e4e41c8d gdb-libstdc++-v3-python-r155978.tar.bz2
|
4981307aa9619bbec5b73261e4e41c8d gdb-libstdc++-v3-python-r155978.tar.bz2
|
||||||
8ce4e757790139e3f07652a2b49d79ff gdb-7.6.50.20130624.tar.bz2
|
271a18f41858a7e98b28ae4eb91287c9 gdb-7.7.tar.bz2
|
||||||
f16c33bdd9d0030d0c2a42d5f319f841 gdb-7.6.50.20130731-cvs.tar.bz2
|
|
||||||
|
Loading…
Reference in New Issue
Block a user