[LLVMdev] large modules, PPC on OS X, "ld: 32-bit pic-base out of range in"

Chris Lattner clattner at apple.com
Thu Mar 11 18:07:57 PST 2010


On Mar 11, 2010, at 5:47 PM, Robb Kistler wrote:

> I'm trying to build a very large shared library (bundle) for PPC on Mac OS X 10.5.  The build looks something like this, where mybundlebitcode.o is the large object
> 
> llc -relocation-model=pic -o=mybundle.s mybundlebitcode.o 
> gcc -arch ppc -c -x assembler -o mybundle.o mybundle.s
> g++ -o mybundle.bundle -bundle mybundle.o -lotherlibrary
> 
> I get the following error:
> 	ld: 32-bit pic-base out of range in somefunction(Array<unsigned char, 40ul> const&)from mybundle.o
> 
> Normally I'd try to build with the -mlongcall option, but it doesn't appear that llc has support for this.  Is there some way to get llc to generate "long calls"?  

I thought that -mlongcall was a linker option?  Have you tried passing it to GCC/G++ when you link the .s file?

-Chris



More information about the llvm-dev mailing list