I think we need remove subclassing from Generic_GCC and subclass from Toolchain as rubenvb do earlier. And to detect too chains in path write our own functions. http://reviews.llvm.org/D5268