From owner-freebsd-hackers Mon Feb 26 13:43:58 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id NAA19691 for hackers-outgoing; Mon, 26 Feb 1996 13:43:58 -0800 (PST) Received: from lestat.nas.nasa.gov (lestat.nas.nasa.gov [129.99.50.29]) by freefall.freebsd.org (8.7.3/8.7.3) with ESMTP id NAA19685 for ; Mon, 26 Feb 1996 13:43:55 -0800 (PST) Received: from localhost (localhost [127.0.0.1]) by lestat.nas.nasa.gov (8.7.3/8.6.12) with SMTP id NAA05885; Mon, 26 Feb 1996 13:40:32 -0800 (PST) Message-Id: <199602262140.NAA05885@lestat.nas.nasa.gov> X-Authentication-Warning: lestat.nas.nasa.gov: Host localhost [127.0.0.1] didn't use HELO protocol To: asami@cs.berkeley.edu (Satoshi Asami) Cc: freebsd-hackers@freebsd.org Subject: Re: cvs commit: src/gnu/usr.bin/ld/ldconfig ldconfig.c Reply-To: Jason Thorpe From: Jason Thorpe Date: Mon, 26 Feb 1996 13:40:31 -0800 Sender: owner-hackers@freebsd.org Precedence: bulk [ OH MY! I'm actually posting to a FreeBSD list! :-) ] On Mon, 26 Feb 1996 13:13:50 -0800 (PST) asami@cs.berkeley.edu (Satoshi Asami) wrote: > * Bring in some of Paul K's fixes for ldconfig from NetBSD-current. > * This solves the problem of being unable to use shared libraries with dots > * in their names before the ".so." code. > > Hmm. So the idea of changing ld so that "ld -lfoo.N" means "major > version N of libfoo" has officially died. Pity, it would have helped > maintain ports that require different versions of shared libraries. > > I'd have opposed this change if it were proposed and discussed, but if > NetBSD already has it this way, I guess it's better if we follow suit > than being incompatible.... One could argue that you could add Yet Another Option Flag to ld(1) separate from -l to specify the major number of the lib. Looking at NetBSD's ld(1) manual page, it looks like -m is free, and somewhat intuitive. Alternatively, you could take it a step further and use -V (not -v, in case someone thinks that means "make the linker verbose" :-) to trigger "library version". I.e. some programs might want a featureset found in a specific _minor_. The command like could be parsed such that a -V affected the next -l, so you could do: ld -o foo foo.o -V 12.2 -lc -V 0.1 -lutil ...etc. However, this begs the question of why ports (I'm assuming you mean 3rd party software) that you compile from source "require different versions of shared libraries". That seems ... rather broken. -------------------------------------------------------------------------- Jason R. Thorpe thorpej@nas.nasa.gov NASA Ames Research Center Home: 408.866.1912 NAS: M/S 258-6 Work: 415.604.0935 Moffett Field, CA 94035 Pager: 415.428.6939