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

            Bug ID: 104838
           Summary: [12 Regression] i686 gnat1 hangs since r12-7472
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jakub at gcc dot gnu.org
  Target Milestone: ---

We are experiencing bootstrap hangs (eventually killed due to eating all
memory) on i686-linux starting with r12-7472-g609e8c492d62d924
but strangely only when building the Fedora gcc package in Fedora koji build
system or in local mock; if I rerun the same xgcc or gnat1 command by hand, it
doesn't hang.
The hang seems to be due to some kind of crash somewhere in gnat1, where the
signal handler calls
ada__exceptions__exception_propagation__allocate_occurrenceXn@plt
and %ebx seems to be start of /usr/lib64/libgnat-12.so (from ~ 14 days old gcc
trunk snapshot) .got.plt section (which I think is what %ebx should be in PLT),
but the .got.plt slot is NULL even though the
ada__exceptions__exception_propagation__allocate_occurrenceXn
symbol is defined in that shared library.
Bisection was my last resort how to narrow this down, even if I apply to
https://kojipkgs.fedoraproject.org/packages/gcc/12.0.1/0.9.fc36/src/gcc-12.0.1-0.9.fc36.src.rpm
just the r12-7472 i386.cc part, it hangs, while if I revert from
the newer gcc just that change, it doesn't.
I'll now try to add debug dumps to ix86_gen_scratch_sse_rtx to see at least in
which functions it changed behavior.
Anyway, any ideas how to debug this?  Is there e.g. some easy way how to
disable installation of signal handlers by the Ada runtime (though, does gnat1
as used during bootstrap rely on those)?

Reply via email to