anchor.diff:  
     clangSelf = clangWrapSelf llvmPackagesSelf.clang;
   
  -  clangWrapSelf = build: callPackage ../build-support/cc-wrapper {
  +  clangWrapSelf = build: ccWrapperFun {
       cc = build;
       isClang = true;
       stdenv = clangStdenv;
  
positive.code: 
    ccWrapperFun = callPackage ../build-support/cc-wrapper;
  
    wrapCC = wrapCCWith ccWrapperFun stdenv.cc.libc "";
    # legacy version, used for gnat bootstrapping
    wrapGCC-old = baseGCC: callPackage ../build-support/gcc-wrapper-old {
      nativeTools = stdenv.cc.nativeTools or false;
  
negative.code:   emscripten = callPackage ../development/compilers/emscripten { };
  
    emscriptenfastcomp-unwrapped = callPackage ../development/compilers/emscripten-fastcomp { };
    emscriptenfastcomp-wrapped = wrapCCWith stdenv.cc.libc ''
      # hardening flags break WASM support
      cat > $out/nix-support/add-hardening.sh
    '' emscriptenfastcomp-unwrapped;
  