I was trying to compile firefox 3.0.4 from sources using profile guided
optimization when I receive a float point exception from gcc.

It was after running the firefox to generate the profile data.

This is info that the "reporting bugs" suggests:

* the exact version of GCC
gcc (GCC) 4.0.3

* the system type
Athlon64 X2 3600
Linux 2.6.27.4
GLibc 2.3.6
Linux from scratch 6.2 (distribution)

* the complete command line that triggers the bug
gcc  -DOSTYPE=\"Linux2.6.27\" -DOSARCH=Linux  -I. -I.  -I../dist/include  
-I../dist/include -I../dist/include/nspr     -I../dist/sdk/include
-I/usr/xorg-7.3/include   -fPIC -march=k8 -msse3 -O2 -pipe 
-I/usr/xorg-7.3/include -Wall -W -Wno-unused -Wpointer-arith -Wcast-align -W
-Wno-long-long -pedantic -march=k8 -msse3 -O2 -pipe -fno-strict-aliasing
-pthread -pipe  -DNDEBUG -DTRIMMED -fprofile-use -O3 -march=k8
-fomit-frame-pointer -pipe  -march=k8 -msse3 -O2 -pipe  -I/usr/xorg-7.3/include
-include ../mozilla-config.h -DMOZILLA_CLIENT  -I/usr/include/glib-2.0
-I/usr/lib/glib-2.0/include   -o elf-dynstr-gc elf-dynstr-gc.c -lpthread
-Wl,-O1  -fprofile-use -Wl,-rpath-link,../dist/bin  -lgobject-2.0 -lglib-2.0


the options given when GCC was configured/built
./configure --prefix=/usr --libexecdir=/usr/lib --enable-shared \
            --enable-threads=posix --enable-__cxa_atexit \
            --enable-clocale=gnu --enable-languages=c,c++

* the compiler output (error messages, warnings, etc.)

I have added the -Wall option

$ gcc  -DOSTYPE=\"Linux2.6.27\" -DOSARCH=Linux  -I. -I.  -I../dist/include  
-I../dist/include -I../dist/include/nspr     -I../dist/sdk/include
-I/usr/xorg-7.3/include   -fPIC -march=k8 -msse3 -O2 -pipe 
-I/usr/xorg-7.3/include -Wall -W -Wno-unused -Wpointer-arith -Wcast-align -W
-Wno-long-long -pedantic -march=k8 -msse3 -O2 -pipe -fno-strict-aliasing
-pthread -pipe  -DNDEBUG -DTRIMMED -fprofile-use -O3 -march=k8
-fomit-frame-pointer -pipe  -march=k8 -msse3 -O2 -pipe  -I/usr/xorg-7.3/include
-include ../mozilla-config.h -DMOZILLA_CLIENT  -I/usr/include/glib-2.0
-I/usr/lib/glib-2.0/include   -o elf-dynstr-gc elf-dynstr-gc.c -lpthread
-Wl,-O1  -fprofile-use -Wl,-rpath-link,../dist/bin  -lgobject-2.0 -lglib-2.0
-Wall
elf-dynstr-gc.c: In function ‘add_strings_from_dynsym’:
elf-dynstr-gc.c:419: warning: unused variable ‘dynamic_symbol’
elf-dynstr-gc.c: In function ‘fixup_strings_in_dynsym’:
elf-dynstr-gc.c:443: warning: unused variable ‘dynamic_symbol’
elf-dynstr-gc.c: In function ‘add_strings_from_dynamic’:
elf-dynstr-gc.c:456: warning: unused variable ‘i’
elf-dynstr-gc.c: In function ‘fixup_strings_in_dynamic’:
elf-dynstr-gc.c:489: warning: unused variable ‘name_idx’
elf-dynstr-gc.c:488: warning: unused variable ‘i’
elf-dynstr-gc.c: In function ‘fixup_strings_in_ver_d’:
elf-dynstr-gc.c:549: warning: unused variable ‘name_idx’
elf-dynstr-gc.c: In function ‘fixup_strings_in_ver_r’:
elf-dynstr-gc.c:604: warning: unused variable ‘name_idx’
elf-dynstr-gc.c: In function ‘sum_size’:
elf-dynstr-gc.c:626: warning: unused parameter ‘key’
elf-dynstr-gc.c: In function ‘output_string’:
elf-dynstr-gc.c:639: warning: unused parameter ‘key’
elf-dynstr-gc.c: In function ‘remap_rela_section’:
elf-dynstr-gc.c:822: warning: unused variable ‘bitmask’
elf-dynstr-gc.c: In function ‘remap_dynamic’:
elf-dynstr-gc.c:953: warning: unused variable ‘jmprel_end’
elf-dynstr-gc.c: In function ‘remap_segments’:
elf-dynstr-gc.c:741: internal compiler error: Float point exception
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.

This is a new try using -save-temps and -v options

gcc  -DOSTYPE=\"Linux2.6.27\" -DOSARCH=Linux  -I. -I.  -I../dist/include  
-I../dist/include -I../dist/include/nspr     -I../dist/sdk/include
-I/usr/xorg-7.3/include   -fPIC -march=k8 -msse3 -O2 -pipe 
-I/usr/xorg-7.3/include -Wall -W -Wno-unused -Wpointer-arith -Wcast-align -W
-Wno-long-long -pedantic -march=k8 -msse3 -O2 -pipe -fno-strict-aliasing
-pthread -pipe  -DNDEBUG -DTRIMMED -fprofile-use -O3 -march=k8
-fomit-frame-pointer -pipe  -march=k8 -msse3 -O2 -pipe  -I/usr/xorg-7.3/include
-include ../mozilla-config.h -DMOZILLA_CLIENT  -I/usr/include/glib-2.0
-I/usr/lib/glib-2.0/include   -o elf-dynstr-gc elf-dynstr-gc.c -lpthread
-Wl,-O1  -fprofile-use -Wl,-rpath-link,../dist/bin  -lgobject-2.0 -lglib-2.0
-save-temps -v
gcc: warning: -pipe ignored because -save-temps specified
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../gcc-4.0.3/configure --prefix=/usr --libexecdir=/usr/lib
--enable-shared --enable-threads=posix --enable-__cxa_atexit
--enable-clocale=gnu --enable-languages=c,c++
Thread model: posix
gcc version 4.0.3
 /usr/lib/gcc/i686-pc-linux-gnu/4.0.3/cc1 -E -quiet -v -I. -I.
-I../dist/include -I../dist/include -I../dist/include/nspr
-I../dist/sdk/include -I/usr/xorg-7.3/include -I/usr/xorg-7.3/include
-I/usr/xorg-7.3/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-D_REENTRANT -DOSTYPE="Linux2.6.27" -DOSARCH=Linux -DNDEBUG -DTRIMMED
-DMOZILLA_CLIENT -include ../mozilla-config.h elf-dynstr-gc.c -march=k8 -msse3
-march=k8 -msse3 -march=k8 -march=k8 -msse3 -Wall -W -Wno-unused
-Wpointer-arith -Wcast-align -W -Wno-long-long -pedantic -fPIC
-fno-strict-aliasing -fprofile-use -fomit-frame-pointer -fprofile-use -O2 -O2
-O3 -O2 -fpch-preprocess -o elf-dynstr-gc.i
ignoring nonexistent directory
"/usr/lib/gcc/i686-pc-linux-gnu/4.0.3/../../../../i686-pc-linux-gnu/include"
ignoring duplicate directory "."
ignoring nonexistent directory "../dist/include"
ignoring nonexistent directory "../dist/include"
ignoring nonexistent directory "../dist/include/nspr"
ignoring nonexistent directory "../dist/sdk/include"
ignoring duplicate directory "/usr/xorg-7.3/include"
ignoring duplicate directory "/usr/xorg-7.3/include"
#include "..." search starts here:
#include <...> search starts here:
 .
 /usr/xorg-7.3/include
 /usr/include/glib-2.0
 /usr/lib/glib-2.0/include
 /usr/local/include
 /usr/lib/gcc/i686-pc-linux-gnu/4.0.3/include
 /usr/include
End of search list.
 /usr/lib/gcc/i686-pc-linux-gnu/4.0.3/cc1 -fpreprocessed elf-dynstr-gc.i -quiet
-dumpbase elf-dynstr-gc.c -march=k8 -msse3 -march=k8 -msse3 -march=k8 -march=k8
-msse3 -auxbase elf-dynstr-gc -O2 -O2 -O3 -O2 -Wall -W -Wno-unused
-Wpointer-arith -Wcast-align -W -Wno-long-long -pedantic -version -fPIC
-fno-strict-aliasing -fprofile-use -fomit-frame-pointer -fprofile-use -o
elf-dynstr-gc.s
GNU C version 4.0.3 (i686-pc-linux-gnu)
        compiled by GNU C version 4.0.3.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
elf-dynstr-gc.c: In function ‘remap_segments’:
elf-dynstr-gc.c:741: internal compiler error: Exceção de ponto flutuante
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.

I will send the elf-dynstr-gc.i file. I will send the *.gcda and *.gcno too
because I am using profile guided optimization.


-- 
           Summary: Float point exception while compiling firefox using
                    profile guided optimization
           Product: gcc
           Version: 4.0.3
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: rgfbr at yahoo dot com dot br


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38279

Reply via email to