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