[OpenAFS-devel] RH 7.1 spec file: archlist

Derek Atkins warlord@MIT.EDU
25 Jul 2001 13:52:12 -0400


Hopefully my second message solved your problem?

-derek

Rudolph T Maceyko <rtm@cert.org> writes:

> Derek,
> 
> --On Wednesday, July 25, 2001 13:28:12 -0400 Derek Atkins 
> <warlord@MIT.EDU> wrote:
> 
> > The SPEC file tries to work around this problem by building a
> > different module for each architeture.
> 
> Well, it's not having an effect.  I'm looking at this now.  Please note 
> that whatever the problem is, it's not specific to me, since I pointed 
> out that the distributed openafs-kernel-1.1.1 RPM has the same modules 
> for each architecture (and they're for i386):
> 
> >> This is from the openafs-kernel-1.1.1 RPM (straight from
> >> openafs.org):
> >>
> >> $ pwd
> >> /usr/vice/etc/modload
> >> $ md5sum *.o | sort
> >> 1c7d991de1682fb242bd014ff15df96e  libafs-2.4.2-2-athlon.o
> >> 1c7d991de1682fb242bd014ff15df96e  libafs-2.4.2-2-i386.o
> >> 1c7d991de1682fb242bd014ff15df96e  libafs-2.4.2-2-i586.o
> >> 1c7d991de1682fb242bd014ff15df96e  libafs-2.4.2-2-i686.o
> > [snip]
> >>
> >> Of 16 total files there are really only 4 distinct files.  Shouldn't
> >> they be different?  The same thing happens when I build from the
> >> source RPM.
> >
> > Yes, they should be different.  In particular, they should each be
> > using a different set of kernel module symbols.  Can you take a look
> > at /usr/vice/etc/modload/SymTable -- each module should be using a
> > different set of symbols, so each module should be listed differently.
> > Clearly this isn't working right.  I don't know why, but I'll try to
> > look into it.  This is most certainly a bug, but I don't know whose
> > bug.
> 
> [note: info below is for 2.4.3-12, but everything's the same about this 
> problem for that kernel as it is for 2.4.2-2...]
> 
> $ rpm -qf /usr/src/linux-2.4.3/include/linux/modules/ksyms.ver
> kernel-source-2.4.3-12
> $ grep -A 1 -B 1 iget4 $_
> #if  defined(__module__i686_up) || defined(__module__i586_up)
> #define __ver_iget4     _ver_str(67b2bf7c)
> #define iget4 _set_ver(iget4)
> #elif  defined(__module__BOOT) || defined(__module__i386_up)
> #define __ver_iget4     _ver_str(6fc4bdd5)
> #define iget4 _set_ver(iget4)
> #elif  defined(__module__enterprise)
> #define __ver_iget4     _ver_str(4a17441e)
> #define iget4 _set_ver(iget4)
> #elif  defined(__module__athlon_up)
> #define __ver_iget4     _ver_str(0ac9f202)
> #define iget4 _set_ver(iget4)
> #elif  defined(__module__i686_smp) || defined(__module__i586_smp)
> #define __ver_iget4     _ver_str(c0971f1d)
> #define iget4 _set_ver(iget4)
> #elif  defined(__module__athlon_smp)
> #define __ver_iget4     _ver_str(d7538340)
> #define iget4 _set_ver(iget4)
> #endif
> $ uname -rm
> $ fgrep iget4 /proc/ksyms
> c0145ad0 iget4_R67b2bf7c
> $ cat /usr/vice/etc/modload/SymTable
> # SymTable, automatically generated
> # symbol        version cpu     module
> 
> iget4   smp_7fec98bb    -       2.4.2-2-athlon.mp
> iget4   f9ac5c53        -       2.4.2-2-athlon
> iget4   smp_7fec98bb    -       2.4.2-2-i386.mp
> iget4   f9ac5c53        -       2.4.2-2-i386
> iget4   smp_7fec98bb    -       2.4.2-2-i586.mp
> iget4   f9ac5c53        -       2.4.2-2-i586
> iget4   smp_7fec98bb    -       2.4.2-2-i686.mp
> iget4   f9ac5c53        -       2.4.2-2-i686
> iget4   6fc4bdd5        -       2.4.3-12-athlon
> iget4   6fc4bdd5        -       2.4.3-12-i386
> iget4   6fc4bdd5        -       2.4.3-12-i586
> iget4   6fc4bdd5        -       2.4.3-12-i686
> 
> Those'll only work on an i386.
> 
> I'll help look at this (since I'm running into it right now :-) but I'm 
> kinda hoping that you'll figure it out first and send the solution 
> since I'm not so familiar with the AFS build process as I ought to be 
> at this point...  :-)
> 
> Thanks,
> Rudy

-- 
       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL: http://web.mit.edu/warlord/    PP-ASEL-IA     N1NWH
       warlord@MIT.EDU                        PGP key available