This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[testsuite patch] Fix recent GCC FAIL: gdb.arch/i386-signal.exp


Hi,

gcc-6.2.1-2.fc24.x86_64

(gdb) backtrace 10^M
#0  func () at .../gdb/testsuite/gdb.arch/i386-signal.c:26^M
#1  <signal handler called>^M
#2  0x0000000000400588 in main () at .../gdb/testsuite/gdb.arch/i386-signal.c:31^M
(gdb) FAIL: gdb.arch/i386-signal.exp: backtrace 10

(gdb) disas/s
Dump of assembler code for function main:
.../gdb/testsuite/gdb.arch/i386-signal.c:
30      {
   0x000000000040057f <+0>:     push   %rbp
   0x0000000000400580 <+1>:     mov    %rsp,%rbp
31        setup ();
   0x0000000000400583 <+4>:     callq  0x400590 <setup>
=> 0x0000000000400588 <+9>:     mov    $0x0,%eax
32      }
   0x000000000040058d <+14>:    pop    %rbp
   0x000000000040058e <+15>:    retq
End of assembler dump.

The two attached patch chunks each fixes the FAIL on its own.

The .exp patch is an obvious typo fix I think.  The regex was written to
accept "ADDR in main" and I find it OK as checking .debug_line validity is not
the purpose of this testfile.

The .c patch will properly create a new corresponding source line .debug_line
entry for the 'mov $0x0,%eax' instruction and I also do not think it is
relevant to the purpose of this testfile.

gcc-4.8.5-11.el7.x86_64 did not put the 'mov $0x0,%eax' instruction there at
all so there was no problem with .debug_line.

Tested on {x86_64,x86_64-m32}-fedora24-linux-gnu.

OK to check it in?


Thanks,
Jan
gdb/testsuite/ChangeLog
2016-10-03  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* gdb.arch/i386-signal.c (main): Add return 0.
	* gdb.arch/i386-signal.exp (backtrace 10): Fix #2 typo.

diff --git a/gdb/testsuite/gdb.arch/i386-signal.c b/gdb/testsuite/gdb.arch/i386-signal.c
index c5a311e..c168d56 100644
--- a/gdb/testsuite/gdb.arch/i386-signal.c
+++ b/gdb/testsuite/gdb.arch/i386-signal.c
@@ -29,6 +29,7 @@ int
 main (void)
 {
   setup ();
+  return 0;
 }
 
 /* Create an imitation signal frame.  This will work on any x86 or
diff --git a/gdb/testsuite/gdb.arch/i386-signal.exp b/gdb/testsuite/gdb.arch/i386-signal.exp
index 276b7c0..51a3a25 100644
--- a/gdb/testsuite/gdb.arch/i386-signal.exp
+++ b/gdb/testsuite/gdb.arch/i386-signal.exp
@@ -35,6 +35,6 @@ gdb_load ${binfile}
 
 runto func
 gdb_test "backtrace 10" \
-    "#0  ($hex in )?func.*\r\n#1  <signal handler called>\r\n#2  ($hex in)?main.*"
+    "#0  ($hex in )?func.*\r\n#1  <signal handler called>\r\n#2  ($hex in )?main.*"
 
 gdb_test "finish" "Run till exit from \#0  func.*<signal handler called>"

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]