1# 2# Copyright 2020, Data61, CSIRO (ABN 41 687 119 230) 3# 4# SPDX-License-Identifier: BSD-2-Clause 5# 6 7from target_objects import target_dir, structs, functions, const_globals 8from target_objects import symbols, sections, rodata, pairings, danger_set 9 10import syntax 11import objdump 12import logic 13 14f = open ('%s/Functions.txt' % target_dir) 15syntax.parse_and_install_all (f, None) 16f.close () 17 18print 'Checking.' 19syntax.check_funs (functions) 20 21#print 'Pseudo-Compiling.' 22#pseudo_compile.compile_funcs (functions) 23 24#print 'Duplicate-sharing.' 25#pseudo_compile.combine_function_duplicates (functions) 26 27def run_pairings (): 28 for f in functions: 29 if f.startswith ('C.'): 30 f2 = 'mc_' + f[2:] 31 else: 32 f2 = f + '_refine' 33 if f2 in functions: 34 pair = logic.mk_pairing (functions, f, f2) 35 pairings[f] = [pair] 36 pairings[f2] = [pair] 37 print '%d pairing halves built.' % (len (pairings)) 38 39run_pairings () 40 41 42