[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
GCC segfault on i686
From: |
Till Hofmann |
Subject: |
GCC segfault on i686 |
Date: |
Thu, 18 Aug 2016 12:10:49 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 |
Hi all,
I'm currently trying to debug a GCC segfault that occurs when compiling
EnginePl/machine.c on i686 machines:
> make[1]: Entering directory
> '/home/till/rpmbuild/SOURCES/gprolog-1.4.4/src/EnginePl'
> gplc -c -C '-O3 -fomit-frame-pointer' machine.c
> machine.c: In function ‘Pl_M_Randomize’:
> machine.c:386:1: internal compiler error: Segmentation fault
It looks like this is related to using the ebx register; if I remove
'-ffixed-ebx' from the call to cc1, the segfault disappears.
Looking at the Changelog, it looks like there was a fix for some issue
related to using ebx in 1.3.1, but the error still occurs on i686.
To reproduce, you need to build gprolog on i686 with GCC 6.1. I could
reproduce this on multiple machines.
Some additional info:
gprolog version: 1.4.4
OS: Fedora 24 (also occurs on Fedora 25 and Fedora Rawhide)
$ gcc --version
gcc (GCC) 6.1.1 20160621 (Red Hat 6.1.1-3)
$ uname -a
Linux nc10 4.6.5-300.fc24.i686+PAE #1 SMP Thu Jul 28 01:34:46 UTC 2016
i686 i686 i386 GNU/Linux
I build with "./configure --with-c-flags='-v -save-temps'", I've
attached the full output from make. I've also attached machine.i.
With older GCC versions (<6), the bug does not occur, so this might well
be a bug in GCC6.
Kind regards
Till
make.log
Description: Text document
machine.i
Description: Text document
- GCC segfault on i686,
Till Hofmann <=