llvm-project/llvm/lib/Object
Rafael Espindola 62a07cb59b Stop inventing symbol sizes.
MachO and COFF quite reasonably only define the size for common symbols.

We used to try to figure out the "size" by computing the gap from one symbol to
the next.

This would not be correct in general, since a part of a section can belong to no
visible symbol (padding, private globals).

It was also really expensive, since we would walk every symbol to find the size
of one.

If a caller really wants this, it can sort all the symbols once and get all the
gaps ("size") in O(n log n) instead of O(n^2).

On MachO this also has the advantage of centralizing all the checks for an
invalid n_sect.

llvm-svn: 238028
2015-05-22 15:43:00 +00:00
..
Archive.cpp Use read{16,32,64}{le,be}() instead of *reinterpret_cast<u{little,big}{16,32,64}_t>(). 2015-03-02 21:19:12 +00:00
Binary.cpp Object: Handle Mach-O kext bundle files 2015-02-25 22:59:20 +00:00
CMakeLists.txt Use ADDITIONAL_HEADER_DIRS in all LLVM CMake projects. 2015-02-11 03:28:02 +00:00
COFFObjectFile.cpp Stop inventing symbol sizes. 2015-05-22 15:43:00 +00:00
COFFYAML.cpp obj2yaml, yaml2obj: Add support for COFF executables 2014-11-14 08:15:42 +00:00
ELF.cpp Remove duplication of relocation names in lib/Object/ELF.cpp 2014-11-21 20:16:07 +00:00
ELFObjectFile.cpp Don't own the buffer in object::Binary. 2014-08-19 18:44:46 +00:00
ELFYAML.cpp [llvm-readobj/obj2yaml/yaml2obj] Support MIPS machine ELF header flags 2015-05-08 07:04:59 +00:00
Error.cpp Converting object's error_category to a ManagedStatic to avoid static constructors and destructors. 2014-09-19 22:09:18 +00:00
IRObjectFile.cpp Remove MCAssembler.h include from MCStreamer.h and fix users of MCStreamer.h 2015-05-15 22:19:42 +00:00
LLVMBuild.txt Object/LLVMBuild.txt: Sort required_libraries by alphabetical order. 2014-07-14 02:52:08 +00:00
MachOObjectFile.cpp Stop inventing symbol sizes. 2015-05-22 15:43:00 +00:00
MachOUniversal.cpp [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
Makefile
Object.cpp Remove bogus std::error_code returns form SectionRef. 2014-10-08 15:28:58 +00:00
ObjectFile.cpp Object: Handle Mach-O kext bundle files 2015-02-25 22:59:20 +00:00
RecordStreamer.cpp Move alignment from MCSectionData to MCSection. 2015-05-21 19:20:38 +00:00
RecordStreamer.h Move alignment from MCSectionData to MCSection. 2015-05-21 19:20:38 +00:00
SymbolicFile.cpp Object: Handle Mach-O kext bundle files 2015-02-25 22:59:20 +00:00