@@ -229,19 +229,22 @@ arc64_compute_frame_info (void)
229
229
230
230
/* 1. At the bottom of the stack are any outgoing stack
231
231
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 );
233
234
234
235
/* 2. Size of locals and temporaries. */
235
236
frame -> saved_locals_size = ROUND_UP (get_frame_size (),
236
237
STACK_BOUNDARY / BITS_PER_UNIT );
237
238
238
239
/* 3. Size of the saved registers (including FP/BLINK).
239
240
FIXME! FPR registers. */
240
- frame -> saved_regs_size = offset ;
241
+ frame -> saved_regs_size = ROUND_UP (offset ,
242
+ STACK_BOUNDARY / BITS_PER_UNIT );
241
243
242
244
/* 4. Size of the callee-allocated area for pretend stack
243
245
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 );
245
248
246
249
/* Total size. */
247
250
frame -> frame_size = frame -> saved_outargs_size + frame -> saved_locals_size
@@ -1624,6 +1627,9 @@ arc64_limm_addr_p (rtx op)
1624
1627
#undef TARGET_INIT_LIBFUNCS
1625
1628
#define TARGET_INIT_LIBFUNCS arc64_init_libfuncs
1626
1629
1630
+ #undef TARGET_ASM_FILE_END
1631
+ #define TARGET_ASM_FILE_END file_end_indicate_exec_stack
1632
+
1627
1633
struct gcc_target targetm = TARGET_INITIALIZER ;
1628
1634
1629
1635
#include "gt-arc64.h"
0 commit comments