sparc: Fix 32-bit makecontext arg passing.

test-makecontext3 fails because we fill in the argument
stack slots past the 5th using the wrong index.
This commit is contained in:
David S. Miller 2010-02-20 13:43:09 -08:00
parent 2daff75bab
commit 34a407de96
2 changed files with 5 additions and 1 deletions

View File

@ -6,6 +6,10 @@
* sysdeps/sparc/sparc64/memchr.S: Use unsigned branch on greater to
test end of buffer.
* sysdeps/unix/sysv/linux/sparc/sparc32/makecontext.c
(__makecontext): Adjust arg counter properly when copying arg
stack slots.
2009-02-20 Joseph Myers <joseph@codesourcery.com>
* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_runtime_setup):

View File

@ -77,7 +77,7 @@ __makecontext (ucontext_t *ucp, void (*func) (void), int argc, ...)
if (i < 6)
ucp->uc_mcontext.gregs[REG_O0 + i] = arg;
else
sp[i + 23] = arg;
sp[i + 23 - 6] = arg;
}
va_end (ap);