mirror of
https://sourceware.org/git/glibc.git
synced 2026-01-06 11:51:29 +03:00
mips: align stack in clone [BZ #28223]
The MIPS O32 ABI requires 4 byte aligned stack, and the MIPS N64 and N32 ABI require 8 byte aligned stack. Previously if the caller passed an unaligned stack to clone the the child misbehaved. Fixes bug 28223.
This commit is contained in:
@@ -55,6 +55,13 @@ NESTED(__clone,4*SZREG,sp)
|
||||
.set at
|
||||
#endif
|
||||
|
||||
/* Align stack to 4/8 bytes per the ABI. */
|
||||
#if _MIPS_SIM == _ABIO32
|
||||
li t0,-4
|
||||
#else
|
||||
li t0,-8
|
||||
#endif
|
||||
and a1,a1,t0
|
||||
|
||||
/* Sanity check arguments. */
|
||||
li v0,EINVAL
|
||||
|
||||
Reference in New Issue
Block a user