aboutsummaryrefslogtreecommitdiff
path: root/debug_info_test/check_ngcc.py
diff options
context:
space:
mode:
Diffstat (limited to 'debug_info_test/check_ngcc.py')
-rw-r--r--debug_info_test/check_ngcc.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/debug_info_test/check_ngcc.py b/debug_info_test/check_ngcc.py
new file mode 100644
index 00000000..eecbb85e
--- /dev/null
+++ b/debug_info_test/check_ngcc.py
@@ -0,0 +1,26 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+from whitelist import is_whitelisted
+
+def not_by_gcc(dso_path, producer, comp_path):
+ """Check whether the compile unit is not built by gcc.
+
+ Args:
+ dso_path: path to the elf/dso
+ producer: DW_AT_producer contains the compiler command line.
+ comp_path: DW_AT_comp_dir + DW_AT_name
+
+ Returns:
+ False if compiled by gcc otherwise True
+ """
+ if is_whitelisted('ngcc_comp_path', comp_path):
+ return True
+
+ if is_whitelisted('ngcc_dso_path', dso_path):
+ return True
+
+ if 'GNU C' in producer:
+ return False
+ return True