Extend the linker's error message for missing libraries if there is an almost match.

PR ld/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.
This commit is contained in:
Nick Clifton 2020-04-01 17:25:28 +01:00
parent e139a727be
commit 77bf7b5317
2 changed files with 23 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2020-04-01 Nick Clifton <nickc@redhat.com>
PR ld/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.
2020-04-01 Tamar Christina <tamar.christina@arm.com>
PR ld/16017

View File

@ -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;
}