>From address@hidden Thu Jan 24 18:29:32 2002 Return-Path: Delivered-To: address@hidden Received: (qmail 13699 invoked by uid 0); 24 Jan 2002 18:29:32 -0000 Received: from unknown (HELO ocean.lucon.org) (unknown) by unknown with SMTP; 24 Jan 2002 18:29:32 -0000 Received: by ocean.lucon.org (Postfix, from userid 1000) id B64C9125C0; Thu, 24 Jan 2002 10:29:32 -0800 (PST) Date: Thu, 24 Jan 2002 10:29:32 -0800 From: "H . J . Lu" To: Carlo Wood Cc: GNU C Library , address@hidden Subject: Re: Symbol versioning problem? Different versions of same symbol being called. Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: ; from address@hidden on Thu, Jan 24, 2002 at 07:25:23PM +0100 On Thu, Jan 24, 2002 at 07:25:23PM +0100, Carlo Wood wrote: > > 4) Linking semwrapper.o --> libcwd.so.0.99.16 libcwd.so > ======================================================= > > # mv -f semwrapper.o semwrapper.lo > # gcc-3.0.3 -shared threading.lo elf32.lo bfd.lo debug.lo debugmalloc.lo demangle.lo demangle3.lo semwrapper.lo strerrno.lo type_info.lo -Wl,--whole-archive utils/.libs/libutils.al -Wl,--no-whole-archive utils/.libs/libutils.al -ldl -Wl,-soname -Wl,libcwd.so.0 -o .libs/libcwd.so.0.99.16 -v -save-temps > Reading specs from /usr/local/gcc-3.0.3/lib/gcc-lib/i686-pc-linux-gnu/3.0.3/specs > Configured with: /usr/src/gcc/gcc-3.0.3/configure --prefix=/usr/local/gcc-3.0.3 --enable-shared --with-gnu-as --with-gnu-ld --enable-languages=c++ --enable-debug --enable-threads > Thread model: posix > gcc version 3.0.3 > /usr/local/gcc-3.0.3/lib/gcc-lib/i686-pc-linux-gnu/3.0.3/collect2 -m elf_i386 -shared -o .libs/libcwd.so.0.99.16 /usr/lib/crti.o /usr/local/gcc-3.0.3/lib/gcc-lib/i686-pc-linux-gnu/3.0.3/crtbeginS.o -L/usr/local/gcc-3.0.3/lib/gcc-lib/i686-pc-linux-gnu/3.0.3 -L/usr/local/gcc-3.0.3/lib/gcc-lib/i686-pc-linux-gnu/3.0.3/../../.. -rpath /usr/local/gcc-3.0.3/lib: threading.lo elf32.lo bfd.lo debug.lo debugmalloc.lo demangle.lo demangle3.lo semwrapper.lo strerrno.lo type_info.lo --whole-archive utils/.libs/libutils.al --no-whole-archive utils/.libs/libutils.al -ldl -soname libcwd.so.0 -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/local/gcc-3.0.3/lib/gcc-lib/i686-pc-linux-gnu/3.0.3/crtendS.o /usr/lib/crtn.o > > As you see, -lc is present. > I know why. All threaded applications, include shared libraries, have to be linked against -lpthread. Otherwise, you won't get the right symbol version. H.J.