[lld] c4ca39e - [ELF] Fix .rela.llvm.call-graph-profile detection after D104080
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 24 15:21:33 PDT 2021
Author: Fangrui Song
Date: 2021-06-24T15:21:28-07:00
New Revision: c4ca39e0f54ba81eefe8d48e25f7d71bbe49d952
URL: https://github.com/llvm/llvm-project/commit/c4ca39e0f54ba81eefe8d48e25f7d71bbe49d952
DIFF: https://github.com/llvm/llvm-project/commit/c4ca39e0f54ba81eefe8d48e25f7d71bbe49d952.diff
LOG: [ELF] Fix .rela.llvm.call-graph-profile detection after D104080
A SHT_SYMTAB section's sh_info is the number of local symbols.
sh_info may coincide with the section header index of SHT_LLVM_CALL_GRAPH_PROFILE.
Added:
Modified:
lld/ELF/InputFiles.cpp
Removed:
################################################################################
diff --git a/lld/ELF/InputFiles.cpp b/lld/ELF/InputFiles.cpp
index 77636af6e1fb..8a986d404792 100644
--- a/lld/ELF/InputFiles.cpp
+++ b/lld/ELF/InputFiles.cpp
@@ -669,15 +669,13 @@ void ObjFile<ELFT>::initializeSections(bool ignoreComdats) {
continue;
const Elf_Shdr &sec = objSections[i];
- if (cgProfileSectionIndex && sec.sh_info == cgProfileSectionIndex) {
- if (sec.sh_type == SHT_RELA)
- cgProfileRela = CHECK(getObj().relas(sec), this);
- else
- warn(toString(this) + ": unsupported call graph section type");
- }
-
- if (sec.sh_type == SHT_REL || sec.sh_type == SHT_RELA)
+ if (sec.sh_type == SHT_REL || sec.sh_type == SHT_RELA) {
this->sections[i] = createInputSection(sec);
+ if (cgProfileSectionIndex && sec.sh_info == cgProfileSectionIndex) {
+ if (sec.sh_type == SHT_RELA)
+ cgProfileRela = CHECK(getObj().relas(sec), this);
+ }
+ }
// A SHF_LINK_ORDER section with sh_link=0 is handled as if it did not have
// the flag.
More information about the llvm-commits
mailing list