On Mon, Sep 02, 2002 at 03:35:11PM -0600, Joel Baker wrote: > On Mon, Sep 02, 2002 at 10:23:40PM +0200, Martin v. Loewis wrote: > > Joel Baker <[EMAIL PROTECTED]> writes: > > > > > > /tmp/Build/gcc-3.2/gcc-3.2-3.2ds0/build/i386-unknown-netbsdelf1.6./libstdc++-v3/src/.libs/libstdc++.so: > > > > undefined reference to `__dso_handle' > > > > /tmp/Build/gcc-3.2/gcc-3.2-3.2ds0/build/i386-unknown-netbsdelf1.6./libstdc++-v3/src/.libs/libstdc++.so: > > > > undefined reference to `__cxa_atexit' > > > > collect2: ld returned 1 exit status > > [...] > > > So. Given that this clearly appears to be a workaround, that this was in > > > 3.0 or 3.1, and that it must have been removed for good reason (like, it > > > was itself a workaround to a different flaw) - what is the best way to > > > address this? Is there something in userland that can be tweaked to cope > > > with this, or is this an issue with using NetBSD's libc? > > > > It isn't that easy to answer. Are these messages from the static > > linker (ld(1)) or the dynamic linker (ld.so.1(1))? If the static > > linker, what binutils version? > > I believe they're from the dynamic linker (ld.elf_so), in this case. > > > We have to consider __dso_handle and __cxa_atexit separately. For > > __dso_handle, can you tell whether HAVE_GAS_HIDDEN is defined? > > [EMAIL PROTECTED]:/tmp/Build/gcc-3.2-HOLD/gcc-3.2-3.2ds0/src# find . -type f > | xargs grep HAVE_GAS_HIDDEN > ... > ./gcc/config/cris/cris.h:#define HAVE_GAS_HIDDEN 1 > > (All of the others are .in files for autoconf, ChangeLog entries, or > #ifdef macros in various .c files)
Autoconf sets it. You need to check in the build tree whether it is set or not. If you're using too old a binutils this could fail, or if there is some problem with your tools or the test... -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer