public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug bootstrap/38788]  New: gcc 4.4.0 20090109 - Configure with "--enable-intermodule" breaks build
@ 2009-01-09 21:09 rob1weld at aol dot com
  2009-01-09 21:12 ` [Bug bootstrap/38788] " pinskia at gcc dot gnu dot org
                   ` (8 more replies)
  0 siblings, 9 replies; 12+ messages in thread
From: rob1weld at aol dot com @ 2009-01-09 21:09 UTC (permalink / raw)
  To: gcc-bugs

I'm building gcc 4.4.0 20090109 on i386-pc-solaris2.11 (OpenSolaris 2008.11)
using gcc version 4.4.0 20090104. I added "--enable-intermodule" to my list
of configure options and 


# prev-gcc/xgcc -v
Using built-in specs.
Target: i386-pc-solaris2.11
Configured with: ../gcc_trunk/configure
--enable-languages=ada,c,c++,fortran,java,objc,obj-c++
--enable-shared --disable-static --enable-decimal-float --with-long-double-128
--enable-nls --with-included-gettext --enable-gather-detailed-mem-stats
--with-stabs --enable-debug -enable-largefile --enable-symvers
--without-system-zlib --enable-gtk-cairo --enable-qt-peer --enable-xmlj
--enable-gconf-peer --enable-gjdoc --enable-java-awt=gtk,xlib,qt,x
--enable-gc-debug --enable-libgcj-multifile --enable-libgcj-debug
--enable-objc-gc --enable-libstdcxx-debug --enable-stage1-checking
--enable-checking=release --enable-intermodule --without-system-libunwind
--with-gnu-as --with-as=/usr/local/bin/as --with-gnu-ld
--with-ld=/usr/local/bin/ld
Thread model: posix
gcc version 4.4.0 20090109 (experimental) (GCC) 

# gmake
...
/bin/sh ../../gcc_trunk/gcc/../move-if-change tmp-mlib.h multilib.h
echo timestamp > s-mlib
lsf="../../gcc_trunk/gcc/ada/gcc-interface/lang-specs.h
../../gcc_trunk/gcc/cp/lang-specs.h ../../gcc_trunk/gcc/fortran/lang-specs.h
../../gcc_trunk/gcc/java/lang-specs.h ../../gcc_trunk/gcc/objc/lang-specs.h
../../gcc_trunk/gcc/objcp/lang-specs.h"; for f in $lsf; do \
            echo "#include \"$f\""; \
        done | sed 's|../../gcc_trunk/gcc/||' > tmp-specs.h
/bin/sh ../../gcc_trunk/gcc/../move-if-change tmp-specs.h specs.h
echo timestamp > s-specs
/usr/share/src/gcc_build/./prev-gcc/xgcc -B/usr/share/src/gcc_build/./prev-gcc/
-B/usr/local/i386-pc-solaris2.11/bin/ -c  -g -O2 -fprofile-generate -DIN_GCC  
-W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual
-Wold-style-definition -Wc++-compat -Wmissing-format-attribute -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror  
-DHAVE_CONFIG_H -I. -I. -I../../gcc_trunk/gcc -I../../gcc_trunk/gcc/.
-I../../gcc_trunk/gcc/../include -I./../intl
-I../../gcc_trunk/gcc/../libcpp/include  -I../../gcc_trunk/gcc/../libdecnumber
-I../../gcc_trunk/gcc/../libdecnumber/dpd -I../libdecnumber 
-DCLOOG_PPL_BACKEND  -fexceptions ../../gcc_trunk/gcc/c-pretty-print.c -o
c-pretty-print.o
/usr/share/src/gcc_build/./prev-gcc/xgcc -B/usr/share/src/gcc_build/./prev-gcc/
-B/usr/local/i386-pc-solaris2.11/bin/  -g -O2 -fprofile-generate -DIN_GCC   -W
-Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual
-Wold-style-definition -Wc++-compat -Wmissing-format-attribute -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror  
-DHAVE_CONFIG_H -I. -I. -I../../gcc_trunk/gcc -I../../gcc_trunk/gcc/.
-I../../gcc_trunk/gcc/../include -I./../intl
-I../../gcc_trunk/gcc/../libcpp/include  -I../../gcc_trunk/gcc/../libdecnumber
-I../../gcc_trunk/gcc/../libdecnumber/dpd -I../libdecnumber 
-DCLOOG_PPL_BACKEND  -fexceptions \
          -DTARGET_NAME=\"i386-pc-solaris2.11\" \
          -DLOCALEDIR=\"/usr/local/share/locale\" \
          -c insn-attrtab.c insn-automata.c (HUGE LIST) ...
../../gcc_trunk/gcc/config/i386/i386.c -o libbackend.o  \
          -DBASEVER="\"4.4.0\"" -DDATESTAMP="\" 20090109\"" \
          -DREVISION= \
          -DDEVPHASE="\" (experimental)\"" -DPKGVERSION="\"(GCC) \"" \
          -DBUGURL="\"<http://gcc.gnu.org/bugs.html>\"" -combine
cc1: warnings being treated as errors
../../gcc_trunk/gcc/bitmap.c: In function 'bitmap_obstack_alloc_stat':
../../gcc_trunk/gcc/bitmap.c:359: error: request for implicit conversion from
'void *' to 'struct bitmap_head_def *' not permitted in C++
../../gcc_trunk/gcc/bitmap.c: In function 'bitmap_obstack_free':
../../gcc_trunk/gcc/bitmap.c:394: error: request for implicit conversion from
'void *' to 'struct bitmap_element *' not permitted in C++
../../gcc_trunk/gcc/dfp.c: In function 'encode_decimal32':
../../gcc_trunk/gcc/dfp.c:142: error: dereferencing type-punned pointer will
break strict-aliasing rules
../../gcc_trunk/gcc/dfp.c: In function 'decode_decimal32':
../../gcc_trunk/gcc/dfp.c:158: error: dereferencing type-punned pointer will
break strict-aliasing rules
../../gcc_trunk/gcc/dfp.c: In function 'encode_decimal64':
../../gcc_trunk/gcc/dfp.c:182: error: dereferencing type-punned pointer will
break strict-aliasing rules
../../gcc_trunk/gcc/dfp.c:188: error: dereferencing type-punned pointer will
break strict-aliasing rules
../../gcc_trunk/gcc/dfp.c: In function 'decode_decimal64':
../../gcc_trunk/gcc/dfp.c:207: error: dereferencing type-punned pointer will
break strict-aliasing rules
../../gcc_trunk/gcc/dfp.c:212: error: dereferencing type-punned pointer will
break strict-aliasing rules
../../gcc_trunk/gcc/dfp.c: In function 'encode_decimal128':
../../gcc_trunk/gcc/dfp.c:238: error: dereferencing type-punned pointer will
break strict-aliasing rules
../../gcc_trunk/gcc/dfp.c:248: error: dereferencing type-punned pointer will
break strict-aliasing rules
../../gcc_trunk/gcc/dfp.c: In function 'decode_decimal128':
../../gcc_trunk/gcc/dfp.c:267: error: dereferencing type-punned pointer will
break strict-aliasing rules
../../gcc_trunk/gcc/dfp.c:274: error: dereferencing type-punned pointer will
break strict-aliasing rules
../../gcc_trunk/gcc/dominance.c: In function 'iterate_fix_dominators':
../../gcc_trunk/gcc/dominance.c:1324: error: request for implicit conversion
from 'void *' to 'bitmap' not permitted in C++

cc1: out of memory allocating 12 bytes after a total of 347045888 bytes
gmake[3]: *** [libbackend.o] Error 1
gmake[3]: Leaving directory `/usr/share/src/gcc_build/gcc'
gmake[2]: *** [all-stageprofile-gcc] Error 2
gmake[2]: Leaving directory `/usr/share/src/gcc_build'
gmake[1]: *** [stageprofile-bubble] Error 2
gmake[1]: Leaving directory `/usr/share/src/gcc_build'
gmake: *** [all] Error 2

It seems there is little chance of "--enable-intermodule" configure option
working with the "-Werror" gcc option unless _all_ the files pass the
"-Werror" tests. 

It may be that "--enable-intermodule" would exceed the memory of any
reasonable Operating System (and it's hardware) and thus the configure 
option "--enable-intermodule" is not even a usable option. 

In it's current implementation within gcc it can only crash the build,
eventually, for most people. I can see it failing if it gets as far as 
Java. Don't tell us "all you need is 128G of memory to compile it...".


One way to fix this would be to allow a parameter to the gcc/configure
"--enable-intermodule" option that would specify memory available. 

The program could make a simple tree of files, chop it in half and retry 
the two parts if memory usage exceeded the desired amount. This would also 
allow use of the feature without bringing the System to it's knees.


Another possibility would be to add an "--exclude-from-intermodule=" option.
This could take either a single file, an "@file" list, or wildcards. The
list would consist of file to be excluded from being added to the "intermodule
list" and would simply be compiled normally.


Another possibility would be to add an "--assign-to-intermodule-1=" option.
This could take either a single file, an "@file" list, or wildcards. The
list would consist of file to be added to the "intermodule list" number one.
The user could add other files to "--assign-to-intermodule-2=", etc., and
any files excountered without an "--assign-to-intermodule-x=" option would
simply be compiled normally.


As it stands the "--enable-intermodule" is too likely to run into an "-Werror"
_or_ run the user out of memory, _most_ of the time. This makes it of limited
use in this situation. We should make it more usable (bring it up to "usable").

Rob


-- 
           Summary: gcc 4.4.0 20090109 - Configure with "--enable-
                    intermodule" breaks build
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: bootstrap
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: rob1weld at aol dot com
 GCC build triplet: i386-pc-solaris2.11
  GCC host triplet: i386-pc-solaris2.11
GCC target triplet: i386-pc-solaris2.11


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


^ permalink raw reply	[flat|nested] 12+ messages in thread
[parent not found: <bug-38788-4@http.gcc.gnu.org/bugzilla/>]

end of thread, other threads:[~2012-02-03 23:13 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-01-09 21:09 [Bug bootstrap/38788] New: gcc 4.4.0 20090109 - Configure with "--enable-intermodule" breaks build rob1weld at aol dot com
2009-01-09 21:12 ` [Bug bootstrap/38788] " pinskia at gcc dot gnu dot org
2009-01-09 21:23 ` rob1weld at aol dot com
2009-01-09 21:29 ` pinskia at gcc dot gnu dot org
2009-01-09 22:16 ` rob1weld at aol dot com
2009-01-09 22:40 ` pinskia at gcc dot gnu dot org
2009-01-10  5:56 ` rob1weld at aol dot com
2009-01-13  0:31 ` pinskia at gcc dot gnu dot org
2009-01-13 14:58 ` rob1weld at aol dot com
2009-01-13 15:09 ` jakub at gcc dot gnu dot org
     [not found] <bug-38788-4@http.gcc.gnu.org/bugzilla/>
2010-12-09 17:56 ` gseanmcg at gmail dot com
2012-02-03 23:13 ` pinskia at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).