Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 3 Mar 2018 15:10:37 +0000 (UTC)
From:      Andriy Gapon <avg@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r330338 - head/sys/amd64/amd64
Message-ID:  <201803031510.w23FAbeC065867@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: avg
Date: Sat Mar  3 15:10:37 2018
New Revision: 330338
URL: https://svnweb.freebsd.org/changeset/base/330338

Log:
  db_nextframe/amd64: catch up with r328083 to recognize fast_syscall_common
  
  Since that change the system call stack traces look like this:
    ...
    sys___sysctl() at sys___sysctl+0x5f/frame 0xfffffe0028e13ac0
    amd64_syscall() at amd64_syscall+0x79b/frame 0xfffffe0028e13bf0
    fast_syscall_common() at fast_syscall_common+0x101/frame 0xfffffe0028e13bf0
  So, db_nextframe() stopped recognizing the system call frame.
  This commit should fix that.
  
  Reviewed by:	kib
  MFC after:	4 days

Modified:
  head/sys/amd64/amd64/db_trace.c

Modified: head/sys/amd64/amd64/db_trace.c
==============================================================================
--- head/sys/amd64/amd64/db_trace.c	Sat Mar  3 13:20:44 2018	(r330337)
+++ head/sys/amd64/amd64/db_trace.c	Sat Mar  3 15:10:37 2018	(r330338)
@@ -212,7 +212,9 @@ db_nextframe(struct amd64_frame **fp, db_addr_t *ip, s
 		    strcmp(name, "Xcpususpend") == 0 ||
 		    strcmp(name, "Xrendezvous") == 0)
 			frame_type = INTERRUPT;
-		else if (strcmp(name, "Xfast_syscall") == 0)
+		else if (strcmp(name, "Xfast_syscall") == 0 ||
+		    strcmp(name, "Xfast_syscall_pti") == 0 ||
+		    strcmp(name, "fast_syscall_common") == 0)
 			frame_type = SYSCALL;
 #ifdef COMPAT_FREEBSD32
 		else if (strcmp(name, "Xint0x80_syscall") == 0)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201803031510.w23FAbeC065867>