- Testcase update to cover PPC Power6/DFP instructions disassembly (BZ
230000). - Disable some known timeouting/failing testcases to reduce the build time. - Fix crash on missing filenames debug info (BZ 242155).
This commit is contained in:
parent
8c68955da2
commit
aad703f07a
@ -7,7 +7,7 @@ requires too recent GCC.
|
|||||||
|
|
||||||
--- /dev/null 1 Jan 1970 00:00:00 -0000
|
--- /dev/null 1 Jan 1970 00:00:00 -0000
|
||||||
+++ ./gdb/testsuite/gdb.arch/powerpc-power6.exp 25 Feb 2007 18:27:39 -0000
|
+++ ./gdb/testsuite/gdb.arch/powerpc-power6.exp 25 Feb 2007 18:27:39 -0000
|
||||||
@@ -0,0 +1,44 @@
|
@@ -0,0 +1,54 @@
|
||||||
+# Copyright 2007 Free Software Foundation, Inc.
|
+# Copyright 2007 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
+# This program is free software; you can redistribute it and/or modify
|
+# This program is free software; you can redistribute it and/or modify
|
||||||
@ -50,14 +50,34 @@ requires too recent GCC.
|
|||||||
+
|
+
|
||||||
+gdb_test "disass func" ":\tblr\r\n.*" "Basic disassembly"
|
+gdb_test "disass func" ":\tblr\r\n.*" "Basic disassembly"
|
||||||
+
|
+
|
||||||
+gdb_test "disass func" ":\tdcbzl *r8,r9\r\n.*" "Power6 disassembly 1"
|
+gdb_test "disass func" ":\tdcbzl *r8,r9\r\n.*" "Power5 disassembly dcbzl"
|
||||||
+gdb_test "disass func" ":\tfrsqrtes *f10,f11\r\n.*" "Power6 disassembly 2"
|
+gdb_test "disass func" ":\tfrsqrtes *f10,f11\r\n.*" "Power5 disassembly frsqrtes"
|
||||||
|
+gdb_test "disass func" ":\tdadd *f1,f2,f1\r\n.*" "Power6 disassembly dadd"
|
||||||
|
+gdb_test "disass func" ":\tdaddq *f1,f2,f1\r\n.*" "Power6 disassembly daddq"
|
||||||
|
+gdb_test "disass func" ":\tdsub *f1,f2,f1\r\n.*" "Power6 disassembly dsub"
|
||||||
|
+gdb_test "disass func" ":\tdsubq *f1,f2,f1\r\n.*" "Power6 disassembly dsubq"
|
||||||
|
+gdb_test "disass func" ":\tdmul *f1,f2,f1\r\n.*" "Power6 disassembly dmul"
|
||||||
|
+gdb_test "disass func" ":\tdmulq *f1,f2,f1\r\n.*" "Power6 disassembly dmulq"
|
||||||
|
+gdb_test "disass func" ":\tddiv *f1,f2,f1\r\n.*" "Power6 disassembly ddiv"
|
||||||
|
+gdb_test "disass func" ":\tddivq *f1,f2,f1\r\n.*" "Power6 disassembly ddivq"
|
||||||
|
+gdb_test "disass func" ":\tdcmpu *cr1,f2,f1\r\n.*" "Power6 disassembly dcmpu"
|
||||||
|
+gdb_test "disass func" ":\tdcmpuq *cr1,f2,f1\r\n.*" "Power6 disassembly dcmpuq"
|
||||||
--- /dev/null 1 Jan 1970 00:00:00 -0000
|
--- /dev/null 1 Jan 1970 00:00:00 -0000
|
||||||
+++ ./gdb/testsuite/gdb.arch/powerpc-power6.s 25 Feb 2007 18:27:39 -0000
|
+++ ./gdb/testsuite/gdb.arch/powerpc-power6.s 25 Feb 2007 18:27:39 -0000
|
||||||
@@ -0,0 +1,6 @@
|
@@ -0,0 +1,16 @@
|
||||||
+ .text
|
+ .text
|
||||||
+ .globl func
|
+ .globl func
|
||||||
+func:
|
+func:
|
||||||
+ blr
|
+ blr
|
||||||
+ .long 0x7c284fec
|
+ .long 0x7c284fec /* dcbzl r8,r9 */
|
||||||
+ .long 0xed405834
|
+ .long 0xed405834 /* frsqrtes f10,f11 */
|
||||||
|
+ .long 0xec220804 /* dadd f1,f2,f1 */
|
||||||
|
+ .long 0xfc220804 /* daddq f1,f2,f1 */
|
||||||
|
+ .long 0xec220c04 /* dsub f1,f2,f1 */
|
||||||
|
+ .long 0xfc220c04 /* dsubq f1,f2,f1 */
|
||||||
|
+ .long 0xec220844 /* dmul f1,f2,f1 */
|
||||||
|
+ .long 0xfc220844 /* dmulq f1,f2,f1 */
|
||||||
|
+ .long 0xec220c44 /* ddiv f1,f2,f1 */
|
||||||
|
+ .long 0xfc220c44 /* ddivq f1,f2,f1 */
|
||||||
|
+ .long 0xec820d04 /* dcmpu cr1,f2,f1 */
|
||||||
|
+ .long 0xfc820d04 /* dcmpuq cr1,f2,f1 */
|
||||||
|
42
gdb-6.6-testsuite-timeouts.patch
Normal file
42
gdb-6.6-testsuite-timeouts.patch
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
--- ./gdb/testsuite/gdb.base/annota1.exp 10 Jan 2007 03:23:04 -0000 1.23
|
||||||
|
+++ ./gdb/testsuite/gdb.base/annota1.exp 10 May 2007 12:54:11 -0000
|
||||||
|
@@ -57,6 +57,8 @@ if [target_info exists gdb_stub] {
|
||||||
|
gdb_step_for_stub;
|
||||||
|
}
|
||||||
|
|
||||||
|
+gdb_test "set breakpoint pending off" "" "Avoid lockup on nonexisting functions"
|
||||||
|
+
|
||||||
|
#
|
||||||
|
# the line at which break main will put the breakpoint
|
||||||
|
#
|
||||||
|
--- ./gdb/testsuite/gdb.base/annota3.exp 9 Jan 2007 17:59:09 -0000 1.12
|
||||||
|
+++ ./gdb/testsuite/gdb.base/annota3.exp 10 May 2007 12:54:11 -0000
|
||||||
|
@@ -56,6 +56,8 @@ if [target_info exists gdb_stub] {
|
||||||
|
gdb_step_for_stub;
|
||||||
|
}
|
||||||
|
|
||||||
|
+gdb_test "set breakpoint pending off" "" "Avoid lockup on nonexisting functions"
|
||||||
|
+
|
||||||
|
#
|
||||||
|
# the line at which break main will put the breakpoint
|
||||||
|
#
|
||||||
|
--- gdb-6.6/gdb/testsuite/gdb.threads/step-thread-exit.exp-orig 2007-05-10 15:03:15.000000000 +0200
|
||||||
|
+++ gdb-6.6/gdb/testsuite/gdb.threads/step-thread-exit.exp 2007-05-10 15:04:24.000000000 +0200
|
||||||
|
@@ -58,6 +58,9 @@ gdb_test "continue" "Break.*thread_funct
|
||||||
|
# thread to be stopped and a message printed to tell us we have stepped
|
||||||
|
# over the thread exit.
|
||||||
|
set test "step over thread exit 1"
|
||||||
|
+# ppc64 is currently failing:
|
||||||
|
+set timeout_old $timeout
|
||||||
|
+set timeout 60
|
||||||
|
gdb_test_multiple "next" "$test" {
|
||||||
|
-re "\}.*$gdb_prompt $" {
|
||||||
|
send_gdb "next\n"
|
||||||
|
@@ -71,6 +74,7 @@ gdb_test_multiple "next" "$test" {
|
||||||
|
exp_continue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+set timeout $timeout_old
|
||||||
|
|
||||||
|
gdb_test "bt" ".*sleep.*main.*$sleep_line.*" "backtrace after step 1"
|
||||||
|
|
@ -738,3 +738,147 @@ instructions that take RMC operands.
|
|||||||
--
|
--
|
||||||
Alan Modra
|
Alan Modra
|
||||||
IBM OzLabs - Linux Technology Centre
|
IBM OzLabs - Linux Technology Centre
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2007-05-14 Paul Brook <paul@codesourcery.com>
|
||||||
|
Daniel Jacobowitz <dan@codesourcery.com>
|
||||||
|
|
||||||
|
* dwarf2read.c (dwarf2_debug_line_missing_file_complaint): New
|
||||||
|
function.
|
||||||
|
(dwarf_decode_lines): Check for line info without a file.
|
||||||
|
|
||||||
|
--- src/gdb/dwarf2read.c 2007/04/18 13:25:04 1.218
|
||||||
|
+++ src/gdb/dwarf2read.c 2007/05/14 17:15:20 1.219
|
||||||
|
@@ -688,6 +688,13 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
+dwarf2_debug_line_missing_file_complaint (void)
|
||||||
|
+{
|
||||||
|
+ complaint (&symfile_complaints,
|
||||||
|
+ _(".debug_line section has line data without a file"));
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static void
|
||||||
|
dwarf2_complex_location_expr_complaint (void)
|
||||||
|
{
|
||||||
|
complaint (&symfile_complaints, _("location expression too complex"));
|
||||||
|
@@ -6708,19 +6715,24 @@
|
||||||
|
address += (adj_opcode / lh->line_range)
|
||||||
|
* lh->minimum_instruction_length;
|
||||||
|
line += lh->line_base + (adj_opcode % lh->line_range);
|
||||||
|
- lh->file_names[file - 1].included_p = 1;
|
||||||
|
- if (!decode_for_pst_p)
|
||||||
|
- {
|
||||||
|
- if (last_subfile != current_subfile)
|
||||||
|
- {
|
||||||
|
- if (last_subfile)
|
||||||
|
- record_line (last_subfile, 0, address);
|
||||||
|
- last_subfile = current_subfile;
|
||||||
|
+ if (lh->num_file_names < file)
|
||||||
|
+ dwarf2_debug_line_missing_file_complaint ();
|
||||||
|
+ else
|
||||||
|
+ {
|
||||||
|
+ lh->file_names[file - 1].included_p = 1;
|
||||||
|
+ if (!decode_for_pst_p)
|
||||||
|
+ {
|
||||||
|
+ if (last_subfile != current_subfile)
|
||||||
|
+ {
|
||||||
|
+ if (last_subfile)
|
||||||
|
+ record_line (last_subfile, 0, address);
|
||||||
|
+ last_subfile = current_subfile;
|
||||||
|
+ }
|
||||||
|
+ /* Append row to matrix using current values. */
|
||||||
|
+ record_line (current_subfile, line,
|
||||||
|
+ check_cu_functions (address, cu));
|
||||||
|
}
|
||||||
|
- /* Append row to matrix using current values. */
|
||||||
|
- record_line (current_subfile, line,
|
||||||
|
- check_cu_functions (address, cu));
|
||||||
|
- }
|
||||||
|
+ }
|
||||||
|
basic_block = 1;
|
||||||
|
}
|
||||||
|
else switch (op_code)
|
||||||
|
@@ -6734,9 +6746,15 @@
|
||||||
|
{
|
||||||
|
case DW_LNE_end_sequence:
|
||||||
|
end_sequence = 1;
|
||||||
|
- lh->file_names[file - 1].included_p = 1;
|
||||||
|
- if (!decode_for_pst_p)
|
||||||
|
- record_line (current_subfile, 0, address);
|
||||||
|
+
|
||||||
|
+ if (lh->num_file_names < file)
|
||||||
|
+ dwarf2_debug_line_missing_file_complaint ();
|
||||||
|
+ else
|
||||||
|
+ {
|
||||||
|
+ lh->file_names[file - 1].included_p = 1;
|
||||||
|
+ if (!decode_for_pst_p)
|
||||||
|
+ record_line (current_subfile, 0, address);
|
||||||
|
+ }
|
||||||
|
break;
|
||||||
|
case DW_LNE_set_address:
|
||||||
|
address = read_address (abfd, line_ptr, cu, &bytes_read);
|
||||||
|
@@ -6769,17 +6787,22 @@
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case DW_LNS_copy:
|
||||||
|
- lh->file_names[file - 1].included_p = 1;
|
||||||
|
- if (!decode_for_pst_p)
|
||||||
|
+ if (lh->num_file_names < file)
|
||||||
|
+ dwarf2_debug_line_missing_file_complaint ();
|
||||||
|
+ else
|
||||||
|
{
|
||||||
|
- if (last_subfile != current_subfile)
|
||||||
|
- {
|
||||||
|
- if (last_subfile)
|
||||||
|
- record_line (last_subfile, 0, address);
|
||||||
|
- last_subfile = current_subfile;
|
||||||
|
- }
|
||||||
|
- record_line (current_subfile, line,
|
||||||
|
- check_cu_functions (address, cu));
|
||||||
|
+ lh->file_names[file - 1].included_p = 1;
|
||||||
|
+ if (!decode_for_pst_p)
|
||||||
|
+ {
|
||||||
|
+ if (last_subfile != current_subfile)
|
||||||
|
+ {
|
||||||
|
+ if (last_subfile)
|
||||||
|
+ record_line (last_subfile, 0, address);
|
||||||
|
+ last_subfile = current_subfile;
|
||||||
|
+ }
|
||||||
|
+ record_line (current_subfile, line,
|
||||||
|
+ check_cu_functions (address, cu));
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
basic_block = 0;
|
||||||
|
break;
|
||||||
|
@@ -6806,15 +6806,19 @@ dwarf_decode_lines (struct line_header *
|
||||||
|
|
||||||
|
file = read_unsigned_leb128 (abfd, line_ptr, &bytes_read);
|
||||||
|
line_ptr += bytes_read;
|
||||||
|
- fe = &lh->file_names[file - 1];
|
||||||
|
- if (fe->dir_index)
|
||||||
|
- dir = lh->include_dirs[fe->dir_index - 1];
|
||||||
|
-
|
||||||
|
- if (!decode_for_pst_p)
|
||||||
|
- {
|
||||||
|
- last_subfile = current_subfile;
|
||||||
|
- dwarf2_start_subfile (fe->name, dir, comp_dir, file);
|
||||||
|
- }
|
||||||
|
+ if (lh->num_file_names < file)
|
||||||
|
+ dwarf2_debug_line_missing_file_complaint ();
|
||||||
|
+ else
|
||||||
|
+ {
|
||||||
|
+ fe = &lh->file_names[file - 1];
|
||||||
|
+ if (fe->dir_index)
|
||||||
|
+ dir = lh->include_dirs[fe->dir_index - 1];
|
||||||
|
+ if (!decode_for_pst_p)
|
||||||
|
+ {
|
||||||
|
+ last_subfile = current_subfile;
|
||||||
|
+ dwarf2_start_subfile (fe->name, dir, comp_dir, file);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case DW_LNS_set_column:
|
||||||
|
15
gdb.spec
15
gdb.spec
@ -11,7 +11,7 @@ Name: gdb
|
|||||||
Version: 6.6
|
Version: 6.6
|
||||||
|
|
||||||
# The release always contains a leading reserved number, start it at 1.
|
# The release always contains a leading reserved number, start it at 1.
|
||||||
Release: 14%{?dist}
|
Release: 15%{?dist}
|
||||||
|
|
||||||
License: GPL
|
License: GPL
|
||||||
Group: Development/Debuggers
|
Group: Development/Debuggers
|
||||||
@ -347,6 +347,9 @@ Patch249: gdb-6.6-gcore32-test.patch
|
|||||||
# Enable PowerPC to print 128-bit long double variables (BZ 237872).
|
# Enable PowerPC to print 128-bit long double variables (BZ 237872).
|
||||||
Patch251: gdb-6.5-bz237872-ppc-long-double.patch
|
Patch251: gdb-6.5-bz237872-ppc-long-double.patch
|
||||||
|
|
||||||
|
# Avoid too long timeouts on failing cases of "annota1.exp annota3.exp".
|
||||||
|
Patch254: gdb-6.6-testsuite-timeouts.patch
|
||||||
|
|
||||||
BuildRequires: ncurses-devel glibc-devel gcc make gzip texinfo dejagnu gettext
|
BuildRequires: ncurses-devel glibc-devel gcc make gzip texinfo dejagnu gettext
|
||||||
BuildRequires: flex bison sharutils expat-devel
|
BuildRequires: flex bison sharutils expat-devel
|
||||||
|
|
||||||
@ -490,6 +493,7 @@ rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc-exp.c gdb/p-exp.c
|
|||||||
%patch248 -p1
|
%patch248 -p1
|
||||||
%patch249 -p1
|
%patch249 -p1
|
||||||
%patch251 -p1
|
%patch251 -p1
|
||||||
|
%patch254 -p1
|
||||||
|
|
||||||
# Change the version that gets printed at GDB startup, so it is RedHat
|
# Change the version that gets printed at GDB startup, so it is RedHat
|
||||||
# specific.
|
# specific.
|
||||||
@ -560,11 +564,13 @@ cd gdb/testsuite
|
|||||||
# "threadcrash.exp" is incompatible on ia64 with old kernels.
|
# "threadcrash.exp" is incompatible on ia64 with old kernels.
|
||||||
# No `%{?_smp_mflags}' here as it may race.
|
# No `%{?_smp_mflags}' here as it may race.
|
||||||
# WARNING: can't generate a core file - core tests suppressed - check ulimit
|
# WARNING: can't generate a core file - core tests suppressed - check ulimit
|
||||||
|
# "attachstop.exp" - Functionality is currently broken but timeout is long.
|
||||||
|
# "readline-overflow.exp" - Testcase is broken, functionality is OK.
|
||||||
(
|
(
|
||||||
# ULIMIT required for `gdb.base/auxv.exp'.
|
# ULIMIT required for `gdb.base/auxv.exp'.
|
||||||
ulimit -H -c
|
ulimit -H -c
|
||||||
ulimit -c unlimited || :
|
ulimit -c unlimited || :
|
||||||
make -k check RUNTESTFLAGS='--ignore "bigcore.exp chng-syms.exp checkpoint.exp threadcrash.exp"' || :
|
make -k check RUNTESTFLAGS='--ignore "bigcore.exp chng-syms.exp checkpoint.exp threadcrash.exp attachstop.exp readline-overflow.exp"' || :
|
||||||
)
|
)
|
||||||
for t in sum log; do
|
for t in sum log; do
|
||||||
ln gdb.$t gdb-%{_target_platform}.$t || :
|
ln gdb.$t gdb-%{_target_platform}.$t || :
|
||||||
@ -637,6 +643,11 @@ fi
|
|||||||
# don't include the files in include, they are part of binutils
|
# don't include the files in include, they are part of binutils
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Jun 7 2007 Jan Kratochvil <jan.kratochvil@redhat.com> - 6.6-15
|
||||||
|
- Testcase update to cover PPC Power6/DFP instructions disassembly (BZ 230000).
|
||||||
|
- Disable some known timeouting/failing testcases to reduce the build time.
|
||||||
|
- Fix crash on missing filenames debug info (BZ 242155).
|
||||||
|
|
||||||
* Sat Apr 28 2007 Jan Kratochvil <jan.kratochvil@redhat.com> - 6.6-14
|
* Sat Apr 28 2007 Jan Kratochvil <jan.kratochvil@redhat.com> - 6.6-14
|
||||||
- Fixup for the PPC Power6/DFP instructions disassembly (BZ 230000).
|
- Fixup for the PPC Power6/DFP instructions disassembly (BZ 230000).
|
||||||
- New testcase for the GCORE buffer overflow (for BZ 238285, formerly 235753).
|
- New testcase for the GCORE buffer overflow (for BZ 238285, formerly 235753).
|
||||||
|
Loading…
Reference in New Issue
Block a user