This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c/26774] New: Out of memory compiling 9-line Delta-reduced Linux kernel driver msp3400.c


The attached 9-line file causes a checking=all build of GCC 4.1.0 to exhaust
memory, on both Ubuntu Linux 5.04/2.6.10-6-386 and Mac OSX 10.4.5.  It's a
Delta-reduced version of a preprocessed version of the Linux Kernel file
drivers/media/video/msp3400.c, which exhibited the same behavior.  The original
compilation was being done by a test script outside the kernel tree, so the
compilation encountered errors; the preprocessed file is invalid C, as is the
Delta-reduced version.
    My checking=all builds of GCC 4.0.1 (patched) and 4.02 each give a
segmentation fault.  GCC 3.3.5 (Debian 1:3.3.5-8ubuntu2) gives up cleanly:
"confused by earlier errors, bailing out".
    On the non-reduced preprocessed file, with my patched checking build of
4.0.1, I instead get the following, which seems like PR22028, which is
presumably fixed: 
        internal compiler error: tree check: expected class ?type?, have
?exceptional? (error_mark) in 
        gimplify_type_sizes, at gimplify.c:4368

    Here's the session; I'll attached the preprocessed file and the
Delta-reduction.  I used ulimit on Ubuntu to save time; fully exhausting memory
on OSX (where ulimit doesn't seem to work) with the unreduced file took half an
hour, but memory use gets above 50MB fairly quickly.

3> ulimit -m 50000 -v 50000
 flash@traska scripts 20:11:53
4> /opt/gcc410-chk-all/bin/gcc -v
../cpp/bugfiles/GCC_bugfiles/error/122285_msp3400_min.i
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: /opt/Gcc-4.1.0-dist/configure --enable-checking=all
--prefix=/opt/gcc410-chk-all --enable-languages=c,c++ --with-comment=PalmSource
checking=all build by Flash Sheridan 3/17/06
Thread model: posix
gcc version 4.1.0
 /home/opt/gcc410-chk-all/bin/../libexec/gcc/i686-pc-linux-gnu/4.1.0/cc1
-fpreprocessed ../cpp/bugfiles/GCC_bugfiles/error/122285_msp3400_min.i -quiet
-dumpbase 122285_msp3400_min.i -mtune=pentiumpro -auxbase 122285_msp3400_min
-version -o /tmp/ccV7UEre.s
GNU C version 4.1.0 (i686-pc-linux-gnu)
        compiled by GNU C version 3.3.5 (Debian 1:3.3.5-8ubuntu2).
GGC heuristics: --param ggc-min-expand=0 --param ggc-min-heapsize=0
Compiler executable checksum: a68040354320563d9f0f04c1edf3c815
../cpp/bugfiles/GCC_bugfiles/error/122285_msp3400_min.i:3: warning: ?struct
i2c_client? declared inside parameter list
../cpp/bugfiles/GCC_bugfiles/error/122285_msp3400_min.i:3: warning: its scope
is only this definition or declaration, which is probably not what you want
../cpp/bugfiles/GCC_bugfiles/error/122285_msp3400_min.i:4: error: field
?driver? has incomplete type
../cpp/bugfiles/GCC_bugfiles/error/122285_msp3400_min.i:6: error: two or more
data types in declaration specifiers
../cpp/bugfiles/GCC_bugfiles/error/122285_msp3400_min.i:6: warning: ?struct
i2c_client? declared inside parameter list
../cpp/bugfiles/GCC_bugfiles/error/122285_msp3400_min.i:8: warning:
initialization from incompatible pointer type
virtual memory exhausted: Cannot allocate memory
 flash@traska scripts 20:14:31


---
PalmSource bug #122285
http://pobox.com/~flash
Quality Lead for Compilers and Debuggers
PalmSource, Inc. Tools Quality Management


-- 
           Summary: Out of memory compiling 9-line Delta-reduced Linux
                    kernel driver msp3400.c
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: flash at pobox dot com
  GCC host triplet: i686-pc-linux-gnu, powerpc-apple-darwin8.5.0


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]