mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-28 00:21:52 +03:00
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:
@ -6,6 +6,10 @@
|
|||||||
* sysdeps/sparc/sparc64/memchr.S: Use unsigned branch on greater to
|
* sysdeps/sparc/sparc64/memchr.S: Use unsigned branch on greater to
|
||||||
test end of buffer.
|
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>
|
2009-02-20 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_runtime_setup):
|
* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_runtime_setup):
|
||||||
|
@ -77,7 +77,7 @@ __makecontext (ucontext_t *ucp, void (*func) (void), int argc, ...)
|
|||||||
if (i < 6)
|
if (i < 6)
|
||||||
ucp->uc_mcontext.gregs[REG_O0 + i] = arg;
|
ucp->uc_mcontext.gregs[REG_O0 + i] = arg;
|
||||||
else
|
else
|
||||||
sp[i + 23] = arg;
|
sp[i + 23 - 6] = arg;
|
||||||
}
|
}
|
||||||
|
|
||||||
va_end (ap);
|
va_end (ap);
|
||||||
|
Reference in New Issue
Block a user