Messages in this thread Patch in this message | | | Subject | [PATCH 2/3 V2] [PATCH] checkpatch: Add error on use of attribute((weak)) or __weak declarations | From | Joe Perches <> | Date | Wed, 15 Oct 2014 13:46:04 -0700 |
| |
Using weak declarations can have unintended link defects. Emit an error on its use.
Signed-off-by: Joe Perches <joe@perches.com> --- Maybe you prefer this. It only warns on declarations.
scripts/checkpatch.pl | 9 +++++++++ 1 file changed, 9 insertions(+)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index 696254e..8a577aa 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -4671,6 +4671,15 @@ sub process { } } +# Check for __attribute__ weak, or __weak declarations (may have link issues) + if ($^V && $^V ge 5.10.0 && + $line =~ /(?:$Declare|$DeclareMisordered)\s*$Ident\s*$balanced_parens\s*(?:$Attribute)?\s*;/ && + ($line =~ /\b__attribute__\s*\(\s*\(.*\bweak\b/ || + $line =~ /\b__weak\b/)) { + ERROR("WEAK_DECLARATION", + "Using weak declarations can have unintended link defects\n" . $herecurr); + } + # check for sizeof(&) if ($line =~ /\bsizeof\s*\(\s*\&/) { WARN("SIZEOF_ADDRESS", -- 2.1.0
| |