Subject: Re: ancillary data alignment and binary backward compatibility
To: Jun-ichiro itojun Hagino <itojun@iijlab.net>
From: Chris G. Demetriou <cgd@netbsd.org>
List: tech-net
Date: 03/08/2000 10:41:52
Jun-ichiro itojun Hagino <itojun@iijlab.net> writes:
> >That's one possibility, probably the most sane. (you don't want to
> >change the existing value for the sparc, because of binary
> >compatibility, and if sparc64's different, that's probably for a good reason.
> >> I'm not sure if this is possible for the kernel side to dance like
> >> this...
> >the kernel is just software.
>
> we end up having two code for sys/netinet6 or sys/kern/uipc_socket.c,
> is it really something what we want to do?
If that's the case, then i think it might be reasonable to say that
the kernel code is badly implemented. If this padding, in the kernel,
is something that needs to be parameterized, that might be a sensible
thing to do.
Changing the rules on user-land, or even changing the going-forward
requirements for programs to interoperate like this, is only trouble
and will only cause compatibility problems.
If the claim is that sparc64 will be able to run sparc(32) binaries, I
should be able to take a sparc(32) binary from two years ago and run
it as long as i've got the right compatibility options enabled (just
as i should be able to take a sparc(32) binary from 2 years ago -- or
whatever arbitrary time ago -- and run it on the -current sparc
kernel, if i've got the right compatibility options enabled).
With a change like you describe, that won't be possible will it? And,
if not, the emulation's broken.
cgd
--
Chris Demetriou - cgd@netbsd.org - http://www.netbsd.org/People/Pages/cgd.html
Disclaimer: Not speaking for NetBSD, just expressing my own opinion.