anchor.diff:          withFloat = if gccFloat != null then " --with-float=${gccFloat}" else "";
           withMode = if gccMode != null then " --with-mode=${gccMode}" else "";
         in
  -        (withArch +
  +        withArch +
           withCpu +
           withAbi +
           withFpu +
           withFloat +
  -        withMode);
  +        withMode;
   
       /* Cross-gcc settings */
       crossMingw = (cross != null && cross.libc == "msvcrt");
       crossConfigureFlags = let
  -        gccArch = stdenv.lib.attrByPath [ "gcc" "arch" ] null cross;
  -        gccCpu = stdenv.lib.attrByPath [ "gcc" "cpu" ] null cross;
  -        gccAbi = stdenv.lib.attrByPath [ "gcc" "abi" ] null cross;
  -        gccFpu = stdenv.lib.attrByPath [ "gcc" "fpu" ] null cross;
  -        gccFloat = stdenv.lib.attrByPath [ "gcc" "float" ] null cross;
  -        gccMode = stdenv.lib.attrByPath [ "gcc" "mode" ] null cross;
  +        gccArch = stdenv.cross.gcc.arch or null;
  +        gccCpu = stdenv.cross.gcc.cpu or null;
  +        gccAbi = stdenv.cross.gcc.abi or null;
  +        gccFpu = stdenv.cross.gcc.fpu or null;
  +        gccFloat = stdenv.cross.gcc.float or null;
  +        gccMode = stdenv.cross.gcc.mode or null;
           withArch = if gccArch != null then " --with-arch=${gccArch}" else "";
           withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else "";
           withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else "";
  
positive.code:     else "install";
  
    crossAttrs = let
      xgccArch = stdenv.lib.attrByPath [ "gcc" "arch" ] null stdenv.cross;
      xgccCpu = stdenv.lib.attrByPath [ "gcc" "cpu" ] null stdenv.cross;
      xgccAbi = stdenv.lib.attrByPath [ "gcc" "abi" ] null stdenv.cross;
      xgccFpu = stdenv.lib.attrByPath [ "gcc" "fpu" ] null stdenv.cross;
      xgccFloat = stdenv.lib.attrByPath [ "gcc" "float" ] null stdenv.cross;
      xwithArch = if xgccArch != null then " --with-arch=${xgccArch}" else "";
      xwithCpu = if xgccCpu != null then " --with-cpu=${xgccCpu}" else "";
      xwithAbi = if xgccAbi != null then " --with-abi=${xgccAbi}" else "";
  
negative.code: 
                                     # On GNU/Hurd glibc refers to Mach & Hurd
                                     # headers.
                                     ++ optionals (libcCross != null && libcCross ? "propagatedBuildInputs" )
                                          libcCross.propagatedBuildInputs)));
  
    LIBRARY_PATH = concatStrings
  