Open dcharkes opened 4 years ago
We can just fill the not-yet relocated offset with breakpoint instructions (i.e. int3
on intel).
No, this is after relocation, when reading the snapshot. Or do you mean that we detect the pattern and replace it temporarily with int3
s when disassembling?
I see. It's the new technology which runs the disassembler at AOT runtime.
We could also change the pc-relative load from BSS to use instructions to build up the constant instead of loading the constant from the instruction stream & jumping over it.
We do this in other situations already, e.g. loads from the object pool.
Passing the
--disassemble
flag to Dart code using BSS relocations in AOT crashes the disassembler.Currently, the only place where these are used are FFI callbacks, so I'm flagging this issue as FFI.
Hypothesis:
gets replaced with an offset into the BSS section:
cc @mkustermann