RE: Mac OS X Snow Leopard and 64-bit applications
site_archiver@lists.apple.com Delivered-To: darwin-dev@lists.apple.com Thread-index: AQHKKHQ12UEioCm6b0iHD1zqP6MAvpC+Z14AgAEdbACAABnmAIAAAWWAgAEvIKA= Thread-topic: Mac OS X Snow Leopard and 64-bit applications Over here in CLR-land, we've got similar issues where there's no nice autoconf mechanism to figure out what'll get built by gcc if you fail to provide an -arch flag. We use this because we differentiate between building the tools we need to complete the rest of the build, and the actual build products. (The former must run on the current system, even if it's not the exact architecture. i.e., for an x86_64 machine, it can be ppc if Rosetta is installed, or i386. The latter must run for the target system, which might have different minimum/maximum OS requirements.) If someone comes up with the canonical way to do this, please advise. -----Original Message----- From: darwin-dev-bounces+nathanh=microsoft.com@lists.apple.com [mailto:darwin-dev-bounces+nathanh=microsoft.com@lists.apple.com] On Behalf Of Dmitry Markman Sent: Sunday, August 30, 2009 3:04 PM To: Mo McRoberts Cc: darwin-dev@lists.apple.com Subject: Re: Mac OS X Snow Leopard and 64-bit applications that's actually exactly the problem for gcc 4.4.1 because config.guess doesn't guess correctly :-) it returns i386-apple-darwin10.0.0 and configure fails miserably unless I provide host, build and target arguments explicitly as x86_64-apple-darwin10.0.0 On Aug 30, 2009, at 5:59 PM, Mo McRoberts wrote:
On Sun, Aug 30, 2009 at 21:26, Brian Bechtel<brian.bechtel@gmail.com> wrote:
Arch and uname -p both return the processor family type, i386. (as opposed to ppc or arm.) I think the rationale was that too many scripts depend upon this behavior.
This actually doesn't make a huge amount of sense: something like config.guess will return 'i386-apple-darwin10.0.1', despite the fact that gcc will be (by default) targeting x86_64; anything which relies on the knowledge that "i386" is by default entirely 32-bit will therefore break. In contrast, most other x86_64 systems tend to be set up such that x86_64 is reported as the "system" architecture (where the kernel architecture is pretty incidental), and so you have a triplet of, say, x86_64-pc-linux-gnu.
I'd be curious to know what would break if uname returned the user-space architecture (as targeted by the system compiler by default) rather than the kernel architecture.
M.
Dmitry Markman _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-dev mailing list (Darwin-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-dev/nathanh%40microsoft.com This email sent to nathanh@microsoft.com _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-dev mailing list (Darwin-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-dev/site_archiver%40lists.appl... This email sent to site_archiver@lists.apple.com
participants (1)
-
Nathan Herring