[scripts] Get clang version from soong/scripts/get_clang_version.py

... instead of manually parsing soong/cc/config/global.go

Also hard-code clang_base in gdbclient.py to 'prebuilts/clang/host' as
it's unlikely to change in global.go.

Test: acov-llvm.py flush
Test: verify gdbclient.read_toolchain_config() in the interpreter
Change-Id: I28ed4416749edcd5d623598eb65eeb7891b657ae
diff --git a/scripts/acov-llvm.py b/scripts/acov-llvm.py
index 063911f..941abb5 100755
--- a/scripts/acov-llvm.py
+++ b/scripts/acov-llvm.py
@@ -60,14 +60,10 @@
 
 
 def _get_clang_revision():
-    regex = r'ClangDefaultVersion\s+= "(?P<rev>clang-r\d+[a-z]?)"'
-    global_go = android_build_top() / 'build/soong/cc/config/global.go'
-    with open(global_go) as infile:
-        match = re.search(regex, infile.read())
-
-    if match is None:
-        raise RuntimeError(f'Parsing clang info from {global_go} failed')
-    return match.group('rev')
+    version_output = subprocess.check_output(
+        android_build_top() / 'build/soong/scripts/get_clang_version.py',
+        text=True)
+    return version_output.strip()
 
 
 CLANG_TOP = android_build_top() / 'prebuilts/clang/host/linux-x86/' \
diff --git a/scripts/gdbclient.py b/scripts/gdbclient.py
index 4d15cfd..bb92151 100755
--- a/scripts/gdbclient.py
+++ b/scripts/gdbclient.py
@@ -35,23 +35,11 @@
 
 
 def read_toolchain_config(root):
-    """Finds out current toolchain path and version."""
-    def get_value(str):
-        return str[str.index('"') + 1:str.rindex('"')]
-
-    config_path = os.path.join(root, 'build', 'soong', 'cc', 'config',
-                               'global.go')
-    with open(config_path) as f:
-        contents = f.readlines()
-    clang_base = ""
-    clang_version = ""
-    for line in contents:
-        line = line.strip()
-        if line.startswith('ClangDefaultBase'):
-            clang_base = get_value(line)
-        elif line.startswith('ClangDefaultVersion'):
-            clang_version = get_value(line)
-    return (clang_base, clang_version)
+    """Finds out current toolchain version."""
+    version_output = subprocess.check_output(
+        f'{root}/build/soong/scripts/get_clang_version.py',
+        text=True)
+    return version_output.strip()
 
 
 def get_lldb_path(toolchain_path):
@@ -348,7 +336,8 @@
         is64bit = arch.endswith("64")
 
         # Make sure we have the linker
-        clang_base, clang_version = read_toolchain_config(root)
+        clang_base = 'prebuilts/clang/host'
+        clang_version = read_toolchain_config(root)
         toolchain_path = os.path.join(root, clang_base, platform_name,
                                       clang_version)
         llvm_readobj_path = os.path.join(toolchain_path, "bin", "llvm-readobj")