| # 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 |