aboutsummaryrefslogtreecommitdiff
path: root/debug_info_test/check_ngcc.py
blob: eecbb85e465d5daef7d14dd224e4ebb80611a143 (plain)
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