Commit: PR 25747: Tell users about a missing "lib" prefix to library names
Nick Clifton
nickc@redhat.com
Wed Apr 1 16:24:49 GMT 2020
Hi Guys
I am applying the patch below to extend the linker's error message
when it fails to find a library, but there is a file present in the
search path which matches if the "lib" prefix were to be ignored.
Cheers
Nick
ld/ChangeLog
2020-04-01 Nick Clifton <nickc@redhat.com>
PR ;d/25747
* ldfile.c (ldfile_open_file): If a search for a library fails,
but there is a file that would match if it had a "lib" prefix to
its name, then tell the user.
diff --git a/ld/ldfile.c b/ld/ldfile.c
index aa84906992..3248a04607 100644
--- a/ld/ldfile.c
+++ b/ld/ldfile.c
@@ -445,6 +445,22 @@ ldfile_open_file (lang_input_statement_type *entry)
entry->local_sym_name, ld_sysroot);
else
einfo (_("%P: cannot find %s\n"), entry->local_sym_name);
+
+ /* PR 25747: Be kind to users who forgot to add the
+ "lib" prefix to their library when it was created. */
+ for (arch = search_arch_head; arch != NULL; arch = arch->next)
+ {
+ if (ldfile_open_file_search (arch->name, entry, "", ".a"))
+ {
+ const char * base = lbasename (entry->filename);
+
+ einfo (_("%P: note to link with %s use use -l:%s or rename it to lib%s\n"),
+ entry->filename, base, base);
+ bfd_close (entry->the_bfd);
+ entry->the_bfd = NULL;
+ break;
+ }
+ }
entry->flags.missing_file = TRUE;
input_flags.missing_file = TRUE;
}
More information about the Binutils
mailing list