i3773: Add delete shared fragment
Adds a new API function to enable the deletion of a shared fragment, without the need to specify the -thread_private runtime option. A test is also included.
Fixes: #3773
WIP, but LMKWYT
Run arm tests
If it's ok w/ you I'm going to cancel the Appveyor build here? Generally it's best to not hit the update button until it's ready to go in since it just adds more CI work: Appveyor is globally serialized for DR + DrM so this adds 35 minutes to other concurrent PR's. (I have this marked to look at to give advice as requested just have not gotten to it yet.)
Go for it. I'm currently looking into this PR and just hit the update button unwittingly.
run arm tests
run arm tests
I attempted to share more code with other flushing routines.
PTAL, is this how you envisaged the code please?
I attempted to share more code with other flushing routines.
PTAL, is this how you envisaged the code please?
Sorry, didn't get to that part of it today -- will do tomorrow.
I attempted to share more code with other flushing routines. PTAL, is this how you envisaged the code please?
Sorry, didn't get to that part of it today -- will do tomorrow.
No worries. Not in a particular rush.
Thanks for the review. Most of the style errors regarding comments were from previous code which I copied. Shall I fix their style as well?
I also seem to have a failure on ARM. Still need to investigate that further before merging.
Thanks again!
Thanks for the review. Most of the style errors regarding comments were from previous code which I copied. Shall I fix their style as well?
Yup, we didn't have as consistent of style rules back then, and there's no clang-format rule to get */ on its own line (which means we might have to drop that rule at some point...)
Since you're editing some of that code I could see updating some comments, sure.
Did some more investigation regarding the ARM failure. The cause has nothing to do with the PR per se, but there seems to be a bug with how ARM implements dr_redirect_execution(). An isolated test seems to confirm this. I still need to identify the root cause however.
https://github.com/DynamoRIO/dynamorio/issues/3774 seems related to the failure. Hmm, I still need to see whether to create a new issue or avoid a duplication.