aboutsummaryrefslogtreecommitdiff
path: root/gdb/i386-sol2-tdep.c
diff options
context:
space:
mode:
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2018-09-23 19:49:14 +0200
committerRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2018-09-23 19:49:14 +0200
commit1db88d2272a776200db950c2af46e64e98ef056b (patch)
treec3c494200b62545427cd1447553c5f284bcb85e5 /gdb/i386-sol2-tdep.c
parenta44294f5ed9fe09fdfc9427f6f83677843590524 (diff)
downloadgdb-1db88d2272a776200db950c2af46e64e98ef056b.zip
gdb-1db88d2272a776200db950c2af46e64e98ef056b.tar.gz
gdb-1db88d2272a776200db950c2af46e64e98ef056b.tar.bz2
Also recognize __sighndlr on Solaris/x86
Unlike Solaris/SPARC, the __sighndlr function isn't recognized as part of a signal handler, causing a couple of testcases to fail. The following patch fixes that. A followup patch will move this to common code to avoid such unnecessary discrepancies between Solaris/SPARC and x86 in the future. While this fixes a couple of backtraces to now correctly print #1 <signal handler called> they often fail later with #2 0x0ff3ffffff00857f in ?? () Backtrace stopped: Cannot access memory at address 0xff3000002e0886f which needs further investigation. Tested on amd64-pc-solaris2.11 (running the tests with both -m64 and -m32). * amd64-sol2-tdep.c (amd64_sol2_sigtramp_p): Also recognize __sighndlr. * i386-sol2-tdep.c (i386_sol2_sigtramp_p): Likewise.
Diffstat (limited to 'gdb/i386-sol2-tdep.c')
-rw-r--r--gdb/i386-sol2-tdep.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gdb/i386-sol2-tdep.c b/gdb/i386-sol2-tdep.c
index ead1dbb..69d6786 100644
--- a/gdb/i386-sol2-tdep.c
+++ b/gdb/i386-sol2-tdep.c
@@ -57,7 +57,8 @@ i386_sol2_sigtramp_p (struct frame_info *this_frame)
find_pc_partial_function (pc, &name, NULL, NULL);
return (name && (strcmp ("sigacthandler", name) == 0
- || strcmp (name, "ucbsigvechandler") == 0));
+ || strcmp (name, "ucbsigvechandler") == 0
+ || strcmp (name, "__sighndlr") == 0));
}
/* Solaris doesn't have a `struct sigcontext', but it does have a