rpms/gdb/F-12 gdb-empty-namespace.patch, NONE, 1.1 gdb-ppc-hw-watchpoint-twice.patch, NONE, 1.1 gdb-rhel5-compat.patch, NONE, 1.1 gdb-rhel5-gcc44.patch, NONE, 1.1 gdb-7.0-upstream.patch, 1.3, 1.4 gdb.spec, 1.403, 1.404 gdb-rhel5-fortran44.patch, 1.1, NONE
Jan Kratochvil
jkratoch at fedoraproject.org
Mon Dec 21 11:26:49 UTC 2009
- Previous message (by thread): rpms/fmtools/F-12 fmtools.desktop, NONE, 1.1 fmtools.patch, NONE, 1.1 import.log, NONE, 1.1 radio.png, NONE, 1.1 tkradio, NONE, 1.1 tkradio-mute, NONE, 1.1 .cvsignore, 1.2, 1.3 fmtools.spec, 1.5, 1.6 sources, 1.2, 1.3
- Next message (by thread): rpms/openssh/F-12 .cvsignore, 1.24, 1.25 openssh-5.3p1-audit.patch, 1.1, 1.2 openssh.spec, 1.174, 1.175 sshd.init, 1.5, 1.6
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: jkratoch
Update of /cvs/pkgs/rpms/gdb/F-12
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv3787
Modified Files:
gdb-7.0-upstream.patch gdb.spec
Added Files:
gdb-empty-namespace.patch gdb-ppc-hw-watchpoint-twice.patch
gdb-rhel5-compat.patch gdb-rhel5-gcc44.patch
Removed Files:
gdb-rhel5-fortran44.patch
Log Message:
* Mon Dec 21 2009 Jan Kratochvil <jan.kratochvil at redhat.com> - 7.0-12.fc12
- Workaround build on native ppc64 host.
- More RHEL-5 compatibility updates.
- Disable warning messages new for gdb-6.8+ for RHEL-5 backward compatibility.
- Workaround RHEL-5 kernels for detaching SIGSTOPped processes (BZ 498595).
- Serialize the testsuite output to keep the order for regression checks.
- Re-enable python for all non-ppc* arches.
- More gcc44 stack exceptions when running the testsuite on RHEL-5.
- Fix backward compatibility with G++ 4.1 namespaces "::".
- Fix regression on re-setting the single ppc watchpoint slot.
- Update snapshot of FSF gdb-7.0.x branch.
- Backport fix of dcache invalidation locking up GDB on ppc64 targets.
gdb-empty-namespace.patch:
b/gdb/testsuite/gdb.dwarf2/dw2-empty-namespace.S | 108 +++++++++++++++++++++
b/gdb/testsuite/gdb.dwarf2/dw2-empty-namespace.exp | 43 ++++++++
gdb/dwarf2read.c | 14 ++
3 files changed, 163 insertions(+), 2 deletions(-)
--- NEW FILE gdb-empty-namespace.patch ---
gdb/
2009-12-20 Jan Kratochvil <jan.kratochvil at redhat.com>
Fix compatibility with G++-4.1.
* dwarf2read.c (partial_die_parent_scope): New variable PARENT_NAME.
Ignore parent namespaces with name "::".
(physname_prefix_1): Ignore namespaces with name "::".
gdb/testsuite/
2009-12-20 Jan Kratochvil <jan.kratochvil at redhat.com>
* gdb.dwarf2/dw2-empty-namespace.exp, gdb.dwarf2/dw2-empty-namespace.S:
New.
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -2355,11 +2355,18 @@ partial_die_parent_scope (struct partial_die_info *pdi,
|| parent->tag == DW_TAG_interface_type
|| parent->tag == DW_TAG_union_type)
{
+ char *parent_name = parent->name;
+
+ /* G++ 4.1 produced DW_TAG_namespace with DW_AT_name "::". */
+ if (parent->tag == DW_TAG_namespace && parent_name != NULL
+ && strcmp (parent_name, "::") == 0)
+ parent_name = NULL;
+
if (grandparent_scope == NULL)
- parent->scope = parent->name;
+ parent->scope = parent_name;
else
parent->scope = typename_concat (&cu->comp_unit_obstack, grandparent_scope,
- parent->name, cu);
+ parent_name, cu);
}
else if (parent->tag == DW_TAG_enumeration_type)
/* Enumerators should not get the name of the enumeration as a prefix. */
@@ -9008,6 +9015,9 @@ physname_prefix_1 (struct ui_file *buf, struct die_info *die,
name = dwarf2_name (die, cu);
if (name == NULL)
name = "(anonymous namespace)";
+ /* G++ 4.1 produced DW_TAG_namespace with DW_AT_name "::". */
+ else if (strcmp (name, "::") == 0)
+ name = NULL;
break;
case DW_TAG_class_type:
--- /dev/null
+++ b/gdb/testsuite/gdb.dwarf2/dw2-empty-namespace.S
@@ -0,0 +1,108 @@
+/* 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 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/>. */
+
+/* Test G++ 4.1 producing DW_TAG_namespace with DW_AT_name "::". */
+
+ .data
+var: .4byte 1
+
+ .section .debug_info
+.Lcu1_begin:
+ /* CU header */
+ .4byte .Lcu1_end - .Lcu1_start /* Length of Compilation Unit */
+.Lcu1_start:
+ .2byte 2 /* DWARF Version */
+ .4byte .Labbrev1_begin /* Offset into abbrev section */
+ .byte 4 /* Pointer size */
+
+ /* CU die */
+ .uleb128 1 /* Abbrev: DW_TAG_compile_unit */
+ .ascii "file1.txt\0" /* DW_AT_name */
+ .ascii "GNU C 3.3.3\0" /* DW_AT_producer */
+ .byte 4 /* DW_LANG_C_plus_plus (C++) */
+
+.Ltype_int:
+ .uleb128 2 /* Abbrev: DW_TAG_base_type */
+ .ascii "int\0" /* DW_AT_name */
+ .byte 4 /* DW_AT_byte_size */
+ .byte 5 /* DW_AT_encoding */
+
+ .uleb128 3 /* Abbrev: DW_TAG_namespace */
+ .ascii "::\0" /* DW_AT_name */
+
+ .uleb128 7 /* Abbrev: DW_TAG_variable (location) */
+ .ascii "var\0" /* DW_AT_name */
+ .byte 2f - 1f /* DW_AT_location */
+1: .byte 3 /* DW_OP_addr */
+ .4byte var /* <addr> */
+2: .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */
+
+ .byte 0 /* End of children of DW_TAG_namespace */
+
+ .byte 0 /* End of children of CU */
+
+.Lcu1_end:
+
+/* Abbrev table */
+ .section .debug_abbrev
+.Labbrev1_begin:
+ .uleb128 1 /* Abbrev code */
+ .uleb128 0x11 /* DW_TAG_compile_unit */
+ .byte 1 /* has_children */
+ .uleb128 0x3 /* DW_AT_name */
+ .uleb128 0x8 /* DW_FORM_string */
+ .uleb128 0x25 /* DW_AT_producer */
+ .uleb128 0x8 /* DW_FORM_string */
+ .uleb128 0x13 /* DW_AT_language */
+ .uleb128 0xb /* DW_FORM_data1 */
+ .byte 0x0 /* Terminator */
+ .byte 0x0 /* Terminator */
+
+ .uleb128 2 /* Abbrev code */
+ .uleb128 0x24 /* DW_TAG_base_type */
+ .byte 0 /* has_children */
+ .uleb128 0x3 /* DW_AT_name */
+ .uleb128 0x8 /* DW_FORM_string */
+ .uleb128 0xb /* DW_AT_byte_size */
+ .uleb128 0xb /* DW_FORM_data1 */
+ .uleb128 0x3e /* DW_AT_encoding */
+ .uleb128 0xb /* DW_FORM_data1 */
+ .byte 0x0 /* Terminator */
+ .byte 0x0 /* Terminator */
+
+ .uleb128 3 /* Abbrev code */
+ .uleb128 0x39 /* DW_TAG_namespace */
+ .byte 1 /* has_children */
+ .uleb128 0x3 /* DW_AT_name */
+ .uleb128 0x8 /* DW_FORM_string */
+ .byte 0x0 /* Terminator */
+ .byte 0x0 /* Terminator */
+
+ .uleb128 7 /* Abbrev code (location) */
+ .uleb128 0x34 /* DW_TAG_variable */
+ .byte 0 /* has_children */
+ .uleb128 0x3 /* DW_AT_name */
+ .uleb128 0x8 /* DW_FORM_string */
+ .uleb128 0x2 /* DW_AT_location */
+ .uleb128 0xa /* DW_FORM_block1 */
+ .uleb128 0x49 /* DW_AT_type */
+ .uleb128 0x13 /* DW_FORM_ref4 */
+ .byte 0x0 /* Terminator */
+ .byte 0x0 /* Terminator */
+
+ .byte 0x0 /* Terminator */
+ .byte 0x0 /* Terminator */
--- /dev/null
+++ b/gdb/testsuite/gdb.dwarf2/dw2-empty-namespace.exp
@@ -0,0 +1,43 @@
+# 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 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/>.
+
+# Test G++ 4.1 producing DW_TAG_namespace with DW_AT_name "::".
+
+# This test can only be run on targets which support DWARF-2 and use gas.
+# For now pick a sampling of likely targets.
+if {![istarget *-*-linux*]
+ && ![istarget *-*-gnu*]
+ && ![istarget *-*-elf*]
+ && ![istarget *-*-openbsd*]
+ && ![istarget arm-*-eabi*]
+ && ![istarget powerpc-*-eabi*]} {
+ return 0
+}
+
+set testfile "dw2-empty-namespace"
+set srcfile ${testfile}.S
+set executable ${testfile}.x
+
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${objdir}/${subdir}/${executable}" object {nodebug}] != "" } {
+ return -1
+}
+
+clean_restart $executable
+
+# `p var' below can work without identified DWARF DIE just based on its ELF symbol.
+# Catch it here as `type = <data variable, no debug info>'.
+gdb_test "ptype var" "type = int"
+
+gdb_test "p var" " = 1"
gdb-ppc-hw-watchpoint-twice.patch:
breakpoint.c | 3 +++
1 file changed, 3 insertions(+)
--- NEW FILE gdb-ppc-hw-watchpoint-twice.patch ---
pcc regression from:
http://sourceware.org/ml/gdb-patches/2008-12/msg00143.html
gdb/
2009-12-21 Jan Kratochvil <jan.kratochvil at redhat.com>
* breakpoint.c (update_watchpoint): Set B->TYPE to bp_watchpoint before
calling hw_watchpoint_used_count.
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -1152,6 +1152,9 @@ update_watchpoint (struct breakpoint *b, int reparse)
{
int i, mem_cnt, other_type_used;
+ /* Do not count with B twice below. */
+ b->type = bp_watchpoint;
+
i = hw_watchpoint_used_count (bp_hardware_watchpoint,
&other_type_used);
mem_cnt = can_use_hardware_watchpoint (val_chain);
gdb-rhel5-compat.patch:
gdb/linux-nat.c | 18 ++++++++++++++++--
symfile.c | 2 ++
2 files changed, 18 insertions(+), 2 deletions(-)
--- NEW FILE gdb-rhel5-compat.patch ---
gdb/linux-nat.c:
- Workaround RHEL-5 kernels for detaching SIGSTOPped processes (BZ 498595).
--- gdb-6.8/gdb-orig/symfile.c 2008-08-21 00:06:50.000000000 +0200
+++ gdb-6.8/gdb/symfile.c 2008-08-21 22:31:00.000000000 +0200
@@ -1456,8 +1456,10 @@ find_separate_debug_file (struct objfile
/* Prevent looping on a stripped .debug file. */
if (build_id_name != NULL && strcmp (build_id_name, objfile->name) == 0)
{
+#if 0 /* RHEL-5 backward behavior compatibility. */
warning (_("\"%s\": separate debug info file has no debug info"),
build_id_name);
+#endif
xfree (build_id_name);
}
else if (build_id_name != NULL)
--- gdb-7.0-orig/gdb/linux-nat.c 2009-12-19 20:53:46.000000000 +0100
+++ gdb-7.0/gdb/linux-nat.c 2009-12-19 20:55:02.000000000 +0100
@@ -1604,8 +1604,22 @@ GPT: lwp %s had signal %s, but it is in
*status = lp->status;
}
- if (*status == 0 && GET_PID (lp->ptid) == pid_was_stopped)
- *status = W_STOPCODE (SIGSTOP);
+ /* Workaround RHEL-5 kernel which has unreliable PTRACE_DETACH, SIGSTOP (that
+ many TIDs are left unstopped). See RH Bug 496732. */
+ if (GET_PID (lp->ptid) == pid_was_stopped)
+ {
+ int err;
+
+ errno = 0;
+ err = kill_lwp (GET_LWP (lp->ptid), SIGSTOP);
+ if (debug_linux_nat)
+ {
+ fprintf_unfiltered (gdb_stdlog,
+ "SC: lwp kill %d %s\n",
+ err,
+ errno ? safe_strerror (errno) : "ERRNO-OK");
+ }
+ }
return 0;
}
gdb-rhel5-gcc44.patch:
./gdb/testsuite/gdb.fortran/common-block.exp | 20 +++++++++
./gdb/testsuite/gdb.fortran/derived-type.exp | 20 +++++++++
./gdb/testsuite/gdb.fortran/dwarf-stride.exp | 20 +++++++++
./gdb/testsuite/gdb.fortran/dynamic.exp | 20 +++++++++
./gdb/testsuite/gdb.fortran/library-module.exp | 26 ++++++++++--
./gdb/testsuite/gdb.fortran/module.exp | 20 +++++++++
./gdb/testsuite/gdb.fortran/string.exp | 20 +++++++++
./gdb/testsuite/gdb.fortran/subarray.exp | 20 +++++++++
./gdb/testsuite/gdb.threads/tls-sepdebug.exp | 20 +++++++++
gdb-7.0/gdb/testsuite/gdb.base/break-interp.exp | 50 ++++++++++++++++++++++--
gdb-7.0/gdb/testsuite/gdb.base/vla.exp | 20 +++++++++
gdb-7.0/gdb/testsuite/gdb.fortran/omp-step.exp | 21 +++++++++-
12 files changed, 260 insertions(+), 17 deletions(-)
--- NEW FILE gdb-rhel5-gcc44.patch ---
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.
--- gdb-7.0/gdb/testsuite/gdb.base/vla.exp-orig 2009-12-20 00:38:13.000000000 +0100
+++ gdb-7.0/gdb/testsuite/gdb.base/vla.exp 2009-12-20 00:54:19.000000000 +0100
@@ -16,7 +16,25 @@
set testfile vla
set srcfile ${testfile}.c
set binfile ${objdir}/${subdir}/${testfile}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
+# Temporarily provide compiler=gcc44 saving the original value around.
+
+set board [target_info name]
+if [board_info $board exists compiler] {
+ set old_compiler [board_info $board compiler]
+ unset_board_info compiler
+} elseif [info exists old_compiler] {
+ unset old_compiler
+}
+set_board_info compiler gcc44
+
+set err [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug quiet}]
+
+unset_board_info compiler
+if [info exists old_compiler] {
+ set_board_info compiler $old_compiler
+}
+
+if { $err != "" } {
untested "Couldn't compile test program"
return -1
}
--- gdb-7.0/gdb/testsuite/gdb.base/break-interp.exp-orig 2009-12-20 00:38:13.000000000 +0100
+++ gdb-7.0/gdb/testsuite/gdb.base/break-interp.exp 2009-12-20 01:11:47.000000000 +0100
@@ -31,10 +31,30 @@ if [get_compiler_info ${binfile_lib}] {
return -1
}
+# Temporarily provide compiler=gcc44 saving the original value around.
+# RHEL-5 workaround of its:
+# gcc: -soname: linker input file unused because linking not done
+
+set board [target_info name]
+if [board_info $board exists compiler] {
+ set old_compiler [board_info $board compiler]
+ unset_board_info compiler
+} elseif [info exists old_compiler] {
+ unset old_compiler
+}
+set_board_info compiler gcc44
+
# Use -soname so that it is listed with " => " by ldd and this testcase makes
# a copy of ${binfile_lib} for each prelink variant.
-if {[gdb_compile_shlib ${srcdir}/${subdir}/${srcfile_lib} ${binfile_lib} [list debug additional_flags=-Wl,-soname,${test}.so]] != ""} {
+set err [gdb_compile_shlib ${srcdir}/${subdir}/${srcfile_lib} ${binfile_lib} [list debug additional_flags=-Wl,-soname,${test}.so]]
+
+unset_board_info compiler
+if [info exists old_compiler] {
+ set_board_info compiler $old_compiler
+}
+
+if { $err != "" } {
return -1
}
@@ -483,9 +503,33 @@ foreach ldprelink {NO YES} {
if {$binpie == "YES"} {
lappend opts {additional_flags=-fPIE -pie}
}
- if {[build_executable ${test}.exp [file tail $exec] $srcfile $opts] == -1} {
- continue;
+
+
+ # Temporarily provide compiler=gcc44 saving the original value around.
+ # RHEL-5 workaround of its:
+ # gcc: -rpath: linker input file unused because linking not done
+ # gcc: --dynamic-linker: linker input file unused because linking not done
+
+ set board [target_info name]
+ if [board_info $board exists compiler] {
+ set old_compiler [board_info $board compiler]
+ unset_board_info compiler
+ } elseif [info exists old_compiler] {
+ unset old_compiler
+ }
+ set_board_info compiler gcc44
+
+ set err [build_executable ${test}.exp [file tail $exec] $srcfile $opts]
+
+ unset_board_info compiler
+ if [info exists old_compiler] {
+ set_board_info compiler $old_compiler
}
+
+ if { $err == -1 } {
+ continue
+ }
+
if {$binsepdebug == "SEP"} {
gdb_gnu_strip_debug $exec
# Just a sanity check. As gdb_gnu_strip_debug uses the
--- ./gdb/testsuite/gdb.fortran/common-block.exp 2009-12-15 05:13:56.000000000 +0100
+++ ./gdb/testsuite/gdb.fortran/common-block.exp 2009-12-15 05:21:00.000000000 +0100
@@ -20,7 +20,25 @@ set testfile "common-block"
set srcfile ${testfile}.f90
set binfile ${objdir}/${subdir}/${testfile}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug f77 quiet}] != "" } {
+# Temporarily provide f77compiler=gfortran44 saving the original value around.
+
+set board [target_info name]
+if [board_info $board exists f77compiler] {
+ set old_f77compiler [board_info $board f77compiler]
+ unset_board_info f77compiler
+} elseif [info exists old_f77compiler] {
+ unset old_f77compiler
+}
+set_board_info f77compiler gfortran44
+
+set err [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug f77 quiet}]
+
+unset_board_info f77compiler
+if [info exists old_f77compiler] {
+ set_board_info f77compiler $old_f77compiler
+}
+
+if { $err != "" } {
untested "Couldn't compile ${srcfile}"
return -1
}
--- ./gdb/testsuite/gdb.fortran/dwarf-stride.exp 2009-12-15 05:13:56.000000000 +0100
+++ ./gdb/testsuite/gdb.fortran/dwarf-stride.exp 2009-12-15 05:20:07.000000000 +0100
@@ -27,7 +27,25 @@
set testfile dwarf-stride
set srcfile ${testfile}.f90
-if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug f77}] } {
+# Temporarily provide f77compiler=gfortran44 saving the original value around.
+
+set board [target_info name]
+if [board_info $board exists f77compiler] {
+ set old_f77compiler [board_info $board f77compiler]
+ unset_board_info f77compiler
+} elseif [info exists old_f77compiler] {
+ unset old_f77compiler
+}
+set_board_info f77compiler gfortran44
+
+set err [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug f77}]
+
+unset_board_info f77compiler
+if [info exists old_f77compiler] {
+ set_board_info f77compiler $old_f77compiler
+}
+
+if $err {
return -1
}
--- ./gdb/testsuite/gdb.fortran/dynamic.exp 2009-12-15 05:13:56.000000000 +0100
+++ ./gdb/testsuite/gdb.fortran/dynamic.exp 2009-12-15 05:17:21.000000000 +0100
@@ -25,7 +25,25 @@ set testfile "dynamic"
set srcfile ${testfile}.f90
set binfile ${objdir}/${subdir}/${testfile}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug f77 quiet}] != "" } {
+# Temporarily provide f77compiler=gfortran44 saving the original value around.
+
+set board [target_info name]
+if [board_info $board exists f77compiler] {
+ set old_f77compiler [board_info $board f77compiler]
+ unset_board_info f77compiler
+} elseif [info exists old_f77compiler] {
+ unset old_f77compiler
+}
+set_board_info f77compiler gfortran44
+
+set err [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug f77 quiet}]
+
+unset_board_info f77compiler
+if [info exists old_f77compiler] {
+ set_board_info f77compiler $old_f77compiler
+}
+
+if { $err != "" } {
untested "Couldn't compile ${srcfile}"
return -1
}
--- ./gdb/testsuite/gdb.fortran/library-module.exp 2009-12-15 05:13:56.000000000 +0100
+++ ./gdb/testsuite/gdb.fortran/library-module.exp 2009-12-15 05:22:37.000000000 +0100
@@ -25,16 +25,34 @@ if [get_compiler_info not-used] {
return -1
}
-if { [gdb_compile_shlib "${srcdir}/${subdir}/${srclibfile}" $objdir/$subdir/$libfile {debug f77}] != "" } {
- untested "Couldn't compile ${srclibfile}"
- return -1
+# Temporarily provide f77compiler=gfortran44 saving the original value around.
+
+set board [target_info name]
+if [board_info $board exists f77compiler] {
+ set old_f77compiler [board_info $board f77compiler]
+ unset_board_info f77compiler
+} elseif [info exists old_f77compiler] {
+ unset old_f77compiler
}
+set_board_info f77compiler gfortran44
# prepare_for_testing cannot be used as linking with $libfile cannot be passed
# just for the linking phase (and not the source compilation phase). And any
# warnings on ignored $libfile abort the process.
-if { [gdb_compile [list $srcdir/$subdir/$srcfile $objdir/$subdir/$libfile] $objdir/$subdir/$binfile executable {debug f77}] != "" } {
+set err1 [gdb_compile_shlib "${srcdir}/${subdir}/${srclibfile}" $objdir/$subdir/$libfile {debug f77}]
+set err2 [gdb_compile [list $srcdir/$subdir/$srcfile $objdir/$subdir/$libfile] $objdir/$subdir/$binfile executable {debug f77}]
+
+unset_board_info f77compiler
+if [info exists old_f77compiler] {
+ set_board_info f77compiler $old_f77compiler
+}
+
+if { $err1 != "" } {
+ untested "Couldn't compile ${srclibfile}"
+ return -1
+}
+if { $err2 != "" } {
untested "Couldn't compile ${srcfile}"
return -1
}
--- ./gdb/testsuite/gdb.fortran/module.exp 2009-12-15 05:13:56.000000000 +0100
+++ ./gdb/testsuite/gdb.fortran/module.exp 2009-12-15 05:28:49.000000000 +0100
@@ -16,7 +16,25 @@
set testfile "module"
set srcfile ${testfile}.f90
-if { [prepare_for_testing $testfile.exp $testfile $srcfile {debug f77}] } {
+# Temporarily provide f77compiler=gfortran44 saving the original value around.
+
+set board [target_info name]
+if [board_info $board exists f77compiler] {
+ set old_f77compiler [board_info $board f77compiler]
+ unset_board_info f77compiler
+} elseif [info exists old_f77compiler] {
+ unset old_f77compiler
+}
+set_board_info f77compiler gfortran44
+
+set err [prepare_for_testing $testfile.exp $testfile $srcfile {debug f77}]
+
+unset_board_info f77compiler
+if [info exists old_f77compiler] {
+ set_board_info f77compiler $old_f77compiler
+}
+
+if $err {
return -1
}
--- ./gdb/testsuite/gdb.fortran/string.exp 2009-12-15 05:13:56.000000000 +0100
+++ ./gdb/testsuite/gdb.fortran/string.exp 2009-12-15 05:18:13.000000000 +0100
@@ -23,7 +23,25 @@ set testfile "string"
set srcfile ${testfile}.f90
set binfile ${objdir}/${subdir}/${testfile}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug f77 quiet}] != "" } {
+# Temporarily provide f77compiler=gfortran44 saving the original value around.
+
+set board [target_info name]
+if [board_info $board exists f77compiler] {
+ set old_f77compiler [board_info $board f77compiler]
+ unset_board_info f77compiler
+} elseif [info exists old_f77compiler] {
+ unset old_f77compiler
+}
+set_board_info f77compiler gfortran44
+
+set err [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug f77 quiet}]
+
+unset_board_info f77compiler
+if [info exists old_f77compiler] {
+ set_board_info f77compiler $old_f77compiler
+}
+
+if { $err != "" } {
untested "Couldn't compile ${srcfile}"
return -1
}
--- gdb-7.0/gdb/testsuite/gdb.fortran/omp-step.exp-orig 2009-12-20 09:47:04.000000000 +0100
+++ gdb-7.0/gdb/testsuite/gdb.fortran/omp-step.exp 2009-12-20 09:50:06.000000000 +0100
@@ -15,7 +15,26 @@
set testfile "omp-step"
set srcfile ${testfile}.f90
-if { [prepare_for_testing $testfile.exp $testfile $srcfile {debug f77 additional_flags=-fopenmp}] } {
+
+# Temporarily provide f77compiler=gfortran44 saving the original value around.
+
+set board [target_info name]
+if [board_info $board exists f77compiler] {
+ set old_f77compiler [board_info $board f77compiler]
+ unset_board_info f77compiler
+} elseif [info exists old_f77compiler] {
+ unset old_f77compiler
+}
+set_board_info f77compiler gfortran44
+
+set err [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug f77 additional_flags=-fopenmp}]
+
+unset_board_info f77compiler
+if [info exists old_f77compiler] {
+ set_board_info f77compiler $old_f77compiler
+}
+
+if $err {
return -1
}
--- ./gdb/testsuite/gdb.fortran/derived-type.exp 2009-01-07 13:39:13.000000000 +0100
+++ ./gdb/testsuite/gdb.fortran/derived-type.exp 2009-12-20 12:37:12.000000000 +0100
@@ -26,7 +26,25 @@ set testfile "derived-type"
set srcfile ${testfile}.f90
set binfile ${objdir}/${subdir}/${testfile}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug f77 quiet}] != "" } {
+# Temporarily provide f77compiler=gfortran44 saving the original value around.
+
+set board [target_info name]
+if [board_info $board exists f77compiler] {
+ set old_f77compiler [board_info $board f77compiler]
+ unset_board_info f77compiler
+} elseif [info exists old_f77compiler] {
+ unset old_f77compiler
+}
+set_board_info f77compiler gfortran44
+
+set err [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug f77 quiet}]
+
+unset_board_info f77compiler
+if [info exists old_f77compiler] {
+ set_board_info f77compiler $old_f77compiler
+}
+
+if { $err != "" } {
untested "Couldn't compile ${srcfile}"
return -1
}
--- ./gdb/testsuite/gdb.fortran/subarray.exp 2009-01-07 13:39:13.000000000 +0100
+++ ./gdb/testsuite/gdb.fortran/subarray.exp 2009-12-20 12:38:00.000000000 +0100
@@ -26,7 +26,25 @@ set testfile "subarray"
set srcfile ${testfile}.f
set binfile ${objdir}/${subdir}/${testfile}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug f77 quiet}] != "" } {
+# Temporarily provide f77compiler=gfortran44 saving the original value around.
+
+set board [target_info name]
+if [board_info $board exists f77compiler] {
+ set old_f77compiler [board_info $board f77compiler]
+ unset_board_info f77compiler
+} elseif [info exists old_f77compiler] {
+ unset old_f77compiler
+}
+set_board_info f77compiler gfortran44
+
+set err [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug f77 quiet}]
+
+unset_board_info f77compiler
+if [info exists old_f77compiler] {
+ set_board_info f77compiler $old_f77compiler
+}
+
+if { $err != "" } {
untested "Couldn't compile ${srcfile}"
return -1
}
--- ./gdb/testsuite/gdb.threads/tls-sepdebug.exp 2009-12-20 12:22:18.000000000 +0100
+++ ./gdb/testsuite/gdb.threads/tls-sepdebug.exp 2009-12-20 12:39:53.000000000 +0100
@@ -32,7 +32,25 @@ set binshareddebugfile ${objdir}/${subdi
# FIXME: gcc dependency (-Wl,-soname).
-if { [gdb_compile_shlib "${srcdir}/${subdir}/${srcsharedfile}" "${binsharedfile}" [list debug additional_flags=-Wl,-soname=${binsharedbase}]] != "" } {
+# Temporarily provide compiler=gcc44 saving the original value around.
+
+set board [target_info name]
+if [board_info $board exists compiler] {
+ set old_compiler [board_info $board compiler]
+ unset_board_info compiler
+} elseif [info exists old_compiler] {
+ unset old_compiler
+}
+set_board_info compiler gcc44
+
+set err [gdb_compile_shlib "${srcdir}/${subdir}/${srcsharedfile}" "${binsharedfile}" [list debug additional_flags=-Wl,-soname=${binsharedbase}]]
+
+unset_board_info compiler
+if [info exists old_compiler] {
+ set_board_info compiler $old_compiler
+}
+
+if { $err != "" } {
untested "Couldn't compile test library"
return -1
}
gdb-7.0-upstream.patch:
gdb/COPYING | 916 +++++++++++++++++++++----------
gdb/ChangeLog | 75 ++
gdb/amd64-tdep.c | 2
gdb/amd64fbsd-nat.c | 3
gdb/arm-tdep.c | 212 +++++++
gdb/completer.c | 4
gdb/dbxread.c | 9
gdb/dcache.c | 139 +++-
gdb/doc/ChangeLog | 4
gdb/doc/gpl.texi | 958 ++++++++++++++++++++++-----------
gdb/dwarf2-frame.c | 8
gdb/dwarf2read.c | 3
gdb/elfread.c | 3
gdb/objfiles.c | 16
gdb/score-tdep.c | 52 -
gdb/score-tdep.h | 64 --
gdb/testsuite/ChangeLog | 21
gdb/testsuite/gdb.base/bigcore.exp | 2
gdb/testsuite/gdb.base/foll-fork.c | 3
gdb/testsuite/gdb.base/foll-fork.exp | 3
gdb/testsuite/gdb.base/structs.c | 6
gdb/testsuite/gdb.base/structs.exp | 62 +-
src/gdb/doc/gdb.texinfo | 6
src/gdb/testsuite/gdb.base/default.exp | 7
24 files changed, 1777 insertions(+), 801 deletions(-)
View full diff with command:
/usr/bin/cvs -n -f diff -kk -u -p -N -r 1.3 -r 1.4 gdb-7.0-upstream.patchIndex: gdb-7.0-upstream.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/F-12/gdb-7.0-upstream.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -p -r1.3 -r1.4
--- gdb-7.0-upstream.patch 18 Dec 2009 09:48:50 -0000 1.3
+++ gdb-7.0-upstream.patch 21 Dec 2009 11:26:47 -0000 1.4
@@ -1,6 +1,1019 @@
-### ./gdb/ChangeLog 6 Oct 2009 16:32:30 -0000 1.10874.2.46
-### ./gdb/ChangeLog 22 Oct 2009 20:31:36 -0000 1.10874.2.52
-## -1,3 +1,33 @@
+--- a/gdb/COPYING
++++ b/gdb/COPYING
+@@ -1,286 +1,626 @@
+- GNU GENERAL PUBLIC LICENSE
+- Version 2, June 1991
++ GNU GENERAL PUBLIC LICENSE
++ Version 3, 29 June 2007
+
+- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+- 51 Franklin Street, Fifth Floor,
+- Boston, MA 02110-1301, USA
++ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+- Preamble
++ Preamble
+
+- The licenses for most software are designed to take away your
+-freedom to share and change it. By contrast, the GNU General Public
+-License is intended to guarantee your freedom to share and change free
+-software--to make sure the software is free for all its users. This
+-General Public License applies to most of the Free Software
+-Foundation's software and to any other program whose authors commit to
+-using it. (Some other Free Software Foundation software is covered by
+-the GNU Library General Public License instead.) You can apply it to
++ The GNU General Public License is a free, copyleft license for
++software and other kinds of works.
++
++ The licenses for most software and other practical works are designed
++to take away your freedom to share and change the works. By contrast,
++the GNU General Public License is intended to guarantee your freedom to
++share and change all versions of a program--to make sure it remains free
++software for all its users. We, the Free Software Foundation, use the
++GNU General Public License for most of our software; it applies also to
++any other work released this way by its authors. You can apply it to
+ your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+ price. Our General Public Licenses are designed to make sure that you
+ have the freedom to distribute copies of free software (and charge for
+-this service if you wish), that you receive source code or can get it
+-if you want it, that you can change the software or use pieces of it
+-in new free programs; and that you know you can do these things.
++them if you wish), that you receive source code or can get it if you
++want it, that you can change the software or use pieces of it in new
++free programs, and that you know you can do these things.
+
+- To protect your rights, we need to make restrictions that forbid
+-anyone to deny you these rights or to ask you to surrender the rights.
+-These restrictions translate to certain responsibilities for you if you
+-distribute copies of the software, or if you modify it.
++ To protect your rights, we need to prevent others from denying you
++these rights or asking you to surrender the rights. Therefore, you have
++certain responsibilities if you distribute copies of the software, or if
++you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+-gratis or for a fee, you must give the recipients all the rights that
+-you have. You must make sure that they, too, receive or can get the
+-source code. And you must show them these terms so they know their
+-rights.
+-
+- We protect your rights with two steps: (1) copyright the software, and
+-(2) offer you this license which gives you legal permission to copy,
+-distribute and/or modify the software.
+-
+- Also, for each author's protection and ours, we want to make certain
+-that everyone understands that there is no warranty for this free
+-software. If the software is modified by someone else and passed on, we
+-want its recipients to know that what they have is not the original, so
+-that any problems introduced by others will not reflect on the original
+-authors' reputations.
+-
+- Finally, any free program is threatened constantly by software
+-patents. We wish to avoid the danger that redistributors of a free
+-program will individually obtain patent licenses, in effect making the
+-program proprietary. To prevent this, we have made it clear that any
+-patent must be licensed for everyone's free use or not licensed at all.
++gratis or for a fee, you must pass on to the recipients the same
++freedoms that you received. You must make sure that they, too, receive
++or can get the source code. And you must show them these terms so they
++know their rights.
++
++ Developers that use the GNU GPL protect your rights with two steps:
++(1) assert copyright on the software, and (2) offer you this License
++giving you legal permission to copy, distribute and/or modify it.
++
++ For the developers' and authors' protection, the GPL clearly explains
++that there is no warranty for this free software. For both users' and
++authors' sake, the GPL requires that modified versions be marked as
++changed, so that their problems will not be attributed erroneously to
++authors of previous versions.
++
++ Some devices are designed to deny users access to install or run
++modified versions of the software inside them, although the manufacturer
++can do so. This is fundamentally incompatible with the aim of
++protecting users' freedom to change the software. The systematic
++pattern of such abuse occurs in the area of products for individuals to
++use, which is precisely where it is most unacceptable. Therefore, we
++have designed this version of the GPL to prohibit the practice for those
++products. If such problems arise substantially in other domains, we
++stand ready to extend this provision to those domains in future versions
++of the GPL, as needed to protect the freedom of users.
++
++ Finally, every program is threatened constantly by software patents.
++States should not allow patents to restrict development and use of
++software on general-purpose computers, but in those that do, we wish to
++avoid the special danger that patents applied to a free program could
++make it effectively proprietary. To prevent this, the GPL assures that
++patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+ modification follow.
+-
+- GNU GENERAL PUBLIC LICENSE
+- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+-
+- 0. This License applies to any program or other work which contains
+-a notice placed by the copyright holder saying it may be distributed
+-under the terms of this General Public License. The "Program", below,
+-refers to any such program or work, and a "work based on the Program"
+-means either the Program or any derivative work under copyright law:
+-that is to say, a work containing the Program or a portion of it,
+-either verbatim or with modifications and/or translated into another
+-language. (Hereinafter, translation is included without limitation in
+-the term "modification".) Each licensee is addressed as "you".
+-
+-Activities other than copying, distribution and modification are not
+-covered by this License; they are outside its scope. The act of
+-running the Program is not restricted, and the output from the Program
+-is covered only if its contents constitute a work based on the
+-Program (independent of having been made by running the Program).
+-Whether that is true depends on what the Program does.
+-
+- 1. You may copy and distribute verbatim copies of the Program's
+-source code as you receive it, in any medium, provided that you
+-conspicuously and appropriately publish on each copy an appropriate
+-copyright notice and disclaimer of warranty; keep intact all the
+-notices that refer to this License and to the absence of any warranty;
+-and give any other recipients of the Program a copy of this License
+-along with the Program.
+-
+-You may charge a fee for the physical act of transferring a copy, and
+-you may at your option offer warranty protection in exchange for a fee.
+-
+- 2. You may modify your copy or copies of the Program or any portion
+-of it, thus forming a work based on the Program, and copy and
+-distribute such modifications or work under the terms of Section 1
+-above, provided that you also meet all of these conditions:
+-
+- a) You must cause the modified files to carry prominent notices
+- stating that you changed the files and the date of any change.
+-
+- b) You must cause any work that you distribute or publish, that in
+- whole or in part contains or is derived from the Program or any
+- part thereof, to be licensed as a whole at no charge to all third
+- parties under the terms of this License.
+-
+- c) If the modified program normally reads commands interactively
+- when run, you must cause it, when started running for such
+- interactive use in the most ordinary way, to print or display an
+- announcement including an appropriate copyright notice and a
+- notice that there is no warranty (or else, saying that you provide
+- a warranty) and that users may redistribute the program under
+- these conditions, and telling the user how to view a copy of this
+- License. (Exception: if the Program itself is interactive but
+- does not normally print such an announcement, your work based on
+- the Program is not required to print an announcement.)
+-
+-These requirements apply to the modified work as a whole. If
+-identifiable sections of that work are not derived from the Program,
+-and can be reasonably considered independent and separate works in
+-themselves, then this License, and its terms, do not apply to those
+-sections when you distribute them as separate works. But when you
+-distribute the same sections as part of a whole which is a work based
+-on the Program, the distribution of the whole must be on the terms of
+-this License, whose permissions for other licensees extend to the
+-entire whole, and thus to each and every part regardless of who wrote it.
+-
+-Thus, it is not the intent of this section to claim rights or contest
+-your rights to work written entirely by you; rather, the intent is to
+-exercise the right to control the distribution of derivative or
+-collective works based on the Program.
+-
+-In addition, mere aggregation of another work not based on the Program
+-with the Program (or with a work based on the Program) on a volume of
+-a storage or distribution medium does not bring the other work under
[...2640 lines suppressed...]
- (start_structs_test): Import global anychar_re and first.
- New gdb_test call "set print elements 300; ${testfile}"
- (start_structs_test <$first>): New block.
- (any): Import global anychar_re. New variable ac. Use ${ac}.
-
+--- a/gdb/testsuite/gdb.base/foll-fork.c
++++ b/gdb/testsuite/gdb.base/foll-fork.c
+@@ -9,7 +9,8 @@ void callee (i)
+ int i;
+ #endif
+ {
+- printf("callee: %d\n", i);
++ /* Any output corrupts GDB CLI expect strings.
++ printf("callee: %d\n", i); */
+ }
+
+ #ifdef PROTOTYPES
+--- a/gdb/testsuite/gdb.base/foll-fork.exp
++++ b/gdb/testsuite/gdb.base/foll-fork.exp
+@@ -240,7 +240,8 @@ proc catch_fork_unpatch_child {} {
+ # Delete all breakpoints and catchpoints.
+ delete_breakpoints
+
+- gdb_test "break $bp_exit" \
++ # Force $srcfile as the current GDB source can be in glibc sourcetree.
++ gdb_test "break $srcfile:$bp_exit" \
+ "Breakpoint .*file .*$srcfile, line .*" \
+ "unpatch child, breakpoint at exit call"
+
--- a/gdb/testsuite/gdb.base/structs.c
+++ b/gdb/testsuite/gdb.base/structs.c
@@ -396,6 +396,8 @@ zed ()
@@ -487,76 +3049,11 @@ gdb/testsuite/
}
# Given N (0..25), return the corresponding alphabetic letter in lower
-
-
-
-http://sourceware.org/ml/gdb-patches/2009-11/msg00573.html
-http://sourceware.org/ml/gdb-cvs/2009-11/msg00232.html
-Subject: [patch] testsuite fuzzy results fixup: foll-fork.exp
-
-Hi,
-
-one occasional timeout:
-
- (gdb) PASS: gdb.base/foll-fork.exp: default show parent follow, no catchpoints
- next 2
--callee: 9949
- 25 if (pid == 0) /* set breakpoint here */
--(gdb) PASS: gdb.base/foll-fork.exp: default parent follow, no catchpoints
-+(gdb) callee: 18747
-+FAIL: gdb.base/foll-fork.exp: (timeout) default parent follow, no catchpoints
-
-Dropped the strings as there is no "callee" string expectation in
-foll-fork.exp.
-
-
-and with glibc-debuginfo installed one gets:
-
-(gdb) break 39
-Reading in symbols for ../nptl/sysdeps/unix/sysv/linux/fork.c...done.
-Breakpoint 12 at 0x3ad22a4876: file ../nptl/sysdeps/unix/sysv/linux/fork.c, line 39.
-(gdb) FAIL: gdb.base/foll-fork.exp: unpatch child, breakpoint at exit call
-+
-Breakpoint 12, __libc_fork () at ../nptl/sysdeps/unix/sysv/linux/fork.c:158
-158 fresetlockfiles ();
-(gdb) FAIL: gdb.base/foll-fork.exp: unpatch child, unpatched parent breakpoints from child (unknown output)
-
-
-Thanks,
-Jan
-
-
-gdb/testsuite/
-2009-11-26 Jan Kratochvil <jan.kratochvil at redhat.com>
-
- * gdb.base/foll-fork.exp (unpatch child, breakpoint at exit call):
- Force $srcfile file.
- * gdb.base/foll-fork.c (callee): Comment out the printf call.
-
---- a/gdb/testsuite/gdb.base/foll-fork.c
-+++ b/gdb/testsuite/gdb.base/foll-fork.c
-@@ -9,7 +9,8 @@ void callee (i)
- int i;
- #endif
- {
-- printf("callee: %d\n", i);
-+ /* Any output corrupts GDB CLI expect strings.
-+ printf("callee: %d\n", i); */
- }
-
- #ifdef PROTOTYPES
---- a/gdb/testsuite/gdb.base/foll-fork.exp
-+++ b/gdb/testsuite/gdb.base/foll-fork.exp
-@@ -240,7 +240,8 @@ proc catch_fork_unpatch_child {} {
- # Delete all breakpoints and catchpoints.
- delete_breakpoints
-
-- gdb_test "break $bp_exit" \
-+ # Force $srcfile as the current GDB source can be in glibc sourcetree.
-+ gdb_test "break $srcfile:$bp_exit" \
- "Breakpoint .*file .*$srcfile, line .*" \
- "unpatch child, breakpoint at exit call"
-
+### a/gdb/version.in
+### b/gdb/version.in
+## -1 +1 @@
+-7.0
++7.0.0.20091221-cvs
@@ -627,37 +3124,54 @@ gdb/
-http://sourceware.org/ml/gdb-patches/2009-11/msg00422.html
-http://sourceware.org/ml/gdb-cvs/2009-11/msg00169.html
-
-### src/gdb/ChangeLog 2009/11/19 22:42:48 1.11094
-### src/gdb/ChangeLog 2009/11/19 22:44:32 1.11095
+Re: [RFA] Fix "show convenience" test
+http://sourceware.org/ml/gdb-patches/2009-09/msg00565.html
+http://sourceware.org/ml/gdb-cvs/2009-09/msg00099.html
+
+### src/gdb/testsuite/ChangeLog 2009/09/15 18:51:25 1.1960
+### src/gdb/testsuite/ChangeLog 2009/09/17 17:49:46 1.1961
+## -1,3 +1,7 @@
++2009-09-17 Paul Pluzhnikov <ppluzhnikov at google.com>
++
++ * gdb.base/default.exp: Fix "show convenience".
++
+ 2009-09-15 Tom Tromey <tromey at redhat.com>
+
+ * lib/mi-support.exp (mi_create_varobj): Update.
+--- src/gdb/testsuite/gdb.base/default.exp 2009/08/13 14:58:27 1.31
++++ src/gdb/testsuite/gdb.base/default.exp 2009/09/17 17:49:46 1.32
+@@ -598,7 +598,7 @@
+ #test show confirm
+ gdb_test "show confirm" "Whether to confirm potentially dangerous operations is o\[a-z\]*." "show confirm"
+ #test show convenience
+-gdb_test "show convenience" "No debugger convenience variables now defined.(\[^\r\n\]*\[\r\n\])+Convenience variables have names starting with \".\";(\[^\r\n\]*\[\r\n\])+use \"set\" as in \"set .foo = 5\" to define them." "show convenience"
++gdb_test "show convenience" "\\\$_siginfo = void" "show convenience"
+ #test show directories
+ gdb_test "show directories" "Source directories searched: .cdir\[:;\].cwd" "show directories"
+ #test show editing
+### src/gdb/doc/ChangeLog 2009/09/15 18:51:24 1.953
+### src/gdb/doc/ChangeLog 2009/09/17 17:49:46 1.954
## -1,3 +1,8 @@
-+2009-11-19 Joel Brobecker <brobecker at adacore.com>
++2009-09-17 Paul Pluzhnikov <ppluzhnikov at google.com>
+
-+ * completer.c (complete_line_internal): Make sure the command
-+ completer is not NULL before calling it.
-+
- 2009-11-19 Jerome Guitton <guitton at adacore.com>
++ * gdb.texinfo (convenince variables): Mention
++ $_siginfo could be empty.
++
+ 2009-09-15 Tom Tromey <tromey at redhat.com>
- * ada-lang.c (packed_array_type): Rename to...
---- src/gdb/completer.c 2009/03/25 10:50:56 1.34
-+++ src/gdb/completer.c 2009/11/19 22:44:34 1.35
-@@ -676,7 +676,7 @@
- p--)
- ;
- }
-- if (reason != handle_brkchars)
-+ if (reason != handle_brkchars && c->completer != NULL)
- list = (*c->completer) (c, p, word);
- }
- }
-@@ -747,7 +747,7 @@
- p--)
- ;
- }
-- if (reason != handle_brkchars)
-+ if (reason != handle_brkchars && c->completer != NULL)
- list = (*c->completer) (c, p, word);
- }
- }
+ * gdb.texinfo (GDB/MI Variable Objects): Document
+--- src/gdb/doc/gdb.texinfo 2009/09/15 18:51:25 1.624
++++ src/gdb/doc/gdb.texinfo 2009/09/17 17:49:46 1.625
+@@ -7819,8 +7819,10 @@
+
+ @item $_siginfo
+ @vindex $_siginfo at r{, convenience variable}
+-The variable @code{$_siginfo} is bound to extra signal information
+-inspection (@pxref{extra signal information}).
++The variable @code{$_siginfo} contains extra signal information
++(@pxref{extra signal information}). Note that @code{$_siginfo}
++could be empty, if the application has not yet received any signals.
++For example, it will be empty before you execute the @code{run} command.
+ @end table
+
+ On HP-UX systems, if you refer to a function or variable name that
Index: gdb.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/F-12/gdb.spec,v
retrieving revision 1.403
retrieving revision 1.404
diff -u -p -r1.403 -r1.404
--- gdb.spec 18 Dec 2009 09:51:52 -0000 1.403
+++ gdb.spec 21 Dec 2009 11:26:48 -0000 1.404
@@ -16,8 +16,10 @@
# RHEL-5 ppc* python .so files are shipped only as ppc but gdb is ppc64 there.
# Brew builds it fine as its ppc64 buildroot has full ppc64 package set.
%if 0%{?el5:1}
+%ifarch ppc ppc64
%define _without_python 1
%endif
+%endif
Summary: A GNU source-level debugger for C, C++, Java and other languages
Name: gdb%{?_with_debug:-debug}
@@ -29,7 +31,7 @@ Version: 7.0
# The release always contains a leading reserved number, start it at 1.
# `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
-Release: 11%{?_with_upstream:.upstream}%{dist}
+Release: 12%{?_with_upstream:.upstream}%{dist}
License: GPLv3+
Group: Development/Debuggers
@@ -401,7 +403,17 @@ Patch391: gdb-x86_64-i386-syscall-restar
Patch392: gdb-bz533176-fortran-omp-step.patch
# Use gfortran44 when running the testsuite on RHEL-5.
-Patch393: gdb-rhel5-fortran44.patch
+Patch393: gdb-rhel5-gcc44.patch
+
+# Disable warning messages new for gdb-6.8+ for RHEL-5 backward compatibility.
+# Workaround RHEL-5 kernels for detaching SIGSTOPped processes (BZ 498595).
+Patch335: gdb-rhel5-compat.patch
+
+# Fix backward compatibility with G++ 4.1 namespaces "::".
+Patch395: gdb-empty-namespace.patch
+
+# Fix regression on re-setting the single ppc watchpoint slot.
+Patch396: gdb-ppc-hw-watchpoint-twice.patch
BuildRequires: ncurses-devel texinfo gettext flex bison expat-devel
Requires: readline
@@ -412,7 +424,11 @@ BuildRequires: rpm-devel
Requires: zlib
BuildRequires: zlib-devel
%if 0%{!?_without_python:1}
+%if 0%{!?el5:1}
Requires: python-libs
+%else
+Requires: python
+%endif
BuildRequires: python-devel
# Temporarily before it gets moved to libstdc++.rpm
BuildRequires: libstdc++
@@ -634,10 +650,14 @@ rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc
%patch392 -p1
# Always verify its applicability.
%patch393 -p1
+%patch335 -p1
%if 0%{!?el5:1}
%patch393 -p1 -R
+%patch335 -p1 -R
%endif
%patch394 -p1
+%patch395 -p1
+%patch396 -p1
find -name "*.orig" | xargs rm -f
! find -name "*.rej" # Should not happen.
@@ -706,6 +726,8 @@ CFLAGS="$CFLAGS -O0 -ggdb2"
--disable-rpath \
--with-system-readline \
--with-expat \
+$(: ppc64 host build crashes on /usr/lib/libexpat.so ) \
+ --without-libexpat-prefix \
--enable-tui \
%if 0%{!?_without_python:1}
--with-python \
@@ -808,7 +830,12 @@ gcc -o ./orphanripper %{SOURCE2} -Wall -
CHECK="$(echo $CHECK|sed 's#check//unix/[^ ]*#& &/-fPIE/-pie#g')"
%endif # 0%{!?_with_upstream:1}
- ./orphanripper make %{?_smp_mflags} -k $CHECK || :
+ ./orphanripper make %{?_smp_mflags} -k $CHECK \
+$(: Serialize the output to keep the order for regression checks. ) \
+%if 0%{?el5:1}
+ RUNTESTFLAGS="--tool gdb" \
+%endif
+ || :
)
for t in sum log
do
@@ -942,6 +969,19 @@ fi
%endif
%changelog
+* Mon Dec 21 2009 Jan Kratochvil <jan.kratochvil at redhat.com> - 7.0-12.fc12
+- Workaround build on native ppc64 host.
+- More RHEL-5 compatibility updates.
+ - Disable warning messages new for gdb-6.8+ for RHEL-5 backward compatibility.
+ - Workaround RHEL-5 kernels for detaching SIGSTOPped processes (BZ 498595).
+ - Serialize the testsuite output to keep the order for regression checks.
+ - Re-enable python for all non-ppc* arches.
+ - More gcc44 stack exceptions when running the testsuite on RHEL-5.
+- Fix backward compatibility with G++ 4.1 namespaces "::".
+- Fix regression on re-setting the single ppc watchpoint slot.
+- Update snapshot of FSF gdb-7.0.x branch.
+ - Backport fix of dcache invalidation locking up GDB on ppc64 targets.
+
* Fri Dec 18 2009 Jan Kratochvil <jan.kratochvil at redhat.com> - 7.0-11.fc12
- [pie] Fix general ppc64 regression due to a function descriptors bug.
- [pie] Fix also keeping breakpoints disabled in PIE mode.
--- gdb-rhel5-fortran44.patch DELETED ---
- Previous message (by thread): rpms/fmtools/F-12 fmtools.desktop, NONE, 1.1 fmtools.patch, NONE, 1.1 import.log, NONE, 1.1 radio.png, NONE, 1.1 tkradio, NONE, 1.1 tkradio-mute, NONE, 1.1 .cvsignore, 1.2, 1.3 fmtools.spec, 1.5, 1.6 sources, 1.2, 1.3
- Next message (by thread): rpms/openssh/F-12 .cvsignore, 1.24, 1.25 openssh-5.3p1-audit.patch, 1.1, 1.2 openssh.spec, 1.174, 1.175 sshd.init, 1.5, 1.6
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list