@@ -229,19 +229,22 @@ arc64_compute_frame_info (void)
229229
230230 /* 1. At the bottom of the stack are any outgoing stack
231231 arguments. */
232- frame -> saved_outargs_size = crtl -> outgoing_args_size ;
232+ frame -> saved_outargs_size = ROUND_UP (crtl -> outgoing_args_size ,
233+ STACK_BOUNDARY / BITS_PER_UNIT );
233234
234235 /* 2. Size of locals and temporaries. */
235236 frame -> saved_locals_size = ROUND_UP (get_frame_size (),
236237 STACK_BOUNDARY / BITS_PER_UNIT );
237238
238239 /* 3. Size of the saved registers (including FP/BLINK).
239240 FIXME! FPR registers. */
240- frame -> saved_regs_size = offset ;
241+ frame -> saved_regs_size = ROUND_UP (offset ,
242+ STACK_BOUNDARY / BITS_PER_UNIT );
241243
242244 /* 4. Size of the callee-allocated area for pretend stack
243245 arguments. */
244- frame -> saved_varargs_size = crtl -> args .pretend_args_size ;
246+ frame -> saved_varargs_size = ROUND_UP (crtl -> args .pretend_args_size ,
247+ STACK_BOUNDARY / BITS_PER_UNIT );
245248
246249 /* Total size. */
247250 frame -> frame_size = frame -> saved_outargs_size + frame -> saved_locals_size
@@ -1624,6 +1627,9 @@ arc64_limm_addr_p (rtx op)
16241627#undef TARGET_INIT_LIBFUNCS
16251628#define TARGET_INIT_LIBFUNCS arc64_init_libfuncs
16261629
1630+ #undef TARGET_ASM_FILE_END
1631+ #define TARGET_ASM_FILE_END file_end_indicate_exec_stack
1632+
16271633struct gcc_target targetm = TARGET_INITIALIZER ;
16281634
16291635#include "gt-arc64.h"
0 commit comments