Does GCC provide a standard expand_prologue() and expand_epilogue() implementations which leave GCC the responsibility to save registers as it sees fit ? I am thinking it would simplify other tools such as gdb where for each architecture, specific support of the prologue must be implemented.