|
@@ -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)
|
|
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_name != 0 &&
|
|
sym->st_shndx != SHN_UNDEF;
|
|
sym->st_shndx != SHN_UNDEF;
|
|
}
|
|
}
|