mirror of
https://github.com/AFLplusplus/AFLplusplus.git
synced 2025-06-19 04:58:08 +00:00
not all CPUs know ondemand
This commit is contained in:
@ -113,6 +113,7 @@ static unsigned int ext_call_instrument(function *fun) {
|
||||
DECL_EXTERNAL(fndecl) = 1; /* External linkage */
|
||||
DECL_ARTIFICIAL(fndecl) = 1; /* Injected by compiler */
|
||||
|
||||
printf("NEW FUNC %s\n", function_name(fun));
|
||||
FOR_EACH_BB_FN(bb, fun) {
|
||||
|
||||
gimple_seq fcall;
|
||||
@ -128,24 +129,40 @@ static unsigned int ext_call_instrument(function *fun) {
|
||||
int more_than_one = -1;
|
||||
edge ep;
|
||||
edge_iterator eip;
|
||||
int foo = 0;
|
||||
if (ep->flags & EDGE_FALLTHRU)
|
||||
printf("pred %d fallthough\n", foo);
|
||||
FOR_EACH_EDGE(ep, eip, bb->preds) {
|
||||
|
||||
int item = 0;
|
||||
foo++;
|
||||
printf("pred %d\n", foo);
|
||||
if (ep->flags & EDGE_FALLTHRU)
|
||||
printf("pred %d fallthough\n", foo);
|
||||
|
||||
int count = 0;
|
||||
if (ep->flags & EDGE_FALLTHRU)
|
||||
if (more_than_one == -1) more_than_one = 0;
|
||||
|
||||
basic_block Pred = ep->src;
|
||||
edge es;
|
||||
edge_iterator eis;
|
||||
FOR_EACH_EDGE(es, eis, Pred->succs) {
|
||||
item++;
|
||||
|
||||
if (es->flags & EDGE_FALLTHRU)
|
||||
printf("item %d fallthough\n", item);
|
||||
|
||||
basic_block Succ = es->dest;
|
||||
if (Succ != NULL) count++;
|
||||
|
||||
}
|
||||
printf("total items: %d\n", item);
|
||||
|
||||
if (count > 1) more_than_one = 1;
|
||||
|
||||
}
|
||||
printf("result: %d\n", more_than_one);
|
||||
|
||||
if (more_than_one != 1) continue;
|
||||
|
||||
|
Reference in New Issue
Block a user