https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68018

--- Comment #3 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Zdenek Sojka from comment #2)
> I am also seeing this (or another in ix86_compute_frame_layout) ICE when
> running the gfortran testsuite. Again with -mstackrealing. I will post the
> testcase when I get home.

-mstackrealign is a new functionality on MS_ABI targets, and there are some
places in the compiler that assume that these targets are always aligned to
16bytes. This alignment is in fact mandated by ABI, and all deviations can be
considered ABI violations. However, we can relax this restriction in order to
handle rough applications that misalign the stack, but this should in general
be an exception, not the rule.

That said, even if -mstackrealign can be declared as unsupported on MS_ABI
targets, the infrastructure handles realignment just fine also for MS_ABI
targets, we just need to enable correct code paths when incoming stack boundary
is less than 16 bytes. This is exactly what the patch in comment #1 does.

BTW: I'm not in the position to test MS_ABI targets thoroughly, so I'd ask you
to please conduct your tests with the patch from Comment #1.

Reply via email to