|
@@ -122,10 +122,14 @@ static bool ignore_func(struct objtool_file *file, struct symbol *func)
|
|
|
|
|
|
/* check for STACK_FRAME_NON_STANDARD */
|
|
|
if (file->whitelist && file->whitelist->rela)
|
|
|
- list_for_each_entry(rela, &file->whitelist->rela->rela_list, list)
|
|
|
- if (rela->sym->sec == func->sec &&
|
|
|
+ list_for_each_entry(rela, &file->whitelist->rela->rela_list, list) {
|
|
|
+ if (rela->sym->type == STT_SECTION &&
|
|
|
+ rela->sym->sec == func->sec &&
|
|
|
rela->addend == func->offset)
|
|
|
return true;
|
|
|
+ if (rela->sym->type == STT_FUNC && rela->sym == func)
|
|
|
+ return true;
|
|
|
+ }
|
|
|
|
|
|
/* check if it has a context switching instruction */
|
|
|
func_for_each_insn(file, func, insn)
|