java/71516: jdk13 hotspot fails to build with recent gcc 3.4.2 on
RELENG_5
Damir Kiramov
damirycha at damirycha.net.ru
Thu Sep 9 02:30:27 PDT 2004
>Number: 71516
>Category: java
>Synopsis: jdk13 hotspot fails to build with recent gcc 3.4.2 on RELENG_5
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-java
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Thu Sep 09 09:30:26 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator: Damir Kiramov
>Release: FreeBSD 5.3-BETA2 i386
>Organization:
>Environment:
System: FreeBSD www8.biblion.ru 5.3-BETA2 FreeBSD 5.3-BETA2 #0: Fri Sep 3 17:03:48 MSD 2004 root at www8.biblion.ru:/usr/obj/usr/src/sys/TESTWWWS i386
>Description:
The recent changes to make in 5.2-CURRENT to use MAKEFLAGS and also the changes to gcc 3.4 break the hotspot build.
# Start of HotSpot build
(cd /usr/ports/java/jdk13/work/hotspot1.3.1/build/linux ; /usr/bin/env ALT_BOOTDIR="/usr/local/jdk1.3.1" ALT_MOTIF_DIR="/usr/X11R6" OPENWINHOME="/usr/X11R6" SYS_CFLAGS="-O -pipe " CLASSPATH="" LD_LIBRARY_PATH="" JAVA_COMPILER="" MAKEFLAGS="" SHELL=/bin/sh PORTOBJFORMAT=elf PREFIX=/usr/local LOCALBASE=/usr/local X11BASE=/usr/X11R6 MOTIFLIB="-L/usr/X11R6/lib -lXm -lXp" LIBDIR="/usr/lib" CFLAGS="-O -pipe " CXXFLAGS="-O -pipe" MANPREFIX="/usr/local" BSD_INSTALL_PROGRAM="install -s -o root -g wheel -m 555" BSD_INSTALL_SCRIPT="install -o root -g wheel -m 555" BSD_INSTALL_DATA="install -o root -g wheel -m 444" BSD_INSTALL_MAN="install -o root -g wheel -m 444" gmake -f Makefile compiler1 compiler2)
sh /usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/../../build/linux/makefiles/buildATree.sh compiler1 /usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/../.. linux i486
(cd linux_i486_compiler1/jvmg; gmake)
gmake[1]: Entering directory `/usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/linux_i486_compiler1/jvmg'
Removing ../generated/includeDB.current to force regeneration.
cd ../generated; cat /usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/../../src/share/vm/includeDB_core /usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/../../src/share/vm/includeDB_ci /usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/../../src/share/vm/includeDB_compiler1 > includeDB
cd ../generated; if [ ! -r incls ] ; then \
mkdir incls ; \
fi
cd ../generated; /usr/local/jdk1.3.1/bin/java -classpath . MakeDeps diffs UnixPlatform platform.current includeDB.current /usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/../../build/linux/platform_i486 includeDB -firstFile functionAtStart.cpp -lastFile functionAtEnd.cpp
Old database:
computing closures
New database:
reading database: includeDB
computing closures
Deltas:
updating output files
The order of .c or .s has changed, or the grand include file has changed.
writing individual include files
creating functionAtStart.cpp
creating accessFlags.cpp
creating ageTable.cpp
creating allocation.cpp
creating aprofiler.cpp
creating arguments.cpp
creating arrayKlass.cpp
creating arrayKlassKlass.cpp
creating arrayOop.cpp
creating assembler.cpp
creating assembler_i486.cpp
creating assembler_linux_i486.cpp
creating bitMap.cpp
creating bytecode.cpp
creating bytecodeHistogram.cpp
creating bytecodeStream.cpp
creating bytecodeTracer.cpp
creating bytecodes.cpp
creating bytecodes_i486.cpp
creating carRememberedSet.cpp
creating cartable.cpp
creating classFileParser.cpp
creating classFileStream.cpp
creating classLoader.cpp
creating codeBuffer.cpp
creating compressedStream.cpp
creating constantPoolKlass.cpp
creating constantPoolOop.cpp
creating constantTag.cpp
creating cpCacheKlass.cpp
creating cpCacheOop.cpp
creating debug.cpp
creating debug_i486.cpp
creating disassembler_i486.cpp
creating events.cpp
creating evmCompat.cpp
creating exceptions.cpp
creating extendedPC_i486.cpp
creating fieldDescriptor.cpp
creating fieldType.cpp
creating fprofiler.cpp
creating frame.cpp
creating frame_i486.cpp
creating gcLocker.cpp
creating generateOopMap.cpp
creating generation.cpp
creating getThread_linux_i486.cpp
creating globalDefinitions.cpp
creating globals.cpp
creating growableArray.cpp
creating handles.cpp
creating heap.cpp
creating histogram.cpp
creating hpi.cpp
creating hpi_linux.cpp
creating icache.cpp
creating icache_i486.cpp
creating init.cpp
creating instanceKlass.cpp
creating instanceKlassKlass.cpp
creating instanceOop.cpp
creating instanceRefKlass.cpp
creating interfaceSupport.cpp
creating interp_masm_i486.cpp
creating interpreterRT_i486.cpp
creating interpreterRuntime.cpp
creating interpreter_i486.cpp
creating interpreter_abs.cpp
creating iterator.cpp
creating java.cpp
creating javaCalls.cpp
creating javaClasses.cpp
creating jni.cpp
creating jniHandles.cpp
creating jvm.cpp
creating jvm_linux.cpp
creating jvmdiEvent.cpp
creating jvmdi.cpp
creating jvmdi_info.cpp
creating jvmdi_info2.cpp
creating jvmpi.cpp
creating klass.cpp
creating klassKlass.cpp
creating klassOop.cpp
creating klassVtable.cpp
creating linkResolver.cpp
creating markOop.cpp
creating markSweep.cpp
creating memprofiler.cpp
creating methodIterator.cpp
creating methodKlass.cpp
creating methodOop.cpp
creating methodPrinter.cpp
creating monitorChunk.cpp
creating mutex.cpp
creating mutexLocker.cpp
creating mutex_linux.cpp
creating nativeInst_i486.cpp
creating nativeLookup.cpp
creating objArrayKlass.cpp
creating objArrayKlassKlass.cpp
creating objArrayOop.cpp
creating objectMonitor_linux.cpp
creating oop.cpp
creating oopFactory.cpp
creating oopMapCache.cpp
creating oopRecorder.cpp
creating os.cpp
creating osThread.cpp
creating osThread_linux.cpp
creating os_linux.cpp
creating os_linux_i486.cpp
creating ostream.cpp
creating preserveException.cpp
creating privilegedStack.cpp
creating rawMonitor.cpp
creating referencePolicy.cpp
creating reflection.cpp
creating reflectionUtils.cpp
creating relocInfo.cpp
creating relocInfo_i486.cpp
creating relocator.cpp
creating rememberedSet.cpp
creating resourceArea.cpp
creating rewriter.cpp
creating safepoint.cpp
creating safepoint_linux.cpp
creating scavenge.cpp
creating sharedRuntime.cpp
creating signature.cpp
creating space.cpp
creating stackValue.cpp
creating stubCodeGenerator.cpp
creating stubGenerator_i486.cpp
creating stubRoutines.cpp
creating stubRoutines_i486.cpp
creating stubs.cpp
creating symbolKlass.cpp
creating symbolOop.cpp
creating symbolTable.cpp
creating synchronizer.cpp
creating systemDictionary.cpp
creating task.cpp
creating templateTable.cpp
creating templateTable_i486.cpp
creating thread.cpp
creating threadLS_linux_i486.cpp
creating threadLocalStorage.cpp
creating threadLocalEden.cpp
creating timer.cpp
creating train.cpp
creating typeArrayKlass.cpp
creating typeArrayKlassKlass.cpp
creating typeArrayOop.cpp
creating universe.cpp
creating utf8.cpp
creating verifier.cpp
creating vframe.cpp
creating virtualspace.cpp
creating vmNullPointerExc.cpp
creating vmStructs.cpp
creating vmSymbols.cpp
creating vmThread.cpp
creating vm_operations.cpp
creating vm_version_i486.cpp
creating vm_version_abs.cpp
creating vtune_linux.cpp
creating speclock.cpp
creating ciArray.cpp
creating ciArrayKlass.cpp
creating ciConstant.cpp
creating ciConstantPoolCache.cpp
creating ciEnv.cpp
creating ciExceptionHandler.cpp
creating ciField.cpp
creating ciFieldLayout.cpp
creating ciFlags.cpp
creating ciInstance.cpp
creating ciInstanceKlass.cpp
creating ciInstanceKlassKlass.cpp
creating ciKlass.cpp
creating ciKlassKlass.cpp
creating ciMethod.cpp
creating ciMethodKlass.cpp
creating ciNullObject.cpp
creating ciObjArrayKlass.cpp
creating ciObjArrayKlassKlass.cpp
creating ciObject.cpp
creating ciObjectFactory.cpp
creating ciOopMap.cpp
creating ciScope.cpp
creating ciSignature.cpp
creating ciStreams.cpp
creating ciSymbol.cpp
creating ciSymbolKlass.cpp
creating ciTypeArrayKlass.cpp
creating ciTypeArrayKlassKlass.cpp
creating ciUtilities.cpp
creating compileBroker.cpp
creating debugInfoRec.cpp
creating onStackReplacement.cpp
creating recompile.cpp
creating callProfile.cpp
creating cha.cpp
creating codeBlob.cpp
creating codeCache.cpp
creating compilationScope.cpp
creating compiledICHolderKlass.cpp
creating compiledICHolderOop.cpp
creating compilerOracle.cpp
creating debugInfo.cpp
creating icBuffer.cpp
creating icBuffer_i486.cpp
creating invocationCounter.cpp
creating pcDesc.cpp
creating recompilationMonitor.cpp
creating recompiler.cpp
creating rframe.cpp
creating threadCodeBuffer.cpp
creating sweeper.cpp
creating vframeArray.cpp
creating vframe_hp.cpp
creating c1_globals.cpp
creating compiledIC.cpp
creating deoptimization.cpp
creating inlining.cpp
creating location.cpp
creating methodTracer.cpp
creating nmethod.cpp
creating oopMap.cpp
creating scope.cpp
creating scopeDesc.cpp
creating scopeIterator.cpp
creating shared.cpp
creating shared_i486.cpp
creating vtableStubs.cpp
creating vtableStubs_i486.cpp
creating c1_Canonicalizer.cpp
creating c1_Compiler.cpp
creating c1_Miscellaneous.cpp
creating c1_Instruction.cpp
creating c1_InstructionPrinter.cpp
creating c1_IR.cpp
creating c1_GraphBuilder.cpp
creating c1_Inliner.cpp
creating c1_ValueStack.cpp
creating c1_FrameMap_i486.cpp
creating c1_FrameMap.cpp
creating c1_CodeGenerator.cpp
creating c1_CodeGenerator_i486.cpp
creating c1_CodeEmitter_i486.cpp
creating c1_CodeEmitter.cpp
creating c1_Items.cpp
creating c1_Items_i486.cpp
creating c1_Optimizer.cpp
creating c1_MacroAssembler_i486.cpp
creating c1_RegAlloc.cpp
creating c1_RegAlloc_i486.cpp
creating c1_RInfo.cpp
creating c1_RInfo_i486.cpp
creating c1_Runtime1.cpp
creating c1_Runtime1_i486.cpp
creating c1_ValueMap.cpp
creating c1_ValueType.cpp
creating c1_CodeStubs_i486.cpp
creating ciBytecodeStream.cpp
creating c1_Loops.cpp
creating c1_CacheLocals_i486.cpp
creating c1_ScanBlocks.cpp
creating c1_Compilation.cpp
creating functionAtEnd.cpp
writing grand include file
writing dependencies file
cd ../generated; cp includeDB includeDB.current
cd ../generated; cp /usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/../../build/linux/platform_i486 platform.current
gmake[2]: Entering directory `/usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/linux_i486_compiler1/jvmg'
echo '#define debug launcher_debug' >>launcher.c+
echo '#include "java.c"' >>launcher.c+
echo '#include "java_md.c"' >>launcher.c+
mv launcher.c+ launcher.c
gcc -g -c -o launcher.o launcher.c -I/usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/../../src/os/linux/launcher -I/usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/../../src/share/vm/prims -DLINUX -D_GNU_SOURCE -DIA32 -D_USE_PTHREAD_SPECIFIC -pthread -D_THREAD_SAFE -DASSERT -DDEBUG -DFASTDEBUG -I../generated/adfiles -I/usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/../../src/share/vm/asm -I/usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/../../src/share/vm/c1 -I/usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/../../src/share/vm/ci -I/usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/../../src/share/vm/code -I/usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/../../src/share/vm/compiler -I/usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/../../src/share/vm/interpreter -I/usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/../../src/share/vm/memory -I/usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/../../src/share/vm/oops -I/usr/ports/java/jdk13/work/hot!
spot1.3.1/build/linux/../../src/share/vm/prims -I/usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/../../src/share/vm/runtime -I/usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/../../src/share/vm/utilities -I/usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/../../src/cpu/i486/vm -I/usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/../../src/os/linux/vm -I/usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/../../src/os_cpu/linux_i486/vm -I../generated -I/usr/src/lib/libc_r -I/usr/src/lib/libc/include
Compiling /usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/../../src/share/vm/runtime/functionAtStart.cpp
cc1plus: note: -fwritable-strings is deprecated; see documentation for details
cc1plus: note: -fwritable-strings is deprecated; see documentation for details
Compiling /usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/../../src/share/vm/utilities/accessFlags.cpp
cc1plus: note: -fwritable-strings is deprecated; see documentation for details
cc1plus: note: -fwritable-strings is deprecated; see documentation for details
Compiling /usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/../../src/share/vm/memory/ageTable.cpp
cc1plus: note: -fwritable-strings is deprecated; see documentation for details
cc1plus: note: -fwritable-strings is deprecated; see documentation for details
Compiling /usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/../../src/share/vm/memory/allocation.cpp
cc1plus: note: -fwritable-strings is deprecated; see documentation for details
cc1plus: note: -fwritable-strings is deprecated; see documentation for details
In file included from ../generated/incls/_allocation.cpp.incl:109,
from /usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/../../src/share/vm/memory/allocation.cpp:18:
/usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/../../src/share/vm/runtime/mutex.hpp:58: error: `void Mutex::set_owner_implementation(Thread*)' is protected
/usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/../../src/share/vm/runtime/thread.hpp:269: error: within this context
gmake[2]: *** [allocation.o] Error 1
gmake[2]: Leaving directory `/usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/linux_i486_compiler1/jvmg'
gmake[1]: *** [the_vm] Error 2
gmake[1]: Leaving directory `/usr/ports/java/jdk13/work/hotspot1.3.1/build/linux/linux_i486_compiler1/jvmg'
gmake: *** [jvmg1] Error 2
*** Error code 2
Stop in /usr/ports/java/jdk13.
>How-To-Repeat:
Build with -DWITH_HOTSPOT
>Fix:
It _is_ dirty but makes hotspot to compile fine. I am not a programmer, sorry.
--- hotspotdiffs begins here ---
diff -aruN ../jdk13.orig/Makefile ./Makefile
--- ../jdk13.orig/Makefile Wed Sep 8 13:00:18 2004
+++ ./Makefile Wed Sep 8 13:01:05 2004
@@ -58,7 +58,8 @@
SYS_CFLAGS="${CFLAGS}" \
CLASSPATH="" \
LD_LIBRARY_PATH="" \
- JAVA_COMPILER=""
+ JAVA_COMPILER="" \
+ MAKEFLAGS=""
.if !defined(WITHOUT_PLUGIN)
MAKE_ENV += LIBG_HDRS="${LOCALBASE}/include/glib12" \
GTK_HDRS="${X11BASE}/include/gtk12" \
diff -aruN ../jdk13.orig/work/hotspot1.3.1/build/linux/makefiles/gcc.make ./work/hotspot1.3.1/build/linux/makefiles/gcc.make
--- ../jdk13.orig/work/hotspot1.3.1/build/linux/makefiles/gcc.make Wed Sep 8 16:07:20 2004
+++ ./work/hotspot1.3.1/build/linux/makefiles/gcc.make Wed Sep 8 16:13:05 2004
@@ -37,7 +37,7 @@
#####
#harmless
-OPT_CFLAGS += -fmemoize-lookups
+#OPT_CFLAGS += -fmemoize-lookups
#unneeded
#OPT_CFLAGS += -fpeephole
#bad
diff -aruN ../jdk13.orig/work/hotspot1.3.1/build/linux/makefiles/gcc31.make ./work/hotspot1.3.1/build/linux/makefiles/gcc31.make
--- ../jdk13.orig/work/hotspot1.3.1/build/linux/makefiles/gcc31.make Wed Sep 8 16:07:27 2004
+++ ./work/hotspot1.3.1/build/linux/makefiles/gcc31.make Wed Sep 8 16:13:42 2004
@@ -109,7 +109,7 @@
#####
#harmless
-OPT_CFLAGS += -fmemoize-lookups
+#OPT_CFLAGS += -fmemoize-lookups
#unneeded
#OPT_CFLAGS += -fpeephole
#bad
diff -aruN ../jdk13.orig/work/hotspot1.3.1/build/linux/makefiles/gcc32.make ./work/hotspot1.3.1/build/linux/makefiles/gcc32.make
--- ../jdk13.orig/work/hotspot1.3.1/build/linux/makefiles/gcc32.make Wed Sep 8 16:07:35 2004
+++ ./work/hotspot1.3.1/build/linux/makefiles/gcc32.make Wed Sep 8 16:13:55 2004
@@ -109,7 +109,7 @@
#####
#harmless
-OPT_CFLAGS += -fmemoize-lookups
+#OPT_CFLAGS += -fmemoize-lookups
#unneeded
#OPT_CFLAGS += -fpeephole
#bad
diff -aruN ../jdk13.orig/work/hotspot1.3.1/src/share/vm/memory/scavenge.hpp ./work/hotspot1.3.1/src/share/vm/memory/scavenge.hpp
--- ../jdk13.orig/work/hotspot1.3.1/src/share/vm/memory/scavenge.hpp Wed Sep 8 15:06:18 2004
+++ ./work/hotspot1.3.1/src/share/vm/memory/scavenge.hpp Wed Sep 8 15:07:36 2004
@@ -121,8 +121,10 @@
static void compute_scavenge_functions();
+ public:
// Scavenge entry point called from VM operation
static void invoke_at_safepoint(int size_to_be_allocated, bool deferred, bool& notify_ref_lock);
+ private:
// Cheney scan
static void evacuate_followers();
diff -aruN ../jdk13.orig/work/hotspot1.3.1/src/share/vm/runtime/mutex.hpp ./work/hotspot1.3.1/src/share/vm/runtime/mutex.hpp
--- ../jdk13.orig/work/hotspot1.3.1/src/share/vm/runtime/mutex.hpp Wed Sep 8 14:12:51 2004
+++ ./work/hotspot1.3.1/src/share/vm/runtime/mutex.hpp Wed Sep 8 14:13:55 2004
@@ -55,7 +55,9 @@
debug_only(Thread* _last_owner;) // the last thread to own the lock
#endif
+ public:
void set_owner_implementation(Thread* owner) PRODUCT_RETURN;
+ protected:
void trace (const char* operation) PRODUCT_RETURN;
void check_prelock_state (Thread* thread) PRODUCT_RETURN;
void check_block_state (Thread* thread) PRODUCT_RETURN;
--- hotspotdiffs ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-java
mailing list