lkml.org 
[lkml]   [2001]   [Aug]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: basic module bug
Also I don't know if I mentioned this is on the alpha architecture.
I've tried egcs 2.91.66, gcc-2.96-85 (redhat), binutils-2.10.91.0.2-3.
All kernel versions I've tried (2.4.4, 2.4.5, 2.4.7, 2.4.9, 2.2.19)
generate the same message. What am I doing wrong?

Where can I find a "skeleton" kernel module for comparison?

Bob McElrath [mcelrath@draal.physics.wisc.edu] wrote:
> Evgeny Polyakov [johnpol@2ka.mipt.ru] wrote:
> > How do you compile this module?
> > I've just trying to do this with the following command and all is OK:
> > gcc ./test.c -c -o ./test.o -D__KERNEL__ -DMODULE.
>
> That's because if you -D__KERNEL__ the whole file is ifdef'ed out. ;)
>
> Remove the #ifdef __KERNEL__ stuff if you want to compile it that way.

Here's a simpler case more compatible with the options passed to gcc
when the kernel is compiled:

/* test module. Compile with: gcc -c -I/usr/src/linux/include
* -D__KERNEL__ -DMODULE test.c */
#include <linux/module.h>
#include <linux/kernel.h>
#include <asm/current.h>
#ifdef MODULE
int init_module(void)
#else
int test_init(void)
#endif
{
return 0;
}
#ifdef MODULE
void cleanup_module(void)
{
}
#endif

(0)<mcelrath@draal:/home/mcelrath> gcc -c -I/usr/src/linux/include -D__KERNEL__ -DMODULE test.c
In file included from test.c:5:
/usr/src/linux/include/asm/current.h:4: warning: call-clobbered register used for global register variable

Yet a simpler case:

#include <asm/current.h>
int main() {}

Generates the same warning message. Why does this message not occur
when compiling the kernel?

Cheers,
-- Bob

Bob McElrath (rsmcelrath@students.wisc.edu)
Univ. of Wisconsin at Madison, Department of Physics
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2005-03-22 12:58    [W:0.060 / U:0.436 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site