svn commit: r328632 - head/lib/libc/mips/gen

John Baldwin jhb at FreeBSD.org
Wed Jan 31 18:00:23 UTC 2018


Author: jhb
Date: Wed Jan 31 18:00:23 2018
New Revision: 328632
URL: https://svnweb.freebsd.org/changeset/base/328632

Log:
  Remove limitation of 6 arguments for makecontext() on mips.
  
  This implementation spills additional arguments on the stack so works
  fine with more than 6 arguments.  I believe the check was just copied
  over from sparc64 (which doesn't support spilling onto the stack)
  
  Sponsored by:	DARPA / AFRL

Modified:
  head/lib/libc/mips/gen/makecontext.c

Modified: head/lib/libc/mips/gen/makecontext.c
==============================================================================
--- head/lib/libc/mips/gen/makecontext.c	Wed Jan 31 17:57:59 2018	(r328631)
+++ head/lib/libc/mips/gen/makecontext.c	Wed Jan 31 18:00:23 2018	(r328632)
@@ -66,7 +66,7 @@ __makecontext(ucontext_t *ucp, void (*func)(void), int
 	 * so that we can mark a context as invalid.  Store it in
 	 * mc->mc_regs[ZERO] perhaps?
 	 */
-	if (argc < 0 || argc > 6 || ucp == NULL ||
+	if (argc < 0 || ucp == NULL ||
 	    ucp->uc_stack.ss_sp == NULL ||
 	    ucp->uc_stack.ss_size < MINSIGSTKSZ)
 		return;


More information about the svn-src-head mailing list