Preprocessing usb-audio.merged.kernel.c gcc -D_GNUCC -E -DCIL=1 usb-audio.merged.kernel.c -o ./usb-audio.merged.kernel.i /scratch/sym/cil/obj/x86_LINUX/cilly.asm.exe --out ./usb-audio.merged.kernel.cil.c --verbose --commPrintLnSparse --docarb --sfireads --sfiwrites --heapifyAll --dofault --flipcount --faulttype --dodrivers --dofuncptr false --dovoidptr false --do-symdriver-test false --dobecons false --dowhat normal-kern usb-audio.all_annots.txt ./usb-audio.merged.kernel.i /scratch/sym/cil/obj/x86_LINUX/cilly.asm.exe: unknown option `--dofault'. Usage: cilly [options] source-files General Options --version Output version information and exit --verbose Print lots of random stuff; this is passed on from cilly --noverbose Undo effect of verbose flag (default) --warnall Show optional warnings --nowarnall Disable optional warnings (default) --noTruncateWarning Suppress warning about truncating integer constants --debug Turn on debugging flag xxx --nodebug Turn off debugging flag xxx --flush Flush the output streams often; aids debugging --noflush Only flush output streams when inevitable (default) --check Run a consistency check over the CIL after every operation --nocheck Turn off consistency checking of CIL (default) --strictcheck Same as --check, but treats problems as errors not warnings. --noPrintLn Do not output #line directives in the output --commPrintLn Print #line directives in the output, but put them in comments --commPrintLnSparse Print commented #line directives in the output only when the line number changes. --stats Print statistics about running times and memory usage --nostats Do not print statistics (default) --log Set the name of the log file; by default use stderr --MSVC Enable MSVC compatibility; default is GNU --envmachine Use machine model specified in CIL_MACHINE environment variable --testcil Test CIL using the given compiler --ignore-merge-conflicts Ignore merging conflicts --sliceGlobal Output is the slice of #pragma cilnoremove(sym) symbols --tr Subsystem to show debug printfs for --extrafiles File that contains a list of additional files to process, separated by newlines Lowering Options --lowerConstants Lower constant expressions (default) --noLowerConstants Do not lower constant expressions --insertImplicitCasts Insert implicit casts (default) --noInsertImplicitCasts Do not insert implicit casts --forceRLArgEval Forces right to left evaluation of function arguments --noForceRLArgEval Evaluate function arguments in unspecified order (default) --nocil Do not compile to CIL the global with the given index --noDisallowDuplication Duplicate small chunks of code if necessary (default) --disallowDuplication Prevent small chunks of code from being duplicated --useLogicalOperators Where possible (that is, if there are no side-effects), retain && and || (instead of transforming them to If statements) --noUseLogicalOperators Transform && and || to If statements (default) --keepunused Do not remove the unused variables and types --nokeepunused Remove unused variables and types (default) --rmUnusedInlines Delete any unused inline functions; this is the default in MSVC mode --noRmUnusedInlines Do not delete any unused inline functions (default) Output Options --printCilAsIs Do not try to simplify the CIL when printing. --noPrintCilAsIs Simplify the CIL when printing. This produces prettier output by e.g. changing while(1) into more meaningful loops (default) --noWrap Do not wrap long lines when printing --pdepth Set max print depth (default: 10000000) --decil Don't print CIL specific-features like __blockattribute__ --out the name of the output CIL file. The cilly script sets this for you. --mergedout specify the name of the merged file --cabsonly CABS output file name --printComments print cabs tree structure in comments in cabs output --patchFile name the file containing patching transformations --printPatched print patched CABS files after patching, to *.patched --printProtos print prototypes to safec.proto.h after parsing --printNotice include a comment saying printed by FrontC CIL Features --doepicenter Enable remove all functions except those within some number of hops (in the call graph) from a given function --epicenter-name do an epicenter slice starting from function --epicenter-hops specify max # of hops for epicenter slice --dosimplify Enable compiles CIL to 3-address code --no-split-structs do not split structured variables --no-convert-direct-calls do not convert direct function calls to function pointer calls if the address of the function was taken --no-convert-field-offsets do not convert field offsets to offsets by integer. Implies --no-split-structs. To be used by static code verification tools. --docanonicalize Enable fixing some C-isms so that the result is C++ compliant. --docallgraph Enable generation of a static call graph --dologwrites Enable generation of code to log memory writes --dostackGuard Enable instrument function calls and returns to maintain a separate stack for return addresses --doheapify Enable move stack-allocated arrays to the heap --heapifyAll When using heapify, move all local vars whose address is taken, not just arrays. --dooneRet Enable make each function have at most one 'return' --domakeCFG Enable make the program look more like a CFG --dopartial Enable interprocedural partial evaluation and constant folding --partial_global_const treat global constants as initialized --partial_no_global_const treat global constants as unknown values --partial_root_function where to start simplification --partial_use_easy_alias to analyze pointers --partial_use_ptranal_alias to analyze pointers (also see options of ptranal feature) --dosimpleMem Enable simplify all memory expressions --dosfi Enable instrument memory operations --sfireads SFI for reads --sfiwrites SFI for writes --doDataSlicing Enable data slicing --dologcalls Enable generation of code to log function calls --logcallprintf the name of the printf function to use --logcalladdproto whether to add the prototype for the printf function --doptranal Enable alias analysis --ptr_may_aliases Print out results of may alias queries --ptr_unify Make the alias analysis unification-based --ptr_model_strings Make the alias analysis model string constants --ptr_conservative Treat undefineds conservatively in alias analysis --ptr_results print the results of the alias analysis --ptr_mono run alias analysis monomorphically --ptr_types print inferred points-to analysis types --doLiveness Enable Spit out live variables at a label --live_label Output the variables live at this label --live_func Output the variables live at each statement in this function. --live_debug Print lots of debugging info --docarb Enable Carburizer Analysis --dodrivers Enable device-driver analysis --dofuncptr do/don't do function pointer analysis --dobecons be/don't be conservative when generating marshcode for internal kernel functions --do_simple_m_dm true = use the same marsh/demarsh code for all fns, false = specialize m/dm code per fn --do-symdriver-test true = Generate calls to _check testing functions. false = don't generate calls --dovoidptr true = Do void pointer analysis, false = don't and treat void * as opaque / noderef --dowhat Parameters to --dowhat must be entered as a single string, as follows: * find-roots * annot-prop * sym-user * sym-kern * modifs * generate-wrappers -help Display this list of options --help Display this list of options