- ia64 build fixes from Doug Chapman (BZ 428882).

- gdbserver separated into an extra package (BZ 405791).
- pstack obsoleted by included gstack (BZ 197020).
- Fix #include <asm/ptrace.h> on
    kernel-headers-2.6.25-0.40.rc1.git2.fc9.x86_64.
- Drop the PowerPC simulator as no longer being compatible with Fedora
    binaries.
This commit is contained in:
Jan Kratochvil 2008-02-20 09:43:35 +00:00
parent 4d1104a1ae
commit 08593f1932
4 changed files with 186 additions and 3 deletions

View File

@ -0,0 +1,61 @@
diff -up gdb-6.7.1/gdb/ia64-tdep.c.broken gdb-6.7.1/gdb/ia64-tdep.c
--- gdb-6.7.1/gdb/ia64-tdep.c.broken 2008-01-15 15:13:54.558100457 -0500
+++ gdb-6.7.1/gdb/ia64-tdep.c 2008-01-15 15:14:23.701740030 -0500
@@ -2009,6 +2009,7 @@ ia64_sigtramp_frame_prev_register (struc
{
char dummy_valp[MAX_REGISTER_SIZE];
char buf[MAX_REGISTER_SIZE];
+ int nat_bit;
struct ia64_frame_cache *cache =
ia64_sigtramp_frame_cache (next_frame, this_cache);
@@ -2088,7 +2089,6 @@ ia64_sigtramp_frame_prev_register (struc
/* Compute address of nat collection bits */
CORE_ADDR nat_collection;
nat_addr = gr_addr | 0x1f8;
- int nat_bit;
/* If our nat collection address is bigger than bsp, we have to get
the nat collection from rnat. Otherwise, we fetch the nat
collection from the computed address. FIXME: Do not know if
diff -up gdb-6.7.1/gdb/libunwind-frame.c.broken gdb-6.7.1/gdb/libunwind-frame.c
--- gdb-6.7.1/gdb/libunwind-frame.c.broken 2008-01-15 15:39:32.341093035 -0500
+++ gdb-6.7.1/gdb/libunwind-frame.c 2008-01-15 15:48:25.254244213 -0500
@@ -133,7 +133,7 @@ static struct libunwind_frame_cache *
libunwind_frame_cache (struct frame_info *next_frame, void **this_cache)
{
unw_accessors_t *acc;
- unw_addr_space_t as;
+ unw_addr_space_t as = NULL;
unw_cursor_t *cursor_addr;
unw_word_t fp, sp;
unw_regnum_t uw_sp_regnum;
diff -up gdb-6.7.1/gdb/ia64-linux-nat.c.broken gdb-6.7.1/gdb/ia64-linux-nat.c
--- gdb-6.7.1/gdb/ia64-linux-nat.c.broken 2008-01-15 15:23:11.933209405 -0500
+++ gdb-6.7.1/gdb/ia64-linux-nat.c 2008-01-15 15:38:42.846709176 -0500
@@ -661,7 +661,7 @@ ia64_linux_remove_watchpoint_callback (s
struct linux_watchpoint *args = (struct linux_watchpoint *)data;
return ia64_linux_remove_one_watchpoint (lwp->ptid, args->addr,
- args->len);
+ args->len, args->type);
}
/* TO_FOLLOW_FORK stores here the PID under DETACH_BREAKPOINTS for the child
@@ -672,7 +672,7 @@ static int ia64_linux_detach_breakpoints
/* Remove a watchpoint for all threads. */
static int
-ia64_linux_remove_watchpoint (CORE_ADDR addr, int len)
+ia64_linux_remove_watchpoint (CORE_ADDR addr, int len, int rw)
{
struct linux_watchpoint args;
@@ -925,7 +925,7 @@ ia64_linux_save_sigtrap_info (void *queu
if (lp->saved_trap_data == NULL)
lp->saved_trap_data = xmalloc (sizeof(struct siginfo));
- ptrace (PTRACE_GETSIGINFO, ptid_get_lwp (lp->ptid), (PTRACE_ARG3_TYPE) 0,
+ ptrace (PTRACE_GETSIGINFO, ptid_get_lwp (lp->ptid), (PTRACE_TYPE_ARG3) 0,
lp->saved_trap_data);
}

View File

@ -0,0 +1,24 @@
kernel-headers-2.6.25-0.40.rc1.git2.fc9.x86_64
In file included from /usr/include/asm/ptrace.h:4,
from ../../gdb/amd64-linux-nat.c:44:
/usr/include/asm/ptrace-abi.h:92: error: expected specifier-qualifier-list before u32
--- gdb-6.7.1-13.fc9.x86_64/gdb/amd64-linux-nat.c-orig 2008-02-15 15:37:28.000000000 -0500
+++ gdb-6.7.1-13.fc9.x86_64/gdb/amd64-linux-nat.c 2008-02-15 15:40:13.000000000 -0500
@@ -35,13 +35,13 @@
#include <sys/procfs.h>
#include <asm/prctl.h>
/* FIXME ezannoni-2003-07-09: we need <sys/reg.h> to be included after
- <asm/ptrace.h> because the latter redefines FS and GS for no apparent
+ <sys/ptrace.h> because the latter redefines FS and GS for no apparent
reason, and those definitions don't match the ones that libpthread_db
uses, which come from <sys/reg.h>. */
/* ezannoni-2003-07-09: I think this is fixed. The extraneous defs have
been removed from ptrace.h in the kernel. However, better safe than
sorry. */
-#include <asm/ptrace.h>
+#include <sys/ptrace.h>
#include <sys/reg.h>
#include "gdb_proc_service.h"

48
gdb-gstack.man Normal file
View File

@ -0,0 +1,48 @@
.\"
.\" gstack manual page.
.\" Copyright (c) 1999 Ross Thompson
.\" Copyright (c) 2001, 2002, 2004, 2008 Red Hat, Inc.
.\"
.\" Original author: Ross Thompson <ross@whatsis.com>
.\"
.\" 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 2, 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; see the file COPYING. If not, write to
.\" the Free Software Foundation, 59 Temple Place - Suite 330,
.\" Boston, MA 02111-1307, USA.
.\"
.TH GSTACK 1 "Feb 15 2008" "Red Hat Linux" "Linux Programmer's Manual"
.SH NAME
gstack \- print a stack trace of a running process
.SH SYNOPSIS
.B gstack
pid
.SH DESCRIPTION
\f3gstack\f1 attaches to the active process named by the \f3pid\f1 on
the command line, and prints out an execution stack trace. If ELF
symbols exist in the binary (usually the case unless you have run
strip(1)), then symbolic addresses are printed as well.
If the process is part of a thread group, then \f3gstack\f1 will print
out a stack trace for each of the threads in the group.
.SH SEE ALSO
nm(1), ptrace(2), gdb(1)
.SH AUTHORS
Ross Thompson <ross@whatsis.com>
Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>

View File

@ -11,7 +11,7 @@ Name: gdb
Version: 6.7.1
# The release always contains a leading reserved number, start it at 1.
Release: 12%{?dist}
Release: 13%{?dist}
License: GPL
Group: Development/Debuggers
@ -29,6 +29,10 @@ URL: http://gnu.org/software/gdb/
Obsoletes: gdb64 < 5.3.91
%endif
# The last Rawhide release was (no dist tag) pstack-1.2-7.2.2
Obsoletes: pstack < 1.2-7.2.2.1
Provides: pstack = 1.2-7.2.2.1
# GDB patches have the format gdb-<version>-bz<red-hat-bz-#>-<desc>.patch;
# should include the ChangeLog.RedHat change-log entry; and should be
# created using diff -u ./gdb (not gdb-6.3/gdb).
@ -50,6 +54,8 @@ Patch4: gdb-6.3-rh-testlibunwind1fix-20041202.patch
# Cleanup any leftover testsuite processes as it may stuck mock(1) builds.
Source2: gdb-orphanripper.c
# Man page for gstack(1).
Source3: gdb-gstack.man
# ------------------------------------------
@ -349,6 +355,12 @@ Patch298: gdb-6.6-threads-static-test.patch
# Fix false `(no debugging symbols found)' on `-readnever' runs.
Patch301: gdb-6.6-buildid-readnever-silent.patch
# ia64 build fixes from Doug Chapman (BZ 428882).
Patch303: gdb-6.7-bz428882-ia64-fix.patch
# Fix #include <asm/ptrace.h> on kernel-headers-2.6.25-0.40.rc1.git2.fc9.x86_64.
Patch304: gdb-6.7-kernel-headers-compat.patch
BuildRequires: ncurses-devel glibc-devel gcc make gzip texinfo dejagnu gettext
BuildRequires: flex bison sharutils expat-devel
Requires: readline
@ -387,6 +399,17 @@ GDB, the GNU debugger, allows you to debug programs written in C, C++,
Java, and other languages, by executing them in a controlled fashion
and printing their data.
%package gdbserver
Summary: A standalone server for GDB (the GNU source-level debugger)
Group: Development/Debuggers
%description gdbserver
GDB, the GNU debugger, allows you to debug programs written in C, C++,
Java, and other languages, by executing them in a controlled fashion
and printing their data.
This package provides a program that allows you to run GDB on a different machine than the one which is running the program being debugged.
%prep
# This allows the tarball name to be different from our
@ -504,6 +527,8 @@ rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc-exp.c gdb/p-exp.c
%patch296 -p1
%patch298 -p1
%patch301 -p1
%patch303 -p1
%patch304 -p1
# Change the version that gets printed at GDB startup, so it is RedHat
# specific.
@ -554,6 +579,7 @@ enable_build_warnings="$enable_build_warnings,-Werror"
--infodir=%{_infodir} \
$enable_build_warnings \
--with-separate-debug-dir=/usr/lib/debug \
--disable-sim \
--disable-rpath \
--with-system-readline \
%ifarch ia64
@ -628,6 +654,12 @@ rm -rf $RPM_BUILD_ROOT/%{_libdir}/lib{bfd*,opcodes*,iberty*,mmalloc*}
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
# pstack obsoletion
cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_mandir}/man1/gstack.1
ln -s gstack.1.gz $RPM_BUILD_ROOT%{_mandir}/man1/pstack.1.gz
ln -s gstack $RPM_BUILD_ROOT%{_bindir}/pstack
%clean
rm -rf $RPM_BUILD_ROOT
@ -651,8 +683,15 @@ fi
%files
%defattr(-,root,root)
%doc COPYING COPYING.LIB README NEWS
/usr/bin/*
%{_mandir}/*/*
%{_bindir}/gcore
%{_bindir}/gdb
%{_bindir}/gdbtui
%{_bindir}/gstack
%{_bindir}/pstack
%{_mandir}/*/gdb.1*
%{_mandir}/*/gdbtui.1*
%{_mandir}/*/gstack.1*
%{_mandir}/*/pstack.1*
%{_infodir}/annotate.info*
%{_infodir}/gdb.info*
%{_infodir}/gdbint.info*
@ -660,7 +699,18 @@ fi
# don't include the files in include, they are part of binutils
%files gdbserver
%{_bindir}/gdbserver
%{_mandir}/*/gdbserver.1*
%changelog
* Wed Feb 20 2008 Jan Kratochvil <jan.kratochvil@redhat.com> - 6.7.1-13
- ia64 build fixes from Doug Chapman (BZ 428882).
- gdbserver separated into an extra package (BZ 405791).
- pstack obsoleted by included gstack (BZ 197020).
- Fix #include <asm/ptrace.h> on kernel-headers-2.6.25-0.40.rc1.git2.fc9.x86_64.
- Drop the PowerPC simulator as no longer being compatible with Fedora binaries.
* Thu Feb 7 2008 Jan Kratochvil <jan.kratochvil@redhat.com> - 6.7.1-12
- build-id debug messages print now the library names unconditionally.