blob: c86c220af516a94fa79dc109c088e1a03c2bdeac [file] [log] [blame]
# -*- coding: utf-8 -*-
# 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.
"""Check whether the compile unit is not built by gcc."""
from __future__ import print_function
from allowlist import is_allowlisted
def not_by_gcc(dso_path, producer, comp_path):
"""Check whether the compile unit is not built by gcc.
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.
False if compiled by gcc otherwise True.
if is_allowlisted('ngcc_comp_path', comp_path):
return True
if is_allowlisted('ngcc_dso_path', dso_path):
return True
return 'GNU C' not in producer