[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