summaryrefslogtreecommitdiffstats
path: root/lld/test/ELF/icf-safe.s
Commit message (Collapse)AuthorAgeFilesLines
* Reland r338088, "ELF: Make --print-icf-sections output deterministic."Peter Collingbourne2018-07-271-24/+24
| | | | | | | | | | | | | | | | | | | | The xxHash64 function has been made unsigned-char-independent, so we can reland this change now. Original commit message: > The icf-safe.s test currently fails on 32-bit platforms because it uses > the --print-icf-sections flag and depends on the output appearing in > a specific order. However, this flag causes the output to depend on > the order of the sections in the Sections array, which depends on the > hash values returned from hash_combine, which happen to be different > for that test between 32-bit and 64-bit platforms. > > This change makes the output deterministic by using xxHash64 instead of > hash_combine. Differential Revision: https://reviews.llvm.org/D49877 llvm-svn: 338153
* Revert "ELF: Make --print-icf-sections output deterministic."Ilya Biryukov2018-07-271-20/+20
| | | | | | | This reverts commit r338088. To unbreak our integrate. The resulting lld output is different if compiled with '-funsigned-char'. llvm-svn: 338110
* ELF: Make --print-icf-sections output deterministic.Peter Collingbourne2018-07-261-20/+20
| | | | | | | | | | | | | | | | The icf-safe.s test currently fails on 32-bit platforms because it uses the --print-icf-sections flag and depends on the output appearing in a specific order. However, this flag causes the output to depend on the order of the sections in the Sections array, which depends on the hash values returned from hash_combine, which happen to be different for that test between 32-bit and 64-bit platforms. This change makes the output deterministic by using xxHash64 instead of hash_combine. Differential Revision: https://reviews.llvm.org/D49877 llvm-svn: 338088
* ELF: Read address significance tables with --icf=all.Peter Collingbourne2018-07-211-0/+45
| | | | | | | | | | | | | | | | Under --icf=all we now only apply KeepUnique to non-executable address-significant sections. This has the effect of making --icf=all mean unsafe ICF for executable sections and safe ICF for non-executable sections. With this change the meaning of the KeepUnique bit changes to "does the current ICF mode (together with the --keep-unique and --ignore-data-address-equality flags) require this section to be kept unique". Differential Revision: https://reviews.llvm.org/D49626 llvm-svn: 337640
* ELF: Implement --icf=safe using address-significance tables.Peter Collingbourne2018-07-181-0/+137
Differential Revision: https://reviews.llvm.org/D48146 llvm-svn: 337429
OpenPOWER on IntegriCloud