Port-sparc64 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Problems with top



Martin Husemann wrote:
>On Tue, Aug 19, 2008 at 04:07:48AM -0400, Christos Zoulas wrote:
>> That's probably the problem. It does not make sense for uname -m to say 
>> sparc64
>> when you are running 32 bit binaries.
>
>I don't see where it goes wrong: sys/arch/sparc64/include/param.h says:
>
>#define _MACHINE        sparc64
>#define MACHINE         "sparc64"
>#ifdef __arch64__
>#define _MACHINE_ARCH   sparc64
>#define MACHINE_ARCH    "sparc64"
>#define MID_MACHINE     MID_SPARC64
>#else
>#define _MACHINE_ARCH   sparc
>#define MACHINE_ARCH    "sparc"
>#define MID_MACHINE     MID_SPARC
>#endif
>
>and you should not have __arch64__ defined for a 32 bit build.

It doesn't go wrong, we get what is defined in param.h:

% uname -m
sparc64
% uname -p
sparc

There are definitions for machine32[] and machine_arch32[] in
sys/arch/sparc64/sparc64/netbsd32_machdep.c but it isn't built for
32 bit kernels as we undefine COMPAT_NETBSD32.

Would anything break if we had the following in param.h instead ?

#ifdef __arch64__
#define _MACHINE        sparc64
#define MACHINE         "sparc64"
#define _MACHINE_ARCH   sparc64
#define MACHINE_ARCH    "sparc64"
#define MID_MACHINE     MID_SPARC64
#else
#define _MACHINE        sparc
#define MACHINE         "sparc"
#define _MACHINE_ARCH   sparc
#define MACHINE_ARCH    "sparc"
#define MID_MACHINE     MID_SPARC
#endif

Robert Swindells


Home | Main Index | Thread Index | Old Index