Usually we want the stem of argv[0] so something like clang-15 will correctly be identified as clang. For lld however, ld.lld or ld-link would have a stem of just ld, so we also want to use the full filename. The bug previously was that we were using all of argv[0] so if you use a full path that happens to include a tool name then that could be found first. This was the case in 2 stage build where the binaries are stored in "tools/clang/stage2-bins/" so some tools would end up as clang and not their intended tool.
2.3 KiB
2.3 KiB