Re: question: attribute 'require_context'

From: Randy Dunlap
Date: Fri Sep 09 2011 - 20:54:40 EST


On 09/09/11 17:47, H Hartley Sweeten wrote:
> Hello all,
>
> I'm trying to do an allyesconfig build of the kernel on an old debian box
> with gcc version, gcc (Debian 4.3.2-1.1) 4.3.2. Everything goes fine until
> the DRBD device driver gets compiled. At that point I get a bunch of
> error messages like this:
>
> drivers/block/drbd/drbd_int.h:974:39 error: attribute 'require_context': unknown attribute
>
> It looks like this is due to the following:
>
> #ifdef __CHECKER__
> # define __protected_by(x) __attribute__((require_context(x,1,999,"rdwr")))
> # define __protected_read_by(x) __attribute__((require_context(x,1,999,"read")))
> # define __protected_write_by(x) __attribute__((require_context(x,1,999,"write")))
> # define __must_hold(x) __attribute__((context(x,1,1), require_context(x,1,999,"call")))
> #else
> # define __protected_by(x)
> # define __protected_read_by(x)
> # define __protected_write_by(x)
> # define __must_hold(x)
> #endif
>
> Is the require_context attribute something found in a later version of gcc?

No, it's a proposed change (patch) to sparse.

You can see all sparse mailing list messages about that patch and other
questions about it by searching the linux-sparse archives at marc.info:
http://marc.info/?l=linux-sparse&w=2&r=1&s=require_context&q=b


--
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/