https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84856

--- Comment #8 from Jim Wilson <wilson at gcc dot gnu.org> ---
I copied the design of the patch from the i386 backend, so in theory it should
work.  The layout of the stack is completely at the control of the target
backend, so uses of STACK_BOUNDARY outside the backend should not be a problem.

I did some sanity checking when I made the check, but now that you point the
problem out I see that I missed two cases.  outgoing_args_size and
pretend_args_size are not longer rounded to the PREFERRED_STACK_BOUNDARY size,
they are rounded to the smaller STACK_BOUNDARY size instead.  We can fix this
in riscv_compute_frame_info by adding RISCV_STACK_ALIGN macro calls around the
uses of these two values.  This is a simple fix.  I'm testing a patch now.

Reply via email to