int main(int argc, char * argv[]) { param_addr = (bool **) malloc(NB_FN_MAX * sizeof(bool *)); is_instrumented = (bool *) calloc(NB_FN_MAX, sizeof(bool)); nb_p = (unsigned int *) calloc(NB_FN_MAX, sizeof(unsigned int)); param_in = new list<param_t *>(); param_out = new list<param_t *>(); /* Initialize symbol table code, needed for rtn instrumentation */ PIN_InitSymbols(); PIN_SetSyntaxIntel(); if (PIN_Init(argc, argv)) return 1; ifile.open(KnobInputFile.Value().c_str()); ofile.open(KnobOutputFile.Value().c_str()); // INS_AddInstrumentFunction(Instruction, 0); INS_AddInstrumentFunction(Instruction, 0); fn_registry_init(NB_FN_MAX); vector<bool> unknown_int_idx; fn_registered(FID_UNKNOWN, 0, unknown_int_idx); /* Register Fini to be called when the application exits */ PIN_AddFiniFunction(Fini, 0); PIN_StartProgram(); return 0; }
int main(int argc, char * argv[]) { nb_param_int = (unsigned int *) malloc(NB_FN_MAX * sizeof(unsigned int)); nb_param_int_stack = (unsigned int *) malloc(NB_FN_MAX * sizeof(unsigned int)); nb_param_float = (unsigned int *) malloc(NB_FN_MAX * sizeof(unsigned int)); nb_param_float_stack = (unsigned int *) malloc(NB_FN_MAX * sizeof(unsigned int)); has_return = (unsigned int *) calloc(NB_FN_MAX, sizeof(bool)); param_is_not_addr = (bool **) malloc(NB_FN_MAX * sizeof(bool *)); nb_call = (unsigned int *) malloc(NB_FN_MAX * sizeof(unsigned int)); param_val = (list<UINT64> ***) malloc(NB_FN_MAX * sizeof(list<UINT64> **)); nb_out = (unsigned int **) malloc(NB_FN_MAX * sizeof(unsigned int*)); /* Initialize symbol table code, needed for rtn instrumentation */ PIN_InitSymbols(); PIN_SetSyntaxIntel(); if (PIN_Init(argc, argv)) return 1; ofile.open(KnobOutputFile.Value().c_str()); INS_AddInstrumentFunction(Instruction, 0); IMG_AddInstrumentFunction(image_loaded, 0); /* Register Fini to be called when the application exits */ PIN_AddFiniFunction(Fini, 0); debug_trace_init(); fn_registry_init(NB_FN_MAX); vector<UINT32> unknown_int_idx; fn_registered(FID_UNKNOWN, 0, 0, 0, 0, 0, unknown_int_idx); register_functions_from_arity_log(); PIN_StartProgram(); return 0; }