This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: A patch for default version and archive
On Mon, Nov 13, 2000 at 10:52:47PM -0800, Ulrich Drepper wrote:
> The alternative is clear: provide a different tree with old headers
> and old libraries. Here I see room for improvement: there is not
> really a convenient way to use different trees of libraries except by
> having different gcc driver programs. If you want to make this easier
> I'd suggest to work on this.
>
> - have gcc/g++/f77/gcj understand an option -api which is something like
> glibc-2.2 or whatever.
>
> - via some configuration file this API version is mapped to a tree with
> include and lib directories
>
> - this allows, on a glibc 2.1 system, -api=glibc-2.1 use the normal
> tree and on a glibc 2.2 system use a special tree with the old headers
> and libraries
>
> - people who know they have to recompile and relink even after an update
> with the old API can right away (that's the key!) use this -api
> parameter. Not only when it's too late and the new API is there.
>
> - ld, by default, should probably not look beyond the lib dir in the
> subtree. This should be selectable with an option as well.
>
> - there are probably some more rules which will turn up when somebody
> implemented something like this.
One issue is with explicit -I and -L arguments passed to gcc on the
command line. E.g. most of X programs pass -L/usr/X11R6/lib which points to
the latest ABI and that user argument would come before spec file supplied
path to some older ABI X libraries. Likewise with programs passing
-I/usr/include if they want to use some headers with lesser priority than
system headers.
Jakub