summaryrefslogtreecommitdiffstats
path: root/lld/test/ELF/compressed-debug-input-err.s
Commit message (Collapse)AuthorAgeFilesLines
* Avoid unnecessary buffer allocation and memcpy for compressed sections.Rui Ueyama2018-10-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, we uncompress all compressed sections before doing anything. That works, and that is conceptually simple, but that could results in a waste of CPU time and memory if uncompressed sections are then discarded or just copied to the output buffer. In particular, if .debug_gnu_pub{names,types} are compressed and if no -gdb-index option is given, we wasted CPU and memory because we uncompress them into newly allocated bufers and then memcpy the buffers to the output buffer. That temporary buffer was redundant. This patch changes how to uncompress sections. Now, compressed sections are uncompressed lazily. To do that, `Data` member of `InputSectionBase` is now hidden from outside, and `data()` accessor automatically expands an compressed buffer if necessary. If no one calls `data()`, then `writeTo()` directly uncompresses compressed data into the output buffer. That eliminates the redundant memory allocation and redundant memcpy. This patch significantly reduces memory consumption (20 GiB max RSS to 15 Gib) for an executable whose .debug_gnu_pub{names,types} are in total 5 GiB in an uncompressed form. Differential Revision: https://reviews.llvm.org/D52917 llvm-svn: 343979
* [ELF] - Fix BB. 'Filecheck' -> 'FileCheck'.George Rimar2018-07-171-1/+1
| | | | llvm-svn: 337254
* [ELF] - Check we are able to report zlib decompressor errors.George Rimar2018-07-171-0/+11
This test case adds a check for the following line of the code: https://github.com/llvm-mirror/lld/blob/master/ELF/InputSection.cpp#L194 llvm-svn: 337252
OpenPOWER on IntegriCloud