anchor.diff:  assert nativeTools -> nativePrefix != "";
   assert !nativeTools ->
     cc != null && binutils != null && coreutils != null && gnugrep != null;
  -assert !nativeLibc -> libc != null;
  +assert !(nativeLibc && noLibc);
  +assert (noLibc || nativeLibc) == (libc == null);
   
   # For ghdl (the vhdl language provider to gcc) we need zlib in the wrapper.
   assert cc.langVhdl or false -> zlib != null;
  
positive.code:       echo "export LD_DYLD_PATH=\"$dynamicLinker\"" >> $out/nix-support/setup-hook
      '')
  
      + optionalString (!nativeLibc) ''
        # The "-B${libc_lib}/lib/" flag is a quick hack to force gcc to link
        # against the crt1.o from our own glibc, rather than the one in
        # /usr/lib.  (This is only an issue when using an `impure'
  
negative.code:       # Propagate the wrapped cc so that if you install the wrapper,
        # you get tools like gcov, the manpages, etc. as well (including
        # for binutils and Glibc).
        echo ${cc} ${cc.man or ""} ${binutils_bin} ${if libc == null then "" else libc_bin} > $out/nix-support/propagated-user-env-packages
  
        echo ${toString extraPackages} > $out/nix-support/propagated-native-build-inputs
      ''
  