Making World For amd64
tundra at tundraware.com
Thu Jun 26 22:32:22 UTC 2008
Chris Whitehouse wrote:
> 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.
>>>> 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.
>> OK, these may be really stupid questions but:
>> 1) How does make world know whether to build 32-bit or 64-bit binaries?
>> 2) Can a binary from a 32-bit FreeBSD system be run unmodified on the
>> 64-bit system?
>> 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?
> This might be a really stupid answer :p and maybe I have misunderstood
> the context of your question but when you initially downloaded an ISO to
> install you already chose whether it is 32 or 64 bit. Everything else,
> like which source and ports you get when you upgrade, follows from that
> (barring fancy stuff like cross compiling etc)
I guess I should have been a bit clearer about *why* I care. (BTW,
all the answers were very helpful, so thanks all for that.)
First, I was just generally curious about how 32- vs. 64-bit support was
decided at compile time.
Secondly, what got me started looking into this is when I realized I had
64-bit capable hardware in my lab, which I'd always had running 32-bit
OSs. As I installed AMD64, I got to wondering just what level of compatibility
existed (at the binary) level between the two, hence all my questions.
Incidentally, I ran into a problem - that has nothing to do with word
width AFAICT - when I installed 64-bit FreeBSD on one of the machines
that historically has run 32-bit Linux (without the problem). The
specific problem is that I have an MSI P4M900M2-L mobo and Pentium D
on this machine that FreeBSD cannot find the APIC, so it always
runs uniproc even with an SMP kern. I have to go back and check, but I
am pretty sure this is not a 32-bit vs. 64-bit problem. Like I said,
SUSE Linux has no problem running SMP on this same exact hardware, so
it does seem to be a FreeBSD thing. Anyone else seen this kind of problem
Tim Daneliuk tundra at tundraware.com
PGP Key: http://www.tundraware.com/PGP/
More information about the freebsd-questions