Make toolchain.ninja deterministic order.

This was discovered by CI failures when I attempted to add integration
tests to GN.

https://logs.chromium.org/logs/gn/buildbucket/cr-buildbucket/8678776451501478497/+/u/debug/linux-amd64/build/stdout

Bug: None
Change-Id: Iafd5c97b00fe56fc195489cff18601956a6a6964
Reviewed-on: https://gn-review.googlesource.com/c/gn/+/23222
Reviewed-by: Takuto Ikuta <tikuta@google.com>
Commit-Queue: Matt Stark <msta@google.com>
diff --git a/src/gn/toolchain.h b/src/gn/toolchain.h
index cc18098..d83a64e 100644
--- a/src/gn/toolchain.h
+++ b/src/gn/toolchain.h
@@ -116,12 +116,12 @@
     return substitution_bits_;
   }
 
-  const std::map<const char*, std::unique_ptr<Tool>>& tools() const {
+  const std::map<std::string_view, std::unique_ptr<Tool>>& tools() const {
     return tools_;
   }
 
  private:
-  std::map<const char*, std::unique_ptr<Tool>> tools_;
+  std::map<std::string_view, std::unique_ptr<Tool>> tools_;
 
   bool setup_complete_ = false;