Date: Sun, 10 Mar 2013 02:38:35 +0000 (UTC) From: Andrew Turner <andrew@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248123 - head/sys/arm/arm Message-ID: <201303100238.r2A2cZqZ011287@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: andrew Date: Sun Mar 10 02:38:35 2013 New Revision: 248123 URL: http://svnweb.freebsd.org/changeset/base/248123 Log: Tell the unwinder we can't unwind swi_entry. This fixes an infinite loop when the kernel attempts to unwind through this function. The .fnstart and .fnend in this function should be moved to macros but we are currently missing an END macro on ARM. Modified: head/sys/arm/arm/exception.S Modified: head/sys/arm/arm/exception.S ============================================================================== --- head/sys/arm/arm/exception.S Sun Mar 10 00:47:19 2013 (r248122) +++ head/sys/arm/arm/exception.S Sun Mar 10 02:38:35 2013 (r248123) @@ -77,6 +77,9 @@ Lreset_panicmsg: * Handler for the Software Interrupt exception. */ ASENTRY_NP(swi_entry) + .fnstart + .cantunwind /* Don't unwind past here */ + PUSHFRAME mov r0, sp /* Pass the frame to any function */ @@ -88,6 +91,7 @@ ASENTRY_NP(swi_entry) DO_AST PULLFRAME movs pc, lr /* Exit */ + .fnend /* * prefetch_abort_entry:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201303100238.r2A2cZqZ011287>