clayborg requested changes to this revision.
clayborg added a comment.
This revision now requires changes to proceed.
In http://reviews.llvm.org/D16186#327081, @tberghammer wrote:
> I looked through the sections we have in a striped elf file and non of them
> have any information what would tell
tberghammer added a comment.
I looked through the sections we have in a striped elf file and non of them
have any information what would tell us the start address of the functions (it
isn't needed in runtime so it is removed to decrease the size).
Relocations won't really help because they will
clayborg added a comment.
It would be interesting to see if there are any relocations or any other hints
to help make correct function bounds from a stripped (.dynsym only) ELF file.
In MachO we have a LC_FUNCTION_STARTS load command (kind of like an ELF note)
that contains all start addresses
tberghammer added a comment.
Yes it will prevent the artificial size calculation for symbols with 0 size in
.dynsym. I think all function and data symbols should have a valid size so I am
not sure why we have this symbol size calculation in the first place but I
assume it is to work around some
clayborg added a comment.
So does this mean any symbols whose byte size is zero will always have a byte
size of zero when parsed from a .dynsym section? What kinds of symbols have a
byte size of zero in the .dynsym? Seems like function symbols should always
have a valid byte size no? Why is the
tberghammer created this revision.
tberghammer added a reviewer: clayborg.
tberghammer added a subscriber: lldb-commits.
Unconditionally accept symbol sizes from .dynsym
If an elf object file have no .symtab section then we create our symtab
representation based on the .dynsym section. The symtab