From 1db88d2272a776200db950c2af46e64e98ef056b Mon Sep 17 00:00:00 2001 From: Rainer Orth Date: Sun, 23 Sep 2018 19:49:14 +0200 Subject: 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 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. --- gdb/amd64-sol2-tdep.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gdb/amd64-sol2-tdep.c') diff --git a/gdb/amd64-sol2-tdep.c b/gdb/amd64-sol2-tdep.c index 9504f19..7211186 100644 --- a/gdb/amd64-sol2-tdep.c +++ b/gdb/amd64-sol2-tdep.c @@ -74,7 +74,8 @@ amd64_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 -- cgit v1.1