libtool-patches
[Top][All Lists]
Advanced

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

FYI: SCO/bugfix patch 8 of 10: ltmain.in -L handling for SCO platforms


From: Ralf Wildenhues
Subject: FYI: SCO/bugfix patch 8 of 10: ltmain.in -L handling for SCO platforms
Date: Mon, 7 Nov 2005 23:54:29 +0100
User-agent: Mutt/1.5.9i

Hi Tim,

* Tim Rice wrote on Mon, Nov 07, 2005 at 11:07:10PM CET:
> On Mon, 7 Nov 2005, Ralf Wildenhues wrote:
> > 
> > Ah-ha!  So the linker thinks these are two different libraries, and adds
> > two DT_NEEDED entries.  How stupid.  Now we need to find out whether
> > this affects the dynamic loader (RTLD) as well.  It's bound to be pretty
> > unlikely, but with the -lc disaster, I won't place any bets.  :-/
> > 
> > Is there a way to find out the equivalent of what this does on Linux?
> > $ cat /proc/$PID/maps
> > 
> > Alternatively, and this is what it boils down to: Does the loader try to
> > load libl1.so.0 twice (and thus, for example, create two distinct
> > sections for static library data)?  I don't care too much about the
> > extra DT_NEEDED entry if it does no harm otherwise.
> 
> UnixWare does have /proc/$PID/maps but it's binary data.
> Looking at truss, it looks like they are opened once.

Thanks.

I have applied the patch to branch-1-5 (modulo some reformatting) and
to CVS HEAD as shown below.

The rpath fix will have to come later, it's not as trivial as it looked
on first sight.

Cheers,
Ralf

2005-11-07  Kean Johnston  <address@hidden>

        * libltdl/config/ltmain.m4sh (func_mode_link) [ sysv4*uw2*,
        unixware7* ]: Work around linker bug on older SCO systems.

Index: libltdl/config/ltmain.m4sh
===================================================================
RCS file: /cvsroot/libtool/libtool/libltdl/config/ltmain.m4sh,v
retrieving revision 1.16
diff -u -r1.16 ltmain.m4sh
--- libltdl/config/ltmain.m4sh  5 Nov 2005 11:19:53 -0000       1.16
+++ libltdl/config/ltmain.m4sh  7 Nov 2005 22:52:21 -0000
@@ -3729,7 +3729,10 @@
              if test "$hardcode_direct" = no; then
                add="$dir/$linklib"
                case $host in
-                 *-*-sco3.2v5* ) add_dir="-L$dir" ;;
+                 *-*-sco3.2v5.0.[[024]]*) add_dir="-L$dir" ;;
+                 *-*-sysv4*uw2*) add_dir="-L$dir" ;;
+                 *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[[01]].[[10]]* | \
+                   *-*-unixware7*) add_dir="-L$dir" ;;
                  *-*-darwin* )
                    # if the lib is a (non-dlopened) module then we can not
                    # link against it, someone is ignoring the earlier warnings




reply via email to

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