Hi,
how do I compile LLVM for 64-bit on OS X? I want to get 64-bit
libraries which generate x86_64 to link them into a 64-bit
application. All my attempts ended up with either 32-bit libraries or
errors. My machine is an Intel Xeon quad core, 'sysctl
hw.cpu64bit_capable' returns 1 so I think the machine is fine.
- './configure && make' yields 32-bit libraries and executables
- I've tried various variations of ./configure --host X and ./
configure --target X. I am not sure which target triple to use (the
getting started guide says "The values of these options must be legal
target triples that your GCC compiler supports."). Unfortunately I
couldn't figure out which target triples to use. I've tried a few but
until now I either get an error when calling configure or I simply end
up with 32-bit libraries. For instance "i686_x86-apple-darwin9.0.0"
results in "Invalid configuration `i686_x86-apple-darwin9.0.0':
machine `i686_x86-apple' not recognized".
"x86_64-apple-darwin9.0.0"
configures and builds fine but all libraries are 32-bit ("file
libLTO.dylib" says "libLTO.dylib: Mach-O dynamically linked shared
library i386").
So, how can I build a 64-bit version for OS X? (Unfortunately prebuild
executables are not an option for me)
Jan
To build 64-bit libraries (i.e. 'file <library>' shows x86_64) try 'make EXTRA_OPTIONS=-m64" Either 32-bit or 64-bit libraries are able to generate code for either 32-bit or 64-bit, try -m32 or -m64 at runtime On Feb 9, 2009, at 4:16 PMPST, Jan Rehders wrote:> Hi, > > how do I compile LLVM for 64-bit on OS X? I want to get 64-bit > libraries which generate x86_64 to link them into a 64-bit > application. All my attempts ended up with either 32-bit libraries or > errors. My machine is an Intel Xeon quad core, 'sysctl > hw.cpu64bit_capable' returns 1 so I think the machine is fine. > > - './configure && make' yields 32-bit libraries and executables > - I've tried various variations of ./configure --host X and ./ > configure --target X. I am not sure which target triple to use (the > getting started guide says "The values of these options must be legal > target triples that your GCC compiler supports."). Unfortunately I > couldn't figure out which target triples to use. I've tried a few but > until now I either get an error when calling configure or I simply end > up with 32-bit libraries. For instance "i686_x86-apple-darwin9.0.0" > results in "Invalid configuration `i686_x86-apple-darwin9.0.0': > machine `i686_x86-apple' not recognized". "x86_64-apple-darwin9.0.0" > configures and builds fine but all libraries are 32-bit ("file > libLTO.dylib" says "libLTO.dylib: Mach-O dynamically linked shared > library i386"). > > So, how can I build a 64-bit version for OS X? (Unfortunately prebuild > executables are not an option for me) > > Jan > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Does llvm (not llvm-gcc-4.2) understand the
x86_64-apple-darwin target? I am not sure if
patches for x86_64-apple-darwin as a target
are present in gcc 4.2.1. I do know we only
added the full multilib support for the
x86_64-apple-darwin target in gcc 4.4.
Jack
On Mon, Feb 09, 2009 at 04:25:44PM -0800, Dale Johannesen
wrote:> To build 64-bit libraries (i.e. 'file <library>' shows
x86_64) try
> 'make EXTRA_OPTIONS=-m64"
>
> Either 32-bit or 64-bit libraries are able to generate code for either
> 32-bit or 64-bit, try -m32 or -m64 at runtime
>
> On Feb 9, 2009, at 4:16 PMPST, Jan Rehders wrote:
>
> > Hi,
> >
> > how do I compile LLVM for 64-bit on OS X? I want to get 64-bit
> > libraries which generate x86_64 to link them into a 64-bit
> > application. All my attempts ended up with either 32-bit libraries or
> > errors. My machine is an Intel Xeon quad core, 'sysctl
> > hw.cpu64bit_capable' returns 1 so I think the machine is fine.
> >
> > - './configure && make' yields 32-bit libraries and
executables
> > - I've tried various variations of ./configure --host X and ./
> > configure --target X. I am not sure which target triple to use (the
> > getting started guide says "The values of these options must be
legal
> > target triples that your GCC compiler supports."). Unfortunately
I
> > couldn't figure out which target triples to use. I've tried a
few but
> > until now I either get an error when calling configure or I simply end
> > up with 32-bit libraries. For instance
"i686_x86-apple-darwin9.0.0"
> > results in "Invalid configuration
`i686_x86-apple-darwin9.0.0':
> > machine `i686_x86-apple' not recognized".
"x86_64-apple-darwin9.0.0"
> > configures and builds fine but all libraries are 32-bit ("file
> > libLTO.dylib" says "libLTO.dylib: Mach-O dynamically linked
shared
> > library i386").
> >
> > So, how can I build a 64-bit version for OS X? (Unfortunately prebuild
> > executables are not an option for me)
> >
> > Jan
> >
> > _______________________________________________
> > LLVM Developers mailing list
> > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev