Trying to build gcc trunk with java on current cygwin (with snapshot
20111211, I get a strange Boehm Garbage Collector problem, first
manifesting itself like this:

dlltool -d /usr/local/src/trunk/gcc/libjava/libgcj-noncore-dummy.def
-l libgcj-noncore-dummy.dll.a --dllname cyggcj-noncore-`expr \`grep -v
'^#' /usr/local/src/trunk/gcc/libjava/libtool-version | sed -e
's/\(.*\):\(.*\):.*/\1 + \2/'\``.dll
/bin/sh ./libtool --tag=CXX  --mode=link
/usr/local/src/trunk/objdir.withjava/./gcc/xgcc -shared-libgcc
-B/usr/local/src/trunk/objdir.withjava/./gcc -nostdinc++
-L/usr/local/src/trunk/objdir.withjava/i686-pc-cygwin/libstdc++-v3/src
-L/usr/local/src/trunk/objdir.withjava/i686-pc-cygwin/libstdc++-v3/src/.libs
-B/usr/i686-pc-cygwin/bin/ -B/usr/i686-pc-cygwin/lib/ -isystem
/usr/i686-pc-cygwin/include -isystem /usr/i686-pc-cygwin/sys-include
 -L/usr/local/src/trunk/objdir.withjava/i686-pc-cygwin/libjava
-ffloat-store -fomit-frame-pointer -Usun -g -O2  -liconv  -o libgcj.la
-rpath /usr/lib/gcc/i686-pc-cygwin/4.7.0   -lrt  ./libltdl/libltdlc.la
 -no-undefined -bindir "/usr/bin"
-Wl,-u,__ZN3org4ietf4jgss10GSSManagerC1Ev,-L..,-lgcj-noncore-dummy
-version-info `grep -v '^#'
/usr/local/src/trunk/gcc/libjava/libtool-version`
-Wl,-Bsymbolic-functions   -rpath /usr/lib/gcc/i686-pc-cygwin/4.7.0
prims.lo jni.lo exception.lo stacktrace.lo  link.lo defineclass.lo
verify.lo jvmti.lo interpret.lo  gnu/classpath/jdwp/natVMFrame.lo
gnu/classpath/jdwp/natVMMethod.lo
gnu/classpath/jdwp/natVMVirtualMachine.lo
gnu/classpath/natConfiguration.lo
gnu/classpath/natSystemProperties.lo
gnu/classpath/natVMStackWalker.lo gnu/gcj/natCore.lo
gnu/gcj/convert/JIS0208_to_Unicode.lo
gnu/gcj/convert/JIS0212_to_Unicode.lo
gnu/gcj/convert/Unicode_to_JIS.lo gnu/gcj/convert/natIconv.lo
gnu/gcj/convert/natInput_EUCJIS.lo  gnu/gcj/convert/natInput_SJIS.lo
gnu/gcj/convert/natOutput_EUCJIS.lo  gnu/gcj/convert/natOutput_SJIS.lo
 gnu/gcj/io/natSimpleSHSStream.lo gnu/gcj/io/shs.lo
gnu/gcj/jvmti/natBreakpoint.lo  gnu/gcj/jvmti/natNormalBreakpoint.lo
gnu/gcj/runtime/natFinalizerThread.lo
gnu/gcj/runtime/natSharedLibLoader.lo
gnu/gcj/runtime/natSystemClassLoader.lo
gnu/gcj/runtime/natStringBuffer.lo gnu/gcj/util/natDebug.lo
gnu/gcj/util/natGCInfo.lo gnu/java/lang/natMainThread.lo
gnu/java/lang/management/natVMClassLoadingMXBeanImpl.lo
gnu/java/lang/management/natVMCompilationMXBeanImpl.lo
gnu/java/lang/management/natVMGarbageCollectorMXBeanImpl.lo
gnu/java/lang/management/natVMMemoryMXBeanImpl.lo
gnu/java/lang/management/natVMMemoryManagerMXBeanImpl.lo
gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.lo
gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.lo
gnu/java/lang/management/natVMRuntimeMXBeanImpl.lo
gnu/java/lang/management/natVMThreadMXBeanImpl.lo
gnu/java/net/natPlainDatagramSocketImpl.lo
gnu/java/net/natPlainSocketImpl.lo
gnu/java/net/protocol/core/natCoreInputStream.lo
gnu/java/nio/natVMPipe.lo gnu/java/nio/natVMSelector.lo
gnu/java/nio/natNIOServerSocket.lo  gnu/java/nio/natVMChannel.lo
gnu/java/nio/channels/natFileChannelImpl.lo
gnu/java/security/jce/prng/natVMSecureRandom.lo  java/io/natFile.lo
java/io/natVMObjectInputStream.lo  java/io/natVMObjectStreamClass.lo
java/lang/natCharacter.lo  java/lang/natClass.lo
java/lang/natClassLoader.lo  java/lang/natConcreteProcess.lo
java/lang/natVMDouble.lo  java/lang/natVMFloat.lo java/lang/natMath.lo
 java/lang/natObject.lo java/lang/natRuntime.lo
java/lang/natString.lo java/lang/natAbstractStringBuffer.lo
java/lang/natSystem.lo java/lang/natThread.lo
java/lang/natThreadLocal.lo java/lang/natVMClassLoader.lo
java/lang/natVMProcess.lo java/lang/natVMThrowable.lo
java/lang/ref/natReference.lo java/lang/reflect/natArray.lo
java/lang/reflect/natConstructor.lo  java/lang/reflect/natField.lo
java/lang/reflect/natMethod.lo  java/lang/reflect/natVMProxy.lo
java/net/natVMInetAddress.lo  java/net/natVMNetworkInterface.lo
java/net/natVMURLConnection.lo  java/nio/channels/natVMChannels.lo
java/nio/natVMDirectByteBufferImpl.lo
java/security/natVMAccessController.lo
java/security/natVMAccessControlState.lo  java/text/natCollator.lo
java/util/natVMTimeZone.lo
java/util/concurrent/atomic/natAtomicLong.lo
java/util/logging/natLogger.lo java/util/zip/natDeflater.lo
java/util/zip/natInflater.lo sun/misc/natUnsafe.lo boehm.lo   posix.lo
   posix-threads.lo   classpath/native/fdlibm/libfdlibm.la
java/lang/Object.lo  java/lang/Class.lo  java/process-Posix.lo
gnu/classpath.lo gnu/classpath/debug.lo gnu/classpath/toolkit.lo
gnu/gcj.lo gnu/gcj/convert.lo gnu/gcj/runtime.lo gnu/gcj/util.lo
gnu/java/awt.lo gnu/java/awt/color.lo gnu/java/awt/java2d.lo
gnu/java/awt/peer.lo gnu/java/awt/peer/headless.lo gnu/java/io.lo
gnu/java/lang.lo gnu/java/lang/reflect.lo gnu/java/locale.lo
gnu/java/net.lo gnu/java/net/loader.lo gnu/java/net/protocol/core.lo
gnu/java/net/protocol/file.lo gnu/java/net/protocol/http.lo
gnu/java/net/protocol/jar.lo gnu/java/nio.lo gnu/java/nio/channels.lo
gnu/java/nio/charset.lo gnu/java/rmi.lo gnu/java/rmi/activation.lo
gnu/java/rmi/dgc.lo gnu/java/rmi/registry.lo gnu/java/rmi/server.lo
gnu/java/security.lo gnu/java/security/action.lo
gnu/java/security/ber.lo gnu/java/security/der.lo
gnu/java/security/hash.lo gnu/java/security/jce/hash.lo
gnu/java/security/jce/prng.lo gnu/java/security/jce/sig.lo
gnu/java/security/key.lo gnu/java/security/key/dss.lo
gnu/java/security/key/rsa.lo gnu/java/security/pkcs.lo
gnu/java/security/prng.lo gnu/java/security/provider.lo
gnu/java/security/sig.lo gnu/java/security/sig/dss.lo
gnu/java/security/sig/rsa.lo gnu/java/security/util.lo
gnu/java/security/x509.lo gnu/java/security/x509/ext.lo
gnu/java/text.lo gnu/java/util.lo gnu/java/util/jar.lo
gnu/java/util/prefs.lo gnu/java/util/regex.lo gnu/javax/crypto.lo
gnu/javax/crypto/assembly.lo gnu/javax/crypto/cipher.lo
gnu/javax/crypto/jce.lo gnu/javax/crypto/jce/cipher.lo
gnu/javax/crypto/jce/key.lo gnu/javax/crypto/jce/keyring.lo
gnu/javax/crypto/jce/mac.lo gnu/javax/crypto/jce/params.lo
gnu/javax/crypto/jce/prng.lo gnu/javax/crypto/jce/sig.lo
gnu/javax/crypto/jce/spec.lo gnu/javax/crypto/key.lo
gnu/javax/crypto/key/dh.lo gnu/javax/crypto/key/srp6.lo
gnu/javax/crypto/keyring.lo gnu/javax/crypto/kwa.lo
gnu/javax/crypto/mac.lo gnu/javax/crypto/mode.lo
gnu/javax/crypto/pad.lo gnu/javax/crypto/prng.lo
gnu/javax/crypto/sasl.lo gnu/javax/crypto/sasl/anonymous.lo
gnu/javax/crypto/sasl/crammd5.lo gnu/javax/crypto/sasl/plain.lo
gnu/javax/crypto/sasl/srp.lo gnu/javax/net/ssl.lo
gnu/javax/net/ssl/provider.lo gnu/javax/security/auth.lo
gnu/javax/security/auth/callback.lo gnu/javax/swing/text/html.lo
gnu/javax/swing/text/html/css.lo
gnu/javax/swing/text/html/parser/GnuParserDelegator.lo
gnu/javax/swing/text/html/parser/HTML_401F.lo
gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet.lo
gnu/javax/swing/text/html/parser/gnuDTD.lo
gnu/javax/swing/text/html/parser/htmlAttributeSet.lo
gnu/javax/swing/text/html/parser/htmlValidator.lo
gnu/javax/swing/text/html/parser/models.lo
gnu/javax/swing/text/html/parser/support.lo
gnu/javax/swing/text/html/parser/support/low.lo
gnu/javax/swing/tree.lo java/applet.lo java/awt.lo java/awt/color.lo
java/awt/datatransfer.lo java/awt/dnd.lo java/awt/dnd/peer.lo
java/awt/event.lo java/awt/font.lo java/awt/geom.lo java/awt/image.lo
java/awt/image/renderable.lo java/awt/peer.lo java/beans.lo
java/beans/beancontext.lo java/io.lo java/lang.lo
java/lang/annotation.lo java/lang/instrument.lo java/lang/ref.lo
java/lang/reflect.lo java/math.lo java/net.lo java/nio.lo
java/nio/channels.lo java/nio/channels/spi.lo java/nio/charset.lo
java/nio/charset/spi.lo java/rmi.lo java/rmi/activation.lo
java/rmi/dgc.lo java/rmi/registry.lo java/rmi/server.lo
java/security.lo java/security/cert.lo java/security/interfaces.lo
java/security/spec.lo java/text.lo java/text/spi.lo java/util.lo
java/util/concurrent.lo java/util/concurrent/atomic.lo
java/util/concurrent/locks.lo java/util/jar.lo java/util/logging.lo
java/util/prefs.lo java/util/regex.lo java/util/spi.lo
java/util/zip.lo javax/accessibility.lo javax/crypto.lo
javax/crypto/interfaces.lo javax/crypto/spec.lo javax/net.lo
javax/net/ssl.lo javax/security/auth.lo
javax/security/auth/callback.lo javax/security/auth/x500.lo
javax/security/sasl.lo javax/sound/sampled.lo
javax/sound/sampled/spi.lo javax/swing.lo javax/swing/border.lo
javax/swing/colorchooser.lo javax/swing/event.lo
javax/swing/filechooser.lo javax/swing/plaf.lo
javax/swing/plaf/basic.lo javax/swing/plaf/metal.lo
javax/swing/table.lo javax/swing/text.lo javax/swing/text/html.lo
javax/swing/text/html/parser.lo javax/swing/tree.lo
javax/swing/undo.lo sun/misc.lo sun/reflect.lo
sun/reflect/annotation.lo sun/reflect/misc.lo gnu/classpath/jdwp.lo
gnu/classpath/jdwp/event.lo gnu/classpath/jdwp/event/filters.lo
gnu/classpath/jdwp/exception.lo gnu/classpath/jdwp/id.lo
gnu/classpath/jdwp/processor.lo gnu/classpath/jdwp/transport.lo
gnu/classpath/jdwp/util.lo gnu/classpath/jdwp/value.lo
gnu/gcj/jvmti.lo gnu-java-beans.lo gnu-java-math.lo
gnu-java-util-prefs-gconf.lo javax-xml.lo org-w3c.lo
../libffi/libffi_convenience.la ../zlib/libzgcj_convenience.la
../boehm-gc/libgcjgc_convenience.la
libtool: link:  /usr/local/src/trunk/objdir.withjava/./gcc/xgcc
-shared-libgcc -B/usr/local/src/trunk/objdir.withjava/./gcc
-nostdinc++ 
-L/usr/local/src/trunk/objdir.withjava/i686-pc-cygwin/libstdc++-v3/src
-L/usr/local/src/trunk/objdir.withjava/i686-pc-cygwin/libstdc++-v3/src/.libs
-B/usr/i686-pc-cygwin/bin/ -B/usr/i686-pc-cygwin/lib/ -isystem
/usr/i686-pc-cygwin/include -isystem /usr/i686-pc-cygwin/sys-include
 -shared -nostdlib
/usr/local/src/trunk/objdir.withjava/./gcc/crtbegin.o
.libs/libgcj.la.lnkscript -Wl,--whole-archive
./libltdl/.libs/libltdlc.a classpath/native/fdlibm/.libs/libfdlibm.a
../libffi/.libs/libffi_convenience.a
../zlib/.libs/libzgcj_convenience.a
../boehm-gc/.libs/libgcjgc_convenience.a -Wl,--no-whole-archive
-L/usr/local/src/trunk/objdir.withjava/i686-pc-cygwin/libstdc++-v3/src
-L/usr/local/src/trunk/objdir.withjava/i686-pc-cygwin/libstdc++-v3/src/.libs
-L/usr/local/src/trunk/objdir.withjava/i686-pc-cygwin/libjava
/usr/lib/libiconv.dll.a -lrt -ldl
-L/usr/local/src/trunk/objdir.withjava/./gcc -L/usr/i686-pc-cygwin/bin
-lgcc_s -lgcc -lcygwin -ladvapi32 -lshell32 -luser32 -lkernel32
-lgcc_s -lgcc /usr/local/src/trunk/objdir.withjava/./gcc/crtend.o
-Wl,-u -Wl,__ZN3org4ietf4jgss10GSSManagerC1Ev -Wl,-L..
-Wl,-lgcj-noncore-dummy -Wl,-Bsymbolic-functions   -o
.libs/cyggcj-13.dll -Wl,--enable-auto-image-base -Xlinker --out-implib
-Xlinker .libs/libgcj.dll.a
Creating library file: .libs/libgcj.dll.a.libs/boehm.o: In function
`Z18_Jv_GCAttachThreadv':
/usr/local/src/trunk/gcc/libjava/boehm.cc:751: undefined reference to
`GC_register_my_thread'
.libs/boehm.o: In function `Z18_Jv_GCDetachThreadv':
/usr/local/src/trunk/gcc/libjava/boehm.cc:759: undefined reference to
`GC_unregister_my_thread'
collect2: error: ld returned 1 exit status

Makefile:9294: recipe for target `libgcj.la' failed
make[3]: *** [libgcj.la] Error 1
make[3]: Leaving directory
`/usr/local/src/trunk/objdir.withjava/i686-pc-cygwin/libjava'
Makefile:10205: recipe for target `all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
`/usr/local/src/trunk/objdir.withjava/i686-pc-cygwin/libjava'
Makefile:16443: recipe for target `all-target-libjava' failed
make[1]: *** [all-target-libjava] Error 2
make[1]: Leaving directory `/usr/local/src/trunk/objdir.withjava'
Makefile:898: recipe for target `all' failed
make: *** [all] Error 2

Now; I see a few other instances where a GC warning is issued, such as these:

find asm classes -type d -exec chmod u+w \{\} \;
if [ -d asm/.svn ]; then \
  find asm classes -depth -type d -name .svn -exec rm -rf \{\} \;; \
fi
(cd classes; \
gjar cf ../tools.zip .; \
cd ..)
GC Warning: Thread stack pointer 0xfff3c924 out of range, pushing everything
Exception in thread "main" java.lang.NoClassDefFoundError: loaded
class gnu.classpath.tools.jar.messages was in fact named
gnu.classpath.tools.jar.Messages
   at java.lang.VMClassLoader.defineClass(Unknown Source)
   at java.lang.ClassLoader.defineClass(Unknown Source)
   at java.security.SecureClassLoader.defineClass(Unknown Source)
   at java.net.URLClassLoader.findClass(Unknown Source)
   at java.lang.ClassLoader.loadClass(Unknown Source)
   at java.lang.ClassLoader.loadClass(Unknown Source)
   at java.util.ResourceBundle.tryBundle(Unknown Source)
   at java.util.ResourceBundle.tryBundle(Unknown Source)
   at java.util.ResourceBundle.getBundle(Unknown Source)
   at java.util.ResourceBundle.getBundle(Unknown Source)
   at gnu.classpath.tools.jar.Messages.<clinit>(Unknown Source)
   at java.lang.Class.initializeClass(Unknown Source)
   at gnu.classpath.tools.jar.Messages.getString(Unknown Source)
   at gnu.classpath.tools.jar.Main.initializeParser(Unknown Source)
   at gnu.classpath.tools.jar.Main.run(Unknown Source)
   at gnu.classpath.tools.jar.Main.main(Unknown Source)
(cd asm; \
gjar uf ../tools.zip .; \
cd ..)
GC Warning: Thread stack pointer 0xfff3c924 out of range, pushing everything
GC Warning: Thread stack pointer 0xfff3c924 out of range, pushing everything
GC Warning: Thread stack pointer 0xfff3c924 out of range, pushing everything
jar: internal error:
java.util.zip.ZipException: ../tools.zip (No such file or directory)
   at java.lang.Throwable.<init>(Unknown Source)
   at java.lang.Exception.<init>(Unknown Source)
   at java.io.IOException.<init>(Unknown Source)
   at java.util.zip.ZipFile.openFile(Unknown Source)
   at java.util.zip.ZipFile.<init>(Unknown Source)
   at java.util.jar.JarFile.<init>(Unknown Source)
   at java.util.jar.JarFile.<init>(Unknown Source)
   at gnu.classpath.tools.jar.Updater.run(Unknown Source)
   at gnu.classpath.tools.jar.Main.run(Unknown Source)
   at gnu.classpath.tools.jar.Main.main(Unknown Source)
Caused by: java.io.FileNotFoundException: ../tools.zip (No such file
or directory)
   at gnu.java.nio.channels.FileChannelImpl.open(Unknown Source)
   at gnu.java.nio.channels.FileChannelImpl.<init>(Unknown Source)
   at gnu.java.nio.channels.FileChannelImpl.create(Unknown Source)
   at java.io.RandomAccessFile.<init>(Unknown Source)
   ...7 more
rm -rf asm classes classes.lst asm.lst
make  all-am

Now, this is on

Windows 7 Enterprise/SP1 cygwin Intel(R) Core(TM)2 Duo CPU T9600@2.80GHz with:

binutils             2.22.51-1
cygwin               20111211 snapshot
dejagnu              20021217-2
expect               20030128-1
gmp                  4.3.2-1
libgmp-devel         4.3.2-1
libmpfr-devel        3.0.1-1
make                 3.82.90-1
mpfr                 3.0.1-1
tcltk                20080420-1
w32api               3.17-2

and gcc (Mon Dec 12 05:58:38 UTC 2011 (revision 182218)) was
configured like this:

  $ /usr/local/src/trunk/gcc/configure --prefix=/usr
--exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin
--localstatedir=/var --sysconfdir=/etc --datarootdir=/usr/share
--docdir=/usr/share/doc/gcc4 -C --datadir=/usr/share
--infodir=/usr/share/info --mandir=/usr/share/man -v --with-gmp=/usr
--with-mpfr=/usr --enable-bootstrap
--enable-version-specific-runtime-libs --libexecdir=/usr/lib
--enable-static --enable-shared --enable-shared-libgcc
--disable-__cxa_atexit --with-gnu-ld --with-gnu-as --with-dwarf2
--disable-sjlj-exceptions --enable-graphite --enable-lto
--enable-java-awt=gtk --disable-symvers --enable-libjava
--program-suffix=-4 --enable-libgomp --enable-libssp
--enable-threads=posix --with-arch=i686 --with-tune=generic
--enable-libgcj-sublibs --enable-libada CC=gcc-4 CXX=g++-4
CC_FOR_TARGET=gcc-4 CXX_FOR_TARGET=g++-4 GNATMAKE_FOR_TARGET=gnatmake
GNATBIND_FOR_TARGET=gnatbind --with-ecj-jar=/usr/share/java/ecj.jar
--enable-languages=c,ada,c++,fortran,java,lto,objc,obj-c++

Any ideas on what I might be doing wrong here?

-- 
Cheers,

/ChJ

Reply via email to