commit | 310aa1dfab3964c394cf59a607ffc2627e2e7fe5 | [log] [tgz] |
---|---|---|
author | George Rimar <grimar@accesssoftek.com> | Thu Oct 11 08:25:35 2018 +0000 |
committer | George Rimar <grimar@accesssoftek.com> | Thu Oct 11 08:25:35 2018 +0000 |
tree | 1644dd44bc653dd53f0a087890b71fda85944206 | |
parent | 61126507beda00b852a2631fa9d9d6a5f27a9e5b [diff] |
[ELF] - Set sh_info and sh_link for .rela.plt sections. This is https://bugs.llvm.org/show_bug.cgi?id=37538, Currently, LLD may set both sh_link and sh_info for .rela.plt section to zero when we have only .rela.iplt section part used. ELF spec (https://docs.oracle.com/cd/E19683-01/816-1386/chapter6-94076/index.html) says that for SHT_REL and SHT_RELA, sh_link references the associated symbol table and sh_info the "section to which the relocation applies." When we set the sh_link field, for the regular case we use the .dynsym index. For .rela.iplt sections, it is unclear what is the associated symbol table, because R_*_RELATIVE relocations do not use symbol names and we might have no .dynsym section at all so this patch uses .symtab section index. Differential revision: https://reviews.llvm.org/D52830 git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@344226 91177308-0d34-0410-b5e6-96231b3b80d8
This directory and its subdirectories contain source code for the LLVM Linker, a modular cross platform linker which is built as part of the LLVM compiler infrastructure project.
lld is open source software. You may freely distribute it under the terms of the license agreement found in LICENSE.txt.
In order to make sure various developers can evaluate patches over the same tests, we create a collection of self contained programs.
It is hosted at https://s3-us-west-2.amazonaws.com/linker-tests/lld-speed-test.tar.xz
The current sha256 is 10eec685463d5a8bbf08d77f4ca96282161d396c65bd97dc99dbde644a31610f.