Subject: Re: src/gnu/usr.bin/egcs/common
To: None <tech-userlevel@netbsd.org>
From: Greg A. Woods <woods@most.weird.com>
List: tech-userlevel
Date: 12/18/1999 18:42:13
[ On Saturday, December 18, 1999 at 14:50:28 (-0500), Michael Richardson wrote: ]
> Subject: Re: src/gnu/usr.bin/egcs/common 
>
> Jason> You are now totally pooched.  foobar now depends on libc.so.12 and libc.so.13.
> 
>   a) seems like a bug in the linker to me. This should fail to link.

Hmmm.... yes, good point!  Assuming the third-party library has the
libc.so.12 dependency recorded in it then the linker should be able to
stop on an error if it can't find libc.so.12.

I wonder if there's a way to edit this dependency information into an
existing shared library....

>   b) when you bump the libc version, you have to now version /usr/include,
>     and you need to link things.

Indeed.  This is a little trickier because the compiler won't know it
has to build with the old headers.  With the above .so dependency
information you only learn this once you get to the linker stage (unless
of course you're able to hack any headers required for the third-party
library in such a way that they fail if they find newer system headers
than they're expecting -- something that could of course be done, but
would likely have to be done manually for each such third-party product,
and of course this could be facilitated across the board with pkgsrc).

>   If you think about bumping libc as being very similar to moving from a.out
> to elf, then the sets of solutions to this are clear.

Exactly!

-- 
							Greg A. Woods

+1 416 218-0098      VE3TCP      <gwoods@acm.org>      <robohack!woods>
Planix, Inc. <woods@planix.com>; Secrets of the Weird <woods@weird.com>