Build failure with new functions introduced in fix for 4957990
Andrew John Hughes
gnu_andrew at member.fsf.org
Mon Sep 21 15:39:10 PDT 2009
This changeset:
http://hg.openjdk.java.net/jdk7/jdk7/hotspot/rev/8b46c4d82093
was promoted as part of b72 and fixes
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4957990. It's nice
to see a long-running bug being resolved, but unfortunately I've run
into an issue with the fix.
In markSweep.hpp and psParallelCompact.hpp, two new functions are introduced:
+ static void follow_mdo_weak_refs();
+ static void revisit_mdo(ParCompactionManager* cm, DataLayout* p);
However, in markSweep.cpp and psParallelCompact.cpp, these are only
implemented conditionally:
+#if ( defined(COMPILER1) || defined(COMPILER2) )
+void MarkSweep::revisit_mdo(DataLayout* p) {
+ _revisit_mdo_stack->push(p);
+}
+
etc...
If neither COMPILER1 nor COMPILER2 are defined (as is the case with
building Gary Benson's zero port:
http://mail.openjdk.java.net/pipermail/hotspot-dev/2009-August/001957.html
for example), then the build now fails:
Linking launcher...
/mnt/builder/icedtea/hotspot/outputdir/linux_zero_core/product/libjvm.so:
undefined reference to
`PSParallelCompact::revisit_mdo(ParCompactionManager*, DataLayout*)'
/mnt/builder/icedtea/hotspot/outputdir/linux_zero_core/product/libjvm.so:
undefined reference to `MarkSweep::revisit_mdo(DataLayout*)'
/mnt/builder/icedtea/hotspot/outputdir/linux_zero_core/product/libjvm.so:
undefined reference to `MarkSweep::follow_mdo_weak_refs()'
/mnt/builder/icedtea/hotspot/outputdir/linux_zero_core/product/libjvm.so:
undefined reference to `PSParallelCompact::follow_mdo_weak_refs()'
collect2: ld returned 1 exit status
The obvious fix that springs to mind is to add an #else block that
implements these with ShouldNotCallThis() as in this webrev:
http://cr.openjdk.java.net/~andrew/hotspot/webrev.01/
but I'm not sure if that's the correct fix.
Any ideas?
Thanks,
--
Andrew :-)
Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)
Support Free Java!
Contribute to GNU Classpath and the OpenJDK
http://www.gnu.org/software/classpath
http://openjdk.java.net
PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8
More information about the hotspot-dev
mailing list