[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: GCC 3.2 on the NetBSD/i386 port



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 <lucifer@lightbearer.com> 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?
> 
> root@thenet:/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



Reply to: