Error building hotspot with shark/zero

Christian Thalinger christian.thalinger at
Wed Feb 5 20:14:01 PST 2014

This is odd.  What version of OpenJDK 7 are you using as this got fixed a long time ago:

On Feb 5, 2014, at 7:20 AM, Neale Ferguson <neale at> wrote:

> Getting closer with LLVM 3.4 and openJDK. Everything compiles cleanly now but I now crap out with:
> Linking vm...
> sharedRuntime_zero.o: In function `SharedRuntime::generate_stubs()':
> sharedRuntime_zero.cpp:(.text+0x3bc): multiple definition of `SharedRuntime::generate_stubs()'
> sharedRuntime.o:sharedRuntime.cpp:(.text+0x1328): first defined here
> sharedRuntime_zero.o:(.bss+0x18): multiple definition of `SharedRuntime::_wrong_method_blob'
> sharedRuntime.o:(.bss+0x0): first defined here
> sharedRuntime_zero.o:(.bss+0x20): multiple definition of `SharedRuntime::_ic_miss_blob'
> sharedRuntime.o:(.bss+0x8): first defined here
> sharedRuntime_zero.o:(.bss+0x28): multiple definition of `SharedRuntime::_resolve_opt_virtual_call_blob'
> sharedRuntime.o:(.bss+0x10): first defined here
> sharedRuntime_zero.o:(.bss+0x30): multiple definition of `SharedRuntime::_resolve_virtual_call_blob'
> sharedRuntime.o:(.bss+0x18): first defined here
> sharedRuntime_zero.o:(.bss+0x38): multiple definition of `SharedRuntime::_resolve_static_call_blob'
> sharedRuntime.o:(.bss+0x20): first defined heresharedRuntime_zero.o:(.bss+0x8): multiple definition of `SharedRuntime::_polling_page_safepoint_handler_blob'sharedRuntime.o:(.bss+0x38): first defined heresharedRuntime_zero.o:(.bss+0x10): multiple definition of `SharedRuntime::_polling_page_return_handler_blob'sharedRuntime.o:(.bss+0x40): first defined heresharedRuntime_zero.o:(.bss+0x0): multiple definition of `SharedRuntime::_deopt_blob'sharedRuntime.o:(.bss+0x28): first defined herecollect2: ld returned 1 exit statusln: accessing `': Too many levels of symbolic links/usr/bin/chcon: failed to get security context of `': Too many levels of symbolic linksERROR: Cannot chcon
> make[6]: stat: Too many levels of symbolic links
> Both sharedRuntime.cpp and sharedRuntime_zero.cpp have generate_stubs defined and there doesn't appear to be conditional logic that needs to be triggered to stop it, so is it a Makefile thing? As for the "too many levels of symbolic links", because the link failed the symlink ends up pointing to itself.
> Neale
> On Feb 3, 2014, at 7:08 PM, Christian Thalinger wrote:
>> I haven’t tried LLVM 3.4 yet (compiling it right now) but it seems some method signatures have changed. Let’s see if I can make it work...
>> On Feb 3, 2014, at 11:50 AM, Neale Ferguson <neale at> wrote:
>>> Hi,
>>> I'm attempting build openJDK7 with SHARK/ZERO and am encountering the following when using llvm-3.4:
>>> In file included from /home/neale/openjdk7/hotspot/src/share/vm/shark/llvmValue.hpp:30,
>>>               from /home/neale/openjdk7/hotspot/src/share/vm/shark/sharkBlock.cpp:29:
>>> /home/neale/openjdk7/hotspot/src/share/vm/shark/sharkContext.hpp: In member function 'llvm::Constant* SharkContext::get_external(const char*, const llvm::FunctionType*)':
>>> /home/neale/openjdk7/hotspot/src/share/vm/shark/sharkContext.hpp:72: error: invalid conversion from 'const llvm::FunctionType*' to 'llvm::FunctionType*'
>>> /home/neale/openjdk7/hotspot/src/share/vm/shark/sharkContext.hpp:72: error:   initializing argument 2 of 'llvm::Constant* llvm::Module::getOrInsertFunction(llvm::StringRef, llvm::FunctionType*)'
>>> line 72 looks like:
>>> llvm::Constant* get_external(const char*               name,
>>>                             const llvm::FunctionType* sig) {
>>>  return module()->getOrInsertFunction(name, sig);
>>> }
>>> Before I go too far with this I thought I'd find out if this was a known issue. I note there were other issues getting this far, like where 3.4 keeps its include files (in /usr/include/llvm/IR/...) so there are probably other changes of significance.  
>>> Neale

More information about the hotspot-dev mailing list