anchor.diff:        isl = pkgs.isl.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
         cloog = pkgs.cloog.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
         ppl = pkgs.ppl.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
  -    };
  -    extraAttrs = {
  -      glibc = stage2.pkgs.glibc;  # Required by gcc47 build
  +      gccPlain = pkgs.gcc.gcc;
       };
       extraBuildInputs = [ stage2.pkgs.patchelf stage2.pkgs.paxctl ];
     };
  
positive.code:   # 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";
  
      overrides = pkgs: {
        # The Glibc include directory cannot have the same prefix as the
  
negative.code:   # Construct a fourth stdenv that uses the new GCC.  But coreutils is
    # still from the bootstrap tools.
    stage4 = stageFun {
      inherit (stage3.pkgs) gccPlain glibc binutils;
      coreutils = bootstrapTools;
      name = "";
  
      overrides = pkgs: {
        # Zlib has to be inherited and not rebuilt in this stage,
        # because gcc (since JAR support) already depends on zlib, and
  