libtool-patches
[Top][All Lists]
Advanced

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

Re: 5-gary-solaris-no-undefined.patch


From: libtool-patches
Subject: Re: 5-gary-solaris-no-undefined.patch
Date: Sat, 8 Sep 2001 01:06:31 -0500
User-agent: Mutt/1.2.5i

On Tue, Sep 04, 2001 at 12:43:11AM +0100, Gary V. Vaughan wrote:
> Yuck!  This patch sucks... but it seems to work.  Alexandre, did you
> have a good reason for your 04-11 patch?  If so we need to apply this
> ugly patch, otherwise it might be better to revert to -z text?
> 
> Cheers,
>       Gary.
> 
> Index: ChangeLog
> from  Gary V. Vaughan  <address@hidden>
>       * libtool.m4 (archive_cmds, archive_expsym_cmds) [solaris*]: Changing
>       no_undefined_flag from `-z text' to `-z defs' (see entry below at
>       2001-04-11  Alexandre Oliva  <address@hidden>) has a problem.
>       when linking a shared library with gcc calling /usr/ccs/bin/ld (eg.
>       the gcc supplied with Solaris 8 companion CD), using the flag
>       -no-undefined, shared library linking will always fail because of
>       the unresolved symbols from libgcc.a.  Consequently we have to
>       provide a path to libgcc.a when linking shared libraries in
>       conjunction with -no-undefined!

And what if you link with GCC. We built libtool 1.4.1 on Solaris
(2.5.1-8) and didn't have problems but we were using the Sun C
compiler. With GCC 2.95.3 I get (GCC *not* from Solaris Companion CD):

/bin/sh ./libtool --mode=link gcc  -O2 -mcpu=v8  -o libltdl.la -rpath
/opt/TWWfsw/libtool14/lib -no-undefined -version-info 3:0:0 ltdl.lo
-ldl 
rm -fr .libs/libltdl.la .libs/libltdl.* .libs/libltdl.*
/usr/ccs/bin/ld -G -z defs -h libltdl.so.3 -o .libs/libltdl.so.3.0.0
ltdl.lo  -ldl -lc 
Undefined                       first referenced
 symbol                             in file
__eprintf                           ltdl.lo
ld: fatal: Symbol referencing errors. No output written to
.libs/libltdl.so.3.0.0

I then tried:
  $ /usr/ccs/bin/ld -G -z text -h libltdl.so.3 -o .libs/libltdl.so.3.0.0
  ltdl.lo  -ldl -lc
and didn't have problems. But, I see:
  $ nm .libs/libltdl.so.3.0.0 | grep __eprintf
  [153]   |         0|       0|NOTY |GLOB |0    |UNDEF  |__eprintf

Is this going to cause a problem if the Sun C compiler tries to link
against a gcc-built shared library?

-- 
albert chin (address@hidden)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]