Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 Jun 2008 23:19:15 +0200
From:      Erik Trulsson <ertr1013@student.uu.se>
To:        Tim Daneliuk <tundra@tundraware.com>
Cc:        Kris Kennaway <kris@FreeBSD.org>, FreeBSD Mailing List <freebsd-questions@FreeBSD.org>
Subject:   Re: Making World For amd64
Message-ID:  <20080626211915.GA65600@owl.midgard.homeip.net>
In-Reply-To: <4864015C.7010805@tundraware.com>
References:  <4863F317.6010701@tundraware.com> <4863F4A7.1070909@FreeBSD.org> <4863F5A3.6050209@tundraware.com> <4863FC2A.5040909@FreeBSD.org> <4864015C.7010805@tundraware.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jun 26, 2008 at 03:51:40PM -0500, Tim Daneliuk wrote:
> Kris Kennaway wrote:
> > Tim Daneliuk wrote:
> >> Kris Kennaway wrote:
> >>> Tim Daneliuk wrote:
> >>>> Is there anything special one has to do when doing a make world
> >>>> intended for 64-bit FreeBSD or is it sufficient to build the 64-bit
> >>>> kernel and make world as everywhere else?
> >>> The same as everywhere else.
> >>>
> >>> Kris
> >>
> >> So, I take it that this means that all the userspace programs, ports,
> >> packages, utilities, etc. do *not* take advantage of the 64-bit
> >> extensions.  That is, only the kernel gets the benefit of the
> >> wider word.  Is that correct?
> >>
> > 
> > No, everything is 100% native.
> > 
> > Kris
> > 
> 
> OK, these may be really stupid questions but:
> 
> 1) How does make world know whether to build 32-bit or 64-bit binaries?

It will build for whatever system you have installed.
If you are running a 32-bit system it will make 32-bit binaries, and if
you are running a 64-bit system it will make 64-bit binaries.



> 
> 2) Can a binary from a 32-bit FreeBSD system be run unmodified on the
>   64-bit system?

Assuming the 32-bit system is 'i386' and the 64-bit system is 'amd64' then
you are supposed to be able to do so (but I don't know how well it works in
practice).  Otherwise no.  (Running a i386 binary on a sparc64 system won't
work.)

> 
> 3) If I reboot with 32-bit or 64-bit kernels, does the system magically
>    somehow make the userland stuff work natively at the word width?
>    If so, how?

If you have installed the amd64 variant of FreeBSD (for example) then all binaries
(userland and kernel alike) will have been compiled for the amd64
architecture (and thus 64-bit.)  If you are running the i386 variant then
all binaries will have been compiled for i386 (and thus 32-bit.)



-- 
<Insert your favourite quote here.>
Erik Trulsson
ertr1013@student.uu.se



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080626211915.GA65600>