Summary: | Compiling Linux 2.6.28.6 ends with a segfault on net/core/skbuff.c | ||
---|---|---|---|
Product: | gcc | Reporter: | Lasse Kliemann <lasse-gccbug-2009> |
Component: | middle-end | Assignee: | Not yet assigned to anyone <unassigned> |
Status: | UNCONFIRMED --- | ||
Severity: | normal | CC: | gcc-bugs |
Priority: | P3 | Keywords: | ice-on-valid-code |
Version: | 4.1.2 | ||
Target Milestone: | --- | ||
Host: | Target: | i686-pc-linux-gnu | |
Build: | Known to work: | ||
Known to fail: | Last reconfirmed: | ||
Attachments: |
Preprocessed source file
Kernel configuration which triggers the problem |
Description
Lasse Kliemann
2009-04-04 22:22:52 UTC
Created attachment 17588 [details]
Preprocessed source file
The file is over 1 MB when uncompressed.
Created attachment 17589 [details]
Kernel configuration which triggers the problem
Maybe this can help.
The problem is _not_ triggered when using 'make defconfig'.
Segfault does not occur when omitting '-ffreestanding'. Segfault does not occur when using '-save-temps'. When I add '-save-temps' to 'arch/x86/Makefile' in the same location in which '-ffreestanding' occurs, 'make' runs through. I have not tested whether the resulting kernel works. Moreover, in that Makefile, it reads: # temporary until string.h is fixed KBUILD_CFLAGS += -ffreestanding So, it appears that '-ffreestanding' is itself a workaround for something. Another approach: obtain 'skbuff.i' via '-save-temps' and then copy it to 'net/core/skbuff.c'. Then 'make' will also run through. Can you give the output of gcc -v? (In reply to comment #4) > Can you give the output of gcc -v? > Using built-in specs. Target: i686-pc-linux-gnu Configured with: /package/host/localhost/sepbuilt/gcc41-4.1.2-01-03/src/unpack/gcc-4.1.2/configure --prefix=/package/host/localhost/sepbuilt/gcc41-4.1.2-01-03/prefix --libexecdir=/package/host/localhost/sepbuilt/gcc41-4.1.2-01-03/prefix/libexec --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-checking --disable-werror --enable-bootstrap --enable-languages=c,c++ Thread model: posix gcc version 4.1.2 By the way, this gcc was compiled roughly following the instructions from the HLFS project. In particular, this includes the following patches: http://www.linuxfromscratch.org/patches/hlfs/svn/gcc-4.1.2-fstack_protector-1.patch http://www.linuxfromscratch.org/patches/hlfs/svn/gcc-4.1.2-strncat_chk-1.patch http://www.linuxfromscratch.org/patches/hlfs/svn/gcc-4.1.2-fortify_source-2.patch http://www.linuxfromscratch.org/patches/hlfs/svn/gcc-4.1.2-fpie-2.patch http://www.linuxfromscratch.org/patches/hlfs/svn/gcc-4.1.2-DW_CFA_val-1.patch http://www.linuxfromscratch.org/patches/hlfs/svn/gcc-4.1.2-Wno_overlength_strings-1.patch http://www.linuxfromscratch.org/patches/hlfs/svn/gcc-4.1.2-PR26864-1.patch http://www.linuxfromscratch.org/patches/hlfs/svn/gcc-4.1.2-texinfo_fix-1.patch I can go and try to reproduce with a vanilla gcc, if that helps. |