[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <85c4281eecd9388e7b3b21ef550119caa5305327.1676358308.git.jpoimboe@kernel.org>
Date: Mon, 13 Feb 2023 23:05:56 -0800
From: Josh Poimboeuf <jpoimboe@...nel.org>
To: linux-kernel@...r.kernel.org
Cc: jgross@...e.com, richard.henderson@...aro.org,
ink@...assic.park.msu.ru, mattst88@...il.com,
linux-alpha@...r.kernel.org, linux@...linux.org.uk,
linux-arm-kernel@...ts.infradead.org, catalin.marinas@....com,
will@...nel.org, guoren@...nel.org, linux-csky@...r.kernel.org,
linux-ia64@...r.kernel.org, chenhuacai@...nel.org,
kernel@...0n.name, loongarch@...ts.linux.dev, f.fainelli@...il.com,
bcm-kernel-feedback-list@...adcom.com, tsbogend@...ha.franken.de,
linux-mips@...r.kernel.org, jiaxun.yang@...goat.com,
mpe@...erman.id.au, npiggin@...il.com, christophe.leroy@...roup.eu,
linuxppc-dev@...ts.ozlabs.org, ysato@...rs.sourceforge.jp,
dalias@...c.org, linux-sh@...r.kernel.org, davem@...emloft.net,
sparclinux@...r.kernel.org, tglx@...utronix.de, mingo@...hat.com,
bp@...en8.de, dave.hansen@...ux.intel.com, x86@...nel.org,
hpa@...or.com, chris@...kel.net, jcmvbkbc@...il.com,
linux-xtensa@...ux-xtensa.org, peterz@...radead.org,
juri.lelli@...hat.com, vincent.guittot@...aro.org,
dietmar.eggemann@....com, rostedt@...dmis.org, bsegall@...gle.com,
mgorman@...e.de, bristot@...hat.com, vschneid@...hat.com,
paulmck@...nel.org
Subject: [PATCH v2 22/24] objtool: Include weak functions in 'global_noreturns' check
If a global __noreturn function prototype has a corresponding weak
function, it should also be __noreturn.
Signed-off-by: Josh Poimboeuf <jpoimboe@...nel.org>
---
tools/objtool/check.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/tools/objtool/check.c b/tools/objtool/check.c
index ba07a8ebaf73..0a1cf867d9b2 100644
--- a/tools/objtool/check.c
+++ b/tools/objtool/check.c
@@ -193,14 +193,14 @@ static bool __dead_end_function(struct objtool_file *file, struct symbol *func,
if (!func)
return false;
- if (func->bind == STB_WEAK)
- return false;
-
- if (func->bind == STB_GLOBAL)
+ if (func->bind == STB_GLOBAL || func->bind == STB_WEAK)
for (i = 0; i < ARRAY_SIZE(global_noreturns); i++)
if (!strcmp(func->name, global_noreturns[i]))
return true;
+ if (func->bind == STB_WEAK)
+ return false;
+
if (!func->len)
return false;
--
2.39.1
Powered by blists - more mailing lists