owenpshaw added a comment. > Since there is just one caller of this function maybe we don't even need to > that fancy. Could the LoadInMemory function do the shifting itself? > I'm thinking of something like where it takes the load bias as the argument > and then adds that to the physical address it obtains from the object file. > Thinking about that, I'm not even sure the function should be operating at > the section level. If it's going to be simulating a loader, shouldn't it be > based on program headers and segments completely (and not just use them for > obtaining the physical address)?
The original LoadInMemory thread from over a year ago discusses segments vs sections a little bit: http://lists.llvm.org/pipermail/lldb-dev/2016-December/011758.html. Sounds like gdb used sections, so that was deemed ok for lldb. It also fit with the pre-existing "target modules load" command that allowed section addresses to be specified individually. At one point, Greg suggests: > Since the arguments to this command are free form, we could pass these > arguments to ObjectFile::LoadInMemory() and let each loader (ObjectFileELF > and ObjectFileMach) determine what arguments are valid But that didn't end up in the implementation. Perhaps it should, and ObjectFileELF could disallow any --load that specified sections individually. And if we're doing a special ObjectFileELF::LoadInMemory anyway, it could go ahead and use segments. 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