Hi all,
I am trying to understand the rep string expansion and its impact on instrumentation. In my client,
1. At the app2app stage, I called `drutil_expand_rep_string`.
2. At the app analysis stage, I inserted a clean call at `instrlist_first(bb)` that counts how many times this basic block is executed.
After the rep string expansion, the first instruction of the rep string basic block is the emulation start instruction. Since it is before the explicit rep string loop, I assume that the instrumentation inserted here would only be executed once regardless of the following rep string loop. However, in my experiments, it indeed was executed multiple times consecutively.
What am I getting wrong here? Thank you so much!