diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/objtool/check.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/tools/objtool/check.c b/tools/objtool/check.c index 2299eae155ac..e128d1c71c30 100644 --- a/tools/objtool/check.c +++ b/tools/objtool/check.c @@ -207,9 +207,13 @@ static int __dead_end_function(struct objtool_file *file, struct symbol *func, /* local sibling call */ if (recursion == 5) { - WARN_FUNC("infinite recursion (objtool bug!)", - dest->sec, dest->offset); - return -1; + /* + * Infinite recursion: two functions + * have sibling calls to each other. + * This is a very rare case. It means + * they aren't dead ends. + */ + return 0; } return __dead_end_function(file, dest->func, |