GCC-3.4.3 PCH backported patch

Dan Nicholson dbn.lists at gmail.com
Fri Dec 16 16:36:29 PST 2005


In light of a some recent requests to lfs-support on this subject,
I've decided to ping the list with this patch again.

This issue is that when running gcc-3.4.3 or 3.4.4 on Linux-2.6.12+
breaks precompiled headers (PCH) due to an introduction of a feature
called exec-shield-randomize.  This has been fixed upstream in
gcc-3.4.5 and gcc-4.  However, LFS-6.1.1 (stable) still uses an
unpatched gcc-3.4.3.  If the user upgrades the kernel from the books, they will not be able to support the new feature.

This can be seen in testsuite failures from gcc when running
Linux-2.6.12+.  Examples of this can be seen here:


These people were using a LiveCD running a newer kernel, but any host
running a 2.6.12+ kernel would see the same errors.

More details can be seen here:


I've backported a patch from the above bug.  It's attached and am
CCing patches.  Feel free to change any headers if it's accepted. 
I've tested it for gcc-3.4.3 and gcc-3.4.4 on Linux-, and it
works.  Test results from a patched gcc follow below.


[04:32 PM dbnichol at mail] uname -a
Linux mail #1 PREEMPT Sun Dec 4 15:01:45 PST 2005 i686
pentium3 i386 GNU/Linux

Native configuration is i686-pc-linux-gnu

        === g++ tests ===

Running target unix
XPASS: g++.dg/rtti/tinfo1.C scan-assembler _ZTIP9CTemplateIhE:
XPASS: g++.dg/rtti/tinfo1.C scan-assembler-not .globl[ \\t]+_ZTIP9CTemplateIhE
WARNING: g++.old-deja/g++.mike/p10769a.C compilation failed to produce executabl
WARNING: g++.old-deja/g++.other/enum5.C compilation failed to produce executable
XPASS: g++.old-deja/g++.other/init5.C execution test
WARNING: g++.old-deja/g++.pt/friend44.C compilation failed to produce executable

        === g++ Summary ===

# of expected passes        9731
# of unexpected successes   3
# of expected failures      71
# of unsupported tests      43
/usr/src/build/gcc-build/gcc/testsuite/../g++ version 3.4.3

        === gcc tests ===

Running target unix
FAIL: gcc.c-torture/execute/va-arg-25.c execution,  -Os

        === gcc Summary ===

# of expected passes        24948
# of unexpected failures    1
# of expected failures      70
# of untested testcases     7
# of unsupported tests      200
/usr/src/build/gcc-build/gcc/xgcc version 3.4.3

        === libstdc++-v3 check-abi Summary ===

# of added symbols:      9
# of missing symbols:        0
# of incompatible symbols:   0

using: /usr/src/build/gcc-3.4.3/libstdc++-v3/config/abi/i486-linux-gnu/baseline_

        === libstdc++ tests ===

Running target unix
XPASS: 22_locale/locale/cons/12658_thread.cc execution test
XPASS: 26_numerics/c99_classification_macros_c.cc (test for excess errors)

        === libstdc++ Summary ===

# of expected passes        2722
# of unexpected successes   2
# of expected failures      5

Compiler version: 3.4.3
Platform: i686-pc-linux-gnu
configure flags: --prefix=/usr --libexecdir=/usr/lib --enable-shared --enable-la
nguages=c,c++ --enable-clocale=gnu --enable-threads=posix --enable-__cxa_atexit
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gcc-3.4.3-pch-1.patch.gz
Type: application/x-gzip
Size: 8970 bytes
Desc: not available
URL: <http://lists.linuxfromscratch.org/pipermail/patches/attachments/20051216/9d2719b7/attachment.bin>

More information about the patches mailing list