- archer-jankratochvil-fedora13 commit:
59c35a31f0981a0f0b884b32c91ae6325b2126cd - Fortran: Fix regression on setting breakpoint at toplevel symbols (BZ 559291; David Moore, Intel).
This commit is contained in:
parent
8b7a3e1875
commit
aee5861550
@ -1,2 +1,2 @@
|
|||||||
gdb-7.0.50.20100128.tar.bz2
|
gdb-7.0.50.20100203.tar.bz2
|
||||||
libstdc++-v3-python-r155978.tar.bz2
|
libstdc++-v3-python-r155978.tar.bz2
|
||||||
|
@ -3,11 +3,11 @@ Test GCORE on 32bit inferiors on 64bit platforms.
|
|||||||
UNSUPPORTED results are valid for `-m64' on 32bit targets.
|
UNSUPPORTED results are valid for `-m64' on 32bit targets.
|
||||||
|
|
||||||
|
|
||||||
Index: gdb-6.8/gdb/testsuite/gdb.base/gcore.exp
|
Index: gdb-7.0.50.20100203/gdb/testsuite/gdb.base/gcore.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-6.8.orig/gdb/testsuite/gdb.base/gcore.exp 2008-01-01 23:53:19.000000000 +0100
|
--- gdb-7.0.50.20100203.orig/gdb/testsuite/gdb.base/gcore.exp 2010-02-01 18:15:36.000000000 +0100
|
||||||
+++ gdb-6.8/gdb/testsuite/gdb.base/gcore.exp 2008-07-14 10:28:05.000000000 +0200
|
+++ gdb-7.0.50.20100203/gdb/testsuite/gdb.base/gcore.exp 2010-02-03 06:39:54.000000000 +0100
|
||||||
@@ -30,9 +30,14 @@ set testfile "gcore"
|
@@ -28,9 +28,14 @@ set testfile "gcore"
|
||||||
set srcfile ${testfile}.c
|
set srcfile ${testfile}.c
|
||||||
set binfile ${objdir}/${subdir}/${testfile}
|
set binfile ${objdir}/${subdir}/${testfile}
|
||||||
|
|
||||||
@ -25,7 +25,7 @@ Index: gdb-6.8/gdb/testsuite/gdb.base/gcore.exp
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Start with a fresh gdb.
|
# Start with a fresh gdb.
|
||||||
@@ -47,23 +52,23 @@ send_gdb "help gcore\n"
|
@@ -45,23 +50,23 @@ send_gdb "help gcore\n"
|
||||||
gdb_expect {
|
gdb_expect {
|
||||||
-re "Undefined command: .gcore.*$gdb_prompt $" {
|
-re "Undefined command: .gcore.*$gdb_prompt $" {
|
||||||
# gcore command not supported -- nothing to test here.
|
# gcore command not supported -- nothing to test here.
|
||||||
@ -56,16 +56,16 @@ Index: gdb-6.8/gdb/testsuite/gdb.base/gcore.exp
|
|||||||
}
|
}
|
||||||
|
|
||||||
proc capture_command_output { command prefix } {
|
proc capture_command_output { command prefix } {
|
||||||
@@ -77,7 +82,7 @@ proc capture_command_output { command pr
|
@@ -69,7 +74,7 @@ proc capture_command_output { command pr
|
||||||
|
global expect_out
|
||||||
|
|
||||||
|
set output_string ""
|
||||||
|
- gdb_test_multiple "$command" "capture_command_output for $command" {
|
||||||
|
+ gdb_test_multiple "$command" "${prefix} capture_command_output for $command" {
|
||||||
|
-re "${command}\[\r\n\]+${prefix}(.*)\[\r\n\]+$gdb_prompt $" {
|
||||||
set output_string $expect_out(1,string)
|
set output_string $expect_out(1,string)
|
||||||
}
|
}
|
||||||
default {
|
@@ -103,22 +108,22 @@ set escapedfilename [string_to_regexp ${
|
||||||
- fail "capture_command_output failed on $command."
|
|
||||||
+ fail "${prefix} capture_command_output failed on $command."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return $output_string
|
|
||||||
@@ -109,22 +114,22 @@ set escapedfilename [string_to_regexp ${
|
|
||||||
|
|
||||||
set core_supported 0
|
set core_supported 0
|
||||||
gdb_test_multiple "gcore ${objdir}/${subdir}/gcore.test" \
|
gdb_test_multiple "gcore ${objdir}/${subdir}/gcore.test" \
|
||||||
@ -92,7 +92,7 @@ Index: gdb-6.8/gdb/testsuite/gdb.base/gcore.exp
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Now restart gdb and load the corefile.
|
# Now restart gdb and load the corefile.
|
||||||
@@ -136,31 +141,31 @@ gdb_load ${binfile}
|
@@ -130,31 +135,31 @@ gdb_load ${binfile}
|
||||||
send_gdb "core ${objdir}/${subdir}/gcore.test\n"
|
send_gdb "core ${objdir}/${subdir}/gcore.test\n"
|
||||||
gdb_expect {
|
gdb_expect {
|
||||||
-re ".* is not a core dump:.*$gdb_prompt $" {
|
-re ".* is not a core dump:.*$gdb_prompt $" {
|
||||||
@ -133,7 +133,7 @@ Index: gdb-6.8/gdb/testsuite/gdb.base/gcore.exp
|
|||||||
".*\[\r\n\]+#0 .* terminal_func \\(\\) at "
|
".*\[\r\n\]+#0 .* terminal_func \\(\\) at "
|
||||||
".*\[\r\n\]+#1 .* array_func \\(\\) at "
|
".*\[\r\n\]+#1 .* array_func \\(\\) at "
|
||||||
".*\[\r\n\]+#2 .* factorial_func \\(value=1\\) at "
|
".*\[\r\n\]+#2 .* factorial_func \\(value=1\\) at "
|
||||||
@@ -174,61 +179,64 @@ gdb_expect_list "where in corefile" ".*$
|
@@ -168,61 +173,64 @@ gdb_expect_list "where in corefile" ".*$
|
||||||
|
|
||||||
set post_corefile_regs [capture_command_output "info registers" ""]
|
set post_corefile_regs [capture_command_output "info registers" ""]
|
||||||
if ![string compare $pre_corefile_regs $post_corefile_regs] then {
|
if ![string compare $pre_corefile_regs $post_corefile_regs] then {
|
||||||
|
625
gdb-archer.patch
625
gdb-archer.patch
File diff suppressed because it is too large
Load Diff
@ -1,172 +0,0 @@
|
|||||||
http://sourceware.org/ml/gdb-patches/2010-01/msg00661.html
|
|
||||||
Subject: [patch] Fix failed gdb_assert due to the PIE patchset
|
|
||||||
|
|
||||||
Hi,
|
|
||||||
|
|
||||||
the PIE patchset brought in an occasionally failing gdb_assert (according to
|
|
||||||
Fedora ABRT bugreports).
|
|
||||||
solib-svr4.c:600: internal-error: scan_dyntag: Assertion `target_section < current_target_sections->sections_end' failed.
|
|
||||||
|
|
||||||
Now I understand it as generally current_target_sections are about target-side
|
|
||||||
data while symbols are the GDB side and there is only loose relation of those.
|
|
||||||
|
|
||||||
ABFD can be from multiple places acting for multiple purposes as parsed by
|
|
||||||
elf_lookup_lib_symbol:
|
|
||||||
|
|
||||||
exec_bfd:
|
|
||||||
It cannot be from exec_one - this BFD has no associated objfile to
|
|
||||||
pass to symfile_objfile. OK.
|
|
||||||
symfile_objfile:
|
|
||||||
It gets translated by elf_lookup_lib_symbol into exec_bfd which
|
|
||||||
represents the target data. OK.
|
|
||||||
so_list's objfile's separate_debug_objfile file:
|
|
||||||
gdb_assert-forbidden as input to elf_lookup_lib_symbol. OK.
|
|
||||||
so_list's objfile's main file:
|
|
||||||
update_solib_list must have called add_target_sections. OK.
|
|
||||||
objfile's separate_debug_objfile file:
|
|
||||||
gdb_assert-forbidden as input to elf_lookup_lib_symbol. OK.
|
|
||||||
objfile's main file (if it has no associated so_list):
|
|
||||||
Such ABFD from add_symbol_file_command has no add_target_sections
|
|
||||||
called. Still it can have current context BLOCK which crashes
|
|
||||||
scan_dyntag. BUG.
|
|
||||||
|
|
||||||
|
|
||||||
No regressions on {x86_64,x86_64-m32,i686}-fedora12-linux-gnu.
|
|
||||||
|
|
||||||
The patch mostly reverts the PIE part there.
|
|
||||||
|
|
||||||
OK to check in?
|
|
||||||
|
|
||||||
|
|
||||||
Sorry,
|
|
||||||
Jan
|
|
||||||
|
|
||||||
|
|
||||||
gdb/
|
|
||||||
2010-01-31 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
||||||
|
|
||||||
* solib-svr4.c (scan_dyntag): New variable dyn_addr. Replace gdb_assert
|
|
||||||
by a conditional setting DYN_ADDR. Use DYN_ADDR.
|
|
||||||
* config/djgpp/fnchange.lst: Add translations for
|
|
||||||
symbol-without-target_section.exp and symbol-without-target_section.c.
|
|
||||||
|
|
||||||
gdb/testsuite/
|
|
||||||
2010-01-31 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
||||||
|
|
||||||
* gdb.base/symbol-without-target_section.exp,
|
|
||||||
gdb.base/symbol-without-target_section.c: New.
|
|
||||||
|
|
||||||
--- a/gdb/config/djgpp/fnchange.lst
|
|
||||||
+++ b/gdb/config/djgpp/fnchange.lst
|
|
||||||
@@ -394,6 +394,8 @@
|
|
||||||
@V@/gdb/testsuite/gdb.base/solib-symbol-main.c @V@/gdb/testsuite/gdb.base/so-symmain.c
|
|
||||||
@V@/gdb/testsuite/gdb.base/solib-overlap-lib.c @V@/gdb/testsuite/gdb.base/so-ovrlib.c
|
|
||||||
@V@/gdb/testsuite/gdb.base/solib-overlap-main.c @V@/gdb/testsuite/gdb.base/so-ovrmain.c
|
|
||||||
+@V@/gdb/testsuite/gdb.base/gdb.base/symbol-without-target_section.exp @V@/gdb/testsuite/gdb.base/symnosec.exp
|
|
||||||
+@V@/gdb/testsuite/gdb.base/gdb.base/symbol-without-target_section.c @V@/gdb/testsuite/gdb.base/symnosec.c
|
|
||||||
@V@/gdb/testsuite/gdb.base/type-opaque-lib.c @V@/gdb/testsuite/gdb.base/ty-opqlib.c
|
|
||||||
@V@/gdb/testsuite/gdb.base/type-opaque-main.c @V@/gdb/testsuite/gdb.base/ty-opqmain.c
|
|
||||||
@V@/gdb/testsuite/gdb.base/watchpoint-hw.c @V@/gdb/testsuite/gdb.base/wp-hw.c
|
|
||||||
--- a/gdb/solib-svr4.c
|
|
||||||
+++ b/gdb/solib-svr4.c
|
|
||||||
@@ -570,7 +570,7 @@ scan_dyntag (int dyntag, bfd *abfd, CORE_ADDR *ptr)
|
|
||||||
{
|
|
||||||
int arch_size, step, sect_size;
|
|
||||||
long dyn_tag;
|
|
||||||
- CORE_ADDR dyn_ptr;
|
|
||||||
+ CORE_ADDR dyn_ptr, dyn_addr;
|
|
||||||
gdb_byte *bufend, *bufstart, *buf;
|
|
||||||
Elf32_External_Dyn *x_dynp_32;
|
|
||||||
Elf64_External_Dyn *x_dynp_64;
|
|
||||||
@@ -597,7 +597,17 @@ scan_dyntag (int dyntag, bfd *abfd, CORE_ADDR *ptr)
|
|
||||||
target_section++)
|
|
||||||
if (sect == target_section->the_bfd_section)
|
|
||||||
break;
|
|
||||||
- gdb_assert (target_section < current_target_sections->sections_end);
|
|
||||||
+ if (target_section < current_target_sections->sections_end)
|
|
||||||
+ dyn_addr = target_section->addr;
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ /* ABFD may come from OBJFILE acting only as a symbol file without being
|
|
||||||
+ loaded into the target (see add_symbol_file_command). This case is
|
|
||||||
+ such fallback to the file VMA address without the possibility of
|
|
||||||
+ having the section relocated to its actual in-memory address. */
|
|
||||||
+
|
|
||||||
+ dyn_addr = bfd_section_vma (abfd, sect);
|
|
||||||
+ }
|
|
||||||
|
|
||||||
/* Read in .dynamic from the BFD. We will get the actual value
|
|
||||||
from memory later. */
|
|
||||||
@@ -639,7 +649,7 @@ scan_dyntag (int dyntag, bfd *abfd, CORE_ADDR *ptr)
|
|
||||||
CORE_ADDR ptr_addr;
|
|
||||||
|
|
||||||
ptr_type = builtin_type (target_gdbarch)->builtin_data_ptr;
|
|
||||||
- ptr_addr = target_section->addr + (buf - bufstart) + arch_size / 8;
|
|
||||||
+ ptr_addr = dyn_addr + (buf - bufstart) + arch_size / 8;
|
|
||||||
if (target_read_memory (ptr_addr, ptr_buf, arch_size / 8) == 0)
|
|
||||||
dyn_ptr = extract_typed_address (ptr_buf, ptr_type);
|
|
||||||
*ptr = dyn_ptr;
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/gdb/testsuite/gdb.base/symbol-without-target_section.c
|
|
||||||
@@ -0,0 +1,18 @@
|
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
|
||||||
+
|
|
||||||
+ Copyright 2010 Free Software Foundation, Inc.
|
|
||||||
+
|
|
||||||
+ This program is free software; you can redistribute it and/or modify
|
|
||||||
+ it under the terms of the GNU General Public License as published by
|
|
||||||
+ the Free Software Foundation; either version 3 of the License, or
|
|
||||||
+ (at your option) any later version.
|
|
||||||
+
|
|
||||||
+ This program is distributed in the hope that it will be useful,
|
|
||||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
+ GNU General Public License for more details.
|
|
||||||
+
|
|
||||||
+ You should have received a copy of the GNU General Public License
|
|
||||||
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
|
||||||
+
|
|
||||||
+int symbol_without_target_section;
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/gdb/testsuite/gdb.base/symbol-without-target_section.exp
|
|
||||||
@@ -0,0 +1,39 @@
|
|
||||||
+# Copyright 2010 Free Software Foundation, Inc.
|
|
||||||
+
|
|
||||||
+# This program is free software; you can redistribute it and/or modify
|
|
||||||
+# it under the terms of the GNU General Public License as published by
|
|
||||||
+# the Free Software Foundation; either version 3 of the License, or
|
|
||||||
+# (at your option) any later version.
|
|
||||||
+#
|
|
||||||
+# This program is distributed in the hope that it will be useful,
|
|
||||||
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
+# GNU General Public License for more details.
|
|
||||||
+#
|
|
||||||
+# You should have received a copy of the GNU General Public License
|
|
||||||
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
+
|
|
||||||
+# Exploit formerly failed assertion in scan_dyntag when it got called for
|
|
||||||
+# objfile having ".dynamic" section but without having data loaded in target.
|
|
||||||
+# Such file is ${binmainfile} through add-symbol-file here. Set context first
|
|
||||||
+# by "list main" to have some local BLOCK set in lookup_symbol_global.
|
|
||||||
+
|
|
||||||
+set testfile symbol-without-target_section
|
|
||||||
+set srclibfile ${testfile}.c
|
|
||||||
+set binlibfile ${testfile}.x
|
|
||||||
+set srcmainfile start.c
|
|
||||||
+set binmainfile ${testfile}
|
|
||||||
+if { [gdb_compile "${srcdir}/${subdir}/${srclibfile}" \
|
|
||||||
+ "${objdir}/${subdir}/${binlibfile}" object {debug}] != "" } {
|
|
||||||
+ untested ${testfile}.exp
|
|
||||||
+ return -1
|
|
||||||
+}
|
|
||||||
+if {[build_executable ${testfile}.exp ${binmainfile} ${srcmainfile} {debug}] == -1} {
|
|
||||||
+ return -1
|
|
||||||
+}
|
|
||||||
+clean_restart ${binlibfile}
|
|
||||||
+
|
|
||||||
+gdb_test "add-symbol-file ${objdir}/${subdir}/${binmainfile} 0" "" "add-symbol-file" \
|
|
||||||
+ "add symbol table from file \".*\" at.*\\(y or n\\) " "y"
|
|
||||||
+gdb_test "list main"
|
|
||||||
+gdb_test "print symbol_without_target_section"
|
|
||||||
|
|
13
gdb.spec
13
gdb.spec
@ -32,11 +32,11 @@ Name: gdb%{?_with_debug:-debug}
|
|||||||
# Set version to contents of gdb/version.in.
|
# Set version to contents of gdb/version.in.
|
||||||
# NOTE: the FSF gdb versions are numbered N.M for official releases, like 6.3
|
# 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).
|
# 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: 7.0.50.20100128
|
Version: 7.0.50.20100203
|
||||||
|
|
||||||
# The release always contains a leading reserved number, start it at 1.
|
# The release always contains a leading reserved number, start it at 1.
|
||||||
# `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
|
# `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
|
||||||
Release: 12%{?_with_upstream:.upstream}%{dist}
|
Release: 13%{?_with_upstream:.upstream}%{dist}
|
||||||
|
|
||||||
License: GPLv3+
|
License: GPLv3+
|
||||||
Group: Development/Debuggers
|
Group: Development/Debuggers
|
||||||
@ -426,9 +426,6 @@ Patch408: gdb-ppc-power7-test.patch
|
|||||||
# Revert: Add -Wunused-function to compile flags.
|
# Revert: Add -Wunused-function to compile flags.
|
||||||
Patch412: gdb-unused-revert.patch
|
Patch412: gdb-unused-revert.patch
|
||||||
|
|
||||||
# Fix failed gdb_assert due to the PIE patchset (BZ 559414).
|
|
||||||
Patch414: gdb-bz559414-pie-assert-fix.patch
|
|
||||||
|
|
||||||
BuildRequires: ncurses-devel%{?_isa} texinfo gettext flex bison expat-devel%{?_isa}
|
BuildRequires: ncurses-devel%{?_isa} texinfo gettext flex bison expat-devel%{?_isa}
|
||||||
Requires: readline%{?_isa}
|
Requires: readline%{?_isa}
|
||||||
BuildRequires: readline-devel%{?_isa}
|
BuildRequires: readline-devel%{?_isa}
|
||||||
@ -677,7 +674,6 @@ rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc-exp.c gdb/p-exp.c
|
|||||||
%patch407 -p1
|
%patch407 -p1
|
||||||
%patch408 -p1
|
%patch408 -p1
|
||||||
%patch412 -p1
|
%patch412 -p1
|
||||||
%patch414 -p1
|
|
||||||
%patch415 -p1
|
%patch415 -p1
|
||||||
%patch393 -p1
|
%patch393 -p1
|
||||||
%patch335 -p1
|
%patch335 -p1
|
||||||
@ -1009,6 +1005,11 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Feb 3 2010 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.0.50.20100203-13.fc13
|
||||||
|
- archer-jankratochvil-fedora13 commit: 59c35a31f0981a0f0b884b32c91ae6325b2126cd
|
||||||
|
- Fortran: Fix regression on setting breakpoint at toplevel symbols (BZ 559291;
|
||||||
|
David Moore, Intel).
|
||||||
|
|
||||||
* Mon Feb 1 2010 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.0.50.20100128-12.fc13
|
* Mon Feb 1 2010 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.0.50.20100128-12.fc13
|
||||||
- archer-jankratochvil-fedora13 commit: 5a573e8b26a2f0a6947d4c0249e43e5456610860
|
- archer-jankratochvil-fedora13 commit: 5a573e8b26a2f0a6947d4c0249e43e5456610860
|
||||||
- Remove ExcludeArch on ia64 as it is now fixed up.
|
- Remove ExcludeArch on ia64 as it is now fixed up.
|
||||||
|
Loading…
Reference in New Issue
Block a user