普通文本  |  27行  |  754 B

# 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