svn commit: r328457 - head/lib/libc/mips/gen
John Baldwin
jhb at FreeBSD.org
Sat Jan 27 00:39:50 UTC 2018
Author: jhb
Date: Sat Jan 27 00:39:49 2018
New Revision: 328457
URL: https://svnweb.freebsd.org/changeset/base/328457
Log:
Clarify some comments in the MIPS makecontext().
- N32 and N64 do not have a $a0-3 gap.
- Use 'sp += 4' to skip over the gap for O32 rather than '+= i'. It
doesn't make a functional change, but makes the code match the comment.
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 Sat Jan 27 00:09:43 2018 (r328456)
+++ head/lib/libc/mips/gen/makecontext.c Sat Jan 27 00:39:49 2018 (r328457)
@@ -95,19 +95,18 @@ __makecontext(ucontext_t *ucp, void (*func)(void), int
for (i = 0; i < argc && i < 4; i++)
/* LINTED register_t is safe */
mc->mc_regs[A0 + i] = va_arg(ap, register_t);
- /* Pass remaining arguments on the stack above the $a0-3 gap. */
- sp += i;
+ /* Skip over the $a0-3 gap. */
+ sp += 4;
#endif
#if defined(__mips_n32) || defined(__mips_n64)
/* Up to the first 8 arguments are passed in $a0-7. */
for (i = 0; i < argc && i < 8; i++)
/* LINTED register_t is safe */
mc->mc_regs[A0 + i] = va_arg(ap, register_t);
- /* Pass remaining arguments on the stack above the $a0-3 gap. */
#endif
- /* Pass remaining arguments on the stack above the $a0-3 gap. */
+ /* Pass remaining arguments on the stack. */
for (; i < argc; i++)
- /* LINTED uintptr_t is safe */
+ /* LINTED register_t is safe */
*sp++ = va_arg(ap, register_t);
va_end(ap);
}
More information about the svn-src-all
mailing list