> Here is an alternative, almost completely untested, patch, which > uses DW_OP_fbreg for the arguments of dynamically realigned functions. > draptest.c now works... I've attached a slightly revamped, IMO easier to understand version. Stack realignment with DRAP is quite seldom on the mainline (because everything is ACCUMULATE_OUTGOING_ARGS now) so I don't think this will make any difference in practice. Tested on i586 and x86-64. * var-tracking.c (vt_add_function_parameter): Remap incoming MEMs with crtl->args.internal_arg_pointer based address to arg_pointer_rtx if there is a DRAP register. (vt_init_cfa_base): Don't equate cfa_base_rtx if stack was realigned. (vt_initialize): Initialize cfa_base_rtx if there is a DRAP register. -- Eric Botcazou