mirror of
https://github.com/opnsense/src.git
synced 2026-06-08 16:22:46 -04:00
Maintain a stack alignment of 16-bytes.
This violated the RISC-V 64-bit ABI. On CheriBSD this manifested as a trap when attempting to store 16-byte aligned types while zeroing the stack. Reported by: CHERI, jrtc27 Reviewed by: mhorne, br Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D26327
This commit is contained in:
parent
c86d2ba8a5
commit
29e1fceb73
1 changed files with 3 additions and 2 deletions
|
|
@ -64,7 +64,8 @@ END(.rtld_start)
|
|||
*/
|
||||
ENTRY(_rtld_bind_start)
|
||||
/* Save the arguments and ra */
|
||||
addi sp, sp, -(8 * 17)
|
||||
/* We require 17 dwords, but the stack must be aligned to 16-bytes */
|
||||
addi sp, sp, -(8 * 18)
|
||||
sd a0, (8 * 0)(sp)
|
||||
sd a1, (8 * 1)(sp)
|
||||
sd a2, (8 * 2)(sp)
|
||||
|
|
@ -122,7 +123,7 @@ ENTRY(_rtld_bind_start)
|
|||
fld fa6, (8 * 15)(sp)
|
||||
fld fa7, (8 * 16)(sp)
|
||||
#endif
|
||||
addi sp, sp, (8 * 17)
|
||||
addi sp, sp, (8 * 18)
|
||||
|
||||
/* Call into the correct function */
|
||||
jr t0
|
||||
|
|
|
|||
Loading…
Reference in a new issue