- 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