owenpshaw added inline comments.
================ Comment at: lldb/trunk/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp:814 value = value - header->p_vaddr; found_offset = true; ---------------- labath wrote: > Ok so the issue is that here we use the virtual address to compute the load > bias, but at line 830 we add the bias to the physical address. This breaks as > soon as these two addresses start to differ. > > Changing this to use the physical address as well fixes things, but as I said > before, I'm not sure we should be using physical addresses here. I don't know if there's another use case besides flash load that should definitely use the physical address, so I can't be much help answering that question. I was mainly relying on tests to catch any issue caused by using physical addresses. Could the value_is_offset flag be a tell here? Looks like that load bias is only calculated if value_is_offset == false. Would it make sense to always use virtual address in such a case? It wouldn't affect the "target modules load" case, which always sets value_is_offset to true. Repository: rL LLVM https://reviews.llvm.org/D42145 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits