uname -m/-p for compat32 binaries

Nathan Whitehorn nwhitehorn at freebsd.org
Tue Jul 20 20:49:13 UTC 2010


On 07/20/10 08:07, John Baldwin wrote:
> On Monday, July 19, 2010 5:30:54 pm Kostik Belousov wrote:
>    
>> Hi,
>> I intend to commit the following change, that makes sysctls
>> hw.machine_arch and hw.machine to return "i386" for 32 bit
>> binaries run on amd64. In particular, 32 bit uname -m and uname -p
>> print "i386", that is good for i386 jails on amd64 kernels.
>>
>> I find the change very useful for me, but I wonder why such trivial
>> modification is not yet done. Can anybody note a possible fallout from
>> it ?
>>      
> Presumably ia64 and powerpc64 would need a similar change as well?  It looks
> fine to me.  I suspect Y! used the UNAME_* approach as it didn't add yet-
> another local diff to maintain in the kernel, and the uname fixes at Y! might
> have predated SCTL_MASK32.
>    
Maybe it makes sense to define a MACHINE_ARCH32 in machine/param.h, as 
is done for ELF_ARCH32 in machine/elf.h? This would keep the MI code in 
the kernel MI, and ever-so-slightly simplify implementation for ia64, 
mips, and powerpc64. Thanks for doing this!
-Nathan


More information about the freebsd-arch mailing list