[lsb-discuss] I suppose is a bug. Pentium4 architecture not full supported ...

Dr. Giovanni A. Orlando gorlando at futuretg.com
Tue Sep 14 00:53:15 PDT 2004


Aaron Gaudio wrote:

>On Mon, 2004-09-13 at 18:14 +0200, Dr. Giovanni A. Orlando wrote:
>  
>
>>Hi,
>>
>>    Implementing a new feature on our OS, I get a bug abouty the command 
>>"arch",
>>    and at the same time: "rpm". But the real trouble is inside glib.h
>>
>>    In fact, On a Pentium Pro, Pentium II, Pentium III and Pentium 4, 
>>you will get
>>    the "arch" output equals to "i686".
>>
>>    While I can accept Pentium Pro/II/III, for "i686" I cannot accept 
>>the Pentium 4.
>>
>>    If you go to the Kernel, the tag i686 regards The Pentium Pro, and 
>>not the Pentium 4.
>>
>>    
>>
>
>In my experience, when you configure your kernel, and you tell it
>specifically that your processor is a Pentium 4, the resultant kernel
>still uses "i686",
>
This depend of your configuration.

If you specify Pentium4 in the Kernel you will get the tag:

"CONFIG_MPENTIUM4=y"

CONFIG_M686=y regards the Pentium-Pro.

To get the package: "kernel-2.6.8.1-mm2-ipentium4.rpm", you need to work
in the SPEC file.

If you works fine, you will get this package in:

RPMS/ipentium4

in the RPM local repository.

However this does not involves only rpm, and the kernel. They are mere 
reflections
on the real problem, that resides in glib.h that is a POSIX header.

The program "arch" simply reflect the actual standards, that does not 
reflect the new Intel platform. Pentium4.

The arch program is:

#include <stdio.h>
#include <sys/utsname.h>

int main (void)
{
      struct utsname utsbuf;

       if (uname (&utsbuf) ) {
               perror (""arch");
                return 1;
       }
    printf ("%s\n", ustsbuf.machine)
}

The utsbuf.machines does not represent the Pentium architecture.

This is the bug I am commenting here, and this regards the entire panorama.

Thanks,
Giovanni

> as reported by uname. I've never seen any tag such as
>"ipentium4" used by the kernel (contrast this with 'athlon' which is
>what the kernel shows if you compiled for an athlon processor). 
>
>This sounds like an issue/RFE for the kernel, but I'm willing to bet
>they had their reasons to lump the Pentium Pro/Pentium III/Pentium 4
>together. 
>
>IMO, if the kernel says "i686" then the other utilities you are
>referencing (including RPM) should use "i686". Things which need a more
>specific knowledge of what processor you have should use alternate
>mechanisms to discover it (/proc/cpuinfo, for instance).
>
>Of course, if you wanted a custom, non-standard and probably
>incompatible way to get by, you could play with setarch. Then you could
>make arch (and uname -m) return whatever you wanted.
>
>  
>


-- 

-- 

--
Check FT Websites ... 
http://www.futuretg.com  - ftp://ftp.futuretg.com
http://www.FTLinuxCourse.com
	http://www.FTLinuxCourse.com/Certification
http://www.rpmparadaise.org
http://GNULinuxUtilities.com
http://www.YourPersonalOperatingSystem.com

--





More information about the lsb-discuss mailing list