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

            Bug ID: 108868
           Summary: [13 Regression] ocaml-dune miscompilation on i686
                    since r13-5965
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jakub at gcc dot gnu.org
  Target Milestone: ---

Created attachment 54499
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54499&action=edit
spawn_stubs.i.xz

The following source from ocaml-dune seems to be miscompiled starting with
r13-5965 with
-mfpmath=sse -m32 -march=i686 -mtune=generic -msse2 -mfpmath=sse -mstackrealign
-O2 -fno-strict-aliasing -fwrapv -fstack-protector-strong -fcf-protection=full
-fPIC -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables
-fstack-clash-protection -fcf-protection=full
The spawn_unix function uses (conditionally) vfork and the vfork child now
clobbers -672(%ebp) - 9 is stored in there.

The main problem I see is that .ABNORMAL_DISPATCHER (0) call disappears in
cddce1 pass.

Reply via email to