Re: [PATCH]kernel.h Fix #warning message web address.

Justin P. Mattock
2010-06-30T13:34:19Z

On 06/30/2010 02:48 AM, Jiri Kosina wrote:
> On Tue, 29 Jun 2010, Justin P. Mattock wrote:
>
>> Playing around with a printk program I noticed that the #warning
>> message is incomplete(when using kernel headers for userspace):
>>
>> gcc printk.c -o printk
>> In file included from printk.c:3:
>> include/linux/kernel.h:733:2: warning: #warning Attempt to use kernel headers from user space, see http:
>>
>> My guess for the web address not being displayed is "//" is treated as a comment.
>> So after changing "http://" to "www." I get the web address.(using firefox with this
>> address takes me right to the location). The warning looks like this:
>>
>> In file included from printk.c:3:
>> warning: #warning Attempt to use kernel headers from user space, see www.kernelnewbies.org/KernelHeaders
>>
>> Signed-off-by: Justin P. Mattock<justinmattock@gmail.com>
>>
>> ---
>> include/linux/kernel.h | 2 +-
>> 1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/include/linux/kernel.h b/include/linux/kernel.h
>> index 8317ec4..768196a 100644
>> --- a/include/linux/kernel.h
>> +++ b/include/linux/kernel.h
>> @@ -730,7 +730,7 @@ extern int do_sysinfo(struct sysinfo *info);
>>
>> #ifndef __EXPORTED_HEADERS__
>> #ifndef __KERNEL__
>> -#warning Attempt to use kernel headers from user space, see http://kernelnewbies.org/KernelHeaders
>> +#warning Attempt to use kernel headers from user space, see www.kernelnewbies.org/KernelHeaders
>> #endif /* __KERNEL__ */
>> #endif /* __EXPORTED_HEADERS__ */
>
> Hehe, ugly. How about making it a single string? GCC preprocessor
> documentation suggests the same anyway ...
>
> Neither `#error' nor `#warning' macro-expands its argument.
> Internal whitespace sequences are each replaced with a single space.
> The line must consist of complete tokens. It is wisest to make the
> argument of these directives be a single string constant; this avoids
> problems with apostrophes and the like.
>

before the www. idea, I was thinking maybe sending the address to a file
somewhere in documentation
something in this area:

#warning Using kernel headers from user space, please see Documentation/*

but I still need to re-read what the above says, seems a bit technical..