Open derekbruening opened 4 years ago
Just checking, but this issue is still only a concern when DR is used in standalone mode right? (in relation to #731) Or are there mangling issues which were recently discovered please?
This does not impact core DR's basic operations, no. It impacts someone using decode_from_copy() or other decoding operations, which could be standalone or in a client. The workaround of forcing re-encode should ensure there are no problems today except when we have parts of an instr that are not recorded and not recreated on that re-encode: such as this case which we hit recently: #4017.
Xref related issues: #731, #3271, #3339 This issue covers implementing automated binary re-relativization of AArch32 and AArch64 instructions. We will need a different strategy than the x86 approach of storing the location of a 32-bit immediate, due to the varying immediate encodings. For now, decode_from_copy() invalidates the raw bits to force a re-encoding as a workaround for not having this feature.