Attached is a previously posted patch that fixes the problems with
CONFIG_MODVERSIONS in 3.0 final.

Michael.

Jonas Persson ([EMAIL PROTECTED]) wrote:
> I examined the Makefiles for RTLinux 3.0 and 2.2 somewhat closely after having 
>problems with unresolved symbols in the modules built by RTLinux 3.0, and found out 
>that in 2.2, the RTLINUX variable actually points to the linux source tree, but in 
>3.0, the RTLINUX variable points to rtlinux itself. Thus, the makefile never finds 
>CONFIG_MODVERSIONS to be true in the following statements:
> 
> ifdef CONFIG_MODVERSIONS
> CFLAGS += -DMODVERSIONS -include $(RTLINUX)/include/linux/modversions.h
> endif
> 
> This means that you can add CONFIG_MODVERSIONS to your .config file in your rtlinux 
>source tree, or maybe even do the following:
> 
> include linux/.config
> 
> in the makefile. I wouldn't do that, a name clash could occur... unlikely, but still 
>possible. 
> 
> The reason for me currently not submitting a patch for this is that I previosly 
>accidentally got the modules to work with kernel 2.4.0 - maybe I just forgot to 
>activate module versioning, maybe I should examine the source code more closely! :-)
> 
> Comments? What is the best solution?
> 
> /Jonas
> ______________________________________________________________________
>  Jonas Persson                    E-mail: [EMAIL PROTECTED]
>  Project Manager, M.Sc C.Sc&E     http://www.comsys.se/
>  Comsys AB (publ)                 Phone: +46-(0)46-286 3051
>  Forskningsbyn IDEON              Fax: +46-(0)46-286 3505
>  S-223 70 Lund, Sweden
> 
> 
> ----- Original Message ----- 
> From: "Gerard Vermeulen" <[EMAIL PROTECTED]>
> To: "Jonas Persson" <[EMAIL PROTECTED]>
> Cc: "Comedi" <[EMAIL PROTECTED]>
> Sent: Friday, March 16, 2001 12:00 PM
> Subject: Re: Comedi 0.7.57 and RTLinux
> 
> 
> > Jonas Persson wrote:
> > > 
> > > INSTALL.RTLinux file states that I need to use RTLinux 2.1 in order for this to 
>work
> > > 
> > No, RTLinux-2.2 and RTLinux-3.0 should work. Doc is outdated.
> > 
> > I noticed a problem compiling RTLinux-3.0 with the prepatched-2.2.18 kernel:
> > somehow the RTLinux 'make config' does not detect that I have module versioning 
>enabled
> > (this worked in 3.0pre9 and pre10).
> > 
> > I have an build-rtl-3.0.sh install script and to build and install the RTLinux
> > modules, I added something like:
> > make menuconfig
> > make dep
> > # FIXME:
> > perl -pi.modules -e "s|-D_LOOSE_KERNEL_NAMES|-D_LOOSE_KERNEL_NAMES -DMODVERSION\
> > S -include /usr/src/linux/include/linux/modversions.h|g" rtl.mk
> > make
> > make devices
> > 
> > (assuming that the kernel source is in /usr/src/linux/)
> > 
> > Hope this helps -- Gerard
> 
> -- [rtl] ---
> To unsubscribe:
> echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
> echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
> --
> For more information on Real-Time Linux see:
> http://www.rtlinux.org/rtlinux/
diff -Nru a/Makefile b/Makefile
--- a/Makefile  Fri Feb 23 23:19:43 2001
+++ b/Makefile  Fri Feb 23 23:19:43 2001
@@ -48,7 +48,7 @@
 CFLAGS += -DMODVERSIONS -include $(RTLINUX)/include/linux/modversions.h
 endif
 
-CFLAGS += -D__KERNEL__ -Wall -Wstrict-prototypes
+CFLAGS += -DMODULE -D__KERNEL__ -Wall -Wstrict-prototypes
 CC             = ${CROSS_COMPILE}gcc
 endif
 
@@ -150,7 +150,7 @@
 
 MODULE_DIRS += regression
 
-CFLAGS += -D__RTL__ -DMODULE -D_LOOSE_KERNEL_NAMES
+CFLAGS += -D__RTL__ -D_LOOSE_KERNEL_NAMES
 
 CXXFLAGS := $(CFLAGS) -fno-exceptions -fno-rtti
 CFLAGS += -O2
diff -Nru a/scripts/cflags.mk b/scripts/cflags.mk
--- a/scripts/cflags.mk Fri Feb 23 23:19:43 2001
+++ b/scripts/cflags.mk Fri Feb 23 23:19:43 2001
@@ -2,7 +2,7 @@
 # Released under the terms of the GNU  General Public License Version 2
 
 alloverride:
-       @echo $(CC) $(CFLAGS) | sed 's/[^ ]* //; s/-I[^ ]* //; 
s/-fomit-frame-pointer//; s/-O2//'
+       @echo $(CC) $(CFLAGS) $(MODFLAGS) | sed 's/[^ ]* //; s/-I[^ ]* //; 
+s/-fomit-frame-pointer//; s/-O2//'
 
 include Makefile
 

Reply via email to