Build breakage
Mikael Gerdin
mikael.gerdin at oracle.com
Mon May 28 08:31:38 PDT 2012
Andrew,
I filed 7172226
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7172226 (not
available yet)
See below for the patch.
On 2012-05-28 15:34, Andrew Hughes wrote:
>
>
> ----- Original Message -----
>> Hi Andrew,
>>
>> On 2012-05-28 14:57, Andrew Hughes wrote:
>>> I'm trying to build a patch against the build forest
>>> (http://hg.openjdk.java.net/jdk8/build/) and the HotSpot build
>>> is broken in the current checkout:
>>>
>>> /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:
>>> In instantiation of 'TreeList<Chunk>*
>>> TreeList<Chunk>::remove_chunk_replace_if_needed(TreeChunk<Chunk>*)
>>> [with Chunk = FreeChunk]':
>>> /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1342:16:
>>> required from here
>>> /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:173:7:
>>> error: 'link_tail' was not declared in this scope, and no
>>> declarations were found by argument-dependent lookup at the point
>>> of instantiation [-fpermissive]
(...)
>>> /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:928:7:
>>> note: declarations in dependent base
>>> 'TreeCensusClosure<FreeChunk>' are not found by unqualified lookup
>>> /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:928:7:
>>> note: use 'this->do_list' instead
>>>
>>> This is with GCC 4.7, exact same build as I do for 7u which works
>>> fine.
>>>
>>> ALT_BOOTDIR points to:
>>>
>>> java version "1.7.0_03-icedtea"
>>> OpenJDK Runtime Environment (IcedTea7 2.1) (Gentoo build
>>> 1.7.0_03-icedtea-b147)
>>> OpenJDK 64-Bit Server VM (build 22.0-b10, mixed mode)
>>>
>>> Settings:
>>>
>>> ANT_RESPECT_JAVA_HOME=true LANG=C make
>>> ALT_BOOTDIR=${SYSTEM_ICEDTEA7} \
>>> ALT_OUTPUTDIR=${WORKING_DIR}/${BUILD_DIR} \
>>> ALT_PARALLEL_COMPILE_JOBS=$PARALLEL_JOBS \
>>> ALT_DROPS_DIR=${DROPS_DIR} \
>>> HOTSPOT_BUILD_JOBS=$PARALLEL_JOBS \
>>> ANT=/usr/bin/ant \
>>> QUIETLY="" \
>>> DEBUG_BINARIES="true" \
>>> DEBUG_CLASSFILES="true" \
>>> NO_DOCS="true" \
>>> OTHER_JAVACFLAGS="-Xmaxwarns 10000" \
>>> ${WARNINGS} STATIC_CXX=false \
>>> STRIP_POLICY=no_strip
>>>
>>> I think this may be related to:
>>>
>>> $ hg log -R hotspot -k 7164144
>>> changeset: 3297:f69a5d43dc19
>>> parent: 3295:9f059abe8cf2
>>> user: jmasa
>>> date: Wed Apr 25 09:55:55 2012 -0700
>>> summary: 7164144: Fix variable naming style in
>>> freeBlockDictionary.* and binaryTreeDictionary*
>>>
>>> which is in hotspot-comp, hotspot-rt& build, but not 7u.
>>>
>>> Any ideas?
>>
>> I've seen this when I tried building with GCC 4.7 as well.
>> This problem comes from 9f059abe8cf2, "Generalize the CMS free list
>> code" which introduced some templates.
>> It appears that GCC 4.7 is more strict when doing argument dependent
>> lookup than 4.6.
>> The fix is to do just what gcc suggests and use this->* or use the
>> qualified name of the function, for example
>> TreeList<Chunk>::link_tail
>> in the first failure. As you can see there are already some places in
>> that code which use the fully qualified name.
>>
>> I just discovered that I had a patch that fixes most of these issues
>> in
>> binaryTreeDictionary so I'll go ahead and file a CR for this.
>>
>> Regards
>> /mg
>>
>
> Thanks Mikael. If you could post the patch, it would be much appreciated.
> I can't build OpenJDK8 at present.
I've uploaded my fix (only build tested) to
http://cr.openjdk.java.net/~mgerdin/7172226/webrev.0/
/mg
>
>> --
>> Mikael Gerdin
>> Java SE VM SQE Stockholm
>>
>
--
Mikael Gerdin
Java SE VM SQE Stockholm
More information about the hotspot-dev
mailing list