anchor.diff:  
     
     # 7) The packages that can be built using the third stdenv.
  -  stdenvLinuxBoot2Pkgs = allPackages {
  -    inherit system platform;
  -    bootStdenv = stdenvLinuxBoot2;
  -  };
  -
  -  gccWithStaticLibs = stdenvLinuxBoot2Pkgs.gcc.gcc.override (rec {
  -        ppl = stdenvLinuxBoot2Pkgs.ppl.override {
  +  stdenvLinuxBoot3Pkgs = allPackages {
  +    inherit system platform;
  +    bootStdenv = stdenvLinuxBoot3;
  +  };
  +
  +  gccWithStaticLibs = stdenvLinuxBoot3Pkgs.gcc.gcc.override (rec {
  +        ppl = stdenvLinuxBoot3Pkgs.ppl.override {
             static = true;
  -          gmpxx = stdenvLinuxBoot2Pkgs.gmpxx.override {
  +          gmpxx = stdenvLinuxBoot3Pkgs.gmpxx.override {
               static = true;
             };
           };
  -        cloogppl = stdenvLinuxBoot2Pkgs.cloogppl.override {
  +        cloogppl = stdenvLinuxBoot3Pkgs.cloogppl.override {
             inherit ppl;
             static = true;
           };
  
positive.code:   #    this one uses the dynamically linked GCC and Binutils from step
    #    5.  The other tools (e.g. coreutils) are still from the
    #    bootstrap tools.
    stdenvLinuxBoot3 = stdenvBootFun {
      gcc = wrapGCC rec {
        inherit (stdenvLinuxBoot2Pkgs) binutils;
        coreutils = bootstrapTools;
        libc = stdenvLinuxGlibc;
        gcc = gccWithStaticLibs;
  
negative.code:   firstBinutils = stdenvLinuxBoot1Pkgs.binutils;
  
    # 3) 2nd stdenv that we will use to build only the glibc.
    stdenvLinuxBoot2 = stdenvBootFun {
      gcc = wrapGCC {
        libc = bootstrapGlibc;
        binutils = firstBinutils;
  