Hello community,
here is the log from the commit of package gdb for openSUSE:Factory
checked in at Wed Jul 29 17:48:34 CEST 2009.
--------
--- gdb/gdb.changes 2009-06-17 17:15:49.000000000 +0200
+++ /mounts/work_src_done/STABLE/gdb/gdb.changes 2009-07-28 13:45:24.000000000 +0200
@@ -1,0 +2,10 @@
+Tue Jul 28 13:44:45 CEST 2009 - rguenther@suse.de
+
+- Fix crash during debuginfo reading.
+
+-------------------------------------------------------------------
+Wed Jul 8 13:22:36 CEST 2009 - rguenther@suse.de
+
+- Drop fixes done upstream.
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
bnc329420-1.patch
bnc329420-2.patch
gdb-6.3-rh-testlibunwind1fix-20041202.patch
New:
----
fix-symread-crash.diff
gdb-6.8-bz457187-largefile-test.patch
gdb-6.8.50.20090302-upstream.patch
gdb-DW_OP_call_frame_cfa.patch
gdb-bz507267-block-sort-fast.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gdb.spec ++++++
--- /var/tmp/diff_new_pack.TXV2Wi/_old 2009-07-29 17:46:55.000000000 +0200
+++ /var/tmp/diff_new_pack.TXV2Wi/_new 2009-07-29 17:46:55.000000000 +0200
@@ -16,21 +16,21 @@
#
-Summary: The GNU Debugger
+Summary: A GNU source-level debugger for C, C++, Java and other languages
Name: gdb
# Set version to contents of gdb/version.in.
# NOTE: the FSF gdb versions are numbered N.M for official releases, like 6.3
# and, since January 2005, X.Y.Z.date for daily snapshots, like 6.3.50.20050112 # (daily snapshot from mailine), or 6.3.0.20040112 (head of the release branch).
Version: 6.8.50.20090302
-Release: 6
+Release: 7
# 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.
-License: GNU Free Documentation License, Version 1.2 (GFDL 1.2); GPL v2 or later; GPL v3 or later
-Group: Development/Tools/Debuggers
+License: GPLv3+
+Group: Development/Debuggers
Source: ftp://sourceware.org/pub/gdb/releases/gdb-%{version}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Url: http://www.gnu.org/software/gdb/
+Url: http://gnu.org/software/gdb/
# For our convenience
%define gdb_src gdb-%{version}
%define gdb_build build-%{_target_platform}
@@ -57,7 +57,6 @@
Patch2: gdb-6.3-rh-testversion-20041202.patch
# Check that libunwind works - new test then fix
Patch3: gdb-6.3-rh-testlibunwind-20041202.patch
-Patch4: gdb-6.3-rh-testlibunwind1fix-20041202.patch
# Use convert_from_func_ptr_addr on the solib breakpoint address;
# simplifies and makes more consistent the logic.
Patch104: gdb-6.3-ppcdotsolib-20041022.patch
@@ -170,8 +169,8 @@
Patch229: gdb-6.3-bz140532-ppc-unwinding-test.patch
# Testcase for exec() from threaded program (BZ 202689).
Patch231: gdb-6.3-bz202689-exec-from-pthread-test.patch
-# Backported post gdb-6.8 release fixups.
-###Patch232: gdb-6.8-upstream.patch
+# Backported post gdb-6.8.50.20090302 snapshot fixups.
+Patch232: gdb-6.8.50.20090302-upstream.patch
# Testcase for PPC Power6/DFP instructions disassembly (BZ 230000).
Patch234: gdb-6.6-bz230000-power6-disassembly-test.patch
# Temporary support for shared libraries >2GB on 64bit hosts. (BZ 231832)
@@ -271,6 +270,7 @@
# Fix parsing elf64-i386 files for kdump PAE vmcore dumps (BZ 457187).
# - Turn on 64-bit BFD support, globally enable AC_SYS_LARGEFILE.
Patch352: gdb-6.8-bz457187-largefile.patch
+Patch360: gdb-6.8-bz457187-largefile-test.patch
# Fix crash on pretty-printer reading uninitialized std::string (BZ 495781).
Patch357: gdb-c_get_string-xfree.patch
# Fix crash in the charset support.
@@ -278,14 +278,17 @@
# Fix crashes due to (missing) varobj revalidation, for VLA (for BZ 377541).
Patch369: gdb-varobj-revalidate-prep.patch
Patch370: gdb-varobj-revalidate-core.patch
+# Implement DW_OP_call_frame_cfa (for recent GCC).
+Patch373: gdb-DW_OP_call_frame_cfa.patch
+# Accelerate sorting blocks on reading a file (found on WebKit) (BZ 507267).
+Patch374: gdb-bz507267-block-sort-fast.patch
# Fix readline 5.1 warnings
Patch1000: readline-5.1-random.patch
Patch1001: gdb-readline6.patch
Patch1002: gdb-6.6-buildid-locate-rpm-suse.patch
Patch1004: bnc492331.patch
-Patch1005: bnc329420-1.patch
-Patch1006: bnc329420-2.patch
Patch1007: fix-gdb-backtrace.diff
+Patch1008: fix-symread-crash.diff
BuildRequires: bison flex gettext glibc-devel ncurses-devel texinfo zlib-devel
%if %{suse_version} < 1020
BuildRequires: expat
@@ -296,10 +299,12 @@
# dlopen() no longer makes rpm-libs a mandatory dependency.
#Requires: rpm-libs
BuildRequires: rpm-devel
+%if 0%{!?_without_python:1}
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
BuildRequires: python-devel
# Temporarily before it gets moved to libstdc++.rpm
BuildRequires: libstdc++
+%endif # 0%{!?_without_python:1}
%if 0%{?_with_testsuite:1}
BuildRequires: dejagnu sharutils
# gcc-objc++ is not covered by the GDB testsuite.
@@ -328,57 +333,21 @@
Requires(preun): /sbin/install-info
%description
-You can use GDB to debug programs written in C, C++, Ada, and Modula-2.
-GNU Fortran 77 support is also partially included.
-
-
-
-Authors:
---------
- Doug Evans
- Fred Fish
- Ian Lance Taylor
- J.T. Conklin
- Jason Molenda
- Jeffrey A. Law
- Jim Kingdon
- Kung Hsu
- Michael Meissner
- Per Bothner
- Peter Schauer
- Rob Savoye
- Stan Shebs
- Steve Chamberlain
- Stu Grossman
+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 -n gdbserver
-License: GPL v2 or later; GPL v3 or later
-Summary: Remote Server for the GNU Debugger
-Group: Development/Tools/Debuggers
+License: GPLv3+
+Summary: A standalone server for GDB (the GNU source-level debugger)
+Group: Development/Debuggers
%description -n gdbserver
-GDBSERVER is a program that allows you to run GDB on a different
-machine than the one which is running the program being debugged.
-
-
+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.
-Authors:
---------
- Doug Evans
- Fred Fish
- Ian Lance Taylor
- J.T. Conklin
- Jason Molenda
- Jeffrey A. Law
- Jim Kingdon
- Kung Hsu
- Michael Meissner
- Per Bothner
- Peter Schauer
- Rob Savoye
- Stan Shebs
- Steve Chamberlain
- Stu Grossman
+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
@@ -391,11 +360,10 @@
# Match the Fedora's version info.
%patch2 -p1
%if 0%{!?_with_upstream:1}
-###patch232 -p1
+%patch232 -p1
%patch349 -p1
%patch1 -p1
%patch3 -p1
-%patch4 -p1
%patch104 -p1
%patch105 -p1
%patch106 -p1
@@ -501,8 +469,11 @@
%patch352 -p1
%patch357 -p1
%patch359 -p1
+%patch360 -p1
%patch369 -p1
%patch370 -p1
+%patch373 -p1
+%patch374 -p1
%patch124 -p1
%patch1000
%if %{suse_version} > 1110
@@ -510,9 +481,8 @@
%endif
%patch1002 -p1
%patch1004 -p1
-%patch1005 -p1
-%patch1006
%patch1007
+%patch1008 -p1
find -name "*.orig" | xargs rm -f
! find -name "*.rej" # Should not happen.
%endif # 0%{!?_with_upstream:1}
@@ -570,7 +540,11 @@
--with-system-readline \
--with-expat \
--enable-tui \
+%if 0%{!?_without_python:1}
--with-python \
+%else
+ --without-python \
+%endif
--without-rpm \
%ifarch ia64
--with-libunwind \
@@ -652,10 +626,7 @@
# Upstream GDB would lock up the testsuite run for too long on its failures.
CHECK="$(echo $CHECK|sed 's#check//unix/[^ ]*#& &/-fPIE/-pie#g')"
%endif # 0%{!?_with_upstream:1}
- for CURRENT in $CHECK
- do
- ./orphanripper make -k $CURRENT || :
- done
+ ./orphanripper make %{?_smp_mflags} -k $CHECK || :
)
for t in sum log
do
@@ -686,6 +657,7 @@
ln -sf gdb $RPM_BUILD_ROOT%{_prefix}/bin/gdbtui
cmp $RPM_BUILD_ROOT%{_mandir}/*/gdb.1 $RPM_BUILD_ROOT%{_mandir}/*/gdbtui.1
ln -sf gdb.1 $RPM_BUILD_ROOT%{_mandir}/*/gdbtui.1
+%if 0%{!?_without_python:1}
# In the future:
#%# A part of the libstdc++ rpm.
#%rm -rf $RPM_BUILD_ROOT%{python_sitelib}/gdb/libstdcxx
@@ -697,6 +669,7 @@
sed -e 's,@dir@,%{python_sitelib}/gdb,' <$RPM_BUILD_DIR/%{gdb_src}/gdb/python/lib/gdb/libstdcxx/v6/hook.in \
>$LIBPATH/$(basename %{_prefix}/%{_lib}/libstdc++.so.6.*)-gdb.py
done
+%endif # 0%{!?_without_python:1}
# Remove the files that are part of a gdb build but that are owned and
# provided by other packages.
# These are part of binutils
@@ -745,7 +718,9 @@
%if 0%{!?_with_upstream:1}
%{_bindir}/gstack
%{_mandir}/*/gstack.1*
+%if 0%{!?_without_python:1}
%{python_sitelib}/gdb
+%endif # 0%{!?_without_python:1}
%{_datadir}/gdb
%endif # 0%{!?_with_upstream:1}
%{_infodir}/annotate.info*
++++++ fix-symread-crash.diff ++++++
Index: gdb-6.8.50.20090302/gdb/symfile.c
===================================================================
--- gdb-6.8.50.20090302.orig/gdb/symfile.c 2009-07-28 12:49:19.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/symfile.c 2009-07-28 13:44:06.000000000 +0200
@@ -2342,8 +2342,14 @@ find_separate_debug_file (struct objfile
gdb_assert (i >= 0 && IS_DIR_SEPARATOR (dir[i]));
dir[i+1] = '\0';
+ canon_name = lrealpath (dir);
+ i = strlen (dir);
+ if (canon_name
+ && strlen (canon_name) > i)
+ i = strlen (canon_name);
+
debugfile = xmalloc (strlen (debug_file_directory) + 1
- + strlen (dir)
+ + i /* MAX (strlen (canon_name), strlen (dir)) */
+ strlen (DEBUG_SUBDIRECTORY)
+ strlen ("/")
+ strlen (basename)
@@ -2376,7 +2382,6 @@ find_separate_debug_file (struct objfile
/* If the file is in the sysroot, try using its base path in the
global debugfile directory. */
- canon_name = lrealpath (dir);
if (canon_name
&& strncmp (canon_name, gdb_sysroot, strlen (gdb_sysroot)) == 0
&& IS_DIR_SEPARATOR (canon_name[strlen (gdb_sysroot)]))
++++++ gdb-6.3-gstack-20050411.patch ++++++
--- /var/tmp/diff_new_pack.TXV2Wi/_old 2009-07-29 17:46:56.000000000 +0200
+++ /var/tmp/diff_new_pack.TXV2Wi/_new 2009-07-29 17:46:56.000000000 +0200
@@ -67,7 +67,7 @@
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-6.8.50.20090226/gdb/gstack.sh 2009-02-26 22:10:05.000000000 +0100
-@@ -0,0 +1,45 @@
+@@ -0,0 +1,48 @@
+#!/bin/sh
+
+if test $# -ne 1; then
@@ -107,6 +107,9 @@
+
+# Run GDB, strip out unwanted noise.
+$GDB --quiet $readnever -nx /proc/$1/exe $1 <&1 |
++set width 0
++set height 0
++set pagination no
+$backtrace
+EOF
+sed -n \
++++++ gdb-6.3-gstack-without-path-20060414.patch ++++++
--- /var/tmp/diff_new_pack.TXV2Wi/_old 2009-07-29 17:46:56.000000000 +0200
+++ /var/tmp/diff_new_pack.TXV2Wi/_new 2009-07-29 17:46:56.000000000 +0200
@@ -24,7 +24,7 @@
if $GDB -nx --quiet --batch --readnever > /dev/null 2>&1; then
readnever=--readnever
@@ -39,7 +39,7 @@ fi
- $GDB --quiet $readnever -nx /proc/$1/exe $1 <&1 |
+ set pagination no
$backtrace
EOF
-sed -n \
++++++ gdb-6.3-mapping-zero-inode-test.patch ++++++
--- /var/tmp/diff_new_pack.TXV2Wi/_old 2009-07-29 17:46:57.000000000 +0200
+++ /var/tmp/diff_new_pack.TXV2Wi/_new 2009-07-29 17:46:57.000000000 +0200
@@ -1,7 +1,9 @@
---- /dev/null 2008-05-02 23:36:22.370004160 +0200
-+++ gdb-6.8/gdb/testsuite/gdb.base/gcore-shmid0.exp 2008-05-03 22:36:56.000000000 +0200
-@@ -0,0 +1,120 @@
-+# Copyright 2007 Free Software Foundation, Inc.
+Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.base/gcore-shmid0.exp
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gdb-6.8.50.20090302/gdb/testsuite/gdb.base/gcore-shmid0.exp 2009-06-29 16:24:36.000000000 +0200
+@@ -0,0 +1,96 @@
++# Copyright 2007, 2009 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
@@ -17,43 +19,22 @@
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
-+# Please email any bugs, comments, and/or additions to this file to:
-+# bug-gdb@prep.ai.mit.edu
-+
+# Test GDB's handling of gcore for mapping with a name but zero inode.
+
-+set testfile "gcore-shmid0"
-+set srcfile ${testfile}.c
-+set binfile ${objdir}/${subdir}/${testfile}
-+
-+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
-+ untested gcore.exp
-+ return -1
++if { [prepare_for_testing gcore-shmid0.exp gcore-shmid0] } {
++ return -1
+}
+
-+# Start with a fresh gdb.
-+
-+gdb_exit
-+gdb_start
-+gdb_reinitialize_dir $srcdir/$subdir
-+gdb_load ${binfile}
-+
+# Does this gdb support gcore?
-+send_gdb "help gcore\n"
-+gdb_expect {
++set test "help gcore"
++gdb_test_multiple $test $test {
+ -re "Undefined command: .gcore.*$gdb_prompt $" {
+ # gcore command not supported -- nothing to test here.
+ unsupported "gdb does not support gcore on this target"
+ return -1;
+ }
+ -re "Save a core file .*$gdb_prompt $" {
-+ pass "help gcore"
-+ }
-+ -re ".*$gdb_prompt $" {
-+ fail "help gcore"
-+ }
-+ timeout {
-+ fail "help gcore (timeout)"
++ pass $test
+ }
+}
+
@@ -86,9 +67,6 @@
+ -re "Can't create a corefile\[\r\n\]+$gdb_prompt $" {
+ unsupported $test
+ }
-+ eof {
-+ fail $test
-+ }
+}
+
+# Be sure to remove the handle first.
@@ -121,10 +99,12 @@
+ fail $test
+ }
+}
---- /dev/null 2008-05-02 23:36:22.370004160 +0200
-+++ gdb-6.8/gdb/testsuite/gdb.base/gcore-shmid0.c 2008-05-03 22:39:10.000000000 +0200
-@@ -0,0 +1,95 @@
-+/* Copyright 2007 Free Software Foundation, Inc.
+Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.base/gcore-shmid0.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gdb-6.8.50.20090302/gdb/testsuite/gdb.base/gcore-shmid0.c 2009-06-29 16:22:49.000000000 +0200
+@@ -0,0 +1,123 @@
++/* Copyright 2007, 2009 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
@@ -155,7 +135,10 @@
+#include
+#include
+
-+/* We need a backtrace through the stack. */
++/* The same test running in a parallel testsuite may steal us the zero SID,
++ even if we never get any EEXIST. Just try a while. */
++
++#define TIMEOUT_SEC 10
+
+static void
+initialized (void)
@@ -172,19 +155,41 @@
+{
+ int sid;
+ unsigned int *addr = (void *) -1L;
-+ int try;
++ int attempt, round = 0;
++ time_t ts_start, ts;
++
++ if (time (&ts_start) == (time_t) -1)
++ {
++ printf ("time (): %m\n");
++ exit (1);
++ }
+
-+ /* The generated SID will cycle with an increment of 32768, try until it
++ /* The generated SID will cycle with an increment of 32768, attempt until it
+ * wraps to 0. */
+
-+ for (try = 0; addr == (void *) -1L; try++)
++ for (attempt = 0; addr == (void *) -1L; attempt++)
+ {
-+ /* At least kernel-2.6.25-8.fc9.x86_64 just never returns the value 0 by
-+ shmget(2). */
-+ if (try > 0x10000)
++ /* kernel-2.6.25-8.fc9.x86_64 just never returns the value 0 by
++ shmget(2). shmget returns SID range 0..1<<31 in steps of 32768,
++ 0x1000 should be enough but wrap the range it to be sure. */
++
++ if (attempt > 0x21000)
+ {
-+ printf ("Problem no longer reproducible on this kernel (try %d)\n",
-+ try);
++ if (time (&ts) == (time_t) -1)
++ {
++ printf ("time (): %m\n");
++ exit (1);
++ }
++
++ if (ts >= ts_start && ts < ts_start + TIMEOUT_SEC)
++ {
++ attempt = 0;
++ round++;
++ continue;
++ }
++
++ printf ("Problem is not reproducible on this kernel (attempt %d, "
++ "round %d))\n", attempt, round);
+ unresolved ();
+ exit (1);
+ }
@@ -192,6 +197,9 @@
+ sid = shmget ((key_t) rand (), 0x1000, IPC_CREAT | IPC_EXCL | 0777);
+ if (sid == -1)
+ {
++ if (errno == EEXIST)
++ continue;
++
+ printf ("shmget (%d, 0x1000, IPC_CREAT): errno %d\n", 0, errno);
+ exit (1);
+ }
++++++ gdb-6.3-pie-20050110.patch ++++++
--- /var/tmp/diff_new_pack.TXV2Wi/_old 2009-07-29 17:46:57.000000000 +0200
+++ /var/tmp/diff_new_pack.TXV2Wi/_new 2009-07-29 17:46:57.000000000 +0200
@@ -276,7 +276,7 @@
+ if (((b->type == bp_breakpoint) ||
+ (b->type == bp_hardware_breakpoint)) &&
+ b->enable_state == bp_enabled &&
-+ !b->loc->duplicate)
++ b->loc != NULL && !b->loc->duplicate)
+ {
+ b->enable_state = bp_startup_disabled;
+ if (!silent)
++++++ gdb-6.3-rh-testlibunwind-20041202.patch ++++++
--- /var/tmp/diff_new_pack.TXV2Wi/_old 2009-07-29 17:46:57.000000000 +0200
+++ /var/tmp/diff_new_pack.TXV2Wi/_new 2009-07-29 17:46:57.000000000 +0200
@@ -3,11 +3,53 @@
From Jeff Johnston
* gdb.arch/ia64-libunwind.exp: New file.
* gdb.arch/ia64-libunwind.c: New file.
+
+2004-08-03 Jeff Johnston
+
+ * gdb.arch/ia64-libunwind.exp: Fix test string to match
+ current code base.
+
+ [ acquire_unwind_info -> ia64_find_proc_info_x ]
+
+2009-04-30 Jan Kratochvil
+
+ Remove a race from send_gdb "COMMAND\n".
+ Cleanup.
+ Merge in: Patch4: gdb-6.3-rh-testlibunwind1fix-20041202.patch
---- /dev/null Thu Apr 11 10:25:15 2002
-+++ gdb+dejagnu-20040223/gdb/testsuite/gdb.arch/ia64-libunwind.exp Mon Nov 17 15:57:04 2003
-@@ -0,0 +1,55 @@
-+# Copyright 2003 Free Software Foundation, Inc.
+--- /dev/null 2009-04-19 08:52:54.499000000 +0200
++++ gdb-6.8/gdb/testsuite/gdb.arch/ia64-libunwind.c 2009-04-30 19:15:16.000000000 +0200
+@@ -0,0 +1,26 @@
++/* Copyright 2003, 2009 Free Software Foundation, Inc.
++
++ This file is part of GDB.
++
++ 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/. */
++
++#include
++
++int
++main ()
++{
++ printf ("hello world\n");
++
++ return 0;
++}
+--- /dev/null 2009-04-19 08:52:54.499000000 +0200
++++ gdb-6.8/gdb/testsuite/gdb.arch/ia64-libunwind.exp 2009-04-30 19:19:22.000000000 +0200
+@@ -0,0 +1,52 @@
++# Copyright 2003, 2009 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
@@ -28,16 +70,6 @@
+
+# This file was written by Jeff Johnston (jjohnstn@redhat.com)
+
-+if $tracelevel then {
-+ strace $tracelevel
-+}
-+
-+#
-+# test running programs
-+#
-+set prms_id 0
-+set bug_id 0
-+
+if ![istarget "ia64-*-*"] then {
+ return
+}
@@ -58,19 +90,14 @@
+gdb_start
+gdb_reinitialize_dir $srcdir/$subdir
+gdb_load ${binfile}
-+send_gdb "set debug arch 1\n"
-+send_gdb "break main\n"
-+gdb_test "run" ".*acquire_unwind_info.*"
-+
---- /dev/null Thu Apr 11 10:25:15 2002
-+++ gdb+dejagnu-20040223/gdb/testsuite/gdb.arch/ia64-libunwind.c Mon Nov 17 15:58:27 2003
-@@ -0,0 +1,9 @@
-+#include
+
-+int main()
-+{
-+ printf ("hello world\n");
-+
-+ return 0;
++gdb_test "set debug arch 1"
++gdb_breakpoint "main"
++gdb_run_cmd
++
++set test "libunwind message"
++gdb_test_multiple "" $test {
++ -re "ia64_find_proc_info_x.*$gdb_prompt $" {
++ pass $test
++ }
+}
-+
++++++ gdb-6.3-test-pie-20050107.patch ++++++
--- /var/tmp/diff_new_pack.TXV2Wi/_old 2009-07-29 17:46:57.000000000 +0200
+++ /var/tmp/diff_new_pack.TXV2Wi/_new 2009-07-29 17:46:57.000000000 +0200
@@ -873,7 +873,7 @@
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-6.8.50.20081128/gdb/testsuite/gdb.pie/break.exp 2008-12-09 17:24:34.000000000 +0100
-@@ -0,0 +1,973 @@
+@@ -0,0 +1,977 @@
+# Copyright 1988, 1990, 1991, 1992, 1994, 1995, 1996, 1997, 1998, 1999,
+# 2000, 2002, 2003, 2004
+# Free Software Foundation, Inc.
@@ -1055,6 +1055,9 @@
+set bp_location8 [gdb_get_line_number "set breakpoint 8 here" $srcfile1]
+set bp_location9 [gdb_get_line_number "set breakpoint 9 here" $srcfile1]
+
++# Test a pending breakpoint in PIE executable does not crash later GDB.
++gdb_breakpoint "non_existent_function" allow-pending
++
+gdb_test "info break" \
+ "Num\[ \]+Type\[ \]+Disp Enb Address\[ \]+What.*
+\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:$main_line.*
@@ -1064,7 +1067,8 @@
+\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:$bp_location1.*
+\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:$bp_location2.*
+\[0-9\]+\[\t \]+breakpoint keep y.* in multi_line_if_conditional at .*$srcfile:$bp_location3.*
-+\[0-9\]+\[\t \]+breakpoint keep y.* in multi_line_while_conditional at .*$srcfile:$bp_location4" \
++\[0-9\]+\[\t \]+breakpoint keep y.* in multi_line_while_conditional at .*$srcfile:$bp_location4.*
++\[0-9\]+\[\t \]+breakpoint keep y.* <PENDING> *non_existent_function" \
+ "breakpoint info"
+
+# FIXME: The rest of this test doesn't work with anything that can't
@@ -1490,7 +1494,7 @@
+}
+send_gdb "print marker2(99)\n"
+gdb_expect {
-+ -re "The program being debugged stopped while in a function called from GDB.\r\nWhen the function .marker2$proto. is done executing, GDB will silently\r\nstop .instead of continuing to evaluate the expression containing\r\nthe function call...*$gdb_prompt $"\
++ -re "The program being debugged stopped while in a function called from GDB.\r\nEvaluation of the expression containing the function\r\n.marker2$proto. will be abandoned.\r\nWhen the function is done executing, GDB will silently stop.\r\n$gdb_prompt $"\
+ {pass "hit breakpoint on called function"}
+ -re "$gdb_prompt $"\
+ {fail "hit breakpoint on called function"}
++++++ gdb-6.6-buildid-locate-rpm.patch ++++++
--- /var/tmp/diff_new_pack.TXV2Wi/_old 2009-07-29 17:46:58.000000000 +0200
+++ /var/tmp/diff_new_pack.TXV2Wi/_new 2009-07-29 17:46:58.000000000 +0200
@@ -421,7 +421,7 @@
}
@@ -1802,14 +2154,33 @@ debug_print_missing (const char *binary,
- }
+
*slot = missing_filepair;
- /* We do not collect and flush these messages as each such message
++++++ gdb-6.6-buildid-locate.patch ++++++
--- /var/tmp/diff_new_pack.TXV2Wi/_old 2009-07-29 17:46:58.000000000 +0200
+++ /var/tmp/diff_new_pack.TXV2Wi/_new 2009-07-29 17:46:58.000000000 +0200
@@ -13,7 +13,7 @@
#ifndef O_LARGEFILE
-@@ -267,6 +271,56 @@ add_to_thread_list (bfd *abfd, asection
+@@ -267,6 +271,50 @@ add_to_thread_list (bfd *abfd, asection
inferior_ptid = ptid; /* Yes, make it current */
}
@@ -26,6 +26,7 @@
+ struct build_id *build_id;
+ char *exec_filename, *debug_filename;
+ char *build_id_filename;
++ struct cleanup *back_to;
+
+ if (exec_bfd != NULL)
+ return;
@@ -37,32 +38,25 @@
+ if (build_id == NULL)
+ return;
+
++ /* SYMFILE_OBJFILE should refer to the main executable (not only to its
++ separate debug info file). gcc44+ keeps .eh_frame only in the main
++ executable without its duplicate .debug_frame in the separate debug info
++ file - such .eh_frame would not be found if SYMFILE_OBJFILE would refer
++ directly to the separate debug info file. */
++
+ exec_filename = build_id_to_filename (build_id, &build_id_filename, 0);
-+ if (exec_filename != NULL)
-+ exec_file_attach (exec_filename, from_tty);
-+ else
-+ debug_print_missing (_("the main executable file"), build_id_filename);
-+ xfree (build_id_filename);
++ back_to = make_cleanup (xfree, build_id_filename);
+
-+ /* `.note.gnu.build-id' section exists even for files without a separate
-+ debuginfo. */
-+ debug_filename = build_id_to_filename (build_id, &build_id_filename, 1);
-+ if (debug_filename != NULL)
++ if (exec_filename != NULL)
+ {
-+ symbol_file_add_main (debug_filename, from_tty);
-+ xfree (debug_filename);
++ make_cleanup (xfree, exec_filename);
++ exec_file_attach (exec_filename, from_tty);
++ symbol_file_add_main (exec_filename, from_tty);
+ }
+ else
-+ {
-+ if (exec_filename != NULL)
-+ symbol_file_add_main (exec_filename, from_tty);
-+ /* For EXEC_FILENAME NULL we were already complaining above. */
-+ if (symfile_objfile == NULL && exec_filename != NULL)
-+ debug_print_missing (exec_filename, build_id_filename);
-+ }
-+ xfree (build_id_filename);
++ debug_print_missing (_("the main executable file"), build_id_filename);
+
-+ xfree (exec_filename);
++ do_cleanups (back_to);
+
+ /* No automatic SOLIB_ADD as the libraries would get read twice. */
+}
@@ -646,7 +640,7 @@
if (retval != NULL && !build_id_verify (retval, build_id))
{
-@@ -1279,9 +1676,142 @@ build_id_to_debug_filename (struct build
+@@ -1279,9 +1676,150 @@ build_id_to_debug_filename (struct build
retval = NULL;
}
@@ -700,8 +694,8 @@
+ const struct missing_filepair *elem2)
+{
+ return strcmp (elem1->binary, elem2->binary) == 0
-+ && ((elem1->debug == NULL && elem2->debug == NULL)
-+ || strcmp (elem1->debug, elem2->debug) == 0);
++ && ((elem1->debug == NULL) == (elem2->debug == NULL))
++ && (elem1->debug == NULL || strcmp (elem1->debug, elem2->debug) == 0);
+}
+
+static void
@@ -732,6 +726,7 @@
+{
+ size_t binary_len0 = strlen (binary) + 1;
+ size_t debug_len0 = debug ? strlen (debug) + 1 : 0;
++ struct missing_filepair missing_filepair_find;
+ struct missing_filepair *missing_filepair;
+ struct missing_filepair **slot;
+
@@ -747,6 +742,27 @@
+ missing_filepair_xcalloc, NULL);
+ }
+
++ /* Use MISSING_FILEPAIR_FIND first instead of calling obstack_alloc with
++ obstack_free in the case of a (rare) match. The problem is ALLOC_F for
++ MISSING_FILEPAIR_HASH allocates from MISSING_FILEPAIR_OBSTACK maintenance
++ structures for MISSING_FILEPAIR_HASH. Calling obstack_free would possibly
++ not to free only MISSING_FILEPAIR but also some such structures (allocated
++ during the htab_find_slot call). */
++
++ missing_filepair_find.binary = (char *) binary;
++ missing_filepair_find.debug = (char *) debug;
++ slot = (struct missing_filepair **) htab_find_slot (missing_filepair_hash,
++ &missing_filepair_find,
++ INSERT);
++
++ /* While it may be still printed duplicitely with the missing debuginfo file
++ * it is due to once printing about the binary file build-id link and once
++ * about the .debug file build-id link as both the build-id symlinks are
++ * located in the debuginfo package. */
++
++ if (*slot != NULL)
++ return;
++
+ missing_filepair = obstack_alloc (&missing_filepair_obstack,
+ sizeof (*missing_filepair) - 1
+ + binary_len0 + debug_len0);
@@ -760,20 +776,6 @@
+ else
+ missing_filepair->debug = NULL;
+
-+ slot = (struct missing_filepair **) htab_find_slot (missing_filepair_hash,
-+ missing_filepair,
-+ INSERT);
-+
-+ /* While it may be still printed duplicitely with the missing debuginfo file
-+ * it is due to once printing about the binary file build-id link and once
-+ * about the .debug file build-id link as both the build-id symlinks are
-+ * located in the debuginfo package. */
-+
-+ if (*slot != NULL)
-+ {
-+ obstack_free (&missing_filepair_obstack, missing_filepair);
-+ return;
-+ }
+ *slot = missing_filepair;
+
+ /* We do not collect and flush these messages as each such message
++++++ gdb-6.8-bz457187-largefile-test.patch ++++++
--- /dev/null 2009-04-19 14:49:00.974648389 +0200
+++ gdb-6.8/gdb/testsuite/gdb.arch/i386-biarch-core.exp 2009-04-19 16:30:12.000000000 +0200
@@ -0,0 +1,61 @@
+# This testcase is part of GDB, the GNU debugger.
+
+# Copyright 2009 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 2 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, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+# Test ability to load an elf64-i386 core file. The provided core file was
+# elf64-x8664 one but it got binary patched to i386:
+# Elf32_Ehdr.e_machine @0x12..0x13
+# Elf64_Ehdr.e_machine @0x12..0x13
+# #define EM_386 3 /* Intel 80386 */
+# #define EM_X86_64 62 /* AMD x86-64 architecture */
+# patch @0x12: 0x3E -> 0x03
+
+if { ![istarget "i?86-*-*"] && ![istarget "x86_64-*-*"] } then {
+ verbose "Skipping i386-biarch-core test."
+ return
+}
+
+set testfile "i386-biarch-core"
+set corebz2uufile ${srcdir}/${subdir}/${testfile}.core.bz2.uu
+set corefile ${objdir}/${subdir}/${testfile}.core
+# Entry point of the original executable.
+set address 0x400078
+
+if {[catch "system \"uudecode -o - ${corebz2uufile} | bzip2 -dc >${corefile}\""] != 0} {
+ untested "failed uudecode or bzip2"
+ return -1
+}
+file stat ${corefile} corestat
+if {$corestat(size) != 102400} {
+ untested "uudecode or bzip2 produce invalid result"
+ return -1
+}
+
+gdb_exit
+gdb_start
+gdb_reinitialize_dir $srcdir/$subdir
+
+# Wrongly built GDB complains by:
+# "..." is not a core dump: File format not recognized
+# As the provided test core has 64bit PRSTATUS i386 built GDB cannot parse it.
+# This is just a problem of the test care, real-world elf64-i386 file will have
+# 32bit PRSTATUS. One cannot prepare elf64-i386 core file from elf32-i386 by
+# objcopy as it corrupts the core file beyond all recognition.
+# "\r\nCore was generated by `\[^\r\n\]*'\\.\r\nProgram terminated with signal 11, Segmentation fault\\.\r\n.*"
+gdb_test "core-file ${corefile}"
+
+gdb_test "x/i $address" "\r\n$address:\[ \t\]*hlt\[ \t\]*" ".text is readable"
--- /dev/null 2009-04-19 14:49:00.974648389 +0200
+++ gdb-6.8/gdb/testsuite/gdb.arch/i386-biarch-core.S 2009-04-19 14:52:28.000000000 +0200
@@ -0,0 +1,22 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2009 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 2 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, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+ .globl _start
+_start:
+ hlt
--- /dev/null 2009-04-19 14:49:00.974648389 +0200
+++ gdb-6.8/gdb/testsuite/gdb.arch/i386-biarch-core.core.bz2.uu 2009-04-19 15:02:12.000000000 +0200
@@ -0,0 +1,13 @@
+begin 600 i386-biarch-core.core.bz2
+M0EIH.3%!629361`P1\P`!)?_____\9'@"8Q)6P380'9@'`0D@``"``%(``
+M@`#`"!<(L`%F"(:$GH13::F-)M&D&U,AD:`--#)M0&FT0XR9--,)D9`P(Q-&
+M",(-&F``02)%38HT]0T`&AH```'H@``T^>9T*(,("&)SE`>`9@+GP=[,N)KB
+M'I8BL(L]N5TCY\%V]/?DB.BN*UZ'U@]TN7-]UJ5\_%0QTT<*086#%MHT7XVJ
+M9D"+C!"2*L:8D1XPD!`--M@*XT1H5RFYN&)(!0P0#:`I:;2;$5M&\*9"0@%:
+MK@X[T()M)9N7`D$VA!^63)%,;@8LT`(7\K&[7G;U:"B6'!GG+46ALOZF.2F-
+M!@>C*%86X$-]C2`KE;HG)UL(913VR2G]0BD:J=Z_`G@S,`W%.8RMS-#5P:J0
+MAJ2\8&X?@DE;UF68QHM<,D`('::J65/S:PAG*R-09["8DBI)'V]Y.[(/AM*L
+M"X_O^V;%FY.S6Q]FM=D37>5F,%4-F1ZF#,CFJVU;H*^IT<(%http://sourceware.org/ml/gdb-patches/2009-06/msg00191.html
GCC developers would like to change GCC to emit DW_OP_call_frame_cfa,
as this would reduce the size of the generated debuginfo.
A prerequisite to this is that GDB understand this. So, this patch
implements this feature. This is PR 10224.
I'm interested in feedback on this. I am not sure whether the
implementation of dwarf2_frame_cfa is ok.
No test case since at some point GCC will start generating this
(perhaps optionally -- but I feel certain we'll do it by default in
Fedora), and since it therefore seemed like a lot of work for little
payoff.
Tom
2009-06-08 Tom Tromey
PR gdb/10224:
* dwarf2loc.c: Include dwarf2-frame.h.
(dwarf_expr_frame_cfa): New function.
(dwarf2_evaluate_loc_desc): Initialize new field.
(needs_frame_frame_cfa): New function.
(dwarf2_loc_desc_needs_frame): Initialize new field.
* dwarf2expr.h (struct dwarf_expr_context) : New
field.
* dwarf2expr.c (execute_stack_op) : New
case.
* dwarf2-frame.h (dwarf2_frame_cfa): Declare.
* dwarf2-frame.c (no_get_frame_cfa): New function.
(execute_stack_op): Initialize new field.
(dwarf2_frame_cfa): New function.
[ Backported for Fedora Rawhide. ]
--- ./gdb/dwarf2-frame.c 2009-06-12 11:12:51.000000000 +0200
+++ ./gdb/dwarf2-frame.c 2009-06-12 11:13:30.000000000 +0200
@@ -306,6 +306,13 @@ no_get_frame_base (void *baton, gdb_byte
}
static CORE_ADDR
+no_get_frame_cfa (void *baton)
+{
+ internal_error (__FILE__, __LINE__,
+ _("Support for DW_OP_call_frame_cfa is unimplemented"));
+}
+
+static CORE_ADDR
no_get_tls_address (void *baton, CORE_ADDR offset)
{
internal_error (__FILE__, __LINE__,
@@ -356,6 +363,7 @@ execute_stack_op (gdb_byte *exp, ULONGES
ctx->read_reg = read_reg;
ctx->read_mem = read_mem;
ctx->get_frame_base = no_get_frame_base;
+ ctx->get_frame_cfa = no_get_frame_cfa;
ctx->get_tls_address = no_get_tls_address;
dwarf_expr_push (ctx, initial);
@@ -1221,6 +1229,13 @@ dwarf2_frame_base_address (struct frame_
return cache->cfa;
}
+CORE_ADDR
+dwarf2_frame_cfa (struct frame_info *this_frame)
+{
+ void *cache = NULL;
+ return dwarf2_frame_base_address (this_frame, &cache);
+}
+
static const struct frame_base dwarf2_frame_base =
{
&dwarf2_frame_unwind,
--- ./gdb/dwarf2-frame.h 2009-01-03 06:57:51.000000000 +0100
+++ ./gdb/dwarf2-frame.h 2009-06-12 11:13:30.000000000 +0200
@@ -118,4 +118,8 @@ extern const struct frame_base *
void dwarf2_frame_build_info (struct objfile *objfile);
+/* Compute the DWARF CFA for a frame. */
+
+CORE_ADDR dwarf2_frame_cfa (struct frame_info *this_frame);
+
#endif /* dwarf2-frame.h */
--- ./gdb/dwarf2expr.c 2009-06-12 11:12:51.000000000 +0200
+++ ./gdb/dwarf2expr.c 2009-06-12 11:13:44.000000000 +0200
@@ -697,6 +697,10 @@ execute_stack_op (struct dwarf_expr_cont
}
break;
+ case DW_OP_call_frame_cfa:
+ result = (ctx->get_frame_cfa) (ctx->baton);
+ break;
+
case DW_OP_GNU_push_tls_address:
/* Variable is at a constant offset in the thread-local
storage block into the objfile for the current thread and
--- ./gdb/dwarf2expr.h 2009-06-12 11:12:51.000000000 +0200
+++ ./gdb/dwarf2expr.h 2009-06-12 11:15:36.000000000 +0200
@@ -55,6 +55,9 @@ struct dwarf_expr_context
expression evaluation is complete. */
void (*get_frame_base) (void *baton, gdb_byte **start, size_t *length);
+ /* Return the CFA for the frame. */
+ CORE_ADDR (*get_frame_cfa) (void *baton);
+
/* Return the thread-local storage address for
DW_OP_GNU_push_tls_address. */
CORE_ADDR (*get_tls_address) (void *baton, CORE_ADDR offset);
--- ./gdb/dwarf2loc.c 2009-06-12 11:12:55.000000000 +0200
+++ ./gdb/dwarf2loc.c 2009-06-12 11:15:07.000000000 +0200
@@ -32,6 +32,7 @@
#include "objfiles.h"
#include "exceptions.h"
#include "block.h"
+#include "dwarf2-frame.h"
#include "elf/dwarf2.h"
#include "dwarf2expr.h"
@@ -200,6 +201,13 @@ dwarf_expr_frame_base (void *baton, gdb_
SYMBOL_PRINT_NAME (framefunc));
}
+static CORE_ADDR
+dwarf_expr_frame_cfa (void *baton)
+{
+ struct dwarf_expr_baton *debaton = (struct dwarf_expr_baton *) baton;
+ return dwarf2_frame_cfa (debaton->frame);
+}
+
/* Using the objfile specified in BATON, find the address for the
current thread's thread-local storage with offset OFFSET. */
static CORE_ADDR
@@ -286,6 +294,7 @@ dwarf_expr_prep_ctx (struct frame_info *
ctx->read_reg = dwarf_expr_read_reg;
ctx->read_mem = dwarf_expr_read_mem;
ctx->get_frame_base = dwarf_expr_frame_base;
+ ctx->get_frame_cfa = dwarf_expr_frame_cfa;
ctx->get_tls_address = dwarf_expr_tls_address;
ctx->get_object_address = dwarf_expr_object_address;
@@ -439,6 +448,15 @@ needs_frame_frame_base (void *baton, gdb
nf_baton->needs_frame = 1;
}
+/* CFA accesses require a frame. */
+static CORE_ADDR
+needs_frame_frame_cfa (void *baton)
+{
+ struct needs_frame_baton *nf_baton = baton;
+ nf_baton->needs_frame = 1;
+ return 1;
+}
+
/* Thread-local accesses do require a frame. */
static CORE_ADDR
needs_frame_tls_address (void *baton, CORE_ADDR offset)
@@ -468,6 +486,7 @@ dwarf2_loc_desc_needs_frame (gdb_byte *d
ctx->read_reg = needs_frame_read_reg;
ctx->read_mem = needs_frame_read_mem;
ctx->get_frame_base = needs_frame_frame_base;
+ ctx->get_frame_cfa = needs_frame_frame_cfa;
ctx->get_tls_address = needs_frame_tls_address;
dwarf_expr_eval (ctx, data, size);
++++++ gdb-archer.patch ++++++
++++ 2099 lines (skipped)
++++ between gdb/gdb-archer.patch
++++ and /mounts/work_src_done/STABLE/gdb/gdb-archer.patch
++++++ gdb-bz507267-block-sort-fast.patch ++++++
https://bugzilla.redhat.com/show_bug.cgi?id=507267
--- gdb-6.8.50.20090302/gdb/buildsym.c-orig 2009-06-22 15:20:39.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/buildsym.c 2009-06-22 17:50:54.000000000 +0200
@@ -900,6 +900,19 @@ watch_main_source_file_lossage (void)
}
}
+/* Helper function for qsort. Parametes are `struct block *' pointers,
+ function sorts them in descending order by their BLOCK_START. */
+
+static int
+block_compar (const void *ap, const void *bp)
+{
+ const struct block *a = *(const struct block **) ap;
+ const struct block *b = *(const struct block **) bp;
+
+ return (BLOCK_START (b) > BLOCK_START (a))
+ - (BLOCK_START (b) < BLOCK_START (a));
+}
+
/* Finish the symbol definitions for one main source file, close off
all the lexical contexts for that file (creating struct block's for
them), then make the struct symtab for that file and put it in the
@@ -953,32 +966,28 @@ end_symtab (CORE_ADDR end_addr, struct o
OBJF_REORDERED is true, then sort the pending blocks. */
if ((objfile->flags & OBJF_REORDERED) && pending_blocks)
{
- /* FIXME! Remove this horrid bubble sort and use merge sort!!! */
- int swapped;
- do
- {
- struct pending_block *pb, *pbnext;
+ unsigned count = 0;
+ struct pending_block *pb;
+ struct block **barray, **bp;
+ struct cleanup *back_to;
- pb = pending_blocks;
- pbnext = pb->next;
- swapped = 0;
+ for (pb = pending_blocks; pb != NULL; pb = pb->next)
+ count++;
- while (pbnext)
- {
- /* swap blocks if unordered! */
+ barray = xmalloc (sizeof (*barray) * count);
+ back_to = make_cleanup (xfree, barray);
- if (BLOCK_START (pb->block) < BLOCK_START (pbnext->block))
- {
- struct block *tmp = pb->block;
- pb->block = pbnext->block;
- pbnext->block = tmp;
- swapped = 1;
- }
- pb = pbnext;
- pbnext = pbnext->next;
- }
- }
- while (swapped);
+ bp = barray;
+ for (pb = pending_blocks; pb != NULL; pb = pb->next)
+ *bp++ = pb->block;
+
+ qsort (barray, count, sizeof (*barray), block_compar);
+
+ bp = barray;
+ for (pb = pending_blocks; pb != NULL; pb = pb->next)
+ pb->block = *bp++;
+
+ do_cleanups (back_to);
}
/* Cleanup any undefined types that have been left hanging around
++++++ gdb-orphanripper.c ++++++
--- /var/tmp/diff_new_pack.TXV2Wi/_old 2009-07-29 17:47:01.000000000 +0200
+++ /var/tmp/diff_new_pack.TXV2Wi/_new 2009-07-29 17:47:01.000000000 +0200
@@ -90,6 +90,7 @@
termios.c_oflag = 0;
termios.c_cflag = CS8 | CREAD | CLOCAL | HUPCL | B9600;
termios.c_lflag = IEXTEN | NOFLSH;
+ termios.c_line = 0;
memset (termios.c_cc, _POSIX_VDISABLE, sizeof (termios.c_cc));
termios.c_cc[VTIME] = 0;
termios.c_cc[VMIN ] = 1;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org