summaryrefslogtreecommitdiffstats
path: root/lld/test/ELF/combreloc.s
Commit message (Collapse)AuthorAgeFilesLines
* [ELF][X86] Allow PT_LOAD to have overlapping p_offset ranges on EM_X86_64Fangrui Song2019-09-161-12/+12
| | | | | | | | Port the D64906 technique to EM_X86_64. Differential Revision: https://reviews.llvm.org/D67482 llvm-svn: 371958
* [ELF] -z combreloc: sort dynamic relocations by ↵Fangrui Song2019-05-201-0/+48
| | | | | | | | | | | | | | | | | | | | | | (!is_relative,symbol_index,r_offset) We currently sort dynamic relocations by (!is_relative,symbol_index). Add r_offset as the third key. This makes `readelf -r` debugging easier (relocations to the same symbol are ordered by r_offset). Refactor the test combreloc.s (renamed from combrelocs.s) to check R_X86_64_RELATIVE, and delete --expand-relocs. The difference from the reverted D61477 is that we keep !is_relative as the first key. In local dynamic TLS model, DTPMOD (e.g. R_ARM_TLS_DTPMOD32 R_X86_64_DTPMOD and R_PPC{,64}_DTPMOD) may use 0 as the symbol index. Reviewed By: grimar Differential Revision: https://reviews.llvm.org/D62141 llvm-svn: 361164
* Revert "[ELF] -z combreloc: sort dynamic relocations by (symbol_index,r_offset)"Dmitri Gribenko2019-05-201-48/+0
| | | | | | | | This reverts commit r361125. This linker change breaks shared libraries in some subtle way on x86_64. (Specifically, gold segfaults when loading the LLVMgold.so plugin linked with lldb with this patch.) llvm-svn: 361150
* [ELF] -z combreloc: sort dynamic relocations by (symbol_index,r_offset)Fangrui Song2019-05-201-0/+48
Fixes PR41692. We currently sort dynamic relocations by (!is_relative,symbol_index). Change it to (symbol_index,r_offset). We still place relative relocations first because R_*_RELATIVE are the only dynamic relocations with 0 symbol index (except on MIPS, which doesn't use DT_REL[A]COUNT anyway). This makes `readelf -r` debugging easier (relocations to the same symbol are ordered by r_offset). Refactor the test combreloc.s (renamed from combrelocs.s) to check R_X86_64_RELATIVE, and delete --expand-relocs. Reviewed By: ruiu Differential Revision: https://reviews.llvm.org/D61477 llvm-svn: 361125
OpenPOWER on IntegriCloud