diff --git a/irdb-libs/ir_builders/fill_in_indtargs.cpp b/irdb-libs/ir_builders/fill_in_indtargs.cpp index 0eff242bbd708189b4cbe2a4613d418ed528669e..28ea73ea50ae27bebc20cab0dd647f61642151cd 100644 --- a/irdb-libs/ir_builders/fill_in_indtargs.cpp +++ b/irdb-libs/ir_builders/fill_in_indtargs.cpp @@ -3702,6 +3702,9 @@ int executeStep(IRDBObjects_t *const irdb_objects) fill_in_indtargs(firp, elfiop.get(), do_unpin_opt); if(split_eh_frame_opt) split_eh_frame(firp); + + if(firp->getArchitecture()->getMachineType() != admtAarch64) + assert(getenv("SELF_VALIDATE")==nullptr || ranges.size() > 1 ); } if(getenv("FII_NOUPDATE")!=nullptr) @@ -3721,7 +3724,6 @@ int executeStep(IRDBObjects_t *const irdb_objects) assert(getenv("SELF_VALIDATE")==nullptr || bounds.size() > 3 ); assert(getenv("SELF_VALIDATE")==nullptr || targets.size() > 100 ); - assert(getenv("SELF_VALIDATE")==nullptr || ranges.size() > 1 ); assert(getenv("SELF_VALIDATE")==nullptr || preds.size() > 100 ); assert(getenv("SELF_VALIDATE")==nullptr || lookupInstructionMap.size() > 100 ); diff --git a/irdb-libs/ir_builders/fix_calls.cpp b/irdb-libs/ir_builders/fix_calls.cpp index b35c6f5098993cc18abfb1137cc0837508a46ca5..d245e2b950324ec035172ba109af3b8a0576cd20 100644 --- a/irdb-libs/ir_builders/fix_calls.cpp +++ b/irdb-libs/ir_builders/fix_calls.cpp @@ -1054,6 +1054,10 @@ int executeStep(IRDBObjects_t *const irdb_objects) cout<<"Done!"<<endl; + if(firp->getArchitecture()->getMachineType() != admtAarch64) + assert(getenv("SELF_VALIDATE")==nullptr || (fixed_calls + other_fixes) > 5); + + } } catch (DatabaseError_t pnide) @@ -1067,7 +1071,6 @@ int executeStep(IRDBObjects_t *const irdb_objects) return -1; } - assert(getenv("SELF_VALIDATE")==nullptr || (fixed_calls + other_fixes) > 5); assert(getenv("SELF_VALIDATE")==nullptr || fix_all || not_fixed_calls > 5); return 0;