- 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
|
||||
+++ ./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.
|
||||
+
|
||||
+# 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" ":\tdcbzl *r8,r9\r\n.*" "Power6 disassembly 1"
|
||||
+gdb_test "disass func" ":\tfrsqrtes *f10,f11\r\n.*" "Power6 disassembly 2"
|
||||
+gdb_test "disass func" ":\tdcbzl *r8,r9\r\n.*" "Power5 disassembly dcbzl"
|
||||
+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
|
||||
+++ ./gdb/testsuite/gdb.arch/powerpc-power6.s 25 Feb 2007 18:27:39 -0000
|
||||
@@ -0,0 +1,6 @@
|
||||
@@ -0,0 +1,16 @@
|
||||
+ .text
|
||||
+ .globl func
|
||||
+func:
|
||||
+ blr
|
||||
+ .long 0x7c284fec
|
||||
+ .long 0xed405834
|
||||
+ .long 0x7c284fec /* dcbzl r8,r9 */
|
||||
+ .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
|
||||
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
|
||||
|
||||
# The release always contains a leading reserved number, start it at 1.
|
||||
Release: 14%{?dist}
|
||||
Release: 15%{?dist}
|
||||
|
||||
License: GPL
|
||||
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).
|
||||
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: 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
|
||||
%patch249 -p1
|
||||
%patch251 -p1
|
||||
%patch254 -p1
|
||||
|
||||
# Change the version that gets printed at GDB startup, so it is RedHat
|
||||
# specific.
|
||||
@ -560,11 +564,13 @@ cd gdb/testsuite
|
||||
# "threadcrash.exp" is incompatible on ia64 with old kernels.
|
||||
# No `%{?_smp_mflags}' here as it may race.
|
||||
# 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 -H -c
|
||||
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
|
||||
ln gdb.$t gdb-%{_target_platform}.$t || :
|
||||
@ -637,6 +643,11 @@ fi
|
||||
# don't include the files in include, they are part of binutils
|
||||
|
||||
%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
|
||||
- Fixup for the PPC Power6/DFP instructions disassembly (BZ 230000).
|
||||
- New testcase for the GCORE buffer overflow (for BZ 238285, formerly 235753).
|
||||
|
Loading…
Reference in New Issue
Block a user