https://gcc.gnu.org/bugzilla/show_bug.cgi?id=128485
--- Comment #1 from Yoshinori Sato <yoshinori.sato at nifty dot com> --- This 4-byte DWARF offset issue was exposed when correcting the stack allocation bug in rx_expand_prologue, specifically changing GEN_INT (-stack_size) to GEN_INT (-(stack_size + frame_size)) to prevent stack corruption. While the generated assembly is now fully correct, the CFA tracking breaks. We attempted to workaround this by manipulating REG_FRAME_RELATED_EXPR notes or passing false to gen_safe_add, but these approaches hit architectural limitations: Passing false to gen_safe_add causes an ICE (e.g., when building crtbeginS.o) because it attempts to allocate pseudo-registers after the reload pass, failing the gcc_assert (can_create_pseudo_p ()); in rx.md. Emitting manual CFA adjustment notes causes ICEs in dwarf2cfi.cc (maybe_record_trace_start) due to strict CFA state mismatch between prologue, epilogue (rtsd vs add), and sibcalls. Therefore, a proper backend-wide fix is required to reconcile rx_initial_elimination_offset and the DWARF CFA tracking mechanism regarding the implicit 4-byte PC push.
