GCC-3.4.3 PCH backported patch

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


Hi,

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
2.6.11.12, 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:

http://linuxfromscratch.org/pipermail/lfs-support/2005-December/029237.html
http://linuxfromscratch.org/pipermail/lfs-support/2005-December/029351.html

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:

http://linuxfromscratch.org/pipermail/lfs-dev/2005-July/052312.html
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14400

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-2.6.14.3, and it
works.  Test results from a patched gcc follow below.

Dan

[04:32 PM dbnichol at mail] uname -a
Linux mail 2.6.14.3-2 #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
e
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_
symbols.txt

        === 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