In drcachesim, the -trace_after_instrs delayed-tracing feature fails to delay function tracing. We fix that here by leaving the function wrapping in place from the start and simply ignoring i/o until the trigger point.
Delaying the function wrapping is complicated by being unable to hold locks during the whole module load event. Locks are needed to delay that event, as we need to enable it and then iterate existing modules. This is why we instead opt to not delay function wrapping.
Adds documentation to drwrap_wrap* that event-blocking locks cannot be held.
Adds a new test that delays all tracing and ensures there are zero function markers.
Fixes #4893 (closed)