2010-07-301.7: update version to 1.7.2+hg 1.7
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Fri, 30 Jul 2010 00:18:03 +0200] rev 2050
1.7: update version to 1.7.2+hg

2010-07-30Tagging release 1.7.2 1.7
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Fri, 30 Jul 2010 00:18:02 +0200] rev 2049
Tagging release 1.7.2

2010-07-301.7: update version to 1.7.2 1.7 crosstool-ng-1.7.2
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Fri, 30 Jul 2010 00:18:02 +0200] rev 2048
1.7: update version to 1.7.2

2010-07-29scripts: remove . from $PATH 1.7
Johannes Stezenbach <js@sig21.net> [Thu, 29 Jul 2010 19:30:37 +0200] rev 2047
scripts: remove . from $PATH

Add CT_SanitizePath function which removes entries referring to ., /tmp
and non-existing directories from $PATH, and call it early in the
build script.

If . is in PATH, gcc-4.4.4 build breaks:

[ALL ] checking what assembler to use...
/tmp/build/targets/arm-unknown-linux-uclibcgnueabi/build/gcc-core-static/arm-unknown-linux-uclibcgnueabi/bin/as
...
[ALL ] config.status: creating as

i.e. "as" is supposed to be the arm-unknown-linux-uclibcgnueabi cross assembler,
but config.status creates a local "as" script which is calling the
host assembler.

Signed-off-by: Johannes Stezenbach <js@sig21.net>
[Yann E. MORIN: style fixes + explanations]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
(transplanted from 20dd8cef1c8adff0aa3e78ae6d7acfbc45ed5a83)

2010-07-19complibs: fix using static companion libraries 1.7
Bart vdr. Meulen <bartvdrmeulen@gmail.com> [Mon, 19 Jul 2010 23:16:02 +0200] rev 2046
complibs: fix using static companion libraries

When building a cross-compiler for a target which uses a file extension for
binaries the symbolic link to cc is not created correctly because the lookup
of the gcc binary is done in a incorrect path

Signed-off-by: Bart vdr. Meulen <bartvdrmeulen@gmail.com>
(transplanted from 3917f2dafed1bb189e39f50e8506b3141926d7e1)

2010-07-29cc/gcc: add option to compile against static libstdc++, for gcc-4.4 and newer
Johannes Stezenbach <js@sig21.net> [Thu, 29 Jul 2010 19:47:16 +0200] rev 2045
cc/gcc: add option to compile against static libstdc++, for gcc-4.4 and newer

Idea and know-how taken from CodeSourcery build script.

Normal build:
$ ldd arm-unknown-linux-uclibcgnueabi-gcc
linux-gate.so.1 => (0xb77f3000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb76e8000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb75a1000)
libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb757a000)
/lib/ld-linux.so.2 (0xb77f4000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb755c000)

CC_STATIC_LIBSTDCXX=y:
$ ldd arm-unknown-linux-uclibcgnueabi-gcc
linux-gate.so.1 => (0xb7843000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb76e6000)
/lib/ld-linux.so.2 (0xb7844000)

I made CC_STATIC_LIBSTDCXX default=y since I think
it is always desirable.

Signed-off-by: Johannes Stezenbach <js@sig21.net>

2010-07-29scripts: remove . from $PATH
Johannes Stezenbach <js@sig21.net> [Thu, 29 Jul 2010 19:30:37 +0200] rev 2044
scripts: remove . from $PATH

Add CT_SanitizePath function which removes entries referring to ., /tmp
and non-existing directories from $PATH, and call it early in the
build script.

If . is in PATH, gcc-4.4.4 build breaks:

[ALL ] checking what assembler to use...
/tmp/build/targets/arm-unknown-linux-uclibcgnueabi/build/gcc-core-static/arm-unknown-linux-uclibcgnueabi/bin/as
...
[ALL ] config.status: creating as

i.e. "as" is supposed to be the arm-unknown-linux-uclibcgnueabi cross assembler,
but config.status creates a local "as" script which is calling the
host assembler.

Signed-off-by: Johannes Stezenbach <js@sig21.net>
[Yann E. MORIN: style fixes + explanations]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>

2010-07-28cc/gcc: add option to enable/disable libmudflap
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Wed, 28 Jul 2010 23:55:10 +0200] rev 2043
cc/gcc: add option to enable/disable libmudflap

For some scenarii, libmudflap is not very usefull
or can break the build. Make in an optioon that
defaults to 'N' to be on the safe side.

For the core gcc-s, there is absolutely no need
to build libmidflap.

Idea from: Bernhard Pfund <bernhard@chapter7.ch>

2010-07-28cc/gcc: make sjlj config option a tristate
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Wed, 28 Jul 2010 23:53:09 +0200] rev 2042
cc/gcc: make sjlj config option a tristate

A tristate fits better here than a choice.

2010-07-28cc/gcc: move options around
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Wed, 28 Jul 2010 21:28:54 +0200] rev 2041
cc/gcc: move options around

2010-07-28config: allow unconditional usage of tristates
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Wed, 28 Jul 2010 21:32:42 +0200] rev 2040
config: allow unconditional usage of tristates

2010-07-26libc-uclibc: move options
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Mon, 26 Jul 2010 00:07:17 +0200] rev 2039
libc-uclibc: move options

2010-07-28libc/uClibc: fix space damage
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Wed, 28 Jul 2010 01:39:52 +0200] rev 2038
libc/uClibc: fix space damage

2010-07-28libc/uClibc: fix using pre-generated locale data
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Wed, 28 Jul 2010 01:38:15 +0200] rev 2037
libc/uClibc: fix using pre-generated locale data

Some time, someone updated the locale Makefile to use
newer pre-generated locales data, but did not upload
those.

So we just force using the existing, ageing archive,
dating back 20030818. Sigh...

2010-07-28libc/uClibc: do not systematically use pre-generated locale data
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Wed, 28 Jul 2010 01:03:07 +0200] rev 2036
libc/uClibc: do not systematically use pre-generated locale data

It seems that using pre-generated locale data can be more problematic
than usefull in some circumstances.

Offer a config knob to enable/disable use of the pregen locale data.
Also, do not extract pregen locales data ourselves, it's broken.

2010-07-15configure: fix --mandir 1.7
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Thu, 15 Jul 2010 22:34:31 +0200] rev 2035
configure: fix --mandir

--mandir points to the base dir of the man pages, so
we have to append our man section below given dir.
(transplanted from a8a4d5c9773893fa6978e5f9e1445d1e8185c24a)

2010-07-22scripts: add a cross-ldd-like
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Thu, 22 Jul 2010 23:26:08 +0200] rev 2034
scripts: add a cross-ldd-like

Add a cross-ldd that mimicks a native ldd.

2010-07-22libc/uClibc: do not install cross-ldd
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Thu, 22 Jul 2010 20:06:27 +0200] rev 2033
libc/uClibc: do not install cross-ldd

I was unable to make the cross-ldd from uClibc to work, and
it is not possible to build it on non-POSIX system.

Besides, we have a generic script that is in the starting-blocks
to replace it, that will work for any C library, and also will
work on non-POSIX systems. Bonus!

2010-07-22docs/known-issues: document the "error compiling FC test program" issue
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Thu, 22 Jul 2010 23:33:17 +0200] rev 2032
docs/known-issues: document the "error compiling FC test program" issue

2010-07-19complibs: fix using static companion libraries
Bart vdr. Meulen <bartvdrmeulen@gmail.com> [Mon, 19 Jul 2010 23:16:02 +0200] rev 2031
complibs: fix using static companion libraries

When building a cross-compiler for a target which uses a file extension for
binaries the symbolic link to cc is not created correctly because the lookup
of the gcc binary is done in a incorrect path

Signed-off-by: Bart vdr. Meulen <bartvdrmeulen@gmail.com>

2010-07-13libc/uClibc: fix verbosity level for uClibc >= 0.9.30
Johannes Stezenbach <js@sig21.net> [Tue, 13 Jul 2010 12:12:32 +0200] rev 2030
libc/uClibc: fix verbosity level for uClibc >= 0.9.30

uClibc >= 0.9.30 supports three verbosity levels, according to "make help":

V="" - Quiet build (default)
V=1 - Brief build (show defines, ld flags)
V=2 - Very verbose build

I think older versions of uClibc treat V=2 the same as V=1.
For current uClibc, only V=2 shows the full command lines.

Signed-off-by: Johannes Stezenbach <js@sig21.net>

2010-07-18scripts/functions: recognise Cygwin build hosts
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sun, 18 Jul 2010 00:34:38 +0200] rev 2029
scripts/functions: recognise Cygwin build hosts

2010-07-17scripts: use 'hg archive' to create release tarballs
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sat, 17 Jul 2010 11:31:57 +0200] rev 2028
scripts: use 'hg archive' to create release tarballs

2010-07-15kernel/mingw32: mark as being EXPERIMENTAL
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Thu, 15 Jul 2010 09:51:55 +0200] rev 2027
kernel/mingw32: mark as being EXPERIMENTAL

2010-07-15configure: fix --mandir
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Thu, 15 Jul 2010 22:34:31 +0200] rev 2026
configure: fix --mandir

--mandir points to the base dir of the man pages, so
we have to append our man section below given dir.

2010-07-15scripts: update config.{guess,sub}
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Thu, 15 Jul 2010 10:18:40 +0200] rev 2025
scripts: update config.{guess,sub}

2010-07-14Merge.
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Wed, 14 Jul 2010 19:11:40 +0200] rev 2024
Merge.

2010-07-14complibs/ppl: backout #9f0de857cb05
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Wed, 14 Jul 2010 19:11:12 +0200] rev 2023
complibs/ppl: backout #9f0de857cb05

The patch breaks the build on most machines,
while the purpose of the patch is dubious.
So, simply back it out.

2010-07-11debug/gdb: properly remove build tic
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sun, 11 Jul 2010 22:26:29 +0200] rev 2022
debug/gdb: properly remove build tic

tic is isntalled in buildtools, not in the toolchain's bin dir.
Plus, it may have an extension...

2010-07-11debug/gdb: Fix compilation for Mingw hosts
Remy Bohmer <linux@bohmer.net> [Sun, 11 Jul 2010 22:23:34 +0200] rev 2021
debug/gdb: Fix compilation for Mingw hosts

GDB requires PDcurses instead of ncurses while running on Windows.
So, do not always compile ncurses in case GDB needs to build.

PDcurses is provided by an earlier build step and is not described in
this file.

Signed-off-by: Remy Bohmer <linux@bohmer.net>
[yann.morin.1998@anciense.nib.fr: we already have a way to detect ncurses usage]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>

2010-07-11complibs/ppl: fix build for MINGW
Bart vdr Meulen <bartvdrmeulen@gmail.com> [Sun, 11 Jul 2010 21:37:43 +0200] rev 2020
complibs/ppl: fix build for MINGW

Signed-off-by: Bart vdr. Meulen <bartvdrmeulen@gmail.com>
---
patches/ppl/0.10.2/100-update-for-mingw-build.patch | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
create mode 100644 patches/ppl/0.10.2/100-update-for-mingw-build.patch

2010-07-11samples: add Linux -> Mingw32 sample
Bart vdr Meulen <bartvdrmeulen@gmail.com> [Sun, 11 Jul 2010 21:37:29 +0200] rev 2019
samples: add Linux -> Mingw32 sample

Sample to build compiler targetting mingw32 target systems

Signed-off-by: Bart vdr. Meulen <bartvdrmeulen@gmail.com>
---
samples/i686-pc-mingw32/crosstool.config | 302 +++++++++++++++++++++++++++++++
samples/i686-pc-mingw32/reported.by | 3
2 files changed, 305 insertions(+)
create mode 100644 samples/i686-pc-mingw32/crosstool.config
create mode 100644 samples/i686-pc-mingw32/reported.by

2010-07-11kernel/mingw: add target libraries
Bart vdr Meulen <bartvdrmeulen@gmail.com> [Sun, 11 Jul 2010 21:36:55 +0200] rev 2018
kernel/mingw: add target libraries

Add several development libraries to the build of the mingw cross-compiler
to be used on target

Libraries:
PDCurses (port of the ncurses library)
GnuRX (the regex library)
DirectX
OpenGL

Signed-off-by: Bart vdr. Meulen <bartvdrmeulen@gmail.com>
[yann.morin.1998@anciens.enib.fr: don't show DX and RX versions if disabled]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>

2010-07-11kernel: add mingw
Bart vdr Meulen <bartvdrmeulen@gmail.com> [Sun, 11 Jul 2010 21:36:20 +0200] rev 2017
kernel: add mingw

Add the option to build a cross-compiler for kernel type 'mingw'.
The resulting cross-compiler can be used to build applications on a Linux host
that can be run on a Windows target.

Compiler is build using the mingwrt and w32-api packages aviable from the
MinGW project (http://sourceforge.net/projects/mingw).

The windows headers (w32-api package) are extracting with the kernel_headers
step The libraries and other headers from both packages are build and
installed in the various steps of libc

Signed-off-by: Bart vdr Meulen <bartvdrmeulen@gmail.com>
[yann.morin.1998@anciens.enib.fr: fix kernel headers comment, don't "return 0"]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>

2010-07-11libc: add global threads support option
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sun, 11 Jul 2010 14:26:52 +0200] rev 2016
libc: add global threads support option

2010-07-11samples: add an ARMeb uClibc/NPTL experimental sample
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sun, 11 Jul 2010 00:20:13 +0200] rev 2015
samples: add an ARMeb uClibc/NPTL experimental sample

2010-07-10cc/gcc: gcc-4.4 does not use MPC
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sat, 10 Jul 2010 15:25:10 +0200] rev 2014
cc/gcc: gcc-4.4 does not use MPC

As reported by Johannes Stezenbach, see thread at:
http://sourceware.org/ml/crossgcc/2010-07/msg00017.html

2010-07-10config: no need to push the download mirror in a sub menu
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sat, 10 Jul 2010 14:20:16 +0200] rev 2013
config: no need to push the download mirror in a sub menu

2010-07-09binutils/binutils: add binutils-2.20.1
Johannes Stezenbach <js@sig21.net> [Fri, 09 Jul 2010 15:53:49 +0200] rev 2012
binutils/binutils: add binutils-2.20.1

Signed-off-by: Johannes Stezenbach <js@sig21.net>

2010-07-09kernel/linux: update linux stable releases
Johannes Stezenbach <js@sig21.net> [Fri, 09 Jul 2010 15:51:59 +0200] rev 2011
kernel/linux: update linux stable releases

Signed-off-by: Johannes Stezenbach <js@sig21.net>

2010-07-03libc/uClibc: fix snapshots 1.7
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sat, 03 Jul 2010 00:17:54 +0200] rev 2010
libc/uClibc: fix snapshots

Snapshots are in a subdir named uClibc, not uClibc-snapshot
(or uClibc-YYYYMMDD either).
(transplanted from b13d0db6fa95795bb663bf674372b58221682dd6)

2010-07-03libc/uClibc: enable NPTL for snapshots
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sat, 03 Jul 2010 01:15:28 +0200] rev 2009
libc/uClibc: enable NPTL for snapshots

Recently, NPTL has matured a lot in uClibc, and more and more
people are interested to at least give it a try. So enable it.

2010-07-03libc/uClibc: fix snapshots
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sat, 03 Jul 2010 00:17:54 +0200] rev 2008
libc/uClibc: fix snapshots

Snapshots are in a subdir named uClibc, not uClibc-snapshot
(or uClibc-YYYYMMDD either).

2010-07-02libc/uClibc: fix munging .config for LT old/new
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Fri, 02 Jul 2010 22:11:45 +0200] rev 2007
libc/uClibc: fix munging .config for LT old/new

2010-07-03debug/ltrace: add latest version
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sat, 03 Jul 2010 14:51:02 +0200] rev 2006
debug/ltrace: add latest version

2010-07-07scripts/finish: do not try to symlink if sed expr is a no-op 1.7
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Wed, 07 Jul 2010 22:33:49 +0200] rev 2005
scripts/finish: do not try to symlink if sed expr is a no-op

If the sed expression does not transform the
tuple, do not try to create the symlink.
(transplanted from 5d6d3c28a658a65551d4eb5de414fd97b575f314)

2010-07-07scripts/finish: do not try to symlink if sed expr is a no-op
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Wed, 07 Jul 2010 22:33:49 +0200] rev 2004
scripts/finish: do not try to symlink if sed expr is a no-op

If the sed expression does not transform the
tuple, do not try to create the symlink.

2010-07-01debug/gdb: fix incorrect path
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Thu, 01 Jul 2010 01:17:01 +0200] rev 2003
debug/gdb: fix incorrect path

Fix discrepancy between the directory we create,
and the directory into which we install tic.

2010-07-01libc/glibc: fix installed scripts
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Thu, 01 Jul 2010 00:24:04 +0200] rev 2002
libc/glibc: fix installed scripts

glibc installs some bash-scripts, but uses the path to the buildtool
bash as interpreter (on the shebang line). This is only a symlink to
the real bash, and thus is not available at runtime.

Fix that by assuming that bash on the target *will* be /bin/bash.

2010-06-271.7: update version to 1.7.1+hg 1.7
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sun, 27 Jun 2010 18:38:12 +0200] rev 2001
1.7: update version to 1.7.1+hg

2010-06-27Tagging release 1.7.1 1.7
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sun, 27 Jun 2010 18:38:12 +0200] rev 2000
Tagging release 1.7.1

2010-06-271.7: update version to 1.7.1 1.7 crosstool-ng-1.7.1
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sun, 27 Jun 2010 18:38:12 +0200] rev 1999
1.7: update version to 1.7.1

2010-06-22scripts/wrapper: fix wrong test when checking access to the reall tool 1.7
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Tue, 22 Jun 2010 23:49:23 +0200] rev 1998
scripts/wrapper: fix wrong test when checking access to the reall tool

In C, the proper syntax for a bit-wise OR is a single '|', not two.

It worked so far because all was well:
- X_OK == 1
- R_OK||X_OK == 1
- the file we searched for had the x-bit set
-> access( file, R_OK||X_OK ) worked
- inicidentally, the file we searched for also had the r-bit set,
but we were not testing that in fact.
(transplanted from eebcaff6626f09af4f69b7b06f1246a06769d0af)

2010-06-16complibs/gmp: 5.0.0 misses 'EXPERIMENTAL' in the prompt 1.7
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Wed, 16 Jun 2010 18:57:10 +0200] rev 1997
complibs/gmp: 5.0.0 misses 'EXPERIMENTAL' in the prompt
(transplanted from 95b4a458fd60d3e0911750c2b7c1b6cf36285845)

2010-06-13cc/gcc: fix headers copy for core static 1.7
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sun, 13 Jun 2010 20:25:00 +0200] rev 1996
cc/gcc: fix headers copy for core static
(transplanted from 22ce0c19f06a530d72fd65c89d0777d16c0a97ac)

2010-05-19crosstool-NG.sh: suppress failure message from uname -o 1.7
Titus von Boxberg <titus@v9g.de> [Wed, 19 May 2010 18:17:39 +0200] rev 1995
crosstool-NG.sh: suppress failure message from uname -o

On non-GNU systems (BSD/MacOS) there is no uname -o.
Suppress the failure message on these systems in the
call to set CT_SYS_OS (uname -s actually sets this variable).

yann.morin.1998@anciens.enib.fr: remove 'uname -o' altogether.
(transplanted from acae437fddccd7681c93a3b6c999c0796693d625)

2010-06-27scripts: enhance Makefile for installation
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sun, 27 Jun 2010 16:40:21 +0200] rev 1994
scripts: enhance Makefile for installation

Split the multiple directory copies into autonomous rules.
Fix the autocompletion message.

2010-06-25test-suite: correctly install when not --local
"Andy Gibbs" <andyg1001@hotmail.co.uk> [Fri, 25 Jun 2010 12:33:30 +0200] rev 1993
test-suite: correctly install when not --local

2010-06-22scripts/wrapper: fix wrong test when checking access to the reall tool
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Tue, 22 Jun 2010 23:49:23 +0200] rev 1992
scripts/wrapper: fix wrong test when checking access to the reall tool

In C, the proper syntax for a bit-wise OR is a single '|', not two.

It worked so far because all was well:
- X_OK == 1
- R_OK||X_OK == 1
- the file we searched for had the x-bit set
-> access( file, R_OK||X_OK ) worked
- inicidentally, the file we searched for also had the r-bit set,
but we were not testing that in fact.

2010-06-17cc/gcc: add option do disable PCH
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Thu, 17 Jun 2010 21:26:23 +0200] rev 1991
cc/gcc: add option do disable PCH

In some cases, using Pre-Compiled Headers breaks the build.
Ass an option to disable building the PCH, as suggested by:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40974