Rebase to the final 7.9 release.

This commit is contained in:
Jan Kratochvil 2015-02-22 19:38:08 +01:00
parent e209b86292
commit 186e7e4733
4 changed files with 9 additions and 59 deletions

2
.gitignore vendored
View File

@ -1,2 +1,2 @@
/gdb-libstdc++-v3-python-r155978.tar.bz2
/gdb-7.8.90.20150214.tar.xz
/gdb-7.9.tar.xz

View File

@ -1,49 +0,0 @@
http://sourceware.org/ml/gdb-patches/2015-01/msg00198.html
Subject: [PATCH] [PR corefiles/17808] i386: Fix internal error when prstatus in core file is too big
As reported in PR 17808, a test case with a forged (invalid) core file
can crash GDB with an assertion failure. In that particular case the
prstatus of an i386 core file looks like that from an AMD64 core file,
i.e., it is larger than GDB would expect.
The patch replaces the assertion by a warning and skips the invalid
core file register section. In this way it is guaranteed that no
bogus register values are read from the badly formatted section.
Note that this behavior deviates from the default policy: In general, if
some future kernel adds new registers to a register set, then a GDB
unaware of this extension would read the known subset and just ignore
the unknown bytes.
gdb/ChangeLog:
PR corefiles/17808
* i386-tdep.c (i386_supply_gregset): Instead of yielding an
internal error on unexpected input buffer size, ignore the data
and emit a warning.
---
gdb/i386-tdep.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c
index 7d174c4..d02aaf2 100644
--- a/gdb/i386-tdep.c
+++ b/gdb/i386-tdep.c
@@ -3727,7 +3727,12 @@ i386_supply_gregset (const struct regset *regset, struct regcache *regcache,
const gdb_byte *regs = gregs;
int i;
- gdb_assert (len == tdep->sizeof_gregset);
+ if (len != tdep->sizeof_gregset)
+ {
+ /* Buffer has unknown size: assume wrong format. */
+ warning (_("Bad size of general register section"));
+ return;
+ }
for (i = 0; i < tdep->gregset_num_regs; i++)
{
--
1.7.9.5

View File

@ -22,17 +22,17 @@ Name: %{?scl_prefix}gdb
# See timestamp of source gnulib installed into gdb/gnulib/ .
%global snapgnulib 20121213
%global tarname gdb-%{version}
Version: 7.8.90.20150214
Version: 7.9
# The release always contains a leading reserved number, start it at 1.
# `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
Release: 9%{?dist}
Release: 10%{?dist}
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and BSD and Public Domain and GFDL
Group: Development/Debuggers
# Do not provide URL for snapshots as the file lasts there only for 2 days.
# ftp://sourceware.org/pub/gdb/releases/gdb-%{version}.tar.xz
Source: %{tarname}.tar.xz
# ftp://sourceware.org/pub/gdb/releases/%{tarname}.tar.xz
Source: ftp://sourceware.org/pub/gdb/releases/%{tarname}.tar.xz
Buildroot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
URL: http://gnu.org/software/gdb/
@ -526,9 +526,6 @@ Patch927: gdb-python-gil.patch
# Fix jit-reader.h for multi-lib.
Patch978: gdb-jit-reader-multilib.patch
# Fix gdb-7.9pre regressions / new FAILs.
Patch979: gdb-6.8-bz457187-largefile-test-regression-fix.patch
# Temporarily disable dg-extract-results.py to fix gdb.sum sorting.
Patch982: gdb-no-dg-extract-results-py.patch
@ -824,7 +821,6 @@ find -name "*.info*"|xargs rm -f
%patch925 -p1
%patch927 -p1
%patch978 -p1
%patch979 -p1
%patch982 -p1
%patch984 -p1
%patch985 -p1
@ -1324,6 +1320,9 @@ then
fi
%changelog
* Sun Feb 22 2015 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.9-10.fc22
- Rebase to the final 7.9 release.
* Sun Feb 22 2015 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.8.90.20150202-9.fc22
- Change Require->Recommends for gcc-gdb-plugin (RH BZ 1195005).

View File

@ -1,2 +1,2 @@
4981307aa9619bbec5b73261e4e41c8d gdb-libstdc++-v3-python-r155978.tar.bz2
fab37432102631ff7984c905fe2fc968 gdb-7.8.90.20150214.tar.xz
e6279f26559d839f0b4218a482bcb43e gdb-7.9.tar.xz