ARC: align child stack in clone

The ARCv2 ABI requires 4 byte stack pointer alignment. Don't allow to
use unaligned child stack in clone. As the stack grows down,
align it down.

This was pointed by misc/tst-misalign-clone-internal and
misc/tst-misalign-clone tests. Stack alignmet fixes these tests
fails.
Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
This commit is contained in:
Pavel Kozlov 2022-12-21 20:19:46 +04:00 committed by Adhemerval Zanella
parent a9b3b770f5
commit 87abcf9a6e

View File

@ -41,6 +41,7 @@
ENTRY (__clone)
cmp r0, 0 /* @fn can't be NULL. */
and r1,r1,-4 /* @child_stack be 4 bytes aligned per ABI. */
cmp.ne r1, 0 /* @child_stack can't be NULL. */
bz L (__sys_err)