On 11 Mar 2017 at 15:47, ropers wrote:

> On 11 March 2017 at 15:18, Stuart Henderson <s...@spacehopper.org> wrote:
> 
> > On 2017/03/10 23:56, ropers wrote:
> > > On 10 March 2017 at 01:30, Stuart Henderson <s...@spacehopper.org>
> > > wrote:
> > >
> > >     (And unlike Linux, 32-bit OpenBSD binaries won't run on OpenBSD/
> > >     amd64)
> > >
> > >
> > > Is there a technical reason for that?
> > > I'm not trying to demand anything here; just curious.
> > >
> > > This is NOT intended to be a "but teh Linux does X, so should we, so
> > > why can't we" whine.
> > > I'm merely ignorantly interested in a "what are they doing, what's
> > > OpenBSD doing" kind of way.
> >
> > I think that even just adding basic support would be complicated and
> > likely error-prone. Is there anything it would actually be useful for?
> >
> 
> Personally, I'm really just asking out of technical curiosity.
> This is not about whether I'd ever actually want or feel I'd need to run
> 32-bit OpenBSD binaries on OpenBSD/amd64.
> 
> Was 32-on-64 compatibility somehow easier to achieve on the Linux side?
> Or did they just keep throwing code and more code at the problem because
> they felt they really, really had to have this?
> It's that kind of idle curiosity. If nobody's interested in explaining or
> hearing this explained, then sorry for the noise.
> 
> 

If you examine a typical 64-bit Linux installation, you will notice 
that it contains duplicate sets of most libraries and even many of the 
drivers -- one x86_64 and the other i586. On disk, the packages for the 
latter are almost always the exact same ones as those installed on a 
pure 32-bit Linux. So in essence the 64-bit Linux is like two OS 
running simultaneously. I am guessing that this is facilitated by the 
Linux's micro-kernel approach -- in oversimplified terms, their kernel 
is little more than a traffic cop at a docking terminal and all the 
drivers and libraries are "modules" communicating through a rather 
complex but broadly accommodating API that does not discriminate 32-bit 
vs. 64-bit. In contrast, OpenBSD uses monolithic kernel (and unlike 
FreeBSD it no longer even supports LKM) where all the communication 
paths have been streamlined and a decision is made upfront whether they 
are based on 32-bit or 64-bit architecture.

Reply via email to