mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Rasmus Villemoes <linux@rasmusvillemoes.dk>
To: Valdis Kletnieks <Valdis.Kletnieks@vt.edu>
Cc: Christoph Lameter <cl@linux.com>,
	linux-kernel@vger.kernel.org,
	Andrew Morton <akpm@linux-foundation.org>
Subject: Re: slab.h debugging tags....
Date: Fri, 09 Oct 2015 21:40:33 +0200	[thread overview]
Message-ID: <87pp0n96fi.fsf@rasmusvillemoes.dk> (raw)
In-Reply-To: <173313.1444349570@turing-police.cc.vt.edu> (Valdis Kletnieks's message of "Thu, 08 Oct 2015 20:12:50 -0400")

On Fri, Oct 09 2015, Valdis Kletnieks <Valdis.Kletnieks@vt.edu> wrote:

> Author: Rasmus Villemoes <linux@rasmusvillemoes.dk>
> Date:   Wed Oct 7 15:09:20 2015 +1100
>
>     slab.h: sprinkle __assume_aligned attributes
>
> causes *tons* of whinges if you do 'make C=2' with sparse 0.5.0:
>
>   CHECK   drivers/media/usb/pwc/pwc-if.c
> include/linux/slab.h:307:43: error: attribute '__assume_aligned__': unknown attribute
> include/linux/slab.h:308:58: error: attribute '__assume_aligned__': unknown attribute
> include/linux/slab.h:337:73: error: attribute '__assume_aligned__': unknown attribute
> include/linux/slab.h:375:74: error: attribute '__assume_aligned__': unknown attribute
> include/linux/slab.h:378:80: error: attribute '__assume_aligned__': unknown attribute
>
> [/usr/src/linux-next] grep CHECK build.default | wc
>    1779    3558   59132
> [/usr/src/linux-next] grep slab.h build.default | wc
>    7225   43350  621350
>
> Canned it after about 1/3 of the build.
>
> Where's a sparse that can handle this?

I don't think there is any (sparse 0.5 seems to be the latest). Hm,
if I'm reading the sparse source correctly, it is pretending to be
whatever gcc version it itself is built with. That's... um... let's just
say odd.

Does this fix it for you?

Subject: [PATCH] slab.h: hide assume_aligned attribute from sparse

sparse apparently pretends to be gcc >= 4.9, yet isn't prepared to
handle all the function attributes supported by those gccs and
complains loudly. So hide the definition of __assume_aligned from it
(so that the generic one in compiler.h gets used).

Reported-by: Valdis Kletnieks <Valdis.Kletnieks@vt.edu>
Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
---
 include/linux/compiler-gcc.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h
index 18606a460baf..dc13ceeef8c8 100644
--- a/include/linux/compiler-gcc.h
+++ b/include/linux/compiler-gcc.h
@@ -211,7 +211,7 @@
 #endif
 
 
-#if GCC_VERSION >= 40900
+#if GCC_VERSION >= 40900 && !defined(__CHECKER__)
 /*
  * __assume_aligned(n, k): Tell the optimizer that the returned
  * pointer can be assumed to be k modulo n. The second argument is

  reply	other threads:[~2015-10-09 19:40 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-09  0:12 Valdis Kletnieks
2015-10-09 19:40 ` Rasmus Villemoes [this message]
2015-10-10 18:34   ` Valdis.Kletnieks

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87pp0n96fi.fsf@rasmusvillemoes.dk \
    --to=linux@rasmusvillemoes.dk \
    --cc=Valdis.Kletnieks@vt.edu \
    --cc=akpm@linux-foundation.org \
    --cc=cl@linux.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®