uname -m bug ?

Matthew Dillon dillon at apollo.backplane.com
Mon Apr 2 08:42:37 PDT 2007

:By the way, what's the difference between machine and machine_arch?

    When I first separated the nameing scheme out it seemed to work fine,
    but then we started to hit snags with third party applications getting
    confused.  MACHINE and MACHINE_ARCH (and uname) were very badly designed
    and the fact that both returned the same string 'i386' in many cases
    made it worse.  So many applications use the two interchangably now that
    we have no choice but to follow a scheme that returns the same results
    as other unixes.

    Due to all of these problems I reverted the naming scheme before our
    most recent release.  Our build system still uses a 'platform'
    abstraction with its own naming scheme, but if you look at the files in
    /usr/src/sys/config/ you will notice that we have three naming directives
    now instead of two.  e.g.: 

    platform        vkernel         # platform architecture (i386, vkernel, etc)
    machine         i386
    machine_arch    i386            # cpu architecture (i386, etc)

    If you were to ask me what the difference is between machine and
    machine_arch... oh wait, you DID ask what the difference was!  Well,
    I don't think any answer I give would make much sense.

					Matthew Dillon 
					<dillon at backplane.com>

More information about the Bugs mailing list