https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85669
--- Comment #17 from Wilco <wilco at gcc dot gnu.org> --- (In reply to Douglas Mencken from comment #16) > Like this? > > --- a/gcc/config/rs6000/darwin.h > +++ b/gcc/config/rs6000/darwin.h > @@ -150,13 +150,12 @@ > > #undef RS6000_STARTING_FRAME_OFFSET > #define RS6000_STARTING_FRAME_OFFSET \ > - (RS6000_ALIGN (crtl->outgoing_args_size, 16) > \ > - + RS6000_SAVE_AREA) > + RS6000_ALIGN (crtl->outgoing_args_size + RS6000_SAVE_AREA, 16) > > #undef STACK_DYNAMIC_OFFSET > #define STACK_DYNAMIC_OFFSET(FUNDECL) > \ > - (RS6000_ALIGN (crtl->outgoing_args_size.to_constant (), 16) > \ > - + (STACK_POINTER_OFFSET)) > + RS6000_ALIGN (crtl->outgoing_args_size.to_constant() > \ > + + STACK_POINTER_OFFSET, 16) > > /* Darwin uses a function call if everything needs to be saved/restored. */ Yes that should work.