[LLVMdev] llvm code working on linux but not mac, 64 bit problem?

Harmen van der Spek hvdspek at liacs.nl
Thu Nov 19 23:52:21 PST 2009


It runs fine on my Snow Leopard installation. I do recall though
that LLVM did not build in 64-bit mode automatically. I configured
LLVM as follows to get a 64-bit build.

./configure --build=x86_64-apple-darwin10 --host=x86_64-apple-darwin10 
--target=x86_64-apple-darwin1

Harmen

Tommy Chheng wrote:
> Hi,
> Learning the ropes of LLVM. I have this simple LLVM assembly snippet 
> which compiles/runs fine in Ubuntu but won't work on snow leopard. 
> Somehow related to 64-bit?  Anyone else experience this?
> 
> llvm-as if.ll
> llc -f if.bc
> gcc -o if if.s
> ld: 32-bit pointer out of range in _main from 
> /var/folders/TY/TYHT2tSJEcaVdUEWeuX5P++++TI/-Tmp-//cck44HlB.o
> collect2: ld returned 1 exit status
> 
> --------
> 
> @s = internal constant [4 x i8] c"%d\0A\00"
> declare i32 @printf(i8 *, ...)
> 
> define i32 @main() nounwind {
> 
> entry:
> %x = alloca i32
> %x.0 = add i32 0, 5
> %t1 = icmp sgt i32 %x.0, 0
> br i1 %t1, label %thenLabel1, label %elseLabel2
> 
> thenLabel1:
> %x.1 = add i32 2, %x.0
> br label %joinIfLabel3
> 
> elseLabel2:
> %x.2 = add i32 3, %x.0
> br label %joinIfLabel3
> 
> joinIfLabel3:
> %x.3 = phi i32 [%x.1, %thenLabel1],[%x.2, %elseLabel2]
> tail call i32 (i8*, ...)* @printf(i8* getelementptr ([4 x i8]* @s, i64 
> 0, i64 0), i32 %x.3) nounwind
> ret i32 0
> }
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list