This is the mail archive of the
binutils@sourceware.cygnus.com
mailing list for the binutils project.
Re: [RFC] Adding --skip-mismatch option to ld
Date: Mon, 7 Jun 1999 12:05:30 -0700
From: Richard Henderson <rth@cygnus.com>
On Fri, Jun 04, 1999 at 05:12:07PM +0200, Jakub Jelinek wrote:
> Now Solaris linker apparently skips a library in the search path if it is
> for the wrong architecture (=emulation) which makes a lot of sense to me,
> that's why I wrote the second part of this patch. I've made it optional and
> not default because it differs from the standard library path searching, on
> the other side without this any compilation with some wrong arch library in
> the search path before the correct arch one would die in error.
I don't see any need to make this optional. My preferred solution
would be to skip the library with a note written to the map file
to aid diagnosing user's problems.
Other comments?
I think it should be optional.
1) I think it's surprising. You can predict which files the linker is
going to happen based exclusively on the file name. Anything which
changes that can lead to confusion (e.g., the great confusion
surrounding the GNU/Linux /etc/ld.so.cache file).
2) I don't understand why it's needed. Changing the default search
path, as is done by the first half of the patch, sounds like the
right approach to me. Irix faces these exact issues with its
multiple ABIs, yet it does not need this option.
I don't think the option name --skip-mismatch is quite right. That
seems too general for this. How about something like
--skip-incompatible-archives?
Note that the patch changes ldfile_open_file_search. That routine is
used for anything which appears in an INPUT statement in a linker
script, which includes files which are not archives. I believe the
patch code in the case where the file is not an archive, because it
expects the architecture to be set before bfd_check_format is called
successfully.
Ian