Enable C++ exceptions and RTTI by default.

With this change, -fexceptions and -frtti become default options
when compiling C++ sources.

Change-Id: Ie136fc1dd57d15dfa062730118c2f8496d25cc62
gcc: prevent crash on Eclair and older platforms.

The point of this patch is to work-around a bug in the Eclair
dynamic linker, which doesn't support weak symbols. By default,
libsupc++ and libstdc++ generate static C++ constructors that
reference weak symbols.

When they are statically linked into shared libraries, the
corresponding code is referenced in its .init_array section
and run when the shared library is loaded.

On Eclair and previous release, the weak symbol is not resolved
before the constructor are launched, resulting in a crash when
the PLT entry tries to jump to address 0.

By not generating weak symbol references, we avoid the problem
completely. And we don't need them because the pthread symbols
are all in the C library on Android, unlike legacy Linux systems
which put them in libpthread.so (and provide weak stubs in libc.so).

Change-Id: I289db08a9ea567f0574bb2058516bfeb01c68a2c
Update gcc-4.4.3 for building libsupc++ in freestanding mode.

-Backport upstream patch from gcc rev 171019.

Change-Id: I177e4e11f38d57c6ca1d065ebf3e8a37d9bacc33
Work-around for Android __cxa_finalize bug

Change-Id: I82364f6ed1ca04ecf3844179bc9887f61226fd75
xgcc compiles need to use the Android crt files as specified in LDFLAGS_FOR_TARGET

Change-Id: If494615b055cd5c001ffd7a1722bcbdf9b88abd8
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Sync internal and external version:

Changes:
-x86 security patch (for ChromeOS)
-Fix bug in inlining.
-Fix freestanding C++ library build:
 http://gcc.gnu.org/viewcvs?view=revision&revision=173220
-Fix out-of-range branches in Thumb-2 mode.
-Fix gcda file corruption problem.
-Hanlde LDFLAGS_FOR_TARGETS in configure.  This is a backport of upstrem
 patch r173558.
-Backport upstream fix for Atom performance at r164379.

Change-Id: Id5a6cfb8949cbd390a0bb3546d55d83383ee4f8c
Enable x86 gcc defaults

Enabling the same built-in defaults for the x86
toolchain as is currently done for ARM.

Change-Id: I1118569246c70496ae8e0971036916286321274c
Use the correct CRT files with -shared link option

Change-Id: I5f9b28cc3bcf7d3a0ead9777d26b563ff6e82760
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
Disable libstdc++ versioning
Add .gitignore
Don't use weak pthread symbols on Android
Use FreeBSD based ctype_xxx.h headers rather then bionic
Include _ctype.h into ctype_base.h

This way we ensure macros _U, _A etc are defined
Add -lcrystax to the lib spec

It will allow use standalone toolchain which always links with
libcrystax in proper place
Add Linaro GCC 4.6-2011.12 (gcc-4.6.3)
Merge 075cf90f0142ad86d8e496e2b67e63566fec12fe into gcc-4.6.3

Enable x86 gcc defaults

Enabling the same built-in defaults for the x86
toolchain as is currently done for ARM.
Merge 7bad5f12e955633dbd733a74cd0d05149f914855 into gcc-4.6.3

Use the correct CRT files with -shared link option
Merge f6e25eb716052062b0f3545fb8332cb99646690a into gcc-4.6.3

Disable libstdc++ versioning
Don't use weak pthread symbols on Android (gcc-4.6.3)
Use FreeBSD based ctype_xxx.h headers rather then bionic (gcc-4.6.3)