lkml.org 
[lkml]   [2003]   [Jan]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: no version magic, tainting kernel.
Date
Thanks for your answers!

I did not compile my module with a kernel Makefile, I used the very small and
simple one attatched to this mail. So it seems I miss something when the
module is linked and I have to know what I have to link to the module or
which header-file I have to include...

For me it seems link I have to link the init/vermagic.c file to my module, but
how would this be possible if only the kernel includes were available??
I think only these should be needed to compile a module...

Thomas Schlichter


Am Donnerstag, 23. Januar 2003 17:29 schrieb Randy.Dunlap:
> Did you rebuild the module with a 2.5.59 Makefile?
>
>
> Yes, it's a 2.5.59 change according to the Changelog at kernel.org:
>
> <QUOTE>
> <kai@tp1.ruhr-uni-bochum.de>
> Module Sanity Check
>
> This patch, based on Rusty's implementation,
> adds a special section to vmlinux and all modules, which
> contain the kernel version string, values of some
> particularly important config options (SMP,preempt,proc
> family) and the gcc version.
>
> When inserting a module, the version string is checked against the
> kernel version string and loading is rejected if they don't match.
>
> The version string is actually added to the modules during the final
> .ko generation, so that a changed version string does only cause relinking,
> not recompilation, which is a major performance improvement over the old
> 2.4 way of doing things.
> </QUOTE>


Am Donnerstag, 23. Januar 2003 17:52 schrieb Sam Ravnborg:
> What command did you use to build your module?
> If you did no use:
> make -C path/to/kernel/src SUBDIRS=$PWD modules
>
> chances are big you did not compile the module correct.
> This requires the Makefile to look like any other kernel (kbuild) makefile.
>
> Sam
# get current release for include path
RELEASE = $(shell uname -r)

# set compile flags, defines and include directory
CFLAGS = -Wall -O2 -fno-common
INCLUDES = -I/lib/modules/$(RELEASE)/build/include
DEFINES = -D__KERNEL__ -DMODULE -DKBUILD_MODNAME="tlbstat"

all: tlbstat.o

tlbstat.o: tlbstat.c
gcc -c $(CFLAGS) $(INCLUDES) $(DEFINES) $<

clean:
rm -f tlbstat.o *~ core

\
 
 \ /
  Last update: 2005-03-22 13:32    [W:0.087 / U:0.144 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site