[Bug 247] New: Linkage errors while building OpenJDK with shark and llvm

bugzilla-daemon at icedtea.classpath.org bugzilla-daemon at icedtea.classpath.org
Wed Nov 5 16:14:42 PST 2008


http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=247

           Summary: Linkage errors while building OpenJDK with shark and
                    llvm
           Product: IcedTea
           Version: unspecified
          Platform: Other
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: IcedTea
        AssignedTo: unassigned at icedtea.classpath.org
        ReportedBy: evgueni.gordienko at motorola.com


Environment is gcc is 4.3.2 on fedora 7 PowerPC. I'm building latest OpenJDK
with shark. I use llvm rev 54012 - it was compiled with gcc 4.1.2. Below is
last part of make.log which produces errors:

cat
/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/build/linux/makefiles/mapfile-vers-product
> mapfile 
Generating launcher.c 
{ \ 
        echo '#define debug launcher_debug'; \ 
        echo '#include "java.c"'; \ 
        echo '#include "java_md.c"'; \ 
        } > launcher.c 
Making signal interposition lib... 
gcc  -m32 -shared -fPIC \ 
                         -D_GNU_SOURCE -D_REENTRANT -o libjsig.so
/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/os/linux/vm/jsig.c -ldl 
if [ -d /opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/agent -a "zero" !=
"ia64" -a "zero" != "zero" ] ; then \ 
           /usr/bin/make -f vm.make libsaproc.so; \ 
        fi 
rm -f mapfile_reorder 
cat mapfile > mapfile_reorder 
gcc -g -c -o launcher.o launcher.c -m32
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/os/linux/launcher
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/prims
-DFULL_VERSION=\"10.0-b19\" -DARCH=\"ppc\" -DGAMMA -DLAUNCHER_TYPE=\"gamma\"
-DLINK_INTO_LIBJVM -DLINUX -D_GNU_SOURCE -DCC_INTERP -DZERO -DPPC
-DZERO_LIBARCH=\"ppc\" -DASSERT -I. -I../generated/adfiles
-I../generated/jvmtifiles
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/asm
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/c1
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/ci
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/classfile
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/code
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/compiler
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/gc_implementation
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/gc_implementation/parallelScavenge
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/gc_implementation/parNew
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/gc_implementation/shared
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/gc_interface
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/interpreter
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/memory
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/oops
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/prims
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/runtime
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/services
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/shark
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/utilities
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/cpu/zero/vm
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/os/linux/vm
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/os_cpu/linux_zero/vm
-I../generated -DHOTSPOT_RELEASE_VERSION="\"10.0-b19\""
-DHOTSPOT_BUILD_TARGET="\"product\"" -DHOTSPOT_BUILD_USER="\"root\""
-DJRE_RELEASE_VERSION="\"1.6.0_0-b12\"" -DHOTSPOT_VM_DISTRO="\"OpenJDK\"" 
Compiling
/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/runtime/vm_version.cpp 
rm -f vm_version.o 
g++ -DLINUX -D_GNU_SOURCE -DCC_INTERP -DZERO -DPPC -DZERO_LIBARCH=\"ppc\"
-DASSERT -I. -I../generated/adfiles -I../generated/jvmtifiles
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/asm
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/c1
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/ci
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/classfile
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/code
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/compiler
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/gc_implementation
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/gc_implementation/parallelScavenge
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/gc_implementation/parNew
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/gc_implementation/shared
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/gc_interface
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/interpreter
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/memory
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/oops
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/prims
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/runtime
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/services
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/shark
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/utilities
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/cpu/zero/vm
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/os/linux/vm
-I/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/os_cpu/linux_zero/vm
-I../generated -DHOTSPOT_RELEASE_VERSION="\"10.0-b19\""
-DHOTSPOT_BUILD_TARGET="\"product\"" -DHOTSPOT_BUILD_USER="\"root\""
-DJRE_RELEASE_VERSION="\"1.6.0_0-b12\"" -DHOTSPOT_VM_DISTRO="\"OpenJDK\""
-DSHARK -I/usr/local/lib/libffi-3.0.6/include  
-I/opt/build-icedtea/llvm/Release/include    -D_GNU_SOURCE
-D__STDC_LIMIT_MACROS   -fPIC  -fPIC -fno-rtti -fno-exceptions -D_REENTRANT
-fcheck-new -g -m32 -pipe -O0 -fno-strict-aliasing -Werror -Wpointer-arith
-Wconversion -Wsign-compare    -c -o vm_version.o
/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/src/share/vm/runtime/vm_version.cpp 
{                                                    \ 
            echo Linking vm...;                                         \ 
                                                 \ 
            gcc -m32 -Xlinker -O1 -shared                                 \ 
                       -Xlinker --version-script=mapfile_reorder -Xlinker
-soname=libjvm.so -L/opt/build-icedtea/llvm/Release/lib  -lpthread -ldl -lm
-lelf  -o libjvm.so abstractCompiler.o accessFlags.o adaptiveSizePolicy.o
adjoiningGenerations.o adjoiningVirtualSpaces.o ageTable.o allocation.o
allocationStats.o aprofiler.o arguments.o array.o arrayKlass.o
arrayKlassKlass.o arrayOop.o asPSOldGen.o asPSYoungGen.o asParNewGeneration.o
assembler.o assembler_linux_zero.o assembler_zero.o atomic.o attachListener.o
attachListener_linux.o bcEscapeAnalyzer.o biasedLocking.o
binaryTreeDictionary.o bitMap.o blockOffsetTable.o bytecode.o
bytecodeHistogram.o bytecodeInterpreter.o bytecodeInterpreterWithChecks.o
bytecodeInterpreter_zero.o bytecodeStream.o bytecodeTracer.o bytecodes.o
bytecodes_zero.o cSpaceCounters.o cardTableExtension.o cardTableModRefBS.o
cardTableRS.o ciArray.o ciArrayKlass.o ciConstant.o ciConstantPoolCache.o
ciEnv.o ciExceptionHandler.o ciField.o ciFlags.o ciInstance.o ciInstanceKlass.o
ciInstanceKlassKlass.o ciKlass.o ciKlassKlass.o ciMethod.o ciMethodBlocks.o
ciMethodData.o ciMethodKlass.o ciNullObject.o ciObjArrayKlass.o
ciObjArrayKlassKlass.o ciObject.o ciObjectFactory.o ciSignature.o ciStreams.o
ciSymbol.o ciSymbolKlass.o ciType.o ciTypeArray.o ciTypeArrayKlass.o
ciTypeArrayKlassKlass.o ciTypeFlow.o ciUtilities.o classFileError.o
classFileParser.o classFileStream.o classLoader.o classLoadingService.o
classify.o cmsAdaptiveSizePolicy.o cmsCollectorPolicy.o
cmsGCAdaptivePolicyCounters.o cmsLockVerifier.o cmsPermGen.o codeBlob.o
codeBuffer.o codeCache.o collectedHeap.o collectorCounters.o collectorPolicy.o
compactibleFreeListSpace.o compactingPermGenGen.o compilationPolicy.o
compileBroker.o compileLog.o compiledIC.o compiledICHolderKlass.o
compiledICHolderOop.o compilerOracle.o compressedStream.o concurrentGCThread.o
concurrentMarkSweepGeneration.o concurrentMarkSweepThread.o constMethodKlass.o
constMethodOop.o constantPoolKlass.o constantPoolOop.o constantTag.o copy.o
cpCacheKlass.o cpCacheOop.o cppInterpreter.o cppInterpreter_zero.o debug.o
debugInfo.o debugInfoRec.o debug_zero.o defNewGeneration.o deoptimization.o
depChecker_zero.o dependencies.o dictionary.o disassembler_zero.o
dtraceAttacher.o dump.o dump_zero.o events.o evmCompat.o
exceptionHandlerTable.o exceptions.o fieldDescriptor.o fieldType.o filemap.o
forte.o fprofiler.o frame.o frame_zero.o freeBlockDictionary.o freeChunk.o
freeList.o gSpaceCounters.o gcAdaptivePolicyCounters.o gcCause.o gcLocker.o
gcPolicyCounters.o gcStats.o gcTaskManager.o gcTaskThread.o gcUtil.o
genCollectedHeap.o genMarkSweep.o genRemSet.o generateOopMap.o generation.o
generationCounters.o generationSpec.o globalDefinitions.o globals.o
growableArray.o handles.o hashtable.o heap.o heapDumper.o heapInspection.o
histogram.o hpi.o hpi_linux.o icBuffer.o icBuffer_zero.o icache.o icache_zero.o
immutableSpace.o init.o instanceKlass.o instanceKlassKlass.o instanceOop.o
instanceRefKlass.o interfaceSupport.o interp_masm_zero.o interpreter.o
interpreterRT_zero.o interpreterRuntime.o interpreter_zero.o
invocationCounter.o iterator.o java.o javaAssertions.o javaCalls.o
javaClasses.o jni.o jniCheck.o jniFastGetField.o jniFastGetField_zero.o
jniHandles.o jniPeriodicChecker.o jvm.o jvm_linux.o
jvmtiClassFileReconstituter.o jvmtiCodeBlobEvents.o jvmtiEnter.o
jvmtiEnterTrace.o jvmtiEnv.o jvmtiEnvBase.o jvmtiEnvThreadState.o
jvmtiEventController.o jvmtiExport.o jvmtiExtensions.o jvmtiGetLoadedClasses.o
jvmtiImpl.o jvmtiManageCapabilities.o jvmtiRedefineClasses.o jvmtiTagMap.o
jvmtiThreadState.o jvmtiTrace.o jvmtiUtil.o klass.o klassKlass.o klassOop.o
klassVtable.o linkResolver.o loaderConstraints.o location.o lowMemoryDetector.o
management.o markOop.o markSweep.o memRegion.o memoryManager.o memoryPool.o
memoryService.o memprofiler.o methodComparator.o methodDataKlass.o
methodDataOop.o methodKlass.o methodLiveness.o methodOop.o monitorChunk.o
mutableNUMASpace.o mutableSpace.o mutex.o mutexLocker.o mutex_linux.o
nativeInst_zero.o nativeLookup.o nmethod.o objArrayKlass.o objArrayKlassKlass.o
objArrayOop.o objectMonitor_linux.o objectStartArray.o oop.o oopFactory.o
oopMap.o oopMapCache.o oopRecorder.o oopsHierarchy.o orderAccess.o os.o
osThread.o osThread_linux.o os_linux.o os_linux_zero.o ostream.o
parCardTableModRefBS.o parGCAllocBuffer.o parMarkBitMap.o parNewGeneration.o
parallelScavengeHeap.o pcDesc.o pcTasks.o perf.o perfData.o perfMemory.o
perfMemory_linux.o permGen.o placeholders.o preserveException.o
privilegedStack.o psAdaptiveSizePolicy.o psCompactionManager.o
psGCAdaptivePolicyCounters.o psGenerationCounters.o psMarkSweep.o
psMarkSweepDecorator.o psMemoryPool.o psOldGen.o psParallelCompact.o
psPermGen.o psPromotionLAB.o psPromotionManager.o psScavenge.o psTasks.o
psVirtualspace.o psYoungGen.o referencePolicy.o referenceProcessor.o
reflection.o reflectionUtils.o register.o register_definitions_zero.o
register_zero.o relocInfo.o relocInfo_zero.o relocator.o resolutionErrors.o
resourceArea.o restore.o rewriter.o rframe.o runtimeService.o safepoint.o
scopeDesc.o serialize.o sharedHeap.o sharedRuntime.o sharedRuntimeTrans.o
sharedRuntimeTrig.o sharedRuntime_zero.o sharkBlock.o sharkBuilder.o
sharkBytecodeTracer.o sharkCacheDecache.o sharkCompiler.o sharkConstantPool.o
sharkEntry.o sharkFunction.o sharkMonitor.o sharkRuntime.o sharkState.o
sharkStateScanner.o shark_globals.o signature.o sizes.o space.o spaceCounters.o
specialized_oop_closures.o stackMapFrame.o stackMapTable.o stackValue.o
stackValueCollection.o statSampler.o stubCodeGenerator.o stubGenerator_zero.o
stubRoutines.o stubRoutines_linux.o stubRoutines_zero.o stubs.o sweeper.o
symbolKlass.o symbolOop.o symbolTable.o synchronizer.o systemDictionary.o
task.o taskqueue.o templateInterpreter.o templateInterpreter_zero.o
templateTable.o templateTable_zero.o tenuredGeneration.o thread.o
threadCritical_linux.o threadLS_linux_zero.o threadLocalAllocBuffer.o
threadLocalStorage.o threadService.o thread_linux_zero.o timer.o
typeArrayKlass.o typeArrayKlassKlass.o typeArrayOop.o unhandledOops.o
universe.o unsafe.o utf8.o verificationType.o verifier.o vframe.o vframeArray.o
vframe_hp.o virtualspace.o vmCMSOperations.o vmError.o vmError_linux.o
vmGCOperations.o vmPSOperations.o vmStructs.o vmSymbols.o vmThread.o
vm_operations.o vm_version.o vm_version_linux_zero.o vm_version_zero.o vmreg.o
vmreg_zero.o vtableStubs.o vtableStubs_zero.o vtune_linux.o workgroup.o
xmlstream.o yieldingWorkgroup.o sharkType.o  -lstdc++ -lm -ldl -lpthread
-L/usr/local/lib -lffi   /opt/build-icedtea/llvm/Release/lib/LLVMPowerPC.o
-lLLVMSelectionDAG /opt/build-icedtea/llvm/Release/lib/LLVMExecutionEngine.o
/opt/build-icedtea/llvm/Release/lib/LLVMJIT.o -lLLVMCodeGen -lLLVMScalarOpts
-lLLVMTransformUtils -lLLVMipa -lLLVMAnalysis -lLLVMTarget -lLLVMCore
-lLLVMSupport -lLLVMSystem;       \ 
                                                \ 
            rm -f libjvm.so.1; ln -s libjvm.so libjvm.so.1;                    
             \ 
            if [ -x /usr/sbin/selinuxenabled ] ; then                   \ 
              /usr/sbin/selinuxenabled;                                 \ 
              if [ $? = 0 ] ; then \ 
                /usr/bin/chcon -t textrel_shlib_t libjvm.so;                  
\ 
                if [ $? != 0 ]; then                                   \ 
                  echo "ERROR: Cannot chcon libjvm.so"; exit 1;               
\ 
                fi \ 
              fi \ 
            fi                                                          \ 
        } 
Linking vm... 
{ \ 
            echo Linking launcher...; \ 
             \ 
            gcc -m32 -Xlinker -O1 -m32 -export-dynamic  -L `pwd` -o gamma
launcher.o -ljvm -lm -ldl -lpthread; \ 
             \ 
        } 
Linking launcher... 
/opt/build-icedtea/icedtea6/openjdk-ecj/control/build/linux-ppc/hotspot/outputdir/linux_zero_shark/product/libjvm.so:
undefined reference to `llvm::CmpInst::CmpInst(llvm::Instruction::OtherOps,
unsigned short, llvm::Value*, llvm::Value*, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, llvm::Instruction*)' 
/opt/build-icedtea/icedtea6/openjdk-ecj/control/build/linux-ppc/hotspot/outputdir/linux_zero_shark/product/libjvm.so:
undefined reference to
`llvm::BinaryOperator::create(llvm::Instruction::BinaryOps, llvm::Value*,
llvm::Value*, std::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&, llvm::Instruction*)' 
/opt/build-icedtea/icedtea6/openjdk-ecj/control/build/linux-ppc/hotspot/outputdir/linux_zero_shark/product/libjvm.so:
undefined reference to `llvm::CastInst::create(llvm::Instruction::CastOps,
llvm::Value*, llvm::Type const*, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, llvm::Instruction*)' 
/opt/build-icedtea/icedtea6/openjdk-ecj/control/build/linux-ppc/hotspot/outputdir/linux_zero_shark/product/libjvm.so:
undefined reference to `llvm::CastInst::createIntegerCast(llvm::Value*,
llvm::Type const*, bool, std::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&, llvm::Instruction*)' 
/opt/build-icedtea/icedtea6/openjdk-ecj/control/build/linux-ppc/hotspot/outputdir/linux_zero_shark/product/libjvm.so:
undefined reference to `llvm::GetElementPtrInst::init(llvm::Value*,
llvm::Value* const*, unsigned int)' 
/opt/build-icedtea/icedtea6/openjdk-ecj/control/build/linux-ppc/hotspot/outputdir/linux_zero_shark/product/libjvm.so:
undefined reference to `llvm::GetElementPtrInst::getIndexedType(llvm::Type
const*, llvm::Value* const*, unsigned int, bool)' 
/opt/build-icedtea/icedtea6/openjdk-ecj/control/build/linux-ppc/hotspot/outputdir/linux_zero_shark/product/libjvm.so:
undefined reference to `llvm::BinaryOperator::createNeg(llvm::Value*,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&,
llvm::Instruction*)' 
collect2: ld returned 1 exit status 
make[6]: *** [gamma] Error 1 
make[6]: Leaving directory
`/opt/build-icedtea/icedtea6/openjdk-ecj/control/build/linux-ppc/hotspot/outputdir/linux_zero_shark/product' 
make[5]: *** [the_vm] Error 2 
make[5]: Leaving directory
`/opt/build-icedtea/icedtea6/openjdk-ecj/control/build/linux-ppc/hotspot/outputdir/linux_zero_shark/product' 
make[4]: *** [productshark] Error 2 
make[4]: Leaving directory
`/opt/build-icedtea/icedtea6/openjdk-ecj/control/build/linux-ppc/hotspot/outputdir' 
make[3]: *** [generic_buildshark] Error 2 
make[3]: Leaving directory
`/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/make' 
make[2]: *** [productshark] Error 2 
make[2]: Leaving directory
`/opt/build-icedtea/icedtea6/openjdk-ecj/hotspot/make' 
make[1]: *** [hotspot-build] Error 2 
make[1]: Leaving directory
`/opt/build-icedtea/icedtea6/openjdk-ecj/control/make' 
make: *** [stamps/icedtea-ecj.stamp] Error 2


-- 
Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the distro-pkg-dev mailing list