[288] in arla-drinkers
Re: arla 0.12 has missing modversions.h
daemon@ATHENA.MIT.EDU (Geoffrey Alan Washburn)
Wed Sep 30 17:48:53 1998
From owner-arla-drinkers@stacken.kth.se Wed Sep 30 21:48:51 1998
Return-Path: <owner-arla-drinkers@stacken.kth.se>
Delivered-To: arla-drinkers-mtg@bloom-picayune.mit.edu
Received: (qmail 1187 invoked from network); 30 Sep 1998 21:48:50 -0000
Received: from unknown (HELO sundance.stacken.kth.se) (130.237.234.41)
by bloom-picayune.mit.edu with SMTP; 30 Sep 1998 21:48:50 -0000
Received: (from majordom@localhost)
by sundance.stacken.kth.se (8.8.8/8.8.8) id XAA25795
for arla-drinkers-list; Wed, 30 Sep 1998 23:41:27 +0200 (MET DST)
Received: from pyridine.res.cmu.edu (gw2@PYRIDINE.RES.CMU.EDU [128.2.95.212])
by sundance.stacken.kth.se (8.8.8/8.8.8) with ESMTP id XAA25790;
Wed, 30 Sep 1998 23:41:21 +0200 (MET DST)
Received: from localhost (gw2@localhost)
by pyridine.res.cmu.edu (8.9.0/8.9.0) with ESMTP id RAA00402;
Wed, 30 Sep 1998 17:39:11 -0400
X-Authentication-Warning: pyridine.res.cmu.edu: gw2 owned process doing -bs
Date: Wed, 30 Sep 1998 17:39:11 -0400 (EDT)
From: Geoffrey Alan Washburn <gw2@andrew.cmu.edu>
X-Sender: gw2@pyridine.res.cmu.edu
To: Magnus Ahltorp <map@stacken.kth.se>
cc: "A.J.Martin" <A.J.Martin@qmw.ac.uk>, Assar Westerlund <assar@sics.se>,
arla-drinkers@stacken.kth.se
Subject: Re: arla 0.12 has missing modversions.h
In-Reply-To: <lv14stpfhvf.fsf@yakko.stacken.kth.se>
Message-ID: <Pine.LNX.4.05.9809301718470.214-100000@pyridine.res.cmu.edu>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Sender: owner-arla-drinkers@stacken.kth.se
Precedence: bulk
On 30 Sep 1998, Magnus Ahltorp wrote:
> datan> tar ztf linux-2.0.34.tar.gz linux/include/linux|grep mod
> linux/include/linux/module.h
> linux/include/linux/modules/
>
> This is also true for the latest 2.1 kernel.
>
> linux/modversions.h is created by Makefile if CONFIG_MODVERSIONS is
> defined.
Okay, I suspected as much. Upon further inspection, in xfs_locl.h
we have:
#ifdef HAVE_LINUX_MODVERSIONS_H
#define MODVERSIONS
#endif
#include <linux/version.h>
#include <linux/module.h>
Now an obvious immediate fix that could be applied is to include
linux/modversions.h between the #ifdefs, after the #define.
HAVE_LINUX_MODVERSIONS_H shouldn't be defined if you don't have it, so
this won't cause any problems for the people that haven't compiled their
kernel with CONFIG_MODVERSIONS enabled. However, when browsing through
linux/module.h if found the following:
#ifdef __GENKSYMS__
# define _set_ver(sym,vers) sym
# undef MODVERSIONS
# define MODVERSIONS
#else /* ! __GENKSYMS__ */
# if defined(MODVERSIONS) && !defined(MODULE) && defined(EXPORT_SYMTAB)
# define _set_ver(sym,vers) sym
# include <linux/modversions.h>
# endif
#endif /* __GENKSYMS__ */
Apparently, if everything is defined correctly linux/module.h
should include linux/modversions.h for us. However, I don't know enough
about the kernel to what know the right way to do this or currently have
the time to figure it out, so hopefully someone else will enlighten us.
In the mean time, the fix I mentioned above should at least allow those of
us using MODVERSIONS to compile without modifications.
--
- Geoff Washburn
| washburn+@cmu.edu
- http://www.andrew.cmu.edu/~gw2/