llvm-project/llvm/lib/Object
Jordan Rupprecht 4888c4aba5 [llvm-size][libobject] Add explicit "inTextSegment" methods similar to "isText" section methods to calculate size correctly.
Summary:
llvm-size uses "isText()" etc. which seem to indicate whether the section contains code-like things, not whether or not it will actually go in the text segment when in a fully linked executable.

The unit test added (elf-sizes.test) shows some types of sections that cause discrepencies versus the GNU size tool. llvm-size is not correctly reporting sizes of things mapping to text/data segments, at least for ELF files.

This fixes pr38723.

Reviewers: echristo, Bigcheese, MaskRay

Reviewed By: MaskRay

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D54369

llvm-svn: 349074
2018-12-13 19:40:12 +00:00
..
Archive.cpp Object: Find terminator correctly when reading long filenames in GNU archives (PR37244) 2018-05-08 08:22:58 +00:00
ArchiveWriter.cpp llvm-ar: Darwin archive format fixes. 2018-10-10 21:07:02 +00:00
Binary.cpp Update a few switch statements to handle file_magic::pdb. 2018-03-07 18:58:33 +00:00
CMakeLists.txt Bitcode: Write the irsymtab to disk. 2017-06-27 23:50:11 +00:00
COFFImportFile.cpp [COFF] Use symbolic constants instead of hardcoded numbers. NFCI. 2018-07-20 20:48:33 +00:00
COFFModuleDefinition.cpp [COFF] Improve correctness of def parsing for GNU features 2018-05-09 09:21:53 +00:00
COFFObjectFile.cpp [COFF] Map truncated .eh_frame section name 2018-12-08 18:15:41 +00:00
Decompressor.cpp Revert "[Decompression] Fail gracefully when out of memory" 2017-09-05 22:04:00 +00:00
ELF.cpp [MSP430] Add MC layer 2018-11-15 12:29:43 +00:00
ELFObjectFile.cpp Use unique_ptr to hold MCInstrInfo 2018-08-24 21:03:35 +00:00
Error.cpp Revert "[ADT] Make Twine's copy constructor private." 2017-10-11 23:54:34 +00:00
IRObjectFile.cpp Remove redundant includes from lib/Object. 2017-12-13 21:30:55 +00:00
IRSymtab.cpp Put "built-in" function definitions in global Used list, for LTO. (fix bug 34169) 2018-07-24 19:34:37 +00:00
LLVMBuild.txt
MachOObjectFile.cpp [MachO] Fix inconsistency between error messages when validating LC_DYSYMTAB 2018-09-04 16:31:53 +00:00
MachOUniversal.cpp
ModuleSymbolTable.cpp LowerTypeTests: Propagate symver directives 2018-04-20 01:36:48 +00:00
Object.cpp Use llvm::copy. NFC 2018-11-17 01:44:25 +00:00
ObjectFile.cpp [llvm-size][libobject] Add explicit "inTextSegment" methods similar to "isText" section methods to calculate size correctly. 2018-12-13 19:40:12 +00:00
RecordStreamer.cpp [MC] Error on a .zerofill directive in a non-virtual section 2018-07-02 17:29:43 +00:00
RecordStreamer.h [MC] Error on a .zerofill directive in a non-virtual section 2018-07-02 17:29:43 +00:00
SymbolSize.cpp Fix computeSymbolSizes SEGFAULT on invalid file 2018-04-23 16:08:01 +00:00
SymbolicFile.cpp Update a few switch statements to handle file_magic::pdb. 2018-03-07 18:58:33 +00:00
WasmObjectFile.cpp [WebAssembly] Update dylink section parsing 2018-12-12 23:40:58 +00:00
WindowsResource.cpp Use llvm::copy. NFC 2018-11-17 01:44:25 +00:00