anchor.diff:  , deterministic ? false }:
   
   let basename = "binutils-2.23.2"; in
  +
  +with { inherit (stdenv.lib) optional optionals optionalString; };
  +
   stdenv.mkDerivation rec {
  -  name = basename + stdenv.lib.optionalString (cross != null) "-${cross.config}";
  +  name = basename + optionalString (cross != null) "-${cross.config}";
   
     src = fetchurl {
       url = "mirror://gnu/binutils/${basename}.tar.bz2";
  
positive.code:   # to the bootstrap-tools libgcc (as uses to happen on arm/mips)
    NIX_CFLAGS_COMPILE = "-static-libgcc";
  
    configureFlags = "--disable-werror" # needed for dietlibc build
        + stdenv.lib.optionalString (stdenv.system == "mips64el-linux")
          " --enable-fix-loongson2f-nop"
        + stdenv.lib.optionalString (cross != null) " --target=${cross.config}"
        + stdenv.lib.optionalString gold " --enable-gold --enable-plugins"
        + stdenv.lib.optionalString deterministic " --enable-deterministic-archives";
  
    enableParallelBuilding = true;
        
    meta = {
      description = "GNU Binutils, tools for manipulating binaries (linker, assembler, etc.)";
  
  
negative.code:     # That requires upstream changes for things to work. So we can patch it to
      # get the old behaviour by now.
      ./dtneeded.patch
    ] ++ optional deterministic ./deterministic.patch;
  
    buildInputs =
      [ zlib ]
      ++ optional gold bison;
  
    inherit noSysDirs;
  
    preConfigure = ''
      # Clear the default library search path.
      if test "$noSysDirs" = "1"; then
          echo 'NATIVE_LIB_DIRS=' >> ld/configure.tgt
      fi
  
      # Use symlinks instead of hard links to save space ("strip" in the
  