Two fixes in one:

- our gcc should not bring libssp, because glibc provides __stack_chk_fail
  already. libssp is only for some non-glibc systems.
  The gcc configure script was not finding the header files of our glibc, so
  it assumed it did not provide __stack_chk_fail. I wrote code in the builder
  that patches the gcc/configure script properly for that.

  As a consequence, the glibc does not need anymore the "nscd-ssp-linking"
  patch, and we have a saner gcc (without libssp when using -fstack-protector)
- Instead of disabling the sse42 strstr() implementation in glibc due to the
  bug http://sourceware.org/bugzilla/show_bug.cgi?id=12123, I provide a better
  patch written after more reserach (that I submitted upstream already, and
  it's pending review).


svn path=/nixpkgs/branches/stdenv-updates/; revision=24493
This commit is contained in:
Lluís Batlle i Rossell
2010-10-26 18:56:02 +00:00
parent b9da5de4da
commit 2b34bdd2ba
5 changed files with 26 additions and 45 deletions

View File

@@ -159,6 +159,14 @@ preConfigure() {
rm -Rf zlib
fi
# Patch the configure script so it finds glibc headers
# It's important for example in order not to get libssp built, because it's
# functionality is in glibc already.
glibc_headers="$(cat $NIX_GCC/nix-support/orig-libc)/include"
sed -i \
-e s,glibc_header_dir=/usr/include,glibc_header_dir=$glibc_headers, \
gcc/configure
if test -n "$crossMingw" -a -n "$crossStageStatic"; then
mkdir -p ../mingw
# --with-build-sysroot expects that: