perf symbols: Fix missing GNU IFUNC symbols
[firefly-linux-kernel-4.4.55.git] / tools / perf / util / symbol-elf.c
index 6864661a79dd03a6543d54320f470543304bdb1b..dce5ccf61f11e7cde9834ab3797def3f4933bb05 100644 (file)
@@ -49,7 +49,8 @@ static inline uint8_t elf_sym__type(const GElf_Sym *sym)
 
 static inline int elf_sym__is_function(const GElf_Sym *sym)
 {
-       return elf_sym__type(sym) == STT_FUNC &&
+       return (elf_sym__type(sym) == STT_FUNC ||
+               elf_sym__type(sym) == STT_GNU_IFUNC) &&
               sym->st_name != 0 &&
               sym->st_shndx != SHN_UNDEF;
 }