This is the mail archive of the binutils@sourceware.cygnus.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]