Making World For amd64

Tim Daneliuk 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.
>>>>>
>>>>> 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?
>>
>> 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?
>>
>> TIA,
>>
> 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)
> 
> Chris
> 

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
before?




-- 
----------------------------------------------------------------------------
Tim Daneliuk     tundra at tundraware.com
PGP Key:         http://www.tundraware.com/PGP/



More information about the freebsd-questions mailing list