diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/objtool/builtin-check.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/tools/objtool/builtin-check.c b/tools/objtool/builtin-check.c index e8a1e69eb92c..25d803148f5c 100644 --- a/tools/objtool/builtin-check.c +++ b/tools/objtool/builtin-check.c | |||
@@ -122,10 +122,14 @@ static bool ignore_func(struct objtool_file *file, struct symbol *func) | |||
122 | 122 | ||
123 | /* check for STACK_FRAME_NON_STANDARD */ | 123 | /* check for STACK_FRAME_NON_STANDARD */ |
124 | if (file->whitelist && file->whitelist->rela) | 124 | if (file->whitelist && file->whitelist->rela) |
125 | list_for_each_entry(rela, &file->whitelist->rela->rela_list, list) | 125 | list_for_each_entry(rela, &file->whitelist->rela->rela_list, list) { |
126 | if (rela->sym->sec == func->sec && | 126 | if (rela->sym->type == STT_SECTION && |
127 | rela->sym->sec == func->sec && | ||
127 | rela->addend == func->offset) | 128 | rela->addend == func->offset) |
128 | return true; | 129 | return true; |
130 | if (rela->sym->type == STT_FUNC && rela->sym == func) | ||
131 | return true; | ||
132 | } | ||
129 | 133 | ||
130 | /* check if it has a context switching instruction */ | 134 | /* check if it has a context switching instruction */ |
131 | func_for_each_insn(file, func, insn) | 135 | func_for_each_insn(file, func, insn) |