[Bug middle-end/118939] [14 Regression] ada: executable segfaults on arm-linux-gnueabi when assigning an access to controlled type since r14-2653-g2971ff7b1d564a
ebotcazou at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sun Mar 23 16:52:50 GMT 2025
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118939
Eric Botcazou <ebotcazou at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|target |middle-end
--- Comment #12 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
> Just an FYI: I worked on a private port of gcc-14/15 to an old processor
> last year, and having <target>_frame_pointer_required switching from
> returning false to returning true during the compilation of a function
> resulted in wrong code.
OK, thanks for the insight. Yes, commit 2971ff looks questionable to me:
[LRA]: Check and update frame to stack pointer elimination after stack slot
allocation
Avr is an interesting target which does not use stack pointer to
address stack slots. The elimination of stack pointer to frame pointer
is impossible if there are stack slots. During LRA works, the
stack slots can be allocated and used and the elimination can be done
anymore. The situation can be complicated even more if some pseudos
were allocated to the frame pointer.
I fail to see how such an important decision as using the frame pointer can be
safely changed after the frame has been laid out; this may work for AVR but
probably not for most other targets.
More information about the Gcc-bugs
mailing list