Subject: re: ancillary data alignment and binary backward compatibility: please pick one
To: None <itojun@iijlab.net>
From: matthew green <mrg@eterna.com.au>
List: tech-net
Date: 02/29/2000 00:07:58
>> additional question: are sizeof(long) different on sparc32 and sparc64?
>> if so, routing socket alignment (ROUNDUP in sys/net/rtsock.c will
>> have the similar problem.
>sizeof(long) is different between 32bit SPARC and 64bit SPARC. note that
>ultrasparc hardware is capable of running both and (we eventually hope that
>a :-) NetBSD/sparc64 64bit kernel can/will run both. the same problem will
>apply to 64bit mips ports that want to run 32bit applications.
hmm... so, if we run sparc32 /sbin/route on sparc64 kernel,
/sbin/route will choke due to hardcoded sizeof(long) alignment.
well, it *should*. note that it goes through an emulation layer
and we're gonna need to special case a Lot of ioctl's here for this
to work sanely (or, push part of this support out of compat/netbsd32).
this emulation layer isn't quite finished yet though eduardo has done
a large amount of work to make it so, at least for sparc64 (where it
is essential!)
the idea is: there is no reason we can not run 32bit binaries on a
64bit kernel. it is simply a matter of programming. :-)