clayborg requested changes to this revision.
clayborg added a comment.
This revision now requires changes to proceed.
We should probably make it such that if a section has the type
eSectionTypeAbsoluteAddress that we do the right thing inside the following
functions:
Section::GetLoadBaseAddress(...);
Section::Slide(...);
SectionLoadList::SetSectionLoadAddress(...);
SectionLoadList::GetSectionLoadAddress(...);
SectionLoadList::SetSectionUnloaded(...);
SectionLoadList::ResolveLoadAddress(...);
================
Comment at: source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp:2092
@@ -2085,3 +2091,3 @@
SymbolType symbol_type = eSymbolTypeInvalid;
Elf64_Half symbol_idx = symbol.st_shndx;
----------------
This variable has a really bad name. We should change "symbol_idx" to
"section_idx" and make this const:
```
const Elf64_Half section_idx = symbol.st_shndx;
```
================
Comment at: source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp:2291
@@ +2290,3 @@
+
+ if (symbol_section_sp == nullptr && symbol.st_size != 0)
+ {
----------------
Shouldn't this just be:
```
if (!symbol_section_sp && symbol.st_shndx != SHN_UNDEF && symbol.st_size != 0)
```
We need to know if a symbol has an address and it only has an address if
symbol.st_shndx != SHN_UNDEF. All other section types mean that the symbol
actually has an address
http://reviews.llvm.org/D17450
_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits