anchor.diff:    # Build a dummy stdenv with no GCC or working fetchurl.  This is
     # because we need a stdenv to build the GCC wrapper and fetchurl.
     stage0 = stageFun {
  -    gcc = "/no-such-path";
  +    gccPlain = null;
  +    glibc = null;
  +    binutils = null;
  +    coreutils = null;
  +    name = null;
   
       overrides = pkgs: {
         # The Glibc include directory cannot have the same prefix as the
  
positive.code:   # 2nd stdenv that contains our own rebuilt binutils and is used for
    # compiling our own Glibc.
    stage2 = stageFun {
      gcc = wrapGCC {
        gcc = bootstrapTools;
        libc = stage1.pkgs.glibc;
        binutils = stage1.pkgs.binutils;
        coreutils = bootstrapTools;
        name = "bootstrap-gcc-wrapper";
      };
      overrides = pkgs: {
        inherit (stage1.pkgs) perl binutils paxctl;
        # This also contains the full, dynamically linked, final Glibc.
  
negative.code:       # other purposes (binutils and top-level pkgs) too.
        inherit (stage3.pkgs) gettext gnum4 gmp perl glibc zlib linuxHeaders;
  
        # Accidental historical garbage
        #
        # TODO(errge): this historical mistake accidentally disables
        # tests for the production coreutils, we definitely don't want
        # that, so fix this in another commit!  (But will change drv and
        # out hashes.)
        coreutils = pkgs.coreutils.override { stdenv = stage4.stdenv.override { extraAttrs = { inherit platform; }; }; };
  
        gcc = import ../../build-support/gcc-wrapper {
          nativeTools = false;
          nativeLibc = false;
          gcc = stage4.stdenv.gcc.gcc;
          libc = stage4.pkgs.glibc;
          inherit (stage4.pkgs) binutils coreutils;
          name = "";
          stdenv = stage0.stdenv; # TODO(errge): legacy
          shell = stage4.pkgs.bash + "/bin/bash";
        };
      };
      extraBuildInputs = [ stage3.pkgs.patchelf stage3.pkgs.xz ];
    };
  