Date: Thu, 26 Jun 2008 17:32:12 -0500 From: Tim Daneliuk <tundra@tundraware.com> To: Chris Whitehouse <cwhiteh@onetel.com> Cc: FreeBSD Mailing List <freebsd-questions@freebsd.org> Subject: Re: Making World For amd64 Message-ID: <486418EC.8030602@tundraware.com> In-Reply-To: <486414B5.6020608@onetel.com> References: <4863F317.6010701@tundraware.com> <4863F4A7.1070909@FreeBSD.org> <4863F5A3.6050209@tundraware.com> <4863FC2A.5040909@FreeBSD.org> <4864015C.7010805@tundraware.com> <486414B5.6020608@onetel.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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@tundraware.com PGP Key: http://www.tundraware.com/PGP/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?486418EC.8030602>