svn commit: r330338 - head/sys/amd64/amd64
Andriy Gapon
avg at FreeBSD.org
Sat Mar 3 15:10:38 UTC 2018
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)
More information about the svn-src-all
mailing list