diff options
author | CoprDistGit <infra@openeuler.org> | 2024-08-03 06:28:41 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2024-08-03 06:28:41 +0000 |
commit | d20db0561a6a36f914fde030512503b114ef9a0c (patch) | |
tree | d4e5e3494d95c269a1cee6195f11bf3201bcadbf /riscv-align-stack-in-clone-BZ-28702.patch | |
parent | 016343d99b1b269d7246ef1e143d4b54914433d4 (diff) |
automatic import of glibcopeneuler22.03_LTS_SP4openeuler22.03_LTS_SP3openeuler20.03
Diffstat (limited to 'riscv-align-stack-in-clone-BZ-28702.patch')
-rw-r--r-- | riscv-align-stack-in-clone-BZ-28702.patch | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/riscv-align-stack-in-clone-BZ-28702.patch b/riscv-align-stack-in-clone-BZ-28702.patch new file mode 100644 index 0000000..866e409 --- /dev/null +++ b/riscv-align-stack-in-clone-BZ-28702.patch @@ -0,0 +1,35 @@ +From d2e594d71509faf36cf851a69370db34a4f5fa65 Mon Sep 17 00:00:00 2001 +From: Aurelien Jarno <aurelien@aurel32.net> +Date: Tue, 14 Dec 2021 22:44:35 +0100 +Subject: [PATCH] riscv: align stack in clone [BZ #28702] + +The RISC-V ABI [1] mandates that "the stack pointer shall be aligned to +a 128-bit boundary upon procedure entry". This as not the case in clone. + +This fixes the misc/tst-misalign-clone-internal and +misc/tst-misalign-clone tests. + +Fixes bug 28702. + +[1] https://github.com/riscv-non-isa/riscv-elf-psabi-doc +--- + sysdeps/unix/sysv/linux/riscv/clone.S | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/sysdeps/unix/sysv/linux/riscv/clone.S b/sysdeps/unix/sysv/linux/riscv/clone.S +index 12f91a20d3..161e83c7e3 100644 +--- a/sysdeps/unix/sysv/linux/riscv/clone.S ++++ b/sysdeps/unix/sysv/linux/riscv/clone.S +@@ -32,6 +32,9 @@ + .text + LEAF (__clone) + ++ /* Align stack to a 128-bit boundary as per RISC-V ABI. */ ++ andi a1,a1,ALMASK ++ + /* Sanity check arguments. */ + beqz a0,L (invalid) /* No NULL function pointers. */ + beqz a1,L (invalid) /* No NULL stack pointers. */ +-- +2.39.2 + |