ronnie
2022-10-14 1504bb53e29d3d46222c0b3ea994fc494b48e153
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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