NetBSD-Java archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Problems with JDK 1.5.0 patchset 6



Hi,

I'm trying to update the jdk15 wip package to p6 and got one problem:

gmake[6]: Entering directory 
`/pkgsrc/lang/jdk15/work.i386/j2se/make/sun/javac/javac'
/bin/mkdir -p 
/pkgsrc/lang/jdk15/work.i386/control/build/bsd-i586/tmp/sun/com.sun.tools.javac/javac/obj
rm -f 
/pkgsrc/lang/jdk15/work.i386/control/build/bsd-i586/tmp/sun/com.sun.tools.javac/javac/.classes.list
/pkgsrc/lang/jdk15/work.i386/control/build/bsd-i586/bin/java -classpath 
../../../tools/CompileProperties CompileProperties 
../../../../src/share/classes/com/sun/tools/javac/resources/compiler.properties 
/pkgsrc/lang/jdk15/work.i386/control/build/bsd-i586/gensrc/com/sun/tools/javac/resources/compiler.java
dl failure on line 730Error: failed 
/pkgsrc/lang/jdk15/work.i386/control/build/bsd-i586/lib/i386/client/libjvm.so, 
because /usr/lib/libstdc++.so.6: Undefined PLT symbol "_Unwind_GetIP" (symnum = 
161)

It seems for me this is related to a problem with libgcc_s.

partly nm output of libjvm.so:
  0032ecbc t _Unwind_Backtrace
  0032d8b8 t _Unwind_DeleteException
  0032db08 t _Unwind_FindEnclosingFunction
  00330544 t _Unwind_Find_FDE
  0032f040 t _Unwind_ForcedUnwind
  0032edf8 t _Unwind_ForcedUnwind_Phase2
  0032d860 t _Unwind_GetCFA
  0032d8a0 t _Unwind_GetDataRelBase
  0032d914 t _Unwind_GetGR
  0032d86c t _Unwind_GetIP
  0032d888 t _Unwind_GetLanguageSpecificData
  0032d894 t _Unwind_GetRegionStart
  0032d8ac t _Unwind_GetTextRelBase
  0032f0f0 t _Unwind_RaiseException
  0032ed54 t _Unwind_RaiseException_Phase2
  0032ef8c t _Unwind_Resume
  0032f23c t _Unwind_Resume_or_Rethrow
  0032d8d8 t _Unwind_SetGR
  0032d878 t _Unwind_SetIP
ldd output:
  /pkgsrc/lang/jdk15/work.i386/control/build/bsd-i586/lib/i386/client/libjvm.so:
        -lstdc++.6 => /usr/lib/libstdc++.so.6
        -lm.0 => /usr/lib/libm387.so.0
        -lm.0 => /usr/lib/libm.so.0
        -lpthread.0 => /usr/lib/libpthread.so.0

The missing libgcc_s is kind of expected because it is linked with 
-static-libgcc,
but I found this page: http://www.trilithium.com/johan/2005/06/static-libstdc/
Which makes me think that this won't work.
Reading in the Changelog bought me to these lines:

2007-01-20 Saturday 17:49  christos
        * hotspot/build/bsd/makefiles/: gcc.make, vm.make:
        From Chuck Silvers:
        Copy the logic for -static-libgcc to the hotspot build, eliminating the
        need for the -lgcc_s hack.
2007-01-16 Tuesday 21:27  christos
        * hotspot/build/bsd/makefiles/vm.make:
        Add -lgcc_s for the NetBSD build. This is necessary for gcc-4 because
        linking with -lstdc++ requires -lgcc_eh or -lgcc_s to do the exception
        handling. Perhaps it is easier to just compile with g++ and let things
        happen automatically rather than expose the ugly guts of the libraries.
        Anyway, most platforms that use gcc-4 will need this until we fix it
        properly.
2007-01-15 Monday 04:50  christos
        * j2se/make/common/Defs-bsd.gmk:
        XXX: For now link with -lgcc_s for _Unwind_Restore. This is on NetBSD 
with:
            gcc version 4.1.2 20070110 prerelease (NetBSD nb1 20070110)

Btw, this is with NetBSD-current on i386.

Attached is the output for the linking of libjvm.so, where libjvm was linked two
times (and I don't mean the libjvm_g.so).

Thanks,
Bernd

gcc -shared -mimpure-text -fPIC -static-libgcc -Xlinker -O1 -Xlinker 
--version-script=/pkgsrc/lang/jdk15/work.i386/hotspot/build/bsd/makefiles/mapfile-vers-product
 -Xlinker -soname=libjvm.so -o libjvm.so accessFlags.o ad_i486.o 
ad_i486_clone.o ad_i486_expand.o ad_i486_format.o ad_i486_gen.o ad_i486_misc.o 
ad_i486_peephole.o ad_i486_pipeline.o adapters.o adapters_i486.o addnode.o 
adjoiningGenerations.o adjoiningVirtualSpaces.o ageTable.o allocation.o 
aprofiler.o arguments.o array.o arrayKlass.o arrayKlassKlass.o arrayOop.o 
asPSOldGen.o asPSYoungGen.o assembler.o assembler_bsd_i486.o assembler_i486.o 
atomic.o biasedLocking.o binaryTreeDictionary.o bitMap.o block.o 
blockOffsetTable.o buildOopMap.o bytecode.o bytecodeHistogram.o bytecodeInfo.o 
bytecodeStream.o bytecodeTracer.o bytecodes.o bytecodes_i486.o c2_globals.o 
c2_init_i486.o c2compiler.o cInterpreter.o cSpaceCounters.o callGenerator.o 
callnode.o carRememberedSet.o cardTableExtension.o cardTableModRefBS.o 
cardTableRS.o cartable.o cfgnode.o cha.o chaitin.o chaitin_bsd.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 ciMethodData.o ciMethodKlass.o 
ciNullObject.o ciObjArrayKlass.o ciObjArrayKlassKlass.o ciObject.o 
ciObjectFactory.o ciOopMap.o ciSignature.o ciStreams.o ciSymbol.o 
ciSymbolKlass.o ciType.o ciTypeArray.o ciTypeArrayKlass.o 
ciTypeArrayKlassKlass.o ciTypeFlow.o ciUtilities.o classFileParser.o 
classFileStream.o classLoader.o classLoadingService.o classes.o classify.o 
cmsLockVerifier.o coalesce.o codeBlob.o codeBuffer.o codeCache.o 
collectedHeap.o collectorCounters.o collectorPolicy.o 
compactibleFreeListSpace.o compactingPermGenGen.o compilationPolicy.o compile.o 
compileBroker.o compileLog.o compiledIC.o compiledICHolderKlass.o 
compiledICHolderOop.o compilerOracle.o compressedStream.o 
concurrentMarkSweepGeneration.o concurrentMarkSweepThread.o connode.o 
constMethodKlass.o constMethodOop.o constantPoolKlass.o constantPoolOop.o 
constantTag.o cpCacheKlass.o cpCacheOop.o debug.o debugInfo.o debugInfoRec.o 
debug_i486.o defNewGeneration.o deoptimization.o depChecker_i486.o dfa_i486.o 
dict.o dictionary.o disassembler_i486.o divnode.o doCall.o domgraph.o dump.o 
dump_md.o events.o evmCompat.o exceptionHandlerTable.o exceptions.o 
extendedPC_i486.o fieldDescriptor.o fieldType.o filemap.o forte.o fprofiler.o 
frame.o frame_i486.o freeBlockDictionary.o freeChunk.o freeList.o 
gSpaceCounters.o gcCause.o gcLocker.o gcPolicyCounters.o gcStats.o 
gcTaskManager.o gcTaskThread.o gcUtil.o gcm.o genCollectedHeap.o genMarkSweep.o 
genRemSet.o generateOopMap.o generateOptoStub.o generation.o 
generationCounters.o generationSpec.o getThread_bsd_i486.o globalDefinitions.o 
globals.o graphKit.o growableArray.o handles.o hashtable.o heap.o heapDumper.o 
heapInspection.o histogram.o hpi.o hpi_bsd.o icBuffer.o icBuffer_i486.o 
icache.o icache_i486.o idealKit.o ifg.o ifnode.o immutableSpace.o indexSet.o 
init.o instanceKlass.o instanceKlassKlass.o instanceOop.o instanceRefKlass.o 
interfaceSupport.o interp_masm_i486.o interpreter.o interpreterRT_i486.o 
interpreterRuntime.o interpreter_i486.o invocationCounter.o iterator.o java.o 
javaAssertions.o javaCalls.o javaClasses.o jni.o jniCheck.o jniFastGetField.o 
jniFastGetField_i486.o jniHandles.o jniId.o jvm.o jvm_bsd.o jvmdiEnter.o 
jvmdiEnterTrace.o jvmdiEventFromJvmtiEvent.o jvmdiFrame.o jvmpi.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 klass.o klassKlass.o 
klassOop.o klassVtable.o lcm.o library_call.o linkResolver.o live.o 
loaderConstraints.o location.o locknode.o loopTransform.o loopnode.o loopopts.o 
lowMemoryDetector.o machnode.o management.o markOop.o markSweep.o matcher.o 
memRegion.o memnode.o memoryManager.o memoryPool.o memoryService.o 
memprofiler.o methodComparator.o methodDataKlass.o methodDataOop.o 
methodKlass.o methodLiveness.o methodOop.o monitorChunk.o mulnode.o multnode.o 
mutableSpace.o mutex.o mutexLocker.o mutex_bsd.o nativeInst_i486.o 
nativeLookup.o nmethod.o nmethod_i486.o node.o objArrayKlass.o 
objArrayKlassKlass.o objArrayOop.o objectMonitor_bsd.o objectStartArray.o 
onStackReplacement.o oop.o oopFactory.o oopMap.o oopMapCache.o oopRecorder.o 
opcodes.o orderAccess.o os.o osThread.o osThread_bsd.o os_bsd.o os_bsd_i486.o 
ostream.o output.o parGCAllocBuffer.o parMarkBitMap.o parNewGeneration.o 
parallelScavengeHeap.o parse1.o parse2.o parse3.o parseHelper.o pcDesc.o 
pcTasks.o perf.o perfData.o perfMemory.o perfMemory_bsd.o permGen.o phase.o 
phaseX.o placeholders.o port.o postaloc.o preserveException.o privilegedStack.o 
psAdaptiveSizePolicy.o psCompactionManager.o psGCAdaptivePolicyCounters.o 
psGenerationCounters.o psMarkSweep.o psMarkSweepDecorator.o psOldGen.o 
psParallelCompact.o psPermGen.o psPromotionLAB.o psPromotionManager.o 
psScavenge.o psTasks.o psVirtualspace.o psYoungGen.o rawMonitor.o 
recompilationMonitor.o referencePolicy.o referenceProcessor.o 
referenceProcessorMT.o reflection.o reflectionUtils.o reg_split.o regalloc.o 
register.o register_definitions_i486.o register_i486.o regmask.o relocInfo.o 
relocInfo_i486.o relocator.o resourceArea.o restore.o rewriter.o rframe.o 
rootnode.o runtime.o runtimeService.o runtime_i486.o safepoint.o 
safepoint_bsd_i486.o scopeDesc.o serialize.o set.o shared.o sharedHeap.o 
sharedRuntime.o sharedRuntimeTrig.o sharedRuntime_i486.o shared_i486.o 
signature.o sizes.o space.o spaceCounters.o specialized_oop_closures.o 
split_if.o stackMapFrame.o stackMapTable.o stackValue.o stackValueCollection.o 
statSampler.o stubCodeGenerator.o stubGenerator_i486.o stubRoutines.o 
stubRoutines_bsd.o stubRoutines_i486.o stubs.o subnode.o sweeper.o 
symbolKlass.o symbolOop.o symbolTable.o synchronizer.o systemDictionary.o 
task.o taskqueue.o templateTable.o templateTable_i486.o tenuredGeneration.o 
thread.o threadCodeBuffer.o threadCritical_bsd.o threadLS_bsd_i486.o 
threadLocalAllocBuffer.o threadLocalStorage.o threadService.o thread_bsd_i486.o 
timer.o train.o trainGeneration.o type.o typeArrayKlass.o typeArrayKlassKlass.o 
typeArrayOop.o universe.o unsafe.o utf8.o vectset.o verificationType.o 
verifier.o vframe.o vframeArray.o vframe_hp.o virtualspace.o vmError.o 
vmError_bsd.o vmStructs.o vmSymbols.o vmThread.o vm_operations.o vm_version.o 
vm_version_i486.o vtableStubs.o vtune_bsd.o workgroup.o xmlstream.o 
vtableStubs_i486.o   bsd_i486.o -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic -lm -pthread
Linking vm...
echo Stripping vm... ; \
        strip --strip-debug libjvm.so
Linking launcher...
echo Making signal interposition lib...; \
        gcc  -D_GNU_SOURCE -D_REENTRANT -static-libgcc -Xlinker -O1 -shared 
-fPIC -o libjsig.so /pkgsrc/lang/jdk15/work.i386/hotspot/src/os/bsd/vm/jsig.c
Making signal interposition lib...
if [ -d /pkgsrc/lang/jdk15/work.i386/hotspot/agent -a "i486" != "ia64" ] ; then 
\
           /usr/pkg/bin/gmake -f vm.make libsaproc.so; \
        fi
gmake[3]: Leaving directory 
`/pkgsrc/lang/jdk15/work.i386/control/build/bsd-i586/hotspot-i586/tmp/bsd_i486_compiler2/product'
All done.
gcc -shared -mimpure-text -fPIC -static-libgcc -Xlinker -O1 -Xlinker 
--version-script=/pkgsrc/lang/jdk15/work.i386/hotspot/build/bsd/makefiles/mapfile-vers-product
 -Xlinker -soname=libjvm.so -o libjvm.so accessFlags.o adjoiningGenerations.o 
adjoiningVirtualSpaces.o ageTable.o allocation.o aprofiler.o arguments.o 
array.o arrayKlass.o arrayKlassKlass.o arrayOop.o asPSOldGen.o asPSYoungGen.o 
assembler.o assembler_bsd_i486.o assembler_i486.o atomic.o biasedLocking.o 
binaryTreeDictionary.o bitMap.o blockOffsetTable.o bytecode.o 
bytecodeHistogram.o bytecodeStream.o bytecodeTracer.o bytecodes.o 
bytecodes_i486.o c1_AllocTable.o c1_AllocTable_i486.o c1_CacheLocals.o 
c1_CacheLocals_i486.o c1_Canonicalizer.o c1_CodeGenerator.o 
c1_CodeGenerator_i486.o c1_CodeStubs_i486.o c1_Compilation.o c1_Compiler.o 
c1_Defs.o c1_FrameMap.o c1_FrameMap_i486.o c1_GraphBuilder.o c1_IR.o 
c1_Instruction.o c1_InstructionPrinter.o c1_Items.o c1_Items_i486.o c1_LIR.o 
c1_LIRAssembler.o c1_LIRAssembler_i486.o c1_LIREmitter.o c1_LIREmitter_i486.o 
c1_LIROptimizer.o c1_Loops.o c1_MacroAssembler_i486.o c1_Optimizer.o c1_RInfo.o 
c1_RInfo_i486.o c1_RegAlloc.o c1_RegAlloc_i486.o c1_Runtime1.o 
c1_Runtime1_i486.o c1_ScanBlocks.o c1_ValueMap.o c1_ValueSet.o c1_ValueStack.o 
c1_ValueType.o c1_globals.o cInterpreter.o cSpaceCounters.o carRememberedSet.o 
cardTableExtension.o cardTableModRefBS.o cardTableRS.o cartable.o cha.o 
ciArray.o ciArrayKlass.o ciBytecodeStream.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 ciMethodData.o 
ciMethodKlass.o ciNullObject.o ciObjArrayKlass.o ciObjArrayKlassKlass.o 
ciObject.o ciObjectFactory.o ciOopMap.o ciSignature.o ciStreams.o ciSymbol.o 
ciSymbolKlass.o ciType.o ciTypeArray.o ciTypeArrayKlass.o 
ciTypeArrayKlassKlass.o ciUtilities.o classFileParser.o classFileStream.o 
classLoader.o classLoadingService.o classify.o cmsLockVerifier.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 
concurrentMarkSweepGeneration.o concurrentMarkSweepThread.o constMethodKlass.o 
constMethodOop.o constantPoolKlass.o constantPoolOop.o constantTag.o 
cpCacheKlass.o cpCacheOop.o debug.o debugInfo.o debugInfoRec.o debug_i486.o 
defNewGeneration.o deoptimization.o depChecker_i486.o dictionary.o 
disassembler_i486.o dump.o dump_md.o events.o evmCompat.o 
exceptionHandlerTable.o exceptions.o extendedPC_i486.o fieldDescriptor.o 
fieldType.o filemap.o forte.o fprofiler.o frame.o frame_i486.o 
freeBlockDictionary.o freeChunk.o freeList.o gSpaceCounters.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 getThread_bsd_i486.o globalDefinitions.o 
globals.o growableArray.o handles.o hashtable.o heap.o heapDumper.o 
heapInspection.o histogram.o hpi.o hpi_bsd.o icBuffer.o icBuffer_i486.o 
icache.o icache_i486.o immutableSpace.o init.o instanceKlass.o 
instanceKlassKlass.o instanceOop.o instanceRefKlass.o interfaceSupport.o 
interp_masm_i486.o interpreter.o interpreterRT_i486.o interpreterRuntime.o 
interpreter_i486.o invocationCounter.o iterator.o java.o javaAssertions.o 
javaCalls.o javaClasses.o jni.o jniCheck.o jniFastGetField.o 
jniFastGetField_i486.o jniHandles.o jniId.o jvm.o jvm_bsd.o jvmdiEnter.o 
jvmdiEnterTrace.o jvmdiEventFromJvmtiEvent.o jvmdiFrame.o jvmpi.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 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 methodOop.o monitorChunk.o 
mutableSpace.o mutex.o mutexLocker.o mutex_bsd.o nativeInst_i486.o 
nativeLookup.o nmethod.o nmethod_i486.o objArrayKlass.o objArrayKlassKlass.o 
objArrayOop.o objectMonitor_bsd.o objectStartArray.o onStackReplacement.o oop.o 
oopFactory.o oopMap.o oopMapCache.o oopRecorder.o orderAccess.o os.o osThread.o 
osThread_bsd.o os_bsd.o os_bsd_i486.o ostream.o parGCAllocBuffer.o 
parMarkBitMap.o parNewGeneration.o parallelScavengeHeap.o pcDesc.o pcTasks.o 
perf.o perfData.o perfMemory.o perfMemory_bsd.o permGen.o placeholders.o 
preserveException.o privilegedStack.o psAdaptiveSizePolicy.o 
psCompactionManager.o psGCAdaptivePolicyCounters.o psGenerationCounters.o 
psMarkSweep.o psMarkSweepDecorator.o psOldGen.o psParallelCompact.o psPermGen.o 
psPromotionLAB.o psPromotionManager.o psScavenge.o psTasks.o psVirtualspace.o 
psYoungGen.o rawMonitor.o recompilationMonitor.o referencePolicy.o 
referenceProcessor.o referenceProcessorMT.o reflection.o reflectionUtils.o 
register.o register_definitions_i486.o register_i486.o relocInfo.o 
relocInfo_i486.o relocator.o resourceArea.o restore.o rewriter.o rframe.o 
runtimeService.o safepoint.o safepoint_bsd_i486.o scopeDesc.o serialize.o 
shared.o sharedHeap.o sharedRuntime.o sharedRuntimeTrig.o sharedRuntime_i486.o 
shared_i486.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_i486.o 
stubRoutines.o stubRoutines_bsd.o stubRoutines_i486.o stubs.o sweeper.o 
symbolKlass.o symbolOop.o symbolTable.o synchronizer.o systemDictionary.o 
task.o taskqueue.o templateTable.o templateTable_i486.o tenuredGeneration.o 
thread.o threadCodeBuffer.o threadCritical_bsd.o threadLS_bsd_i486.o 
threadLocalAllocBuffer.o threadLocalStorage.o threadService.o thread_bsd_i486.o 
timer.o train.o trainGeneration.o typeArrayKlass.o typeArrayKlassKlass.o 
typeArrayOop.o universe.o unsafe.o utf8.o verificationType.o verifier.o 
vframe.o vframeArray.o vframe_hp.o virtualspace.o vmError.o vmError_bsd.o 
vmStructs.o vmSymbols.o vmThread.o vm_operations.o vm_version.o 
vm_version_i486.o vtableStubs.o vtableStubs_i486.o vtune_bsd.o workgroup.o 
xmlstream.o c1_LIROptimizer_i486.o   bsd_i486.o -Wl,-Bstatic -lstdc++ 
-Wl,-Bdynamic -lm -pthread
Linking vm...
echo Stripping vm... ; \
        strip --strip-debug libjvm.so
Stripping vm...
Linking launcher...
echo Making signal interposition lib...; \
        gcc  -D_GNU_SOURCE -D_REENTRANT -static-libgcc -Xlinker -O1 -shared 
-fPIC -o libjsig.so /pkgsrc/lang/jdk15/work.i386/hotspot/src/os/bsd/vm/jsig.c
Making signal interposition lib...
if [ -d /pkgsrc/lang/jdk15/work.i386/hotspot/agent -a "i486" != "ia64" ] ; then 
\
           /usr/pkg/bin/gmake -f vm.make libsaproc.so; \
        fi
gmake[3]: Leaving directory 
`/pkgsrc/lang/jdk15/work.i386/control/build/bsd-i586/hotspot-i586/tmp/bsd_i486_compiler1/product'
All done.



Home | Main Index | Thread Index | Old Index