# The build systems use compilers with these names that codesonar does # not recognize as compilers by default. COMPILER_MODELS += i386-mingw32-g++ -> gpp COMPILER_MODELS += i386-mingw32-gcc -> gcc COMPILER_MODELS += arm-linux-androideabi-g++ -> gpp COMPILER_MODELS += arm-linux-androideabi-gcc -> gcc COMPILER_MODELS += c89-gcc -> gcc COMPILER_MODELS += c99-gcc -> gcc COMPILER_MODELS += gcc-4.8 -> gcc COMPILER_MODELS += x86_64-linux-gnu-gcc -> gcc COMPILER_MODELS += clang++.real -> clangpp EDG_FRONTEND_OPTIONS_PREPEND += --hard_define_macro BIONIC_IOCTL_NO_SIGNEDNESS_OVERLOAD EDG_FRONTEND_OPTIONS_PREPEND += --hard_undefine_macro __BIONIC_INCLUDE_FORTIFY_HEADERS EDG_FRONTEND_OPTIONS_APPEND += --cs_in_class_specialization SOURCE_PATTERN_REPLACEMENT += s/neon_vector_type/ext_vector_type/ SOURCE_PATTERN_REPLACEMENT += s/neon_polyvector_type/ext_vector_type/ SOURCE_PATTERN_REPLACEMENT = s/__builtin_available *\([^,]+, *\*\)/1/ # Do not throw away translation units even if they contain many # errors. ERROR_LIMIT_PER_COMPILATION = 1073741824 # Run the analysis anyway, even if many translation units were # discarded. MINIMUM_GOOD_COMPILATIONS = 0 # The "Constructing Call Graph" and "Building Procedure Dependence # Graphs" phases thrash badly and slow to a crawl with the default # setting of 256 (takes days). They finish in mere minutes with 2048. # We suspect a much lower value would suffice. # If it runs about as fast, you may as well not waste the RAM. MANAGED_OBJECTS_RESIDENT_LIMIT = 2048 # Increased assuming there's a lot of available memory. # This setting may or may not help, experimentation is suggested. MANAGED_OBJECTS_IO_BUFFER_CAPACITY = 512 # Preprocessed source can be very large. Uploading it to the hub can # slow down the hub significantly and also use a lot of disk. We # won't be able to see preprocessed source in the parse log because of # this. PREPROCESS_IF_FAIL = No # Since we increased MANAGED_OBJECTS_RESIDENT_LIMIT and # MANAGED_OBJECTS_IO_BUFFER_CAPACITY, we must increase this to match. MEMORY_PER_ANALYSIS_PROCESS = 3072 # Analysis of Android source code should be done on a machine with # 32 or more CPU cores. # With plenty of parallelism available in terms of hardware, it # pays off to have longer periods between barriers. REFINEMENT_BARRIER_PERIOD = 100000 # Since we increased REFINEMENT_BARRIER_PERIOD, it is nice to increase # this to give early procedures more opportunity for refinement. TIME_LIMIT_TAINT_REFINE_PER_PROCEDURE = 2000 # Increase Java timeout to handle some large scan-units: JAVA_ANALYSIS_TIMEOUT = 14400 JAVA_ANALYSIS_MAX_MEMORY = 16384 JAVA_ANALYSIS_MEMORY_MANAGEMENT = ADAPTIVE