[Top][All Lists]

[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

Attachment: make.log
Description: Text document

Attachment: machine.i
Description: Text document

reply via email to

[Prev in Thread] Current Thread [Next in Thread]